summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex4
-rw-r--r--Master/texmf-dist/tex/context/third/markdown/t-markdown.tex2
-rw-r--r--Master/texmf-dist/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex2
-rw-r--r--Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv16
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/acadian.ldf6
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/canadien.ldf6
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/francais.ldf6
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/french.ldf682
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.ldf6
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.lua2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-transforms.lua64
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def6
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty14
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini27
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini78
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini15
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini15
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini27
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini27
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def14
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/txtbabel.def4
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def4
-rw-r--r--Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex151
-rw-r--r--Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex24
-rw-r--r--Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty6
-rw-r--r--Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex67
-rw-r--r--Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex2
-rw-r--r--Master/texmf-dist/tex/generic/markdown/markdown.tex134
-rw-r--r--Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex2
-rw-r--r--Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex37
-rw-r--r--Master/texmf-dist/tex/generic/pst-node/pst-node.tex61
-rw-r--r--Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex28
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.tex27
-rw-r--r--Master/texmf-dist/tex/generic/scontents/scontents-code.tex210
-rw-r--r--Master/texmf-dist/tex/generic/scontents/scontents.tex12
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht9
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht6
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht9
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/footmisc.4ht22
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/html4.4ht182
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/jurabook.4ht85
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/juraovw.4ht23
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/juraurtl.4ht23
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/listings.4ht10
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/nameref.4ht11
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/ooffice.4ht172
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tabularray.4ht14
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty8
-rw-r--r--Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty6
-rw-r--r--Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/doc.sty29
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latex.ltx215
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latexrelease.sty304
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/shortvrb.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/textcomp.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/color.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dviwin.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/emtex.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/graphics.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/keyval.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/lscape.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctex32.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctexps.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/rotating.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/trig.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/truetex.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex37
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/l3debug.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/documentmetadata-support.ltx21
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/firstaid-latex-lab-testphase.ltx4
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx18
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-firstaid.sty43
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty24
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx4
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/tabular-latex-lab-testphase.ltx4
-rw-r--r--Master/texmf-dist/tex/latex-dev/latex-lab/tagpdf-ns-latex-lab.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty9
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty10
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array.sty8
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/longtable.sty6
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty13
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/multicol.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/showkeys.sty8
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/varioref.sty5
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty84
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/xr.sty60
-rw-r--r--Master/texmf-dist/tex/latex/acmart/acmart.cls18
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsbsy.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amscd.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsgen.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty6
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsmath.sty10
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsopn.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amstext.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsxtra.sty2
-rw-r--r--Master/texmf-dist/tex/latex/aomart/aomart.cls30
-rw-r--r--Master/texmf-dist/tex/latex/argumentation/argumentation.sty227
-rw-r--r--Master/texmf-dist/tex/latex/base/alltt.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/ansinew.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/applemac.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/article.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/ascii.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/atveryend-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/bk10.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/bk11.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/bk12.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/book.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/checkencodingsubset.tex419
-rw-r--r--Master/texmf-dist/tex/latex/base/cp1250.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp1252.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp1257.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp437.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp437de.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp850.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp852.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp858.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp865.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/decmulti.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/doc.sty27
-rw-r--r--Master/texmf-dist/tex/latex/base/docstrip.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/fontenc.sty6
-rw-r--r--Master/texmf-dist/tex/latex/base/fontmath.cfg8
-rw-r--r--Master/texmf-dist/tex/latex/base/fontmath.ltx8
-rw-r--r--Master/texmf-dist/tex/latex/base/fonttext.cfg8
-rw-r--r--Master/texmf-dist/tex/latex/base/fonttext.ltx8
-rw-r--r--Master/texmf-dist/tex/latex/base/ifthen.sty20
-rw-r--r--Master/texmf-dist/tex/latex/base/inputenc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/latex.ltx2043
-rw-r--r--Master/texmf-dist/tex/latex/base/latexrelease.sty2160
-rw-r--r--Master/texmf-dist/tex/latex/base/latin1.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin10.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin2.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin3.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin4.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin5.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin9.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/ltluatex.tex6
-rw-r--r--Master/texmf-dist/tex/latex/base/ltxdoc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/macce.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/next.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/nfssfont.tex6
-rw-r--r--Master/texmf-dist/tex/latex/base/omllcmm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omslcmsy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omxlcmex.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1lcmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1lcmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/preload.cfg8
-rw-r--r--Master/texmf-dist/tex/latex/base/report.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/sfonts.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/shortvrb.sty4
-rw-r--r--Master/texmf-dist/tex/latex/base/size10.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/size11.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/size12.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/source2edoc.cls87
-rw-r--r--Master/texmf-dist/tex/latex/base/structuredlog.sty4
-rw-r--r--Master/texmf-dist/tex/latex/base/syntonly.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1lcmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1lcmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty1
-rw-r--r--Master/texmf-dist/tex/latex/base/textcomp.sty8
-rw-r--r--Master/texmf-dist/tex/latex/base/ullasy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-arguelles/beamercolorthemeArguelles.sty6
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerfontthemeArguelles.sty6
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerinnerthemeArguelles.sty8
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerouterthemeArguelles.sty6
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerthemeArguelles.sty11
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/Beautybook-EN.cls1166
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/beautybook.cls (renamed from Master/texmf-dist/tex/latex/beautybook/Beautybook-CN.cls)572
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-birkar.sty125
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-cn.sty103
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-en.sty87
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-enfig.sty55
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/beautybook-bottompage.sty (renamed from Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-bottompage.sty)8
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-birkar.sty190
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-cn.sty162
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-en.sty149
-rw-r--r--Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-enfig.sty88
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/UKenglish-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/USenglish-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/american-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/australian-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/austrian-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/british-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/canadian-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/english-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/french-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/german-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/naustrian-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/newzealand-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/ngerman-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/nswissgerman-publist.lbx37
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/lbx/swissgerman-publist.lbx55
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx136
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx62
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx2
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx3
-rw-r--r--Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls2
-rw-r--r--Master/texmf-dist/tex/latex/bithesis/bithesis.cls98
-rw-r--r--Master/texmf-dist/tex/latex/bithesis/bitreport.cls2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls8
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls13
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def14
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls13
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls8
-rw-r--r--Master/texmf-dist/tex/latex/changebar/changebar.sty34
-rw-r--r--Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty24
-rw-r--r--Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty4
-rw-r--r--Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-bib.sty12
-rw-r--r--Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-cite.sty32
-rw-r--r--Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty2
-rw-r--r--Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl20
-rw-r--r--Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl28
-rw-r--r--Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl19
-rw-r--r--Master/texmf-dist/tex/latex/cjs-rcs-article/cjs-rcs-article.cls83
-rw-r--r--Master/texmf-dist/tex/latex/colortbl/colortbl.sty29
-rw-r--r--Master/texmf-dist/tex/latex/count1to/count1to.sty (renamed from Master/texmf-dist/tex/latex/ms/count1to.sty)67
-rw-r--r--Master/texmf-dist/tex/latex/customenvs/customenvs.sty408
-rw-r--r--Master/texmf-dist/tex/latex/cyrillic/t2aenc.def4
-rw-r--r--Master/texmf-dist/tex/latex/cyrillic/t2benc.def4
-rw-r--r--Master/texmf-dist/tex/latex/cyrillic/t2cenc.def4
-rw-r--r--Master/texmf-dist/tex/latex/cyrillic/x2enc.def4
-rw-r--r--Master/texmf-dist/tex/latex/dashrulex/dashrulex.sty4
-rw-r--r--Master/texmf-dist/tex/latex/delimset/delimset.sty262
-rw-r--r--Master/texmf-dist/tex/latex/dtk/dtk-url.sty6
-rw-r--r--Master/texmf-dist/tex/latex/dtk/dtk.cls4
-rw-r--r--Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty219
-rw-r--r--Master/texmf-dist/tex/latex/easybook/easybase.sty402
-rw-r--r--Master/texmf-dist/tex/latex/easybook/easybook.cls21
-rw-r--r--Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/elpres/elpres.cls13
-rw-r--r--Master/texmf-dist/tex/latex/ensps-colorscheme/ensps-colorscheme.sty84
-rw-r--r--Master/texmf-dist/tex/latex/esami/esami.sty1
-rw-r--r--Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty2
-rw-r--r--Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty51
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty4
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx80
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/underscore-ltx.sty4
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/gelasiomath.sty295
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/ly1mingelasio.fd91
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/omlzgelmi.fd30
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/ot1mingelasio.fd78
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd51
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/untxmia.fd139
-rw-r--r--Master/texmf-dist/tex/latex/graphics/color.sty4
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dvipdf.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dvipsnam.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dvipsone.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dviwin.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/emtex.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/epsfig.sty4
-rw-r--r--Master/texmf-dist/tex/latex/graphics/graphics-2017-06-25.sty4
-rw-r--r--Master/texmf-dist/tex/latex/graphics/graphics.sty7
-rw-r--r--Master/texmf-dist/tex/latex/graphics/graphicx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/keyval.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/lscape.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctex32.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctexhp.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctexps.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctexwin.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/rotating.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/tcidvi.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/trig.sty4
-rw-r--r--Master/texmf-dist/tex/latex/graphics/truetex.def2
-rw-r--r--Master/texmf-dist/tex/latex/heria/heria.cls39
-rw-r--r--Master/texmf-dist/tex/latex/heria/hi-methodology.tex2
-rw-r--r--Master/texmf-dist/tex/latex/heria/hi-workplan.tex21
-rw-r--r--Master/texmf-dist/tex/latex/heria/hi-wp-description.tex6
-rw-r--r--Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty12
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hdvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hdvipson.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hdviwind.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hluatex.def5
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hpdftex.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/htex4ht.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/htexture.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hvtex.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hxetex.def3
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hyperref.sty79
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hypertex.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/nohyperref.sty2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/pd1enc.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/pdfmark.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/psdextra.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/puarenc.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/puenc-extra.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/puenc.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/puvnenc.def2
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/xr-hyper.sty2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/iwonamath.sty3
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omliwonamath.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omliwonamathc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omliwonamathl.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omliwonamathlc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omsiwonamath.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omsiwonamathc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omsiwonamathcmsy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omsiwonamathl.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omsiwonamathlc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omxiwonamath.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omxiwonamathc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omxiwonamathl.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/omxiwonamathlc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamath.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathcm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathl.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlc.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlcm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/jnuexam/jnuexam.cls8
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LGRJunicode-Inf.fd374
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LGRJunicode-LF.fd774
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LGRJunicode-OsF.fd758
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LGRJunicode-Sup.fd420
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LGRJunicode-TLF.fd812
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LGRJunicode-TOsF.fd768
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LY1Junicode-Inf.fd428
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LY1Junicode-LF.fd778
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LY1Junicode-OsF.fd776
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LY1Junicode-Sup.fd428
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LY1Junicode-TLF.fd816
-rw-r--r--Master/texmf-dist/tex/latex/junicode/LY1Junicode-TOsF.fd810
-rw-r--r--Master/texmf-dist/tex/latex/junicode/OT1Junicode-Inf.fd428
-rw-r--r--Master/texmf-dist/tex/latex/junicode/OT1Junicode-LF.fd786
-rw-r--r--Master/texmf-dist/tex/latex/junicode/OT1Junicode-OsF.fd788
-rw-r--r--Master/texmf-dist/tex/latex/junicode/OT1Junicode-Sup.fd430
-rw-r--r--Master/texmf-dist/tex/latex/junicode/OT1Junicode-TLF.fd786
-rw-r--r--Master/texmf-dist/tex/latex/junicode/OT1Junicode-TOsF.fd834
-rw-r--r--Master/texmf-dist/tex/latex/junicode/T1Junicode-Inf.fd420
-rw-r--r--Master/texmf-dist/tex/latex/junicode/T1Junicode-LF.fd786
-rw-r--r--Master/texmf-dist/tex/latex/junicode/T1Junicode-OsF.fd822
-rw-r--r--Master/texmf-dist/tex/latex/junicode/T1Junicode-Sup.fd436
-rw-r--r--Master/texmf-dist/tex/latex/junicode/T1Junicode-TLF.fd822
-rw-r--r--Master/texmf-dist/tex/latex/junicode/T1Junicode-TOsF.fd746
-rw-r--r--Master/texmf-dist/tex/latex/junicode/TS1Junicode-LF.fd434
-rw-r--r--Master/texmf-dist/tex/latex/junicode/TS1Junicode-OsF.fd412
-rw-r--r--Master/texmf-dist/tex/latex/junicode/TS1Junicode-TLF.fd404
-rw-r--r--Master/texmf-dist/tex/latex/junicode/TS1Junicode-TOsF.fd424
-rw-r--r--Master/texmf-dist/tex/latex/junicode/junicode.sty7
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro405
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex16
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3debug.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/lastpage/lastpage.sty11
-rw-r--r--Master/texmf-dist/tex/latex/lastpage/lastpage209.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty11
-rw-r--r--Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty11
-rw-r--r--Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty54
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/bib-latex-lab-testphase.ltx4
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/block-latex-lab-testphase.ltx6
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/documentmetadata-support.ltx63
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/firstaid-latex-lab-testphase.ltx6
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/float-latex-lab-testphase.ltx4
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/graphic-latex-lab-testphase.ltx6
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-amsmath.ltx80
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-footmisc.ltx19
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-footnotes.ltx25
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-kernel-changes.sty16
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-math.ltx719
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathpkg.ltx18
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathtools.ltx10
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-bib.sty8
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-block.sty103
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-firstaid.sty76
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-float.sty41
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-graphic.sty16
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-marginpar.sty109
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-minipage.sty3
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-new-or-1.sty2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-sec.sty11
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-table.sty769
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-text.sty2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-title.sty300
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-toc.sty22
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/marginpar-latex-lab-testphase.ltx48
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/minipage-latex-lab-testphase.ltx3
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/new-or-1-latex-lab-testphase.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/phase-I-latex-lab-testphase.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/phase-II-latex-lab-testphase.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/phase-III-latex-lab-testphase.ltx3
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/sec-latex-lab-testphase.ltx6
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/table-latex-lab-testphase.ltx7
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/tabular-latex-lab-testphase.ltx44
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/tagpdf-latex-lab-testphase.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/tagpdf-ns-latex-lab.def5
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/text-latex-lab-testphase.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/title-latex-lab-testphase.ltx49
-rw-r--r--Master/texmf-dist/tex/latex/latex-lab/toc-latex-lab-testphase.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/latexbug/latexbug.sty53
-rw-r--r--Master/texmf-dist/tex/latex/lete-sans-math/lete-sans-math.sty10
-rw-r--r--Master/texmf-dist/tex/latex/lettrine/lettrine.sty12
-rw-r--r--Master/texmf-dist/tex/latex/lie-hasse/lie-hasse.sty976
-rw-r--r--Master/texmf-dist/tex/latex/linearregression/linearregression.sty335
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-acm.prf2
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-bash.prf2
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-fortran.prf2
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-hansl.prf2
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-lua.prf2
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-python.prf4
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings-rexx.prf34
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings.cfg3
-rw-r--r--Master/texmf-dist/tex/latex/listings/listings.sty77
-rw-r--r--Master/texmf-dist/tex/latex/listings/lstdoc.sty4
-rw-r--r--Master/texmf-dist/tex/latex/listings/lstlang1.sty80
-rw-r--r--Master/texmf-dist/tex/latex/listings/lstlang2.sty6
-rw-r--r--Master/texmf-dist/tex/latex/listings/lstlang3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/listings/lstmisc.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lni/lni.cls80
-rw-r--r--Master/texmf-dist/tex/latex/luwiantype/luwiantype.sty1035
-rw-r--r--Master/texmf-dist/tex/latex/markdown/markdown.sty3
-rw-r--r--Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_dot.sty2
-rw-r--r--Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty2
-rw-r--r--Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_markdown_defaults.sty18
-rw-r--r--Master/texmf-dist/tex/latex/mismath/mismath.sty24
-rw-r--r--Master/texmf-dist/tex/latex/mitthesis/mitthesis.cls246
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncv.cls142
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty45
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty45
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty50
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty39
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty48
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyvi.sty203
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorcerulean.sty32
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty12
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolors.tex35
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty8
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty14
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty54
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty40
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty60
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty30
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty57
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty29
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadvii.sty226
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsacademic.sty26
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty91
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty17
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconssymbols.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconstikz.sty29
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty408
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty42
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty44
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty42
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylecontemporary.sty63
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty29
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty47
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty47
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvverticaltimeline.sty79
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/tweaklist.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty128
-rw-r--r--Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty19
-rw-r--r--Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty42
-rw-r--r--Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty38
-rw-r--r--Master/texmf-dist/tex/latex/moremath/moremath.sty1224
-rw-r--r--Master/texmf-dist/tex/latex/ms/multitoc.sty123
-rw-r--r--Master/texmf-dist/tex/latex/msu-thesis/msu-thesis.cls26
-rw-r--r--Master/texmf-dist/tex/latex/multitoc/multitoc.sty76
-rw-r--r--Master/texmf-dist/tex/latex/newcomputermodern/newcomputermodern.sty2
-rw-r--r--Master/texmf-dist/tex/latex/newtx/newtx.sty310
-rw-r--r--Master/texmf-dist/tex/latex/newtx/newtxmath.sty221
-rw-r--r--Master/texmf-dist/tex/latex/newtx/untxmia.fd16
-rw-r--r--Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty801
-rw-r--r--Master/texmf-dist/tex/latex/notomath/notomath.sty6
-rw-r--r--Master/texmf-dist/tex/latex/nxuthesis/nxuthesis.cls3531
-rw-r--r--Master/texmf-dist/tex/latex/orcidlink/orcidlink.sty22
-rw-r--r--Master/texmf-dist/tex/latex/overarrows/overarrows.sty456
-rw-r--r--Master/texmf-dist/tex/latex/parnotes/parnotes.sty27
-rw-r--r--Master/texmf-dist/tex/latex/passopt/passopt.sty56
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def13
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx6
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/ppdvips.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/ppluatex.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/ppnull.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/pppdftex.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/ppvtex.def6
-rw-r--r--Master/texmf-dist/tex/latex/pdfpages/ppxetex.def16
-rw-r--r--Master/texmf-dist/tex/latex/pdfx/pdfx.sty256
-rw-r--r--Master/texmf-dist/tex/latex/pgf-periodictable/pgf-PeriodicTable.sty52
-rw-r--r--Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.data.tex236
-rw-r--r--Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.drawing.keys.tex37
-rw-r--r--Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.data.LSE.tex20
-rw-r--r--Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.sty13
-rw-r--r--Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty4
-rw-r--r--Master/texmf-dist/tex/latex/photobook/photobook.cls92
-rw-r--r--Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty758
-rw-r--r--Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.code.tex31
-rw-r--r--Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.sty4
-rw-r--r--Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty6
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty23
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/cal-util.def2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-acadian.ldf (renamed from Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf)4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf21
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf320
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf70
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf99
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf44
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf10
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf20
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf93
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-classiclatin.ldf9
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf54
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf28
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf24
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ecclesiasticlatin.ldf9
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf6
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf74
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf6
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf85
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf324
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf37
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf45
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf184
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf144
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf69
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf40
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf358
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf24
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf22
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf30
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf420
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf160
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf23
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf237
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf9
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf9
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf9
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf8
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf85
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf32
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-medievallatin.ldf9
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf65
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf38
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf20
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf49
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf96
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf20
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf28
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf57
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf35
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf120
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf8
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf59
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf128
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf30
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf10
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf80
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf84
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf97
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf30
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf26
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf77
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf116
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf423
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf31
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/hijrical.sty2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-cjk-spacing.lua (renamed from Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua)196
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua18
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua31
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua13
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty1889
-rw-r--r--Master/texmf-dist/tex/latex/preview/prauctex.cfg6
-rw-r--r--Master/texmf-dist/tex/latex/preview/preview.sty4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex543
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex20
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex60
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex244
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex26
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex18
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCInfixRPN.sty538
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex1
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex10
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex22
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex501
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex8
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex185
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex62
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex114
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex6
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex928
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty50
-rw-r--r--Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty5
-rw-r--r--Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex11
-rw-r--r--Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex144
-rw-r--r--Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex63
-rw-r--r--Master/texmf-dist/tex/latex/prtec/prtec.cls204
-rw-r--r--Master/texmf-dist/tex/latex/pst-diffraction/pst-diffraction.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pst-node/pst-node.sty11
-rw-r--r--Master/texmf-dist/tex/latex/randexam/randexam.cls13
-rw-r--r--Master/texmf-dist/tex/latex/resolsysteme/ResolSysteme.sty192
-rw-r--r--Master/texmf-dist/tex/latex/responsive/responsive.sty12
-rw-r--r--Master/texmf-dist/tex/latex/rub-kunstgeschichte/rub-kunstgeschichte.cls45
-rw-r--r--Master/texmf-dist/tex/latex/scontents/scontents.sty28
-rw-r--r--Master/texmf-dist/tex/latex/se2thesis/se2colors.sty2
-rw-r--r--Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty2
-rw-r--r--Master/texmf-dist/tex/latex/se2thesis/se2packages.sty7
-rw-r--r--Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls32
-rw-r--r--Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl2
-rw-r--r--Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl2
-rw-r--r--Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty132
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/simpleicons.sty2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-pdftex.tex6266
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-xeluatex.tex6266
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconseight.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfive.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfour.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsnine.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsone.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsoneone.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonethree.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonetwo.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonezero.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsseven.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconssix.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconsthree.fd2
-rw-r--r--Master/texmf-dist/tex/latex/simpleicons/usimpleiconstwo.fd2
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx.sty5
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-cambria.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-lm.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newcm.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newpx.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newtx.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-times.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-xits.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-cambria.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-lm.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newcm.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newpx.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newtx.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-times.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-xits.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-de.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-en.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-de.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-en.def6
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-de.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-en.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def4
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/sjtuarticle.cls12
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/sjtureport.cls12
-rw-r--r--Master/texmf-dist/tex/latex/sjtutex/sjtuthesis.cls12
-rw-r--r--Master/texmf-dist/tex/latex/spath3/spath3.sty60
-rw-r--r--Master/texmf-dist/tex/latex/spath3/tikzlibrarycalligraphy.code.tex10
-rw-r--r--Master/texmf-dist/tex/latex/spath3/tikzlibraryknots.code.tex22
-rw-r--r--Master/texmf-dist/tex/latex/spath3/tikzlibraryspath3.code.tex19
-rw-r--r--Master/texmf-dist/tex/latex/spbmark/spbmark.sty55
-rw-r--r--Master/texmf-dist/tex/latex/spelatex/spelatex.sty392
-rw-r--r--Master/texmf-dist/tex/latex/standardsectioning/standardsectioning.sty478
-rw-r--r--Master/texmf-dist/tex/latex/synthslant/synthslant.sty41
-rw-r--r--Master/texmf-dist/tex/latex/tabulary/tabulary-v010.sty455
-rw-r--r--Master/texmf-dist/tex/latex/tabulary/tabulary.sty91
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty9
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty5
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua10
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty38
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty20
-rw-r--r--Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty246
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex48
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex8
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex21
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex36
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty140
-rw-r--r--Master/texmf-dist/tex/latex/texvc/texvc.sty4
-rw-r--r--Master/texmf-dist/tex/latex/thermodynamics/thermodynamics.sty957
-rw-r--r--Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls30
-rw-r--r--Master/texmf-dist/tex/latex/tiet-question-paper/tiet-question-paper.cls337
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty29
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua13
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua20
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua49
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tkz-grapheur/tkz-grapheur.sty3333
-rw-r--r--Master/texmf-dist/tex/latex/tools/.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/afterpage.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/array-2016-10-06.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/array-2020-02-10.sty9
-rw-r--r--Master/texmf-dist/tex/latex/tools/array-2023-11-01.sty373
-rw-r--r--Master/texmf-dist/tex/latex/tools/array.sty107
-rw-r--r--Master/texmf-dist/tex/latex/tools/bm.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tools/calc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/dcolumn.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/delarray.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/e.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/enumerate.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/fontsmpl.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/fontsmpl.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/ftnright.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/h.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/hhline.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/indentfirst.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/l3sys-query.sty124
-rw-r--r--Master/texmf-dist/tex/latex/tools/layout.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/longtable-2020-01-07.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/longtable.sty115
-rw-r--r--Master/texmf-dist/tex/latex/tools/multicol-2017-04-11.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty13
-rw-r--r--Master/texmf-dist/tex/latex/tools/multicol.sty19
-rw-r--r--Master/texmf-dist/tex/latex/tools/q.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/r.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/rawfonts.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/s.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/shellesc.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/showkeys.sty12
-rw-r--r--Master/texmf-dist/tex/latex/tools/somedefs.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/tabularx.sty9
-rw-r--r--Master/texmf-dist/tex/latex/tools/thb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thcb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/theorem.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thm.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thmb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/trace.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/varioref-2016-02-16.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/varioref.sty7
-rw-r--r--Master/texmf-dist/tex/latex/tools/verbatim.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tools/verbtest.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/x.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/xr-2023-07-04.sty84
-rw-r--r--Master/texmf-dist/tex/latex/tools/xr.sty62
-rw-r--r--Master/texmf-dist/tex/latex/tools/xspace.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tqft/tikzlibrarytqft.code.tex77
-rw-r--r--Master/texmf-dist/tex/latex/tqft/tqft.sty14
-rw-r--r--Master/texmf-dist/tex/latex/tramlines/tramlines.sty6
-rw-r--r--Master/texmf-dist/tex/latex/treesvr/trees.sty86
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa2008.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa2008.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2008.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2023.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa2008.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2008.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2023.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo20
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo20
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo18
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo20
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo20
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo20
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls23
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls8
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls289
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo84
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls118
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls42
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo2
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg21
-rw-r--r--Master/texmf-dist/tex/latex/typog/typog.sty484
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/beamerthemeuantwerpen.sty2
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenbamathesis.cls6
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencolorlogoscheme.sty2
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencoursetext.cls2
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenexam.cls2
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenletter.cls2
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls2
-rw-r--r--Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenreport.cls2
-rw-r--r--Master/texmf-dist/tex/latex/ulthese/ulthese.cls75
-rw-r--r--Master/texmf-dist/tex/latex/unbtex/unbtex.cls85
-rw-r--r--Master/texmf-dist/tex/latex/unicodefonttable/unicodefont.tex4
-rw-r--r--Master/texmf-dist/tex/latex/unicodefonttable/unicodefonttable.sty11
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling-expose.cls22
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling-handout.cls22
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling-paper.cls22
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling-poster.cls61
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling-thesis.cls24
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling-wlg.cls22
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling.bbx2
-rw-r--r--Master/texmf-dist/tex/latex/univie-ling/univie-ling.cbx2
-rw-r--r--Master/texmf-dist/tex/latex/xcharter-math/xcharter-otf.sty4
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-LF.fd124
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-OsF.fd82
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd64
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd124
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd124
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2AXCharter-LF.fd98
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2AXCharter-OsF.fd116
-rw-r--r--Master/texmf-dist/tex/latex/xfrac/xfrac.sty10
-rw-r--r--Master/texmf-dist/tex/latex/xint-regression/xint-regression.sty662
-rw-r--r--Master/texmf-dist/tex/lualatex/ideavault/ideavault-lua.lua77
-rw-r--r--Master/texmf-dist/tex/lualatex/ideavault/ideavault.sty6
-rw-r--r--Master/texmf-dist/tex/lualatex/longmath/longmath.lua13
-rw-r--r--Master/texmf-dist/tex/lualatex/longmath/longmath.sty11
-rw-r--r--Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.lua562
-rw-r--r--Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.tex12
-rw-r--r--Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.convert.tex12
-rw-r--r--Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.lua810
-rw-r--r--Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.tex12
-rw-r--r--Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.sty12
-rw-r--r--Master/texmf-dist/tex/lualatex/piton/piton.lua73
-rw-r--r--Master/texmf-dist/tex/lualatex/piton/piton.sty34
-rw-r--r--Master/texmf-dist/tex/lualatex/tango/tango.cls2182
-rw-r--r--Master/texmf-dist/tex/luatex/luamplib/luamplib.lua1101
-rw-r--r--Master/texmf-dist/tex/luatex/luamplib/luamplib.sty53
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty16
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29c.sty16
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29e.sty16
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/lltjext.sty8
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty103
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua7
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty51
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty319
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty11
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty24
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-siunitx.sty113
-rw-r--r--Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua14
-rw-r--r--Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua95
-rw-r--r--Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua88
-rw-r--r--Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua221
-rw-r--r--Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua4167
-rw-r--r--Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua13
-rw-r--r--Master/texmf-dist/tex/luatex/markdown/markdown-tinyyaml.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/markdown/markdown.lua183
-rw-r--r--Master/texmf-dist/tex/optex/base/basic-macros.opm7
-rw-r--r--Master/texmf-dist/tex/optex/base/fonts-opmac.opm2
-rw-r--r--Master/texmf-dist/tex/optex/base/hi-syntax.opm2
-rw-r--r--Master/texmf-dist/tex/optex/base/hisytnax-kt.opm122
-rw-r--r--Master/texmf-dist/tex/optex/base/if-macros.opm23
-rw-r--r--Master/texmf-dist/tex/optex/base/luatex-ini.opm12
-rw-r--r--Master/texmf-dist/tex/optex/base/margins.opm2
-rw-r--r--Master/texmf-dist/tex/optex/base/math-macros.opm11
-rw-r--r--Master/texmf-dist/tex/optex/base/more-macros.opm13
-rw-r--r--Master/texmf-dist/tex/optex/base/optex-tricks.opm210
-rw-r--r--Master/texmf-dist/tex/optex/base/optex.ini2
-rw-r--r--Master/texmf-dist/tex/optex/base/optex.lua42
-rw-r--r--Master/texmf-dist/tex/optex/base/others.opm34
-rw-r--r--Master/texmf-dist/tex/optex/base/output.opm13
-rw-r--r--Master/texmf-dist/tex/optex/base/parameters.opm5
-rw-r--r--Master/texmf-dist/tex/optex/base/plain-macros.opm7
-rw-r--r--Master/texmf-dist/tex/optex/base/references.opm4
-rw-r--r--Master/texmf-dist/tex/optex/base/table.opm4
-rw-r--r--Master/texmf-dist/tex/optex/base/usebib.opm23
-rw-r--r--Master/texmf-dist/tex/optex/base/verbatim.opm2
-rw-r--r--Master/texmf-dist/tex/optex/pkg/math.opm208
-rw-r--r--Master/texmf-dist/tex/optex/pkg/mte.opm2
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebacromac.tex15
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebbin/dcwebmac.tex5
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebbin/fcwebmac.tex5
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebbin/icwebmac.tex5
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctproofmac.tex12
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctwimac.tex10
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebbin/pdfwebtocfront.tex39
-rw-r--r--Master/texmf-dist/tex/plain/cweb/cwebmac.tex16
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex6
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex3
-rw-r--r--Master/texmf-dist/tex/plain/pwebmac/pwebmac.tex18
1188 files changed, 63683 insertions, 34189 deletions
diff --git a/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex b/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
index a738c664eaa..4e4861071f9 100644
--- a/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
+++ b/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
@@ -16,8 +16,8 @@
\startmodule[circuitikz]
\usemodule[tikz]
-\def\pgfcircversion{1.6.8}
-\def\pgfcircversiondate{2024/05/05}
+\def\pgfcircversion{1.6.9}
+\def\pgfcircversiondate{2024/05/25}
\writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion}
diff --git a/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex b/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex
index 642d0bcd2da..790807abc7c 100644
--- a/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex
+++ b/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `context')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex b/Master/texmf-dist/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex
index 35fd80f89cd..36cde2cc897 100644
--- a/Master/texmf-dist/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex
+++ b/Master/texmf-dist/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-markdown-defaults-context')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv b/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv
index d87d8eda772..3c4d9f2373e 100644
--- a/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv
+++ b/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv
@@ -6,13 +6,13 @@
%%
%% scontents.dtx (with options: `loader,context')
%%
-%% Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl>
+%% Copyright (C) 2019-2024 by Pablo González L <pablgonz@educarchile.cl>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
%% your option) any later version. The latest version of this license is in
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3c or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
@@ -33,16 +33,16 @@
%% scontents.dtx (with options: `loader,context')
%D \module
%D [ file=t-scontents,
-%D version=2.0,
+%D version=2.1,
%D title=\CONTEXT\ User Module,
%D subtitle=Storing Contents,
%D author=Pablo González,
-%D date=2022-04-04,
+%D date=2024-06-14,
%D copyright=Pablo González,
%D email=pablgonz@educarchile.cl,
%D license=LPPL]
-\def\ScontentsFileDate{2022-04-04}%
-\def\ScontentsFileVersion{2.0}%
+\def\ScontentsFileDate{2024-06-14}%
+\def\ScontentsFileVersion{2.1}%
\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
\writestatus{loading}{User Module scontents v\ScontentsFileVersion}
\unprotect
@@ -112,6 +112,8 @@
{ \__scontents_foreachsc_internal:nn {#1} {#2} }
\NewDocumentCommand \typestored { o m }
{ \__scontents_typestored_internal:nn {#1} {#2} }
+\NewDocumentCommand \mergesc { o m }
+ { \__scontents_mergesc_internal:nn {#1} {#2} }
\definetyping[verbatimsc]
\group_begin:
\cs_new_protected:Npn \__scontents_plain_disable_outer_par:
@@ -124,7 +126,7 @@
\NewExpandableDocumentCommand \countsc { m }
{ \seq_count:c { g__scontents_name_#1_seq } }
\NewDocumentCommand \cleanseqsc { m }
- { \seq_clear_new:c { g__scontents_name_#1_seq } }
+ { \seq_gclear_new:c { g__scontents_name_#1_seq } }
\ExplSyntaxOff
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf
index b5d5301d03f..dc2968cd4a0 100644
--- a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf
@@ -10,11 +10,11 @@
%% -------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{acadian}
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
\PackageInfo{acadian.ldf}%
{`acadian' dialect is currently\MessageBreak
*absolutely identical* to the\MessageBreak
diff --git a/Master/texmf-dist/tex/generic/babel-french/canadien.ldf b/Master/texmf-dist/tex/generic/babel-french/canadien.ldf
index 5e63466a33b..449c05b0f0e 100644
--- a/Master/texmf-dist/tex/generic/babel-french/canadien.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/canadien.ldf
@@ -10,11 +10,11 @@
%% -------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{canadien}
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
\PackageWarning{canadien.ldf}%
{Option `canadien' for Babel is *deprecated*,\MessageBreak
it might be removed sooner or later. Please\MessageBreak
diff --git a/Master/texmf-dist/tex/generic/babel-french/francais.ldf b/Master/texmf-dist/tex/generic/babel-french/francais.ldf
index 38a2822a999..03a40729000 100644
--- a/Master/texmf-dist/tex/generic/babel-french/francais.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/francais.ldf
@@ -10,11 +10,11 @@
%% -------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{francais}
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
\PackageWarning{francais.ldf}%
{Option `francais' for Babel is *deprecated*,\MessageBreak
it might be removed sooner or later. Please\MessageBreak
diff --git a/Master/texmf-dist/tex/generic/babel-french/french.ldf b/Master/texmf-dist/tex/generic/babel-french/french.ldf
index 37c1f3da27f..7542b22f6e8 100644
--- a/Master/texmf-dist/tex/generic/babel-french/french.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/french.ldf
@@ -10,11 +10,11 @@
%% -------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{french}
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
%%
%% Babel package for LaTeX version 2e
%% Copyright © 1996-2024
@@ -252,6 +252,7 @@
\fb@info{No need for active punctuation characters\\
with this version of LuaTeX!}
\fi
+
\newcommand*{\set@glue@table}[1]{%
\directlua {
local s = token.get_meaning("FB#1space")
@@ -503,9 +504,10 @@
\DeclareRobustCommand\rmfamilyFB{\FB@spacing@on \rmfamilyORI}
\DeclareRobustCommand\sffamilyFB{\FB@spacing@on \sffamilyORI}
\fi
+\providecommand\texorpdfstring[2]{#1}
\DeclareRobustCommand*{\NoAutoSpacing}{%
- \FB@spacing@off
- \ifFB@active@punct\shorthandoff{;:!?}\fi
+ \texorpdfstring{\FB@spacing@off
+ \ifFB@active@punct\shorthandoff{;:!?}\fi}{}%
}
\ifLaTeXe
\else
@@ -524,7 +526,6 @@
\fi
\let\xspace\relax
\fi
-\providecommand\texorpdfstring[2]{#1}
\newcommand*{\FB@og}{\texorpdfstring{\@FB@og}{\guillemotleft\space}}
\newcommand*{\FB@fg}{\texorpdfstring{\@FB@fg}{\space\guillemotright}}
\newcommand*{\FB@guillspace}{\penalty\@M\FBguillspace}
@@ -777,39 +778,22 @@
\providecommand*{\textbackslash}{{\char"005C}}
\providecommand*{\textasciicircum}{{\char"005E}}
\providecommand*{\textasciitilde}{{\char"007E}}
- \newcommand*{\FB@degre}{°}
+ \DeclareRobustCommand*{\degre}{°}
\else
- \ifLaTeXe
- \newcommand*{\FB@degre}{\r{}}
- \fi
+ \DeclareRobustCommand*{\degre}{\textdegree}
\fi
\DeclareRobustCommand*{\boi}{\textbackslash}
\DeclareRobustCommand*{\circonflexe}{\textasciicircum}
\DeclareRobustCommand*{\tild}{\textasciitilde}
-\DeclareRobustCommand*{\degre}{%
- \texorpdfstring{\FB@degre}{\textdegree}}
\newcommand*{\at}{@}
\DeclareRobustCommand*{\degres}{\degre}
\ifLaTeXe
\AtBeginDocument{%
- \@ifpackageloaded{fontspec}{}{%
- \ifdefined\DeclareEncodingSubset
- \DeclareRobustCommand*{\degres}{%
+ \@ifpackageloaded{fontspec}{}%
+ {\DeclareRobustCommand*{\degres}{%
\texorpdfstring{\hbox{\UseTextSymbol{TS1}{\textdegree}}}%
{\textdegree}}%
- \else
- \def\Warning@degree@TSone{\FBWarning
- {Degrees would look better in TS1-encoding:%
- \MessageBreak add \protect
- \usepackage{textcomp} to the preamble.%
- \MessageBreak Degrees used}}
- \DeclareRobustCommand*{\degres}{%
- \texorpdfstring{\hbox to 0.3em{\hss\degre\hss}%
- \Warning@degree@TSone
- \global\let\Warning@degree@TSone\relax}%
- {\textdegree}}%
- \fi
- }%
+ }%
}
\fi
\newif\ifFB@icomma
@@ -1012,7 +996,7 @@
}
\newcommand{\FBWarning}[1]{\PackageWarning{french.ldf}{#1}}
\bgroup
- \catcode`:=12 \catcode`>=12 \relax
+ \catcode`: =12 \catcode`> =12 \relax
\long\gdef\STD@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
@@ -1124,16 +1108,10 @@
BEFORE babel/french; reported}%
\fi
}
-\newcommand*{\frenchsetup}[1]{%
- \setkeys{FB}{#1}%
-}%
-\@onlypreamble\frenchsetup
-\let\frenchbsetup\frenchsetup
-\@onlypreamble\frenchbsetup
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\newif\ifFBShowOptions
\newif\ifFBStandardLayout \FBStandardLayouttrue
\newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchtrue
-\newif\ifFBReduceListSpacing
\newif\ifFBStandardListSpacing \FBStandardListSpacingtrue
\newif\ifFBListOldLayout
\newif\ifFBListItemsAsPar
@@ -1195,284 +1173,312 @@
\FBAutoSpaceFootnotestrue
\FBCustomiseFigTabCaptionstrue
\fi
- \RequirePackage{keyval}%
- \define@key{FB}{ShowOptions}[true]%
- {\csname FBShowOptions#1\endcsname}%
- \define@key{FB}{StandardLayout}[true]%
- {\ifFB@mainlanguage@FR
- \csname FBStandardLayout#1\endcsname
- \else
- \PackageWarning{french.ldf}%
- {Option `StandardLayout' skipped:\MessageBreak
- French is *not* babel's last option.\MessageBreak
- Reported}%
- \fi
- \ifFBStandardLayout
- \FBStandardListSpacingtrue
- \FBStandardItemizeEnvtrue
- \FBStandardItemLabelstrue
- \FBStandardEnumerateEnvtrue
- \FBIndentFirstfalse
- \FBFrenchFootnotesfalse
- \FBAutoSpaceFootnotesfalse
- \else
- \FBStandardListSpacingfalse
- \FBStandardItemizeEnvfalse
- \FBStandardItemLabelsfalse
- \FBStandardEnumerateEnvfalse
- \FBIndentFirsttrue
- \FBFrenchFootnotestrue
- \FBAutoSpaceFootnotestrue
- \fi}%
- \define@key{FB}{GlobalLayoutFrench}[true]%
- {\ifFB@mainlanguage@FR
- \csname FBGlobalLayoutFrench#1\endcsname
- \else
- \PackageWarning{french.ldf}%
- {Option `GlobalLayoutFrench' skipped:\MessageBreak
- French is *not* babel's last option.\MessageBreak
- Reported}%
- \fi}%
- \define@key{FB}{ReduceListSpacing}[true]%
- {\csname FBReduceListSpacing#1\endcsname
- \ifFBReduceListSpacing \FBStandardListSpacingfalse
- \else \FBStandardListSpacingtrue\fi
- }%
- \define@key{FB}{StandardListSpacing}[true]%
- {\csname FBStandardListSpacing#1\endcsname}%
- \define@key{FB}{ListOldLayout}[true]%
- {\csname FBListOldLayout#1\endcsname
- \ifFBListOldLayout
- \FBStandardEnumerateEnvtrue
- \renewcommand*{\FrenchLabelItem}{\textendash}%
- \fi}%
- \define@key{FB}{CompactItemize}[true]%
- {\csname FBCompactItemize#1\endcsname
- \ifFBCompactItemize
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \else
- \FBStandardItemizeEnvtrue
- \FBStandardEnumerateEnvtrue
- \fi}%
- \define@key{FB}{StandardItemizeEnv}[true]%
- {\csname FBStandardItemizeEnv#1\endcsname}%
- \define@key{FB}{StandardEnumerateEnv}[true]%
- {\csname FBStandardEnumerateEnv#1\endcsname}%
- \define@key{FB}{StandardItemLabels}[true]%
- {\csname FBStandardItemLabels#1\endcsname}%
- \define@key{FB}{ItemLabels}%
- {\renewcommand*{\FrenchLabelItem}{#1}}%
- \define@key{FB}{ItemLabeli}%
- {\renewcommand*{\Frlabelitemi}{#1}}%
- \define@key{FB}{ItemLabelii}%
- {\renewcommand*{\Frlabelitemii}{#1}}%
- \define@key{FB}{ItemLabeliii}%
- {\renewcommand*{\Frlabelitemiii}{#1}}%
- \define@key{FB}{ItemLabeliv}%
- {\renewcommand*{\Frlabelitemiv}{#1}}%
- \define@key{FB}{StandardLists}[true]%
- {\csname FBStandardLists#1\endcsname
- \ifFBStandardLists
- \FBStandardListSpacingtrue
- \FBStandardItemizeEnvtrue
- \FBStandardEnumerateEnvtrue
- \FBStandardItemLabelstrue
- \else
- \FBStandardListSpacingfalse
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \FBStandardItemLabelsfalse
- \fi}%
- \define@key{FB}{ListItemsAsPar}[true]%
- {\csname FBListItemsAsPar#1\endcsname}
- \define@key{FB}{IndentFirst}[true]%
- {\csname FBIndentFirst#1\endcsname}%
- \define@key{FB}{FrenchFootnotes}[true]%
- {\csname FBFrenchFootnotes#1\endcsname}%
- \define@key{FB}{AutoSpaceFootnotes}[true]%
- {\csname FBAutoSpaceFootnotes#1\endcsname}%
- \define@key{FB}{AutoSpacePunctuation}[true]%
- {\csname FBAutoSpacePunctuation#1\endcsname}%
- \define@key{FB}{OriginalTypewriter}[true]%
- {\csname FBOriginalTypewriter#1\endcsname}%
- \define@key{FB}{ThinColonSpace}[true]%
- {\csname FBThinColonSpace#1\endcsname
- \ifFBThinColonSpace
- \renewcommand*{\FBcolonspace}{\FBthinspace}%
- \fi}%
- \define@key{FB}{ThinSpaceInFrenchNumbers}[true]%
- {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
- \define@key{FB}{FrenchSuperscripts}[true]%
- {\csname FBFrenchSuperscripts#1\endcsname}
- \define@key{FB}{LowercaseSuperscripts}[true]%
- {\csname FBLowercaseSuperscripts#1\endcsname}
- \define@key{FB}{PartNameFull}[true]%
- {\csname FBPartNameFull#1\endcsname}%
- \define@key{FB}{CustomiseFigTabCaptions}[true]%
- {\csname FBCustomiseFigTabCaptions#1\endcsname}%
- \define@key{FB}{OldFigTabCaptions}[true]%
- {\csname FBOldFigTabCaptions#1\endcsname
- \ifFBOldFigTabCaptions
- \def\FB@capsep@fix{\babel@save\FBCaption@Separator
- \def\FBCaption@Separator{\CaptionSeparator}}%
+}
+\DeclareKeys[FBsetup]
+ {
+ ShowOptions.if = FBShowOptions ,
+ StandardLayout.default:n = {true} ,
+ StandardLayout.code = \FBStandardLayout@setup{#1} ,
+ GlobalLayoutFrench.default:n = {true} ,
+ GlobalLayoutFrench.code = \FBGlobalLayout@setup{#1} ,
+ StandardListSpacing.if = FBStandardListSpacing ,
+ ReduceListSpacing.ifnot = FBStandardListSpacing ,
+ ListOldLayout.default:n = {true} ,
+ ListOldLayout.code = \FBListOldLayout@setup{#1} ,
+ CompactItemize.default:n = {true} ,
+ CompactItemize.code = \FBCompactItemize@setup{#1} ,
+ StandardItemizeEnv.if = FBStandardItemizeEnv ,
+ StandardEnumerateEnv.if = FBStandardEnumerateEnv ,
+ StandardItemLabels.if = FBStandardItemLabels ,
+ ItemLabels.store = \FrenchLabelItem ,
+ ItemLabeli.store = \Frlabelitemi ,
+ ItemLabelii.store = \Frlabelitemii ,
+ ItemLabeliii.store = \Frlabelitemiii ,
+ ItemLabeliv.store = \Frlabelitemiv ,
+ StandardLists.default:n = {true} ,
+ StandardLists.code = \FBStandardLists@setup{#1} ,
+ ListItemsAsPar.if = FBListItemsAsPar ,
+ IndentFirst.if = FBIndentFirst ,
+ FrenchFootnotes.if = FBFrenchFootnotes ,
+ AutoSpaceFootnotes.if = FBAutoSpaceFootnotes ,
+ AutoSpacePunctuation.if = FBAutoSpacePunctuation ,
+ OriginalTypewriter.if = FBOriginalTypewriter ,
+ ThinColonSpace.default:n = {true} ,
+ ThinColonSpace.code = \FBThinColonSpace@setup{#1} ,
+ ThinSpaceInFrenchNumbers.if = FBThinSpaceInFrenchNumbers ,
+ FrenchSuperscripts.if = FBFrenchSuperscripts ,
+ LowercaseSuperscripts.if = FBLowercaseSuperscripts ,
+ PartNameFull.if = FBPartNameFull ,
+ CustomiseFigTabCaptions.if = FBCustomiseFigTabCaptions ,
+ OldFigTabCaptions.default:n = {true} ,
+ OldFigTabCaptions.code = \FBOldFigTabCaptions@setup{#1} ,
+ SmallCapsFigTabCaptions.default:n = {true} ,
+ SmallCapsFigTabCaptions.code = \FBSmallCapsFigTabCaptions@setup{#1} ,
+ SuppressWarning.default:n = {true} ,
+ SuppressWarning.code = \FBSuppressWarning@setup{#1} ,
+ INGuillSpace.default:n = {true} ,
+ INGuillSpace.code = \FBINGuillSpace@setup{#1} ,
+ InnerGuillSingle.if = FBInnerGuillSingle ,
+ EveryParGuill.default:n = {open} ,
+ EveryParGuill.code = \FBEveryParGuill@setup{#1} ,
+ EveryLineGuill.default:n = {open} ,
+ EveryLineGuill.code = \FBEveryLineGuill@setup{#1} ,
+ UnicodeNoBreakSpaces.default:n = {true} ,
+ UnicodeNoBreakSpaces.code = \FBUnicodeNoBreakSpaces@setup{#1} ,
+ og.code = \FBog@setup{#1} ,
+ fg.code = \FBfg@setup{#1} ,
+}
+\newcommand*{\frenchsetup}[1]{%
+ \SetKeys[FBsetup]{#1}%
+}%
+\@onlypreamble\frenchsetup
+\let\frenchbsetup\frenchsetup
+\@onlypreamble\frenchbsetup
+\newcommand*{\FBStandardLayout@setup}[1]%
+ {\ifFB@mainlanguage@FR
+ \csname FBStandardLayout#1\endcsname
+ \else
+ \PackageWarning{french.ldf}%
+ {Option `StandardLayout' skipped:\MessageBreak
+ French is *not* babel's last option.\MessageBreak
+ Reported}%
+ \fi
+ \ifFBStandardLayout
+ \FBStandardListSpacingtrue
+ \FBStandardItemizeEnvtrue
+ \FBStandardItemLabelstrue
+ \FBStandardEnumerateEnvtrue
+ \FBIndentFirstfalse
+ \FBFrenchFootnotesfalse
+ \FBAutoSpaceFootnotesfalse
+ \else
+ \FBStandardListSpacingfalse
+ \FBStandardItemizeEnvfalse
+ \FBStandardItemLabelsfalse
+ \FBStandardEnumerateEnvfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \fi
+ }
+\newcommand*{\FBGlobalLayout@setup}[1]%
+ {\ifFB@mainlanguage@FR
+ \csname FBGlobalLayoutFrench#1\endcsname
+ \else
+ \PackageWarning{french.ldf}%
+ {Option `GlobalLayoutFrench' skipped:\MessageBreak
+ French is *not* babel's last option.\MessageBreak
+ Reported}%
+ \fi
+ }
+\newcommand*{\FB@ListOldLayout@setup}[1]%
+ {\csname FBListOldLayout#1\endcsname
+ \ifFBListOldLayout
+ \FBStandardEnumerateEnvtrue
+ \renewcommand*{\FrenchLabelItem}{\textendash}%
+ \fi
+ }
+\newcommand*{\FB@CompactItemize@setup}[1]%
+ {\csname FBCompactItemize#1\endcsname
+ \ifFBCompactItemize
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \else
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \fi
+ }
+\newcommand*{\FBStandardLists@setup}[1]%
+ {\csname FBStandardLists#1\endcsname
+ \ifFBStandardLists
+ \FBStandardListSpacingtrue
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \FBStandardItemLabelstrue
+ \else
+ \FBStandardListSpacingfalse
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse
+ \fi
+ }
+\newcommand*{\FBThinColonSpace@setup}[1]%
+ {\csname FBThinColonSpace#1\endcsname
+ \ifFBThinColonSpace
+ \renewcommand*{\FBcolonspace}{\FBthinspace}%
+ \fi
+ }
+\newcommand*{\FBOldFigTabCaptions@setup}[1]%
+ {\csname FBOldFigTabCaptions#1\endcsname
+ \ifFBOldFigTabCaptions
+ \def\FB@capsep@fix{\babel@save\FBCaption@Separator
+ \def\FBCaption@Separator{\CaptionSeparator}}%
\addto\extrasfrench{\FB@capsep@fix}%
\ifdefined\extrasacadian
\addto\extrasacadian{\FB@capsep@fix}%
\fi
- \fi}%
- \define@key{FB}{SmallCapsFigTabCaptions}[true]%
- {\csname FBSmallCapsFigTabCaptions#1\endcsname
- \ifFBSmallCapsFigTabCaptions
- \else \let\FBfigtabshape\relax \fi}%
- \define@key{FB}{SuppressWarning}[true]%
- {\csname FBSuppressWarning#1\endcsname
- \ifFBSuppressWarning
- \renewcommand{\FBWarning}[1]{}%
- \fi}%
- \define@key{FB}{INGuillSpace}[true]%
- {\csname FBINGuillSpace#1\endcsname
- \ifFBINGuillSpace
- \renewcommand*{\FBguillspace}{\space}%
- \fi}%
- \define@key{FB}{InnerGuillSingle}[true]%
- {\csname FBInnerGuillSingle#1\endcsname}%
- \define@key{FB}{EveryParGuill}[open]%
- {\expandafter\let\expandafter
- \FBeveryparguill\csname FBguill#1\endcsname
- \ifx\FBeveryparguill\FBguillopen
- \else\ifx\FBeveryparguill\FBguillclose
- \else\ifx\FBeveryparguill\FBguillnone
- \else
- \let\FBeveryparguill\FBguillopen
- \FBWarning{Wrong value for `EveryParGuill':
- try `open',\MessageBreak
- `close' or `none'. Reported}%
- \fi
- \fi
- \fi}%
- \define@key{FB}{EveryLineGuill}[open]%
- {\ifFB@luatex@punct
- \expandafter\let\expandafter
- \FBeverylineguill\csname FBguill#1\endcsname
- \ifx\FBeverylineguill\FBguillopen
- \else\ifx\FBeverylineguill\FBguillclose
- \else\ifx\FBeverylineguill\FBguillnone
- \else
- \let\FBeverylineguill\FBguillnone
- \FBWarning{Wrong value for `EveryLineGuill':
- try `open',\MessageBreak
- `close' or `none'. Reported}%
- \fi
- \fi
- \fi
- \else
- \FBWarning{Option `EveryLineGuill' skipped:%
- \MessageBreak this option is for
- LuaTeX *only*.\MessageBreak Reported}%
- \fi}%
- \define@key{FB}{UnicodeNoBreakSpaces}[true]%
- {\ifFB@luatex@punct
- \csname FBucsNBSP#1\endcsname
- \ifFBucsNBSP \FB@ucsNBSP=\@ne \fi
- \else
- \FBWarning{Option `UnicodeNoBreakSpaces' skipped:%
- \MessageBreak this option is for
- LuaTeX *only*.\MessageBreak Reported}%
- \fi
- }%
- \def\FB@parse#1#2\endparse{\def\FB@second{#2}}%
- \define@key{FB}{og}%
- {\ifFBunicode
- \ifFB@luatex@punct
- \FB@addGUILspace=1 \relax
- \fi
- \ifFB@xetex@punct
- \XeTeXcharclass"13 = \FB@guilo
- \XeTeXcharclass"AB = \FB@guilo
- \XeTeXcharclass"A0 = \FB@guilnul
- \XeTeXcharclass"202F = \FB@guilnul
- \fi
- \ifFB@active@punct
- \FBWarning{Option og=« not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
- \newcommand*{\FB@@og}{%
- \ifFBfrench
- \ifFB@spacing\FB@og\ignorespaces
- \else\guillemotleft
- \fi
- \else\guillemotleft\fi}%
- \AtBeginDocument{%
- \ifdefined\uc@dclc
- \uc@dclc{171}{default}{\FB@@og}%
- \else
- \FB@parse#1\endparse
- \ifx\FB@second\@empty
- \ifdefined\mule@def
- \mule@def{11}{\FB@@og}%
- \else
- \ifdefined\DeclareInputText
- \@tempcnta`#1\relax
- \DeclareInputText{\the\@tempcnta}{\FB@@og}%
- \else
- \FBWarning{Option `og' requires package
- inputenc;\MessageBreak reported}%
- \fi
- \fi
- \else
- \DeclareUnicodeCharacter{00AB}{\FB@@og}%
- \fi
- \fi}%
- \fi
- }%
- \define@key{FB}{fg}%
- {\ifFBunicode
- \ifFB@luatex@punct
- \FB@addGUILspace=1 \relax
- \fi
- \ifFB@xetex@punct
- \XeTeXcharclass"14 = \FB@guilf
- \XeTeXcharclass"BB = \FB@guilf
- \XeTeXcharclass"A0 = \FB@guilnul
- \XeTeXcharclass"202F = \FB@guilnul
- \fi
- \ifFB@active@punct
- \FBWarning{Option fg=» not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
- \newcommand*{\FB@@fg}{%
- \ifFBfrench
- \ifFB@spacing\FB@fg
- \else\guillemotright
- \fi
- \else\guillemotright\fi}%
- \AtBeginDocument{%
- \ifdefined\uc@dclc
- \uc@dclc{187}{default}{\FB@@fg}%
- \else
- \FB@parse#1\endparse
- \ifx\FB@second\@empty
- \ifdefined\mule@def
- \mule@def{27}{{\FB@@fg}}%
- \else
- \ifdefined\DeclareInputText
- \@tempcnta`#1\relax
- \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
- \else
- \FBWarning{Option `fg' requires package
- inputenc;\MessageBreak reported}%
- \fi
- \fi
- \else
- \DeclareUnicodeCharacter{00BB}{\FB@@fg}%
- \fi
- \fi}%
- \fi
- }%
-}
+ \fi
+ }
+\newcommand*{\FBSmallCapsFigTabCaptions@setup}[1]%
+ {\csname FBSmallCapsFigTabCaptions#1\endcsname
+ \ifFBSmallCapsFigTabCaptions
+ \else
+ \let\FBfigtabshape\relax
+ \fi
+ }
+\newcommand*{\FBSuppressWarning@setup}[1]%
+ {\csname FBSuppressWarning#1\endcsname
+ \ifFBSuppressWarning
+ \renewcommand{\FBWarning}[1]{}%
+ \fi
+ }
+\newcommand*{\FBINGuillSpace@setup}[1]%
+ {\csname FBINGuillSpace#1\endcsname
+ \ifFBINGuillSpace
+ \renewcommand*{\FBguillspace}{\space}%
+ \fi
+ }
+\newcommand*{\FBEveryParGuill@setup}[1]%
+ {\expandafter\let\expandafter
+ \FBeveryparguill\csname FBguill#1\endcsname
+ \ifx\FBeveryparguill\FBguillopen
+ \else\ifx\FBeveryparguill\FBguillclose
+ \else\ifx\FBeveryparguill\FBguillnone
+ \else
+ \let\FBeveryparguill\FBguillopen
+ \FBWarning{Wrong value for `EveryParGuill':
+ try `open',\MessageBreak
+ `close' or `none'. Reported}%
+ \fi
+ \fi
+ \fi
+ }
+\newcommand*{\FBEveryLineGuill@setup}[1]%
+ {\ifFB@luatex@punct
+ \expandafter\let\expandafter
+ \FBeverylineguill\csname FBguill#1\endcsname
+ \ifx\FBeverylineguill\FBguillopen
+ \else\ifx\FBeverylineguill\FBguillclose
+ \else\ifx\FBeverylineguill\FBguillnone
+ \else
+ \let\FBeverylineguill\FBguillnone
+ \FBWarning{Wrong value for `EveryLineGuill':
+ try `open',\MessageBreak
+ `close' or `none'. Reported}%
+ \fi
+ \fi
+ \fi
+ \else
+ \FBWarning{Option `EveryLineGuill' skipped:%
+ \MessageBreak this option is for
+ LuaTeX *only*.\MessageBreak Reported}%
+ \fi
+ }
+\newcommand*{\FBUnicodeNoBreakSpaces@setup}[1]%
+ {\ifFB@luatex@punct
+ \csname FBucsNBSP#1\endcsname
+ \ifFBucsNBSP \FB@ucsNBSP=\@ne \fi
+ \else
+ \FBWarning{Option `UnicodeNoBreakSpaces' skipped:%
+ \MessageBreak this option is for
+ LuaTeX *only*.\MessageBreak Reported}%
+ \fi
+ }%
+\def\FB@parse#1#2\endparse{\def\FB@second{#2}}%
+\newcommand*{\FB@@og}%
+ {\ifFBfrench
+ \ifFB@spacing \FB@og\ignorespaces
+ \else \guillemotleft
+ \fi
+ \else \guillemotleft
+ \fi
+ }
+\newcommand*{\FB@@fg}%
+ {\ifFBfrench
+ \ifFB@spacing \FB@fg
+ \else \guillemotright
+ \fi
+ \else \guillemotright
+ \fi
+ }
+\newcommand*{\FBog@setup}[1]%
+ {\ifFBunicode
+ \ifFB@luatex@punct
+ \FB@addGUILspace=1 \relax
+ \fi
+ \ifFB@xetex@punct
+ \XeTeXcharclass"13 = \FB@guilo
+ \XeTeXcharclass"AB = \FB@guilo
+ \XeTeXcharclass"A0 = \FB@guilnul
+ \XeTeXcharclass"202F = \FB@guilnul
+ \fi
+ \ifFB@active@punct
+ \FBWarning{Option og=« not supported with this version of
+ \MessageBreak LuaTeX/XeTeX; reported}% »
+ \fi
+ \else
+ \AtBeginDocument{%
+ \ifdefined\uc@dclc
+ \uc@dclc{171}{default}{\FB@@og}%
+ \else
+ \FB@parse#1\endparse
+ \ifx\FB@second\@empty
+ \ifdefined\mule@def
+ \mule@def{11}{\FB@@og}%
+ \else
+ \ifdefined\DeclareInputText
+ \@tempcnta`#1\relax
+ \DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \else
+ \FBWarning{Option `og' requires package
+ inputenc;\MessageBreak reported}%
+ \fi
+ \fi
+ \else
+ \DeclareUnicodeCharacter{00AB}{\FB@@og}%
+ \fi
+ \fi}%
+ \fi
+ }
+\newcommand*{\FBfg@setup}[1]%
+ {\ifFBunicode
+ \ifFB@luatex@punct
+ \FB@addGUILspace=1 \relax
+ \fi
+ \ifFB@xetex@punct
+ \XeTeXcharclass"14 = \FB@guilf
+ \XeTeXcharclass"BB = \FB@guilf
+ \XeTeXcharclass"A0 = \FB@guilnul
+ \XeTeXcharclass"202F = \FB@guilnul
+ \fi
+ \ifFB@active@punct
+ \FBWarning{Option fg=» not supported with this version of
+ \MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
+ \else
+ \AtBeginDocument{%
+ \ifdefined\uc@dclc
+ \uc@dclc{187}{default}{\FB@@fg}%
+ \else
+ \FB@parse#1\endparse
+ \ifx\FB@second\@empty
+ \ifdefined\mule@def
+ \mule@def{27}{{\FB@@fg}}%
+ \else
+ \ifdefined\DeclareInputText
+ \@tempcnta`#1\relax
+ \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
+ \else
+ \FBWarning{Option `fg' requires package
+ inputenc;\MessageBreak reported}%
+ \fi
+ \fi
+ \else
+ \DeclareUnicodeCharacter{00BB}{\FB@@fg}%
+ \fi
+ \fi}%
+ \fi
+ }
\newcommand*{\FBprocess@options}{%
\@ifpackageloaded{enumitem}{%
\ifFBStandardItemizeEnv
@@ -1547,7 +1553,7 @@
{\ifnprt@autolanguage
\providecommand*{\npstylefrench}{}%
\ifFBThinSpaceInFrenchNumbers
- \renewcommand*{\FBthousandsep}{\,}%
+ \renewcommand*{\FBthousandsep}{\FBthinspace}%
\fi
\g@addto@macro\npstylefrench{\npthousandsep{\FBthousandsep}}%
\fi
@@ -1687,11 +1693,11 @@
}
\def\listFB#1#2{\listORI{#1}{\FB@listVsettings #2}}
\let\endlistFB\endlistORI
-\newcommand*{\FrenchLabelItem}{\textemdash}
-\newcommand*{\Frlabelitemi}{\FrenchLabelItem}
-\newcommand*{\Frlabelitemii}{\FrenchLabelItem}
-\newcommand*{\Frlabelitemiii}{\FrenchLabelItem}
-\newcommand*{\Frlabelitemiv}{\FrenchLabelItem}
+\renewcommand*{\FrenchLabelItem}{\textemdash}
+\renewcommand*{\Frlabelitemi}{\FrenchLabelItem}
+\renewcommand*{\Frlabelitemii}{\FrenchLabelItem}
+\renewcommand*{\Frlabelitemiii}{\FrenchLabelItem}
+\renewcommand*{\Frlabelitemiv}{\FrenchLabelItem}
\newdimen\listindentFB
\setlength{\listindentFB}{-1pt}
\newdimen\descindentFB
@@ -1854,26 +1860,6 @@
\@afterindenttrue
\fi}
\addto\extrasfrench{\bbl@frenchindent}
-\AtBeginDocument{%
- \@ifpackageloaded{bigfoot}%
- {\PackageWarning{french.ldf}%
- {bigfoot package in use.\MessageBreak
- babel-french will NOT customise footnotes;%
- \MessageBreak reported}}%
- {\let\@footnotemarkORI\@footnotemark
- \def\@footnotemarkFB{\leavevmode\unskip\unkern
- \,\@footnotemarkORI}%
- \ifFBAutoSpaceFootnotes
- \let\@footnotemark\@footnotemarkFB
- \fi}%
- \@ifpackageloaded{footnotebackref}%
- {\FBFrenchFootnotesfalse
- \PackageWarning{french.ldf}%
- {footnotebackref package loaded.\MessageBreak
- babel-french will NOT customise footnotes;%
- \MessageBreak reported}}%
- {}%
- }
\newdimen\parindentFFN
\parindentFFN=10in
\newcommand*{\dotFFN}{.}
@@ -1919,10 +1905,28 @@
\llap{\@thefnmark}\dotFFN\kernFFN
\fi}
\providecommand\@makefntextFB[1]{\insertfootnotemarkFB #1}
+\newcommand*{\FBfnmarkspace}{\kern .5\fontdimen2\font}
+\def\@footnotemarkFB{\leavevmode\unskip\unkern
+ \protect\FBfnmarkspace\@footnotemarkORI}%
\providecommand\localleftbox[1]{}
\AtBeginDocument{%
- \@ifpackageloaded{bigfoot}{}%
- {\ifdim\parindentFFN<10in
+ \@ifpackageloaded{footnotebackref}%
+ {\FBFrenchFootnotesfalse
+ \PackageWarning{french.ldf}%
+ {footnotebackref package loaded.\MessageBreak
+ babel-french will NOT customise footnotes;%
+ \MessageBreak reported}}%
+ {}%
+ \@ifpackageloaded{bigfoot}%
+ {\PackageWarning{french.ldf}%
+ {bigfoot package in use.\MessageBreak
+ babel-french will NOT customise footnotes;%
+ \MessageBreak reported}}%
+ {\let\@footnotemarkORI\@footnotemark
+ \ifFBAutoSpaceFootnotes
+ \let\@footnotemark\@footnotemarkFB
+ \fi
+ \ifdim\parindentFFN<10in
\else
\parindentFFN=\parindent
\ifdim\parindentFFN<1.5em \parindentFFN=1.5em \fi
@@ -1980,7 +1984,7 @@
\localleftbox{\FBeveryline@quote}}%
\fi
}%
-}
+ }
\newcommand*{\AddThinSpaceBeforeFootnotes}{\FBAutoSpaceFootnotestrue}
\newcommand*{\FrenchFootnotes}{\FBFrenchFootnotestrue}
\newcommand*{\StandardFootnotes}{\FBFrenchFootnotesfalse}
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
index 8967715209d..9ca381c455e 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
@@ -10,11 +10,11 @@
%% -------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{frenchb}
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
\def\bbl@tempa{frenchb}
\ifx\CurrentOption\bbl@tempa
\chardef\l@frenchb\l@french
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
index bc084cc35df..2a824fb924c 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
@@ -1,6 +1,6 @@
--[[
File `frenchb.lua’ generated from frenchb.dtx
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
Copyright © 2014-2024 Daniel Flipo
<daniel (dot) flipo (at) free (dot) fr>
License LPPL: see french.ldf.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
index 116de257642..08ee95e770c 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
@@ -227,6 +227,7 @@ function Babel.hyphenate_replace(head, mode)
print('=====')
end
local new -- used when inserting and removing nodes
+ local dummy_node -- used by after
local matches = { u.match(w, p, last_match) }
@@ -271,7 +272,8 @@ function Babel.hyphenate_replace(head, mode)
-- rc = the replacement table index
local rc = 0
- while rc < last-first+1 do -- for each replacement
+------- TODO. dummy_node?
+ while rc < last-first+1 or dummy_node do -- for each replacement
if Babel.debug then
print('.....', rc + 1)
end
@@ -303,11 +305,31 @@ function Babel.hyphenate_replace(head, mode)
end
if crep then
- step = crep.step or 0
+ step = crep.step or step
+ end
+
+ if crep and crep.after then
+ crep.insert = true
+ if dummy_node then
+ item = dummy_node
+ else -- TODO. if there is a node after?
+ d = node.copy(item_base)
+ head, item = node.insert_after(head, item, d)
+ dummy_node = item
+ end
+ end
+
+ if crep and not crep.after and dummy_node then
+ node.remove(head, dummy_node)
+ dummy_node = nil
end
if (not enabled) or (crep and next(crep) == nil) then -- = {}
- last_match = save_last -- Optimization
+ if step == 0 then
+ last_match = save_last -- Optimization
+ else
+ last_match = utf8.offset(w, sc+step)
+ end
goto next
elseif crep == nil or crep.remove then
@@ -396,6 +418,15 @@ function Babel.hyphenate_replace(head, mode)
end
head, new = node.insert_before(head, item, d)
+ elseif crep and crep.norule then
+ -- 655360 = 10 pt = 10 * 65536 sp
+ d = node.new(2, 3) -- (rule, empty) = \no*rule
+ local quad = font.getfont(item_base.font).size or 655360
+ d.width = crep.norule[1] * quad
+ d.height = crep.norule[2] * quad
+ d.depth = crep.norule[3] * quad
+ head, new = node.insert_before(head, item, d)
+
elseif crep and crep.spacefactor then
d = node.new(12, 13) -- (glue, spaceskip)
local base_font = font.getfont(item_base.font)
@@ -411,9 +442,21 @@ function Babel.hyphenate_replace(head, mode)
elseif mode == 0 and crep and crep.space then
-- ERROR
+ elseif crep and crep.kern then
+ d = node.new(13, 1) -- (kern, user)
+ local quad = font.getfont(item_base.font).size or 655360
+ d.attr = item_base.attr
+ d.kern = crep.kern * quad
+ head, new = node.insert_before(head, item, d)
+
+ elseif crep and crep.node then
+ d = node.new(crep.node[1], crep.node[2])
+ d.attr = item_base.attr
+ head, new = node.insert_before(head, item, d)
+
end -- ie replacement cases
- -- Shared by disc, space and penalty.
+ -- Shared by disc, space(factor), kern, node and penalty.
if sc == 1 then
word_head = head
end
@@ -438,6 +481,11 @@ function Babel.hyphenate_replace(head, mode)
Babel.debug_hyph(w, w_nodes, sc, first, last, last_match)
end
+ if dummy_node then
+ node.remove(head, dummy_node)
+ dummy_node = nil
+ end
+
end -- for match
end -- for patterns
@@ -518,6 +566,14 @@ function Babel.capture_kashida(key, wt)
return 'kashida = ' .. wt
end
+function Babel.capture_node(id, subtype)
+ local sbt = 0
+ for k, v in pairs(node.subtypes(id)) do
+ if v == subtype then sbt = k end
+ end
+ return 'node = {' .. node.id(id) .. ', ' .. sbt .. '}'
+end
+
-- Experimental: applies prehyphenation transforms to a string (letters
-- and spaces).
function Babel.string_prehyphenation(str, locale)
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index a6abaeded14..79036acd022 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -40,7 +40,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2024/05/18 v24.5 Babel common definitions]
+\ProvidesFile{babel.def}[2024/06/26 v24.7 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -596,8 +596,8 @@
\toks@\expandafter{\bbl@tempc#3}%
\expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
\fi}
-\def\bbl@version{24.5}
-\def\bbl@date{2024/05/18}
+\def\bbl@version{24.7}
+\def\bbl@date{2024/06/26}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 18ccb3675bd..0c68ee32a62 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2024/05/18 v24.5 The Babel package]
+\ProvidesPackage{babel}[2024/06/26 v24.7 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -466,8 +466,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{24.5}
-\def\bbl@date{2024/05/18}
+\def\bbl@version{24.7}
+\def\bbl@date{2024/06/26}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -3963,16 +3963,16 @@
\fi
\fi
\fi
-\ifnum\bbl@bidimode=\@ne % Any bidi= except default=1
+\ifnum\bbl@bidimode=\@ne % bidi=default
\let\bbl@beforeforeign\leavevmode
- \ifodd\bbl@engine
+ \ifodd\bbl@engine % lua
\newattribute\bbl@attr@dir
\directlua{ Babel.attr_dir = luatexbase.registernumber'bbl@attr@dir' }
\bbl@exp{\output{\bodydir\pagedir\the\output}}
\fi
\AtEndOfPackage{%
- \EnableBabelHook{babel-bidi}%
- \ifodd\bbl@engine\else
+ \EnableBabelHook{babel-bidi}% pdf/lua/xe
+ \ifodd\bbl@engine\else % pdf/xe
\bbl@xebidipar
\fi}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 01719325f44..53ff26e70c1 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,10 +38,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2024/05/18 v24.5 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2024/06/26 v24.7 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{24.5}
-\def\bbl@date{2024/05/18}
+\def\bbl@version{24.7}
+\def\bbl@date{2024/06/26}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini b/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini
index 4a2d6023b7c..a9d0c5b8418 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ብሊን
name.english = Blin
name.babel = blin
@@ -105,16 +105,21 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
-hyphenchar =
-prehyphenchar =
-posthyphenchar =
-exhyphenchar =
-preexhyphenchar =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
postexhyphenchar =
-hyphenationmin =
+hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini b/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini
index a74c5c3f431..74c1b10be1e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini
@@ -6,11 +6,13 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; contribution by J. Khaganov <@ponte-vecchio>
+; contribution by @DerKaiser4709
[identification]
charset = utf8
-version = 1.4
-date = 2022-07-03
+version = 1.5
+date = 2024-06-04
name.local = Filipino
name.english = Filipino
name.babel = filipino
@@ -26,50 +28,50 @@ encodings = T1 OT1 LY1
derivate = no
[captions]
-preface =
-ref =
-abstract =
-bib =
-chapter =
-appendix =
-contents =
-listfigure =
-listtable =
-index =
-figure =
-table =
-part =
+preface = Paunang Salita
+ref = Talasanggunian
+abstract = Abstrak
+bib = Talaaklatan
+chapter = Kabanata
+appendix = Hugpong
+contents = Talalamanan
+listfigure = Talalarawan
+listtable = Talatalayan
+index = Talatuntunan
+figure = Laraw
+table = Talay
+part = Bahagi
encl =
cc =
headto =
-page =
-see =
-also =
-proof =
-glossary =
+page = Pahina
+see = tignan ang
+also = tignan din
+proof = Patunay
+glossary = Glosaryo
[captions.licr]
-preface =
-ref =
-abstract =
-bib =
-chapter =
-appendix =
-contents =
-listfigure =
-listtable =
-index =
-figure =
-table =
-part =
+preface = Paunang Salita
+ref = Talasanggunian
+abstract = Abstrak
+bib = Talaaklatan
+chapter = Kabanata
+appendix = Hugpong
+contents = Talalamanan
+listfigure = Talalarawan
+listtable = Talatalayan
+index = Talatuntunan
+figure = Laraw
+table = Talay
+part = Bahagi
encl =
cc =
headto =
-page =
-see =
-also =
-proof =
-glossary =
+page = Pahina
+see = tignan ang
+also = tignan din
+proof = Patunay
+glossary = Glosaryo
[date.gregorian]
date.long = [MMMM] [d], [y]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini b/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini
index b84ab729083..85cbddcb068 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ግዕዝኛ
name.english = Geez
name.babel = geez
@@ -107,9 +107,10 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
hyphenchar =
prehyphenchar =
posthyphenchar =
@@ -117,6 +118,10 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes = ””’’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini b/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini
index 92aa31f638d..a4ae7c3ff0b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2023-03-11
+version = 1.5
+date = 2024-06-24
name.local = ትግርኛ
name.english = Tigrinya
name.babel = tigrinya
@@ -146,9 +146,10 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
hyphenchar =
prehyphenchar =
posthyphenchar =
@@ -156,6 +157,10 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini b/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini
index c8e8fa6102c..170f59cb53f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ትግረ
name.english = Tigre
name.babel = tigre
@@ -105,16 +105,21 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
-hyphenchar =
-prehyphenchar =
-posthyphenchar =
-exhyphenchar =
-preexhyphenchar =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
postexhyphenchar =
-hyphenationmin =
+hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini b/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini
index a28543e339a..4a5dd741077 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ወላይታቱ
name.english = Wolaytta
name.babel = wolaytta
@@ -105,16 +105,21 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
-hyphenchar =
-prehyphenchar =
-posthyphenchar =
-exhyphenchar =
-preexhyphenchar =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
postexhyphenchar =
-hyphenationmin =
+hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 2173499d17f..f4383a33ce4 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -197,6 +197,7 @@
\endinput\fi
% Here stops reading code for hyphen.cfg
% The following is read the 2nd time it's loaded
+ % First, global declarations for lua
\begingroup % TODO - to a lua file
\catcode`\%=12
\catcode`\'=12
@@ -204,6 +205,10 @@
\catcode`\:=12
\directlua{
Babel = Babel or {}
+ function Babel.lua_error(e, a)
+ tex.print([[\noexpand\csname bbl@error\endcsname{]] ..
+ e .. '}{' .. (a or '') .. '}{}{}')
+ end
function Babel.bytes(line)
return line:gsub("(.)",
function (chr) return unicode.utf8.char(string.byte(chr)) end)
@@ -1220,7 +1225,12 @@ end
local rep = [=[##1]=]
rep = rep:gsub('^%s*(remove)%s*$', 'remove = true')
rep = rep:gsub('^%s*(insert)%s*,', 'insert = true, ')
+ rep = rep:gsub('^%s*(after)%s*,', 'after = true, ')
rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func)
+ rep = rep:gsub('node%s*=%s*(%a+)%s*(%a*)', Babel.capture_node)
+ rep = rep:gsub(&%
+ '(norule)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
+ 'norule = {' .. '%2, %3, %4' .. '}')
if #1 == 0 or #1 == 2 then
rep = rep:gsub(&%
'(space)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
@@ -1238,8 +1248,8 @@ end
}}}&%
\bbl@foreach\babeltempb{&%
\bbl@forkv{{##1}}{&%
- \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,&%
- no,post,penalty,kashida,space,spacefactor,}&%
+ \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,no,&%
+ post,penalty,kashida,space,spacefactor,kern,node,after,norule,}&%
\ifin@\else
\bbl@error{bad-transform-option}{####1}{}{}&%
\fi}}&%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 3e4916af39a..b9728218eac 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -33,7 +33,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2024/05/18 v24.5 Nil language]
+\ProvidesLanguage{nil}[2024/06/26 v24.7 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def
index fd12fc37ef3..70ae95c5d4b 100644
--- a/Master/texmf-dist/tex/generic/babel/txtbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def
@@ -35,12 +35,12 @@
\providecommand\bbl@provide@intraspace{}
\bbl@trace{Redefinitions for bidi layout}
-\def\bbl@sspre@caption{%
+\def\bbl@sspre@caption{% TODO: Unused!
\bbl@exp{\everyhbox{\\\bbl@textdir\bbl@cs{wdir@\bbl@main@language}}}}
\ifx\bbl@opt@layout\@nnil\else % if layout=..
\def\bbl@startskip{\ifcase\bbl@thepardir\leftskip\else\rightskip\fi}
\def\bbl@endskip{\ifcase\bbl@thepardir\rightskip\else\leftskip\fi}
-\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi=
+\ifnum\bbl@bidimode>\z@ % TODO: always?
\def\@hangfrom#1{%
\setbox\@tempboxa\hbox{{#1}}%
\hangindent\ifcase\bbl@thepardir\wd\@tempboxa\else-\wd\@tempboxa\fi
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 7a667481643..9775e235b39 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -386,12 +386,12 @@
{\bbl@csarg\let{ic@#1@\languagename}\@gobble}}
\providecommand\bbl@provide@intraspace{}
\bbl@trace{Redefinitions for bidi layout}
-\def\bbl@sspre@caption{%
+\def\bbl@sspre@caption{% TODO: Unused!
\bbl@exp{\everyhbox{\\\bbl@textdir\bbl@cs{wdir@\bbl@main@language}}}}
\ifx\bbl@opt@layout\@nnil\else % if layout=..
\def\bbl@startskip{\ifcase\bbl@thepardir\leftskip\else\rightskip\fi}
\def\bbl@endskip{\ifcase\bbl@thepardir\rightskip\else\leftskip\fi}
-\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi=
+\ifnum\bbl@bidimode>\z@ % TODO: always?
\def\@hangfrom#1{%
\setbox\@tempboxa\hbox{{#1}}%
\hangindent\ifcase\bbl@thepardir\wd\@tempboxa\else-\wd\@tempboxa\fi
diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
index 4978311dca6..626ed28812b 100644
--- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
+++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
@@ -3696,9 +3696,9 @@
\pgf@circuit@fulldiodefalse
\ctikzset{diode/.is choice}
-\ctikzset{diode/empty/.code = \pgf@circuit@fulldiodefalse\pgf@circuit@strokediodefalse}%default
-\ctikzset{diode/full/.code = \pgf@circuit@fulldiodetrue }
-\ctikzset{diode/stroke/.code = \pgf@circuit@strokediodetrue}
+\ctikzset{diode/empty/.code = \pgf@circuit@fulldiodefalse\pgf@circuit@strokediodefalse}%default
+\ctikzset{diode/full/.code = \pgf@circuit@fulldiodetrue\pgf@circuit@strokediodefalse}
+\ctikzset{diode/stroke/.code = \pgf@circuit@fulldiodefalse\pgf@circuit@strokediodetrue}
\tikzset{full diodes/.style = { \circuitikzbasekey/diode = full}}
\tikzset{empty diodes/.style = { \circuitikzbasekey/diode = empty}}
@@ -6977,7 +6977,7 @@
\ctikzset{bipoles/tlmic/width/.initial=.5}% it MUST be mic width *5/8
\ctikzset{bipoles/mic/bar thickness/.initial=1}
-% arresters, fuses, lamps, etc
+% arresters, fuses, relais, lamps, etc
\ctikzset{bipoles/european gas filled surge arrester/height/.initial=.30}
\ctikzset{bipoles/european gas filled surge arrester/width/.initial=.80}
@@ -6994,6 +6994,7 @@
\ctikzset{bipoles/afuse/height/.initial=.20}
\ctikzset{bipoles/afuse/width/.initial=.50}
\ctikzset{bipoles/lamp/height/.initial=.60}
+\ctikzset{bipoles/lamp/width/.initial=.60}
\ctikzset{bipoles/wfuse/height/.initial=.20}
\ctikzset{bipoles/wfuse/width/.initial=.50}
\ctikzset{bipoles/wfuse/shape/.initial=ocirc}
@@ -7001,9 +7002,22 @@
\ctikzset{bipoles/wfuse/dots/.is choice}
\ctikzset{bipoles/wfuse/dots/.is if=pgf@circ@wfuse@dots}
%
-\ctikzset{bipoles/lamp/width/.initial=.60}
+\ctikzset{bipoles/relais/height/.initial=.8}
+\ctikzset{bipoles/relais/width/.initial=.3}
+%
\ctikzset{bipoles/bulb/height/.initial=.8}
\ctikzset{bipoles/bulb/width/.initial=.8}
+% suggested by @bogger33, see https://github.com/circuitikz/circuitikz/issues/793
+\ctikzset{bipoles/neonlampcc/height/.initial=.60}
+\ctikzset{bipoles/neonlampac/height/.initial=.60}
+\pgf@circ@declare@family@arrows{sparkgap}
+\newif\ifpgf@sparkgap@dot
+\newif\ifpgf@sparkgap@circle
+\ctikzset{sparkgap/circle/.is if=pgf@sparkgap@circle}
+\ctikzset{sparkgap/dot/.is if=pgf@sparkgap@dot}
+\ctikzset{sparkgap/gap/.initial=.05}
+\ctikzset{bipoles/sparkgap/height/.initial=.60}
+%
\ctikzset{bipoles/squid/height/.initial=.60}
\ctikzset{bipoles/squid/width/.initial=.60}
\ctikzset{bipoles/barrier/height/.initial=.60}
@@ -7233,6 +7247,25 @@
\pgfnode{\cshape}{center}{}{\thisshape-right}{\pgfusepath{draw}}
\fi
}
+
+%% Relais
+\pgfcircdeclarebipolescaled{misc}
+{}
+{\ctikzvalof{bipoles/relais/height}}
+{relais}
+{\ctikzvalof{bipoles/relais/height}}
+{\ctikzvalof{bipoles/relais/width}}
+{
+ \pgfpathrectanglecorners{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgf@circ@draworfill
+ \pgfscope
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}
+ \pgfusepath{draw}
+ \endpgfscope
+}
+
%% SQUID added by Cor Molenaar 5 March 2010
\pgfcircdeclarebipolescaled{misc}
{}
@@ -7340,11 +7373,116 @@
\pgfsetbeveljoin
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@zero}}
\pgfusepath{draw}
-}% %>>>
+}%
+% neon lamps, suggested by @bogger33 https://github.com/circuitikz/circuitikz/issues/793
+% implemented by Romano
+% double-cathode (capacitor) style
+\pgfcircdeclarebipolescaled{misc}
+{}
+{\ctikzvalof{bipoles/neonlampcc/height}}
+{neonlampcc}
+{\ctikzvalof{bipoles/neonlampcc/height}}
+{\ctikzvalof{bipoles/neonlampcc/height}}
+{
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}}
+ \pgf@circ@draworfill
+ %% leads in
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \def\@@w{0.2}\def\@@h{0.6}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{0pt}}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@right}{0pt}}
+ %% "capacitor style" symbol
+ \pgfusepath{draw}
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\@@w\pgf@circ@res@right}{\@@h\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@right}{\@@h\pgf@circ@res@up}}
+ \pgfpathmoveto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ %% dot
+ \pgftransformshift{\pgfpoint{\@@w\pgf@circ@res@left-3*\ctikzvalof{nodes width}\pgf@circ@Rlen}
+ {\@@h\pgf@circ@res@down + 2*\ctikzvalof{nodes width}\pgf@circ@Rlen}}
+ \pgfnode{circ}{center}{}{}{\pgfusepath{draw,fill}}
+}
+% anode-cathode style
+\pgfcircdeclarebipolescaled{misc}
+{}
+{\ctikzvalof{bipoles/neonlampac/height}}
+{neonlampac}
+{\ctikzvalof{bipoles/neonlampac/height}}
+{\ctikzvalof{bipoles/neonlampac/height}}
+{
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}}
+ \pgf@circ@draworfill
+ %% leads in
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \def\@@w{0.5}\def\@@h{0.5}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{0pt}}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@right}{0pt}}
+ \pgfusepath{draw}
+ %% one terminal is a straight plate
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ %% the other is an "ocirc" shape
+ \pgftransformshift{\pgfpoint{\@@w\pgf@circ@res@right}{0pt}}
+ \pgfnode{ocirc}{center}{}{}{\pgfusepath{draw,fill}}
+ %% dot
+ \pgftransformshift{\pgfpoint{-\@@w\pgf@circ@res@right}{\@@h\pgf@circ@res@down}}
+ \pgfnode{circ}{center}{}{}{\pgfusepath{draw,fill}}
+}
+% spark gap, suggested by @bogger33 https://github.com/circuitikz/circuitikz/issues/800
+\pgfcircdeclarebipolescaled{misc}
+{
+ \savedmacro{\changeh}{\edef\changeh{\ifpgf@sparkgap@circle 1 \else 0.5 \fi}}
+ \pgfcirc@border@extend@updown{\changeh}{\changeh}
+}
+{\ctikzvalof{bipoles/sparkgap/height}}
+{sparkgap}
+{\ctikzvalof{bipoles/sparkgap/height}}
+{\ctikzvalof{bipoles/sparkgap/height}}{
+ % circle (if requested)
+ \pgfscope
+ \ifpgf@sparkgap@circle
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathcircle{\pgfpointorigin}{\pgf@circ@res@up}
+ \pgf@circ@draworfill
+ \fi
+ \endpgfscope
+ % arrows
+ \pgfscope
+ \pgfcirc@set@arrows{sparkgap}{}{Triangle[scale=2]}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{sparkgap/gap}\pgf@circ@res@right}{0pt}}
+ \pgfusepath{draw}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{sparkgap/gap}\pgf@circ@res@left}{0pt}}
+ \pgfusepath{draw}
+ \endpgfscope{}
+ % dot (if requested)
+ \ifpgf@sparkgap@dot
+ \pgftransformshift{\pgfpoint
+ {\ctikzvalof{sparkgap/gap}\pgf@circ@res@left-1*\ctikzvalof{nodes width}\pgf@circ@Rlen}
+ {-4*\ctikzvalof{nodes width}\pgf@circ@Rlen}}
+ \pgfnode{circ}{center}{}{}{\pgfusepath{draw,fill}}
+ \fi
+}
+
+%>>>
%% Path definitions for Miscellaneous%<<<
\pgfcirc@activate@bipole@simple{l}{lamp}
+\pgfcirc@activate@bipole@simple{l}{neonlampcc}
+\pgfcirc@activate@bipole@simple{l}{neonlampac}
+\pgfcirc@activate@bipole@simple{l}{sparkgap}
\pgfcirc@activate@bipole@simple{l}{bulb}
\pgfcirc@activate@bipole@simple{l}{squid}
\pgfcirc@activate@bipole@simple{l}{barrier}
@@ -7355,6 +7493,7 @@
\pgfcirc@style@to@style{asymmetric fuse}{afuse}
\pgfcirc@activate@bipole@simple{l}{wfuse}
\pgfcirc@activate@bipole{l}{wfuse}{wfuse}{wiggly fuse}
+\pgfcirc@activate@bipole@simple{l}{relais}
\def\pgf@circ@gfsurgearrester@path#1{\ifpgf@circuit@europeangfsurgearrester\pgf@circ@europeangfsurgearrester@path{#1}\else\pgf@circ@americangfsurgearrester@path{#1}\fi}
\pgfcirc@activate@bipole{l}{europeangfsurgearrester}{european gas filled surge arrester}{european gas filled surge arrester}
\pgfcirc@activate@bipole{l}{americangfsurgearrester}{american gas filled surge arrester}{american gas filled surge arrester}
diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
index 7457dabb46d..d8d089dd92b 100644
--- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
+++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
@@ -4025,6 +4025,8 @@
\pgfmathsetmacro{\@@BDscale}{\ctikzvalof{tripoles/#1/bodydiode scale}* \ctikzvalof{\ctikzclass/scale}/\ctikzvalof{diodes/scale}}
\pgftransformscale{\@@BDscale}
\ifpgf@circuit@fulldiode
+ % I'm not sure why this is needed, but...
+ \pgf@circ@maybe@color{transistor bodydiode/color}
\pgfnode{fulldiodeshape}{center}{}{pgf@bodydiode}{\pgfusepath{fill}}
\else
\pgfnode{emptydiodeshape}{center}{}{pgf@bodydiode}{\pgfusepath{fill}}
@@ -8613,6 +8615,11 @@
\pgf@y=\pgf@circ@res@up\advance\pgf@y by -\pgf@circ@res@right
\fi
}
+ \savedmacro{\tubes@filament@angle}{\edef\tubes@filament@angle{\ctikzvalof{tubes/filament angle}}}
+ \savedmacro{\tubes@filament@distance}{\edef\tubes@filament@distance{\ctikzvalof{tubes/filament distance}}}
+ \savedmacro{\tubes@tube@radius}{\edef\tubes@tube@radius{\ctikzvalof{tubes/tube radius}}}
+ \savedmacro{\tubes@cathode@width}{\edef\tubes@cathode@width{\ctikzvalof{tubes/cathode width}}}
+ \savedmacro{\tubes@cathode@distance}{\edef\tubes@cathode@distance{\ctikzvalof{tubes/cathode distance}}}
\anchor{tube ne}{\tubene}
\anchor{tubesq ne}{\tubesquarene}
% tube shape anchors: geo
@@ -8647,30 +8654,37 @@
\anchor{cathode}{%
\northwest
\pgf@y=-\pgf@y
- \pgf@x=\ctikzvalof{tubes/cathode width}\pgf@x
+ \pgf@x=\tubes@cathode@width\pgf@x
}
\anchor{cathode 1}{%
\northwest
\pgf@y=-\pgf@y
- \pgf@x=\ctikzvalof{tubes/cathode width}\pgf@x
+ \pgf@x=\tubes@cathode@width\pgf@x
}
\anchor{cathode 2}{%
\northwest
\pgf@y=-\pgf@y
- \pgf@x=-\ctikzvalof{tubes/cathode width}\pgf@x
+ \pgf@x=-\tubes@cathode@width\pgf@x
}
\anchor{filament 1}{%
\northwest
- \pgfmathparse{(\ctikzvalof{tubes/tube radius}*sin(\ctikzvalof{tubes/filament angle})}
+ \pgfmathparse{(\tubes@tube@radius*sin(\tubes@filament@angle)}
\pgf@x=\pgfmathresult\pgf@x
\pgf@y=-\pgf@y
}
\anchor{filament 2}{%
\northwest
- \pgfmathparse{(\ctikzvalof{tubes/tube radius}*sin(\ctikzvalof{tubes/filament angle})}
+ \pgfmathparse{(\tubes@tube@radius*sin(\tubes@filament@angle)}
\pgf@x=-\pgfmathresult\pgf@x
\pgf@y=-\pgf@y
}
+ \anchor{filament center}{%
+ \northwest
+ \pgf@ya=0.5\pgf@y
+ \pgf@ya=-\tubes@cathode@distance\pgf@y
+ \advance\pgf@ya by -\tubes@filament@distance\pgf@y
+ \pgf@x=0pt\pgf@y=\pgf@ya
+ }
% Extra anchors
#2%
diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty
index 7f3827b207b..61d4f2d20c2 100644
--- a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty
+++ b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty
@@ -6,7 +6,7 @@
%%
%% lt3luabridge.dtx (with options: `latex-package')
%%
-%% Copyright (C) 2016-2024 Vít Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -45,8 +45,8 @@
\RequirePackage{expl3}
\ProvidesExplPackage
{lt3luabridge}%
- {2024-02-14}%
- {2.1.0}%
+ {2024-07-03}%
+ {2.2.0}%
{An expl3 package that allows you to execute Lua code in LuaTeX or any other
TeX engine that exposes the shell}
\input lt3luabridge\relax
diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex
index 256456220e0..26d3dc6a0b9 100644
--- a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex
+++ b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex
@@ -6,7 +6,7 @@
%%
%% lt3luabridge.dtx (with options: `generic-package')
%%
-%% Copyright (C) 2016-2024 Vít Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -117,9 +117,34 @@
=
{ \c_luabridge_method_shell_int }
{
- \str_const:Nn
- \c_luabridge_default_output_dirname_str
- { . }
+ \sys_if_platform_unix:TF
+ {
+ \str_const:Nn
+ \c_luabridge_default_output_dirname_str
+ { $TEXMF_OUTPUT_DIRECTORY }
+ }
+ {
+ \sys_if_platform_windows:TF
+ {
+ \str_set:Nn
+ \l_tmpa_str
+ { TEXMF_OUTPUT_DIRECTORY }
+ \str_put_left:NV
+ \l_tmpa_str
+ \c_percent_str
+ \str_put_right:NV
+ \l_tmpa_str
+ \c_percent_str
+ \str_const:NV
+ \c_luabridge_default_output_dirname_str
+ \l_tmpa_str
+ }
+ {
+ \str_const:Nn
+ \c_luabridge_default_output_dirname_str
+ { . }
+ }
+ }
\str_const:Nx
\c_luabridge_default_helper_script_filename_str
{ \jobname.luabridge.lua }
@@ -207,9 +232,37 @@
\g_luabridge_helper_script_filename_str
\sys_get_shell:xnNTF
{
- texlua~
- \g_luabridge_output_dirname_str /
- \g_luabridge_helper_script_filename_str
+ \str_if_eq:NNTF
+ \g_luabridge_output_dirname_str
+ \c_luabridge_default_output_dirname_str
+ {
+ \sys_if_platform_windows:TF
+ {
+ if~not~defined~TEXMF_OUTPUT_DIRECTORY~(
+ texlua~
+ \g_luabridge_helper_script_filename_str
+ )~else~(
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ )
+ }
+ {
+ \sys_if_platform_unix:T
+ {
+ TEXMF_OUTPUT_DIRECTORY =
+ ${TEXMF_OUTPUT_DIRECTORY:-.} \iow_newline:
+ }
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ }
+ }
+ {
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ }
}
{ }
#1
diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex b/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex
index ac4eed7372b..35e6ab1e8ab 100644
--- a/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex
+++ b/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex
@@ -6,7 +6,7 @@
%%
%% lt3luabridge.dtx (with options: `context-package')
%%
-%% Copyright (C) 2016-2024 Vít Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/generic/markdown/markdown.tex b/Master/texmf-dist/tex/generic/markdown/markdown.tex
index 6616a6ec98f..14950fd64fa 100644
--- a/Master/texmf-dist/tex/generic/markdown/markdown.tex
+++ b/Master/texmf-dist/tex/generic/markdown/markdown.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `tex')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -329,6 +329,14 @@
{ boolean }
{ true }
\__markdown_add_lua_option:nnn
+ { unicodeNormalization }
+ { boolean }
+ { true }
+\__markdown_add_lua_option:nnn
+ { unicodeNormalizationForm }
+ { string }
+ { nfc }
+\__markdown_add_lua_option:nnn
{ cacheDir }
{ path }
{ \markdownOptionOutputDir / _markdown_\jobname }
@@ -572,8 +580,8 @@
{ boolean }
{ true }
\ExplSyntaxOff
-\def\markdownLastModified{2024-04-29}%
-\def\markdownVersion{3.5.0-0-gfd01a252}%
+\def\markdownLastModified{2024-07-14}%
+\def\markdownVersion{3.6.2-0-g6c30af7e}%
\let\markdownBegin\relax
\let\markdownEnd\relax
\let\markinline\relax
@@ -656,38 +664,10 @@
{ inputTempFileName }
{ path }
{ \jobname.markdown.in }
-\cs_generate_variant:Nn
- \__markdown_add_plain_tex_option:nnn
- { nnV }
-\ExplSyntaxOff
-\input lt3luabridge.tex
-\ExplSyntaxOn
-\bool_if:nTF
- {
- \cs_if_exist_p:N
- \luabridge_tl_set:Nn &&
- (
- \int_compare_p:nNn
- { \g_luabridge_method_int }
- =
- { \c_luabridge_method_directlua_int } ||
- \sys_if_shell_unrestricted_p:
- )
- }
- {
- \luabridge_tl_set:Nn
- \l_tmpa_tl
- { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") }
- }
- {
- \tl_set:Nn
- \l_tmpa_tl
- { . }
- }
-\__markdown_add_plain_tex_option:nnV
+\__markdown_add_plain_tex_option:nnn
{ outputDir }
{ path }
- \l_tmpa_tl
+ { . }
\__markdown_add_plain_tex_option:nnn
{ plain }
{ boolean }
@@ -732,18 +712,60 @@
\cs_new:Nn
\__markdown_define_option_command:n
{
- \__markdown_option_tl_to_csname:nN
+ \str_if_eq:nnTF
{ #1 }
- \l_tmpa_tl
- \cs_if_exist:cF
- { \l_tmpa_tl }
+ { outputDir }
+ { \__markdown_define_option_command_output_dir: }
{
- \__markdown_get_default_option_value:nN
- { #1 }
- \l_tmpa_tl
- \__markdown_set_option_value:nV
+ \__markdown_option_tl_to_csname:nN
{ #1 }
\l_tmpa_tl
+ \cs_if_exist:cF
+ { \l_tmpa_tl }
+ {
+ \__markdown_get_default_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \__markdown_set_option_value:nV
+ { #1 }
+ \l_tmpa_tl
+ }
+ }
+ }
+\ExplSyntaxOff
+\input lt3luabridge.tex
+\ExplSyntaxOn
+\cs_new:Nn
+ \__markdown_define_option_command_output_dir:
+ {
+ \cs_if_free:NT
+ \markdownOptionOutputDir
+ {
+ \bool_if:nTF
+ {
+ \cs_if_exist_p:N
+ \luabridge_tl_set:Nn &&
+ (
+ \int_compare_p:nNn
+ { \g_luabridge_method_int }
+ =
+ { \c_luabridge_method_directlua_int } ||
+ \sys_if_shell_unrestricted_p:
+ )
+ }
+ {
+ \luabridge_tl_set:Nn
+ \l_tmpa_tl
+ { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") }
+ \tl_gset:NV
+ \markdownOptionOutputDir
+ \l_tmpa_tl
+ }
+ {
+ \tl_gset:Nn
+ \markdownOptionOutputDir
+ { . }
+ }
}
}
\cs_new:Nn
@@ -3311,6 +3333,9 @@
}
}
}
+ \str_gset:NV
+ \g_luabridge_output_dirname_str
+ \markdownOptionOutputDir
\luabridge_now:e
{ #1 }
}
@@ -3403,12 +3428,37 @@
{ markinline-peek-failure }
{ Use~of~\iow_char:N \\ markinline~doesn't~match~its~definition }
{ The~macro~should~be~followed~by~inline~markdown~text~in~curly~braces }
+\cs_new:Npn
+ \markdownInput
+ #1
+ {
+ \file_get_full_name:nNTF
+ { #1 }
+ \l_tmpa_tl
+ {
+ \exp_args:NV
+ \markdownInputRaw
+ \l_tmpa_tl
+ }
+ {
+ \msg_error:nnnV
+ { markdown }
+ { markdown-file-does-not-exist }
+ { #1 }
+ }
+ }
+\msg_new:nnn
+ { markdown }
+ { markdown-file-does-not-exist }
+ {
+ Markdown~file~#1~does~not~exist
+ }
\ExplSyntaxOff
\begingroup
\catcode`|=0%
\catcode`\\=12%
\catcode`|&=6%
- |gdef|markdownInput#1{%
+ |gdef|markdownInputRaw#1{%
|begingroup
|catcode`|%=12
|catcode`|#=12
diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
index dc8a90917f6..43f342936e8 100644
--- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
+++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-markdown-defaults-tex')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex
index 90d34446f00..dd00c00f7f4 100644
--- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex
+++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-tilde')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
index 1c653b37709..2ff137b0a8c 100644
--- a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
+++ b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
@@ -5,8 +5,8 @@
%%
%% Package `pst-diffraction.tex'
%%
-%% Manuel Luque <ml@pstricks.de>
-%% Herbert Voss <hv@pstricks.de>
+%% Manuel Luque <ml@texnik.de>
+%% Herbert Voss <hvoss@tug.org>
%%
%% with contributions of Julien Cubizolles
%%
@@ -21,12 +21,12 @@
\csname PSTDiffractionLoaded\endcsname
\let\PSTDiffractionLoaded\endinput
% Require PSTricks
-\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTricksLoaded\endinput\else \input pstricks.tex\fi
\ifx\PSTThreeDplotLoaded\endinput\else\input pst-3dplot.tex\fi
-\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi
%
-\def\fileversion{2.03}%
-\def\filedate{2008/09/03}%
+\def\fileversion{2.06a}
+\def\filedate{2024/07/15}
\message{`PST-diffraction v\fileversion, \filedate\space (ML,hv)}%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
\pst@addfams{pst-diff}
@@ -40,7 +40,7 @@
\define@key[psset]{pst-diff}{s}{\def\psk@Diffraction@Slit@s{#1 }} % distance entre les fentes
\define@key[psset]{pst-diff}{lambda}{\pst@checknum{#1}\psk@Diffraction@Slit@Lambda }% en nm
\define@key[psset]{pst-diff}{f}{\pst@checknum{#1}\psk@Diffraction@Slit@F }% focus en m
-\define@key[psset]{pst-diff}{gamma}{\pst@checknum{#1}\psk@Diffraction@gamma@G }
+%\define@key[psset]{pst-diff}{gamma}{\pst@checknum{#1}\psk@Diffraction@gamma@G }
\define@key[psset]{pst-diff}{pixel}{\pst@checknum{#1}\psk@Diffraction@Slit@pixel }
\define@key[psset]{pst-diff}{colorMode}{\pst@getint{#1}\psk@Diffraction@colorMode }
% 0 black and white inverse
@@ -65,7 +65,8 @@
\psset[pst-diff]{a=0.2e-3,f=5,k=1,r=1e-3,
d=6e-3,s=12e-3,h=0.5e-3,
lambda=650,pixel=0.5,
- contrast=38,gamma=0.8,twoHole=false,twoSlit=false,colorMode=3, scale=1,
+ contrast=38,%gamma=0.8,
+ twoHole=false,twoSlit=false,colorMode=3, scale=1,
IIID=false, showFunc=false}
%
% load the pstricks-add.pro only, if not already done
@@ -82,7 +83,7 @@
/focus \psk@Diffraction@Slit@F def
/widthSlit \psk@Diffraction@Slit@A def
/heightSlit \psk@Diffraction@Slit@k widthSlit mul def
- /Gamma \psk@Diffraction@gamma@G def
+ %/Gamma \psk@Diffraction@gamma@G def
/pixel \psk@Diffraction@Slit@pixel def
/SlitSeparation \psk@Diffraction@Slit@s def
\psk@Diffraction@Slit@Lambda tx@addDict begin wavelengthToRGB Red Green Blue end
@@ -94,7 +95,7 @@
/bornexpt 1 widthSlit div focus mul ondeLongueur mul 2845 mul def
/borneypt 1 heightSlit div focus mul ondeLongueur mul 2845 mul def
\ifPst@Diffraction@IIID
- \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
+ \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
tx@3DPlotDict begin \IIIDplot@variables end
\fi
% Les calculs commencent...
@@ -162,7 +163,7 @@
\addto@pscode{%
% les dimensions sont en mtres
/focus \psk@Diffraction@Slit@F def
- /Gamma \psk@Diffraction@gamma@G def
+ %/Gamma \psk@Diffraction@gamma@G def
/pixel \psk@Diffraction@Slit@pixel def
/contrast 1e\psk@Diffraction@Slit@contrast def
/r \psk@Diffraction@Circular@r def
@@ -170,7 +171,7 @@
\psk@Diffraction@Slit@Lambda tx@addDict begin wavelengthToRGB Red Green Blue end
/Blue ED /Green ED /Red ED
\ifPst@Diffraction@IIID
- \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
+ \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
tx@3DPlotDict begin \IIIDplot@variables end
\fi
% 0 0 translate
@@ -253,7 +254,8 @@
/y { yPts 2845 div } bind def
/R { x dup mul y dup mul add sqrt } bind def % R en m
/m Coeff R mul def
- 1 1e38 m J1Card Facteur x mul cos dup mul mul neg exp sub
+ % 1 1e38 m J1Card Facteur x mul cos dup mul mul neg exp sub
+ 1 contrast m J1Card Facteur x mul cos dup mul mul neg exp sub % fix by Keno Wehr
dup /intensity ED
dup dup
Red mul 3 -1 roll
@@ -283,7 +285,7 @@
\ifPst@Diffraction@IIID \else
newpath
R_limite neg %1.5 mul
- cm dup moveto
+ cm dup moveto
R_limite 2 mul cm 0 rlineto
0 R_limite 2 mul cm rlineto
R_limite neg 2 mul cm 0 rlineto
@@ -294,7 +296,8 @@
R_limite -0.001 0 {
/Radius exch def
/m Coeff Radius 0.01 mul mul def
- 1 1e38 m J1Card neg exp sub
+% 1 1e38 m J1Card neg exp sub
+ 1 contrast m J1Card neg exp sub % fix by keno wehr
dup /intensity ED
dup dup
Red mul 3 -1 roll % R
@@ -396,7 +399,7 @@
% les dimensions sont en mtres
/f \psk@Diffraction@Slit@F def
/h \psk@Diffraction@Triangle@h def
- /Gamma \psk@Diffraction@gamma@G def
+ %/Gamma \psk@Diffraction@gamma@G def
/L { \psk@Diffraction@Slit@Lambda 1e-9 mul} bind def % longueur d'onde en m
/pixel \psk@Diffraction@Slit@pixel def
/k { TwoPi f L mul div } bind def
@@ -408,7 +411,7 @@
/bornexpt 1 h div f mul L mul 2845 mul def
/borneypt 1 h div f mul L mul 2845 mul def
\ifPst@Diffraction@IIID
- \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
+ \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
tx@3DPlotDict begin \IIIDplot@variables end
\fi
/P {
diff --git a/Master/texmf-dist/tex/generic/pst-node/pst-node.tex b/Master/texmf-dist/tex/generic/pst-node/pst-node.tex
index ed3ef60a4b5..a653d76eeac 100644
--- a/Master/texmf-dist/tex/generic/pst-node/pst-node.tex
+++ b/Master/texmf-dist/tex/generic/pst-node/pst-node.tex
@@ -1,4 +1,4 @@
-% $Id: pst-node.tex 438 2022-01-31 17:45:26Z herbert $
+% $Id: pst-node.tex 918 2024-07-10 17:41:55Z herbert $
%%
%% BEGIN pst-node.tex
%%
@@ -18,8 +18,8 @@
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi\relax
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
%
-\def\fileversion{1.43}
-\def\filedate{2022/01/31}
+\def\fileversion{1.45}
+\def\filedate{2024/07/10}
\message{ v\fileversion, \filedate}
%
\edef\TheAtCode{\the\catcode`\@}
@@ -1386,8 +1386,8 @@ tx@NodeDict \pst@tempg known
/dy YB YA sub def
/angle dy dx Atan def
/linelength \pst@number\pst@dimb \pst@number\psunit div def
- XA linelength angle cos mul add YA linelength angle sin mul add ){#4}%
-}
+ XA linelength angle cos mul add YA linelength angle sin mul add ){#4}}
+%
\def\psRelNode{\pst@object{psRelNode}}
\def\psRelNode@i(#1)(#2)#3#4{{% A - B - factor - node name
\use@par
@@ -1402,10 +1402,10 @@ tx@NodeDict \pst@tempg known
/AlphaStrich \psk@angleA\space def
/unit \pst@number\psyunit \pst@number\psxunit div def % yunit/xunit
%
- /dx XB XA sub def
- /dy YB YA sub \ifPst@trueAngle\space unit mul \fi\space def
- /laenge dy dup mul dx dup mul add sqrt #3 mul def
- /Alpha dy dx atan def
+ /dx__ XB XA sub def
+ /dy__ YB YA sub \ifPst@trueAngle\space unit mul \fi\space def
+ /laenge dy__ dup mul dx__ dup mul add sqrt #3 mul def
+ /Alpha dy__ dx__ atan def
/beta Alpha AlphaStrich add def
laenge beta cos mul XA add
laenge beta sin mul \ifPst@trueAngle\space unit div \fi\space YA add ){#4}%
@@ -1537,8 +1537,7 @@ tx@NodeDict \pst@tempg known
\def\trim@ #1{\trim@@ @#1 @ #1 @ @@}%
\def\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}%
\def\unbrace#1{#1}%
-\unbrace{\def\trim@@@ #1 } #2@#3{\expandafter\def%
- \expandafter #3\expandafter {#1}}%
+\unbrace{\def\trim@@@ #1 } #2@#3{\expandafter\def\expandafter #3\expandafter {#1}}%
%
\def\hasparen#1(#2\@nil{%check if expression contains a (--call with \hasparen#1(\@nil
\ifx\relax#2\relax \@parenfalse \else \@parentrue\fi}%
@@ -1577,23 +1576,28 @@ tx@NodeDict \pst@tempg known
\expandafter\testAlg\my@tempA|\@nil\my@next {#1}{#2}{#3}}
%
\def\psparnode#1#2#3{%
-% #1=t value, #2=x(t) y(t) in PS form,#3=node name,
- \pnode(!/t #1 def #2){#3}%
- \pnode(!/t #1 .001 sub def #2
- /t #1 .001 add def
- #2 3 -1 roll sub 3 1 roll sub neg
- 2 copy Pyth dup 3 1 roll div 3 1 roll div ){#3tang}}%unit tangent vector at t
+ % #1=t value, #2=x(t) y(t) in PS form, #3=node name,
+ % also returns unit tangent vector at t with node #3tang
+ \pnode(! /t #1 def #2){#3}%
+ \pnode(! /t #1 dup abs 1 lt {0.001 sub} {dup 0 gt {0.999} {1.001} ifelse mul} ifelse def
+ #2
+ /t #1 dup abs 1 lt {0.001 add} {dup 0 lt {0.999} {1.001} ifelse mul} ifelse def
+ #2
+ 3 -1 roll sub 3 1 roll exch sub 2 copy exch dup mul exch dup mul add sqrt
+ dup 3 1 roll div 3 1 roll div){#3tang}% unit tangent vector at t
+}%
%
\def\algparnode#1#2#3{%
-% #1=t value, #2=x(t) | y(t) in alg form,#3=node name,
-%\pstVerb{tx@Dict begin /t #1 def /Func (#2) AlgParser cvx def end}
-%\pnode(!Func){#3}}%
- \pstVerb{tx@Dict begin /Func (#2) AlgParser cvx def end }
- \pnode(!/t #1 def Func){#3}
- \pnode(!/t #1 .001 sub def Func
- /t #1 .001 add def
- Func 3 -1 roll sub 3 1 roll sub neg
- 2 copy Pyth dup 3 1 roll div 3 1 roll div ){#3tang}%unit tangent vector at t
+% #1=t value, #2=x(t) | y(t) in alg form, #3=node name,
+% also returns unit tangent vector at t with node #3tang
+ \pstVerb{tx@Dict begin /Func (#2) AlgParser cvx def end }%
+ \pnode(! /t #1 def Func){#3}%
+ \pnode(! /t #1 dup abs 1 lt {0.001 sub} {dup 0 gt {0.999} {1.001} ifelse mul} ifelse def
+ Func
+ /t #1 dup abs 1 lt {0.001 add}{dup 0 lt {0.999} {1.001} ifelse mul } ifelse def
+ Func
+ 3 -1 roll sub 3 1 roll exch sub 2 copy exch dup mul exch dup mul add sqrt
+ dup 3 1 roll div 3 1 roll div){#3tang}% unit tangent vector at t
}%
%
\def\nodex#1{%
@@ -1634,8 +1638,7 @@ tx@NodeDict \pst@tempg known
\nodexn{#3}{@TMP@a}%
\AplusB(#1)(@TMP@a){@TMP@B}%
\psline(@TMP@A)(@TMP@B)%
-}%
-\ignorespaces}%
+}\ignorespaces}%
%
\def\curvepnodes{\pst@object{curvepnodes}}
\def\curvepnodes@i#1#2#3#4{{%optional [plotpoints=xx]
@@ -1685,7 +1688,7 @@ tx@NodeDict \pst@tempg known
\else
\multido{\i=0+1}{\pst@cntc}{\pnode(!/x \pst@number\pst@dima\space def x #3){#4\i}%
\advance\pst@dima \pst@dimb}%
-\fi%
+\fi
\expandafter\xdef \csname \PST@root nodecount\endcsname {\the\pst@cnta}%
\ifnum\Pst@Debug>0 \typeout{Created nodes #40 .. #4\the\pst@cnta}\fi%
}\ignorespaces}%
diff --git a/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex b/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex
index f145993fc6e..0c06f849b33 100644
--- a/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex
+++ b/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex
@@ -1,4 +1,4 @@
-%%%% $Id: pst-optic.tex 896 2024-05-17 10:13:27Z herbert $
+%%%% $Id: pst-optic.tex 903 2024-06-02 06:16:43Z herbert $
%% This is file `pst-optic.tex',
%%
%% IMPORTANT NOTICE:
@@ -8,7 +8,7 @@
%% Manuel Luque <Mluque5130@aol.com> (France)
%% Herbert Voss <hvoss@tug.org> (Germany)
%%
-%% 2024-05-17
+%% 2024-06-02
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -30,8 +30,8 @@
\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey\fi
%
-\def\fileversion{1.03}
-\def\filedate{2024/05/17}
+\def\fileversion{1.04}
+\def\filedate{2024/06/02}
\message{`PST-Optic' v\fileversion, \filedate\space (Manuel Luque and Herbert Voss)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -798,13 +798,19 @@
\begingroup%
\ifPst@lensGlass
\rput(! XO YO){%
- \ifx\psk@optic@lensType\lensTypeCVG\lensCVG%
- \else\ifx\psk@optic@lensType\lensTypePCVG\lensCVG
- \else\lensDVG\fi\fi}%
- \else%
- \ifx\psk@optic@lensType\lensTypeDVG\psset{arrows=>-<}\else
- \ifx\psk@optic@lensType\lensTypePDVG\psset{arrows=>-<}\else\psset{arrows=<->}
- \fi\fi
+ \ifx\psk@optic@lensType\lensTypeCVG \lensCVG%
+ \else\ifx\psk@optic@lensType\lensTypePCVG \lensCVG
+ \else\lensDVG
+ \fi\fi}%
+ \else
+ \ifx\psk@optic@lensType\lensTypeDVG
+ \psset{arrows=>-<}
+ \else
+ \ifx\psk@optic@lensType\lensTypePDVG
+ \psset{arrows=>-<}%
+ \else
+ \psset{arrows=<->}%
+ \fi\fi
\psline[linecolor=\psk@optic@lensColor,
linewidth=\psk@optic@lensWidth,arrowsize=\psk@optic@lensArrowSize,
arrowinset=\psk@optic@lensArrowInset]%
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
index 2f87e9895e8..66b00657b99 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
@@ -88,8 +88,8 @@
\let\pgfforeach\foreach
%
-\def\fileversion{3.19c}
-\def\filedate{2024/02/02}
+\def\fileversion{3.20}
+\def\filedate{2024/07/09}
\pst@addfams{pstricks}
%
%\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
@@ -2609,13 +2609,13 @@
\AltClipMode
\fi
-\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}}
+\def\psclipbox{\@ifnextchar[{\psclipbox@}{\psclipbox@[\z@]}}
% DG modification begin - Apr. 3, 1997
% From paulus@immd5.informatik.uni-erlangen.de (Dietrich Paulus)
%\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}}
-\def\clipbox@[#1]{\pst@makebox{\clipbox@@{#1}}}
+\def\psclipbox@[#1]{\pst@makebox{\psclipbox@@{#1}}}
% DG modification end
-\def\clipbox@@#1{%
+\def\psclipbox@@#1{%
\pssetlength\pst@dimg{#1}%
\leavevmode\hbox{%
\begin@psclip%
@@ -4119,10 +4119,19 @@ pop
\def\pst@picture{\@ifnextchar[{\pst@@picture}{\pst@@picture[]}}
\def\pst@@picture[#1]{\@ifnextchar({\pst@@picture@i[#1]}{\pst@@picture@@i[#1]}}%
\def\pst@@picture@@i[#1]{%
- \gdef\pscoor{(10,10)}%
+ \def\pic@coor{(0,0)(0,0)}%
+% \gdef\pscoor{(10,10)}%
\ifPst@calcframe
\typeout{>>>Check for file \jobname-\the\numexpr\ps@imagectr+1.psaux}%
- \IfFileExists{\jobname-\the\numexpr\ps@imagectr+1.psaux}{\input{\jobname-\the\numexpr\ps@imagectr+1.psaux}}{}%
+ \IfFileExists{\jobname-\the\numexpr\ps@imagectr+1.psaux}
+ {\input{\jobname-\the\numexpr\ps@imagectr+1.psaux}%
+ \xdef\pic@coor{(0,0)\pscoor}%
+ \typeout{----->>\pic@coor}%
+ \typeout{----->>\pscoor}%
+ }
+ {%\gdef\pscoor{(10,10)}
+ %\def\pic@coor{(0,0)(0,0)(10,10)}
+ }%
% \typeout{>>>\pscoor}%
\fi
\edef\@temp{[\noexpand#1]\pscoor}%
@@ -4168,7 +4177,7 @@ pop
\ifPst@pgffunctions\pstVerb{ pgffunctions }\fi% hv 2013-04-17
}
-\def\pic@coor{(0,0)(0,0)(10,10)}
+%\def\pic@coor{(0,0)(0,0)(10,10)}
\def\endpspicture{%
\ifPst@calcframe
\ifPSTlualatex
@@ -4236,7 +4245,7 @@ pop
\advance\pst@dimd\pst@dimb
\lower\pst@dimd\box\pst@hbox
\kern\pst@dimc}%
- \if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi
+ \if@star\setbox\pst@hbox=\hbox{\psclipbox@@\z@}\fi
\leavevmode
\ifPst@draft
\expandafter\ifx\csname @latexerr\endcsname\relax
diff --git a/Master/texmf-dist/tex/generic/scontents/scontents-code.tex b/Master/texmf-dist/tex/generic/scontents/scontents-code.tex
index 01c115c058c..609b1e93d8f 100644
--- a/Master/texmf-dist/tex/generic/scontents/scontents-code.tex
+++ b/Master/texmf-dist/tex/generic/scontents/scontents-code.tex
@@ -6,13 +6,13 @@
%%
%% scontents.dtx (with options: `core')
%%
-%% Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl>
+%% Copyright (C) 2019-2024 by Pablo González L <pablgonz@educarchile.cl>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
%% your option) any later version. The latest version of this license is in
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3c or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
@@ -27,7 +27,7 @@
%% t-scontents.mkiv and
%% scontents-code.tex.
%%
-\def\ScontentsCoreFileDate{2022-04-04}%
+\def\ScontentsCoreFileDate{2024-06-14}%
\begingroup
\catcode32=10
\endlinechar=32
@@ -75,6 +75,7 @@
\tl_new:N \g__scontents_temp_tl
\int_new:N \l__scontents_tmpa_int
\bool_new:N \l__scontents_temp_bool
+\tl_new:N \l__scontents_keys_tl
\keys_define:nn { scontents }
{
store-env .tl_set:N = \l__scontents_name_seq_env_tl,
@@ -112,7 +113,7 @@
\tl_new:N \l__scontents_foreach_before_tl
\tl_new:N \l__scontents_foreach_after_tl
\int_new:N \l__scontents_foreach_stop_int
-\int_new:N \l__scontents_seq_item_int
+\seq_new:N \l__scontents_seq_item_seq
\int_new:N \l__scontents_env_nesting_int
\bool_new:N \l__scontents_writing_bool
\bool_set_false:N \l__scontents_writing_bool
@@ -128,10 +129,17 @@
\bool_new:N \l__scontents_foreach_wrapper_bool
\bool_set_false:N \l__scontents_foreach_wrapper_bool
\seq_new:N \l__scontents_foreach_print_seq
+\seq_new:c { g__scontents_name_sc!internal_seq }
\str_const:Nx \c__scontents_hidden_space_str
{ \c_percent_str \c_circumflex_str \c_circumflex_str A scheol \c_percent_str }
\quark_new:N \q__scontents_stop
\quark_new:N \q__scontents_mark
+\scan_new:N \s__scontents_stop
+\scan_new:N \s__scontents_mark
+\str_new:N \l__scontents_cur_seq_name_str
+\cs_new:Npn \__scontents_use_delimit_by_s_stop:nw #1 \s__scontents_stop {#1}
+\cs_new:Npn \__scontents_use_i_delimit_by_s_stop:nw #1 #2 \s__scontents_stop {#1}
+\cs_new:Npn \__scontents_use_none_delimit_by_s_stop:w #1 \s__scontents_stop { }
\int_new:N \l__scontents_save_sf_int
\skip_new:N \l__scontents_save_skip
\cs_new_protected:Npn \__scontents_rescan_tokens:n #1 { \tex_scantokens:D {#1} }
@@ -141,7 +149,7 @@
\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
\cs_generate_variant:Nn \tl_replace_all:Nnn { Nx, Nxx, Nnx }
\cs_generate_variant:Nn \msg_error:nnnn { nnx }
-\prg_generate_conditional_variant:Nnn \tl_if_empty:n { f } { TF }
+\prg_generate_conditional_variant:Nnn \tl_if_empty:n { f } { p, TF }
\keys_define:nn { scontents / scontents }
{
write-env .code:n = {
@@ -220,10 +228,19 @@
sep .value_required:n = true,
unknown .code:n = { \__scontents_parse_foreach_keys:n {#1} }
}
+\bool_new:N \l__scontents_print_aux_bool
+\bool_set_true:N \l__scontents_print_aux_bool
\keys_define:nn { scontents / typemeaning }
{
- width-tab .meta:nn = { scontents } { width-tab = #1 },
- unknown .code:n = { \__scontents_parse_type_meaning_key:n {#1} }
+ width-tab .meta:nn = { scontents } { width-tab = #1 },
+ write-out .code:n = {
+ \bool_set_false:N \l__scontents_storing_bool
+ \bool_set_true:N \l__scontents_writing_bool
+ \tl_set:Nn \l__scontents_fname_out_tl {#1}
+ },
+ overwrite .meta:nn = { scontents } { overwrite = #1 },
+ overwrite .default:n = true,
+ unknown .code:n = { \__scontents_parse_type_meaning_key:n {#1} }
}
\cs_new_protected:Npn \__scontents_parse_environment_keys:n #1
{ \exp_args:NV \__scontents_parse_environment_keys:nn \l_keys_key_str {#1} }
@@ -253,16 +270,42 @@
{ \exp_args:NV \__scontents_parse_type_meaning_key:nn \l_keys_key_str {#1} }
\cs_new_protected:Npn \__scontents_parse_type_meaning_key:nn #1#2
{
- \tl_if_empty:fTF { \int_to_roman:n { -0 #1 } }
+ \tl_if_blank:nTF {#2}
+ { \__scontents_parse_type_meaning_range:w #1 - \q__scontents_mark - \s__scontents_mark }
+ { \msg_error:nnnn { scontents } { type-key-value-unknown } {#1} {#2} }
+ }
+\cs_new_protected:Npn \__scontents_parse_type_meaning_range:w #1 - #2 - #3 \s__scontents_mark
+ {
+ \__scontents_range_parser:nnxn {#1} {#2}
+ { \seq_count:c { g__scontents_name_\l__scontents_cur_seq_name_str _seq } }
+ { \msg_error:nnn { scontents } { type-key-unknown } }
+ }
+\cs_generate_variant:Nn \__scontents_range_parser:nnnn { nnx }
+\cs_new_protected:Npn \__scontents_range_parser:nnnn #1 #2 #3
+ {
+ \exp_args:Nxx \__scontents_range_parser_aux:nnn
+ { \str_if_eq:nnTF {#1} { end } {#3} { \exp_not:n {#1} } }
+ { \str_if_eq:nnTF {#2} { end } {#3} { \exp_not:n {#2} } }
+ }
+\cs_new_protected:Npn \__scontents_range_parser_aux:nnn #1 #2 #3
+ {
+ \__scontents_tl_if_head_is_q_mark:nTF {#2}
{
- \tl_if_blank:nTF {#2}
- { \int_set:Nn \l__scontents_seq_item_int {#1} }
- { \msg_error:nnnn { scontents } { type-key-value-unknown } {#1} {#2} }
+ \tl_if_empty:fTF { \int_to_roman:n { -0 #1 } }
+ { \seq_put_right:Nx \l__scontents_seq_item_seq { \int_eval:n {#1} } }
+ { #3 {#1} }
}
{
- \tl_if_blank:nTF {#2}
- { \msg_error:nnn { scontents } { type-key-unknown } {#1} }
- { \msg_error:nnnn { scontents } { type-key-value-unknown } {#1} {#2} }
+ \bool_lazy_and:nnTF
+ { \tl_if_empty_p:f { \int_to_roman:n { -0 #1 } } }
+ { \tl_if_empty_p:f { \int_to_roman:n { -0 #2 } } }
+ {
+ \int_compare:nNnTF {#2} > {#1}
+ { \int_step_inline:nnnn {#1} { 1 } {#2} }
+ { \int_step_inline:nnnn {#1} { -1 } {#2} }
+ { \seq_put_right:Nn \l__scontents_seq_item_seq {##1} }
+ }
+ { #3 { #1-#2 } }
}
}
\cs_new_protected:Npn \__scontents_append_contents:nn #1#2
@@ -274,6 +317,19 @@
\seq_gput_right:cn { g__scontents_name_#1_seq } {#2}
}
\cs_generate_variant:Nn \__scontents_append_contents:nn { Vx }
+\cs_new:Npn \__scontents_getfrom_seq:Nn #1#2
+ {
+ \seq_if_exist:cTF { g__scontents_name_#2_seq }
+ {
+ \exp_args:Nf \__scontents_getfrom_seq:nNn
+ { \seq_count:c { g__scontents_name_#2_seq } } #1 {#2}
+ }
+ { \msg_expandable_error:nnn { scontents } { undefined-storage } {#2} }
+ }
+\cs_new:Npn \__scontents_getfrom_seq:nNn #1 #2 #3
+ { \seq_map_tokens:Nn #2 { \__scontents_getfrom_seq_aux:nnn {#1} {#3} } }
+\cs_new:Npn \__scontents_getfrom_seq_aux:nnn #1 #2 #3
+ { \exp_args:Nnf \use:n { \__scontents_getfrom_seq:nnn {#1} } { \int_eval:n {#3} } {#2} }
\cs_new:Npn \__scontents_getfrom_seq:nn #1#2
{
\seq_if_exist:cTF { g__scontents_name_#2_seq }
@@ -736,16 +792,31 @@
}
\cs_new_protected:Npn \__scontents_typestored_internal:nn #1 #2
{
+ \__scontents_bsphack:
\group_begin:
- \int_set:Nn \l__scontents_seq_item_int { 1 }
+ \seq_clear:N \l__scontents_seq_item_seq
+ \str_set:Nx \l__scontents_cur_seq_name_str {#2}
\tl_if_novalue:nF {#1} { \keys_set:nn { scontents / typemeaning } {#1} }
+ \seq_if_empty:NT \l__scontents_seq_item_seq
+ { \seq_set_from_clist:Nn \l__scontents_seq_item_seq { 1 } }
\tl_set:Nx \l__scontents_temp_tl
- { \exp_args:NV \__scontents_getfrom_seq:nn \l__scontents_seq_item_int {#2} }
- \tl_remove_once:NV \l__scontents_temp_tl \c__scontents_hidden_space_str
+ { \__scontents_getfrom_seq:Nn \l__scontents_seq_item_seq {#2} }
+ \__scontents_remove_trailing_eol:N \l__scontents_temp_tl
+ \tl_replace_all:Nxn \l__scontents_temp_tl \c__scontents_hidden_space_str { ^^J }
\tl_log:N \l__scontents_temp_tl
\tl_if_empty:NF \l__scontents_temp_tl
- { \__scontents_verb_print:N \l__scontents_temp_tl }
+ {
+ \bool_if:NT \l__scontents_print_aux_bool
+ {
+ \__scontents_verb_print:N \l__scontents_temp_tl
+ }
+ }
+ \__scontents_file_write_cmd:VV \l__scontents_fname_out_tl \l__scontents_temp_tl
+ \use:x
+ {
\group_end:
+ \bool_if:NF \l__scontents_print_aux_bool { \__scontents_esphack: }
+ }
}
\group_begin:
\char_set_catcode_active:N \^^M
@@ -776,23 +847,109 @@
\char_set_active_eq:nN { 9 } \__scontents_tabs_to_spaces:
\__scontents_xverb:w
}
+\keys_define:nn { scontents / mergesc }
+ {
+ , typestored .code:n =
+ { \cs_set_eq:NN \__scontents_mergesc_output_cmd:nn \__scontents_typestored_internal:nn }
+ , meaningsc .code:n =
+ { \cs_set_eq:NN \__scontents_mergesc_output_cmd:nn \__scontents_meaningsc_internal:nn }
+ }
+\cs_new_protected:Npn \__scontents_mergesc_output_cmd:nn #1 #2
+ { \msg_error:nn { scontents } { mergesc-missing-cmd } }
+\msg_new:nnn { scontents } { mergesc-missing-cmd }
+ { Missing~output~command~for~\iow_char:N\\mergesc~\msg_line_context:. }
+\cs_new_protected:Npn \__scontents_mergesc_internal:nn #1 #2
+ {
+ \group_begin:
+ \tl_clear:N \l__scontents_keys_tl
+ \tl_if_novalue:nF {#1}
+ {
+ % Add print-cmd here :D
+ \keys_define:nn { scontents / typemeaning }
+ {
+ print-cmd .bool_set:N = \l__scontents_print_aux_bool,
+ print-cmd .initial:n = false,
+ print-cmd .default:n = true,
+ }
+ \keys_set_known:nnN { scontents / mergesc } {#1} \l__scontents_keys_tl
+ }
+ \seq_gclear:c { g__scontents_name_sc!internal_seq }
+ \__scontents_mergesc_parse_list:n {#2}
+ \exp_args:Nx \__scontents_mergesc_output_cmd:nn
+ { 1-end, \exp_not:V \l__scontents_keys_tl } { sc!internal }
+ \group_end:
+ }
+\cs_new_protected:Npn \__scontents_mergesc_parse_list:n #1
+ {
+ \clist_map_inline:nn {#1} { \__scontents_parse_mergesc:nw ##1 \s__scontents_stop }
+ \seq_gpop_right:cN { g__scontents_name_sc!internal_seq } \l__scontents_temp_tl
+ \__scontents_remove_trailing_eol:N \l__scontents_temp_tl
+ \seq_gput_right:cV { g__scontents_name_sc!internal_seq } \l__scontents_temp_tl
+ }
+\cs_new_protected:Npx \__scontents_remove_trailing_eol:N #1
+ {
+ \exp_not:N \exp_after:wN \exp_not:N \__scontents_remove_trailing_eol:w
+ #1 \s__scontents_stop \c__scontents_hidden_space_str \s__scontents_stop \s__scontents_mark #1
+ }
+\use:e
+ {
+ \cs_new_protected:Npn \exp_not:N \__scontents_remove_trailing_eol:w #1
+ \c__scontents_hidden_space_str \s__scontents_stop #2 \s__scontents_mark #3
+ } {
+ \tl_set:Nx #3
+ {
+ \tl_if_empty:nTF {#2}
+ { \exp_not:o { \__scontents_use_delimit_by_s_stop:nw #1 } }
+ { \exp_not:n {#1} }
+ }
+ }
+\cs_new_protected:Npn \__scontents_parse_mergesc:nw #1
+ {
+ \peek_charcode_ignore_spaces:NTF [ % ]
+ { \__scontents_parse_mergesc_aux:nw {#1} }
+ { \__scontents_parse_mergesc_aux:nw {#1} [ 1-\seq_count:c { g__scontents_name_#1_seq } ] }
+ }
+\cs_new_protected:Npn \__scontents_parse_mergesc_aux:nw #1 [#2]
+ {
+ \seq_clear:N \l__scontents_seq_item_seq
+ \clist_map_inline:nn {#2}
+ { \__scontents_parse_mergesc_range:nw {#1} ##1 - \q__scontents_mark - \s__scontents_mark }
+ \seq_map_inline:Nn \l__scontents_seq_item_seq
+ {
+ \seq_gput_right:cx { g__scontents_name_sc!internal_seq }
+ { \seq_item:cn { g__scontents_name_#1_seq } {##1} }
+ }
+ \__scontents_use_none_delimit_by_s_stop:w
+ }
+\cs_new_protected:Npn \__scontents_parse_mergesc_range:nw #1 #2 - #3 - #4 \s__scontents_mark
+ {
+ \cs_set_protected:Npn \__scontents_tmp:w ##1
+ {
+ \msg_error:nnxxx { scontents } { index-out-of-range }
+ {##1} {#1} { \seq_count:c { g__scontents_name_#1_seq } }
+ }
+ \__scontents_range_parser:nnxn {#2} {#3}
+ { \seq_count:c { g__scontents_name_#1_seq } }
+ { \__scontents_tmp:w }
+ }
\cs_new:Npn \__scontents_tabs_to_spaces:
{ \prg_replicate:nn { \l__scontents_tab_width_int } { ~ } }
-\cs_new:Npn \__scontents_do_noligs:N #1
+\cs_new_protected:Npn \__scontents_do_noligs:N #1
{
\char_set_catcode_active:N #1
- \char_set_active_eq:Nc #1 { __scontents_active_char_ \token_to_str:N #1 : }
\cs_set:cpx { __scontents_active_char_ \token_to_str:N #1 : }
{
\mode_leave_vertical:
\tex_kern:D \c_zero_dim
- \char_generate:nn { `#1 } { 12 }
+ \tex_char:D `\exp_not:N #1
}
+ \char_set_active_eq:Nc #1 { __scontents_active_char_ \token_to_str:N #1 : }
}
\prg_new_protected_conditional:Npnn \__scontents_tl_if_head_is_q_mark:n #1
{ T, F, TF }
{
- \if_meaning:w \q__scontents_mark #1 \scan_stop:
+ \exp_after:wN \if_meaning:w
+ \exp_after:wN \q__scontents_mark \__scontents_use_i_delimit_by_s_stop:nw #1 ? \s__scontents_stop
\prg_return_true:
\else:
\prg_return_false:
@@ -816,8 +973,11 @@
\cs_new_protected:Npn \__scontents_meaningsc_internal:nn #1 #2
{
\group_begin:
- \int_set:Nn \l__scontents_seq_item_int { 1 }
+ \seq_clear:N \l__scontents_seq_item_seq
+ \str_set:Nx \l__scontents_cur_seq_name_str {#2}
\tl_if_novalue:nF {#1} { \keys_set:nn { scontents / typemeaning } {#1} }
+ \seq_if_empty:NT \l__scontents_seq_item_seq
+ { \seq_set_from_clist:Nn \l__scontents_seq_item_seq { 1 } }
\__scontents_meaningsc:n {#2}
\group_end:
}
@@ -826,9 +986,9 @@
\cs_new_protected:Npn \__scontents_meaningsc:n #1
{
\tl_set:Nx \l__scontents_temp_tl
- { \exp_args:NV \__scontents_getfrom_seq:nn \l__scontents_seq_item_int {#1} }
+ { \__scontents_getfrom_seq:Nn \l__scontents_seq_item_seq {#1} }
\tl_replace_all:Nxn \l__scontents_temp_tl { \iow_char:N \^^J } { ~ }
- \tl_remove_once:NV \l__scontents_temp_tl \c__scontents_hidden_space_str
+ \tl_replace_all:Nxn \l__scontents_temp_tl \c__scontents_hidden_space_str { ~ }
\tl_log:N \l__scontents_temp_tl
\tl_use:N \l__scontents_verb_font_tl
\tl_replace_all:Nnx \l__scontents_temp_tl { ^^I } { \__scontents_tabs_to_spaces: }
diff --git a/Master/texmf-dist/tex/generic/scontents/scontents.tex b/Master/texmf-dist/tex/generic/scontents/scontents.tex
index 333f195ab95..848c9a6ccda 100644
--- a/Master/texmf-dist/tex/generic/scontents/scontents.tex
+++ b/Master/texmf-dist/tex/generic/scontents/scontents.tex
@@ -6,13 +6,13 @@
%%
%% scontents.dtx (with options: `loader,plain')
%%
-%% Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl>
+%% Copyright (C) 2019-2024 by Pablo González L <pablgonz@educarchile.cl>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
%% your option) any later version. The latest version of this license is in
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3c or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
@@ -27,8 +27,8 @@
%% t-scontents.mkiv and
%% scontents-code.tex.
%%
-\def\ScontentsFileDate{2022-04-04}%
-\def\ScontentsFileVersion{2.0}%
+\def\ScontentsFileDate{2024-06-14}%
+\def\ScontentsFileVersion{2.1}%
\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
\input expl3-generic.tex
\ExplSyntaxOn
@@ -148,6 +148,8 @@
{ \__scontents_foreachsc_internal:nn {#1} {#2} }
\NewDocumentCommand \typestored { o m }
{ \__scontents_typestored_internal:nn {#1} {#2} }
+\NewDocumentCommand \mergesc { o m }
+ { \__scontents_mergesc_internal:nn {#1} {#2} }
\use:x
{
\cs_new_protected:Npn \exp_not:N \__scontents_xverb:w
@@ -172,7 +174,7 @@
\NewExpandableDocumentCommand \countsc { m }
{ \seq_count:c { g__scontents_name_#1_seq } }
\NewDocumentCommand \cleanseqsc { m }
- { \seq_clear_new:c { g__scontents_name_#1_seq } }
+ { \seq_gclear_new:c { g__scontents_name_#1_seq } }
\ExplSyntaxOff
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht b/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht
index 00ef03af65d..e597c71d11a 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht
@@ -1,6 +1,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% arydshln.4ht (2022-03-21-13:43), generated from tex4ht-4ht.tex
-% Copyright 2022 TeX Users Group
+% arydshln.4ht (2024-06-23-13:56), generated from tex4ht-4ht.tex
+% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -17,12 +17,13 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-03-21-13:43}
+\immediate\write-1{version 2024-06-23-13:56}
% this is a copy of code that arydshln inserts to \@array
\def\:new:array{\adl@everyvbox\everyvbox
\everyvbox{\adl@arrayinit \the\adl@everyvbox \everyvbox\adl@everyvbox}%
- \ifadl@inactive \adl@inactivate \else \adl@activate \fi
+ % this line may lead to errors if the document uses Colortbl:
+ % \ifadl@inactive \adl@inactivate \else \adl@activate \fi
\let\adl@noalign\noalign}
\ifcsname n:@array:\endcsname% if \@array was already patched by TeX4ht
\let\orig:n@array\n:@array:
diff --git a/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht
index 9eb1b02a232..dc4dcfb0753 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht
@@ -1,5 +1,5 @@
% babel-sty-hooks.4ht, generated from tex4ht-4ht.tex
-% Copyright 2022 TeX Users Group
+% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-11-21-13:02}
+\immediate\write-1{version 2024-06-20-13:26}
\ifdefined\recall:sup
\recall:sup
@@ -25,7 +25,7 @@
}
\fi
-\NewDocumentCommand\:babelfont{o m o m}{}
+\ProvideDocumentCommand\:babelfont{o m o m}{}
\:AtEndOfPackage{%
% disable \babelfont
diff --git a/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht b/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht
index 9bb9f9438bf..7f0f40d4b48 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht
@@ -1,5 +1,5 @@
-% fontawesome5.4ht (2021-05-06-14:39), generated from tex4ht-4ht.tex
-% Copyright 2021 TeX Users Group
+% fontawesome5.4ht (2024-07-03-13:28), generated from tex4ht-4ht.tex
+% Copyright 2021-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,18 +16,19 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2021-05-06-14:39}
+\immediate\write-1{version 2024-07-03-13:28}
\NewConfigure{fontawesome}{2}
\ExplSyntaxOn
\cs_new_protected:Nn\temp:nn{%
+\def\:fontawesomeicon{#2}% to be used in the alt text
\a:fontawesome%
\o:fontawesome_use_icon:nn:{#1}{#2}
\b:fontawesome}
\HLet\fontawesome_use_icon:nn\temp:nn
\ExplSyntaxOff
-\Configure{fontawesome}{\Picture+{}}{\EndPicture}
+\Configure{fontawesome}{\Picture+[icon: \:fontawesomeicon]{}}{\EndPicture}
\Hinput{fontawesome5}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/footmisc.4ht b/Master/texmf-dist/tex/generic/tex4ht/footmisc.4ht
index 5cc0deff423..1d4373eb02f 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/footmisc.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/footmisc.4ht
@@ -1,5 +1,5 @@
-% footmisc.4ht (2019-12-23-13:36), generated from tex4ht-4ht.tex
-% Copyright 2019 TeX Users Group
+% footmisc.4ht (2024-06-20-13:26), generated from tex4ht-4ht.tex
+% Copyright 2019-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,8 +16,21 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2019-12-23-13:36}
+\immediate\write-1{version 2024-06-20-13:26}
+\newcounter{:footnotes}
+
+\def\FNnum{\the\:footnotes}
+
+\HRestore\footnote
+
+\def\:tempc{%
+ \HAssign\FNnum = \csname c@:footnotes\endcsname%
+ \stepcounter{:footnotes}%
+ \HAdvance\FNnum by 1%
+ \o:footnote:%
+}
+\HLet\footnote=\:tempc
\long\def\@footnotetext#1{\leavevmode
\vbox{%\IgnorePar
@@ -37,6 +50,7 @@
\color@endgroup
\ht:special{t4ht@[}}\ht:special{t4ht@]}}
+
% detect if the symbol or symbol* option were used
% we can detect that by testing of \thefootnote macro
@@ -54,6 +68,8 @@
\fi
\fi
+
+
\Hinput{footmisc}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/html4.4ht b/Master/texmf-dist/tex/generic/tex4ht/html4.4ht
index 3edca5542ed..f7a5e989afd 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/html4.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/html4.4ht
@@ -1,4 +1,4 @@
-% html4.4ht (2024-05-13-13:22), generated from tex4ht-html4.tex
+% html4.4ht (2024-07-06-13:59), generated from tex4ht-html4.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 1997-2009 Eitan M. Gurari
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-13-13:22}
+\immediate\write-1{version 2024-07-06-13:59}
\exit:ifnot{8859-6,%
CJK,%
@@ -135,6 +135,7 @@ hyperref,%
index,%
jeep,%
jurabib,%
+jurabook,%
koi8-r,%
latex,%
latin1,%
@@ -1468,6 +1469,25 @@ switches of tex4ht.c)
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="\getClass{li}itemize">}\afterGetClass{li}\par\ShowPar
}
+
+\:CheckOption{itemize+}\if:Option
+\ConfigureList{itemize}%
+ {\EndP\HCode{<ul \a:LRdir
+ class="\getClass{itemize}itemize\expandafter\the
+ \csname @itemdepth\endcsname">}%
+ \afterGetClass{itemize}%
+ \PushMacro\end:itm
+\global\let\end:itm=\empty}
+ {\PopMacro\end:itm \global\let\end:itm \end:itm
+\ifvmode \IgnorePar\fi
+ \EndP\HCode{</li></ul>}\ShowPar}
+ {\end:itm \global\def\end:itm{\EndP\Tg</li>}\HCode{<li class="\getClass{li}itemize"><span class="itemizeHead" aria-hidden="true">}\afterGetClass{li}}
+ {\HCode{</span>}\par\ShowPar
+}
+\Css{.itemizeHead{float: left; margin-left: -1em; width: 1em;}}
+\Css{li.itemize{list-style: none;}}
+\fi
+
\NewConfigure{itemizeClass}{2}
\Configure{itemizeClass}{}{}
\NewConfigure{liClass}{2}
@@ -11606,6 +11626,7 @@ height="\expandafter\int:pt\the\Gin@req@height!*?: "
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{graphicx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19463,7 +19484,6 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19931,6 +19951,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20683,7 +20704,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{seslideb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28706,6 +28726,7 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{csquotes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28720,6 +28741,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{CJK}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28815,6 +28837,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fancyvrb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28856,7 +28879,7 @@ Y{0178}\i{00EF}%
\ConfigureHinput{epsf}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{epsfsetgraph}
- {\Picture+[\PicName]{}}
+ {\Picture+[]{}}
{\EndPicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28876,7 +28899,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amscd}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28889,7 +28911,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{color}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29282,6 +29303,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{adjustbox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29338,7 +29360,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{changepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29357,6 +29378,7 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{alltt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29506,6 +29528,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{eplain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30164,7 +30187,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tabulary}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30480,6 +30502,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{arabicore}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30499,7 +30522,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{rlbabel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30524,7 +30546,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{hebtex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30588,6 +30609,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{abidir}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30614,7 +30636,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{koi8-r}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30625,6 +30646,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{frenchb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30817,7 +30839,6 @@ description">}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34160,6 +34181,64 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{jurabook}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \Configure{subthreesection}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subthreesection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
+
+\ConfigureMark{subthreesection}{\HCode{<span class="titlemark">}\thesubthreesection\HCode{</span>}}
+
+\Configure{subfoursection}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subfoursection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
+
+\ConfigureMark{subfoursection}{\HCode{<span class="titlemark">}\thesubfoursection\HCode{</span>}}
+
+\Configure{subfivesection}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subfivesection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
+
+\ConfigureMark{subfivesection}{\HCode{<span class="titlemark">}\thesubfivesection\HCode{</span>}}
+
+\Configure{subsixsection}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subsixsection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
+
+\ConfigureMark{subsixsection}{\HCode{<span class="titlemark">}\thesubsixsection\HCode{</span>}}
+
+
+\Configure{subsevensection}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subsevensection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
+
+\ConfigureMark{subsevensection}{\HCode{<span class="titlemark">}\thesubsevensection\HCode{</span>}}
+
+
+\Configure{subeightsection}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subeightsection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
+
+\ConfigureMark{subeightsection}{\HCode{<span class="titlemark">}\thesubeightsection\HCode{</span>}}
+
+\def\tocsubthreesection#1#2#3{\par\toc:num{subthreesection}{#1}{#2}\par}
+\def\tocsubfoursection#1#2#3{\par\toc:num{subfoursection}{#1}{#2}\par}
+\def\tocsubfivesection#1#2#3{\par\toc:num{subfivesection}{#1}{#2}\par}
+\def\tocsubsixsection#1#2#3{\par\toc:num{subsixsection}{#1}{#2}\par}
+\def\tocsubsevensection#1#2#3{\par\toc:num{subsevensection}{#1}{#2}\par}
+\def\tocsubeightsection#1#2#3{\par\toc:num{subeightsection}{#1}{#2}\par}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{elsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{abstract}
@@ -34199,7 +34278,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{apa}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34325,6 +34403,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{JHEP}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35056,8 +35135,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp1256}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35068,6 +35145,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{8859-6}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35113,7 +35191,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{verbatim}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35129,7 +35206,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{minted}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35170,7 +35246,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pythontex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35181,6 +35256,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{prosper}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35712,7 +35788,6 @@ description">}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{seminar}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35726,6 +35801,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slides}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35919,7 +35995,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slidesec}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35933,6 +36008,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{xy}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36007,7 +36083,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pst-all}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36034,6 +36109,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mfpic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36082,6 +36158,8 @@ description">}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{overpic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36194,7 +36272,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{resume}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36246,6 +36323,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{curve}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36386,7 +36464,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{linguex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36412,6 +36489,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cgloss4e}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36508,7 +36586,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{diagram}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36697,6 +36774,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{subeqnarray}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36733,7 +36811,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{siunitx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36760,6 +36837,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{sistyle}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36801,7 +36879,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{microtype}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36819,6 +36896,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{appendix}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37013,7 +37091,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{booktabs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37066,6 +37143,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{gloss}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37179,6 +37257,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tugboat}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37440,7 +37519,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{rotating}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37453,6 +37531,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{boxedminipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37543,7 +37622,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{go}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37555,6 +37633,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{paralist}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37860,7 +37939,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tasks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37875,6 +37953,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{alphanum}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37950,7 +38029,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{epigraph}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37988,6 +38066,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{floatflt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38015,8 +38094,6 @@ description">}%
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{acm-proc-article-sp}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38337,6 +38414,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{endnotes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38351,7 +38429,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{web}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38378,6 +38455,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{exerquiz}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38476,7 +38554,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{nicefrac}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38490,6 +38567,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{multicol}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38551,7 +38629,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ProTex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38933,7 +39010,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{sverb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38959,6 +39035,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{syntax}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39116,6 +39193,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp850}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39146,7 +39224,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp1250}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39157,6 +39234,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp1252}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39187,7 +39265,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp865}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39198,6 +39275,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{norsk}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39234,7 +39312,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{portuges}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39247,6 +39324,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{romanian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39480,7 +39558,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slovak}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39681,6 +39758,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slovene}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39937,7 +40015,6 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{turkish}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39950,6 +40027,7 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ukraineb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39986,7 +40064,6 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{hebrew}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39999,6 +40076,7 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{austrian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40223,7 +40301,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{czech}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40236,6 +40313,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{danish}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40272,7 +40350,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{esperant}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40285,6 +40362,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{estonian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40321,7 +40399,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{galician}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40334,6 +40411,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{greek}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40608,7 +40686,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mdframed}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40635,6 +40712,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tcolorbox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40699,7 +40777,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{skak}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40710,6 +40787,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{chessboard}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40758,7 +40836,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{animate}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40772,6 +40849,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{sectionbreak}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/generic/tex4ht/jurabook.4ht b/Master/texmf-dist/tex/generic/tex4ht/jurabook.4ht
new file mode 100644
index 00000000000..91ab8574901
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/jurabook.4ht
@@ -0,0 +1,85 @@
+% jurabook.4ht (2024-05-28-12:45), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-05-28-12:45}
+
+\let\no@subthreesection\subthreesection
+\Def:Section\subthreesection{\ifnum \c:secnumdepth>\c@secnumdepth \else
+ \thesubthreesection \fi}{#1}
+\let\no:subthreesection\subthreesection
+\def\subthreesection{\rdef:sec{subthreesection}}
+
+\let\no@subfoursection\subfoursection
+\Def:Section\subfoursection{\ifnum \c:secnumdepth>\c@secnumdepth \else
+ \thesubfoursection \fi}{#1}
+\let\no:subfoursection\subfoursection
+\def\subfoursection{\rdef:sec{subfoursection}}
+
+\let\no@subfivesection\subfivesection
+\Def:Section\subfivesection{\ifnum \c:secnumdepth>\c@secnumdepth \else
+ \thesubfivesection \fi}{#1}
+\let\no:subfivesection\subfivesection
+\def\subfivesection{\rdef:sec{subfivesection}}
+
+\let\no@subsixsection\subsixsection
+\Def:Section\subsixsection{\ifnum \c:secnumdepth>\c@secnumdepth \else
+ \thesubsixsection \fi}{#1}
+\let\no:subsixsection\subsixsection
+\def\subsixsection{\rdef:sec{subsixsection}}
+
+
+\let\no@subsevensection\subsevensection
+\Def:Section\subsevensection{\ifnum \c:secnumdepth>\c@secnumdepth \else
+ \thesubsevensection \fi}{#1}
+\let\no:subsevensection\subsevensection
+\def\subsevensection{\rdef:sec{subsevensection}}
+
+
+\let\no@subeightsection\subeightsection
+\Def:Section\subeightsection{\ifnum \c:secnumdepth>\c@secnumdepth \else
+ \thesubeightsection \fi}{#1}
+\let\no:subeightsection\subeightsection
+\def\subeightsection{\rdef:sec{subeightsection}}
+
+\NewConfigure{tableofcontents*}[1]{%
+ \def\:tempa{#1}\ifx\empty\:tempa
+ \ifx \au:StartSec\:UnDef \else \gdef\:StartSec{\au:StartSec}\fi
+ \else
+ \edef\auto:toc{#1}%
+ \ifx \au:StartSec\:UnDef
+ \let\au:StartSec\:StartSec
+ \def\:StartSec{\:tableofcontents
+ \global\let\auto:toc\:UnDef \global\let\:StartSec\au:StartSec\:StartSec}%
+ \append:def\tableofcontents{\gdef\:StartSec{\au:StartSec}}%
+ \fi \fi
+}
+
+\Configure{tableofcontents*}{part,chapter,section,subsection,subsubsection,subthreesection,subfoursection,subfivesection,subsixsection,subsevensection,subeightsection}
+
+ \renewcommand{\@makefntext}[1]{%
+ \stepcounter{totalfootnotes}%
+ \renewcommand{\baselinestretch}{\@ne}% (nur) dieses hinzugefuegt fuer einzeilige Ausgabe
+ \parindent 1em%
+ \noindent%
+ \@infootnotetrue%
+ \hb@xt@1.8em{\hss\@makefnmark}#1%
+ \@infootnotefalse}
+
+\Hinput{jurabook}
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/juraovw.4ht b/Master/texmf-dist/tex/generic/tex4ht/juraovw.4ht
new file mode 100644
index 00000000000..fa526d64235
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/juraovw.4ht
@@ -0,0 +1,23 @@
+% juraovw.4ht (2024-05-27-12:59), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-05-27-12:59}
+
+\Hinput{juraovw}
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/juraurtl.4ht b/Master/texmf-dist/tex/generic/tex4ht/juraurtl.4ht
new file mode 100644
index 00000000000..6847d406bcf
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/juraurtl.4ht
@@ -0,0 +1,23 @@
+% juraurtl.4ht (2024-05-27-12:59), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-05-27-12:59}
+
+\Hinput{juraurtl}
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/listings.4ht b/Master/texmf-dist/tex/generic/tex4ht/listings.4ht
index 20638b08253..00b7058447c 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/listings.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/listings.4ht
@@ -1,6 +1,6 @@
-% listings.4ht (2023-07-25-12:42), generated from tex4ht-4ht.tex
+% listings.4ht (2024-06-10-14:03), generated from tex4ht-4ht.tex
% Copyright 2001-2009 Eitan M. Gurari
-% Copyright 2009-2023 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -17,7 +17,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2023-07-25-12:42}
+\immediate\write-1{version 2024-06-10-14:03}
\@ifpackageloaded{xcolor}{}{%
\RequirePackage{xcolor}
@@ -46,7 +46,9 @@
\NewConfigure{listings-init}{2}
\lst@AddToHook{TextStyle}{%
\Configure{listings}{}{}{}{}%
- \a:lstinline \bgroup \aftergroup\b:lstinline\aftergroup\egroup
+ \lst@ifmode\else%
+ \a:lstinline \bgroup \aftergroup\b:lstinline\aftergroup\egroup%
+ \fi%
}
\NewConfigure{lstinline}{2}
\pend:defI\lst@MakeCaption{%
diff --git a/Master/texmf-dist/tex/generic/tex4ht/nameref.4ht b/Master/texmf-dist/tex/generic/tex4ht/nameref.4ht
index f849d7c7bfc..67d2ac7a315 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/nameref.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/nameref.4ht
@@ -1,6 +1,6 @@
-% nameref.4ht (2022-12-30-15:46), generated from tex4ht-4ht.tex
+% nameref.4ht (2024-06-15-13:36), generated from tex4ht-4ht.tex
% Copyright 2005-2009 Eitan M. Gurari
-% Copyright 2009-2022 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -17,12 +17,15 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-12-30-15:46}
+\immediate\write-1{version 2024-06-15-13:36}
\let\NR:Type\relax
\let\ltx@label\label
-\def\prf:label{{\ifx \NR:Title\:UnDef \else \NR:Title\fi}%
+\def\prf:label{{\ifx \NR:Title\:UnDef \a:newlabel{\@currentlabelname}\else \NR:Title\fi}%
{\ifx \NR:Type\relax \else \NR:Type .1\fi}{}}%
+
+\append:defI\label{\let\NR:Title\undefined}
+
\let\NR:StartSec\:StartSec
\let\NR:no@sect\no@sect
\def\no@sect#1#2#3#4#5#6[#7]#8{\gdef\NR:Title{\a:newlabel{#7}}%
diff --git a/Master/texmf-dist/tex/generic/tex4ht/ooffice.4ht b/Master/texmf-dist/tex/generic/tex4ht/ooffice.4ht
index 1503ec4aba7..41866f00ee3 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/ooffice.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/ooffice.4ht
@@ -1,4 +1,4 @@
-% ooffice.4ht (2024-01-25-13:42), generated from tex4ht-ooffice.tex
+% ooffice.4ht (2024-05-27-13:00), generated from tex4ht-ooffice.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 2001-2009 Maarten Wisse, James Naughton, Eitan M. Gurari
%
@@ -17,7 +17,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-01-25-13:42}
+\immediate\write-1{version 2024-05-27-13:00}
\exit:ifnot{Preamble,%
algorithmicx,%
@@ -50,6 +50,7 @@ german,%
graphics,%
hyperref,%
jurabib,%
+jurabook,%
latex,%
lineno,%
linguex,%
@@ -7104,8 +7105,6 @@ style:display-name="Footnote anchor" style:family="text">
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{graphics}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -8479,6 +8478,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{biblatex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -8561,7 +8561,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{url}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -8619,6 +8618,7 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -8703,6 +8703,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mwart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -11504,6 +11505,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mwbk}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -12916,7 +12918,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{csquotes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -12988,7 +12989,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{color}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13117,7 +13117,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{xcolor}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13187,6 +13186,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{verse}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13313,7 +13313,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{frenchb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13334,7 +13333,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{apacite}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13365,6 +13363,10 @@ Y{0178}\i{00EF}%
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{wrapfig}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13389,6 +13391,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{subscript}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -13438,6 +13441,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrbook}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -14933,6 +14937,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrartcl}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16269,7 +16274,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrreprt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -17752,6 +17756,135 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{jurabook}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureMark{subthreesection}
+ {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
+ \else \@seccntformat{subthreesection}\fi }
+\Configure{subthreesection}
+ {\IgnorePar\EndP \HCode{<!--start of subthreesection-->}}
+ {\IgnorePar\EndP \HCode{<!--end of subthreesection-->}}
+ {\HCode{<text:h
+ text:style-name="\csname a:Heading-4\if@rl-rtl\fi
+\endcsname"
+ \text:outlinelevel="4" ><text:span
+ text:style-name="subthreesection" >}\TitleMark\space
+ \HCode{</text:span>}\IgnoreIndent}
+ {\HCode{</text:h>\Hnewline}\par\ShowPar}
+\ConfigureMark{subfoursection}
+ {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
+ \else \@seccntformat{subfoursection}\fi }
+\Configure{subfoursection}
+ {\IgnorePar\EndP \HCode{<!--start of subfoursection-->}}
+ {\IgnorePar\EndP \HCode{<!--end of subfoursection-->}}
+ {\HCode{<text:h
+ text:style-name="\csname a:Heading-4\if@rl-rtl\fi
+\endcsname"
+ \text:outlinelevel="4" ><text:span
+ text:style-name="subfoursection" >}\TitleMark\space
+ \HCode{</text:span>}\IgnoreIndent}
+ {\HCode{</text:h>\Hnewline}\par\ShowPar}
+\ConfigureMark{subfivesection}
+ {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
+ \else \@seccntformat{subfivesection}\fi }
+\Configure{subfivesection}
+ {\IgnorePar\EndP \HCode{<!--start of subfivesection-->}}
+ {\IgnorePar\EndP \HCode{<!--end of subfivesection-->}}
+ {\HCode{<text:h
+ text:style-name="\csname a:Heading-4\if@rl-rtl\fi
+\endcsname"
+ \text:outlinelevel="4" ><text:span
+ text:style-name="subfivesection" >}\TitleMark\space
+ \HCode{</text:span>}\IgnoreIndent}
+ {\HCode{</text:h>\Hnewline}\par\ShowPar}
+\ConfigureMark{subsixsection}
+ {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
+ \else \@seccntformat{subsixsection}\fi }
+\Configure{subsixsection}
+ {\IgnorePar\EndP \HCode{<!--start of subsixsection-->}}
+ {\IgnorePar\EndP \HCode{<!--end of subsixsection-->}}
+ {\HCode{<text:h
+ text:style-name="\csname a:Heading-4\if@rl-rtl\fi
+\endcsname"
+ \text:outlinelevel="4" ><text:span
+ text:style-name="subsixsection" >}\TitleMark\space
+ \HCode{</text:span>}\IgnoreIndent}
+ {\HCode{</text:h>\Hnewline}\par\ShowPar}
+\ConfigureMark{subsevensection}
+ {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
+ \else \@seccntformat{subsevensection}\fi }
+\Configure{subsevensection}
+ {\IgnorePar\EndP \HCode{<!--start of subsevensection-->}}
+ {\IgnorePar\EndP \HCode{<!--end of subsevensection-->}}
+ {\HCode{<text:h
+ text:style-name="\csname a:Heading-4\if@rl-rtl\fi
+\endcsname"
+ \text:outlinelevel="4" ><text:span
+ text:style-name="subsevensection" >}\TitleMark\space
+ \HCode{</text:span>}\IgnoreIndent}
+ {\HCode{</text:h>\Hnewline}\par\ShowPar}
+\ConfigureMark{subeightsection}
+ {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
+ \else \@seccntformat{subeightsection}\fi }
+\Configure{subeightsection}
+ {\IgnorePar\EndP \HCode{<!--start of subeightsection-->}}
+ {\IgnorePar\EndP \HCode{<!--end of subeightsection-->}}
+ {\HCode{<text:h
+ text:style-name="\csname a:Heading-4\if@rl-rtl\fi
+\endcsname"
+ \text:outlinelevel="4" ><text:span
+ text:style-name="subeightsection" >}\TitleMark\space
+ \HCode{</text:span>}\IgnoreIndent}
+ {\HCode{</text:h>\Hnewline}\par\ShowPar}
+
+\ConfigureToc{subthreesection}
+ {\HCode{<text:p text:style-name="P3" ><text:span
+ text:style-name="toc-mark" >}}
+ { \HCode{</text:span>}}
+ {}
+ {\HCode{</text:p>}}
+
+\ConfigureToc{subfoursection}
+ {\HCode{<text:p text:style-name="P3" ><text:span
+ text:style-name="toc-mark" >}}
+ { \HCode{</text:span>}}
+ {}
+ {\HCode{</text:p>}}
+\ConfigureToc{subfivesection}
+ {\HCode{<text:p text:style-name="P3" ><text:span
+ text:style-name="toc-mark" >}}
+ { \HCode{</text:span>}}
+ {}
+ {\HCode{</text:p>}}
+\ConfigureToc{subsixsection}
+ {\HCode{<text:p text:style-name="P3" ><text:span
+ text:style-name="toc-mark" >}}
+ { \HCode{</text:span>}}
+ {}
+ {\HCode{</text:p>}}
+\ConfigureToc{subsevensection}
+ {\HCode{<text:p text:style-name="P3" ><text:span
+ text:style-name="toc-mark" >}}
+ { \HCode{</text:span>}}
+ {}
+ {\HCode{</text:p>}}
+\ConfigureToc{subeightsection}
+ {\HCode{<text:p text:style-name="P3" ><text:span
+ text:style-name="toc-mark" >}}
+ { \HCode{</text:span>}}
+ {}
+ {\HCode{</text:p>}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{elsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureEnv{frontmatter}
@@ -18658,6 +18791,8 @@ Y{0178}\i{00EF}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pstricks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -18714,6 +18849,8 @@ Y{0178}\i{00EF}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{curve}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19080,7 +19217,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{linguex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19110,6 +19246,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cgloss4e}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19273,7 +19410,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pst-jtree}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19361,6 +19497,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{algorithmicx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19443,6 +19580,8 @@ Y{0178}\i{00EF}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ulem}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19805,7 +19944,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{listings}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19861,6 +19999,7 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{alphanum}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19978,7 +20117,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{footmisc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20080,6 +20218,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{soul}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20231,7 +20370,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{framed}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20281,5 +20419,7 @@ Y{0178}\i{00EF}%
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tabularray.4ht b/Master/texmf-dist/tex/generic/tex4ht/tabularray.4ht
index 72b80122e0a..b3c2577fb37 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/tabularray.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/tabularray.4ht
@@ -1,5 +1,5 @@
-% tabularray.4ht (2023-10-25-13:45), generated from tex4ht-4ht.tex
-% Copyright 2022-2023 TeX Users Group
+% tabularray.4ht (2024-06-17-13:42), generated from tex4ht-4ht.tex
+% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2023-10-25-13:45}
+\immediate\write-1{version 2024-06-17-13:42}
\NewConfigure{tabularray}{8}
\NewConfigure{tabularrayignoredcell}{2}
@@ -91,13 +91,13 @@
% find columns that are covered by rowspan and colspan
\xdef\HCol{\@arabic\c@colnum}
\xdef\HRow{\@arabic\c@rownum}
- \xdef\HMultispan{\l__tblr_cell_colspan_tl}
- \xdef\HRowspan{\l__tblr_cell_rowspan_tl}
+ \xdef\HMultispan{\lTblrCellColSpanTl}
+ \xdef\HRowspan{\lTblrCellRowSpanTl}
\let\CellAttributes\@empty
\let\CellStyle\@empty
% calculate ignored cells, if the current cell uses colspan or rowspan
- \int_step_inline:nnn{\c@rownum }{\c@rownum - 1 + \l__tblr_cell_rowspan_tl}{
- \int_step_inline:nnn{\c@colnum }{\c@colnum - 1 + \l__tblr_cell_colspan_tl}{
+ \int_step_inline:nnn{\c@rownum }{\c@rownum - 1 + \lTblrCellRowSpanTl}{
+ \int_step_inline:nnn{\c@colnum }{\c@colnum - 1 + \lTblrCellColSpanTl}{
% the loop always matches the current cell, we must ignore it
\str_if_eq:eeF{\HCol.\HRow}{####1.##1}{%
\cs_gset:cpn{ignoredcell-####1-##1}{}
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
index 18a85e36ce7..82d1e3bc5e4 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
+++ b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
@@ -1,7 +1,7 @@
\ifnum\the\catcode`\%=14\else\expandafter\edef\csname
\string:RestoreCatcodes\endcsname{\catcode`\%\the
\catcode`\%}\catcode`\%14\fi
-% tex4ht.sty (2024-05-06-13:36), generated from tex4ht-sty.tex
+% tex4ht.sty (2024-06-23-13:56), generated from tex4ht-sty.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 1996-2009 Eitan M. Gurari
%
@@ -9,18 +9,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-06-13:36}
+\immediate\write-1{version 2024-06-23-13:56}
\ifx \Preamble\UnDef \else
diff --git a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty
index ab45172a32d..ca5ac506fbc 100644
--- a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty
+++ b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `amsmath.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `amsmath.sty',
%% generated with the docstrip utility.
%%
@@ -517,7 +521,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else % \not \mathxxx
\@xp\Umathch@\meaning@"0"\Umathch@
\ifgtest@ % if \Umathchar
- \else % else not \Umathcar
+ \else % else not \Umathchar
\@xp\macro@\meaning@@\macro@
\ifgtest@ % if macro test
\@xp\not@\meaning@\not@
diff --git a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty
index 0171144d539..63f578290a7 100644
--- a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty
+++ b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty
@@ -23,11 +23,10 @@
%%
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must be December 1994 or later
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{amsmath-2018-12-01.sty}
\DeclareRelease{}{2018-12-01}{amsmath-2018-12-01.sty}
\DeclareCurrentRelease{}{2019-04-01}
-\ProvidesPackage{amsmath}[2024/03/13 v2.17p AMS math features]
+\ProvidesPackage{amsmath}[2024/05/23 v2.17q AMS math features]
\edef\@temp{\catcode 96=\number\catcode 96 }
\catcode\string `\`=12
\def\do#1{\catcode\number`#1=\number\catcode`#1}
@@ -531,7 +530,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else % \not \mathxxx
\@xp\Umathch@\meaning@"0"\Umathch@
\ifgtest@ % if \Umathchar
- \else % else not \Umathcar
+ \else % else not \Umathchar
\@xp\macro@\meaning@@\macro@
\ifgtest@ % if macro test
\@xp\not@\meaning@\not@
diff --git a/Master/texmf-dist/tex/latex-dev/base/doc.sty b/Master/texmf-dist/tex/latex-dev/base/doc.sty
index 9fec881c4de..16b0fbc897d 100644
--- a/Master/texmf-dist/tex/latex-dev/base/doc.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/doc.sty
@@ -43,9 +43,8 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1994-06-01}
+ {doc-2016-02-15.sty}
\DeclareRelease{v2.1g}{2016-02-15}
{doc-2016-02-15.sty}
\DeclareRelease{v2}{2021-06-01}
@@ -53,7 +52,7 @@
\DeclareCurrentRelease{v3}{2022-06-01}
\ProvidesPackage{doc}
- [2024/02/08 v3.0o
+ [2024/06/04 v3.0q
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
@@ -909,15 +908,6 @@
\expandafter\let\expandafter\doc@eoph@@k\csname doc.sty-h@@k\endcsname
\RequirePackage{hypdoc}
\expandafter\let\csname doc.sty-h@@k\endcsname\doc@eoph@@k
- \let\PrintDescribeMacro \@@PrintDescribeMacro
- \let\PrintDescribeEnv \@@PrintDescribeEnv
- \let\PrintMacroName \@@PrintMacroName
- \let\PrintEnvName \@@PrintEnvName
- \let\SpecialUsageIndex \@@SpecialUsageIndex
- \let\SpecialEnvIndex \@@SpecialEnvIndex
- \let\SortIndex \@@SortIndex
- \let\DescribeMacro \@@DescribeMacro
- \let\DescribeEnv \@@DescribeEnv
\ifx\special@index\@gobble % do we write index entries at all?
\else
\ifcodeline@index
@@ -1243,6 +1233,7 @@
idxgroup = environments ,
printtype = \textit{env.}
]{Env}{environment}
+\AddToHook{package/hypdoc/before}{%
\let\@@PrintDescribeMacro \PrintDescribeMacro
\let\@@PrintDescribeEnv \PrintDescribeEnv
\let\@@PrintMacroName \PrintMacroName
@@ -1252,6 +1243,18 @@
\let\@@SortIndex \SortIndex
\let\@@DescribeMacro \DescribeMacro
\let\@@DescribeEnv \DescribeEnv
+}
+\AddToHook{package/hypdoc/after}{%
+ \let\PrintDescribeMacro \@@PrintDescribeMacro
+ \let\PrintDescribeEnv \@@PrintDescribeEnv
+ \let\PrintMacroName \@@PrintMacroName
+ \let\PrintEnvName \@@PrintEnvName
+ \let\SpecialUsageIndex \@@SpecialUsageIndex
+ \let\SpecialEnvIndex \@@SpecialEnvIndex
+ \let\SortIndex \@@SortIndex
+ \let\DescribeMacro \@@DescribeMacro
+ \let\DescribeEnv \@@DescribeEnv
+}
\DeclareRobustCommand\cs[1]{\texttt{\bslash #1}}
\AddToHook{class/amsdtx/after}{%
diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx
index e912c3d3494..66ee8826d2a 100644
--- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx
@@ -709,8 +709,8 @@
%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion
- {2024-06-01}
-\def\patch@level{-2}
+ {2024-11-01}
+\def\patch@level{1}
\edef\development@branch@name{develop \the\year-\the\month-\the\day}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
@@ -1160,7 +1160,10 @@
\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
-\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_if_exist:NTF \cs_parameter_spec:N
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_parameter_spec:N }
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_argument_spec:N }
+\cs_gset_eq:NN \__kernel_cs_parameter_spec:N \@expl@cs@parameter@spec@@N
\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
@@ -1650,7 +1653,7 @@
\long\def\@show@newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
#3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
\long\def\@show@tokens#1{%
\edef\reserved@a{#1}%
\showtokens\expandafter
@@ -1681,7 +1684,7 @@
\@show@environment@end#1}
\long\def\@show@environment@begin#1{%
\typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}%
- \typeout{\@expl@cs@argument@spec@@N#1->%
+ \typeout{\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1.^^J}}
\long\def\@show@normalenv#1{%
\@show@environment@begin#1%
@@ -1692,12 +1695,12 @@
\long\def\@show@environment@end@aux#1#2{%
\@show@tokens{\string\end{\@expl@cs@to@str@@N#2}%
\ifx\relax#1=undefined%
- \else:^^J\@expl@cs@argument@spec@@N#1->%
+ \else:^^J\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1%
\fi}}
\def\@show@nonstop#1{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
\def\@show@typeout#1{\typeout{> #1.^^J}}
\def\@ifundefined#1{%
\ifcsname#1\endcsname\@ifundefin@d@i\else\@ifundefin@d@ii\fi{#1}}
@@ -1808,8 +1811,8 @@
\xdef#1{\the\toks@}%
\endgroup}
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.2d}
-\def\ltcmddate{2024-03-21}
+\def\ltcmdversion{v1.2e}
+\def\ltcmddate{2024-04-17}
\message{document commands,}
\ExplSyntaxOn
\tl_new:N \l__cmd_arg_spec_tl
@@ -4188,7 +4191,7 @@
{
\exp_args:Ne \str_case_e:nnF
{
- \exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
+ \exp_args:Nf \tl_if_empty:nT { \__kernel_cs_parameter_spec:N #1 }
{ \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
@@ -6432,7 +6435,7 @@
\__hook_curr_name_pop:
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% From File: ltcmdhooks.dtx
+%% From File: ltcmdhooks.dtx
%% Copyright (C) 2020-2024
%% Frank Mittelbach, Phelype Oleinik, The LaTeX Project
%%% From File: lthooks.dtx
@@ -6573,7 +6576,7 @@
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -6713,7 +6716,7 @@
{ ~ \__hook_double_hashes:w }
\cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3
{
- \str_if_eq:eeTF { \cs_argument_spec:N #1 } { }
+ \str_if_eq:eeTF { \__kernel_cs_parameter_spec:N #1 } { }
{ \__hook_patch_expand_redefine:NNnn \c_false_bool #1 {#2} {#3} }
{
\__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning }
@@ -7770,7 +7773,8 @@
{ \__template_find_global: }
}
\tl_set:Nn \l__template_key_name_tl {#1}
- \use:c { __template_assign_ \l__template_keytype_tl : }
+ \cs_if_exist_use:cF { __template_assign_ \l__template_keytype_tl : }
+ { \__template_assign_variable: }
}
{ \msg_error:nnn { template } { unknown-attribute } {#1} }
}
@@ -7884,67 +7888,14 @@
}
}
}
-\cs_new_protected:Npn \__template_assign_integer:
+\cs_new_protected:Npn \__template_assign_variable:
{
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \int_gset:Nn }
- { \__template_assign_variable:N \int_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_length:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \dim_gset:Nn }
- { \__template_assign_variable:N \dim_set:Nn }
-}
-\cs_new_protected:Npn \__template_assign_muskip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \muskip_gset:Nn }
- { \__template_assign_variable:N \muskip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_real:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \fp_gset:Nn }
- { \__template_assign_variable:N \fp_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_skip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \skip_gset:Nn }
- { \__template_assign_variable:N \skip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \tl_gset:NV \tl_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \tl_set:NV \tl_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist_aux:NN #1#2
- {
- \__template_if_key_value:VTF \l__template_value_tl
+ \__template_assign_variable:c
{
- \__template_key_to_value:
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #1 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
- }
- {
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #2 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
+ \__template_map_var_type: _
+ \bool_if:NT \l__template_global_bool { g } set:Nn
}
}
-\cs_new_protected:Npn \__template_assign_commalist:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \clist_gset:NV \clist_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \clist_set:NV \clist_set:Nn }
- }
\cs_new_protected:Npn \__template_assign_variable:N #1
{
\__template_if_key_value:VT \l__template_value_tl
@@ -7955,6 +7906,7 @@
{ \exp_not:V \l__template_value_tl }
}
}
+\cs_generate_variant:Nn \__template_assign_variable:N { c }
\cs_new_protected:Npn \__template_key_to_value:
{ \exp_after:wN \__template_key_to_value_auxi:w \l__template_value_tl }
\cs_new_protected:Npn \__template_key_to_value_auxi:w \KeyValue #1
@@ -8269,11 +8221,11 @@
{ \__template_show_vars:nn {#1} {#2} }
\cs_new_protected:Npn \ShowInstanceValues #1#2
{ \__template_show_values:nn {#1} {#2} }
-\cs_new:Npn \IfInstanceExistTF #1#2
+\cs_new:Npn \IfInstanceExistsTF #1#2
{ \__template_if_instance_exist:nnTF {#1} {#2} }
-\cs_new:Npn \IfInstanceExistT #1#2
+\cs_new:Npn \IfInstanceExistsT #1#2
{ \__template_if_instance_exist:nnT {#1} {#2} }
-\cs_new:Npn \IfInstanceExistF #1#2
+\cs_new:Npn \IfInstanceExistsF #1#2
{ \__template_if_instance_exist:nnF {#1} {#2} }
\cs_new_protected:Npn \KeyValue #1 {#1}
\cs_new_protected:Npn \AssignTemplateKeys { \__template_assignments_pop: }
@@ -8699,7 +8651,7 @@ Type H <return> for immediate help.}%
\cs_set_eq:NN \par \para_end:
\cs_set_eq:NN \@@par \para_end:
\cs_set_eq:NN \endgraf \para_end:
-\everypar{\@nodocument} %% To get an error if text appears before the
+\everypar{\@nodocument} %% To get an error if text appears before the \document
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -13499,7 +13451,9 @@ Type H <return> for immediate help.}%
}
}
\prg_generate_conditional_variant:Nnn \property_if_exist:n {e} {TF}
-\cs_new_eq:NN \IfPropertyExistTF \property_if_exist:eTF
+\cs_new_eq:NN \IfPropertyExistsTF \property_if_exist:eTF
+\cs_new:Npn \IfPropertyExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfPropertyExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:n #1 { p , T , F, TF }
% #1 label
{
@@ -13512,7 +13466,9 @@ Type H <return> for immediate help.}%
}
}
\prg_generate_conditional_variant:Nnn \property_if_recorded:n {e} {TF}
-\cs_new_eq:NN \IfLabelExistTF \property_if_recorded:eTF
+\cs_new_eq:NN \IfLabelExistsTF \property_if_recorded:eTF
+\cs_new:Npn \IfLabelExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfLabelExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:nn #1#2 { p , T , F, TF }
% #1 label #2 property
{
@@ -14714,7 +14670,12 @@ Type H <return> for immediate help.}%
\box\@tempboxa
\@end@tempboxa}
\def\@finalstrut#1{%
- \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+ \unskip
+ \ifhmode \nobreak
+ \else
+ \vskip-\baselineskip
+ \fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
\def\@@line{\hb@xt@\hsize}
\DeclareRobustCommand\leftline[1]{\@@line{#1\hss}}
\DeclareRobustCommand\rightline[1]{\@@line{\hss#1}}
@@ -16148,6 +16109,24 @@ Type H <return> for immediate help.}%
\tl_new:c { g__mark_last-column_top_ #1 _tl }
\tl_new:c { g__mark_last-column_first_ #1 _tl }
\tl_new:c { g__mark_last-column_last_ #1 _tl }
+ \tl_set:cn { g__mark_page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_last_ #1 _tl }{ \__mark_id:n{0} }
}
\box_new:N \l__mark_box
\box_new:N \l__mark_ii_box
@@ -16304,14 +16283,16 @@ Type H <return> for immediate help.}%
\group_begin:
\@kernel@before@insertmark
\hook_use:n { insertmark }
- \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \unrestored@protected@xdef \g__mark_tmp_tl
+ {
+ \__mark_id:n{ \int_use:N\g__mark_int }
+ #2
+ }
\__mark_debug:n{ \iow_term:x { Marks:~ set~#1~<-~
'\tl_to_str:V \g__mark_tmp_tl' ~ \msg_line_context: } }
\tex_marks:D \use:c { c__mark_class_ #1 _mark }
{
- \tl_if_empty:NTF \g__mark_tmp_tl
- { \exp_not:n { \prg_do_nothing: } }
- { \exp_not:o { \g__mark_tmp_tl } }
+ \exp_not:o { \g__mark_tmp_tl }
}
\group_end:
\if@nobreak\ifvmode\nobreak\fi\fi
@@ -16321,15 +16302,23 @@ Type H <return> for immediate help.}%
{ \tl_to_str:n {#1} }
}
}
+\cs_new_protected:Npn \__mark_id:n #1 { }
+\int_new:N \g__mark_int
\cs_new:Npn \@kernel@before@insertmark {
\cs_set_eq:NN \label \scan_stop:
\cs_set_eq:NN \index \scan_stop:
\cs_set_eq:NN \glossary \scan_stop:
+ \int_compare:nNnTF \g__mark_int < {99999}
+ { \int_gincr:N \g__mark_int }
+ { \int_gzero:N \g__mark_int }
+
}
\hook_new:n {insertmark}
-\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \__mark_use:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \__mark_use:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \__mark_use:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \__mark_use:n #1 { \exp_not:o { \use_none:nn #1 } }
+\cs_generate_variant:Nn \__mark_use:n { v }
\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
{
\tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
@@ -16491,10 +16480,19 @@ Type H <return> for immediate help.}%
{ g__mark_page_last_ ##1 _tl }
\tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
{ g__mark_first-column_top_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+
+ \tl_if_eq:ccTF { g__mark_first-column_top_ ##1 _tl }
{ g__mark_first-column_first_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
- { g__mark_last-column_last_ ##1 _tl }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_last-column_first_ ##1 _tl }
+ }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
}
}
\__mark_debug:n
@@ -16684,6 +16682,30 @@ Type H <return> for immediate help.}%
\let \IfClassLoadedTF \@ifclassloaded
\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
\let \IfClassLoadedWithOptionsTF \@ifclasswith
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
\def\ProvidesPackage#1{%
\xdef\@gtempa{#1}%
\@expandtwoargs\@expl@str@if@eq@@nnTF
@@ -17111,7 +17133,11 @@ Type H <return> for immediate help.}%
\ifx\@currext\@clsextension
document class%
\else
- package%
+ \ifx\@currext\@pkgextension
+ package%
+ \else
+ file%
+ \fi
\fi}
\@onlypreamble\@cls@pkg
\def\@unknownoptionerror{%
@@ -17315,6 +17341,13 @@ Type H <return> for immediate help.}%
\pkgcls@debug{\@spaces 4: #4}%
\def\pkgcls@name{#1}% % for info message
\def\pkgcls@arg {#3}% % for info message
+ \edef\pkgcls@ext{%
+ \ifx#4\@clsextension document class\else
+ \ifx#4\@pkgextension package\else
+ file
+ \fi
+ \fi
+ }% % for info message
\pkgcls@parse@date@arg{#3}%
\let\pkgcls@candidate\@empty
\begingroup
@@ -17356,7 +17389,7 @@ Type H <return> for immediate help.}%
\ifnum \@parse@version0#1//00\@nil > \pkgcls@targetdate
\@latex@warning@no@line{Suspicious rollback/min-date date given\MessageBreak
A minimal date of #1 has been specified for
- \@cls@pkg\MessageBreak '\pkgcls@name'.\MessageBreak
+ \pkgcls@ext\MessageBreak '\pkgcls@name'.\MessageBreak
But this is in conflict
with a rollback request to \requestedpatchdate}
\fi
@@ -19689,8 +19722,8 @@ Type H <return> for immediate help.}%
\int_compare:nNnT \g__tbl_col_int > 0
{
\tbl_count_missing_cells:n {#1}
- \cr
}
+ \crcr
}
\ExplSyntaxOff
\let\@kernel@refstepcounter\refstepcounter
diff --git a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
index a7ea9bfd040..5a696389f15 100644
--- a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
@@ -122,6 +122,13 @@
\pkgcls@debug{\@spaces 4: #4}%
\def\pkgcls@name{#1}% % for info message
\def\pkgcls@arg {#3}% % for info message
+ \edef\pkgcls@ext{%
+ \ifx#4\@clsextension document class\else
+ \ifx#4\@pkgextension package\else
+ file
+ \fi
+ \fi
+ }% % for info message
\pkgcls@parse@date@arg{#3}%
\let\pkgcls@candidate\@empty
\begingroup
@@ -163,7 +170,7 @@
\ifnum \@parse@version0#1//00\@nil > \pkgcls@targetdate
\@latex@warning@no@line{Suspicious rollback/min-date date given\MessageBreak
A minimal date of #1 has been specified for
- \@cls@pkg\MessageBreak '\pkgcls@name'.\MessageBreak
+ \pkgcls@ext\MessageBreak '\pkgcls@name'.\MessageBreak
But this is in conflict
with a rollback request to \requestedpatchdate}
\fi
@@ -293,7 +300,7 @@
}
%%% From File: ltvers.dtx
\edef\latexreleaseversion
- {2024-06-01}
+ {2024-11-01}
\newif\if@includeinrelease
\@includeinreleasefalse
\def\IncludeInRelease#1{%
@@ -571,25 +578,6 @@ of this package available from CTAN}
"luatex",
tex.extraprimitives("core","omega", "aleph", "luatex")
)
- local i
- local t = { }
- for _,i in pairs(tex.extraprimitives("luatex")) do
- if not string.match(i,"^U") then
- if not string.match(i, "^luatex") then
- table.insert(t,i)
- end
- else
- if string.match(i,"^Uchar$") then
- table.insert(t,i)
- end
- end
- end
- for _,i in pairs(t) do
- tex.print(
- "\noexpand\\let\noexpand\\" .. i
- .. "\noexpand\\undefined"
- )
- end
}
\EndIncludeInRelease
\fi
@@ -1363,7 +1351,10 @@ of this package available from CTAN}
\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
-\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_if_exist:NTF \cs_parameter_spec:N
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_parameter_spec:N }
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_argument_spec:N }
+\cs_gset_eq:NN \__kernel_cs_parameter_spec:N \@expl@cs@parameter@spec@@N
\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
@@ -1374,7 +1365,7 @@ of this package available from CTAN}
\let \@expl@cs@to@str@@N \@undefined
\let \@expl@str@if@eq@@nnTF \@undefined
\let \@expl@cs@prefix@spec@@N \@undefined
-\let \@expl@cs@argument@spec@@N \@undefined
+\let \@expl@cs@parameter@spec@@N \@undefined
\let \@expl@cs@replacement@spec@@N \@undefined
\let \@expl@str@map@function@@NN \@undefined
\EndIncludeInRelease
@@ -1797,7 +1788,7 @@ of this package available from CTAN}
\long\def\@show@newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
#3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
\long\def\@show@tokens#1{%
\edef\reserved@a{#1}%
\showtokens\expandafter
@@ -1845,7 +1836,7 @@ of this package available from CTAN}
\@show@environment@end#1}
\long\def\@show@environment@begin#1{%
\typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}%
- \typeout{\@expl@cs@argument@spec@@N#1->%
+ \typeout{\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1.^^J}}
\long\def\@show@normalenv#1{%
\@show@environment@begin#1%
@@ -1856,12 +1847,12 @@ of this package available from CTAN}
\long\def\@show@environment@end@aux#1#2{%
\@show@tokens{\string\end{\@expl@cs@to@str@@N#2}%
\ifx\relax#1=undefined%
- \else:^^J\@expl@cs@argument@spec@@N#1->%
+ \else:^^J\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1%
\fi}}
\def\@show@nonstop#1{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
\def\@show@typeout#1{\typeout{> #1.^^J}}
\EndIncludeInRelease
\IncludeInRelease{0000-00-00}{\ShowEnvironment}
@@ -1998,8 +1989,8 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.2d}
-\def\ltcmddate{2024-03-21}
+\def\ltcmdversion{v1.2e}
+\def\ltcmddate{2024-04-17}
\edef\@latexrelease@catcode@null{\the\catcode`\^^@ }
\catcode`\^^@=12
\ExplSyntaxOn
@@ -4452,7 +4443,7 @@ of this package available from CTAN}
{
\exp_args:Ne \str_case_e:nnF
{
- \exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
+ \exp_args:Nf \tl_if_empty:nT { \__kernel_cs_parameter_spec:N #1 }
{ \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
@@ -7863,7 +7854,7 @@ of this package available from CTAN}
}
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% From File: ltcmdhooks.dtx
+%% From File: ltcmdhooks.dtx
%% Copyright (C) 2020-2024
%% Frank Mittelbach, Phelype Oleinik, The LaTeX Project
%%% From File: lthooks.dtx
@@ -8025,7 +8016,7 @@ of this package available from CTAN}
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -8100,7 +8091,7 @@ of this package available from CTAN}
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -8233,7 +8224,7 @@ of this package available from CTAN}
{ ~ \__hook_double_hashes:w }
\cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3
{
- \str_if_eq:eeTF { \cs_argument_spec:N #1 } { }
+ \str_if_eq:eeTF { \__kernel_cs_parameter_spec:N #1 } { }
{ \__hook_patch_expand_redefine:NNnn \c_false_bool #1 {#2} {#3} }
{
\__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning }
@@ -9388,7 +9379,8 @@ of this package available from CTAN}
{ \__template_find_global: }
}
\tl_set:Nn \l__template_key_name_tl {#1}
- \use:c { __template_assign_ \l__template_keytype_tl : }
+ \cs_if_exist_use:cF { __template_assign_ \l__template_keytype_tl : }
+ { \__template_assign_variable: }
}
{ \msg_error:nnn { template } { unknown-attribute } {#1} }
}
@@ -9502,67 +9494,14 @@ of this package available from CTAN}
}
}
}
-\cs_new_protected:Npn \__template_assign_integer:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \int_gset:Nn }
- { \__template_assign_variable:N \int_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_length:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \dim_gset:Nn }
- { \__template_assign_variable:N \dim_set:Nn }
-}
-\cs_new_protected:Npn \__template_assign_muskip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \muskip_gset:Nn }
- { \__template_assign_variable:N \muskip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_real:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \fp_gset:Nn }
- { \__template_assign_variable:N \fp_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_skip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \skip_gset:Nn }
- { \__template_assign_variable:N \skip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist:
+\cs_new_protected:Npn \__template_assign_variable:
{
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \tl_gset:NV \tl_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \tl_set:NV \tl_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist_aux:NN #1#2
- {
- \__template_if_key_value:VTF \l__template_value_tl
- {
- \__template_key_to_value:
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #1 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
- }
+ \__template_assign_variable:c
{
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #2 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
+ \__template_map_var_type: _
+ \bool_if:NT \l__template_global_bool { g } set:Nn
}
}
-\cs_new_protected:Npn \__template_assign_commalist:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \clist_gset:NV \clist_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \clist_set:NV \clist_set:Nn }
- }
\cs_new_protected:Npn \__template_assign_variable:N #1
{
\__template_if_key_value:VT \l__template_value_tl
@@ -9573,6 +9512,7 @@ of this package available from CTAN}
{ \exp_not:V \l__template_value_tl }
}
}
+\cs_generate_variant:Nn \__template_assign_variable:N { c }
\cs_new_protected:Npn \__template_key_to_value:
{ \exp_after:wN \__template_key_to_value_auxi:w \l__template_value_tl }
\cs_new_protected:Npn \__template_key_to_value_auxi:w \KeyValue #1
@@ -9887,11 +9827,11 @@ of this package available from CTAN}
{ \__template_show_vars:nn {#1} {#2} }
\cs_new_protected:Npn \ShowInstanceValues #1#2
{ \__template_show_values:nn {#1} {#2} }
-\cs_new:Npn \IfInstanceExistTF #1#2
+\cs_new:Npn \IfInstanceExistsTF #1#2
{ \__template_if_instance_exist:nnTF {#1} {#2} }
-\cs_new:Npn \IfInstanceExistT #1#2
+\cs_new:Npn \IfInstanceExistsT #1#2
{ \__template_if_instance_exist:nnT {#1} {#2} }
-\cs_new:Npn \IfInstanceExistF #1#2
+\cs_new:Npn \IfInstanceExistsF #1#2
{ \__template_if_instance_exist:nnF {#1} {#2} }
\cs_new_protected:Npn \KeyValue #1 {#1}
\cs_new_protected:Npn \AssignTemplateKeys { \__template_assignments_pop: }
@@ -10086,7 +10026,7 @@ of this package available from CTAN}
\cs_set_eq:NN \par \para_end:
\cs_set_eq:NN \@@par \para_end:
\cs_set_eq:NN \endgraf \para_end:
-\everypar{\@nodocument} %% To get an error if text appears before the
+\everypar{\@nodocument} %% To get an error if text appears before the \document
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -14859,7 +14799,9 @@ of this package available from CTAN}
}
}
\prg_generate_conditional_variant:Nnn \property_if_exist:n {e} {TF}
-\cs_new_eq:NN \IfPropertyExistTF \property_if_exist:eTF
+\cs_new_eq:NN \IfPropertyExistsTF \property_if_exist:eTF
+\cs_new:Npn \IfPropertyExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfPropertyExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:n #1 { p , T , F, TF }
% #1 label
{
@@ -14872,7 +14814,9 @@ of this package available from CTAN}
}
}
\prg_generate_conditional_variant:Nnn \property_if_recorded:n {e} {TF}
-\cs_new_eq:NN \IfLabelExistTF \property_if_recorded:eTF
+\cs_new_eq:NN \IfLabelExistsTF \property_if_recorded:eTF
+\cs_new:Npn \IfLabelExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfLabelExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:nn #1#2 { p , T , F, TF }
% #1 label #2 property
{
@@ -14961,8 +14905,8 @@ of this package available from CTAN}
\let \RefProperty \@undefined
\let \RefUndefinedWarn \@undefined
-\let \IfPropertyExistTF \@undefined
-\let \IfLabelExistTF \@undefined
+\let \IfPropertyExistsTF \@undefined
+\let \IfLabelExistsTF \@undefined
\let \IfPropertyRecordedTF \@undefined
\let\new@label@record \@undefined
@@ -16078,6 +16022,23 @@ of this package available from CTAN}
\@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}}
\expandafter\let\csname raisebox \endcsname\@undefined
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\@finalstrut}{final strut correction}%
+\def\@finalstrut#1{%
+ \unskip
+ \ifhmode \nobreak
+ \else
+ \vskip-\baselineskip
+ \fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@finalstrut}{final strut correction}%
+\def\@finalstrut#1{%
+ \unskip\ifhmode\nobreak\fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
+
+\EndIncludeInRelease
%%% From File: lttab.dtx
\IncludeInRelease{2020/10/01}%
{\@itabcr}{Tabbing calc syntax}%
@@ -17264,6 +17225,24 @@ of this package available from CTAN}
\tl_new:c { g__mark_last-column_top_ #1 _tl }
\tl_new:c { g__mark_last-column_first_ #1 _tl }
\tl_new:c { g__mark_last-column_last_ #1 _tl }
+ \tl_set:cn { g__mark_page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_last_ #1 _tl }{ \__mark_id:n{0} }
}
\box_new:N \l__mark_box
\box_new:N \l__mark_ii_box
@@ -17408,12 +17387,14 @@ of this package available from CTAN}
\group_begin:
\@kernel@before@insertmark
\hook_use:n { insertmark }
- \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \unrestored@protected@xdef \g__mark_tmp_tl
+ {
+ \__mark_id:n{ \int_use:N\g__mark_int }
+ #2
+ }
\tex_marks:D \use:c { c__mark_class_ #1 _mark }
{
- \tl_if_empty:NTF \g__mark_tmp_tl
- { \exp_not:n { \prg_do_nothing: } }
- { \exp_not:o { \g__mark_tmp_tl } }
+ \exp_not:o { \g__mark_tmp_tl }
}
\group_end:
\if@nobreak\ifvmode\nobreak\fi\fi
@@ -17423,15 +17404,23 @@ of this package available from CTAN}
{ \tl_to_str:n {#1} }
}
}
+\cs_new_protected:Npn \__mark_id:n #1 { }
+\int_new:N \g__mark_int
\cs_new:Npn \@kernel@before@insertmark {
\cs_set_eq:NN \label \scan_stop:
\cs_set_eq:NN \index \scan_stop:
\cs_set_eq:NN \glossary \scan_stop:
+ \int_compare:nNnTF \g__mark_int < {99999}
+ { \int_gincr:N \g__mark_int }
+ { \int_gzero:N \g__mark_int }
+
}
\hook_new:n {insertmark}
-\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \__mark_use:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \__mark_use:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \__mark_use:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \__mark_use:n #1 { \exp_not:o { \use_none:nn #1 } }
+\cs_generate_variant:Nn \__mark_use:n { v }
\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
{
\tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
@@ -17546,10 +17535,19 @@ of this package available from CTAN}
{ g__mark_page_last_ ##1 _tl }
\tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
{ g__mark_first-column_top_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+
+ \tl_if_eq:ccTF { g__mark_first-column_top_ ##1 _tl }
{ g__mark_first-column_first_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
- { g__mark_last-column_last_ ##1 _tl }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_last-column_first_ ##1 _tl }
+ }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
}
}
}
@@ -17812,15 +17810,15 @@ of this package available from CTAN}
}%
\reserved@a}
\EndIncludeInRelease
-\IncludeInRelease{2021/11/15}%
- {\IfPackageLoadedtTF}{Test package loading}%
+\IncludeInRelease{2024/06/01}%
+ {\IfPackageLoadedTF}{Test package loading}%
\let \IfPackageLoadedTF \@ifpackageloaded
\let \IfClassLoadedTF \@ifclassloaded
\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
\let \IfClassLoadedWithOptionsTF \@ifclasswith
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
- {\IfPackageLoadedtTF}{Test package loading}%
+ {\IfPackageLoadedTF}{Test package loading}%
\let \IfPackageLoadedTF \@ifpackageloaded
\let \IfClassLoadedTF \@ifclassloaded
@@ -17828,6 +17826,63 @@ of this package available from CTAN}
\let \IfClassLoadedWithOptionsTF \@ifclasswith
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\IfPackageLoadedT}{More conditionals}%
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\IfPackageLoadedT}{More conditionals}%
+
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
+
+\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\ProvidesPackage}{Check name with \strcmp}%
\def\ProvidesPackage#1{%
@@ -18411,6 +18466,29 @@ of this package available from CTAN}
\DeclareRobustCommand\AtEndDocument{\g@addto@macro\@enddocumenthook}
\EndIncludeInRelease
+\IncludeInRelease{2024/11/01}%
+ {\@cls@pkg}{Allow for more extensions}%
+\def\@cls@pkg{%
+ \ifx\@currext\@clsextension
+ document class%
+ \else
+ \ifx\@currext\@pkgextension
+ package%
+ \else
+ file%
+ \fi
+ \fi}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@cls@pkg}{Allow for more extensions}%
+
+\def\@cls@pkg{%
+ \ifx\@currext\@clsextension
+ document class%
+ \else
+ package%
+ \fi}
+\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\filec@ntents}{Define \q@curr@file directly (gh/220)}%
\def\filecontents{\@tempswatrue\@fileswtrue
diff --git a/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty b/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
index 43c0cdf1013..8caa7e43a8b 100644
--- a/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{shortvrb}
- [2024/02/08 v3.0o
+ [2024/06/04 v3.0q
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
diff --git a/Master/texmf-dist/tex/latex-dev/base/textcomp.sty b/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
index 540274252f6..df0d53634de 100644
--- a/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
@@ -42,14 +42,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: lttextcomp.dtx
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1997-12-01}{textcomp-2018-08-11.sty}
\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty}
\DeclareCurrentRelease{}{2020-02-02}
\ProvidesPackage{textcomp}
- [2020/02/02 v2.0n Standard LaTeX package]
+ [2024/04/24 v2.1b Standard LaTeX package]
\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
@@ -74,7 +72,6 @@
{#1{#2}}{#3}%
#5}%
}
-\ExecuteOptions{info}
\ProcessOptions\relax
\InputIfFileExists{textcomp.cfg}
{\PackageInfo{textcomp}{Local configuration file used}}{}
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/color.sty b/Master/texmf-dist/tex/latex-dev/graphics/color.sty
index a19ce4bc78d..7083345d319 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/color.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/color.sty
@@ -12,7 +12,7 @@
%%
%%
%% color.dtx Copyright (C) 1994--1999 David Carlisle
-%% Copyright (C) 2005-2023 LaTeX Project
+%% Copyright (C) 2005-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -25,7 +25,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{color}
- [2022/01/06 v1.3d Standard LaTeX Color (DPC)]
+ [2024/01/14 v1.3d Standard LaTeX Color (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def b/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def
index 0d4f850a1e9..54f14b9116d 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def b/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def
index b28466f4571..9c3e261c281 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def b/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def
index 96c5715c964..0b052c068fd 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def b/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def
index d862abced2e..6dd22108a49 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/emtex.def b/Master/texmf-dist/tex/latex-dev/graphics/emtex.def
index 9616f25d624..2bb0144563d 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/emtex.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/emtex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty b/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty
index c1642f670f8..10bc2aa88e1 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty
@@ -12,7 +12,7 @@
%%
%%
%% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{epsfig}
- [2017/06/25 v1.7b (e)psfig emulation (SPQR)]
+ [2024/01/14 v1.7b (e)psfig emulation (SPQR)]
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphicx}}
\ProcessOptions
\RequirePackage{graphicx}
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty b/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty
index 154867d99a4..24f64431247 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `graphics.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `graphics.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty b/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty
index 15d0c640214..9d6e6c3b176 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2023 LaTeX Project
+%% Copyright (C) 1995-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -24,14 +24,13 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{graphics-2017-06-25.sty}
\DeclareRelease{}{2017-06-25}{graphics-2017-06-25.sty}
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{graphics}
- [2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)]
+ [2024/05/23 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty b/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty
index 4b5d9560f43..de9d178cb06 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2023 LaTeX Project
+%% Copyright (C) 1995-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty b/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty
index ca092fb4284..c422add543c 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty
@@ -12,7 +12,7 @@
%%
%%
%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 David Carlisle, LaTeX Project
+%% Copyright (C) 2000-2024 David Carlisle, LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty b/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty
index 998fff80d24..372fdcea132 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty
@@ -12,7 +12,7 @@
%%
%%
%% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def b/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def
index 8ab6c23fe1c..92943879a60 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def b/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def
index 6fbc3180a0f..f334eb179ab 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def b/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def
index 7a2e45defb5..d8c324574b0 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def b/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def
index 57f050c5d6f..a25c2a7265b 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty b/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty
index 3257208525a..5d4596be493 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty
@@ -13,7 +13,7 @@
%%
%% Copyright (C) 1995-1999 Sebastian Rahtz and Leonor Barroca
%% Copyright (C) 2001-2003,2007-2009 Robin Fairbairns
-%% Copyright (C) 2016-2023 LaTeX Project
+%% Copyright (C) 2016-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
\NeedsTeXFormat{LaTeX2e}
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def b/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def
index 4d544c48591..2e0a032dcfc 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/trig.sty b/Master/texmf-dist/tex/latex-dev/graphics/trig.sty
index 17f18478311..b5114838368 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/trig.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/trig.sty
@@ -12,7 +12,7 @@
%%
%%
%% File: trig.dtx Copyright (C) 1993-1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{trig}
- [2021/08/11 v1.11 sin cos tan (DPC)]
+ [2023/12/02 v1.11 sin cos tan (DPC)]
\chardef\nin@ty=90
\chardef\@clxxx=180
\chardef\@lxxi=71
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/truetex.def b/Master/texmf-dist/tex/latex-dev/graphics/truetex.def
index adafafbca7d..28f11e78c86 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/truetex.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/truetex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
index cd26bfb47d0..b90d7551a9c 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
@@ -75,7 +75,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-06-19}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -8385,8 +8385,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__clist_remove_all:
{ \exp_after:wN \__clist_remove_all:w \__clist_tmp:w , }
\cs_new:Npn \__clist_remove_all:w #1 , \s__clist_mark , #2 , { \exp_not:n {#1} }
-\cs_generate_variant:Nn \clist_remove_all:Nn { c , NV , cV }
-\cs_generate_variant:Nn \clist_gremove_all:Nn { c , NV , cV }
+\cs_generate_variant:Nn \clist_remove_all:Nn { c , NV , cV , Ne , ce }
+\cs_generate_variant:Nn \clist_gremove_all:Nn { c , NV , cV , Ne , ce }
\cs_new_protected:Npn \clist_reverse:N #1
{ \__kernel_tl_set:Nx #1 { \exp_args:No \clist_reverse:n {#1} } }
\cs_new_protected:Npn \clist_greverse:N #1
@@ -13750,8 +13750,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\str_new:N \l__keys_property_str
\bool_new:N \l__keys_selective_bool
\bool_new:N \l__keys_exclude_bool
-\seq_new:N \l__keys_selective_clist
-\seq_new:N \l__keys_tmp_clist
+\clist_new:N \l__keys_selective_clist
+\clist_new:N \l__keys_tmp_clist
\clist_new:N \l__keys_unused_clist
\tl_new:N \l_keys_value_tl
\bool_new:N \l__keys_tmp_bool
@@ -13859,8 +13859,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\bool_if:NTF \l__keys_no_value_bool
{
- \exp_after:wN \__keys_define_code:w
- \l__keys_property_str \s__keys_stop
+ \__keys_define_code:TF
{ \use:c { \c__keys_props_root_str \l__keys_property_str } }
{
\msg_error:nnee { keys } { property-requires-value }
@@ -13869,8 +13868,18 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{ \use:c { \c__keys_props_root_str \l__keys_property_str } {#1} }
}
-\exp_last_unbraced:NNNNo
- \cs_new:Npn \__keys_define_code:w #1 \c_colon_str #2 \s__keys_stop
+\cs_new:Npe \__keys_define_code:TF
+ {
+ \exp_not:N \exp_after:wN \exp_not:N \__keys_define_code:w
+ \exp_not:N \l__keys_property_str
+ \c_colon_str \c_colon_str
+ \exp_not:N \s__keys_stop
+ }
+\use:e
+ {
+ \cs_new:Npn \exp_not:N \__keys_define_code:w
+ #1 \c_colon_str #2 \c_colon_str #3 \exp_not:N \s__keys_stop
+ }
{ \tl_if_empty:nTF {#2} }
\cs_new_protected:Npn \__keys_bool_set:Nn #1#2
{ \__keys_bool_set:Nnnn #1 {#2} { true } { false } }
@@ -25024,21 +25033,21 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\cs_set_nopar:Npe \l__tl_peek_code_tl
{
- \tex_let:D \exp_not:N #1 \scan_stop:
- \exp_not:o \l__tl_peek_code_tl
+ \tex_let:D \exp_not:N #1 \l__tl_peek_code_tl
+ \l__tl_peek_code_tl
{
\exp_not:n { \__kernel_exp_not:w \exp_after:wN }
{ \exp_not:N \exp_not:N \exp_not:N #1 }
}
\exp_after:wN \__tl_peek_analysis_exp_aux:Nw
- \token_to_str:N #1 \prg_do_nothing: \s__tl
+ \token_to_str:N #1 { } \s__tl
}
\l__tl_peek_code_tl
}
\cs_new:Npe \__tl_peek_analysis_exp_aux:Nw #1#2 \s__tl
{
- \exp_not:N \if:w \scan_stop: #2 \scan_stop:
- { \exp_not:N \int_value:w `#1 } \token_to_str:N D
+ \exp_not:N \if_meaning:w \scan_stop: #2 \scan_stop:
+ { \exp_not:N \int_value:w `#1 ~ } \token_to_str:N D
\exp_not:N \else:
{ -1 } 0
\exp_not:N \fi:
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-generic.tex
index f99a59004b7..115116eb8c4 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-06-19}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.ltx
index f852288c7e4..d69c3f785e0 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-06-19}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.sty
index f5561de8b0c..cf7a71387b0 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-06-19}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex-dev/l3kernel/l3debug.def
index 7b0bea70198..85e8367975f 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/l3debug.def
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/l3debug.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3debug.dtx
-\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-06-19}{}{L3 Debugging support}
\scan_new:N \s__debug_stop
\cs_new:Npn \__debug_use_i_delimit_by_s_stop:nw #1 #2 \s__debug_stop {#1}
\quark_new:N \q__debug_recursion_tail
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex-dev/l3kernel/l3doc.cls
index d37f1f9f214..f0c283a3865 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2024-05-08}{}
+\ProvidesExplClass{l3doc}{2024-06-19}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/documentmetadata-support.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/documentmetadata-support.ltx
index 39184d2ba89..91ae548e191 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/documentmetadata-support.ltx
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/documentmetadata-support.ltx
@@ -60,10 +60,24 @@
\ExplSyntaxOn\makeatletter
\file_input:n {l3backend-testphase-\c_sys_backend_str.def}
\ExplSyntaxOff\makeatother
- \keys_set_filter:nnn { document / metadata } { init } { lang=en-US, #1 }
+ \keys_set_filter:nnn { document / metadata } { init } { #1 }
\bool_if:NT \g__pdfmanagement_active_bool
{
\PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
+ \g@addto@macro\@kernel@after@begindocument
+ {
+ \pdfdict_get:nnN {g__pdf_Core/Catalog}{Lang}\l__pdfmanagement_tmpa_tl
+ \quark_if_no_value:NT\l__pdfmanagement_tmpa_tl
+ {
+ \tl_if_empty:eTF { \BCPdata{main.language} }
+ { \tl_set:Ne \l__pdfmanagement_tmpb_tl { \BCPdata{language} } }
+ { \tl_set:Ne \l__pdfmanagement_tmpb_tl { \BCPdata{main.language} } }
+ \msg_warning:nne { meta } { lang-missing }{ \l__pdfmanagement_tmpb_tl }
+ \exp_last_unbraced:Ne
+ \AddToDocumentProperties{[document]{lang}{\l__pdfmanagement_tmpb_tl}}
+ \pdfmanagement_add:nne {Catalog} {Lang}{(\l__pdfmanagement_tmpb_tl)}
+ }
+ }
}
\hook_use_once:n {pdfmanagement/add}
\cs_set_protected:Npn \DocumentMetadata ##1
@@ -240,6 +254,11 @@
{
LaTeX-lab~package~'#1'~not~found.
}
+\msg_new:nnn { meta } { lang-missing }
+ {
+ The~language~has~not~been~set~in~\token_to_str:N
+ \DocumentMetadata.\\Setting~it~to~'#1'~as~fallback.
+ }
\ExplSyntaxOff\makeatother
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/firstaid-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/firstaid-latex-lab-testphase.ltx
index 695ba211476..7003ae1856d 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/firstaid-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/firstaid-latex-lab-testphase.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-firstaid.dtx (C) Copyright 2023-2024 LaTeX Project
-\def\ltlabfirstaiddate{2024-03-18}
-\def\ltlabfirstaidversion{0.85c}
+\def\ltlabfirstaiddate{2024-05-25}
+\def\ltlabfirstaidversion{0.85d}
\ProvidesFile{firstaid-latex-lab-testphase.ltx}
[\ltlabfirstaiddate\space v\ltlabfirstaidversion\space
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx
index a5d7e51a4a7..343a184d379 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-math.dtx
-\def\ltlabmathdate{2024-02-09}
-\def\ltlabmathversion{0.5i}
+\def\ltlabmathdate{2024-04-16}
+\def\ltlabmathversion{0.5j}
\ProvidesFile{latex-lab-math.ltx}
[\ltlabmathdate\space
v\ltlabmathversion\space
@@ -89,11 +89,11 @@
{
\int_gincr:N \g__math_mathml_int
\pdfdict_put:nne {l_pdffile/Filespec} {Desc}{(mathml-#1)}
- \pdffile_embed_stream:nnN {#4}{mathml-#1.xml}\l_tmpa_tl
+ \pdffile_embed_stream:nnN {#4}{mathml-#1.xml}\l__math_tmpa_tl
\bool_if:NT \l__tag_math_mathml_pane_bool
- {\pdfmanagement_add:nne {Catalog/Names}{EmbeddedFiles}{\l_tmpa_tl}}
+ {\pdfmanagement_add:nne {Catalog/Names}{EmbeddedFiles}{\l__math_tmpa_tl}}
\tl_new:c{g__math_mathml_#3_tl}
- \tl_gset_eq:cN{g__math_mathml_#3_tl}\l_tmpa_tl
+ \tl_gset_eq:cN{g__math_mathml_#3_tl}\l__math_tmpa_tl
}
}
\cs_new_protected:Npn \__math_AF_html_reader:w#1</h2>#2<p>#3</p>#4<p>#5</p>#6<math{
@@ -527,11 +527,11 @@
{ \l__math_fakemath_bool }
{ #1 $ }
{
- \socket_use:n {tagsupport/math/inline/begin} %end P-MC
- \socket_use:nn{tagsupport/math/inline/formula/begin}{#1}
+ \tag_socket_use:n {math/inline/begin} %end P-MC
+ \tag_socket_use:nn {math/inline/formula/begin}{#1}
$
- \socket_use:n {tagsupport/math/inline/formula/end}
- \socket_use:n {tagsupport/math/inline/end} % restart P-MC
+ \tag_socket_use:n {math/inline/formula/end}
+ \tag_socket_use:n {math/inline/end} % restart P-MC
}
}
}
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-firstaid.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-firstaid.sty
index f88e3925d00..552dfee1832 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-firstaid.sty
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-firstaid.sty
@@ -33,12 +33,26 @@
%%
%%
%% File: latex-lab-firstaid.dtx (C) Copyright 2023-2024 LaTeX Project
-\def\ltlabfirstaiddate{2024-03-18}
-\def\ltlabfirstaidversion{0.85c}
+\def\ltlabfirstaiddate{2024-05-25}
+\def\ltlabfirstaidversion{0.85d}
\ProvidesPackage {latex-lab-testphase-firstaid} [%
\ltlabfirstaiddate\space v\ltlabfirstaiddate\space
Temporary patches to external packages needed for the tagging project]
+\ExplSyntaxOn
+\providecommand\FirstAidNeededT[3]{
+ \exp_args:Ncx\str_if_eq:onF{ver@#1.#2}{#3}
+ { \typeout{==>~ First~ Aid~ for~ #1.#2~ no~ longer~ applied!^^J
+ \@spaces Expected:^^J
+ \@spaces\@spaces #3^^J
+ \@spaces but~ found:^^J
+ \@spaces\@spaces \use:c{ver@#1.#2}^^J
+ \@spaces so~ I'm~ assuming~ it~ got~ fixed.
+ } }
+ \exp_args:Ncx\str_if_eq:onT{ver@#1.#2}{#3}
+}
+\ExplSyntaxOff
+
\AddToHook{class/amsart/after}
{\def\@author{\authors}}
\AddToHook{class/amsbook/after}
@@ -120,6 +134,31 @@
{\refstepcounter@optarg[#1]{#2}}%
}%
}
+\ExplSyntaxOn
+\AddToHook{package/booktabs/after}
+ {
+ \def\@cmidrulea{
+ \multispan\@cmidla
+ &\multispan\@cmidlb
+ \unskip\hskip\cmrkern@l
+ {
+ \tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill\kern\z@}
+ \hskip\cmrkern@r
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ \cr}
+
+ \def\@cmidruleb{%
+ \multispan\@cmidlb
+ \unskip\hskip \cmrkern@l%
+ {
+ \tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill\kern\z@}
+ \hskip\cmrkern@r
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ \cr}
+ }
+\ExplSyntaxOff
\endinput
%%
%% End of file `latex-lab-testphase-firstaid.sty'.
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty
index 963ed1e9b38..4af648e77c4 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-table.dtx (C) Copyright 2023-2024 LaTeX Project
-\def\ltlabtbldate{2024-02-07}
-\def\ltlabtblversion{0.85k}
+\def\ltlabtbldate{2024-05-25}
+\def\ltlabtblversion{0.85i}
\ProvidesExplPackage {latex-lab-testphase-table} {\ltlabtbldate} {\ltlabtblversion}
{Code related to the tagging of tables}
\RequirePackage{array}
@@ -190,7 +190,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l__tbl_tmpa_tl _prop }
{
- \__tbl_struct_prop_gput:Vnn \l__tbl_tmpa_tl {S}{/Artifact}
+ \exp_args:No \__tag_struct_prop_gput:nnn {\l__tbl_tmpa_tl} {S}{/Artifact}
}
}
}
@@ -261,7 +261,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l__tbl_tmpa_tl _prop }
{
- \__tbl_struct_prop_gput:Vnn \l__tbl_tmpa_tl {S}{/Artifact}
+ \exp_args:No\__tag_struct_prop_gput:nnn {\l__tbl_tmpa_tl} {S}{/Artifact}
}
}
}
@@ -384,6 +384,7 @@
\tl_set:Nn\l__tbl_pcelltag_tl {NonStruct}
\tl_set:Nn\l__tbl_celltag_tl {text}
\tl_set:Nn\l__tbl_tabletag_tl {Div}
+ \clist_clear:N \l__tbl_header_rows_clist
},
table/tagging .default:n = true,
table/tagging .initial:n = true
@@ -415,15 +416,6 @@
}
\clist_new:N \l__tbl_header_rows_clist
-\cs_if_free:NTF \__tag_struct_prop_gput:nnn
- {
- \cs_new_protected:Npn \__tbl_struct_prop_gput:nnn #1#2#3
- { \prop_gput:cnn { g__tag_struct_#1_prop }{#2}{#3} }
- }
- { \cs_new_protected:Npn \__tbl_struct_prop_gput:nnn #1#2#3
- { \__tag_struct_prop_gput:nnn {#1}{#2}{#3} }
- }
-\cs_generate_variant:Nn \__tbl_struct_prop_gput:nnn {nne,Vnn}
\cs_new_protected:Npn \__tbl_set_header_rows:
{
\clist_map_inline:Nn \l__tbl_header_rows_clist
@@ -436,13 +428,13 @@
{
\prop_if_exist:cT { g__tag_struct_####1_prop }
{
- \__tbl_struct_prop_gput:nnn{ ####1 }{S}{/TH}
+ \__tag_struct_prop_gput:nnn{ ####1 }{S}{/TH}
\prop_get:cnNTF
{ g__tag_struct_####1_prop }
{ C }
\l__tbl_tmpa_tl
- {\__tbl_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l__tbl_tmpa_tl]} }
- {\__tbl_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}}
+ {\__tag_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l__tbl_tmpa_tl]} }
+ {\__tag_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}}
}
}
}
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx
index 5aaec815cb0..b01da95717e 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-table.dtx (C) Copyright 2023-2024 LaTeX Project
-\def\ltlabtbldate{2024-02-07}
-\def\ltlabtblversion{0.85k}
+\def\ltlabtbldate{2024-05-25}
+\def\ltlabtblversion{0.85i}
\ProvidesFile{table-latex-lab-testphase.ltx}
[\ltlabtbldate\space v\ltlabtblversion\space latex-lab wrapper table]
\RequirePackage{latex-lab-testphase-table}
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/tabular-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/tabular-latex-lab-testphase.ltx
index 1ad0f327a79..67a80c992ab 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/tabular-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/tabular-latex-lab-testphase.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-table.dtx (C) Copyright 2023-2024 LaTeX Project
-\def\ltlabtbldate{2024-02-07}
-\def\ltlabtblversion{0.85k}
+\def\ltlabtbldate{2024-05-25}
+\def\ltlabtblversion{0.85i}
\ProvidesFile{tabular-latex-lab-testphase.ltx}
[\ltlabtbldate\space v\ltlabtblversion\space latex-lab wrapper tabular]
diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/tagpdf-ns-latex-lab.def b/Master/texmf-dist/tex/latex-dev/latex-lab/tagpdf-ns-latex-lab.def
index 89e4e1e0f87..13054a4f295 100644
--- a/Master/texmf-dist/tex/latex-dev/latex-lab/tagpdf-ns-latex-lab.def
+++ b/Master/texmf-dist/tex/latex-dev/latex-lab/tagpdf-ns-latex-lab.def
@@ -23,7 +23,7 @@ enumerate, L, pdf2,
description, L, pdf2,
quote, BlockQuote,pdf,
quotation, BlockQuote,pdf,
-verbatim, Div, pdf2,
+verbatim, Div, pdf2, % overwritten by block
item, LI, pdf2,
itemlabel, Lbl, pdf2,
itembody, LBody, pdf2,
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty b/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty
index f079fd4975d..ced72d2913c 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty
@@ -1,5 +1,7 @@
%%
-%% This is an old release of `array.sty',
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% Copyright 1993-2016
%% The LaTeX Project and any individual authors listed elsewhere
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty b/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty
index 1243f25f747..5acd9c727e2 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `array.sty',
%% generated with the docstrip utility.
%%
@@ -38,11 +42,6 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
-\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{array}
[2020/02/10 v2.4m Tabular extension package (FMi)]
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty b/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty
index cd6eee6a0fc..b5267cffd23 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `array.sty',
%% generated with the docstrip utility.
%%
@@ -38,12 +42,6 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
-\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty}
-\DeclareCurrentRelease{}{2020-10-01}
\ProvidesPackage{array}
[2023/10/16 v2.5g Tabular extension package (FMi)]
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array.sty b/Master/texmf-dist/tex/latex-dev/tools/array.sty
index c2fc16814a8..5010b2f1b43 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array.sty
@@ -38,9 +38,8 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{array-2016-10-06.sty}
\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty}
\DeclareRelease{v2.5}{2023-11-01}{array-2023-11-01.sty}
@@ -48,7 +47,7 @@
\NeedsTeXFormat{LaTeX2e}[2024/06/01]
\ProvidesPackage{array}
- [2023/12/11 v2.6a Tabular extension package (FMi)]
+ [2024/05/23 v2.6c Tabular extension package (FMi)]
%%
\ExplSyntaxOn
@@ -98,10 +97,11 @@
\def\insert@column{%
\UseTaggingSocket{tbl/cell/begin}%
\the@toks \the \@tempcnta
- \ignorespaces \@sharp \unskip
+ \ignorespaces \@sharp \textonly@unskip
\the@toks \the \count@ \relax
\UseTaggingSocket{tbl/cell/end}%
}
+\protected\def\textonly@unskip{\ifhmode\unskip\fi}
\def\insert@pcolumn{%
\UseTaggingSocket{tbl/pcell/begin}%
\the@toks \the \@tempcnta
diff --git a/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty b/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty
index d70701056f1..792ef9c0416 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty
@@ -43,7 +43,7 @@
%% This file may be distributed under the terms of the LPPL.
%% See README for details.
\ProvidesPackage{l3sys-query}
- [2024-03-13 v1.0a LaTeX2e interface for l3sys file queries]
+ [2024-03-28 v1.0a LaTeX2e interface for l3sys file queries]
\ExplSyntaxOn
\sys_if_shell:F{
\PackageWarningNoLine{l3sys-query}
diff --git a/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty b/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty
index f79c691e104..fc7c3f42909 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `longtable.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `longtable.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/longtable.sty b/Master/texmf-dist/tex/latex-dev/tools/longtable.sty
index fabcf42aa8d..aa19b28096a 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/longtable.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/longtable.sty
@@ -36,14 +36,14 @@
%%
%% File: longtable.dtx Copyright (C) 1990-2020 David Carlisle
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{1994-06-01}{longtable-2020-01-07.sty}
\DeclareRelease{v4.13}{2020-01-02}{longtable-2020-01-07.sty}
\DeclareCurrentRelease{}{2020-02-07}
\ProvidesPackage{longtable}
- [2023-12-16 v4.19 Multi-page Table package (DPC)]
+ [2024-04-26 v4.20 Multi-page Table package (DPC)]
\def\LT@err{\PackageError{longtable}}
\def\LT@warn{\PackageWarning{longtable}}
\def\LT@final@warn{%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty b/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty
index 9e346656bbf..bdebc93db92 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty
@@ -1,5 +1,7 @@
%%
-%% This is an old release of `multicol.sty',
+%% This is an old release of `multicol.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% The source is maintained by the LaTeX Project team and bug
%% reports for it can be opened at http://latex-project.org/bugs.html
diff --git a/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty b/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty
index 221f62f68e6..fc8bda54793 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty
@@ -1,6 +1,7 @@
-%% This is a rollback file for multicol to the last version within release 2019-10-01
-%% =======================
%%
+%% This is an old release of `multicol.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% This is file `multicol.sty',
%% generated with the docstrip utility.
@@ -101,14 +102,6 @@
%%
%% Frank.Mittelbach@latex-project.org
%%
-\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
-\DeclareCurrentRelease{}{2018-04-01}
-
\ProvidesPackage{multicol}
[2019/12/09 v1.8y multicolumn formatting (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/multicol.sty b/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
index 37125021618..ebe9ea853a8 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
@@ -98,17 +98,14 @@
%%
%% Frank.Mittelbach@latex-project.org
%%
-\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{multicol-2017-04-11.sty}
\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
\DeclareRelease{v1.8}{2019-10-01}{multicol-2019-10-01.sty}
\DeclareCurrentRelease{}{2021-11-15}
\ProvidesPackage{multicol}
- [2024/01/29 v1.9g multicolumn formatting (FMi)]
+ [2024/05/23 v1.9h multicolumn formatting (FMi)]
\DeclareOption{twocolumn}
{\PackageWarning{multicol}{May not work
with the twocolumn option}}
diff --git a/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty b/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty
index b4d7b190287..9f465dff5c6 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `showkeys.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `showkeys.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty b/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty
index 1de125c5f92..67811019e39 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty
@@ -36,17 +36,15 @@
%% given in the file `manifest.txt'.
%%
%% File: showkeys.dtx Copyright (C) 1992-1997 David Carlisle
-%% File: showkeys.dtx Copyright (C) 2006-2023 David Carlisle, LaTeX Project
+%% File: showkeys.dtx Copyright (C) 2006-2024 David Carlisle, LaTeX Project
\NeedsTeXFormat{LaTeX2e}
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1994-06-01}{showkeys-2014-10-28.sty}
\DeclareRelease{}{2014-10-28}{showkeys-2014-10-28.sty}
\DeclareCurrentRelease{}{2022-06-01}
\ProvidesPackage{showkeys}
- [2023/12/16 v3.20 Show cite and label keys (DPC, MH)]
+ [2024/05/23 v3.21 Show cite and label keys (DPC, MH)]
\DeclareOption{notref}{\let\SK@ref\@empty}
\DeclareOption{notcite}{\let\SK@cite\@empty}
\let\SK@refcolor\relax
diff --git a/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty b/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty
index 747e89dc605..39cc4467a79 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `varioref.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `varioref.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/varioref.sty b/Master/texmf-dist/tex/latex-dev/tools/varioref.sty
index e6cfd77f823..6b2f7cfd7ac 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/varioref.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/varioref.sty
@@ -45,14 +45,13 @@
%% or open an issue at https://github.com/latex3/latex2e.
%%
\NeedsTeXFormat{LaTeX2e}[1995/05/16]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{varioref-2016-02-16.sty}
\DeclareRelease{}{2016-02-16}{varioref-2016-02-16.sty}
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{varioref}
- [2024/01/15 v1.6f package for extended references (FMi)]
+ [2024/05/23 v1.6g package for extended references (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty b/Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty
new file mode 100644
index 00000000000..15bfde169a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty
@@ -0,0 +1,84 @@
+%%
+%% This is an old release of `xr.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
+%% This is file `xr.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xr.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%%
+%% Copyright (C) 1993-2023
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% File: xr.dtx Copyright (C) 1993-2019 David Carlisle
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xr}
+ [2023-07-04 v5.06 eXternal References (DPC)]
+\def\externaldocument{\@ifnextchar[\XR@{\XR@[]}}
+\let\externalcitedocument\externaldocument
+\def\XR@[#1]#2{{%
+ \makeatletter
+ \def\XR@prefix{#1}%
+ \set@curr@file{#2}%
+ \expandafter\XR@next\@curr@file.aux\relax\\}}
+\def\XR@next#1\relax#2\\{%
+ \edef\XR@list{#2}%
+ \XR@loop{#1}}
+\def\XR@aux{%
+ \ifx\XR@list\@empty\else\expandafter\XR@explist\fi}
+
+\def\XR@explist{\expandafter\XR@next\XR@list\\}
+\def\XR@loop#1{\openin\@inputcheck{#1}\relax
+ \ifeof\@inputcheck
+ \PackageWarning{xr}{^^JNo file #1^^JLABELS NOT IMPORTED.^^J}%
+ \expandafter\XR@aux
+ \else
+ \PackageInfo{xr}{IMPORTING LABELS FROM #1}%
+ \expandafter\XR@read\fi}
+\def\XR@read{%
+ \read\@inputcheck to\XR@line
+ \expandafter\XR@test\XR@line...\XR@}
+\long\def\XR@test#1#2#3#4\XR@{%
+ \let\XR@tempa\@gobbletwo
+ \ifx#1\newlabel
+ \let\XR@tempa\@firstoftwo
+ \else\ifx#1\bibcite
+ \let\XR@tempa\@firstoftwo
+ \else\ifx#1\@input
+ \let\XR@tempa\@secondoftwo
+ \fi\fi\fi
+ \XR@tempa{#1{\XR@prefix#2}{#3}}{\edef\XR@list{\XR@list#2\relax}}%
+ \ifeof\@inputcheck\expandafter\XR@aux
+ \else\expandafter\XR@read\fi}
+\endinput
+%%
+%% End of file `xr.sty'.
diff --git a/Master/texmf-dist/tex/latex-dev/tools/xr.sty b/Master/texmf-dist/tex/latex-dev/tools/xr.sty
index 3f7185039c2..9e3f16cd92b 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/xr.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/xr.sty
@@ -35,17 +35,40 @@
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
-%% File: xr.dtx Copyright (C) 1993-2019 David Carlisle
+%% File: xr.dtx Copyright (C) 1993-2024 David Carlisle
\NeedsTeXFormat{LaTeX2e}
+\DeclareRelease{v5}{2023-07-04}{xr-2023-07-04.sty}
+\DeclareCurrentRelease{}{2024-04-10}
\ProvidesPackage{xr}
- [2023-07-04 v5.06 eXternal References (DPC)]
-\def\externaldocument{\@ifnextchar[\XR@{\XR@[]}}
+ [2024-04-10 v6.00 eXternal References (DPC)]
+\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
-\def\XR@[#1]#2{{%
+\def\XR@cite[#1]{\@testopt{\XR@[#1]}{}}
+\def\XR@[#1][#2]#3{\@testopt{\XR@@{#1}{#2}{#3}}{#3.\XR@ext}}
+\def\XR@@nocite{nocite}
+\long\def\@gobblefour #1#2#3#4{}
+\long\def\@firstoffour #1#2#3#4{#1}
+\long\def\@secondoffour#1#2#3#4{#2}
+\long\def\@thirdoffour #1#2#3#4{#3}
+\long\def\@fourthoffour #1#2#3#4{#4}
+\def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}
+\def\XR@@dURL#1#2#3#4#5\\{%
+ \unexpanded{{#1}{#2}{#3}{#4}}{\XR@URL}%
+ }%
+\providecommand\XR@ext{pdf}
+\def\XR@@#1#2#3[#4]{{%
\makeatletter
\def\XR@prefix{#1}%
- \set@curr@file{#2}%
- \expandafter\XR@next\@curr@file.aux\relax\\}}
+ \def\XR@nocite{#2}%
+ \ifx\XR@nocite\XR@@nocite
+ \let\XR@bibcite\vadjust
+ \else
+ \let\XR@bibcite\bibcite
+ \fi
+ \def\XR@URL{#4}%
+ \set@curr@file{#3}%
+ \filename@parse\@curr@file
+ \XR@next\@curr@file.aux\relax\\}}
\def\XR@next#1\relax#2\\{%
\edef\XR@list{#2}%
\XR@loop{#1}}
@@ -64,15 +87,26 @@
\read\@inputcheck to\XR@line
\expandafter\XR@test\XR@line...\XR@}
\long\def\XR@test#1#2#3#4\XR@{%
- \let\XR@tempa\@gobbletwo
+ \let\XR@tempa\@gobblefour
\ifx#1\newlabel
- \let\XR@tempa\@firstoftwo
- \else\ifx#1\bibcite
- \let\XR@tempa\@firstoftwo
+ \let\XR@tempa\@firstoffour
+ \else\ifx#1\XR@bibcite
+ \let\XR@tempa\@secondoffour
\else\ifx#1\@input
- \let\XR@tempa\@secondoftwo
- \fi\fi\fi
- \XR@tempa{#1{\XR@prefix#2}{#3}}{\edef\XR@list{\XR@list#2\relax}}%
+ \let\XR@tempa\@thirdoffour
+ \else\ifx#1\new@label@record
+ \let\XR@tempa\@fourthoffour
+ \fi\fi\fi\fi
+ \XR@tempa
+ {%
+ \expandafter\protected@xdef\csname r@\XR@prefix#2\endcsname{\XR@addURL{#3}}%
+ }%
+ {\expandafter\bibcite\expandafter{\XR@prefix#2}{#3}}%
+ {\edef\XR@list{\XR@list\filename@area#2\relax}}%
+ {%
+ \edef\next{\noexpand\new@label@record{\XR@prefix#2}{\unexpanded{#3}{xr-url}{\XR@URL}}}%
+ \next
+ }
\ifeof\@inputcheck\expandafter\XR@aux
\else\expandafter\XR@read\fi}
\endinput
diff --git a/Master/texmf-dist/tex/latex/acmart/acmart.cls b/Master/texmf-dist/tex/latex/acmart/acmart.cls
index 6602e852f49..d0bbde47afb 100644
--- a/Master/texmf-dist/tex/latex/acmart/acmart.cls
+++ b/Master/texmf-dist/tex/latex/acmart/acmart.cls
@@ -38,7 +38,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{acmart}
-[2024/04/17 v2.07 Typesetting articles for the Association for Computing Machinery]
+[2024/05/27 v2.08 Typesetting articles for the Association for Computing Machinery]
\def\@classname{acmart}
\InputIfFileExists{acmart-preload-hook.tex}{%
\ClassWarning{\@classname}{%
@@ -3292,7 +3292,7 @@
\rightskip\@rightskip
\leftskip\z@skip
\parindent\z@}
-\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+\def\@secfont{\sffamily\bfseries\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\def\@subsubsecfont{\sffamily\itshape}
\def\@parfont{\itshape}
@@ -3301,16 +3301,16 @@
\relax % manuscript
\or % acmsmall
\or % acmlarge
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\large\section@raggedright}
\def\@subsecfont{\sffamily\large\section@raggedright}
\or % acmtog
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\large\section@raggedright}
\def\@subsecfont{\sffamily\large\section@raggedright}
\or % sigconf
- \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\bfseries\Large\section@raggedright}
\def\@subsecfont{\bfseries\Large\section@raggedright}
\or % siggraph
- \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\bfseries\Large\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
\or % sigplan
\def\@secfont{\bfseries\Large\section@raggedright}
@@ -3320,14 +3320,14 @@
\def\@subparfont{\itshape}
\or % sigchi
\setcounter{secnumdepth}{1}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\bfseries\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\or % sigchi-a
\setcounter{secnumdepth}{0}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\bfseries\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\or % acmengage
- \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\bfseries\Large\section@raggedright}
\def\@subsecfont{\bfseries\Large\section@raggedright}
\or %acmcp
\fi
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty b/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty
index 7fe98338670..8f9f97ed311 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty
@@ -7,7 +7,7 @@
%% amsbsy.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amscd.sty b/Master/texmf-dist/tex/latex/amsmath/amscd.sty
index 2b5c20ec5fc..a32842d8c3f 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amscd.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amscd.sty
@@ -7,7 +7,7 @@
%% amscd.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsgen.sty b/Master/texmf-dist/tex/latex/amsmath/amsgen.sty
index 6ac9e8a7291..39240727511 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsgen.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsgen.sty
@@ -7,7 +7,7 @@
%% amsgen.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty b/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty
index ab45172a32d..ca5ac506fbc 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `amsmath.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `amsmath.sty',
%% generated with the docstrip utility.
%%
@@ -517,7 +521,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else % \not \mathxxx
\@xp\Umathch@\meaning@"0"\Umathch@
\ifgtest@ % if \Umathchar
- \else % else not \Umathcar
+ \else % else not \Umathchar
\@xp\macro@\meaning@@\macro@
\ifgtest@ % if macro test
\@xp\not@\meaning@\not@
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsmath.sty b/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
index 580461feb56..63f578290a7 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
@@ -7,7 +7,7 @@
%% amsmath.dtx
%%
%% Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -23,11 +23,10 @@
%%
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must be December 1994 or later
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{amsmath-2018-12-01.sty}
\DeclareRelease{}{2018-12-01}{amsmath-2018-12-01.sty}
\DeclareCurrentRelease{}{2019-04-01}
-\ProvidesPackage{amsmath}[2023/05/13 v2.17o AMS math features]
+\ProvidesPackage{amsmath}[2024/05/23 v2.17q AMS math features]
\edef\@temp{\catcode 96=\number\catcode 96 }
\catcode\string `\`=12
\def\do#1{\catcode\number`#1=\number\catcode`#1}
@@ -531,7 +530,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else % \not \mathxxx
\@xp\Umathch@\meaning@"0"\Umathch@
\ifgtest@ % if \Umathchar
- \else % else not \Umathcar
+ \else % else not \Umathchar
\@xp\macro@\meaning@@\macro@
\ifgtest@ % if macro test
\@xp\not@\meaning@\not@
@@ -1627,6 +1626,7 @@ and fix things up.}
\make@display@tag
\ifst@rred\else\global\@eqnswtrue\fi
\global\advance\row@\@ne
+ \global\lineht@\z@
\cr
}
\def\calc@shift@gather{%
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsopn.sty b/Master/texmf-dist/tex/latex/amsmath/amsopn.sty
index 1b9d4ec392c..f4ee5958472 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsopn.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsopn.sty
@@ -7,7 +7,7 @@
%% amsopn.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amstext.sty b/Master/texmf-dist/tex/latex/amsmath/amstext.sty
index 01c656d27c0..2cedcc35a82 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amstext.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amstext.sty
@@ -7,7 +7,7 @@
%% amstext.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty b/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty
index 52fcbe43ab1..43f10f187a8 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty
@@ -7,7 +7,7 @@
%% amsxtra.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2024 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/aomart/aomart.cls b/Master/texmf-dist/tex/latex/aomart/aomart.cls
index b029c8af3cc..54a40196724 100644
--- a/Master/texmf-dist/tex/latex/aomart/aomart.cls
+++ b/Master/texmf-dist/tex/latex/aomart/aomart.cls
@@ -37,7 +37,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{aomart}
-[2022/04/30 v1.27 Typesetting articles for the Annals of Mathematics]
+[2024/06/08 v1.28 Typesetting articles for the Annals of Mathematics]
\long\def\aom@size@warning#1{%
\ClassWarning{aomart}{Size-changing option #1 will not be
honored}}%
@@ -72,7 +72,7 @@
Configuration file aomart.cfg is not found}}
\ProcessOptions\relax
\LoadClass[11pt]{amsart}
-\RequirePackage{fancyhdr, lastpage, ifpdf}
+\RequirePackage{fancyhdr, lastpage, ifpdf, graphicx}
\RequirePackage[breaklinks,colorlinks]{hyperref}
\if@aom@screen@mode
\hypersetup{linkcolor=blue,citecolor=blue,
@@ -132,6 +132,7 @@
\widowpenalty=10000
\clubpenalty=10000
\setlength{\headsep}{14pt}
+\setlength{\headheight}{18.0pt}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\if@aom@manuscript@mode
@@ -230,6 +231,7 @@
\g@addto@macro\@names{\and author=#2;}%
\g@addto@macro\addresses{\author{}}%
\fi
+ \gdef\aom@current@orcid@target{\authors}%
\@ifnotempty{#1}{%
\ifx\@empty\shortauthors
\gdef\shortauthors{#1}%
@@ -261,6 +263,7 @@
}
\renewcommand{\contrib}[2][]{%
\def\@tempa{#1}%
+ \gdef\aom@current@orcid@target{\@currentcontributors}%
\@startcontribgrouptrue
\ifx\@tempa\@empty\relax
\ifx\@currentcontribution\@empty\relax
@@ -286,6 +289,7 @@
\expandafter\g@addto@macro\expandafter%
\@names\expandafter{\@currentcontribution}%
\g@addto@macro\@names{;}%
+ \g@addto@macro\addresses{\author{}}%
}
\renewcommand{\email}[2][]{%
\g@addto@macro\addresses{\email{#1}{#2}}%
@@ -295,10 +299,13 @@
\g@addto@macro\addresses{\urladdr{#1}{#2}}%
\g@addto@macro\@names{urladdr=#2;}%
}
-\newcommand{\orcid}[2][]{%
- \g@addto@macro\addresses{\orcid{#1}{#2}}%
- \g@addto@macro\@names{orcid=#2;}%
+\def\aom@current@orcid@target{\authors}
+\newcommand{\orcid}[1]{%
+ \g@addto@macro\addresses{\orcid{#1}}%
+ \g@addto@macro\@names{orcid=#1;}%
+ \expandafter\g@addto@macro\aom@current@orcid@target{\aom@orcidlink{#1}}%
}
+\newcommand\aom@orcidlink[1]{\kern0.2ex\href{https://orcid.org/#1}{\includegraphics[height=2ex]{aom_orcid_logo}}}
\def\keyword#1{\ifx\@keywords\@empty\gdef\@keywords{#1}\else
\g@addto@macro\@keywords{, #1}\fi}
\let\@primarysubjects\@empty
@@ -476,7 +483,11 @@
\def\@@and{{\upshape \@aom@and}}%
\author@andify\authors
\ifpdf
- \hypersetup{pdfauthor=\authors}%
+ \bgroup
+ \def\aom@orcidlink##1{}%
+ \xdef\@tempa{\authors}%
+ \egroup
+ \hypersetup{pdfauthor=\@tempa}%
\fi
\def\\{\protect\linebreak}%
\small \@aom@by{} \scshape\authors%
@@ -570,10 +581,9 @@
\@ifnotempty{##2}{\nobreak\indent
\@ifnotempty{##1}{, \ignorespaces##1\unskip}%
\url{##2}\par}\endgroup}%
- \def\orcid##1##2{\begingroup
- \@ifnotempty{##2}{\nobreak\indent
- \@ifnotempty{##1}{, \ignorespaces##1\unskip}%
- ORCID: ##2\par}\endgroup}%
+ \def\orcid##1{\begingroup
+ \@ifnotempty{##1}{\nobreak\indent
+ ORCID: ##1\par}\endgroup}%
\addresses
\endgroup
}
diff --git a/Master/texmf-dist/tex/latex/argumentation/argumentation.sty b/Master/texmf-dist/tex/latex/argumentation/argumentation.sty
index 7cd678de3c3..f247cd959a3 100644
--- a/Master/texmf-dist/tex/latex/argumentation/argumentation.sty
+++ b/Master/texmf-dist/tex/latex/argumentation/argumentation.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{argumentation}[2023/12/03 Argumentation]
+\ProvidesPackage{argumentation}[2024/05/03 Argumentation]
% Author: Lars Bengel
% E-Mail: lars.bengel@fernuni-hagen.de
% Version: 1.1
@@ -7,77 +7,195 @@
% License: LaTeX Project Public License 1.3c
%%%%%%%%%%% Package Requirements %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{amsbsy,amsmath} % For proper bold letters in math mode
\RequirePackage{pgfopts} % For managing package options
\RequirePackage{tikz} % For drawing the argumentation frameworks
\usetikzlibrary{positioning} % For relative node positioning
\usetikzlibrary{arrows.meta} % For directed edges / attack arrows
\usetikzlibrary{arrows} % For directed edges / attack arrows
\usetikzlibrary{decorations.markings} % For creating the support edge markings
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%% Package Tikz Style Definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcounter{argument}
+%\newcommand{\argument}{\relax}
+\newcommand{\argstyle}[1]{#1} % Defines the font style in which argument names are displayed
+
+%%% Argument Style Definitions
+\tikzset{ % global base styles
+ argument size/.style={minimum size=0.7cm}, % Standard size of argument nodes
+ argument/.style={}, % Base style for argument nodes
+ argument standard/.style={circle,draw=black,inner sep=0,outer sep=0, argument size},
+ argument large/.style={circle,draw=black,inner sep=0,outer sep=0, argument size, font=\large},
+ argument thick/.style={circle,draw=black,inner sep=0,outer sep=0, argument size, thick},
+}
-\newcommand{\argstyle}[1]{#1} % Defines the font style in which argument names are displayed
+%%% Attack/Support Edge Definitions
+\tikzset{ % global base styles
+ attack/.style={}, % Base style for attack arrow
+ attack standard/.style={-{stealth'}}, % Standard attack arrow
+ attack large/.style={-{Stealth[scale=1.25]}}, % Larger arrow tip
+ attack modern/.style={-{To[sharp,length=0.9mm,line width=0.7pt]}}, % Mordern rightarrow style tip
+ support/.style={},
+ support standard/.style = {attack, postaction = {decorate,decoration={markings,mark=at position 0.36 with {\draw[-] (0,-0.1) -- (0.1,0.1);}}}}, % Standard support arrow
+ support dashed/.style={attack,densely dashed},
+ support double/.style={-{Classical TikZ Rightarrow},double},
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% Package Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pgfkeys{/argumentation/argumentstyle/.is choice,
- /argumentation/argumentstyle/standard/.code={\tikzset{argument/.style={circle,draw=black,inner sep=0,outer sep=0}}},
- /argumentation/argumentstyle/custom/.code={},
- /argumentation/argumentstyle=standard,
+%%% Options for style of the argument node itself
+\pgfkeys{/tikz/.cd,
+ argumentstyle/.is choice,
+ argumentstyle/standard/.code={\tikzset{argument/.style={argument standard}}},
+ argumentstyle/large/.code={\tikzset{argument/.style={argument large}}},
+ argumentstyle/thick/.code={\tikzset{argument/.style={argument thick}}},
+}
+\pgfkeys{/argumentation/.cd,
+ .unknown/.code={},
+ argumentstyle/.is choice,
+ argumentstyle/standard/.code={\tikzset{argument/.style={argument standard}}},
+ argumentstyle/large/.code={\tikzset{argument/.style={argument large}}},
+ argumentstyle/thick/.code={\tikzset{argument/.style={argument thick}}},
+ argumentstyle=standard,
}
-\pgfkeys{/argumentation/attackstyle/.is choice,
- /argumentation/attackstyle/standard/.code={\tikzset{attack/.style={-{stealth'}}}},
- /argumentation/attackstyle/large/.code={\tikzset{attack/.style={-{Stealth[scale=1.25]}}}},
- /argumentation/attackstyle=standard,
+%%% Options for the style of the attack edges
+\pgfkeys{/tikz/.cd,
+ attackstyle/.is choice,
+ attackstyle/standard/.code={\tikzset{attack/.style={attack standard}}},
+ attackstyle/large/.code={\tikzset{attack/.style={attack large}}},
+ attackstyle/modern/.code={\tikzset{attack/.style={attack modern}}},
+ attackstyle=standard,
+}
+\pgfkeys{/argumentation/.cd,
+ attackstyle/.is choice,
+ attackstyle/standard/.code={\tikzset{attack/.style={attack standard}}},
+ attackstyle/large/.code={\tikzset{attack/.style={attack large}}},
+ attackstyle/modern/.code={\tikzset{attack/.style={attack modern}}},
+ attackstyle=standard,
+}
+
+%%% Options for the style of the support edges
+\pgfkeys{/tikz/.cd,
+ supportstyle/.is choice,
+ supportstyle/standard/.code={\tikzset{support/.style={support standard}}},
+ supportstyle/dashed/.code={\tikzset{support/.style={support dashed}}},
+ supportstyle/double/.code={\tikzset{support/.style={support double}}},
+ supportstyle=standard,
+}
+\pgfkeys{/argumentation/.cd,
+ supportstyle/.is choice,
+ supportstyle/standard/.code={\tikzset{support/.style={support standard}}},
+ supportstyle/dashed/.code={\tikzset{support/.style={support dashed}}},
+ supportstyle/double/.code={\tikzset{support/.style={support double}}},
+ supportstyle=standard,
}
-\pgfkeys{/argumentation/supportstyle/.is choice,
- /argumentation/supportstyle/standard/.code={\tikzset{support/.style = {attack,postaction = {decorate,decoration={markings,mark=at position 0.36 with {\draw[-] (0,-0.1) -- (0.1,0.1);}}}}}},
- /argumentation/supportstyle/dashed/.code={\tikzset{support/.style = {attack,densely dashed}}},
- /argumentation/supportstyle/double/.code={\tikzstyle{support}=[-{Classical TikZ Rightarrow},double]},
- /argumentation/supportstyle=standard,
+%%% Options for the automatic text formatting for the argument names
+\pgfkeys{/tikz/.cd,
+ namestyle/.is choice,
+ namestyle/none/.code={\renewcommand{\argstyle}[1]{##1}},
+ namestyle/math/.code={\renewcommand{\argstyle}[1]{\ensuremath{##1}}},
+ namestyle/italics/.code={\renewcommand{\argstyle}[1]{\ensuremath{\mathit{\text{##1}}}}},
+ namestyle/bold/.code={\renewcommand{\argstyle}[1]{\ensuremath{\boldsymbol{\text{##1}}}}},
+ namestyle/monospace/.code={\renewcommand{\argstyle}[1]{\ensuremath{\mathtt{\text{##1}}}}},
+ namestyle=none,
+}
+\pgfkeys{/argumentation/.cd,
+ namestyle/.is choice,
+ namestyle/none/.code={\renewcommand{\argstyle}[1]{##1}},
+ namestyle/math/.code={\renewcommand{\argstyle}[1]{\ensuremath{##1}}},
+ namestyle/italics/.code={\renewcommand{\argstyle}[1]{\ensuremath{\mathit{##1}}}},
+ namestyle/bold/.code={\renewcommand{\argstyle}[1]{\ensuremath{\boldsymbol{\text{##1}}}}},
+ namestyle/monospace/.code={\renewcommand{\argstyle}[1]{\ensuremath{\mathtt{##1}}}},
+ namestyle=none,
}
-\pgfkeys{/argumentation/namestyle/.is choice,
- /argumentation/namestyle/normal/.code={\relax},
- /argumentation/namestyle/italics/.code={\renewcommand{\argstyle}[1]{\emph{#1}}},
- /argumentation/namestyle/bold/.code={\renewcommand{\argstyle}[1]{\textbf{#1}}},
- /argumentation/namestyle/bolditalics/.code={\renewcommand{\argstyle}[1]{\emph{\textbf{#1}}}},
- /argumentation/namestyle/monospace/.code={\renewcommand{\argstyle}[1]{\texttt{#1}}},
- /argumentation/namestyle=normal,
+%%% Options for automatic indexing (and naming) of argument nodes
+\NewDocumentCommand { \argument } {} {\relax}
+\pgfkeys{/argumentation/.cd,
+ indexing/.is choice,
+ indexing/none/.code={
+ \RenewDocumentCommand { \argument } {O{} r() m dat d()} {
+ \IfNoValueTF {##5}{%
+ \node[argument size,argument,##1](##2) {\argstyle{##3}};
+ }{%
+ \node[argument size,argument,##1](##2) at (##5) {\argstyle{##3}};
+ }
+ }
+ },
+ indexing/numeric/.code={
+ \RenewDocumentCommand { \argument } {O{} d() m dat d()} {
+ \stepcounter{argument}
+ \IfNoValueTF {##2}{%
+ \IfNoValueTF {##5}{%
+ \node[argument size,argument,##1](a\arabic{argument}) {\argstyle{##3}};
+ }{%
+ \node[argument size,argument,##1](a\arabic{argument}) at (##5) {\argstyle{##3}};
+ }
+ }{%
+ \IfNoValueTF {##5}{%
+ \node[argument size,argument,##1](##2) {\argstyle{##3}};
+ }{%
+ \node[argument size,argument,##1](##2) at (##5) {\argstyle{##3}};
+ }
+ }
+ }
+ },
+ indexing/alphabetic/.code={
+ \RenewDocumentCommand { \argument } {O{} d() m dat d()} {
+ \stepcounter{argument}
+ \IfNoValueTF {##2}{%
+ \IfNoValueTF {##5}{%
+ \node[argument size,argument,##1](\alph{argument}) {\argstyle{##3}};
+ }{%
+ \node[argument size,argument,##1](\alph{argument}) at (##5) {\argstyle{##3}};
+ }
+ }{%
+ \IfNoValueTF {##5}{%
+ \node[argument size,argument,##1](##2) {\argstyle{##3}};
+ }{%
+ \node[argument size,argument,##1](##2) at (##5) {\argstyle{##3}};
+ }
+ }
+ }
+ },
+ indexing/.default=numeric,
+ indexing=numeric,
}
\ProcessPgfPackageOptions{/argumentation}
-%%%%%%%%%% Package Content %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%% AF Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Additional AF Style Parameters
\tikzset{ % global predefined tikz-styles
- argument size/.style={minimum size=0.7cm}, % Standard size of argument nodes
selfattack/.style={loop,min distance=2mm,in=0,out=60,looseness=5}, % Standard style for self-attacks
- inactive/.style={draw=black!30, text=black!40}, % Make a node or edge inactive, i.e., greyed out
+ inactive/.style={draw=black!30,text=black!40}, % Make a node or edge inactive, i.e., greyed out
incomplete/.style={densely dashed}, % Style for displaying incomplete nodes or attacks
- argin/.style={fill=green}, % Color an argument that is labelled in
- argout/.style={fill=red}, % Color an argument that is labelled out
- argundec/.style={fill=cyan}, % Color an argument that is labelled undecided
+ accepted/.style={fill=green}, % Color an argument that is labelled in
+ rejected/.style={fill=red}, % Color an argument that is labelled out
+ undecided/.style={fill=cyan}, % Color an argument that is labelled undecided
caption/.style={draw=none}, % Style for displaying AF name in Figure
invisible/.style={draw=none,text=black!0}, % Make a node or edge invisible
- annotation/.style={above,font=\small},
+ annotation/.style={font=\small}, % text annotation style
+ argin/.style={accepted},
+ argout/.style={rejected},
+ argundec/.style={undecided},
}
-% Commands for setting custom tikz-style parameters (experimental)
-\newcommand{\setargumentstyle}[1]{\tikzset{argument/.style={#1}}}
-\newcommand{\setattackstyle}[1]{\tikzset{attack/.style={#1}}}
-\newcommand{\setsupportstyle}[1]{\tikzset{support/.style={#1}}}
-
-%\newcommand{\setloopstyle}[1]{\tikzset{selfattack/.style={#1}}}
-%\newcommand{\adjustargumentstyle}[1]{\tikzset{argument/.append style={#1}}}
-%\newcommand{\adjustattackstyle}[1]{\tikzset{attack/.append style={#1}}}
-
-
-%%%%%%%%%%%%%%% Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pgfkeys{
- /tikz/small/.style = {node distance=0.55cm,argument size/.style={minimum size=0.55cm},caption/.append style={font=\small}},
- /tikz/tiny/.style = {node distance=0.35cm,argument size/.style={font=\small, minimum size=0.4cm},caption/.append style={font=\small}},
+%%% Options for af environment
+\pgfkeys{/tikz/.cd,
+ small/.style = {node distance=0.55cm,argument size/.style={minimum size=0.55cm},caption/.append style={font=\small}},
+ tiny/.style = {node distance=0.35cm,argument size/.style={minimum size=0.4cm,font=\small},caption/.append style={font=\small}},
}
+%%% Initializing the af environment
+\newcounter{af}
\newenvironment{af}[1][]{
+ \refstepcounter{af}
+ \setcounter{argument}{0}
+ \pgfkeys{/argumentation/.cd, #1}
\tikzpicture[#1]
}{%
\endtikzpicture
@@ -86,13 +204,17 @@
%%%%%%%%%%%%%%%% Commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Creates a node displaying the name of the AF
-\newcommand{\afname}[3][]{\node[caption,#1](#2){#3};}
+\NewDocumentCommand { \afname } { O{} D(){caption} m dat d()} {
+ \IfNoValueTF {#5}{%
+ \node[caption,#1](#2){#3};
+ }{%
+ \node[caption,#1](#2) at (#5) {#3};
+ }
+
+}
\newcommand{\annotation}[3][]{\node[annotation,above of=#2,#1](an_#2){#3};}
-% Creates an argument node
-\newcommand{\argument}[3][]{\node[argument,argument size,#1](#2){\argstyle{#3}};}
-
% Creates an attack edge
\newcommand{\attack}[3][]{\path(#2) edge [attack,#1] (#3);}
@@ -107,3 +229,14 @@
% Creates a support edge between two arguments
\newcommand{\support}[3][]{\path(#2) edge [support=0.35,#1] (#3);}
+
+%%% Commands for setting custom tikz-style parameters
+\newcommand{\setargumentstyle}[1]{\tikzset{argument/.style={#1}}}
+\newcommand{\setattackstyle}[1]{\tikzset{attack/.style={#1}}}
+\newcommand{\setsupportstyle}[1]{\tikzset{support/.style={#1}}}
+\newcommand{\setannotationstyle}[1]{\tikzset{annotation/.style={#1}}}
+
+%\newcommand{\setloopstyle}[1]{\tikzset{selfattack/.style={#1}}}
+%\newcommand{\adjustargumentstyle}[1]{\tikzset{argument/.append style={#1}}}
+%\newcommand{\adjustattackstyle}[1]{\tikzset{attack/.append style={#1}}}
+
diff --git a/Master/texmf-dist/tex/latex/base/alltt.sty b/Master/texmf-dist/tex/latex/base/alltt.sty
index a20612f5d37..78c5e6a9241 100644
--- a/Master/texmf-dist/tex/latex/base/alltt.sty
+++ b/Master/texmf-dist/tex/latex/base/alltt.sty
@@ -49,7 +49,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{alltt}
- [2021/01/29 v2.0g defines alltt environment]
+ [2024/02/08 v2.0g defines alltt environment]
\begingroup
\lccode`\~=`\'
\lowercase{\endgroup
diff --git a/Master/texmf-dist/tex/latex/base/ansinew.def b/Master/texmf-dist/tex/latex/base/ansinew.def
index 83698b1e849..071d9a49f8c 100644
--- a/Master/texmf-dist/tex/latex/base/ansinew.def
+++ b/Master/texmf-dist/tex/latex/base/ansinew.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{ansinew.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/applemac.def b/Master/texmf-dist/tex/latex/base/applemac.def
index 6d96c23caa6..85032040d8c 100644
--- a/Master/texmf-dist/tex/latex/base/applemac.def
+++ b/Master/texmf-dist/tex/latex/base/applemac.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{applemac.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textflorin}{\textit{f}}
\ProvideTextCommandDefault{\textcent}
diff --git a/Master/texmf-dist/tex/latex/base/article.cls b/Master/texmf-dist/tex/latex/base/article.cls
index 9a3615247a5..869bdc0db41 100644
--- a/Master/texmf-dist/tex/latex/base/article.cls
+++ b/Master/texmf-dist/tex/latex/base/article.cls
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{article}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX document class]
\newcommand\@ptsize{}
\newif\if@restonecol
diff --git a/Master/texmf-dist/tex/latex/base/ascii.def b/Master/texmf-dist/tex/latex/base/ascii.def
index 1c924fc48dc..0f08f8091f8 100644
--- a/Master/texmf-dist/tex/latex/base/ascii.def
+++ b/Master/texmf-dist/tex/latex/base/ascii.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{ascii.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\@inpenc@test
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty b/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty
index 034d1d13290..992a4278526 100644
--- a/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty
+++ b/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty
@@ -46,8 +46,6 @@
%% Frank Mittelbach, The LaTeX Project
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0n}
-\providecommand\ltshipoutdate{2022/11/08}
\ProvidesPackage{atbegshi-ltx}
[2021/01/10 v1.0c
Emulation of the original atbegshi^^Jpackage with kernel methods]
diff --git a/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty b/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty
index add6997a565..76d4e001d38 100644
--- a/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty
+++ b/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty
@@ -42,8 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0o}
-\providecommand\ltfilehookdate{2023/07/10}
\ProvidesPackage{atveryend-ltx}
[2020/08/19 v1.0a
Emulation of the original atveryend package^^Jwith kernel methods]
diff --git a/Master/texmf-dist/tex/latex/base/bk10.clo b/Master/texmf-dist/tex/latex/base/bk10.clo
index 2de6c941b56..ba4701bead9 100644
--- a/Master/texmf-dist/tex/latex/base/bk10.clo
+++ b/Master/texmf-dist/tex/latex/base/bk10.clo
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{bk10.clo}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX file (size option)]
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xiipt
diff --git a/Master/texmf-dist/tex/latex/base/bk11.clo b/Master/texmf-dist/tex/latex/base/bk11.clo
index 9cac5edf370..c0a4a4420f1 100644
--- a/Master/texmf-dist/tex/latex/base/bk11.clo
+++ b/Master/texmf-dist/tex/latex/base/bk11.clo
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{bk11.clo}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX file (size option)]
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xipt{13.6}%
diff --git a/Master/texmf-dist/tex/latex/base/bk12.clo b/Master/texmf-dist/tex/latex/base/bk12.clo
index 79562d99a94..c4a5e3c2457 100644
--- a/Master/texmf-dist/tex/latex/base/bk12.clo
+++ b/Master/texmf-dist/tex/latex/base/bk12.clo
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{bk12.clo}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX file (size option)]
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xiipt{14.5}%
diff --git a/Master/texmf-dist/tex/latex/base/book.cls b/Master/texmf-dist/tex/latex/base/book.cls
index 020a4877320..2838b7f1ce3 100644
--- a/Master/texmf-dist/tex/latex/base/book.cls
+++ b/Master/texmf-dist/tex/latex/base/book.cls
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{book}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX document class]
\newcommand\@ptsize{}
\newif\if@restonecol
diff --git a/Master/texmf-dist/tex/latex/base/checkencodingsubset.tex b/Master/texmf-dist/tex/latex/base/checkencodingsubset.tex
new file mode 100644
index 00000000000..02410ad693a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/base/checkencodingsubset.tex
@@ -0,0 +1,419 @@
+%%
+%% This is file `checkencodingsubset.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lttextcomp.dtx (with options: `TS1check')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs.html
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%%
+%% Copyright (C) 1993-2024
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the LaTeX base system.
+%% --------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file has the LPPL maintenance status "maintained".
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% base system. You may however distribute the LaTeX base system without
+%% such generated files.
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.txt'. See also `legal.txt' for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%% From File: lttextcomp.dtx
+\Providesfile{checkencodingsubset.tex}
+ [2024/01/27 v0.5a Figure out safe TS1 encoding subsets]
+\let\typeoutdetails\typeout
+\def\doesglyphexist#1#2{\iffontchar\testFont #1 0\else 1\relax \fi}
+\def\glyphmissingdetails#1#2{\iffontchar\testFont #1 \else
+ \typeoutdetails{\space\space\space ==> \string#2 (#1) is missing}\fi}
+\newif\ifsafesubencodingfound
+\newif\ifcoremisses
+\def\testgroup#1#2#3{%
+ \ifnum 0 = #1%
+ \ifnum #2<0
+ \typeoutdetails{All glyphs in core exist}%
+ \else
+ \typeoutdetails{All glyphs between sub-encoding #2 and #3 exist}%
+ \fi
+ \else
+ \ifnum #2<0
+ \typeoutdetails{**********************************}%
+ \typeoutdetails{Some glyphs are missing from core:}%
+ \coremissestrue
+ \ifsafesubencodingfound \else
+ \def\subencodingresult{#2}%
+ \fi
+ \else
+ \typeoutdetails{Some glyphs are missing from sub-encoding #2:}%
+ \ifsafesubencodingfound \else
+ \def\subencodingresult{#3}%
+ \fi
+ \fi
+ {\let\doesglyphexist \glyphmissingdetails #1}%
+ \safesubencodingfoundtrue
+ \fi
+}
+\def\currsubencoding#1{\csname TS1:\ifcsname TS1:#1\endcsname #1\else ?\fi\endcsname}
+\DeclareFixedFont\cmrFont{TS1}{cmr}{m}{n}{10pt}
+\def\testallgroups#1{%
+ \DeclareFixedFont\testFont{TS1}{#1}{m}{n}{10pt}%
+ \ifx\testFont\cmrFont
+ \typeout{***** Font family #1 not found ****}%
+ \else
+ \safesubencodingfoundfalse
+ \coremissesfalse
+ \typeoutdetails{^^J-----------------------------------------}%
+ \typeoutdetails{Testing font family #1^^J(currently TS1-sub-encoding
+ \currsubencoding{#1})}%
+ \typeout{-----------------------------------------}%
+ \testgroup{%
+ \doesglyphexist{21}{\texttwelveudash}%
+ \doesglyphexist{22}{\textthreequartersemdash}%
+ \doesglyphexist{134}{\textbardbl}%
+ \doesglyphexist{137}{\textcelsius}%
+ \doesglyphexist{178}{\texttwosuperior}%
+ \doesglyphexist{179}{\textthreesuperior}%
+ \doesglyphexist{185}{\textonesuperior}%
+ }{8}{9}%
+ \testgroup{%
+ \doesglyphexist{32}{\textblank}%
+ \doesglyphexist{148}{\textinterrobang}%
+ \doesglyphexist{149}{\textinterrobangdown}%
+ \doesglyphexist{191}{\texteuro}%
+ }{7}{8}%
+ \testgroup{%
+ \doesglyphexist{47}{\textfractionsolidus}%
+ \doesglyphexist{61}{\textminus}%
+ \doesglyphexist{87}{\textohm}%
+ \doesglyphexist{181}{\textmu}%
+ }{6}{7}%
+ \testgroup{%
+ \doesglyphexist{140}{\textflorin}%
+ \doesglyphexist{164}{\textcurrency}%
+ }{5}{6}%
+ \testgroup{%
+ \doesglyphexist{155}{\textnumero}%
+ \doesglyphexist{157}{\textestimated}%
+ }{4}{5}%
+ \testgroup{%
+ \doesglyphexist{24}{\textleftarrow}%
+ \doesglyphexist{25}{\textrightarrow}%
+ \doesglyphexist{94}{\textuparrow}%
+ \doesglyphexist{95}{\textdownarrow}%
+ \doesglyphexist{141}{\textcolonmonetary}%
+ \doesglyphexist{142}{\textwon}%
+ \doesglyphexist{146}{\textlira}%
+ \doesglyphexist{150}{\textdong}%
+ }{3}{4}%
+ \testgroup{%
+ \doesglyphexist{60}{\textlangle}%
+ \doesglyphexist{62}{\textrangle}%
+ }{2}{3}%
+ \testgroup{%
+ \doesglyphexist{0}{\capitalgrave}%
+ \doesglyphexist{1}{\capitalacute}%
+ \doesglyphexist{2}{\capitalcircumflex}%
+ \doesglyphexist{3}{\capitaltilde}%
+ \doesglyphexist{4}{\capitaldieresis}%
+ \doesglyphexist{5}{\capitalhungarumlaut}%
+ \doesglyphexist{6}{\capitalring}%
+ \doesglyphexist{7}{\capitalcaron}%
+ \doesglyphexist{8}{\capitalbreve}%
+ \doesglyphexist{9}{\capitalmacron}%
+ \doesglyphexist{10}{\capitaldotaccent}%
+ \doesglyphexist{11}{\capitalcedilla}%
+ \doesglyphexist{12}{\capitalogonek}%
+ \doesglyphexist{26}{\t}%
+ \doesglyphexist{27}{\capitaltie}%
+ \doesglyphexist{28}{\newtie}%
+ \doesglyphexist{29}{\capitalnewtie}%
+ \doesglyphexist{45}{\textdblhyphen}%
+ \doesglyphexist{48}{\textzerooldstyle}%
+ \doesglyphexist{49}{\textoneoldstyle}%
+ \doesglyphexist{50}{\texttwooldstyle}%
+ \doesglyphexist{51}{\textthreeoldstyle}%
+ \doesglyphexist{52}{\textfouroldstyle}%
+ \doesglyphexist{53}{\textfiveoldstyle}%
+ \doesglyphexist{54}{\textsixoldstyle}%
+ \doesglyphexist{55}{\textsevenoldstyle}%
+ \doesglyphexist{56}{\texteightoldstyle}%
+ \doesglyphexist{57}{\textnineoldstyle}%
+ \doesglyphexist{77}{\textmho}%
+ \doesglyphexist{79}{\textbigcircle}%
+ \doesglyphexist{91}{\textlbrackdbl}%
+ \doesglyphexist{93}{\textrbrackdbl}%
+ \doesglyphexist{96}{\textasciigrave}%
+ \doesglyphexist{98}{\textborn}%
+ \doesglyphexist{99}{\textdivorced}%
+ \doesglyphexist{100}{\textdied}%
+ \doesglyphexist{108}{\textleaf}%
+ \doesglyphexist{109}{\textmarried}%
+ \doesglyphexist{110}{\textmusicalnote}%
+ \doesglyphexist{126}{\texttildelow}%
+ \doesglyphexist{127}{\textdblhyphenchar}%
+ \doesglyphexist{128}{\textasciibreve}%
+ \doesglyphexist{129}{\textasciicaron}%
+ \doesglyphexist{175}{\textasciimacron}%
+ \doesglyphexist{130}{\textacutedbl}%
+ \doesglyphexist{131}{\textgravedbl}%
+ \doesglyphexist{138}{\textdollaroldstyle}%
+ \doesglyphexist{139}{\textcentoldstyle}%
+ \doesglyphexist{143}{\textnaira}%
+ \doesglyphexist{144}{\textguarani}%
+ \doesglyphexist{145}{\textpeso}%
+ \doesglyphexist{147}{\textrecipe}%
+ \doesglyphexist{152}{\textpertenthousand}%
+ \doesglyphexist{153}{\textpilcrow}%
+ \doesglyphexist{154}{\textbaht}%
+ \doesglyphexist{156}{\textdiscount}%
+ \doesglyphexist{158}{\textopenbullet}%
+ \doesglyphexist{159}{\textservicemark}%
+ \doesglyphexist{160}{\textlquill}%
+ \doesglyphexist{161}{\textrquill}%
+ \doesglyphexist{168}{\textasciidieresis}%
+ \doesglyphexist{171}{\textcopyleft}%
+ \doesglyphexist{173}{\textcircledP}%
+ \doesglyphexist{180}{\textasciiacute}%
+ \doesglyphexist{184}{\textreferencemark}%
+ \doesglyphexist{187}{\textsurd}%
+ }{1}{2}%
+ \testgroup{%
+ \doesglyphexist{79}{\textcircled}% this is not a proper test because the symbol is
+ % usually available but not usable
+ }{0}{1}%
+ \testgroup{%
+ \doesglyphexist{13}{\textquotestraightbase}%
+ \doesglyphexist{18}{\textquotestraightdblbase}%
+ \doesglyphexist{23}{\textcapitalcompwordmark}%
+ \doesglyphexist{31}{\textascendercompwordmark}%
+ \doesglyphexist{36}{\textdollar}%
+ \doesglyphexist{39}{\textquotesingle}%
+ \doesglyphexist{42}{\textasteriskcentered}%
+ \doesglyphexist{132}{\textdagger}%
+ \doesglyphexist{133}{\textdaggerdbl}%
+ \doesglyphexist{135}{\textperthousand}%
+ \doesglyphexist{136}{\textbullet}%
+ \doesglyphexist{151}{\texttrademark}%
+ \doesglyphexist{162}{\textcent}%
+ \doesglyphexist{163}{\textsterling}%
+ \doesglyphexist{165}{\textyen}%
+ \doesglyphexist{166}{\textbrokenbar}%
+ \doesglyphexist{167}{\textsection}%
+ \doesglyphexist{169}{\textcopyright}%
+ \doesglyphexist{170}{\textordfeminine}%
+ \doesglyphexist{172}{\textlnot}%
+ \doesglyphexist{174}{\textregistered}%
+ \doesglyphexist{176}{\textdegree}%
+ \doesglyphexist{177}{\textpm}%
+ \doesglyphexist{182}{\textparagraph}%
+ \doesglyphexist{183}{\textperiodcentered}%
+ \doesglyphexist{186}{\textordmasculine}%
+ \doesglyphexist{188}{\textonequarter}%
+ \doesglyphexist{189}{\textonehalf}%
+ \doesglyphexist{190}{\textthreequarters}%
+ \doesglyphexist{214}{\texttimes}%
+ \doesglyphexist{246}{\textdiv}%
+ }{-1}{0}%
+ \ifsafesubencodingfound\else
+ \def\subencodingresult{0}%
+ \fi
+ \typeoutdetails{-----------------------------------------}%
+ \typeout{TS1 encoding subset for #1\ifcoremisses \space(ignoring core misses)\fi
+ \space (\ifnum\subencodingresult =
+ \currsubencoding{#1} ok\else bad\fi)}%
+ \typeout{Use sub-encoding \subencodingresult
+ \ifnum\subencodingresult = \currsubencoding{#1}\else
+ \space (not \currsubencoding{#1})\fi}
+ \typeout{-----------------------------------------^^J}%
+ \fi
+}
+\long\def\testallkerneldefinedfamilies{%
+\testallgroups{ccr}% {0}
+\testallgroups{cmbr}% {0}
+%%\testallgroups{cmr}% {0} % don't test this one as it is the fallback
+ % thus reports that the family is not found
+\testallgroups{cmss}% {0}
+\testallgroups{cmtl}% {0}
+\testallgroups{cmtt}% {0}
+\testallgroups{cmvtt}% {0}
+\testallgroups{pxr}% {0}
+\testallgroups{pxss}% {0}
+\testallgroups{pxtt}% {0}
+\testallgroups{qag}% {0}
+\testallgroups{qbk}% {0}
+\testallgroups{qcr}% {0}
+\testallgroups{qcs}% {0}
+\testallgroups{qhvc}% {0}
+\testallgroups{qhv}% {0}
+\testallgroups{qpl}% {0}
+\testallgroups{qtm}% {0}
+\testallgroups{qzc}% {0}
+\testallgroups{txr}% {0}
+\testallgroups{txss}% {0}
+\testallgroups{txtt}% {0}
+\testallgroups{zi4}% {9}
+%% not installed normally
+
+\testallgroups{lato-LF}% {0} % with a bunch of tofu inside --- should probably be changed
+\testallgroups{opensans-TLF}%{0} % with a bunch of tofu inside --- should probably be changed
+\testallgroups{cantarell-TLF}% {0} % with a bunch of tofu inside --- should probably be changed
+\testallgroups{fbb-LF}% {0} % missing centoldstyle ---> 2
+\testallgroups{tli}% {1} % with lots of tofu inside --- should probably be changed
+\testallgroups{Alegreya-OsF}% {2}
+\testallgroups{AlegreyaSans-OsF}% {2}
+\testallgroups{DejaVuSans-TLF}% {2}
+\testallgroups{DejaVuSansCondensed-TLF}% {2}
+\testallgroups{DejaVuSansMono-TLF}% {2} this is missing \textfractionsolidus which makes it 7 really
+\testallgroups{EBGaramond-LF}% {2}
+\testallgroups{Tempora-TLF}% {2}
+\testallgroups{Tempora-TOsF}% {2}
+\testallgroups{Arimo-TLF}% {3}
+\testallgroups{Crlt-TLF}% {3} changed from Carlito-
+\testallgroups{FiraSans-LF}% {3} should be 4
+\testallgroups{IBMPlexSans-TLF}% {3}
+\testallgroups{Merriwthr-OsF}% {3} changed from Merriweather- and should be 2
+\testallgroups{Montserrat-LF}% {3} now 2
+\testallgroups{MontserratAlternates-LF}%{3} now 2
+\testallgroups{SourceCodePro-TLF}% {3}
+\testallgroups{SourceCodePro-TOsF}% {3}
+\testallgroups{SourceSansPro-OsF}% {3}
+\testallgroups{SourceSerifPro-LF}% {3}
+\testallgroups{Tinos-TLF}% {3}
+\testallgroups{AccanthisADFStdNoThree-LF}%{4}
+\testallgroups{Cabin-TLF}% {4}
+\testallgroups{Caladea-TLF}% {4}
+\testallgroups{Chivo-LF}% {4}
+\testallgroups{ClearSans-TLF}% {4}
+\testallgroups{Coelacanth-LF}% {4}
+\testallgroups{CrimsonPro-LF}% {4}
+\testallgroups{FiraMono-TLF}% {4}
+\testallgroups{FiraMono-TOsF}% {4}
+\testallgroups{Go-TLF}% {4}
+\testallgroups{GoMono-TLF}% {4}
+\testallgroups{InriaSans-LF}% {4}
+\testallgroups{InriaSerif-LF}% {4}
+\testallgroups{LibertinusSans-LF}% {4}
+\testallgroups{LibertinusSerif-LF}% {4}
+\testallgroups{LibreBodoni-TLF}% {4}
+\testallgroups{LibreFranklin-TLF}% {4}
+\testallgroups{LinguisticsPro-LF}% {4}
+\testallgroups{LinguisticsPro-OsF}% {4}
+\testallgroups{LinuxBiolinumT-LF}% {4}
+\testallgroups{LinuxLibertineT-LF}% {4}
+\testallgroups{MerriwthrSans-OsF}% {4} name change and now 2
+\testallgroups{MintSpirit-LF}% {4}
+\testallgroups{MintSpiritNoTwo-LF}% {4}
+\testallgroups{PTMono-TLF}% {4}
+\testallgroups{PTSans-TLF}% {4}
+\testallgroups{PTSansCaption-TLF}% {4}
+\testallgroups{PTSansNarrow-TLF}% {4}
+\testallgroups{PTSerif-TLF}% {4}
+\testallgroups{PTSerifCaption-TLF}% {4}
+\testallgroups{Raleway-TLF}% {4}
+\testallgroups{Raleway-TOsF}% {4}
+\testallgroups{Roboto-LF}% {4}
+\testallgroups{RobotoMono-TLF}% {4}
+\testallgroups{RobotoSlab-TLF}% {4}
+\testallgroups{Rosario-LF}% {4}
+\testallgroups{SticksTooText-LF}% {4}
+\testallgroups{UniversalisADFStd-LF}%{4}
+\testallgroups{Almndr-OsF}% {5} name change
+\testallgroups{Baskervaldx-LF}% {5}
+\testallgroups{BaskervilleF-LF}% {5} now 2
+\testallgroups{Bttr-TLF}% {5} name changed from Bitter-...
+\testallgroups{Cinzel-LF}% {5}
+\testallgroups{CinzelDecorative-LF}%{5}
+\testallgroups{DejaVuSerif-TLF}% {5}
+\testallgroups{DejaVuSerifCondensed-TLF}% {5}
+\testallgroups{GilliusADF-LF}% {5}
+\testallgroups{charssil-TLF} %% missing should be 5
+\testallgroups{GilliusADFCond-LF}%{5}
+\testallgroups{GilliusADFNoTwo-LF}%{5}
+\testallgroups{GilliusADFNoTwoCond-LF}%{5}
+\testallgroups{Lbstr-LF}% {5} name change and should be 7
+\testallgroups{OldStandard-TLF}% {5}
+\testallgroups{PlyfrDisplay-LF}%{5} name change
+\testallgroups{PlyfrDisplay-OsF}% {5} name change
+\testallgroups{TheanoDidot-TLF}% {5}
+\testallgroups{TheanoDidot-TOsF}% {5}
+\testallgroups{TheanoModern-TLF}% {5}
+\testallgroups{TheanoModern-TOsF}%{5}
+\testallgroups{TheanoOldStyle-TLF}%{5}
+\testallgroups{TheanoOldStyle-TOsF}%{5}
+\testallgroups{Crimson-TLF}% {6}
+\testallgroups{IBMPlexMono-TLF}% {6} now 3
+\testallgroups{IBMPlexSerif-TLF}% {6} now 3
+\testallgroups{LibertinusMono-TLF}%{6} should be 8
+\testallgroups{LibertinusSerifDisplay-LF}%{6}
+\testallgroups{LinuxLibertineDisplayT-LF}%{6}
+\testallgroups{LinuxLibertineMonoT-LF}%{6}
+\testallgroups{LinuxLibertineMonoT-TLF}%{6}
+\testallgroups{Ovrlck-LF}% {6} name changed
+\testallgroups{CormorantGaramond-LF}%{7}
+\testallgroups{Heuristica-TLF}% {7}
+\testallgroups{Heuristica-TOsF}% {7}
+\testallgroups{IMFELLEnglish-TLF}%{7}
+\testallgroups{LibreBskvl-LF}% {7} %% wrong name LibreBaskerville-TLF
+\testallgroups{LibreCsln-LF}% {7} changed from LibreCaslon-
+\testallgroups{Mrcls-LF}% {7} %% wrong name Marcellus-LF
+\testallgroups{NotoSans-LF}% {7}
+\testallgroups{NotoSansMono-TLF}%{7} now 2
+\testallgroups{NotoSansMono-TOsF}%{7} now 2
+\testallgroups{NotoSerif-LF}% {7}
+\testallgroups{Quattro-LF}% {7} changed from Quattrocento-
+\testallgroups{QuattroSans-LF}% {7} changed from QuattrocentoSans-
+\testallgroups{XCharter-TLF}% {7} now 2
+\testallgroups{XCharter-TOsF}% {7} now 2
+\testallgroups{erewhon-LF}% {7} now 2
+\testallgroups{ComicNeue-TLF}% {7}
+\testallgroups{ComicNeueAngular-TLF}%{7}
+\testallgroups{Frm-LF}%{7} % the superiors are missing; name changed from Forum-LF
+\testallgroups{Cochineal-TLF}% {8} now 5
+\testallgroups{AlgolRevived-TLF}%{9}
+}
+\typeout{^^J=====================================================================}
+\typeout{| Enter font family to check (or <enter> for kernel defined families)}
+\typeout{=====================================================================}
+\typein[\FontFamilyToCheck]{}
+\if!\FontFamilyToCheck!
+ \typeout{=====================================================================}
+ \typeout{| Detailed output? (default no)}
+ \typeout{=====================================================================}
+ \typein[\Details]{}
+ \if!\Details!
+ \def\typeoutdetails#1{}
+ \else
+ \let\typeoutdetails\typeout
+ \fi
+ \testallkerneldefinedfamilies
+\else
+ \let\typeoutdetails\typeout
+ \testallgroups\FontFamilyToCheck
+\fi
+\stop
+
+\endinput
+%%
+%% End of file `checkencodingsubset.tex'.
diff --git a/Master/texmf-dist/tex/latex/base/cp1250.def b/Master/texmf-dist/tex/latex/base/cp1250.def
index ed155f74097..a4dfaed86d7 100644
--- a/Master/texmf-dist/tex/latex/base/cp1250.def
+++ b/Master/texmf-dist/tex/latex/base/cp1250.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp1250.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textcurrency}
{\TextSymbolUnavailable\textcurrency}
diff --git a/Master/texmf-dist/tex/latex/base/cp1252.def b/Master/texmf-dist/tex/latex/base/cp1252.def
index 970c3a6f47f..ae5a89e75cc 100644
--- a/Master/texmf-dist/tex/latex/base/cp1252.def
+++ b/Master/texmf-dist/tex/latex/base/cp1252.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp1252.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/cp1257.def b/Master/texmf-dist/tex/latex/base/cp1257.def
index 3b3575fb9e8..78fdbcbdf76 100644
--- a/Master/texmf-dist/tex/latex/base/cp1257.def
+++ b/Master/texmf-dist/tex/latex/base/cp1257.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp1257.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/cp437.def b/Master/texmf-dist/tex/latex/base/cp437.def
index cdbe6aa24a2..17a2a2e7784 100644
--- a/Master/texmf-dist/tex/latex/base/cp437.def
+++ b/Master/texmf-dist/tex/latex/base/cp437.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp437.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textflorin}{\textit{f}}
\ProvideTextCommandDefault{\textpeseta}{Pt}
diff --git a/Master/texmf-dist/tex/latex/base/cp437de.def b/Master/texmf-dist/tex/latex/base/cp437de.def
index 488e06030a8..edaccf6a2f4 100644
--- a/Master/texmf-dist/tex/latex/base/cp437de.def
+++ b/Master/texmf-dist/tex/latex/base/cp437de.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp437de.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textflorin}{\textit{f}}
\ProvideTextCommandDefault{\textpeseta}{Pt}
diff --git a/Master/texmf-dist/tex/latex/base/cp850.def b/Master/texmf-dist/tex/latex/base/cp850.def
index 51cc234105e..40f3cb6eea9 100644
--- a/Master/texmf-dist/tex/latex/base/cp850.def
+++ b/Master/texmf-dist/tex/latex/base/cp850.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp850.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
%%
%% If you need a Euro symbol, try cp858 instead.
%%
diff --git a/Master/texmf-dist/tex/latex/base/cp852.def b/Master/texmf-dist/tex/latex/base/cp852.def
index 8e677f1ea39..0fc6c20a561 100644
--- a/Master/texmf-dist/tex/latex/base/cp852.def
+++ b/Master/texmf-dist/tex/latex/base/cp852.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp852.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/cp858.def b/Master/texmf-dist/tex/latex/base/cp858.def
index e04cd77c2fd..5760e667642 100644
--- a/Master/texmf-dist/tex/latex/base/cp858.def
+++ b/Master/texmf-dist/tex/latex/base/cp858.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp858.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/cp865.def b/Master/texmf-dist/tex/latex/base/cp865.def
index 97073d5503a..dc86f46bde3 100644
--- a/Master/texmf-dist/tex/latex/base/cp865.def
+++ b/Master/texmf-dist/tex/latex/base/cp865.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{cp865.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textflorin}{\textit{f}}
\ProvideTextCommandDefault{\textpeseta}{Pt}
diff --git a/Master/texmf-dist/tex/latex/base/decmulti.def b/Master/texmf-dist/tex/latex/base/decmulti.def
index 4611a96d330..ae98cc99728 100644
--- a/Master/texmf-dist/tex/latex/base/decmulti.def
+++ b/Master/texmf-dist/tex/latex/base/decmulti.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{decmulti.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/doc.sty b/Master/texmf-dist/tex/latex/base/doc.sty
index 2fc93c11646..ea693f4ff1d 100644
--- a/Master/texmf-dist/tex/latex/base/doc.sty
+++ b/Master/texmf-dist/tex/latex/base/doc.sty
@@ -43,9 +43,8 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1994-06-01}
+ {doc-2016-02-15.sty}
\DeclareRelease{v2.1g}{2016-02-15}
{doc-2016-02-15.sty}
\DeclareRelease{v2}{2021-06-01}
@@ -53,11 +52,11 @@
\DeclareCurrentRelease{v3}{2022-06-01}
\ProvidesPackage{doc}
- [2022/11/13 v3.0m
+ [2024/04/26 v3.0p
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
-%% Copyright (C) 1989-2022 Frank Mittelbach, all rights reserved.
+%% Copyright (C) 1989-2023 Frank Mittelbach, all rights reserved.
@@ -119,7 +118,7 @@
\blank@linetrue\@@par
\penalty\interlinepenalty}
\obeylines
- \let\do\do@noligs \verbatim@nolig@list
+ \@noligs
\let\do\@makeother \dospecials
\global\@newlistfalse
\global\@minipagefalse
@@ -1140,6 +1139,10 @@
Maybe you wanted to use
'\string\NewDocElement'?}%
}
+\def\doc@ignoredinfo#1#2{%
+ \PackageInfo{doc}{Doc element '#1/#2' declaration
+ ignored}%
+}
\newcommand\NewDocElement[3][]{%
\@ifundefined{Print#2Name}%
{\@ifundefined{PrintDescribe#2}%
@@ -1152,6 +1155,18 @@
}\doc@declareerror
{#2}{#3}%
}
+\newcommand\ProvideDocElement[3][]{%
+ \@ifundefined{Print#2Name}%
+ {\@ifundefined{PrintDescribe#2}%
+ {\@ifundefined{#3}%
+ {\@ifundefined{end#3}%
+ {\@NewDocElement{#1}}%
+ \doc@ignoredinfo
+ }\doc@ignoredinfo
+ }\doc@ignoredinfo
+ }\doc@ignoredinfo
+ {#2}{#3}%
+}
\newcommand\RenewDocElement[3][]{%
\@ifundefined{Print#2Name}\doc@notdeclarederror
{\@ifundefined{PrintDescribe#2}\doc@notdeclarederror
diff --git a/Master/texmf-dist/tex/latex/base/docstrip.tex b/Master/texmf-dist/tex/latex/base/docstrip.tex
index f1f2648933b..e96e04ef127 100644
--- a/Master/texmf-dist/tex/latex/base/docstrip.tex
+++ b/Master/texmf-dist/tex/latex/base/docstrip.tex
@@ -46,7 +46,7 @@
\def\filename{docstrip.dtx}
\def\fileversion{v2.6b}
\def\filedate{2022-09-03}
-\def\docdate {2023-10-10}
+\def\docdate {2024-02-08}
%%
%% The docstrip program for use with TeX.
%% Copyright (C) 1989-1991 Frank Mittelbach
diff --git a/Master/texmf-dist/tex/latex/base/fontenc.sty b/Master/texmf-dist/tex/latex/base/fontenc.sty
index 967d60869b2..0eb19b6f6a0 100644
--- a/Master/texmf-dist/tex/latex/base/fontenc.sty
+++ b/Master/texmf-dist/tex/latex/base/fontenc.sty
@@ -90,7 +90,11 @@
{}{\PackageError{fontenc}%
{Encoding file `\reserved@f' not found.%
\MessageBreak
- You might have misspelt the name of the encoding}%
+ You might have misspelled the name of the encoding
+ \MessageBreak
+ or a required support package (e.g., cyrillic) is
+ \MessageBreak
+ missing in your installation}%
{Necessary code for this encoding was not
loaded.\MessageBreak
Thus calling the encoding later on will
diff --git a/Master/texmf-dist/tex/latex/base/fontmath.cfg b/Master/texmf-dist/tex/latex/base/fontmath.cfg
index 97eb5d1b095..eca079d15b3 100644
--- a/Master/texmf-dist/tex/latex/base/fontmath.cfg
+++ b/Master/texmf-dist/tex/latex/base/fontmath.cfg
@@ -35,11 +35,11 @@
%% the system are in the document `cfgguide.tex'.
%%
%%
-%%% From File: fontdef.dtx
+%%% From File: fontdef.dtx
\ProvidesFile{fontmath.cfg}
- [2021/01/15 v3.0i LaTeX Kernel
-(Uncustomized math
- font setup)]
+ [2024/02/09 v3.0i LaTeX Kernel
+ (Uncustomized math font setup)
+]
%%
%%
%%
diff --git a/Master/texmf-dist/tex/latex/base/fontmath.ltx b/Master/texmf-dist/tex/latex/base/fontmath.ltx
index 9566229fa0c..a7dd9cc44ad 100644
--- a/Master/texmf-dist/tex/latex/base/fontmath.ltx
+++ b/Master/texmf-dist/tex/latex/base/fontmath.ltx
@@ -35,11 +35,11 @@
%% the system are in the document `cfgguide.tex'.
%%
%%
-%%% From File: fontdef.dtx
+%%% From File: fontdef.dtx
\ProvidesFile{fontmath.ltx}
- [2021/01/15 v3.0i LaTeX Kernel
-(Math
- font setup)]
+ [2024/02/09 v3.0i LaTeX Kernel
+ (Math font setup)
+]
\typeout{=== Don't modify this file, use a .cfg file instead ===^^J}
\DeclareFontEncoding{OML}{}{}
\DeclareFontEncoding{OMS}{}{}
diff --git a/Master/texmf-dist/tex/latex/base/fonttext.cfg b/Master/texmf-dist/tex/latex/base/fonttext.cfg
index 762ec16b6a0..b37c4407d63 100644
--- a/Master/texmf-dist/tex/latex/base/fonttext.cfg
+++ b/Master/texmf-dist/tex/latex/base/fonttext.cfg
@@ -35,11 +35,11 @@
%% the system are in the document `cfgguide.tex'.
%%
%%
-%%% From File: fontdef.dtx
+%%% From File: fontdef.dtx
\ProvidesFile{fonttext.cfg}
- [2021/01/15 v3.0i LaTeX Kernel
-(Uncustomized text
- font setup)]
+ [2024/02/09 v3.0i LaTeX Kernel
+ (Uncustomized text font setup)
+]
%%
%%
%%
diff --git a/Master/texmf-dist/tex/latex/base/fonttext.ltx b/Master/texmf-dist/tex/latex/base/fonttext.ltx
index 0dfc76fff84..ec6ce8ed910 100644
--- a/Master/texmf-dist/tex/latex/base/fonttext.ltx
+++ b/Master/texmf-dist/tex/latex/base/fonttext.ltx
@@ -35,11 +35,11 @@
%% the system are in the document `cfgguide.tex'.
%%
%%
-%%% From File: fontdef.dtx
+%%% From File: fontdef.dtx
\ProvidesFile{fonttext.ltx}
- [2021/01/15 v3.0i LaTeX Kernel
-(Text
- font setup)]
+ [2024/02/09 v3.0i LaTeX Kernel
+ (Text font setup)
+]
\typeout{=== Don't modify this file, use a .cfg file instead ===^^J}
\input {omlenc.def}
\input {omsenc.def}
diff --git a/Master/texmf-dist/tex/latex/base/ifthen.sty b/Master/texmf-dist/tex/latex/base/ifthen.sty
index b093138e992..780b457e3f0 100644
--- a/Master/texmf-dist/tex/latex/base/ifthen.sty
+++ b/Master/texmf-dist/tex/latex/base/ifthen.sty
@@ -44,12 +44,12 @@
%%
%% File `ifthen.dtx'.
%% Copyright (C) 1991 by Leslie Lamport
-%% Copyright (C) 1994-2001 LaTeX project, David Carlisle
+%% Copyright (C) 1994-2024 LaTeX project, David Carlisle
%% all rights reserved.
%%
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{ifthen}
- [2022/04/13 v1.1d Standard LaTeX ifthen package (DPC)]
+ [2024/03/16 v1.1e Standard LaTeX ifthen package (DPC)]
\def\TE@throw{\@ne=\@ne\noexpand\fi}
\def\boolean#1#2{%
\TE@throw\expandafter\noexpand\csname if#1\endcsname#2}
@@ -77,11 +77,24 @@
\let\ref\@kernel@ref@exp}}
{\def\TE@ref@exp{\def\@setref##1##2##3{%
\ifx##1\relax\z@\else\expandafter##2##1\fi}}}
+\begingroup
+\lccode`\~`\> %
+\catcode`\+\active
+\lccode`\+`\< %
+\catcode`\!\active
+\lccode`\!`\= %
+\lowercase{\endgroup
+\def\TE@repl@active{%
+ \TE@repl~>%
+ \TE@repl+<%
+ \TE@repl!=%
+}
\long\def\ifthenelse#1{%
\toks@{#1}%
\TE@repl\or\TE@or
\TE@repl\and\TE@and
\TE@repl\not\TE@neg
+ \TE@repl@active
\TE@repl\OR\TE@or
\TE@repl\AND\TE@and
\TE@repl\NOT\TE@neg
@@ -101,7 +114,8 @@
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
- \fi}
+ \fi}%
+}
\def\TE@eval{\noexpand\TE@negatefalse\noexpand\iftrue\noexpand\ifnum}
\newif\ifTE@val
\newif\ifTE@negate
diff --git a/Master/texmf-dist/tex/latex/base/inputenc.sty b/Master/texmf-dist/tex/latex/base/inputenc.sty
index 14d7f35db8b..8d4a01b46d2 100644
--- a/Master/texmf-dist/tex/latex/base/inputenc.sty
+++ b/Master/texmf-dist/tex/latex/base/inputenc.sty
@@ -44,7 +44,7 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{inputenc}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\def\DeclareInputMath#1{%
\@inpenc@test
\bgroup
diff --git a/Master/texmf-dist/tex/latex/base/latex.ltx b/Master/texmf-dist/tex/latex/base/latex.ltx
index a2f5b66b067..62e8e24515e 100644
--- a/Master/texmf-dist/tex/latex/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex/base/latex.ltx
@@ -14,6 +14,7 @@
%% lthooks.dtx (with options: `2ekernel')
%% ltcmdhooks.dtx (with options: `2ekernel')
%% ltsockets.dtx (with options: `2ekernel')
+%% lttemplates.dtx (with options: `2ekernel')
%% ltalloc.dtx (with options: `2ekernel')
%% ltcntrl.dtx (with options: `2ekernel')
%% lterror.dtx (with options: `2ekernel')
@@ -54,6 +55,7 @@
%% ltfilehook.dtx (with options: `2ekernel')
%% ltshipout.dtx (with options: `2ekernel')
%% ltoutput.dtx (with options: `2ekernel')
+%% lttagging.dtx (with options: `2ekernel')
%% ltfinal.dtx (with options: `2ekernel')
%%
%% This is a generated file.
@@ -693,7 +695,7 @@
\tracinggroups\z@
\tracingparagraphs\z@
\tracingmacros\z@
- \tracinglostchars\@ne
+ \tracinglostchars\tw@
\tracingpages\z@
\tracingstats\z@
}%
@@ -707,8 +709,8 @@
%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion
- {2023-11-01}
-\def\patch@level{1}
+ {2024-06-01}
+\def\patch@level{2}
\edef\development@branch@name{}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
@@ -1158,7 +1160,10 @@
\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
-\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_if_exist:NTF \cs_parameter_spec:N
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_parameter_spec:N }
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_argument_spec:N }
+\cs_gset_eq:NN \__kernel_cs_parameter_spec:N \@expl@cs@parameter@spec@@N
\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
@@ -1648,7 +1653,7 @@
\long\def\@show@newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
#3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
\long\def\@show@tokens#1{%
\edef\reserved@a{#1}%
\showtokens\expandafter
@@ -1679,7 +1684,7 @@
\@show@environment@end#1}
\long\def\@show@environment@begin#1{%
\typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}%
- \typeout{\@expl@cs@argument@spec@@N#1->%
+ \typeout{\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1.^^J}}
\long\def\@show@normalenv#1{%
\@show@environment@begin#1%
@@ -1690,12 +1695,12 @@
\long\def\@show@environment@end@aux#1#2{%
\@show@tokens{\string\end{\@expl@cs@to@str@@N#2}%
\ifx\relax#1=undefined%
- \else:^^J\@expl@cs@argument@spec@@N#1->%
+ \else:^^J\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1%
\fi}}
\def\@show@nonstop#1{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
\def\@show@typeout#1{\typeout{> #1.^^J}}
\def\@ifundefined#1{%
\ifcsname#1\endcsname\@ifundefin@d@i\else\@ifundefin@d@ii\fi{#1}}
@@ -1806,8 +1811,8 @@
\xdef#1{\the\toks@}%
\endgroup}
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.2a}
-\def\ltcmddate{2023-08-19}
+\def\ltcmdversion{v1.2e}
+\def\ltcmddate{2024-04-17}
\message{document commands,}
\ExplSyntaxOn
\tl_new:N \l__cmd_arg_spec_tl
@@ -1888,8 +1893,6 @@
\cs_new_protected:Npn \__cmd_declare_cmd_internal:Nnnn #1#2#3#4
{
\tl_set:Nx \l__cmd_function_tl { \cs_to_str:N #1 }
- \tl_set:Nx \l__cmd_fn_tl
- { \exp_not:c { \l__cmd_function_tl \c_space_tl } }
\__cmd_normalize_arg_spec:n {#2}
\exp_args:No \__cmd_prepare_signature:n \l__cmd_arg_spec_tl
\__cmd_declare_cmd_code:Nnn #1 {#2} {#3}
@@ -1897,12 +1900,60 @@
\__cmd_break_point:n {#2}
}
\cs_new_eq:NN \__cmd_break_point:n \use_none:n
-\cs_new_protected:Npn \__cmd_declare_cmd_code:Nnn
+\cs_new:Npn \__cmd_all_m_check:n #1
+ { \tl_map_function:nN {#1} \__cmd_all_m_check_aux:n }
+\cs_new:Npn \__cmd_all_m_check_aux:n #1
{
- \bool_if:NTF \l__cmd_grab_expandably_bool
- { \__cmd_declare_cmd_code_expandable:Nnn }
- { \__cmd_declare_cmd_code_aux:Nnn }
+ \str_if_eq:nnF {#1} { m }
+ {
+ \str_if_eq:nnF {#1} { + }
+ { X }
+ }
+ }
+\cs_new_protected:Npn \__cmd_declare_cmd_code:Nnn #1#2
+ {
+ \bool_lazy_any:nTF
+ {
+ { \l__cmd_environment_bool }
+ {
+ \bool_lazy_and_p:nn
+ { \l__cmd_some_short_bool }
+ { \l__cmd_some_long_bool }
+ }
+ { ! \tl_if_blank_p:e { \__cmd_all_m_check:n {#2} } }
+ }
+ {
+ \tl_set:Nx \l__cmd_fn_tl
+ { \exp_not:c { \l__cmd_function_tl \c_space_tl } }
+ \bool_if:NTF \l__cmd_grab_expandably_bool
+ { \__cmd_declare_cmd_code_expandable:Nnn }
+ { \__cmd_declare_cmd_code_aux:Nnn }
+ }
+ { \__cmd_declare_cmd_optimized:Nnn }
+ #1 {#2}
}
+\cs_new_protected:Npn \__cmd_declare_cmd_optimized:Nnn #1#2#3
+ {
+ \bool_if:NTF \l__cmd_expandable_bool
+ { \cs_set_nopar:Npe }
+ { \cs_set_protected_nopar:Npe }
+ #1
+ {
+ \exp_not:N \__cmd_start_optimized:
+ \exp_not:c { \l__cmd_function_tl \c_space_tl code }
+ }
+ \exp_args:Ncc \cs_generate_from_arg_count:NNnn
+ { \l__cmd_function_tl \c_space_tl code }
+ {
+ cs_set
+ \bool_if:NF \l__cmd_expandable_bool { _protected }
+ \bool_if:NF \l__cmd_some_long_bool { _nopar }
+ :Npn
+ }
+ \l__cmd_current_arg_int
+ {#3}
+ }
+\cs_new:Npn \__cmd_start_optimized: { }
\cs_new_protected:Npn \__cmd_declare_cmd_code_aux:Nnn #1#2#3
{
\cs_generate_from_arg_count:cNnn
@@ -2504,7 +2555,12 @@
\bool_if:NT \l__cmd_some_obey_spaces_bool
{
\msg_error:nnxx { cmd } { invalid-bang }
- { \__cmd_environment_or_command: } { \tl_to_str:n {#1} }
+ { \__cmd_environment_or_command: }
+ {
+ \bool_if:NTF \l__cmd_obey_spaces_bool
+ { \tl_to_str:n {'#1'} }
+ { an~optional~argument~before~mandatory~ \tl_to_str:n {'#1'} }
+ }
\__cmd_bad_def:wn
}
\tl_clear:N \l__cmd_last_delimiters_tl
@@ -2826,9 +2882,10 @@
\use:x
{
\int_set:Nn \tex_escapechar:D { 92 }
- \exp_not:N \__cmd_cmd_type_cases:NnnnnF \exp_not:N #2
+ \exp_not:N \__cmd_cmd_type_cases:NnnnnnF \exp_not:N #2
{ \__cmd_copy_command:nnNN }
{ \__cmd_copy_expandable:nnNN }
+ { \__cmd_copy_optimized:nnNN }
{ \__cmd_copy_environment:nnNN }
{ \__cmd_copy_environment_end:nnNN }
{ \__cmd_cant_copy:nwn { non-ltcmd } }
@@ -2881,6 +2938,18 @@
#3
{ \exp_after:wN \__cmd_copy_expandable:NnNNNNnnn #4 {#1} {#2} }
}
+\cs_new_protected:Npn \__cmd_copy_optimized:nnNN #1#2#3#4
+ {
+ \cs_set_eq:cc { #1 ~ code } { #2 ~ code }
+ \token_if_protected_macro:NTF #4
+ { \cs_set_protected_nopar:Npe }
+ { \cs_set_nopar:Npe }
+ #3
+ {
+ \exp_not:N \__cmd_start_optimized:
+ \exp_not:c { #1 ~ code }
+ }
+ }
\cs_new:Npn \__cmd_copy_expandable:NnNNNNnnn #1 #2 #3 #4 #5 #6 #7 #8 #9
{
\exp_not:N #1 \exp_not:n { {#2} }
@@ -3001,9 +3070,10 @@
\use:x
{
\int_set:Nn \tex_escapechar:D { 92 }
- \exp_not:N \__cmd_cmd_type_cases:NnnnnF \exp_not:N #1
+ \exp_not:N \__cmd_cmd_type_cases:NnnnnnF \exp_not:N #1
{ \__cmd_show_command:N }
{ \__cmd_show_expandable:N }
+ { \__cmd_show_optimized:N }
{ \__cmd_show_environment:N }
{ \__cmd_show_environment_end:N }
{ \__cmd_cant_copy:nwn { non-ltcmd } }
@@ -3037,6 +3107,43 @@
-> \cs_replacement_spec:N #4
}
}
+\cs_new_protected:Npn \__cmd_show_optimized:N #1
+ {
+ \exp_args:Nc \__cmd_show_optimized:NN
+ { \cs_to_str:N #1 \c_space_tl code }
+ #1
+ }
+\cs_new_protected:Npn \__cmd_show_optimized:NN #1#2
+ {
+ \cs_set:Npe \__cmd_show_optimized_aux:N ##1
+ {
+ \c_space_tl \c_space_tl \c_hash_str ##1 :
+ \bool_lazy_or:nnT
+ { \token_if_long_macro_p:N #1 }
+ { \token_if_protected_long_macro_p:N #1 }
+ { + } m
+ \iow_newline:
+ }
+ \tl_show:e
+ {
+ \token_to_str:N #2 =
+ \bool_lazy_or:nnF
+ { \token_if_protected_macro_p:N #1 }
+ { \token_if_protected_long_macro_p:N #1 }
+ { expandable ~ } document~command:
+ \iow_newline:
+ \int_step_function:nN
+ {
+ \int_div_truncate:nn
+ { \tl_count:e { \cs_parameter_spec:N #1 } }
+ { 2 }
+ }
+ \__cmd_show_optimized_aux:N
+ ->
+ \cs_replacement_spec:N #1
+ }
+ }
+\cs_generate_variant:Nn \tl_count:n { e }
\cs_new_protected:Npn \__cmd_show_environment:N #1
{
\exp_after:wN \__cmd_show_environment:Nnnw #1 \q__cmd
@@ -3604,7 +3711,12 @@
\tl_put_right:Nx \l__cmd_v_arg_tl
{
\token_if_active:NTF #1
- { \exp_not:N #1 } { \token_to_str:N #1 }
+ { \exp_not:N #1 }
+ {
+ \int_compare:nNnTF {`#1} = \tex_endlinechar:D
+ { \exp_not:N \obeyedline }
+ { \token_to_str:N #1 }
+ }
}
}
\cs_new_protected:Npn \__cmd_grab_v_token_if_char:NTF #1
@@ -4075,30 +4187,31 @@
#1 {#2} {#4}
\__cmd_tl_mapthread_loop:w #1#3 \q_mark
}
-\cs_new_protected:Npn \__cmd_cmd_type_cases:NnnnnF #1 #2 #3 #4 #5 #6
+\cs_new_protected:Npn \__cmd_cmd_type_cases:NnnnnnF #1 #2 #3 #4 #5 #6 #7
{
\exp_args:Ne \str_case_e:nnF
{
- \exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
+ \exp_args:Nf \tl_if_empty:nT { \__kernel_cs_parameter_spec:N #1 }
{ \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
{ \exp_not:N \__cmd_start:nNNnnn } {#2}
{ \exp_not:N \__cmd_start_expandable:nNNNNn } {#3}
- { \exp_not:N \__cmd_start_env:nnnnn } {#4}
+ { \exp_not:N \__cmd_start_optimized: } {#4}
+ { \exp_not:N \__cmd_start_env:nnnnn } {#5}
{
\exp_after:wN \exp_not:N
\cs:w environment~
\exp_last_unbraced:Ne \use_none:nnn
{ \cs_to_str:N #1 } ~end~aux \cs_end:
- } {#5}
+ } {#6}
}
- {#6}
+ {#7}
}
\cs_new_protected:Npn \__kernel_cmd_if_xparse:NTF #1
{
- \__cmd_cmd_type_cases:NnnnnF #1
- { } { } { } { } { \use_iii:nnn }
+ \__cmd_cmd_type_cases:NnnnnnF #1
+ { } { } { } { } { } { \use_iii:nnn }
\use_i:nn
}
\cs_new_protected:Npn \__cmd_peek_nonspace:NTF
@@ -4154,10 +4267,8 @@
\bool_if:NTF \l__cmd_environment_bool
{ environment ~ ' \l__cmd_environment_str ' }
{
- command ~ '
- \exp_args:Nf \tl_trim_spaces:n
- { \exp_after:wN \token_to_str:N \l__cmd_fn_tl }
- '
+ command ~
+ ' \c_backslash_str \tl_to_str:N \l__cmd_function_tl '
}
}
\msg_new:nnnn { cmd } { arg-after-body }
@@ -4249,7 +4360,7 @@
{ Invalid~argument~prefix~'!'~in~#1. }
{
The~prefix~'!'~is~only~allowed~for~trailing~optional~arguments.~
- You~tried~to~apply~it~to~'#2'.
+ You~tried~to~apply~it~to~#2.
\c__cmd_ignore_def_tl
}
\msg_new:nnnn { cmd } { not-definable }
@@ -4539,8 +4650,6 @@
\ExplSyntaxOff
%%% From File: lthooks.dtx
-\def\lthooksversion{v1.1f}
-\def\lthooksdate{2023/10/02}
\ExplSyntaxOn
\bool_new:N \g__hook_debug_bool
\cs_new_eq:NN \__hook_debug:n \use_none:n
@@ -4862,7 +4971,8 @@
\msg_error:nnnnn { hooks } { set-top-level }
{ for } { SetDefaultHookLabel } {#1}
}
- { \exp_args:Nx \__hook_set_default_label:n { \__hook_make_name:n {#1} } }
+ { \exp_args:Nx
+ \__hook_set_default_label:n { \__hook_make_name:n {#1} } }
}
\cs_new_protected:Npn \__hook_set_default_label:n #1
{
@@ -4996,7 +5106,8 @@
\__hook_gput_next_do:nn
{#1}
}
-\prg_new_protected_conditional:Npnn \__hook_try_declaring_generic_hook:wn
+\prg_new_protected_conditional:Npnn
+ \__hook_try_declaring_generic_hook:wn
#1 / #2 / #3 / #4 \scan_stop: #5 { TF }
{
\__hook_if_generic:nTF {#5}
@@ -5082,7 +5193,8 @@
\str_if_eq:nnTF {#2} { top-level }
{ \__hook_toplevel_gset:nn {#1} { } }
{
- \prop_gpop:cnNF { g__hook_#1_code_prop } {#2} \l__hook_return_tl
+ \prop_gpop:cnNF { g__hook_#1_code_prop }
+ {#2} \l__hook_return_tl
{ \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
}
}
@@ -5093,7 +5205,8 @@
\__hook_if_deprecated_generic:nTF {#1}
{
\__hook_deprecated_generic_warn:n {#1}
- \__hook_do_deprecated_generic:Nn \__hook_gremove_code:nn {#1} {#2}
+ \__hook_do_deprecated_generic:Nn
+ \__hook_gremove_code:nn {#1} {#2}
}
{ \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
}
@@ -5111,7 +5224,8 @@
{#1} {#2}
}
\cs_new_protected:Npn \__hook_cs_gput_right_fast:nnn #1 #2 #3
- { \cs_gset:cpx { __hook#1~#2 } { \exp_not:v { __hook#1~#2 } \exp_not:n {#3} } }
+ { \cs_gset:cpx { __hook#1~#2 }
+ { \exp_not:v { __hook#1~#2 } \exp_not:n {#3} } }
\cs_new_protected:Npn \__hook_cs_gput_right_slow:nnn #1 #2 #3
{
\cs_if_exist:cF { __hook#1~#2 }
@@ -5195,7 +5309,8 @@
}
\exp_last_unbraced:NNf
\cs_set:Npn \__hook_tmp:w { \__hook_parameter:n {#1} } { }
- \tl_set:Ne \l__hook_tmpa_tl { \__hook_braced_cs_parameter:n { __hook_tmp:w } }
+ \tl_set:Ne \l__hook_tmpa_tl
+ { \__hook_braced_cs_parameter:n { __hook_tmp:w } }
\cs_gset_protected:Npx \__hook_normalise_fn:nn ##1 ##2
{
\group_begin:
@@ -5333,27 +5448,34 @@
}
\cs_new_protected:Npn \__hook_rule_before_gset:nnn #1#2#3
{
- \__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ \__hook_tl_gset:cx
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
{ \__hook_label_ordered:nnTF {#2} {#3} { < } { > } }
}
\cs_new_eq:cN { __hook_rule_<_gset:nnn } \__hook_rule_before_gset:nnn
\cs_new_protected:Npn \__hook_rule_after_gset:nnn #1#2#3
{
- \__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#3} {#2} _tl }
+ \__hook_tl_gset:cx
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#3} {#2} _tl }
{ \__hook_label_ordered:nnTF {#3} {#2} { < } { > } }
}
\cs_new_eq:cN { __hook_rule_>_gset:nnn } \__hook_rule_after_gset:nnn
\cs_new_protected:Npn \__hook_rule_voids_gset:nnn #1#2#3
{
- \__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ \__hook_tl_gset:cx
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
{ \__hook_label_ordered:nnTF {#2} {#3} { -> } { <- } }
}
\cs_new_protected:cpn { __hook_rule_incompatible-error_gset:nnn } #1#2#3
- { \__hook_tl_gset:cn { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
- { xE } }
+ { \__hook_tl_gset:cn
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ { xE }
+ }
\cs_new_protected:cpn { __hook_rule_incompatible-warning_gset:nnn } #1#2#3
- { \__hook_tl_gset:cn { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
- { xW } }
+ { \__hook_tl_gset:cn
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ { xW }
+ }
\cs_new_protected:Npn \__hook_rule_unrelated_gset:nnn #1#2#3 { }
\cs_new_protected:Npn \__hook_rule_gclear:nnn #1#2#3
{ \cs_undefine:c { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl } }
@@ -5415,8 +5537,10 @@
{
\__hook_code_gset:ne {#1}
{
- \exp_not:c { __hook_toplevel~#1 } \__hook_braced_parameter:n {#1}
- \exp_not:c { __hook_next~#1 } \__hook_braced_parameter:n {#1}
+ \exp_not:c { __hook_toplevel~#1 }
+ \__hook_braced_parameter:n {#1}
+ \exp_not:c { __hook_next~#1 }
+ \__hook_braced_parameter:n {#1}
}
}
{
@@ -5493,7 +5617,8 @@
\int_compare:nNnT
{ \cs:w \__hook_tl_csname:n {##1} \cs_end: } = 0
{
- \tl_set:cn { \__hook_tl_csname:n { \l__hook_rear_tl } } {##1}
+ \tl_set:cn
+ { \__hook_tl_csname:n { \l__hook_rear_tl } } {##1}
\tl_set:Nn \l__hook_rear_tl {##1}
}
}
@@ -5648,7 +5773,7 @@
hook~'#1'
\__hook_if_disabled:nF {#1}
{
- \exp_args:Nf \__hook_print_args:nn {#1}
+ \exp_args:Nne \__hook_print_args:nn {#1}
{
\int_eval:n
{ \str_count:e { \__hook_parameter:n {#1} } / 3 }
@@ -5883,19 +6008,22 @@
\cs_new_protected:Npn \hook_use_once:n #1
{
\__hook_if_execute_immediately:nF {#1}
- { \__hook_normalize_hook_args:Nn \__hook_use_once:nn { \use:n {#1} } { 0 } }
+ { \__hook_normalize_hook_args:Nn \__hook_use_once:nn
+ { \use:n {#1} } { 0 } }
}
\cs_new_protected:Npn \hook_use_once:nnw #1 #2
{
\__hook_if_execute_immediately:nF {#1}
- { \__hook_normalize_hook_args:Nn \__hook_use_once:nn { \use:n {#1} } {#2} }
+ { \__hook_normalize_hook_args:Nn \__hook_use_once:nn
+ { \use:n {#1} } {#2} }
}
\cs_new_protected:Npn \__hook_use_once:nn #1 #2
{
\__hook_preamble_hook:n {#1}
\__hook_use_once_set:n {#1}
\__hook_replacing_args_false:
- \__hook_cs_gput_right:nnn { _next } {#1} { \__hook_use_once_clear:n {#1} }
+ \__hook_cs_gput_right:nnn { _next } {#1}
+ { \__hook_use_once_clear:n {#1} }
\__hook_replacing_args_reset:
\__hook_if_usable:nTF {#1}
{ \__hook_use_initialized:n {#1} }
@@ -6083,7 +6211,8 @@
{ Cannot~add~code~to~disabled~hook~'#1'. }
{
The~hook~'#1'~you~tried~to~add~code~to~was~previously~disabled~
- with~\iow_char:N\\hook_disable_generic:n~or~\iow_char:N\\DisableGenericHook,~so~
+ with~\iow_char:N\\hook_disable_generic:n~or~
+ \iow_char:N\\DisableGenericHook,~so~
it~cannot~have~code~added~to~it.
}
\msg_new:nnn { hooks } { empty-label }
@@ -6306,12 +6435,10 @@
\__hook_curr_name_pop:
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% File: ltcmdhooks.dtx
+%% From File: ltcmdhooks.dtx
%% Copyright (C) 2020-2024
%% Frank Mittelbach, Phelype Oleinik, The LaTeX Project
-%%% From File: ltcmdhooks.dtx
-\def\ltcmdhooksversion{v1.0i}
-\def\ltcmdhooksdate{2023/06/16}
+%%% From File: lthooks.dtx
\ExplSyntaxOn
\tl_new:N \g_hook_patch_action_list_tl
\int_new:N \l__hook_patch_num_args_int
@@ -6449,7 +6576,7 @@
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -6589,7 +6716,7 @@
{ ~ \__hook_double_hashes:w }
\cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3
{
- \str_if_eq:eeTF { \cs_argument_spec:N #1 } { }
+ \str_if_eq:eeTF { \__kernel_cs_parameter_spec:N #1 } { }
{ \__hook_patch_expand_redefine:NNnn \c_false_bool #1 {#2} {#3} }
{
\__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning }
@@ -6752,8 +6879,6 @@
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltsockets.dtx
-\def\ltsocketsversion{0.9a}
-\def\ltsocketsdate{2023-08-21}
\ExplSyntaxOn
\bool_new:N \g__socket_debug_bool
\cs_new_eq:NN \__socket_debug:n \use_none:n
@@ -6926,6 +7051,1187 @@
\cs_new_eq:NN \DebugSocketsOff \socket_debug_off:
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% From File: lttemplates.dtx
+\message{templates,}
+\ExplSyntaxOn
+\tl_const:Nn \c__template_code_root_tl { template~code~>~ }
+\tl_const:Nn \c__template_defaults_root_tl { template~defaults~>~ }
+\tl_const:Nn \c__template_instances_root_tl { template~instance~>~ }
+\tl_const:Nn \c__template_keytypes_root_tl { template~key~types~>~ }
+\tl_const:Nn \c__template_key_order_root_tl { template~key~order~>~ }
+\tl_const:Nn \c__template_values_root_tl { template~values~>~ }
+\tl_const:Nn \c__template_vars_root_tl { template~vars~>~ }
+\seq_const_from_clist:Nn \c__template_keytypes_arg_seq
+ { choice , function , instance }
+\prop_new:N \g__template_type_prop
+\tl_new:N \l__template_assignments_tl
+\tl_new:N \l__template_default_tl
+\bool_new:N \l__template_error_bool
+\bool_new:N \l__template_global_bool
+\tl_new:N \l__template_key_name_tl
+\tl_new:N \l__template_keytype_tl
+\tl_new:N \l__template_keytype_arg_tl
+\tl_new:N \l__template_value_tl
+\tl_new:N \l__template_var_tl
+\prop_new:N \l__template_keytypes_prop
+\seq_new:N \l__template_key_order_seq
+\prop_new:N \l__template_values_prop
+\prop_new:N \l__template_vars_prop
+\clist_new:N \l__template_tmp_clist
+\dim_new:N \l__template_tmp_dim
+\int_new:N \l__template_tmp_int
+\muskip_new:N \l__template_tmp_muskip
+\skip_new:N \l__template_tmp_skip
+\tl_new:N \l__template_tmp_tl
+\scan_new:N \s__template_mark
+\scan_new:N \s__template_stop
+\quark_new:N \q__template_nil
+\__kernel_quark_new_conditional:Nn \__template_quark_if_nil:N { F }
+\cs_new_protected:Npn \__template_execute_if_arg_agree:nnT #1#2#3
+ {
+ \prop_get:NnN \g__template_type_prop {#1} \l__template_tmp_tl
+ \int_compare:nNnTF {#2} = \l__template_tmp_tl
+ {#3}
+ {
+ \msg_error:nneee { template } { argument-number-mismatch }
+ {#1} { \l__template_tmp_tl } {#2}
+ }
+ }
+\cs_new_protected:Npn \__template_execute_if_code_exist:nnT #1#2#3
+ {
+ \cs_if_exist:cTF { \c__template_code_root_tl #1 / #2 }
+ {#3}
+ { \msg_error:nnnn { template } { no-template-code } {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_execute_if_keytype_exist:nT #1#2
+ {
+ \cs_if_exist:cTF { __template_store_value_ #1 :n }
+ {#2}
+ { \msg_error:nnn { template } { unknown-keytype } {#1} }
+ }
+\cs_generate_variant:Nn \__template_execute_if_keytype_exist:nT { V }
+\cs_new_protected:Npn \__template_execute_if_type_exist:nT #1#2
+ {
+ \prop_if_in:NnTF \g__template_type_prop {#1}
+ {#2}
+ { \msg_error:nnn { template } { unknown-type } {#1} }
+ }
+\cs_new_protected:Npn \__template_if_keys_exist:nnT #1#2#3
+ {
+ \cs_if_exist:cTF { \c__template_keytypes_root_tl #1 / #2 }
+ {#3}
+ { \msg_error:nnnn { template } { unknown-template } {#1} {#2} }
+ }
+\prg_new_conditional:Npnn \__template_if_key_value:n #1 { T , F , TF }
+ {
+ \str_if_eq:noTF { \KeyValue } { \tl_head:w #1 \q_nil \q_stop }
+ \prg_return_true:
+ \prg_return_false:
+ }
+\prg_generate_conditional_variant:Nnn \__template_if_key_value:n { V } { T , F , TF }
+\prg_new_conditional:Npnn \__template_if_instance_exist:nn #1#2 { T, F, TF }
+ {
+ \cs_if_exist:cTF { \c__template_instances_root_tl #1 / #2 }
+ \prg_return_true:
+ \prg_return_false:
+ }
+\prg_new_conditional:Npnn \__template_if_use_template:n #1 { TF }
+ {
+ \str_if_eq:noTF { \UseTemplate } { \tl_head:w #1 \q_nil \q_stop }
+ \prg_return_true:
+ \prg_return_false:
+}
+\cs_new_protected:Npn \__template_store_defaults:nn #1#2
+ {
+ \debug_suspend:
+ \prop_gclear_new:c { \c__template_defaults_root_tl #1 / #2 }
+ \prop_gset_eq:cN { \c__template_defaults_root_tl #1 / #2 }
+ \l__template_values_prop
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_store_keytypes:nn #1#2
+ {
+ \debug_suspend:
+ \prop_if_exist:cTF { \c__template_keytypes_root_tl #1 / #2 }
+ {
+ \msg_info:nnnn { template } { declare-template-interface } {#1} {#2}
+ \prop_gclear:c { \c__template_keytypes_root_tl #1 / #2 }
+ }
+ { \prop_new:c { \c__template_keytypes_root_tl #1 / #2 } }
+ \prop_gset_eq:cN { \c__template_keytypes_root_tl #1 / #2 }
+ \l__template_keytypes_prop
+ \seq_gclear_new:c { \c__template_key_order_root_tl #1 / #2 }
+ \seq_gset_eq:cN { \c__template_key_order_root_tl #1 / #2 }
+ \l__template_key_order_seq
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_store_values:nn #1#2
+ {
+ \debug_suspend:
+ \prop_clear_new:c { \c__template_values_root_tl #1 / #2 }
+ \prop_set_eq:cN { \c__template_values_root_tl #1 / #2 }
+ \l__template_values_prop
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_store_vars:nn #1#2
+ {
+ \debug_suspend:
+ \prop_gclear_new:c { \c__template_vars_root_tl #1 / #2 }
+ \prop_gset_eq:cN { \c__template_vars_root_tl #1 / #2 }
+ \l__template_vars_prop
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_recover_defaults:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_defaults_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_values_prop
+ { \c__template_defaults_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_values_prop }
+ }
+\cs_new_protected:Npn \__template_recover_keytypes:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_keytypes_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_keytypes_prop
+ { \c__template_keytypes_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_keytypes_prop }
+ \seq_if_exist:cTF { \c__template_key_order_root_tl #1 / #2 }
+ {
+ \seq_set_eq:Nc \l__template_key_order_seq
+ { \c__template_key_order_root_tl #1 / #2 }
+ }
+ { \seq_clear:N \l__template_key_order_seq }
+ }
+\cs_new_protected:Npn \__template_recover_values:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_values_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_values_prop
+ { \c__template_values_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_values_prop }
+ }
+\cs_new_protected:Npn \__template_recover_vars:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_vars_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_vars_prop
+ { \c__template_vars_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_vars_prop }
+ }
+\cs_new_protected:Npn \__template_define_type:nn #1#2
+ {
+ \prop_if_in:NnTF \g__template_type_prop {#1}
+ { \msg_error:nnn { template } { type-already-defined } {#1} }
+ { \__template_declare_type:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_declare_type:nn #1#2
+ {
+ \int_set:Nn \l__template_tmp_int {#2}
+ \int_compare:nTF { 0 <= \l__template_tmp_int <= 9 }
+ {
+ \msg_info:nnnV { template } { declare-type }
+ {#1} \l__template_tmp_int
+ \prop_gput:NnV \g__template_type_prop {#1}
+ \l__template_tmp_int
+ }
+ {
+ \msg_error:nnnV { template } { bad-number-of-arguments }
+ {#1} \l__template_tmp_int
+ }
+ }
+\cs_new_protected:Npn \__template_declare_template_keys:nnnn #1#2#3#4
+ {
+ \__template_execute_if_type_exist:nT {#1}
+ {
+ \__template_execute_if_arg_agree:nnT {#1} {#3}
+ {
+ \prop_clear:N \l__template_values_prop
+ \prop_clear:N \l__template_keytypes_prop
+ \seq_clear:N \l__template_key_order_seq
+ \keyval_parse:NNn
+ \__template_parse_keys_elt:n \__template_parse_keys_elt:nn {#4}
+ \__template_store_defaults:nn {#1} {#2}
+ \__template_store_keytypes:nn {#1} {#2}
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt:n #1
+ {
+ \__template_split_keytype:n {#1}
+ \bool_if:NF \l__template_error_bool
+ {
+ \__template_execute_if_keytype_exist:VT \l__template_keytype_tl
+ {
+ \seq_map_function:NN \c__template_keytypes_arg_seq
+ \__template_parse_keys_elt_aux:n
+ \bool_if:NF \l__template_error_bool
+ {
+ \seq_if_in:NoTF \l__template_key_order_seq
+ \l__template_key_name_tl
+ {
+ \msg_error:nnV { template } { duplicate-key-interface }
+ \l__template_key_name_tl
+ }
+ { \__template_parse_keys_elt_aux: }
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt_aux:n #1
+ {
+ \str_if_eq:VnT \l__template_keytype_tl {#1}
+ {
+ \tl_if_empty:NT \l__template_keytype_arg_tl
+ {
+ \msg_error:nnn { template } { keytype-requires-argument } {#1}
+ \bool_set_true:N \l__template_error_bool
+ \seq_map_break:
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt_aux:
+ {
+ \tl_set:Ne \l__template_tmp_tl
+ {
+ \l__template_keytype_tl
+ \tl_if_empty:NF \l__template_keytype_arg_tl
+ { { \l__template_keytype_arg_tl } }
+ }
+ \prop_put:NVV \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \seq_put_right:NV \l__template_key_order_seq \l__template_key_name_tl
+ \str_if_eq:VnT \l__template_keytype_tl { choice }
+ {
+ \clist_if_in:NnT \l__template_keytype_arg_tl { unknown }
+ { \msg_error:nn { template } { choice-unknown-reserved } }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt:nn #1#2
+ {
+ \__template_parse_keys_elt:n {#1}
+ \use:c { __template_store_value_ \l__template_keytype_tl :n } {#2}
+ }
+\cs_new_protected:Npe \__template_split_keytype:n #1
+ {
+ \exp_not:N \bool_set_false:N \exp_not:N \l__template_error_bool
+ \tl_set:Nn \exp_not:N \l__template_tmp_tl {#1}
+ \tl_replace_all:Nnn \exp_not:N \l__template_tmp_tl { : } { \token_to_str:N : }
+ \tl_if_in:VnTF \exp_not:N \l__template_tmp_tl { \token_to_str:N : }
+ {
+ \exp_not:n
+ {
+ \tl_clear:N \l__template_key_name_tl
+ \exp_after:wN \__template_split_keytype_aux:w
+ \l__template_tmp_tl \s__template_stop
+ }
+ }
+ {
+ \exp_not:N \bool_set_true:N \exp_not:N \l__template_error_bool
+ \msg_error:nnn { template } { missing-keytype } {#1}
+ }
+ }
+\use:e
+ {
+ \cs_new_protected:Npn \exp_not:N \__template_split_keytype_aux:w
+ #1 \token_to_str:N : #2 \s__template_stop
+ {
+ \tl_put_right:Ne \exp_not:N \l__template_key_name_tl
+ {
+ \exp_not:N \tl_trim_spaces:e
+ { \exp_not:N \tl_to_str:n {#1} }
+ }
+ \tl_if_in:nnTF {#2} { \token_to_str:N : }
+ {
+ \tl_put_right:Nn \exp_not:N \l__template_key_name_tl
+ { \token_to_str:N : }
+ \exp_not:N \__template_split_keytype_aux:w #2 \s__template_stop
+ }
+ {
+ \exp_not:N \tl_if_empty:NTF \exp_not:N \l__template_key_name_tl
+ {
+ \msg_error:nnn { template } { empty-key-name }
+ { \token_to_str:N : #2 }
+ }
+ { \exp_not:N \__template_split_keytype_arg:n {#2} }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_split_keytype_arg:n #1
+ {
+ \tl_set:Ne \l__template_keytype_tl { \tl_trim_spaces:n {#1} }
+ \tl_clear:N \l__template_keytype_arg_tl
+ \cs_set_protected:Npn \__template_split_keytype_arg_aux:n ##1
+ {
+ \tl_if_in:nnT {#1} {##1}
+ {
+ \cs_set:Npn \__template_split_keytype_arg_aux:w
+ ####1 ##1 ####2 \s__template_stop
+ {
+ \tl_if_blank:nT {####1}
+ {
+ \tl_set:Ne \l__template_keytype_tl
+ { \tl_trim_spaces:n {##1} }
+ \tl_if_blank:nF {####2}
+ {
+ \tl_set:Ne \l__template_keytype_arg_tl
+ { \use:n ####2 }
+ }
+ \seq_map_break:
+ }
+ }
+ \__template_split_keytype_arg_aux:w #1 \s__template_stop
+ }
+ }
+ \seq_map_function:NN \c__template_keytypes_arg_seq
+ \__template_split_keytype_arg_aux:n
+ }
+\cs_generate_variant:Nn \__template_split_keytype_arg:n { V }
+\cs_new:Npn \__template_split_keytype_arg_aux:n #1 { }
+\cs_new:Npn \__template_split_keytype_arg_aux:w #1 \s__template_stop { }
+\cs_new_protected:Npn \__template_store_value_boolean:n #1
+ { \prop_put:Non \l__template_values_prop \l__template_key_name_tl {#1} }
+\cs_new_protected:Npn \__template_store_value:n #1
+ { \prop_put:Non \l__template_values_prop \l__template_key_name_tl {#1} }
+\cs_new_eq:NN \__template_store_value_choice:n \__template_store_value:n
+\cs_new_eq:NN \__template_store_value_function:n \__template_store_value:n
+\cs_new_eq:NN \__template_store_value_instance:n \__template_store_value:n
+\cs_new_protected:Npn \__template_store_value_aux:Nn #1#2
+ { \prop_put:Non \l__template_values_prop \l__template_key_name_tl {#2} }
+\cs_new_protected:Npn \__template_store_value_integer:n
+ { \__template_store_value_aux:Nn \int_eval:n }
+\cs_new_protected:Npn \__template_store_value_length:n
+ { \__template_store_value_aux:Nn \dim_eval:n }
+\cs_new_protected:Npn \__template_store_value_muskip:n
+ { \__template_store_value_aux:Nn \muskip_eval:n }
+\cs_new_protected:Npn \__template_store_value_real:n
+ { \__template_store_value_aux:Nn \fp_eval:n }
+\cs_new_protected:Npn \__template_store_value_skip:n
+ { \__template_store_value_aux:Nn \skip_eval:n }
+\cs_new_protected:Npn \__template_store_value_tokenlist:n
+ { \__template_store_value_aux:Nn \use:n }
+\cs_new_eq:NN \__template_store_value_commalist:n \__template_store_value_tokenlist:n
+\cs_new_protected:Npn \__template_declare_template_code:nnnnn #1#2#3#4#5
+ {
+ \__template_execute_if_type_exist:nT {#1}
+ {
+ \__template_execute_if_arg_agree:nnT {#1} {#3}
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_store_key_implementation:nnn {#1} {#2} {#4}
+ \regex_match:nnTF { \c { AssignTemplateKeys } } {#5}
+ { \__template_declare_template_code:nnnn {#1} {#2} {#3} {#5} }
+ {
+ \__template_declare_template_code:nnnn
+ {#1} {#2} {#3} { \AssignTemplateKeys #5 }
+ }
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_declare_template_code:nnnn #1#2#3#4
+ {
+ \cs_if_exist:cT { \c__template_code_root_tl #1 / #2 }
+ { \msg_info:nnnn { template } { declare-template-code } {#1} {#2} }
+ \cs_generate_from_arg_count:cNnn
+ { \c__template_code_root_tl #1 / #2 }
+ \cs_gset_protected:Npn {#3} {#4}
+ }
+\cs_new_protected:Npn \__template_store_key_implementation:nnn #1#2#3
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_recover_keytypes:nn {#1} {#2}
+ \prop_clear:N \l__template_vars_prop
+ \keyval_parse:nnn
+ { \__template_parse_vars_elt:n } { \__template_parse_vars_elt:nnn { #1 / #2 } } {#3}
+ \__template_store_vars:nn {#1} {#2}
+ \prop_map_inline:Nn \l__template_keytypes_prop
+ { \msg_error:nnnnn { template } { key-not-implemented } {##1} {#2} {#1} }
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt:n #1
+ { \msg_error:nnn { template } { key-no-variable } {#1} }
+\cs_new_protected:Npn \__template_parse_vars_elt:nnn #1#2#3
+ {
+ \tl_set:Ne \l__template_key_name_tl
+ { \tl_trim_spaces:e { \tl_to_str:n {#2} } }
+ \prop_get:NVNTF \l__template_keytypes_prop
+ \l__template_key_name_tl
+ \l__template_keytype_tl
+ {
+ \__template_split_keytype_arg:V \l__template_keytype_tl
+ \__template_parse_vars_elt_aux:nn {#1} {#3}
+ \prop_remove:NV \l__template_keytypes_prop \l__template_key_name_tl
+ }
+ { \msg_error:nnn { template } { unknown-key } {#2} }
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt_aux:nn #1#2
+ {
+ \__template_parse_vars_elt_aux:nw {#1} #2 global global \s__template_stop
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt_aux:nw
+ #1#2 global #3 global #4 \s__template_stop
+ {
+ \tl_if_blank:nTF {#4}
+ { \__template_parse_vars_elt_aux:nnn {#1} { } {#2} }
+ {
+ \tl_if_blank:nTF {#2}
+ {
+ \__template_parse_vars_elt_aux:nne
+ {#1} { global } { \tl_trim_spaces:n {#3} }
+ }
+ { \msg_error:nnn { template } { bad-variable } { #2 global #3 } }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt_aux:nnn #1#2#3
+ {
+ \str_case:VnF \l__template_keytype_tl
+ {
+ { choice } { \__template_implement_choices:nn {#1} {#3} }
+ { function }
+ {
+ \cs_if_exist:NF #3
+ { \cs_new:Npn #3 { } }
+ \__template_parse_vars_elt_key:nn {#1}
+ {
+ .code:n =
+ {
+ \cs_generate_from_arg_count:NNnn
+ \exp_not:N #3
+ \exp_not:c
+ { cs_ \str_if_eq:nnT {#1} { global } { g } set:Npn }
+ { \exp_not:V \l__template_keytype_arg_tl }
+ {##1}
+ }
+ }
+ \prop_put:NVn \l__template_vars_prop
+ \l__template_key_name_tl {#2#3}
+ }
+ { instance }
+ {
+ \__template_parse_vars_elt_key:nn {#1}
+ {
+ .code:n =
+ {
+ \exp_not:c
+ { cs_ \str_if_eq:nnT {#1} { global } { g } set:Npn }
+ \exp_not:N #3 { \UseInstance {##1} }
+ }
+ }
+ \prop_put:NVn \l__template_vars_prop
+ \l__template_key_name_tl {#2#3}
+ }
+ }
+ {
+ \tl_if_single:nTF {#3}
+ {
+ \cs_if_exist:NF #3
+ { \use:c { \__template_map_var_type: _new:N } #3 }
+ \__template_parse_vars_elt_key:nn {#1}
+ {
+ . \__template_map_var_type:
+ _ \str_if_eq:nnT {#1} { global } { g } set:N
+ = \exp_not:N #3
+ }
+ \prop_put:NVn \l__template_vars_prop
+ \l__template_key_name_tl {#2#3}
+ }
+ { \msg_error:nnn { template } { bad-variable } {#2#3} }
+ }
+ }
+\cs_generate_variant:Nn \__template_parse_vars_elt_aux:nnn { nne }
+\cs_new_protected:Npn \__template_parse_vars_elt_key:nn #1#2
+ {
+ \keys_define:ne { template / #1 }
+ { \l__template_key_name_tl #2 }
+ }
+\cs_new:Npn \__template_map_var_type:
+ {
+ \str_case:Vn \l__template_keytype_tl
+ {
+ { boolean } { bool }
+ { commalist } { clist }
+ { integer } { int }
+ { length } { dim }
+ { muskip } { muskip }
+ { real } { fp }
+ { skip } { skip }
+ { tokenlist } { tl }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choices:nn #1#2
+ {
+ \clist_set:NV \l__template_tmp_clist \l__template_keytype_arg_tl
+ \prop_put:NVn \l__template_vars_prop \l__template_key_name_tl { }
+ \keys_define:ne { template / #1 } { \l__template_key_name_tl .choice: }
+ \keyval_parse:nnn
+ { \__template_implement_choice_elt:n }
+ { \__template_implement_choice_elt:nnn {#1} }
+ {#2}
+ \prop_get:NVNT \l__template_values_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ { \__template_implement_choices_default: }
+ \clist_if_empty:NF \l__template_tmp_clist
+ {
+ \clist_map_inline:Nn \l__template_tmp_clist
+ { \msg_error:nnn { template } { choice-not-implemented } {##1} }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choices_default:
+ {
+ \tl_set:Ne \l__template_tmp_tl
+ { \l__template_key_name_tl \c_space_tl \l__template_tmp_tl }
+ \prop_if_in:NVF \l__template_vars_prop \l__template_tmp_tl
+ {
+ \tl_set:Ne \l__template_tmp_tl
+ { \l__template_key_name_tl \c_space_tl \l__template_tmp_tl }
+ \prop_if_in:NVF \l__template_vars_prop \l__template_tmp_tl
+ {
+ \prop_get:NVN \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \prop_get:NVN \l__template_values_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \msg_error:nnVV { template } { unknown-default-choice }
+ \l__template_key_name_tl
+ \l__template_key_name_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt:nnn #1#2#3
+ {
+ \clist_if_empty:NTF \l__template_tmp_clist
+ {
+ \str_if_eq:nnTF {#2} { unknown }
+ { \__template_implement_choice_elt_aux:nnn {#1} {#2} {#3} }
+ { \__template_implement_choice_elt_aux:n {#2} }
+ }
+ {
+ \clist_if_in:NnTF \l__template_tmp_clist {#2}
+ {
+ \clist_remove_all:Nn \l__template_tmp_clist {#2}
+ \__template_implement_choice_elt_aux:nnn {#1} {#2} {#3}
+ }
+ { \__template_implement_choice_elt_aux:n {#2} }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt_aux:n #1
+ {
+ \prop_get:NVN \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \msg_error:nnVn { template } { unknown-choice } \l__template_key_name_tl {#1}
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt_aux:nnn #1#2#3
+ {
+ \keys_define:ne { template / #1 }
+ { \l__template_key_name_tl / #2 .code:n = { \exp_not:n {#3} } }
+ \tl_set:Ne \l__template_tmp_tl
+ { \l__template_key_name_tl \c_space_tl #2 }
+ \prop_put:NVn \l__template_vars_prop \l__template_tmp_tl {#3}
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt:n #1
+ {
+ \msg_error:nnVn { template } { choice-requires-code }
+ \l__template_key_name_tl {#1}
+ }
+\cs_new_protected:Npn \__template_edit_defaults:nnn #1#2#3
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_parse_values:nnn {#1} {#2} {#3}
+ \__template_store_defaults:nn {#1} {#2}
+ }
+ }
+\cs_new_protected:Npn \__template_parse_values:nnn #1#2#3
+ {
+ \__template_recover_keytypes:nn {#1} {#2}
+ \keyval_parse:NNn
+ \__template_parse_values_elt:n \__template_parse_values_elt:nn {#3}
+ }
+\cs_new_protected:Npn \__template_parse_values_elt:n #1
+ {
+ \bool_set_true:N \l__template_error_bool
+ \msg_error:nnn { template } { key-no-value } {#1}
+ }
+\cs_new_protected:Npn \__template_parse_values_elt:nn #1#2
+ {
+ \tl_set:Ne \l__template_key_name_tl
+ { \tl_trim_spaces:e { \tl_to_str:n {#1} } }
+ \prop_get:NVNTF \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ { \__template_parse_values_elt_aux:n {#2} }
+ { \msg_error:nnV { template } { unknown-key } \l__template_key_name_tl }
+ }
+\cs_new_protected:Npn \__template_parse_values_elt_aux:n #1
+ {
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \use:c { __template_store_value_ \l__template_keytype_tl :n } {#1}
+ }
+\cs_new_protected:Npn \__template_template_set_eq:nnn #1#2#3
+ {
+ \__template_recover_defaults:nn {#1} {#3}
+ \__template_store_defaults:nn {#1} {#2}
+ \__template_recover_keytypes:nn {#1} {#3}
+ \__template_store_keytypes:nn {#1} {#2}
+ \__template_recover_vars:nn {#1} {#3}
+ \__template_store_vars:nn {#1} {#2}
+ \cs_if_exist:cT { \c__template_code_root_tl #1 / #2 }
+ { \msg_info:nnnn { template } { declare-template-code } {#1} {#2} }
+ \cs_gset_eq:cc { \c__template_code_root_tl #1 / #2 }
+ { \c__template_code_root_tl #1 / #3 }
+ }
+\cs_new_protected:Npn \__template_declare_instance:nnnn #1#2#3#4
+ {
+ \__template_execute_if_code_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_declare_instance_aux:nnnn {#1} {#2} {#3} {#4}
+ }
+ }
+\cs_new_protected:Npn \__template_declare_instance_aux:nnnn #1#2#3#4
+ {
+ \bool_set_false:N \l__template_error_bool
+ \__template_parse_values:nnn {#1} {#2} {#4}
+ \bool_if:NF \l__template_error_bool
+ {
+ \prop_put:Nnn \l__template_values_prop { from~template } {#2}
+ \__template_store_values:nn {#1} {#3}
+ \__template_convert_to_assignments:
+ \cs_if_exist:cT { \c__template_instances_root_tl #1 / #3 }
+ { \msg_info:nnnn { template } { declare-instance } {#3} {#1} }
+ \cs_set_protected:cpe { \c__template_instances_root_tl #1 / #3 }
+ {
+ \exp_not:N \__template_assignments_push:n
+ { \exp_not:V \l__template_assignments_tl }
+ \exp_not:c { \c__template_code_root_tl #1 / #2 }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_instance_set_eq:nnn #1#2#3
+ {
+ \__template_if_instance_exist:nnTF {#1} {#3}
+ {
+ \__template_recover_values:nn {#1} {#3}
+ \__template_store_values:nn {#1} {#2}
+ \cs_if_exist:cT { \c__template_instances_root_tl #1 / #2 }
+ { \msg_info:nnnn { template } { declare-instance } {#2} {#1} }
+ \cs_set_eq:cc { \c__template_instances_root_tl #1 / #2 }
+ { \c__template_instances_root_tl #1 / #3 }
+ }
+ { \msg_error:nnnn { template } { unknown-instance } {#1} {#3} }
+ }
+\cs_new_protected:Npn \__template_edit_instance:nnn #1#2#3
+ {
+ \__template_if_instance_exist:nnTF {#1} {#2}
+ {
+ \__template_recover_values:nn {#1} {#2}
+ \prop_get:NnN \l__template_values_prop { from~template }
+ \l__template_tmp_tl
+ \__template_edit_instance_aux:nVnn
+ {#1} \l__template_tmp_tl {#2} {#3}
+ }
+ { \msg_error:nnnn { template } { unknown-instance } {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_edit_instance_aux:nnnn #1#2#3#4
+ {
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_declare_instance_aux:nnnn {#1} {#2} {#3} {#4}
+ }
+\cs_generate_variant:Nn \__template_edit_instance_aux:nnnn { nV }
+\cs_new_protected:Npn \__template_convert_to_assignments:
+ {
+ \tl_clear:N \l__template_assignments_tl
+ \seq_map_function:NN \l__template_key_order_seq
+ \__template_convert_to_assignments_aux:n
+ }
+\cs_new_protected:Npn \__template_convert_to_assignments_aux:n #1
+ {
+ \prop_get:NnN \l__template_keytypes_prop {#1} \l__template_tmp_tl
+ \__template_convert_to_assignments_aux:nV {#1} \l__template_tmp_tl
+ }
+\cs_new_protected:Npn \__template_convert_to_assignments_aux:nn #1#2
+ {
+ \prop_get:NnNT \l__template_values_prop {#1} \l__template_value_tl
+ {
+ \prop_get:NnNTF \l__template_vars_prop {#1} \l__template_var_tl
+ {
+ \__template_split_keytype_arg:n {#2}
+ \str_if_eq:VnF \l__template_keytype_tl { choice }
+ {
+ \str_if_eq:VnF \l__template_keytype_tl { code }
+ { \__template_find_global: }
+ }
+ \tl_set:Nn \l__template_key_name_tl {#1}
+ \cs_if_exist_use:cF { __template_assign_ \l__template_keytype_tl : }
+ { \__template_assign_variable: }
+ }
+ { \msg_error:nnn { template } { unknown-attribute } {#1} }
+ }
+ }
+\cs_generate_variant:Nn \__template_convert_to_assignments_aux:nn { nV }
+\cs_new_protected:Npn \__template_find_global:
+ {
+ \bool_set_false:N \l__template_global_bool
+ \tl_if_in:onT \l__template_var_tl { global }
+ {
+ \exp_after:wN \__template_find_global_aux:w \l__template_var_tl \s__template_stop
+ }
+ }
+\cs_new_protected:Npn \__template_find_global_aux:w #1 global #2 \s__template_stop
+ {
+ \tl_set:Nn \l__template_var_tl {#2}
+ \bool_set_true:N \l__template_global_bool
+ }
+\cs_new_protected:Npn \__template_use_template:nnn #1#2#3
+ {
+ \__template_execute_if_code_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_parse_values:nnn {#1} {#2} {#3}
+ \__template_convert_to_assignments:
+ \use:c { \c__template_code_root_tl #1 / #2 }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_boolean:
+ {
+ \bool_if:NTF \l__template_global_bool
+ { \__template_assign_boolean_aux:n { bool_gset } }
+ { \__template_assign_boolean_aux:n { bool_set } }
+ }
+\cs_new_protected:Npn \__template_assign_boolean_aux:n #1
+ {
+ \__template_if_key_value:VTF \l__template_value_tl
+ {
+ \__template_key_to_value:
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \exp_not:c { #1 _eq:NN }
+ \exp_not:V \l__template_var_tl
+ \exp_not:V \l__template_value_tl
+ }
+ }
+ {
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \exp_not:c { #1 _ \l__template_value_tl :N }
+ \exp_not:V \l__template_var_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_choice:
+ {
+ \__template_assign_choice_aux:eF
+ { \l__template_key_name_tl \c_space_tl \l__template_value_tl }
+ {
+ \__template_assign_choice_aux:eF
+ { \l__template_key_name_tl \c_space_tl unknown }
+ {
+ \prop_get:NVN \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \msg_error:nnVV { template } { unknown-choice }
+ \l__template_key_name_tl
+ \l__template_value_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_choice_aux:nF #1
+ {
+ \prop_get:NnNTF \l__template_vars_prop {#1} \l__template_tmp_tl
+ { \tl_put_right:NV \l__template_assignments_tl \l__template_tmp_tl }
+ }
+\cs_generate_variant:Nn \__template_assign_choice_aux:nF { e }
+\cs_new_protected:Npn \__template_assign_function:
+ {
+ \bool_if:NTF \l__template_global_bool
+ { \__template_assign_function_aux:N \cs_gset:Npn }
+ { \__template_assign_function_aux:N \cs_set:Npn }
+ }
+\cs_new_protected:Npn \__template_assign_function_aux:N #1
+ {
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \cs_generate_from_arg_count:NNnn
+ \exp_not:V \l__template_var_tl
+ \exp_not:N #1
+ { \exp_not:V \l__template_keytype_arg_tl }
+ { \exp_not:V \l__template_value_tl }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_instance:
+ {
+ \bool_if:NTF \l__template_global_bool
+ { \__template_assign_instance_aux:N \cs_gset_protected:Npn }
+ { \__template_assign_instance_aux:N \cs_set_protected:Npn }
+ }
+\cs_new_protected:Npn \__template_assign_instance_aux:N #1
+ {
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \exp_not:N #1 \exp_not:V \l__template_var_tl
+ {
+ \__template_use_instance:nn
+ { \exp_not:V \l__template_keytype_arg_tl }
+ { \exp_not:V \l__template_value_tl }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_variable:
+ {
+ \__template_assign_variable:c
+ {
+ \__template_map_var_type: _
+ \bool_if:NT \l__template_global_bool { g } set:Nn
+ }
+ }
+\cs_new_protected:Npn \__template_assign_variable:N #1
+ {
+ \__template_if_key_value:VT \l__template_value_tl
+ { \__template_key_to_value: }
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ #1 \exp_not:V \l__template_var_tl
+ { \exp_not:V \l__template_value_tl }
+ }
+ }
+\cs_generate_variant:Nn \__template_assign_variable:N { c }
+\cs_new_protected:Npn \__template_key_to_value:
+ { \exp_after:wN \__template_key_to_value_auxi:w \l__template_value_tl }
+\cs_new_protected:Npn \__template_key_to_value_auxi:w \KeyValue #1
+ {
+ \tl_set:Ne \l__template_tmp_tl { \tl_trim_spaces:e { \tl_to_str:n {#1} } }
+ \prop_get:NVNTF \l__template_vars_prop \l__template_tmp_tl
+ \l__template_value_tl
+ {
+ \exp_after:wN \__template_key_to_value_auxii:w \l__template_value_tl
+ \s__template_mark global \q__template_nil \s__template_stop
+ }
+ { \msg_error:nnV { template } { unknown-attribute } \l__template_tmp_tl }
+ }
+\cs_new_protected:Npn \__template_key_to_value_auxii:w #1 global #2#3 \s__template_stop
+ {
+ \__template_quark_if_nil:NF #2
+ { \tl_set:Nn \l__template_value_tl {#2} }
+ }
+\cs_new_protected:Npn \__template_use_instance:nn #1#2
+ {
+ \__template_if_use_template:nTF {#2}
+ { \__template_use_instance_aux:nNnnn {#1} #2 }
+ { \__template_use_instance_aux:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_use_instance_aux:nNnnn #1#2#3#4#5
+ {
+ \str_if_eq:nnTF {#1} {#3}
+ { \__template_use_template:nnn {#3} {#4} {#5} }
+ { \msg_error:nnnn { template } { type-mismatch } {#1} {#3} }
+}
+\cs_new_protected:Npn \__template_use_instance_aux:nn #1#2
+ {
+ \__template_if_instance_exist:nnTF {#1} {#2}
+ { \use:c { \c__template_instances_root_tl #1 / #2 } }
+ { \msg_error:nnnn { template } { unknown-instance } {#1} {#2} }
+ }
+\cs_new:Npn \__template_assignments_pop: { \l__template_assignments_tl }
+\cs_new_protected:Npn \__template_assignments_push:n #1
+ { \tl_set:Nn \l__template_assignments_tl {#1} }
+\cs_new_protected:Npn \__template_show_code:nn #1#2
+ { \cs_show:c { \c__template_code_root_tl #1 / #2 } }
+\cs_new_protected:Npn \__template_show_defaults:nn #1#2
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_show:Nnnn \l__template_values_prop
+ {#1} {#2} { default~values }
+ }
+ }
+\cs_new_protected:Npn \__template_show_keytypes:nn #1#2
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_recover_keytypes:nn {#1} {#2}
+ \__template_show:Nnnn \l__template_keytypes_prop
+ {#1} {#2} { interface }
+ }
+ }
+\cs_new_protected:Npn \__template_show_vars:nn #1#2
+ {
+ \__template_execute_if_code_exist:nnT {#1} {#2}
+ {
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_show:Nnnn \l__template_vars_prop
+ {#1} {#2} { variable~mapping }
+ }
+ }
+\cs_new_protected:Npn \__template_show:Nnnn #1#2#3#4
+ {
+ \msg_show:nneeee { template } { show-attribute }
+ { \tl_to_str:n {#2} }
+ { \tl_to_str:n {#3} }
+ { \tl_to_str:n {#4} }
+ { \prop_map_function:NN #1 \msg_show_item_unbraced:nn }
+ }
+\cs_new_protected:Npn \__template_show_values:nn #1#2
+ {
+ \__template_if_instance_exist:nnT {#1} {#2}
+ {
+ \__template_recover_values:nn {#1} {#2}
+ \msg_show:nneee { template } { show-values }
+ { \tl_to_str:n {#1} }
+ { \tl_to_str:n {#2} }
+ {
+ \prop_map_function:NN \l__template_values_prop
+ \msg_show_item_unbraced:nn
+ }
+ }
+ }
+\msg_new:nnnn { template } { argument-number-mismatch }
+ { Template~type~'#1'~takes~#2~argument(s). }
+ {
+ Templates~of~type~'#1'~require~#2~argument(s).\\
+ You~have~tried~to~make~a~template~for~'#1'~
+ with~#3~argument(s),~which~is~not~possible:~
+ the~number~of~arguments~must~agree.
+ }
+\msg_new:nnnn { template } { bad-number-of-arguments }
+ { Bad~number~of~arguments~for~template~type~'#1'. }
+ {
+ A~template~may~accept~between~0~and~9~arguments.\\
+ You~asked~to~use~#2~arguments:~this~is~not~supported.
+ }
+\msg_new:nnnn { template } { bad-variable }
+ { Incorrect~variable~description~'#1'. }
+ {
+ The~argument~'#1'~is~not~of~the~form \\
+ ~~'<variable>'\\
+ ~or~\\
+ ~~'global~<variable>'.\\
+ It~must~be~given~in~one~of~these~formats~to~be~used~in~a~template.
+ }
+\msg_new:nnnn { template } { choice-not-implemented }
+ { The~choice~'#1'~has~no~implementation. }
+ {
+ Each~choice~listed~in~the~interface~for~a~template~must~
+ have~an~implementation.
+ }
+\msg_new:nnnn { template } { choice-no-code }
+ { The~choice~'#1'~requires~implementation~details. }
+ {
+ When~creating~template~code~using~\DeclareTemplateCode,~
+ each~choice~name~must~have~an~associated~implementation.\\
+ This~should~be~given~after~a~'='~sign:~LaTeX~did~not~find~one.
+ }
+\msg_new:nnnn { template } { choice-requires-code }
+ { The~choice~'#2'~for~key~'#1'~requires~an~implementation. }
+ {
+ You~should~have~put:\\
+ \ \ #1~:~choice~{~#2 = <code> ~} \\
+ but~LaTeX~did~not~find~any~<code>.
+ }
+\msg_new:nnnn { template } { duplicate-key-interface }
+ { Key~'#1'~appears~twice~in~interface~definition~\msg_line_context:. }
+ {
+ Each~key~can~only~have~one~interface~declared~in~a~template.\\
+ LaTeX~found~two~interfaces~for~'#1'.
+ }
+\msg_new:nnnn { template } { keytype-requires-argument }
+ { The~key~type~'#1'~requires~an~argument~\msg_line_context:. }
+ {
+ You~should~have~put:\\
+ \ \ <key-name>~:~#1~{~<argument>~} \\
+ but~LaTeX~did~not~find~an~<argument>.
+ }
+\msg_new:nnnn { template } { invalid-keytype }
+ { The~key~'#1'~is~missing~a~key-type~\msg_line_context:. }
+ {
+ Each~key~in~a~template~requires~a~key-type,~given~in~the~form:\\
+ \ \ <key>~:~<key-type>\\
+ LaTeX~could~not~find~a~<key-type>~in~your~input.
+ }
+\msg_new:nnnn { template } { key-no-value }
+ { The~key~'#1'~has~no~value~\msg_line_context:. }
+ {
+ When~creating~an~instance~of~a~template~
+ every~key~listed~must~include~a~value:\\
+ \ \ <key>~=~<value>
+ }
+\msg_new:nnnn { template } { key-no-variable }
+ { The~key~'#1'~requires~implementation~details~\msg_line_context:. }
+ {
+ When~creating~template~code~using~\DeclareTemplateCode,~
+ each~key~name~must~have~an~associated~implementation.\\
+ This~should~be~given~after~a~'='~sign:~LaTeX~did~not~find~one.
+ }
+\msg_new:nnnn { template } { key-not-implemented }
+ { Key~'#1'~has~no~implementation~\msg_line_context:. }
+ {
+ The~definition~of~key~implementations~for~template~'#2'~
+ of~template~type~'#3'~does~not~include~any~details~for~key~'#1'.\\
+ The~key~was~declared~in~the~interface~definition,~
+ and~so~an~implementation~is~required.
+ }
+\msg_new:nnnn { template } { missing-keytype }
+ { The~key~'#1'~is~missing~a~key-type~\msg_line_context:. }
+ {
+ Key~interface~definitions~should~be~of~the~form\\
+ \ \ #1~:~<key-type>\\
+ but~LaTeX~could~not~find~a~<key-type>.
+ }
+\msg_new:nnnn { template } { no-template-code }
+ {
+ The~template~'#2'~of~type~'#1'~is~unknown~
+ or~has~no~implementation.
+ }
+ {
+ There~is~no~code~available~for~the~template~name~given.\\
+ This~should~be~given~using~\DeclareTemplateCode.
+ }
+\msg_new:nnnn { template } { type-already-defined }
+ { Template~type~'#1'~already~defined. }
+ {
+ You~have~used~\NewTemplateType~
+ with~a~template~type~that~has~already~been~defined.
+ }
+\msg_new:nnnn { template } { type-mismatch }
+ { Template~types~'#1'~and~'#2'~do~not~agree. }
+ {
+ You~are~trying~to~use~a~template~directly~with~\UseInstance
+ (or~a~similar~function),~but~the~template~types~do~not~match.
+ }
+\msg_new:nnnn { template } { unknown-attribute }
+ { The~template~attribute~'#1'~is~unknown. }
+ {
+ There~is~a~definition~in~the~current~template~reading\\
+ \ \ \token_to_str:N \KeyValue {~#1~} \\
+ but~there~is~no~key~called~'#1'.
+ }
+\msg_new:nnnn { template } { unknown-choice }
+ { The~choice~'#2'~was~not~declared~for~key~'#1'. }
+ {
+ The~key~'#1'~takes~a~fixed~list~of~choices~
+ and~this~list~does~not~include~'#2'.
+ }
+\msg_new:nnnn { template } { unknown-default-choice }
+ { The~default~choice~'#2'~was~not~declared~for~key~'#1'. }
+ {
+ The~key~'#1'~takes~a~fixed~list~of~choices~
+ and~this~list~does~not~include~'#2'.
+ }
+\msg_new:nnnn { template } { unknown-instance }
+ { The~instance~'#2'~of~type~'#1'~is~unknown. }
+ {
+ You~have~asked~to~use~an~instance~'#2',~
+ but~this~has~not~been~created.
+ }
+\msg_new:nnnn { template } { unknown-key }
+ { Unknown~template~key~'#1'. }
+ {
+ The~key~'#1'~was~not~declared~in~the~interface~
+ for~the~current~template.
+ }
+\msg_new:nnnn { template } { unknown-keytype }
+ { The~key-type~'#1'~is~unknown. }
+ {
+ Valid~key-types~are:\\
+ -~boolean;\\
+ -~choice;\\
+ -~commalist;\\
+ -~function;\\
+ -~instance;\\
+ -~integer;\\
+ -~length;\\
+ -~muskip;\\
+ -~real;\\
+ -~skip;\\
+ -~tokenlist.
+ }
+\msg_new:nnnn { template } { unknown-type }
+ { The~template~type~'#1'~is~unknown. }
+ {
+ A~template~type~needs~to~be~defined~with~\NewTemplateType
+ prior~to~using~it.
+ }
+\msg_new:nnnn { template } { unknown-template }
+ { The~template~'#2'~of~type~'#1'~is~unknown. }
+ {
+ No~interface~has~been~declared~for~a~template~
+ '#2'~of~template~type~'#1'.
+ }
+\msg_new:nnn { template } { declare-instance }
+ { Declaring~instance~~'#1'~of~type~#2~\msg_line_context:. }
+\msg_new:nnn { template } { declare-template-code }
+ { Declaring~code~for~template~'#2'~of~template~type~'#1'~\msg_line_context:. }
+\msg_new:nnn { template } { declare-template-interface }
+ {
+ Declaring~interface~for~template~'#2'~of~template~type~'#1'~
+ \msg_line_context:.
+ }
+\msg_new:nnn { template } { declare-type }
+ { Declaring~template~type~'#1'~taking~#2~argument(s)~\msg_line_context:. }
+\msg_new:nnn { template } { show-attribute }
+ {
+ The~template~'#2'~of~type~'#1'~has~
+ \tl_if_empty:nTF {#4} { no~#3. } { #3 : #4 }
+ }
+\msg_new:nnn { template } { show-values }
+ {
+ The~instance~'#2'~of~type~'#1'~has~
+ \tl_if_empty:nTF {#3} { no~values. } { values: #3 }
+ }
+\prop_gput:Nnn \g_msg_module_type_prop { template } { LaTeX }
+\cs_new_protected:Npn \NewTemplateType #1#2
+ { \__template_define_type:nn {#1} {#2} }
+\cs_new_protected:Npn \DeclareTemplateInterface #1#2#3#4
+ { \__template_declare_template_keys:nnnn {#1} {#2} {#3} {#4} }
+\cs_new_protected:Npn \DeclareTemplateCode #1#2#3#4#5
+ { \__template_declare_template_code:nnnnn {#1} {#2} {#3} {#4} {#5} }
+\cs_new_protected:Npn \DeclareTemplateCopy #1#2#3
+ { \__template_template_set_eq:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \EditTemplateDefaults #1#2#3
+ { \__template_edit_defaults:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \UseTemplate #1#2#3
+ { \__template_use_template:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \DeclareInstance #1#2#3#4
+ { \__template_declare_instance:nnnn {#1} {#3} {#2} {#4} }
+\cs_new_protected:Npn \DeclareInstanceCopy #1#2#3
+ { \__template_instance_set_eq:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \EditInstance #1#2#3
+ { \__template_edit_instance:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \UseInstance #1#2
+ { \__template_use_instance:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateCode #1#2
+ { \__template_show_code:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateDefaults #1#2
+ { \__template_show_defaults:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateInterface #1#2
+ { \__template_show_keytypes:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateVariables #1#2
+ { \__template_show_vars:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowInstanceValues #1#2
+ { \__template_show_values:nn {#1} {#2} }
+\cs_new:Npn \IfInstanceExistsTF #1#2
+ { \__template_if_instance_exist:nnTF {#1} {#2} }
+\cs_new:Npn \IfInstanceExistsT #1#2
+ { \__template_if_instance_exist:nnT {#1} {#2} }
+\cs_new:Npn \IfInstanceExistsF #1#2
+ { \__template_if_instance_exist:nnF {#1} {#2} }
+\cs_new_protected:Npn \KeyValue #1 {#1}
+\cs_new_protected:Npn \AssignTemplateKeys { \__template_assignments_pop: }
+\cs_new_protected:Npn \SetTemplateKeys #1#2#3
+ { \keys_set_known:nnN { template / #1 / #2 } {#3} \l__template_tmp_clist }
+\ExplSyntaxOff
%%% From File: ltalloc.dtx
\chardef\@xxxii=32
\mathchardef\@Mi=10001
@@ -7246,8 +8552,6 @@ Type H <return> for immediate help.}%
%% Copyright (C) 2020-2024
%% Frank Mittelbach, The LaTeX Project
%%% From File: ltpara.dtx
-\def\ltparaversion{v1.0l}
-\def\ltparadate{2023/01/30}
\ExplSyntaxOn
@@ -7276,17 +8580,17 @@ Type H <return> for immediate help.}%
\@kernel@before@para@begin
\hook_use:n {para/begin}
\if_mode_horizontal: \else:
- \msg_error:nnnn { hooks }{ para-mode }{begin}{vertical} \fi:
+ \msg_error:nnnn { hooks }{ para-mode }{begin}{horizontal} \fi:
\__para_handle_indent:
}
\tex_everypar:D{\g__para_standard_everypar_tl}
\newtoks \everypar
\tl_gput_right:Nx \g__para_standard_everypar_tl {
- \exp_not:N \the
- \exp_not:N \toks
- \the \allocationnumber
- \c_space_tl
+ \exp_not:N \the
+ \exp_not:N \toks
+ \the \allocationnumber
+ \c_space_tl
}
\box_new:N \g_para_indent_box
@@ -7347,7 +8651,7 @@ Type H <return> for immediate help.}%
\cs_set_eq:NN \par \para_end:
\cs_set_eq:NN \@@par \para_end:
\cs_set_eq:NN \endgraf \para_end:
-\everypar{\@nodocument} %% To get an error if text appears before the
+\everypar{\@nodocument} %% To get an error if text appears before the \document
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -7377,8 +8681,6 @@ Type H <return> for immediate help.}%
%% Copyright (C) 2021-2024
%% Frank Mittelbach, The LaTeX Project
%%% From File: ltmeta.dtx
-\def\ltmetaversion{v1.0b}
-\def\ltmetadate{2022/05/18}
\let \IfDocumentMetadataTF \@secondoftwo
\protected\def\DocumentMetadata{%
\InputIfFileExists{documentmetadata-support.ltx}%
@@ -7963,7 +9265,15 @@ Type H <return> for immediate help.}%
\@latex@warning@no@line{inputting `#1' instead of obsolete `#2'}}
\@onlypreamble\@obsoletefile
\let\@filelist\@gobble
-\def\listfiles{%
+\ExplSyntaxOn
+\keys_define:nn { __kernel / listfiles }
+ {
+ hashes .legacy_if_set:n = @listfiles@hashes ,
+ sizes .legacy_if_set:n = @listfiles@sizes
+ }
+\ExplSyntaxOff
+\NewDocumentCommand\listfiles{O{}}{%
+ \SetKeys[__kernel/listfiles]{#1}%
\let\listfiles\relax
\def\@listfiles##1##2##3##4##5##6##7##8##9\@@{%
\def\reserved@d{\\}%
@@ -7988,8 +9298,30 @@ Type H <return> for immediate help.}%
\filename@area\filename@base\\\\\\\\\\\\\\\\\\\@@
\typeout{%
\filename@area\reserved@a
- \ifx\reserved@b\relax\else\@spaces\reserved@b\fi}}%
+ \ifx\reserved@b\relax\else\@spaces\reserved@b\fi
+ \ifnum0%
+ \if@listfiles@hashes1\fi
+ \if@listfiles@sizes1\fi
+ >0 %
+ ^^J\@spaces
+ (%
+ \if@listfiles@sizes
+ size \@dofilelist@size\@currname
+ \if@listfiles@hashes
+ , %
+ \fi
+ \fi
+ \if@listfiles@hashes
+ hash \@dofilelist@hash\@currname
+ \fi
+ )%
+ \fi
+ }}%
\typeout{ ***********^^J}}}
+\ExplSyntaxOn
+\cs_new_eq:NN \@dofilelist@hash \file_mdfive_hash:n
+\cs_new_eq:NN \@dofilelist@size \file_size:n
+\ExplSyntaxOff
\@onlypreamble\listfiles
\let\@dofilelist\relax
%%% From File: ltoutenc.dtx
@@ -8294,8 +9626,14 @@ Type H <return> for immediate help.}%
\@addtoreset{#1}{@ckpt}%
\global\expandafter\let\csname p@#1\endcsname\@empty
\expandafter
- \gdef\csname the#1\expandafter\endcsname\expandafter
- {\expandafter\@arabic\csname c@#1\endcsname}}
+ \ifx\csname the#1\endcsname\relax
+ \expandafter
+ \gdef\csname the#1\expandafter\endcsname\expandafter
+ {\expandafter\@arabic\csname c@#1\endcsname}%
+ \else
+ \@latex@warning{Command `\string\the#1' already
+ defined -- not changed}%
+ \fi}
\def\@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}}
\def\@removefromreset#1#2{%
\@ifundefined{c@#2}\relax
@@ -8918,7 +10256,7 @@ Type H <return> for immediate help.}%
\def\@xxvpt{24.88}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltfssaxes.dtx
-%% Copyright (C) 1999-2020 Frank Mittelbach
+%% Copyright (C) 2019-2020 Frank Mittelbach
\def\DeclareFontSeriesChangeRule#1#2#3#4{%
\@namedef{series@#1@#2}{{#3}{#4}}}
\DeclareFontSeriesChangeRule {bc}{b}{bc}{}
@@ -11691,8 +13029,7 @@ Type H <return> for immediate help.}%
\DeclareEncodingSubset{TS1}{lmss} {1}
\DeclareEncodingSubset{TS1}{lmssq} {1}
\DeclareEncodingSubset{TS1}{lmvtt} {1}
-\DeclareEncodingSubset{TS1}{lmtt} {1} % missing TM, SM and
- % pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{lmtt} {1} % missing TM, SM and pertenthousand
\DeclareEncodingSubset{TS1}{ptmx} {2}
\DeclareEncodingSubset{TS1}{ptmj} {2}
\DeclareEncodingSubset{TS1}{ul8} {2}
@@ -11730,23 +13067,31 @@ Type H <return> for immediate help.}%
\DeclareEncodingSubset{TS1}{lato-*} {0} % with a bunch of tofu inside
\DeclareEncodingSubset{TS1}{opensans-*} {0} % with a bunch of tofu inside
\DeclareEncodingSubset{TS1}{cantarell-*} {0} % with a bunch of tofu inside
-\DeclareEncodingSubset{TS1}{fbb-*} {0} % missing centoldstyle
\DeclareEncodingSubset{TS1}{tli} {1} % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*} {2} % missing centoldstyle
\DeclareEncodingSubset{TS1}{Alegreya-*} {2}
\DeclareEncodingSubset{TS1}{AlegreyaSans-*} {2}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*} {2}
\DeclareEncodingSubset{TS1}{DejaVuSans-TLF} {2}
\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF} {2}
\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF} {2}
\DeclareEncodingSubset{TS1}{EBGaramond-*} {2}
+\DeclareEncodingSubset{TS1}{Merriwthr-OsF} {2}
+\DeclareEncodingSubset{TS1}{MerriwthrSans-OsF} {2}
+\DeclareEncodingSubset{TS1}{Montserrat-*} {2}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*} {2}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF} {2}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF} {2}
\DeclareEncodingSubset{TS1}{Tempora-TLF} {2}
\DeclareEncodingSubset{TS1}{Tempora-TOsF} {2}
+\DeclareEncodingSubset{TS1}{XCharter-TLF} {2}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF} {2}
+\DeclareEncodingSubset{TS1}{erewhon-*} {2}
\DeclareEncodingSubset{TS1}{Arimo-TLF} {3}
-\DeclareEncodingSubset{TS1}{Carlito-*} {3}
-\DeclareEncodingSubset{TS1}{FiraSans-*} {3}
+\DeclareEncodingSubset{TS1}{Crlt-*} {3}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF} {3}
\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF} {3}
-\DeclareEncodingSubset{TS1}{Merriweather-OsF} {3}
-\DeclareEncodingSubset{TS1}{Montserrat-*} {3}
-\DeclareEncodingSubset{TS1}{MontserratAlternates-*} {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF} {3}
\DeclareEncodingSubset{TS1}{SourceCodePro-TLF} {3}
\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF} {3}
\DeclareEncodingSubset{TS1}{SourceSansPro-*} {3}
@@ -11761,6 +13106,7 @@ Type H <return> for immediate help.}%
\DeclareEncodingSubset{TS1}{CrimsonPro-*} {4}
\DeclareEncodingSubset{TS1}{FiraMono-TLF} {4}
\DeclareEncodingSubset{TS1}{FiraMono-TOsF} {4}
+\DeclareEncodingSubset{TS1}{FiraSans-*} {4}
\DeclareEncodingSubset{TS1}{Go-TLF} {4}
\DeclareEncodingSubset{TS1}{GoMono-TLF} {4}
\DeclareEncodingSubset{TS1}{InriaSans-*} {4}
@@ -11773,7 +13119,6 @@ Type H <return> for immediate help.}%
\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF} {4}
\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*} {4}
\DeclareEncodingSubset{TS1}{LinuxLibertineT-*} {4}
-\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF} {4}
\DeclareEncodingSubset{TS1}{MintSpirit-*} {4}
\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*} {4}
\DeclareEncodingSubset{TS1}{PTMono-TLF} {4}
@@ -11790,57 +13135,50 @@ Type H <return> for immediate help.}%
\DeclareEncodingSubset{TS1}{Rosario-*} {4}
\DeclareEncodingSubset{TS1}{SticksTooText-*} {4}
\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF} {4}
-\DeclareEncodingSubset{TS1}{Almendra-OsF} {5}
+\DeclareEncodingSubset{TS1}{Almndr-OsF} {5}
\DeclareEncodingSubset{TS1}{Baskervaldx-*} {5}
-\DeclareEncodingSubset{TS1}{BaskervilleF-*} {5}
-\DeclareEncodingSubset{TS1}{Bitter-TLF} {5}
+\DeclareEncodingSubset{TS1}{Bttr-TLF} {5}
\DeclareEncodingSubset{TS1}{Cinzel-LF} {5}
\DeclareEncodingSubset{TS1}{CinzelDecorative-LF} {5}
+\DeclareEncodingSubset{TS1}{Cochineal-*} {5}
\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF} {5}
\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
\DeclareEncodingSubset{TS1}{GilliusADF-LF} {5}
\DeclareEncodingSubset{TS1}{GilliusADFCond-LF} {5}
\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF} {5}
\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF} {5}
-\DeclareEncodingSubset{TS1}{LobsterTwo-LF} {5}
\DeclareEncodingSubset{TS1}{OldStandard-TLF} {5}
-\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF} {5}
-\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF} {5}
+\DeclareEncodingSubset{TS1}{PlyfrDisplay-TLF} {5}
+\DeclareEncodingSubset{TS1}{PlyfrDisplay-TOsF} {5}
\DeclareEncodingSubset{TS1}{TheanoDidot-TLF} {5}
\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF} {5}
\DeclareEncodingSubset{TS1}{TheanoModern-TLF} {5}
\DeclareEncodingSubset{TS1}{TheanoModern-TOsF} {5}
\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF} {5}
\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF} {5}
+\DeclareEncodingSubset{TS1}{charssil-TLF} {5}
\DeclareEncodingSubset{TS1}{Crimson-TLF} {6}
-\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF} {6}
-\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF} {6}
-\DeclareEncodingSubset{TS1}{LibertinusMono-TLF} {6}
\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF} {6}
\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF} {6}
-\DeclareEncodingSubset{TS1}{Overlock-LF} {6}
+\DeclareEncodingSubset{TS1}{Ovrlck-LF} {6}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF} {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF} {7}
\DeclareEncodingSubset{TS1}{CormorantGaramond-*} {7}
\DeclareEncodingSubset{TS1}{Heuristica-TLF} {7}
\DeclareEncodingSubset{TS1}{Heuristica-TOsF} {7}
\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF} {7}
-\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF} {7}
-\DeclareEncodingSubset{TS1}{LibreCaslon-*} {7}
-\DeclareEncodingSubset{TS1}{Marcellus-LF} {7}
+\DeclareEncodingSubset{TS1}{LibreBskrvl-TLF} {7}
+\DeclareEncodingSubset{TS1}{LibreCsln-*} {7}
+\DeclareEncodingSubset{TS1}{Lbstr-LF} {7}
+\DeclareEncodingSubset{TS1}{Mrcls-LF} {7}
\DeclareEncodingSubset{TS1}{NotoSans-*} {7}
-\DeclareEncodingSubset{TS1}{NotoSansMono-TLF} {7}
-\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF} {7}
\DeclareEncodingSubset{TS1}{NotoSerif-*} {7}
-\DeclareEncodingSubset{TS1}{Quattrocento-TLF} {7}
-\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF} {7}
-\DeclareEncodingSubset{TS1}{XCharter-TLF} {7}
-\DeclareEncodingSubset{TS1}{XCharter-TOsF} {7}
-\DeclareEncodingSubset{TS1}{erewhon-*} {7}
-\DeclareEncodingSubset{TS1}{ComicNeue-TLF} {7}
-\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF} {7}
-\DeclareEncodingSubset{TS1}{Forum-LF} {7} % the superiors are missing
-\DeclareEncodingSubset{TS1}{Cochineal-*} {8}
+\DeclareEncodingSubset{TS1}{Quattro-LF} {7}
+\DeclareEncodingSubset{TS1}{QuattroSans-LF} {7}
+\DeclareEncodingSubset{TS1}{Frm-LF} {7} % the superiors are missing
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF} {8}
\DeclareEncodingSubset{TS1}{AlgolRevived-TLF} {9}
\def\UseLegacyTextSymbols{%
\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
@@ -11874,7 +13212,6 @@ Type H <return> for immediate help.}%
\DeclareTextSymbolDefault{\textlegacysection}{OMS}
-
%%% From File: ltpageno.dtx
\message{page nos.,}
\countdef\c@page=0 \c@page=1
@@ -11949,12 +13286,7 @@ Type H <return> for immediate help.}%
\NewDocumentCommand\Ref{s}
{\IfBooleanTF{#1}{\@kernel@sRef}{\@kernel@Ref}}
\def\@currentlabel{}
-%% File: ltproperties.dtx
-\def\ltpropertiesversion{1.0c}
-\def\ltpropertiesdate{2023-10-15}
-
-
-
+%%% From File: ltproperties.dtx
\ExplSyntaxOn
\cs_new_protected:Npn \property_new:nnnn #1#2#3#4
{
@@ -12007,7 +13339,7 @@ Type H <return> for immediate help.}%
{
\legacy_if:nT { @filesw }
{
- \iow_shipout_x:Nx \@auxout
+ \protected@write \@auxout {}
{
\token_to_str:N \new@label@record
{#1}
@@ -12119,7 +13451,9 @@ Type H <return> for immediate help.}%
}
}
\prg_generate_conditional_variant:Nnn \property_if_exist:n {e} {TF}
-\cs_new_eq:NN \IfPropertyExistTF \property_if_exist:eTF
+\cs_new_eq:NN \IfPropertyExistsTF \property_if_exist:eTF
+\cs_new:Npn \IfPropertyExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfPropertyExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:n #1 { p , T , F, TF }
% #1 label
{
@@ -12132,7 +13466,9 @@ Type H <return> for immediate help.}%
}
}
\prg_generate_conditional_variant:Nnn \property_if_recorded:n {e} {TF}
-\cs_new_eq:NN \IfLabelExistTF \property_if_recorded:eTF
+\cs_new_eq:NN \IfLabelExistsTF \property_if_recorded:eTF
+\cs_new:Npn \IfLabelExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfLabelExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:nn #1#2 { p , T , F, TF }
% #1 label #2 property
{
@@ -13334,7 +14670,12 @@ Type H <return> for immediate help.}%
\box\@tempboxa
\@end@tempboxa}
\def\@finalstrut#1{%
- \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+ \unskip
+ \ifhmode \nobreak
+ \else
+ \vskip-\baselineskip
+ \fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
\def\@@line{\hb@xt@\hsize}
\DeclareRobustCommand\leftline[1]{\@@line{#1\hss}}
\DeclareRobustCommand\rightline[1]{\@@line{\hss#1}}
@@ -14129,7 +15470,7 @@ Type H <return> for immediate help.}%
\global\@namedef{#1}{\@thm{#2}{#3}}%
\global\@namedef{end#1}{\@endtheorem}}}}
\def\@thm#1#2{%
- \refstepcounter{#1}%
+ \@kernel@refstepcounter{#1}%
\@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}}
\def\@xthm#1#2{%
\@begintheorem{#2}{\csname the#1\endcsname}\ignorespaces}
@@ -14138,9 +15479,9 @@ Type H <return> for immediate help.}%
\def\@thmcounter#1{\noexpand\arabic{#1}}
\def\@thmcountersep{.}
\def\@begintheorem#1#2{\trivlist
- \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape}
+ \item[\MakeLinkTarget{\@currentcounter}\hskip \labelsep{\bfseries #1\ #2}]\itshape}
\def\@opargbegintheorem#1#2#3{\trivlist
- \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
+ \item[\MakeLinkTarget{\@currentcounter}\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
\def\@endtheorem{\endtrivlist}
%%% From File: ltsect.dtx
\message{title,}
@@ -14731,8 +16072,6 @@ Type H <return> for immediate help.}%
%% Copyright (C) 2022-2024
%% Frank Mittelbach, The LaTeX Project
%%% From File: ltmarks.dtx
-\def\ltmarksversion{v1.0d}
-\def\ltmarksdate{2022/06/01}
%% \end{function}
\ExplSyntaxOn
@@ -14770,42 +16109,87 @@ Type H <return> for immediate help.}%
\tl_new:c { g__mark_last-column_top_ #1 _tl }
\tl_new:c { g__mark_last-column_first_ #1 _tl }
\tl_new:c { g__mark_last-column_last_ #1 _tl }
+ \tl_set:cn { g__mark_page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_last_ #1 _tl }{ \__mark_id:n{0} }
}
\box_new:N \l__mark_box
+\box_new:N \l__mark_ii_box
\tl_new:N \g__mark_tmp_tl
\tl_new:N \g__mark_new_top_tl
-\cs_new_protected:Npn \__mark_update_structure:nn #1#2
- {
- \__mark_update_structure_alias:nn { previous-#1 } {#1}
+\cs_new_protected:Npn \__mark_extract_and_handle_marks:nn #1#2 {
\group_begin:
\dim_set_eq:NN \tex_splitmaxdepth:D \c_max_dim
\int_set_eq:NN \tex_vbadness:D \c_max_int
\dim_set_eq:NN \tex_vfuzz:D \c_max_dim
- \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
+ \__mark_prepare_and_extract:nn {#1} {#2}
+ \group_end:
+ }
+\cs_new_protected:Npn \__mark_prepare_and_extract:nn #1#2 {
+ \vbox_set:Nn \l__mark_box
+ {
+ #2
+ \tex_unskip:D
+ \box_set_to_last:N \l__mark_box
+ \int_compare:nNnT \tex_lastnodetype:D < 0
{
- #2
- \tex_unskip:D
- \box_set_to_last:N \l__mark_box
- \int_compare:nNnT \tex_lastnodetype:D < 0
- {
- \box_if_vertical:NT \l__mark_box
- {
- \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
- {
- \vbox_unpack:N \l__mark_box
- \tex_kern:D \c_zero_dim % ensure that box
- % is not empty
- }
- \int_compare:nNnT \tex_badness:D > 0
- { \vbox_unpack:N \l__mark_box }
- }
- }
- \tex_kern:D \c_zero_dim
+ \box_if_vertical:NT \l__mark_box
+ { \vbox_unpack:N \l__mark_box }
}
- \int_compare:nNnTF \tex_badness:D > 0
- {
- \vbox_set_split_to_ht:NNn \l__mark_box \l__mark_box \c_max_dim
- \seq_map_inline:Nn \g__mark_classes_seq
+ }
+ \__mark_vbox_set_split_to_maxdimen:NN \l__mark_ii_box \l__mark_box
+ \box_if_empty:NTF \l__mark_box
+ { #1 }
+ {
+ \__mark_debug:n { \iow_term:x
+ { Marks:~ mark~ extraction~needs~ recursion~
+ \msg_line_context: } }
+ \__mark_prepare_and_extract:nn {#1}
+ { \vbox_unpack:N \l__mark_ii_box
+ \vbox_unpack:N \l__mark_box }
+ }
+}
+\cs_set_eq:cN {Infinite~shrink~error~above~ignored~!}\c_max_dim
+\cs_new_protected:Npx \__mark_vbox_set_split_to_maxdimen:NN #1#2 {
+ \tl_set:Ne \exp_not:N \l__mark_saved_parameters_tl
+ {
+ \tex_interactionmode:D
+ \exp_not:N \int_use:N \tex_interactionmode:D \scan_stop:
+ \tex_escapechar:D
+ \exp_not:N \int_use:N \tex_escapechar:D \scan_stop:
+ }
+ \tex_escapechar:D -1 \scan_stop:
+ \tex_interactionmode:D 0 \scan_stop:
+ \tex_setbox:D #1 \tex_vsplit:D #2 to
+ \exp_not:N \use:n {
+ \use:c{Infinite~shrink~error~above~ignored~!}
+ }
+ \exp_not:N \l__mark_saved_parameters_tl
+}
+\tl_new:N \l__mark_saved_parameters_tl
+\cs_new_protected:Npn \__mark_update_structure_from_material:nn #1#2 {
+ \__mark_extract_and_handle_marks:nn
+ { \__mark_update_structure_from_splitmarks:n {#1} }
+ { #2 }
+}
+\cs_new_protected:Npn \__mark_update_structure_from_splitmarks:n #1 {
+ \__mark_update_structure_alias:nn { previous-#1 } {#1}
+ \seq_map_inline:Nn \g__mark_classes_seq
{
\tl_gset_eq:Nc \g__mark_new_top_tl { g__mark_#1_last_##1_tl }
\tl_gset_eq:cN { g__mark_#1_top_##1_tl } \g__mark_new_top_tl
@@ -14827,19 +16211,49 @@ Type H <return> for immediate help.}%
}
}
}
- }
- {
- \msg_error:nnn { mark } { infinite-shrinkage } {#1}
- \seq_map_inline:Nn \g__mark_classes_seq
+}
+\cs_new_protected:Npn \__mark_get_marks_for_reinsertion:nNN #1#2#3 {
+ \tl_clear:N \g__mark_first_marks_tl
+ \tl_clear:N \g__mark_last_marks_tl
+ \__mark_extract_and_handle_marks:nn
+ \__mark_get_from_splitmarks:
+ { #1 }
+ \tl_set_eq:NN #2 \g__mark_first_marks_tl
+ \tl_set_eq:NN #3 \g__mark_last_marks_tl
+}
+\cs_new_protected:Npn \__mark_get_from_splitmarks: {
+ \seq_map_inline:Nn \g__mark_classes_seq
{
- \tl_gset_eq:cc { g__mark_#1_top_ ##1_tl }
- { g__mark_#1_last_ ##1_tl }
- \tl_gset_eq:cc { g__mark_#1_first_##1_tl }
- { g__mark_#1_last_ ##1_tl }
+ \tl_gset:No \g__mark_tmp_tl
+ { \tex_splitbotmarks:D \use:c { c__mark_class_##1_mark } }
+
+ \tl_if_empty:NTF \g__mark_tmp_tl
+ {
+ \__mark_debug:n { \iow_term:x { Marks:~no~ marks~
+ for~ class~ '##1'~\msg_line_context: } }
+ }
+ {
+ \__mark_debug:n { \iow_term:x { Marks:~ extract~ last~
+ mark~ for~ class~ '##1'~ =~ \g__mark_tmp_tl } }
+ \tl_gput_right:Ne \g__mark_last_marks_tl
+ { \mark_insert:nn {##1} { \g__mark_tmp_tl } }
+ \__mark_debug:n { \iow_term:x { Marks:~ extract~ first~
+ mark~ for~ class~ '##1'~ =~
+ \tex_splitfirstmarks:D
+ \use:c { c__mark_class_##1_mark }
+ } }
+ \tl_gput_right:Ne \g__mark_first_marks_tl
+ { \mark_insert:nn {##1}
+ {
+ \tex_splitfirstmarks:D
+ \use:c { c__mark_class_##1_mark }
+ }
+ }
+ }
}
- }
- \group_end:
- }
+}
+\tl_new:N \g__mark_first_marks_tl
+\tl_new:N \g__mark_last_marks_tl
\cs_new_protected:Npn \__mark_update_structure_alias:nn #1#2 {
\seq_map_inline:Nn \g__mark_classes_seq
{
@@ -14869,14 +16283,16 @@ Type H <return> for immediate help.}%
\group_begin:
\@kernel@before@insertmark
\hook_use:n { insertmark }
- \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \unrestored@protected@xdef \g__mark_tmp_tl
+ {
+ \__mark_id:n{ \int_use:N\g__mark_int }
+ #2
+ }
\__mark_debug:n{ \iow_term:x { Marks:~ set~#1~<-~
'\tl_to_str:V \g__mark_tmp_tl' ~ \msg_line_context: } }
\tex_marks:D \use:c { c__mark_class_ #1 _mark }
{
- \tl_if_empty:NTF \g__mark_tmp_tl
- { \exp_not:n { \prg_do_nothing: } }
- { \exp_not:o { \g__mark_tmp_tl } }
+ \exp_not:o { \g__mark_tmp_tl }
}
\group_end:
\if@nobreak\ifvmode\nobreak\fi\fi
@@ -14886,15 +16302,23 @@ Type H <return> for immediate help.}%
{ \tl_to_str:n {#1} }
}
}
+\cs_new_protected:Npn \__mark_id:n #1 { }
+\int_new:N \g__mark_int
\cs_new:Npn \@kernel@before@insertmark {
\cs_set_eq:NN \label \scan_stop:
\cs_set_eq:NN \index \scan_stop:
\cs_set_eq:NN \glossary \scan_stop:
+ \int_compare:nNnTF \g__mark_int < {99999}
+ { \int_gincr:N \g__mark_int }
+ { \int_gzero:N \g__mark_int }
+
}
\hook_new:n {insertmark}
-\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \__mark_use:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \__mark_use:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \__mark_use:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \__mark_use:n #1 { \exp_not:o { \use_none:nn #1 } }
+\cs_generate_variant:Nn \__mark_use:n { v }
\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
{
\tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
@@ -14934,15 +16358,6 @@ Type H <return> for immediate help.}%
all~columns~have~been~assembled.
\c__msg_return_text_tl
}
-\msg_new:nnnn { mark } { infinite-shrinkage }
- { Infinite~shrinkage~found~in~'#1'. }
- {
- \c__msg_coding_error_text_tl
- The~mark~region~'#1'~contains~some~infinite~negative~glue~
- allowing~it~to~shrink~to~an~arbitrary~size.~
- This~makes~it~impossible~to~split~the~region~apart~to~
- get~at~its~marks.~They~are~lost.
- }
\bool_new:N \g__mark_debug_bool
\cs_new_eq:NN \__mark_debug:n \use_none:n
\cs_new_protected:Npn \mark_debug_on:
@@ -14995,6 +16410,9 @@ Type H <return> for immediate help.}%
\seq_map_inline:Nn \g__mark_classes_seq
{ \__mark_class_status:nn {#1} {##1} }
}
+\cs_new_protected:Npn \ShowMarksAt #1 {
+ \__mark_debug:n { \__mark_status:n {#1} }
+}
\cs_new_eq:NN \NewMarkClass \mark_new_class:n
\@onlypreamble \NewMarkClass
\cs_new_eq:NN \InsertMark \mark_insert:nn
@@ -15010,11 +16428,11 @@ Type H <return> for immediate help.}%
\cs_new_protected:Npn \__mark_update_singlecol_structures: {
\box_if_vertical:NTF \@outputbox
{
- \__mark_update_structure:nn {page}
+ \__mark_update_structure_from_material:nn {page}
{ \vbox_unpack:N \@outputbox }
}
{
- \__mark_update_structure:nn {page}
+ \__mark_update_structure_from_material:nn {page}
{ \hbox_unpack:N \@outputbox }
}
\__mark_update_structure_alias:nn {previous-column}{previous-page}
@@ -15038,11 +16456,11 @@ Type H <return> for immediate help.}%
\cs_new_protected:Npn \__mark_update_dblcol_structures: {
\box_if_vertical:NTF \@outputbox
{
- \__mark_update_structure:nn {column}
+ \__mark_update_structure_from_material:nn {column}
{ \vbox_unpack:N \@outputbox }
}
{
- \__mark_update_structure:nn {column}
+ \__mark_update_structure_from_material:nn {column}
{ \hbox_unpack:N \@outputbox }
}
\legacy_if:nTF {@firstcolumn}
@@ -15062,10 +16480,19 @@ Type H <return> for immediate help.}%
{ g__mark_page_last_ ##1 _tl }
\tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
{ g__mark_first-column_top_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+
+ \tl_if_eq:ccTF { g__mark_first-column_top_ ##1 _tl }
{ g__mark_first-column_first_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
- { g__mark_last-column_last_ ##1 _tl }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_last-column_first_ ##1 _tl }
+ }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
}
}
\__mark_debug:n
@@ -15255,6 +16682,30 @@ Type H <return> for immediate help.}%
\let \IfClassLoadedTF \@ifclassloaded
\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
\let \IfClassLoadedWithOptionsTF \@ifclasswith
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
\def\ProvidesPackage#1{%
\xdef\@gtempa{#1}%
\@expandtwoargs\@expl@str@if@eq@@nnTF
@@ -15305,11 +16756,11 @@ Type H <return> for immediate help.}%
\expandafter\let
\csname opt@#3.#1\expandafter\endcsname
\csname opt@\reserved@a\endcsname
- \@ifundefined{@raw@opt@#3.#1}%
- {\expandafter\gdef\csname @raw@opt@#3.#1\expandafter\endcsname
- \expandafter{#2}}%
- {\expandafter\g@addto@macro\csname @raw@opt@#3.#1\expandafter\endcsname
- \expandafter{\expandafter,#2}}%
+ \@ifundefined{@raw@opt@#3.#1}%
+ {\expandafter\gdef\csname @raw@opt@#3.#1\expandafter\endcsname
+ \expandafter{#2}}%
+ {\expandafter\g@addto@macro\csname @raw@opt@#3.#1\expandafter\endcsname
+ \expandafter{\expandafter,#2}}%
}
\@onlypreamble\@pass@ptions
\def\PassOptionsToPackage{\@pass@ptions\@pkgextension}
@@ -15474,6 +16925,11 @@ Type H <return> for immediate help.}%
\ifx#2\@empty\else\expandafter\zap@space\fi
#2}
\def\@fileswithoptions#1{%
+ \ifnum\currentgrouplevel>\z@
+ \@latex@error
+ {Loading a class or package in a group}%
+ {Classes and packages should only be loaded at the top level}%
+ \fi
\@ifnextchar[%]
{\@fileswith@ptions#1}%
{\@fileswith@ptions#1[]}}
@@ -15524,9 +16980,12 @@ Type H <return> for immediate help.}%
\@ifundefined{opt@handler@\@currname.\@currext}
{\@onefilewithoptions@clashchk{#2}}
{%
- \expandafter\protected@edef\csname opt@\@currname.\@currext\endcsname
+ \expandafter\protected@edef
+ \csname opt@\@currname.\@currext\endcsname
{\zap@space#2 \@empty}%
- \@namedef{@raw@opt@\@currname.\@currext}{#2}%
+ \expandafter\def
+ \csname @raw@opt@\@currname.\@currext\expandafter\endcsname
+ \expandafter{#2}%
\@nameuse{opt@handler@\@currname.\@currext}%
}%
}%
@@ -16260,8 +17719,6 @@ Type H <return> for immediate help.}%
{ \__keys_options_expand_module:Nn \keys_set:nn {#1} {#2} }
\ExplSyntaxOff
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0o}
-\providecommand\ltfilehookdate{2023/07/10}
\ExplSyntaxOn
\tl_new:N \CurrentFile
\tl_new:N \CurrentFilePath
@@ -16551,8 +18008,6 @@ Type H <return> for immediate help.}%
%% Frank Mittelbach, The LaTeX Project
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0n}
-\providecommand\ltshipoutdate{2022/11/08}
\ExplSyntaxOn
\bool_new:N \g__shipout_debug_bool
\cs_new_eq:NN \__shipout_debug:n \use_none:n
@@ -18070,6 +19525,198 @@ Type H <return> for immediate help.}%
\let\topfigrule=\relax
\let\botfigrule=\relax
\let\dblfigrule=\relax
+%%% From File: lttagging.dtx
+\ExplSyntaxOn
+\cs_new_eq:NN \SuspendTagging \use_none:n
+\cs_new_eq:NN \ResumeTagging \use_none:n
+\AddToHook{begindocument/before}{
+ \cs_if_exist:NT \tag_stop:n
+ {
+ \cs_set:Npn \SuspendTagging #1 {
+ \tag_stop:n {#1}
+ }
+ \cs_set:Npn \ResumeTagging #1 { \tag_start:n {#1} }
+ }
+}
+\AddToHook{begindocument}[kernel]{
+ \cs_if_exist:NF \tag_if_active:T
+ {
+ \prg_new_conditional:Npnn \tag_if_active: { p , T , TF, F }
+ { \prg_return_false: }
+ }
+}
+\cs_new_protected:Npn \tag_socket_use:n #1 { }
+\cs_new_protected:Npn \tag_socket_use:nn #1#2 { }
+\cs_new_protected:Npn \UseTaggingSocket #1 {
+ \int_case:nnF
+ { \int_use:c { c__socket_tagsupport/#1_args_int } }
+ {
+ 0 \prg_do_nothing:
+ 1 \use_none:n
+ 2 \use_none:nn
+ }
+ \ERRORusetaggingsocket % that should get a proper error message
+}
+\ExplSyntaxOff
+\NewSocket{tagsupport/tbl/cell/begin}{0}
+\NewSocket{tagsupport/tbl/cell/end}{0}
+\NewSocket{tagsupport/tbl/row/begin}{0}
+\NewSocket{tagsupport/tbl/row/end}{0}
+\NewSocket{tagsupport/tbl/pcell/begin}{0}
+\NewSocket{tagsupport/tbl/pcell/end}{0}
+\NewSocket{tagsupport/tbl/init}{0}
+\NewSocket{tagsupport/tbl/finalize}{0}
+
+\NewSocket{tagsupport/tbl/colspan}{1}
+
+\NewSocket{tagsupport/tbl/hmode/begin}{0}
+\NewSocket{tagsupport/tbl/hmode/end}{0}
+\NewSocket{tagsupport/tbl/vmode/begin}{0}
+\NewSocket{tagsupport/tbl/vmode/end}{0}
+\NewSocket{tagsupport/tbl/longtable/init}{0}
+\NewSocket{tagsupport/tbl/longtable/finalize}{0}
+\NewSocket{tagsupport/tbl/longtable/head}{0}
+\NewSocket{tagsupport/tbl/longtable/foot}{0}
+\ExplSyntaxOn
+\int_new:N \g__tbl_col_int
+\int_new:N \g__tbl_row_int
+\tl_new:N \g__tbl_span_tl
+\tl_new:N \g__tbl_table_cols_tl
+
+\tl_gset:Nn \g__tbl_span_tl {1}
+\tl_gset:Nn \g__tbl_table_cols_tl {0} % indicates outer level
+\tl_new:N \l__tbl_saved_col_tl
+\tl_new:N \l__tbl_saved_row_tl
+\tl_new:N \l__tbl_saved_span_tl
+\tl_new:N \l__tbl_saved_table_cols_tl
+
+\tl_set:Nn \l__tbl_saved_col_tl{0}
+\tl_set:Nn \l__tbl_saved_row_tl{0}
+\tl_set:Nn \l__tbl_saved_span_tl{1}
+\tl_set:Nn \l__tbl_saved_table_cols_tl{0} % indicates outer level
+\int_new:N \g__tbl_missing_cells_int
+\def\DebugTablesOn{
+ \cs_set_eq:NN \__tbl_trace:n \typeout
+}
+\def\DebugTablesOff{
+ \cs_set_eq:NN \__tbl_trace:n \use_none:n
+}
+\cs_new_eq:NN \__tbl_trace:n \use_none:n
+\cs_new_protected:Npn \tbl_update_cell_data: {
+ \int_gadd:Nn \g__tbl_col_int { \g__tbl_span_tl }
+ \tl_gset:Nn \g__tbl_span_tl {1}
+}
+\cs_new:Npn \tbl_count_table_cols: {
+ \seq_set_split:NnV\l__tbl_tmpa_seq {&}\@preamble
+ \tl_gset:Ne \g__tbl_table_cols_tl { \seq_count:N \l__tbl_tmpa_seq }
+ \__tbl_trace:n { ==>~ Table~ has~ \g__tbl_table_cols_tl \space columns }
+}
+\seq_new:N \l__tbl_tmpa_seq
+\cs_new:Npn \tbl_count_missing_cells:n #1 {
+ \tag_if_active:T {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \int_gset:Nn \g__tbl_missing_cells_int
+ {
+ \g__tbl_table_cols_tl
+ - \g__tbl_col_int
+ - \g__tbl_span_tl
+ + 1
+ }
+ \int_compare:nNnT \g__tbl_missing_cells_int < 0 \ERRORmissingcells % should not happen
+ \__tbl_trace:n{==>~
+ (#1)~
+ This~ row~ needs~
+ \int_use:N \g__tbl_missing_cells_int \space
+ additional~ cell(s)
+ }
+ }
+ }
+}
+\cs_new_protected:Npn \tbl_save_outer_table_cols: {
+ \tl_set_eq:NN \l__tbl_saved_table_cols_tl \g__tbl_table_cols_tl
+}
+\cs_new_protected:Npn \tbl_init_cell_data_for_table: {
+ \tl_set:No \l__tbl_saved_col_tl {\int_use:N \g__tbl_col_int }
+ \tl_set:No \l__tbl_saved_row_tl {\int_use:N \g__tbl_row_int }
+ \tl_set_eq:NN \l__tbl_saved_span_tl \g__tbl_span_tl
+ \__tbl_trace:n { ==>~ saved~cell~data:~
+ \l__tbl_saved_row_tl,
+ \l__tbl_saved_col_tl,
+ \l__tbl_saved_span_tl \space
+ (
+ \int_compare:nNnTF \l__tbl_saved_table_cols_tl = 0
+ { outer~ level }
+ { max:~ \l__tbl_saved_table_cols_tl }
+ )
+ }
+ \int_gzero:N \g__tbl_row_int
+ \int_gzero:N \g__tbl_col_int
+ \tl_gset:Nn \g__tbl_span_tl {1}
+}
+\cs_new_protected:Npn \tbl_update_cell_data_for_next_row: {
+ \int_gincr:N \g__tbl_row_int % this row about to start
+ \int_gzero:N \g__tbl_col_int % we are before first col
+}
+\cs_new_protected:Npn \tbl_init_cell_data_for_row: {
+ \int_gset:Nn \g__tbl_col_int {1}
+ \tl_gset:Nn \g__tbl_span_tl {1}
+}
+\cs_new:Npn \tbl_if_row_was_started:T {
+ \int_compare:nNnT \g__tbl_col_int > 0
+}
+\cs_new:Npn \tbl_if_row_was_started:TF {
+ \int_compare:nNnTF \g__tbl_col_int > 0
+}
+\cs_new_protected:Npn \tbl_gzero_row_count: {
+ \int_gzero:N \g__tbl_row_int
+}
+\cs_new_protected:Npn \tbl_gincr_row_count: {
+ \int_gincr:N \g__tbl_row_int
+}
+\cs_new_protected:Npn \tbl_gdecr_row_count: {
+ \int_gdecr:N \g__tbl_row_int
+}
+\cs_new_protected:Npn \tbl_inbetween_rows: {
+ \int_gzero:N \g__tbl_col_int
+}
+\cs_new_protected:Npn \tbl_restore_outer_cell_data: {
+ \int_gset:Nn \g__tbl_col_int { \l__tbl_saved_col_tl }
+ \int_gset:Nn \g__tbl_row_int { \l__tbl_saved_row_tl }
+ \tl_gset_eq:NN \g__tbl_span_tl \l__tbl_saved_span_tl
+ \tl_gset_eq:NN \g__tbl_table_cols_tl \l__tbl_saved_table_cols_tl
+ \__tbl_trace:n { ==>~ restored~cell~data:~
+ \int_use:N \g__tbl_row_int,
+ \int_use:N \g__tbl_col_int,
+ \l__tbl_saved_span_tl \space
+ (
+ \int_compare:nNnTF \g__tbl_table_cols_tl = 0
+ { outer~ level }
+ { max:~ \g__tbl_table_cols_tl }
+ )
+ }
+}
+\cs_new_protected:Npn \tbl_update_multicolumn_cell_data:n #1 {
+ \int_compare:nNnTF \g__tbl_col_int = 0
+ {
+ \UseTaggingSocket{tbl/row/begin}
+ \int_gset:Nn \g__tbl_col_int {1}
+ }
+ {
+ \int_gadd:Nn \g__tbl_col_int { \g__tbl_span_tl }
+ }
+ \tl_gset:Nn \g__tbl_span_tl {#1}
+}
+\cs_new:Npn \tbl_crcr:n #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ }
+ \crcr
+}
+\ExplSyntaxOff
+\let\@kernel@refstepcounter\refstepcounter
+\def\hyper@nopatch@longtable{}
%%% From File: ltfinal.dtx
\tracingstats1
\newcount\@lowpenalty
diff --git a/Master/texmf-dist/tex/latex/base/latexrelease.sty b/Master/texmf-dist/tex/latex/base/latexrelease.sty
index 0c2d1a5bd96..51bccae7522 100644
--- a/Master/texmf-dist/tex/latex/base/latexrelease.sty
+++ b/Master/texmf-dist/tex/latex/base/latexrelease.sty
@@ -16,6 +16,7 @@
%% lthooks.dtx (with options: `latexrelease')
%% ltcmdhooks.dtx (with options: `latexrelease')
%% ltsockets.dtx (with options: `latexrelease')
+%% lttemplates.dtx (with options: `latexrelease')
%% ltalloc.dtx (with options: `latexrelease')
%% ltcntrl.dtx (with options: `latexrelease')
%% lterror.dtx (with options: `latexrelease')
@@ -292,7 +293,7 @@
}
%%% From File: ltvers.dtx
\edef\latexreleaseversion
- {2023-11-01}
+ {2024-06-01}
\newif\if@includeinrelease
\@includeinreleasefalse
\def\IncludeInRelease#1{%
@@ -570,25 +571,6 @@ of this package available from CTAN}
"luatex",
tex.extraprimitives("core","omega", "aleph", "luatex")
)
- local i
- local t = { }
- for _,i in pairs(tex.extraprimitives("luatex")) do
- if not string.match(i,"^U") then
- if not string.match(i, "^luatex") then
- table.insert(t,i)
- end
- else
- if string.match(i,"^Uchar$") then
- table.insert(t,i)
- end
- end
- end
- for _,i in pairs(t) do
- tex.print(
- "\noexpand\\let\noexpand\\" .. i
- .. "\noexpand\\undefined"
- )
- end
}
\EndIncludeInRelease
\fi
@@ -985,7 +967,7 @@ of this package available from CTAN}
\tracinggroups\z@
\tracingparagraphs\z@
\tracingmacros\z@
- \tracinglostchars\@ne
+ \tracinglostchars\tw@
\tracingpages\z@
\tracingstats\z@
}%
@@ -1362,7 +1344,10 @@ of this package available from CTAN}
\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
-\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_if_exist:NTF \cs_parameter_spec:N
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_parameter_spec:N }
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_argument_spec:N }
+\cs_gset_eq:NN \__kernel_cs_parameter_spec:N \@expl@cs@parameter@spec@@N
\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
@@ -1373,7 +1358,7 @@ of this package available from CTAN}
\let \@expl@cs@to@str@@N \@undefined
\let \@expl@str@if@eq@@nnTF \@undefined
\let \@expl@cs@prefix@spec@@N \@undefined
-\let \@expl@cs@argument@spec@@N \@undefined
+\let \@expl@cs@parameter@spec@@N \@undefined
\let \@expl@cs@replacement@spec@@N \@undefined
\let \@expl@str@map@function@@NN \@undefined
\EndIncludeInRelease
@@ -1796,7 +1781,7 @@ of this package available from CTAN}
\long\def\@show@newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
#3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
\long\def\@show@tokens#1{%
\edef\reserved@a{#1}%
\showtokens\expandafter
@@ -1844,7 +1829,7 @@ of this package available from CTAN}
\@show@environment@end#1}
\long\def\@show@environment@begin#1{%
\typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}%
- \typeout{\@expl@cs@argument@spec@@N#1->%
+ \typeout{\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1.^^J}}
\long\def\@show@normalenv#1{%
\@show@environment@begin#1%
@@ -1855,12 +1840,12 @@ of this package available from CTAN}
\long\def\@show@environment@end@aux#1#2{%
\@show@tokens{\string\end{\@expl@cs@to@str@@N#2}%
\ifx\relax#1=undefined%
- \else:^^J\@expl@cs@argument@spec@@N#1->%
+ \else:^^J\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1%
\fi}}
\def\@show@nonstop#1{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
\def\@show@typeout#1{\typeout{> #1.^^J}}
\EndIncludeInRelease
\IncludeInRelease{0000-00-00}{\ShowEnvironment}
@@ -1997,8 +1982,8 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.2a}
-\def\ltcmddate{2023-08-19}
+\def\ltcmdversion{v1.2e}
+\def\ltcmddate{2024-04-17}
\edef\@latexrelease@catcode@null{\the\catcode`\^^@ }
\catcode`\^^@=12
\ExplSyntaxOn
@@ -2082,8 +2067,6 @@ of this package available from CTAN}
\cs_new_protected:Npn \__cmd_declare_cmd_internal:Nnnn #1#2#3#4
{
\tl_set:Nx \l__cmd_function_tl { \cs_to_str:N #1 }
- \tl_set:Nx \l__cmd_fn_tl
- { \exp_not:c { \l__cmd_function_tl \c_space_tl } }
\__cmd_normalize_arg_spec:n {#2}
\exp_args:No \__cmd_prepare_signature:n \l__cmd_arg_spec_tl
\__cmd_declare_cmd_code:Nnn #1 {#2} {#3}
@@ -2091,12 +2074,60 @@ of this package available from CTAN}
\__cmd_break_point:n {#2}
}
\cs_new_eq:NN \__cmd_break_point:n \use_none:n
-\cs_new_protected:Npn \__cmd_declare_cmd_code:Nnn
+\cs_new:Npn \__cmd_all_m_check:n #1
+ { \tl_map_function:nN {#1} \__cmd_all_m_check_aux:n }
+\cs_new:Npn \__cmd_all_m_check_aux:n #1
{
- \bool_if:NTF \l__cmd_grab_expandably_bool
- { \__cmd_declare_cmd_code_expandable:Nnn }
- { \__cmd_declare_cmd_code_aux:Nnn }
+ \str_if_eq:nnF {#1} { m }
+ {
+ \str_if_eq:nnF {#1} { + }
+ { X }
+ }
+ }
+\cs_new_protected:Npn \__cmd_declare_cmd_code:Nnn #1#2
+ {
+ \bool_lazy_any:nTF
+ {
+ { \l__cmd_environment_bool }
+ {
+ \bool_lazy_and_p:nn
+ { \l__cmd_some_short_bool }
+ { \l__cmd_some_long_bool }
+ }
+ { ! \tl_if_blank_p:e { \__cmd_all_m_check:n {#2} } }
+ }
+ {
+ \tl_set:Nx \l__cmd_fn_tl
+ { \exp_not:c { \l__cmd_function_tl \c_space_tl } }
+ \bool_if:NTF \l__cmd_grab_expandably_bool
+ { \__cmd_declare_cmd_code_expandable:Nnn }
+ { \__cmd_declare_cmd_code_aux:Nnn }
+ }
+ { \__cmd_declare_cmd_optimized:Nnn }
+ #1 {#2}
}
+\cs_new_protected:Npn \__cmd_declare_cmd_optimized:Nnn #1#2#3
+ {
+ \bool_if:NTF \l__cmd_expandable_bool
+ { \cs_set_nopar:Npe }
+ { \cs_set_protected_nopar:Npe }
+ #1
+ {
+ \exp_not:N \__cmd_start_optimized:
+ \exp_not:c { \l__cmd_function_tl \c_space_tl code }
+ }
+ \exp_args:Ncc \cs_generate_from_arg_count:NNnn
+ { \l__cmd_function_tl \c_space_tl code }
+ {
+ cs_set
+ \bool_if:NF \l__cmd_expandable_bool { _protected }
+ \bool_if:NF \l__cmd_some_long_bool { _nopar }
+ :Npn
+ }
+ \l__cmd_current_arg_int
+ {#3}
+ }
+\cs_new:Npn \__cmd_start_optimized: { }
\cs_new_protected:Npn \__cmd_declare_cmd_code_aux:Nnn #1#2#3
{
\cs_generate_from_arg_count:cNnn
@@ -2698,7 +2729,12 @@ of this package available from CTAN}
\bool_if:NT \l__cmd_some_obey_spaces_bool
{
\msg_error:nnxx { cmd } { invalid-bang }
- { \__cmd_environment_or_command: } { \tl_to_str:n {#1} }
+ { \__cmd_environment_or_command: }
+ {
+ \bool_if:NTF \l__cmd_obey_spaces_bool
+ { \tl_to_str:n {'#1'} }
+ { an~optional~argument~before~mandatory~ \tl_to_str:n {'#1'} }
+ }
\__cmd_bad_def:wn
}
\tl_clear:N \l__cmd_last_delimiters_tl
@@ -3022,9 +3058,10 @@ of this package available from CTAN}
\use:x
{
\int_set:Nn \tex_escapechar:D { 92 }
- \exp_not:N \__cmd_cmd_type_cases:NnnnnF \exp_not:N #2
+ \exp_not:N \__cmd_cmd_type_cases:NnnnnnF \exp_not:N #2
{ \__cmd_copy_command:nnNN }
{ \__cmd_copy_expandable:nnNN }
+ { \__cmd_copy_optimized:nnNN }
{ \__cmd_copy_environment:nnNN }
{ \__cmd_copy_environment_end:nnNN }
{ \__cmd_cant_copy:nwn { non-ltcmd } }
@@ -3100,6 +3137,18 @@ of this package available from CTAN}
\IncludeInRelease{2020/10/01}{\__cmd_copy_expandable:nnNN}%
{Support~\NewCommandCopy~in~ltcmd}
\EndIncludeInRelease
+\cs_new_protected:Npn \__cmd_copy_optimized:nnNN #1#2#3#4
+ {
+ \cs_set_eq:cc { #1 ~ code } { #2 ~ code }
+ \token_if_protected_macro:NTF #4
+ { \cs_set_protected_nopar:Npe }
+ { \cs_set_nopar:Npe }
+ #3
+ {
+ \exp_not:N \__cmd_start_optimized:
+ \exp_not:c { #1 ~ code }
+ }
+ }
\IncludeInRelease{2021/11/15}{\__cmd_copy:NN (part 2)}%
{Support~\NewCommandCopy~in~ltcmd}
\cs_new:Npn \__cmd_copy_expandable:NnNNNNnnn #1 #2 #3 #4 #5 #6 #7 #8 #9
@@ -3228,9 +3277,10 @@ of this package available from CTAN}
\use:x
{
\int_set:Nn \tex_escapechar:D { 92 }
- \exp_not:N \__cmd_cmd_type_cases:NnnnnF \exp_not:N #1
+ \exp_not:N \__cmd_cmd_type_cases:NnnnnnF \exp_not:N #1
{ \__cmd_show_command:N }
{ \__cmd_show_expandable:N }
+ { \__cmd_show_optimized:N }
{ \__cmd_show_environment:N }
{ \__cmd_show_environment_end:N }
{ \__cmd_cant_copy:nwn { non-ltcmd } }
@@ -3284,6 +3334,43 @@ of this package available from CTAN}
-> \cs_replacement_spec:N #4
}
}
+\cs_new_protected:Npn \__cmd_show_optimized:N #1
+ {
+ \exp_args:Nc \__cmd_show_optimized:NN
+ { \cs_to_str:N #1 \c_space_tl code }
+ #1
+ }
+\cs_new_protected:Npn \__cmd_show_optimized:NN #1#2
+ {
+ \cs_set:Npe \__cmd_show_optimized_aux:N ##1
+ {
+ \c_space_tl \c_space_tl \c_hash_str ##1 :
+ \bool_lazy_or:nnT
+ { \token_if_long_macro_p:N #1 }
+ { \token_if_protected_long_macro_p:N #1 }
+ { + } m
+ \iow_newline:
+ }
+ \tl_show:e
+ {
+ \token_to_str:N #2 =
+ \bool_lazy_or:nnF
+ { \token_if_protected_macro_p:N #1 }
+ { \token_if_protected_long_macro_p:N #1 }
+ { expandable ~ } document~command:
+ \iow_newline:
+ \int_step_function:nN
+ {
+ \int_div_truncate:nn
+ { \tl_count:e { \cs_parameter_spec:N #1 } }
+ { 2 }
+ }
+ \__cmd_show_optimized_aux:N
+ ->
+ \cs_replacement_spec:N #1
+ }
+ }
+\cs_generate_variant:Nn \tl_count:n { e }
\cs_new_protected:Npn \__cmd_show_environment:N #1
{
\exp_after:wN \__cmd_show_environment:Nnnw #1 \q__cmd
@@ -3850,6 +3937,24 @@ of this package available from CTAN}
\__cmd_add_arg:o \c_novalue_tl
}
}
+\IncludeInRelease{2024/06/01}{\__cmd_grab_v_aux_put:N}%
+ {Endlines~as~\obeyedline}
+\cs_new_protected:Npn \__cmd_grab_v_aux_put:N #1
+ {
+ \tl_put_right:Nx \l__cmd_v_arg_tl
+ {
+ \token_if_active:NTF #1
+ { \exp_not:N #1 }
+ {
+ \int_compare:nNnTF {`#1} = \tex_endlinechar:D
+ { \exp_not:N \obeyedline }
+ { \token_to_str:N #1 }
+ }
+ }
+ }
+\EndIncludeInRelease
+\IncludeInRelease{2020/10/01}{\__cmd_grab_v_aux_put:N}%
+ {Endlines~as~\obeyedline}
\cs_new_protected:Npn \__cmd_grab_v_aux_put:N #1
{
\tl_put_right:Nx \l__cmd_v_arg_tl
@@ -3858,6 +3963,7 @@ of this package available from CTAN}
{ \exp_not:N #1 } { \token_to_str:N #1 }
}
}
+\EndIncludeInRelease
\cs_new_protected:Npn \__cmd_grab_v_token_if_char:NTF #1
{ \str_if_eq:eeTF { } { \str_tail:n {#1} } }
\cs_new_protected:Npn \__cmd_add_arg:n #1
@@ -4326,30 +4432,31 @@ of this package available from CTAN}
#1 {#2} {#4}
\__cmd_tl_mapthread_loop:w #1#3 \q_mark
}
-\cs_new_protected:Npn \__cmd_cmd_type_cases:NnnnnF #1 #2 #3 #4 #5 #6
+\cs_new_protected:Npn \__cmd_cmd_type_cases:NnnnnnF #1 #2 #3 #4 #5 #6 #7
{
\exp_args:Ne \str_case_e:nnF
{
- \exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
+ \exp_args:Nf \tl_if_empty:nT { \__kernel_cs_parameter_spec:N #1 }
{ \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
{ \exp_not:N \__cmd_start:nNNnnn } {#2}
{ \exp_not:N \__cmd_start_expandable:nNNNNn } {#3}
- { \exp_not:N \__cmd_start_env:nnnnn } {#4}
+ { \exp_not:N \__cmd_start_optimized: } {#4}
+ { \exp_not:N \__cmd_start_env:nnnnn } {#5}
{
\exp_after:wN \exp_not:N
\cs:w environment~
\exp_last_unbraced:Ne \use_none:nnn
{ \cs_to_str:N #1 } ~end~aux \cs_end:
- } {#5}
+ } {#6}
}
- {#6}
+ {#7}
}
\cs_new_protected:Npn \__kernel_cmd_if_xparse:NTF #1
{
- \__cmd_cmd_type_cases:NnnnnF #1
- { } { } { } { } { \use_iii:nnn }
+ \__cmd_cmd_type_cases:NnnnnnF #1
+ { } { } { } { } { } { \use_iii:nnn }
\use_i:nn
}
\cs_new_protected:Npn \__cmd_peek_nonspace:NTF
@@ -4405,10 +4512,8 @@ of this package available from CTAN}
\bool_if:NTF \l__cmd_environment_bool
{ environment ~ ' \l__cmd_environment_str ' }
{
- command ~ '
- \exp_args:Nf \tl_trim_spaces:n
- { \exp_after:wN \token_to_str:N \l__cmd_fn_tl }
- '
+ command ~
+ ' \c_backslash_str \tl_to_str:N \l__cmd_function_tl '
}
}
\msg_new:nnnn { cmd } { arg-after-body }
@@ -4500,7 +4605,7 @@ of this package available from CTAN}
{ Invalid~argument~prefix~'!'~in~#1. }
{
The~prefix~'!'~is~only~allowed~for~trailing~optional~arguments.~
- You~tried~to~apply~it~to~'#2'.
+ You~tried~to~apply~it~to~#2.
\c__cmd_ignore_def_tl
}
\msg_new:nnnn { cmd } { not-definable }
@@ -4809,8 +4914,6 @@ of this package available from CTAN}
\catcode`\^^@=\@latexrelease@catcode@null\relax
%%% From File: lthooks.dtx
-\def\lthooksversion{v1.1f}
-\def\lthooksdate{2023/10/02}
\ExplSyntaxOn
\NewModuleRelease{2020/10/01}{lthooks}
{The~hook~management~system}
@@ -5281,7 +5384,8 @@ of this package available from CTAN}
\msg_error:nnnnn { hooks } { set-top-level }
{ for } { SetDefaultHookLabel } {#1}
}
- { \exp_args:Nx \__hook_set_default_label:n { \__hook_make_name:n {#1} } }
+ { \exp_args:Nx
+ \__hook_set_default_label:n { \__hook_make_name:n {#1} } }
}
\cs_new_protected:Npn \__hook_set_default_label:n #1
{
@@ -5388,7 +5492,8 @@ of this package available from CTAN}
\IncludeInRelease{2020/10/01}{\hook_gput_code:nnn}
{Providing~hooks}
\cs_gset_protected:Npn \hook_gput_code:nnn #1 #2
- { \__hook_normalize_hook_args:Nnn \__hook_gput_code:nnn {#1} {#2} }
+ { \__hook_normalize_hook_args:Nnn
+ \__hook_gput_code:nnn {#1} {#2} }
\cs_gset_protected:Npn \__hook_gput_code:nnn #1 #2 #3
{
\__hook_if_execute_immediately:nTF {#1}
@@ -5402,7 +5507,8 @@ of this package available from CTAN}
{
\__hook_if_disabled:nTF {#1}
{ \msg_error:nnn { hooks } { hook-disabled } {#1} }
- { \__hook_try_declaring_generic_hook:nnn {#1} {#2} {#3} }
+ { \__hook_try_declaring_generic_hook:nnn
+ {#1} {#2} {#3} }
}
}
}
@@ -5414,7 +5520,8 @@ of this package available from CTAN}
\on@line\space <-~ \tl_to_str:n{#3}} }
\str_if_eq:nnTF {#2} { top-level }
{
- \str_if_eq:eeTF { top-level } { \__hook_currname_or_default: }
+ \str_if_eq:eeTF { top-level }
+ { \__hook_currname_or_default: }
{
\__hook_init_structure:n {#1}
\__hook_tl_gput_right:cn { __hook_toplevel~#1 } {#3}
@@ -5422,7 +5529,8 @@ of this package available from CTAN}
{ \msg_error:nnn { hooks } { misused-top-level } {#1} }
}
{
- \prop_get:cnNTF { g__hook_#1_code_prop } {#2} \l__hook_return_tl
+ \prop_get:cnNTF
+ { g__hook_#1_code_prop } {#2} \l__hook_return_tl
{
\prop_gput:cno { g__hook_#1_code_prop } {#2}
{ \l__hook_return_tl #3 }
@@ -5458,7 +5566,8 @@ of this package available from CTAN}
\__hook_init_structure:n {#1}
\__hook_hook_gput_code_do:nnn {#1} {#2} {#3}
}
-\IncludeInRelease{2023/06/01}{\__hook_try_declaring_generic_hook:nnn}
+\IncludeInRelease{2023/06/01}
+ {\__hook_try_declaring_generic_hook:nnn}
{Hooks~with~args}
\cs_new_protected:Npn \__hook_try_declaring_generic_hook:nnn #1
{
@@ -5475,54 +5584,66 @@ of this package available from CTAN}
{#1}
}
\EndIncludeInRelease
-\IncludeInRelease{2021/11/15}{\__hook_try_declaring_generic_hook:nnn}
+\IncludeInRelease{2021/11/15}
+ {\__hook_try_declaring_generic_hook:nnn}
{Standardise~generic~hook~names}
\cs_gset_protected:Npn \__hook_try_declaring_generic_hook:nnn #1
{
- \__hook_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
+ \__hook_try_declaring_generic_hook:wnTF #1 / / / \scan_stop:
+ {#1}
\hook_gput_code:nnn
\__hook_gput_undeclared_hook:nnn
{#1}
}
-\cs_gset_protected:Npn \__hook_try_declaring_generic_next_hook:nn #1
+\cs_gset_protected:Npn
+ \__hook_try_declaring_generic_next_hook:nn #1
{
- \__hook_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
+ \__hook_try_declaring_generic_hook:wnTF #1 / / / \scan_stop:
+ {#1}
\hook_gput_next_code:nn
\__hook_gput_next_do:nn
{#1}
}
\EndIncludeInRelease
-\IncludeInRelease{2020/10/01}{\__hook_try_declaring_generic_hook:nnn}
+\IncludeInRelease{2020/10/01}
+ {\__hook_try_declaring_generic_hook:nnn}
{Standardise~generic~hook~names}
-\cs_new_protected:Npn \__hook_try_declaring_generic_hook:nnn #1
+\cs_new_protected:Npn
+ \__hook_try_declaring_generic_hook:nnn #1
{
\__hook_try_declaring_generic_hook:nNNnn {#1}
\hook_gput_code:nnn \__hook_gput_undeclared_hook:nnn
}
-\cs_new_protected:Npn \__hook_try_declaring_generic_next_hook:nn #1
+\cs_new_protected:Npn
+ \__hook_try_declaring_generic_next_hook:nn #1
{
\__hook_try_declaring_generic_hook:nNNnn {#1}
\hook_gput_next_code:nn \__hook_gput_next_do:nn
}
\cs_new_protected:Npn \__hook_try_declaring_generic_hook:nNNnn #1
{
- \__hook_if_file_hook:wTF #1 / \s__hook_mark
+ \__hook_if_file_hook:wTF #1 / / \s__hook_mark
{
- \exp_args:Ne \__hook_try_declaring_generic_hook_split:nNNnn
+ \exp_args:Ne
+ \__hook_try_declaring_generic_hook_split:nNNnn
{ \exp_args:Ne \__hook_file_hook_normalize:n {#1} }
}
{ \__hook_try_declaring_generic_hook_split:nNNnn {#1} }
}
-\cs_new_protected:Npn \__hook_try_declaring_generic_hook_split:nNNnn #1 #2 #3
+\cs_new_protected:Npn
+ \__hook_try_declaring_generic_hook_split:nNNnn #1 #2 #3
{
- \__hook_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
+ \__hook_try_declaring_generic_hook:wnTF #1 / / / \scan_stop:
+ {#1}
{ #2 }
{ #3 } {#1}
}
\EndIncludeInRelease
-\IncludeInRelease{2023/06/01}{\__hook_try_declaring_generic_hook:wn}
+\IncludeInRelease{2023/06/01}
+ {\__hook_try_declaring_generic_hook:wn}
{Hooks~with~args}
-\prg_new_protected_conditional:Npnn \__hook_try_declaring_generic_hook:wn
+\prg_new_protected_conditional:Npnn
+ \__hook_try_declaring_generic_hook:wn
#1 / #2 / #3 / #4 \scan_stop: #5 { TF }
{
\__hook_if_generic:nTF {#5}
@@ -5576,9 +5697,11 @@ of this package available from CTAN}
#1 #2 { #3 / #5 / #4 }
}
\EndIncludeInRelease
-\IncludeInRelease{2021/11/15}{\__hook_try_declaring_generic_hook:wn}
+\IncludeInRelease{2021/11/15}
+ {\__hook_try_declaring_generic_hook:wn}
{Standardise~generic~hook~names}
-\prg_new_protected_conditional:Npnn \__hook_try_declaring_generic_hook:wn
+\prg_new_protected_conditional:Npnn
+ \__hook_try_declaring_generic_hook:wn
#1 / #2 / #3 / #4 \scan_stop: #5 { TF }
{
\__hook_if_generic:nTF {#5}
@@ -5604,9 +5727,11 @@ of this package available from CTAN}
}
}
\EndIncludeInRelease
-\IncludeInRelease{2021/06/01}{\__hook_try_declaring_generic_hook:wn}
+\IncludeInRelease{2021/06/01}
+ {\__hook_try_declaring_generic_hook:wn}
{Support~cmd~hooks}
-\prg_new_protected_conditional:Npnn \__hook_try_declaring_generic_hook:wn
+\prg_new_protected_conditional:Npnn
+ \__hook_try_declaring_generic_hook:wn
#1 / #2 / #3 / #4 \scan_stop: #5 { TF }
{
\tl_if_empty:nTF {#2}
@@ -5620,10 +5745,12 @@ of this package available from CTAN}
{ \__hook_try_put_cmd_hook:n {#5} }
\__hook_make_usable:n {#5}
}
- \prop_if_in:NnTF \c__hook_generics_reversed_ii_prop {#2}
+ \prop_if_in:NnTF
+ \c__hook_generics_reversed_ii_prop {#2}
{ \tl_gset:cn { g__hook_#5_reversed_tl } { - } }
{
- \prop_if_in:NnT \c__hook_generics_reversed_iii_prop {#3}
+ \prop_if_in:NnT
+ \c__hook_generics_reversed_iii_prop {#3}
{ \tl_gset:cn { g__hook_#5_reversed_tl } { - } }
}
\prg_return_true:
@@ -5632,9 +5759,11 @@ of this package available from CTAN}
}
}
\EndIncludeInRelease
-\IncludeInRelease{2020/10/01}{\__hook_try_declaring_generic_hook:wn}
+\IncludeInRelease{2020/10/01}
+ {\__hook_try_declaring_generic_hook:wn}
{Support~cmd~hooks}
-\prg_new_protected_conditional:Npnn \__hook_try_declaring_generic_hook:wn
+\prg_new_protected_conditional:Npnn
+ \__hook_try_declaring_generic_hook:wn
#1 / #2 / #3 / #4 \scan_stop: #5 { TF }
{
\tl_if_empty:nTF {#2}
@@ -5643,10 +5772,12 @@ of this package available from CTAN}
\prop_if_in:NnTF \c__hook_generics_prop {#1}
{
\__hook_if_declared:nF {#5} { \hook_new:n {#5} }
- \prop_if_in:NnTF \c__hook_generics_reversed_ii_prop {#2}
+ \prop_if_in:NnTF
+ \c__hook_generics_reversed_ii_prop {#2}
{ \tl_gset:cn { g__hook_#5_reversed_tl } { - } }
{
- \prop_if_in:NnT \c__hook_generics_reversed_iii_prop {#3}
+ \prop_if_in:NnT
+ \c__hook_generics_reversed_iii_prop {#3}
{ \tl_gset:cn { g__hook_#5_reversed_tl } { - } }
}
\prg_return_true:
@@ -5687,11 +5818,11 @@ of this package available from CTAN}
{ \__hook_strip_double_slash:n {#1} }
\cs_new:Npn \__hook_strip_double_slash:n #1
{ \__hook_strip_double_slash:w #1 // \s__hook_mark }
-\cs_new:Npn \__hook_strip_double_slash:w #1/#2/#3 // #4 \s__hook_mark
+\cs_new:Npn \__hook_strip_double_slash:w #1/#2/#3//#4\s__hook_mark
{
\tl_if_empty:nTF {#4}
{ #1/#2/#3 }
- { \__hook_strip_double_slash:w #1/#2/#3 / #4 \s__hook_mark }
+ { \__hook_strip_double_slash:w #1/#2/#3 /#4\s__hook_mark }
}
\EndIncludeInRelease
\IncludeInRelease{2021/11/15}{\c__hook_generics_prop}
@@ -5722,9 +5853,12 @@ of this package available from CTAN}
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}{\c__hook_generics_reversed_ii_prop}
{Standardise~generic~hook~names}
-\prop_const_from_keyval:Nn \c__hook_generics_reversed_ii_prop {after=,end=}
-\prop_const_from_keyval:Nn \c__hook_generics_reversed_iii_prop {after=}
-\prop_const_from_keyval:Nn \c__hook_generics_file_prop {before=,after=}
+\prop_const_from_keyval:Nn
+ \c__hook_generics_reversed_ii_prop {after=,end=}
+\prop_const_from_keyval:Nn
+ \c__hook_generics_reversed_iii_prop {after=}
+\prop_const_from_keyval:Nn
+ \c__hook_generics_file_prop {before=,after=}
\EndIncludeInRelease
\IncludeInRelease{2023/06/01}{\c__hook_parameter_cmd/./before_tl}
{Hooks~with~args}
@@ -5752,7 +5886,8 @@ of this package available from CTAN}
\str_if_eq:nnTF {#2} { top-level }
{ \__hook_toplevel_gset:nn {#1} { } }
{
- \prop_gpop:cnNF { g__hook_#1_code_prop } {#2} \l__hook_return_tl
+ \prop_gpop:cnNF { g__hook_#1_code_prop }
+ {#2} \l__hook_return_tl
{ \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
}
}
@@ -5763,7 +5898,8 @@ of this package available from CTAN}
\__hook_if_deprecated_generic:nTF {#1}
{
\__hook_deprecated_generic_warn:n {#1}
- \__hook_do_deprecated_generic:Nn \__hook_gremove_code:nn {#1} {#2}
+ \__hook_do_deprecated_generic:Nn
+ \__hook_gremove_code:nn {#1} {#2}
}
{ \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
}
@@ -5785,8 +5921,10 @@ of this package available from CTAN}
\str_if_eq:nnTF {#2} { top-level }
{ \__hook_tl_gclear:c { __hook_toplevel~#1 } }
{
- \prop_gpop:cnNF { g__hook_#1_code_prop } {#2} \l__hook_return_tl
- { \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
+ \prop_gpop:cnNF { g__hook_#1_code_prop }
+ {#2} \l__hook_return_tl
+ { \msg_warning:nnnn { hooks } { cannot-remove }
+ {#1} {#2} }
}
}
\__hook_if_usable:nT {#1}
@@ -5796,9 +5934,11 @@ of this package available from CTAN}
\__hook_if_deprecated_generic:nTF {#1}
{
\__hook_deprecated_generic_warn:n {#1}
- \__hook_do_deprecated_generic:Nn \__hook_gremove_code:nn {#1} {#2}
+ \__hook_do_deprecated_generic:Nn
+ \__hook_gremove_code:nn {#1} {#2}
}
- { \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
+ { \msg_warning:nnnn { hooks } { cannot-remove }
+ {#1} {#2} }
}
}
\EndIncludeInRelease
@@ -5817,7 +5957,8 @@ of this package available from CTAN}
{#1} {#2}
}
\cs_new_protected:Npn \__hook_cs_gput_right_fast:nnn #1 #2 #3
- { \cs_gset:cpx { __hook#1~#2 } { \exp_not:v { __hook#1~#2 } \exp_not:n {#3} } }
+ { \cs_gset:cpx { __hook#1~#2 }
+ { \exp_not:v { __hook#1~#2 } \exp_not:n {#3} } }
\cs_new_protected:Npn \__hook_cs_gput_right_slow:nnn #1 #2 #3
{
\cs_if_exist:cF { __hook#1~#2 }
@@ -5928,7 +6069,8 @@ of this package available from CTAN}
}
\exp_last_unbraced:NNf
\cs_set:Npn \__hook_tmp:w { \__hook_parameter:n {#1} } { }
- \tl_set:Ne \l__hook_tmpa_tl { \__hook_braced_cs_parameter:n { __hook_tmp:w } }
+ \tl_set:Ne \l__hook_tmpa_tl
+ { \__hook_braced_cs_parameter:n { __hook_tmp:w } }
\cs_gset_protected:Npx \__hook_normalise_fn:nn ##1 ##2
{
\group_begin:
@@ -6114,8 +6256,8 @@ of this package available from CTAN}
\__hook_if_deprecated_generic:nT {#1}
{
\__hook_deprecated_generic_warn:n {#1}
- \__hook_do_deprecated_generic:Nn \__hook_gset_rule:nnnn {#1}
- {#2} {#3} {#4}
+ \__hook_do_deprecated_generic:Nn \__hook_gset_rule:nnnn
+ {#1} {#2} {#3} {#4}
\exp_after:wN \use_none:nnnnnnnnn \use_none:n
}
\__hook_init_structure:n {#1}
@@ -6133,27 +6275,34 @@ of this package available from CTAN}
\EndIncludeInRelease
\cs_new_protected:Npn \__hook_rule_before_gset:nnn #1#2#3
{
- \__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ \__hook_tl_gset:cx
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
{ \__hook_label_ordered:nnTF {#2} {#3} { < } { > } }
}
\cs_new_eq:cN { __hook_rule_<_gset:nnn } \__hook_rule_before_gset:nnn
\cs_new_protected:Npn \__hook_rule_after_gset:nnn #1#2#3
{
- \__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#3} {#2} _tl }
+ \__hook_tl_gset:cx
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#3} {#2} _tl }
{ \__hook_label_ordered:nnTF {#3} {#2} { < } { > } }
}
\cs_new_eq:cN { __hook_rule_>_gset:nnn } \__hook_rule_after_gset:nnn
\cs_new_protected:Npn \__hook_rule_voids_gset:nnn #1#2#3
{
- \__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ \__hook_tl_gset:cx
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
{ \__hook_label_ordered:nnTF {#2} {#3} { -> } { <- } }
}
\cs_new_protected:cpn { __hook_rule_incompatible-error_gset:nnn } #1#2#3
- { \__hook_tl_gset:cn { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
- { xE } }
+ { \__hook_tl_gset:cn
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ { xE }
+ }
\cs_new_protected:cpn { __hook_rule_incompatible-warning_gset:nnn } #1#2#3
- { \__hook_tl_gset:cn { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
- { xW } }
+ { \__hook_tl_gset:cn
+ { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
+ { xW }
+ }
\cs_new_protected:Npn \__hook_rule_unrelated_gset:nnn #1#2#3 { }
\cs_new_protected:Npn \__hook_rule_gclear:nnn #1#2#3
{ \cs_undefine:c { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl } }
@@ -6211,7 +6360,8 @@ of this package available from CTAN}
{Hooks~with~args}
\cs_gset_protected:Npn \__hook_initialize_all:
{
- \cs_gset_eq:NN \__hook_update_hook_code:n \__hook_initialize_hook_code:n
+ \cs_gset_eq:NN \__hook_update_hook_code:n
+ \__hook_initialize_hook_code:n
\__hook_debug:n { \prop_gclear:N \g__hook_used_prop }
\seq_map_inline:Nn \g__hook_all_seq
{ \__hook_update_hook_code:n {##1} }
@@ -6221,7 +6371,8 @@ of this package available from CTAN}
\prop_map_inline:Nn \g__hook_used_prop
{
\iow_term:x
- { ^^J ~ ##1 ~ -> ~ \cs_replacement_spec:c { __hook~##1 } ~ }
+ { ^^J ~ ##1 ~ -> ~
+ \cs_replacement_spec:c { __hook~##1 } ~ }
}
}
\cs_gset_eq:NN \hook_use:n \__hook_use_initialized:n
@@ -6243,8 +6394,10 @@ of this package available from CTAN}
{
\__hook_code_gset:ne {#1}
{
- \exp_not:c { __hook_toplevel~#1 } \__hook_braced_parameter:n {#1}
- \exp_not:c { __hook_next~#1 } \__hook_braced_parameter:n {#1}
+ \exp_not:c { __hook_toplevel~#1 }
+ \__hook_braced_parameter:n {#1}
+ \exp_not:c { __hook_next~#1 }
+ \__hook_braced_parameter:n {#1}
}
}
{
@@ -6267,7 +6420,8 @@ of this package available from CTAN}
\cs_gset_protected:Npn \__hook_initialize_hook_code:n #1
{
\__hook_debug:n
- { \iow_term:x { ^^J Update~code~for~hook~'#1' \on@line :^^J } }
+ { \iow_term:x { ^^J Update~code~for~hook~'#1'
+ \on@line :^^J } }
\__hook_include_legacy_code_chunk:n {#1}
\__hook_if_usable:nT {#1}
{
@@ -6281,15 +6435,21 @@ of this package available from CTAN}
}
{
\__hook_if_reversed:nTF {#1}
- { \cs_set_eq:NN \__hook_tl_gput:Nn \__hook_tl_gput_left:Nn
- \cs_set_eq:NN \__hook_clist_gput:NV \clist_gput_left:NV }
- { \cs_set_eq:NN \__hook_tl_gput:Nn \__hook_tl_gput_right:Nn
- \cs_set_eq:NN \__hook_clist_gput:NV \clist_gput_right:NV }
- \prop_set_eq:Nc \l__hook_work_prop { g__hook_#1_code_prop }
+ { \cs_set_eq:NN \__hook_tl_gput:Nn
+ \__hook_tl_gput_left:Nn
+ \cs_set_eq:NN \__hook_clist_gput:NV
+ \clist_gput_left:NV }
+ { \cs_set_eq:NN \__hook_tl_gput:Nn
+ \__hook_tl_gput_right:Nn
+ \cs_set_eq:NN \__hook_clist_gput:NV
+ \clist_gput_right:NV }
+ \prop_set_eq:Nc \l__hook_work_prop
+ { g__hook_#1_code_prop }
\__hook_initialize_single:ccn
{ __hook~#1 } { g__hook_#1_labels_clist } {#1}
\__hook_debug:n
- { \exp_args:NNx \prop_gput:Nnn \g__hook_used_prop {#1} { } }
+ { \exp_args:NNx \prop_gput:Nnn \g__hook_used_prop
+ {#1} { } }
}
}
}
@@ -6356,7 +6516,8 @@ of this package available from CTAN}
\int_compare:nNnT
{ \cs:w \__hook_tl_csname:n {##1} \cs_end: } = 0
{
- \tl_set:cn { \__hook_tl_csname:n { \l__hook_rear_tl } } {##1}
+ \tl_set:cn
+ { \__hook_tl_csname:n { \l__hook_rear_tl } } {##1}
\tl_set:Nn \l__hook_rear_tl {##1}
}
}
@@ -6407,42 +6568,50 @@ of this package available from CTAN}
{#3}
}
}
- \__hook_debug:n { \__hook_debug_label_data:N \l__hook_work_prop }
+ \__hook_debug:n
+ { \__hook_debug_label_data:N \l__hook_work_prop }
\tl_set:Nn \l__hook_rear_tl { 0 }
\tl_set:cn { \__hook_tl_csname:n { 0 } } { 0 }
\seq_map_inline:Nn \l__hook_labels_seq
{
- \int_compare:nNnT { \cs:w \__hook_tl_csname:n {##1} \cs_end: } = 0
- {
- \tl_set:cn { \__hook_tl_csname:n { \l__hook_rear_tl } }{##1}
- \tl_set:Nn \l__hook_rear_tl {##1}
- }
+ \int_compare:nNnT
+ { \cs:w \__hook_tl_csname:n {##1} \cs_end: } = 0
+ {
+ \tl_set:cn { \__hook_tl_csname:n
+ { \l__hook_rear_tl } } {##1}
+ \tl_set:Nn \l__hook_rear_tl {##1}
+ }
}
\tl_set_eq:Nc \l__hook_front_tl { \__hook_tl_csname:n { 0 } }
\__hook_tl_gclear:N #1
\clist_gclear:N #2
- \bool_while_do:nn { ! \str_if_eq_p:Vn \l__hook_front_tl { 0 } }
+ \bool_while_do:nn
+ { ! \str_if_eq_p:Vn \l__hook_front_tl { 0 } }
{
\int_decr:N \l__hook_labels_int
- \prop_get:NVN \l__hook_work_prop \l__hook_front_tl \l__hook_return_tl
+ \prop_get:NVN \l__hook_work_prop
+ \l__hook_front_tl \l__hook_return_tl
\exp_args:NNV \__hook_tl_gput:Nn #1 \l__hook_return_tl
\__hook_clist_gput:NV #2 \l__hook_front_tl
- \__hook_debug:n{ \iow_term:x{Handled~ code~ for~ \l__hook_front_tl} }
- \seq_map_inline:cn { \__hook_seq_csname:n { \l__hook_front_tl } }
+ \__hook_debug:n{ \iow_term:x
+ {Handled~ code~ for~ \l__hook_front_tl} }
+ \seq_map_inline:cn
+ { \__hook_seq_csname:n { \l__hook_front_tl } }
{
\tl_set:cx { \__hook_tl_csname:n {##1} }
- { \int_eval:n
- { \cs:w \__hook_tl_csname:n {##1} \cs_end: - 1 }
- }
+ { \int_eval:n
+ { \cs:w \__hook_tl_csname:n {##1} \cs_end: - 1 }
+ }
\int_compare:nNnT
- { \cs:w \__hook_tl_csname:n {##1} \cs_end: } = 0
- {
- \tl_set:cn { \__hook_tl_csname:n { \l__hook_rear_tl } } {##1}
- \tl_set:Nn \l__hook_rear_tl {##1}
- }
+ { \cs:w \__hook_tl_csname:n {##1} \cs_end: } = 0
+ {
+ \tl_set:cn { \__hook_tl_csname:n
+ { \l__hook_rear_tl } } {##1}
+ \tl_set:Nn \l__hook_rear_tl {##1}
+ }
}
\tl_set_eq:Nc \l__hook_front_tl
- { \__hook_tl_csname:n { \l__hook_front_tl } }
+ { \__hook_tl_csname:n { \l__hook_front_tl } }
}
\int_compare:nNnF \l__hook_labels_int = 0
{
@@ -6451,7 +6620,8 @@ of this package available from CTAN}
\__hook_debug_label_data:N \l__hook_work_prop
\iow_term:x{====================}
}
- \exp_args:NNo \__hook_tl_gput:Nn #1 { \cs:w __hook_toplevel~#3 \cs_end: }
+ \exp_args:NNo \__hook_tl_gput:Nn #1
+ { \cs:w __hook_toplevel~#3 \cs_end: }
\__hook_tl_gput_right:No #1 { \cs:w __hook_next~#3 \cs_end: }
}
\cs_generate_variant:Nn \__hook_tl_gput_right:Nn { No }
@@ -6588,7 +6758,7 @@ of this package available from CTAN}
hook~'#1'
\__hook_if_disabled:nF {#1}
{
- \exp_args:Nf \__hook_print_args:nn {#1}
+ \exp_args:Nne \__hook_print_args:nn {#1}
{
\int_eval:n
{ \str_count:e { \__hook_parameter:n {#1} } / 3 }
@@ -6697,7 +6867,8 @@ of this package available from CTAN}
}
\__hook_preamble_hook:n {#1}
\__hook_log_cmd:x
- { ^^J ->~The~ \__hook_if_generic:nT {#1} { generic~ } hook~'#1': }
+ { ^^J ->~The~ \__hook_if_generic:nT
+ {#1} { generic~ } hook~'#1': }
\__hook_if_usable:nF {#1}
{ \__hook_log_line:x { The~hook~is~not~declared. } }
\__hook_if_disabled:nT {#1}
@@ -6710,26 +6881,30 @@ of this package available from CTAN}
{ \__hook_log_line_indent:x { --- } }
{
\prop_map_inline:cn { g__hook_#1_code_prop }
- { \__hook_log_line_indent:x { ##1~->~\tl_to_str:n {##2} } }
+ { \__hook_log_line_indent:x
+ { ##1~->~\tl_to_str:n {##2} } }
}
\__hook_log_line:x
{
Document-level~(top-level)~code
\__hook_if_usable:nT {#1}
- { ~(executed~\__hook_if_reversed:nTF {#1} {first} {last} ) } :
+ { ~(executed~
+ \__hook_if_reversed:nTF {#1} {first} {last} ) } :
}
\__hook_log_line_indent:x
{
\tl_if_empty:cTF { __hook_toplevel~#1 }
{ --- }
- { -> ~ \exp_args:Nv \tl_to_str:n { __hook_toplevel~#1 } }
+ { -> ~ \exp_args:Nv \tl_to_str:n
+ { __hook_toplevel~#1 } }
}
\__hook_log_line:x { Extra~code~for~next~invocation: }
\__hook_log_line_indent:x
{
\tl_if_empty:cTF { __hook_next~#1 }
{ --- }
- { ->~ \exp_args:Nv \__hook_log_next_code:n { __hook_next~#1 } }
+ { ->~ \exp_args:Nv \__hook_log_next_code:n
+ { __hook_next~#1 } }
}
\__hook_log_line:x { Rules: }
\bool_set_true:N \l__hook_tmpa_bool
@@ -6753,7 +6928,8 @@ of this package available from CTAN}
{
Execution~order
\bool_if:NTF \l__hook_tmpa_bool
- { \__hook_if_reversed:nT {#1} { ~(after~reversal) } }
+ { \__hook_if_reversed:nT
+ {#1}{ ~(after~reversal) } }
{ ~(after~
\__hook_if_reversed:nT {#1} { reversal~and~ }
applying~rules)
@@ -6764,16 +6940,19 @@ of this package available from CTAN}
\@spaces
\clist_if_empty:cTF { g__hook_#1_labels_clist }
{ --- }
- { \clist_use:cn { g__hook_#1_labels_clist } { ,~ } }
+ { \clist_use:cn
+ { g__hook_#1_labels_clist } { ,~ } }
}
}
{
\__hook_log_line:x { Execution~order: }
#2
{
- \@spaces Not~set~because~the~hook~ \__hook_if_usable:nTF {#1}
+ \@spaces Not~set~because~the~hook~
+ \__hook_if_usable:nTF {#1}
{ code~pool~is~empty }
- { is~\__hook_if_disabled:nTF {#1} {disabled} {undeclared} }
+ { is~\__hook_if_disabled:nTF
+ {#1} {disabled} {undeclared} }
}
}
}
@@ -6863,7 +7042,8 @@ of this package available from CTAN}
\IncludeInRelease{2020/10/01}{\hook_gput_next_code:nn}
{Hooks~with~args}
\cs_gset_protected:Npn \hook_gput_next_code:nn #1
- { \__hook_normalize_hook_args:Nn \__hook_gput_next_code:nn {#1} }
+ { \__hook_normalize_hook_args:Nn
+ \__hook_gput_next_code:nn {#1} }
\cs_gset_protected:Npn \hook_gput_next_code_with_args:nn #1 #2 { }
\EndIncludeInRelease
\cs_new_protected:Npn \__hook_gput_next_code:nn #1 #2
@@ -6979,7 +7159,8 @@ of this package available from CTAN}
\fi:
\cs:w __hook~#1 \__hook_use_end:
}
-\cs_new:Npn \__hook_use_undefined:w #1 #2 __hook~#3 \__hook_use_end:
+\cs_new:Npn \__hook_use_undefined:w
+ #1 #2 __hook~#3 \__hook_use_end:
{
#1 % fi
\__hook_use:wn #3 / \s__hook_mark {#3}
@@ -7039,12 +7220,13 @@ of this package available from CTAN}
}
\cs_new_protected:Npn \__hook_try_file_hook:n #1
{
- \__hook_if_file_hook:wTF #1 / \s__hook_mark
+ \__hook_if_file_hook:wTF #1 / / \s__hook_mark
{
\exp_args:Ne \__hook_if_usable_use:n
{ \exp_args:Ne \__hook_file_hook_normalize:n {#1} }
}
- { \__hook_if_usable_use:n {#1} } % file/ generic hook (e.g. file/before)
+ { \__hook_if_usable_use:n {#1} }
+ % file/ generic hook (e.g. file/before)
}
\cs_new_protected:Npn \__hook_if_usable_use:n #1
{
@@ -7060,12 +7242,14 @@ of this package available from CTAN}
\cs_new_protected:Npn \hook_use_once:n #1
{
\__hook_if_execute_immediately:nF {#1}
- { \__hook_normalize_hook_args:Nn \__hook_use_once:nn { \use:n {#1} } { 0 } }
+ { \__hook_normalize_hook_args:Nn \__hook_use_once:nn
+ { \use:n {#1} } { 0 } }
}
\cs_new_protected:Npn \hook_use_once:nnw #1 #2
{
\__hook_if_execute_immediately:nF {#1}
- { \__hook_normalize_hook_args:Nn \__hook_use_once:nn { \use:n {#1} } {#2} }
+ { \__hook_normalize_hook_args:Nn \__hook_use_once:nn
+ { \use:n {#1} } {#2} }
}
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}{\hook_use_once:nnw}
@@ -7073,7 +7257,8 @@ of this package available from CTAN}
\cs_gset_protected:Npn \hook_use_once:n #1
{
\__hook_if_execute_immediately:nF {#1}
- { \__hook_normalize_hook_args:Nn \__hook_use_once:n { \use:n {#1} } }
+ { \__hook_normalize_hook_args:Nn \__hook_use_once:n
+ { \use:n {#1} } }
}
\cs_gset:Npn \hook_use_once:nnw #1 #2
{ \use:c { use_none: \prg_replicate:nn {#2} { n } } }
@@ -7085,7 +7270,8 @@ of this package available from CTAN}
\__hook_preamble_hook:n {#1}
\__hook_use_once_set:n {#1}
\__hook_replacing_args_false:
- \__hook_cs_gput_right:nnn { _next } {#1} { \__hook_use_once_clear:n {#1} }
+ \__hook_cs_gput_right:nnn { _next } {#1}
+ { \__hook_use_once_clear:n {#1} }
\__hook_replacing_args_reset:
\__hook_if_usable:nTF {#1}
{ \__hook_use_initialized:n {#1} }
@@ -7333,7 +7519,8 @@ of this package available from CTAN}
{ Cannot~add~code~to~disabled~hook~'#1'. }
{
The~hook~'#1'~you~tried~to~add~code~to~was~previously~disabled~
- with~\iow_char:N\\hook_disable_generic:n~or~\iow_char:N\\DisableGenericHook,~so~
+ with~\iow_char:N\\hook_disable_generic:n~or~
+ \iow_char:N\\DisableGenericHook,~so~
it~cannot~have~code~added~to~it.
}
\msg_new:nnn { hooks } { empty-label }
@@ -7442,7 +7629,7 @@ of this package available from CTAN}
{Hooks~with~args}
\cs_new_protected:Npn \NewHookWithArguments #1 #2 { }
\cs_new_protected:Npn \NewReversedHookWithArguments #1 #2 { }
-\cs_new_protected:Npn \NewMirroredHookPairWithArguments #1 #2 #3 { }
+\cs_new_protected:Npn \NewMirroredHookPairWithArguments #1 #2 #3{}
\EndIncludeInRelease
\IncludeInRelease{2021/06/01}{\ActivateGenericHook}
{Providing~hooks}
@@ -7644,7 +7831,8 @@ of this package available from CTAN}
\exp_args:No \exp_not:o
{
\cs:w __hook#1~#2 \exp_last_unbraced:Ne \cs_end:
- { \__hook_braced_cs_parameter:n { __hook#1~#2 } }
+ { \__hook_braced_cs_parameter:n
+ { __hook#1~#2 } }
}
}
}
@@ -7659,12 +7847,10 @@ of this package available from CTAN}
}
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% File: ltcmdhooks.dtx
+%% From File: ltcmdhooks.dtx
%% Copyright (C) 2020-2024
%% Frank Mittelbach, Phelype Oleinik, The LaTeX Project
-%%% From File: ltcmdhooks.dtx
-\def\ltcmdhooksversion{v1.0i}
-\def\ltcmdhooksdate{2023/06/16}
+%%% From File: lthooks.dtx
\ExplSyntaxOn
\NewModuleRelease{2021/06/01}{ltcmdhooks}
{The~hook~management~system~for~commands}
@@ -7823,7 +8009,7 @@ of this package available from CTAN}
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -7898,7 +8084,7 @@ of this package available from CTAN}
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -8031,7 +8217,7 @@ of this package available from CTAN}
{ ~ \__hook_double_hashes:w }
\cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3
{
- \str_if_eq:eeTF { \cs_argument_spec:N #1 } { }
+ \str_if_eq:eeTF { \__kernel_cs_parameter_spec:N #1 } { }
{ \__hook_patch_expand_redefine:NNnn \c_false_bool #1 {#2} {#3} }
{
\__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning }
@@ -8274,8 +8460,6 @@ of this package available from CTAN}
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltsockets.dtx
-\def\ltsocketsversion{0.9a}
-\def\ltsocketsdate{2023-08-21}
\ExplSyntaxOn
\NewModuleRelease{2023/11/01}{ltsockets}
{The~socket~management~system}
@@ -8465,6 +8649,1192 @@ of this package available from CTAN}
\EndModuleRelease
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% From File: lttemplates.dtx
+\ExplSyntaxOn
+\NewModuleRelease{2024/06/01}{lttemplates}
+ {Prototype~document~commands}%
+\tl_const:Nn \c__template_code_root_tl { template~code~>~ }
+\tl_const:Nn \c__template_defaults_root_tl { template~defaults~>~ }
+\tl_const:Nn \c__template_instances_root_tl { template~instance~>~ }
+\tl_const:Nn \c__template_keytypes_root_tl { template~key~types~>~ }
+\tl_const:Nn \c__template_key_order_root_tl { template~key~order~>~ }
+\tl_const:Nn \c__template_values_root_tl { template~values~>~ }
+\tl_const:Nn \c__template_vars_root_tl { template~vars~>~ }
+\seq_const_from_clist:Nn \c__template_keytypes_arg_seq
+ { choice , function , instance }
+\prop_new:N \g__template_type_prop
+\tl_new:N \l__template_assignments_tl
+\tl_new:N \l__template_default_tl
+\bool_new:N \l__template_error_bool
+\bool_new:N \l__template_global_bool
+\tl_new:N \l__template_key_name_tl
+\tl_new:N \l__template_keytype_tl
+\tl_new:N \l__template_keytype_arg_tl
+\tl_new:N \l__template_value_tl
+\tl_new:N \l__template_var_tl
+\prop_new:N \l__template_keytypes_prop
+\seq_new:N \l__template_key_order_seq
+\prop_new:N \l__template_values_prop
+\prop_new:N \l__template_vars_prop
+\clist_new:N \l__template_tmp_clist
+\dim_new:N \l__template_tmp_dim
+\int_new:N \l__template_tmp_int
+\muskip_new:N \l__template_tmp_muskip
+\skip_new:N \l__template_tmp_skip
+\tl_new:N \l__template_tmp_tl
+\scan_new:N \s__template_mark
+\scan_new:N \s__template_stop
+\quark_new:N \q__template_nil
+\__kernel_quark_new_conditional:Nn \__template_quark_if_nil:N { F }
+\cs_new_protected:Npn \__template_execute_if_arg_agree:nnT #1#2#3
+ {
+ \prop_get:NnN \g__template_type_prop {#1} \l__template_tmp_tl
+ \int_compare:nNnTF {#2} = \l__template_tmp_tl
+ {#3}
+ {
+ \msg_error:nneee { template } { argument-number-mismatch }
+ {#1} { \l__template_tmp_tl } {#2}
+ }
+ }
+\cs_new_protected:Npn \__template_execute_if_code_exist:nnT #1#2#3
+ {
+ \cs_if_exist:cTF { \c__template_code_root_tl #1 / #2 }
+ {#3}
+ { \msg_error:nnnn { template } { no-template-code } {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_execute_if_keytype_exist:nT #1#2
+ {
+ \cs_if_exist:cTF { __template_store_value_ #1 :n }
+ {#2}
+ { \msg_error:nnn { template } { unknown-keytype } {#1} }
+ }
+\cs_generate_variant:Nn \__template_execute_if_keytype_exist:nT { V }
+\cs_new_protected:Npn \__template_execute_if_type_exist:nT #1#2
+ {
+ \prop_if_in:NnTF \g__template_type_prop {#1}
+ {#2}
+ { \msg_error:nnn { template } { unknown-type } {#1} }
+ }
+\cs_new_protected:Npn \__template_if_keys_exist:nnT #1#2#3
+ {
+ \cs_if_exist:cTF { \c__template_keytypes_root_tl #1 / #2 }
+ {#3}
+ { \msg_error:nnnn { template } { unknown-template } {#1} {#2} }
+ }
+\prg_new_conditional:Npnn \__template_if_key_value:n #1 { T , F , TF }
+ {
+ \str_if_eq:noTF { \KeyValue } { \tl_head:w #1 \q_nil \q_stop }
+ \prg_return_true:
+ \prg_return_false:
+ }
+\prg_generate_conditional_variant:Nnn \__template_if_key_value:n { V } { T , F , TF }
+\prg_new_conditional:Npnn \__template_if_instance_exist:nn #1#2 { T, F, TF }
+ {
+ \cs_if_exist:cTF { \c__template_instances_root_tl #1 / #2 }
+ \prg_return_true:
+ \prg_return_false:
+ }
+\prg_new_conditional:Npnn \__template_if_use_template:n #1 { TF }
+ {
+ \str_if_eq:noTF { \UseTemplate } { \tl_head:w #1 \q_nil \q_stop }
+ \prg_return_true:
+ \prg_return_false:
+}
+\cs_new_protected:Npn \__template_store_defaults:nn #1#2
+ {
+ \debug_suspend:
+ \prop_gclear_new:c { \c__template_defaults_root_tl #1 / #2 }
+ \prop_gset_eq:cN { \c__template_defaults_root_tl #1 / #2 }
+ \l__template_values_prop
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_store_keytypes:nn #1#2
+ {
+ \debug_suspend:
+ \prop_if_exist:cTF { \c__template_keytypes_root_tl #1 / #2 }
+ {
+ \msg_info:nnnn { template } { declare-template-interface } {#1} {#2}
+ \prop_gclear:c { \c__template_keytypes_root_tl #1 / #2 }
+ }
+ { \prop_new:c { \c__template_keytypes_root_tl #1 / #2 } }
+ \prop_gset_eq:cN { \c__template_keytypes_root_tl #1 / #2 }
+ \l__template_keytypes_prop
+ \seq_gclear_new:c { \c__template_key_order_root_tl #1 / #2 }
+ \seq_gset_eq:cN { \c__template_key_order_root_tl #1 / #2 }
+ \l__template_key_order_seq
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_store_values:nn #1#2
+ {
+ \debug_suspend:
+ \prop_clear_new:c { \c__template_values_root_tl #1 / #2 }
+ \prop_set_eq:cN { \c__template_values_root_tl #1 / #2 }
+ \l__template_values_prop
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_store_vars:nn #1#2
+ {
+ \debug_suspend:
+ \prop_gclear_new:c { \c__template_vars_root_tl #1 / #2 }
+ \prop_gset_eq:cN { \c__template_vars_root_tl #1 / #2 }
+ \l__template_vars_prop
+ \debug_resume:
+ }
+\cs_new_protected:Npn \__template_recover_defaults:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_defaults_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_values_prop
+ { \c__template_defaults_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_values_prop }
+ }
+\cs_new_protected:Npn \__template_recover_keytypes:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_keytypes_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_keytypes_prop
+ { \c__template_keytypes_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_keytypes_prop }
+ \seq_if_exist:cTF { \c__template_key_order_root_tl #1 / #2 }
+ {
+ \seq_set_eq:Nc \l__template_key_order_seq
+ { \c__template_key_order_root_tl #1 / #2 }
+ }
+ { \seq_clear:N \l__template_key_order_seq }
+ }
+\cs_new_protected:Npn \__template_recover_values:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_values_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_values_prop
+ { \c__template_values_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_values_prop }
+ }
+\cs_new_protected:Npn \__template_recover_vars:nn #1#2
+ {
+ \prop_if_exist:cTF
+ { \c__template_vars_root_tl #1 / #2 }
+ {
+ \prop_set_eq:Nc \l__template_vars_prop
+ { \c__template_vars_root_tl #1 / #2 }
+ }
+ { \prop_clear:N \l__template_vars_prop }
+ }
+\cs_new_protected:Npn \__template_define_type:nn #1#2
+ {
+ \prop_if_in:NnTF \g__template_type_prop {#1}
+ { \msg_error:nnn { template } { type-already-defined } {#1} }
+ { \__template_declare_type:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_declare_type:nn #1#2
+ {
+ \int_set:Nn \l__template_tmp_int {#2}
+ \int_compare:nTF { 0 <= \l__template_tmp_int <= 9 }
+ {
+ \msg_info:nnnV { template } { declare-type }
+ {#1} \l__template_tmp_int
+ \prop_gput:NnV \g__template_type_prop {#1}
+ \l__template_tmp_int
+ }
+ {
+ \msg_error:nnnV { template } { bad-number-of-arguments }
+ {#1} \l__template_tmp_int
+ }
+ }
+\cs_new_protected:Npn \__template_declare_template_keys:nnnn #1#2#3#4
+ {
+ \__template_execute_if_type_exist:nT {#1}
+ {
+ \__template_execute_if_arg_agree:nnT {#1} {#3}
+ {
+ \prop_clear:N \l__template_values_prop
+ \prop_clear:N \l__template_keytypes_prop
+ \seq_clear:N \l__template_key_order_seq
+ \keyval_parse:NNn
+ \__template_parse_keys_elt:n \__template_parse_keys_elt:nn {#4}
+ \__template_store_defaults:nn {#1} {#2}
+ \__template_store_keytypes:nn {#1} {#2}
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt:n #1
+ {
+ \__template_split_keytype:n {#1}
+ \bool_if:NF \l__template_error_bool
+ {
+ \__template_execute_if_keytype_exist:VT \l__template_keytype_tl
+ {
+ \seq_map_function:NN \c__template_keytypes_arg_seq
+ \__template_parse_keys_elt_aux:n
+ \bool_if:NF \l__template_error_bool
+ {
+ \seq_if_in:NoTF \l__template_key_order_seq
+ \l__template_key_name_tl
+ {
+ \msg_error:nnV { template } { duplicate-key-interface }
+ \l__template_key_name_tl
+ }
+ { \__template_parse_keys_elt_aux: }
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt_aux:n #1
+ {
+ \str_if_eq:VnT \l__template_keytype_tl {#1}
+ {
+ \tl_if_empty:NT \l__template_keytype_arg_tl
+ {
+ \msg_error:nnn { template } { keytype-requires-argument } {#1}
+ \bool_set_true:N \l__template_error_bool
+ \seq_map_break:
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt_aux:
+ {
+ \tl_set:Ne \l__template_tmp_tl
+ {
+ \l__template_keytype_tl
+ \tl_if_empty:NF \l__template_keytype_arg_tl
+ { { \l__template_keytype_arg_tl } }
+ }
+ \prop_put:NVV \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \seq_put_right:NV \l__template_key_order_seq \l__template_key_name_tl
+ \str_if_eq:VnT \l__template_keytype_tl { choice }
+ {
+ \clist_if_in:NnT \l__template_keytype_arg_tl { unknown }
+ { \msg_error:nn { template } { choice-unknown-reserved } }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_keys_elt:nn #1#2
+ {
+ \__template_parse_keys_elt:n {#1}
+ \use:c { __template_store_value_ \l__template_keytype_tl :n } {#2}
+ }
+\cs_new_protected:Npe \__template_split_keytype:n #1
+ {
+ \exp_not:N \bool_set_false:N \exp_not:N \l__template_error_bool
+ \tl_set:Nn \exp_not:N \l__template_tmp_tl {#1}
+ \tl_replace_all:Nnn \exp_not:N \l__template_tmp_tl { : } { \token_to_str:N : }
+ \tl_if_in:VnTF \exp_not:N \l__template_tmp_tl { \token_to_str:N : }
+ {
+ \exp_not:n
+ {
+ \tl_clear:N \l__template_key_name_tl
+ \exp_after:wN \__template_split_keytype_aux:w
+ \l__template_tmp_tl \s__template_stop
+ }
+ }
+ {
+ \exp_not:N \bool_set_true:N \exp_not:N \l__template_error_bool
+ \msg_error:nnn { template } { missing-keytype } {#1}
+ }
+ }
+\use:e
+ {
+ \cs_new_protected:Npn \exp_not:N \__template_split_keytype_aux:w
+ #1 \token_to_str:N : #2 \s__template_stop
+ {
+ \tl_put_right:Ne \exp_not:N \l__template_key_name_tl
+ {
+ \exp_not:N \tl_trim_spaces:e
+ { \exp_not:N \tl_to_str:n {#1} }
+ }
+ \tl_if_in:nnTF {#2} { \token_to_str:N : }
+ {
+ \tl_put_right:Nn \exp_not:N \l__template_key_name_tl
+ { \token_to_str:N : }
+ \exp_not:N \__template_split_keytype_aux:w #2 \s__template_stop
+ }
+ {
+ \exp_not:N \tl_if_empty:NTF \exp_not:N \l__template_key_name_tl
+ {
+ \msg_error:nnn { template } { empty-key-name }
+ { \token_to_str:N : #2 }
+ }
+ { \exp_not:N \__template_split_keytype_arg:n {#2} }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_split_keytype_arg:n #1
+ {
+ \tl_set:Ne \l__template_keytype_tl { \tl_trim_spaces:n {#1} }
+ \tl_clear:N \l__template_keytype_arg_tl
+ \cs_set_protected:Npn \__template_split_keytype_arg_aux:n ##1
+ {
+ \tl_if_in:nnT {#1} {##1}
+ {
+ \cs_set:Npn \__template_split_keytype_arg_aux:w
+ ####1 ##1 ####2 \s__template_stop
+ {
+ \tl_if_blank:nT {####1}
+ {
+ \tl_set:Ne \l__template_keytype_tl
+ { \tl_trim_spaces:n {##1} }
+ \tl_if_blank:nF {####2}
+ {
+ \tl_set:Ne \l__template_keytype_arg_tl
+ { \use:n ####2 }
+ }
+ \seq_map_break:
+ }
+ }
+ \__template_split_keytype_arg_aux:w #1 \s__template_stop
+ }
+ }
+ \seq_map_function:NN \c__template_keytypes_arg_seq
+ \__template_split_keytype_arg_aux:n
+ }
+\cs_generate_variant:Nn \__template_split_keytype_arg:n { V }
+\cs_new:Npn \__template_split_keytype_arg_aux:n #1 { }
+\cs_new:Npn \__template_split_keytype_arg_aux:w #1 \s__template_stop { }
+\cs_new_protected:Npn \__template_store_value_boolean:n #1
+ { \prop_put:Non \l__template_values_prop \l__template_key_name_tl {#1} }
+\cs_new_protected:Npn \__template_store_value:n #1
+ { \prop_put:Non \l__template_values_prop \l__template_key_name_tl {#1} }
+\cs_new_eq:NN \__template_store_value_choice:n \__template_store_value:n
+\cs_new_eq:NN \__template_store_value_function:n \__template_store_value:n
+\cs_new_eq:NN \__template_store_value_instance:n \__template_store_value:n
+\cs_new_protected:Npn \__template_store_value_aux:Nn #1#2
+ { \prop_put:Non \l__template_values_prop \l__template_key_name_tl {#2} }
+\cs_new_protected:Npn \__template_store_value_integer:n
+ { \__template_store_value_aux:Nn \int_eval:n }
+\cs_new_protected:Npn \__template_store_value_length:n
+ { \__template_store_value_aux:Nn \dim_eval:n }
+\cs_new_protected:Npn \__template_store_value_muskip:n
+ { \__template_store_value_aux:Nn \muskip_eval:n }
+\cs_new_protected:Npn \__template_store_value_real:n
+ { \__template_store_value_aux:Nn \fp_eval:n }
+\cs_new_protected:Npn \__template_store_value_skip:n
+ { \__template_store_value_aux:Nn \skip_eval:n }
+\cs_new_protected:Npn \__template_store_value_tokenlist:n
+ { \__template_store_value_aux:Nn \use:n }
+\cs_new_eq:NN \__template_store_value_commalist:n \__template_store_value_tokenlist:n
+\cs_new_protected:Npn \__template_declare_template_code:nnnnn #1#2#3#4#5
+ {
+ \__template_execute_if_type_exist:nT {#1}
+ {
+ \__template_execute_if_arg_agree:nnT {#1} {#3}
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_store_key_implementation:nnn {#1} {#2} {#4}
+ \regex_match:nnTF { \c { AssignTemplateKeys } } {#5}
+ { \__template_declare_template_code:nnnn {#1} {#2} {#3} {#5} }
+ {
+ \__template_declare_template_code:nnnn
+ {#1} {#2} {#3} { \AssignTemplateKeys #5 }
+ }
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_declare_template_code:nnnn #1#2#3#4
+ {
+ \cs_if_exist:cT { \c__template_code_root_tl #1 / #2 }
+ { \msg_info:nnnn { template } { declare-template-code } {#1} {#2} }
+ \cs_generate_from_arg_count:cNnn
+ { \c__template_code_root_tl #1 / #2 }
+ \cs_gset_protected:Npn {#3} {#4}
+ }
+\cs_new_protected:Npn \__template_store_key_implementation:nnn #1#2#3
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_recover_keytypes:nn {#1} {#2}
+ \prop_clear:N \l__template_vars_prop
+ \keyval_parse:nnn
+ { \__template_parse_vars_elt:n } { \__template_parse_vars_elt:nnn { #1 / #2 } } {#3}
+ \__template_store_vars:nn {#1} {#2}
+ \prop_map_inline:Nn \l__template_keytypes_prop
+ { \msg_error:nnnnn { template } { key-not-implemented } {##1} {#2} {#1} }
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt:n #1
+ { \msg_error:nnn { template } { key-no-variable } {#1} }
+\cs_new_protected:Npn \__template_parse_vars_elt:nnn #1#2#3
+ {
+ \tl_set:Ne \l__template_key_name_tl
+ { \tl_trim_spaces:e { \tl_to_str:n {#2} } }
+ \prop_get:NVNTF \l__template_keytypes_prop
+ \l__template_key_name_tl
+ \l__template_keytype_tl
+ {
+ \__template_split_keytype_arg:V \l__template_keytype_tl
+ \__template_parse_vars_elt_aux:nn {#1} {#3}
+ \prop_remove:NV \l__template_keytypes_prop \l__template_key_name_tl
+ }
+ { \msg_error:nnn { template } { unknown-key } {#2} }
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt_aux:nn #1#2
+ {
+ \__template_parse_vars_elt_aux:nw {#1} #2 global global \s__template_stop
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt_aux:nw
+ #1#2 global #3 global #4 \s__template_stop
+ {
+ \tl_if_blank:nTF {#4}
+ { \__template_parse_vars_elt_aux:nnn {#1} { } {#2} }
+ {
+ \tl_if_blank:nTF {#2}
+ {
+ \__template_parse_vars_elt_aux:nne
+ {#1} { global } { \tl_trim_spaces:n {#3} }
+ }
+ { \msg_error:nnn { template } { bad-variable } { #2 global #3 } }
+ }
+ }
+\cs_new_protected:Npn \__template_parse_vars_elt_aux:nnn #1#2#3
+ {
+ \str_case:VnF \l__template_keytype_tl
+ {
+ { choice } { \__template_implement_choices:nn {#1} {#3} }
+ { function }
+ {
+ \cs_if_exist:NF #3
+ { \cs_new:Npn #3 { } }
+ \__template_parse_vars_elt_key:nn {#1}
+ {
+ .code:n =
+ {
+ \cs_generate_from_arg_count:NNnn
+ \exp_not:N #3
+ \exp_not:c
+ { cs_ \str_if_eq:nnT {#1} { global } { g } set:Npn }
+ { \exp_not:V \l__template_keytype_arg_tl }
+ {##1}
+ }
+ }
+ \prop_put:NVn \l__template_vars_prop
+ \l__template_key_name_tl {#2#3}
+ }
+ { instance }
+ {
+ \__template_parse_vars_elt_key:nn {#1}
+ {
+ .code:n =
+ {
+ \exp_not:c
+ { cs_ \str_if_eq:nnT {#1} { global } { g } set:Npn }
+ \exp_not:N #3 { \UseInstance {##1} }
+ }
+ }
+ \prop_put:NVn \l__template_vars_prop
+ \l__template_key_name_tl {#2#3}
+ }
+ }
+ {
+ \tl_if_single:nTF {#3}
+ {
+ \cs_if_exist:NF #3
+ { \use:c { \__template_map_var_type: _new:N } #3 }
+ \__template_parse_vars_elt_key:nn {#1}
+ {
+ . \__template_map_var_type:
+ _ \str_if_eq:nnT {#1} { global } { g } set:N
+ = \exp_not:N #3
+ }
+ \prop_put:NVn \l__template_vars_prop
+ \l__template_key_name_tl {#2#3}
+ }
+ { \msg_error:nnn { template } { bad-variable } {#2#3} }
+ }
+ }
+\cs_generate_variant:Nn \__template_parse_vars_elt_aux:nnn { nne }
+\cs_new_protected:Npn \__template_parse_vars_elt_key:nn #1#2
+ {
+ \keys_define:ne { template / #1 }
+ { \l__template_key_name_tl #2 }
+ }
+\cs_new:Npn \__template_map_var_type:
+ {
+ \str_case:Vn \l__template_keytype_tl
+ {
+ { boolean } { bool }
+ { commalist } { clist }
+ { integer } { int }
+ { length } { dim }
+ { muskip } { muskip }
+ { real } { fp }
+ { skip } { skip }
+ { tokenlist } { tl }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choices:nn #1#2
+ {
+ \clist_set:NV \l__template_tmp_clist \l__template_keytype_arg_tl
+ \prop_put:NVn \l__template_vars_prop \l__template_key_name_tl { }
+ \keys_define:ne { template / #1 } { \l__template_key_name_tl .choice: }
+ \keyval_parse:nnn
+ { \__template_implement_choice_elt:n }
+ { \__template_implement_choice_elt:nnn {#1} }
+ {#2}
+ \prop_get:NVNT \l__template_values_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ { \__template_implement_choices_default: }
+ \clist_if_empty:NF \l__template_tmp_clist
+ {
+ \clist_map_inline:Nn \l__template_tmp_clist
+ { \msg_error:nnn { template } { choice-not-implemented } {##1} }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choices_default:
+ {
+ \tl_set:Ne \l__template_tmp_tl
+ { \l__template_key_name_tl \c_space_tl \l__template_tmp_tl }
+ \prop_if_in:NVF \l__template_vars_prop \l__template_tmp_tl
+ {
+ \tl_set:Ne \l__template_tmp_tl
+ { \l__template_key_name_tl \c_space_tl \l__template_tmp_tl }
+ \prop_if_in:NVF \l__template_vars_prop \l__template_tmp_tl
+ {
+ \prop_get:NVN \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \prop_get:NVN \l__template_values_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \msg_error:nnVV { template } { unknown-default-choice }
+ \l__template_key_name_tl
+ \l__template_key_name_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt:nnn #1#2#3
+ {
+ \clist_if_empty:NTF \l__template_tmp_clist
+ {
+ \str_if_eq:nnTF {#2} { unknown }
+ { \__template_implement_choice_elt_aux:nnn {#1} {#2} {#3} }
+ { \__template_implement_choice_elt_aux:n {#2} }
+ }
+ {
+ \clist_if_in:NnTF \l__template_tmp_clist {#2}
+ {
+ \clist_remove_all:Nn \l__template_tmp_clist {#2}
+ \__template_implement_choice_elt_aux:nnn {#1} {#2} {#3}
+ }
+ { \__template_implement_choice_elt_aux:n {#2} }
+ }
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt_aux:n #1
+ {
+ \prop_get:NVN \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \msg_error:nnVn { template } { unknown-choice } \l__template_key_name_tl {#1}
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt_aux:nnn #1#2#3
+ {
+ \keys_define:ne { template / #1 }
+ { \l__template_key_name_tl / #2 .code:n = { \exp_not:n {#3} } }
+ \tl_set:Ne \l__template_tmp_tl
+ { \l__template_key_name_tl \c_space_tl #2 }
+ \prop_put:NVn \l__template_vars_prop \l__template_tmp_tl {#3}
+ }
+\cs_new_protected:Npn \__template_implement_choice_elt:n #1
+ {
+ \msg_error:nnVn { template } { choice-requires-code }
+ \l__template_key_name_tl {#1}
+ }
+\cs_new_protected:Npn \__template_edit_defaults:nnn #1#2#3
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_parse_values:nnn {#1} {#2} {#3}
+ \__template_store_defaults:nn {#1} {#2}
+ }
+ }
+\cs_new_protected:Npn \__template_parse_values:nnn #1#2#3
+ {
+ \__template_recover_keytypes:nn {#1} {#2}
+ \keyval_parse:NNn
+ \__template_parse_values_elt:n \__template_parse_values_elt:nn {#3}
+ }
+\cs_new_protected:Npn \__template_parse_values_elt:n #1
+ {
+ \bool_set_true:N \l__template_error_bool
+ \msg_error:nnn { template } { key-no-value } {#1}
+ }
+\cs_new_protected:Npn \__template_parse_values_elt:nn #1#2
+ {
+ \tl_set:Ne \l__template_key_name_tl
+ { \tl_trim_spaces:e { \tl_to_str:n {#1} } }
+ \prop_get:NVNTF \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ { \__template_parse_values_elt_aux:n {#2} }
+ { \msg_error:nnV { template } { unknown-key } \l__template_key_name_tl }
+ }
+\cs_new_protected:Npn \__template_parse_values_elt_aux:n #1
+ {
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \use:c { __template_store_value_ \l__template_keytype_tl :n } {#1}
+ }
+\cs_new_protected:Npn \__template_template_set_eq:nnn #1#2#3
+ {
+ \__template_recover_defaults:nn {#1} {#3}
+ \__template_store_defaults:nn {#1} {#2}
+ \__template_recover_keytypes:nn {#1} {#3}
+ \__template_store_keytypes:nn {#1} {#2}
+ \__template_recover_vars:nn {#1} {#3}
+ \__template_store_vars:nn {#1} {#2}
+ \cs_if_exist:cT { \c__template_code_root_tl #1 / #2 }
+ { \msg_info:nnnn { template } { declare-template-code } {#1} {#2} }
+ \cs_gset_eq:cc { \c__template_code_root_tl #1 / #2 }
+ { \c__template_code_root_tl #1 / #3 }
+ }
+\cs_new_protected:Npn \__template_declare_instance:nnnn #1#2#3#4
+ {
+ \__template_execute_if_code_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_declare_instance_aux:nnnn {#1} {#2} {#3} {#4}
+ }
+ }
+\cs_new_protected:Npn \__template_declare_instance_aux:nnnn #1#2#3#4
+ {
+ \bool_set_false:N \l__template_error_bool
+ \__template_parse_values:nnn {#1} {#2} {#4}
+ \bool_if:NF \l__template_error_bool
+ {
+ \prop_put:Nnn \l__template_values_prop { from~template } {#2}
+ \__template_store_values:nn {#1} {#3}
+ \__template_convert_to_assignments:
+ \cs_if_exist:cT { \c__template_instances_root_tl #1 / #3 }
+ { \msg_info:nnnn { template } { declare-instance } {#3} {#1} }
+ \cs_set_protected:cpe { \c__template_instances_root_tl #1 / #3 }
+ {
+ \exp_not:N \__template_assignments_push:n
+ { \exp_not:V \l__template_assignments_tl }
+ \exp_not:c { \c__template_code_root_tl #1 / #2 }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_instance_set_eq:nnn #1#2#3
+ {
+ \__template_if_instance_exist:nnTF {#1} {#3}
+ {
+ \__template_recover_values:nn {#1} {#3}
+ \__template_store_values:nn {#1} {#2}
+ \cs_if_exist:cT { \c__template_instances_root_tl #1 / #2 }
+ { \msg_info:nnnn { template } { declare-instance } {#2} {#1} }
+ \cs_set_eq:cc { \c__template_instances_root_tl #1 / #2 }
+ { \c__template_instances_root_tl #1 / #3 }
+ }
+ { \msg_error:nnnn { template } { unknown-instance } {#1} {#3} }
+ }
+\cs_new_protected:Npn \__template_edit_instance:nnn #1#2#3
+ {
+ \__template_if_instance_exist:nnTF {#1} {#2}
+ {
+ \__template_recover_values:nn {#1} {#2}
+ \prop_get:NnN \l__template_values_prop { from~template }
+ \l__template_tmp_tl
+ \__template_edit_instance_aux:nVnn
+ {#1} \l__template_tmp_tl {#2} {#3}
+ }
+ { \msg_error:nnnn { template } { unknown-instance } {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_edit_instance_aux:nnnn #1#2#3#4
+ {
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_declare_instance_aux:nnnn {#1} {#2} {#3} {#4}
+ }
+\cs_generate_variant:Nn \__template_edit_instance_aux:nnnn { nV }
+\cs_new_protected:Npn \__template_convert_to_assignments:
+ {
+ \tl_clear:N \l__template_assignments_tl
+ \seq_map_function:NN \l__template_key_order_seq
+ \__template_convert_to_assignments_aux:n
+ }
+\cs_new_protected:Npn \__template_convert_to_assignments_aux:n #1
+ {
+ \prop_get:NnN \l__template_keytypes_prop {#1} \l__template_tmp_tl
+ \__template_convert_to_assignments_aux:nV {#1} \l__template_tmp_tl
+ }
+\cs_new_protected:Npn \__template_convert_to_assignments_aux:nn #1#2
+ {
+ \prop_get:NnNT \l__template_values_prop {#1} \l__template_value_tl
+ {
+ \prop_get:NnNTF \l__template_vars_prop {#1} \l__template_var_tl
+ {
+ \__template_split_keytype_arg:n {#2}
+ \str_if_eq:VnF \l__template_keytype_tl { choice }
+ {
+ \str_if_eq:VnF \l__template_keytype_tl { code }
+ { \__template_find_global: }
+ }
+ \tl_set:Nn \l__template_key_name_tl {#1}
+ \cs_if_exist_use:cF { __template_assign_ \l__template_keytype_tl : }
+ { \__template_assign_variable: }
+ }
+ { \msg_error:nnn { template } { unknown-attribute } {#1} }
+ }
+ }
+\cs_generate_variant:Nn \__template_convert_to_assignments_aux:nn { nV }
+\cs_new_protected:Npn \__template_find_global:
+ {
+ \bool_set_false:N \l__template_global_bool
+ \tl_if_in:onT \l__template_var_tl { global }
+ {
+ \exp_after:wN \__template_find_global_aux:w \l__template_var_tl \s__template_stop
+ }
+ }
+\cs_new_protected:Npn \__template_find_global_aux:w #1 global #2 \s__template_stop
+ {
+ \tl_set:Nn \l__template_var_tl {#2}
+ \bool_set_true:N \l__template_global_bool
+ }
+\cs_new_protected:Npn \__template_use_template:nnn #1#2#3
+ {
+ \__template_execute_if_code_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_parse_values:nnn {#1} {#2} {#3}
+ \__template_convert_to_assignments:
+ \use:c { \c__template_code_root_tl #1 / #2 }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_boolean:
+ {
+ \bool_if:NTF \l__template_global_bool
+ { \__template_assign_boolean_aux:n { bool_gset } }
+ { \__template_assign_boolean_aux:n { bool_set } }
+ }
+\cs_new_protected:Npn \__template_assign_boolean_aux:n #1
+ {
+ \__template_if_key_value:VTF \l__template_value_tl
+ {
+ \__template_key_to_value:
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \exp_not:c { #1 _eq:NN }
+ \exp_not:V \l__template_var_tl
+ \exp_not:V \l__template_value_tl
+ }
+ }
+ {
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \exp_not:c { #1 _ \l__template_value_tl :N }
+ \exp_not:V \l__template_var_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_choice:
+ {
+ \__template_assign_choice_aux:eF
+ { \l__template_key_name_tl \c_space_tl \l__template_value_tl }
+ {
+ \__template_assign_choice_aux:eF
+ { \l__template_key_name_tl \c_space_tl unknown }
+ {
+ \prop_get:NVN \l__template_keytypes_prop \l__template_key_name_tl
+ \l__template_tmp_tl
+ \__template_split_keytype_arg:V \l__template_tmp_tl
+ \msg_error:nnVV { template } { unknown-choice }
+ \l__template_key_name_tl
+ \l__template_value_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_choice_aux:nF #1
+ {
+ \prop_get:NnNTF \l__template_vars_prop {#1} \l__template_tmp_tl
+ { \tl_put_right:NV \l__template_assignments_tl \l__template_tmp_tl }
+ }
+\cs_generate_variant:Nn \__template_assign_choice_aux:nF { e }
+\cs_new_protected:Npn \__template_assign_function:
+ {
+ \bool_if:NTF \l__template_global_bool
+ { \__template_assign_function_aux:N \cs_gset:Npn }
+ { \__template_assign_function_aux:N \cs_set:Npn }
+ }
+\cs_new_protected:Npn \__template_assign_function_aux:N #1
+ {
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \cs_generate_from_arg_count:NNnn
+ \exp_not:V \l__template_var_tl
+ \exp_not:N #1
+ { \exp_not:V \l__template_keytype_arg_tl }
+ { \exp_not:V \l__template_value_tl }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_instance:
+ {
+ \bool_if:NTF \l__template_global_bool
+ { \__template_assign_instance_aux:N \cs_gset_protected:Npn }
+ { \__template_assign_instance_aux:N \cs_set_protected:Npn }
+ }
+\cs_new_protected:Npn \__template_assign_instance_aux:N #1
+ {
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ \exp_not:N #1 \exp_not:V \l__template_var_tl
+ {
+ \__template_use_instance:nn
+ { \exp_not:V \l__template_keytype_arg_tl }
+ { \exp_not:V \l__template_value_tl }
+ }
+ }
+ }
+\cs_new_protected:Npn \__template_assign_variable:
+ {
+ \__template_assign_variable:c
+ {
+ \__template_map_var_type: _
+ \bool_if:NT \l__template_global_bool { g } set:Nn
+ }
+ }
+\cs_new_protected:Npn \__template_assign_variable:N #1
+ {
+ \__template_if_key_value:VT \l__template_value_tl
+ { \__template_key_to_value: }
+ \tl_put_right:Ne \l__template_assignments_tl
+ {
+ #1 \exp_not:V \l__template_var_tl
+ { \exp_not:V \l__template_value_tl }
+ }
+ }
+\cs_generate_variant:Nn \__template_assign_variable:N { c }
+\cs_new_protected:Npn \__template_key_to_value:
+ { \exp_after:wN \__template_key_to_value_auxi:w \l__template_value_tl }
+\cs_new_protected:Npn \__template_key_to_value_auxi:w \KeyValue #1
+ {
+ \tl_set:Ne \l__template_tmp_tl { \tl_trim_spaces:e { \tl_to_str:n {#1} } }
+ \prop_get:NVNTF \l__template_vars_prop \l__template_tmp_tl
+ \l__template_value_tl
+ {
+ \exp_after:wN \__template_key_to_value_auxii:w \l__template_value_tl
+ \s__template_mark global \q__template_nil \s__template_stop
+ }
+ { \msg_error:nnV { template } { unknown-attribute } \l__template_tmp_tl }
+ }
+\cs_new_protected:Npn \__template_key_to_value_auxii:w #1 global #2#3 \s__template_stop
+ {
+ \__template_quark_if_nil:NF #2
+ { \tl_set:Nn \l__template_value_tl {#2} }
+ }
+\cs_new_protected:Npn \__template_use_instance:nn #1#2
+ {
+ \__template_if_use_template:nTF {#2}
+ { \__template_use_instance_aux:nNnnn {#1} #2 }
+ { \__template_use_instance_aux:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \__template_use_instance_aux:nNnnn #1#2#3#4#5
+ {
+ \str_if_eq:nnTF {#1} {#3}
+ { \__template_use_template:nnn {#3} {#4} {#5} }
+ { \msg_error:nnnn { template } { type-mismatch } {#1} {#3} }
+}
+\cs_new_protected:Npn \__template_use_instance_aux:nn #1#2
+ {
+ \__template_if_instance_exist:nnTF {#1} {#2}
+ { \use:c { \c__template_instances_root_tl #1 / #2 } }
+ { \msg_error:nnnn { template } { unknown-instance } {#1} {#2} }
+ }
+\cs_new:Npn \__template_assignments_pop: { \l__template_assignments_tl }
+\cs_new_protected:Npn \__template_assignments_push:n #1
+ { \tl_set:Nn \l__template_assignments_tl {#1} }
+\cs_new_protected:Npn \__template_show_code:nn #1#2
+ { \cs_show:c { \c__template_code_root_tl #1 / #2 } }
+\cs_new_protected:Npn \__template_show_defaults:nn #1#2
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_recover_defaults:nn {#1} {#2}
+ \__template_show:Nnnn \l__template_values_prop
+ {#1} {#2} { default~values }
+ }
+ }
+\cs_new_protected:Npn \__template_show_keytypes:nn #1#2
+ {
+ \__template_if_keys_exist:nnT {#1} {#2}
+ {
+ \__template_recover_keytypes:nn {#1} {#2}
+ \__template_show:Nnnn \l__template_keytypes_prop
+ {#1} {#2} { interface }
+ }
+ }
+\cs_new_protected:Npn \__template_show_vars:nn #1#2
+ {
+ \__template_execute_if_code_exist:nnT {#1} {#2}
+ {
+ \__template_recover_vars:nn {#1} {#2}
+ \__template_show:Nnnn \l__template_vars_prop
+ {#1} {#2} { variable~mapping }
+ }
+ }
+\cs_new_protected:Npn \__template_show:Nnnn #1#2#3#4
+ {
+ \msg_show:nneeee { template } { show-attribute }
+ { \tl_to_str:n {#2} }
+ { \tl_to_str:n {#3} }
+ { \tl_to_str:n {#4} }
+ { \prop_map_function:NN #1 \msg_show_item_unbraced:nn }
+ }
+\cs_new_protected:Npn \__template_show_values:nn #1#2
+ {
+ \__template_if_instance_exist:nnT {#1} {#2}
+ {
+ \__template_recover_values:nn {#1} {#2}
+ \msg_show:nneee { template } { show-values }
+ { \tl_to_str:n {#1} }
+ { \tl_to_str:n {#2} }
+ {
+ \prop_map_function:NN \l__template_values_prop
+ \msg_show_item_unbraced:nn
+ }
+ }
+ }
+\msg_new:nnnn { template } { argument-number-mismatch }
+ { Template~type~'#1'~takes~#2~argument(s). }
+ {
+ Templates~of~type~'#1'~require~#2~argument(s).\\
+ You~have~tried~to~make~a~template~for~'#1'~
+ with~#3~argument(s),~which~is~not~possible:~
+ the~number~of~arguments~must~agree.
+ }
+\msg_new:nnnn { template } { bad-number-of-arguments }
+ { Bad~number~of~arguments~for~template~type~'#1'. }
+ {
+ A~template~may~accept~between~0~and~9~arguments.\\
+ You~asked~to~use~#2~arguments:~this~is~not~supported.
+ }
+\msg_new:nnnn { template } { bad-variable }
+ { Incorrect~variable~description~'#1'. }
+ {
+ The~argument~'#1'~is~not~of~the~form \\
+ ~~'<variable>'\\
+ ~or~\\
+ ~~'global~<variable>'.\\
+ It~must~be~given~in~one~of~these~formats~to~be~used~in~a~template.
+ }
+\msg_new:nnnn { template } { choice-not-implemented }
+ { The~choice~'#1'~has~no~implementation. }
+ {
+ Each~choice~listed~in~the~interface~for~a~template~must~
+ have~an~implementation.
+ }
+\msg_new:nnnn { template } { choice-no-code }
+ { The~choice~'#1'~requires~implementation~details. }
+ {
+ When~creating~template~code~using~\DeclareTemplateCode,~
+ each~choice~name~must~have~an~associated~implementation.\\
+ This~should~be~given~after~a~'='~sign:~LaTeX~did~not~find~one.
+ }
+\msg_new:nnnn { template } { choice-requires-code }
+ { The~choice~'#2'~for~key~'#1'~requires~an~implementation. }
+ {
+ You~should~have~put:\\
+ \ \ #1~:~choice~{~#2 = <code> ~} \\
+ but~LaTeX~did~not~find~any~<code>.
+ }
+\msg_new:nnnn { template } { duplicate-key-interface }
+ { Key~'#1'~appears~twice~in~interface~definition~\msg_line_context:. }
+ {
+ Each~key~can~only~have~one~interface~declared~in~a~template.\\
+ LaTeX~found~two~interfaces~for~'#1'.
+ }
+\msg_new:nnnn { template } { keytype-requires-argument }
+ { The~key~type~'#1'~requires~an~argument~\msg_line_context:. }
+ {
+ You~should~have~put:\\
+ \ \ <key-name>~:~#1~{~<argument>~} \\
+ but~LaTeX~did~not~find~an~<argument>.
+ }
+\msg_new:nnnn { template } { invalid-keytype }
+ { The~key~'#1'~is~missing~a~key-type~\msg_line_context:. }
+ {
+ Each~key~in~a~template~requires~a~key-type,~given~in~the~form:\\
+ \ \ <key>~:~<key-type>\\
+ LaTeX~could~not~find~a~<key-type>~in~your~input.
+ }
+\msg_new:nnnn { template } { key-no-value }
+ { The~key~'#1'~has~no~value~\msg_line_context:. }
+ {
+ When~creating~an~instance~of~a~template~
+ every~key~listed~must~include~a~value:\\
+ \ \ <key>~=~<value>
+ }
+\msg_new:nnnn { template } { key-no-variable }
+ { The~key~'#1'~requires~implementation~details~\msg_line_context:. }
+ {
+ When~creating~template~code~using~\DeclareTemplateCode,~
+ each~key~name~must~have~an~associated~implementation.\\
+ This~should~be~given~after~a~'='~sign:~LaTeX~did~not~find~one.
+ }
+\msg_new:nnnn { template } { key-not-implemented }
+ { Key~'#1'~has~no~implementation~\msg_line_context:. }
+ {
+ The~definition~of~key~implementations~for~template~'#2'~
+ of~template~type~'#3'~does~not~include~any~details~for~key~'#1'.\\
+ The~key~was~declared~in~the~interface~definition,~
+ and~so~an~implementation~is~required.
+ }
+\msg_new:nnnn { template } { missing-keytype }
+ { The~key~'#1'~is~missing~a~key-type~\msg_line_context:. }
+ {
+ Key~interface~definitions~should~be~of~the~form\\
+ \ \ #1~:~<key-type>\\
+ but~LaTeX~could~not~find~a~<key-type>.
+ }
+\msg_new:nnnn { template } { no-template-code }
+ {
+ The~template~'#2'~of~type~'#1'~is~unknown~
+ or~has~no~implementation.
+ }
+ {
+ There~is~no~code~available~for~the~template~name~given.\\
+ This~should~be~given~using~\DeclareTemplateCode.
+ }
+\msg_new:nnnn { template } { type-already-defined }
+ { Template~type~'#1'~already~defined. }
+ {
+ You~have~used~\NewTemplateType~
+ with~a~template~type~that~has~already~been~defined.
+ }
+\msg_new:nnnn { template } { type-mismatch }
+ { Template~types~'#1'~and~'#2'~do~not~agree. }
+ {
+ You~are~trying~to~use~a~template~directly~with~\UseInstance
+ (or~a~similar~function),~but~the~template~types~do~not~match.
+ }
+\msg_new:nnnn { template } { unknown-attribute }
+ { The~template~attribute~'#1'~is~unknown. }
+ {
+ There~is~a~definition~in~the~current~template~reading\\
+ \ \ \token_to_str:N \KeyValue {~#1~} \\
+ but~there~is~no~key~called~'#1'.
+ }
+\msg_new:nnnn { template } { unknown-choice }
+ { The~choice~'#2'~was~not~declared~for~key~'#1'. }
+ {
+ The~key~'#1'~takes~a~fixed~list~of~choices~
+ and~this~list~does~not~include~'#2'.
+ }
+\msg_new:nnnn { template } { unknown-default-choice }
+ { The~default~choice~'#2'~was~not~declared~for~key~'#1'. }
+ {
+ The~key~'#1'~takes~a~fixed~list~of~choices~
+ and~this~list~does~not~include~'#2'.
+ }
+\msg_new:nnnn { template } { unknown-instance }
+ { The~instance~'#2'~of~type~'#1'~is~unknown. }
+ {
+ You~have~asked~to~use~an~instance~'#2',~
+ but~this~has~not~been~created.
+ }
+\msg_new:nnnn { template } { unknown-key }
+ { Unknown~template~key~'#1'. }
+ {
+ The~key~'#1'~was~not~declared~in~the~interface~
+ for~the~current~template.
+ }
+\msg_new:nnnn { template } { unknown-keytype }
+ { The~key-type~'#1'~is~unknown. }
+ {
+ Valid~key-types~are:\\
+ -~boolean;\\
+ -~choice;\\
+ -~commalist;\\
+ -~function;\\
+ -~instance;\\
+ -~integer;\\
+ -~length;\\
+ -~muskip;\\
+ -~real;\\
+ -~skip;\\
+ -~tokenlist.
+ }
+\msg_new:nnnn { template } { unknown-type }
+ { The~template~type~'#1'~is~unknown. }
+ {
+ A~template~type~needs~to~be~defined~with~\NewTemplateType
+ prior~to~using~it.
+ }
+\msg_new:nnnn { template } { unknown-template }
+ { The~template~'#2'~of~type~'#1'~is~unknown. }
+ {
+ No~interface~has~been~declared~for~a~template~
+ '#2'~of~template~type~'#1'.
+ }
+\msg_new:nnn { template } { declare-instance }
+ { Declaring~instance~~'#1'~of~type~#2~\msg_line_context:. }
+\msg_new:nnn { template } { declare-template-code }
+ { Declaring~code~for~template~'#2'~of~template~type~'#1'~\msg_line_context:. }
+\msg_new:nnn { template } { declare-template-interface }
+ {
+ Declaring~interface~for~template~'#2'~of~template~type~'#1'~
+ \msg_line_context:.
+ }
+\msg_new:nnn { template } { declare-type }
+ { Declaring~template~type~'#1'~taking~#2~argument(s)~\msg_line_context:. }
+\msg_new:nnn { template } { show-attribute }
+ {
+ The~template~'#2'~of~type~'#1'~has~
+ \tl_if_empty:nTF {#4} { no~#3. } { #3 : #4 }
+ }
+\msg_new:nnn { template } { show-values }
+ {
+ The~instance~'#2'~of~type~'#1'~has~
+ \tl_if_empty:nTF {#3} { no~values. } { values: #3 }
+ }
+\prop_gput:Nnn \g_msg_module_type_prop { template } { LaTeX }
+\cs_new_protected:Npn \NewTemplateType #1#2
+ { \__template_define_type:nn {#1} {#2} }
+\cs_new_protected:Npn \DeclareTemplateInterface #1#2#3#4
+ { \__template_declare_template_keys:nnnn {#1} {#2} {#3} {#4} }
+\cs_new_protected:Npn \DeclareTemplateCode #1#2#3#4#5
+ { \__template_declare_template_code:nnnnn {#1} {#2} {#3} {#4} {#5} }
+\cs_new_protected:Npn \DeclareTemplateCopy #1#2#3
+ { \__template_template_set_eq:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \EditTemplateDefaults #1#2#3
+ { \__template_edit_defaults:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \UseTemplate #1#2#3
+ { \__template_use_template:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \DeclareInstance #1#2#3#4
+ { \__template_declare_instance:nnnn {#1} {#3} {#2} {#4} }
+\cs_new_protected:Npn \DeclareInstanceCopy #1#2#3
+ { \__template_instance_set_eq:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \EditInstance #1#2#3
+ { \__template_edit_instance:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \UseInstance #1#2
+ { \__template_use_instance:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateCode #1#2
+ { \__template_show_code:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateDefaults #1#2
+ { \__template_show_defaults:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateInterface #1#2
+ { \__template_show_keytypes:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowTemplateVariables #1#2
+ { \__template_show_vars:nn {#1} {#2} }
+\cs_new_protected:Npn \ShowInstanceValues #1#2
+ { \__template_show_values:nn {#1} {#2} }
+\cs_new:Npn \IfInstanceExistsTF #1#2
+ { \__template_if_instance_exist:nnTF {#1} {#2} }
+\cs_new:Npn \IfInstanceExistsT #1#2
+ { \__template_if_instance_exist:nnT {#1} {#2} }
+\cs_new:Npn \IfInstanceExistsF #1#2
+ { \__template_if_instance_exist:nnF {#1} {#2} }
+\cs_new_protected:Npn \KeyValue #1 {#1}
+\cs_new_protected:Npn \AssignTemplateKeys { \__template_assignments_pop: }
+\cs_new_protected:Npn \SetTemplateKeys #1#2#3
+ { \keys_set_known:nnN { template / #1 / #2 } {#3} \l__template_tmp_clist }
+\IncludeInRelease{0000/00/00}{lttemplates}%
+ {Prototype~document~commands}%
+
+\EndModuleRelease
+\ExplSyntaxOff
%%% From File: ltalloc.dtx
%%% From File: ltcntrl.dtx
%%% From File: lterror.dtx
@@ -8514,8 +9884,6 @@ of this package available from CTAN}
%% Copyright (C) 2020-2024
%% Frank Mittelbach, The LaTeX Project
%%% From File: ltpara.dtx
-\def\ltparaversion{v1.0l}
-\def\ltparadate{2023/01/30}
\ExplSyntaxOn
@@ -8548,9 +9916,16 @@ of this package available from CTAN}
\@kernel@before@para@begin
\hook_use:n {para/begin}
\if_mode_horizontal: \else:
- \msg_error:nnnn { hooks }{ para-mode }{begin}{vertical} \fi:
+ \msg_error:nnnn { hooks }{ para-mode }{begin}{horizontal} \fi:
\__para_handle_indent:
}
+\cs_set:Npn \__para_tmp:w #1#2#3#4#5 { }
+\tl_gput_right:Nx \g__para_standard_everypar_tl {
+ \exp_not:N \the
+ \exp_not:N \toks
+ \exp_after:wN \__para_tmp:w \token_to_meaning:N \everypar
+ \c_space_tl
+}
\EndIncludeInRelease
\IncludeInRelease{2021/06/01}
{\g__para_standard_everypar_tl}{minipage~ fix}
@@ -8572,7 +9947,7 @@ of this package available from CTAN}
\@kernel@before@para@begin
\hook_use:n {para/begin}
\if_mode_horizontal: \else:
- \msg_error:nnnn { hooks }{ para-mode }{begin}{vertical} \fi:
+ \msg_error:nnnn { hooks }{ para-mode }{begin}{horizontal} \fi:
\__para_handle_indent:
}
\cs_set:Npn \__para_tmp:w #1#2#3#4#5 { }
@@ -8587,10 +9962,10 @@ of this package available from CTAN}
\newtoks \everypar
\tl_gput_right:Nx \g__para_standard_everypar_tl {
- \exp_not:N \the
- \exp_not:N \toks
- \the \allocationnumber
- \c_space_tl
+ \exp_not:N \the
+ \exp_not:N \toks
+ \the \allocationnumber
+ \c_space_tl
}
\box_new:N \g_para_indent_box
@@ -8651,7 +10026,7 @@ of this package available from CTAN}
\cs_set_eq:NN \par \para_end:
\cs_set_eq:NN \@@par \para_end:
\cs_set_eq:NN \endgraf \para_end:
-\everypar{\@nodocument} %% To get an error if text appears before the
+\everypar{\@nodocument} %% To get an error if text appears before the \document
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -8698,8 +10073,6 @@ of this package available from CTAN}
%% Copyright (C) 2021-2024
%% Frank Mittelbach, The LaTeX Project
%%% From File: ltmeta.dtx
-\def\ltmetaversion{v1.0b}
-\def\ltmetadate{2022/05/18}
\NewModuleRelease{2022/06/01}{ltmeta}
{Document Metadata handling}
\let \IfDocumentMetadataTF \@secondoftwo
@@ -10346,7 +11719,7 @@ of this package available from CTAN}
\EndIncludeInRelease
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltfssaxes.dtx
-%% Copyright (C) 1999-2020 Frank Mittelbach
+%% Copyright (C) 2019-2020 Frank Mittelbach
\IncludeInRelease{2020/02/02}%
{\DeclareFontSeriesChangeRule}{Series change rules}%
\def\DeclareFontSeriesChangeRule#1#2#3#4{%
@@ -12227,7 +13600,7 @@ of this package available from CTAN}
\let\@defaultfamilyhook\@undefined
\EndIncludeInRelease
-%%% From File: fontdef.dtx
+%%% From File: fontdef.dtx
\IncludeInRelease{2017/01/01}%
{\encodingdefault}{TU encoding default}%
\ifx\Umathcode\@undefined
@@ -12725,8 +14098,7 @@ of this package available from CTAN}
\DeclareEncodingSubset{TS1}{lmss} {1}
\DeclareEncodingSubset{TS1}{lmssq} {1}
\DeclareEncodingSubset{TS1}{lmvtt} {1}
-\DeclareEncodingSubset{TS1}{lmtt} {1} % missing TM, SM and
- % pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{lmtt} {1} % missing TM, SM and pertenthousand
\DeclareEncodingSubset{TS1}{ptmx} {2}
\DeclareEncodingSubset{TS1}{ptmj} {2}
\DeclareEncodingSubset{TS1}{ul8} {2}
@@ -12764,23 +14136,31 @@ of this package available from CTAN}
\DeclareEncodingSubset{TS1}{lato-*} {0} % with a bunch of tofu inside
\DeclareEncodingSubset{TS1}{opensans-*} {0} % with a bunch of tofu inside
\DeclareEncodingSubset{TS1}{cantarell-*} {0} % with a bunch of tofu inside
-\DeclareEncodingSubset{TS1}{fbb-*} {0} % missing centoldstyle
\DeclareEncodingSubset{TS1}{tli} {1} % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*} {2} % missing centoldstyle
\DeclareEncodingSubset{TS1}{Alegreya-*} {2}
\DeclareEncodingSubset{TS1}{AlegreyaSans-*} {2}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*} {2}
\DeclareEncodingSubset{TS1}{DejaVuSans-TLF} {2}
\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF} {2}
\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF} {2}
\DeclareEncodingSubset{TS1}{EBGaramond-*} {2}
+\DeclareEncodingSubset{TS1}{Merriwthr-OsF} {2}
+\DeclareEncodingSubset{TS1}{MerriwthrSans-OsF} {2}
+\DeclareEncodingSubset{TS1}{Montserrat-*} {2}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*} {2}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF} {2}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF} {2}
\DeclareEncodingSubset{TS1}{Tempora-TLF} {2}
\DeclareEncodingSubset{TS1}{Tempora-TOsF} {2}
+\DeclareEncodingSubset{TS1}{XCharter-TLF} {2}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF} {2}
+\DeclareEncodingSubset{TS1}{erewhon-*} {2}
\DeclareEncodingSubset{TS1}{Arimo-TLF} {3}
-\DeclareEncodingSubset{TS1}{Carlito-*} {3}
-\DeclareEncodingSubset{TS1}{FiraSans-*} {3}
+\DeclareEncodingSubset{TS1}{Crlt-*} {3}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF} {3}
\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF} {3}
-\DeclareEncodingSubset{TS1}{Merriweather-OsF} {3}
-\DeclareEncodingSubset{TS1}{Montserrat-*} {3}
-\DeclareEncodingSubset{TS1}{MontserratAlternates-*} {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF} {3}
\DeclareEncodingSubset{TS1}{SourceCodePro-TLF} {3}
\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF} {3}
\DeclareEncodingSubset{TS1}{SourceSansPro-*} {3}
@@ -12795,6 +14175,7 @@ of this package available from CTAN}
\DeclareEncodingSubset{TS1}{CrimsonPro-*} {4}
\DeclareEncodingSubset{TS1}{FiraMono-TLF} {4}
\DeclareEncodingSubset{TS1}{FiraMono-TOsF} {4}
+\DeclareEncodingSubset{TS1}{FiraSans-*} {4}
\DeclareEncodingSubset{TS1}{Go-TLF} {4}
\DeclareEncodingSubset{TS1}{GoMono-TLF} {4}
\DeclareEncodingSubset{TS1}{InriaSans-*} {4}
@@ -12807,7 +14188,6 @@ of this package available from CTAN}
\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF} {4}
\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*} {4}
\DeclareEncodingSubset{TS1}{LinuxLibertineT-*} {4}
-\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF} {4}
\DeclareEncodingSubset{TS1}{MintSpirit-*} {4}
\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*} {4}
\DeclareEncodingSubset{TS1}{PTMono-TLF} {4}
@@ -12824,57 +14204,50 @@ of this package available from CTAN}
\DeclareEncodingSubset{TS1}{Rosario-*} {4}
\DeclareEncodingSubset{TS1}{SticksTooText-*} {4}
\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF} {4}
-\DeclareEncodingSubset{TS1}{Almendra-OsF} {5}
+\DeclareEncodingSubset{TS1}{Almndr-OsF} {5}
\DeclareEncodingSubset{TS1}{Baskervaldx-*} {5}
-\DeclareEncodingSubset{TS1}{BaskervilleF-*} {5}
-\DeclareEncodingSubset{TS1}{Bitter-TLF} {5}
+\DeclareEncodingSubset{TS1}{Bttr-TLF} {5}
\DeclareEncodingSubset{TS1}{Cinzel-LF} {5}
\DeclareEncodingSubset{TS1}{CinzelDecorative-LF} {5}
+\DeclareEncodingSubset{TS1}{Cochineal-*} {5}
\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF} {5}
\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
\DeclareEncodingSubset{TS1}{GilliusADF-LF} {5}
\DeclareEncodingSubset{TS1}{GilliusADFCond-LF} {5}
\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF} {5}
\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF} {5}
-\DeclareEncodingSubset{TS1}{LobsterTwo-LF} {5}
\DeclareEncodingSubset{TS1}{OldStandard-TLF} {5}
-\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF} {5}
-\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF} {5}
+\DeclareEncodingSubset{TS1}{PlyfrDisplay-TLF} {5}
+\DeclareEncodingSubset{TS1}{PlyfrDisplay-TOsF} {5}
\DeclareEncodingSubset{TS1}{TheanoDidot-TLF} {5}
\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF} {5}
\DeclareEncodingSubset{TS1}{TheanoModern-TLF} {5}
\DeclareEncodingSubset{TS1}{TheanoModern-TOsF} {5}
\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF} {5}
\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF} {5}
+\DeclareEncodingSubset{TS1}{charssil-TLF} {5}
\DeclareEncodingSubset{TS1}{Crimson-TLF} {6}
-\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF} {6}
-\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF} {6}
-\DeclareEncodingSubset{TS1}{LibertinusMono-TLF} {6}
\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF} {6}
\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF} {6}
-\DeclareEncodingSubset{TS1}{Overlock-LF} {6}
+\DeclareEncodingSubset{TS1}{Ovrlck-LF} {6}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF} {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF} {7}
\DeclareEncodingSubset{TS1}{CormorantGaramond-*} {7}
\DeclareEncodingSubset{TS1}{Heuristica-TLF} {7}
\DeclareEncodingSubset{TS1}{Heuristica-TOsF} {7}
\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF} {7}
-\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF} {7}
-\DeclareEncodingSubset{TS1}{LibreCaslon-*} {7}
-\DeclareEncodingSubset{TS1}{Marcellus-LF} {7}
+\DeclareEncodingSubset{TS1}{LibreBskrvl-TLF} {7}
+\DeclareEncodingSubset{TS1}{LibreCsln-*} {7}
+\DeclareEncodingSubset{TS1}{Lbstr-LF} {7}
+\DeclareEncodingSubset{TS1}{Mrcls-LF} {7}
\DeclareEncodingSubset{TS1}{NotoSans-*} {7}
-\DeclareEncodingSubset{TS1}{NotoSansMono-TLF} {7}
-\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF} {7}
\DeclareEncodingSubset{TS1}{NotoSerif-*} {7}
-\DeclareEncodingSubset{TS1}{Quattrocento-TLF} {7}
-\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF} {7}
-\DeclareEncodingSubset{TS1}{XCharter-TLF} {7}
-\DeclareEncodingSubset{TS1}{XCharter-TOsF} {7}
-\DeclareEncodingSubset{TS1}{erewhon-*} {7}
-\DeclareEncodingSubset{TS1}{ComicNeue-TLF} {7}
-\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF} {7}
-\DeclareEncodingSubset{TS1}{Forum-LF} {7} % the superiors are missing
-\DeclareEncodingSubset{TS1}{Cochineal-*} {8}
+\DeclareEncodingSubset{TS1}{Quattro-LF} {7}
+\DeclareEncodingSubset{TS1}{QuattroSans-LF} {7}
+\DeclareEncodingSubset{TS1}{Frm-LF} {7} % the superiors are missing
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF} {8}
\DeclareEncodingSubset{TS1}{AlgolRevived-TLF} {9}
\def\UseLegacyTextSymbols{%
\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
@@ -13112,7 +14485,6 @@ of this package available from CTAN}
\EndModuleRelease
-
%%% From File: ltpageno.dtx
%%% From File: ltxref.dtx
\IncludeInRelease{2023/06/01}%
@@ -13260,12 +14632,7 @@ of this package available from CTAN}
\let\Ref\@undefined
\EndIncludeInRelease
-%% File: ltproperties.dtx
-\def\ltpropertiesversion{1.0c}
-\def\ltpropertiesdate{2023-10-15}
-
-
-
+%%% From File: ltproperties.dtx
\ExplSyntaxOn
\NewModuleRelease{2023/11/01}{ltproperties}
{Cross-referencing~properties}
@@ -13320,7 +14687,7 @@ of this package available from CTAN}
{
\legacy_if:nT { @filesw }
{
- \iow_shipout_x:Nx \@auxout
+ \protected@write \@auxout {}
{
\token_to_str:N \new@label@record
{#1}
@@ -13432,7 +14799,9 @@ of this package available from CTAN}
}
}
\prg_generate_conditional_variant:Nnn \property_if_exist:n {e} {TF}
-\cs_new_eq:NN \IfPropertyExistTF \property_if_exist:eTF
+\cs_new_eq:NN \IfPropertyExistsTF \property_if_exist:eTF
+\cs_new:Npn \IfPropertyExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfPropertyExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:n #1 { p , T , F, TF }
% #1 label
{
@@ -13445,7 +14814,9 @@ of this package available from CTAN}
}
}
\prg_generate_conditional_variant:Nnn \property_if_recorded:n {e} {TF}
-\cs_new_eq:NN \IfLabelExistTF \property_if_recorded:eTF
+\cs_new_eq:NN \IfLabelExistsTF \property_if_recorded:eTF
+\cs_new:Npn \IfLabelExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfLabelExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:nn #1#2 { p , T , F, TF }
% #1 label #2 property
{
@@ -13534,8 +14905,8 @@ of this package available from CTAN}
\let \RefProperty \@undefined
\let \RefUndefinedWarn \@undefined
-\let \IfPropertyExistTF \@undefined
-\let \IfLabelExistTF \@undefined
+\let \IfPropertyExistsTF \@undefined
+\let \IfLabelExistsTF \@undefined
\let \IfPropertyRecordedTF \@undefined
\let\new@label@record \@undefined
@@ -14651,6 +16022,23 @@ of this package available from CTAN}
\@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}}
\expandafter\let\csname raisebox \endcsname\@undefined
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\@finalstrut}{final strut correction}%
+\def\@finalstrut#1{%
+ \unskip
+ \ifhmode \nobreak
+ \else
+ \vskip-\baselineskip
+ \fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@finalstrut}{final strut correction}%
+\def\@finalstrut#1{%
+ \unskip\ifhmode\nobreak\fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
+
+\EndIncludeInRelease
%%% From File: lttab.dtx
\IncludeInRelease{2020/10/01}%
{\@itabcr}{Tabbing calc syntax}%
@@ -15283,6 +16671,32 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltthm.dtx
+\IncludeInRelease{2024/03/18}%
+ {\@thm}{no link target}%
+\def\@thm#1#2{%
+ \@kernel@refstepcounter{#1}%
+ \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@thm}{no link target}%
+\def\@thm#1#2{%
+ \refstepcounter{#1}%
+ \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}}
+\EndIncludeInRelease
+\IncludeInRelease{2024/03/18}%
+ {\@begintheorem}{add link targets}%
+\def\@begintheorem#1#2{\trivlist
+ \item[\MakeLinkTarget{\@currentcounter}\hskip \labelsep{\bfseries #1\ #2}]\itshape}
+\def\@opargbegintheorem#1#2#3{\trivlist
+ \item[\MakeLinkTarget{\@currentcounter}\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@begintheorem}{add link targets}%
+\def\@begintheorem#1#2{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape}
+\def\@opargbegintheorem#1#2#3{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
+\EndIncludeInRelease
%%% From File: ltsect.dtx
\IncludeInRelease{2019/10/01}%
{\title}{Make commands robust}%
@@ -15773,8 +17187,6 @@ of this package available from CTAN}
%% Copyright (C) 2022-2024
%% Frank Mittelbach, The LaTeX Project
%%% From File: ltmarks.dtx
-\def\ltmarksversion{v1.0d}
-\def\ltmarksdate{2022/06/01}
%% \end{function}
\ExplSyntaxOn
@@ -15813,42 +17225,84 @@ of this package available from CTAN}
\tl_new:c { g__mark_last-column_top_ #1 _tl }
\tl_new:c { g__mark_last-column_first_ #1 _tl }
\tl_new:c { g__mark_last-column_last_ #1 _tl }
+ \tl_set:cn { g__mark_page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_last_ #1 _tl }{ \__mark_id:n{0} }
}
\box_new:N \l__mark_box
+\box_new:N \l__mark_ii_box
\tl_new:N \g__mark_tmp_tl
\tl_new:N \g__mark_new_top_tl
-\cs_new_protected:Npn \__mark_update_structure:nn #1#2
- {
- \__mark_update_structure_alias:nn { previous-#1 } {#1}
+\cs_new_protected:Npn \__mark_extract_and_handle_marks:nn #1#2 {
\group_begin:
\dim_set_eq:NN \tex_splitmaxdepth:D \c_max_dim
\int_set_eq:NN \tex_vbadness:D \c_max_int
\dim_set_eq:NN \tex_vfuzz:D \c_max_dim
- \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
+ \__mark_prepare_and_extract:nn {#1} {#2}
+ \group_end:
+ }
+\cs_new_protected:Npn \__mark_prepare_and_extract:nn #1#2 {
+ \vbox_set:Nn \l__mark_box
+ {
+ #2
+ \tex_unskip:D
+ \box_set_to_last:N \l__mark_box
+ \int_compare:nNnT \tex_lastnodetype:D < 0
{
- #2
- \tex_unskip:D
- \box_set_to_last:N \l__mark_box
- \int_compare:nNnT \tex_lastnodetype:D < 0
- {
- \box_if_vertical:NT \l__mark_box
- {
- \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
- {
- \vbox_unpack:N \l__mark_box
- \tex_kern:D \c_zero_dim % ensure that box
- % is not empty
- }
- \int_compare:nNnT \tex_badness:D > 0
- { \vbox_unpack:N \l__mark_box }
- }
- }
- \tex_kern:D \c_zero_dim
+ \box_if_vertical:NT \l__mark_box
+ { \vbox_unpack:N \l__mark_box }
}
- \int_compare:nNnTF \tex_badness:D > 0
- {
- \vbox_set_split_to_ht:NNn \l__mark_box \l__mark_box \c_max_dim
- \seq_map_inline:Nn \g__mark_classes_seq
+ }
+ \__mark_vbox_set_split_to_maxdimen:NN \l__mark_ii_box \l__mark_box
+ \box_if_empty:NTF \l__mark_box
+ { #1 }
+ {
+ \__mark_prepare_and_extract:nn {#1}
+ { \vbox_unpack:N \l__mark_ii_box
+ \vbox_unpack:N \l__mark_box }
+ }
+}
+\cs_set_eq:cN {Infinite~shrink~error~above~ignored~!}\c_max_dim
+\cs_new_protected:Npx \__mark_vbox_set_split_to_maxdimen:NN #1#2 {
+ \tl_set:Ne \exp_not:N \l__mark_saved_parameters_tl
+ {
+ \tex_interactionmode:D
+ \exp_not:N \int_use:N \tex_interactionmode:D \scan_stop:
+ \tex_escapechar:D
+ \exp_not:N \int_use:N \tex_escapechar:D \scan_stop:
+ }
+ \tex_escapechar:D -1 \scan_stop:
+ \tex_interactionmode:D 0 \scan_stop:
+ \tex_setbox:D #1 \tex_vsplit:D #2 to
+ \exp_not:N \use:n {
+ \use:c{Infinite~shrink~error~above~ignored~!}
+ }
+ \exp_not:N \l__mark_saved_parameters_tl
+}
+\tl_new:N \l__mark_saved_parameters_tl
+\cs_new_protected:Npn \__mark_update_structure_from_material:nn #1#2 {
+ \__mark_extract_and_handle_marks:nn
+ { \__mark_update_structure_from_splitmarks:n {#1} }
+ { #2 }
+}
+\cs_new_protected:Npn \__mark_update_structure_from_splitmarks:n #1 {
+ \__mark_update_structure_alias:nn { previous-#1 } {#1}
+ \seq_map_inline:Nn \g__mark_classes_seq
{
\tl_gset_eq:Nc \g__mark_new_top_tl { g__mark_#1_last_##1_tl }
\tl_gset_eq:cN { g__mark_#1_top_##1_tl } \g__mark_new_top_tl
@@ -15870,19 +17324,40 @@ of this package available from CTAN}
}
}
}
- }
- {
- \msg_error:nnn { mark } { infinite-shrinkage } {#1}
- \seq_map_inline:Nn \g__mark_classes_seq
+}
+\cs_new_protected:Npn \__mark_get_marks_for_reinsertion:nNN #1#2#3 {
+ \tl_clear:N \g__mark_first_marks_tl
+ \tl_clear:N \g__mark_last_marks_tl
+ \__mark_extract_and_handle_marks:nn
+ \__mark_get_from_splitmarks:
+ { #1 }
+ \tl_set_eq:NN #2 \g__mark_first_marks_tl
+ \tl_set_eq:NN #3 \g__mark_last_marks_tl
+}
+\cs_new_protected:Npn \__mark_get_from_splitmarks: {
+ \seq_map_inline:Nn \g__mark_classes_seq
{
- \tl_gset_eq:cc { g__mark_#1_top_ ##1_tl }
- { g__mark_#1_last_ ##1_tl }
- \tl_gset_eq:cc { g__mark_#1_first_##1_tl }
- { g__mark_#1_last_ ##1_tl }
+ \tl_gset:No \g__mark_tmp_tl
+ { \tex_splitbotmarks:D \use:c { c__mark_class_##1_mark } }
+
+ \tl_if_empty:NTF \g__mark_tmp_tl
+ {
+ }
+ {
+ \tl_gput_right:Ne \g__mark_last_marks_tl
+ { \mark_insert:nn {##1} { \g__mark_tmp_tl } }
+ \tl_gput_right:Ne \g__mark_first_marks_tl
+ { \mark_insert:nn {##1}
+ {
+ \tex_splitfirstmarks:D
+ \use:c { c__mark_class_##1_mark }
+ }
+ }
+ }
}
- }
- \group_end:
- }
+}
+\tl_new:N \g__mark_first_marks_tl
+\tl_new:N \g__mark_last_marks_tl
\cs_new_protected:Npn \__mark_update_structure_alias:nn #1#2 {
\seq_map_inline:Nn \g__mark_classes_seq
{
@@ -15912,12 +17387,14 @@ of this package available from CTAN}
\group_begin:
\@kernel@before@insertmark
\hook_use:n { insertmark }
- \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \unrestored@protected@xdef \g__mark_tmp_tl
+ {
+ \__mark_id:n{ \int_use:N\g__mark_int }
+ #2
+ }
\tex_marks:D \use:c { c__mark_class_ #1 _mark }
{
- \tl_if_empty:NTF \g__mark_tmp_tl
- { \exp_not:n { \prg_do_nothing: } }
- { \exp_not:o { \g__mark_tmp_tl } }
+ \exp_not:o { \g__mark_tmp_tl }
}
\group_end:
\if@nobreak\ifvmode\nobreak\fi\fi
@@ -15927,15 +17404,23 @@ of this package available from CTAN}
{ \tl_to_str:n {#1} }
}
}
+\cs_new_protected:Npn \__mark_id:n #1 { }
+\int_new:N \g__mark_int
\cs_new:Npn \@kernel@before@insertmark {
\cs_set_eq:NN \label \scan_stop:
\cs_set_eq:NN \index \scan_stop:
\cs_set_eq:NN \glossary \scan_stop:
+ \int_compare:nNnTF \g__mark_int < {99999}
+ { \int_gincr:N \g__mark_int }
+ { \int_gzero:N \g__mark_int }
+
}
\hook_new:n {insertmark}
-\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \__mark_use:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \__mark_use:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \__mark_use:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \__mark_use:n #1 { \exp_not:o { \use_none:nn #1 } }
+\cs_generate_variant:Nn \__mark_use:n { v }
\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
{
\tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
@@ -15975,15 +17460,6 @@ of this package available from CTAN}
all~columns~have~been~assembled.
\c__msg_return_text_tl
}
-\msg_new:nnnn { mark } { infinite-shrinkage }
- { Infinite~shrinkage~found~in~'#1'. }
- {
- \c__msg_coding_error_text_tl
- The~mark~region~'#1'~contains~some~infinite~negative~glue~
- allowing~it~to~shrink~to~an~arbitrary~size.~
- This~makes~it~impossible~to~split~the~region~apart~to~
- get~at~its~marks.~They~are~lost.
- }
\bool_new:N \g__mark_debug_bool
\cs_new_eq:NN \__mark_debug:n \use_none:n
\cs_new_protected:Npn \mark_debug_on:
@@ -16003,6 +17479,8 @@ of this package available from CTAN}
}
\cs_new_eq:NN \DebugMarksOn \mark_debug_on:
\cs_new_eq:NN \DebugMarksOff \mark_debug_off:
+\cs_new_protected:Npn \ShowMarksAt #1 {
+}
\cs_new_eq:NN \NewMarkClass \mark_new_class:n
\@onlypreamble \NewMarkClass
\cs_new_eq:NN \InsertMark \mark_insert:nn
@@ -16018,11 +17496,11 @@ of this package available from CTAN}
\cs_new_protected:Npn \__mark_update_singlecol_structures: {
\box_if_vertical:NTF \@outputbox
{
- \__mark_update_structure:nn {page}
+ \__mark_update_structure_from_material:nn {page}
{ \vbox_unpack:N \@outputbox }
}
{
- \__mark_update_structure:nn {page}
+ \__mark_update_structure_from_material:nn {page}
{ \hbox_unpack:N \@outputbox }
}
\__mark_update_structure_alias:nn {previous-column}{previous-page}
@@ -16033,11 +17511,11 @@ of this package available from CTAN}
\cs_new_protected:Npn \__mark_update_dblcol_structures: {
\box_if_vertical:NTF \@outputbox
{
- \__mark_update_structure:nn {column}
+ \__mark_update_structure_from_material:nn {column}
{ \vbox_unpack:N \@outputbox }
}
{
- \__mark_update_structure:nn {column}
+ \__mark_update_structure_from_material:nn {column}
{ \hbox_unpack:N \@outputbox }
}
\legacy_if:nTF {@firstcolumn}
@@ -16057,10 +17535,19 @@ of this package available from CTAN}
{ g__mark_page_last_ ##1 _tl }
\tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
{ g__mark_first-column_top_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+
+ \tl_if_eq:ccTF { g__mark_first-column_top_ ##1 _tl }
{ g__mark_first-column_first_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
- { g__mark_last-column_last_ ##1 _tl }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_last-column_first_ ##1 _tl }
+ }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
}
}
}
@@ -16323,15 +17810,15 @@ of this package available from CTAN}
}%
\reserved@a}
\EndIncludeInRelease
-\IncludeInRelease{2021/11/15}%
- {\IfPackageLoadedtTF}{Test package loading}%
+\IncludeInRelease{2024/06/01}%
+ {\IfPackageLoadedTF}{Test package loading}%
\let \IfPackageLoadedTF \@ifpackageloaded
\let \IfClassLoadedTF \@ifclassloaded
\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
\let \IfClassLoadedWithOptionsTF \@ifclasswith
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
- {\IfPackageLoadedtTF}{Test package loading}%
+ {\IfPackageLoadedTF}{Test package loading}%
\let \IfPackageLoadedTF \@ifpackageloaded
\let \IfClassLoadedTF \@ifclassloaded
@@ -16339,6 +17826,63 @@ of this package available from CTAN}
\let \IfClassLoadedWithOptionsTF \@ifclasswith
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\IfPackageLoadedT}{More conditionals}%
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\IfPackageLoadedT}{More conditionals}%
+
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
+
+\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\ProvidesPackage}{Check name with \strcmp}%
\def\ProvidesPackage#1{%
@@ -16425,11 +17969,11 @@ of this package available from CTAN}
\expandafter\let
\csname opt@#3.#1\expandafter\endcsname
\csname opt@\reserved@a\endcsname
- \@ifundefined{@raw@opt@#3.#1}%
- {\expandafter\gdef\csname @raw@opt@#3.#1\expandafter\endcsname
- \expandafter{#2}}%
- {\expandafter\g@addto@macro\csname @raw@opt@#3.#1\expandafter\endcsname
- \expandafter{\expandafter,#2}}%
+ \@ifundefined{@raw@opt@#3.#1}%
+ {\expandafter\gdef\csname @raw@opt@#3.#1\expandafter\endcsname
+ \expandafter{#2}}%
+ {\expandafter\g@addto@macro\csname @raw@opt@#3.#1\expandafter\endcsname
+ \expandafter{\expandafter,#2}}%
}
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}{\@pass@ptions}
@@ -16607,6 +18151,25 @@ of this package available from CTAN}
\AtEndOfPackage{\let\@unprocessedoptions\relax}%
\@loadwithoptions\@pkgextension\RequirePackage}
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\@fileswithoptions}{Check Group}%
+\def\@fileswithoptions#1{%
+ \ifnum\currentgrouplevel>\z@
+ \@latex@error
+ {Loading a class or package in a group}%
+ {Classes and packages should only be loaded at the top level}%
+ \fi
+ \@ifnextchar[%]
+ {\@fileswith@ptions#1}%
+ {\@fileswith@ptions#1[]}}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@fileswithoptions}{Check Group}%
+\def\@fileswithoptions#1{%
+ \@ifnextchar[%]
+ {\@fileswith@ptions#1}%
+ {\@fileswith@ptions#1[]}}
+\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\@fileswith@pti@ns}{ifx tests in \@fileswith@pti@ns}%
\def\@fileswith@pti@ns#1[#2]#3[#4]{%
@@ -16707,9 +18270,12 @@ of this package available from CTAN}
\@ifundefined{opt@handler@\@currname.\@currext}
{\@onefilewithoptions@clashchk{#2}}
{%
- \expandafter\protected@edef\csname opt@\@currname.\@currext\endcsname
+ \expandafter\protected@edef
+ \csname opt@\@currname.\@currext\endcsname
{\zap@space#2 \@empty}%
- \@namedef{@raw@opt@\@currname.\@currext}{#2}%
+ \expandafter\def
+ \csname @raw@opt@\@currname.\@currext\expandafter\endcsname
+ \expandafter{#2}%
\@nameuse{opt@handler@\@currname.\@currext}%
}%
}%
@@ -17255,8 +18821,6 @@ of this package available from CTAN}
\endgroup%
\EndIncludeInRelease
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0o}
-\providecommand\ltfilehookdate{2023/07/10}
\IncludeInRelease{2020/10/01}%
{\CurrentFile}{Hook management file}%
\ExplSyntaxOn
@@ -17744,8 +19308,6 @@ of this package available from CTAN}
%% Frank Mittelbach, The LaTeX Project
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0n}
-\providecommand\ltshipoutdate{2022/11/08}
\IncludeInRelease{2020/10/01}%
{\shipout}{Hook management (shipout)}%
\ExplSyntaxOn
diff --git a/Master/texmf-dist/tex/latex/base/latin1.def b/Master/texmf-dist/tex/latex/base/latin1.def
index d67159ac7a1..b4784628978 100644
--- a/Master/texmf-dist/tex/latex/base/latin1.def
+++ b/Master/texmf-dist/tex/latex/base/latin1.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin1.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/latin10.def b/Master/texmf-dist/tex/latex/base/latin10.def
index 2798bafe20c..457b7112ab5 100644
--- a/Master/texmf-dist/tex/latex/base/latin10.def
+++ b/Master/texmf-dist/tex/latex/base/latin10.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin10.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\texteuro}
{\TextSymbolUnavailable\texteuro}
diff --git a/Master/texmf-dist/tex/latex/base/latin2.def b/Master/texmf-dist/tex/latex/base/latin2.def
index 4a9f180b85d..764c5d0de5d 100644
--- a/Master/texmf-dist/tex/latex/base/latin2.def
+++ b/Master/texmf-dist/tex/latex/base/latin2.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin2.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textcurrency}
{\TextSymbolUnavailable\textcurrency}
diff --git a/Master/texmf-dist/tex/latex/base/latin3.def b/Master/texmf-dist/tex/latex/base/latin3.def
index 6494fa8d0c9..04e1030b37c 100644
--- a/Master/texmf-dist/tex/latex/base/latin3.def
+++ b/Master/texmf-dist/tex/latex/base/latin3.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin3.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textcurrency}
diff --git a/Master/texmf-dist/tex/latex/base/latin4.def b/Master/texmf-dist/tex/latex/base/latin4.def
index 756b13c5b17..6e2739c8704 100644
--- a/Master/texmf-dist/tex/latex/base/latin4.def
+++ b/Master/texmf-dist/tex/latex/base/latin4.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin4.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textcurrency}
{\TextSymbolUnavailable\textcurrency}
diff --git a/Master/texmf-dist/tex/latex/base/latin5.def b/Master/texmf-dist/tex/latex/base/latin5.def
index 1a7a910dc84..8a6fb46905b 100644
--- a/Master/texmf-dist/tex/latex/base/latin5.def
+++ b/Master/texmf-dist/tex/latex/base/latin5.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin5.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/latin9.def b/Master/texmf-dist/tex/latex/base/latin9.def
index 7ab2e06defe..35e87e2e564 100644
--- a/Master/texmf-dist/tex/latex/base/latin9.def
+++ b/Master/texmf-dist/tex/latex/base/latin9.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{latin9.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textcent}
{\TextSymbolUnavailable\textcent}
diff --git a/Master/texmf-dist/tex/latex/base/ltluatex.tex b/Master/texmf-dist/tex/latex/base/ltluatex.tex
index fe226566c4e..2747e4f56f3 100644
--- a/Master/texmf-dist/tex/latex/base/ltluatex.tex
+++ b/Master/texmf-dist/tex/latex/base/ltluatex.tex
@@ -46,9 +46,9 @@
\ProvidesFile\undefined\begingroup\def\ProvidesFile
#1#2[#3]{\endgroup\immediate\write-1{File: #1 #3}}
\fi
-\ProvidesFile{ltluatex.tex}%
-[2023/08/03 v1.2c
- LuaTeX support for plain TeX (core)
+\ProvidesFile{ltluatex.tex}
+[2024/02/11 v1.2c
+ LuaTeX support for plain TeX (core)%
]
\edef\etatcatcode{\the\catcode`\@}
\catcode`\@=11
diff --git a/Master/texmf-dist/tex/latex/base/ltxdoc.cls b/Master/texmf-dist/tex/latex/base/ltxdoc.cls
index 04b523685c2..adee1bf9604 100644
--- a/Master/texmf-dist/tex/latex/base/ltxdoc.cls
+++ b/Master/texmf-dist/tex/latex/base/ltxdoc.cls
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltxdoc}
- [2023/03/28 v2.1j Standard LaTeX documentation class]
+ [2024/02/08 v2.1j Standard LaTeX documentation class]
\DeclareOption{a5paper}{\@latexerr{Option not supported}%
{}}
\newif\ifltxdoc@load@cfg@ \ltxdoc@load@cfg@true
diff --git a/Master/texmf-dist/tex/latex/base/macce.def b/Master/texmf-dist/tex/latex/base/macce.def
index 91b44e7c300..49b810b1320 100644
--- a/Master/texmf-dist/tex/latex/base/macce.def
+++ b/Master/texmf-dist/tex/latex/base/macce.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{macce.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textdiv}
{\TextSymbolUnavailable\textdiv}
diff --git a/Master/texmf-dist/tex/latex/base/next.def b/Master/texmf-dist/tex/latex/base/next.def
index 838ef3a1e85..6cc4d6aaae7 100644
--- a/Master/texmf-dist/tex/latex/base/next.def
+++ b/Master/texmf-dist/tex/latex/base/next.def
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\ProvidesFile{next.def}
- [2021/02/14 v1.3d Input encoding file]
+ [2024/02/08 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
diff --git a/Master/texmf-dist/tex/latex/base/nfssfont.tex b/Master/texmf-dist/tex/latex/base/nfssfont.tex
index e842311231d..464b881ffbb 100644
--- a/Master/texmf-dist/tex/latex/base/nfssfont.tex
+++ b/Master/texmf-dist/tex/latex/base/nfssfont.tex
@@ -41,8 +41,8 @@
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-\def\nfssfontfileversion{v2.2e}
-\def\nfssfontfiledate{2020/11/26}
+\def\nfssfontfileversion{v2.2f}
+\def\nfssfontfiledate{2023/11/07}
\documentclass{article}
@@ -100,7 +100,7 @@
{\PackageWarningNoLine{nfssfont}%
{Encoding file `\next' not found.%
\MessageBreak
- You might have misspelt the name of the encoding
+ You might have misspelled the name of the encoding
\MessageBreak
or perhaps this encoding is not a text encoding,
\MessageBreak
diff --git a/Master/texmf-dist/tex/latex/base/omllcmm.fd b/Master/texmf-dist/tex/latex/base/omllcmm.fd
index e618dc4dba9..322903455a3 100644
--- a/Master/texmf-dist/tex/latex/base/omllcmm.fd
+++ b/Master/texmf-dist/tex/latex/base/omllcmm.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{omllcmm.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{OML}{lcmm}{\skewchar\font'177}
\DeclareFontShape{OML}{lcmm}{m}{it}{%
<7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmmi8%
diff --git a/Master/texmf-dist/tex/latex/base/omslcmsy.fd b/Master/texmf-dist/tex/latex/base/omslcmsy.fd
index 228771692bf..89295e21cd7 100644
--- a/Master/texmf-dist/tex/latex/base/omslcmsy.fd
+++ b/Master/texmf-dist/tex/latex/base/omslcmsy.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{omslcmsy.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{OMS}{lcmsy}{\skewchar\font'60}
\DeclareFontShape{OMS}{lcmsy}{m}{n}{%
<7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmsy8%
diff --git a/Master/texmf-dist/tex/latex/base/omxlcmex.fd b/Master/texmf-dist/tex/latex/base/omxlcmex.fd
index bece1a61196..12315a1fceb 100644
--- a/Master/texmf-dist/tex/latex/base/omxlcmex.fd
+++ b/Master/texmf-dist/tex/latex/base/omxlcmex.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{omxlcmex.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{OMX}{lcmex}{}
\DeclareFontShape{OMX}{lcmex}{m}{n}{%
<->sfixed*[17.28]cmex10%
diff --git a/Master/texmf-dist/tex/latex/base/ot1lcmss.fd b/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
index 07ce6b86fd7..d7a5cb11f79 100644
--- a/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{ot1lcmss.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{OT1}{lcmss}{\hyphenchar\font45 }
\DeclareFontShape{OT1}{lcmss}{m}{n}{%
<7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
diff --git a/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd b/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
index cf1d558b503..2d6d825ffe8 100644
--- a/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{ot1lcmtt.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{OT1}{lcmtt}{\hyphenchar\font\m@ne}
\DeclareFontShape{OT1}{lcmtt}{m}{n}{%
<13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
diff --git a/Master/texmf-dist/tex/latex/base/preload.cfg b/Master/texmf-dist/tex/latex/base/preload.cfg
index ff607f13ddd..2e89d1f4e74 100644
--- a/Master/texmf-dist/tex/latex/base/preload.cfg
+++ b/Master/texmf-dist/tex/latex/base/preload.cfg
@@ -35,11 +35,11 @@
%% the system are in the document `cfgguide.tex'.
%%
%%
-%%% From File: fontdef.dtx
+%%% From File: fontdef.dtx
\ProvidesFile{preload.cfg}
- [2021/01/15 v3.0i LaTeX Kernel
-(Uncustomized preload
- font setup)]
+ [2024/02/09 v3.0i LaTeX Kernel
+ (Uncustomized preload font setup)
+]
%%
%%
%%
diff --git a/Master/texmf-dist/tex/latex/base/report.cls b/Master/texmf-dist/tex/latex/base/report.cls
index e4225d68c30..cb7a32f536d 100644
--- a/Master/texmf-dist/tex/latex/base/report.cls
+++ b/Master/texmf-dist/tex/latex/base/report.cls
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{report}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX document class]
\newcommand\@ptsize{}
\newif\if@restonecol
diff --git a/Master/texmf-dist/tex/latex/base/sfonts.def b/Master/texmf-dist/tex/latex/base/sfonts.def
index d87f757630a..f95ded8243e 100644
--- a/Master/texmf-dist/tex/latex/base/sfonts.def
+++ b/Master/texmf-dist/tex/latex/base/sfonts.def
@@ -36,7 +36,7 @@
%%
%%
\ProvidesFile{sfonts.def}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareErrorFont{OT1}{lcmss}{m}{n}{19.907}
\DeclareFontSubstitution{OT1}{lcmss}{m}{n}
\input ot1lcmss.fd
diff --git a/Master/texmf-dist/tex/latex/base/shortvrb.sty b/Master/texmf-dist/tex/latex/base/shortvrb.sty
index 59c0d09a811..c0266dd6930 100644
--- a/Master/texmf-dist/tex/latex/base/shortvrb.sty
+++ b/Master/texmf-dist/tex/latex/base/shortvrb.sty
@@ -43,11 +43,11 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{shortvrb}
- [2022/11/13 v3.0m
+ [2024/04/26 v3.0p
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
-%% Copyright (C) 1989-2022 Frank Mittelbach, all rights reserved.
+%% Copyright (C) 1989-2023 Frank Mittelbach, all rights reserved.
diff --git a/Master/texmf-dist/tex/latex/base/size10.clo b/Master/texmf-dist/tex/latex/base/size10.clo
index 9b20cf04dc8..11be942b3e9 100644
--- a/Master/texmf-dist/tex/latex/base/size10.clo
+++ b/Master/texmf-dist/tex/latex/base/size10.clo
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{size10.clo}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX file (size option)]
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xiipt
diff --git a/Master/texmf-dist/tex/latex/base/size11.clo b/Master/texmf-dist/tex/latex/base/size11.clo
index 090d88bb534..a36fb7931ba 100644
--- a/Master/texmf-dist/tex/latex/base/size11.clo
+++ b/Master/texmf-dist/tex/latex/base/size11.clo
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{size11.clo}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX file (size option)]
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xipt{13.6}%
diff --git a/Master/texmf-dist/tex/latex/base/size12.clo b/Master/texmf-dist/tex/latex/base/size12.clo
index f83b35a0ebd..aa9f0808f73 100644
--- a/Master/texmf-dist/tex/latex/base/size12.clo
+++ b/Master/texmf-dist/tex/latex/base/size12.clo
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{size12.clo}
- [2023/05/17 v1.4n
+ [2024/02/08 v1.4n
Standard LaTeX file (size option)]
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xiipt{14.5}%
diff --git a/Master/texmf-dist/tex/latex/base/source2edoc.cls b/Master/texmf-dist/tex/latex/base/source2edoc.cls
index 5f731af7ae8..48ae49b29a2 100644
--- a/Master/texmf-dist/tex/latex/base/source2edoc.cls
+++ b/Master/texmf-dist/tex/latex/base/source2edoc.cls
@@ -2,12 +2,12 @@
% This class is buggy and needs fixing
\ProvidesClass{source2edoc}
- [2022/04/03 v0.2c Quick hack to typeset source2.tex
+ [2024/02/14 v0.2e Quick hack to typeset source2.tex
(not usable for anything else and buggy -- will vanish again)!]
-\LoadClass{l3doc}
+\LoadClass[kernel]{l3doc}
\RemoveFromHook{begindocument}[l3doc] % drop the standard setting making " a shortverb
\AddToHook{begindocument}{\MakeShortVerb \|} % but readd | as one
@@ -50,84 +50,6 @@
}
-
-% some l3doc's def are buggy (already fixed there but not distributed yet)
-
-\RenewDocumentCommand \DocInclude { m }
- {
- \relax\clearpage
- \docincludeaux
- \IfFileExists{#1.fdd}
- { \cs_set:Npn \currentfile{#1.fdd} }
- { \cs_set:Npn \currentfile{#1.dtx} }
- \int_compare:nNnTF \@auxout = \@partaux
- { \@latexerr{\string\include\space cannot~be~nested}\@eha }
- { \@docinclude {#1} } % <--- braces needed!
- \int_compare:nNnF { \tex_currentgrouplevel:D } = { 0 }
- {
- \int_compare:nNnT { \tex_interactionmode:D } = { 0 }
- { \int_set:Nn \tex_interactionmode:D { 1 } }
- \msg_fatal:nnn { source2edoc } { missing-endgroup } {#1}
- }
- }
-\msg_new:nnn { source2edoc } { missing-endgroup }
- {
- \str_if_eq:VnTF \@currenvir { document }
- {
- There~are~\int_use:N \tex_currentgrouplevel:D
- \c_space_tl unclosed~groups~in~#1.dtx.
- }
- {
- The~\@currenvir \c_space_tl environment~on~line~\@currenvline
- \c_space_tl doesn't~have~a~matching~\iow_char:N\\end{\@currenvir}.
- }
- }
-\cs_gset:Npn \@docinclude #1
- {
- \clearpage
- \immediate\write\@mainaux{\string\@input{#1.aux}}
- \@tempswatrue
- \if@partsw
- \@tempswafalse
- \cs_set:Npx \@tempb {#1}
- \clist_map_inline:Nn \@partlist
- {
- \if_meaning:w \@tempa \@tempb
- \@tempswatrue
- \fi:
- }
- \fi
- \if@tempswa
- \cs_set_eq:NN \@auxout \@partaux
- \immediate\openout\@partaux #1.aux
- \immediate\write\@partaux{\relax}
- \cs_set_eq:NN \@ltxdoc@PrintIndex \PrintIndex
- \cs_set_eq:NN \PrintIndex \relax
- \cs_set_eq:NN \@ltxdoc@PrintChanges \PrintChanges
- \cs_set_eq:NN \PrintChanges \relax
- \cs_set_eq:NN \@ltxdoc@theglossary \theglossary
- \cs_set_eq:NN \@ltxdoc@endtheglossary \endtheglossary
- \part{\currentfile}
- {
- \cs_set_eq:NN \ttfamily\relax
- \cs_gset:Npx \filekey
- { \filekey,~ \thepart = { \ttfamily \currentfile } } % <-- mising spaces considered harmful
- }
- \DocInput{\currentfile}
- \cs_set_eq:NN \PrintIndex \@ltxdoc@PrintIndex
- \cs_set_eq:NN \PrintChanges \@ltxdoc@PrintChanges
- \cs_set_eq:NN \theglossary \@ltxdoc@theglossary
- \cs_set_eq:NN \endtheglossary \@ltxdoc@endtheglossary
- \clearpage
- \@writeckpt{#1}
- \immediate \closeout \@partaux
- \else
- \@nameuse{cp@#1}
- \fi
- \cs_set_eq:NN \@auxout \@mainaux
- }
-
-
% change the setup here: we have a lot of long names so better run raggeded
\cs_set_protected:Npn \__codedoc_macro_end_style:n #1
@@ -176,7 +98,7 @@
dd%
\else\@ctrerr\fi}
\def\docincludeaux{%
- \def\thepart{\aalph{part}}\def\filesep{\thepart-}%
+ \def\thepart{\ifnum\value{part}<10 0\fi\arabic{part}}\def\filesep{\thepart-}%
\let\filekey\@gobble
\g@addto@macro\index@prologue{%
\gdef\@oddfoot{\parbox[t]{\textwidth}{\strut\footnotesize
@@ -303,6 +225,9 @@ Bug reports can be opened (category \texttt{#1}) at\\%
\AddToHook{cmd/tableofcontents/after}{\global\let\tableofcontents\relax}
+% pages > 1000
+\renewcommand\@pnumwidth{2em}
+
\InputIfFileExists{ltxdoc.cfg}
{\typeout{*************************************^^J%
* Local config file ltxdoc.cfg used^^J%
diff --git a/Master/texmf-dist/tex/latex/base/structuredlog.sty b/Master/texmf-dist/tex/latex/base/structuredlog.sty
index 030d37d849e..6473fbc96fd 100644
--- a/Master/texmf-dist/tex/latex/base/structuredlog.sty
+++ b/Master/texmf-dist/tex/latex/base/structuredlog.sty
@@ -42,8 +42,8 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0o}
-\providecommand\ltfilehookdate{2023/07/10}
+\def\ltfilehookdate{2024/03/13}
+\def\ltfilehookversion{v1.0o}
\ProvidesExplPackage
{structuredlog}{\ltfilehookdate}{\ltfilehookversion}
{Structuring the TeX transcript file}
diff --git a/Master/texmf-dist/tex/latex/base/syntonly.sty b/Master/texmf-dist/tex/latex/base/syntonly.sty
index 7f813b145c5..4d8aa24f88f 100644
--- a/Master/texmf-dist/tex/latex/base/syntonly.sty
+++ b/Master/texmf-dist/tex/latex/base/syntonly.sty
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
%%
\ProvidesPackage{syntonly}
- [2017/06/30 v2.1e Standard LaTeX2e package]
+ [2024/02/08 v2.1e Standard LaTeX2e package]
\font\dummyft@=dummy \relax
\newif\ifsyntax@
\syntax@false
diff --git a/Master/texmf-dist/tex/latex/base/t1lcmss.fd b/Master/texmf-dist/tex/latex/base/t1lcmss.fd
index cd217b339df..17e05a62eb5 100644
--- a/Master/texmf-dist/tex/latex/base/t1lcmss.fd
+++ b/Master/texmf-dist/tex/latex/base/t1lcmss.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{t1lcmss.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{T1}{lcmss}{}
\DeclareFontShape{T1}{lcmss}{m}{n}{%
<7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
diff --git a/Master/texmf-dist/tex/latex/base/t1lcmtt.fd b/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
index faaff8c4bd6..72ad4664b2e 100644
--- a/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{t1lcmtt.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{T1}{lcmtt}{\hyphenchar\font\m@ne}
\DeclareFontShape{T1}{lcmtt}{m}{n}{%
<13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
diff --git a/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty b/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty
index 252b6ff9790..b611d19a427 100644
--- a/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty
+++ b/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty
@@ -408,7 +408,6 @@
{\PackageInfo{textcomp}{Local configuration file used}}{}
\fi
-
\endinput
%%
%% End of file `textcomp-2018-08-11.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/textcomp.sty b/Master/texmf-dist/tex/latex/base/textcomp.sty
index ef41c70c0b8..df0d53634de 100644
--- a/Master/texmf-dist/tex/latex/base/textcomp.sty
+++ b/Master/texmf-dist/tex/latex/base/textcomp.sty
@@ -42,14 +42,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: lttextcomp.dtx
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1997-12-01}{textcomp-2018-08-11.sty}
\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty}
\DeclareCurrentRelease{}{2020-02-02}
\ProvidesPackage{textcomp}
- [2020/02/02 v2.0n Standard LaTeX package]
+ [2024/04/24 v2.1b Standard LaTeX package]
\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
@@ -74,12 +72,10 @@
{#1{#2}}{#3}%
#5}%
}
-\ExecuteOptions{info}
\ProcessOptions\relax
\InputIfFileExists{textcomp.cfg}
{\PackageInfo{textcomp}{Local configuration file used}}{}
-
\endinput
%%
%% End of file `textcomp.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/ullasy.fd b/Master/texmf-dist/tex/latex/base/ullasy.fd
index 3dd0dfe4cbb..f244ab86e46 100644
--- a/Master/texmf-dist/tex/latex/base/ullasy.fd
+++ b/Master/texmf-dist/tex/latex/base/ullasy.fd
@@ -46,7 +46,7 @@
%% making successful document exchange impossible.
%%
\ProvidesFile{ullasy.fd}
- [2019/07/09 v2.2f Standard LaTeX slide font definitions]
+ [2023/12/02 v2.2f Standard LaTeX slide font definitions]
\DeclareFontFamily{U}{llasy}{}
\DeclareFontShape{U}{llasy}{m}{n}{%
<12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>lasy8%
diff --git a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamercolorthemeArguelles.sty b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamercolorthemeArguelles.sty
index 608006da245..dfa7cb3b089 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamercolorthemeArguelles.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamercolorthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamercolorthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
diff --git a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerfontthemeArguelles.sty b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerfontthemeArguelles.sty
index af52cb02830..8f53b261988 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerfontthemeArguelles.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerfontthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerfontthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
diff --git a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerinnerthemeArguelles.sty b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerinnerthemeArguelles.sty
index 899cb052d45..aaf0f6d08c6 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerinnerthemeArguelles.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerinnerthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerinnerthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
@@ -62,7 +62,7 @@
\setbeamertemplate{background}{
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
- \ifnum\thepage>1\relax
+ \ifnum\theframenumber>0\relax
\fill[structure.bg] (0,.01\paperheight) rectangle (\paperwidth,.99\paperheight);
\fi
\end{tikzpicture}
diff --git a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerouterthemeArguelles.sty b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerouterthemeArguelles.sty
index bd4cfad4b71..5ec88744ed2 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerouterthemeArguelles.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerouterthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerouterthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
diff --git a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerthemeArguelles.sty b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerthemeArguelles.sty
index c66f0bf591a..417be618aca 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerthemeArguelles.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-arguelles/beamerthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
@@ -33,7 +33,7 @@
\patchcmd{\slideentry}{\usebeamertemplate{mini frame in other subsection of current section}}{\usebeamertemplate{mini frame in other subsection}}{}{}
\fi
-% dependencies
+% package dependencies
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[osf]{Alegreya}
@@ -48,6 +48,9 @@
\RequirePackage{tikz}
\RequirePackage[skins]{tcolorbox}
+% tikz libraries
+\usetikzlibrary{calc}
+
% components
\useinnertheme{Arguelles}
\useoutertheme{Arguelles}
diff --git a/Master/texmf-dist/tex/latex/beautybook/Beautybook-EN.cls b/Master/texmf-dist/tex/latex/beautybook/Beautybook-EN.cls
deleted file mode 100644
index 63e3e038dff..00000000000
--- a/Master/texmf-dist/tex/latex/beautybook/Beautybook-EN.cls
+++ /dev/null
@@ -1,1166 +0,0 @@
-%This Class is based on the default book class and options will be passed
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{Beautybook-EN}[02-10-2023 V8.0 Beautybook Class]
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
-\ProcessOptions\relax
-\LoadClass[twoside]{book}
-\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
-\RequirePackage{cncolours}
-\RequirePackage[utf8]{inputenc} % UTF-8编码
-\RequirePackage{times} % Times New Roman Font
-\RequirePackage[T1]{fontenc}
-\RequirePackage{microtype} % 字体间距调整
-\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深
-\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅
-\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!!
-\RequirePackage{tikz-imagelabels} % tikz图像标注
-\RequirePackage{epigraph-keys} % 名言引用
-\RequirePackage{fitbox} % 图像自适应
-\RequirePackage{pgfornament-han}
-\RequirePackage{tikz}
-\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-%
-\ExplSyntaxOn
-% 封面切换程序 (LaTeX3)!
-\keys_define:nn {Beautybook/coverstyle}
- {
- cover-choose.choice:,
- cover-choose.value_required:n = true,
- cover-choose/cn.code:n = {\RequirePackage{stys/Beautybook-cover-cn}},
- cover-choose/en.code:n = {\RequirePackage{stys/Beautybook-cover-en}},
- cover-choose/enfig.code:n = {\RequirePackage{stys/Beautybook-cover-enfig}},
- cover-choose/birkar.code:n = {\RequirePackage{stys/Beautybook-cover-birkar}},
- %cover-choose .initial:n = en , % 设置 en 为初始值
- }
-\newtoks \l__Beautybook_tmpa_toks
-\cs_new_protected:Npn \coverstyle
- {
- \tex_afterassignment:D \__Beautybook_set_coverstyle:
- \l__Beautybook_tmpa_toks
- }
-\cs_new:Npn \__Beautybook_set_coverstyle:
- { \keys_set:nV { Beautybook / coverstyle } \l__Beautybook_tmpa_toks }
-% Math fonts
-\keys_define:nn {Beautybook/mathstyle}
- {
- math-font.choice:,
- math-font.value_required:n = true,
- math-font/plain.code:n={},
- math-font/stix.code:n={
- \RequirePackage{stix}
- },
- math-font/mtpro2.code:n = {
- \RequirePackage{mtpro2}
- \RequirePackage{bm}
- \DeclareFontFamily{U}{nxlmi}{}
- \DeclareFontSubstitution{U}{nxlmi}{m}{it}
- \DeclareFontShape{U}{nxlmi}{m}{it}{
- <-6.3> nxlmi05
- <6.3-8.6> nxlmi07
- <8.6-> nxlmi0
- }{}
-
- \DeclareFontShape{U}{nxlmi}{b}{it}{
- <-6.3> nxlbmi05
- <6.3-8.6> nxlbmi07
- <8.6-> nxlbmi0
- }{}
- \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}}
- },
- %cover-choose .initial:n = plain , % 设置 en 为初始值
- }
-\cs_new_protected:Npn \mathstyle
- {
- \tex_afterassignment:D \__Beautybook_set_mathstyle:
- \l__Beautybook_tmpa_toks
- }
-\cs_new:Npn \__Beautybook_set_mathstyle:
- { \keys_set:nV { Beautybook / mathstyle } \l__Beautybook_tmpa_toks }
-\ExplSyntaxOff
-\RequirePackage{stys/Beautybook-bottompage} %封底
-\RequirePackage{rotating}
-\tikzset{>=Stealth}
-\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
-% 浮动环境设置
-% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境,
-% 而这通常不是我们想要的, 我们将这个要求降低到 5%.
-\renewcommand*{\textfraction}{0.05}
-% 有时如果多个浮动环境连续放在一起,
-% 会将它们分在几个不同页,即使它们可在同一页放
-% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮
-% 动环境的最大比例.
-\renewcommand*{\topfraction}{0.9}
-\renewcommand*{\bottomfraction}{0.8}
-% 有时\LaTeX{}会把一个浮动环境单独放在一页,
-% 我们要求这个环境至少要占据 85% 才能单独放在一页.
-% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|.
-\renewcommand*{\floatpagefraction}{0.85}
-% 关于图片 graphicx
-% 如果图片没有指定后缀, 依次按下列顺序搜索
-\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
-% 设置图表搜索路径, 可以给图表文件夹取如下名字
-\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}}
-% \RequirePackage[physics]{stys/physicx}
-% \RequirePackage{stys/Symbols}
-\RequirePackage{extarrows}
-\usetikzlibrary{tikzmark}
-% \arrowname{super-script}
-% \arrowname[sub-script]{super-script}
-\RequirePackage{appendix} % 附录
-% \RequirePackage{stys/symbols}
-%
-\RequirePackage{amssymb,amsfonts,upgreek}
-\RequirePackage{makeidx}
-\RequirePackage{etoolbox} % 判断函数
-\RequirePackage{paracol}
-\RequirePackage{tikz-cd}
-\RequirePackage{imakeidx}
-\RequirePackage{anyfontsize}
-\RequirePackage{calc}
-\RequirePackage{xkeyval,ifthen}
-\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes}
-\RequirePackage{varwidth}
-\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色
-anchorcolor = purple, %%修改此处为你想要的颜色
-urlcolor = purple, %%修改此处为你想要的颜色
-citecolor = purple, %%修改此处为你想要的颜色
-]{hyperref}
-\setcounter{tocdepth}{3}
-\setcounter{secnumdepth}{3}%增加编号深度
-\RequirePackage{dashrule}
-\newlength\outermarginwidth
-\setlength\outermarginwidth{1.5cm}
-\newlength\covershift
-\setlength\covershift{5cm}
-\RequirePackage{caption}
-% 图注与表注格式
-\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
-\makeatletter
-%%----------------------------------封面信息定义--------------------------------------------------------%%
-\newcommand\bookseries[1]{\def\@bookseries{#1}}
-\newcommand\subtitle[1]{\def\@subtitle{#1}}
-\newcommand\edition[1]{\def\@edition{#1}}
-\newcommand\presslogo[1]{\def\@presslogo{#1}}
-\newcommand\pressname[1]{\def\@pressname{#1}}
-\newcommand\coverimage[1]{\def\@coverimage{#1}}
-\newcommand\chapimage[1]{\def\@chapimage{#1}}
-%%----------------------------------封面信息定义--------------------------------------------------------%%
-\makeatother
-\RequirePackage{indentfirst}
-\RequirePackage{amsmath}
-\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
-\RequirePackage{xpatch}%修正章节编号
-\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类
-\RequirePackage{fontawesome5}
-\RequirePackage{mathrsfs}
-\RequirePackage[most]{tcolorbox}
-\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library
-\RequirePackage{tabularx}
-\RequirePackage{lastpage}
-%\RequirePackage{twemojis}
-\RequirePackage{ninecolors}
-\RequirePackage{colortbl} %彩色表格
-\RequirePackage{tabularray}
-\UseTblrLibrary{amsmath}
-% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其
-% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。
-% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部
-% 参数。
-\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中
-\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头
-\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架
-\RequirePackage{pgfornament}
-\RequirePackage{zhnumber}
-\RequirePackage{dashrule}
-\RequirePackage{adjustbox}
-\RequirePackage{enumitem}
-\RequirePackage{multicol}
-\RequirePackage{amsthm}
-\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
-\RequirePackage{bclogo}
-\RequirePackage[normalem]{ulem}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-\RequirePackage{graphicx}%修正minipage顶部对齐问题
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
-\RequirePackage[explicit]{titlesec}
-\RequirePackage{titletoc}
-
-\newcommand\boxednum[1]
-{
-\tcbsidebyside[sidebyside adapt=left,
-nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth,
-top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上
-fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
-]{% left hand side % adjust from this side
-\thecontentslabel
-}{% right hand side
-\textbf{#1} \hfill \thecontentspage
-}% end
-}
-
-\newcommand\boxednonum[1]
-{
-\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm,
-top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上
-fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
-]
-\tcblower \textbf{#1}\hfill \thecontentspage
-\end{tcolorbox}
-}
-%
-\titlecontents{chapter}[0mm]
- {\addvspace{-.5em}}
- {\contentsmargin{0pt}\boxednum}
- {\contentsmargin{0pt}\boxednonum}
- {}
- [\addvspace{-.5em}]
-%
- \titlecontents{section}
- [4.5em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}}
- {\hspace*{-2.2em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-%
- \titlecontents{subsection}
- [7.3em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}}
- {\hspace*{-2.7em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-%
- \titlecontents{subsubsection}
- [10.7em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}}
- {\hspace*{-3.3em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-
-% tcolorbox中插入图片或者tikz绘图方法
-\newcommand\Figure[4]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this
-%(caption) particular \caption on input line XX.警告信息
- \includegraphics[#1]{#2}
- \captionof{figure}{#3}\label{#4}
- \end{center}
-}%用法 : 用于tcolorbox中插入图片
-\newcommand\Tikz[3]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息
- #3 %最后一个参数为Tikz画图代码窗口
- \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签
- \end{center}
-} %用法 : 用于tcolorbox中插入Tikz绘图
-%特殊注释矩阵
-\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2}
-
-\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2}
-
-\newcommand\coolleftbrace[2]{%
- #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.}
-
-\newcommand\coolrightbrace[2]{%
- \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2}
-\definecolor{lightergray}{gray}{0.99}
-
-\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
- circle (.5em) node {\makebox[1em][c]{\small #1}};}}
-\newcommand{\twicecircle}{\raisebox{.7ex}{
- \begin{tikzpicture}[remember picture,overlay]
- \draw[line width=0.6pt,black!60] (0,0) circle (3pt);
- \fill[black] (0,0) circle (1.6pt) ;
- \end{tikzpicture}}
-}
-\newcommand{\exercise}[2][\bcicosaedre]{\bigskip
-\begin{tikzpicture}[remember picture,overlay]
-\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center,
- inner sep=1.5mm,
- anchor=west,] {$#1$ ~ #2} (\linewidth,0);
-\end{tikzpicture}\bigskip\smallskip
-}
-\RequirePackage{extarrows}
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\F}{\mathcal{F}}
-\newcommand{\lan}[1]{\langle #1 \rangle}
-\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号
-\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号
-% \everymath{\displaystyle}
-
-%% -------- 章节样式
-\makeatletter
-% titleimage
-\ExplSyntaxOn
-\seq_new:N \g__Beautybook_chapter_oimage_seq % odd
-\seq_new:N \g__Beautybook_chapter_eimage_seq % even
-\seq_new:N \g__Beautybook_part_oimage_seq % odd
-\seq_new:N \g__Beautybook_part_eimage_seq % even
-%
-\keys_define:nn { Beautybook/titleimage }
- {
- chapteroddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_oimage_seq {#1} ,
- chapterevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_eimage_seq {#1} ,
- partoddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_oimage_seq {#1} ,
- partevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_eimage_seq {#1} ,
- }
-\cs_new:Npn \__Beautybook_title_image:Nn #1#2 % image seq, number
- { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号
-\cs_new:Npn \Beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
- {
- \int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_oimage_seq { \value{chapter} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_eimage_seq { \value{chapter} } }
- }
-\cs_new:Npn \Beautybook@partimagename
- {
- \int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_oimage_seq { \value{part} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_eimage_seq { \value{part} } }
- }
-\cs_new_protected:Npn \titleimage #1
- { \keys_set:nn { Beautybook/titleimage } {#1} }
-\ExplSyntaxOff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{
- \makebox[0pt][l]{\def\rad{7pt}%
- \begin{tikzpicture}[remember picture, overlay]%
- \begin{pgfonlayer}{bottom}
- \ifodd\value{page}
- \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd
- \else
- \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even
- \fi
- \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line
- \end{pgfonlayer}
- \path[fill=outermarginfgcolor]node[append after command={
- ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart};
- \begin{pgfonlayer}{bottom}
- \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade
- \end{pgfonlayer}
- \ifodd\value{page}
- \begin{pgfonlayer}{top}
- \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}};
- \begin{pgfonlayer}{foreground}
- \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt]
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \end{pgfonlayer}
- \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]%
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{bottom}
- \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \else
- \begin{pgfonlayer}{top}
- \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}};
- \begin{pgfonlayer}{foreground}
- \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt]
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \end{pgfonlayer}
- \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]%
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{background}
- \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \fi
- \path[fill=outermarginbgcolor]node[append after command={
- ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle},
- text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage};
- \end{tikzpicture}}
- }
-\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{
- \makebox[0pt][l]{\def\rad{7pt}%
- \begin{tikzpicture}[remember picture, overlay]%
- \begin{pgfonlayer}{bottom}
- \ifodd\value{page}
- \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd
- \else
- \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even
- \fi
- \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line
- \end{pgfonlayer}
- \ifodd\value{page}
- \begin{pgfonlayer}{top}
- \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{bottom}
- \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \else
- \begin{pgfonlayer}{top}
- \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{background}
- \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \fi
- \path[fill=outermarginbgcolor]node[append after command={
- ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle},
- text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage};
- \end{tikzpicture}}
-}
-\titlespacing{\chapter}{0pt}{0pt}{80pt}
-\makeatother
-% -------- Part定制
-\tikzfading[name=middle, top color=transparent!90, bottom
-color=transparent!90, middle color=transparent!20]
-\makeatletter
-\newcommand\partabstract[1]{\def\@partabstract{#1}}
-\newcommand\partimage[1]{\def\@partimage{#1}}
-\titleformat{\part}
-{\normalfont\huge\filcenter}
-{}
-{20pt}
-{\begin{tikzpicture}[remember picture,overlay]
- \def\barwidth{2cm}
- \fill[outermarginbgcolor,opacity=0.6]
- (current page.north west) rectangle (current page.south east);
- \ifodd\value{page}
- \fill [outermarginfgcolor!20]%
- (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight);
- \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]%
- (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);%
- % lines
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
- \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
- \begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
- \fill[outermarginbgcolor]
- (0,-.25cm) rectangle ++(\paperwidth,-.5cm);
- \fill[outermarginfgcolor]
- (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm);
- \end{tikzpicture}
- };
- \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below,left,font=\sc\huge,shift={(.146\linewidth,-1.5*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
- \begin{pgfonlayer}{background}
- \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
- \end{pgfonlayer}
- \else
- \fill [outermarginfgcolor!20]%
- (current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
- \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]%
- (current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);%
- % lines
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
- \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
- \begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
- \fill[outermarginbgcolor]
- (0,-.25cm) rectangle ++(\paperwidth,-.5cm);
- \fill[outermarginfgcolor]
- (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm);
- \end{tikzpicture}
- };
- \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below right,font=\sc\huge,shift={(-.125\linewidth,-1.2*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
- \begin{pgfonlayer}{background}
- \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
- \end{pgfonlayer}
- \fi
- \node[below,,font=\itshape\fontsize{13}{13}\selectfont,shift={(0\linewidth,-1.65*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.85\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
- \end{tikzpicture}}
-\makeatother
-\assignpagestyle{\part}{empty}
-\assignpagestyle{\chapter}{empty}
-
-
-%% -- Section
-\titleformat{\section}
-{}
-{}
-{-.5em} %左右移动\thesection标签位置
-{\mysectionformat{#1}}
-
-\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}}
-
-\newcommand{\mysectionformat}[1]{%
-\makebox[0pt][l]{\def\rad{7pt}%
-\begin{tikzpicture}[remember picture]
- \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection};
- \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}};
-\end{tikzpicture}}}%最后一个选项为 [<after code>]
-
-\newcommand{\mysectionnonumformat}[1]{%
-\makebox[0pt][l]{\def\rad{7pt}%
-\begin{tikzpicture}[remember picture]
- \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec};
- \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}};
-\end{tikzpicture}}}%最后一个选项为 [<after code>]
-
-\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
-
-%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% SIDE-BAR
-\newlength\chapternumbersize
-\setlength\chapternumbersize{36pt}
-\setlength{\headheight}{40pt} % 页眉高度
-\renewcommand\chaptermarkformat{}
-% define a new mark for the chapter number
-\newmarks\chapternum
-\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed}
-\newmarks\secnum
-\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed}
-
-\newcommand*\outermarginpagemark{%
-\tikzoverlay{
- \begin{pgfonlayer}{top}
- \ifodd\value{page}
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage};
- \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线
- \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
- \else
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage};
- \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线
- \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
- \fi
- \end{pgfonlayer}}
-}
-\newlength\baryshift
-\setlength\baryshift{-2.5\outermarginwidth}
-\makeatletter
-% Add A Side-Bar Box For The Chapter Number
-\newcommand*\outermarginchapternumberbox{%
- \if@mainmatter
- \tikzoverlay{
- \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
- (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm);
- \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};%
- }
- \fi
- \vfill
-}
-\makeatother
-
-\newkomafont{chapternumber}{%页边章节编号字体
- \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont
-}%
-\makeatletter
-\newcommand\outermarginmark{
- \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi
- \rotatebox{90}{\parbox{\layerheight}{
- \raggedleft
- \usekomafont{outermargin}{%
- \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}%
- }}%
- \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi%
-}
-\newcommand*\even@outermargin{}
-\newcommand*\odd@outermargin{}
-\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容
-\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容
-\makeatother
-%
-\newkomafont{outermargin}{%页边章节名称字体
- \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor}
-}
-% declare new page style using layers
-\DeclareNewPageStyleByLayers{scth}{%
- scth.outermargin.bg.even,%
- scth.outermargin.bg.odd,%
- scth.outermargin.fg.even,%
- scth.outermargin.fg.odd,%
- scth.outermargin.pn.even,%
- scth.outermargin.pn.odd,%
- scth.outermargin.cn.even,%
- scth.outermargin.cn.odd,%
- scth.outermargin.text.even,%
- scth.outermargin.text.odd%
-}
-% define the layers for even pages
-\DeclareNewLayer[
- background, % 下层(背景)
- evenpage,
- outermargin,
- width=\outermarginwidth,
- contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条
-]{scth.outermargin.bg.even}%
-%%=============% 页边条颜色 %=======================%%
-\tikzfading[name=fade south,
- top color =transparent!0,
- bottom color=transparent!80]
-\tikzfading[name=fade north,
- top color =transparent!100,
- bottom color=transparent!0]
-%偶数页边纹理效果设置
-\newcommand{\evensidbardeepcolor}{%
-\tikzoverlay{
-\ifodd\value{page}
-\fill [outermarginfgcolor!20]%
- (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east);
- \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]%
- (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east);
-\else
- \fill [outermarginfgcolor!20]%
- (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west);
- \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]%
- (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west);
- \fi
-}
-}
-%%==============偶数页页边条颜色========================%%
-\DeclareNewLayer[
- foreground, %
- evenpage,
- outermargin,
- width=\outermarginwidth,
- contents=\evensidbardeepcolor %色彩装饰条
-]{scth.outermargin.fg.even}%
-%%==============偶数页页脚页码========================%%
-\DeclareNewLayer[
- foreground, %上层 (背景之上)
- evenpage,
- foot, % 页脚
- contents=\outermarginpagemark
-]{scth.outermargin.pn.even}%
-%%==============偶数页章节编号========================%%
-\DeclareNewLayer[
- foreground, %上层 (背景之上)
- evenpage,
- head, %页眉
- hoffset=0pt,
- width=\outermarginwidth,
- align=t,
- addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax,
- height=\chapternumbersize+\headheight,
- contents=\outermarginchapternumberbox%章节编号
-]{scth.outermargin.cn.even}%
-%%======================章节名称===================================%%
-\DeclareNewLayer[
- clone=scth.outermargin.cn.even,
- addheight=\dimexpr\headheight+\headsep+\textheight\relax,
- addvoffset=\dimexpr+2\outermarginwidth\relax,
- hoffset=-2.5pt,
- contents=\outermarginmark %
-]{scth.outermargin.text.even}%
-
-% define the layers for odd page from the settings for even pages
-\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令
-\DeclareNewLayer[
- clone=#1.even,
- oddpage,
- align=r,
- hoffset=\paperwidth
-]{#1.odd}%
-}
-\DeclareOddFromEven{scth.outermargin.bg}
-\DeclareOddFromEven{scth.outermargin.pn}
-\DeclareOddFromEven{scth.outermargin.cn}
-\DeclareOddFromEven{scth.outermargin.text}
-\DeclareOddFromEven{scth.outermargin.fg}
-
-% add the layers to page style scrheadings and page style plain
-\ForEachLayerOfPageStyle*{scth}{%
- \AddLayersToPageStyle{scrheadings}{#1}%
- \AddLayersToPageStyle{plain.scrheadings}{#1}%
-}
-%----------------------------------------------
-\KOMAoptions{markcase=upper} %页眉
-% for page styles scrheadings and plain
-\clearpairofpagestyles
-\ohead{}
-\cfoot{}
-\ofoot{}
-
-%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-
-%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子
-\makeatletter
-\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色
-\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色
-\newdimen\ys@frame@linewidth
-\newdimen\ys@frame@radius
-\newdimen\ys@frame@sep
-\def\ys@frame@fill@opacity{0.2}
-
-\pgfdeclarehorizontalshading{ys@fade@circle}{500bp}
-{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100);
-color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0);
-color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
-\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}}
-
-\def\ys@frame@star@list@t{%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- frame.north east,%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- frame.north west}
-\def\ys@frame@star@list@b{%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- frame.south west,%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- frame.south east}
-\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b}
-
-%region outer
-\def\ys@frame@remove@middleline#1#2{}
-\def\ys@frame@draw@middleline#1#2{%
- \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)--
- ([xshift=\ys@frame@linewidth,#1]frame.north east)--
- ([xshift=\ys@frame@linewidth,#2]frame.south east)--
- ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;}
-\def\ys@frame@unbrokenouter{%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east)
- arc(-180:-90:\ys@frame@radius)--
- ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east)
- arc(90:180:\ys@frame@radius)--
- ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west)
- arc(0:90:\ys@frame@radius)--
- ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west)
- arc(-90:0:\ys@frame@radius)--cycle;}
-\def\ys@frame@firstouter{%
- \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east)
- arc(-180:-90:\ys@frame@radius)--
- ([yshift=-\ys@frame@radius]frame.north east)--
- (frame.south east)--
- (frame.south west)--
- ([yshift=-\ys@frame@radius]frame.north west)
- arc(-90:0:\ys@frame@radius)--cycle;}
-\def\ys@frame@middleouter{%
- \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- (frame.north west)--(frame.north east)--(frame.south east)--
- (frame.south west)--cycle;}
-\def\ys@frame@lastouter{%
- \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- (frame.north west)--(frame.north east)--
- ([yshift=\ys@frame@radius]frame.south east)
- arc(90:180:\ys@frame@radius)--
- ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west)
- arc(0:90:\ys@frame@radius)--
- ([yshift=\ys@frame@radius]frame.south west)--
- (frame.north west)--cycle;}
-%endregion
-%region inner
-\def\ys@frame@unbrokeninner{%
-\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
-([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- %%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节
---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
-([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
-%
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)
-%
-([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
---([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
-([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
---([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
-%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@firstinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- %%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节
---([xshift=-\ys@frame@sep]frame.south east)
-
- ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)
- --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
- ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
- --([xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@middleinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east)
- ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@lastinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@sep]frame.north east)
- --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
- ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- %
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)
-%
- ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
-%
- ([xshift=\ys@frame@sep]frame.north west)
- --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);}
-%endregion
-%region corner
-\def\ys@frame@unbrokencorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east)
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);}
-\def\ys@frame@firstcorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);}
-\def\ys@frame@middlecorner{}
-\def\ys@frame@lastcorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east)
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);}
-%endregion
-\def\ys@frame@star#1#2#3{%
- \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1]
- \path[draw=framegolden,fill=white,
- line width=.7\ys@frame@linewidth,line join=round]
- (1,1)..controls(0.3,0.5) and (-0.3,0.5)..
- (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3)..
- (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5)..
- (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle;
- \path[scale=0.45,fill=framegolden,line join=round]
- (1,1)..controls(0.3,0.7) and (-0.3,0.7)..
- (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3)..
- (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7)..
- (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle;
- \end{scope}}
-\def\ys@frame@segmentation{%
- \draw[color=framegolden,path fading=ys circle]
- ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88]
- ([xshift=-5\ys@frame@radius]segmentation.east);}
-
-\tcbset{
- % 控制是否在断点处的线不画出来
- ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline,
- ys/frame/fill opacity/.store in=\ys@frame@fill@opacity,
- ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo,
- % 控制线宽
- ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}},
- ys/frame/line width=1.4pt,
- % 控制圆弧大小,应为数字,而非长度
- ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult
- \pgfmathsetlength\ys@frame@radius{(#1)*1em}%
- \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}},
- ys/frame/radius=2,
- ys/frame/unbroken/.style={
- interior code={%
- \ys@frame@unbrokenouter % 外框
- \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星
- \ys@frame@unbrokeninner % 内线
- \ys@frame@unbrokencorner % 四角
- },
- interior titled code={%
- \ys@frame@unbrokenouter % 外框
- \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星
- \ys@frame@unbrokeninner % 内线
- \ys@frame@unbrokencorner % 四角
- }
- },
- ys/frame/first/.style={
- interior code={%
- \ys@frame@firstouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@firstinner
- \ys@frame@firstcorner},
- interior titled code={%
- \ys@frame@firstouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@firstinner
- \ys@frame@firstcorner},
- },
- ys/frame/middle/.style={
- interior code={%
- \ys@frame@middleouter
- \ys@frame@middleinner
- \ys@frame@middlecorner}
- },
- ys/frame/last/.style={
- interior code={%
- \ys@frame@lastouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@lastinner
- \ys@frame@lastcorner}
- },
- ys/frame style/unbroken/.style={
- boxsep=2\ys@frame@sep,
- left={.8\ys@frame@radius},right={.8\ys@frame@radius},
- ys/frame/unbroken,title hidden,
- segmentation code=\ys@frame@segmentation
- },
- ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation},
- ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation},
- ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation},
- ys style/.style={frame hidden,
- ys/frame style/unbroken,
- extras first={ys/frame style/first},
- extras middle={ys/frame style/middle},
- extras last={ys/frame style/last},
- },
-}
-\makeatother
-\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm,
- ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape}
-%% End The Most Beautiful Box
-\makeatletter
-\definecolor{CyaN}{HTML}{dbe1e5}
-\colorlet{OrangE}{yellow!20!orange}
-\colorlet{BluE}{cyan!70!blue}
-\colorlet{ReD}{red!20!orange}
-\colorlet{GreeN}{yellow!40!green}
-
-% 第一种定理
-\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable,
- enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt,
- top=2pt, bottom=2pt, left=2.5mm, frame hidden}}
-\newcommand{\@my@newtheorem@n}[1]{\ERROR}
-\newcommand{\@my@newtheorem@nn}[2]{%
- \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}}
-\NewDocumentCommand{\@my@newtheorem}{ m m o +m }
- {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}%
- \tcbset{my@#1@thmstyle/.style={#4}}%
- \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}}
-\NewDocumentCommand{\@my@renewtheorem}{ m m o +m }
- {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}%
- \tcbset{my@#1@thmstyle/.style={#4}}}
-%
-% ---------------------------------------------------------------------------------- %
-% 第二种定理
-\tcbset{my@basic@tcbthm/.style={detach title,}}
-\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR}
-\newcommand{\@my@newtcbtheorem@nn}[2]{%
- \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}}
-\newcommand{\@my@newtcbtheorem}[2]{%
- \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称
- \mytcbtheoremset{#2}%
- \NewTColorBox{#1}{ O{} O{} o }
- {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}}
-\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}}
-
-% 键值设置
-\pgfkeys{/mytcbtheorem/.is family}
-\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}}
-\mytcbtheoremset{
- name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效
- counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on
- the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1},
- autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1},
- style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}},
- thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效
- lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效
-}
-% 存储键值 (LaTeX3)
-\ExplSyntaxOn
-\cs_new_protected:Npn \mynewtheorem
- { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn }
-\cs_new_protected:Npn \mynewtcbtheorem
- { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn }
-\ExplSyntaxOff
-\makeatother
-
-% 第二种定理
-\makeatletter
-%% Overlay Settings
-\newcommand{\my@theorem@overlay@unbroken}[2]{
- %%============== First ==============%%
- \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle;
- \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2,
-anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle;
- \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle;
- %%============== End ==============%%
- \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}]
- ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle;
- \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle;
- \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle;
-}
-\newcommand{\my@theorem@overlay@first}[2]{
- \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle;
- \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle;
- \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle;
-}
-\newcommand{\my@theorem@overlay@last}[1]{
- \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}]
- ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle;
- \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle;
- \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle;
-}
-% Second theorem style overlay settings
-\newcommand{\my@lemma@overlay@unbroken}[2]{
- %%============== First ==============%%
- \def\Rad{3.5pt}
- \def\theight{0.57cm}
- \def\rad{7pt}%
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle},
- text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \begin{pgfonlayer}{bottom}
- \fill[#2,opacity=0.5]
- ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle;
- \fill[#2,opacity=0.5]
- ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle;
- \end{pgfonlayer}
- %%============== End ==============%%
- \def\tlen{1.5cm}
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle;
- \begin{pgfonlayer}{bottom}
- \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle;
- \end{pgfonlayer}
- }
-\newcommand{\my@lemma@overlay@first}[2]{
- %%============== First ==============%%
- \def\Rad{3.5pt}
- \def\theight{0.57cm}
- \def\rad{7pt}%
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle},
- text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \begin{pgfonlayer}{bottom}
- \fill[#2,opacity=0.5]
- ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle;
- \fill[#2,opacity=0.5]
- ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle;
- \end{pgfonlayer}
- }
-\newcommand{\my@lemma@overlay@last}[1]{
- %%============== End ==============%%
- \def\Rad{3.5pt}
- \def\rad{7pt}%
- \def\theight{0.57cm}
- \def\tlen{1.5cm}
- \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle;
- \begin{pgfonlayer}{bottom}
- \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle;
- \end{pgfonlayer}
- }
-\makeatother
-%%
-
-% proof
-\newcommand{\itbf}[1]{\textit{\textbf{#1}}}
-\declaretheoremstyle[
- spaceabove=3pt,spacebelow=3pt,
- headfont=\normalfont\bfseries,
- notefont=\normalfont\bfseries,notebraces={(}{)},
- bodyfont=\normalfont,
- postheadspace=.5em,
- headpunct={.},
- qed=$\blacksquare$,%\qedsymbol
-]{Proofstyle}
-\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof}
-\renewenvironment{proof}{\begin{Proof} }{\end{Proof}}
-\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution}
-
-%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%%
-% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令
-
-% \c@foo,储存计数器的值,初始值为 0
-% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo}
-% \p@foo,储存计数器被引用时的前缀,初始定义为空
-% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空
-%% 关于计数器的自动归零
-% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar
-% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent
-% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节
-% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」
-% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果
-% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的
-% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零
diff --git a/Master/texmf-dist/tex/latex/beautybook/Beautybook-CN.cls b/Master/texmf-dist/tex/latex/beautybook/beautybook.cls
index d3ab12a333e..73959a7594e 100644
--- a/Master/texmf-dist/tex/latex/beautybook/Beautybook-CN.cls
+++ b/Master/texmf-dist/tex/latex/beautybook/beautybook.cls
@@ -1,143 +1,161 @@
-%This Class is based on the default book class and options will be passed
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{Beautybook-CN}[02-10-2023 V8.0 Beautybook Class]
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
-\ProcessOptions\relax
-\LoadClass[twoside,a4paper]{ctexbook}
+\ProvidesClass{beautybook}[02-07-2024 V10.0 beautybook Class]
+% /* -------------------------------------------------------------------------- */
+% /* 切换文类 */
+% /* -------------------------------------------------------------------------- */
+\DeclareKeys{% = \DeclareKeys[autoclass]
+ lang .choice: ,
+ lang/en .code:n = \def\beautybook@class{book} ,
+ lang/cn .code:n = \def\beautybook@class{ctexbook} ,
+ lang .initial:n = en ,
+ unknown .code:n = \beautybook@unknown ,
+}
+
+\ExplSyntaxOn
+\clist_new:N \beautybook@unknownoptions
+\cs_new_protected:Npn \beautybook@unknown
+ {
+ \bool_if:NTF \l__keys_no_value_bool
+ { % eg. 12pt, twoside
+ \clist_put_right:Nx \beautybook@unknownoptions
+ { \l_keys_key_str }
+ }
+ { % eg. zihao=4, fontset=windows
+ \clist_put_right:Nx \beautybook@unknownoptions
+ { \l_keys_key_str = { \exp_not:o \l_keys_value_tl } }
+ }
+ }
+\ExplSyntaxOff
+
+\ProcessKeyOptions % = \ProcessKeyOptions[beautybook]
+\PassOptionsToClass\beautybook@unknownoptions\beautybook@class
+%% 如果不需要过滤上面定义的 lang 等键,可以直接使用
+%% \PassOptionsToClass\@raw@classoptionslist\beautybook@class
+
+\LoadClass{\beautybook@class}
+% /* ---------------------------------- 切换文类 ---------------------------------- */
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 判断 A4 paper程序 */
+% /* -------------------------------------------------------------------------- */
+\makeatletter
+\ExplSyntaxOn
+\cs_new:Npn \ifaivpaper@TF
+ {
+ \bool_lazy_and:nnTF
+ { \dim_compare_p:nNn { 297mm } = { \paperheight } } % 不能是 29.7cm
+ { \dim_compare_p:nNn { 210mm } = { \paperwidth } }
+ }
+\ExplSyntaxOff
+% \ifaivpaper@TF{a4paper内容}{not a4paper内容} % 这个用在想要判断a4paper的地方
+\makeatother
+% /* -------------------------------------------------------------------------- */
+% /* 判断 A4 paper程序 */
+% /* -------------------------------------------------------------------------- */
+
+
\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
-\RequirePackage{cncolours}
-\setmainfont{Times New Roman}
-\setsansfont{HONOR Sans}
-\setmonofont{Latin Modern Mono}
-\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深
-\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅
-\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!!
-\RequirePackage{tikz-imagelabels} % tikz图像标注
-\RequirePackage{epigraph-keys} % 名言引用
-\RequirePackage{fitbox} % 图像自适应
-\RequirePackage{pgfornament-han}
-\RequirePackage{tikz}
-\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-%
+\RequirePackage{tikz} %%页面样式设计核心包 %提供\pgfonlayer命令
+\usetikzlibrary{cd,calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
+
+% /* --------------------------------- 模板默认颜色 --------------------------------- */
+\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深的前景色
+\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅的背景色
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 封面切换程序 */
+% /* -------------------------------------------------------------------------- */
+
\ExplSyntaxOn
-% 封面切换程序 (LaTeX3)!
-\keys_define:nn {Beautybook/coverstyle}
+\keys_define:nn {beautybook/coverstyle}
{
cover-choose.choice:,
cover-choose.value_required:n = true,
- cover-choose/cn.code:n = {\RequirePackage{stys/Beautybook-cover-cn}},
- cover-choose/en.code:n = {\RequirePackage{stys/Beautybook-cover-en}},
- cover-choose/enfig.code:n = {\RequirePackage{stys/Beautybook-cover-enfig}},
- cover-choose/birkar.code:n = {\RequirePackage{stys/Beautybook-cover-birkar}},
+ cover-choose/cn.code:n = {\RequirePackage{stys/beautybook-cover-cn}},
+ cover-choose/en.code:n = {\RequirePackage{stys/beautybook-cover-en}},
+ cover-choose/enfig.code:n = {\RequirePackage{stys/beautybook-cover-enfig}},
+ cover-choose/birkar.code:n = {\RequirePackage{stys/beautybook-cover-birkar}},
%cover-choose .initial:n = en , % 设置 en 为初始值
}
-\newtoks \l__Beautybook_tmpa_toks
+\newtoks \l__beautybook_tmpa_toks
\cs_new_protected:Npn \coverstyle
{
- \tex_afterassignment:D \__Beautybook_set_coverstyle:
- \l__Beautybook_tmpa_toks
+ \tex_afterassignment:D \__beautybook_set_coverstyle:
+ \l__beautybook_tmpa_toks
}
-\cs_new:Npn \__Beautybook_set_coverstyle:
- { \keys_set:nV { Beautybook / coverstyle } \l__Beautybook_tmpa_toks }
+\cs_new:Npn \__beautybook_set_coverstyle:
+ { \keys_set:nV { beautybook / coverstyle } \l__beautybook_tmpa_toks }
% Math fonts
-\keys_define:nn {Beautybook/mathstyle}
+\keys_define:nn {beautybook/mathstyle}
{
math-font.choice:,
math-font.value_required:n = true,
- math-font/plain.code:n={},
- math-font/stix.code:n={
- \RequirePackage{stix}
- },
+ math-font/plain.code:n={
+ \RequirePackage{amssymb,amsfonts,upgreek}
+ },
math-font/mtpro2.code:n = {
+ \RequirePackage{amssymb,amsfonts,upgreek}
+ \let\Bbbk\relex
\RequirePackage{mtpro2}
\RequirePackage{bm}
- \DeclareFontFamily{U}{nxlmi}{}
- \DeclareFontSubstitution{U}{nxlmi}{m}{it}
- \DeclareFontShape{U}{nxlmi}{m}{it}{
- <-6.3> nxlmi05
- <6.3-8.6> nxlmi07
- <8.6-> nxlmi0
- }{}
-
- \DeclareFontShape{U}{nxlmi}{b}{it}{
- <-6.3> nxlbmi05
- <6.3-8.6> nxlbmi07
- <8.6-> nxlbmi0
- }{}
- \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}}
},
%cover-choose .initial:n = plain , % 设置 en 为初始值
}
\cs_new_protected:Npn \mathstyle
{
- \tex_afterassignment:D \__Beautybook_set_mathstyle:
- \l__Beautybook_tmpa_toks
+ \tex_afterassignment:D \__beautybook_set_mathstyle:
+ \l__beautybook_tmpa_toks
}
-\cs_new:Npn \__Beautybook_set_mathstyle:
- { \keys_set:nV { Beautybook / mathstyle } \l__Beautybook_tmpa_toks }
+\cs_new:Npn \__beautybook_set_mathstyle:
+ { \keys_set:nV { beautybook / mathstyle } \l__beautybook_tmpa_toks }
\ExplSyntaxOff
-\RequirePackage{stys/Beautybook-bottompage} %封底
-\RequirePackage{rotating}
-\tikzset{>=Stealth}
-\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
-% 浮动环境设置
-% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境,
-% 而这通常不是我们想要的, 我们将这个要求降低到 5%.
-\renewcommand*{\textfraction}{0.05}
-% 有时如果多个浮动环境连续放在一起,
-% 会将它们分在几个不同页,即使它们可在同一页放
-% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮
-% 动环境的最大比例.
-\renewcommand*{\topfraction}{0.9}
-\renewcommand*{\bottomfraction}{0.8}
-% 有时\LaTeX{}会把一个浮动环境单独放在一页,
-% 我们要求这个环境至少要占据 85% 才能单独放在一页.
-% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|.
-\renewcommand*{\floatpagefraction}{0.85}
+\RequirePackage{stys/beautybook-bottompage} %封底
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 宏包导入 */
+% /* -------------------------------------------------------------------------- */
+\RequirePackage{cncolours,ninecolors}
+\RequirePackage{appendix} % 附录
+\RequirePackage{etoolbox} % 判断函数
+\RequirePackage{imakeidx}
+\RequirePackage{varwidth}
+\RequirePackage{caption}\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
+\RequirePackage{indentfirst}
+\RequirePackage{amsmath,amsthm,mathrsfs,extarrows,bropd}
+\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
+\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
+\RequirePackage{tabularray}
+\RequirePackage{enumitem}\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
+\RequirePackage[normalem]{ulem} % 用于参考文献
% 关于图片 graphicx
+\RequirePackage{graphicx}
% 如果图片没有指定后缀, 依次按下列顺序搜索
\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
% 设置图表搜索路径, 可以给图表文件夹取如下名字
\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}}
-% \RequirePackage[physics]{stys/physicx}
-% \RequirePackage{stys/Symbols}
-\RequirePackage{extarrows}
-\usetikzlibrary{tikzmark}
-% \arrowname{super-script}
-% \arrowname[sub-script]{super-script}
-\RequirePackage{appendix} % 附录
-% \RequirePackage{stys/symbols}
-%
-\RequirePackage{amssymb,amsfonts,upgreek}
-\RequirePackage{makeidx}
-\RequirePackage{etoolbox} % 判断函数
-\RequirePackage{paracol}
-\RequirePackage{tikz-cd}
-\RequirePackage{imakeidx}
-\RequirePackage{anyfontsize}
-\RequirePackage{calc}
-\RequirePackage{xkeyval,ifthen}
-\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes}
-\RequirePackage{varwidth}
-\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色
-anchorcolor = purple, %%修改此处为你想要的颜色
-urlcolor = purple, %%修改此处为你想要的颜色
-citecolor = purple, %%修改此处为你想要的颜色
-]{hyperref}
-\setcounter{tocdepth}{3}
-\setcounter{secnumdepth}{3}%增加编号深度
-\RequirePackage{dashrule}
-\newlength\outermarginwidth
-\setlength\outermarginwidth{1.5cm}
-\newlength\covershift
-\setlength\covershift{5cm}
-\RequirePackage{caption}
-% 图注与表注格式
-\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
+
+\RequirePackage{anyfontsize} % 消除字体大小警告
+\RequirePackage[colorlinks,linkcolor = purple,anchorcolor = purple,urlcolor = purple,citecolor= purple]{hyperref}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 设置pgflayers */
+% /* -------------------------------------------------------------------------- */
+\pgfdeclarelayer{background} %背景%底层
+\pgfdeclarelayer{foreground} %上层
+\pgfdeclarelayer{top} %顶部
+\pgfdeclarelayer{bottom} %底部
+\pgfsetlayers{bottom,background,main,foreground,top}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 设置封面元素 */
+% /* -------------------------------------------------------------------------- */
\makeatletter
-%%----------------------------------封面信息定义--------------------------------------------------------%%
+
\newcommand\bookseries[1]{\def\@bookseries{#1}}
\newcommand\subtitle[1]{\def\@subtitle{#1}}
\newcommand\edition[1]{\def\@edition{#1}}
@@ -145,52 +163,34 @@ citecolor = purple, %%修改此处为你想要的颜色
\newcommand\pressname[1]{\def\@pressname{#1}}
\newcommand\coverimage[1]{\def\@coverimage{#1}}
\newcommand\chapimage[1]{\def\@chapimage{#1}}
-%%----------------------------------封面信息定义--------------------------------------------------------%%
+
\makeatother
-\RequirePackage{indentfirst}
-\RequirePackage{amsmath}
-\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 模板用到的距离标尺 */
+% /* -------------------------------------------------------------------------- */
+\newlength\outermarginwidth % 页边栏宽度
+\setlength\outermarginwidth{1.5cm}
+
+\newlength\covershift % 自定义的距离标尺
+\setlength\covershift{5cm}
+% /* -------------------------------------------------------------------------- */
+\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
+
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 目录样式设置 */
+% /* -------------------------------------------------------------------------- */
\RequirePackage{xpatch}%修正章节编号
\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类
-\RequirePackage{fontawesome5}
-\RequirePackage{mathrsfs}
-\RequirePackage[most]{tcolorbox}
-\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library
-\RequirePackage{tabularx}
-\RequirePackage{lastpage}
-%\RequirePackage{twemojis}
-\RequirePackage{ninecolors}
-\RequirePackage{colortbl} %彩色表格
-\RequirePackage{tabularray}
-\UseTblrLibrary{amsmath}
-% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其
-% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。
-% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部
-% 参数。
-\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中
-\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头
-\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架
-\RequirePackage{pgfornament}
-\RequirePackage{zhnumber}
-\RequirePackage{dashrule}
-\RequirePackage{adjustbox}
-\RequirePackage{enumitem}
-\RequirePackage{multicol}
-\RequirePackage{amsthm}
-\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
-\RequirePackage{bclogo}
-\RequirePackage[normalem]{ulem}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-\RequirePackage{graphicx}%修正minipage顶部对齐问题
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
\RequirePackage[explicit]{titlesec}
\RequirePackage{titletoc}
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{breakable, skins,theorems}
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{3}%增加编号深度
\newcommand\boxednum[1]
{
@@ -242,98 +242,52 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
{\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}}
{\hspace*{-3.3em}}
{\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
+% /* -------------------------------------------------------------------------- */
-% tcolorbox中插入图片或者tikz绘图方法
-\newcommand\Figure[4]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this
-%(caption) particular \caption on input line XX.警告信息
- \includegraphics[#1]{#2}
- \captionof{figure}{#3}\label{#4}
- \end{center}
-}%用法 : 用于tcolorbox中插入图片
-\newcommand\Tikz[3]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息
- #3 %最后一个参数为Tikz画图代码窗口
- \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签
- \end{center}
-} %用法 : 用于tcolorbox中插入Tikz绘图
-%特殊注释矩阵
-\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2}
-
-\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2}
-
-\newcommand\coolleftbrace[2]{%
- #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.}
-
-\newcommand\coolrightbrace[2]{%
- \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2}
-\definecolor{lightergray}{gray}{0.99}
-
-\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
- circle (.5em) node {\makebox[1em][c]{\small #1}};}}
-\newcommand{\twicecircle}{\raisebox{.7ex}{
- \begin{tikzpicture}[remember picture,overlay]
- \draw[line width=0.6pt,black!60] (0,0) circle (3pt);
- \fill[black] (0,0) circle (1.6pt) ;
- \end{tikzpicture}}
-}
-\newcommand{\exercise}[2][\bcicosaedre]{\bigskip
-\begin{tikzpicture}[remember picture,overlay]
-\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center,
- inner sep=1.5mm,
- anchor=west,] {$#1$ ~ #2} (\linewidth,0);
-\end{tikzpicture}\bigskip\smallskip
-}
-\RequirePackage{extarrows}
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\F}{\mathcal{F}}
-\newcommand{\lan}[1]{\langle #1 \rangle}
-\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号
-\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号
-% \everymath{\displaystyle}
-
-%% -------- 章节样式
+
+% /* -------------------------------------------------------------------------- */
+% /* 章节样式 */
+% /* -------------------------------------------------------------------------- */
+
+% /* ---------------------------- titleimage自动导入程序 ---------------------------- */
\makeatletter
-% titleimage
+
\ExplSyntaxOn
-\seq_new:N \g__Beautybook_chapter_oimage_seq % odd
-\seq_new:N \g__Beautybook_chapter_eimage_seq % even
-\seq_new:N \g__Beautybook_part_oimage_seq % odd
-\seq_new:N \g__Beautybook_part_eimage_seq % even
+\seq_new:N \g__beautybook_chapter_oimage_seq % odd
+\seq_new:N \g__beautybook_chapter_eimage_seq % even
+\seq_new:N \g__beautybook_part_oimage_seq % odd
+\seq_new:N \g__beautybook_part_eimage_seq % even
%
-\keys_define:nn { Beautybook/titleimage }
+\keys_define:nn { beautybook/titleimage }
{
chapteroddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_oimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_chapter_oimage_seq {#1} ,
chapterevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_eimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_chapter_eimage_seq {#1} ,
partoddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_oimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_part_oimage_seq {#1} ,
partevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_eimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_part_eimage_seq {#1} ,
}
-\cs_new:Npn \__Beautybook_title_image:Nn #1#2 % image seq, number
+\cs_new:Npn \__beautybook_title_image:Nn #1#2 % image seq, number
{ \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号
-\cs_new:Npn \Beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
+\cs_new:Npn \beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
{
\int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_oimage_seq { \value{chapter} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_eimage_seq { \value{chapter} } }
+ { \__beautybook_title_image:Nn \g__beautybook_chapter_oimage_seq { \value{chapter} } }
+ { \__beautybook_title_image:Nn \g__beautybook_chapter_eimage_seq { \value{chapter} } }
}
-\cs_new:Npn \Beautybook@partimagename
+\cs_new:Npn \beautybook@partimagename
{
\int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_oimage_seq { \value{part} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_eimage_seq { \value{part} } }
+ { \__beautybook_title_image:Nn \g__beautybook_part_oimage_seq { \value{part} } }
+ { \__beautybook_title_image:Nn \g__beautybook_part_eimage_seq { \value{part} } }
}
\cs_new_protected:Npn \titleimage #1
- { \keys_set:nn { Beautybook/titleimage } {#1} }
+ { \keys_set:nn { beautybook/titleimage } {#1} }
\ExplSyntaxOff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% /* -------------------------------- Chatper样式 ------------------------------- */
\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{
\makebox[0pt][l]{\def\rad{7pt}%
\begin{tikzpicture}[remember picture, overlay]%
@@ -398,14 +352,14 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
\end{pgfonlayer}
\ifodd\value{page}
\begin{pgfonlayer}{top}
- \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
+ \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=25pt #1\end{varwidth}};
\end{pgfonlayer}
\begin{pgfonlayer}{bottom}
\node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
\end{pgfonlayer}
\else
\begin{pgfonlayer}{top}
- \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
+ \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=25pt #1\end{varwidth}};
\end{pgfonlayer}
\begin{pgfonlayer}{background}
\node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
@@ -417,8 +371,20 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
\end{tikzpicture}}
}
\titlespacing{\chapter}{0pt}{0pt}{70pt}
+
+
+% /* --------------------------------- Part定制 --------------------------------- */
\makeatother
-% -------- Part定制
+
+%%定义标题文字长度%%
+\newlength{\partstarlen}
+%%设置临界长度%%
+\newlength{\criticstarlen}
+\setlength{\criticstarlen}{\textwidth}
+% 定义垂直方向的渐变
+\tikzfading[name=fade bottom to top,
+ bottom color=transparent!0, % 底部完全透明
+ top color=transparent!100] % 顶部不透明
\tikzfading[name=middle, top color=transparent!90, bottom
color=transparent!90, middle color=transparent!20]
\makeatletter
@@ -428,7 +394,8 @@ color=transparent!90, middle color=transparent!20]
{\normalfont\huge\filcenter}
{}
{20pt}
-{\begin{tikzpicture}[remember picture,overlay]
+{\settowidth{\partstarlen}{\sc\huge #1} % 计算\partabstract的长度并写入到\partstarlen中
+ \begin{tikzpicture}[remember picture,overlay]
\def\barwidth{2cm}
\fill[outermarginbgcolor,opacity=0.6]
(current page.north west) rectangle (current page.south east);
@@ -448,8 +415,10 @@ color=transparent!90, middle color=transparent!20]
\fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
\node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
\begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line --------------------%%
+ \fill[outermarginbgcolor!70]
+ (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line -------------------%%
\fill[outermarginbgcolor]
(0,-.25cm) rectangle ++(\paperwidth,-.5cm);
\fill[outermarginfgcolor]
@@ -461,10 +430,19 @@ color=transparent!90, middle color=transparent!20]
\end{tikzpicture}
};
\node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below,left,font=\sc\huge,shift={(.146\linewidth,-1.5*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
+ \node[below left,font=\sc\huge,shift={(.146\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称
\begin{pgfonlayer}{background}
\node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
+ % % 应用渐变效果
+\fill[path fading=fade bottom to top, fill=nuanbai] (current page.north west) rectangle ([xshift=-\outermarginwidth]current page.south east);
\end{pgfonlayer}
+%判断标题文字长度与临界长度的关系
+\ifdim\partstarlen<\criticstarlen
+%如果标题长度小于临界长度则使用(hbar)定位
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\else
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\fi
\else
\fill [outermarginfgcolor!20]%
(current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
@@ -481,8 +459,10 @@ color=transparent!90, middle color=transparent!20]
\fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
\node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
\begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line --------------------%%
+ \fill[outermarginbgcolor!70]
+ (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line -------------------%%
\fill[outermarginbgcolor]
(0,-.25cm) rectangle ++(\paperwidth,-.5cm);
\fill[outermarginfgcolor]
@@ -494,19 +474,27 @@ color=transparent!90, middle color=transparent!20]
\end{tikzpicture}
};
\node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below right,font=\sc\huge,shift={(-.125\linewidth,-1.2*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
+ \node[below right,font=\sc\huge,shift={(-.125\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称
\begin{pgfonlayer}{background}
\node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
+ % % 应用渐变效果
+ \fill[path fading=fade bottom to top, fill=nuanbai] (current page.north east) rectangle ([xshift=\outermarginwidth]current page.south west);
\end{pgfonlayer}
+%判断标题文字长度与临界长度的关系
+\ifdim\partstarlen<\criticstarlen
+%如果标题长度小于临界长度则使用(hbar)定位
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\else
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\fi
\fi
- \node[below,,font=\itshape\fontsize{13}{13}\selectfont,shift={(0\linewidth,-1.65*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.85\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
\end{tikzpicture}}
\makeatother
\assignpagestyle{\part}{empty}
\assignpagestyle{\chapter}{empty}
-%% -- Section
+% /* -------------------------------- Section样式 ------------------------------- */
\titleformat{\section}
{}
{}
@@ -535,8 +523,65 @@ color=transparent!90, middle color=transparent!20]
\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
+
+% /* ------------------------------ Subsection样式 ------------------------------ */
+\usepackage{pifont}
+\newcommand{\subsectionnumstyle}[2]{
+\makebox[0pt][l]{\def\rad{5pt}%
+\def\inrad{3pt}
+ \begin{tikzpicture}[remember picture]
+ \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=0.5mm,shadow yshift=-0.5mm}]node[append after command={
+ % 主体
+ ([shift={(\rad,\rad)}]sec.north west) arc[start angle=90, end angle=180, radius=\rad] {[rounded corners=\inrad]--(sec.south west)}--([yshift=-3mm]$(sec.south west)!0.5!(sec.south east)$) {[rounded corners=\inrad]--(sec.south east)} -- (sec.north east) arc[start angle=180, end angle=90, radius=\rad]--cycle
+ },
+ text=white,font=\sffamily\large\bfseries,align=center,inner ysep=1.5mm,inner xsep=1mm] (sec) at (0,0) {\thesubsection};
+ % 阴影
+ \begin{pgfonlayer}{bottom}
+ \fill[#2!30!black!70,opacity=0.8] ([xshift=\rad,yshift=\rad]sec.north east) to[out=0,in=-81,looseness=1.5] ([xshift=1.8*\rad]sec.north east)--(sec.north east) |-cycle;
+ \end{pgfonlayer}
+ \node[text=black,font=\large,below right] (sectitle) at ([shift={(2mm,6.5mm)}]sec.south east) {\begin{varwidth}{.9\linewidth}\setlength\baselineskip{18pt}#1\end{varwidth}};
+ \begin{pgfonlayer}{bottom}
+ \draw[gray,dashed,opacity=0.5] ([xshift=0]sec.north west) --([xshift=4*\rad]sec.north east);
+ \end{pgfonlayer}
+ \end{tikzpicture}}
+}
+
+\newcommand{\subsectionnonumstyle}[2]{
+\makebox[0pt][l]{\def\rad{5pt}%
+\def\inrad{3pt}
+ \begin{tikzpicture}[remember picture]
+ \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=0.5mm,shadow yshift=-0.5mm}]node[append after command={
+ % 主体
+ ([shift={(\rad,\rad)}]sec.north west) arc[start angle=90, end angle=180, radius=\rad] {[rounded corners=\inrad]--(sec.south west)}--([yshift=-3mm]$(sec.south west)!0.5!(sec.south east)$) {[rounded corners=\inrad]--(sec.south east)} -- (sec.north east) arc[start angle=180, end angle=90, radius=\rad] --cycle
+ },
+ text=white,font=\sffamily\large\bfseries,align=center,inner ysep=0.5mm,inner xsep=1.5mm] (sec) at (0,0) {\Huge\ding{99}};
+ % 阴影
+ \begin{pgfonlayer}{bottom}
+ \fill[#2!30!black!70,opacity=0.8] ([xshift=\rad,yshift=\rad]sec.north east) to[out=0,in=-81,looseness=1.5] ([xshift=1.8*\rad]sec.north east)--(sec.north east) |-cycle;
+ \end{pgfonlayer}
+ \node[text=black,font=\large,below right] (sectitle) at ([shift={(2mm,6.5mm)}]sec.south east) {\begin{varwidth}{.9\linewidth}\setlength\baselineskip{18pt}#1\end{varwidth}};
+ \begin{pgfonlayer}{bottom}
+ \draw[gray,dashed,opacity=0.5] (sec.north west) --([xshift=4*\rad]sec.north east);
+ \end{pgfonlayer}
+ \end{tikzpicture}}
+}
+
+\titleformat{\subsection}
+{}
+{}
+{-.5em} %左右移动\thesection标签位置
+{\subsectionnumstyle{#1}{outermarginfgcolor}}
+
+\titleformat{name=\subsection,numberless}{}{}{-.5em}{\subsectionnonumstyle{#1}{outermarginfgcolor}}
+
+% \titlespacing*{\subsection}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
+
+
+
%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% SIDE-BAR
+% /* -------------------------------------------------------------------------- */
+% /* SIDE-BAR配置 */
+% /* -------------------------------------------------------------------------- */
\newlength\chapternumbersize
\setlength\chapternumbersize{36pt}
\setlength{\headheight}{40pt} % 页眉高度
@@ -574,7 +619,7 @@ color=transparent!90, middle color=transparent!20]
\newcommand*\outermarginchapternumberbox{%
\if@mainmatter
\tikzoverlay{
- \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
+ \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
(\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm);
\node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};%
}
@@ -627,12 +672,24 @@ color=transparent!90, middle color=transparent!20]
contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条
]{scth.outermargin.bg.even}%
%%=============% 页边条颜色 %=======================%%
+% /* -------------------------------------------------------------------------- */
+% /* 透明度渐变填充设定 */
+% /* -------------------------------------------------------------------------- */
\tikzfading[name=fade south,
top color =transparent!0,
bottom color=transparent!80]
\tikzfading[name=fade north,
top color =transparent!100,
bottom color=transparent!0]
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!0]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!0]
+% /* -------------------------------------------------------------------------- */
+% /* 透明度渐变填充设定 */
+% /* -------------------------------------------------------------------------- */
%偶数页边纹理效果设置
\newcommand{\evensidbardeepcolor}{%
\tikzoverlay{
@@ -723,7 +780,12 @@ color=transparent!90, middle color=transparent!20]
%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子
+% /* -------------------------------------------------------------------------- */
+% /* 中国风盒子 */
+% /* -------------------------------------------------------------------------- */
+
+%% Begin The Most Beautiful Box (STYLE : ys style)
+
\makeatletter
\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色
\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色
@@ -993,15 +1055,19 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\makeatother
\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm,
ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape}
-%% End The Most Beautiful Box
+% /* -------------------------------------------------------------------------- */
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 定理环境设置 */
+% /* -------------------------------------------------------------------------- */
\makeatletter
+% /* ---------------------------------- 第一种定理 --------------------------------- */
\definecolor{CyaN}{HTML}{dbe1e5}
\colorlet{OrangE}{yellow!20!orange}
\colorlet{BluE}{cyan!70!blue}
\colorlet{ReD}{red!20!orange}
\colorlet{GreeN}{yellow!40!green}
-
-% 第一种定理
\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable,
enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt,
top=2pt, bottom=2pt, left=2.5mm, frame hidden}}
@@ -1015,9 +1081,9 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\NewDocumentCommand{\@my@renewtheorem}{ m m o +m }
{\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}%
\tcbset{my@#1@thmstyle/.style={#4}}}
-%
+
% ---------------------------------------------------------------------------------- %
-% 第二种定理
+% /* ---------------------------------- 第二种定理 --------------------------------- */
\tcbset{my@basic@tcbthm/.style={detach title,}}
\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR}
\newcommand{\@my@newtcbtheorem@nn}[2]{%
@@ -1048,10 +1114,7 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\cs_new_protected:Npn \mynewtcbtheorem
{ \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn }
\ExplSyntaxOff
-\makeatother
-% 第二种定理
-\makeatletter
%% Overlay Settings
\newcommand{\my@theorem@overlay@unbroken}[2]{
%%============== First ==============%%
@@ -1147,19 +1210,6 @@ anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshif
\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof}
\renewenvironment{proof}{\begin{Proof} }{\end{Proof}}
\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution}
+% /* -------------------------------------------------------------------------- */
-%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%%
-% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令
-
-% \c@foo,储存计数器的值,初始值为 0
-% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo}
-% \p@foo,储存计数器被引用时的前缀,初始定义为空
-% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空
-%% 关于计数器的自动归零
-% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar
-% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent
-% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节
-% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」
-% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果
-% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的
-% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-birkar.sty b/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-birkar.sty
deleted file mode 100644
index 8a2c51aa082..00000000000
--- a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-birkar.sty
+++ /dev/null
@@ -1,125 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-birkar}[2022/05/21,v1.0]
-\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
-\usepackage{etoolbox} %提供自定义封面选项接口
-\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
-\usepackage{tikz}
-\usetikzlibrary{intersections, positioning, fit, backgrounds, shapes, fadings,
-decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} % %Tikz指令库
-\usepackage{graphicx} %插图
-\usetikzlibrary{calc,fadings,patterns}
-\usepackage{adjustbox} %修正minipage顶部对齐问题
-
-% Define the layers to be used in document.
-% *****************************************************
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\definecolor{RED}{RGB}{220, 41, 26}
-\definecolor{arc color}{HTML}{546E7A}
-
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!0]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
- top color =transparent!100,
- bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \begin{pgfonlayer}{bottom}
- \fill[coverfgcolor]
- (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \fill[RED]
- ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
- \fill[coverfgcolor!80,opacity=0.5]
- ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
- \fill[coverfgcolor!80,opacity=0.5]
- ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
- \fill[coverfgcolor!80]
- (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
- \begin{scope}[opacity=0.8]
- \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north);
- \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA);
- \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA);
- \draw[name path=triangle,very thick,coverfgcolor!70!white]
- (triangleA)--(triangleB)--(triangleC)--cycle;
- \draw[name path=circle,very thick,coverfgcolor!70!white]
- ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm);
- %标注每个交点坐标
- \fill [name intersections={of=triangle and circle, name=i, total=\t}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
- \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
- \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
- \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
- \fill[name intersections={of=l and circle,name=j,total=\l}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
-
- \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
- \end{scope}
- \end{pgfonlayer}
- \begin{pgfonlayer}{foreground}
- \fill[coverbar,opacity=.5]
- ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
- \end{pgfonlayer}
- \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
- ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
- \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
- \parbox{.8\paperwidth}{
- \filright
- \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north)
- {\parbox{.8\paperwidth}{%
- \raggedright%
- {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sffamily\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
- }};% 封面标题与副标题
- \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}
-}
-\makeatother
-
-\endinput
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-cn.sty b/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-cn.sty
deleted file mode 100644
index b151d4e5fc2..00000000000
--- a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-cn.sty
+++ /dev/null
@@ -1,103 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-cn}[2023/05/10,v1.0]
-\usetikzlibrary{calc,fadings,patterns}
-\usepackage{adjustbox} %修正minipage顶部对齐问题
-%%%%===============================================================%%%%%
-% \definecolor{coverbgcolor}{HTML}{9CCCDA}
-% \definecolor{coverfgcolor}{HTML}{508E99}
-% \definecolor{coverbar}{HTML}{305756}
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!50]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
-top color =transparent!100,
-bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \fill[coverfgcolor!75]
- (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \fill[coverfgcolor!50]
- ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
- \fill[coverfgcolor]
- ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
- \fill[coverbar]
- ([yshift=.44\covershift]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
- \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
- \parbox{3\covershift}{
- \raggedleft
- \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
- {\parbox{.8\paperwidth}{%
- \filright%
- \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1.6ex]
- \begin{tikzpicture}
- \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
- \end{tikzpicture}\\[-.5ex]
- \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}
- }};% 封面英文书名与中文书名
- \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
- {%
- \adjustbox{valign=t}{
- \begin{minipage}{.25\textwidth}
- \begin{tikzpicture}
- \foreach \x/\r in {1.2/6,.8/4} {
- \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
- \fill[white] (0,0) circle [radius=2.5pt];
- \end{tikzpicture}
- \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
- \end{minipage}}
- \hfill
- \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
- \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
- \end{minipage}}
- };% 封面作者信息栏
- \fill [path picture={ \node at (path picture bounding box.center)
- {\includegraphics[height=1.1\linewidth]{\@coverimage}};}]
- ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
- \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
- ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \fill [coverfgcolor!80,path fading=fade right]%
- ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \fill [coverfgcolor!80,path fading=fade left]%
- ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-2cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}}
-\makeatother
-\endinput
-% %%%%===============================================================%%%%%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-en.sty b/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-en.sty
deleted file mode 100644
index 2279661d945..00000000000
--- a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-en.sty
+++ /dev/null
@@ -1,87 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-en}[2022/05/21,v1.0]
-\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
-\usepackage{etoolbox} %提供自定义封面选项接口
-\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
-\usepackage{tikz}
-\usepackage{graphicx} %插图
-\usetikzlibrary{calc,fadings,patterns}
-\usepackage{adjustbox} %修正minipage顶部对齐问题
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!50]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
- top color =transparent!100,
- bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \fill[coverfgcolor]
- (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
- \coordinate (end) at (current page.north west);
- \foreach \i in {0,0.01,...,1}
- {
- \coordinate (point) at ($(start)!\i!(end)$);
- \draw[coverfgcolor!50]
- ($(point)+(310*\i:6)$)--
- ($(point)+(310*\i+120:6)$)--
- ($(point)+(310*\i+240:6)$)--
- ($(point)+(310*\i:6)$);
- }
- \coordinate (start) at (current page.south west);
- \coordinate (end) at (current page.east);
- \foreach \i in {0,0.02,...,1}
- {
- \coordinate (point) at ($(start)!\i!(end)$);
- \draw[coverfgcolor!50]
- ($(point)+(310*\i:10)$)--
- ($(point)+(310*\i+120:10)$)--
- ($(point)+(310*\i+240:10)$)--
- ($(point)+(310*\i:10)$);
- }
- \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
- ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
- \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
- ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
- \fill[coverbar!90,opacity=0.8]
- ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
- \foreach \lx/\rx/\ry/\bc/\tc in {
- 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
- }{
- \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
- ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
- }
- \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
- \parbox{.8\paperwidth}{
- \filright
- \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north)
- {\parbox{.8\paperwidth}{%
- \raggedright%
- {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sffamily\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
- }};% 封面标题与副标题
- \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}
-}
-\makeatother
-%%%%===============================================================%%%%%
-%%------------------------------------------------------封面设计--------------------------------------------------------%%
-\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-enfig.sty b/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-enfig.sty
deleted file mode 100644
index 005518a6d96..00000000000
--- a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-cover-enfig.sty
+++ /dev/null
@@ -1,55 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-enfig}[2023/02/03,v1.0]
-\definecolor{coverbgcolor}{HTML}{004183}
-\definecolor{coverfgcolor}{HTML}{826e68}
-\definecolor{coverbar}{HTML}{7c9092}
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!0]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
- top color =transparent!100,
- bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \begin{pgfonlayer}{bottom}
- \node[opacity=0.8,inner sep=0pt] at (current
- page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
- \end{pgfonlayer}
- \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
- ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
- \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
- ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
- \fill[coverbar,opacity=0.8]
- ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
- \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
- \parbox{.8\paperwidth}{
- \filright
- \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.55\paperheight]current page.north)
- {\parbox{.8\paperwidth}{%
- \raggedright%
- {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sc\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
- }};% 封面标题与副标题
- \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}
-}
-\makeatother
-\endinput
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-bottompage.sty b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-bottompage.sty
index 892cf4fbac0..814b929bb68 100644
--- a/Master/texmf-dist/tex/latex/beautybook/stys/Beautybook-bottompage.sty
+++ b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-bottompage.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-bottompage}[2023/01/18,v2.0]
+\ProvidesPackage{stys/beautybook-bottompage}[2024/07/01,v2.0]
\usepackage[ISBN=978-80-85955-35-4,SC0]{ean13isbn}
\makeatletter
%%----------------------------------封面信息定义--------------------------------------------------------%%
@@ -45,9 +45,9 @@
\raggedright
\sc\fontsize{20}{23}\selectfont\@bookseries}
}; %系列丛书名称
- \node[right,text=white,font=\rmfamily\Large,] at
- ([shift={(-.5cm,1.5cm)}]current page.south west) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(5.6cm,2cm)}]current page.south west) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\ifdefvoid{\@ISBNcode}{}{
\node[scale=1.5] (isbn) at ([shift={(-1.85\outermarginwidth,.5\covershift)}]current page.south east) {\@ISBNcode};%
\begin{pgfonlayer}{bottom}
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-birkar.sty b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-birkar.sty
new file mode 100644
index 00000000000..6668db854b5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-birkar.sty
@@ -0,0 +1,190 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-birkar}[2024/07/01,v2.0]
+\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
+\usepackage{etoolbox} %提供自定义封面选项接口
+\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
+\usepackage{tikz}
+\usetikzlibrary{intersections, positioning, fit, backgrounds, shapes, fadings,
+decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} % %Tikz指令库
+\usepackage{graphicx} %插图
+\usetikzlibrary{calc,fadings,patterns}
+\usepackage{adjustbox} %修正minipage顶部对齐问题
+
+% Define the layers to be used in document.
+% *****************************************************
+\pgfdeclarelayer{background} %背景%底层
+\pgfdeclarelayer{foreground} %上层
+\pgfdeclarelayer{top} %顶部
+\pgfdeclarelayer{bottom} %底部
+\pgfsetlayers{bottom,background,main,foreground,top}
+\definecolor{RED}{RGB}{220, 41, 26}
+\definecolor{arc color}{HTML}{546E7A}
+
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!0]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100,
+ bottom color=transparent!50]
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[RED]
+ ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
+ \fill[coverfgcolor!80]
+ (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
+ \begin{scope}[opacity=0.8]
+ \coordinate (triangleA) at ([shift={(1cm,-1.5cm)}]current page.north);
+ \coordinate (triangleB) at ([shift={(-.75\linewidth,-.44\paperheight)}]triangleA);
+ \coordinate (triangleC) at ([shift={(.5\linewidth,-.44\paperheight)}]triangleA);
+ \draw[name path=triangle,very thick,coverfgcolor!70!white]
+ (triangleA)--(triangleB)--(triangleC)--cycle;
+ \draw[name path=circle,very thick,coverfgcolor!70!white]
+ ([shift={(-1.65cm,-7.8cm)}]triangleA) coordinate (O) circle(6cm);
+ %标注每个交点坐标
+ \fill [name intersections={of=triangle and circle, name=i, total=\t}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
+ \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
+ \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
+ \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
+ \fill[name intersections={of=l and circle,name=j,total=\l}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
+
+ \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
+ \end{scope}
+ \end{pgfonlayer}
+ \begin{pgfonlayer}{foreground}
+ \fill[coverbar,opacity=.5]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \end{pgfonlayer}
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east)
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+\end{tikzpicture}%
+}
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[RED]
+ ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
+ \fill[coverfgcolor!80]
+ (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
+ \begin{scope}[opacity=0.8]
+ \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north);
+ \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA);
+ \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA);
+ \draw[name path=triangle,very thick,coverfgcolor!70!white]
+ (triangleA)--(triangleB)--(triangleC)--cycle;
+ \draw[name path=circle,very thick,coverfgcolor!70!white]
+ ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm);
+ %标注每个交点坐标
+ \fill [name intersections={of=triangle and circle, name=i, total=\t}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
+ \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
+ \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
+ \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
+ \fill[name intersections={of=l and circle,name=j,total=\l}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
+
+ \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
+ \end{scope}
+ \end{pgfonlayer}
+ \begin{pgfonlayer}{foreground}
+ \fill[coverbar,opacity=.5]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \end{pgfonlayer}
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east)
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+\end{tikzpicture}%
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+
+\endinput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-cn.sty b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-cn.sty
new file mode 100644
index 00000000000..399246d97ad
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-cn.sty
@@ -0,0 +1,162 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-cn}[2024/07/01,v2.0]
+\usetikzlibrary{calc,fadings,patterns}
+\usepackage{adjustbox} %修正minipage顶部对齐问题
+%%%%===============================================================%%%%%
+% \definecolor{coverbgcolor}{HTML}{9CCCDA}
+% \definecolor{coverfgcolor}{HTML}{508E99}
+% \definecolor{coverbar}{HTML}{305756}
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!50]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100,
+ bottom color=transparent!50]
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor!75]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[coverfgcolor!50]
+ ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
+ \fill[coverfgcolor]
+ ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
+ \fill[coverbar]
+ ([yshift=.44\covershift+0.05cm]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
+ \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
+ \parbox{3\covershift}{
+ \raggedleft
+ \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \filright%
+ \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1ex]
+ \begin{tikzpicture}
+ \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
+ \end{tikzpicture}\\[0ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}
+ }};% 封面英文书名与中文书名
+ \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
+ {%
+ \adjustbox{valign=t}{
+ \begin{minipage}{.25\textwidth}
+ \begin{tikzpicture}
+ \foreach \x/\r in {1.2/6,.8/4} {
+ \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
+ \fill[white] (0,0) circle [radius=2.5pt];
+ \end{tikzpicture}
+ \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
+ \end{minipage}}
+ \hfill
+ \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
+ \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
+ \end{minipage}}
+ };% 封面作者信息栏
+ \fill [path picture={ \node at (path picture bounding box.center)
+ {\includegraphics[height=1.1\linewidth,keepaspectratio]{\@coverimage}};}]
+ ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
+ \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
+ ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade right]%
+ ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade left]%
+ ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ }
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor!75]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[coverfgcolor!50]
+ ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.2\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
+ \fill[coverfgcolor]
+ ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
+ \fill[coverbar]
+ ([yshift=.44\covershift-0.1cm]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
+ \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
+ \parbox{3\covershift}{
+ \raggedleft
+ \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \filright%
+ \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1ex]
+ \begin{tikzpicture}
+ \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
+ \end{tikzpicture}\\[0ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}
+ }};% 封面英文书名与中文书名
+ \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
+ {%
+ \adjustbox{valign=t}{
+ \begin{minipage}{.25\textwidth}
+ \begin{tikzpicture}
+ \foreach \x/\r in {1.2/6,.8/4} {
+ \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
+ \fill[white] (0,0) circle [radius=2.5pt];
+ \end{tikzpicture}
+ \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
+ \end{minipage}}
+ \hfill
+ \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
+ \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
+ \end{minipage}}
+ };% 封面作者信息栏
+ \fill [path picture={ \node at (path picture bounding box.center)
+ {\includegraphics[height=1.1\linewidth,keepaspectratio]{\@coverimage}};}]
+ ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
+ \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
+ ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade right]%
+ ([xshift=\outermarginwidth+.5\linewidth+.2cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade left]%
+ ([xshift=\outermarginwidth+.5\linewidth+.2cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ }
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+\endinput
+% %%%%===============================================================%%%%%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-en.sty b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-en.sty
new file mode 100644
index 00000000000..76d358c6273
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-en.sty
@@ -0,0 +1,149 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-en}[2024/07/01,v2.0]
+\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
+\usepackage{etoolbox} %提供自定义封面选项接口
+\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
+\usepackage{tikz}
+\usepackage{graphicx} %插图
+\usetikzlibrary{calc,fadings,patterns}
+\usepackage{adjustbox} %修正minipage顶部对齐问题
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!50]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100, % 完全透明
+ bottom color=transparent!50] % 半透明
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
+ \coordinate (end) at (current page.north west);
+ \foreach \i in {0,0.01,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:6)$)--
+ ($(point)+(310*\i+120:6)$)--
+ ($(point)+(310*\i+240:6)$)--
+ ($(point)+(310*\i:6)$);
+ }
+ \coordinate (start) at (current page.south west);
+ \coordinate (end) at (current page.east);
+ \foreach \i in {0,0.02,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:10)$)--
+ ($(point)+(310*\i+120:10)$)--
+ ($(point)+(310*\i+240:10)$)--
+ ($(point)+(310*\i:10)$);
+ }
+ \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar!90,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \foreach \lx/\rx/\ry/\bc/\tc in {
+ 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
+ }{
+ \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
+ ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
+ }
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sffamily\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
+ \coordinate (end) at (current page.north west);
+ \foreach \i in {0,0.01,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:6)$)--
+ ($(point)+(310*\i+120:6)$)--
+ ($(point)+(310*\i+240:6)$)--
+ ($(point)+(310*\i:6)$);
+ }
+ \coordinate (start) at (current page.south west);
+ \coordinate (end) at (current page.east);
+ \foreach \i in {0,0.02,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:10)$)--
+ ($(point)+(310*\i+120:10)$)--
+ ($(point)+(310*\i+240:10)$)--
+ ($(point)+(310*\i:10)$);
+ }
+ \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar!90,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \foreach \lx/\rx/\ry/\bc/\tc in {
+ 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
+ }{
+ \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
+ ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
+ }
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sffamily\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+%%%%===============================================================%%%%%
+%%------------------------------------------------------封面设计--------------------------------------------------------%%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-enfig.sty b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-enfig.sty
new file mode 100644
index 00000000000..9c24de8b3eb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/beautybook/stys/beautybook-cover-enfig.sty
@@ -0,0 +1,88 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-enfig}[2024/07/01,v2.0]
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!0]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100,
+ bottom color=transparent!50]
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \node[opacity=0.8,inner sep=0pt] at (current
+ page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
+ \end{pgfonlayer}
+ \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \node[opacity=0.8,inner sep=0pt] at (current
+ page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
+ \end{pgfonlayer}
+ \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/UKenglish-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/UKenglish-publist.lbx
new file mode 100644
index 00000000000..320c493f40f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/UKenglish-publist.lbx
@@ -0,0 +1,37 @@
+% UKenglish-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{UKenglish-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist UK English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{british}
+\InheritBibliographyExtras{british}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/USenglish-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/USenglish-publist.lbx
new file mode 100644
index 00000000000..f20be86b76d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/USenglish-publist.lbx
@@ -0,0 +1,37 @@
+% USenglish-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{USenglish-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist US English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/american-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/american-publist.lbx
new file mode 100644
index 00000000000..ae889e02167
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/american-publist.lbx
@@ -0,0 +1,37 @@
+% american-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{american-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist US English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/australian-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/australian-publist.lbx
new file mode 100644
index 00000000000..ae6d96e9326
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/australian-publist.lbx
@@ -0,0 +1,37 @@
+% australian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{australian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist AU English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{british}
+\InheritBibliographyExtras{british}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/austrian-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/austrian-publist.lbx
new file mode 100644
index 00000000000..0ad5c4119e9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/austrian-publist.lbx
@@ -0,0 +1,55 @@
+% austrian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{austrian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Austrian localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{austrian}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {austrian},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/british-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/british-publist.lbx
new file mode 100644
index 00000000000..dbfe6131180
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/british-publist.lbx
@@ -0,0 +1,55 @@
+% british-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{british-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist UK English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{british}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {british},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/canadian-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/canadian-publist.lbx
new file mode 100644
index 00000000000..f92334b5bae
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/canadian-publist.lbx
@@ -0,0 +1,37 @@
+% canadian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{canadian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist CDN English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/english-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/english-publist.lbx
new file mode 100644
index 00000000000..a51deb5583c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/english-publist.lbx
@@ -0,0 +1,55 @@
+% english-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{english-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{english}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {english},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/french-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/french-publist.lbx
new file mode 100644
index 00000000000..e49a00b8c8f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/french-publist.lbx
@@ -0,0 +1,55 @@
+% french-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{french-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist French localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{french}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {french},
+ parttranslationof = {{traduction partielle de}{trad\adddotspace part\adddotspace de}},
+ with = {{avec}{avec}},
+ impactfactor = {{facteur d'impact}{FI}},
+ openaccess:true = {{libre acc\`es}{libre acc\`es}},
+ openaccess:gold = {{libre acc\`es (dorée)}{libre acc\`es (dorée)}},
+ openaccess:green = {{libre acc\`es (verte)}{libre acc\`es (verte)}},
+ peerreview:sb = {{\'{e}valuation par des pairs anonymis\'{e}s}{\'{e}val\adddotspace par des pairs anon\adddot}},
+ peerreview:db = {{\'{e}valuation par les pairs en double aveugle}{\'{e}val\adddotspace par les pairs en double aveugle}},
+ peerreview:op = {{\'{e}valuation par les pairs ouverte}{\'{e}val\adddotspace par les pairs ouverte}},
+ peerreview:co = {{\'{e}valuation par les pairs collaborative}{\'{e}val\adddotspace par les pairs collab\adddot}},
+ peerreview:cc = {{\'{e}valuation par les pairs en cascade}{\'{e}val\adddotspace par les pairs en cascade}},
+ peerreview:tp = {{\'{e}valuation par des pairs ext\'{e}rieurs}{\'{e}val\adddotspace par des pairs ext\adddot}},
+ peerreview:pp = {{\'{e}valuation par les pairs apr\`{e}s publication}{\'{e}val\adddotspace par les pairs apr\`{e}s pub\adddot}},
+ peerreview:no = {{pas d'\'{e}valuation par les pairs}{pas d'\'{e}val\adddotspace par les pairs}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/german-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/german-publist.lbx
new file mode 100644
index 00000000000..c7b4570f06b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/german-publist.lbx
@@ -0,0 +1,55 @@
+% german-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{german-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist German localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{german}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {german},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/naustrian-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/naustrian-publist.lbx
new file mode 100644
index 00000000000..85e0c9a92c7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/naustrian-publist.lbx
@@ -0,0 +1,37 @@
+% naustrian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{naustrian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Austrian localisation (JSP)]
+
+% Inherit austrian
+\InheritBibliographyStrings{austrian}
+\InheritBibliographyExtras{austrian}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/newzealand-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/newzealand-publist.lbx
new file mode 100644
index 00000000000..4f9d872e9d8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/newzealand-publist.lbx
@@ -0,0 +1,55 @@
+% newzealand-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{newzealand-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist NZ English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{newzealand}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {newzealand},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/ngerman-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/ngerman-publist.lbx
new file mode 100644
index 00000000000..54f65ef3838
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/ngerman-publist.lbx
@@ -0,0 +1,37 @@
+% ngerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{ngerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist German localisation (JSP)]
+
+% Inherit german
+\InheritBibliographyStrings{german}
+\InheritBibliographyExtras{german}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/nswissgerman-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/nswissgerman-publist.lbx
new file mode 100644
index 00000000000..be8a9d148ad
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/nswissgerman-publist.lbx
@@ -0,0 +1,37 @@
+% nswissgerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{nswissgerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Swiss German localisation (JSP)]
+
+% Inherit swissgerman
+\InheritBibliographyStrings{swissgerman}
+\InheritBibliographyExtras{swissgerman}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/lbx/swissgerman-publist.lbx b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/swissgerman-publist.lbx
new file mode 100644
index 00000000000..5d4be275abd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/lbx/swissgerman-publist.lbx
@@ -0,0 +1,55 @@
+% swissgerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{swissgerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Swiss German localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{swissgerman}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {swissgerman},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}}
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
index c7d385b452d..371a06232b1 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.9}
-\def\bpl@rdate{2025/05/09}
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -552,16 +552,31 @@
{}{\PackageWarning{biblatex-publist}{Patching refsection failed!}}
}{}
-\newcommand*\GetSectionCount[1][\empty]{%
- \edef\bpl@secno{#1}%
- \ifx\bpl@secno\empty%
- \csnumdef{bpltmprefsection}{\c@refsection}%
- \csuse{bpl@secitems:\bpltmprefsection}%
- \else%
- \csuse{bpl@secitems:#1}%
- \fi%
+% Section count. We use l3 here to split the argument and do calculations
+\ExplSyntaxOn
+
+\int_new:N \l_bpl_sec_cnt_int
+
+\NewDocumentCommand \GetSectionCount { >{\SplitList{,}} o }
+{
+ \IfNoValueTF{#1}{%
+ \csnumdef{bpltmprefsection}{\c@refsection}
+ \ifcsdef{bpl@secitems:\bpltmprefsection}{\csuse{bpl@secitems:\bpltmprefsection}}{}%
+ }{
+ \int_zero:N \l_bpl_sec_cnt_int
+ \ProcessList{#1}{\__bpl_add_section_count}
+ \int_use:N \l_bpl_sec_cnt_int
+ }
+}
+
+\cs_new:Npn \__bpl_add_section_count #1
+{
+ \cs_if_exist:cT {bpl@secitems:#1}
+ { \int_add:Nn \l_bpl_sec_cnt_int { \use:c{bpl@secitems:#1} } }
}
+\ExplSyntaxOff
+
\newcommand*\GetTotalCount{%
\csuse{bpl@items}%
}
@@ -897,7 +912,15 @@
\newrobustcmd{\mkbibdesc}[1]{%
% Print labelnumber as actual number, plus item total
- \number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax%
+ \edef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax}%
+ \bpl@current@item@no%
+ % Store number in pbx file
+ \if@filesw%
+ \protected@write\bpl@bpxfile{}{%
+ \csedef{bpl@itemnumber:\thefield{entrykey}}{\bpl@current@item@no}%
+ \csedef{bpl@itemsec:\thefield{entrykey}}{\therefsection}%
+ }%
+ \fi%
}%
% Way to manually shift the numbering
@@ -1112,21 +1135,25 @@
% from publist
\defbibcheck{nosubmitted}{%
\edef\tmpps{\bibstring{submitted}}%
- \iffieldequals{pubstate}{\tmpps}{\skipentry}{}%
+ \iffieldequals{pubstate}{\tmpps}{\skipentry}{%
+ \iffieldequalstr{pubstate}{submitted}{\skipentry}{}}%
}
% check to exclude work in preparation
% from publist
\defbibcheck{noprepared}{%
\edef\tmpps{\bibstring{inpreparation}}%
- \iffieldequals{pubstate}{\tmpps}{\skipentry}{}%
+ \iffieldequals{pubstate}{\tmpps}{\skipentry}{%
+ \iffieldequalstr{pubstate}{inpreparation}{\skipentry}{}}%
}
% check to exclude all work which is not (pre-)published
\defbibcheck{onlypublished}{%
\iffieldundef{pubstate}{}{%
\edef\tmpps{\bibstring{prepublished}}%
- \iffieldequals{pubstate}{\tmpps}{}{\skipentry}%
+ \iffieldequals{pubstate}{\tmpps}{%
+ \iffieldequalstr{pubstate}{prepublished}{}{\skipentry}%
+ }{\skipentry}%
}%
}
@@ -1137,12 +1164,37 @@
\edef\tmppss{\bibstring{forthcoming}}%
\iffieldequals{pubstate}{\tmpps}{}{%
\iffieldequals{pubstate}{\tmppss}{}{%
- \skipentry}%
- }%
+ \iffieldequalstr{pubstate}{prepublished}{}{%
+ \iffieldequalstr{pubstate}{forthcoming}{}{%
+ \skipentry}%
+ }%
+ }%
+ }%
+ }%
+}
+
+% check to exclude all work which is not peer-reviewed
+\defbibcheck{onlypr}{%
+ \iffieldundef{peerreview}{\skipentry}{%
+ \edef\tmppr{\bibstring{no}}%
+ \iffieldequals{peerreview}{\tmpps}{\skipentry}{%
+ \iffieldequalstr{peerreview}{no}{\skipentry}{}%
+ }%
+ }%
+}
+
+% check to exclude all work which *is* peer-reviewed
+\defbibcheck{nopr}{%
+ \iffieldundef{peerreview}{}{%
+ \edef\tmppr{\bibstring{no}}%
+ \iffieldequals{peerreview}{\tmpps}{}{%
+ \iffieldequalstr{peerreview}{no}{}{\skipentry}
+ }%
}%
}
+
%
% Count non-plauthors
%
@@ -1739,6 +1791,10 @@
%
% l7n
%
+
+\DeclareLanguageMappingSuffix{-publist}
+
+% publist-specific bibstrings
\NewBibliographyString{with}
\NewBibliographyString{parttranslationof}
\NewBibliographyString{impactfactor}
@@ -1753,54 +1809,6 @@
\NewBibliographyString{peerreview:tp}
\NewBibliographyString{peerreview:pp}
\NewBibliographyString{peerreview:no}
-\DefineBibliographyStrings{english}{%
- parttranslationof = {partial translation of},
- with = {with},
- impactfactor = {impact factor},
- openaccess:true = {OpenAccess},
- openaccess:gold = {OpenAccess (gold)},
- openaccess:green = {OpenAccess (green)},
- peerreview:sb = {single blind peer review},
- peerreview:db = {double blind peer review},
- peerreview:op = {open peer review},
- peerreview:co = {collaborative peer review},
- peerreview:cc = {cascading peer review},
- peerreview:tp = {third-party peer review},
- peerreview:pp = {post-publication peer review},
- peerreview:no = {no peer review}
-}
-\DefineBibliographyStrings{french}{%
- parttranslationof = {traduction partielle de},
- with = {avec},
- impactfactor = {facteur d'impact},
- openaccess:true = {libre acc\`es},
- openaccess:gold = {libre acc\`es (dorée)},
- openaccess:green = {libre acc\`es (verte)},
- peerreview:sb = {\'{e}valuation par des pairs anonymis\'{e}s},
- peerreview:db = {\'{e}valuation par les pairs en double aveugle},
- peerreview:op = {\'{e}valuation par les pairs ouverte},
- peerreview:co = {\'{e}valuation par les pairs collaborative},
- peerreview:cc = {\'{e}valuation par les pairs en cascade},
- peerreview:tp = {\'{e}valuation par des pairs ext\'{e}rieurs},
- peerreview:pp = {\'{e}valuation par les pairs apr\`{e}s publication},
- peerreview:no = {pas d'\'{e}valuation par les pairs}
-}
-\DefineBibliographyStrings{german}{%
- parttranslationof = {Teil\"ubersetzung von},
- with = {mit},
- impactfactor = {Impactfaktor},
- openaccess:true = {OpenAccess},
- openaccess:gold = {OpenAccess (gold)},
- openaccess:green = {OpenAccess (gr\"un)},
- peerreview:sb = {Blindbegutachtung},
- peerreview:db = {Doppelblindbegutachtung},
- peerreview:op = {Offene Begutachtung},
- peerreview:co = {Kollaborative Begutachtung},
- peerreview:cc = {Cascading-Begutachtung},
- peerreview:tp = {Begutachtung durch Dritte},
- peerreview:pp = {Post-Publication-Begutachtung},
- peerreview:no = {keine Begutachtung}
-}
%
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
index bfc159a1318..8176810996a 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
@@ -26,14 +26,50 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.9}
-\def\bpl@rdate{2025/05/09}
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
\ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space
biblatex citation style (JSP)]
\RequireCitationStyle{numeric}
+\DeclareCiteCommand{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}%
+ \usebibmacro{bpl:cite:secitemsec}%
+ }
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\newbibmacro*{bpl:cite:secitem}{%
+ \ifcsdef{bpl@itemnumber:\thefield{entrykey}}%
+ {\mkbibbrackets{\csuse{bpl@itemnumber:\thefield{entrykey}}}}%
+ {\textbf{\mkbibbrackets{???}}}%
+}
+
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+
+\newbibmacro*{bpl:cite:secitemsec}{%
+ \ifcsdef{bpl@itemsec:\thefield{entrykey}}%
+ {\addspace\secitemsecref{\csuse{bpl@itemsec:\thefield{entrykey}}}}%
+ {}%
+}
+
\DeclareCiteCommand{\citeitem}
{\defcounter{maxnames}{999}%
\boolfalse{citetracker}%
@@ -55,6 +91,28 @@
\printtext[labelnumberwidth]{\mkrefdesc{\thefield{labelnumber}}}%
}
+\newcommand*\itemrangesep{\bibrangedash}
+
+\newcommand*\citeitemrange[2]{%
+ \citeitem{#1}\itemrangesep\citeitem{#2}%
+}
+
+\NewDocumentCommand\citesecitemrange{s m m}
+{%
+ \IfBooleanTF{#1}%
+ {\ifcsdef{bpl@itemsec:#2}%
+ {\ifcsdef{bpl@itemsec:#3}%
+ {\ifcsequal{bpl@itemsec:#2}{bpl@itemsec:#3}%
+ {\citesecitem{#2}\itemrangesep}%
+ {\citesecitem*{#2}\,\itemrangesep\,}%
+ \citesecitem*{#3}}%
+ {\citesecitem*{#2}\itemrangesep\citesecitem*{#3}}%
+ }%
+ {\citesecitem{#2}\itemrangesep\citesecitem*{#3}}%
+ }%
+ {\citesecitem{#2}\itemrangesep\citesecitem{#3}}%
+}
+
% Manual way to adjust numbering
\csdef{bpl@secstartshift}{0}
\newcommand*\shiftciteitem[1]{\csdef{bpl@secstartshift}{#1}}
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
index d43f60a4654..9e4b798f8c3 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
@@ -1,5 +1,5 @@
% publist.dbx, biblatex data model specification for the biblatex-publist
-% package, version 2.9 (2025/05/09).
+% package, version 2.12 (2024/07/16).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def b/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def
index cd3217de215..cb422456bf3 100644
--- a/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def
+++ b/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def
@@ -15,8 +15,8 @@
% VERSION STRINGS
% ------------------------------------------------------------------
-\def\sbl@abx@date{2022/06/18}
-\def\sbl@abx@version{0.14}
+\def\sbl@abx@date{2024/06/09}
+\def\sbl@abx@version{0.15}
\def\sbl@abx@bbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl bibliography style (DCP)}
\def\sbl@abx@cbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl citation style (DCP)}
\def\sbl@abx@lbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl localization (DCP)}
diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx
index 73007e67e6a..afaa5b1767d 100644
--- a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx
@@ -395,7 +395,8 @@
{\usebibmacro{textcite:init}%
\gdef\cbx@savedkeys{}%
\DeferNextCitekeyHook}
- {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}
+ {\ifboolexpr{test {\iffirstcitekey}
+ and test {\ifnumgreater{\value{multicitetotal}}{0}}}
{\protected@xappto\cbx@footcite@args{%
(\thefield{multiprenote})(\thefield{multipostnote})}}
{}%
diff --git a/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls b/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls
index 5a7bc884adb..2e500887306 100644
--- a/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls
+++ b/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls
@@ -27,7 +27,7 @@
%%
\RequirePackage{expl3,l3keys2e}
\ProvidesExplClass{bitbeamer}
-{2024-05-04}{3.7.7}{BIT Thesis Templates}
+{2024-05-30}{3.7.9}{BIT Thesis Templates}
\keys_define:nn { bitbeamer }
{
titlegraphic .tl_set:N = \l_bit_titlegraphic_tl,
diff --git a/Master/texmf-dist/tex/latex/bithesis/bithesis.cls b/Master/texmf-dist/tex/latex/bithesis/bithesis.cls
index 373034e9c7a..39141be5f46 100644
--- a/Master/texmf-dist/tex/latex/bithesis/bithesis.cls
+++ b/Master/texmf-dist/tex/latex/bithesis/bithesis.cls
@@ -27,7 +27,7 @@
%%
\RequirePackage{expl3,l3keys2e}
\ProvidesExplClass{bithesis}
-{2024-05-04}{3.7.7}{BIT Thesis Templates}
+{2024-05-30}{3.7.9}{BIT Thesis Templates}
\int_new:N \g__bithesis_thesis_type_int
\int_new:N \g__bithesis_head_zihao_int
\bool_new:N \g__bithesis_twoside_bool
@@ -79,6 +79,7 @@
\cs_new:Npn \__bithesis_if_thesis_int_type:nTF #1#2#3 {\int_compare:nNnTF {\g__bithesis_thesis_type_int} = {#1} {#2} {#3}}
\cs_new:Npn \__bithesis_if_thesis_int_type:nT #1#2 {\__bithesis_if_thesis_int_type:nTF {#1} {#2} {}}
+\cs_new:Npn \__bithesis_if_thesis_int_type:nF #1#2 {\__bithesis_if_thesis_int_type:nTF {#1} {} {#2}}
\cs_new:Npn \__bithesis_if_thesis_english:TF #1#2 {\bool_if:nTF {\g__bithesis_thesis_type_english_bool} {#1} {#2}}
\cs_new:Npn \__bithesis_if_thesis_english:T #1 {\__bithesis_if_thesis_english:TF {#1}{}}
@@ -480,6 +481,8 @@
% 浮动体相关的各种间距
floatSeparation .tl_set:N = \l__bithesis_misc_float_separation_tl,
floatSeparation .initial:n = {0},
+ algorithmSeparation .tl_set:N = \l__bithesis_misc_algorithm_separation_tl,
+ algorithmSeparation .initial:n = {12pt plus 4pt minus 4pt},
tabularRowSeparation .tl_set:N = \l__bithesis_misc_tabular_row_separation_tl,
tabularRowSeparation .initial:n = {1},
}
@@ -693,6 +696,13 @@
\setlength{\intextsep}{1.80\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip}
% 浮动体位于页面顶部或底部时,调整浮动体与正文之间的距离,后或前加上一行空白
\setlength{\textfloatsep}{1.80\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip}
+ \AtBeginDocument {
+ % longtable 宏包有另外的机制,需专门调整
+ \@ifpackageloaded{longtable}{
+ \setlength{\LTpre}{0.60\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip}
+ \setlength{\LTpost}{1.60\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip}
+ }{}
+ }
}
\ctex_at_end_preamble:n {
\bool_if:NTF \l__bithesis_style_better_new_roman_bool {
@@ -1052,7 +1062,7 @@
\linespread{1.53}\selectfont
\pagestyle{BIThesis}
- % 表格内容默认使用五号字。
+ % 调整表格内容字号(默认五号)和各行之间的距离。
%
% 由于这种方式会影响所有的表格,
% 所以我们尽可能延迟这种影响。
@@ -1060,9 +1070,24 @@
% 不过,在目前的代码实现中没有在封面
% 之类的地方使用表格,所以目前即使放在
% preamble 中也不会有影响。
- \AtBeginEnvironment{tabular}{\zihao{\l__bithesis_misc_tabular_font_size_tl}}
- \AtBeginEnvironment{tabular*}{\zihao{\l__bithesis_misc_tabular_font_size_tl}}
- \AtBeginEnvironment{tabularx}{\zihao{\l__bithesis_misc_tabular_font_size_tl}}
+ %
+ % 支持标准tabular、tabular*环境和宏包tabularx、longtable。
+ %
+ % 为保证各种表格效果一致,要先手动重置setspace宏包漏掉的longtable;
+ \AtBeginEnvironment {longtable} {\singlespacing}
+ % 之后再统一设置。
+ \clist_map_inline:nn
+ {tabular, tabular*, tabularx, longtable}
+ {
+ \AtBeginEnvironment {##1} {
+ % 字号只想设置表格内容,不想影响caption。
+ % 一般caption在环境之外,自然不受影响;
+ % 而longtable的caption虽在环境内,但caption宏包能正常处理。
+ \zihao{\l__bithesis_misc_tabular_font_size_tl}
+ % 各行间距只想影响表格,不想影响矩阵,因此也必须在钩子中设置。
+ \cs_set:Npn \arraystretch {\l__bithesis_misc_tabular_row_separation_tl}
+ }
+ }
}
\RenewDocumentCommand \mainmatter {} {
% 另起一个空页,以便于后续的章节标题编号。
@@ -1115,6 +1140,9 @@
% 至于表格,虽然其caption位置在上方(而图片是在下方),
% 但 `caption` 宏包已考虑这种区别,统一设置 `belowskip` 即可。
\captionsetup{belowskip=-5pt}
+ % 不过 longtable 宏包有另外的机制,不设置 belowskip 时间距已可较小,
+ % 设置成负数还导致 caption 和表格本体的距离变大。因此我们撤销更改。
+ \captionsetup[longtable]{belowskip=0pt}
% 此外在浮动体内部,调整表格 caption 和表格本体间的距离。
% 本来默认有一定空隙,现改为紧贴,这样更接近Word模板实作。
@@ -1173,8 +1201,17 @@
% 调整浮动体与文字之间的距离
\addtolength{\intextsep}{\l__bithesis_misc_float_separation_tl\baselineskip}
\addtolength{\textfloatsep}{\l__bithesis_misc_float_separation_tl\baselineskip}
- % 调整表格各行之间的距离
- \cs_set:Npn \arraystretch {\l__bithesis_misc_tabular_row_separation_tl}
+ % longtable 宏包有另外的机制,需专门调整
+ \@ifpackageloaded{longtable}{
+ \addtolength{\LTpre}{\l__bithesis_misc_float_separation_tl\baselineskip}
+ \addtolength{\LTpost}{\l__bithesis_misc_float_separation_tl\baselineskip}
+ }{}
+ % 调整算法与文字之间的距离
+ % 针对 algorithm2e 宏包
+ \@ifpackageloaded{algorithm2e}{
+ % 宏包手册介绍可自定义宏,再`\SetAlgoSkip`;我们为简洁,直接覆写。
+ \renewcommand{\@algoskip}{\vspace{\l__bithesis_misc_algorithm_separation_tl}}
+ }{}
}
\bool_if:NF \l__bithesis_style_hyphen_bool {
\hbadness=10000
@@ -1338,24 +1375,23 @@
\cleardoublepage
\currentpdfbookmark{书脊}{frontmatter:paperback}
\begin{titlepage}
- \vskip 5cm
- \begin{center}
+ \centering
+ % 实现竖排——将水平宽度设得很窄,让文字自动换行,并改小行距
\linespread{1.1}\selectfont
- \begin{minipage}[t][19.7cm]{2em}
- \begin{center}
- {
- \heiti\zihao{3}
- \tl_if_blank:VTF \l__bithesis_value_vertical_title_tl
- {\l__bithesis_value_title_tl}{\l__bithesis_value_vertical_title_tl}
- }
- \vfill
- {\heiti\zihao{3}\__bithesis_secret_info:nn{\l__bithesis_value_author_tl}{\g__bithesis_const_substitute_symbol_tl\quad\g__bithesis_const_substitute_symbol_tl\quad\g__bithesis_const_substitute_symbol_tl}}
- \vfill
- {\heiti\zihao{3}\c__bithesis_label_university_tl}
- \end{center}
+ \begin{minipage}[c][19.7cm]{2em}
+ \centering
+ {
+ \heiti\zihao{3}
+ \tl_if_blank:VTF \l__bithesis_value_vertical_title_tl
+ {\l__bithesis_value_title_tl}{\l__bithesis_value_vertical_title_tl}
+ }
+ \par
+ \vspace{1em plus 1fill}
+ {\heiti\zihao{3}\__bithesis_secret_info:nn{\l__bithesis_value_author_tl}{\g__bithesis_const_substitute_symbol_tl\quad\g__bithesis_const_substitute_symbol_tl\quad\g__bithesis_const_substitute_symbol_tl}}
+ \par
+ \vspace{1em plus 1fill}
+ {\heiti\zihao{3}\c__bithesis_label_university_tl}
\end{minipage}
- \end{center}
- % \vskip 5cm
\end{titlepage}
}
\cs_new:Npn \__bithesis_make_chinese_title_page: {
@@ -1950,9 +1986,20 @@
}
\NewDocumentCommand \MakePaperBack {}
{
+ % 上下各留出规定的边距,到下一页再恢复。
+ % 若标题超长,自然会向上下溢出。
+ %
+ % 必须在顶层操作,不然影响不确定。
+ % https://tex.stackexchange.com/q/718581
+ %
+ % 单纯`\newgeometry`再`\restoregeometry`相当于仅仅`\clearpage`,也无问题。
+ \newgeometry{
+ vmargin = 5cm,
+ }
\begin{blindPeerReview}[\l__bithesis_cover_hide_cover_in_peer_review_bool]
\make_paper_back:
\end{blindPeerReview}
+ \restoregeometry
}
\NewDocumentCommand \MakeTitle {}
{
@@ -1986,7 +2033,10 @@
}
% 添加目录书签
- \currentpdfbookmark{\c__bithesis_label_toc_tl}{ch:toc}
+ \__bithesis_if_thesis_int_type:nF {3} {
+ \currentpdfbookmark{\c__bithesis_label_toc_tl}{ch:toc}
+ }
+
% 制作目录
\tableofcontents
diff --git a/Master/texmf-dist/tex/latex/bithesis/bitreport.cls b/Master/texmf-dist/tex/latex/bithesis/bitreport.cls
index fa2a111f205..80b5485ff21 100644
--- a/Master/texmf-dist/tex/latex/bithesis/bitreport.cls
+++ b/Master/texmf-dist/tex/latex/bithesis/bitreport.cls
@@ -27,7 +27,7 @@
%%
\RequirePackage{expl3,l3keys2e}
\ProvidesExplClass{bitreport}
-{2024-05-04}{3.7.7}{BIT Thesis Templates}
+{2024-05-30}{3.7.9}{BIT Thesis Templates}
\int_new:N \g__bithesis_report_type_int
\clist_const:Nn \c__bithesis_report_type_clist
{ common, undergraduate_proposal}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
index 0595b52b4ec..fb1b96a2ebd 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsarticle}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsarticle}
\newif\ifjsc@needsp@tch
@@ -1431,6 +1431,12 @@
\let\sectionmark\@gobble
\let\subsectionmark\@gobble
}
+\let\bxjs@phantomsection\relax
+\g@addto@macro\bxjs@begin@document@hook{%
+ \@ifpackageloaded{hyperref}{%
+ \let\bxjs@phantomsection\phantomsection
+ }{}%
+}
\newcommand*{\jsSubtitle}[1]{\gdef\bxjs@subtitle{#1}}
\renewcommand*{\title}[1]{\bxjs@decl@subtitle\gdef\@title{#1}}
\g@addto@macro\bxjs@begin@document@hook{\bxjs@decl@subtitle}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
index ed06d493e4e..a107f3a6f74 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsbook}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsbook}
\newif\ifjsc@needsp@tch
@@ -1467,6 +1467,12 @@
\let\chaptermark\@gobble
\let\sectionmark\@gobble
}
+\let\bxjs@phantomsection\relax
+\g@addto@macro\bxjs@begin@document@hook{%
+ \@ifpackageloaded{hyperref}{%
+ \let\bxjs@phantomsection\phantomsection
+ }{}%
+}
\newcommand*{\jsSubtitle}[1]{\gdef\bxjs@subtitle{#1}}
\renewcommand*{\title}[1]{\bxjs@decl@subtitle\gdef\@title{#1}}
\g@addto@macro\bxjs@begin@document@hook{\bxjs@decl@subtitle}
@@ -2302,8 +2308,9 @@
\fi
\columnseprule.4pt \columnsep 2\jsZw
\ifx\multicols\@undefined
- \twocolumn[\@makeschapterhead{\indexname}%
- \addcontentsline{toc}{chapter}{\indexname}]%
+ \twocolumn[\bxjs@phantomsection
+ \addcontentsline{toc}{chapter}{\indexname}%
+ \@makeschapterhead{\indexname}]%
\else
\ifdim\textwidth<\fullwidth
\setlength{\evensidemargin}{\oddsidemargin}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
index ba235ec3ba8..d5c4e72f6ae 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bxjscjkcat}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
\def\bxjx@pkgname{bxjscjkcat}
\newcount\bxjx@cnta
\@onlypreamble\bxjx@tmpdo
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
index a621868b9d0..b6ca0c76d8b 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bxjscompat}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
\def\bxac@pkgname{bxjscompat}
\let\bxac@engine=n
\def\bxac@do#1#2{%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
index 44e1b044b0c..7ff3ed48a3f 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-minimal.def}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます
\let\bxjs@tmpa\relax
\ifx J\jsEngine \def\bxjs@tmpa{NTT-jTeX}\fi
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
index 799fd1e7cdf..adf5d66c4b2 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-modern.def}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
\input{bxjsja-standard.def}
\ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi=\z@
\def\encodingdefault{T1}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
index c4f3bf7a64f..bd595cff6e1 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-pandoc.def}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
\if x\jsEngine
\PassOptionsToPackage{nospace}{xeCJK}
\fi
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index b8862a44301..bc05f69e940 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-standard.def}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます
\input{bxjsja-minimal.def}
\bxjs@simplejasetupfalse
@@ -240,6 +240,14 @@
\DeclareHookRule{shipout/firstpage}{pxjahyper/enc}{<}{hyperref}%
\global\let\bxjs@urgent@special@a\relax}
\fi
+\@onlypreamble\bxjs@patch@RDMA@for@bm
+\def\bxjs@patch@RDMA@for@bm{%
+ \let\bxjs@org@DualLang@mathalph@bet\DualLang@mathalph@bet
+ \def\DualLang@mathalph@bet{%
+ \ifx\bm\@firstofone \expandafter\@firstoftwo
+ \else \expandafter\bxjs@org@DualLang@mathalph@bet
+ \fi}%
+}
\if j\jsEngine
\newcommand*{\setkanjiskip}{\jsSetKanjiSkip}
\newcommand*{\getkanjiskip}{\jsGetKanjiSkip}
@@ -386,11 +394,10 @@
\DeclareMathAlphabet{\mathgt}{\jsc@JYn}{gt}{m}{n}
\g@addto@macro\bxjs@begin@document@hook{%
\ifx\reDeclareMathAlphabet\@undefined\else
- \@ifpackageloaded{bm}{}{%else
+ \@ifpackageloaded{bm}{\bxjs@patch@RDMA@for@bm}{}%
\reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}%
\reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}%
\reDeclareMathAlphabet{\mathsf}{\@mathsf}{\@mathgt}%
- }%
\fi}
\fi
\else\if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
@@ -606,6 +613,7 @@
\@ltj@match@familytrue
\fi
\g@addto@macro\bxjs@begin@document@hook{%
+ \@ifpackageloaded{bm}{\bxjs@patch@RDMA@for@bm}{}%
\reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}%
\reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}%
\reDeclareMathAlphabet{\mathsf}{\mathsf}{\mathgt}}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
index 04a51b3ed3d..09990c0acaa 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bxjspandoc}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjsp@pkgname{bxjspandoc}
\let\bxjsp@engine=n
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index b3c7753c1d3..51568cfaa5c 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsreport}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsreport}
\newif\ifjsc@needsp@tch
@@ -1441,6 +1441,12 @@
\let\chaptermark\@gobble
\let\sectionmark\@gobble
}
+\let\bxjs@phantomsection\relax
+\g@addto@macro\bxjs@begin@document@hook{%
+ \@ifpackageloaded{hyperref}{%
+ \let\bxjs@phantomsection\phantomsection
+ }{}%
+}
\newcommand*{\jsSubtitle}[1]{\gdef\bxjs@subtitle{#1}}
\renewcommand*{\title}[1]{\bxjs@decl@subtitle\gdef\@title{#1}}
\g@addto@macro\bxjs@begin@document@hook{\bxjs@decl@subtitle}
@@ -2324,8 +2330,9 @@
\fi
\columnseprule.4pt \columnsep 2\jsZw
\ifx\multicols\@undefined
- \twocolumn[\@makeschapterhead{\indexname}%
- \addcontentsline{toc}{chapter}{\indexname}]%
+ \twocolumn[\bxjs@phantomsection
+ \addcontentsline{toc}{chapter}{\indexname}%
+ \@makeschapterhead{\indexname}]%
\else
\ifdim\textwidth<\fullwidth
\setlength{\evensidemargin}{\oddsidemargin}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
index d4b76d37c83..95ff31ff333 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsslide}
- [2024/01/22 v2.9b BXJS document classes]
+ [2024/07/19 v2.9c BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsslide}
\newif\ifjsc@needsp@tch
@@ -1429,6 +1429,12 @@
\let\sectionmark\@gobble
\let\subsectionmark\@gobble
}
+\let\bxjs@phantomsection\relax
+\g@addto@macro\bxjs@begin@document@hook{%
+ \@ifpackageloaded{hyperref}{%
+ \let\bxjs@phantomsection\phantomsection
+ }{}%
+}
\newcommand*{\jsSubtitle}[1]{\gdef\bxjs@subtitle{#1}}
\renewcommand*{\title}[1]{\bxjs@decl@subtitle\gdef\@title{#1}}
\g@addto@macro\bxjs@begin@document@hook{\bxjs@decl@subtitle}
diff --git a/Master/texmf-dist/tex/latex/changebar/changebar.sty b/Master/texmf-dist/tex/latex/changebar/changebar.sty
index 2de6b8218f0..c3da9e8eca8 100644
--- a/Master/texmf-dist/tex/latex/changebar/changebar.sty
+++ b/Master/texmf-dist/tex/latex/changebar/changebar.sty
@@ -37,7 +37,7 @@
%% Copyright 1994-2024 (C) Johannes Braams. All rights reserved.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{changebar}
- [2024/01/09 v3.7d Indicate changes with marginal bars]
+ [2024/07/17 v3.7e Indicate changes with marginal bars]
\def\cb@maxpoint{80}
\def\cb@minpoint{1}
\def\cb@nil{0}
@@ -111,7 +111,7 @@
\immediate\openout\cb@writexy=\jobname.cb2\relax
\fi
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\else\cb@pdftexerror\fi\fi\fi}
\def\cb@pdftexerror{\PackageError
@@ -131,7 +131,7 @@
\immediate\openout\cb@writexy=\jobname.cb2\relax
\fi
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\gdef\sec@nd@ftw@##1 ##2{##2}
\fi}
@@ -151,7 +151,7 @@
\immediate\openout\cb@writexy=\jobname.cb2\relax
\fi
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\fi}
\def\cb@luatexerror{\PackageError
@@ -384,9 +384,9 @@
\fi
\fi
}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -422,7 +422,7 @@
\fi
\cb@next
}%
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
\def\cb@pdfpg{##2}}%
\def\cb@defpoint##1##2{%
\if@filesw
@@ -443,7 +443,7 @@
\ifnum##1>99 1\else
\ifnum##1<10 0.0\the##1\else
0.\the##1\fi\fi\fi}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
\def\cb@connect##1##2##3{%
\cb@findpdfpoint{##1}\cb@pagecount
\ifx\cb@pdfx\relax\cb@rerun
@@ -524,9 +524,9 @@
\fi
\fi
}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -562,7 +562,7 @@
\fi
\cb@next
}%
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
\def\cb@pdfpg{##2}}%
\def\cb@defpoint##1##2{%
\if@filesw
@@ -583,7 +583,7 @@
\ifnum##1>99 1\else
\ifnum##1<10 0.0\the##1\else
0.\the##1\fi\fi\fi}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
\def\cb@connect##1##2##3{%
\cb@findpdfpoint{##1}\cb@pagecount
\ifx\cb@pdfx\relax\cb@rerun
@@ -665,9 +665,9 @@
\fi
\fi
}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -703,7 +703,7 @@
\fi
\cb@next
}%
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
\def\cb@pdfpg{##2}}%
\def\cb@defpoint##1##2{%
\if@filesw
@@ -724,7 +724,7 @@
\ifnum##1>99 1\else
\ifnum##1<10 0.0\the##1\else
0.\the##1\fi\fi\fi}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
\def\cb@connect##1##2##3{%
\cb@findpdfpoint{##1}\cb@pagecount
\ifx\cb@pdfx\relax\cb@rerun
@@ -802,7 +802,7 @@
\newcommand*{\nochangebars}{%
\def\cb@start[##1]{\ignorespaces}%
\def\cb@delete[##1]{}%
- \def\cb@end{\ignorespacesafterend}
+ \def\cb@end{\ignorespacesafterend}%
}
\newlength{\changebarwidth}
\setlength{\changebarwidth}{2pt}
diff --git a/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty b/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty
index f1df3002c11..32b6e23fa15 100644
--- a/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty
+++ b/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty
@@ -1,5 +1,5 @@
%% The chemformula-ru package eliminates an incompatibility
-%% between the chemformula package and Russian settings (russian.ldf) of the babel package.
+%% between the chemformula package and Russian settings (russian.ldf) for the babel package.
%%
%% Copyright (c) 2024 by Alexey Kuznetsov (mailtokuznetsov at gmail.com)
%%
@@ -12,21 +12,21 @@
%% version 2008/05/04 or later.
%%
-\ProvidesPackage{chemformula-ru}[2024-03-01 Using chemformula package with babel-russian]
+\ProvidesPackage{chemformula-ru}[2024-07-10 Using chemformula package with babel-russian]
\DeclareOption{cosh2ch}{\def\cosh@ch{\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
\DeclareOption{ch2Ch}{\def\ch@Ch{\DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}}
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}}
\ProcessOptions\relax
+\RequirePackage{chemformula}
+
\BeforeBeginEnvironment{document}{
- \IfPackageLoadedTF{chemformula}{
- \IfPackageLoadedWithOptionsTF{babel}{russian}{
- \let\@Chem@Formula\ch \let\ch\undefined
- \AtBeginDocument{ \let\ch\@Chem@Formula
- \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
- \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
- }
- } { \relax }
- } { \relax }
-}
+ \let\@Chem@Formula\ch \let\ch\undefined
+ \AtBeginDocument{
+ \let\ch\@Chem@Formula
+ \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
+ \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
+ } }
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
index 69ce1bbddd1..afa91d4b2b1 100644
--- a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
+++ b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
@@ -16,8 +16,8 @@
\providecommand\DeclareRelease[3]{}
\providecommand\DeclareCurrentRelease[2]{}
-\def\pgfcircversion{1.6.8}
-\def\pgfcircversiondate{2024/05/05}
+\def\pgfcircversion{1.6.9}
+\def\pgfcircversiondate{2024/05/25}
\DeclareRelease{0.4}{2012/12/20}{circuitikz-0.4-body.tex}
\DeclareRelease{v0.4}{2012/12/20}{circuitikz-0.4-body.tex}
diff --git a/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-bib.sty b/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-bib.sty
index 8a95c5b2abd..19619e1f5b1 100644
--- a/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-bib.sty
+++ b/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-bib.sty
@@ -9,21 +9,21 @@
% The options like `notcategory` can be used multiple times and thus we save
% them into a seq instead of a prop.
\seq_new:N \l__csl_bib_filter_seq
-\int_new:N \g__bib_list_index_int
-\tl_new:N \g__bib_list_index_tl
+\int_new:N \g__csl_bib_list_index_int
+\tl_new:N \g__csl_bib_list_index_tl
\tl_new:N \l__csl_bibliography_tl
\seq_new:N \l__csl_bibliography_seq
\NewDocumentCommand \printbibliography { O { } }
{
- \int_gincr:N \g__bib_list_index_int
- \tl_gset:Nx \g__bib_list_index_tl { \int_use:N \g__bib_list_index_int }
+ \int_gincr:N \g__csl_bib_list_index_int
+ \tl_gset:Nx \g__csl_bib_list_index_tl { \int_use:N \g__csl_bib_list_index_int }
\__csl_set_categories:
% Bibliography filter
\group_begin:
\seq_clear:N \l__csl_bib_filter_seq
\seq_put_right:Nx \l__csl_bib_filter_seq
- { index = \g__bib_list_index_tl }
+ { index = \g__csl_bib_list_index_tl }
\keys_set:nn { csl / bibliography } {#1}
\__csl_serialize_seq:NN \l__csl_bib_filter_seq \l__csl_bib_filter_tl
% Collect the bibliography to token list
@@ -43,7 +43,7 @@
\exp_args:NV \__csl_write_aux_bibliography:n \l__csl_bib_filter_tl
}
% Print the bibliography
- \prop_get:NVNTF \g__csl_bibliographies_prop \g__bib_list_index_tl
+ \prop_get:NVNTF \g__csl_bibliographies_prop \g__csl_bib_list_index_tl
\l__csl_bibliography_tl
{
\bool_if:NT \l__csl_regression_test_bool
diff --git a/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-cite.sty b/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-cite.sty
index 6ebb300536d..e7683b5a900 100644
--- a/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-cite.sty
+++ b/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language-cite.sty
@@ -45,6 +45,9 @@
\__csl_cite_suppress_author:nnn {#2} {#3} {#4}
}
+\NewDocumentCommand \fullcite { o o m }
+ { \__csl_full_cite:nnn {#1} {#2} {#3} }
+
\seq_new:N \l__csl_cite_keys_seq
\seq_new:N \l__csl_citation_items_seq
@@ -156,6 +159,20 @@
}
+\cs_new:Npn \__csl_full_cite:nnn #1#2#3
+ {
+ \seq_clear:N \l__csl_cite_keys_seq
+ \seq_clear:N \l__csl_citation_items_seq
+ \prop_clear:N \l__csl_citation_properties_prop
+ \__csl_process_cite_input:nnn {#1} {#2} {#3}
+ \__csl_process_citation_info:NN \l__csl_cite_keys_seq \l__csl_citation_items_seq
+ \prop_put:Nnn \l__csl_citation_properties_prop { noteIndex } { 0 }
+ \prop_put:Nnn \l__csl_citation_properties_prop { mode } { full-cite }
+ \bool_set_false:N \l__csl_note_bool
+ \__csl_make_citation:N \l__csl_citation_info_prop
+ }
+
+
% Appends the cite key into \l__csl_cite_keys_seq and cite-items into
% \l__csl_citation_items_seq
% #1, #2: prenote/postnote
@@ -479,6 +496,15 @@
\fi
}
+% Should be set to true when located in a footnote, and to false otherwise
+\bool_new:N \l__csl_in_note_bool
+
+\hook_gput_code:nnn { cmd / @makefntext / before } { . }
+ { \bool_set_true:N \l__csl_in_note_bool }
+
+\hook_gput_code:nnn { cmd / @makefntext / after } { . }
+ { \bool_set_false:N \l__csl_in_note_bool }
+
% #1: \l__csl_citation_tl
\cs_new:Npn \__csl_print_citation:N #1
@@ -486,7 +512,11 @@
\bool_if:NT \l__csl_regression_test_bool
{ \tl_show:N #1 }
\bool_if:NTF \l__csl_note_bool
- { \footnote {#1} }
+ {
+ \bool_if:NTF \l__csl_in_note_bool
+ {#1}
+ { \footnote {#1} }
+ }
{#1}
}
diff --git a/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty b/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty
index 900d717c929..ebd497bcb71 100644
--- a/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty
+++ b/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty
@@ -9,7 +9,7 @@
\RequirePackage{expl3}
\RequirePackage{xparse}
-\ProvidesExplPackage {citation-style-language} {2024-04-21} {0.4.9}
+\ProvidesExplPackage {citation-style-language} {2024-06-09} {0.5.0}
{Citation Style Language for LaTeX}
\RequirePackage { l3keys2e }
diff --git a/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl b/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl
index ad86a91b7f4..79208912e77 100644
--- a/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl
+++ b/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl
@@ -14,7 +14,7 @@
<category citation-format="author-date"/>
<category field="psychology"/>
<category field="generic-base"/>
- <updated>2024-02-12T22:12:55-05:00</updated>
+ <updated>2024-06-06T05:59:25+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<locale xml:lang="en">
@@ -412,7 +412,7 @@
<choose>
<if type="bill report" match="any">
<!-- Bills, resolutions, and congressional reports are not italicized and substitute bill number if no title. -->
- <!-- Can't distinguish congressional reports from other reports,
+ <!-- Can't distinguish congressional reports from other reports,
but giving the genre and number seems fine for other reports too. -->
<text macro="number"/>
<text macro="bracketed"/>
@@ -490,7 +490,7 @@
<choose>
<if type="bill report">
<!-- Bills, resolutions, and congressional reports are not italicized and substitute bill number if no title. -->
- <!-- Can't distinguish congressional reports from other reports,
+ <!-- Can't distinguish congressional reports from other reports,
but giving the genre and number seems fine for other reports too. -->
<choose>
<if variable="title">
@@ -1518,16 +1518,16 @@
<if type="treaty">
<group delimiter=", " suffix=".">
<!-- APA generally defers to Bluebook for legal citations, but diverges without
- explanation for treaty items. We follow the Bluebook format that was used
+ explanation for treaty items. We follow the Bluebook format that was used
in APA 6th ed. -->
- <!-- APA manual omits treaty parties/authors, but per Bluebook
+ <!-- APA manual omits treaty parties/authors, but per Bluebook
they should be included at least for bilateral treaties. -->
<names variable="author">
<name initialize-with="." form="short" delimiter="-"/>
</names>
<text macro="date-legal"/>
- <!-- APA manual omits treaty source/report called for by Bluebook in favor of just URL.
- Both are included here, following the APA style used for all other item types
+ <!-- APA manual omits treaty source/report called for by Bluebook in favor of just URL.
+ Both are included here, following the APA style used for all other item types
to end the reference with a period, then give the URL afterward. -->
<text macro="container-legal"/>
</group>
@@ -1553,7 +1553,7 @@
<text variable="title" text-case="title"/>
</if>
<else-if type="hearing">
- <!-- APA uses a comma delimiter and omits "hearing before the" for hearings with testimony,
+ <!-- APA uses a comma delimiter and omits "hearing before the" for hearings with testimony,
but follows Bluebook rules (colon delimiter, prefix before the committee name) for
references to the whole hearing. We simply follow the Bluebook rules for both, but
use APA style capitalization (not capitalizing "Before" or the title of the hearing). -->
@@ -1609,14 +1609,14 @@
</group>
<choose>
<if variable="issued">
- <!-- APA manual includes "rev." before the revision year,
+ <!-- APA manual includes "rev." before the revision year,
but this isn't part of the Bluebook rules. -->
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
- <!-- Show proposal date for uncodified regualtions.
+ <!-- Show proposal date for uncodified regualtions.
Assume date is entered literally ala "proposed May 23, 2016".
TODO: Add 'proposed' term here if that becomes available -->
<date variable="submitted" form="text"/>
diff --git a/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl b/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl
index ae60f7e679a..e759c377e2d 100644
--- a/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl
+++ b/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl
@@ -29,10 +29,14 @@
<contributor>
<name>Brenton M. Wiernik</name>
</contributor>
+ <contributor>
+ <name>Zeping Lee</name>
+ <email>zepinglee@gmail.com</email>
+ </contributor>
<category citation-format="author-date"/>
<category field="generic-base"/>
<summary>The author-date variant of the Chicago style</summary>
- <updated>2023-12-25T13:06:05-05:00</updated>
+ <updated>2024-05-12T12:13:15-04:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<locale xml:lang="en">
@@ -385,8 +389,19 @@
</if>
<else-if type="article-journal">
<choose>
- <if variable="volume issue" match="any">
- <text variable="page" prefix=": "/>
+ <if variable="volume">
+ <choose>
+ <if variable="issue">
+ <text variable="page" prefix=": "/>
+ </if>
+ <else>
+ <!-- CMoS 15.48: If the month or season is included, it is
+ enclosed in parentheses, and a space follows the colon.
+ Unfortunately we can't check the month in CSL v1.0.2.
+ -->
+ <text variable="page" prefix=":"/>
+ </else>
+ </choose>
</if>
<else>
<text variable="page" prefix=", "/>
@@ -501,6 +516,11 @@
</else>
</choose>
</macro>
+ <macro name="date-sort">
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </macro>
<macro name="day-month">
<date variable="issued">
<date-part name="month"/>
@@ -658,7 +678,7 @@
<bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">
<sort>
<key macro="contributors"/>
- <key variable="issued"/>
+ <key macro="date-sort"/>
<key variable="title"/>
</sort>
<layout suffix=".">
diff --git a/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl b/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl
index d8bd97c5969..73f0d89a108 100644
--- a/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl
+++ b/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="chicago" default-locale="en-GB">
<info>
- <title>Modern Humanities Research Association 3rd edition (note with bibliography)</title>
+ <title>Modern Humanities Research Association 4th edition (note with bibliography)</title>
<title-short>MHRA</title-short>
<id>http://www.zotero.org/styles/modern-humanities-research-association</id>
<link href="http://www.zotero.org/styles/modern-humanities-research-association" rel="self"/>
@@ -17,10 +17,13 @@
<name>Andrew Dunning</name>
<uri>https://orcid.org/0000-0003-0464-5036</uri>
</contributor>
+ <contributor>
+ <name>Patrick O'Brien</name>
+ </contributor>
<category citation-format="note"/>
<category field="generic-base"/>
<summary>MHRA format with full notes and bibliography</summary>
- <updated>2023-12-09T18:40:26-06:00</updated>
+ <updated>2024-05-14T10:11:14-04:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<locale xml:lang="en">
@@ -334,10 +337,7 @@
<text variable="publisher"/>
</if>
<else>
- <group delimiter=": ">
- <text variable="publisher-place"/>
- <text variable="publisher"/>
- </group>
+ <text variable="publisher"/>
</else>
</choose>
</macro>
@@ -360,7 +360,10 @@
<macro name="pages">
<choose>
<if type="article-journal">
- <text variable="page" prefix=", "/>
+ <group delimiter=" " prefix=", ">
+ <label variable="page" form="short"/>
+ <text variable="page"/>
+ </group>
</if>
<else>
<choose>
@@ -411,7 +414,7 @@
</group>
<choose>
<if variable="DOI">
- <text variable="DOI" prefix=" &lt;https://doi.org/" suffix="&gt;"/>
+ <text variable="DOI" prefix=", doi:"/>
</if>
<else>
<choose>
diff --git a/Master/texmf-dist/tex/latex/cjs-rcs-article/cjs-rcs-article.cls b/Master/texmf-dist/tex/latex/cjs-rcs-article/cjs-rcs-article.cls
index 7a2093a2d49..ec78eb3ab06 100644
--- a/Master/texmf-dist/tex/latex/cjs-rcs-article/cjs-rcs-article.cls
+++ b/Master/texmf-dist/tex/latex/cjs-rcs-article/cjs-rcs-article.cls
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2023 Statistical Society of Canada | Société
+%% Copyright (C) 2023-2024 Statistical Society of Canada | Société
%% canadienne de statistique
%%
%% This file may be distributed and/or modified under the conditions
@@ -30,9 +30,9 @@
%% files cjs-rcs-article.cls, cjs-rcs-article-fr.tex, cjs-template.tex
%% and rcs-gabarit.tex.
%%
-\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+\NeedsTeXFormat{LaTeX2e}[2021/06/01]
\ProvidesClass{cjs-rcs-article}%
- [2023/11/29 v1.0 Article class for The Canadian Journal of
+[2024/07/14 v1.1 Article class for The Canadian Journal of
Statistics | La revue canadienne de statistique]
\newif\ifCJS@review \CJS@reviewfalse % review version?
\newif\ifCJS@supplement \CJS@supplementfalse % supplementary material?
@@ -40,6 +40,7 @@
\newif\ifCJS@final \CJS@finalfalse % final version?
\newif\ifCJS@titlingfooter \CJS@titlingfooterfalse % footer on title page?
\newif\ifCJS@journalinfo \CJS@journalinfotrue % display journal info?
+\newif\ifCJS@specialack \CJS@specialackfalse % special acknowledgement?
\newif\ifCJS@fancybreak \CJS@fancybreaktrue % display fancy break?
\newif\ifCJS@history \CJS@historyfalse % history present?
\newif\ifCJS@corrauth \CJS@corrauthfalse % corresponding author?
@@ -60,7 +61,6 @@
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}}
\ProcessOptions\relax
\LoadClass[letterpaper,10pt,article,twoside]{memoir}
-\RequirePackage{iflang}
\RequirePackage[round,semicolon,authoryear,sectionbib]{natbib}
\RequirePackage{babel}
\RequirePackage[autolanguage]{numprint}
@@ -142,7 +142,7 @@
[
Extension = .otf,
Scale = 1,
- Ligatures = TeX
+ bold-style = TeX
]
\setmathfont{FiraMath-Regular}
[
@@ -193,12 +193,12 @@
No.~\CJS@issue, %
\CJS@year, %
\CJS@firstpage--\thelastpage}}}}
-\newcommand*\CJS@setheadfootfont{%
+\def\CJS@setheadfootfont{%
\firalining\fontsize{9}{13}\selectfont}
\newlength\CJS@headdivheight
\settoheight\CJS@headdivheight{\CJS@setheadfootfont 1}
\setlength\CJS@headdivheight{0.9\CJS@headdivheight}
-\newcommand*\CJS@headdivrule{%
+\def\CJS@headdivrule{%
\rule[0.05\CJS@headdivheight]{0.75\normalrulethickness}{\CJS@headdivheight}}
\newlength\CJS@pagenumwidth
\settowidth\CJS@pagenumwidth{9\qquad}
@@ -480,15 +480,38 @@
\iflanguage{french}{Futur emplacement de la déclaration de licence.}%
{Licence statement to appear here.}}
\begin{figure}[!b]
- \raisebox{0pt}[0pt][\footskip]{%
+ \raisebox{0pt}[0pt][\dimexpr\CJS@licenceht-\footskip\relax]{%
\vbox{%
\CJS@setlicencefont
\rule{\textwidth}{\normalrulethickness}
\parbox[t][\CJS@licenceht][t]{\textwidth}{%
+ \ifCJS@specialack\CJS@specialackstatement\fi
\ifCJS@final\CJS@licence \else\textit\CJS@notice \fi}}}
\end{figure}
\fi
}}
+\newcommand*\CJS@adnibyline{for the Alzheimer’s Disease Neuroimaging Initiative}
+\newcommand*\CJS@adnistatement{%
+ Data used in preparation of this article were obtained
+ from the \href{https://adni.loni.usc.edu}{Alzheimer’s Disease Neuroimaging Initiative}
+ (ADNI) database. As such, the investigators within the ADNI
+ contributed to the design and implementation of ADNI and/or provided
+ data but did not participate in the analysis or writing of this
+ report. A complete listing of ADNI investigators can be found at:
+ \url{https://adni.loni.usc.edu/wp-content/uploads/how_to_apply/ADNI_Acknowledgement_List.pdf}.}
+\newcommand*\CJS@admcbyline{for the Alzheimer’s Disease Metabolomics Consortium}
+\newcommand*\CJS@admcstatement{%
+ Data used in preparation of this article were generated by the
+ Alzheimer’s Disease Metabolomics Consortium (ADMC). As such, the
+ investigators within the ADMC provided data but did not participate
+ in analysis or writing of this report. A complete listing of ADMC
+ investigators can be found at:
+ \url{https://sites.duke.edu/adnimetab/team/}.}
+\newcommand*\ADNIacknowledgement{%
+ \specialack{\CJS@adnibyline}{\CJS@adnistatement}}
+\newcommand*\ADMCacknowledgement{%
+ \renewcommand*\CJS@specialackmark{\textsuperscript{\ensuremath{**}}}
+ \specialack{\CJS@admcbyline}{\CJS@admcstatement}}
\def\CJS@supplement{}
\def\CJS@supplementname@en{Supplementary material}
\def\CJS@supplementname@fr{Matériel additionnel}
@@ -535,10 +558,10 @@
\endgroup}
\fi
\fi}
-\newcommand*\CJS@setlicencefont{%
+\def\CJS@setlicencefont{%
\firalining\fontsize{8pt}{9pt}\selectfont}
\newlength\CJS@licenceht
-\newcommand\CJS@licencesample{%
+\def\CJS@licencesample{%
{\ccbyncnd*} 2023 The Authors. The Canadian Journal of
Statistics~{\textbar}~La revue canadienne de statistique published
by Wiley Periodicals LLC on behalf of Statistical Society of
@@ -552,38 +575,39 @@
\newcommand\CJS@measurelicence{%
\setbox\CJS@licencebox=\vbox{%
\CJS@setlicencefont
+ \ifCJS@specialack\CJS@specialackstatement\fi
\ifdefempty{\CJS@licence}{\CJS@licencesample}{\CJS@licence}}
\setlength\CJS@licenceht{\dimexpr\ht\CJS@licencebox+\dp\CJS@licencebox}}
\def\CJS@licence{}
\newcommand\licence[1]{\renewcommand*\CJS@licence{#1}}
\let\license\licence
\newcommand*\ccby{\ccby@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccby@{\mbox{%
+\def\ccby@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em}}
\newcommand*\ccbysa{\ccbysa@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbysa@{\mbox{%
+\def\ccbysa@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsSa}}
\newcommand*\ccbync{\ccbync@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbync@{\mbox{%
+\def\ccbync@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNc}}
\newcommand*\ccbyncsa{\ccbyncsa@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbyncsa@{\mbox{%
+\def\ccbyncsa@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNc\kern0.1em%
\faCreativeCommonsSa}}
\newcommand*\ccbynd{\ccbynd@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbynd@{\mbox{%
+\def\ccbynd@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNd}}
\newcommand*\ccbyncnd{\ccbyncnd@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbyncnd@{\mbox{%
+\def\ccbyncnd@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNc\kern0.1em%
@@ -600,10 +624,12 @@
\let\prdist\mathcal
\fi
\iftutex
- \newcommand*\mat[1]{\symbf{#1}}
+ \let\mat\symbf
+ \let\matit\symbfit
\newcommand*\trsp{^{\mkern-1.5mu\symsfup{T}}}
\else
- \newcommand*\mat[1]{\mathbf{#1}}
+ \let\mat\mathbf
+ \let\matit\mathbfit
\newcommand*\trsp{^{\mkern-1.5mu\mathsf{T}}}
\fi
\DeclareMathOperator{\tr}{tr}
@@ -654,20 +680,23 @@
\newcommand*\Pylang{\proglang{Python}}
\newcommand*\Julialang{\proglang{Julia}}
\newcommand*\Clang{\proglang{C}}
-\newcommand*\CJS@plus{%
+\newcommand*\Cpplang{\proglang{C\CJS@plus\CJS@plus}}
+\def\CJS@plus{%
\ifx\f@family\sfdefault%
\protect\hspace{-.04em}\protect\raisebox{-.125ex}{\larger+}%
\else%
\protect\hspace{-.03em}\protect\raisebox{.25ex}{\smaller+}%
\fi}
-\newcommand*\Cpplang{\proglang{C\CJS@plus\CJS@plus}}
\let\pkg\textbf
\newcommand\code{\bgroup\@makeother\_\@makeother\~\@makeother\$\code@}
\def\code@#1{{\normalfont\ttfamily\hyphenchar\font=-1 #1}\egroup}
\renewcommand*\appendix{\par
\setcounter{section}{0}
\gdef\thesection{\@Alph\c@section}}
-\renewcommand{\@memb@bsec}{\section*{\bibname}\prebibhook}
+\renewcommand{\@memb@bsec}{%
+ \section*{\bibname}%
+ \addcontentsline{toc}{section}{\bibname}%
+ \prebibhook}
\setlocalecaption{english}{bib}{References}
\setlocalecaption{french}{bib}{Références}
\bibliographystyle{\iflanguage{french}{cjs-rcs-fr}{cjs-rcs-en}}
@@ -748,8 +777,18 @@
\hbox{\textcolor{CJSpink}{\copy\thr@@}\kern.75pt%
\textcolor{CJSred}{\copy\thr@@}\kern.75pt%
\textcolor{CJSyellow}{\copy\thr@@}\kern3pt}}
-\newcommand*\CJS@historybox{
+\def\CJS@historybox{
\par\addvspace{2\baselineskip}\noindent%
\smash{\box\CJS@historyornament \CJS@history}\par%
\vspace*{40pt}}
\AtEndDocument{\ifCJS@journalinfo\ifCJS@history\CJS@historybox\fi\fi}
+\def\CJS@specialackstatement{}
+\newcommand*\specialack[2]{%
+ \ifstrempty{#1}{}{%
+ \author{#1\CJS@specialackmark}}
+ \ifstrempty{#2}{}{%
+ \CJS@specialacktrue
+ \renewcommand*\CJS@specialackstatement{\CJS@specialackmark\,#2\medskip\newline}}}
+\def\CJS@specialackmark{\textsuperscript{\ensuremath{*}}}
+\newcommand*\specialackmark[1]{%
+ \renewcommand*\CJS@specialackmark{#1}}
diff --git a/Master/texmf-dist/tex/latex/colortbl/colortbl.sty b/Master/texmf-dist/tex/latex/colortbl/colortbl.sty
index edcd882749a..092775d1da8 100644
--- a/Master/texmf-dist/tex/latex/colortbl/colortbl.sty
+++ b/Master/texmf-dist/tex/latex/colortbl/colortbl.sty
@@ -15,7 +15,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{colortbl}
- [2024/02/20 v1.0g Color table columns (DPC)]
+ [2024/07/06 v1.0i Color table columns (DPC)]
\edef\@tempa{%
\noexpand\AtEndOfPackage{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax}}
@@ -132,8 +132,7 @@
\AtBeginDocument{%
\expandafter\def\expandafter\@tabarray\expandafter{%
\expandafter\CT@start\@tabarray}}
-\def\endarray{%
- \crcr \egroup \egroup \@arrayright\gdef\@preamble{}\CT@end}
+\expandafter\def\expandafter\endarray\expandafter{\endarray\CT@end}
\def\@tempa#1\@arstrut#2\relax{
\long\def\multicolumn##1##2##3{%
#1%
@@ -376,8 +375,12 @@
\next}
\lowercase{\def\HH@spacelet} {\futurelet\@tempb \HH@loop}
\fi}
+\ExplSyntaxOn
+\cs_if_exist:NF\tag_mc_begin:n{
+ \cs_new:Npn\tag_mc_begin:n#1{}
+ \cs_new:Npn\tag_mc_end:{}
+}
\AtBeginDocument{
- \ifx\longtable\@undefined\else
\def\LT@@hline{%
\ifx\LT@next\hline
\global\let\LT@next\@gobble
@@ -387,7 +390,10 @@
\else
\gdef\CT@LT@sep{%
\multispan\LT@cols{%
- \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
+ \tag_mc_begin:n{artifact}
+ \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr}%
\fi
\else
\global\let\LT@next\empty
@@ -396,13 +402,20 @@
\fi
\ifnum0=`{\fi}%
\multispan\LT@cols
- {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ {\tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr
\CT@LT@sep
\multispan\LT@cols
- {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ {\tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr
\noalign{\penalty\@M}%
\LT@next}
- \fi}
+ }
+\ExplSyntaxOff
\endinput
%%
%% End of file `colortbl.sty'.
diff --git a/Master/texmf-dist/tex/latex/ms/count1to.sty b/Master/texmf-dist/tex/latex/count1to/count1to.sty
index be52a21ce3e..651c5e29f35 100644
--- a/Master/texmf-dist/tex/latex/ms/count1to.sty
+++ b/Master/texmf-dist/tex/latex/count1to/count1to.sty
@@ -6,67 +6,30 @@
%%
%% count1to.dtx (with options: `package')
%%
-%% Copyright (c) 1994..2009 by Martin Schroeder. All rights reserved.
-%%
-%% This file is part of the Count1to package
+%% Copyright (c) 1994–2009 Martin Schröder, 2024 Marei Peischl (peiTeX) <marei@peitex.de>
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Martin Schroeder.
+%% The Current Maintainer of this work is
+%% Marei Peischl <marei@peitex.de>.
%%
%% This work consists of the files count1to.dtx and count1to.ins
%% and the derived file count1to.sty.
%%
+%% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{count1to}
- [2009/05/24 v2.1 Count1to9 Package (MS)]
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-style-file{
-%% author = {Martin Schr\"oder},
-%% version = "2.1",
-%% date = "24 May 2009",
-%% filename = "count1to.sty",
-%% address = {Martin Schr\"oder
-%% Barmer Stra\"se 14
-%% 44137 Dortmund
-%% Germany}
-%% telephone = "+49-231-1206574",
-%% email = "martin@oneiros.de",
-%% docstring = "LaTeX package which sets count1 to count9,
-%% which can be used to select certain pages
-%% with a driver.
-%% Also provides access to the number of pages
-%% of the document.
-%% Uses the everyshi package."
-%% }
-%% ===================================================================
-%% \fi
-\RequirePackage{everyshi}[1994/12/09]
+ [2024-06-13 v2.11 Count1to9 Package (MS)]
\newif\if@have@part
\newif\if@have@chapter
\newif\if@have@section
@@ -115,7 +78,7 @@
\@countItoIX@ifs\let\@countItoIX@ifs\undefined
\@countItoIX@bugfix\let\@countItoIX@bugfix\undefined
}
-\AtBeginDocument{\@countItoIX@init}
+\AddToHook{begindocument}[count1to-init]{\@countItoIX@init}
\newcommand*{\@countItoIX@shipout}{
\global\advance \count1 by 1
\if@have@part \count2\value{part} \fi
@@ -127,7 +90,13 @@
\if@have@subparagraph \count8\value{subparagraph} \fi
\ifodd\count1\count9=1 \else\count9=0 \fi
}
-\EveryShipout{\@countItoIX@shipout}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{
+\AddToHook{shipout/before}[count1to-shipout]{\@countItoIX@shipout}
+}{
+\RequirePackage{everyshi}
+\EveryShipount{\@countItoIX@shipout}
+}
\endinput
%%
%% End of file `count1to.sty'.
diff --git a/Master/texmf-dist/tex/latex/customenvs/customenvs.sty b/Master/texmf-dist/tex/latex/customenvs/customenvs.sty
index 797a4e65bca..af81d0b88dd 100644
--- a/Master/texmf-dist/tex/latex/customenvs/customenvs.sty
+++ b/Master/texmf-dist/tex/latex/customenvs/customenvs.sty
@@ -3,10 +3,13 @@
% source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{customenvs}[2024/05/17 0.1.5 Custom classic environments]
+\ProvidesPackage{customenvs}[2024/07/13 0.1.8 Custom classic environments]
%====HISTORIQUE
-% v 0.1.6 Boxes for exam title + circled numbers + Vignettes + Small simple boxes creation
+% v 0.1.8 Nutriscore
+% v 0.1.7 Style perso pour les vignettes
+% v 0.1.6 DisplaySkip patch + Patchs pas-tableur
+% v 0.1.5 Boxes for exam title + circled numbers + Vignettes + Small simple boxes creation
% v 0.1.4 Commande (en/fr) pour du texte dans une boîte arrondie, de hauteur 'figée' + 'Chat' SMS
% v 0.1.3 Environnement/Commande pour présentation d'un exercice
% v 0.1.2 Crayon de compétences
@@ -29,6 +32,8 @@
\newif\if@fa\@fatrue%
\DeclareOption{nonfa}{\@fafalse}%
\DeclareOption{nofa}{\@fafalse}%
+\newif\if@pastableur\@pastableurfalse%
+\DeclareOption{pastableur}{\@pastableurtrue}%
\DeclareOption*{}
\ProcessOptions\relax
@@ -55,7 +60,8 @@
\RequirePackage{listofitems}
\RequirePackage{calc}
\RequirePackage{tikz}
-\usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc,babel}
+\usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc}
+\usetikzlibrary{babel}
\RequirePackage{tcolorbox}
\RequirePackage{varwidth}
\tcbuselibrary{skins}
@@ -1090,6 +1096,93 @@
title={\@ifpackageloaded{babel}{\NoAutoSpacing#2}{#2}\IfBooleanTF{#1}{}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}},left=1mm,right=1mm,boxsep=0mm]{#3}%
}
+%====Nutriscore
+\definecolor{couleurNS1}{RGB}{45,126,67}
+\definecolor{couleurNS2}{RGB}{151,186,56}
+\definecolor{couleurNS3}{RGB}{240,202,13}
+\definecolor{couleurNS4}{RGB}{213,123,26}
+\definecolor{couleurNS5}{RGB}{197,52,25}
+\tikzset{noeudNS/.style={pos=0.5,xscale=\echellexNS*\hauteurNS,yscale=\echelleyNS*\hauteurNS}}
+
+\defKV[NUTRISCORE]{%
+ Hauteur=\pgfmathsetmacro{\hauteurNS}{#1},%
+ Ratio=\pgfmathsetmacro{\ratiolargeurbandeNS}{#1},%
+ Symboles=\def\lettresNS{#1},%
+ Legende=\def\legendeNS{#1},%
+ Police=\def\fonteNS{#1},%
+ Couleurs=\def\couleursNS{#1},%
+ EchelleSymboles=\def\echellesymbNS{#1},%
+ CouleurFond=\def\coulbgNS{#1}
+}
+\setKVdefault[NUTRISCORE]{%
+ Hauteur=1,%
+ Ratio={0.6},%
+ Symboles={A,B,C,D,E},%
+ Legende={score},%
+ Police=\sffamily\bfseries,%
+ AffLegende=true,%
+ Couleurs={couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5},%
+ EchelleSymboles={1.25,1.65},%
+ CouleurFond=white
+}
+
+\NewDocumentCommand\BandeauScore{ O{} D<>{} m }{%
+ \restoreKV[NUTRISCORE]%
+ \setKV[NUTRISCORE]{#1}%
+ \IfEq{#3}{}%
+ {%
+ \xdef\numcasNS{0}%
+ }%
+ {%
+ \xdef\numcasNS{#3}%
+ }%
+ \readlist\letterListNS{\lettresNS}%
+ \xdef\nbcasesNS{\letterListNSlen}%
+ \readlist\colorListNS{\couleursNS}%
+ \xdef\nbcouleursNS{\colorListNSlen}%
+ \pgfmathsetmacro{\largeurcaseNS}{\hauteurNS*\ratiolargeurbandeNS}%
+ \pgfmathsetmacro{\largeurbandeNS}{\largeurcaseNS*\nbcasesNS}%
+ \pgfmathsetmacro{\margeNS}{0.225*\largeurcaseNS/2.4}%
+ \IfSubStr{\echellesymbNS}{,}%
+ {%
+ \StrCut{\echellesymbNS}{,}{\echellexNS}{\echelleyNS}%
+ }%
+ {%
+ \xdef\echellexNS{\echellesymbNS}\xdef\echelleyNS{\echellesymbNS}%
+ }%
+ \begin{tikzpicture}[font=\fonteNS,#2]
+ %---test
+ \filldraw[white,rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,opacity=0] ({-\margeNS},{-\margeNS}) rectangle++ (\nbcasesNS*\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) ;
+ %---testfin
+ \begin{scope}
+ \clip[rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm] (0,0) rectangle (\largeurbandeNS,\hauteurNS);
+ \foreach \tmpiii in {1,...,\letterListNSlen}{%
+ \ifnum\tmpiii=\numcasNS
+ \else
+ \ifnum\tmpiii>\nbcouleursNS
+ \fill[draw=none,lightgray] ({(\tmpiii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\tmpiii]};
+ \else
+ \fill[draw=none,{\colorListNS[\tmpiii]}] ({(\tmpiii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\tmpiii]};
+ \fi
+ \fi
+ }%
+ \end{scope}
+ \xintifboolexpr{\numcasNS >=1 'and' \numcasNS <= \nbcasesNS }%
+ {%
+ \begin{scope}
+ %\clip (-\margeNS,-\margeNS) rectangle++ (\largeurbandeNS+2*\margeNS,\hauteurNS+2*\margeNS);
+ \draw[draw=\coulbgNS,rounded corners=\fpeval{7.25*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,fill={\colorListNS[#3]}] ({(\numcasNS-1)*\largeurcaseNS-\margeNS},{-\margeNS}) rectangle++ (\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) node[noeudNS,white]{\letterListNS[\numcasNS]};
+ \end{scope}
+ }%
+ {%
+ }%
+ %légende
+ \ifboolKV[NUTRISCORE]{AffLegende}%
+ {%
+ \node[above right=1pt,gray,scale=\fpeval{0.5*\hauteurNS},inner sep=1pt] at ({0.125*\margeNS},1.02*\hauteurNS) {\vphantom{QÉ}\MakeUppercase{\legendeNS}};
+ }{}%
+ \end{tikzpicture}%
+}
%%----COMMANDES EN
@@ -1690,8 +1783,8 @@
}
}
-\defKV[cevignette]{Type=\def\cevignettetype{#1},Couleur=\def\cevignettecolor{#1},Police=\def\cevignettefont{#1}}
-\setKVdefault[cevignette]{Type={},Couleur={darkgray},Police=\footnotesize}
+\defKV[cevignette]{Type=\def\cevignettetype{#1},Couleur=\def\cevignettecolor{#1},Police=\def\cevignettefont{#1},Echelle=\def\cevignettescaleperso{#1}}
+\setKVdefault[cevignette]{Type={},Couleur={darkgray},Police=\footnotesize,Echelle=0.55}
\NewDocumentCommand\AffVignette{ s O{} m }{%
\restoreKV[cevignette]%
@@ -1708,7 +1801,310 @@
{shell}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignetteshell]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
{tex}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettelatex]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
{sheet}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettetableur]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
- }\relax%
+ }%
+ \IfSubStr{\cevignettetype}{perso}%
+ {%
+ \StrBehind{\cevignettetype}{/}[\cevignettelabelperso]%
+ \tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettes,left=6pt,coltitle=white,colback=white,underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{\cevignettescaleperso}[0.75]{\textbf{\cevignettelabelperso}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}%
+ }%
+ {}%
+ \relax%
+}
+
+%====DisplaySkip [en]
+\defKV[DisplaySkip]{%
+ aboveds=\def\ceabovedisplayskip{#1},%
+ abovedsshort=\def\ceabovedisplayskipshort{#1},%
+ belowdds=\def\cebelowdisplayskip{#1},%
+ belowdsshort=\def\cebelowdisplayskipshort{#1},%
+ global=\def\globaldisplayskip{#1}
+}
+
+\setKVdefault[DisplaySkip]{%
+ aboveds={12pt plus 3pt minus 9pt},%
+ abovedsshort={0pt plus 3pt},%
+ belowdds={12pt plus 3pt minus 9pt},%
+ belowdsshort={7pt plus 3pt minus 4pt},%
+ global={},%
+ shrink=false
+}
+\NewDocumentCommand\ChangeSpacingDisplaySkip{ O{} }{%
+ \restoreKV[DisplaySkip]%
+ \setKV[DisplaySkip]{#1}%
+ \ifboolKV[DisplaySkip]{shrink}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=0.33\baselineskip
+ \abovedisplayshortskip=0.33\baselineskip
+ \belowdisplayskip=0.33\baselineskip
+ \belowdisplayshortskip=0.33\baselineskip
+ }
+ }%
+ {%
+ \IfStrEq{\globaldisplayskip}{}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\ceabovedisplayskip
+ \abovedisplayshortskip=\ceabovedisplayskipshort
+ \belowdisplayskip=\cebelowdisplayskip
+ \belowdisplayshortskip=\cebelowdisplayskipshort
+ }
+ }%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\globaldisplayskip
+ \abovedisplayshortskip=\globaldisplayskip
+ \belowdisplayskip=\globaldisplayskip
+ \belowdisplayshortskip=\globaldisplayskip
+ }
+ }%
+ }%
+}
+
+%====DisplaySkip [fr]
+\defKV[DisplaySkipFr]{%
+ Avant=\def\ceabovedisplayskip{#1},%
+ AvantS=\def\ceabovedisplayskipshort{#1},%
+ Apres=\def\cebelowdisplayskip{#1},%
+ ApresS=\def\cebelowdisplayskipshort{#1},%
+ Global=\def\globaldisplayskip{#1}
+}
+
+\setKVdefault[DisplaySkipFr]{%
+ Avant={12pt plus 3pt minus 9pt},%
+ AvantS={0pt plus 3pt},%
+ Apres={12pt plus 3pt minus 9pt},%
+ ApresS={7pt plus 3pt minus 4pt},%
+ Global={},%
+ Dense=false
+}
+\NewDocumentCommand\ChangerDisplaySkip{ O{} }{%
+ \restoreKV[DisplaySkipFr]%
+ \setKV[DisplaySkipFr]{#1}%
+ \ifboolKV[DisplaySkipFr]{Dense}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=0.33\baselineskip
+ \abovedisplayshortskip=0.33\baselineskip
+ \belowdisplayskip=0.33\baselineskip
+ \belowdisplayshortskip=0.33\baselineskip
+ }
+ }%
+ {%
+ \IfStrEq{\globaldisplayskip}{}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\ceabovedisplayskip
+ \abovedisplayshortskip=\ceabovedisplayskipshort
+ \belowdisplayskip=\cebelowdisplayskip
+ \belowdisplayshortskip=\cebelowdisplayskipshort
+ }
+ }%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\globaldisplayskip
+ \abovedisplayshortskip=\globaldisplayskip
+ \belowdisplayskip=\globaldisplayskip
+ \belowdisplayshortskip=\globaldisplayskip
+ }
+ }%
+ }%
+}
+
+%====Patchs pas-tableur
+\if@pastableur
+
+\RequirePackage{pas-tableur}
+
+\renewcommand{\pastableur@grid}[4] % #1 : width, #2 : name, #3 : numline, #4 : coord.
+{%
+ \node[celempty,below,minimum height=\line@height,minimum width=#1] (cell#2-#3) at (#4) {};%
+ \draw[graySepCell] ($(cell#2-#3.south west)+(0.2pt,0)$) -- (cell#2-#3.south east) -- ($(cell#2-#3.north east)+(0,-0.2pt)$);%
+}
+
+\renewcommand{\pastab@draw@cell}[5]
+% #1 : \first@width, #2 : \first@name, #3 : 0=colonne1 / 1=autres colonnes /
+% 2 = ligne 1, #4 : coord., #5 : contenu
+{%
+ \ifnum#3=0%
+ \tikzstyle{cellstyle} = [celhead,minimum width={#1},minimum height=\line@height]%
+ \def\pastableur@coord{(0,0)}%
+ \else%
+ \ifnum#3=1%
+ \tikzstyle{cellstyle} = [celhead,right,minimum width={#1},minimum height=\line@height]%
+ \else
+ \ifnum#3=2%
+ \tikzstyle{cellstyle} = [below left,celhead,minimum width={#1},minimum height=\line@height]
+ \else%
+ \tikzstyle{cellstryle} = [below,celhead,minimum width={#1},minimum height=\line@height]
+ \fi%
+ \fi%
+ \def\pastableur@coord{(#4)}%
+ \fi%
+ \node[cellstyle] (#2) at \pastableur@coord {\helvbx#5};%
+ \fill[grayBottomCell] (#2.south west) rectangle (#2.north east) ;%
+ \fill[grayTopCell] (#2.north west) rectangle ($0.5*(#2.south east)+0.5*(#2.north east)$) ;%
+ \node[minimum width={#1},minimum height=\line@height,cellstyle] at \pastableur@coord {\helvbx#5};%
+}
+
+\NewDocumentCommand\celcouleur{ O{graySepCell!50} m }{%OK
+ \draw[draw=none,fill=#1] ($(cell#2.south west)+(0.2pt,0.2pt)$) rectangle ($(cell#2.north east) + (-0.2pt,-0.2pt)$) ;%
+}
+
+\defKV[celparam]{align=\def\pastableurfusalign{#1},width=\def\pastableurfuswidth{#1}}
+\setKVdefault[celparam]{align=left,width={\col@width}}
+
+\NewDocumentCommand\celfusion{ O{} m m m }{%OK
+ \restoreKV[celparam]%
+ \setKV[celparam]{#1}%
+ \IfStrEq{#4}{}%
+ {%
+ \draw[draw=none,fill=white] ($(cell#2.south west)+(0.2pt,0.2pt)$) rectangle ($(cell#3.north east) + (-0.2pt,-0.2pt)$);
+ }%
+ {%
+ \draw[draw=none,fill=white] ($(cell#2.south west)+(0.2pt,0.2pt)$) rectangle ($(cell#3.north east) + (-0.2pt,-0.2pt)$) node[midway,text width=\dimexpr\pastableurfuswidth-4pt,align=\pastableurfusalign] {#4};
+ }%
+}
+
+\NewDocumentCommand\celnumbreak{ m m m }{%
+ \def\numpointilles{#1}
+ \xdef\numavant{\inteval{\numpointilles-1}}%
+ \def\numdebut{#2}\def\numfin{#3}
+ \foreach \num@line [remember=\num@line as \lastnum (initially \numavant)] in {\numpointilles}
+ {%
+ \pastab@draw@cell{\numline@width}{numline\num@line}{3}{numline\lastnum.south east}{\dots}%
+ }%
+ \foreach \num@line [remember=\num@line as \lastnum (initially \numpointilles)] in {\numdebut,\numfin}
+ {%
+ \pastab@draw@cell{\numline@width}{numline\num@line}{3}{numline\lastnum.south east}{\num@line}%
+ }%
+}
+
+\NewDocumentCommand\lignetxt{ s O{} m D<>{1} m }{%3=num ligne,%5=liste
+ \IfBooleanTF{#1}%
+ {
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}%
+ \StrChar{ABCDEFGHIJKLMNOPQRSTUVWXYZ}{\j}[\iltr]%
+ \IfEq{\x}{}{}{\celtxt*[#2]{\iltr}{#3}{\x}}%
+ }%
+ }%
+ {%
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}%
+ \StrChar{ABCDEFGHIJKLMNOPQRSTUVWXYZ}{\j}[\iltr]%
+ \IfEq{\x}{}{}{\celtxt[#2]{\iltr}{#3}{\x}}%
+ }%
+ }%
+}
+
+\NewDocumentCommand\colonnetxt{ s O{} m D<>{1} m }{%3=lettre colonne,%5=liste
+ \IfBooleanTF{#1}%
+ {%
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}
+ \IfStrEq{\x}{}{}{\celtxt*[#2]{#3}{\j}{\x}}%
+ }%
+ }%
+ {%
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}
+ \IfStrEq{\x}{}{}{\celtxt[#2]{#3}{\j}{\x}}%
+ }%
+ }%
+}
+
+\fi
+
+%====BannerScore
+\definecolor{colorNS1}{RGB}{45,126,67}
+\definecolor{colorNS2}{RGB}{151,186,56}
+\definecolor{colorNS3}{RGB}{240,202,13}
+\definecolor{colorNS4}{RGB}{213,123,26}
+\definecolor{colorNS5}{RGB}{197,52,25}
+\tikzset{nodeNS/.style={pos=0.5,xscale=\echellexNS*\hauteurNS,yscale=\echelleyNS*\hauteurNS}}
+
+\defKV[NUTRISCOREEN]{%
+ Height=\pgfmathsetmacro{\hauteurNS}{#1},%
+ Ratio=\pgfmathsetmacro{\ratiolargeurbandeNS}{#1},%
+ Symbols=\def\lettresNS{#1},%
+ Legend=\def\legendeNS{#1},%
+ Font=\def\fonteNS{#1},%
+ Colors=\def\couleursNS{#1},%
+ ScaleSymbols=\def\echellesymbNS{#1},%
+ Colbg=\def\coulbgNS{#1}
+}
+\setKVdefault[NUTRISCOREEN]{%
+ Height=1,%
+ Ratio={0.6},%
+ Symbols={A,B,C,D,E},%
+ Legend={score},%
+ Font=\sffamily\bfseries,%
+ ShowLegend=true,%
+ Colors={colorNS1,colorNS2,colorNS3,colorNS4,colorNS5},%
+ ScaleSymbols={1.25,1.65},%
+ Colbg=white
+}
+
+\NewDocumentCommand\ScoreBanner{ O{} D<>{} m }{%
+ \restoreKV[NUTRISCOREEN]%
+ \setKV[NUTRISCOREEN]{#1}%
+ \IfEq{#3}{}%
+ {%
+ \xdef\numcasNS{0}%
+ }%
+ {%
+ \xdef\numcasNS{#3}%
+ }%
+ \readlist\letterListNS{\lettresNS}%
+ \xdef\nbcasesNS{\letterListNSlen}%
+ \readlist\colorListNS{\couleursNS}%
+ \xdef\nbcouleursNS{\colorListNSlen}%
+ \pgfmathsetmacro{\largeurcaseNS}{\hauteurNS*\ratiolargeurbandeNS}%
+ \pgfmathsetmacro{\largeurbandeNS}{\largeurcaseNS*\nbcasesNS}%
+ \pgfmathsetmacro{\margeNS}{0.225*\largeurcaseNS/2.4}%
+ \IfSubStr{\echellesymbNS}{,}%
+ {%
+ \StrCut{\echellesymbNS}{,}{\echellexNS}{\echelleyNS}%
+ }%
+ {%
+ \xdef\echellexNS{\echellesymbNS}\xdef\echelleyNS{\echellesymbNS}%
+ }%
+ \begin{tikzpicture}[font=\fonteNS,#2]
+ %---test
+ \filldraw[white,rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,opacity=0] ({-\margeNS},{-\margeNS}) rectangle++ (\nbcasesNS*\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) ;
+ %---testfin
+ \begin{scope}
+ \clip[rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm] (0,0) rectangle (\largeurbandeNS,\hauteurNS);
+ \foreach \iii in {1,...,\letterListNSlen}{%
+ \ifnum\iii=\numcasNS
+ \else
+ \ifnum\iii>\nbcouleursNS
+ \fill[draw=none,lightgray] ({(\iii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\iii]};
+ \else
+ \fill[draw=none,{\colorListNS[\iii]}] ({(\iii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\iii]};
+ \fi
+ \fi
+ }%
+ \end{scope}
+ \xintifboolexpr{\numcasNS >=1 'and' \numcasNS <= \nbcasesNS }%
+ {%
+ \begin{scope}
+ %\clip (-\margeNS,-\margeNS) rectangle++ (\largeurbandeNS+2*\margeNS,\hauteurNS+2*\margeNS);
+ \draw[draw=\coulbgNS,rounded corners=\fpeval{7.25*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,fill={\colorListNS[#3]}] ({(\numcasNS-1)*\largeurcaseNS-\margeNS},{-\margeNS}) rectangle++ (\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) node[noeudNS,white]{\letterListNS[#3]};
+ \end{scope}
+ }%
+ {}%
+ %légende
+ \ifboolKV[NUTRISCOREEN]{ShowLegend}%
+ {%
+ \node[above right=1pt,gray,scale=\fpeval{0.5*\hauteurNS},inner sep=1pt] at ({0.125*\margeNS},1.02*\hauteurNS) {\MakeUppercase{\legendeNS}};
+ }{}%
+ \end{tikzpicture}%
}
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/cyrillic/t2aenc.def b/Master/texmf-dist/tex/latex/cyrillic/t2aenc.def
index 01b2ffa1402..ddd2beadd01 100644
--- a/Master/texmf-dist/tex/latex/cyrillic/t2aenc.def
+++ b/Master/texmf-dist/tex/latex/cyrillic/t2aenc.def
@@ -38,7 +38,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesFile{t2aenc.def}
- [2022/06/11 v1.0j Cyrillic encoding definition file]
+ [2023/11/07 v1.0k Cyrillic encoding definition file]
\DeclareFontEncoding{T2A}{}{}
\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}
\DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
@@ -66,7 +66,7 @@
{\hmode@bgroup
\o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-1ex}.\hidewidth}\egroup}
\DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
- {\oalign{\null#1\crcr\hidewidth\char12}}
+ {\hmode@bgroup\oalign{\null#1\crcr\hidewidth\char12}\egroup}
\DeclareTextCommand{\textperthousand}{\LastDeclaredEncoding}
{\%\char 24 }
\DeclareTextCommand{\textpertenthousand}{\LastDeclaredEncoding}
diff --git a/Master/texmf-dist/tex/latex/cyrillic/t2benc.def b/Master/texmf-dist/tex/latex/cyrillic/t2benc.def
index af5141f9638..14fae2fccd9 100644
--- a/Master/texmf-dist/tex/latex/cyrillic/t2benc.def
+++ b/Master/texmf-dist/tex/latex/cyrillic/t2benc.def
@@ -38,7 +38,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesFile{t2benc.def}
- [2022/06/11 v1.0j Cyrillic encoding definition file]
+ [2023/11/07 v1.0k Cyrillic encoding definition file]
\DeclareFontEncoding{T2B}{}{}
\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}
\DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
@@ -66,7 +66,7 @@
{\hmode@bgroup
\o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-1ex}.\hidewidth}\egroup}
\DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
- {\oalign{\null#1\crcr\hidewidth\char12}}
+ {\hmode@bgroup\oalign{\null#1\crcr\hidewidth\char12}\egroup}
\DeclareTextCommand{\textperthousand}{\LastDeclaredEncoding}
{\%\char 24 }
\DeclareTextCommand{\textpertenthousand}{\LastDeclaredEncoding}
diff --git a/Master/texmf-dist/tex/latex/cyrillic/t2cenc.def b/Master/texmf-dist/tex/latex/cyrillic/t2cenc.def
index be5008d0f00..40b36ca1ad2 100644
--- a/Master/texmf-dist/tex/latex/cyrillic/t2cenc.def
+++ b/Master/texmf-dist/tex/latex/cyrillic/t2cenc.def
@@ -38,7 +38,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesFile{t2cenc.def}
- [2022/06/11 v1.0j Cyrillic encoding definition file]
+ [2023/11/07 v1.0k Cyrillic encoding definition file]
\DeclareFontEncoding{T2C}{}{}
\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}
\DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
@@ -66,7 +66,7 @@
{\hmode@bgroup
\o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-1ex}.\hidewidth}\egroup}
\DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
- {\oalign{\null#1\crcr\hidewidth\char12}}
+ {\hmode@bgroup\oalign{\null#1\crcr\hidewidth\char12}\egroup}
\DeclareTextCommand{\textperthousand}{\LastDeclaredEncoding}
{\%\char 24 }
\DeclareTextCommand{\textpertenthousand}{\LastDeclaredEncoding}
diff --git a/Master/texmf-dist/tex/latex/cyrillic/x2enc.def b/Master/texmf-dist/tex/latex/cyrillic/x2enc.def
index 9684f6fe14f..779b9370230 100644
--- a/Master/texmf-dist/tex/latex/cyrillic/x2enc.def
+++ b/Master/texmf-dist/tex/latex/cyrillic/x2enc.def
@@ -38,7 +38,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesFile{x2enc.def}
- [2022/06/11 v1.0j Cyrillic encoding definition file]
+ [2023/11/07 v1.0k Cyrillic encoding definition file]
\DeclareFontEncoding{X2}{}{}
\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}
\DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
@@ -66,7 +66,7 @@
{\hmode@bgroup
\o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-1ex}.\hidewidth}\egroup}
\DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
- {\oalign{\null#1\crcr\hidewidth\char12}}
+ {\hmode@bgroup\oalign{\null#1\crcr\hidewidth\char12}\egroup}
\DeclareTextCommand{\textperthousand}{\LastDeclaredEncoding}
{\%\char 24 }
\DeclareTextCommand{\textpertenthousand}{\LastDeclaredEncoding}
diff --git a/Master/texmf-dist/tex/latex/dashrulex/dashrulex.sty b/Master/texmf-dist/tex/latex/dashrulex/dashrulex.sty
index 915d61a0d1e..090cfe2931f 100644
--- a/Master/texmf-dist/tex/latex/dashrulex/dashrulex.sty
+++ b/Master/texmf-dist/tex/latex/dashrulex/dashrulex.sty
@@ -9,7 +9,7 @@
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2012/02/12]
\RequirePackage{xparse}
-\ProvidesExplPackage{dashrulex}{2024/03/25}{1.00c}
+\ProvidesExplPackage{dashrulex}{2024/07/18}{1.01a}
{Draw dashed rules}
\DeclareDocumentCommand{\hdashrule}{O{0pt}O{x}mmm}
{
@@ -72,7 +72,7 @@
\int_if_even:nTF { \l__drx_vrule_counter_int }
{ \drx@step@counter@height{##1} }
{
- \kern -#4
+ \tex_kern:D -#4
\exp_args:NV
\raisebox\l__drx_vrule_height_dim{\rule{#4}{##1}}
\drx@step@counter@height{##1}
diff --git a/Master/texmf-dist/tex/latex/delimset/delimset.sty b/Master/texmf-dist/tex/latex/delimset/delimset.sty
index 3646c0d17bc..28ba8ba53e3 100644
--- a/Master/texmf-dist/tex/latex/delimset/delimset.sty
+++ b/Master/texmf-dist/tex/latex/delimset/delimset.sty
@@ -6,7 +6,7 @@
%%
%% delimset.dtx (with options: `package')
%%
-%% Copyright (C) 2016-2018 Niklas Beisert
+%% Copyright (C) 2016-2024 Niklas Beisert
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesPackage{delimset}[2018/12/30 v1.1 convenient size control for delimiter sets]
+\ProvidesPackage{delimset}[2024/07/17 v2.0 convenient size control for delimiter sets]
\RequirePackage{amsmath}
\RequirePackage{keyval}
@@ -47,106 +47,220 @@
{\bBigg@choice{\scriptscriptstyle}{0.5}{#1}{#2}}}}
\fi
-\newcommand{\bigp}{\mathpunct\big}
-\newcommand{\Bigp}{\mathpunct\Big}
-\newcommand{\biggp}{\mathpunct\bigg}
-\newcommand{\Biggp}{\mathpunct\Bigg}
-\newcommand{\bigb}{\mathbin\big}
-\newcommand{\Bigb}{\mathbin\Big}
-\newcommand{\biggb}{\mathbin\bigg}
-\newcommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigp}{\mathpunct\big}
+\providecommand{\Bigp}{\mathpunct\Big}
+\providecommand{\biggp}{\mathpunct\bigg}
+\providecommand{\Biggp}{\mathpunct\Bigg}
+\providecommand{\bigb}{\mathbin\big}
+\providecommand{\Bigb}{\mathbin\Big}
+\providecommand{\biggb}{\mathbin\bigg}
+\providecommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigi}{\mathinner\big}
+\providecommand{\Bigi}{\mathinner\Big}
+\providecommand{\biggi}{\mathinner\bigg}
+\providecommand{\Biggi}{\mathinner\Bigg}
+\newlength\delimsize
+\newcommand{\dlm@setvar}{\let\dlm@ifvar\@firstoftwo\delimsize1.5\big@size}
+\newcommand{\dlm@setsize}[1]{\let\dlm@ifvar\@secondoftwo%
+ \delimsize#1\big@size\advance\delimsize by\big@size\delimsize0.5\delimsize}
+\newcommand{\dlm@setabssize}[1]{\let\dlm@ifvar\@secondoftwo\delimsize#1\relax}
+\newcommand{\dlm@big@}[1]{{\mathchoice%
+ {\dlm@big@choice{\displaystyle}{1}{#1}}%
+ {\dlm@big@choice{\textstyle}{1}{#1}}%
+ {\dlm@big@choice{\scriptstyle}{0.7}{#1}}%
+ {\dlm@big@choice{\scriptscriptstyle}{0.5}{#1}}}}
+\newcommand{\dlm@big@choice}[3]{\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {#1\left#3\vcenter to#2\delimsize{}\right.}\box\z@}
+\newcommand{\kerndelim}[1]{{\delimsize#1\delimsize%
+ \mkern\muexpr1.2mu*\delimsize/\big@size\relax}}
+
+\newcommand{\dlm@big}[2]{\dlm@plain{#1}{\dlm@big@#2}}
+\newcommand{\dlm@plain}[2]{\dlm@class{#1}{\dlm@phantom{#2}}}
\newcommand{\dlm@class}[1]{\csname dlm@class@#1\endcsname}
-\newcommand{\dlm@class@}{}
-\newcommand{\dlm@class@l}{\mathopen}
-\newcommand{\dlm@class@r}{\mathclose}
-\newcommand{\dlm@class@o}{\mathopen}
-\newcommand{\dlm@class@c}{\mathclose}
-\newcommand{\dlm@class@m}{\mathrel}
-\newcommand{\dlm@class@p}{\mathpunct}
-\newcommand{\dlm@class@b}{\mathbin}
-\newcommand{\dlm@norm}[1]{\dlm@class{#1}\bBigg@{0.0}}
-\newcommand{\dlm@big}[1]{\dlm@class{#1}\big}
-\newcommand{\dlm@Big}[1]{\dlm@class{#1}\Big}
-\newcommand{\dlm@bigg}[1]{\dlm@class{#1}\bigg}
-\newcommand{\dlm@Bigg}[1]{\dlm@class{#1}\Bigg}
+\let\dlm@class@\@firstofone
+\let\dlm@class@o\mathord
+\let\dlm@class@c\mathord
+\let\dlm@class@p\mathpunct
+\let\dlm@class@i\mathinner
+\let\dlm@class@b\mathbin
+\let\dlm@class@m\mathrel
+
+\newcommand{\dlm@var@null}[1]{\if.#1\kern-\nulldelimiterspace\fi}
+\newcommand{\dlm@var@kern}[1]{\nonscript\mkern#1}
\newcommand{\dlm@var}[1]{\csname dlm@var@#1\endcsname}
-\newcommand{\dlm@var@}[1]{\middle#1}
-\newcommand{\dlm@var@l}[1]{\mathopen{}\mathclose\bgroup\left#1}
-\newcommand{\dlm@var@r}[1]{\right#1\egroup}
-\newcommand{\dlm@var@o}[1]{\mathopen{}\middle#1\mathopen{}}
-\newcommand{\dlm@var@c}[1]{\mathclose{}\middle#1\mathclose{}}
-\newcommand{\dlm@var@m}[1]{\mathrel{}\middle#1\mathrel{}}
-\newcommand{\dlm@var@p}[1]{\middle#1\mathpunct{}}
-\newcommand{\dlm@var@b}[1]{\mathbin{}{}\mkern-\medmuskip%
- \middle#1\mkern-\medmuskip{}\mathbin{}}
-
-\newcommand{\dlm@parsesize}[1]{\@ifnextchar\bgroup%
- {\dlm@parsesize@{#1}{0}}{\dlm@parsesize@{#1}}}
-\newcommand{\dlm@parsesize@}[2]{\let\dlm@arg\dlm@norm%
- \if0#2\let\dlm@arg\dlm@norm\fi%
- \if1#2\let\dlm@arg\dlm@big\fi%
- \if+#2\let\dlm@arg\dlm@big\fi%
- \if!#2\let\dlm@arg\dlm@big\fi%
- \if2#2\let\dlm@arg\dlm@Big\fi%
- \if3#2\let\dlm@arg\dlm@bigg\fi%
- \if4#2\let\dlm@arg\dlm@Bigg\fi%
- \if*#2\let\dlm@arg\dlm@var\fi%
- #1}
-
-\newcommand{\selectdelim}[2][]{\if.#1#2\else\dlm@arg{#1}#2\fi}
+\newcommand{\dlm@var@}[1]{\dlm@var@null#1\middle#1}
+\let\dlm@var@o\dlm@var@
+\let\dlm@var@c\dlm@var@
+\newcommand{\dlm@var@p}[1]{\dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@i}[1]{\dlm@var@kern\thinmuskip%
+ \dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@b}[1]{\dlm@var@kern\medmuskip%
+ \dlm@var@#1\dlm@var@kern\medmuskip}
+\newcommand{\dlm@var@m}[1]{\dlm@var@kern\thickmuskip%
+ \dlm@var@#1\dlm@var@kern\thickmuskip}
+
+\newcommand{\dlm@open@i}{\mathinner{}\mathclose{}\mathopen}
+\newcommand{\dlm@close@i}{\mathclose{}\mathopen{}\mathinner}
+\newcommand{\dlm@inner@oc}{\mathopen{}\mathclose}
+\newcommand{\dlm@enclose@openclose}{%
+ \let\dlm@open\mathopen\let\dlm@close\mathclose\let\dlm@inner\dlm@inner@oc}
+\newcommand{\dlm@enclose@inner}{%
+ \let\dlm@open\dlm@open@i\let\dlm@close\dlm@close@i\let\dlm@inner\mathinner}
+
+\newcommand{\dlm@inline@l}[1]{\dlm@open{#1}}
+\newcommand{\dlm@inline@r}[1]{\dlm@close{#1}}
+\newcommand{\dlm@block@l}[1]{\dlm@inner\bgroup\mathopen{#1}}
+\newcommand{\dlm@block@r}[1]{\mathclose{#1}\egroup}
+\newcommand{\dlm@enclose@inline}{%
+ \let\dlm@class@l\dlm@inline@l\let\dlm@class@r\dlm@inline@r}
+\newcommand{\dlm@enclose@block}{%
+ \let\dlm@class@l\dlm@block@l\let\dlm@class@r\dlm@block@r}
+
+\newcommand{\dlm@plain@l}[1]{\dlm@class@l{\dlm@phantom{#1}}}
+\newcommand{\dlm@plain@r}[1]{\dlm@class@r{\dlm@phantom{#1}}}
+\newcommand{\dlm@big@l}[1]{\dlm@plain@l{\dlm@big@#1}}
+\newcommand{\dlm@big@r}[1]{\dlm@plain@r{\dlm@big@#1}}
+\newcommand{\dlm@var@l}[1]{\dlm@inner\bgroup\dlm@var@null#1\left#1}
+\newcommand{\dlm@var@r}[1]{\right#1\dlm@var@null#1\egroup}
+\newcommand{\dlm@var@pl}[1]{\dlm@var@l.\mathopen{#1}}
+\newcommand{\dlm@var@pr}[1]{\mathclose{#1}\dlm@var@r.}
+
+\newcommand{\dlm@reg@save@init}[1]{%
+ \xdef#1{\delimsize\the\delimsize}\ifx\dlm@inner\mathinner%
+ \expandafter\gdef\expandafter#1\expandafter{#1\dlm@enclose@inner}\fi}
+\newcommand{\dlm@reg@save}[2]{%
+ \expandafter\dlm@reg@save@init\csname dlm@reg@init@#1\endcsname%
+ \expandafter\gdef\csname dlm@reg@sel@#1\endcsname{#2}}
+\newcommand{\dlm@reg@init}[1]{\csname dlm@reg@init@#1\endcsname}
+\newcommand{\dlm@reg@sel}[1]{\csname dlm@reg@sel@#1\endcsname}
+
+\newcommand{\parsedelimflags}{\dlm@setsize{0.6}\let\dlm@phantom\@firstofone%
+ \dlm@enclose@openclose\dlm@enclose@inline\dlm@parseflags}
+\newcommand{\dlm@parseflags}[2]{%
+ \@ifnextchar\bgroup{#1}{\dlm@parseflag{#1}{#2}}}
+\newcommand{\dlm@parseflag}[3]{\begingroup%
+ \ifcsname dlm@parseflag@\string#3\endcsname%
+ \def\dlm@do{\csname dlm@parseflag@\string#3\endcsname{#1}{#2}}\else%
+ \def\dlm@do{\PackageError{delimset}%
+ {unknown delimiter set flag `\string#3'}{}#1}%
+ \fi\expandafter\endgroup\dlm@do}
+\newcommand{\dlm@parsedef}[3]{%
+ \expandafter\def\csname dlm@parseflag@\string#1\endcsname ##1##2#2{#3}}
+
+\dlm@parsedef{!}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{+}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{0}{}{\dlm@setsize{0.6}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{1}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{2}{}{\dlm@setsize{2}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{3}{}{\dlm@setsize{3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{4}{}{\dlm@setsize{4}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{^}{#3}{\dlm@setsize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{_}{#3}{\dlm@setabssize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{*}{}{\dlm@setvar\dlm@parseflags{#1}{#2}}
+
+\dlm@parsedef{(}{}{\def\selecteddelim{0}#2}
+\dlm@parsedef{|}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{,}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{)}{}{\def\selecteddelim{9}#2}
+\dlm@parsedef{?}{#3}{\def\selecteddelim{#3}#2}
+
+\dlm@parsedef{[}{}{\dlm@reg@save{.}{#2}\def\selecteddelim{0}#2}
+\dlm@parsedef{]}{}{\dlm@reg@init{.}\def\selecteddelim{9}\dlm@reg@sel{.}}
+\dlm@parsedef{>}{#3}{\dlm@reg@save{#3}{#2}}
+\dlm@parsedef{<}{#3}{\dlm@reg@init{#3}\dlm@parseflags%
+ {\PackageError{delimset}{must select delimiter}{}}{\dlm@reg@sel{#3}}}
+
+\dlm@parsedef{.}{}{#1}
+\dlm@parsedef{:}{}{\dlm@enclose@block\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{'}{}{\dlm@enclose@openclose\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{"}{}{\dlm@enclose@inner\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{-}{}{\let\dlm@phantom\phantom\dlm@parseflags{#1}{#2}}
+
+\newcommand{\selectdelim}[1][]{\begingroup\def\dlm@do{\@ifstar{\dlm@plain{#1}}%
+ {\dlm@ifvar{\dlm@var{#1}}{\dlm@big{#1}}}}%
+ \if.#1\let\dlm@do\@empty\fi\expandafter\endgroup\dlm@do}
+\newcommand{\selectdeliml}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pl\dlm@plain@l}{\dlm@ifvar\dlm@var@l\dlm@big@l}}
+\newcommand{\selectdelimr}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pr\dlm@plain@r}{\dlm@ifvar\dlm@var@r\dlm@big@r}}
\newcommand{\DeclareMathDelimiterSet}[1]{\expandafter\dlm@declare%
\csname dlm@dcl@\expandafter\@gobble\string#1\endcsname{#1}}
-\def\dlm@declare#1#2{\newcommand{#2}{\dlm@parsesize{#1}}\newcommand{#1}}
+\def\dlm@declare#1#2{\expandafter\dlm@declare@%
+ \csname dlm@sel@\expandafter\@gobble\string#2\endcsname{#1}{#2}}
+\def\dlm@declare@#1#2#3{\newcommand{#3}{\parsedelimflags{#2}{#1}}%
+ \providecommand{#1}{}\newcommand{#2}}
+\newcommand{\DeclareMathDelimiterSel}[3]{\expandafter\def%
+ \csname dlm@sel@\expandafter\@gobble\string#1\endcsname%
+ {\ifcase\selecteddelim#2\else#3\fi}}
+
+\newcommand{\delim}[2]{%
+ \parsedelimflags{\dlm@dcl@delim{#1}{#2}}{\dlm@sel@delim{#1}{#2}}}
+\newcommand{\dlm@dcl@delim}[3]{%
+ \selectdeliml#1{#3}\selectdelimr#2}
+\newcommand{\dlm@sel@delim}[2]{\ifcase\selecteddelim\selectdeliml#1%
+ \else\selectdelimr#2\fi}
-\newcommand{\delim}[2]
- {\dlm@parsesize{\dlm@dcl@delim{#1}{#2}}}
-\newcommand{\dlm@dcl@delim}[3]
- {\selectdelim[l]#1{#3}\selectdelim[r]#2}
+\newcommand{\delimpair}[3]{%
+ \parsedelimflags{\dlm@dcl@delimpair{#1}{#2}{#3}}%
+ {\dlm@sel@delimpair{#1}{#2}{#3}}}
+\newcommand{\dlm@dcl@delimpair}[5]{%
+ \selectdeliml#1{#4}\selectdelim#2{#5}\selectdelimr#3}
+\newcommand{\dlm@sel@delimpair}[3]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\else\selectdelimr#3\fi}
-\newcommand{\delimpair}[3]
- {\dlm@parsesize{\dlm@dcl@delimpair{#1}{#2}{#3}}}
-\newcommand{\dlm@dcl@delimpair}[5]
- {\selectdelim[l]#1{#4}\selectdelim#2{#5}\selectdelim[r]#3}
+\newcommand{\delimtriple}[4]{%
+ \parsedelimflags{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}%
+ {\dlm@sel@delimtriple{#1}{#2}{#3}{#4}}}
+\newcommand{\dlm@dcl@delimtriple}[7]{%
+ \selectdeliml#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelimr#4}
+\newcommand{\dlm@sel@delimtriple}[4]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\or\selectdelim#3\else\selectdelimr#4\fi}
-\newcommand{\delimtriple}[4]
- {\dlm@parsesize{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}}
-\newcommand{\dlm@dcl@delimtriple}[7]
- {\selectdelim[l]#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelim[r]#4}
+\newcommand{\usedelim}{\@ifnextchar]{\parsedelimflags{}{}}{\parsedelimflags%
+ {\PackageError{delimset}{must select delimiter}{}}{}<}}
\ifdlm@std
\providecommand{\brk}[1][r]{\begingroup\def\dlm@use{\delim()}%
- \if r#1 \def\dlm@use{\delim()}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
- \if c#1 \def\dlm@use{\delim\{\}}\fi%
- \if a#1 \def\dlm@use{\delim<>}\fi%
+ \if r#1\def\dlm@use{\delim()}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
+ \if c#1\def\dlm@use{\delim\{\}}\fi%
+ \if a#1\def\dlm@use{\delim<>}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\eval}[1][v]{\begingroup\def\dlm@use{\delim.\rvert}%
- \if v#1 \def\dlm@use{\delim.\rvert}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
+ \if v#1\def\dlm@use{\delim.\rvert}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\abs}{\delim\lvert\rvert}
\providecommand{\norm}{\delim\lVert\rVert}
\fi
\ifdlm@ext
-\providecommand{\pair}{\delimpair({[.],})}
+\providecommand{\pair}{\delimpair({[p]*,})}
\providecommand{\set}{\delim\{\}}
\providecommand{\setcond}{\delimpair\{|\}}
-\providecommand{\intv}[1][c]{\begingroup\def\dlm@use{\delimpair[{[.],}]}%
- \if c#1 \def\dlm@use{\delimpair[{[.],}]}\fi%
- \if l#1 \def\dlm@use{\delimpair]{[.],}]}\fi%
- \if r#1 \def\dlm@use{\delimpair[{[.],}[}\fi%
- \if o#1 \def\dlm@use{\delimpair]{[.],}[}\fi%
+\providecommand{\intv}[1][c]{\begingroup%
+ \def\dlm@use{\delimpair[{[p]*,}]}%
+ \if c#1\def\dlm@use{\delimpair[{[p]*,}]}\fi%
+ \if l#1\def\dlm@use{\delimpair]{[p]*,}]}\fi%
+ \if r#1\def\dlm@use{\delimpair[{[p]*,}[}\fi%
+ \if o#1\def\dlm@use{\delimpair]{[p]*,}[}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\avg}{\delim<>}
\providecommand{\corr}{\delim<>}
-\providecommand{\comm}{\delimpair[{[.],}]}
-\providecommand{\acomm}{\delimpair\{{[.],}\}}
+\providecommand{\comm}{\delimpair[{[p]*,}]}
+\providecommand{\acomm}{\delimpair\{{[p]*,}\}}
\providecommand{\bra}{\delim<|}
\providecommand{\ket}{\delim|>}
\providecommand{\braket}{\delimpair<|>}
+\providecommand{\lfrac}[1][]{\begingroup%
+ \def\dlm@use{\delimpair./.}%
+ \if r#1\def\dlm@use{\delimpair(/)}\fi%
+ \if s#1\def\dlm@use{\delimpair[/]}\fi%
+ \if c#1\def\dlm@use{\delimpair\{/\}}\fi%
+ \if a#1\def\dlm@use{\delimpair</>}\fi%
+ \expandafter\endgroup\dlm@use}
\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/dtk/dtk-url.sty b/Master/texmf-dist/tex/latex/dtk/dtk-url.sty
index dbae3ce9b8c..3387c280797 100644
--- a/Master/texmf-dist/tex/latex/dtk/dtk-url.sty
+++ b/Master/texmf-dist/tex/latex/dtk/dtk-url.sty
@@ -2,7 +2,7 @@
%%
%% LaTeX Class for ``Die TeXnische Komoedie''.
%%
-%% Copyright (C) 2015-2023
+%% Copyright (C) 2015-2024
%% Rolf Niepraschk, Herbert Voss
%%
%% It may be distributed and/or modified under the
@@ -14,7 +14,7 @@
%% version 2005/12/01 or later.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dtk-url}[2024/02/12 v1.8 Urls (qrcode) for DTK (HO,hv,rn)]
+\ProvidesPackage{dtk-url}[2024/06/26 v1.9 Urls (qrcode) for DTK (HO,hv,rn)]
\RequirePackage{url}[2006/04/12]
\RequirePackage{xcolor}
@@ -40,6 +40,8 @@
\let\URL\url
\let\CTANurl\ctanurl
+\DeclareUrlCommand\File{\urlstyle{tt}}
+
\DeclareUrlCommand\DTK@Url{%
\DTK@UrlSetup
\def\UrlLeft{}%
diff --git a/Master/texmf-dist/tex/latex/dtk/dtk.cls b/Master/texmf-dist/tex/latex/dtk/dtk.cls
index cc314c4a1ad..15507b11044 100644
--- a/Master/texmf-dist/tex/latex/dtk/dtk.cls
+++ b/Master/texmf-dist/tex/latex/dtk/dtk.cls
@@ -23,8 +23,8 @@
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\def\DTKversion{2.10e}
-\def\DTKversiondate{2024/02/22}
+\def\DTKversion{2.10f}
+\def\DTKversiondate{2024/06/27}
\ProvidesClass{dtk}[\DTKversiondate v\DTKversion dtk documentclass (RN)]
\RequirePackage{iftex}
diff --git a/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty b/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
index e45f21ee182..7a92e22048e 100644
--- a/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
+++ b/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
@@ -1,6 +1,6 @@
% The Dynkin Diagrams package.
%
-% Version 3.141 592 653 589 793 238 4
+% Version 3.141 592 653 589 793 238 46
%
% This package draws Dynkin diagrams in LaTeX
% documents, using the TikZ package.
@@ -13,7 +13,7 @@
% Released under the LaTeX Project Public License v1.3c or later, see
% http://www.latex-project.org/lppl.txt
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{dynkin-diagrams}[2023/06/02 Dynkin diagrams]
+\ProvidesPackage{dynkin-diagrams}[2024/07/05 Dynkin diagrams]
\RequirePackage{tikz}
\RequirePackage{xstring}
\RequirePackage{etoolbox}
@@ -1873,6 +1873,7 @@
}%
+
%% \dynkinQuadrupleEdge{<p>}{<q>}
%% \dynkinQuadrupleEdge*{<p>}{<q>}
%% Draws an oriented edge of valence 4 from root <p> to root <q> on the current Dynkin diagram.
@@ -2041,6 +2042,8 @@
% Is the right side of the Dynkin diagram folded?
\newif\ifdynkin@Coxeter
% Should we draw Coxeter diagrams?
+\newif\ifdynkin@Coxeter@above
+% Should we draw Coxeter diagram extra labels above or below?
\newif\ifdynkin@Kac@arrows
% Should we draw arrows following Kac?
\newif\ifdynkin@odd
@@ -2097,6 +2100,8 @@
},
Coxeter/.is if = dynkin@Coxeter,
Coxeter=false,
+ Coxeter above/.is if = dynkin@Coxeter@above,
+ Coxeter above=true,
double edges/.style = {
fold style/.style = {
draw=black,
@@ -2598,6 +2603,10 @@
{%
\global\dynkin@rank=\dynkin@string\relax%
\global\dynkin@nodes=\dynkin@string\relax%
+ \ifWitt@symbol%
+ \global\advance\dynkin@rank by -1\relax%
+ \global\advance\dynkin@nodes by -1\relax%
+ \fi
\ifdynkin@is@twisted%
\IfStrEqCase{\dynkin@series}%
{%
@@ -2800,7 +2809,6 @@
% Turn Satake codes into Dynkin diagram expressions in \dynkin@string.
\dynkin@grok@Satake@codes%
}%
-
% Expand out any digits in \dynkin@string into multiples of the various root marks.
\expand@Dynkin@Roots@Digits%
% Assign to \dynkin@roots the input string \dynkin@string with all . symbols removed,
@@ -2881,20 +2889,41 @@
\global\dynkin@rank@minus@three\the\dynkin@rank@minus@two\relax%
\global\advance\dynkin@rank@minus@three by -1\relax%
}%
+
+\newif\ifWitt@symbol
\newcount\dynkin@lenny%
%% \dynkin@grok@series
%% Interprets the dynkin@series, to see if it is extended, twisted, and what twisted series it is.
\NewDocumentCommand\dynkin@grok@series{}%
{%
- \StrLen{\dynkin@series}[\dynkin@lenny]
+ \StrLen{\dynkin@series}[\dynkin@lenny]\relax%
\ifnum\dynkin@lenny>1\relax%
\dynkin@error@series%
\fi%
+% We need to check if the series is a Witt symbol.
+ \IfSubStr{PSRQTUVW}{\dynkin@series}%
+ {%
+ \global\Witt@symboltrue%
+ \IfStrEqCase{\dynkin@series}%
+ {%
+ {P}{\global\xdef\dynkin@series{A}}%
+ {S}{\global\xdef\dynkin@series{B}}%
+ {R}{\global\xdef\dynkin@series{C}}%
+ {Q}{\global\xdef\dynkin@series{D}}%
+ {T}{\global\xdef\dynkin@series{E}}%
+ {U}{\global\xdef\dynkin@series{F}}%
+ {V}{\global\xdef\dynkin@series{G}}%
+ {W}{\global\xdef\dynkin@series{I}}%
+ }%
+ }%
+ {%
+ \global\Witt@symbolfalse%
+ }%
\edef\series{\dynkin@series}%
\IfStrEqCase{\dynkin@twisted@series}%
{%
{0}{}%
- {1}{ \global\dynkin@is@extendedtrue}%
+ {1}{\global\dynkin@is@extendedtrue}%
{2}{%
\IfSubStr{ADE}{\dynkin@series}%
{%
@@ -3459,19 +3488,6 @@
}%
[\global#5=#4\relax]%
}%
- {G}%
- {%
- \IfStrEqCase{#3}%
- {%
- {Carter}{\global#5=%
- \stringCharacterInPosition{21}{#4}%
- \relax}%
- {Dynkin}{\global#5=%
- \stringCharacterInPosition{21}{#4}%
- \relax}%
- }%
- [\global#5=#4\relax]%
- }%
}%
[\global#5=#4\relax]%
}%
@@ -3640,25 +3656,6 @@
}%
[\global#5=#3\relax]%
}%
- {G}%
- {%
- \IfStrEqCase{#4}%
- {%
- {Carter}%
- {%
- \global#5=%
- \stringCharacterInPosition{21}{#3}%
- \relax%
- }%
- {Dynkin}%
- {%
- \global#5=%
- \stringCharacterInPosition{21}{#3}%
- \relax%
- }%
- }%
- [\global#5=#3\relax]%
- }%
}%
[\global#5=#3\relax]%
}%
@@ -3777,12 +3774,14 @@
}%
{G}%
{%
- \IfStrEqCase{\dynkin@ordering}%
- {%
- {Carter}{\global\dynkin@Root@Number=\stringCharacterInPosition{21}{#1}\relax}%
- {Dynkin}{\global\dynkin@Root@Number=\stringCharacterInPosition{21}{#1}\relax}%
- }%
- [\global\dynkin@Root@Number=#1\relax]%
+ \global\dynkin@Root@Number=#1\relax%
+% \IfStrEqCase{\dynkin@ordering}%
+% {%
+% {Carter}{\global\dynkin@Root@Number=\stringCharacterInPosition{21}{#1}\relax}%
+% {Dynkin}{\global\dynkin@Root@Number=\stringCharacterInPosition{21}{#1}\relax}%
+% {Kac}{\global\dynkin@Root@Number=\stringCharacterInPosition{21}{#1}\relax}%
+% }%
+% [\global\dynkin@Root@Number=#1\relax]%
}%
}%
[\global\dynkin@Root@Number=#1\relax]%
@@ -4338,9 +4337,15 @@
\else%
\ifdynkin@Coxeter%
\Adynkin%
- \dynkinEdgeLabel%
- {\the\dynkin@rank@minus@one}%
- {\the\dynkin@rank}{4}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel%
+ {\the\dynkin@rank@minus@one}%
+ {\the\dynkin@rank}{4}%
+ \else%
+ \dynkinEdgeLabel*%
+ {\the\dynkin@rank@minus@one}%
+ {\the\dynkin@rank}{4}%
+ \fi%
\else
% Create the roots.
\ifnum\dynkin@ply>1\relax%
@@ -4994,7 +4999,11 @@
\dynkinEdge*{SingleEdge}{1}{2}%
\dynkinEdge*{SingleEdge}{2}{3}%
\dynkinEdge*{SingleEdge}{3}{4}%
- \dynkinEdgeLabel{2}{3}{4}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel{2}{3}{4}%
+ \else%
+ \dynkinEdgeLabel*{2}{3}{4}%
+ \fi%
\else%
\dynkinEdge*{SingleEdge}{1}{2}%
\dynkinEdge*{SingleEdge}{3}{4}%
@@ -5002,6 +5011,9 @@
\fi%
\fi%
}%
+
+\newif\ifGtwo@old@dynkin@reverse@arrows
+
%% \Gdynkin
%% Draws a G series Dynkin diagram.
\NewDocumentCommand\Gdynkin{}%
@@ -5013,14 +5025,72 @@
\dynkin@jump{1}%
\dynkinPlaceRootHere*{1}{left}{above}%
\dynkinPlaceRootRelativeTo*{2}{1}{southfold}{left}{below}%
+ \ifdynkin@reverse@arrows%
+ \global\Gtwo@old@dynkin@reverse@arrowstrue\relax%
+ \else%
+ \global\Gtwo@old@dynkin@reverse@arrowsfalse\relax%
+ \fi%
+ \IfStrEqCase{\dynkin@ordering}%
+ {%
+ {Adams}{%
+ \ifdynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \else%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \fi\relax}%
+ {Bourbaki}{%
+ \ifdynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \else%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \fi\relax}%
+ {Carter}{\relax}%
+ {Dynkin}{\relax}%
+ {Kac}{\relax}%
+ }%
+ [\relax]%
\dynkinEdge*{TripleDownRightSemiCircle}{1}{2}%
+ \ifGtwo@old@dynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \else%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \fi%
\ifdynkin@arrows%
\dynkinLeftFold*{1}{2}%
\fi%
\else%
\dynkinPlaceRootHere*{1}{below}{above}%
\dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
- \dynkinTripleEdge*{1}{2}%
+ \ifdynkin@reverse@arrows%
+ \global\Gtwo@old@dynkin@reverse@arrowstrue\relax%
+ \else%
+ \global\Gtwo@old@dynkin@reverse@arrowsfalse\relax%
+ \fi%
+ \IfStrEqCase{\dynkin@ordering}%
+ {%
+ {Adams}{%
+ \ifdynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \else%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \fi\relax}%
+ {Bourbaki}{%
+ \ifdynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \else%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \fi\relax}%
+ {Carter}{\relax}%
+ {Dynkin}{\relax}%
+ {Kac}{\relax}%
+ }%
+ [\relax]%
+ \dynkinTripleEdge*{1}{2}\relax%
+ \ifGtwo@old@dynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \else%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \fi%
\fi%
\fi%
}%
@@ -5030,7 +5100,11 @@
\newcommand*{\Hdynkin}%
{%
\Adynkin%
- \dynkinEdgeLabel{1}{2}{5}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel{1}{2}{5}%
+ \else%
+ \dynkinEdgeLabel*{1}{2}{5}%
+ \fi%
}%
%% \Idynkin
%% Draws an I series Coxeter diagram.
@@ -5038,7 +5112,11 @@
{%
\dynkin@rank=2\relax%
\Adynkin%
- \dynkinEdgeLabel{1}{2}{\dynkin@gonality}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel{1}{2}{\dynkin@gonality}%
+ \else%
+ \dynkinEdgeLabel*{1}{2}{\dynkin@gonality}%
+ \fi%
}%
%% \extendedAdynkin
@@ -5183,9 +5261,15 @@
\dynkinEdge*{SingleEdge}%
{\the\dynkin@rank@minus@one}%
{\the\dynkin@rank}%
- \dynkinEdgeLabel%
- {\the\dynkin@rank@minus@one}%
- {\the\dynkin@rank}{4}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel%
+ {\the\dynkin@rank@minus@one}%
+ {\the\dynkin@rank}{4}%
+ \else%
+ \dynkinEdgeLabel*%
+ {\the\dynkin@rank@minus@one}%
+ {\the\dynkin@rank}{4}%
+ \fi%
\else%
\ifnum\dynkin@ply<3\relax%
\dynkinEdge*{DoubleEdge}%
@@ -5211,7 +5295,11 @@
\Cdynkin{}%
\ifdynkin@Coxeter%
\dynkinEdge*{SingleEdge}{0}{1}%
- \dynkinEdgeLabel{0}{1}{4}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel{0}{1}{4}%
+ \else%
+ \dynkinEdgeLabel*{0}{1}{4}%
+ \fi%
\else%
\dynkinEdge*{DoubleEdge}{0}{1}%
\fi%
@@ -5391,8 +5479,11 @@
\xdef\dynkin@gonality{6}%
\dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEast%
+ \let\extended@G@old@order\dynkin@ordering%
+ \xdef\dynkin@ordering{Carter}%
\Gdynkin%
\dynkinEdge*{SingleEdge}{0}{1}%
+ \xdef\dynkin@ordering{\extended@G@old@order}%
}%
%% \extendedHdynkin
@@ -5423,7 +5514,11 @@
\dynkin@rank=1\relax%
\Adynkin%
\dynkinEdge*{SingleEdge}{0}{1}%
- \dynkinEdgeLabel{0}{1}{\infty}%
+ \ifdynkin@Coxeter@above%
+ \dynkinEdgeLabel{0}{1}{\infty}%
+ \else%
+ \dynkinEdgeLabel*{0}{1}{\infty}%
+ \fi%
}%
\newcount\dynkin@height@minus@one%
%% \twistedAdynkin
@@ -5531,6 +5626,8 @@
\fi%
\fi%
}%
+
+\newif\iftwisted@D@old@dynkin@reverse@arrows
%% \twistedDdynkin
%% Draws a twisted D series affine Dynkin diagram.
\NewDocumentCommand\twistedDdynkin{}%
@@ -5546,7 +5643,17 @@
\dynkinPlaceRootRelativeTo*{1}{0}{east}{below}{above}%
\dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{1}%
- \dynkinTripleEdge*{2}{1}%
+ \ifdynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \else%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \fi%
+ \dynkinTripleEdge*{1}{2}%
+ \ifdynkin@reverse@arrows%
+ \global\dynkin@reverse@arrowsfalse\relax%
+ \else%
+ \global\dynkin@reverse@arrowstrue\relax%
+ \fi%
\else%
\ClassError%
{Dynkin diagrams}%
diff --git a/Master/texmf-dist/tex/latex/easybook/easybase.sty b/Master/texmf-dist/tex/latex/easybook/easybase.sty
index 82b2b8ca8dc..2b75c1b1fc9 100644
--- a/Master/texmf-dist/tex/latex/easybook/easybase.sty
+++ b/Master/texmf-dist/tex/latex/easybook/easybase.sty
@@ -20,7 +20,7 @@
%% This work has the LPPL maintenance status `maintained'.
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/05/22}{2024bs}
+\ProvidesExplPackage{easybase}{2024/07/18}{2024ct}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -32,7 +32,7 @@
\cs_generate_variant:Nn \seq_set_from_clist:Nn { No }
\cs_generate_variant:Nn \ctex_define:nn { nx }
\cs_generate_variant:Nn \eb_set_hyperref:n { x }
-\cs_generate_variant:Nn \eb_at_begin_environment:nn { on }
+\cs_generate_variant:Nn \eb_at_begin_environment:nn { o }
\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_set_protected:Npn \ctex_define:nn #1
@@ -91,20 +91,28 @@
\IfNoValueTF{#1}
{\IfFileExists{#2.sty}{\RequirePackage{#2}[#3]}{}}
{\IfFileExists{#2.sty}{\RequirePackage[#1]{#2}[#3]}{}}
+ \IfFileExists{#2.sty}{}
+ {\msg_warning:nnn { easybase } { package-not-found } {#2}}
}
+\msg_new:nnn { easybase } { package-not-found }
+ { The~macro~package~'#1'~can't~be~found. }
\cs_new_protected:Npn \ebloadpackage #1
{
\int_compare:nTF { \clist_count:n {#1} <= 1 }
- { \RequirePackage }
+ { \RequirePackage{#1} }
{
\clist_map_inline:nn {#1}
{ \eb_match_load_package:n {##1} }
}
}
+\providecommand{\NewHookWithArguments}[2]{}
+\ProvideDocumentCommand{\AddToHookWithArguments}{mo+m}{}
\bool_set_true:N \l__eb_class_mode_book_bool
\bool_set_false:N \l__eb_compile_draft_bool
\clist_new:N \g__eb_ctex_options_clist
+\cs_new_protected:Npn \eb_put_geometry:n #1
+ { \PassOptionsToPackage{#1}{geometry} }
\keys_define:nn { easybase }
{
@@ -119,16 +127,19 @@
theorem .bool_set:N = \l__eb_theorem_support_bool,
theorem .default:n = true,
theorem .initial:n = true,
- paper .code:n = \PassOptionsToPackage{#1}{geometry},
+ paper .code:n = \eb_put_geometry:n {#1},
paper .initial:n = a4paper,
class .choice:,
class .value_required:n = true,
- class/book .code:n = { },
+ class/book .code:n =
+ {
+ \bool_set_true:N \l__eb_class_mode_book_bool
+ \eb_put_geometry:n { twoside }
+ },
class/article .code:n =
{
\bool_set_false:N \l__eb_class_mode_book_bool
- \boolfalse{@twoside}
- \boolfalse{@mparswitch}
+ \eb_put_geometry:n { twoside = false }
},
class .initial:n = book,
book .meta:n = { class = book },
@@ -160,7 +171,7 @@
\seq_set_from_clist:Nn \l__eb_module_paths_seq
{
- tools,font,spread,
+ tools,font,space,
bib,thmt,toc,
hdr,float,ref,geo
}
@@ -169,7 +180,7 @@
\ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} }
\cs_new_protected:cpn { eb#1set } ##1 { \ctex_set:nn {#1} {##1} }
}
-\RenewDocumentCommand{\ctexset}{om}
+\RenewDocumentCommand{\ctexset}{o+m}
{
\IfValueTF{#1}
{\ctex_set:nn {#1} {#2}}
@@ -271,7 +282,15 @@
tagform .code:n = \eb_assign_tagform:n {#1},
tagform .initial:n = { (,) },
brackets .meta:n = { tagform = {#1} },
- figurepath .tl_set:N = \l_eb_graphics_path_tl
+ figurepath .code:n =
+ {
+ \tl_if_blank:nF {#1}
+ {
+ \regex_match:nnTF { \cB. } {#1}
+ { \graphicspath{#1} }
+ { \graphicspath{{#1}} }
+ }
+ }
}
\includepdfset{fitpaper = true}
@@ -306,8 +325,7 @@
\cs_new_protected:Npn \blankpagestyle #1
{ \tl_set:Nn \l__eb_blank_pagestyle_tl {#1} }
\blankpagestyle{empty}
-\RenewDocumentCommand{\cleardoublepage}
- {O{\l__eb_blank_pagestyle_tl}}
+\RenewDocumentCommand{\cleardoublepage}{O{\l__eb_blank_pagestyle_tl}}
{
\clearpage
\ifbool{@twoside}
@@ -328,19 +346,6 @@
\booltrue{@mainmatter}
\pagenumbering{arabic}
}
-\clist_map_inline:nn
- { chapter,section,subsection }
- {
- \exp_args:Nc \NewDocumentCommand { eb@mark@#1@label@layout }
- {O{\use:c { CTEXthe#1 }}m}
- {\tl_set:cn { eb@mark@#1@label } {##1##2}}
- \cs_new_protected:cpn { eb_mark_#1_name_parse:n } ##1
- {
- \regex_match:nnTF { \[.*\] } {##1}
- { \use:c { eb@mark@#1@label@layout }##1 }
- { \use:c { eb@mark@#1@label@layout }{##1} }
- }
- }
\NewDocumentCommand{\markrule}
{O{\textwidth}D(){ctex@frame}m>{\SplitArgument{1}{|}}O{}}
{\eb_draw_markrule:nnnnn {#1} {#2} {#3} #4}
@@ -361,32 +366,49 @@
{ none* } { \text_lowercase:n }
}
}
-\ctex_define:nn { hdr }
+\cs_new_protected:Npn \eb@register@hdr@mark #1
{
- chap-mark .cs_set:Np = \eb@mark@chapter@whole #1,
- chap-mark .initial:n =
- {
- \CTEXifname{\eb@mark@chapter@label}{}
- \eb_mark_uppercase_case_init:n {#1}
- },
- sec-mark .cs_set:Np = \eb@mark@section@whole #1,
- sec-mark .initial:n =
+ \exp_args:Nc \NewDocumentCommand { eb@mark@#1@label@layout }
+ {O{\use:c { CTEXthe#1 }}m}
+ {\tl_set:cn { eb@mark@#1@label } {##1##2}}
+ \cs_new_protected:cpn { eb_mark_#1_name_parse:n } ##1
{
- \CTEXifname{\eb@mark@section@label}{}
- \eb_mark_uppercase_case_init:n {#1}
- },
- subsec-mark .cs_set:Np = \eb@mark@subsection@whole #1,
- subsec-mark .initial:n =
+ \regex_match:nnTF { ^\[.*\] } {##1}
+ { \use:c { eb@mark@#1@label@layout }##1 }
+ { \use:c { eb@mark@#1@label@layout }{##1} }
+ }
+ \ctex_define:nn { hdr }
{
- \CTEXifname{\eb@mark@subsection@label}{}
- \eb_mark_uppercase_case_init:n {#1}
- },
- chap-label .code:n = \eb_mark_chapter_name_parse:n {#1},
- chap-label .initial:n = \hspace{1em},
- sec-label .code:n = \eb_mark_section_name_parse:n {#1},
- sec-label .initial:n = \hspace{0.5em},
- subsec-label .code:n = \eb_mark_subsection_name_parse:n {#1},
- subsec-label .initial:n = \hspace{0.5em},
+ #1-mark .cs_set:cp = { eb@mark@#1@whole } ##1,
+ #1-mark .initial:n =
+ {
+ \CTEXifname{\use:c { eb@mark@#1@label }}{}
+ \eb_mark_uppercase_case_init:n {##1}
+ },
+ #1-label .code:n = \use:c { eb_mark_#1_name_parse:n } {##1},
+ }
+ }
+\cs_new_protected:Npn \RegisterHdrMark #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@hdr@mark
+ }
+\RegisterHdrMark{chapter,section,subsection}
+
+\ctex_set:nn { hdr }
+ {
+ chapter-label = \hspace{1em},
+ section-label = \hspace{0.5em},
+ subsection-label = \hspace{0.5em}
+ }
+\ctex_define:nn { hdr }
+ {
+ chap-mark .meta:n = { chapter-mark = {#1} },
+ sec-mark .meta:n = { section-mark = {#1} },
+ subsec-mark .meta:n = { subsection-mark = {#1} },
+ chap-label .meta:n = { chapter-label = {#1} },
+ sec-label .meta:n = { section-label = {#1} },
+ subsec-label .meta:n = { subsection-label = {#1} },
headrulewd .dim_set:N = \eb@head@rule@wd,
headrulewd .initial:n = 0.5pt,
footnoterulewd .dim_set:N = \eb@footnote@rule@wd,
@@ -438,8 +460,6 @@
\ctex_at_end_preamble:n
{
\bool_if:NF \l__eb_ps_used_bool { \pagestyle{fancy} }
- \tl_if_blank:VF \l_eb_graphics_path_tl
- { \exp_args:NV \graphicspath \l_eb_graphics_path_tl }
\providecommand{\kaishu}{\itshape}
}
@@ -505,7 +525,7 @@
\UseFntSymbsList{empty}
\cs_set_eq:NN \DefineFntSymbols \SetFntSymbsList
\cs_set_eq:NN \setfntsymbol \UseFntSymbsList
-\cs_new:Npn \eb_int_format_trans:NN #1
+\cs_new:Npn \eb_int_type_trans:NN #1
{
\str_case:nn {#1}
{
@@ -540,23 +560,38 @@
}
\cs_set_eq:NN \thedownfootnote \thefootnote
}
+\cs_generate_variant:Nn \msg_warning:nnnn { nnnV }
\cs_new_protected:Npn \eb_fnmarktext_short_label_set:Nn #1#2
{
\tl_set:Nn \l__eb_fnmarktext_short_tokens_tl {#2}
\clist_map_inline:nn
{ A,a,1,I,i,c,s }
{
- \regex_match:nnT {##1} {#2}
+ \regex_match:nnTF {##1} {#2}
{
\regex_replace_once:nnN {##1}
- { \c{eb_int_format_trans:NN} ##1 \c{c@footnote} }
+ { \c{eb_int_type_trans:NN} ##1 \c{c@footnote} }
\l__eb_fnmarktext_short_tokens_tl
- \seq_map_break:
+ \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
+ \clist_map_break:
+ }
+ {
+ \str_if_eq:nnT {##1} { s }
+ {
+ \str_if_eq:nnTF {#1} { \thefootnote }
+ { \str_set:Nn \l_tmpa_str { \thedownfootnote } }
+ { \str_set:Nn \l_tmpa_str { \theupfootnote } }
+ \msg_warning:nnnV { easybase } { unknown-fnt-type } {#2} \l_tmpa_str
+ }
}
}
- \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
\cs_set_eq:NN \thedownfootnote \thefootnote
}
+\msg_new:nnn { easybase } { unknown-fnt-type }
+ {
+ The~'#1'~includes~unknown~footnote~numbering~type \\
+ in~#2.
+ }
\cs_new_protected:Npn \eb_footnote_value_handle:n #1
{
\str_case:nnF {#1}
@@ -727,7 +762,7 @@
{
\noindent
\clist_if_in:NnT \l__eb_footnote_value_clist { flush }
- { \dim_zero:N \fnfirstindent }
+ { \tl_set:Nn \fnfirstindent { 0pt } }
\int_case:nn { \dim_sign:V \fnfirstindent }
{
{ 1 } { \use_i:nnn }
@@ -1019,7 +1054,7 @@
{
\IfBooleanTF{##1}
{
- \use:c {#1}*{\phantomsection ##3}
+ \use:c {#1}*{##3}
\CTEX@addtocline{#1}{##2}
\tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} }
\use:c { #1mark }{##2}
@@ -1041,22 +1076,22 @@
\skip_if_eq:nnF { \eb@toc@lol@skip } { \c_zero_skip }
{ \addtocontents{lol}{\protect\addvspace{\skip_use:N \eb@toc@lol@skip}} }
}
-\cs_new_protected:Npn \eb_title_base_set_eq:nn #1#2
- {
- \tl_set_eq:cc { CTEX@#2@beforeskip } { CTEX@#1@beforeskip }
- \tl_set_eq:cc { CTEX@#2@afterskip } { CTEX@#1@afterskip }
- \bool_set_eq:cc { CTEX@#2@numbering } { CTEX@#1@numbering }
- \bool_set_eq:cc { CTEX@#2@fixskip } { CTEX@#1@fixskip }
- \bool_set_eq:cc { CTEX@#2@hang } { CTEX@#1@hang }
- \bool_set_eq:cc { CTEX@#2@runin } { CTEX@#1@runin }
- \cs_set_eq:cc { CTEX@#2@tocline } { CTEX@#1@tocline }
- \tl_set_eq:cc { CTEX@#2@break } { CTEX@#1@break }
- \tl_set_eq:cc { CTEX@#2@format } { CTEX@#1@format }
- \tl_set_eq:cc { CTEX@#2@nameformat } { CTEX@#1@nameformat }
- \tl_set_eq:cc { CTEX@#2@numberformat } { CTEX@#1@numberformat }
- \tl_set_eq:cc { CTEX@#2@titleformat } { CTEX@#1@titleformat }
- \tl_set_eq:cc { CTEX@#2@aftername } { CTEX@#1@aftername }
- \tl_set_eq:cc { CTEX@#2@aftertitle } { CTEX@#1@aftertitle }
+\cs_new_protected:Npn \CopyTitleFormat #1#2
+ {
+ \tl_set_eq:cc { CTEX@#1@beforeskip } { CTEX@#2@beforeskip }
+ \tl_set_eq:cc { CTEX@#1@afterskip } { CTEX@#2@afterskip }
+ \bool_set_eq:cc { CTEX@#1@numbering } { CTEX@#2@numbering }
+ \bool_set_eq:cc { CTEX@#1@fixskip } { CTEX@#2@fixskip }
+ \bool_set_eq:cc { CTEX@#1@hang } { CTEX@#2@hang }
+ \bool_set_eq:cc { CTEX@#1@runin } { CTEX@#2@runin }
+ \cs_set_eq:cc { CTEX@#1@tocline } { CTEX@#2@tocline }
+ \tl_set_eq:cc { CTEX@#1@break } { CTEX@#2@break }
+ \tl_set_eq:cc { CTEX@#1@format } { CTEX@#2@format }
+ \tl_set_eq:cc { CTEX@#1@nameformat } { CTEX@#2@nameformat }
+ \tl_set_eq:cc { CTEX@#1@numberformat } { CTEX@#2@numberformat }
+ \tl_set_eq:cc { CTEX@#1@titleformat } { CTEX@#2@titleformat }
+ \tl_set_eq:cc { CTEX@#1@aftername } { CTEX@#2@aftername }
+ \tl_set_eq:cc { CTEX@#1@aftertitle } { CTEX@#2@aftertitle }
}
\NewDocumentCommand{\NewTitleCommand}{omm}
{
@@ -1076,8 +1111,9 @@
}
\cs_new:cpn { CTEX@#2@tocline } ##1##2
{ \CTEXnumberline{##1}##2 }
+ \exp_args:Nc \providecommand { ttll@#2 }{#3}
\exp_args:Nc \providecommand { toclevel@#2 }{#3}
- \IfValueT{#1}{\eb_title_base_set_eq:nn {#1} {#2}}
+ \IfValueT{#1}{\CopyTitleFormat{#2}{#1}}
}
\NewDocumentCommand{\NewTitleEntryCommand}{O{toc}m}
{
@@ -1086,6 +1122,7 @@
\bool_if:cTF { CTEX@#2@numbering }
{ \CTEX@ifnametrue }
{ \CTEX@ifnamefalse }
+ \CTEX@makeanchor{#2*}
\addcontentsline{#1}{#2}{\use:c { CTEX@#2@tocline }{#2}{##1}}
}
}
@@ -1124,47 +1161,73 @@
\bool_new:N \l__eb_toc_notitle_bool
\newbool{bitoc}
\cs_new:Npn \ebifbitoc { \ifbool{bitoc} }
+\seq_new:N \l__eb_level_tmpa_seq
+\tl_new:N \l__eb_level_tmpa_tl
+\cs_generate_variant:Nn \regex_extract_all:nnN { no }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_generate_variant:Nn \ctex_set:nn { ox }
+\cs_new_protected:Npn \eb_toc_extract_level:
+ {
+ \regex_extract_all:noN { \cC. } { \eb@toc@title@level }
+ \l__eb_level_tmpa_seq
+ \seq_get_right:NN \l__eb_level_tmpa_seq \l__eb_level_tmpa_tl
+ \tl_set:Nx \l__eb_level_tmpa_tl
+ {
+ \exp_last_unbraced:No
+ \cs_to_str:N { \l__eb_level_tmpa_tl }
+ }
+ \regex_replace_case_once:nN
+ {
+ { ^bi(.*) } { \1 }
+ { .* } { \0 }
+ }
+ \l__eb_level_tmpa_tl
+ }
\keys_define:nn { eb/tocouter }
{
- level .tl_set:N = \eb@toc@title@level,
- level .initial:n =
+ level .code:n =
+ {
+ \tl_set:Nn \eb@toc@title@level {#1}
+ \eb_toc_extract_level:
+ },
+ level .initial:e =
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \bichapter* }
- { \bisection* }
+ { \exp_not:N \bichapter* }
+ { \exp_not:N \bisection* }
},
- section .meta:n = { level = \bisection* },
- chapter .meta:n = { level = \bichapter* },
- none .code:n =
+ section .meta:n = { level = \bisection* },
+ chapter .meta:n = { level = \bichapter* },
+ none .code:n =
{
\tl_set:Nn \eb@toc@title@level
{ \par\use_none:nn }
\bool_set_true:N \l__eb_toc_notitle_bool
},
- multoc .int_set:N = \l__eb_toc_columns_int,
- multoc .default:n = 2,
- multoc .initial:n = 1,
+ multoc .int_set:N = \l__eb_toc_columns_int,
+ multoc .default:n = 2,
+ multoc .initial:n = 1,
plan .choice:,
plan .value_required:n = true,
- plan/cn .code:n =
+ plan/cn .code:n =
{
\bool_set_true:N \l__eb_toc_plan_cn_bool
\bool_set_false:N \l__eb_toc_plan_bi_bool
},
- plan/bi .code:n =
+ plan/bi .code:n =
{
\bool_set_false:N \l__eb_toc_plan_cn_bool
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
- plan/both .code:n =
+ plan/both .code:n =
{
\bool_set_true:N \l__eb_toc_plan_cn_bool
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
- plan .initial:n = cn,
- columns .meta:n = { multoc = {#1} },
- title .code:n = \eb_assign_toc_title:n {#1},
- bilist .code:n =
+ plan .initial:n = cn,
+ columns .meta:n = { multoc = {#1} },
+ title .code:n = \eb_assign_toc_title:n {#1},
+ bilist .code:n =
{
\tl_gset:Nn \g__eb_bilist_permute_value_tl {#1}
\str_if_eq:nnTF {#1} { mix }
@@ -1182,16 +1245,20 @@
}
}
},
- name .tl_set:N = \l__eb_print_index_name_tl,
- name .initial:n = \imki@jobname
+ name .tl_set:N = \l__eb_print_index_name_tl,
+ name .initial:n = \imki@jobname,
+ unknown .code:n =
+ {
+ \ctex_set:ox { \l__eb_level_tmpa_tl }
+ { \eb_unknown_kv_handle: }
+ },
+ unknown .default:V = \c_novalue_tl
}
-\bool_if:NTF \l__eb_class_mode_book_bool
- { \keys_define:nn { } { eb/tocouter .inherit:n = ctex/chapter } }
- { \keys_define:nn { } { eb/tocouter .inherit:n = ctex/section } }
+
\NewDocumentCommand{\eb_assign_toc_title:n}
{>{\SplitArgument{1}{,}}m}
- {\eb_assign_toc_title_judge:nn #1}
-\cs_new_protected:Npn \eb_assign_toc_title_judge:nn #1#2
+ {\eb_toc_assign_title_judge:nn #1}
+\cs_new_protected:Npn \eb_toc_assign_title_judge:nn #1#2
{
\tl_set:Nn \eb@toc@title {#1}
\tl_if_novalue:nTF {#2}
@@ -1243,7 +1310,7 @@
}
\cs_new_protected:Npn \DeclareFloatList #1#2
{
- \exp_args:Nc \DeclareDocumentCommand { listof#1s }{st+o}
+ \exp_args:Nc \DeclareDocumentCommand { listof#1s }{st++o}
{\eb_toc_list_struct_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
\ctex_define:n
{
@@ -1273,7 +1340,7 @@
bicontentsname .tl_set:N = \bicontentsname,
bicontentsname .initial:n = Contents
}
-\RenewDocumentCommand{\tableofcontents}{st+oD(){}}
+\RenewDocumentCommand{\tableofcontents}{st++o+D(){}}
{
\group_begin:
\tl_set_eq:NN \eb@toc@title \contentsname
@@ -1306,6 +1373,12 @@
\group_end:
}
+\cs_set_eq:NN \eb@contentsuse@save \contentsuse
+\RenewDocumentCommand{\contentsuse}{O{-1000}mm}
+ {
+ \eb@contentsuse@save{#2}{#3}
+ \tl_set:cn { ttll@#2 } {#1}
+ }
\contentsuse{lstlisting}{lol}
\seq_put_left:Nn \c__ctex_headings_seq { chapter }
\seq_put_right:Nn \c__ctex_headings_seq { table }
@@ -1354,7 +1427,7 @@
{
tocformat = \IfBooleanT{#1}{\contentsmargin{0pt}},
tocindent = 0pt,
- tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\tocrule{$\cdot$}},
+ tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\cdottocrule},
toclabel =
{
\bool_if:NTF \l__eb_toc_entry_hang_bool
@@ -1425,7 +1498,7 @@
\eb@register@every@toc@option
}
\RegisterEveryTocOption{tocafter,tocindent,tocrule}
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+\NewDocumentCommand{\tocrule}{st-O{0.6pc}d()mO{}}
{
\normalsize\normalfont
\ttl@row@i[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
@@ -1442,6 +1515,7 @@
}
}
}
+\cs_set:Npn \cdottocrule { \tocrule{\textperiodcentered} }
\ctex_define:nn { toc }
{
lolskip .skip_set:N = \eb@toc@lol@skip,
@@ -1468,17 +1542,21 @@
{
\tl_if_exist:cF { tf@#1 }
{ \iow_new:c { tf@#1 }\iow_open:cn { tf@#1 } { \jobname.#1 } }
- }
- {}
+ }{}
}
+\cs_set_eq:NN \eb@starttoc \@starttoc
\cs_set:Npn \@starttoc #1
{
- \group_begin:
- \makeatletter
- \file_if_exist_input:n { \jobname.#1 }
- \UseHookWithArguments{starttoc/after}{1}{#1}
- \boolfalse{@nobreak}
- \group_end:
+ \cs_if_exist:NTF \UseHookWithArguments
+ {
+ \group_begin:
+ \makeatletter
+ \file_if_exist_input:n { \jobname.#1 }
+ \UseHookWithArguments{starttoc/after}{1}{#1}
+ \boolfalse{@nobreak}
+ \group_end:
+ }
+ { \eb@starttoc{#1} }
}
\AddToHook{enddocument/afterlastpage}
{
@@ -1487,9 +1565,18 @@
}
\cs_set_protected:Npn \AllotPartialExt #1#2
{
- \tl_set:cn { ttl@partial#1 } {#2}
- \AddToHookWithArguments{cmd/ttl@writepartial/before}
- {\ttl@topartial{#1}{##1}{##2}}
+ \tl_if_exist:cTF { ttl@partial#1 }
+ { \msg_warning:nnnn { easybase } { repeated-ptoc } {#1} {#2} }
+ {
+ \tl_set:cn { ttl@partial#1 } {#2}
+ \AddToHookWithArguments{cmd/ttl@writepartial/before}[ttl/#1]
+ {\ttl@topartial{#1}{##1}{##2}}
+ }
+ }
+\msg_new:nnn { easybase } { repeated-ptoc }
+ {
+ Local~directory~file~'#2'~of~directory~type~'#1'~is \\
+ repeatedly~allocated.
}
\AllotPartialExt{lol}{pll}
@@ -1515,16 +1602,15 @@
}
\RegisterTitleIfname{toc}
-\cs_set_eq:NN \eb@ctexsetii \ctex_set:nn
\cs_new_protected:Npn \SetTocStyle #1#2#3
{
\cs_set_protected:cpn { eb@toc@style@set@#1@#2 }
- { \eb@ctexsetii{#1}{#3} }
+ { \ctex_set:nn {#1} {#3} }
}
\cs_new_protected:Npn \UseTocStyle #1#2#3
{
\cs_if_exist:cTF { eb@toc@style@set@#1@#2 }
- { \addtocontents{#3}{\@nameuse{eb@toc@style@set@#1@#2}} }
+ { \addtocontents{#3}{\string\csuse{eb@toc@style@set@#1@#2}} }
{ \msg_warning:nnnn { easybase } { undefined-toc-style } {#2} {#1} }
}
\msg_new:nnn { easybase } { undefined-toc-style }
@@ -1543,7 +1629,7 @@
{
tocformat = \addvspace{1pc}\sffamily,
tocindent = 0pt,
- tocrule = \tocrule{$\cdot$}[\bfseries],
+ tocrule = \cdottocrule[\bfseries],
tocline = \CTEXnumberline{#1}#2
},
section =
@@ -1553,12 +1639,12 @@
tocrule =
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \tocrule{$\cdot$} }
- { \tocrule{$\cdot$}[\bfseries] }
+ { \cdottocrule }
+ { \cdottocrule[\bfseries] }
}
},
subsection =
- { tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.4em } }
+ { tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.5em } }
}
\ctex_at_end_package:nn { imakeidx }
@@ -1659,14 +1745,14 @@
}
\cs_set_eq:NN \addtosubfont \ebaddtofont
-\ctex_define:nn { spread }
+\ctex_define:nn { space }
{
- line .code:n = \setspread{#1},
- table .fp_set:N = \l__eb_spread_table_fp,
- table .initial:n = 1.2,
- math .tl_set:N = \eb@spread@math,
- math .initial:n = 1.2,
- footnote .code:n =
+ linespread .code:n = \setspread{#1},
+ tabspread .fp_set:N = \l__eb_spread_table_fp,
+ tabspread .initial:n = 1.2,
+ mathspread .tl_set:N = \eb@spread@math,
+ mathspread .initial:n = 1.2,
+ fntspread .code:n =
{
\tl_set:Nn \eb@spread@footnote {#1}
\group_begin:
@@ -1675,20 +1761,20 @@
\exp_args:NNNo \group_end:
\dim_set:Nn \footnotesep { \dim_use:N \box_ht:N \strutbox }
},
- footnote .initial:n = 1.2,
- caption-table .fp_set:N = \l__eb_spread_caption_table_fp,
- caption-figure .fp_set:N = \l__eb_spread_caption_figure_fp,
- caption-listing .fp_set:N = \l__eb_spread_caption_listing_fp,
- caption-every .meta:n =
- {
- caption-table = {#1},caption-figure = {#1},
- caption-listing = {#1}
+ fntspread .initial:n = 1.2,
+ captab-spread .fp_set:N = \l__eb_spread_caption_table_fp,
+ capfig-spread .fp_set:N = \l__eb_spread_caption_figure_fp,
+ caplst-spread .fp_set:N = \l__eb_spread_caption_listing_fp,
+ caption-spread .meta:n =
+ {
+ captab-spread = {#1},capfig-spread = {#1},
+ caplst-spread = {#1}
},
- caption-every .initial:n = 1.2,
- every .meta:n =
+ caption-spread .initial:n = 1.2,
+ everyspread .meta:n =
{
- line = {#1},table = {#1},math = {#1},
- caption-every = {#1},footnote = {#1}
+ linespread = {#1},tabspread = {#1},mathspread = {#1},
+ caption-spread = {#1},fntspread = {#1}
},
abovedisplayskip .code:n =
{ \AfterPreamble{\skip_set:Nn \abovedisplayskip {#1}} },
@@ -1702,13 +1788,19 @@
}
},
belowdisplayskip .initial:n = 0.5ex plus .1ex minus .1ex,
- unknown .code:n = \eb_msg_deprecated_option:n { spread }
+ unknown .code:n = \eb_msg_deprecated_option:n { space }
}
\tl_if_eq:NnT \l__ctex_scheme_tl { chinese }
{
\fp_compare:nNnTF { \l__ctex_line_spread_fp } = { 1.3 }
- { \ctex_set:nn { spread } { line = 1.354,table = 1.354 } }
- { \ctex_set:nn { spread } { line = \fp_use:N \l__ctex_line_spread_fp } }
+ {
+ \ctex_set:nn { space }
+ { linespread = 1.354,tabspread = 1.354 }
+ }
+ {
+ \ctex_set:nn { space }
+ { linespread = \fp_use:N \l__ctex_line_spread_fp }
+ }
}
\AfterPreamble{\skip_set:Nn \abovedisplayshortskip { 0ex plus .1ex }}
@@ -1895,10 +1987,17 @@
\RequirePackage{amsthm,thmtools}
\cs_set_eq:NN \eb@declaretheoremstyle@save \declaretheoremstyle
\cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
- \RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
+ \RenewDocumentCommand{\declaretheoremstyle}{+O{}m+O{}}
{\eb@declaretheoremstyle@save[#1,#3]{#2}}
- \RenewDocumentCommand{\declaretheorem}{O{}mO{}}
- {\eb@declaretheorem@save[style = default,#1,#3]{#2}}
+ \RenewDocumentCommand{\declaretheorem}{+O{}m+O{}}
+ {
+ \eb@declaretheorem@save[style = default,#1,#3]{#2}
+ \settheoremtocline{#2}
+ {
+ \listnumberline{#2}
+ \thmtname\thmtifnote{~(\thmtnote)}{}
+ }
+ }
\ctex_define:nn { thmt }
{
loeskip .skip_set:N = \eb@thmt@loe@skip,
@@ -1945,7 +2044,7 @@
\NewDocumentCommand{\settheoremtocline}{smm}
{
\IfBooleanT{#1}{\def\thmt@contentslineIgnore{\thmt@contentsline}}
- \cs_set:cpn { ll@#2 } {#3}
+ \cs_set:cpn { ll@#2 } { \@bsphack #3\@esphack }
}
}
@@ -2073,6 +2172,9 @@
\tl_gset:Nn \blx@default@theheading { bibintoc }
\defbibheading{bibintoc}[\bibname]{\eb_biber_toc_title:n {##1}}
\skip_zero:N \bibitemsep
+ \setcounter{biburlucpenalty}{1}
+ \setcounter{biburllcpenalty}{1}
+ \setcounter{biburlnumpenalty}{1}
}
\eb_at_end_preamble:n
{
@@ -2085,7 +2187,7 @@
}
}
-\cs_new:Npn \eb@lst@if@display #1#2
+\cs_new:Npn \lstifdisplay #1#2
{ \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{lst-base}
{
@@ -2113,9 +2215,9 @@
{
style = lst-base,
language = [LaTeX]TeX,
- texcsstyle = *\color{ctex@verb}\eb@lst@if@display{\bfseries}{},
- basicstyle = \ttfamily\eb@lst@if@display{\small}{\color{ctex@verb}},
- keywordstyle = \color{ctex@verb}\eb@lst@if@display{\bfseries}{}
+ texcsstyle = *\color{ctex@verb}\lstifdisplay{\bfseries}{},
+ basicstyle = \ttfamily\lstifdisplay{\small}{\color{ctex@verb}},
+ keywordstyle = \color{ctex@verb}\lstifdisplay{\bfseries}{}
}
\lstset{style = lst-latex}
\lstloadlanguages{C,C++,Java,Python,Matlab}
diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls
index 7b1a3a1d2de..35d3689165e 100644
--- a/Master/texmf-dist/tex/latex/easybook/easybook.cls
+++ b/Master/texmf-dist/tex/latex/easybook/easybook.cls
@@ -19,13 +19,13 @@
%%
%% This work has the LPPL maintenance status `maintained'.
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplClass{easybook}{2024/05/22}{2024bs}
+\ProvidesExplClass{easybook}{2024/07/18}{2024ct}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
\bool_new:N \l__eb_title_newline_bool
-\bool_set_true:N \l__eb_class_mode_book_bool
-\clist_new:N \g__eb_doc_options_clist
+\bool_set_true:N \l__eb_class_mode_book_bool
+\clist_new:N \g__eb_doc_options_clist
\cs_new_protected:Npn \eb_put_ctexbook:n #1
{ \PassOptionsToClass{#1}{ctexbook} }
\cs_generate_variant:Nn \eb_put_ctexbook:n { V }
@@ -71,10 +71,11 @@
\sys_if_engine_xetex:TF
{
- \cs_new_eq:NN \eb_set_family:nnn \xeCJK_set_family:nnn
+ \cs_new_eq:NN \eb_set_family:nnn \xeCJK_set_family:nnn
\cs_new_eq:NN \eb_switch_family:n \xeCJK_switch_family:n
- }{
- \cs_new_eq:NN \eb_set_family:nnn \ctex_ltj_set_family:nnn
+ }
+ {
+ \cs_new_eq:NN \eb_set_family:nnn \ctex_ltj_set_family:nnn
\cs_new_eq:NN \eb_switch_family:n \ctex_ltj_switch_family:n
}
\cs_generate_variant:Nn \eb_set_family:nnn { x }
@@ -94,13 +95,13 @@
{ main,sans,mono,CJKmain,CJKsans,CJKmono }
{
\exp_args:Nc \RenewDocumentCommand { set#1font }{O{}mO{}}
- {\use:c { eb_set#1font:nn } {##2} {##1,##3}}
+ {\use:c { eb_set#1font:nn } {##2} { ##1,##3 }}
}
\RenewDocumentCommand{\newCJKfontfamily}{omO{}mO{}}
{
\tl_set:Nx \l_tmpa_tl { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} }
\cs_new_protected:Npx #2 { \eb_switch_family:n { \l_tmpa_tl } }
- \eb_set_family:xnn { \l_tmpa_tl } {#3,#5} {#4}
+ \eb_set_family:xnn { \l_tmpa_tl } { #3,#5 } {#4}
}
\cs_new_protected:Npn \eb@font@load@noto
@@ -266,8 +267,8 @@
{ \par\nobreak\vskip 1.5pc }
{ \hspace{1em} }
},
- beforeskip = -1.5ex,
- afterskip = 4ex
+ beforeskip = 0pt,
+ afterskip = 25pt
},
section =
{
diff --git a/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg b/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
index c11809c8f84..0b624ee0bf0 100644
--- a/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
+++ b/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
@@ -18,7 +18,7 @@
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/22}{2024bs}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/07/18}{2024ct}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/Master/texmf-dist/tex/latex/elpres/elpres.cls b/Master/texmf-dist/tex/latex/elpres/elpres.cls
index adc53128457..5697bb8748f 100644
--- a/Master/texmf-dist/tex/latex/elpres/elpres.cls
+++ b/Master/texmf-dist/tex/latex/elpres/elpres.cls
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elpres}[2021/08/10 class for plain electronic presentations]
+\ProvidesClass{elpres}[2024/05/29 class for plain electronic presentations]
%
% 2004/06/19 v0.1 - initial version
%
@@ -41,7 +41,11 @@
%
% 2021/08/10 v1.0.1 - corrected upload
%
-
+% 2024/05/29 v1.1 - correction: \RequirePackageWithOptions{xcolor}
+% changed to \RequirePackage{xcolor} (elpres.cls)
+% - \setlength{\footskip}{11.8pt} added (elpres.cls)
+% - manual updated
+%
% Options: select fonts
\newcommand{\fontna}{initialisiert}
@@ -103,7 +107,7 @@
\LoadClass{article}
\RequirePackage{ifthen}
-\RequirePackageWithOptions{xcolor}
+\RequirePackage{xcolor}
\RequirePackage{graphicx}
\ifthenelse{\equal{\screenformat}{scr4x3}}{%
@@ -126,7 +130,10 @@
\RequirePackage[hyperfootnotes=false]{hyperref}
+\hypersetup{pdfcreator={LaTeX with the elpres class}}
+
\RequirePackage{fancyhdr}
+\setlength{\footskip}{11.8pt}
\renewcommand{\headrulewidth}{0mm}
diff --git a/Master/texmf-dist/tex/latex/ensps-colorscheme/ensps-colorscheme.sty b/Master/texmf-dist/tex/latex/ensps-colorscheme/ensps-colorscheme.sty
new file mode 100644
index 00000000000..f3541bb7da9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ensps-colorscheme/ensps-colorscheme.sty
@@ -0,0 +1,84 @@
+%%
+%% This is file `ensps-colorscheme.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ensps-colorscheme.dtx (with options: `ensps')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 Aliaume LOPEZ
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+\ProvidesPackage{ensps-colorscheme}
+ [2024-05-03 v0.0.1 ENS Paris-Saclay Colors and Theme]
+\RequirePackage{xcolor}
+\RequirePackage{tikz}
+\definecolor{Prune}{RGB}{99,0,60}
+\definecolor{A1}{HTML}{000000}
+\definecolor{B1}{RGB}{49,62,72}
+\definecolor{C1}{RGB}{124,135,143}
+\definecolor{D1}{RGB}{213,218,223}
+\definecolor{A2}{RGB}{198,11,70}
+\definecolor{B2}{RGB}{237,20,91}
+\definecolor{C2}{RGB}{238,52,35}
+\definecolor{D2}{RGB}{243,115,32}
+\definecolor{A3}{RGB}{124,42,144}
+\definecolor{B3}{RGB}{125,106,175}
+\definecolor{C3}{RGB}{198,103,29}
+\definecolor{D3}{RGB}{254,188,24}
+\definecolor{A4}{RGB}{0,78,125}
+\definecolor{B4}{RGB}{14,135,201}
+\definecolor{C4}{RGB}{0,148,181}
+\definecolor{D4}{RGB}{70,195,210}
+\definecolor{A5}{RGB}{0,128,122}
+\definecolor{B5}{RGB}{64,183,105}
+\definecolor{C5}{RGB}{140,198,62}
+\definecolor{D5}{RGB}{213,223,61}
+\foreach \name in {A,B,C,D} {
+ \foreach \hue in {1,2,3,4,5} {
+ \foreach \shade/\intensity in {hint/20,bg/50} {
+ \xglobal\colorlet{\name\hue\shade}{\name\hue!\intensity!white}
+ }
+ }
+}
+\newcommand{\enspscolors}{
+ \begin{tikzpicture}
+ \foreach \letter/\x in {A/0,B/1,C/2,D/3} {
+ \foreach \y/\variant in {0/1,1/2,2/3,3/4,4/5} {
+ \node[color=\letter\variant]
+ (\letter\variant) at (\x,\y)
+ {\letter\variant};
+ \node[color=\letter\variant bg]
+ (BG\letter\variant) at ({\x - 0.2}, {\y - 0.2})
+ {\letter\variant};
+ \node[color=\letter\variant hint]
+ (HT\letter\variant) at ({\x - 0.4}, {\y - 0.4})
+ {\letter\variant};
+ }
+ }
+ \begin{scope}[xshift=2cm]
+ \foreach \name/\x/\y in {
+ Prune/3/4
+ } {
+ \node[color=\name] (\name) at (\x,\y)
+ {\name};
+ }
+
+ \end{scope}
+ \end{tikzpicture}
+}
+\endinput
+%%
+%% End of file `ensps-colorscheme.sty'.
diff --git a/Master/texmf-dist/tex/latex/esami/esami.sty b/Master/texmf-dist/tex/latex/esami/esami.sty
index 12bf7613794..d1f8757d56d 100644
--- a/Master/texmf-dist/tex/latex/esami/esami.sty
+++ b/Master/texmf-dist/tex/latex/esami/esami.sty
@@ -145,6 +145,7 @@
% | PACKAGES |
% +=============================+
+\usepackage{tagpdf-base}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage[nomessages]{fp}
diff --git a/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty b/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty
index f42afc04fbd..268c91fa3ff 100644
--- a/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty
+++ b/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty
@@ -21,7 +21,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{extramarks}
- [2024/04/23 v4.2
+ [2024/07/18 v4.3
Extra marks for LaTeX]
% Copyright (C) 1994-2024 by Pieter van Oostrum <pieter@vanoostrum.org>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty b/Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
index f6ef0762fcd..d138cd4a505 100644
--- a/Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
+++ b/Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
@@ -21,7 +21,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{fancyhdr}%
- [2024/04/23 v4.2
+ [2024/07/18 v4.3
Extensive control of page headers and footers]%
% Copyright (C) 1994-2024 by Pieter van Oostrum <pieter@vanoostrum.org>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -129,10 +129,6 @@
}%
}
\ProcessOptions*
-\newcommand\f@nch@errmsg[1]{%
- \f@nch@ifundefined{PackageError}{\errmessage{#1}}{\PackageError{fancyhdr}{#1}{}}}
-\newcommand\f@nch@warning[1]{%
- \f@nch@ifundefined{PackageWarning}{\errmessage{#1}}{\PackageWarning{fancyhdr}{#1}{}}}
\newcommand{\f@nch@forc}[3]{\expandafter\f@nchf@rc\expandafter#1\expandafter{#2}{#3}}
\newcommand{\f@nchf@rc}[3]{\def\temp@ty{#2}\ifx\@empty\temp@ty\else
\f@nch@rc#1#2\f@nch@rc{#3}\fi}
@@ -157,7 +153,7 @@
\if@twoside\else
\iff@nch@twoside\else
\if\f@nch@@eo e%
- \f@nch@warning {\string#1's `E' option without twoside option is useless.\MessageBreak
+ \PackageWarning{fancyhdr} {\string#1's `E' option without twoside option is useless.\MessageBreak
Please consider using the `twoside' option}%
\fi\fi\fi
}
@@ -166,8 +162,8 @@
\f@nch@forc\tmpf@ra{#3}%
{\expandafter\f@nch@ifin\tmpf@ra{eolcrhf,EOLCRHF}%
{}{\edef\temp@c{\temp@c\tmpf@ra}}}%
- \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in
- \string#1 argument: [#3]}%
+ \ifx\@empty\temp@c\else \PackageError{fancyhdr}{Illegal char `\temp@c' in
+ \string#1 argument: [#3]}{}%
\fi \f@nch@for\temp@c{#3}%
{\f@nch@default\f@nch@@eo{eo}\temp@c
\f@nch@fancyhf@Echeck{#1}%
@@ -183,8 +179,8 @@
\f@nch@forc\tmpf@ra{#3}%
{\expandafter\f@nch@ifin\tmpf@ra{eolrhf,EOLRHF}%
{}{\edef\temp@c{\temp@c\tmpf@ra}}}%
- \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in
- \string#1 argument: [#3]}%
+ \ifx\@empty\temp@c\else \PackageError{fancyhdr}{Illegal char `\temp@c' in
+ \string#1 argument: [#3]}{}%
\fi \f@nch@for\temp@c{#3}%
{\f@nch@default\f@nch@@eo{eo}\temp@c
\f@nch@fancyhf@Echeck{#1}%
@@ -231,9 +227,24 @@
\let\f@nch@raggedleft\raggedleft
\let\f@nch@raggedright\raggedright
\let\f@nch@centering\centering
-\let\f@nch@everypar\everypar
+\ifdefined\ExplSyntaxOn
+ \ExplSyntaxOn
+ \let\f@nch@everypar\tex_everypar:D
+ \newcommand\f@nch@resetpar{%
+ \f@nch@everypar{}%
+ \cs_set_eq:NN \par \tex_par:D
+ \cs_set_eq:NN \@@par \tex_par:D
+ \cs_set_eq:NN \endgraf \tex_par:D
+ }
+ \ExplSyntaxOff
+\else
+ \let\f@nch@everypar\everypar
+ \newcommand\f@nch@resetpar{%
+ \f@nch@everypar{}%
+ }
+\fi
\newcommand\f@nch@noUppercase[2][]{#2}
-\def\f@nch@reset{\f@nch@everypar{}\restorecr\endlinechar=13
+\def\f@nch@reset{\f@nch@resetpar\restorecr\endlinechar=13
\catcode`\\=0\catcode`\{=1\catcode`\}=2\catcode`\$=3\catcode`\&=4
\catcode`\#=6\catcode`\^=7\catcode`\_=8\catcode`\ =10\catcode`\@=11
\catcode`\:=11\catcode`\~=13\catcode`\%=14
@@ -249,10 +260,8 @@
\expandafter\def\csname MakeUppercase\space\space\space\endcsname
[####1]####2{####2}%
##1}}%
- \f@nch@ifundefined{@newbaseline} % NFSS not present; 2.09 or 2e
- {\f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls
- {\@normalsize}}%
- {\@newbaseline}% NFSS (2.09) present
+ \f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls
+ {\@normalsize}%
}
\newcommand*{\fancycenter}[1][1em]{%
\@ifnextchar[{\f@nch@center{#1}}{\f@nch@center{#1}[3]}%
@@ -302,7 +311,7 @@
\ifdim\ht0>#1\relax
\iff@nch@check
\dimen0=#1\advance\dimen0-\ht0
- \f@nch@warning{%
+ \PackageWarning{fancyhdr}{%
\string#1 is too small (\the#1): \MessageBreak
Make it at least \the\ht0, for example:\MessageBreak
\string\setlength{\string#1}{\the\ht0}%
@@ -476,8 +485,8 @@
\def\@makecol{\ifvoid\footins\f@nch@footnotefalse\else\f@nch@footnotetrue\fi
\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol}%
}
-\newcommand\iftopfloat[2]{\ifx\topfloat\empty #2\else #1\fi}%
-\newcommand\ifbotfloat[2]{\ifx\botfloat\empty #2\else #1\fi}%
+\newcommand\iftopfloat[2]{\ifx\topfloat\@empty #2\else #1\fi}%
+\newcommand\ifbotfloat[2]{\ifx\botfloat\@empty #2\else #1\fi}%
\newcommand\iffloatpage[2]{\if@fcolmade #1\else #2\fi}%
\newcommand\iffootnote[2]{\iff@nch@footnote #1\else #2\fi}%
\newcommand{\fancypagestyle}[1]{%
@@ -485,10 +494,10 @@
}
\long\def\f@nch@pagestyle#1[#2]#3{%
\f@nch@ifundefined{ps@#2}{%
- \f@nch@errmsg{\string\fancypagestyle: Unknown base page style `#2'}%
+ \PackageError{fancyhdr}{\string\fancypagestyle: Unknown base page style `#2'}{}%
}{%
\f@nch@ifundefined{f@nch@ps@#2-is-fancyhdr}{%
- \f@nch@errmsg{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}%
+ \PackageError{fancyhdr}{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}{}%
}%
{%
\@namedef{ps@#1}{\let\f@nch@gbl\relax\@nameuse{ps@#2}#3\relax}%
diff --git a/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty b/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
index ffff6eb4d99..3b41426d703 100644
--- a/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
+++ b/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
@@ -11,7 +11,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2020-2023
+%% Copyright (C) 2020-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -30,7 +30,7 @@
%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
%% without such generated files.
%%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2023
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2024
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
diff --git a/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx b/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
index 38aa7af9196..1c158ec6258 100644
--- a/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
+++ b/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
@@ -11,7 +11,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2020-2023
+%% Copyright (C) 2020-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -30,12 +30,12 @@
%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
%% without such generated files.
%%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2023
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2024
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
-\def\LaTeXFirstAidDate{2024/02/29}
-\def\LaTeXFirstAidVersion{v1.1c}
+\def\LaTeXFirstAidDate{2024/06/25}
+\def\LaTeXFirstAidVersion{v1.1f}
\ProvidesFile{latex2e-first-aid-for-external-files.ltx}
[\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space
LaTeX kernel fixes to external files and packages]
@@ -170,16 +170,82 @@
\AddToHook{file/underscore.sty/after}[firstaid]{%
\FirstAidNeededT{underscore}{sty}{2006/09/13}{\RequirePackage{underscore-ltx}}}
\AddToHook{package/acro/after}[firstaid]{%
- \FirstAidNeededT{acro}{sty}{2022/04/01 v3.8 typeset acronyms and other abbreviations (CN)}
- {\UseName{prop_new:c}{l__acro_tmpa_prop}}%
+ \FirstAidNeededT{acro}{sty}{2022/04/01 v3.8 typeset acronyms
+ and other abbreviations (CN)}
+ {\UseName{prop_new:c}{l__acro_tmpa_prop}%
+ \acsetup{patch/longtable=false}%
+ }%
}
\AddToHook{package/chemformula/before}[firstaid]{%
\RequirePackage{l3keys2e}%
}
\AddToHook{package/chemnum/after}[firstaid]{%
- \FirstAidNeededT{chemnum}{sty}{2021/01/21 v1.3a a comprehensive approach for the numbering of chemical compounds (CN)}
+ \FirstAidNeededT{chemnum}{sty}{2021/01/21 v1.3a a comprehensive
+ approach for the numbering of chemical compounds (CN)}
{\UseName{prop_new:c}{l__chemnum_tmpa_prop}}%
}
+\AddToHook{package/cleveref/after}[firstaid]{%
+ \FirstAidNeededT{cleveref}{sty}{2018/03/27 v0.21.4 Intelligent cross-referencing}
+ {%
+ \def\cref@getref#1#2{%
+ \expandafter\let\expandafter#2\csname r@#1@cref\endcsname%
+ \expandafter\expandafter\expandafter\def%
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@firstoffive#2}}% <-------- five
+ \def\cpageref@getref#1#2{%
+ \expandafter\let\expandafter#2\csname r@#1@cref\endcsname%
+ \expandafter\expandafter\expandafter\def%
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@secondoffive#2}}% <----------- five
+ \AddToHook{begindocument}[cleveref]{%
+ \def\label@noarg#1{%
+ \cref@old@label{#1}%
+ \@bsphack%
+ \edef\@tempa{{page}{\the\c@page}}%
+ \setcounter{page}{1}%
+ \edef\@tempb{\thepage}%
+ \expandafter\setcounter\@tempa%
+ \cref@constructprefix{page}{\cref@result}%
+ \protected@write\@auxout{}%
+ {\string\newlabel{#1@cref}{{\cref@currentlabel}%
+ {[\@tempb][\arabic{page}][\cref@result]\thepage}{}{}{}}}% <----- five
+ \@esphack}%
+ \def\label@optarg[#1]#2{%
+ \cref@old@label{#2}%
+ \@bsphack%
+ \edef\@tempa{{page}{\the\c@page}}%
+ \setcounter{page}{1}%
+ \edef\@tempb{\thepage}%
+ \expandafter\setcounter\@tempa%
+ \cref@constructprefix{page}{\cref@result}%
+ \protected@edef\cref@currentlabel{%
+ \expandafter\cref@override@label@type%
+ \cref@currentlabel\@nil{#1}}%
+ \protected@write\@auxout{}%
+ {\string\newlabel{#2@cref}{{\cref@currentlabel}%
+ {[\@tempb][\arabic{page}][\cref@result]\thepage}{}{}{}}}% <------- five
+ \@esphack}%
+ }
+ }%
+}
+\AddToHook{package/arydshln/after}[firstaid]{%
+ \FirstAidNeededT{arydshln}{sty}{2019/02/21 v1.76 }
+ {%
+\protected\def\adl@@vlineL#1#2#3#4{\adl@ivline#4\@nil{#1}{#2}%
+ \xdef\adl@colsL{\adl@colsL
+ \@elt{#3}{\number\@tempcnta}{\number\@tempcntb}%
+ {\adl@dashcolor}{\adl@gapcolor}}}%
+\protected\def\adl@@vlineR#1#2#3#4{\adl@ivline#4\@nil{#1}{#2}%
+ \xdef\adl@colsR{%
+ \@elt{#3}{\number\@tempcnta}{\number\@tempcntb}%
+ {\adl@dashcolor}{\adl@gapcolor}%
+ \adl@colsR}}%
+\let\adl@act@@vlineL\adl@@vlineL
+\let\adl@act@@vlineR\adl@@vlineR
+ }%
+}
\endinput
%%
%% End of file `latex2e-first-aid-for-external-files.ltx'.
diff --git a/Master/texmf-dist/tex/latex/firstaid/underscore-ltx.sty b/Master/texmf-dist/tex/latex/firstaid/underscore-ltx.sty
index 3a0df981742..0c5afe8215b 100644
--- a/Master/texmf-dist/tex/latex/firstaid/underscore-ltx.sty
+++ b/Master/texmf-dist/tex/latex/firstaid/underscore-ltx.sty
@@ -11,7 +11,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2020-2023
+%% Copyright (C) 2020-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -30,7 +30,7 @@
%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
%% without such generated files.
%%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2023
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2024
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/gelasiomath.sty b/Master/texmf-dist/tex/latex/gelasiomath/gelasiomath.sty
new file mode 100644
index 00000000000..e468d793de3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gelasiomath/gelasiomath.sty
@@ -0,0 +1,295 @@
+\NeedsTeXFormat{LaTeX2e}
+
+\def\fileversion{1.0}
+\def\filedate{2024/06/19}
+\ProvidesPackage{gelasiomath}[%
+\filedate\space v\fileversion (Michael Sharpe) Use xch small caps in gelasio text and supply matching math package]
+
+\message{`gelasiomath'v\fileversion,\space\filedate\space Load\space XCharter\space small\space caps\space as\space target\space for\space scshape\space and\space load\space newtx\space with\space appropriate\space options.\space (msharpe)}
+
+\RequirePackage{iftex,etoolbox,xkeyval,ifthen,xparse}
+\def\gelm@scale{1} % default value for scale option
+
+\DeclareOptionX{scale}{\def\gelm@scale{#1}}
+\newif\ifgelm@scosf
+\DeclareOptionX{scosf}{\gelm@scosftrue}
+%\newif\ifgelm@gelscfigs\gelm@gelscfigstrue
+%\DeclareOptionX{nogelfigs}{\gelm@gelscfigsfalse}
+
+\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{newtx}}
+
+\ProcessOptionsX \relax
+\@tempdima=\gelm@scale\p@
+\@tempdimb=.92\@tempdima % for gelasio text scale
+\@tempdimc=.938\@tempdima % for xcharter text
+\edef\gel@scale{\strip@pt\@tempdimb}
+\edef\XCharter@scale{\strip@pt\@tempdimc}
+\usepackage[gelasio,textscale=\gel@scale,mathscale=\gelm@scale]{newtx}
+%\AtBeginDocument{%
+% \expandafter\ifx\csname Gelasio@scale\endcsname\relax
+% \edef\Gelasio@scale{1}
+% \edef\XCharter@scale{1.02}
+% \else
+% \@tempdima=\Gelasio@scale\p@
+% \@tempdima=1.02\@tempdima%
+% \edef\XCharter@scale{\strip@pt\@tempdima}
+% \fi
+%} % AtBeginDocument
+\def\gelm@scit{scit}% for testing value of \f@shape
+\def\gelm@sc{sc}% for testing value of \f@shape
+
+\iftutex
+\AtBeginDocument{%
+\def\gelm@tufig{\addfontfeatures{RawFeature = -smcp , \ifgelm@scosf Numbers = OldStyle, \fi}}
+\addfontfeatures{UprightFeatures={SmallCapsFont={XCharter-Roman}, SmallCapsFeatures={%
+\ifgelm@scosf Numbers = OldStyle ,\fi
+ Letters=SmallCaps,
+Scale=\XCharter@scale}},%
+ItalicFeatures={SmallCapsFont={XCharter-Italic}, SmallCapsFeatures={%
+\ifgelm@scosf Numbers = OldStyle ,\fi
+Letters=SmallCaps, Scale=\XCharter@scale}},%
+BoldFeatures={SmallCapsFont={XCharter-Bold}, SmallCapsFeatures={%
+\ifgelm@scosf Numbers = OldStyle ,\fi
+Letters=SmallCaps, Scale=\XCharter@scale}},%
+BoldItalicFeatures={SmallCapsFont={XCharter-BoldItalic}, SmallCapsFeatures={%
+\ifgelm@scosf Numbers = OldStyle ,\fi
+Letters=SmallCaps, Scale=\XCharter@scale}}%
+}}
+\ifgelm@scosf
+ \AtBeginDocument{%
+ \xpretocmd{\scshape}
+ {\addfontfeatures{Numbers=OldStyle}}
+ {}{}%
+ }%
+\fi
+
+\else %not tutex
+ \AtBeginDocument{%
+ \ifgelm@scosf%
+ \def\gelm@fig{OsF}
+ \else % use default settings from gelasio.sty
+ \def\gelm@fig{\gelasio@figurealign\gelasio@figurestyle}
+ \fi
+ \edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
+ \let\scshape\relax
+ \DeclareRobustCommand\scshape{%
+ \not@math@alphabet\scshape\relax
+ \fontfamily{XCharter-\gelm@fig}\fontshape\scdefault\selectfont}
+ %\DeclareTextCommand{\textsc}{\scshape}
+ }
+\fi
+
+%\newtoks\gel@SC % store for processed string
+%\newtoks\gel@src % store for source string
+%\def\gel@Append#1{% append #1 to token register \gel@SC
+%\toks0={#1}%
+%\edef\gel@tmpa{\noexpand\gel@SC={\the\gel@SC \the\toks0}}%
+%\gel@tmpa}
+%
+%\def\gel@Pop#1(into:)#2{%
+% \edef\gel@act{\noexpand\gel@SplitOff\the#1%
+% (gel@head:)\noexpand#2(gel@tail:)\noexpand#1}%
+% \gel@act}
+%\def\gel@SplitOff#1#2(gel@head:)#3(gel@tail:)#4{\def#3{\noexpand #1}#4={#2}}
+%
+%\def\nxt|#1#2\@nil{%
+%\toks0={#2}\edef\param{\the\toks0}%
+%\ifx\param\@empty%
+% \textsc{\the\gel@SC} % done
+%\else% continue parsing for capital letters
+% \ifthenelse{\isblank
+% \ifcat A#1 % #1 is letter
+% \if#1\uppercase{#1}%
+% \gel@Append{\textulc{#1}}%
+% \else
+% \gel@Append{#1}%
+% \fi
+% \else % not a letter
+% \gel@Append{#1}%
+% \fi
+% \nxt|#2\@nil%
+%\fi}
+%
+%\def\textSC#1{\gel@SC={}\nxt|#1\@nil}
+\def\textSC#1{\textsc{\capsescape{#1}}}
+\iftutex%
+ \def\textULC#1{{\gelasio\gelm@tufig%
+ \ifthenelse{\equal{\f@shape}{\gelm@scit}}{%shape is scit
+ \itshape}{% not so
+ \ifthenelse{\equal{\f@shape}{\gelm@sc}}{% shape is sc
+ \upshape}}%
+ \textulc{#1}}}
+
+\else
+ \def\textULC#1{{\fontfamily{Gelasio-\gelm@fig}%
+ \ifthenelse{\equal{\f@shape}{\gelm@scit}}{%shape is scit
+ \fontshape{it}}{% not so
+ \ifthenelse{\equal{\f@shape}{\gelm@sc}}{% shape is sc
+ \fontshape{n}}{}}%
+ \selectfont #1}}
+\fi
+\ExplSyntaxOn
+\NewDocumentCommand{\capsescape}{ m }
+ {
+ \gel_capsescape:n { #1 }
+ }
+
+\tl_new:N \l__gel_capsescape_input_tl
+\cs_new_protected:Npn \gel_capsescape:n #1
+ {
+ % store the string in a variable
+ \tl_set:Nn \l__gel_capsescape_input_tl {#1}
+ \regex_replace_all:nnN
+ % search for capital letters, figures and more
+ { ([A-Z\d]+|\cC.\{?[A-Z]+\}?) }
+ % replace the match with \textULC{<match>}
+ { \c{textULC}\cB\{\1\cE\} }
+ \l__gel_capsescape_input_tl
+ \tl_use:N \l__gel_capsescape_input_tl
+ }
+\ExplSyntaxOff
+
+
+% galasio.sty does not offer macros for numerators, denominators or inferiors
+\AtBeginDocument{%
+\ifgelasio@otf
+ \DeclareRobustCommand{\lfstyle}{%
+ \not@math@alphabet\lfstyle\relax
+ \addfontfeatures{Numbers={Proportional,Lining}}%
+ }
+
+ \DeclareRobustCommand{\tlfstyle}{%
+ \not@math@alphabet\tlfstyle\relax
+ \addfontfeatures{Numbers={Monospaced,Lining}}%
+ }
+ \DeclareRobustCommand{\osfstyle}{%
+ \not@math@alphabet\osfstyle\relax
+ \addfontfeatures{Numbers={Proportional,OldStyle}}%
+ }
+ \DeclareRobustCommand{\tosfstyle}{%
+ \not@math@alphabet\tosfstyle\relax
+ \addfontfeatures{Numbers={Monospaced,OldStyle}}%
+ }
+ \providecommand\nufigures{%
+ \addfontfeatures{VerticalPosition=Numerator}}
+ \providecommand\defigures{%
+ \addfontfeatures{VerticalPosition=Denominator}}
+ \providecommand\infigures{%
+ \addfontfeatures{VerticalPosition=Inferior}}
+
+ \DeclareTextFontCommand{\textnum}{\nufigures}
+ \DeclareTextFontCommand{\textde}{\defigures}
+ \DeclareTextFontCommand{\textinf}{\infigures}
+ \NewCommandCopy\textnu\textnum
+ \@ifundefined{tx@sfrSC}{}{%
+ \newcommand*{\textsmde}[1]{%
+ \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}}
+
+\else % type1 --we define \text.. by lowering \textsu
+ % missing font switches for type1
+ \DeclareRobustCommand{\lfstyle}{%
+ \not@math@alphabet\lfstyle\relax
+ \fontfamily{Gelasio-LF}\selectfont %
+ }
+ \DeclareRobustCommand{\tlfstyle}{%
+ \not@math@alphabet\tlfstyle\relax
+ \fontfamily{Gelasio-TLF}\selectfont %
+ }
+ \DeclareRobustCommand{\osfstyle}{%
+ \not@math@alphabet\osfstyle\relax
+ \fontfamily{Gelasio-OsF}\selectfont %
+ }
+ \DeclareRobustCommand{\tosfstyle}{%
+ \not@math@alphabet\tosfstyle\relax
+ \fontfamily{Gelasio-TOsF}\selectfont %
+ }
+ \newbox\tx@box
+ \newcommand*{\textde}[1]{{\setbox0=\hbox{\textsu{#1}}\setbox1=\hbox{\raise -.763ex \box0}\dp1=0pt\ht1=.977ex\box1\relax}}
+
+ \providecommand*\textnum[1]{\raisebox{.507ex}{\textde{#1}}}
+ \NewCommandCopy\textnu\textnum
+ \providecommand*\textinf[1]{\raisebox{-.237ex}{\textde{#1}}}
+ \let\textnu\textnum
+% \providecommand*\textde[1]{{\setbox0=\hbox{\textsu{#1}}%
+% \setbox1=\hbox{\lower.763ex\box0}\dp0=0pt\relax\box1\relax}}
+ %\raisebox{-.763ex}{\textsu{#1}}}
+ % the following will be used only by \textsfrac
+ \@ifundefined{tx@sfrSC}{}{%
+ \newcommand*{\textsmde}[1]{%
+ \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}%
+ }
+\fi
+\DeclareTextFontCommand{\textlf}{\lfstyle}
+\DeclareTextFontCommand{\texttlf}{\tlfstyle}
+\DeclareTextFontCommand{\textosf}{\osfstyle}
+\DeclareTextFontCommand{\texttosf}{\tosfstyle}
+} %\AtBeginDocument
+%\ifnum\ntx@id=16\relax
+%\else % create \textsmsmde for other than minion and gelasio
+%% We move the small font to the text baseline and scale it by \tx@sfrSC, for use only in the \textsfrac macro.
+%\ifnum\ntx@id=4\relax
+%\else
+% \ifnum\tx@debase=0
+% \newcommand*{\textsmde}[1]{%
+% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}
+% \else
+% \newdimen\tx@u \newdimen\tx@v
+% \tx@u=-\tx@debase pt
+% \tx@toex{\strip@pt\tx@u}\tx@y=\tx@x
+% %\showthe\tx@y
+% \tx@v=\strip@pt\tx@y ex
+% \newcommand*{\textsmde}[1]{%
+% \setbox2=\hbox{\textde{#1}}%
+% \setbox1=\hbox{\raise \tx@v \box2}%
+% \setbox0=\hbox{\scalebox{\tx@sfrSC}{\box1}}\box0}
+% \fi %\ifnum\tx@debase=0
+%\fi %\ifnum\ntx@id=4
+%\fi %\ifnum\ntx@id=16
+\iftutex%
+ \def\gel@frslash{\symbol{"2044}}
+\else%
+ \def\gel@frslash{%
+ {\fontencoding{TS1}\selectfont\char"2F}}
+\fi
+
+\newcommand*{\geltextfrac}[3][]{% like \textfrac[1]{7}{8}
+ \mbox{%
+ \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
+ {\textlf{#1}\kern.02em}{}%
+ \textnum{#2}% numerator
+ \StrRight{#2}{1}[\@digit@]%
+ % look for 1, 2, 3, 7, 8
+ \ifcase\@digit@% 0
+ \or%\kern.03em% 1
+ \or\kern.04em% 2
+ \or%\kern-.01em% 3
+ \or\kern.02em% 4
+ \or\kern-.01em% 5
+ \or%\kern.01em% 6
+ \or\kern-.08em% 7
+ \or\kern.01em% 8
+ \or\kern-.02em% 9
+ \fi%
+% \kern\ntx@foresolidus{\fontencoding{TS1}\selectfont\char"2F}%
+% \kern\ntx@aftsolidus%
+ \gel@frslash%
+ \StrLeft{#3}{1}[\@digit@]%
+ % look for 1, 4, 7
+ \ifcase\@digit@% 0
+ \or\kern .01em% 1
+ \or\kern .01em% 2
+ \or\kern .01em% 3
+ \or\kern -.01em% 4
+ \or%\kern -.02em% 5
+ \or%\kern-.03em% 6
+ \or\kern .06em% 7
+ \or%\kern .01em% 8
+ \or\kern .01em% 9
+ \fi%
+ \textde{#3}% denominator [#3]
+ }%mbox
+} % \geltextfrac
+\@ifundefined{textfrac}{\NewCommandCopy\textfrac\geltextfrac}%
+{\RenewCommandCopy\textfrac\geltextfrac}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/ly1mingelasio.fd b/Master/texmf-dist/tex/latex/gelasiomath/ly1mingelasio.fd
new file mode 100644
index 00000000000..5a76ba9518c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gelasiomath/ly1mingelasio.fd
@@ -0,0 +1,91 @@
+\ProvidesFile{ly1mingelasio.fd}
+ [2024/04/11 (msharpe) Font definitions for LY1/mingelasio.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+\def\@textscalefactor{.92}
+%xgelasio must be reduced by factor .92 to match xheight of newtxmath
+
+
+\@ifundefined{ntxmath@scale}{\let\ntxmath@scaled\@empty}
+{\@tempdima\@textscalefactor\p@
+\@tempdima\ntxmath@scale\@tempdima
+\edef\ntxmath@scaled{s*[\strip@pt\@tempdima]}}% locally, not globally
+
+\DeclareFontFamily{LY1}{mingelasio}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{mingelasio}{m}{it}{
+ <-> \ntxmath@scaled Gelasio-Italic-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{regular}{it}{
+ <-> alias * mingelasio/m/it
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{m}{n}{
+ <-> \ntxmath@scaled Gelasio-Regular-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{regular}{n}{
+ <-> alias * mingelasio/m/n
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{m}{sl}{
+ <-> ssub * mingelasio/m/it
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{regular}{sl}{
+ <-> ssub * mingelasio/regular/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{LY1}{mingelasio}{b}{n}{
+ <-> \ntxmath@scaled Gelasio-Bold-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{bold}{n}{
+ <-> alias * mingelasio/b/n
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{b}{it}{
+ <-> \ntxmath@scaled Gelasio-BoldItalic-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{bold}{it}{
+ <-> alias * mingelasio/b/it
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{b}{sl}{
+ <-> ssub * mingelasio/b/it
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{bold}{sl}{
+ <-> ssub * mingelasio/bold/it
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{LY1}{mingelasio}{bx}{n}{
+ <-> ssub * mingelasio/b/n
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{bx}{sl}{
+ <-> ssub * mingelasio/b/sl
+}{}
+
+\DeclareFontShape{LY1}{mingelasio}{bx}{it}{
+ <-> ssub * mingelasio/b/it
+}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/omlzgelmi.fd b/Master/texmf-dist/tex/latex/gelasiomath/omlzgelmi.fd
new file mode 100644
index 00000000000..a9a6f612f47
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gelasiomath/omlzgelmi.fd
@@ -0,0 +1,30 @@
+%Filename: omlzgelmi.fd
+%Created by: tex zgel-drv
+%Created using msharpe
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{omlzgelmi.fd}
+ [2024/04/08 Fontinst v1.933 font definitions for OML/zgelmi.]
+
+\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
+ \let\ntxmath@scaled\@empty%
+\fi
+
+
+\DeclareFontFamily{OML}{zgelmi}{\skewchar \font =127}
+
+\DeclareFontShape{OML}{zgelmi}{m}{it}{
+ <-> \ntxmath@scaled zgelmi
+}{}
+
+\DeclareFontShape{OML}{zgelmi}{b}{it}{
+ <-> \ntxmath@scaled zgelbmi
+}{}
+
+\DeclareFontShape{OML}{zgelmi}{m}{sl}{<->ssub * zgelmi/m/it}{}
+\DeclareFontShape{OML}{zgelmi}{bx}{it}{<->ssub * zgelmi/b/it}{}
+\DeclareFontShape{OML}{zgelmi}{b}{sl}{<->ssub * zgelmi/b/it}{}
+\DeclareFontShape{OML}{zgelmi}{bx}{sl}{<->ssub * zgelmi/b/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/ot1mingelasio.fd b/Master/texmf-dist/tex/latex/gelasiomath/ot1mingelasio.fd
new file mode 100644
index 00000000000..1bfed27c98b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gelasiomath/ot1mingelasio.fd
@@ -0,0 +1,78 @@
+\ProvidesFile{ot1mingelasio.fd}
+ [2024/04/11 (msharpe) Font definitions for OT1/mingelasio.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\def\@textscalefactor{.92}
+%xgelasio must be reduced by factor .92 to match xheight of newtxmath
+
+\@ifundefined{ntxmath@scale}{\let\ntxmath@scaled\@empty}
+{\@tempdima\@textscalefactor\p@
+\@tempdima\ntxmath@scale\@tempdima
+\edef\ntxmath@scaled{s*[\strip@pt\@tempdima]}}% locally, not globally
+
+\DeclareFontFamily{OT1}{mingelasio}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{mingelasio}{m}{n}{
+ <-> \ntxmath@scaled Gelasio-Regular-tlf-ot1G
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{regular}{n}{
+ <-> alias * mingelasio/m/n
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{m}{it}{
+ <-> \ntxmath@scaled Gelasio-Italic-tlf-ot1G
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{regular}{it}{
+ <-> alias * mingelasio/m/it
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{m}{sl}{
+ <-> ssub * mingelasio/m/it
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{regular}{sl}{
+ <-> ssub * mingelasio/regular/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{OT1}{mingelasio}{b}{n}{
+ <-> \ntxmath@scaled Gelasio-Bold-tlf-ot1G
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{bold}{n}{
+ <-> alias * mingelasio/b/n
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{b}{it}{
+ <-> \ntxmath@scaled Gelasio-BoldItalic-tlf-ot1G
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{bold}{it}{
+ <-> alias * mingelasio/b/it
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{b}{sl}{
+ <-> ssub * mingelasio/b/it
+}{}
+
+\DeclareFontShape{OT1}{mingelasio}{bold}{sl}{
+ <-> ssub * mingelasio/bold/it
+}{}
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd b/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd
new file mode 100644
index 00000000000..da0a9da6553
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd
@@ -0,0 +1,51 @@
+\ProvidesFile{t1minelasio.fd}
+ [2024/04/14 (msharpe) Font definitions for T1/mingelasio.]
+
+%\def\@textscalefactor{.92}
+%xgelasio must be reduced by factor .92 to match xheight of newtxmath
+
+%\@ifundefined{newtxmathscale}{\def\newtxmathscale{1}}{}
+%\@tempdima\@textscalefactor\p@
+%\@tempdima\newtxmathscale\@tempdima
+%\xdef\newtxtext@scaled{s*[\strip@pt\@tempdima]}%global, not local
+
+\DeclareFontFamily{T1}{mingelasio}{}
+%\show\ntxtext@scaled
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T1}{mingelasio}{b}{it}{
+ <-> \ntxtext@scaled Gelasio-BoldItalic-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{mingelasio}{b}{n}{
+ <-> \ntxtext@scaled Gelasio-Bold-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{mingelasio}{b}{sl}{
+ <-> ssub * mingelasio/b/it
+}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{mingelasio}{m}{n}{
+ <-> \ntxtext@scaled Gelasio-Regular-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{mingelasio}{m}{it}{
+ <-> \ntxtext@scaled Gelasio-Italic-tlf-t1
+}{}
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T1}{mingelasio}{bx}{n}{
+ <-> ssub * mingelasio/b/n
+}{}
+
+\DeclareFontShape{T1}{mingelasio}{bx}{it}{
+ <-> ssub * mingelasio/b/it
+}{}
+\traceoff
+\endinput
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/untxmia.fd b/Master/texmf-dist/tex/latex/gelasiomath/untxmia.fd
new file mode 100644
index 00000000000..212e5b2386e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gelasiomath/untxmia.fd
@@ -0,0 +1,139 @@
+%Filename: untxmia.fd
+%Created by: tex mia-drv
+%Created using fontinst v1.933
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{untxmia.fd}
+ [2024/04/09 Fontinst v1.933 font definitions for U/ntxmia.]
+
+\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
+ \let\ntxmath@scaled\@empty%
+\fi
+
+\DeclareFontFamily{U}{ntxmia}{\skewchar \font =127}
+
+\iftx@libertine
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled nxlmia
+ }{}
+
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled nxlbmia
+ }{}
+\else
+ \iftx@minion
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zmnmia
+ }{}
+
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zmnbmia
+ }{}
+ \else
+ \iftx@coch
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zcochmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zcochbmia
+ }{}
+ \else
+ \iftx@ch
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zchmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zchbmia
+ }{}
+ \else
+ \iftx@stxtwo
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled ntxstx2mia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled ntxstx2bmia
+ }{}
+
+ \else
+ \iftx@ebgm
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled ntxebgmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled ntxebgbmia
+ }{}
+ \else
+ \iftx@ut
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zutmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zutbmia
+ }{}
+ \else
+ \iftx@nc
+ \iftx@fourier
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zncfmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zncfbmia
+ }{}
+ \else
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zncmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zncbmia
+ }{}
+ \fi
+ \else
+ \iftx@noto
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled notomia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled notobmia
+ }{}
+ \else
+ \iftx@notosans
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled notosansmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled notosansbmia
+ }{}
+ \else
+ \iftx@gel
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zgelmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zgelbmia
+ }{}
+ \else
+
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled ntxmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled ntxbmia
+ }{}
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+\fi
+\DeclareFontShape{U}{ntxmia}{m}{sl}{<->ssub * ntxmia/m/it}{}
+\DeclareFontShape{U}{ntxmia}{bx}{it}{<->ssub * ntxmia/b/it}{}
+\DeclareFontShape{U}{ntxmia}{b}{sl}{<->ssub * ntxmia/b/it}{}
+\DeclareFontShape{U}{ntxmia}{bx}{sl}{<->ssub * ntxmia/b/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/graphics/color.sty b/Master/texmf-dist/tex/latex/graphics/color.sty
index 20399e9c24f..7083345d319 100644
--- a/Master/texmf-dist/tex/latex/graphics/color.sty
+++ b/Master/texmf-dist/tex/latex/graphics/color.sty
@@ -12,7 +12,7 @@
%%
%%
%% color.dtx Copyright (C) 1994--1999 David Carlisle
-%% Copyright (C) 2005-2022 LaTeX Project
+%% Copyright (C) 2005-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -25,7 +25,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{color}
- [2022/01/06 v1.3d Standard LaTeX Color (DPC)]
+ [2024/01/14 v1.3d Standard LaTeX Color (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
diff --git a/Master/texmf-dist/tex/latex/graphics/dvipdf.def b/Master/texmf-dist/tex/latex/graphics/dvipdf.def
index ac5bdeabd45..54f14b9116d 100644
--- a/Master/texmf-dist/tex/latex/graphics/dvipdf.def
+++ b/Master/texmf-dist/tex/latex/graphics/dvipdf.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/dvipsnam.def b/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
index 2ec3c3c2bd7..9c3e261c281 100644
--- a/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
+++ b/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/dvipsone.def b/Master/texmf-dist/tex/latex/graphics/dvipsone.def
index ba117bf2018..0b052c068fd 100644
--- a/Master/texmf-dist/tex/latex/graphics/dvipsone.def
+++ b/Master/texmf-dist/tex/latex/graphics/dvipsone.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/dviwin.def b/Master/texmf-dist/tex/latex/graphics/dviwin.def
index 2a151f81cee..6dd22108a49 100644
--- a/Master/texmf-dist/tex/latex/graphics/dviwin.def
+++ b/Master/texmf-dist/tex/latex/graphics/dviwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/emtex.def b/Master/texmf-dist/tex/latex/graphics/emtex.def
index 5c039362be2..2bb0144563d 100644
--- a/Master/texmf-dist/tex/latex/graphics/emtex.def
+++ b/Master/texmf-dist/tex/latex/graphics/emtex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/epsfig.sty b/Master/texmf-dist/tex/latex/graphics/epsfig.sty
index b12566de4b8..10bc2aa88e1 100644
--- a/Master/texmf-dist/tex/latex/graphics/epsfig.sty
+++ b/Master/texmf-dist/tex/latex/graphics/epsfig.sty
@@ -12,7 +12,7 @@
%%
%%
%% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{epsfig}
- [2017/06/25 v1.7b (e)psfig emulation (SPQR)]
+ [2024/01/14 v1.7b (e)psfig emulation (SPQR)]
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphicx}}
\ProcessOptions
\RequirePackage{graphicx}
diff --git a/Master/texmf-dist/tex/latex/graphics/graphics-2017-06-25.sty b/Master/texmf-dist/tex/latex/graphics/graphics-2017-06-25.sty
index 154867d99a4..24f64431247 100644
--- a/Master/texmf-dist/tex/latex/graphics/graphics-2017-06-25.sty
+++ b/Master/texmf-dist/tex/latex/graphics/graphics-2017-06-25.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `graphics.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `graphics.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/graphics.sty b/Master/texmf-dist/tex/latex/graphics/graphics.sty
index e8f630bc665..9d6e6c3b176 100644
--- a/Master/texmf-dist/tex/latex/graphics/graphics.sty
+++ b/Master/texmf-dist/tex/latex/graphics/graphics.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2022 LaTeX Project
+%% Copyright (C) 1995-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -24,14 +24,13 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{graphics-2017-06-25.sty}
\DeclareRelease{}{2017-06-25}{graphics-2017-06-25.sty}
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{graphics}
- [2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)]
+ [2024/05/23 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
diff --git a/Master/texmf-dist/tex/latex/graphics/graphicx.sty b/Master/texmf-dist/tex/latex/graphics/graphicx.sty
index 7e9bf36eac2..de9d178cb06 100644
--- a/Master/texmf-dist/tex/latex/graphics/graphicx.sty
+++ b/Master/texmf-dist/tex/latex/graphics/graphicx.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2022 LaTeX Project
+%% Copyright (C) 1995-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/keyval.sty b/Master/texmf-dist/tex/latex/graphics/keyval.sty
index 064d47f6e41..c422add543c 100644
--- a/Master/texmf-dist/tex/latex/graphics/keyval.sty
+++ b/Master/texmf-dist/tex/latex/graphics/keyval.sty
@@ -12,7 +12,7 @@
%%
%%
%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 David Carlisle, LaTeX Project
+%% Copyright (C) 2000-2024 David Carlisle, LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/lscape.sty b/Master/texmf-dist/tex/latex/graphics/lscape.sty
index 9bf9a055221..372fdcea132 100644
--- a/Master/texmf-dist/tex/latex/graphics/lscape.sty
+++ b/Master/texmf-dist/tex/latex/graphics/lscape.sty
@@ -12,7 +12,7 @@
%%
%%
%% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctex32.def b/Master/texmf-dist/tex/latex/graphics/pctex32.def
index 51ef24852ab..92943879a60 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctex32.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctex32.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctexhp.def b/Master/texmf-dist/tex/latex/graphics/pctexhp.def
index fbc7328acd1..f334eb179ab 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctexhp.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctexhp.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctexps.def b/Master/texmf-dist/tex/latex/graphics/pctexps.def
index e41507e9e65..d8c324574b0 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctexps.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctexps.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctexwin.def b/Master/texmf-dist/tex/latex/graphics/pctexwin.def
index 14ed41f19ba..a25c2a7265b 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctexwin.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctexwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/rotating.sty b/Master/texmf-dist/tex/latex/graphics/rotating.sty
index 5d820526c93..5d4596be493 100644
--- a/Master/texmf-dist/tex/latex/graphics/rotating.sty
+++ b/Master/texmf-dist/tex/latex/graphics/rotating.sty
@@ -13,7 +13,7 @@
%%
%% Copyright (C) 1995-1999 Sebastian Rahtz and Leonor Barroca
%% Copyright (C) 2001-2003,2007-2009 Robin Fairbairns
-%% Copyright (C) 2016-2022 LaTeX Project
+%% Copyright (C) 2016-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
\NeedsTeXFormat{LaTeX2e}
diff --git a/Master/texmf-dist/tex/latex/graphics/tcidvi.def b/Master/texmf-dist/tex/latex/graphics/tcidvi.def
index d17b6d85e09..2e0a032dcfc 100644
--- a/Master/texmf-dist/tex/latex/graphics/tcidvi.def
+++ b/Master/texmf-dist/tex/latex/graphics/tcidvi.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/trig.sty b/Master/texmf-dist/tex/latex/graphics/trig.sty
index fb1eca9143f..b5114838368 100644
--- a/Master/texmf-dist/tex/latex/graphics/trig.sty
+++ b/Master/texmf-dist/tex/latex/graphics/trig.sty
@@ -12,7 +12,7 @@
%%
%%
%% File: trig.dtx Copyright (C) 1993-1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{trig}
- [2021/08/11 v1.11 sin cos tan (DPC)]
+ [2023/12/02 v1.11 sin cos tan (DPC)]
\chardef\nin@ty=90
\chardef\@clxxx=180
\chardef\@lxxi=71
diff --git a/Master/texmf-dist/tex/latex/graphics/truetex.def b/Master/texmf-dist/tex/latex/graphics/truetex.def
index e2318fa531e..28f11e78c86 100644
--- a/Master/texmf-dist/tex/latex/graphics/truetex.def
+++ b/Master/texmf-dist/tex/latex/graphics/truetex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2022 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/heria/heria.cls b/Master/texmf-dist/tex/latex/heria/heria.cls
index ed545f9b84e..9c581bbe329 100644
--- a/Master/texmf-dist/tex/latex/heria/heria.cls
+++ b/Master/texmf-dist/tex/latex/heria/heria.cls
@@ -8,11 +8,11 @@
%%
%% This is a generated file.
%%
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%% Copyright 2016 John Kormylo
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{heria}
-[2023-12-04 v3.2.1.0 Class for Horizon Europe (R)IA proposals]
+[2024-07-14 v3.4.1.0 Class for Horizon Europe (R)IA proposals]
\LoadClass[11pt,a4paper]{article}
\RequirePackage[T1]{fontenc} % T1 font encoding
\RequirePackage[left=15mm,
@@ -60,6 +60,18 @@
\definecolor{footergrey}{HTML}{D8D8D8}
\definecolor{tablegrey}{HTML}{F2F2F2}
\definecolor{summaryblue}{HTML}{00B0F0}
+\gdef\@templateversion{3.4} % Default version
+\def\@supportedtemplateversions{3.2,3.3,3.4} % Supported versions
+\ExplSyntaxOn
+\NewDocumentCommand{\templateversion}{m}{%
+ \clist_if_in:NnTF {\@supportedtemplateversions} {#1}
+ {\gdef\@templateversion{#1}}
+ {\PackageError{heria}%
+ {unsupported~template~version}%
+ {Use~one~of~\@supportedtemplateversions}
+ }%
+}
+\ExplSyntaxOff
\newcommand{\callname}[1]{\gdef\@callname{#1}}%
\newcommand{\callidentifier}[1]{\gdef\@callidentifier{#1}}%
\newcommand{\calltopic}[1]{\gdef\@calltopic{#1}}%
@@ -718,7 +730,6 @@
}{%
\end{tcolorbox}%
}
-\RequirePackage{everypage}
\RequirePackage{environ}
\newcounter{abspage}% \thepage not reliab
\newcommand{\newSFPage}[1]% #1 = \theabspage
@@ -733,15 +744,17 @@
\rotatebox{90}{\parbox[c][\textwidth][c]{\textheight}{\BODY}}%
\fi
\end{figure}}
-\AddEverypageHook{% check if sideways figure on this page
- \ifdim\textwidth=\textheight
- \stepcounter{abspage}% already in landscape
- \else
- \@ifundefined{SFPage@\theabspage}{}{\global\pdfpageattr{/Rotate 0}}%
- \stepcounter{abspage}%
- \@ifundefined{SFPage@\theabspage}{}%
- {\global\pdfpageattr{/Rotate 90}}%
- \fi}
+\AddToHook{shipout/background}{% check if sideways figure on this page
+ \put(1in,-1in){%
+ \ifdim\textwidth=\textheight
+ \stepcounter{abspage}% already in landscape
+ \else
+ \@ifundefined{SFPage@\theabspage}{}{\global\pdfpageattr{/Rotate 0}}%
+ \stepcounter{abspage}%
+ \@ifundefined{SFPage@\theabspage}{}%
+ {\global\pdfpageattr{/Rotate 90}}%
+ \fi}%
+ }
\RequirePackage{newtxtext} % Use Times for main text
\RequirePackage{newtxmath} % Use Times for math
\renewcommand*\ttdefault{lmvtt} % Latin Modern Typewriter Proportional
diff --git a/Master/texmf-dist/tex/latex/heria/hi-methodology.tex b/Master/texmf-dist/tex/latex/heria/hi-methodology.tex
index 0ba1b503aab..b672aa0a834 100644
--- a/Master/texmf-dist/tex/latex/heria/hi-methodology.tex
+++ b/Master/texmf-dist/tex/latex/heria/hi-methodology.tex
@@ -31,7 +31,7 @@
environmental objectives of the EU Taxonomy Regulation.}
\item
\emph{If you plan to use, develop and/or deploy artificial
- intellingence (AI) based systems and/or techniques you must
+ intelligence (AI) based systems and/or techniques you must
demonstrate their technical robustness. AI-based systems or techniques
should be, or be developed to become:~}
diff --git a/Master/texmf-dist/tex/latex/heria/hi-workplan.tex b/Master/texmf-dist/tex/latex/heria/hi-workplan.tex
index 20070b17c37..db64e7da4eb 100644
--- a/Master/texmf-dist/tex/latex/heria/hi-workplan.tex
+++ b/Master/texmf-dist/tex/latex/heria/hi-workplan.tex
@@ -40,12 +40,33 @@ Please provide the following:
\item
\emph{Give full details. Base your account on the logical structure of
the project and the stages in which it is to be carried out.}
+\makeatletter
+\ifdim\@templateversion pt<3.4pt
\emph{The number of work packages should be proportionate to the scale
and complexity of the project.}
\item
\emph{You should give enough detail in each work package to justify
the proposed resources to be allocated and also quantified information
so that progress can be monitored, including by the Commission}
+\else
+ \emph{Each work package should be a substantial part of the work
+ plan, and the number of work packages should be proportionate to
+ the scale and complexity of the project.}
+\item \emph{Structure each work package by breaking it down into
+ tasks. If tasks are not appropriate, work packages can be
+ organised according to other criteria (e.g., according to the type
+ of work or thematically). For each task or element of the work
+ package, describe all activities to be carried out and quantify
+ them (e.g., number of protocols, tests, measurements,
+ combinations, study subjects, conferences, publications,
+ etc.). Provide enough detail to clarify who will do this work and
+ why it is needed for the project, (e.g., the level of
+ qualification and number of person-months for personnel, as well
+ as the requested equipment, consumables, meetings, etc.), to
+ justify the proposed resources and so that progress can be
+ monitored, including by the Commission.}
+\fi
+\makeatother
\item
\emph{Resources assigned to work packages should be in line with their
objectives and deliverables. You are advised to include a distinct
diff --git a/Master/texmf-dist/tex/latex/heria/hi-wp-description.tex b/Master/texmf-dist/tex/latex/heria/hi-wp-description.tex
index 4697c862162..1146119f66e 100644
--- a/Master/texmf-dist/tex/latex/heria/hi-wp-description.tex
+++ b/Master/texmf-dist/tex/latex/heria/hi-wp-description.tex
@@ -8,9 +8,15 @@
%%
%% This is a generated file.
%%
+\makeatletter
+\ifdim\@templateversion pt<3.4pt
(where appropriate, broken down into tasks), lead partner and role of
participants. Deliverables linked to each WP are listed in table 3.1c
(no need to repeat the information here).
+\else
+(where appropriate, broken down into tasks), lead partner and role of participants. For each task, quantify the amount of work. Provide enough detail to justify the resources requested and clarify why the work is needed and who will do it. Deliverables linked to each WP are listed in table 3.1c (no need to repeat the information here).
+\fi
+\makeatother
\endinput
%%
%% End of file `hi-wp-description.tex'.
diff --git a/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty b/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty
index da8f84fc105..29ddf89c219 100644
--- a/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty
+++ b/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.sty 895 2024-05-14 19:22:17Z herbert $
+%% $Id: hvqrurl.sty 901 2024-05-26 07:18:06Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -7,21 +7,25 @@
% Copyright 2019,21,23,24 Herbert Voss hvoss@tug.org
%%
\ProvidesPackage{hvqrurl}[%
- 2024/05/14 v.0.08 (Herbert Voss) Supports qr images into the margin (hv)]
+ 2024/05/26 v.0.09 (Herbert Voss) Supports qr images into the margin (hv)]
%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{url}
\RequirePackage{xcolor}
\RequirePackage{marginnote}
-\RequirePackage{qrcode}
+%\RequirePackage{qrcode}
\RequirePackage{xkeyval}
+\newif\if@hv@forget
+\@hv@forgetfalse
+\DeclareOption{forget}{\@hv@forgettrue}
+
\newif\if@no@hyperref
\@no@hyperreffalse
-
\DeclareOption{nohyperref}{\@no@hyperreftrue}
\ProcessOptions
+\if@hv@forget\RequirePackage[forget]{qrcode}\else\RequirePackage{qrcode}\fi
\if@no@hyperref\else\RequirePackage{hyperref}\fi
\newlength\qr@url@qrheight
diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
index b2178383a50..8fdce7b068b 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hdvipdfm.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for dvipdfm]
\Hy@VersionCheck{hdvipdfm.def}
\special{pdf:majorversion \Hy@pdf@majorversion}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvips.def b/Master/texmf-dist/tex/latex/hyperref/hdvips.def
index 4ba940a5a92..62c4d56cf25 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hdvips.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hdvips.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hdvips.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for dvips]
\Hy@VersionCheck{hdvips.def}
\providecommand*{\XR@ext}{pdf}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipson.def b/Master/texmf-dist/tex/latex/hyperref/hdvipson.def
index 4ca00c55847..ba81a7bada2 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hdvipson.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hdvipson.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hdvipson.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for dvipsone]
\Hy@VersionCheck{hdvipson.def}
\providecommand*{\XR@ext}{pdf}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hdviwind.def b/Master/texmf-dist/tex/latex/hyperref/hdviwind.def
index d3abe8e6a61..5ff71600070 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hdviwind.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hdviwind.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hdviwind.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for dviwindo]
\Hy@VersionCheck{hdviwind.def}
\begingroup
diff --git a/Master/texmf-dist/tex/latex/hyperref/hluatex.def b/Master/texmf-dist/tex/latex/hyperref/hluatex.def
index c4c8afba4fc..b681ab1c33d 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hluatex.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hluatex.def
@@ -34,16 +34,15 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hluatex.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for luaTeX]
\Hy@VersionCheck{hluatex.def}
-%% 2024-01-20 v7.01h
+%% 2024-07-10 v7.01j
%% force unicode encoding, see issue #101
%% code mostly copied from hxetex.def
\HyPsd@LoadUnicode
\Hy@unicodetrue
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode
-\HyPsd@LoadStringEnc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\protected\def\pdfcatalog {\pdfextension catalog }
diff --git a/Master/texmf-dist/tex/latex/hyperref/hpdftex.def b/Master/texmf-dist/tex/latex/hyperref/hpdftex.def
index 353c328256c..bc8b4b84fb5 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hpdftex.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hpdftex.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hpdftex.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for pdfTeX]
\Hy@VersionCheck{hpdftex.def}
\pdf@ifdraftmode{%
diff --git a/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg b/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg
index f67b84a528e..a007ef5e83d 100644
--- a/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg
+++ b/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{htex4ht.cfg}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref configuration file for TeX4ht]
\IfFileExists{\jobname.cfg}{\endinput}{}
\Preamble{html}
diff --git a/Master/texmf-dist/tex/latex/hyperref/htex4ht.def b/Master/texmf-dist/tex/latex/hyperref/htex4ht.def
index 3c707909538..3b707e5232d 100644
--- a/Master/texmf-dist/tex/latex/hyperref/htex4ht.def
+++ b/Master/texmf-dist/tex/latex/hyperref/htex4ht.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{htex4ht.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for TeX4ht]
\Hy@VersionCheck{htex4ht.def}
\providecommand*{\XR@ext}{html}
diff --git a/Master/texmf-dist/tex/latex/hyperref/htexture.def b/Master/texmf-dist/tex/latex/hyperref/htexture.def
index 452ac778061..7473dbf4b40 100644
--- a/Master/texmf-dist/tex/latex/hyperref/htexture.def
+++ b/Master/texmf-dist/tex/latex/hyperref/htexture.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{htexture.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for Textures]
\Hy@VersionCheck{htexture.def}
\providecommand*{\XR@ext}{pdf}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtex.def b/Master/texmf-dist/tex/latex/hyperref/hvtex.def
index 7b4d0f9669e..fda74743b20 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hvtex.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hvtex.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hvtex.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for VTeX in PDF/PS mode]
\Hy@VersionCheck{hvtex.def}
\providecommand*{\XR@ext}{pdf}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def b/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def
index 757d7dcfeba..ddda3f9c1a7 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hvtexhtml.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for VTeX in HTML mode]
\Hy@VersionCheck{hvtexhtm.def}
\providecommand*{\XR@ext}{htm}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def b/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def
index 027b94fce13..007d5fc37e0 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hvtexmrk.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for VTeX in PDF/PS mode (pdfmark specials)]
\Hy@VersionCheck{hvtexmrk.def}
\providecommand*{\XR@ext}{pdf}
diff --git a/Master/texmf-dist/tex/latex/hyperref/hxetex.def b/Master/texmf-dist/tex/latex/hyperref/hxetex.def
index 29c89355b11..a53590216eb 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hxetex.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hxetex.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hxetex.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for XeTeX]
\Hy@VersionCheck{hxetex.def}
\HyPsd@LoadUnicode
@@ -42,7 +42,6 @@
\else
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
\fi
-\HyPsd@LoadStringEnc
\define@key{Hyp}{unicode}[true]{%
\Hy@boolkey{unicode}{#1}%
\ifHy@unicode
diff --git a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
index 5cbe90f90a0..fd16d9ff212 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
+++ b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
@@ -36,7 +36,7 @@
%% File: hyperref.dtx
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\ProvidesPackage{hyperref}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hypertext links for LaTeX]
\begingroup
\@makeother\`%
@@ -111,9 +111,9 @@
\RequirePackage{kvdefinekeys}[2011/04/07]
\RequirePackage{pdfescape}[2007/11/11]
\RequirePackage{hycolor}
-\RequirePackage{auxhook}[2009/12/14]
\RequirePackage{nameref}[2012/07/28]
\RequirePackage{etoolbox}
+\RequirePackage{stringenc}[2009/12/15]%
\def\Hy@Error{\PackageError{hyperref}}
\def\Hy@Warning{\PackageWarning{hyperref}}
\def\Hy@WarningNoLine{\PackageWarningNoLine{hyperref}}
@@ -628,30 +628,27 @@
\ifHy@unicode
\HyPsd@ConvertToUnicode#1%
\ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
- \@ifundefined{StringEncodingConvertTest}{%
- }{%
- \EdefUnescapeString\HyPsd@temp#1%
- \iftutex
- \let\HyPsd@UnescapedString\HyPsd@temp
- \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
- {utf16be}{ascii-print}{%
- \EdefEscapeString\HyPsd@temp\HyPsd@temp
- \global\let#1\HyPsd@temp
- \HyPsd@EscapeTeX#1%
- \Hy@unicodefalse
- }{%
- \HyPsd@EscapeTeX#1%
- }%
- \else
- \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
- {utf16be}{pdfdoc}{%
- \EdefEscapeString\HyPsd@temp\HyPsd@temp
- \global\let#1\HyPsd@temp
- \HyPsd@EscapeTeX#1%
- \Hy@unicodefalse
- }{}%
- \fi
- }%
+ \EdefUnescapeString\HyPsd@temp#1%
+ \iftutex
+ \let\HyPsd@UnescapedString\HyPsd@temp
+ \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
+ {utf16be}{ascii-print}{%
+ \EdefEscapeString\HyPsd@temp\HyPsd@temp
+ \global\let#1\HyPsd@temp
+ \HyPsd@EscapeTeX#1%
+ \Hy@unicodefalse
+ }{%
+ \HyPsd@EscapeTeX#1%
+ }%
+ \else
+ \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
+ {utf16be}{pdfdoc}{%
+ \EdefEscapeString\HyPsd@temp\HyPsd@temp
+ \global\let#1\HyPsd@temp
+ \HyPsd@EscapeTeX#1%
+ \Hy@unicodefalse
+ }{}%
+ \fi
\fi
\fi
\pdfstringdefPostHook#1%
@@ -2439,9 +2436,6 @@
\hypersetup{unicode}%
\ifHy@unicode
\def\HyPsd@pdfencoding{#1}%
- \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
- \HyPsd@LoadStringEnc
- \fi
\else
\Hy@Warning{Cannot switch to unicode bookmarks}%
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@pdfdoc
@@ -2461,22 +2455,6 @@
\def\HyPsd@pdfencoding@unicode{unicode}
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode
\HyPsd@LoadUnicode
-\def\HyPsd@LoadStringEnc{%
- \RequirePackage{stringenc}[2009/12/15]%
- \let\HyPsd@LoadStringEnc\relax
-}
-\Hy@AtBeginDocument{%
- \@ifpackageloaded{stringenc}{%
- \let\HyPsd@LoadStringEnc\relax
- }{%
- \def\HyPsd@LoadStringEnc{%
- \Hy@WarningNoLine{%
- Missing package `stringenc'. Use `pdfencoding=auto'\MessageBreak
- in the preamble or load the package there%
- }%
- }%
- }%
-}
\define@key{Hyp}{psdextra}[true]{%
\Hy@boolkey{psdextra}{#1}%
\HyPsd@LoadExtra
@@ -4587,6 +4565,7 @@
\catcode`\&\active
\gdef\hyper@normalise{^^A
\begingroup
+ \@makeother{:}^^A
\catcode`\^^M\active
\def^^M{ }^^A
\catcode`\%\active
@@ -5924,6 +5903,8 @@
\Hy@temp{calculate}
\Hy@temp{onfocus}
\Hy@temp{onblur}
+\Hy@temp{onmousedown}
+\Hy@temp{onmouseup}
\Hy@temp{onenter}
\Hy@temp{onexit}
\let\Fld@calculate@sortkey\@empty
@@ -5944,8 +5925,6 @@
}%
\fi
\Hy@temp{ondblclick}
-\Hy@temp{onmousedown}
-\Hy@temp{onmouseup}
\Hy@temp{onmouseover}
\Hy@temp{onmousemove}
\Hy@temp{onmouseout}
@@ -7738,8 +7717,9 @@
\let\H@definecounter\@definecounter
\def\@definecounter#1{%
\H@definecounter{#1}%
- \expandafter\gdef\csname theH#1\endcsname{\arabic{#1}}%
- }
+ \expandafter
+ \gdef\csname theH#1\expandafter\endcsname\expandafter
+ {\expandafter\@arabic\csname c@#1\endcsname}}%
}{}
\@ifundefined{hyper@nopatch@counter}
{
@@ -7777,6 +7757,7 @@
\let\make@df@tag@@@\Hy@make@df@tag@@@
}{}
}{}
+\def\HyOrg@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}}
\@ifundefined{hyper@nopatch@counter}
{
\let\HyOrg@addtoreset\@addtoreset
diff --git a/Master/texmf-dist/tex/latex/hyperref/hypertex.def b/Master/texmf-dist/tex/latex/hyperref/hypertex.def
index 9e29e10838f..b03da7b3665 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hypertex.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hypertex.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{hypertex.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref driver for HyperTeX specials]
\Hy@VersionCheck{hypertex.def}
\providecommand*{\XR@ext}{dvi}
diff --git a/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty b/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty
index 3af528d7ad5..e6c8822b185 100644
--- a/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty
+++ b/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty
@@ -34,7 +34,7 @@
%% File: hyperref.dtx
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\ProvidesPackage{nohyperref}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Dummy hyperref (SR)]
\let\hyper@@anchor\@gobble
\def\hyper@link#1#2#3{#3}%
diff --git a/Master/texmf-dist/tex/latex/hyperref/pd1enc.def b/Master/texmf-dist/tex/latex/hyperref/pd1enc.def
index d481ce384d1..d202fd12697 100644
--- a/Master/texmf-dist/tex/latex/hyperref/pd1enc.def
+++ b/Master/texmf-dist/tex/latex/hyperref/pd1enc.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{pd1enc.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref: PDFDocEncoding definition (HO)]
\DeclareFontEncoding{PD1}{}{}
\DeclareTextAccent{\`}{PD1}{\textasciigrave}
diff --git a/Master/texmf-dist/tex/latex/hyperref/pdfmark.def b/Master/texmf-dist/tex/latex/hyperref/pdfmark.def
index 1337b980df3..761f6527e91 100644
--- a/Master/texmf-dist/tex/latex/hyperref/pdfmark.def
+++ b/Master/texmf-dist/tex/latex/hyperref/pdfmark.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{pdfmark.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref definitions for pdfmark specials]
\Hy@VersionCheck{pdfmark.def}
\begingroup
diff --git a/Master/texmf-dist/tex/latex/hyperref/psdextra.def b/Master/texmf-dist/tex/latex/hyperref/psdextra.def
index 3653a91ddf5..50f3e63126c 100644
--- a/Master/texmf-dist/tex/latex/hyperref/psdextra.def
+++ b/Master/texmf-dist/tex/latex/hyperref/psdextra.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{psdextra.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref: Additions to PDF string support]
\Hy@VersionCheck{psdextra.def}
\DeclareTextCommand{\textGamma}{PU}{\83\223}%* U+0393
diff --git a/Master/texmf-dist/tex/latex/hyperref/puarenc.def b/Master/texmf-dist/tex/latex/hyperref/puarenc.def
index 182422efbd4..5e04cf4ad2b 100644
--- a/Master/texmf-dist/tex/latex/hyperref/puarenc.def
+++ b/Master/texmf-dist/tex/latex/hyperref/puarenc.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{puarenc.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref: Additions to puenc.def for Arabi]
\DeclareTextCommand{\hamza}{PU}{\86\041}% U+0621
\DeclareTextCommand{\alefmadda}{PU}{\86\042}% U+0622
diff --git a/Master/texmf-dist/tex/latex/hyperref/puenc-extra.def b/Master/texmf-dist/tex/latex/hyperref/puenc-extra.def
index 23fc293efb6..6e983121159 100644
--- a/Master/texmf-dist/tex/latex/hyperref/puenc-extra.def
+++ b/Master/texmf-dist/tex/latex/hyperref/puenc-extra.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{puenc-extra.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref: PDF Unicode extra definition (HO)]
\DeclareTextCommand{\G}{PU}[1]{#1\83\017}% U+030F
\DeclareTextCompositeCommand{\G}{PU}{\@empty}{\textdoublegrave}%
diff --git a/Master/texmf-dist/tex/latex/hyperref/puenc.def b/Master/texmf-dist/tex/latex/hyperref/puenc.def
index 777d241cf2d..8aedd0b78c8 100644
--- a/Master/texmf-dist/tex/latex/hyperref/puenc.def
+++ b/Master/texmf-dist/tex/latex/hyperref/puenc.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{puenc.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref: PDF Unicode definition (HO)]
\DeclareFontEncoding{PU}{}{}
\DeclareTextCommand{\`}{PU}[1]{#1\83\000}% U+0300
diff --git a/Master/texmf-dist/tex/latex/hyperref/puvnenc.def b/Master/texmf-dist/tex/latex/hyperref/puvnenc.def
index d43c023bf61..e0323c4eb86 100644
--- a/Master/texmf-dist/tex/latex/hyperref/puvnenc.def
+++ b/Master/texmf-dist/tex/latex/hyperref/puvnenc.def
@@ -33,7 +33,7 @@
%%
%% File: hyperref.dtx
\ProvidesFile{puvnenc.def}
- [2024-01-20 v7.01h %
+ [2024-07-10 v7.01j %
Hyperref: Additions to puenc.def for VnTeX]
\DeclareTextCommand{\abreve}{PU}{\81\003}% U+0103
\DeclareTextCommand{\acircumflex}{PU}{\80\342}% U+00E2
diff --git a/Master/texmf-dist/tex/latex/hyperref/xr-hyper.sty b/Master/texmf-dist/tex/latex/hyperref/xr-hyper.sty
index 8e5e125e13a..25b1f757bdd 100644
--- a/Master/texmf-dist/tex/latex/hyperref/xr-hyper.sty
+++ b/Master/texmf-dist/tex/latex/hyperref/xr-hyper.sty
@@ -34,7 +34,7 @@
%% File: xr-hyper.dtx Copyright (C) 1993-2024 David Carlisle
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xr-hyper}
- [2024-01-20 v7.01h eXternal References (DPC)]
+ [2024-07-10 v7.01j eXternal References (DPC)]
\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
\def\XR@cite[#1]{\@testopt{\XR@[#1]}{}}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/iwonamath.sty b/Master/texmf-dist/tex/latex/iwonamath/iwonamath.sty
index e4679f35cc5..96a879699f5 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/iwonamath.sty
+++ b/Master/texmf-dist/tex/latex/iwonamath/iwonamath.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesExplPackage {iwonamath}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\keys_define:nn { iwonamath/options }
{
@@ -67,6 +67,7 @@
\SetSymbolFont{symbols2} {bold}{OMS}{cmsy}{b}{n}
\DeclareMathDelimiter{\lVert}{\mathopen} {symbols2}{"6B}{largesymbols}{"0D}
\DeclareMathDelimiter{\rVert}{\mathclose}{symbols2}{"6B}{largesymbols}{"0D}
+ \DeclareMathDelimiter{\|}{\mathclose}{symbols2}{"6B}{largesymbols}{"0D}
}
{}
\DeclareDocumentCommand \DefineIwonaMathVersion { m }
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omliwonamath.fd b/Master/texmf-dist/tex/latex/iwonamath/omliwonamath.fd
index eca19657e23..869b63021f1 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omliwonamath.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omliwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omliwonamathc.fd b/Master/texmf-dist/tex/latex/iwonamath/omliwonamathc.fd
index 452341075ff..567abb4d8c7 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omliwonamathc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omliwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omliwonamathl.fd b/Master/texmf-dist/tex/latex/iwonamath/omliwonamathl.fd
index a0dba2a8290..c52bb24dcfd 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omliwonamathl.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omliwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omliwonamathlc.fd b/Master/texmf-dist/tex/latex/iwonamath/omliwonamathlc.fd
index 90d147d1ee2..ebfaea2b699 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omliwonamathlc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omliwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamath.fd b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamath.fd
index 958053cd49a..7a0c889c7db 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamath.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathc.fd b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathc.fd
index 02b892ffc55..22c17550110 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathcmsy.fd b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathcmsy.fd
index 107011cf5a7..5a66a04ae6e 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathcmsy.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathcmsy.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathcmsy.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathl.fd b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathl.fd
index d291ba7eb08..3e0815ef80b 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathl.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathlc.fd b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathlc.fd
index 55a040e93eb..8cdb0f65035 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathlc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omsiwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamath.fd b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamath.fd
index 662121a6be4..8b33fd85b99 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamath.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathc.fd b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathc.fd
index fce676f1e8d..9738a6961d5 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathl.fd b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathl.fd
index 895f359e352..759ecad381b 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathl.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathlc.fd b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathlc.fd
index 85f60415e32..fbe5cdc48cc 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathlc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/omxiwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamath.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamath.fd
index 20be53c3aff..789656bfa71 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamath.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathc.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathc.fd
index a0b92a2b372..182d34be2f9 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathcm.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathcm.fd
index a5e69e07ad4..4f49f9befbb 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathcm.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathcm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathcm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathl.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathl.fd
index 82060b21d1c..504e9c87ad8 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathl.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlc.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlc.fd
index c5b2f0024b2..5ad18477c78 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlc.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlcm.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlcm.fd
index 130c63822eb..c1b3f9bb442 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlcm.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlcm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlcm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlm.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlm.fd
index ab72419cd80..f15d880adc4 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlm.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathlm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathm.fd b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathm.fd
index 7a103a029b6..9f82d657344 100644
--- a/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathm.fd
+++ b/Master/texmf-dist/tex/latex/iwonamath/ot1iwonamathm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/Master/texmf-dist/tex/latex/jnuexam/jnuexam.cls b/Master/texmf-dist/tex/latex/jnuexam/jnuexam.cls
index f5df9204692..086c55f2b01 100644
--- a/Master/texmf-dist/tex/latex/jnuexam/jnuexam.cls
+++ b/Master/texmf-dist/tex/latex/jnuexam/jnuexam.cls
@@ -6,7 +6,7 @@
% ----------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jnuexam}[2024-02-18 v2024E An exam class for Jinan University]
+\ProvidesClass{jnuexam}[2024-07-09 v2024F An exam class for Jinan University]
%% 旧版本的 LaTeX 不能识别 2022-11-01 这种日期格式
%\@ifl@t@r\fmtversion{2022-11-01}{}{
@@ -521,9 +521,10 @@
\let\doscratchpaper=\doscratchpaperone
}
-% 在旧版本 ctex 宏包中不能用 \AtEndDocument 添加含中文的内容,即不能用 \appto 而要用 \preto
+%% 此时 \AtEndDocument{...} 等价于 \AddToHook{enddocument}[jnuexam]{...}
+%% 而且默认会在 \AddToHook{enddocument}[randexam]{...} 所加的代码之后执行
\newcommand{\addscratchpaper}{
- \preto{\@enddocumenthook}{\doscratchpaper}
+ \AtEndDocument{\doscratchpaper}
}
\IfExamBoolF{plain}{\IfExamBoolF{answer}{\addscratchpaper}}
@@ -534,6 +535,7 @@
\DeclareExamTheme{final-chinese}{
\SetExamOption{chinese}
+ \SetExamBoolTrue{evaluator}
\SelectExamTranslation{chinese}
\SetExamValue{exampart}{number=\Chinese}
\SelectExamTemplate{examtitle}{final-chinese}
diff --git a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Inf.fd b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Inf.fd
index dbf5adb75d2..1741a4af34c 100644
--- a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Inf.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Inf.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LGRJunicode-Inf.fd}
- [2024/01/08 (autoinst) Font definitions for LGR/Junicode-Inf.]
+ [2024/06/03 (autoinst) Font definitions for LGR/Junicode-Inf.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,210 +20,183 @@
\DeclareFontFamily{LGR}{Junicode-Inf}{}
-% ---- medium ----
+% ---- mediumexpanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{medium}{sl}{
- <-> ssub * Junicode-Inf/medium/it
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumexpanded/it
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiboldexpanded}{n}{
- <-> alias * Junicode-Inf/sbx/n
+\DeclareFontShape{LGR}{Junicode-Inf}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiboldexpanded}{it}{
- <-> alias * Junicode-Inf/sbx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/sbsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sbx}{sl}{
- <-> ssub * Junicode-Inf/sbx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{sbsx}{sl}{
+ <-> ssub * Junicode-Inf/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldsemiexpanded/it
}{}
-% ---- l = light ----
-
-\DeclareFontShape{LGR}{Junicode-Inf}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-inf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Inf}{light}{it}{
- <-> alias * Junicode-Inf/l/it
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Inf}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-inf-lgr
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{light}{n}{
- <-> alias * Junicode-Inf/l/n
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{l}{sl}{
- <-> ssub * Junicode-Inf/l/it
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{light}{sl}{
- <-> ssub * Junicode-Inf/light/it
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemiexpanded/it
}{}
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-Inf}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-lgr
-}{}
+% ---- x = expanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{boldexpanded}{it}{
- <-> alias * Junicode-Inf/bx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{expanded}{n}{
+ <-> alias * Junicode-Inf/x/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{boldexpanded}{n}{
- <-> alias * Junicode-Inf/bx/n
+\DeclareFontShape{LGR}{Junicode-Inf}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{bx}{sl}{
- <-> ssub * Junicode-Inf/bx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{expanded}{it}{
+ <-> alias * Junicode-Inf/x/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{boldexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{x}{sl}{
+ <-> ssub * Junicode-Inf/x/it
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{LGR}{Junicode-Inf}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{expanded}{sl}{
+ <-> ssub * Junicode-Inf/expanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{regular}{it}{
- <-> alias * Junicode-Inf/m/it
-}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-inf-lgr
-}{}
+% ---- c = condensed ----
-\DeclareFontShape{LGR}{Junicode-Inf}{regular}{n}{
- <-> alias * Junicode-Inf/m/n
+\DeclareFontShape{LGR}{Junicode-Inf}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{m}{sl}{
- <-> ssub * Junicode-Inf/m/it
+\DeclareFontShape{LGR}{Junicode-Inf}{condensed}{it}{
+ <-> alias * Junicode-Inf/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{regular}{sl}{
- <-> ssub * Junicode-Inf/regular/it
+\DeclareFontShape{LGR}{Junicode-Inf}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-inf-lgr
}{}
-
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{condensed}{n}{
+ <-> alias * Junicode-Inf/c/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{c}{sl}{
+ <-> ssub * Junicode-Inf/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-Inf/mediumsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-Inf}{condensed}{sl}{
+ <-> ssub * Junicode-Inf/condensed/it
}{}
-% ---- sc = semicondensed ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semicondensed}{n}{
- <-> alias * Junicode-Inf/sc/n
+\DeclareFontShape{LGR}{Junicode-Inf}{semiexpanded}{it}{
+ <-> alias * Junicode-Inf/sx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semicondensed}{it}{
- <-> alias * Junicode-Inf/sc/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semiexpanded}{n}{
+ <-> alias * Junicode-Inf/sx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sc}{sl}{
- <-> ssub * Junicode-Inf/sc/it
+\DeclareFontShape{LGR}{Junicode-Inf}{sx}{sl}{
+ <-> ssub * Junicode-Inf/sx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semicondensed}{sl}{
- <-> ssub * Junicode-Inf/semicondensed/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiexpanded/it
}{}
-% ---- sb = semibold ----
+% ---- m = regular ----
-\DeclareFontShape{LGR}{Junicode-Inf}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semibold}{n}{
- <-> alias * Junicode-Inf/sb/n
+\DeclareFontShape{LGR}{Junicode-Inf}{regular}{it}{
+ <-> alias * Junicode-Inf/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semibold}{it}{
- <-> alias * Junicode-Inf/sb/it
+\DeclareFontShape{LGR}{Junicode-Inf}{regular}{n}{
+ <-> alias * Junicode-Inf/m/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sb}{sl}{
- <-> ssub * Junicode-Inf/sb/it
+\DeclareFontShape{LGR}{Junicode-Inf}{m}{sl}{
+ <-> ssub * Junicode-Inf/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semibold}{sl}{
- <-> ssub * Junicode-Inf/semibold/it
+\DeclareFontShape{LGR}{Junicode-Inf}{regular}{sl}{
+ <-> ssub * Junicode-Inf/regular/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- medium ----
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{medium}{sl}{
+ <-> ssub * Junicode-Inf/medium/it
}{}
@@ -254,57 +227,57 @@
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- l = light ----
-\DeclareFontShape{LGR}{Junicode-Inf}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/bsx/n
+\DeclareFontShape{LGR}{Junicode-Inf}{light}{n}{
+ <-> alias * Junicode-Inf/l/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/bsx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{light}{it}{
+ <-> alias * Junicode-Inf/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{bsx}{sl}{
- <-> ssub * Junicode-Inf/bsx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{l}{sl}{
+ <-> ssub * Junicode-Inf/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{light}{sl}{
+ <-> ssub * Junicode-Inf/light/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/sbsx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{boldexpanded}{it}{
+ <-> alias * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/sbsx/n
+\DeclareFontShape{LGR}{Junicode-Inf}{boldexpanded}{n}{
+ <-> alias * Junicode-Inf/bx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sbsx}{sl}{
- <-> ssub * Junicode-Inf/sbsx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{bx}{sl}{
+ <-> ssub * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldexpanded/it
}{}
@@ -350,6 +323,33 @@
}{}
+% ---- bsx = boldsemiexpanded ----
+
+\DeclareFontShape{LGR}{Junicode-Inf}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-inf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Inf}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/bsx/n
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Inf}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Inf}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/bsx/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Inf}{bsx}{sl}{
+ <-> ssub * Junicode-Inf/bsx/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Inf}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldsemiexpanded/it
+}{}
+
+
% ---- lc = lightcondensed ----
\DeclareFontShape{LGR}{Junicode-Inf}{lc}{n}{
@@ -377,99 +377,99 @@
}{}
-% ---- c = condensed ----
+% ---- sb = semibold ----
-\DeclareFontShape{LGR}{Junicode-Inf}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{condensed}{it}{
- <-> alias * Junicode-Inf/c/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semibold}{it}{
+ <-> alias * Junicode-Inf/sb/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{condensed}{n}{
- <-> alias * Junicode-Inf/c/n
+\DeclareFontShape{LGR}{Junicode-Inf}{semibold}{n}{
+ <-> alias * Junicode-Inf/sb/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{c}{sl}{
- <-> ssub * Junicode-Inf/c/it
+\DeclareFontShape{LGR}{Junicode-Inf}{sb}{sl}{
+ <-> ssub * Junicode-Inf/sb/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{condensed}{sl}{
- <-> ssub * Junicode-Inf/condensed/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semibold}{sl}{
+ <-> ssub * Junicode-Inf/semibold/it
}{}
-% ---- x = expanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{LGR}{Junicode-Inf}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{expanded}{n}{
- <-> alias * Junicode-Inf/x/n
+\DeclareFontShape{LGR}{Junicode-Inf}{semicondensed}{n}{
+ <-> alias * Junicode-Inf/sc/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{expanded}{it}{
- <-> alias * Junicode-Inf/x/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semicondensed}{it}{
+ <-> alias * Junicode-Inf/sc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{x}{sl}{
- <-> ssub * Junicode-Inf/x/it
+\DeclareFontShape{LGR}{Junicode-Inf}{sc}{sl}{
+ <-> ssub * Junicode-Inf/sc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{expanded}{sl}{
- <-> ssub * Junicode-Inf/expanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semicondensed}{sl}{
+ <-> ssub * Junicode-Inf/semicondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemicondensed/it
}{}
-% ---- sx = semiexpanded ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LGR}{Junicode-Inf}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiexpanded}{n}{
- <-> alias * Junicode-Inf/sx/n
+\DeclareFontShape{LGR}{Junicode-Inf}{semiboldexpanded}{it}{
+ <-> alias * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-inf-lgr
+\DeclareFontShape{LGR}{Junicode-Inf}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-inf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiexpanded}{it}{
- <-> alias * Junicode-Inf/sx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semiboldexpanded}{n}{
+ <-> alias * Junicode-Inf/sbx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{sx}{sl}{
- <-> ssub * Junicode-Inf/sx/it
+\DeclareFontShape{LGR}{Junicode-Inf}{sbx}{sl}{
+ <-> ssub * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Inf}{semiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Inf}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-LF.fd b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-LF.fd
index 6664c0dd52f..5e4958c6c0f 100644
--- a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-LF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LGRJunicode-LF.fd}
- [2024/01/08 (autoinst) Font definitions for LGR/Junicode-LF.]
+ [2024/06/03 (autoinst) Font definitions for LGR/Junicode-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,247 +20,239 @@
\DeclareFontFamily{LGR}{Junicode-LF}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-LF/bsx/it
+\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{it}{
+ <-> alias * Junicode-LF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-LF/bsx/n
+\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{scit}{
+ <-> alias * Junicode-LF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/bsx/sc
+\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{n}{
+ <-> alias * Junicode-LF/bx/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{sc}{
+ <-> alias * Junicode-LF/bx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bsx}{scsl}{
- <-> ssub * Junicode-LF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{bx}{scsl}{
+ <-> ssub * Junicode-LF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-LF/boldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bsx}{sl}{
- <-> ssub * Junicode-LF/bsx/it
+\DeclareFontShape{LGR}{Junicode-LF}{bx}{sl}{
+ <-> ssub * Junicode-LF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldexpanded/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- l = light ----
-\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/sbsx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{light}{n}{
+ <-> alias * Junicode-LF/l/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/sbsx/sc
+\DeclareFontShape{LGR}{Junicode-LF}{light}{sc}{
+ <-> alias * Junicode-LF/l/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-LF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-LF}{light}{it}{
+ <-> alias * Junicode-LF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-LF/sbsx/n
+\DeclareFontShape{LGR}{Junicode-LF}{light}{scit}{
+ <-> alias * Junicode-LF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{scsl}{
- <-> ssub * Junicode-LF/sbsx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{l}{scsl}{
+ <-> ssub * Junicode-LF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-LF}{light}{scsl}{
+ <-> ssub * Junicode-LF/light/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{sl}{
- <-> ssub * Junicode-LF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-LF}{l}{sl}{
+ <-> ssub * Junicode-LF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-LF}{light}{sl}{
+ <-> ssub * Junicode-LF/light/it
}{}
-% ---- mediumcondensed ----
+% ---- medium ----
-\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumcondensed/scit
+\DeclareFontShape{LGR}{Junicode-LF}{medium}{scsl}{
+ <-> ssub * Junicode-LF/medium/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-LF/mediumcondensed/it
+\DeclareFontShape{LGR}{Junicode-LF}{medium}{sl}{
+ <-> ssub * Junicode-LF/medium/it
}{}
-% ---- b = bold ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-LF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bold}{n}{
- <-> alias * Junicode-LF/b/n
+\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-LF/lsc/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bold}{it}{
- <-> alias * Junicode-LF/b/it
+\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-LF/lsc/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bold}{sc}{
- <-> alias * Junicode-LF/b/sc
+\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bold}{scit}{
- <-> alias * Junicode-LF/b/scit
+\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{b}{scsl}{
- <-> ssub * Junicode-LF/b/scit
+\DeclareFontShape{LGR}{Junicode-LF}{lsc}{scsl}{
+ <-> ssub * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bold}{scsl}{
- <-> ssub * Junicode-LF/bold/scit
+\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{b}{sl}{
- <-> ssub * Junicode-LF/b/it
+\DeclareFontShape{LGR}{Junicode-LF}{lsc}{sl}{
+ <-> ssub * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bold}{sl}{
- <-> ssub * Junicode-LF/bold/it
+\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/it
}{}
-% ---- lc = lightcondensed ----
+% ---- m = regular ----
-\DeclareFontShape{LGR}{Junicode-LF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{scit}{
- <-> alias * Junicode-LF/lc/scit
+\DeclareFontShape{LGR}{Junicode-LF}{regular}{scit}{
+ <-> alias * Junicode-LF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{sc}{
- <-> alias * Junicode-LF/lc/sc
+\DeclareFontShape{LGR}{Junicode-LF}{regular}{it}{
+ <-> alias * Junicode-LF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{n}{
- <-> alias * Junicode-LF/lc/n
+\DeclareFontShape{LGR}{Junicode-LF}{regular}{sc}{
+ <-> alias * Junicode-LF/m/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{it}{
- <-> alias * Junicode-LF/lc/it
+\DeclareFontShape{LGR}{Junicode-LF}{regular}{n}{
+ <-> alias * Junicode-LF/m/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lc}{scsl}{
- <-> ssub * Junicode-LF/lc/scit
+\DeclareFontShape{LGR}{Junicode-LF}{m}{scsl}{
+ <-> ssub * Junicode-LF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-LF/lightcondensed/scit
+\DeclareFontShape{LGR}{Junicode-LF}{regular}{scsl}{
+ <-> ssub * Junicode-LF/regular/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lc}{sl}{
- <-> ssub * Junicode-LF/lc/it
+\DeclareFontShape{LGR}{Junicode-LF}{m}{sl}{
+ <-> ssub * Junicode-LF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{sl}{
- <-> ssub * Junicode-LF/lightcondensed/it
+\DeclareFontShape{LGR}{Junicode-LF}{regular}{sl}{
+ <-> ssub * Junicode-LF/regular/it
}{}
% ---- x = expanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{expanded}{sc}{
- <-> alias * Junicode-LF/x/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-LF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-lf-lgr
}{}
@@ -269,6 +261,14 @@
<-> alias * Junicode-LF/x/n
}{}
+\DeclareFontShape{LGR}{Junicode-LF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-lf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{expanded}{sc}{
+ <-> alias * Junicode-LF/x/sc
+}{}
+
\DeclareFontShape{LGR}{Junicode-LF}{x}{it}{
<-> \Junicode@@scale Junicode-ExpItalic-lf-lgr
}{}
@@ -304,14 +304,6 @@
% ---- c = condensed ----
-\DeclareFontShape{LGR}{Junicode-LF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{condensed}{n}{
- <-> alias * Junicode-LF/c/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-LF}{c}{it}{
<-> \Junicode@@scale Junicode-CondItalic-lf-lgr
}{}
@@ -320,14 +312,6 @@
<-> alias * Junicode-LF/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{condensed}{sc}{
- <-> alias * Junicode-LF/c/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-LF}{c}{scit}{
<-> \Junicode@@scale Junicode-CondItalic-lf-sc-lgr
}{}
@@ -336,6 +320,22 @@
<-> alias * Junicode-LF/c/scit
}{}
+\DeclareFontShape{LGR}{Junicode-LF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{condensed}{n}{
+ <-> alias * Junicode-LF/c/n
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-lf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{condensed}{sc}{
+ <-> alias * Junicode-LF/c/sc
+}{}
+
\DeclareFontShape{LGR}{Junicode-LF}{c}{scsl}{
<-> ssub * Junicode-LF/c/scit
}{}
@@ -353,35 +353,16 @@
}{}
-% ---- mediumexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-sc-lgr
-}{}
+% ---- sx = semiexpanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumexpanded/scit
+\DeclareFontShape{LGR}{Junicode-LF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumexpanded/it
+\DeclareFontShape{LGR}{Junicode-LF}{semiexpanded}{sc}{
+ <-> alias * Junicode-LF/sx/sc
}{}
-
-% ---- sx = semiexpanded ----
-
\DeclareFontShape{LGR}{Junicode-LF}{sx}{n}{
<-> \Junicode@@scale Junicode-SmExp-lf-lgr
}{}
@@ -390,22 +371,6 @@
<-> alias * Junicode-LF/sx/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{semiexpanded}{it}{
- <-> alias * Junicode-LF/sx/it
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{semiexpanded}{sc}{
- <-> alias * Junicode-LF/sx/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-LF}{sx}{scit}{
<-> \Junicode@@scale Junicode-SmExpItalic-lf-sc-lgr
}{}
@@ -414,6 +379,14 @@
<-> alias * Junicode-LF/sx/scit
}{}
+\DeclareFontShape{LGR}{Junicode-LF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{semiexpanded}{it}{
+ <-> alias * Junicode-LF/sx/it
+}{}
+
\DeclareFontShape{LGR}{Junicode-LF}{sx}{scsl}{
<-> ssub * Junicode-LF/sx/scit
}{}
@@ -431,247 +404,172 @@
}{}
-% ---- medium ----
-
-\DeclareFontShape{LGR}{Junicode-LF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{medium}{scsl}{
- <-> ssub * Junicode-LF/medium/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{medium}{sl}{
- <-> ssub * Junicode-LF/medium/it
-}{}
-
-
-% ---- sbx = semiboldexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-LF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-LF/sbx/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-lgr
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{it}{
- <-> alias * Junicode-LF/sbx/it
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{n}{
- <-> alias * Junicode-LF/sbx/n
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-LF/sbx/sc
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbx}{scsl}{
- <-> ssub * Junicode-LF/sbx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiboldexpanded/scit
-}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sbx}{sl}{
- <-> ssub * Junicode-LF/sbx/it
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldexpanded/it
+\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-lgr
}{}
-
-% ---- l = light ----
-
-\DeclareFontShape{LGR}{Junicode-LF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{light}{sc}{
- <-> alias * Junicode-LF/l/sc
+\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{light}{n}{
- <-> alias * Junicode-LF/l/n
+\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{light}{it}{
- <-> alias * Junicode-LF/l/it
-}{}
-\DeclareFontShape{LGR}{Junicode-LF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-sc-lgr
-}{}
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{light}{scit}{
- <-> alias * Junicode-LF/l/scit
+\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{l}{scsl}{
- <-> ssub * Junicode-LF/l/scit
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/sbsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{light}{scsl}{
- <-> ssub * Junicode-LF/light/scit
+\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{l}{sl}{
- <-> ssub * Junicode-LF/l/it
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/sbsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{light}{sl}{
- <-> ssub * Junicode-LF/light/it
+\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-sc-lgr
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{LGR}{Junicode-LF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{regular}{sc}{
- <-> alias * Junicode-LF/m/sc
+\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{regular}{n}{
- <-> alias * Junicode-LF/m/n
+\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{scsl}{
+ <-> ssub * Junicode-LF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{regular}{it}{
- <-> alias * Junicode-LF/m/it
+\DeclareFontShape{LGR}{Junicode-LF}{sbsx}{sl}{
+ <-> ssub * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{regular}{scit}{
- <-> alias * Junicode-LF/m/scit
-}{}
-\DeclareFontShape{LGR}{Junicode-LF}{m}{scsl}{
- <-> ssub * Junicode-LF/m/scit
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LGR}{Junicode-LF}{regular}{scsl}{
- <-> ssub * Junicode-LF/regular/scit
+\DeclareFontShape{LGR}{Junicode-LF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{m}{sl}{
- <-> ssub * Junicode-LF/m/it
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-LF/sbx/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{regular}{sl}{
- <-> ssub * Junicode-LF/regular/it
+\DeclareFontShape{LGR}{Junicode-LF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-lgr
}{}
-
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-LF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-LF/sbx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{n}{
- <-> alias * Junicode-LF/bx/n
+\DeclareFontShape{LGR}{Junicode-LF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-LF/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{it}{
- <-> alias * Junicode-LF/bx/it
+\DeclareFontShape{LGR}{Junicode-LF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-LF/sbx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{sc}{
- <-> alias * Junicode-LF/bx/sc
+\DeclareFontShape{LGR}{Junicode-LF}{sbx}{scsl}{
+ <-> ssub * Junicode-LF/sbx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{scit}{
- <-> alias * Junicode-LF/bx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{sbx}{sl}{
+ <-> ssub * Junicode-LF/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bx}{scsl}{
- <-> ssub * Junicode-LF/bx/scit
+\DeclareFontShape{LGR}{Junicode-LF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-LF/boldexpanded/scit
-}{}
-\DeclareFontShape{LGR}{Junicode-LF}{bx}{sl}{
- <-> ssub * Junicode-LF/bx/it
-}{}
+% ---- mediumsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-LF}{boldexpanded}{sl}{
- <-> ssub * Junicode-LF/boldexpanded/it
+\DeclareFontShape{LGR}{Junicode-LF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-lgr
}{}
-
-% ---- mediumsemicondensed ----
-
\DeclareFontShape{LGR}{Junicode-LF}{mediumsemicondensed}{sc}{
<-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-lgr
-}{}
-
\DeclareFontShape{LGR}{Junicode-LF}{mediumsemicondensed}{it}{
<-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-lgr
}{}
@@ -691,12 +589,12 @@
% ---- sb = semibold ----
-\DeclareFontShape{LGR}{Junicode-LF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semibold}{n}{
- <-> alias * Junicode-LF/sb/n
+\DeclareFontShape{LGR}{Junicode-LF}{semibold}{scit}{
+ <-> alias * Junicode-LF/sb/scit
}{}
\DeclareFontShape{LGR}{Junicode-LF}{sb}{it}{
@@ -715,12 +613,12 @@
<-> alias * Junicode-LF/sb/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{semibold}{scit}{
- <-> alias * Junicode-LF/sb/scit
+\DeclareFontShape{LGR}{Junicode-LF}{semibold}{n}{
+ <-> alias * Junicode-LF/sb/n
}{}
\DeclareFontShape{LGR}{Junicode-LF}{sb}{scsl}{
@@ -750,14 +648,6 @@
<-> alias * Junicode-LF/sc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-lf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-LF}{semicondensed}{n}{
- <-> alias * Junicode-LF/sc/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-LF}{sc}{it}{
<-> \Junicode@@scale Junicode-SmCondItalic-lf-lgr
}{}
@@ -774,6 +664,14 @@
<-> alias * Junicode-LF/sc/sc
}{}
+\DeclareFontShape{LGR}{Junicode-LF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{semicondensed}{n}{
+ <-> alias * Junicode-LF/sc/n
+}{}
+
\DeclareFontShape{LGR}{Junicode-LF}{sc}{scsl}{
<-> ssub * Junicode-LF/sc/scit
}{}
@@ -791,81 +689,183 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{it}{
+ <-> alias * Junicode-LF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{scit}{
+ <-> alias * Junicode-LF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-LF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{n}{
+ <-> alias * Junicode-LF/lc/n
}{}
+\DeclareFontShape{LGR}{Junicode-LF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-sc-lgr
+}{}
-% ---- lsc = lightsemicondensed ----
+\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{sc}{
+ <-> alias * Junicode-LF/lc/sc
+}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lc}{scsl}{
+ <-> ssub * Junicode-LF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-LF/lsc/scit
+\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightcondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{lc}{sl}{
+ <-> ssub * Junicode-LF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{n}{
- <-> alias * Junicode-LF/lsc/n
+\DeclareFontShape{LGR}{Junicode-LF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-LF/lightcondensed/it
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-lgr
+
+% ---- bsx = boldsemiexpanded ----
+
+\DeclareFontShape{LGR}{Junicode-LF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{it}{
- <-> alias * Junicode-LF/lsc/it
+\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/bsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-LF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-LF/lsc/sc
+\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/bsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lsc}{scsl}{
- <-> ssub * Junicode-LF/lsc/scit
+\DeclareFontShape{LGR}{Junicode-LF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/lightsemicondensed/scit
+\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/bsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lsc}{sl}{
- <-> ssub * Junicode-LF/lsc/it
+\DeclareFontShape{LGR}{Junicode-LF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-LF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-LF/lightsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/bsx/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bsx}{scsl}{
+ <-> ssub * Junicode-LF/bsx/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bsx}{sl}{
+ <-> ssub * Junicode-LF/bsx/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{LGR}{Junicode-LF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bold}{scit}{
+ <-> alias * Junicode-LF/b/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bold}{it}{
+ <-> alias * Junicode-LF/b/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-lf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bold}{sc}{
+ <-> alias * Junicode-LF/b/sc
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bold}{n}{
+ <-> alias * Junicode-LF/b/n
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{b}{scsl}{
+ <-> ssub * Junicode-LF/b/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bold}{scsl}{
+ <-> ssub * Junicode-LF/bold/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{b}{sl}{
+ <-> ssub * Junicode-LF/b/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{bold}{sl}{
+ <-> ssub * Junicode-LF/bold/it
+}{}
+
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumcondensed/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-LF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-OsF.fd b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-OsF.fd
index 4af85839555..e63959e9b76 100644
--- a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-OsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LGRJunicode-OsF.fd}
- [2024/01/08 (autoinst) Font definitions for LGR/Junicode-OsF.]
+ [2024/06/03 (autoinst) Font definitions for LGR/Junicode-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -30,14 +30,6 @@
<-> alias * Junicode-OsF/sx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-osf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-OsF}{semiexpanded}{sc}{
- <-> alias * Junicode-OsF/sx/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-OsF}{sx}{it}{
<-> \Junicode@@scale Junicode-SmExpItalic-osf-lgr
}{}
@@ -46,6 +38,14 @@
<-> alias * Junicode-OsF/sx/it
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-OsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sx/sc
+}{}
+
\DeclareFontShape{LGR}{Junicode-OsF}{sx}{n}{
<-> \Junicode@@scale Junicode-SmExp-osf-lgr
}{}
@@ -73,22 +73,6 @@
% ---- c = condensed ----
-\DeclareFontShape{LGR}{Junicode-OsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-OsF}{condensed}{scit}{
- <-> alias * Junicode-OsF/c/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-OsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-OsF}{condensed}{it}{
- <-> alias * Junicode-OsF/c/it
-}{}
-
\DeclareFontShape{LGR}{Junicode-OsF}{c}{n}{
<-> \Junicode@@scale Junicode-Cond-osf-lgr
}{}
@@ -105,6 +89,22 @@
<-> alias * Junicode-OsF/c/sc
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-OsF}{condensed}{it}{
+ <-> alias * Junicode-OsF/c/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-OsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-OsF}{condensed}{scit}{
+ <-> alias * Junicode-OsF/c/scit
+}{}
+
\DeclareFontShape{LGR}{Junicode-OsF}{c}{scsl}{
<-> ssub * Junicode-OsF/c/scit
}{}
@@ -124,14 +124,6 @@
% ---- x = expanded ----
-\DeclareFontShape{LGR}{Junicode-OsF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-osf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-OsF}{expanded}{sc}{
- <-> alias * Junicode-OsF/x/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-OsF}{x}{it}{
<-> \Junicode@@scale Junicode-ExpItalic-osf-lgr
}{}
@@ -140,6 +132,14 @@
<-> alias * Junicode-OsF/x/it
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-osf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-OsF}{expanded}{scit}{
+ <-> alias * Junicode-OsF/x/scit
+}{}
+
\DeclareFontShape{LGR}{Junicode-OsF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-osf-lgr
}{}
@@ -148,12 +148,12 @@
<-> alias * Junicode-OsF/x/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{expanded}{scit}{
- <-> alias * Junicode-OsF/x/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{expanded}{sc}{
+ <-> alias * Junicode-OsF/x/sc
}{}
\DeclareFontShape{LGR}{Junicode-OsF}{x}{scsl}{
@@ -173,272 +173,272 @@
}{}
-% ---- mediumexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/sbsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sbsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumexpanded/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumexpanded/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/sbsx/it
}{}
-
-% ---- b = bold ----
-
-\DeclareFontShape{LGR}{Junicode-OsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bold}{scit}{
- <-> alias * Junicode-OsF/b/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-OsF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bold}{sc}{
- <-> alias * Junicode-OsF/b/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{sl}{
+ <-> ssub * Junicode-OsF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bold}{it}{
- <-> alias * Junicode-OsF/b/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-osf-lgr
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bold}{n}{
- <-> alias * Junicode-OsF/b/n
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{b}{scsl}{
- <-> ssub * Junicode-OsF/b/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bold}{scsl}{
- <-> ssub * Junicode-OsF/bold/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{b}{sl}{
- <-> ssub * Junicode-OsF/b/it
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bold}{sl}{
- <-> ssub * Junicode-OsF/bold/it
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/it
}{}
-% ---- lc = lightcondensed ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-OsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{scit}{
- <-> alias * Junicode-OsF/lc/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{n}{
- <-> alias * Junicode-OsF/lc/n
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{it}{
- <-> alias * Junicode-OsF/lc/it
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-osf-sc-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{sc}{
- <-> alias * Junicode-OsF/lc/sc
-}{}
+% ---- l = light ----
-\DeclareFontShape{LGR}{Junicode-OsF}{lc}{scsl}{
- <-> ssub * Junicode-OsF/lc/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightcondensed/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{light}{sc}{
+ <-> alias * Junicode-OsF/l/sc
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lc}{sl}{
- <-> ssub * Junicode-OsF/lc/it
+\DeclareFontShape{LGR}{Junicode-OsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-OsF/lightcondensed/it
+\DeclareFontShape{LGR}{Junicode-OsF}{light}{n}{
+ <-> alias * Junicode-OsF/l/n
}{}
-
-% ---- bsx = boldsemiexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/bsx/n
+\DeclareFontShape{LGR}{Junicode-OsF}{light}{scit}{
+ <-> alias * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/bsx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{light}{it}{
+ <-> alias * Junicode-OsF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{l}{scsl}{
+ <-> ssub * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/bsx/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{light}{scsl}{
+ <-> ssub * Junicode-OsF/light/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{l}{sl}{
+ <-> ssub * Junicode-OsF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{light}{sl}{
+ <-> ssub * Junicode-OsF/light/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{scsl}{
- <-> ssub * Junicode-OsF/bsx/scit
-}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/scit
-}{}
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{sl}{
- <-> ssub * Junicode-OsF/bsx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{n}{
+ <-> alias * Junicode-OsF/bx/n
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-sc-lgr
+}{}
-% ---- sbsx = semiboldsemiexpanded ----
+\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-OsF/bx/sc
+}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/sbsx/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{it}{
+ <-> alias * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bx}{scsl}{
+ <-> ssub * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/sbsx/n
+\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bx}{sl}{
+ <-> ssub * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/sbsx/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{scsl}{
- <-> ssub * Junicode-OsF/sbsx/scit
+
+% ---- m = regular ----
+
+\DeclareFontShape{LGR}{Junicode-OsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{regular}{sc}{
+ <-> alias * Junicode-OsF/m/sc
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbsx}{sl}{
- <-> ssub * Junicode-OsF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-OsF}{regular}{n}{
+ <-> alias * Junicode-OsF/m/n
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-osf-sc-lgr
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{LGR}{Junicode-OsF}{regular}{scit}{
+ <-> alias * Junicode-OsF/m/scit
+}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{regular}{it}{
+ <-> alias * Junicode-OsF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{m}{scsl}{
+ <-> ssub * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{regular}{scsl}{
+ <-> ssub * Junicode-OsF/regular/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-OsF/mediumcondensed/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{m}{sl}{
+ <-> ssub * Junicode-OsF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumcondensed/it
+\DeclareFontShape{LGR}{Junicode-OsF}{regular}{sl}{
+ <-> ssub * Junicode-OsF/regular/it
}{}
% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-OsF/lsc/it
+\DeclareFontShape{LGR}{Junicode-OsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-OsF/lsc/sc
}{}
\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{n}{
@@ -449,14 +449,6 @@
<-> alias * Junicode-OsF/lsc/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-OsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-OsF/lsc/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{scit}{
<-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-lgr
}{}
@@ -465,6 +457,14 @@
<-> alias * Junicode-OsF/lsc/scit
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-OsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-OsF/lsc/it
+}{}
+
\DeclareFontShape{LGR}{Junicode-OsF}{lsc}{scsl}{
<-> ssub * Junicode-OsF/lsc/scit
}{}
@@ -482,390 +482,390 @@
}{}
-% ---- sc = semicondensed ----
+% ---- medium ----
-\DeclareFontShape{LGR}{Junicode-OsF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{sc}{
- <-> alias * Junicode-OsF/sc/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{n}{
- <-> alias * Junicode-OsF/sc/n
+\DeclareFontShape{LGR}{Junicode-OsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{medium}{scsl}{
+ <-> ssub * Junicode-OsF/medium/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{it}{
- <-> alias * Junicode-OsF/sc/it
+\DeclareFontShape{LGR}{Junicode-OsF}{medium}{sl}{
+ <-> ssub * Junicode-OsF/medium/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{scit}{
- <-> alias * Junicode-OsF/sc/scit
-}{}
+% ---- b = bold ----
-\DeclareFontShape{LGR}{Junicode-OsF}{sc}{scsl}{
- <-> ssub * Junicode-OsF/sc/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{scsl}{
- <-> ssub * Junicode-OsF/semicondensed/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{bold}{scit}{
+ <-> alias * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sc}{sl}{
- <-> ssub * Junicode-OsF/sc/it
+\DeclareFontShape{LGR}{Junicode-OsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{sl}{
- <-> ssub * Junicode-OsF/semicondensed/it
+\DeclareFontShape{LGR}{Junicode-OsF}{bold}{it}{
+ <-> alias * Junicode-OsF/b/it
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-osf-sc-lgr
+}{}
-% ---- sb = semibold ----
+\DeclareFontShape{LGR}{Junicode-OsF}{bold}{sc}{
+ <-> alias * Junicode-OsF/b/sc
+}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{scit}{
- <-> alias * Junicode-OsF/sb/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{bold}{n}{
+ <-> alias * Junicode-OsF/b/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{b}{scsl}{
+ <-> ssub * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{sc}{
- <-> alias * Junicode-OsF/sb/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{bold}{scsl}{
+ <-> ssub * Junicode-OsF/bold/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{b}{sl}{
+ <-> ssub * Junicode-OsF/b/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{it}{
- <-> alias * Junicode-OsF/sb/it
+\DeclareFontShape{LGR}{Junicode-OsF}{bold}{sl}{
+ <-> ssub * Junicode-OsF/bold/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-osf-lgr
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{n}{
- <-> alias * Junicode-OsF/sb/n
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sb}{scsl}{
- <-> ssub * Junicode-OsF/sb/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{scsl}{
- <-> ssub * Junicode-OsF/semibold/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sb}{sl}{
- <-> ssub * Junicode-OsF/sb/it
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{sl}{
- <-> ssub * Junicode-OsF/semibold/it
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemicondensed/it
}{}
-% ---- bx = boldexpanded ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LGR}{Junicode-OsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{scit}{
- <-> alias * Junicode-OsF/bx/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-OsF/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{sc}{
- <-> alias * Junicode-OsF/bx/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{n}{
- <-> alias * Junicode-OsF/bx/n
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-OsF/sbx/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{it}{
- <-> alias * Junicode-OsF/bx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-OsF/sbx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bx}{scsl}{
- <-> ssub * Junicode-OsF/bx/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{scsl}{
+ <-> ssub * Junicode-OsF/sbx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldexpanded/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiboldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{bx}{sl}{
- <-> ssub * Junicode-OsF/bx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{sl}{
+ <-> ssub * Junicode-OsF/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldexpanded/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldexpanded/it
}{}
-% ---- m = regular ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-OsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{regular}{sc}{
- <-> alias * Junicode-OsF/m/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/bsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{regular}{n}{
- <-> alias * Junicode-OsF/m/n
+\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/bsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{regular}{it}{
- <-> alias * Junicode-OsF/m/it
+\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{regular}{scit}{
- <-> alias * Junicode-OsF/m/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{m}{scsl}{
- <-> ssub * Junicode-OsF/m/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{scsl}{
+ <-> ssub * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{regular}{scsl}{
- <-> ssub * Junicode-OsF/regular/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{m}{sl}{
- <-> ssub * Junicode-OsF/m/it
+\DeclareFontShape{LGR}{Junicode-OsF}{bsx}{sl}{
+ <-> ssub * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{regular}{sl}{
- <-> ssub * Junicode-OsF/regular/it
+\DeclareFontShape{LGR}{Junicode-OsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/it
}{}
-% ---- mediumsemicondensed ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{it}{
+ <-> alias * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-OsF/mediumsemicondensed/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-OsF/lc/sc
}{}
-
-% ---- sbx = semiboldexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-OsF/sbx/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{n}{
+ <-> alias * Junicode-OsF/lc/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lc}{scsl}{
+ <-> ssub * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{it}{
- <-> alias * Junicode-OsF/sbx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightcondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{lc}{sl}{
+ <-> ssub * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-OsF/sbx/n
+\DeclareFontShape{LGR}{Junicode-OsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightcondensed/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-osf-sc-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-OsF/sbx/sc
-}{}
+% ---- sc = semicondensed ----
-\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{scsl}{
- <-> ssub * Junicode-OsF/sbx/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiboldexpanded/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{n}{
+ <-> alias * Junicode-OsF/sc/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{sbx}{sl}{
- <-> ssub * Junicode-OsF/sbx/it
+\DeclareFontShape{LGR}{Junicode-OsF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldexpanded/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{sc}{
+ <-> alias * Junicode-OsF/sc/sc
}{}
+\DeclareFontShape{LGR}{Junicode-OsF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-lgr
+}{}
-% ---- medium ----
+\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{it}{
+ <-> alias * Junicode-OsF/sc/it
+}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{scit}{
+ <-> alias * Junicode-OsF/sc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sc}{scsl}{
+ <-> ssub * Junicode-OsF/sc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/semicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{medium}{scsl}{
- <-> ssub * Junicode-OsF/medium/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{sc}{sl}{
+ <-> ssub * Junicode-OsF/sc/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{medium}{sl}{
- <-> ssub * Junicode-OsF/medium/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semicondensed}{sl}{
+ <-> ssub * Junicode-OsF/semicondensed/it
}{}
-% ---- l = light ----
+% ---- sb = semibold ----
-\DeclareFontShape{LGR}{Junicode-OsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{light}{sc}{
- <-> alias * Junicode-OsF/l/sc
+\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{scit}{
+ <-> alias * Junicode-OsF/sb/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{light}{n}{
- <-> alias * Junicode-OsF/l/n
+\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{it}{
+ <-> alias * Junicode-OsF/sb/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{light}{it}{
- <-> alias * Junicode-OsF/l/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{sc}{
+ <-> alias * Junicode-OsF/sb/sc
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-OsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{light}{scit}{
- <-> alias * Junicode-OsF/l/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{n}{
+ <-> alias * Junicode-OsF/sb/n
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{l}{scsl}{
- <-> ssub * Junicode-OsF/l/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{sb}{scsl}{
+ <-> ssub * Junicode-OsF/sb/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{light}{scsl}{
- <-> ssub * Junicode-OsF/light/scit
+\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{scsl}{
+ <-> ssub * Junicode-OsF/semibold/scit
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{l}{sl}{
- <-> ssub * Junicode-OsF/l/it
+\DeclareFontShape{LGR}{Junicode-OsF}{sb}{sl}{
+ <-> ssub * Junicode-OsF/sb/it
}{}
-\DeclareFontShape{LGR}{Junicode-OsF}{light}{sl}{
- <-> ssub * Junicode-OsF/light/it
+\DeclareFontShape{LGR}{Junicode-OsF}{semibold}{sl}{
+ <-> ssub * Junicode-OsF/semibold/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Sup.fd b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Sup.fd
index bea0d454641..01cd3f1df7a 100644
--- a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Sup.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-Sup.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LGRJunicode-Sup.fd}
- [2024/01/08 (autoinst) Font definitions for LGR/Junicode-Sup.]
+ [2024/06/03 (autoinst) Font definitions for LGR/Junicode-Sup.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,31 +20,23 @@
\DeclareFontFamily{LGR}{Junicode-Sup}{}
-% ---- medium ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-Sup}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{medium}{sl}{
- <-> ssub * Junicode-Sup/medium/it
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-Sup/mediumsemicondensed/it
}{}
% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LGR}{Junicode-Sup}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-sup-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{semiboldexpanded}{n}{
- <-> alias * Junicode-Sup/sbx/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-Sup}{sbx}{it}{
<-> \Junicode@@scale Junicode-ExpSmBoldItalic-sup-lgr
}{}
@@ -53,113 +45,87 @@
<-> alias * Junicode-Sup/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{sbx}{sl}{
- <-> ssub * Junicode-Sup/sbx/it
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiboldexpanded/it
-}{}
-
-
-% ---- l = light ----
-
-\DeclareFontShape{LGR}{Junicode-Sup}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-sup-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{light}{n}{
- <-> alias * Junicode-Sup/l/n
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{light}{it}{
- <-> alias * Junicode-Sup/l/it
+\DeclareFontShape{LGR}{Junicode-Sup}{semiboldexpanded}{n}{
+ <-> alias * Junicode-Sup/sbx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{l}{sl}{
- <-> ssub * Junicode-Sup/l/it
+\DeclareFontShape{LGR}{Junicode-Sup}{sbx}{sl}{
+ <-> ssub * Junicode-Sup/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{light}{sl}{
- <-> ssub * Junicode-Sup/light/it
+\DeclareFontShape{LGR}{Junicode-Sup}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiboldexpanded/it
}{}
-% ---- bx = boldexpanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LGR}{Junicode-Sup}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{boldexpanded}{n}{
- <-> alias * Junicode-Sup/bx/n
+\DeclareFontShape{LGR}{Junicode-Sup}{lightcondensed}{n}{
+ <-> alias * Junicode-Sup/lc/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{boldexpanded}{it}{
- <-> alias * Junicode-Sup/bx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{lightcondensed}{it}{
+ <-> alias * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bx}{sl}{
- <-> ssub * Junicode-Sup/bx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{lc}{sl}{
+ <-> ssub * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{boldexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldexpanded/it
+\DeclareFontShape{LGR}{Junicode-Sup}{lightcondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightcondensed/it
}{}
-% ---- m = regular ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-Sup}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{regular}{it}{
- <-> alias * Junicode-Sup/m/it
+\DeclareFontShape{LGR}{Junicode-Sup}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{regular}{n}{
- <-> alias * Junicode-Sup/m/n
+\DeclareFontShape{LGR}{Junicode-Sup}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/bsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{m}{sl}{
- <-> ssub * Junicode-Sup/m/it
+\DeclareFontShape{LGR}{Junicode-Sup}{bsx}{sl}{
+ <-> ssub * Junicode-Sup/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{regular}{sl}{
- <-> ssub * Junicode-Sup/regular/it
+\DeclareFontShape{LGR}{Junicode-Sup}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldsemiexpanded/it
}{}
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-sup-lgr
-}{}
+% ---- sc = semicondensed ----
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-Sup/mediumsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-Sup}{semicondensed}{n}{
+ <-> alias * Junicode-Sup/sc/n
}{}
-
-% ---- sc = semicondensed ----
-
\DeclareFontShape{LGR}{Junicode-Sup}{sc}{it}{
<-> \Junicode@@scale Junicode-SmCondItalic-sup-lgr
}{}
@@ -168,14 +134,6 @@
<-> alias * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-sup-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{semicondensed}{n}{
- <-> alias * Junicode-Sup/sc/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-Sup}{sc}{sl}{
<-> ssub * Junicode-Sup/sc/it
}{}
@@ -187,14 +145,6 @@
% ---- sb = semibold ----
-\DeclareFontShape{LGR}{Junicode-Sup}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-sup-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{semibold}{n}{
- <-> alias * Junicode-Sup/sb/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-Sup}{sb}{it}{
<-> \Junicode@@scale Junicode-SmBoldItalic-sup-lgr
}{}
@@ -203,6 +153,14 @@
<-> alias * Junicode-Sup/sb/it
}{}
+\DeclareFontShape{LGR}{Junicode-Sup}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{semibold}{n}{
+ <-> alias * Junicode-Sup/sb/n
+}{}
+
\DeclareFontShape{LGR}{Junicode-Sup}{sb}{sl}{
<-> ssub * Junicode-Sup/sb/it
}{}
@@ -212,181 +170,173 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- b = bold ----
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bold}{n}{
+ <-> alias * Junicode-Sup/b/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Sup}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-sup-lgr
}{}
-
-% ---- lsc = lightsemicondensed ----
-
-\DeclareFontShape{LGR}{Junicode-Sup}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bold}{it}{
+ <-> alias * Junicode-Sup/b/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lightsemicondensed}{it}{
- <-> alias * Junicode-Sup/lsc/it
+\DeclareFontShape{LGR}{Junicode-Sup}{b}{sl}{
+ <-> ssub * Junicode-Sup/b/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bold}{sl}{
+ <-> ssub * Junicode-Sup/bold/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lightsemicondensed}{n}{
- <-> alias * Junicode-Sup/lsc/n
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lsc}{sl}{
- <-> ssub * Junicode-Sup/lsc/it
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-Sup/lightsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-Sup/mediumcondensed/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- l = light ----
-\DeclareFontShape{LGR}{Junicode-Sup}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/bsx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{light}{n}{
+ <-> alias * Junicode-Sup/l/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/bsx/n
+\DeclareFontShape{LGR}{Junicode-Sup}{light}{it}{
+ <-> alias * Junicode-Sup/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bsx}{sl}{
- <-> ssub * Junicode-Sup/bsx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{l}{sl}{
+ <-> ssub * Junicode-Sup/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Sup}{light}{sl}{
+ <-> ssub * Junicode-Sup/light/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LGR}{Junicode-Sup}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/sbsx/n
+\DeclareFontShape{LGR}{Junicode-Sup}{boldexpanded}{n}{
+ <-> alias * Junicode-Sup/bx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/sbsx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{boldexpanded}{it}{
+ <-> alias * Junicode-Sup/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{sbsx}{sl}{
- <-> ssub * Junicode-Sup/sbsx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{bx}{sl}{
+ <-> ssub * Junicode-Sup/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiboldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Sup}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldexpanded/it
}{}
-% ---- mediumcondensed ----
+% ---- m = regular ----
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{regular}{it}{
+ <-> alias * Junicode-Sup/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{mediumcondensed}{sl}{
- <-> ssub * Junicode-Sup/mediumcondensed/it
+\DeclareFontShape{LGR}{Junicode-Sup}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-sup-lgr
}{}
-
-% ---- b = bold ----
-
-\DeclareFontShape{LGR}{Junicode-Sup}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{regular}{n}{
+ <-> alias * Junicode-Sup/m/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bold}{it}{
- <-> alias * Junicode-Sup/b/it
+\DeclareFontShape{LGR}{Junicode-Sup}{m}{sl}{
+ <-> ssub * Junicode-Sup/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{regular}{sl}{
+ <-> ssub * Junicode-Sup/regular/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bold}{n}{
- <-> alias * Junicode-Sup/b/n
+
+% ---- medium ----
+
+\DeclareFontShape{LGR}{Junicode-Sup}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{b}{sl}{
- <-> ssub * Junicode-Sup/b/it
+\DeclareFontShape{LGR}{Junicode-Sup}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{bold}{sl}{
- <-> ssub * Junicode-Sup/bold/it
+\DeclareFontShape{LGR}{Junicode-Sup}{medium}{sl}{
+ <-> ssub * Junicode-Sup/medium/it
}{}
-% ---- lc = lightcondensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-Sup}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lightcondensed}{it}{
- <-> alias * Junicode-Sup/lc/it
+\DeclareFontShape{LGR}{Junicode-Sup}{lightsemicondensed}{n}{
+ <-> alias * Junicode-Sup/lsc/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lightcondensed}{n}{
- <-> alias * Junicode-Sup/lc/n
+\DeclareFontShape{LGR}{Junicode-Sup}{lightsemicondensed}{it}{
+ <-> alias * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lc}{sl}{
- <-> ssub * Junicode-Sup/lc/it
+\DeclareFontShape{LGR}{Junicode-Sup}{lsc}{sl}{
+ <-> ssub * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{lightcondensed}{sl}{
- <-> ssub * Junicode-Sup/lightcondensed/it
+\DeclareFontShape{LGR}{Junicode-Sup}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightsemicondensed/it
}{}
% ---- c = condensed ----
-\DeclareFontShape{LGR}{Junicode-Sup}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-sup-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{condensed}{it}{
- <-> alias * Junicode-Sup/c/it
-}{}
-
\DeclareFontShape{LGR}{Junicode-Sup}{c}{n}{
<-> \Junicode@@scale Junicode-Cond-sup-lgr
}{}
@@ -395,6 +345,14 @@
<-> alias * Junicode-Sup/c/n
}{}
+\DeclareFontShape{LGR}{Junicode-Sup}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{condensed}{it}{
+ <-> alias * Junicode-Sup/c/it
+}{}
+
\DeclareFontShape{LGR}{Junicode-Sup}{c}{sl}{
<-> ssub * Junicode-Sup/c/it
}{}
@@ -406,14 +364,6 @@
% ---- x = expanded ----
-\DeclareFontShape{LGR}{Junicode-Sup}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-sup-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-Sup}{expanded}{it}{
- <-> alias * Junicode-Sup/x/it
-}{}
-
\DeclareFontShape{LGR}{Junicode-Sup}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-sup-lgr
}{}
@@ -422,6 +372,14 @@
<-> alias * Junicode-Sup/x/n
}{}
+\DeclareFontShape{LGR}{Junicode-Sup}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{expanded}{it}{
+ <-> alias * Junicode-Sup/x/it
+}{}
+
\DeclareFontShape{LGR}{Junicode-Sup}{x}{sl}{
<-> ssub * Junicode-Sup/x/it
}{}
@@ -431,6 +389,33 @@
}{}
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{LGR}{Junicode-Sup}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{semiexpanded}{it}{
+ <-> alias * Junicode-Sup/sx/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{semiexpanded}{n}{
+ <-> alias * Junicode-Sup/sx/n
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{sx}{sl}{
+ <-> ssub * Junicode-Sup/sx/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiexpanded/it
+}{}
+
+
% ---- mediumexpanded ----
\DeclareFontShape{LGR}{Junicode-Sup}{mediumexpanded}{it}{
@@ -446,30 +431,45 @@
}{}
-% ---- sx = semiexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-Sup}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{semiexpanded}{n}{
- <-> alias * Junicode-Sup/sx/n
+\DeclareFontShape{LGR}{Junicode-Sup}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-sup-lgr
+\DeclareFontShape{LGR}{Junicode-Sup}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-sup-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{semiexpanded}{it}{
- <-> alias * Junicode-Sup/sx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/sbsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{sx}{sl}{
- <-> ssub * Junicode-Sup/sx/it
+\DeclareFontShape{LGR}{Junicode-Sup}{sbsx}{sl}{
+ <-> ssub * Junicode-Sup/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-Sup}{semiexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiexpanded/it
+\DeclareFontShape{LGR}{Junicode-Sup}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiboldsemiexpanded/it
+}{}
+
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-Sup}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumsemiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TLF.fd b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TLF.fd
index 88996a39c67..64237086df5 100644
--- a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TLF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TLF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LGRJunicode-TLF.fd}
- [2024/01/08 (autoinst) Font definitions for LGR/Junicode-TLF.]
+ [2024/06/03 (autoinst) Font definitions for LGR/Junicode-TLF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,341 +20,321 @@
\DeclareFontFamily{LGR}{Junicode-TLF}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/bsx/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TLF/lsc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/bsx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TLF/lsc/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/bsx/n
+\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TLF/lsc/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{scsl}{
- <-> ssub * Junicode-TLF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{scsl}{
+ <-> ssub * Junicode-TLF/lsc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightsemicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{sl}{
- <-> ssub * Junicode-TLF/bsx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{sl}{
+ <-> ssub * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightsemicondensed/it
}{}
-% ---- mediumcondensed ----
+% ---- medium ----
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumcondensed/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{medium}{scsl}{
+ <-> ssub * Junicode-TLF/medium/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumcondensed/it
+\DeclareFontShape{LGR}{Junicode-TLF}{medium}{sl}{
+ <-> ssub * Junicode-TLF/medium/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- m = regular ----
-\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/sbsx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{regular}{sc}{
+ <-> alias * Junicode-TLF/m/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/sbsx/n
+\DeclareFontShape{LGR}{Junicode-TLF}{regular}{n}{
+ <-> alias * Junicode-TLF/m/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{regular}{scit}{
+ <-> alias * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/sbsx/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{regular}{it}{
+ <-> alias * Junicode-TLF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{scsl}{
- <-> ssub * Junicode-TLF/sbsx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{m}{scsl}{
+ <-> ssub * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{regular}{scsl}{
+ <-> ssub * Junicode-TLF/regular/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{sl}{
- <-> ssub * Junicode-TLF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{m}{sl}{
+ <-> ssub * Junicode-TLF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-TLF}{regular}{sl}{
+ <-> ssub * Junicode-TLF/regular/it
}{}
-% ---- b = bold ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LGR}{Junicode-TLF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bold}{scit}{
- <-> alias * Junicode-TLF/b/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TLF/bx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bold}{n}{
- <-> alias * Junicode-TLF/b/n
+\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{n}{
+ <-> alias * Junicode-TLF/bx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bold}{it}{
- <-> alias * Junicode-TLF/b/it
+\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bold}{sc}{
- <-> alias * Junicode-TLF/b/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{it}{
+ <-> alias * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{b}{scsl}{
- <-> ssub * Junicode-TLF/b/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{bx}{scsl}{
+ <-> ssub * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bold}{scsl}{
- <-> ssub * Junicode-TLF/bold/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{b}{sl}{
- <-> ssub * Junicode-TLF/b/it
+\DeclareFontShape{LGR}{Junicode-TLF}{bx}{sl}{
+ <-> ssub * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bold}{sl}{
- <-> ssub * Junicode-TLF/bold/it
+\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldexpanded/it
}{}
-% ---- lc = lightcondensed ----
+% ---- l = light ----
-\DeclareFontShape{LGR}{Junicode-TLF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{sc}{
- <-> alias * Junicode-TLF/lc/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{light}{scit}{
+ <-> alias * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{it}{
- <-> alias * Junicode-TLF/lc/it
+\DeclareFontShape{LGR}{Junicode-TLF}{light}{it}{
+ <-> alias * Junicode-TLF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{n}{
- <-> alias * Junicode-TLF/lc/n
+\DeclareFontShape{LGR}{Junicode-TLF}{light}{sc}{
+ <-> alias * Junicode-TLF/l/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{scit}{
- <-> alias * Junicode-TLF/lc/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{light}{n}{
+ <-> alias * Junicode-TLF/l/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lc}{scsl}{
- <-> ssub * Junicode-TLF/lc/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{l}{scsl}{
+ <-> ssub * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightcondensed/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{light}{scsl}{
+ <-> ssub * Junicode-TLF/light/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lc}{sl}{
- <-> ssub * Junicode-TLF/lc/it
+\DeclareFontShape{LGR}{Junicode-TLF}{l}{sl}{
+ <-> ssub * Junicode-TLF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TLF/lightcondensed/it
+\DeclareFontShape{LGR}{Junicode-TLF}{light}{sl}{
+ <-> ssub * Junicode-TLF/light/it
}{}
-% ---- c = condensed ----
-
-\DeclareFontShape{LGR}{Junicode-TLF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tlf-sc-lgr
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{sc}{
- <-> alias * Junicode-TLF/c/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{it}{
- <-> alias * Junicode-TLF/c/it
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{n}{
- <-> alias * Junicode-TLF/c/n
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{scit}{
- <-> alias * Junicode-TLF/c/scit
-}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{c}{scsl}{
- <-> ssub * Junicode-TLF/c/scit
-}{}
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{scsl}{
- <-> ssub * Junicode-TLF/condensed/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{c}{sl}{
- <-> ssub * Junicode-TLF/c/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/sbsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{sl}{
- <-> ssub * Junicode-TLF/condensed/it
+\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-lgr
}{}
-
-% ---- x = expanded ----
-
-\DeclareFontShape{LGR}{Junicode-TLF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{sc}{
- <-> alias * Junicode-TLF/x/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{it}{
- <-> alias * Junicode-TLF/x/it
+\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{n}{
- <-> alias * Junicode-TLF/x/n
+\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{scit}{
- <-> alias * Junicode-TLF/x/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{sbsx}{sl}{
+ <-> ssub * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{x}{scsl}{
- <-> ssub * Junicode-TLF/x/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{scsl}{
- <-> ssub * Junicode-TLF/expanded/scit
-}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{x}{sl}{
- <-> ssub * Junicode-TLF/x/it
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{sl}{
- <-> ssub * Junicode-TLF/expanded/it
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-lgr
}{}
-
-% ---- mediumexpanded ----
-
\DeclareFontShape{LGR}{Junicode-TLF}{mediumexpanded}{sc}{
<-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-lgr
}{}
@@ -363,10 +343,6 @@
<-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-lgr
-}{}
-
\DeclareFontShape{LGR}{Junicode-TLF}{mediumexpanded}{scit}{
<-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-lgr
}{}
@@ -398,14 +374,6 @@
<-> alias * Junicode-TLF/sx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TLF}{semiexpanded}{it}{
- <-> alias * Junicode-TLF/sx/it
-}{}
-
\DeclareFontShape{LGR}{Junicode-TLF}{sx}{scit}{
<-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-lgr
}{}
@@ -414,6 +382,14 @@
<-> alias * Junicode-TLF/sx/scit
}{}
+\DeclareFontShape{LGR}{Junicode-TLF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TLF}{semiexpanded}{it}{
+ <-> alias * Junicode-TLF/sx/it
+}{}
+
\DeclareFontShape{LGR}{Junicode-TLF}{sx}{scsl}{
<-> ssub * Junicode-TLF/sx/scit
}{}
@@ -431,441 +407,465 @@
}{}
-% ---- medium ----
+% ---- c = condensed ----
-\DeclareFontShape{LGR}{Junicode-TLF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{it}{
+ <-> alias * Junicode-TLF/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{scit}{
+ <-> alias * Junicode-TLF/c/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{medium}{scsl}{
- <-> ssub * Junicode-TLF/medium/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{medium}{sl}{
- <-> ssub * Junicode-TLF/medium/it
+\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{n}{
+ <-> alias * Junicode-TLF/c/n
}{}
+\DeclareFontShape{LGR}{Junicode-TLF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tlf-sc-lgr
+}{}
-% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{sc}{
+ <-> alias * Junicode-TLF/c/sc
+}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{c}{scsl}{
+ <-> ssub * Junicode-TLF/c/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-TLF/sbx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{scsl}{
+ <-> ssub * Junicode-TLF/condensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{c}{sl}{
+ <-> ssub * Junicode-TLF/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-TLF/sbx/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{condensed}{sl}{
+ <-> ssub * Junicode-TLF/condensed/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-lgr
+
+% ---- x = expanded ----
+
+\DeclareFontShape{LGR}{Junicode-TLF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TLF/sbx/n
+\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{n}{
+ <-> alias * Junicode-TLF/x/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TLF/sbx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{sc}{
+ <-> alias * Junicode-TLF/x/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{scsl}{
- <-> ssub * Junicode-TLF/sbx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{it}{
+ <-> alias * Junicode-TLF/x/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{sl}{
- <-> ssub * Junicode-TLF/sbx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/it
+\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{scit}{
+ <-> alias * Junicode-TLF/x/scit
}{}
+\DeclareFontShape{LGR}{Junicode-TLF}{x}{scsl}{
+ <-> ssub * Junicode-TLF/x/scit
+}{}
-% ---- l = light ----
+\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{scsl}{
+ <-> ssub * Junicode-TLF/expanded/scit
+}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{x}{sl}{
+ <-> ssub * Junicode-TLF/x/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{light}{sc}{
- <-> alias * Junicode-TLF/l/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{expanded}{sl}{
+ <-> ssub * Junicode-TLF/expanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tlf-lgr
+
+% ---- sc = semicondensed ----
+
+\DeclareFontShape{LGR}{Junicode-TLF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{light}{n}{
- <-> alias * Junicode-TLF/l/n
+\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{n}{
+ <-> alias * Junicode-TLF/sc/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{light}{it}{
- <-> alias * Junicode-TLF/l/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{sc}{
+ <-> alias * Junicode-TLF/sc/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{light}{scit}{
- <-> alias * Junicode-TLF/l/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{it}{
+ <-> alias * Junicode-TLF/sc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{l}{scsl}{
- <-> ssub * Junicode-TLF/l/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{light}{scsl}{
- <-> ssub * Junicode-TLF/light/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{scit}{
+ <-> alias * Junicode-TLF/sc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{l}{sl}{
- <-> ssub * Junicode-TLF/l/it
+\DeclareFontShape{LGR}{Junicode-TLF}{sc}{scsl}{
+ <-> ssub * Junicode-TLF/sc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{light}{sl}{
- <-> ssub * Junicode-TLF/light/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/semicondensed/scit
}{}
+\DeclareFontShape{LGR}{Junicode-TLF}{sc}{sl}{
+ <-> ssub * Junicode-TLF/sc/it
+}{}
-% ---- m = regular ----
+\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{sl}{
+ <-> ssub * Junicode-TLF/semicondensed/it
+}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tlf-sc-lgr
+
+% ---- sb = semibold ----
+
+\DeclareFontShape{LGR}{Junicode-TLF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{regular}{scit}{
- <-> alias * Junicode-TLF/m/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{scit}{
+ <-> alias * Junicode-TLF/sb/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{regular}{sc}{
- <-> alias * Junicode-TLF/m/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{it}{
+ <-> alias * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{regular}{n}{
- <-> alias * Junicode-TLF/m/n
+\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{sc}{
+ <-> alias * Junicode-TLF/sb/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{regular}{it}{
- <-> alias * Junicode-TLF/m/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{n}{
+ <-> alias * Junicode-TLF/sb/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{m}{scsl}{
- <-> ssub * Junicode-TLF/m/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{sb}{scsl}{
+ <-> ssub * Junicode-TLF/sb/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{regular}{scsl}{
- <-> ssub * Junicode-TLF/regular/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{scsl}{
+ <-> ssub * Junicode-TLF/semibold/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{m}{sl}{
- <-> ssub * Junicode-TLF/m/it
+\DeclareFontShape{LGR}{Junicode-TLF}{sb}{sl}{
+ <-> ssub * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{regular}{sl}{
- <-> ssub * Junicode-TLF/regular/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{sl}{
+ <-> ssub * Junicode-TLF/semibold/it
}{}
-% ---- bx = boldexpanded ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-TLF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{scit}{
- <-> alias * Junicode-TLF/bx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/bsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{it}{
- <-> alias * Junicode-TLF/bx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/bsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{n}{
- <-> alias * Junicode-TLF/bx/n
+\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{sc}{
- <-> alias * Junicode-TLF/bx/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/bsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bx}{scsl}{
- <-> ssub * Junicode-TLF/bx/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{scsl}{
+ <-> ssub * Junicode-TLF/bsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{bx}{sl}{
- <-> ssub * Junicode-TLF/bx/it
+\DeclareFontShape{LGR}{Junicode-TLF}{bsx}{sl}{
+ <-> ssub * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldexpanded/it
+\DeclareFontShape{LGR}{Junicode-TLF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/it
}{}
-% ---- mediumsemicondensed ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{it}{
+ <-> alias * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TLF/lc/sc
}{}
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{LGR}{Junicode-TLF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{scit}{
- <-> alias * Junicode-TLF/sb/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{n}{
+ <-> alias * Junicode-TLF/lc/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lc}{scsl}{
+ <-> ssub * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{n}{
- <-> alias * Junicode-TLF/sb/n
+\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightcondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{lc}{sl}{
+ <-> ssub * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{it}{
- <-> alias * Junicode-TLF/sb/it
+\DeclareFontShape{LGR}{Junicode-TLF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightcondensed/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-sc-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{sc}{
- <-> alias * Junicode-TLF/sb/sc
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LGR}{Junicode-TLF}{sb}{scsl}{
- <-> ssub * Junicode-TLF/sb/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{scsl}{
- <-> ssub * Junicode-TLF/semibold/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TLF/sbx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sb}{sl}{
- <-> ssub * Junicode-TLF/sb/it
+\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semibold}{sl}{
- <-> ssub * Junicode-TLF/semibold/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbx/sc
}{}
+\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-lgr
+}{}
-% ---- sc = semicondensed ----
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TLF/sbx/it
+}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{n}{
- <-> alias * Junicode-TLF/sc/n
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{scsl}{
+ <-> ssub * Junicode-TLF/sbx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{it}{
- <-> alias * Junicode-TLF/sc/it
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{sbx}{sl}{
+ <-> ssub * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{sc}{
- <-> alias * Junicode-TLF/sc/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-sc-lgr
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{scit}{
- <-> alias * Junicode-TLF/sc/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sc}{scsl}{
- <-> ssub * Junicode-TLF/sc/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{scsl}{
- <-> ssub * Junicode-TLF/semicondensed/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{sc}{sl}{
- <-> ssub * Junicode-TLF/sc/it
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{semicondensed}{sl}{
- <-> ssub * Junicode-TLF/semicondensed/it
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- mediumcondensed ----
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-TLF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- b = bold ----
-\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TLF/lsc/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{bold}{scit}{
+ <-> alias * Junicode-TLF/b/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TLF/lsc/it
+\DeclareFontShape{LGR}{Junicode-TLF}{bold}{it}{
+ <-> alias * Junicode-TLF/b/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TLF/lsc/n
+\DeclareFontShape{LGR}{Junicode-TLF}{bold}{sc}{
+ <-> alias * Junicode-TLF/b/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TLF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TLF/lsc/sc
+\DeclareFontShape{LGR}{Junicode-TLF}{bold}{n}{
+ <-> alias * Junicode-TLF/b/n
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{scsl}{
- <-> ssub * Junicode-TLF/lsc/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{b}{scsl}{
+ <-> ssub * Junicode-TLF/b/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightsemicondensed/scit
+\DeclareFontShape{LGR}{Junicode-TLF}{bold}{scsl}{
+ <-> ssub * Junicode-TLF/bold/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lsc}{sl}{
- <-> ssub * Junicode-TLF/lsc/it
+\DeclareFontShape{LGR}{Junicode-TLF}{b}{sl}{
+ <-> ssub * Junicode-TLF/b/it
}{}
-\DeclareFontShape{LGR}{Junicode-TLF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/lightsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-TLF}{bold}{sl}{
+ <-> ssub * Junicode-TLF/bold/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TOsF.fd b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TOsF.fd
index 1e5ec29dc2f..79de53f63f9 100644
--- a/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LGRJunicode-TOsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LGRJunicode-TOsF.fd}
- [2024/01/08 (autoinst) Font definitions for LGR/Junicode-TOsF.]
+ [2024/06/03 (autoinst) Font definitions for LGR/Junicode-TOsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,239 +20,247 @@
\DeclareFontFamily{LGR}{Junicode-TOsF}{}
-% ---- lc = lightcondensed ----
+% ---- l = light ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{n}{
- <-> alias * Junicode-TOsF/lc/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{light}{sc}{
+ <-> alias * Junicode-TOsF/l/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{it}{
- <-> alias * Junicode-TOsF/lc/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{light}{n}{
+ <-> alias * Junicode-TOsF/l/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{sc}{
- <-> alias * Junicode-TOsF/lc/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{light}{scit}{
+ <-> alias * Junicode-TOsF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{scit}{
- <-> alias * Junicode-TOsF/lc/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{light}{it}{
+ <-> alias * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{scsl}{
- <-> ssub * Junicode-TOsF/lc/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{l}{scsl}{
+ <-> ssub * Junicode-TOsF/l/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightcondensed/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{light}{scsl}{
+ <-> ssub * Junicode-TOsF/light/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{sl}{
- <-> ssub * Junicode-TOsF/lc/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{l}{sl}{
+ <-> ssub * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightcondensed/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{light}{sl}{
+ <-> ssub * Junicode-TOsF/light/it
}{}
-% ---- b = bold ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{scit}{
- <-> alias * Junicode-TOsF/b/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{sc}{
- <-> alias * Junicode-TOsF/b/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{it}{
+ <-> alias * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{n}{
- <-> alias * Junicode-TOsF/b/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{it}{
- <-> alias * Junicode-TOsF/b/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{n}{
+ <-> alias * Junicode-TOsF/bx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{b}{scsl}{
- <-> ssub * Junicode-TOsF/b/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{scsl}{
+ <-> ssub * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{scsl}{
- <-> ssub * Junicode-TOsF/bold/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{b}{sl}{
- <-> ssub * Junicode-TOsF/b/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{sl}{
+ <-> ssub * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{sl}{
- <-> ssub * Junicode-TOsF/bold/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/it
}{}
-% ---- mediumcondensed ----
+% ---- m = regular ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{n}{
+ <-> alias * Junicode-TOsF/m/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{sc}{
+ <-> alias * Junicode-TOsF/m/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{it}{
+ <-> alias * Junicode-TOsF/m/it
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TOsF/sbsx/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{scit}{
+ <-> alias * Junicode-TOsF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{m}{scsl}{
+ <-> ssub * Junicode-TOsF/m/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{scsl}{
+ <-> ssub * Junicode-TOsF/regular/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{m}{sl}{
+ <-> ssub * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/sbsx/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{sl}{
+ <-> ssub * Junicode-TOsF/regular/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TOsF/sbsx/scit
-}{}
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{scsl}{
- <-> ssub * Junicode-TOsF/sbsx/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TOsF/lsc/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{sl}{
- <-> ssub * Junicode-TOsF/sbsx/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TOsF/lsc/n
}{}
+\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-lgr
+}{}
-% ---- bsx = boldsemiexpanded ----
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TOsF/lsc/scit
+}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-TOsF/bsx/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{scsl}{
+ <-> ssub * Junicode-TOsF/lsc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/bsx/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{sl}{
+ <-> ssub * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/bsx/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-lgr
+
+% ---- medium ----
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-TOsF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{scsl}{
- <-> ssub * Junicode-TOsF/bsx/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{sl}{
- <-> ssub * Junicode-TOsF/bsx/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{scsl}{
+ <-> ssub * Junicode-TOsF/medium/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{sl}{
+ <-> ssub * Junicode-TOsF/medium/it
}{}
% ---- sx = semiexpanded ----
+\DeclareFontShape{LGR}{Junicode-TOsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sx/n
+}{}
+
\DeclareFontShape{LGR}{Junicode-TOsF}{sx}{sc}{
<-> \Junicode@@scale Junicode-SmExp-tosf-sc-lgr
}{}
@@ -269,14 +277,6 @@
<-> alias * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiexpanded}{n}{
- <-> alias * Junicode-TOsF/sx/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-TOsF}{sx}{scit}{
<-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-lgr
}{}
@@ -302,84 +302,6 @@
}{}
-% ---- mediumexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/it
-}{}
-
-
-% ---- c = condensed ----
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{scit}{
- <-> alias * Junicode-TOsF/c/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tosf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{sc}{
- <-> alias * Junicode-TOsF/c/sc
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{it}{
- <-> alias * Junicode-TOsF/c/it
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{n}{
- <-> alias * Junicode-TOsF/c/n
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{c}{scsl}{
- <-> ssub * Junicode-TOsF/c/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{scsl}{
- <-> ssub * Junicode-TOsF/condensed/scit
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{c}{sl}{
- <-> ssub * Junicode-TOsF/c/it
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{sl}{
- <-> ssub * Junicode-TOsF/condensed/it
-}{}
-
-
% ---- x = expanded ----
\DeclareFontShape{LGR}{Junicode-TOsF}{x}{it}{
@@ -390,6 +312,14 @@
<-> alias * Junicode-TOsF/x/it
}{}
+\DeclareFontShape{LGR}{Junicode-TOsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{expanded}{scit}{
+ <-> alias * Junicode-TOsF/x/scit
+}{}
+
\DeclareFontShape{LGR}{Junicode-TOsF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-tosf-lgr
}{}
@@ -406,14 +336,6 @@
<-> alias * Junicode-TOsF/x/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{expanded}{scit}{
- <-> alias * Junicode-TOsF/x/scit
-}{}
-
\DeclareFontShape{LGR}{Junicode-TOsF}{x}{scsl}{
<-> ssub * Junicode-TOsF/x/scit
}{}
@@ -431,188 +353,199 @@
}{}
-% ---- mediumsemicondensed ----
+% ---- c = condensed ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{sc}{
+ <-> alias * Junicode-TOsF/c/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{n}{
+ <-> alias * Junicode-TOsF/c/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{scit}{
+ <-> alias * Junicode-TOsF/c/scit
}{}
-
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{scit}{
- <-> alias * Junicode-TOsF/bx/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{it}{
+ <-> alias * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{c}{scsl}{
+ <-> ssub * Junicode-TOsF/c/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{sc}{
- <-> alias * Junicode-TOsF/bx/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{scsl}{
+ <-> ssub * Junicode-TOsF/condensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{c}{sl}{
+ <-> ssub * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{n}{
- <-> alias * Junicode-TOsF/bx/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{condensed}{sl}{
+ <-> ssub * Junicode-TOsF/condensed/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{it}{
- <-> alias * Junicode-TOsF/bx/it
-}{}
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{scsl}{
- <-> ssub * Junicode-TOsF/bx/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sbsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{bx}{sl}{
- <-> ssub * Junicode-TOsF/bx/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldexpanded/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbsx/n
}{}
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-lgr
+}{}
-% ---- m = regular ----
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sbsx/scit
+}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{scit}{
- <-> alias * Junicode-TOsF/m/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TOsF/sbsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{n}{
- <-> alias * Junicode-TOsF/m/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbsx}{sl}{
+ <-> ssub * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{it}{
- <-> alias * Junicode-TOsF/m/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tosf-sc-lgr
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{sc}{
- <-> alias * Junicode-TOsF/m/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{m}{scsl}{
- <-> ssub * Junicode-TOsF/m/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{scsl}{
- <-> ssub * Junicode-TOsF/regular/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{m}{sl}{
- <-> ssub * Junicode-TOsF/m/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{regular}{sl}{
- <-> ssub * Junicode-TOsF/regular/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/it
}{}
-% ---- l = light ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{light}{scit}{
- <-> alias * Junicode-TOsF/l/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{light}{n}{
- <-> alias * Junicode-TOsF/l/n
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{light}{it}{
- <-> alias * Junicode-TOsF/l/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tosf-sc-lgr
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{light}{sc}{
- <-> alias * Junicode-TOsF/l/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{l}{scsl}{
- <-> ssub * Junicode-TOsF/l/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{light}{scsl}{
- <-> ssub * Junicode-TOsF/light/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{l}{sl}{
- <-> ssub * Junicode-TOsF/l/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{light}{sl}{
- <-> ssub * Junicode-TOsF/light/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/it
}{}
% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{LGR}{Junicode-TOsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbx/n
+}{}
+
\DeclareFontShape{LGR}{Junicode-TOsF}{sbx}{sc}{
<-> \Junicode@@scale Junicode-ExpSmBold-tosf-sc-lgr
}{}
@@ -629,14 +562,6 @@
<-> alias * Junicode-TOsF/sbx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TOsF/sbx/n
-}{}
-
\DeclareFontShape{LGR}{Junicode-TOsF}{sbx}{scit}{
<-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-sc-lgr
}{}
@@ -662,108 +587,105 @@
}{}
-% ---- medium ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bsx/sc
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/bsx/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{scsl}{
- <-> ssub * Junicode-TOsF/medium/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{medium}{sl}{
- <-> ssub * Junicode-TOsF/medium/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bsx/scit
}{}
-
-% ---- lsc = lightsemicondensed ----
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TOsF/lsc/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{scsl}{
+ <-> ssub * Junicode-TOsF/bsx/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TOsF/lsc/sc
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{bsx}{sl}{
+ <-> ssub * Junicode-TOsF/bsx/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TOsF/lsc/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-lgr
-}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TOsF/lsc/n
-}{}
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{scsl}{
- <-> ssub * Junicode-TOsF/lsc/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{n}{
+ <-> alias * Junicode-TOsF/lc/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lsc}{sl}{
- <-> ssub * Junicode-TOsF/lsc/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TOsF/lc/sc
}{}
+\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-lgr
+}{}
-% ---- mediumsemiexpanded ----
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{it}{
+ <-> alias * Junicode-TOsF/lc/it
+}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-lgr
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TOsF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{scsl}{
+ <-> ssub * Junicode-TOsF/lc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-lgr
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
+\DeclareFontShape{LGR}{Junicode-TOsF}{lc}{sl}{
+ <-> ssub * Junicode-TOsF/lc/it
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
+\DeclareFontShape{LGR}{Junicode-TOsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/it
}{}
@@ -777,14 +699,6 @@
<-> alias * Junicode-TOsF/sc/scit
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tosf-sc-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{semicondensed}{sc}{
- <-> alias * Junicode-TOsF/sc/sc
-}{}
-
\DeclareFontShape{LGR}{Junicode-TOsF}{sc}{it}{
<-> \Junicode@@scale Junicode-SmCondItalic-tosf-lgr
}{}
@@ -793,6 +707,14 @@
<-> alias * Junicode-TOsF/sc/it
}{}
+\DeclareFontShape{LGR}{Junicode-TOsF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tosf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{semicondensed}{sc}{
+ <-> alias * Junicode-TOsF/sc/sc
+}{}
+
\DeclareFontShape{LGR}{Junicode-TOsF}{sc}{n}{
<-> \Junicode@@scale Junicode-SmCond-tosf-lgr
}{}
@@ -828,14 +750,6 @@
<-> alias * Junicode-TOsF/sb/n
}{}
-\DeclareFontShape{LGR}{Junicode-TOsF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-lgr
-}{}
-
-\DeclareFontShape{LGR}{Junicode-TOsF}{semibold}{it}{
- <-> alias * Junicode-TOsF/sb/it
-}{}
-
\DeclareFontShape{LGR}{Junicode-TOsF}{sb}{sc}{
<-> \Junicode@@scale Junicode-SmBold-tosf-sc-lgr
}{}
@@ -844,6 +758,14 @@
<-> alias * Junicode-TOsF/sb/sc
}{}
+\DeclareFontShape{LGR}{Junicode-TOsF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{semibold}{it}{
+ <-> alias * Junicode-TOsF/sb/it
+}{}
+
\DeclareFontShape{LGR}{Junicode-TOsF}{sb}{scit}{
<-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-lgr
}{}
@@ -869,6 +791,84 @@
}{}
+% ---- b = bold ----
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{it}{
+ <-> alias * Junicode-TOsF/b/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{scit}{
+ <-> alias * Junicode-TOsF/b/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{n}{
+ <-> alias * Junicode-TOsF/b/n
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{sc}{
+ <-> alias * Junicode-TOsF/b/sc
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{b}{scsl}{
+ <-> ssub * Junicode-TOsF/b/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{scsl}{
+ <-> ssub * Junicode-TOsF/bold/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{b}{sl}{
+ <-> ssub * Junicode-TOsF/b/it
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{bold}{sl}{
+ <-> ssub * Junicode-TOsF/bold/it
+}{}
+
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-lgr
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/scit
+}{}
+
+\DeclareFontShape{LGR}{Junicode-TOsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/it
+}{}
+
+
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
\endinput
diff --git a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Inf.fd b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Inf.fd
index 985b0e8470f..ba4320e2d53 100644
--- a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Inf.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Inf.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LY1Junicode-Inf.fd}
- [2024/01/08 (autoinst) Font definitions for LY1/Junicode-Inf.]
+ [2024/06/03 (autoinst) Font definitions for LY1/Junicode-Inf.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -35,57 +35,84 @@
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- b = bold ----
-\DeclareFontShape{LY1}{Junicode-Inf}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/sbsx/n
+\DeclareFontShape{LY1}{Junicode-Inf}{bold}{n}{
+ <-> alias * Junicode-Inf/b/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/sbsx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{bold}{it}{
+ <-> alias * Junicode-Inf/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sbsx}{sl}{
- <-> ssub * Junicode-Inf/sbsx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{b}{sl}{
+ <-> ssub * Junicode-Inf/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{bold}{sl}{
+ <-> ssub * Junicode-Inf/bold/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- sb = semibold ----
-\DeclareFontShape{LY1}{Junicode-Inf}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/bsx/n
+\DeclareFontShape{LY1}{Junicode-Inf}{semibold}{it}{
+ <-> alias * Junicode-Inf/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/bsx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{semibold}{n}{
+ <-> alias * Junicode-Inf/sb/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bsx}{sl}{
- <-> ssub * Junicode-Inf/bsx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{sb}{sl}{
+ <-> ssub * Junicode-Inf/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{semibold}{sl}{
+ <-> ssub * Junicode-Inf/semibold/it
+}{}
+
+
+% ---- sc = semicondensed ----
+
+\DeclareFontShape{LY1}{Junicode-Inf}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-inf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-Inf}{semicondensed}{n}{
+ <-> alias * Junicode-Inf/sc/n
+}{}
+
+\DeclareFontShape{LY1}{Junicode-Inf}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-inf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-Inf}{semicondensed}{it}{
+ <-> alias * Junicode-Inf/sc/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-Inf}{sc}{sl}{
+ <-> ssub * Junicode-Inf/sc/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-Inf}{semicondensed}{sl}{
+ <-> ssub * Junicode-Inf/semicondensed/it
}{}
@@ -116,360 +143,333 @@
}{}
-% ---- b = bold ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bold}{it}{
- <-> alias * Junicode-Inf/b/it
+\DeclareFontShape{LY1}{Junicode-Inf}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bold}{n}{
- <-> alias * Junicode-Inf/b/n
+\DeclareFontShape{LY1}{Junicode-Inf}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/bsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{b}{sl}{
- <-> ssub * Junicode-Inf/b/it
+\DeclareFontShape{LY1}{Junicode-Inf}{bsx}{sl}{
+ <-> ssub * Junicode-Inf/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bold}{sl}{
- <-> ssub * Junicode-Inf/bold/it
+\DeclareFontShape{LY1}{Junicode-Inf}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldsemiexpanded/it
}{}
-% ---- mediumexpanded ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{semiboldexpanded}{it}{
+ <-> alias * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-inf-ly1
}{}
-
-% ---- x = expanded ----
-
-\DeclareFontShape{LY1}{Junicode-Inf}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{semiboldexpanded}{n}{
+ <-> alias * Junicode-Inf/sbx/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{expanded}{it}{
- <-> alias * Junicode-Inf/x/it
+\DeclareFontShape{LY1}{Junicode-Inf}{sbx}{sl}{
+ <-> ssub * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{expanded}{n}{
- <-> alias * Junicode-Inf/x/n
-}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{x}{sl}{
- <-> ssub * Junicode-Inf/x/it
-}{}
+% ---- mediumsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-Inf}{expanded}{sl}{
- <-> ssub * Junicode-Inf/expanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-ly1
}{}
-
-% ---- c = condensed ----
-
-\DeclareFontShape{LY1}{Junicode-Inf}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{condensed}{n}{
- <-> alias * Junicode-Inf/c/n
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemicondensed/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-inf-ly1
-}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{condensed}{it}{
- <-> alias * Junicode-Inf/c/it
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{c}{sl}{
- <-> ssub * Junicode-Inf/c/it
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{condensed}{sl}{
- <-> ssub * Junicode-Inf/condensed/it
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-inf-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemiexpanded/it
+}{}
-% ---- sx = semiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-inf-ly1
-}{}
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{semiexpanded}{it}{
- <-> alias * Junicode-Inf/sx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/sbsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiexpanded}{n}{
- <-> alias * Junicode-Inf/sx/n
+\DeclareFontShape{LY1}{Junicode-Inf}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sx}{sl}{
- <-> ssub * Junicode-Inf/sx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/sbsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{sbsx}{sl}{
+ <-> ssub * Junicode-Inf/sbsx/it
}{}
-
-% ---- l = light ----
-
-\DeclareFontShape{LY1}{Junicode-Inf}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{light}{it}{
- <-> alias * Junicode-Inf/l/it
-}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-inf-ly1
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{light}{n}{
- <-> alias * Junicode-Inf/l/n
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{l}{sl}{
- <-> ssub * Junicode-Inf/l/it
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{light}{sl}{
- <-> ssub * Junicode-Inf/light/it
+\DeclareFontShape{LY1}{Junicode-Inf}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumexpanded/it
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiboldexpanded}{n}{
- <-> alias * Junicode-Inf/sbx/n
+\DeclareFontShape{LY1}{Junicode-Inf}{semiexpanded}{n}{
+ <-> alias * Junicode-Inf/sx/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiboldexpanded}{it}{
- <-> alias * Junicode-Inf/sbx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{semiexpanded}{it}{
+ <-> alias * Junicode-Inf/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sbx}{sl}{
- <-> ssub * Junicode-Inf/sbx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{sx}{sl}{
+ <-> ssub * Junicode-Inf/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiexpanded/it
}{}
-% ---- medium ----
+% ---- x = expanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{expanded}{it}{
+ <-> alias * Junicode-Inf/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{medium}{sl}{
- <-> ssub * Junicode-Inf/medium/it
+\DeclareFontShape{LY1}{Junicode-Inf}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-inf-ly1
}{}
-
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{expanded}{n}{
+ <-> alias * Junicode-Inf/x/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{x}{sl}{
+ <-> ssub * Junicode-Inf/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-Inf/mediumsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-Inf}{expanded}{sl}{
+ <-> ssub * Junicode-Inf/expanded/it
}{}
-% ---- bx = boldexpanded ----
+% ---- c = condensed ----
-\DeclareFontShape{LY1}{Junicode-Inf}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{boldexpanded}{it}{
- <-> alias * Junicode-Inf/bx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{condensed}{it}{
+ <-> alias * Junicode-Inf/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{boldexpanded}{n}{
- <-> alias * Junicode-Inf/bx/n
+\DeclareFontShape{LY1}{Junicode-Inf}{condensed}{n}{
+ <-> alias * Junicode-Inf/c/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{bx}{sl}{
- <-> ssub * Junicode-Inf/bx/it
+\DeclareFontShape{LY1}{Junicode-Inf}{c}{sl}{
+ <-> ssub * Junicode-Inf/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{boldexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{condensed}{sl}{
+ <-> ssub * Junicode-Inf/condensed/it
}{}
-% ---- m = regular ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-Inf}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{regular}{it}{
- <-> alias * Junicode-Inf/m/it
+\DeclareFontShape{LY1}{Junicode-Inf}{lightsemicondensed}{it}{
+ <-> alias * Junicode-Inf/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{regular}{n}{
- <-> alias * Junicode-Inf/m/n
+\DeclareFontShape{LY1}{Junicode-Inf}{lightsemicondensed}{n}{
+ <-> alias * Junicode-Inf/lsc/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{m}{sl}{
- <-> ssub * Junicode-Inf/m/it
+\DeclareFontShape{LY1}{Junicode-Inf}{lsc}{sl}{
+ <-> ssub * Junicode-Inf/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{regular}{sl}{
- <-> ssub * Junicode-Inf/regular/it
+\DeclareFontShape{LY1}{Junicode-Inf}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-Inf/lightsemicondensed/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Inf}{medium}{sl}{
+ <-> ssub * Junicode-Inf/medium/it
}{}
-% ---- sc = semicondensed ----
+% ---- m = regular ----
-\DeclareFontShape{LY1}{Junicode-Inf}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semicondensed}{it}{
- <-> alias * Junicode-Inf/sc/it
+\DeclareFontShape{LY1}{Junicode-Inf}{regular}{n}{
+ <-> alias * Junicode-Inf/m/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semicondensed}{n}{
- <-> alias * Junicode-Inf/sc/n
+\DeclareFontShape{LY1}{Junicode-Inf}{regular}{it}{
+ <-> alias * Junicode-Inf/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sc}{sl}{
- <-> ssub * Junicode-Inf/sc/it
+\DeclareFontShape{LY1}{Junicode-Inf}{m}{sl}{
+ <-> ssub * Junicode-Inf/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semicondensed}{sl}{
- <-> ssub * Junicode-Inf/semicondensed/it
+\DeclareFontShape{LY1}{Junicode-Inf}{regular}{sl}{
+ <-> ssub * Junicode-Inf/regular/it
}{}
-% ---- sb = semibold ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LY1}{Junicode-Inf}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semibold}{n}{
- <-> alias * Junicode-Inf/sb/n
+\DeclareFontShape{LY1}{Junicode-Inf}{boldexpanded}{it}{
+ <-> alias * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semibold}{it}{
- <-> alias * Junicode-Inf/sb/it
+\DeclareFontShape{LY1}{Junicode-Inf}{boldexpanded}{n}{
+ <-> alias * Junicode-Inf/bx/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{sb}{sl}{
- <-> ssub * Junicode-Inf/sb/it
+\DeclareFontShape{LY1}{Junicode-Inf}{bx}{sl}{
+ <-> ssub * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{semibold}{sl}{
- <-> ssub * Junicode-Inf/semibold/it
+\DeclareFontShape{LY1}{Junicode-Inf}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldexpanded/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- l = light ----
-\DeclareFontShape{LY1}{Junicode-Inf}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{lightsemicondensed}{it}{
- <-> alias * Junicode-Inf/lsc/it
+\DeclareFontShape{LY1}{Junicode-Inf}{light}{n}{
+ <-> alias * Junicode-Inf/l/n
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-inf-ly1
+\DeclareFontShape{LY1}{Junicode-Inf}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-inf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{lightsemicondensed}{n}{
- <-> alias * Junicode-Inf/lsc/n
+\DeclareFontShape{LY1}{Junicode-Inf}{light}{it}{
+ <-> alias * Junicode-Inf/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{lsc}{sl}{
- <-> ssub * Junicode-Inf/lsc/it
+\DeclareFontShape{LY1}{Junicode-Inf}{l}{sl}{
+ <-> ssub * Junicode-Inf/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-Inf}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-Inf/lightsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-Inf}{light}{sl}{
+ <-> ssub * Junicode-Inf/light/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-LF.fd b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-LF.fd
index 33990f91343..86852180b23 100644
--- a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-LF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LY1Junicode-LF.fd}
- [2024/01/08 (autoinst) Font definitions for LY1/Junicode-LF.]
+ [2024/06/03 (autoinst) Font definitions for LY1/Junicode-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,81 +20,30 @@
\DeclareFontFamily{LY1}{Junicode-LF}{}
-% ---- bsx = boldsemiexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-LF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/bsx/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-LF/bsx/it
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-LF/bsx/n
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/bsx/sc
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bsx}{scsl}{
- <-> ssub * Junicode-LF/bsx/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bsx}{sl}{
- <-> ssub * Junicode-LF/bsx/it
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/it
-}{}
-
-
-% ---- mediumcondensed ----
+% ---- mediumexpanded ----
-\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumcondensed/scit
+\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-LF/mediumcondensed/it
+\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumexpanded/it
}{}
@@ -108,6 +57,14 @@
<-> alias * Junicode-LF/sbsx/scit
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/sbsx/it
+}{}
+
\DeclareFontShape{LY1}{Junicode-LF}{sbsx}{sc}{
<-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-ly1
}{}
@@ -124,14 +81,6 @@
<-> alias * Junicode-LF/sbsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-LF/sbsx/it
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{sbsx}{scsl}{
<-> ssub * Junicode-LF/sbsx/scit
}{}
@@ -149,110 +98,51 @@
}{}
-% ---- b = bold ----
-
-\DeclareFontShape{LY1}{Junicode-LF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bold}{scit}{
- <-> alias * Junicode-LF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bold}{sc}{
- <-> alias * Junicode-LF/b/sc
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bold}{n}{
- <-> alias * Junicode-LF/b/n
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bold}{it}{
- <-> alias * Junicode-LF/b/it
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{b}{scsl}{
- <-> ssub * Junicode-LF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bold}{scsl}{
- <-> ssub * Junicode-LF/bold/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{b}{sl}{
- <-> ssub * Junicode-LF/b/it
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{bold}{sl}{
- <-> ssub * Junicode-LF/bold/it
-}{}
-
-
-% ---- lc = lightcondensed ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-LF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{it}{
- <-> alias * Junicode-LF/lc/it
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{n}{
- <-> alias * Junicode-LF/lc/n
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{sc}{
- <-> alias * Junicode-LF/lc/sc
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-ly1
-}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{scit}{
- <-> alias * Junicode-LF/lc/scit
-}{}
+% ---- x = expanded ----
-\DeclareFontShape{LY1}{Junicode-LF}{lc}{scsl}{
- <-> ssub * Junicode-LF/lc/scit
+\DeclareFontShape{LY1}{Junicode-LF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-LF/lightcondensed/scit
+\DeclareFontShape{LY1}{Junicode-LF}{expanded}{it}{
+ <-> alias * Junicode-LF/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lc}{sl}{
- <-> ssub * Junicode-LF/lc/it
+\DeclareFontShape{LY1}{Junicode-LF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{sl}{
- <-> ssub * Junicode-LF/lightcondensed/it
+\DeclareFontShape{LY1}{Junicode-LF}{expanded}{scit}{
+ <-> alias * Junicode-LF/x/scit
}{}
-
-% ---- x = expanded ----
-
\DeclareFontShape{LY1}{Junicode-LF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-lf-ly1
}{}
@@ -261,14 +151,6 @@
<-> alias * Junicode-LF/x/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{expanded}{it}{
- <-> alias * Junicode-LF/x/it
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{x}{sc}{
<-> \Junicode@@scale Junicode-Exp-lf-sc-ly1
}{}
@@ -277,14 +159,6 @@
<-> alias * Junicode-LF/x/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{expanded}{scit}{
- <-> alias * Junicode-LF/x/scit
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{x}{scsl}{
<-> ssub * Junicode-LF/x/scit
}{}
@@ -312,14 +186,6 @@
<-> alias * Junicode-LF/c/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{condensed}{n}{
- <-> alias * Junicode-LF/c/n
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{c}{it}{
<-> \Junicode@@scale Junicode-CondItalic-lf-ly1
}{}
@@ -336,6 +202,14 @@
<-> alias * Junicode-LF/c/sc
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{condensed}{n}{
+ <-> alias * Junicode-LF/c/n
+}{}
+
\DeclareFontShape{LY1}{Junicode-LF}{c}{scsl}{
<-> ssub * Junicode-LF/c/scit
}{}
@@ -353,35 +227,24 @@
}{}
-% ---- mediumexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-ly1
-}{}
+% ---- sx = semiexpanded ----
-\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{semiexpanded}{sc}{
+ <-> alias * Junicode-LF/sx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumexpanded/scit
+\DeclareFontShape{LY1}{Junicode-LF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumexpanded/it
+\DeclareFontShape{LY1}{Junicode-LF}{semiexpanded}{n}{
+ <-> alias * Junicode-LF/sx/n
}{}
-
-% ---- sx = semiexpanded ----
-
\DeclareFontShape{LY1}{Junicode-LF}{sx}{scit}{
<-> \Junicode@@scale Junicode-SmExpItalic-lf-sc-ly1
}{}
@@ -390,14 +253,6 @@
<-> alias * Junicode-LF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{semiexpanded}{n}{
- <-> alias * Junicode-LF/sx/n
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{sx}{it}{
<-> \Junicode@@scale Junicode-SmExpItalic-lf-ly1
}{}
@@ -406,14 +261,6 @@
<-> alias * Junicode-LF/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{semiexpanded}{sc}{
- <-> alias * Junicode-LF/sx/sc
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{sx}{scsl}{
<-> ssub * Junicode-LF/sx/scit
}{}
@@ -431,73 +278,73 @@
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- m = regular ----
-\DeclareFontShape{LY1}{Junicode-LF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-LF/sbx/scit
+\DeclareFontShape{LY1}{Junicode-LF}{regular}{n}{
+ <-> alias * Junicode-LF/m/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{n}{
- <-> alias * Junicode-LF/sbx/n
+\DeclareFontShape{LY1}{Junicode-LF}{regular}{sc}{
+ <-> alias * Junicode-LF/m/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{it}{
- <-> alias * Junicode-LF/sbx/it
+\DeclareFontShape{LY1}{Junicode-LF}{regular}{it}{
+ <-> alias * Junicode-LF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-LF/sbx/sc
+\DeclareFontShape{LY1}{Junicode-LF}{regular}{scit}{
+ <-> alias * Junicode-LF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sbx}{scsl}{
- <-> ssub * Junicode-LF/sbx/scit
+\DeclareFontShape{LY1}{Junicode-LF}{m}{scsl}{
+ <-> ssub * Junicode-LF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiboldexpanded/scit
+\DeclareFontShape{LY1}{Junicode-LF}{regular}{scsl}{
+ <-> ssub * Junicode-LF/regular/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sbx}{sl}{
- <-> ssub * Junicode-LF/sbx/it
+\DeclareFontShape{LY1}{Junicode-LF}{m}{sl}{
+ <-> ssub * Junicode-LF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldexpanded/it
+\DeclareFontShape{LY1}{Junicode-LF}{regular}{sl}{
+ <-> ssub * Junicode-LF/regular/it
}{}
% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-LF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-lf-sc-ly1
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{medium}{it}{
<-> \Junicode@@scale Junicode-MediumItalic-lf-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-ly1
+}{}
+
\DeclareFontShape{LY1}{Junicode-LF}{medium}{n}{
<-> \Junicode@@scale Junicode-Medium-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-lf-sc-ly1
}{}
\DeclareFontShape{LY1}{Junicode-LF}{medium}{scsl}{
@@ -509,105 +356,105 @@
}{}
-% ---- l = light ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-LF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{light}{sc}{
- <-> alias * Junicode-LF/l/sc
+\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-LF/lsc/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{light}{it}{
- <-> alias * Junicode-LF/l/it
+\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-LF/lsc/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{light}{n}{
- <-> alias * Junicode-LF/l/n
+\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{light}{scit}{
- <-> alias * Junicode-LF/l/scit
+\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{l}{scsl}{
- <-> ssub * Junicode-LF/l/scit
+\DeclareFontShape{LY1}{Junicode-LF}{lsc}{scsl}{
+ <-> ssub * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{light}{scsl}{
- <-> ssub * Junicode-LF/light/scit
+\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{l}{sl}{
- <-> ssub * Junicode-LF/l/it
+\DeclareFontShape{LY1}{Junicode-LF}{lsc}{sl}{
+ <-> ssub * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{light}{sl}{
- <-> ssub * Junicode-LF/light/it
+\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/it
}{}
-% ---- m = regular ----
+% ---- l = light ----
-\DeclareFontShape{LY1}{Junicode-LF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{regular}{scit}{
- <-> alias * Junicode-LF/m/scit
+\DeclareFontShape{LY1}{Junicode-LF}{light}{sc}{
+ <-> alias * Junicode-LF/l/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{regular}{it}{
- <-> alias * Junicode-LF/m/it
+\DeclareFontShape{LY1}{Junicode-LF}{light}{n}{
+ <-> alias * Junicode-LF/l/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{regular}{n}{
- <-> alias * Junicode-LF/m/n
+\DeclareFontShape{LY1}{Junicode-LF}{light}{scit}{
+ <-> alias * Junicode-LF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{regular}{sc}{
- <-> alias * Junicode-LF/m/sc
+\DeclareFontShape{LY1}{Junicode-LF}{light}{it}{
+ <-> alias * Junicode-LF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{m}{scsl}{
- <-> ssub * Junicode-LF/m/scit
+\DeclareFontShape{LY1}{Junicode-LF}{l}{scsl}{
+ <-> ssub * Junicode-LF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{regular}{scsl}{
- <-> ssub * Junicode-LF/regular/scit
+\DeclareFontShape{LY1}{Junicode-LF}{light}{scsl}{
+ <-> ssub * Junicode-LF/light/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{m}{sl}{
- <-> ssub * Junicode-LF/m/it
+\DeclareFontShape{LY1}{Junicode-LF}{l}{sl}{
+ <-> ssub * Junicode-LF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{regular}{sl}{
- <-> ssub * Junicode-LF/regular/it
+\DeclareFontShape{LY1}{Junicode-LF}{light}{sl}{
+ <-> ssub * Junicode-LF/light/it
}{}
@@ -621,6 +468,14 @@
<-> alias * Junicode-LF/bx/scit
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{boldexpanded}{it}{
+ <-> alias * Junicode-LF/bx/it
+}{}
+
\DeclareFontShape{LY1}{Junicode-LF}{bx}{sc}{
<-> \Junicode@@scale Junicode-ExpBold-lf-sc-ly1
}{}
@@ -637,14 +492,6 @@
<-> alias * Junicode-LF/bx/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-LF}{boldexpanded}{it}{
- <-> alias * Junicode-LF/bx/it
-}{}
-
\DeclareFontShape{LY1}{Junicode-LF}{bx}{scsl}{
<-> ssub * Junicode-LF/bx/scit
}{}
@@ -662,102 +509,188 @@
}{}
-% ---- mediumsemicondensed ----
+% ---- mediumcondensed ----
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/scit
+\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-LF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumcondensed/it
}{}
-% ---- sb = semibold ----
+% ---- b = bold ----
-\DeclareFontShape{LY1}{Junicode-LF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semibold}{sc}{
- <-> alias * Junicode-LF/sb/sc
+\DeclareFontShape{LY1}{Junicode-LF}{bold}{sc}{
+ <-> alias * Junicode-LF/b/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semibold}{it}{
- <-> alias * Junicode-LF/sb/it
+\DeclareFontShape{LY1}{Junicode-LF}{bold}{n}{
+ <-> alias * Junicode-LF/b/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semibold}{n}{
- <-> alias * Junicode-LF/sb/n
+\DeclareFontShape{LY1}{Junicode-LF}{bold}{scit}{
+ <-> alias * Junicode-LF/b/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semibold}{scit}{
- <-> alias * Junicode-LF/sb/scit
+\DeclareFontShape{LY1}{Junicode-LF}{bold}{it}{
+ <-> alias * Junicode-LF/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sb}{scsl}{
- <-> ssub * Junicode-LF/sb/scit
+\DeclareFontShape{LY1}{Junicode-LF}{b}{scsl}{
+ <-> ssub * Junicode-LF/b/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semibold}{scsl}{
- <-> ssub * Junicode-LF/semibold/scit
+\DeclareFontShape{LY1}{Junicode-LF}{bold}{scsl}{
+ <-> ssub * Junicode-LF/bold/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sb}{sl}{
- <-> ssub * Junicode-LF/sb/it
+\DeclareFontShape{LY1}{Junicode-LF}{b}{sl}{
+ <-> ssub * Junicode-LF/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semibold}{sl}{
- <-> ssub * Junicode-LF/semibold/it
+\DeclareFontShape{LY1}{Junicode-LF}{bold}{sl}{
+ <-> ssub * Junicode-LF/bold/it
}{}
-% ---- sc = semicondensed ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-LF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semicondensed}{scit}{
- <-> alias * Junicode-LF/sc/scit
+\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{semicondensed}{sc}{
- <-> alias * Junicode-LF/sc/sc
+\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/bsx/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/bsx/n
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/bsx/sc
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{bsx}{scsl}{
+ <-> ssub * Junicode-LF/bsx/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{bsx}{sl}{
+ <-> ssub * Junicode-LF/bsx/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/it
+}{}
+
+
+% ---- lc = lightcondensed ----
+
+\DeclareFontShape{LY1}{Junicode-LF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{scit}{
+ <-> alias * Junicode-LF/lc/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{it}{
+ <-> alias * Junicode-LF/lc/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{sc}{
+ <-> alias * Junicode-LF/lc/sc
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{n}{
+ <-> alias * Junicode-LF/lc/n
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lc}{scsl}{
+ <-> ssub * Junicode-LF/lc/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightcondensed/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lc}{sl}{
+ <-> ssub * Junicode-LF/lc/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-LF/lightcondensed/it
+}{}
+
+
+% ---- sc = semicondensed ----
+
\DeclareFontShape{LY1}{Junicode-LF}{sc}{n}{
<-> \Junicode@@scale Junicode-SmCond-lf-ly1
}{}
@@ -766,6 +699,14 @@
<-> alias * Junicode-LF/sc/n
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semicondensed}{sc}{
+ <-> alias * Junicode-LF/sc/sc
+}{}
+
\DeclareFontShape{LY1}{Junicode-LF}{sc}{it}{
<-> \Junicode@@scale Junicode-SmCondItalic-lf-ly1
}{}
@@ -774,6 +715,14 @@
<-> alias * Junicode-LF/sc/it
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-lf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semicondensed}{scit}{
+ <-> alias * Junicode-LF/sc/scit
+}{}
+
\DeclareFontShape{LY1}{Junicode-LF}{sc}{scsl}{
<-> ssub * Junicode-LF/sc/scit
}{}
@@ -791,81 +740,132 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- sb = semibold ----
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{semibold}{sc}{
+ <-> alias * Junicode-LF/sb/sc
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{semibold}{n}{
+ <-> alias * Junicode-LF/sb/n
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-LF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-LF}{semibold}{scit}{
+ <-> alias * Junicode-LF/sb/scit
}{}
+\DeclareFontShape{LY1}{Junicode-LF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-ly1
+}{}
-% ---- lsc = lightsemicondensed ----
+\DeclareFontShape{LY1}{Junicode-LF}{semibold}{it}{
+ <-> alias * Junicode-LF/sb/it
+}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{sb}{scsl}{
+ <-> ssub * Junicode-LF/sb/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-LF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-LF}{semibold}{scsl}{
+ <-> ssub * Junicode-LF/semibold/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{sb}{sl}{
+ <-> ssub * Junicode-LF/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{n}{
- <-> alias * Junicode-LF/lsc/n
+\DeclareFontShape{LY1}{Junicode-LF}{semibold}{sl}{
+ <-> ssub * Junicode-LF/semibold/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-ly1
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{it}{
- <-> alias * Junicode-LF/lsc/it
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-LF/lsc/sc
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lsc}{scsl}{
- <-> ssub * Junicode-LF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/lightsemicondensed/scit
+\DeclareFontShape{LY1}{Junicode-LF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/it
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lsc}{sl}{
- <-> ssub * Junicode-LF/lsc/it
+
+% ---- sbx = semiboldexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-LF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-LF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-LF/lightsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-LF/sbx/n
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-LF/sbx/sc
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-LF/sbx/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-LF/sbx/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{sbx}{scsl}{
+ <-> ssub * Junicode-LF/sbx/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{sbx}{sl}{
+ <-> ssub * Junicode-LF/sbx/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-LF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-OsF.fd b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-OsF.fd
index aa36be5fb5c..fd942d07b1b 100644
--- a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-OsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LY1Junicode-OsF.fd}
- [2024/01/08 (autoinst) Font definitions for LY1/Junicode-OsF.]
+ [2024/06/03 (autoinst) Font definitions for LY1/Junicode-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,454 +20,497 @@
\DeclareFontFamily{LY1}{Junicode-OsF}{}
-% ---- mediumexpanded ----
+% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumexpanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{medium}{scsl}{
+ <-> ssub * Junicode-OsF/medium/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumexpanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{medium}{sl}{
+ <-> ssub * Junicode-OsF/medium/it
}{}
-% ---- c = condensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-OsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{scit}{
- <-> alias * Junicode-OsF/c/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-OsF/lsc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{sc}{
- <-> alias * Junicode-OsF/c/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{it}{
- <-> alias * Junicode-OsF/c/it
+\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-OsF/lsc/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{n}{
- <-> alias * Junicode-OsF/c/n
+\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-OsF/lsc/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{c}{scsl}{
- <-> ssub * Junicode-OsF/c/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{scsl}{
+ <-> ssub * Junicode-OsF/lsc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{scsl}{
- <-> ssub * Junicode-OsF/condensed/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{c}{sl}{
- <-> ssub * Junicode-OsF/c/it
+\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{sl}{
+ <-> ssub * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{sl}{
- <-> ssub * Junicode-OsF/condensed/it
+\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/it
}{}
-% ---- x = expanded ----
+% ---- m = regular ----
-\DeclareFontShape{LY1}{Junicode-OsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{scit}{
- <-> alias * Junicode-OsF/x/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{regular}{sc}{
+ <-> alias * Junicode-OsF/m/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{n}{
- <-> alias * Junicode-OsF/x/n
+\DeclareFontShape{LY1}{Junicode-OsF}{regular}{n}{
+ <-> alias * Junicode-OsF/m/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{it}{
- <-> alias * Junicode-OsF/x/it
+\DeclareFontShape{LY1}{Junicode-OsF}{regular}{scit}{
+ <-> alias * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{sc}{
- <-> alias * Junicode-OsF/x/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{regular}{it}{
+ <-> alias * Junicode-OsF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{x}{scsl}{
- <-> ssub * Junicode-OsF/x/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{m}{scsl}{
+ <-> ssub * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{scsl}{
- <-> ssub * Junicode-OsF/expanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{regular}{scsl}{
+ <-> ssub * Junicode-OsF/regular/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{x}{sl}{
- <-> ssub * Junicode-OsF/x/it
+\DeclareFontShape{LY1}{Junicode-OsF}{m}{sl}{
+ <-> ssub * Junicode-OsF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{sl}{
- <-> ssub * Junicode-OsF/expanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{regular}{sl}{
+ <-> ssub * Junicode-OsF/regular/it
}{}
-% ---- sx = semiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LY1}{Junicode-OsF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{scit}{
- <-> alias * Junicode-OsF/sx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-OsF/bx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{it}{
- <-> alias * Junicode-OsF/sx/it
+\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{n}{
+ <-> alias * Junicode-OsF/bx/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{n}{
- <-> alias * Junicode-OsF/sx/n
+\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{sc}{
- <-> alias * Junicode-OsF/sx/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{it}{
+ <-> alias * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sx}{scsl}{
- <-> ssub * Junicode-OsF/sx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{bx}{scsl}{
+ <-> ssub * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sx}{sl}{
- <-> ssub * Junicode-OsF/sx/it
+\DeclareFontShape{LY1}{Junicode-OsF}{bx}{sl}{
+ <-> ssub * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiexpanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldexpanded/it
}{}
-% ---- mediumcondensed ----
+% ---- l = light ----
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{light}{scit}{
+ <-> alias * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{light}{it}{
+ <-> alias * Junicode-OsF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-OsF/mediumcondensed/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumcondensed/it
+\DeclareFontShape{LY1}{Junicode-OsF}{light}{sc}{
+ <-> alias * Junicode-OsF/l/sc
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-osf-ly1
+}{}
-% ---- sbsx = semiboldsemiexpanded ----
+\DeclareFontShape{LY1}{Junicode-OsF}{light}{n}{
+ <-> alias * Junicode-OsF/l/n
+}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{l}{scsl}{
+ <-> ssub * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/sbsx/n
+\DeclareFontShape{LY1}{Junicode-OsF}{light}{scsl}{
+ <-> ssub * Junicode-OsF/light/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{l}{sl}{
+ <-> ssub * Junicode-OsF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/sbsx/it
+\DeclareFontShape{LY1}{Junicode-OsF}{light}{sl}{
+ <-> ssub * Junicode-OsF/light/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-ly1
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/sbsx/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/sbsx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{scsl}{
- <-> ssub * Junicode-OsF/sbsx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{sl}{
- <-> ssub * Junicode-OsF/sbsx/it
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-sc-ly1
+}{}
-% ---- bsx = boldsemiexpanded ----
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-ly1
+}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/bsx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-ly1
+
+% ---- sbsx = semiboldsemiexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/bsx/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/sbsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/bsx/n
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/bsx/it
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/sbsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{scsl}{
- <-> ssub * Junicode-OsF/bsx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sbsx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{sl}{
- <-> ssub * Junicode-OsF/bsx/it
+\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-OsF/sbsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{sbsx}{sl}{
+ <-> ssub * Junicode-OsF/sbsx/it
+}{}
-% ---- lc = lightcondensed ----
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-ly1
+
+% ---- c = condensed ----
+
+\DeclareFontShape{LY1}{Junicode-OsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{scit}{
- <-> alias * Junicode-OsF/lc/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{n}{
+ <-> alias * Junicode-OsF/c/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{n}{
- <-> alias * Junicode-OsF/lc/n
+\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{sc}{
+ <-> alias * Junicode-OsF/c/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{it}{
- <-> alias * Junicode-OsF/lc/it
+\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{it}{
+ <-> alias * Junicode-OsF/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{sc}{
- <-> alias * Junicode-OsF/lc/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{scit}{
+ <-> alias * Junicode-OsF/c/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lc}{scsl}{
- <-> ssub * Junicode-OsF/lc/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{c}{scsl}{
+ <-> ssub * Junicode-OsF/c/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightcondensed/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{scsl}{
+ <-> ssub * Junicode-OsF/condensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lc}{sl}{
- <-> ssub * Junicode-OsF/lc/it
+\DeclareFontShape{LY1}{Junicode-OsF}{c}{sl}{
+ <-> ssub * Junicode-OsF/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-OsF/lightcondensed/it
+\DeclareFontShape{LY1}{Junicode-OsF}{condensed}{sl}{
+ <-> ssub * Junicode-OsF/condensed/it
}{}
-% ---- b = bold ----
+% ---- x = expanded ----
-\DeclareFontShape{LY1}{Junicode-OsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bold}{scit}{
- <-> alias * Junicode-OsF/b/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{it}{
+ <-> alias * Junicode-OsF/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bold}{it}{
- <-> alias * Junicode-OsF/b/it
+\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{scit}{
+ <-> alias * Junicode-OsF/x/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bold}{n}{
- <-> alias * Junicode-OsF/b/n
+\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{n}{
+ <-> alias * Junicode-OsF/x/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bold}{sc}{
- <-> alias * Junicode-OsF/b/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{sc}{
+ <-> alias * Junicode-OsF/x/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{b}{scsl}{
- <-> ssub * Junicode-OsF/b/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{x}{scsl}{
+ <-> ssub * Junicode-OsF/x/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bold}{scsl}{
- <-> ssub * Junicode-OsF/bold/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{scsl}{
+ <-> ssub * Junicode-OsF/expanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{b}{sl}{
- <-> ssub * Junicode-OsF/b/it
+\DeclareFontShape{LY1}{Junicode-OsF}{x}{sl}{
+ <-> ssub * Junicode-OsF/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bold}{sl}{
- <-> ssub * Junicode-OsF/bold/it
+\DeclareFontShape{LY1}{Junicode-OsF}{expanded}{sl}{
+ <-> ssub * Junicode-OsF/expanded/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{it}{
+ <-> alias * Junicode-OsF/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{n}{
+ <-> alias * Junicode-OsF/sx/n
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-sc-ly1
+}{}
-% ---- sc = semicondensed ----
+\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sx/sc
+}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sx}{scsl}{
+ <-> ssub * Junicode-OsF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semicondensed}{scit}{
- <-> alias * Junicode-OsF/sc/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiexpanded/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-OsF}{sx}{sl}{
+ <-> ssub * Junicode-OsF/sx/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-OsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiexpanded/it
}{}
+
+% ---- sc = semicondensed ----
+
\DeclareFontShape{LY1}{Junicode-OsF}{sc}{it}{
<-> \Junicode@@scale Junicode-SmCondItalic-osf-ly1
}{}
@@ -476,6 +519,14 @@
<-> alias * Junicode-OsF/sc/it
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-OsF}{semicondensed}{scit}{
+ <-> alias * Junicode-OsF/sc/scit
+}{}
+
\DeclareFontShape{LY1}{Junicode-OsF}{sc}{n}{
<-> \Junicode@@scale Junicode-SmCond-osf-ly1
}{}
@@ -511,20 +562,12 @@
% ---- sb = semibold ----
-\DeclareFontShape{LY1}{Junicode-OsF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{semibold}{sc}{
- <-> alias * Junicode-OsF/sb/sc
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semibold}{n}{
- <-> alias * Junicode-OsF/sb/n
+\DeclareFontShape{LY1}{Junicode-OsF}{semibold}{scit}{
+ <-> alias * Junicode-OsF/sb/scit
}{}
\DeclareFontShape{LY1}{Junicode-OsF}{sb}{it}{
@@ -535,12 +578,20 @@
<-> alias * Junicode-OsF/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{semibold}{scit}{
- <-> alias * Junicode-OsF/sb/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{semibold}{sc}{
+ <-> alias * Junicode-OsF/sb/sc
+}{}
+
+\DeclareFontShape{LY1}{Junicode-OsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-OsF}{semibold}{n}{
+ <-> alias * Junicode-OsF/sb/n
}{}
\DeclareFontShape{LY1}{Junicode-OsF}{sb}{scsl}{
@@ -560,105 +611,105 @@
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-OsF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/bsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-OsF/lsc/it
+\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/bsx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-OsF/lsc/n
+\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-OsF/lsc/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{scsl}{
- <-> ssub * Junicode-OsF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{scsl}{
+ <-> ssub * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lsc}{sl}{
- <-> ssub * Junicode-OsF/lsc/it
+\DeclareFontShape{LY1}{Junicode-OsF}{bsx}{sl}{
+ <-> ssub * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-OsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/it
}{}
-% ---- l = light ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LY1}{Junicode-OsF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{light}{scit}{
- <-> alias * Junicode-OsF/l/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{light}{sc}{
- <-> alias * Junicode-OsF/l/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{it}{
+ <-> alias * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{light}{it}{
- <-> alias * Junicode-OsF/l/it
+\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-OsF/lc/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{light}{n}{
- <-> alias * Junicode-OsF/l/n
+\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{n}{
+ <-> alias * Junicode-OsF/lc/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{l}{scsl}{
- <-> ssub * Junicode-OsF/l/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{lc}{scsl}{
+ <-> ssub * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{light}{scsl}{
- <-> ssub * Junicode-OsF/light/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{l}{sl}{
- <-> ssub * Junicode-OsF/l/it
+\DeclareFontShape{LY1}{Junicode-OsF}{lc}{sl}{
+ <-> ssub * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{light}{sl}{
- <-> ssub * Junicode-OsF/light/it
+\DeclareFontShape{LY1}{Junicode-OsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightcondensed/it
}{}
@@ -672,6 +723,14 @@
<-> alias * Junicode-OsF/sbx/it
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-OsF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbx/scit
+}{}
+
\DeclareFontShape{LY1}{Junicode-OsF}{sbx}{n}{
<-> \Junicode@@scale Junicode-ExpSmBold-osf-ly1
}{}
@@ -688,14 +747,6 @@
<-> alias * Junicode-OsF/sbx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-OsF/sbx/scit
-}{}
-
\DeclareFontShape{LY1}{Junicode-OsF}{sbx}{scsl}{
<-> ssub * Junicode-OsF/sbx/scit
}{}
@@ -713,39 +764,8 @@
}{}
-% ---- medium ----
-
-\DeclareFontShape{LY1}{Junicode-OsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-osf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{medium}{scsl}{
- <-> ssub * Junicode-OsF/medium/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{medium}{sl}{
- <-> ssub * Junicode-OsF/medium/it
-}{}
-
-
% ---- mediumsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-ly1
-}{}
-
\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemicondensed}{sc}{
<-> \Junicode@@scale Junicode-SmCondMedium-osf-sc-ly1
}{}
@@ -754,6 +774,10 @@
<-> \Junicode@@scale Junicode-SmCondMedium-osf-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-ly1
+}{}
+
\DeclareFontShape{LY1}{Junicode-OsF}{mediumsemicondensed}{it}{
<-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-ly1
}{}
@@ -767,105 +791,81 @@
}{}
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-OsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{scit}{
- <-> alias * Junicode-OsF/bx/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{sc}{
- <-> alias * Junicode-OsF/bx/sc
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{it}{
- <-> alias * Junicode-OsF/bx/it
-}{}
+% ---- mediumcondensed ----
-\DeclareFontShape{LY1}{Junicode-OsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{n}{
- <-> alias * Junicode-OsF/bx/n
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bx}{scsl}{
- <-> ssub * Junicode-OsF/bx/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldexpanded/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{bx}{sl}{
- <-> ssub * Junicode-OsF/bx/it
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldexpanded/it
+\DeclareFontShape{LY1}{Junicode-OsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/it
}{}
-% ---- m = regular ----
+% ---- b = bold ----
-\DeclareFontShape{LY1}{Junicode-OsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{regular}{scit}{
- <-> alias * Junicode-OsF/m/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{bold}{scit}{
+ <-> alias * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{regular}{n}{
- <-> alias * Junicode-OsF/m/n
+\DeclareFontShape{LY1}{Junicode-OsF}{bold}{it}{
+ <-> alias * Junicode-OsF/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-osf-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-osf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{regular}{it}{
- <-> alias * Junicode-OsF/m/it
+\DeclareFontShape{LY1}{Junicode-OsF}{bold}{sc}{
+ <-> alias * Junicode-OsF/b/sc
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-osf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-OsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-osf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{regular}{sc}{
- <-> alias * Junicode-OsF/m/sc
+\DeclareFontShape{LY1}{Junicode-OsF}{bold}{n}{
+ <-> alias * Junicode-OsF/b/n
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{m}{scsl}{
- <-> ssub * Junicode-OsF/m/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{b}{scsl}{
+ <-> ssub * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{regular}{scsl}{
- <-> ssub * Junicode-OsF/regular/scit
+\DeclareFontShape{LY1}{Junicode-OsF}{bold}{scsl}{
+ <-> ssub * Junicode-OsF/bold/scit
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{m}{sl}{
- <-> ssub * Junicode-OsF/m/it
+\DeclareFontShape{LY1}{Junicode-OsF}{b}{sl}{
+ <-> ssub * Junicode-OsF/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-OsF}{regular}{sl}{
- <-> ssub * Junicode-OsF/regular/it
+\DeclareFontShape{LY1}{Junicode-OsF}{bold}{sl}{
+ <-> ssub * Junicode-OsF/bold/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Sup.fd b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Sup.fd
index 42ec2aa9c64..55a81ba0ea5 100644
--- a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Sup.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-Sup.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LY1Junicode-Sup.fd}
- [2024/01/08 (autoinst) Font definitions for LY1/Junicode-Sup.]
+ [2024/06/03 (autoinst) Font definitions for LY1/Junicode-Sup.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,264 +20,306 @@
\DeclareFontFamily{LY1}{Junicode-Sup}{}
-% ---- mediumcondensed ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{semiexpanded}{it}{
+ <-> alias * Junicode-Sup/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumcondensed}{sl}{
- <-> ssub * Junicode-Sup/mediumcondensed/it
+\DeclareFontShape{LY1}{Junicode-Sup}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-sup-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-Sup}{semiexpanded}{n}{
+ <-> alias * Junicode-Sup/sx/n
+}{}
-% ---- sbsx = semiboldsemiexpanded ----
+\DeclareFontShape{LY1}{Junicode-Sup}{sx}{sl}{
+ <-> ssub * Junicode-Sup/sx/it
+}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/sbsx/n
+
+% ---- c = condensed ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{condensed}{it}{
+ <-> alias * Junicode-Sup/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/sbsx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sbsx}{sl}{
- <-> ssub * Junicode-Sup/sbsx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{condensed}{n}{
+ <-> alias * Junicode-Sup/c/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiboldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{c}{sl}{
+ <-> ssub * Junicode-Sup/c/it
}{}
+\DeclareFontShape{LY1}{Junicode-Sup}{condensed}{sl}{
+ <-> ssub * Junicode-Sup/condensed/it
+}{}
-% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Sup}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-sup-ly1
+% ---- x = expanded ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/bsx/n
+\DeclareFontShape{LY1}{Junicode-Sup}{expanded}{n}{
+ <-> alias * Junicode-Sup/x/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/bsx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{expanded}{it}{
+ <-> alias * Junicode-Sup/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bsx}{sl}{
- <-> ssub * Junicode-Sup/bsx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{x}{sl}{
+ <-> ssub * Junicode-Sup/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{expanded}{sl}{
+ <-> ssub * Junicode-Sup/expanded/it
}{}
-% ---- lc = lightcondensed ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Sup}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lightcondensed}{n}{
- <-> alias * Junicode-Sup/lc/n
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lightcondensed}{it}{
- <-> alias * Junicode-Sup/lc/it
-}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lc}{sl}{
- <-> ssub * Junicode-Sup/lc/it
+% ---- sbsx = semiboldsemiexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lightcondensed}{sl}{
- <-> ssub * Junicode-Sup/lightcondensed/it
+\DeclareFontShape{LY1}{Junicode-Sup}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/sbsx/it
}{}
+\DeclareFontShape{LY1}{Junicode-Sup}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-sup-ly1
+}{}
-% ---- b = bold ----
+\DeclareFontShape{LY1}{Junicode-Sup}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/sbsx/n
+}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{sbsx}{sl}{
+ <-> ssub * Junicode-Sup/sbsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bold}{it}{
- <-> alias * Junicode-Sup/b/it
+\DeclareFontShape{LY1}{Junicode-Sup}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-sup-ly1
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bold}{n}{
- <-> alias * Junicode-Sup/b/n
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{b}{sl}{
- <-> ssub * Junicode-Sup/b/it
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bold}{sl}{
- <-> ssub * Junicode-Sup/bold/it
+
+% ---- bx = boldexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-sup-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-Sup}{boldexpanded}{n}{
+ <-> alias * Junicode-Sup/bx/n
+}{}
-% ---- mediumexpanded ----
+\DeclareFontShape{LY1}{Junicode-Sup}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-ly1
+}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{boldexpanded}{it}{
+ <-> alias * Junicode-Sup/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{bx}{sl}{
+ <-> ssub * Junicode-Sup/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumexpanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldexpanded/it
}{}
-% ---- x = expanded ----
+% ---- l = light ----
-\DeclareFontShape{LY1}{Junicode-Sup}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{expanded}{n}{
- <-> alias * Junicode-Sup/x/n
+\DeclareFontShape{LY1}{Junicode-Sup}{light}{it}{
+ <-> alias * Junicode-Sup/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{expanded}{it}{
- <-> alias * Junicode-Sup/x/it
+\DeclareFontShape{LY1}{Junicode-Sup}{light}{n}{
+ <-> alias * Junicode-Sup/l/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{x}{sl}{
- <-> ssub * Junicode-Sup/x/it
+\DeclareFontShape{LY1}{Junicode-Sup}{l}{sl}{
+ <-> ssub * Junicode-Sup/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{expanded}{sl}{
- <-> ssub * Junicode-Sup/expanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{light}{sl}{
+ <-> ssub * Junicode-Sup/light/it
}{}
-% ---- c = condensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-Sup}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{condensed}{it}{
- <-> alias * Junicode-Sup/c/it
+\DeclareFontShape{LY1}{Junicode-Sup}{lightsemicondensed}{n}{
+ <-> alias * Junicode-Sup/lsc/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{condensed}{n}{
- <-> alias * Junicode-Sup/c/n
+\DeclareFontShape{LY1}{Junicode-Sup}{lightsemicondensed}{it}{
+ <-> alias * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{c}{sl}{
- <-> ssub * Junicode-Sup/c/it
+\DeclareFontShape{LY1}{Junicode-Sup}{lsc}{sl}{
+ <-> ssub * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{condensed}{sl}{
- <-> ssub * Junicode-Sup/condensed/it
+\DeclareFontShape{LY1}{Junicode-Sup}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightsemicondensed/it
}{}
-% ---- sx = semiexpanded ----
+% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-Sup}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semiexpanded}{it}{
- <-> alias * Junicode-Sup/sx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{medium}{sl}{
+ <-> ssub * Junicode-Sup/medium/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semiexpanded}{n}{
- <-> alias * Junicode-Sup/sx/n
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sx}{sl}{
- <-> ssub * Junicode-Sup/sx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{regular}{n}{
+ <-> alias * Junicode-Sup/m/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semiexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-sup-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-Sup}{regular}{it}{
+ <-> alias * Junicode-Sup/m/it
+}{}
-% ---- l = light ----
+\DeclareFontShape{LY1}{Junicode-Sup}{m}{sl}{
+ <-> ssub * Junicode-Sup/m/it
+}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{regular}{sl}{
+ <-> ssub * Junicode-Sup/regular/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{light}{n}{
- <-> alias * Junicode-Sup/l/n
+
+% ---- b = bold ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{bold}{it}{
+ <-> alias * Junicode-Sup/b/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{light}{it}{
- <-> alias * Junicode-Sup/l/it
+\DeclareFontShape{LY1}{Junicode-Sup}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{l}{sl}{
- <-> ssub * Junicode-Sup/l/it
+\DeclareFontShape{LY1}{Junicode-Sup}{bold}{n}{
+ <-> alias * Junicode-Sup/b/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{light}{sl}{
- <-> ssub * Junicode-Sup/light/it
+\DeclareFontShape{LY1}{Junicode-Sup}{b}{sl}{
+ <-> ssub * Junicode-Sup/b/it
}{}
+\DeclareFontShape{LY1}{Junicode-Sup}{bold}{sl}{
+ <-> ssub * Junicode-Sup/bold/it
+}{}
-% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-Sup}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-sup-ly1
+% ---- mediumcondensed ----
+
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{medium}{sl}{
- <-> ssub * Junicode-Sup/medium/it
+\DeclareFontShape{LY1}{Junicode-Sup}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-Sup/mediumcondensed/it
}{}
@@ -323,77 +365,43 @@
}{}
-% ---- m = regular ----
-
-\DeclareFontShape{LY1}{Junicode-Sup}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-Sup}{regular}{n}{
- <-> alias * Junicode-Sup/m/n
-}{}
-
-\DeclareFontShape{LY1}{Junicode-Sup}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-Sup}{regular}{it}{
- <-> alias * Junicode-Sup/m/it
-}{}
-
-\DeclareFontShape{LY1}{Junicode-Sup}{m}{sl}{
- <-> ssub * Junicode-Sup/m/it
-}{}
-
-\DeclareFontShape{LY1}{Junicode-Sup}{regular}{sl}{
- <-> ssub * Junicode-Sup/regular/it
-}{}
-
-
-% ---- bx = boldexpanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{LY1}{Junicode-Sup}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{boldexpanded}{n}{
- <-> alias * Junicode-Sup/bx/n
+\DeclareFontShape{LY1}{Junicode-Sup}{semicondensed}{n}{
+ <-> alias * Junicode-Sup/sc/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{boldexpanded}{it}{
- <-> alias * Junicode-Sup/bx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{semicondensed}{it}{
+ <-> alias * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{bx}{sl}{
- <-> ssub * Junicode-Sup/bx/it
+\DeclareFontShape{LY1}{Junicode-Sup}{sc}{sl}{
+ <-> ssub * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{boldexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldexpanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{semicondensed}{sl}{
+ <-> ssub * Junicode-Sup/semicondensed/it
}{}
-% ---- mediumsemiexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-ly1
-}{}
+% ---- sb = semibold ----
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-Sup}{semibold}{it}{
+ <-> alias * Junicode-Sup/sb/it
}{}
-
-% ---- sb = semibold ----
-
\DeclareFontShape{LY1}{Junicode-Sup}{sb}{n}{
<-> \Junicode@@scale Junicode-SmBold-sup-ly1
}{}
@@ -402,14 +410,6 @@
<-> alias * Junicode-Sup/sb/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-Sup}{semibold}{it}{
- <-> alias * Junicode-Sup/sb/it
-}{}
-
\DeclareFontShape{LY1}{Junicode-Sup}{sb}{sl}{
<-> ssub * Junicode-Sup/sb/it
}{}
@@ -419,57 +419,57 @@
}{}
-% ---- sc = semicondensed ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-Sup}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semicondensed}{it}{
- <-> alias * Junicode-Sup/sc/it
+\DeclareFontShape{LY1}{Junicode-Sup}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semicondensed}{n}{
- <-> alias * Junicode-Sup/sc/n
+\DeclareFontShape{LY1}{Junicode-Sup}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/bsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{sc}{sl}{
- <-> ssub * Junicode-Sup/sc/it
+\DeclareFontShape{LY1}{Junicode-Sup}{bsx}{sl}{
+ <-> ssub * Junicode-Sup/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{semicondensed}{sl}{
- <-> ssub * Junicode-Sup/semicondensed/it
+\DeclareFontShape{LY1}{Junicode-Sup}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldsemiexpanded/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LY1}{Junicode-Sup}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lightsemicondensed}{it}{
- <-> alias * Junicode-Sup/lsc/it
+\DeclareFontShape{LY1}{Junicode-Sup}{lightcondensed}{n}{
+ <-> alias * Junicode-Sup/lc/n
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-sup-ly1
+\DeclareFontShape{LY1}{Junicode-Sup}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-sup-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lightsemicondensed}{n}{
- <-> alias * Junicode-Sup/lsc/n
+\DeclareFontShape{LY1}{Junicode-Sup}{lightcondensed}{it}{
+ <-> alias * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lsc}{sl}{
- <-> ssub * Junicode-Sup/lsc/it
+\DeclareFontShape{LY1}{Junicode-Sup}{lc}{sl}{
+ <-> ssub * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-Sup}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-Sup/lightsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-Sup}{lightcondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TLF.fd b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TLF.fd
index 34f47d95621..9cabf8d170c 100644
--- a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TLF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TLF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LY1Junicode-TLF.fd}
- [2024/01/08 (autoinst) Font definitions for LY1/Junicode-TLF.]
+ [2024/06/03 (autoinst) Font definitions for LY1/Junicode-TLF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,272 +20,323 @@
\DeclareFontFamily{LY1}{Junicode-TLF}{}
-% ---- mediumsemicondensed ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbsx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/sbsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbsx/scit
}{}
+\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-ly1
+}{}
-% ---- m = regular ----
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/sbsx/it
+}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{regular}{scit}{
- <-> alias * Junicode-TLF/m/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{sl}{
+ <-> ssub * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{regular}{it}{
- <-> alias * Junicode-TLF/m/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tlf-ly1
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{regular}{n}{
- <-> alias * Junicode-TLF/m/n
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{regular}{sc}{
- <-> alias * Junicode-TLF/m/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{m}{scsl}{
- <-> ssub * Junicode-TLF/m/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{regular}{scsl}{
- <-> ssub * Junicode-TLF/regular/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{m}{sl}{
- <-> ssub * Junicode-TLF/m/it
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{regular}{sl}{
- <-> ssub * Junicode-TLF/regular/it
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-ly1
}{}
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-ly1
+}{}
-% ---- bx = boldexpanded ----
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-ly1
+}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{scit}{
- <-> alias * Junicode-TLF/bx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-ly1
+
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-TLF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{it}{
- <-> alias * Junicode-TLF/bx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{it}{
+ <-> alias * Junicode-TLF/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{n}{
- <-> alias * Junicode-TLF/bx/n
+\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{sc}{
- <-> alias * Junicode-TLF/bx/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{n}{
+ <-> alias * Junicode-TLF/sx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bx}{scsl}{
- <-> ssub * Junicode-TLF/bx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bx}{sl}{
- <-> ssub * Junicode-TLF/bx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{sx}{scsl}{
+ <-> ssub * Junicode-TLF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiexpanded/scit
}{}
+\DeclareFontShape{LY1}{Junicode-TLF}{sx}{sl}{
+ <-> ssub * Junicode-TLF/sx/it
+}{}
-% ---- l = light ----
+\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiexpanded/it
+}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tlf-sc-ly1
+
+% ---- c = condensed ----
+
+\DeclareFontShape{LY1}{Junicode-TLF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{light}{sc}{
- <-> alias * Junicode-TLF/l/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{it}{
+ <-> alias * Junicode-TLF/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{light}{n}{
- <-> alias * Junicode-TLF/l/n
+\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{scit}{
+ <-> alias * Junicode-TLF/c/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{light}{it}{
- <-> alias * Junicode-TLF/l/it
+\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{n}{
+ <-> alias * Junicode-TLF/c/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{light}{scit}{
- <-> alias * Junicode-TLF/l/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{sc}{
+ <-> alias * Junicode-TLF/c/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{l}{scsl}{
- <-> ssub * Junicode-TLF/l/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{c}{scsl}{
+ <-> ssub * Junicode-TLF/c/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{light}{scsl}{
- <-> ssub * Junicode-TLF/light/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{scsl}{
+ <-> ssub * Junicode-TLF/condensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{l}{sl}{
- <-> ssub * Junicode-TLF/l/it
+\DeclareFontShape{LY1}{Junicode-TLF}{c}{sl}{
+ <-> ssub * Junicode-TLF/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{light}{sl}{
- <-> ssub * Junicode-TLF/light/it
+\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{sl}{
+ <-> ssub * Junicode-TLF/condensed/it
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- x = expanded ----
-\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-TLF/sbx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{sc}{
+ <-> alias * Junicode-TLF/x/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-TLF/sbx/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{n}{
+ <-> alias * Junicode-TLF/x/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TLF/sbx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{scit}{
+ <-> alias * Junicode-TLF/x/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TLF/sbx/n
+\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{it}{
+ <-> alias * Junicode-TLF/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{scsl}{
- <-> ssub * Junicode-TLF/sbx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{x}{scsl}{
+ <-> ssub * Junicode-TLF/x/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{scsl}{
+ <-> ssub * Junicode-TLF/expanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{sl}{
- <-> ssub * Junicode-TLF/sbx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{x}{sl}{
+ <-> ssub * Junicode-TLF/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{sl}{
+ <-> ssub * Junicode-TLF/expanded/it
}{}
-% ---- medium ----
+% ---- m = regular ----
-\DeclareFontShape{LY1}{Junicode-TLF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{regular}{it}{
+ <-> alias * Junicode-TLF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{regular}{scit}{
+ <-> alias * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{medium}{scsl}{
- <-> ssub * Junicode-TLF/medium/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{medium}{sl}{
- <-> ssub * Junicode-TLF/medium/it
+\DeclareFontShape{LY1}{Junicode-TLF}{regular}{n}{
+ <-> alias * Junicode-TLF/m/n
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TLF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TLF}{regular}{sc}{
+ <-> alias * Junicode-TLF/m/sc
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TLF}{m}{scsl}{
+ <-> ssub * Junicode-TLF/m/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TLF}{regular}{scsl}{
+ <-> ssub * Junicode-TLF/regular/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TLF}{m}{sl}{
+ <-> ssub * Junicode-TLF/m/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TLF}{regular}{sl}{
+ <-> ssub * Junicode-TLF/regular/it
}{}
% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-TLF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TLF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TLF/lsc/n
}{}
\DeclareFontShape{LY1}{Junicode-TLF}{lsc}{sc}{
@@ -304,12 +355,12 @@
<-> alias * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TLF/lsc/n
+\DeclareFontShape{LY1}{Junicode-TLF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TLF/lsc/scit
}{}
\DeclareFontShape{LY1}{Junicode-TLF}{lsc}{scsl}{
@@ -329,188 +380,172 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{medium}{scsl}{
+ <-> ssub * Junicode-TLF/medium/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{medium}{sl}{
+ <-> ssub * Junicode-TLF/medium/it
}{}
-% ---- sb = semibold ----
+% ---- l = light ----
-\DeclareFontShape{LY1}{Junicode-TLF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{sc}{
- <-> alias * Junicode-TLF/sb/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{light}{it}{
+ <-> alias * Junicode-TLF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{it}{
- <-> alias * Junicode-TLF/sb/it
+\DeclareFontShape{LY1}{Junicode-TLF}{light}{scit}{
+ <-> alias * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{n}{
- <-> alias * Junicode-TLF/sb/n
+\DeclareFontShape{LY1}{Junicode-TLF}{light}{n}{
+ <-> alias * Junicode-TLF/l/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{scit}{
- <-> alias * Junicode-TLF/sb/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{light}{sc}{
+ <-> alias * Junicode-TLF/l/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sb}{scsl}{
- <-> ssub * Junicode-TLF/sb/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{l}{scsl}{
+ <-> ssub * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{scsl}{
- <-> ssub * Junicode-TLF/semibold/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{light}{scsl}{
+ <-> ssub * Junicode-TLF/light/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sb}{sl}{
- <-> ssub * Junicode-TLF/sb/it
+\DeclareFontShape{LY1}{Junicode-TLF}{l}{sl}{
+ <-> ssub * Junicode-TLF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{sl}{
- <-> ssub * Junicode-TLF/semibold/it
+\DeclareFontShape{LY1}{Junicode-TLF}{light}{sl}{
+ <-> ssub * Junicode-TLF/light/it
}{}
-% ---- sc = semicondensed ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LY1}{Junicode-TLF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{it}{
- <-> alias * Junicode-TLF/sc/it
+\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TLF/bx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{n}{
- <-> alias * Junicode-TLF/sc/n
+\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{n}{
+ <-> alias * Junicode-TLF/bx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{sc}{
- <-> alias * Junicode-TLF/sc/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{scit}{
- <-> alias * Junicode-TLF/sc/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{it}{
+ <-> alias * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sc}{scsl}{
- <-> ssub * Junicode-TLF/sc/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{bx}{scsl}{
+ <-> ssub * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{scsl}{
- <-> ssub * Junicode-TLF/semicondensed/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sc}{sl}{
- <-> ssub * Junicode-TLF/sc/it
+\DeclareFontShape{LY1}{Junicode-TLF}{bx}{sl}{
+ <-> ssub * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{sl}{
- <-> ssub * Junicode-TLF/semicondensed/it
+\DeclareFontShape{LY1}{Junicode-TLF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldexpanded/it
}{}
-% ---- lc = lightcondensed ----
-
-\DeclareFontShape{LY1}{Junicode-TLF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{scit}{
- <-> alias * Junicode-TLF/lc/scit
-}{}
+% ---- mediumcondensed ----
-\DeclareFontShape{LY1}{Junicode-TLF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{it}{
- <-> alias * Junicode-TLF/lc/it
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{n}{
- <-> alias * Junicode-TLF/lc/n
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{sc}{
- <-> alias * Junicode-TLF/lc/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lc}{scsl}{
- <-> ssub * Junicode-TLF/lc/scit
-}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightcondensed/scit
-}{}
+% ---- b = bold ----
-\DeclareFontShape{LY1}{Junicode-TLF}{lc}{sl}{
- <-> ssub * Junicode-TLF/lc/it
+\DeclareFontShape{LY1}{Junicode-TLF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TLF/lightcondensed/it
+\DeclareFontShape{LY1}{Junicode-TLF}{bold}{n}{
+ <-> alias * Junicode-TLF/b/n
}{}
-
-% ---- b = bold ----
-
\DeclareFontShape{LY1}{Junicode-TLF}{b}{sc}{
<-> \Junicode@@scale Junicode-Bold-tlf-sc-ly1
}{}
@@ -519,14 +554,6 @@
<-> alias * Junicode-TLF/b/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tlf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{bold}{n}{
- <-> alias * Junicode-TLF/b/n
-}{}
-
\DeclareFontShape{LY1}{Junicode-TLF}{b}{it}{
<-> \Junicode@@scale Junicode-BoldItalic-tlf-ly1
}{}
@@ -560,312 +587,285 @@
}{}
-% ---- mediumcondensed ----
-
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumcondensed/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumcondensed/it
-}{}
-
-
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/sbsx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/bsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/sbsx/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/bsx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/sbsx/n
+\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/sbsx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/bsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{scsl}{
- <-> ssub * Junicode-TLF/sbsx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{scsl}{
+ <-> ssub * Junicode-TLF/bsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sbsx}{sl}{
- <-> ssub * Junicode-TLF/sbsx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{sl}{
+ <-> ssub * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/bsx/n
+\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TLF/lc/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/bsx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{n}{
+ <-> alias * Junicode-TLF/lc/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/bsx/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/bsx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{it}{
+ <-> alias * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{scsl}{
- <-> ssub * Junicode-TLF/bsx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{lc}{scsl}{
+ <-> ssub * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{bsx}{sl}{
- <-> ssub * Junicode-TLF/bsx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{lc}{sl}{
+ <-> ssub * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightcondensed/it
}{}
-% ---- sx = semiexpanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{LY1}{Junicode-TLF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{sc}{
- <-> alias * Junicode-TLF/sx/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{n}{
+ <-> alias * Junicode-TLF/sc/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{n}{
- <-> alias * Junicode-TLF/sx/n
+\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{sc}{
+ <-> alias * Junicode-TLF/sc/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{it}{
- <-> alias * Junicode-TLF/sx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{it}{
+ <-> alias * Junicode-TLF/sc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{scit}{
- <-> alias * Junicode-TLF/sx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{scit}{
+ <-> alias * Junicode-TLF/sc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sx}{scsl}{
- <-> ssub * Junicode-TLF/sx/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{sc}{scsl}{
+ <-> ssub * Junicode-TLF/sc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/semicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{sx}{sl}{
- <-> ssub * Junicode-TLF/sx/it
+\DeclareFontShape{LY1}{Junicode-TLF}{sc}{sl}{
+ <-> ssub * Junicode-TLF/sc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semicondensed}{sl}{
+ <-> ssub * Junicode-TLF/semicondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- sb = semibold ----
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{sc}{
+ <-> alias * Junicode-TLF/sb/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{n}{
+ <-> alias * Junicode-TLF/sb/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TLF/mediumexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumexpanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{scit}{
+ <-> alias * Junicode-TLF/sb/scit
}{}
-
-% ---- c = condensed ----
-
-\DeclareFontShape{LY1}{Junicode-TLF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{n}{
- <-> alias * Junicode-TLF/c/n
+\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{it}{
+ <-> alias * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sb}{scsl}{
+ <-> ssub * Junicode-TLF/sb/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{it}{
- <-> alias * Junicode-TLF/c/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{scsl}{
+ <-> ssub * Junicode-TLF/semibold/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sb}{sl}{
+ <-> ssub * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{sc}{
- <-> alias * Junicode-TLF/c/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{semibold}{sl}{
+ <-> ssub * Junicode-TLF/semibold/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-ly1
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{scit}{
- <-> alias * Junicode-TLF/c/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{c}{scsl}{
- <-> ssub * Junicode-TLF/c/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{scsl}{
- <-> ssub * Junicode-TLF/condensed/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{c}{sl}{
- <-> ssub * Junicode-TLF/c/it
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{condensed}{sl}{
- <-> ssub * Junicode-TLF/condensed/it
+\DeclareFontShape{LY1}{Junicode-TLF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/it
}{}
-% ---- x = expanded ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{LY1}{Junicode-TLF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{it}{
- <-> alias * Junicode-TLF/x/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tlf-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{n}{
- <-> alias * Junicode-TLF/x/n
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{sc}{
- <-> alias * Junicode-TLF/x/sc
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{scit}{
- <-> alias * Junicode-TLF/x/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TLF/sbx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{x}{scsl}{
- <-> ssub * Junicode-TLF/x/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{scsl}{
+ <-> ssub * Junicode-TLF/sbx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{scsl}{
- <-> ssub * Junicode-TLF/expanded/scit
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{x}{sl}{
- <-> ssub * Junicode-TLF/x/it
+\DeclareFontShape{LY1}{Junicode-TLF}{sbx}{sl}{
+ <-> ssub * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TLF}{expanded}{sl}{
- <-> ssub * Junicode-TLF/expanded/it
+\DeclareFontShape{LY1}{Junicode-TLF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TOsF.fd b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TOsF.fd
index 6764600c373..b9e848b1a19 100644
--- a/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/LY1Junicode-TOsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{LY1Junicode-TOsF.fd}
- [2024/01/08 (autoinst) Font definitions for LY1/Junicode-TOsF.]
+ [2024/06/03 (autoinst) Font definitions for LY1/Junicode-TOsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,341 +20,301 @@
\DeclareFontFamily{LY1}{Junicode-TOsF}{}
-% ---- sx = semiexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{scit}{
- <-> alias * Junicode-TOsF/sx/scit
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{sc}{
- <-> alias * Junicode-TOsF/sx/sc
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{n}{
- <-> alias * Junicode-TOsF/sx/n
-}{}
+% ---- medium ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{it}{
- <-> alias * Junicode-TOsF/sx/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{scsl}{
- <-> ssub * Junicode-TOsF/sx/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{sl}{
- <-> ssub * Junicode-TOsF/sx/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{scsl}{
+ <-> ssub * Junicode-TOsF/medium/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{sl}{
+ <-> ssub * Junicode-TOsF/medium/it
}{}
-% ---- c = condensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{scit}{
- <-> alias * Junicode-TOsF/c/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{n}{
- <-> alias * Junicode-TOsF/c/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TOsF/lsc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{it}{
- <-> alias * Junicode-TOsF/c/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TOsF/lsc/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{sc}{
- <-> alias * Junicode-TOsF/c/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TOsF/lsc/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{c}{scsl}{
- <-> ssub * Junicode-TOsF/c/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{scsl}{
+ <-> ssub * Junicode-TOsF/lsc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{scsl}{
- <-> ssub * Junicode-TOsF/condensed/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{c}{sl}{
- <-> ssub * Junicode-TOsF/c/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{sl}{
+ <-> ssub * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{sl}{
- <-> ssub * Junicode-TOsF/condensed/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/it
}{}
-% ---- x = expanded ----
+% ---- m = regular ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{it}{
- <-> alias * Junicode-TOsF/x/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{sc}{
+ <-> alias * Junicode-TOsF/m/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{n}{
- <-> alias * Junicode-TOsF/x/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{n}{
+ <-> alias * Junicode-TOsF/m/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{sc}{
- <-> alias * Junicode-TOsF/x/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{scit}{
+ <-> alias * Junicode-TOsF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{scit}{
- <-> alias * Junicode-TOsF/x/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{it}{
+ <-> alias * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{x}{scsl}{
- <-> ssub * Junicode-TOsF/x/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{m}{scsl}{
+ <-> ssub * Junicode-TOsF/m/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{scsl}{
- <-> ssub * Junicode-TOsF/expanded/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{scsl}{
+ <-> ssub * Junicode-TOsF/regular/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{x}{sl}{
- <-> ssub * Junicode-TOsF/x/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{m}{sl}{
+ <-> ssub * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{sl}{
- <-> ssub * Junicode-TOsF/expanded/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{sl}{
+ <-> ssub * Junicode-TOsF/regular/it
}{}
-% ---- mediumexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{it}{
+ <-> alias * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{n}{
+ <-> alias * Junicode-TOsF/bx/n
}{}
-
-% ---- b = bold ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{sc}{
- <-> alias * Junicode-TOsF/b/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{scsl}{
+ <-> ssub * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{it}{
- <-> alias * Junicode-TOsF/b/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{sl}{
+ <-> ssub * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{n}{
- <-> alias * Junicode-TOsF/b/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-ly1
-}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{scit}{
- <-> alias * Junicode-TOsF/b/scit
-}{}
+% ---- l = light ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{b}{scsl}{
- <-> ssub * Junicode-TOsF/b/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{scsl}{
- <-> ssub * Junicode-TOsF/bold/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{light}{n}{
+ <-> alias * Junicode-TOsF/l/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{b}{sl}{
- <-> ssub * Junicode-TOsF/b/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{sl}{
- <-> ssub * Junicode-TOsF/bold/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{light}{sc}{
+ <-> alias * Junicode-TOsF/l/sc
}{}
-
-% ---- lc = lightcondensed ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{scit}{
- <-> alias * Junicode-TOsF/lc/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{light}{it}{
+ <-> alias * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{n}{
- <-> alias * Junicode-TOsF/lc/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{light}{scit}{
+ <-> alias * Junicode-TOsF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{l}{scsl}{
+ <-> ssub * Junicode-TOsF/l/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{it}{
- <-> alias * Junicode-TOsF/lc/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{light}{scsl}{
+ <-> ssub * Junicode-TOsF/light/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{l}{sl}{
+ <-> ssub * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{sc}{
- <-> alias * Junicode-TOsF/lc/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{light}{sl}{
+ <-> ssub * Junicode-TOsF/light/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{scsl}{
- <-> ssub * Junicode-TOsF/lc/scit
-}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightcondensed/scit
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{sl}{
- <-> ssub * Junicode-TOsF/lc/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightcondensed/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-ly1
}{}
-
-% ---- bsx = boldsemiexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/bsx/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/bsx/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-ly1
-}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-TOsF/bsx/sc
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-TOsF/bsx/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{scsl}{
- <-> ssub * Junicode-TOsF/bsx/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{sl}{
- <-> ssub * Junicode-TOsF/bsx/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/it
}{}
% ---- sbsx = semiboldsemiexpanded ----
+\DeclareFontShape{LY1}{Junicode-TOsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbsx/n
+}{}
+
\DeclareFontShape{LY1}{Junicode-TOsF}{sbsx}{sc}{
<-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-ly1
}{}
@@ -371,14 +331,6 @@
<-> alias * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/sbsx/n
-}{}
-
\DeclareFontShape{LY1}{Junicode-TOsF}{sbsx}{scit}{
<-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-ly1
}{}
@@ -404,143 +356,167 @@
}{}
-% ---- mediumcondensed ----
+% ---- x = expanded ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{sc}{
+ <-> alias * Junicode-TOsF/x/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{n}{
+ <-> alias * Junicode-TOsF/x/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{scit}{
+ <-> alias * Junicode-TOsF/x/scit
}{}
+\DeclareFontShape{LY1}{Junicode-TOsF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-ly1
+}{}
-% ---- lsc = lightsemicondensed ----
+\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{it}{
+ <-> alias * Junicode-TOsF/x/it
+}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{x}{scsl}{
+ <-> ssub * Junicode-TOsF/x/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TOsF/lsc/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{scsl}{
+ <-> ssub * Junicode-TOsF/expanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{x}{sl}{
+ <-> ssub * Junicode-TOsF/x/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TOsF/lsc/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{expanded}{sl}{
+ <-> ssub * Junicode-TOsF/expanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-ly1
+
+% ---- c = condensed ----
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TOsF/lsc/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{it}{
+ <-> alias * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TOsF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{scit}{
+ <-> alias * Junicode-TOsF/c/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{scsl}{
- <-> ssub * Junicode-TOsF/lsc/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{n}{
+ <-> alias * Junicode-TOsF/c/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lsc}{sl}{
- <-> ssub * Junicode-TOsF/lsc/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{sc}{
+ <-> alias * Junicode-TOsF/c/sc
}{}
+\DeclareFontShape{LY1}{Junicode-TOsF}{c}{scsl}{
+ <-> ssub * Junicode-TOsF/c/scit
+}{}
-% ---- sb = semibold ----
+\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{scsl}{
+ <-> ssub * Junicode-TOsF/condensed/scit
+}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{c}{sl}{
+ <-> ssub * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{scit}{
- <-> alias * Junicode-TOsF/sb/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{condensed}{sl}{
+ <-> ssub * Junicode-TOsF/condensed/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-ly1
+
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{it}{
- <-> alias * Junicode-TOsF/sb/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{n}{
- <-> alias * Junicode-TOsF/sb/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{sc}{
- <-> alias * Junicode-TOsF/sb/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{scsl}{
- <-> ssub * Junicode-TOsF/sb/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{scsl}{
- <-> ssub * Junicode-TOsF/semibold/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{sl}{
- <-> ssub * Junicode-TOsF/sb/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{scsl}{
+ <-> ssub * Junicode-TOsF/sx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{sl}{
- <-> ssub * Junicode-TOsF/semibold/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{sx}{sl}{
+ <-> ssub * Junicode-TOsF/sx/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/it
}{}
% ---- sc = semicondensed ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semicondensed}{scit}{
- <-> alias * Junicode-TOsF/sc/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{semicondensed}{n}{
+ <-> alias * Junicode-TOsF/sc/n
}{}
\DeclareFontShape{LY1}{Junicode-TOsF}{sc}{sc}{
@@ -559,12 +535,12 @@
<-> alias * Junicode-TOsF/sc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{semicondensed}{n}{
- <-> alias * Junicode-TOsF/sc/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{semicondensed}{scit}{
+ <-> alias * Junicode-TOsF/sc/scit
}{}
\DeclareFontShape{LY1}{Junicode-TOsF}{sc}{scsl}{
@@ -584,190 +560,168 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- sb = semibold ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{n}{
+ <-> alias * Junicode-TOsF/sb/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{sc}{
+ <-> alias * Junicode-TOsF/sb/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{it}{
+ <-> alias * Junicode-TOsF/sb/it
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{sc}{
- <-> alias * Junicode-TOsF/m/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{scit}{
+ <-> alias * Junicode-TOsF/sb/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{scsl}{
+ <-> ssub * Junicode-TOsF/sb/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{it}{
- <-> alias * Junicode-TOsF/m/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{scsl}{
+ <-> ssub * Junicode-TOsF/semibold/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{sb}{sl}{
+ <-> ssub * Junicode-TOsF/sb/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{n}{
- <-> alias * Junicode-TOsF/m/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{semibold}{sl}{
+ <-> ssub * Junicode-TOsF/semibold/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tosf-sc-ly1
-}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{scit}{
- <-> alias * Junicode-TOsF/m/scit
-}{}
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{m}{scsl}{
- <-> ssub * Junicode-TOsF/m/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{scsl}{
- <-> ssub * Junicode-TOsF/regular/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{m}{sl}{
- <-> ssub * Junicode-TOsF/m/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{regular}{sl}{
- <-> ssub * Junicode-TOsF/regular/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/bsx/it
}{}
-
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{sc}{
- <-> alias * Junicode-TOsF/bx/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bsx/sc
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{it}{
- <-> alias * Junicode-TOsF/bx/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/bsx/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{scsl}{
+ <-> ssub * Junicode-TOsF/bsx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{n}{
- <-> alias * Junicode-TOsF/bx/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{bsx}{sl}{
+ <-> ssub * Junicode-TOsF/bsx/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{scit}{
- <-> alias * Junicode-TOsF/bx/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{scsl}{
- <-> ssub * Junicode-TOsF/bx/scit
-}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldexpanded/scit
-}{}
+% ---- lc = lightcondensed ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{bx}{sl}{
- <-> ssub * Junicode-TOsF/bx/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldexpanded/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{it}{
+ <-> alias * Junicode-TOsF/lc/it
}{}
-
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TOsF/lc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{n}{
+ <-> alias * Junicode-TOsF/lc/n
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TOsF/lc/sc
}{}
-
-% ---- medium ----
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{scsl}{
+ <-> ssub * Junicode-TOsF/lc/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lc}{sl}{
+ <-> ssub * Junicode-TOsF/lc/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{scsl}{
- <-> ssub * Junicode-TOsF/medium/scit
-}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{medium}{sl}{
- <-> ssub * Junicode-TOsF/medium/it
-}{}
+% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{LY1}{Junicode-TOsF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-ly1
+}{}
-% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{LY1}{Junicode-TOsF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbx/it
+}{}
\DeclareFontShape{LY1}{Junicode-TOsF}{sbx}{scit}{
<-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-sc-ly1
@@ -777,14 +731,6 @@
<-> alias * Junicode-TOsF/sbx/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-ly1
-}{}
-
-\DeclareFontShape{LY1}{Junicode-TOsF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TOsF/sbx/it
-}{}
-
\DeclareFontShape{LY1}{Junicode-TOsF}{sbx}{n}{
<-> \Junicode@@scale Junicode-ExpSmBold-tosf-ly1
}{}
@@ -818,54 +764,108 @@
}{}
-% ---- l = light ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{LY1}{Junicode-TOsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tosf-sc-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{light}{sc}{
- <-> alias * Junicode-TOsF/l/sc
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{light}{it}{
- <-> alias * Junicode-TOsF/l/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tosf-ly1
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{light}{n}{
- <-> alias * Junicode-TOsF/l/n
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/it
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-sc-ly1
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{light}{scit}{
- <-> alias * Junicode-TOsF/l/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{l}{scsl}{
- <-> ssub * Junicode-TOsF/l/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{light}{scsl}{
- <-> ssub * Junicode-TOsF/light/scit
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-ly1
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{l}{sl}{
- <-> ssub * Junicode-TOsF/l/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/scit
}{}
-\DeclareFontShape{LY1}{Junicode-TOsF}{light}{sl}{
- <-> ssub * Junicode-TOsF/light/it
+\DeclareFontShape{LY1}{Junicode-TOsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{n}{
+ <-> alias * Junicode-TOsF/b/n
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{sc}{
+ <-> alias * Junicode-TOsF/b/sc
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{it}{
+ <-> alias * Junicode-TOsF/b/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{scit}{
+ <-> alias * Junicode-TOsF/b/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{b}{scsl}{
+ <-> ssub * Junicode-TOsF/b/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{scsl}{
+ <-> ssub * Junicode-TOsF/bold/scit
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{b}{sl}{
+ <-> ssub * Junicode-TOsF/b/it
+}{}
+
+\DeclareFontShape{LY1}{Junicode-TOsF}{bold}{sl}{
+ <-> ssub * Junicode-TOsF/bold/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Inf.fd b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Inf.fd
index 87e831fe7c5..bb6dc563984 100644
--- a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Inf.fd
+++ b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Inf.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{OT1Junicode-Inf.fd}
- [2024/01/08 (autoinst) Font definitions for OT1/Junicode-Inf.]
+ [2024/06/03 (autoinst) Font definitions for OT1/Junicode-Inf.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,112 +20,89 @@
\DeclareFontFamily{OT1}{Junicode-Inf}{}
-% ---- sx = semiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-Inf}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-inf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Inf}{semiexpanded}{it}{
- <-> alias * Junicode-Inf/sx/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Inf}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-inf-ot1
-}{}
+% ---- sb = semibold ----
-\DeclareFontShape{OT1}{Junicode-Inf}{semiexpanded}{n}{
- <-> alias * Junicode-Inf/sx/n
+\DeclareFontShape{OT1}{Junicode-Inf}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sx}{sl}{
- <-> ssub * Junicode-Inf/sx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semibold}{it}{
+ <-> alias * Junicode-Inf/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-inf-ot1
}{}
-
-% ---- mediumexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{semibold}{n}{
+ <-> alias * Junicode-Inf/sb/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sb}{sl}{
+ <-> ssub * Junicode-Inf/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semibold}{sl}{
+ <-> ssub * Junicode-Inf/semibold/it
}{}
-% ---- x = expanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{OT1}{Junicode-Inf}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{expanded}{it}{
- <-> alias * Junicode-Inf/x/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semicondensed}{n}{
+ <-> alias * Junicode-Inf/sc/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{expanded}{n}{
- <-> alias * Junicode-Inf/x/n
+\DeclareFontShape{OT1}{Junicode-Inf}{semicondensed}{it}{
+ <-> alias * Junicode-Inf/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{x}{sl}{
- <-> ssub * Junicode-Inf/x/it
+\DeclareFontShape{OT1}{Junicode-Inf}{sc}{sl}{
+ <-> ssub * Junicode-Inf/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{expanded}{sl}{
- <-> ssub * Junicode-Inf/expanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semicondensed}{sl}{
+ <-> ssub * Junicode-Inf/semicondensed/it
}{}
-% ---- c = condensed ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{condensed}{it}{
- <-> alias * Junicode-Inf/c/it
+\DeclareFontShape{OT1}{Junicode-Inf}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/bsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{condensed}{n}{
- <-> alias * Junicode-Inf/c/n
+\DeclareFontShape{OT1}{Junicode-Inf}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{c}{sl}{
- <-> ssub * Junicode-Inf/c/it
+\DeclareFontShape{OT1}{Junicode-Inf}{bsx}{sl}{
+ <-> ssub * Junicode-Inf/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{condensed}{sl}{
- <-> ssub * Junicode-Inf/condensed/it
+\DeclareFontShape{OT1}{Junicode-Inf}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldsemiexpanded/it
}{}
% ---- lc = lightcondensed ----
-\DeclareFontShape{OT1}{Junicode-Inf}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-inf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Inf}{lightcondensed}{n}{
- <-> alias * Junicode-Inf/lc/n
-}{}
-
\DeclareFontShape{OT1}{Junicode-Inf}{lc}{it}{
<-> \Junicode@@scale Junicode-CondLightItalic-inf-ot1
}{}
@@ -134,6 +111,14 @@
<-> alias * Junicode-Inf/lc/it
}{}
+\DeclareFontShape{OT1}{Junicode-Inf}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-inf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Inf}{lightcondensed}{n}{
+ <-> alias * Junicode-Inf/lc/n
+}{}
+
\DeclareFontShape{OT1}{Junicode-Inf}{lc}{sl}{
<-> ssub * Junicode-Inf/lc/it
}{}
@@ -143,30 +128,45 @@
}{}
-% ---- b = bold ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bold}{n}{
- <-> alias * Junicode-Inf/b/n
+\DeclareFontShape{OT1}{Junicode-Inf}{semiboldexpanded}{n}{
+ <-> alias * Junicode-Inf/sbx/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bold}{it}{
- <-> alias * Junicode-Inf/b/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semiboldexpanded}{it}{
+ <-> alias * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{b}{sl}{
- <-> ssub * Junicode-Inf/b/it
+\DeclareFontShape{OT1}{Junicode-Inf}{sbx}{sl}{
+ <-> ssub * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bold}{sl}{
- <-> ssub * Junicode-Inf/bold/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldexpanded/it
+}{}
+
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-inf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemicondensed/it
}{}
@@ -185,57 +185,45 @@
}{}
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-Inf}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-inf-ot1
-}{}
+% ---- b = bold ----
-\DeclareFontShape{OT1}{Junicode-Inf}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/sbsx/n
+\DeclareFontShape{OT1}{Junicode-Inf}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{bold}{it}{
+ <-> alias * Junicode-Inf/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/sbsx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sbsx}{sl}{
- <-> ssub * Junicode-Inf/sbsx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{bold}{n}{
+ <-> alias * Junicode-Inf/b/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{b}{sl}{
+ <-> ssub * Junicode-Inf/b/it
}{}
-
-% ---- bsx = boldsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-Inf}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{bold}{sl}{
+ <-> ssub * Junicode-Inf/bold/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/bsx/n
-}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-ot1
-}{}
+% ---- medium ----
-\DeclareFontShape{OT1}{Junicode-Inf}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/bsx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bsx}{sl}{
- <-> ssub * Junicode-Inf/bsx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{medium}{sl}{
+ <-> ssub * Junicode-Inf/medium/it
}{}
@@ -266,210 +254,222 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- m = regular ----
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{regular}{it}{
+ <-> alias * Junicode-Inf/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-inf-ot1
}{}
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{OT1}{Junicode-Inf}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{regular}{n}{
+ <-> alias * Junicode-Inf/m/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semibold}{it}{
- <-> alias * Junicode-Inf/sb/it
+\DeclareFontShape{OT1}{Junicode-Inf}{m}{sl}{
+ <-> ssub * Junicode-Inf/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{regular}{sl}{
+ <-> ssub * Junicode-Inf/regular/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semibold}{n}{
- <-> alias * Junicode-Inf/sb/n
-}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sb}{sl}{
- <-> ssub * Junicode-Inf/sb/it
-}{}
+% ---- bx = boldexpanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{semibold}{sl}{
- <-> ssub * Junicode-Inf/semibold/it
+\DeclareFontShape{OT1}{Junicode-Inf}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-ot1
}{}
-
-% ---- sc = semicondensed ----
-
-\DeclareFontShape{OT1}{Junicode-Inf}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{boldexpanded}{it}{
+ <-> alias * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semicondensed}{n}{
- <-> alias * Junicode-Inf/sc/n
+\DeclareFontShape{OT1}{Junicode-Inf}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{boldexpanded}{n}{
+ <-> alias * Junicode-Inf/bx/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semicondensed}{it}{
- <-> alias * Junicode-Inf/sc/it
+\DeclareFontShape{OT1}{Junicode-Inf}{bx}{sl}{
+ <-> ssub * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sc}{sl}{
- <-> ssub * Junicode-Inf/sc/it
+\DeclareFontShape{OT1}{Junicode-Inf}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semicondensed}{sl}{
- <-> ssub * Junicode-Inf/semicondensed/it
+
+% ---- l = light ----
+
+\DeclareFontShape{OT1}{Junicode-Inf}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-inf-ot1
}{}
+\DeclareFontShape{OT1}{Junicode-Inf}{light}{it}{
+ <-> alias * Junicode-Inf/l/it
+}{}
-% ---- mediumsemicondensed ----
+\DeclareFontShape{OT1}{Junicode-Inf}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-inf-ot1
+}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{light}{n}{
+ <-> alias * Junicode-Inf/l/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{l}{sl}{
+ <-> ssub * Junicode-Inf/l/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-Inf/mediumsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-Inf}{light}{sl}{
+ <-> ssub * Junicode-Inf/light/it
}{}
-% ---- m = regular ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{regular}{n}{
- <-> alias * Junicode-Inf/m/n
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{regular}{it}{
- <-> alias * Junicode-Inf/m/it
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{m}{sl}{
- <-> ssub * Junicode-Inf/m/it
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{regular}{sl}{
- <-> ssub * Junicode-Inf/regular/it
+\DeclareFontShape{OT1}{Junicode-Inf}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumexpanded/it
}{}
-% ---- bx = boldexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{boldexpanded}{n}{
- <-> alias * Junicode-Inf/bx/n
+\DeclareFontShape{OT1}{Junicode-Inf}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/sbsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{boldexpanded}{it}{
- <-> alias * Junicode-Inf/bx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{bx}{sl}{
- <-> ssub * Junicode-Inf/bx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{sbsx}{sl}{
+ <-> ssub * Junicode-Inf/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{boldexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldsemiexpanded/it
}{}
-% ---- l = light ----
+% ---- c = condensed ----
-\DeclareFontShape{OT1}{Junicode-Inf}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{light}{n}{
- <-> alias * Junicode-Inf/l/n
+\DeclareFontShape{OT1}{Junicode-Inf}{condensed}{n}{
+ <-> alias * Junicode-Inf/c/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{light}{it}{
- <-> alias * Junicode-Inf/l/it
+\DeclareFontShape{OT1}{Junicode-Inf}{condensed}{it}{
+ <-> alias * Junicode-Inf/c/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{l}{sl}{
- <-> ssub * Junicode-Inf/l/it
+\DeclareFontShape{OT1}{Junicode-Inf}{c}{sl}{
+ <-> ssub * Junicode-Inf/c/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{light}{sl}{
- <-> ssub * Junicode-Inf/light/it
+\DeclareFontShape{OT1}{Junicode-Inf}{condensed}{sl}{
+ <-> ssub * Junicode-Inf/condensed/it
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- x = expanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semiboldexpanded}{it}{
- <-> alias * Junicode-Inf/sbx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{expanded}{n}{
+ <-> alias * Junicode-Inf/x/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semiboldexpanded}{n}{
- <-> alias * Junicode-Inf/sbx/n
+\DeclareFontShape{OT1}{Junicode-Inf}{expanded}{it}{
+ <-> alias * Junicode-Inf/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{sbx}{sl}{
- <-> ssub * Junicode-Inf/sbx/it
+\DeclareFontShape{OT1}{Junicode-Inf}{x}{sl}{
+ <-> ssub * Junicode-Inf/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldexpanded/it
+\DeclareFontShape{OT1}{Junicode-Inf}{expanded}{sl}{
+ <-> ssub * Junicode-Inf/expanded/it
}{}
-% ---- medium ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{OT1}{Junicode-Inf}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-inf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-inf-ot1
+\DeclareFontShape{OT1}{Junicode-Inf}{semiexpanded}{n}{
+ <-> alias * Junicode-Inf/sx/n
}{}
-\DeclareFontShape{OT1}{Junicode-Inf}{medium}{sl}{
- <-> ssub * Junicode-Inf/medium/it
+\DeclareFontShape{OT1}{Junicode-Inf}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-inf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Inf}{semiexpanded}{it}{
+ <-> alias * Junicode-Inf/sx/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Inf}{sx}{sl}{
+ <-> ssub * Junicode-Inf/sx/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Inf}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-LF.fd b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-LF.fd
index 494ed505638..a04c33f8827 100644
--- a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-LF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{OT1Junicode-LF.fd}
- [2024/01/08 (autoinst) Font definitions for OT1/Junicode-LF.]
+ [2024/06/03 (autoinst) Font definitions for OT1/Junicode-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,84 +20,6 @@
\DeclareFontFamily{OT1}{Junicode-LF}{}
-% ---- medium ----
-
-\DeclareFontShape{OT1}{Junicode-LF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-lf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{medium}{scsl}{
- <-> ssub * Junicode-LF/medium/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{medium}{sl}{
- <-> ssub * Junicode-LF/medium/it
-}{}
-
-
-% ---- sbx = semiboldexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-LF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-LF/sbx/sc
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{it}{
- <-> alias * Junicode-LF/sbx/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{n}{
- <-> alias * Junicode-LF/sbx/n
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-LF/sbx/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{sbx}{scsl}{
- <-> ssub * Junicode-LF/sbx/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiboldexpanded/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{sbx}{sl}{
- <-> ssub * Junicode-LF/sbx/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldexpanded/it
-}{}
-
-
% ---- l = light ----
\DeclareFontShape{OT1}{Junicode-LF}{l}{scit}{
@@ -108,6 +30,14 @@
<-> alias * Junicode-LF/l/scit
}{}
+\DeclareFontShape{OT1}{Junicode-LF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{light}{it}{
+ <-> alias * Junicode-LF/l/it
+}{}
+
\DeclareFontShape{OT1}{Junicode-LF}{l}{sc}{
<-> \Junicode@@scale Junicode-Light-lf-sc-ot1
}{}
@@ -124,14 +54,6 @@
<-> alias * Junicode-LF/l/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{light}{it}{
- <-> alias * Junicode-LF/l/it
-}{}
-
\DeclareFontShape{OT1}{Junicode-LF}{l}{scsl}{
<-> ssub * Junicode-LF/l/scit
}{}
@@ -151,6 +73,14 @@
% ---- bx = boldexpanded ----
+\DeclareFontShape{OT1}{Junicode-LF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{boldexpanded}{n}{
+ <-> alias * Junicode-LF/bx/n
+}{}
+
\DeclareFontShape{OT1}{Junicode-LF}{bx}{sc}{
<-> \Junicode@@scale Junicode-ExpBold-lf-sc-ot1
}{}
@@ -167,14 +97,6 @@
<-> alias * Junicode-LF/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-lf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{boldexpanded}{n}{
- <-> alias * Junicode-LF/bx/n
-}{}
-
\DeclareFontShape{OT1}{Junicode-LF}{bx}{scit}{
<-> \Junicode@@scale Junicode-ExpBoldItalic-lf-sc-ot1
}{}
@@ -210,14 +132,6 @@
<-> alias * Junicode-LF/m/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-LF}{regular}{sc}{
- <-> alias * Junicode-LF/m/sc
-}{}
-
\DeclareFontShape{OT1}{Junicode-LF}{m}{it}{
<-> \Junicode@@scale Junicode-Italic-lf-ot1
}{}
@@ -226,6 +140,14 @@
<-> alias * Junicode-LF/m/it
}{}
+\DeclareFontShape{OT1}{Junicode-LF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-lf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{regular}{sc}{
+ <-> alias * Junicode-LF/m/sc
+}{}
+
\DeclareFontShape{OT1}{Junicode-LF}{m}{n}{
<-> \Junicode@@scale Junicode-Regular-lf-ot1
}{}
@@ -251,409 +173,436 @@
}{}
-% ---- mediumsemicondensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-LF/lsc/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-LF/lsc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-LF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-LF/lsc/it
}{}
+\DeclareFontShape{OT1}{Junicode-LF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-ot1
+}{}
-% ---- sc = semicondensed ----
+\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-LF/lsc/scit
+}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lsc}{scsl}{
+ <-> ssub * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{n}{
- <-> alias * Junicode-LF/sc/n
+\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lsc}{sl}{
+ <-> ssub * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{it}{
- <-> alias * Junicode-LF/sc/it
+\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-lf-sc-ot1
+
+% ---- medium ----
+
+\DeclareFontShape{OT1}{Junicode-LF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{sc}{
- <-> alias * Junicode-LF/sc/sc
+\DeclareFontShape{OT1}{Junicode-LF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{scit}{
- <-> alias * Junicode-LF/sc/scit
+\DeclareFontShape{OT1}{Junicode-LF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sc}{scsl}{
- <-> ssub * Junicode-LF/sc/scit
+\DeclareFontShape{OT1}{Junicode-LF}{medium}{scsl}{
+ <-> ssub * Junicode-LF/medium/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{scsl}{
- <-> ssub * Junicode-LF/semicondensed/scit
+\DeclareFontShape{OT1}{Junicode-LF}{medium}{sl}{
+ <-> ssub * Junicode-LF/medium/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sc}{sl}{
- <-> ssub * Junicode-LF/sc/it
+
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-LF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{sl}{
- <-> ssub * Junicode-LF/semicondensed/it
+\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{it}{
+ <-> alias * Junicode-LF/sx/it
}{}
+\DeclareFontShape{OT1}{Junicode-LF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-lf-sc-ot1
+}{}
-% ---- sb = semibold ----
+\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{scit}{
+ <-> alias * Junicode-LF/sx/scit
+}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semibold}{sc}{
- <-> alias * Junicode-LF/sb/sc
+\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{n}{
+ <-> alias * Junicode-LF/sx/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semibold}{n}{
- <-> alias * Junicode-LF/sb/n
+\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{sc}{
+ <-> alias * Junicode-LF/sx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sx}{scsl}{
+ <-> ssub * Junicode-LF/sx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semibold}{it}{
- <-> alias * Junicode-LF/sb/it
+\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sx}{sl}{
+ <-> ssub * Junicode-LF/sx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semibold}{scit}{
- <-> alias * Junicode-LF/sb/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sb}{scsl}{
- <-> ssub * Junicode-LF/sb/scit
+
+% ---- c = condensed ----
+
+\DeclareFontShape{OT1}{Junicode-LF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semibold}{scsl}{
- <-> ssub * Junicode-LF/semibold/scit
+\DeclareFontShape{OT1}{Junicode-LF}{condensed}{sc}{
+ <-> alias * Junicode-LF/c/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sb}{sl}{
- <-> ssub * Junicode-LF/sb/it
+\DeclareFontShape{OT1}{Junicode-LF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semibold}{sl}{
- <-> ssub * Junicode-LF/semibold/it
+\DeclareFontShape{OT1}{Junicode-LF}{condensed}{n}{
+ <-> alias * Junicode-LF/c/n
}{}
+\DeclareFontShape{OT1}{Junicode-LF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-lf-sc-ot1
+}{}
-% ---- mediumsemiexpanded ----
+\DeclareFontShape{OT1}{Junicode-LF}{condensed}{scit}{
+ <-> alias * Junicode-LF/c/scit
+}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{condensed}{it}{
+ <-> alias * Junicode-LF/c/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{c}{scsl}{
+ <-> ssub * Junicode-LF/c/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{condensed}{scsl}{
+ <-> ssub * Junicode-LF/condensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-LF}{c}{sl}{
+ <-> ssub * Junicode-LF/c/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-LF}{condensed}{sl}{
+ <-> ssub * Junicode-LF/condensed/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- x = expanded ----
-\DeclareFontShape{OT1}{Junicode-LF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-LF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-LF}{expanded}{sc}{
+ <-> alias * Junicode-LF/x/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{n}{
- <-> alias * Junicode-LF/lsc/n
+\DeclareFontShape{OT1}{Junicode-LF}{expanded}{n}{
+ <-> alias * Junicode-LF/x/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{it}{
- <-> alias * Junicode-LF/lsc/it
+\DeclareFontShape{OT1}{Junicode-LF}{expanded}{scit}{
+ <-> alias * Junicode-LF/x/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-LF/lsc/sc
+\DeclareFontShape{OT1}{Junicode-LF}{expanded}{it}{
+ <-> alias * Junicode-LF/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lsc}{scsl}{
- <-> ssub * Junicode-LF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-LF}{x}{scsl}{
+ <-> ssub * Junicode-LF/x/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/lightsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-LF}{expanded}{scsl}{
+ <-> ssub * Junicode-LF/expanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lsc}{sl}{
- <-> ssub * Junicode-LF/lsc/it
+\DeclareFontShape{OT1}{Junicode-LF}{x}{sl}{
+ <-> ssub * Junicode-LF/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-LF/lightsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-LF}{expanded}{sl}{
+ <-> ssub * Junicode-LF/expanded/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-LF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-LF/bsx/it
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/sbsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-LF/bsx/n
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/sbsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/bsx/sc
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/bsx/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bsx}{scsl}{
- <-> ssub * Junicode-LF/bsx/scit
+\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{scsl}{
+ <-> ssub * Junicode-LF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bsx}{sl}{
- <-> ssub * Junicode-LF/bsx/it
+\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{sl}{
+ <-> ssub * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/it
}{}
-% ---- mediumcondensed ----
+% ---- mediumexpanded ----
-\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumcondensed/scit
+\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-LF/mediumcondensed/it
+\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumexpanded/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-LF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-LF/sbsx/n
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/sbsx/sc
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-sc-ot1
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/sbsx/scit
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{scsl}{
- <-> ssub * Junicode-LF/sbsx/scit
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sbsx}{sl}{
- <-> ssub * Junicode-LF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-LF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/it
}{}
-% ---- b = bold ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{OT1}{Junicode-LF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bold}{n}{
- <-> alias * Junicode-LF/b/n
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-LF/sbx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bold}{it}{
- <-> alias * Junicode-LF/b/it
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-LF/sbx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bold}{sc}{
- <-> alias * Junicode-LF/b/sc
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-LF/sbx/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bold}{scit}{
- <-> alias * Junicode-LF/b/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-LF/sbx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{b}{scsl}{
- <-> ssub * Junicode-LF/b/scit
+\DeclareFontShape{OT1}{Junicode-LF}{sbx}{scsl}{
+ <-> ssub * Junicode-LF/sbx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bold}{scsl}{
- <-> ssub * Junicode-LF/bold/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{b}{sl}{
- <-> ssub * Junicode-LF/b/it
+\DeclareFontShape{OT1}{Junicode-LF}{sbx}{sl}{
+ <-> ssub * Junicode-LF/sbx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{bold}{sl}{
- <-> ssub * Junicode-LF/bold/it
+\DeclareFontShape{OT1}{Junicode-LF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/it
}{}
% ---- lc = lightcondensed ----
-\DeclareFontShape{OT1}{Junicode-LF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightcondensed}{it}{
- <-> alias * Junicode-LF/lc/it
+\DeclareFontShape{OT1}{Junicode-LF}{lightcondensed}{scit}{
+ <-> alias * Junicode-LF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightcondensed}{n}{
- <-> alias * Junicode-LF/lc/n
+\DeclareFontShape{OT1}{Junicode-LF}{lightcondensed}{it}{
+ <-> alias * Junicode-LF/lc/it
}{}
\DeclareFontShape{OT1}{Junicode-LF}{lc}{sc}{
@@ -664,12 +613,12 @@
<-> alias * Junicode-LF/lc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{lightcondensed}{scit}{
- <-> alias * Junicode-LF/lc/scit
+\DeclareFontShape{OT1}{Junicode-LF}{lightcondensed}{n}{
+ <-> alias * Junicode-LF/lc/n
}{}
\DeclareFontShape{OT1}{Junicode-LF}{lc}{scsl}{
@@ -689,183 +638,234 @@
}{}
-% ---- x = expanded ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-LF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{expanded}{n}{
- <-> alias * Junicode-LF/x/n
+\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{expanded}{it}{
- <-> alias * Junicode-LF/x/it
+\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{expanded}{sc}{
- <-> alias * Junicode-LF/x/sc
+\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/bsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{expanded}{scit}{
- <-> alias * Junicode-LF/x/scit
+\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/bsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{x}{scsl}{
- <-> ssub * Junicode-LF/x/scit
+\DeclareFontShape{OT1}{Junicode-LF}{bsx}{scsl}{
+ <-> ssub * Junicode-LF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{expanded}{scsl}{
- <-> ssub * Junicode-LF/expanded/scit
+\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{x}{sl}{
- <-> ssub * Junicode-LF/x/it
+\DeclareFontShape{OT1}{Junicode-LF}{bsx}{sl}{
+ <-> ssub * Junicode-LF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{expanded}{sl}{
- <-> ssub * Junicode-LF/expanded/it
+\DeclareFontShape{OT1}{Junicode-LF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/it
}{}
-% ---- c = condensed ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{OT1}{Junicode-LF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{condensed}{sc}{
- <-> alias * Junicode-LF/c/sc
+\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{it}{
+ <-> alias * Junicode-LF/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{condensed}{n}{
- <-> alias * Junicode-LF/c/n
+\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{scit}{
+ <-> alias * Junicode-LF/sc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{condensed}{it}{
- <-> alias * Junicode-LF/c/it
+\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{n}{
+ <-> alias * Junicode-LF/sc/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{condensed}{scit}{
- <-> alias * Junicode-LF/c/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{sc}{
+ <-> alias * Junicode-LF/sc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{c}{scsl}{
- <-> ssub * Junicode-LF/c/scit
+\DeclareFontShape{OT1}{Junicode-LF}{sc}{scsl}{
+ <-> ssub * Junicode-LF/sc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{condensed}{scsl}{
- <-> ssub * Junicode-LF/condensed/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-LF/semicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{c}{sl}{
- <-> ssub * Junicode-LF/c/it
+\DeclareFontShape{OT1}{Junicode-LF}{sc}{sl}{
+ <-> ssub * Junicode-LF/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{condensed}{sl}{
- <-> ssub * Junicode-LF/condensed/it
+\DeclareFontShape{OT1}{Junicode-LF}{semicondensed}{sl}{
+ <-> ssub * Junicode-LF/semicondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- sb = semibold ----
-\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{semibold}{it}{
+ <-> alias * Junicode-LF/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{semibold}{scit}{
+ <-> alias * Junicode-LF/sb/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumexpanded/scit
+\DeclareFontShape{OT1}{Junicode-LF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumexpanded/it
+\DeclareFontShape{OT1}{Junicode-LF}{semibold}{n}{
+ <-> alias * Junicode-LF/sb/n
}{}
+\DeclareFontShape{OT1}{Junicode-LF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-sc-ot1
+}{}
-% ---- sx = semiexpanded ----
+\DeclareFontShape{OT1}{Junicode-LF}{semibold}{sc}{
+ <-> alias * Junicode-LF/sb/sc
+}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sb}{scsl}{
+ <-> ssub * Junicode-LF/sb/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{scit}{
- <-> alias * Junicode-LF/sx/scit
+\DeclareFontShape{OT1}{Junicode-LF}{semibold}{scsl}{
+ <-> ssub * Junicode-LF/semibold/scit
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-lf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{sb}{sl}{
+ <-> ssub * Junicode-LF/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{sc}{
- <-> alias * Junicode-LF/sx/sc
+\DeclareFontShape{OT1}{Junicode-LF}{semibold}{sl}{
+ <-> ssub * Junicode-LF/semibold/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-lf-ot1
+
+% ---- b = bold ----
+
+\DeclareFontShape{OT1}{Junicode-LF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{it}{
- <-> alias * Junicode-LF/sx/it
+\DeclareFontShape{OT1}{Junicode-LF}{bold}{n}{
+ <-> alias * Junicode-LF/b/n
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-lf-ot1
+\DeclareFontShape{OT1}{Junicode-LF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{n}{
- <-> alias * Junicode-LF/sx/n
+\DeclareFontShape{OT1}{Junicode-LF}{bold}{sc}{
+ <-> alias * Junicode-LF/b/sc
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sx}{scsl}{
- <-> ssub * Junicode-LF/sx/scit
+\DeclareFontShape{OT1}{Junicode-LF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-LF}{bold}{it}{
+ <-> alias * Junicode-LF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{sx}{sl}{
- <-> ssub * Junicode-LF/sx/it
+\DeclareFontShape{OT1}{Junicode-LF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-LF}{semiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiexpanded/it
+\DeclareFontShape{OT1}{Junicode-LF}{bold}{scit}{
+ <-> alias * Junicode-LF/b/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{b}{scsl}{
+ <-> ssub * Junicode-LF/b/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{bold}{scsl}{
+ <-> ssub * Junicode-LF/bold/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{b}{sl}{
+ <-> ssub * Junicode-LF/b/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{bold}{sl}{
+ <-> ssub * Junicode-LF/bold/it
+}{}
+
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumcondensed/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-LF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-OsF.fd b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-OsF.fd
index 6e6872f057f..3c8fa652ba3 100644
--- a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-OsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{OT1Junicode-OsF.fd}
- [2024/01/08 (autoinst) Font definitions for OT1/Junicode-OsF.]
+ [2024/06/03 (autoinst) Font definitions for OT1/Junicode-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,81 +20,30 @@
\DeclareFontFamily{OT1}{Junicode-OsF}{}
-% ---- l = light ----
-
-\DeclareFontShape{OT1}{Junicode-OsF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{light}{scit}{
- <-> alias * Junicode-OsF/l/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{light}{sc}{
- <-> alias * Junicode-OsF/l/sc
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{light}{it}{
- <-> alias * Junicode-OsF/l/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-osf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{light}{n}{
- <-> alias * Junicode-OsF/l/n
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{l}{scsl}{
- <-> ssub * Junicode-OsF/l/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{light}{scsl}{
- <-> ssub * Junicode-OsF/light/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{l}{sl}{
- <-> ssub * Junicode-OsF/l/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{light}{sl}{
- <-> ssub * Junicode-OsF/light/it
-}{}
-
-
-% ---- medium ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-OsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{medium}{scsl}{
- <-> ssub * Junicode-OsF/medium/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{medium}{sl}{
- <-> ssub * Junicode-OsF/medium/it
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemicondensed/it
}{}
@@ -108,6 +57,14 @@
<-> alias * Junicode-OsF/sbx/it
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbx/scit
+}{}
+
\DeclareFontShape{OT1}{Junicode-OsF}{sbx}{n}{
<-> \Junicode@@scale Junicode-ExpSmBold-osf-ot1
}{}
@@ -124,14 +81,6 @@
<-> alias * Junicode-OsF/sbx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-OsF/sbx/scit
-}{}
-
\DeclareFontShape{OT1}{Junicode-OsF}{sbx}{scsl}{
<-> ssub * Junicode-OsF/sbx/scit
}{}
@@ -149,159 +98,156 @@
}{}
-% ---- mediumsemicondensed ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/bsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/bsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-OsF/mediumsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/bsx/it
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{OT1}{Junicode-OsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{regular}{scit}{
- <-> alias * Junicode-OsF/m/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{scsl}{
+ <-> ssub * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{regular}{it}{
- <-> alias * Junicode-OsF/m/it
+\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{sl}{
+ <-> ssub * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{regular}{n}{
- <-> alias * Junicode-OsF/m/n
+\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-osf-sc-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{regular}{sc}{
- <-> alias * Junicode-OsF/m/sc
-}{}
+% ---- lc = lightcondensed ----
-\DeclareFontShape{OT1}{Junicode-OsF}{m}{scsl}{
- <-> ssub * Junicode-OsF/m/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{regular}{scsl}{
- <-> ssub * Junicode-OsF/regular/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-OsF/lc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{m}{sl}{
- <-> ssub * Junicode-OsF/m/it
+\DeclareFontShape{OT1}{Junicode-OsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{regular}{sl}{
- <-> ssub * Junicode-OsF/regular/it
+\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{n}{
+ <-> alias * Junicode-OsF/lc/n
}{}
-
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-OsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{sc}{
- <-> alias * Junicode-OsF/bx/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{n}{
- <-> alias * Junicode-OsF/bx/n
+\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{it}{
+ <-> alias * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lc}{scsl}{
+ <-> ssub * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{it}{
- <-> alias * Junicode-OsF/bx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightcondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lc}{sl}{
+ <-> ssub * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{scit}{
- <-> alias * Junicode-OsF/bx/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightcondensed/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bx}{scsl}{
- <-> ssub * Junicode-OsF/bx/scit
+
+% ---- sc = semicondensed ----
+
+\DeclareFontShape{OT1}{Junicode-OsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldexpanded/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{scit}{
+ <-> alias * Junicode-OsF/sc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bx}{sl}{
- <-> ssub * Junicode-OsF/bx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldexpanded/it
+\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{it}{
+ <-> alias * Junicode-OsF/sc/it
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-sc-ot1
+}{}
-% ---- mediumsemiexpanded ----
+\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{sc}{
+ <-> alias * Junicode-OsF/sc/sc
+}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{n}{
+ <-> alias * Junicode-OsF/sc/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sc}{scsl}{
+ <-> ssub * Junicode-OsF/sc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/semicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{sc}{sl}{
+ <-> ssub * Junicode-OsF/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{sl}{
+ <-> ssub * Junicode-OsF/semicondensed/it
}{}
@@ -315,14 +261,6 @@
<-> alias * Junicode-OsF/sb/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-osf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{semibold}{n}{
- <-> alias * Junicode-OsF/sb/n
-}{}
-
\DeclareFontShape{OT1}{Junicode-OsF}{sb}{it}{
<-> \Junicode@@scale Junicode-SmBoldItalic-osf-ot1
}{}
@@ -339,6 +277,14 @@
<-> alias * Junicode-OsF/sb/sc
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{semibold}{n}{
+ <-> alias * Junicode-OsF/sb/n
+}{}
+
\DeclareFontShape{OT1}{Junicode-OsF}{sb}{scsl}{
<-> ssub * Junicode-OsF/sb/scit
}{}
@@ -356,383 +302,367 @@
}{}
-% ---- sc = semicondensed ----
+% ---- b = bold ----
-\DeclareFontShape{OT1}{Junicode-OsF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{it}{
- <-> alias * Junicode-OsF/sc/it
+\DeclareFontShape{OT1}{Junicode-OsF}{bold}{sc}{
+ <-> alias * Junicode-OsF/b/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{n}{
- <-> alias * Junicode-OsF/sc/n
+\DeclareFontShape{OT1}{Junicode-OsF}{bold}{n}{
+ <-> alias * Junicode-OsF/b/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{sc}{
- <-> alias * Junicode-OsF/sc/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{bold}{scit}{
+ <-> alias * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{scit}{
- <-> alias * Junicode-OsF/sc/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{bold}{it}{
+ <-> alias * Junicode-OsF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sc}{scsl}{
- <-> ssub * Junicode-OsF/sc/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{b}{scsl}{
+ <-> ssub * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{scsl}{
- <-> ssub * Junicode-OsF/semicondensed/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{bold}{scsl}{
+ <-> ssub * Junicode-OsF/bold/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sc}{sl}{
- <-> ssub * Junicode-OsF/sc/it
+\DeclareFontShape{OT1}{Junicode-OsF}{b}{sl}{
+ <-> ssub * Junicode-OsF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semicondensed}{sl}{
- <-> ssub * Junicode-OsF/semicondensed/it
+\DeclareFontShape{OT1}{Junicode-OsF}{bold}{sl}{
+ <-> ssub * Junicode-OsF/bold/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- mediumcondensed ----
-\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-OsF/lsc/n
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-OsF/lsc/it
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-OsF/lsc/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-OsF/lsc/scit
-}{}
+% ---- l = light ----
-\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{scsl}{
- <-> ssub * Junicode-OsF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{light}{scit}{
+ <-> alias * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{sl}{
- <-> ssub * Junicode-OsF/lsc/it
+\DeclareFontShape{OT1}{Junicode-OsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-OsF}{light}{it}{
+ <-> alias * Junicode-OsF/l/it
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/sbsx/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{light}{sc}{
+ <-> alias * Junicode-OsF/l/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{light}{n}{
+ <-> alias * Junicode-OsF/l/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{l}{scsl}{
+ <-> ssub * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/sbsx/n
+\DeclareFontShape{OT1}{Junicode-OsF}{light}{scsl}{
+ <-> ssub * Junicode-OsF/light/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{l}{sl}{
+ <-> ssub * Junicode-OsF/l/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/sbsx/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{light}{sl}{
+ <-> ssub * Junicode-OsF/light/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{scsl}{
- <-> ssub * Junicode-OsF/sbsx/scit
+
+% ---- bx = boldexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-OsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{sl}{
- <-> ssub * Junicode-OsF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{it}{
+ <-> alias * Junicode-OsF/bx/it
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-sc-ot1
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-OsF/bx/sc
+}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{n}{
+ <-> alias * Junicode-OsF/bx/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{bx}{scsl}{
+ <-> ssub * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-OsF/mediumcondensed/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{bx}{sl}{
+ <-> ssub * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumcondensed/it
+\DeclareFontShape{OT1}{Junicode-OsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldexpanded/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- m = regular ----
-\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/bsx/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{regular}{it}{
+ <-> alias * Junicode-OsF/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/bsx/n
+\DeclareFontShape{OT1}{Junicode-OsF}{regular}{scit}{
+ <-> alias * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/bsx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{regular}{n}{
+ <-> alias * Junicode-OsF/m/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/bsx/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{regular}{sc}{
+ <-> alias * Junicode-OsF/m/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{scsl}{
- <-> ssub * Junicode-OsF/bsx/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{m}{scsl}{
+ <-> ssub * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{regular}{scsl}{
+ <-> ssub * Junicode-OsF/regular/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bsx}{sl}{
- <-> ssub * Junicode-OsF/bsx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{m}{sl}{
+ <-> ssub * Junicode-OsF/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-OsF}{regular}{sl}{
+ <-> ssub * Junicode-OsF/regular/it
}{}
-% ---- lc = lightcondensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-OsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{it}{
- <-> alias * Junicode-OsF/lc/it
+\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-OsF/lsc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{n}{
- <-> alias * Junicode-OsF/lc/n
+\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-OsF/lsc/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{sc}{
- <-> alias * Junicode-OsF/lc/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-OsF/lsc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{scit}{
- <-> alias * Junicode-OsF/lc/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lc}{scsl}{
- <-> ssub * Junicode-OsF/lc/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{scsl}{
+ <-> ssub * Junicode-OsF/lsc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightcondensed/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lc}{sl}{
- <-> ssub * Junicode-OsF/lc/it
+\DeclareFontShape{OT1}{Junicode-OsF}{lsc}{sl}{
+ <-> ssub * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-OsF/lightcondensed/it
+\DeclareFontShape{OT1}{Junicode-OsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/it
}{}
-% ---- b = bold ----
+% ---- medium ----
-\DeclareFontShape{OT1}{Junicode-OsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bold}{scit}{
- <-> alias * Junicode-OsF/b/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bold}{n}{
- <-> alias * Junicode-OsF/b/n
+\DeclareFontShape{OT1}{Junicode-OsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{medium}{scsl}{
+ <-> ssub * Junicode-OsF/medium/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bold}{it}{
- <-> alias * Junicode-OsF/b/it
+\DeclareFontShape{OT1}{Junicode-OsF}{medium}{sl}{
+ <-> ssub * Junicode-OsF/medium/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-osf-sc-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bold}{sc}{
- <-> alias * Junicode-OsF/b/sc
-}{}
+% ---- sx = semiexpanded ----
-\DeclareFontShape{OT1}{Junicode-OsF}{b}{scsl}{
- <-> ssub * Junicode-OsF/b/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bold}{scsl}{
- <-> ssub * Junicode-OsF/bold/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{it}{
+ <-> alias * Junicode-OsF/sx/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{b}{sl}{
- <-> ssub * Junicode-OsF/b/it
+\DeclareFontShape{OT1}{Junicode-OsF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{bold}{sl}{
- <-> ssub * Junicode-OsF/bold/it
+\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sx/scit
}{}
-
-% ---- mediumexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{n}{
+ <-> alias * Junicode-OsF/sx/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumexpanded/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{sx}{scsl}{
+ <-> ssub * Junicode-OsF/sx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumexpanded/it
+\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiexpanded/scit
}{}
-
-% ---- c = condensed ----
-
-\DeclareFontShape{OT1}{Junicode-OsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sx}{sl}{
+ <-> ssub * Junicode-OsF/sx/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{condensed}{scit}{
- <-> alias * Junicode-OsF/c/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-osf-sc-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{condensed}{sc}{
- <-> alias * Junicode-OsF/c/sc
-}{}
+% ---- c = condensed ----
\DeclareFontShape{OT1}{Junicode-OsF}{c}{it}{
<-> \Junicode@@scale Junicode-CondItalic-osf-ot1
@@ -742,6 +672,14 @@
<-> alias * Junicode-OsF/c/it
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{condensed}{scit}{
+ <-> alias * Junicode-OsF/c/scit
+}{}
+
\DeclareFontShape{OT1}{Junicode-OsF}{c}{n}{
<-> \Junicode@@scale Junicode-Cond-osf-ot1
}{}
@@ -750,6 +688,14 @@
<-> alias * Junicode-OsF/c/n
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{condensed}{sc}{
+ <-> alias * Junicode-OsF/c/sc
+}{}
+
\DeclareFontShape{OT1}{Junicode-OsF}{c}{scsl}{
<-> ssub * Junicode-OsF/c/scit
}{}
@@ -785,14 +731,6 @@
<-> alias * Junicode-OsF/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-osf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-OsF}{expanded}{n}{
- <-> alias * Junicode-OsF/x/n
-}{}
-
\DeclareFontShape{OT1}{Junicode-OsF}{x}{sc}{
<-> \Junicode@@scale Junicode-Exp-osf-sc-ot1
}{}
@@ -801,6 +739,14 @@
<-> alias * Junicode-OsF/x/sc
}{}
+\DeclareFontShape{OT1}{Junicode-OsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{expanded}{n}{
+ <-> alias * Junicode-OsF/x/n
+}{}
+
\DeclareFontShape{OT1}{Junicode-OsF}{x}{scsl}{
<-> ssub * Junicode-OsF/x/scit
}{}
@@ -818,54 +764,108 @@
}{}
-% ---- sx = semiexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-OsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{it}{
- <-> alias * Junicode-OsF/sx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-osf-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{n}{
- <-> alias * Junicode-OsF/sx/n
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{sc}{
- <-> alias * Junicode-OsF/sx/sc
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sbsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{scit}{
- <-> alias * Junicode-OsF/sx/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/sbsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sx}{scsl}{
- <-> ssub * Junicode-OsF/sx/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-OsF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{sx}{sl}{
- <-> ssub * Junicode-OsF/sx/it
+\DeclareFontShape{OT1}{Junicode-OsF}{sbsx}{sl}{
+ <-> ssub * Junicode-OsF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-OsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiexpanded/it
+\DeclareFontShape{OT1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+}{}
+
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/it
+}{}
+
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Sup.fd b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Sup.fd
index afdfe0ca353..3e51e57f5ae 100644
--- a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Sup.fd
+++ b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-Sup.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{OT1Junicode-Sup.fd}
- [2024/01/08 (autoinst) Font definitions for OT1/Junicode-Sup.]
+ [2024/06/03 (autoinst) Font definitions for OT1/Junicode-Sup.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,97 +20,131 @@
\DeclareFontFamily{OT1}{Junicode-Sup}{}
-% ---- b = bold ----
+% ---- m = regular ----
-\DeclareFontShape{OT1}{Junicode-Sup}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bold}{it}{
- <-> alias * Junicode-Sup/b/it
+\DeclareFontShape{OT1}{Junicode-Sup}{regular}{n}{
+ <-> alias * Junicode-Sup/m/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bold}{n}{
- <-> alias * Junicode-Sup/b/n
+\DeclareFontShape{OT1}{Junicode-Sup}{regular}{it}{
+ <-> alias * Junicode-Sup/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{b}{sl}{
- <-> ssub * Junicode-Sup/b/it
+\DeclareFontShape{OT1}{Junicode-Sup}{m}{sl}{
+ <-> ssub * Junicode-Sup/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bold}{sl}{
- <-> ssub * Junicode-Sup/bold/it
+\DeclareFontShape{OT1}{Junicode-Sup}{regular}{sl}{
+ <-> ssub * Junicode-Sup/regular/it
}{}
-% ---- lc = lightcondensed ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-Sup}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{lightcondensed}{it}{
- <-> alias * Junicode-Sup/lc/it
+\DeclareFontShape{OT1}{Junicode-Sup}{lightsemicondensed}{it}{
+ <-> alias * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{lightcondensed}{n}{
- <-> alias * Junicode-Sup/lc/n
+\DeclareFontShape{OT1}{Junicode-Sup}{lightsemicondensed}{n}{
+ <-> alias * Junicode-Sup/lsc/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{lc}{sl}{
- <-> ssub * Junicode-Sup/lc/it
+\DeclareFontShape{OT1}{Junicode-Sup}{lsc}{sl}{
+ <-> ssub * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{lightcondensed}{sl}{
- <-> ssub * Junicode-Sup/lightcondensed/it
+\DeclareFontShape{OT1}{Junicode-Sup}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightsemicondensed/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- medium ----
-\DeclareFontShape{OT1}{Junicode-Sup}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/bsx/n
+\DeclareFontShape{OT1}{Junicode-Sup}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{medium}{sl}{
+ <-> ssub * Junicode-Sup/medium/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/bsx/it
+
+% ---- l = light ----
+
+\DeclareFontShape{OT1}{Junicode-Sup}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bsx}{sl}{
- <-> ssub * Junicode-Sup/bsx/it
+\DeclareFontShape{OT1}{Junicode-Sup}{light}{it}{
+ <-> alias * Junicode-Sup/l/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-Sup}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-sup-ot1
}{}
+\DeclareFontShape{OT1}{Junicode-Sup}{light}{n}{
+ <-> alias * Junicode-Sup/l/n
+}{}
-% ---- sbsx = semiboldsemiexpanded ----
+\DeclareFontShape{OT1}{Junicode-Sup}{l}{sl}{
+ <-> ssub * Junicode-Sup/l/it
+}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{light}{sl}{
+ <-> ssub * Junicode-Sup/light/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/sbsx/n
+
+% ---- bx = boldexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-Sup}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{boldexpanded}{n}{
+ <-> alias * Junicode-Sup/bx/n
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-ot1
}{}
+\DeclareFontShape{OT1}{Junicode-Sup}{boldexpanded}{it}{
+ <-> alias * Junicode-Sup/bx/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{bx}{sl}{
+ <-> ssub * Junicode-Sup/bx/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldexpanded/it
+}{}
+
+
+% ---- sbsx = semiboldsemiexpanded ----
+
\DeclareFontShape{OT1}{Junicode-Sup}{sbsx}{it}{
<-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-ot1
}{}
@@ -119,6 +153,14 @@
<-> alias * Junicode-Sup/sbsx/it
}{}
+\DeclareFontShape{OT1}{Junicode-Sup}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/sbsx/n
+}{}
+
\DeclareFontShape{OT1}{Junicode-Sup}{sbsx}{sl}{
<-> ssub * Junicode-Sup/sbsx/it
}{}
@@ -128,18 +170,33 @@
}{}
-% ---- mediumcondensed ----
+% ---- mediumexpanded ----
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumcondensed}{sl}{
- <-> ssub * Junicode-Sup/mediumcondensed/it
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumexpanded/it
+}{}
+
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumsemiexpanded/it
}{}
@@ -170,6 +227,33 @@
}{}
+% ---- x = expanded ----
+
+\DeclareFontShape{OT1}{Junicode-Sup}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{expanded}{n}{
+ <-> alias * Junicode-Sup/x/n
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{expanded}{it}{
+ <-> alias * Junicode-Sup/x/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{x}{sl}{
+ <-> ssub * Junicode-Sup/x/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-Sup}{expanded}{sl}{
+ <-> ssub * Junicode-Sup/expanded/it
+}{}
+
+
% ---- c = condensed ----
\DeclareFontShape{OT1}{Junicode-Sup}{c}{it}{
@@ -197,99 +281,111 @@
}{}
-% ---- x = expanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{OT1}{Junicode-Sup}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{expanded}{n}{
- <-> alias * Junicode-Sup/x/n
+\DeclareFontShape{OT1}{Junicode-Sup}{lightcondensed}{it}{
+ <-> alias * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{expanded}{it}{
- <-> alias * Junicode-Sup/x/it
+\DeclareFontShape{OT1}{Junicode-Sup}{lightcondensed}{n}{
+ <-> alias * Junicode-Sup/lc/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{x}{sl}{
- <-> ssub * Junicode-Sup/x/it
+\DeclareFontShape{OT1}{Junicode-Sup}{lc}{sl}{
+ <-> ssub * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{expanded}{sl}{
- <-> ssub * Junicode-Sup/expanded/it
+\DeclareFontShape{OT1}{Junicode-Sup}{lightcondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightcondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/bsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumexpanded/it
+\DeclareFontShape{OT1}{Junicode-Sup}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-ot1
}{}
+\DeclareFontShape{OT1}{Junicode-Sup}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/bsx/it
+}{}
-% ---- bx = boldexpanded ----
+\DeclareFontShape{OT1}{Junicode-Sup}{bsx}{sl}{
+ <-> ssub * Junicode-Sup/bsx/it
+}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldsemiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{boldexpanded}{it}{
- <-> alias * Junicode-Sup/bx/it
+
+% ---- sb = semibold ----
+
+\DeclareFontShape{OT1}{Junicode-Sup}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{semibold}{n}{
+ <-> alias * Junicode-Sup/sb/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{boldexpanded}{n}{
- <-> alias * Junicode-Sup/bx/n
+\DeclareFontShape{OT1}{Junicode-Sup}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{bx}{sl}{
- <-> ssub * Junicode-Sup/bx/it
+\DeclareFontShape{OT1}{Junicode-Sup}{semibold}{it}{
+ <-> alias * Junicode-Sup/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{boldexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldexpanded/it
+\DeclareFontShape{OT1}{Junicode-Sup}{sb}{sl}{
+ <-> ssub * Junicode-Sup/sb/it
}{}
+\DeclareFontShape{OT1}{Junicode-Sup}{semibold}{sl}{
+ <-> ssub * Junicode-Sup/semibold/it
+}{}
-% ---- m = regular ----
-\DeclareFontShape{OT1}{Junicode-Sup}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-sup-ot1
+% ---- sc = semicondensed ----
+
+\DeclareFontShape{OT1}{Junicode-Sup}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{regular}{it}{
- <-> alias * Junicode-Sup/m/it
+\DeclareFontShape{OT1}{Junicode-Sup}{semicondensed}{it}{
+ <-> alias * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{regular}{n}{
- <-> alias * Junicode-Sup/m/n
+\DeclareFontShape{OT1}{Junicode-Sup}{semicondensed}{n}{
+ <-> alias * Junicode-Sup/sc/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{m}{sl}{
- <-> ssub * Junicode-Sup/m/it
+\DeclareFontShape{OT1}{Junicode-Sup}{sc}{sl}{
+ <-> ssub * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{regular}{sl}{
- <-> ssub * Junicode-Sup/regular/it
+\DeclareFontShape{OT1}{Junicode-Sup}{semicondensed}{sl}{
+ <-> ssub * Junicode-Sup/semicondensed/it
}{}
@@ -308,21 +404,6 @@
}{}
-% ---- medium ----
-
-\DeclareFontShape{OT1}{Junicode-Sup}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{medium}{sl}{
- <-> ssub * Junicode-Sup/medium/it
-}{}
-
-
% ---- sbx = semiboldexpanded ----
\DeclareFontShape{OT1}{Junicode-Sup}{sbx}{n}{
@@ -350,126 +431,45 @@
}{}
-% ---- l = light ----
-
-\DeclareFontShape{OT1}{Junicode-Sup}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{light}{n}{
- <-> alias * Junicode-Sup/l/n
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{light}{it}{
- <-> alias * Junicode-Sup/l/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{l}{sl}{
- <-> ssub * Junicode-Sup/l/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{light}{sl}{
- <-> ssub * Junicode-Sup/light/it
-}{}
-
-
-% ---- lsc = lightsemicondensed ----
-
-\DeclareFontShape{OT1}{Junicode-Sup}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{lightsemicondensed}{n}{
- <-> alias * Junicode-Sup/lsc/n
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{lightsemicondensed}{it}{
- <-> alias * Junicode-Sup/lsc/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{lsc}{sl}{
- <-> ssub * Junicode-Sup/lsc/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-Sup/lightsemicondensed/it
-}{}
-
-
-% ---- sc = semicondensed ----
-
-\DeclareFontShape{OT1}{Junicode-Sup}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{semicondensed}{it}{
- <-> alias * Junicode-Sup/sc/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-Sup}{semicondensed}{n}{
- <-> alias * Junicode-Sup/sc/n
-}{}
+% ---- mediumcondensed ----
-\DeclareFontShape{OT1}{Junicode-Sup}{sc}{sl}{
- <-> ssub * Junicode-Sup/sc/it
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{semicondensed}{sl}{
- <-> ssub * Junicode-Sup/semicondensed/it
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-sup-ot1
}{}
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{OT1}{Junicode-Sup}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-Sup/mediumcondensed/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{semibold}{n}{
- <-> alias * Junicode-Sup/sb/n
-}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-sup-ot1
-}{}
+% ---- b = bold ----
-\DeclareFontShape{OT1}{Junicode-Sup}{semibold}{it}{
- <-> alias * Junicode-Sup/sb/it
+\DeclareFontShape{OT1}{Junicode-Sup}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-sup-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{sb}{sl}{
- <-> ssub * Junicode-Sup/sb/it
+\DeclareFontShape{OT1}{Junicode-Sup}{bold}{it}{
+ <-> alias * Junicode-Sup/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{semibold}{sl}{
- <-> ssub * Junicode-Sup/semibold/it
+\DeclareFontShape{OT1}{Junicode-Sup}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-sup-ot1
}{}
-
-% ---- mediumsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{bold}{n}{
+ <-> alias * Junicode-Sup/b/n
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-sup-ot1
+\DeclareFontShape{OT1}{Junicode-Sup}{b}{sl}{
+ <-> ssub * Junicode-Sup/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-Sup}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-Sup}{bold}{sl}{
+ <-> ssub * Junicode-Sup/bold/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TLF.fd b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TLF.fd
index 347d2e6b391..47eb8d3cf5b 100644
--- a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TLF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TLF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{OT1Junicode-TLF.fd}
- [2024/01/08 (autoinst) Font definitions for OT1/Junicode-TLF.]
+ [2024/06/03 (autoinst) Font definitions for OT1/Junicode-TLF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,81 +20,30 @@
\DeclareFontFamily{OT1}{Junicode-TLF}{}
-% ---- l = light ----
-
-\DeclareFontShape{OT1}{Junicode-TLF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{light}{scit}{
- <-> alias * Junicode-TLF/l/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tlf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{light}{n}{
- <-> alias * Junicode-TLF/l/n
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{light}{it}{
- <-> alias * Junicode-TLF/l/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{light}{sc}{
- <-> alias * Junicode-TLF/l/sc
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{l}{scsl}{
- <-> ssub * Junicode-TLF/l/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{light}{scsl}{
- <-> ssub * Junicode-TLF/light/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{l}{sl}{
- <-> ssub * Junicode-TLF/l/it
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{light}{sl}{
- <-> ssub * Junicode-TLF/light/it
-}{}
-
-
-% ---- medium ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-TLF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{medium}{scsl}{
- <-> ssub * Junicode-TLF/medium/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{medium}{sl}{
- <-> ssub * Junicode-TLF/medium/it
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/it
}{}
@@ -108,14 +57,6 @@
<-> alias * Junicode-TLF/sbx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TLF/sbx/it
-}{}
-
\DeclareFontShape{OT1}{Junicode-TLF}{sbx}{sc}{
<-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-ot1
}{}
@@ -124,6 +65,14 @@
<-> alias * Junicode-TLF/sbx/sc
}{}
+\DeclareFontShape{OT1}{Junicode-TLF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TLF/sbx/it
+}{}
+
\DeclareFontShape{OT1}{Junicode-TLF}{sbx}{scit}{
<-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-ot1
}{}
@@ -149,172 +98,110 @@
}{}
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/it
-}{}
-
-
-% ---- m = regular ----
-
-\DeclareFontShape{OT1}{Junicode-TLF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{regular}{sc}{
- <-> alias * Junicode-TLF/m/sc
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tlf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{regular}{n}{
- <-> alias * Junicode-TLF/m/n
-}{}
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-TLF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{regular}{it}{
- <-> alias * Junicode-TLF/m/it
+\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/bsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{regular}{scit}{
- <-> alias * Junicode-TLF/m/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/bsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{m}{scsl}{
- <-> ssub * Junicode-TLF/m/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{regular}{scsl}{
- <-> ssub * Junicode-TLF/regular/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{m}{sl}{
- <-> ssub * Junicode-TLF/m/it
+\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{regular}{sl}{
- <-> ssub * Junicode-TLF/regular/it
+\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/bsx/scit
}{}
-
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-TLF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{scsl}{
+ <-> ssub * Junicode-TLF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{scit}{
- <-> alias * Junicode-TLF/bx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{sl}{
+ <-> ssub * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{n}{
- <-> alias * Junicode-TLF/bx/n
+\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{it}{
- <-> alias * Junicode-TLF/bx/it
-}{}
+% ---- lc = lightcondensed ----
-\DeclareFontShape{OT1}{Junicode-TLF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{sc}{
- <-> alias * Junicode-TLF/bx/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bx}{scsl}{
- <-> ssub * Junicode-TLF/bx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{it}{
+ <-> alias * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bx}{sl}{
- <-> ssub * Junicode-TLF/bx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldexpanded/it
+\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TLF/lc/sc
}{}
-
-% ---- mediumsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{n}{
+ <-> alias * Junicode-TLF/lc/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lc}{scsl}{
+ <-> ssub * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightcondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{lc}{sl}{
+ <-> ssub * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightcondensed/it
}{}
% ---- sb = semibold ----
-\DeclareFontShape{OT1}{Junicode-TLF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{semibold}{sc}{
- <-> alias * Junicode-TLF/sb/sc
-}{}
-
\DeclareFontShape{OT1}{Junicode-TLF}{sb}{it}{
<-> \Junicode@@scale Junicode-SmBoldItalic-tlf-ot1
}{}
@@ -323,6 +210,14 @@
<-> alias * Junicode-TLF/sb/it
}{}
+\DeclareFontShape{OT1}{Junicode-TLF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semibold}{scit}{
+ <-> alias * Junicode-TLF/sb/scit
+}{}
+
\DeclareFontShape{OT1}{Junicode-TLF}{sb}{n}{
<-> \Junicode@@scale Junicode-SmBold-tlf-ot1
}{}
@@ -331,12 +226,12 @@
<-> alias * Junicode-TLF/sb/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semibold}{scit}{
- <-> alias * Junicode-TLF/sb/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{semibold}{sc}{
+ <-> alias * Junicode-TLF/sb/sc
}{}
\DeclareFontShape{OT1}{Junicode-TLF}{sb}{scsl}{
@@ -358,14 +253,6 @@
% ---- sc = semicondensed ----
-\DeclareFontShape{OT1}{Junicode-TLF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{semicondensed}{sc}{
- <-> alias * Junicode-TLF/sc/sc
-}{}
-
\DeclareFontShape{OT1}{Junicode-TLF}{sc}{n}{
<-> \Junicode@@scale Junicode-SmCond-tlf-ot1
}{}
@@ -374,6 +261,14 @@
<-> alias * Junicode-TLF/sc/n
}{}
+\DeclareFontShape{OT1}{Junicode-TLF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semicondensed}{sc}{
+ <-> alias * Junicode-TLF/sc/sc
+}{}
+
\DeclareFontShape{OT1}{Junicode-TLF}{sc}{it}{
<-> \Junicode@@scale Junicode-SmCondItalic-tlf-ot1
}{}
@@ -407,325 +302,368 @@
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- b = bold ----
-\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TLF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{bold}{sc}{
+ <-> alias * Junicode-TLF/b/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TLF/lsc/it
+\DeclareFontShape{OT1}{Junicode-TLF}{bold}{n}{
+ <-> alias * Junicode-TLF/b/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TLF/lsc/n
+\DeclareFontShape{OT1}{Junicode-TLF}{bold}{scit}{
+ <-> alias * Junicode-TLF/b/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TLF/lsc/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{bold}{it}{
+ <-> alias * Junicode-TLF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{scsl}{
- <-> ssub * Junicode-TLF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{b}{scsl}{
+ <-> ssub * Junicode-TLF/b/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{bold}{scsl}{
+ <-> ssub * Junicode-TLF/bold/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{sl}{
- <-> ssub * Junicode-TLF/lsc/it
+\DeclareFontShape{OT1}{Junicode-TLF}{b}{sl}{
+ <-> ssub * Junicode-TLF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/lightsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-TLF}{bold}{sl}{
+ <-> ssub * Junicode-TLF/bold/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- mediumcondensed ----
-\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/sbsx/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/sbsx/n
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/sbsx/scit
-}{}
+% ---- l = light ----
-\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{scsl}{
- <-> ssub * Junicode-TLF/sbsx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{light}{n}{
+ <-> alias * Junicode-TLF/l/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{sl}{
- <-> ssub * Junicode-TLF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TLF}{light}{sc}{
+ <-> alias * Junicode-TLF/l/sc
}{}
+\DeclareFontShape{OT1}{Junicode-TLF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-ot1
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{OT1}{Junicode-TLF}{light}{it}{
+ <-> alias * Junicode-TLF/l/it
+}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{light}{scit}{
+ <-> alias * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{l}{scsl}{
+ <-> ssub * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{light}{scsl}{
+ <-> ssub * Junicode-TLF/light/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumcondensed/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{l}{sl}{
+ <-> ssub * Junicode-TLF/l/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumcondensed/it
+\DeclareFontShape{OT1}{Junicode-TLF}{light}{sl}{
+ <-> ssub * Junicode-TLF/light/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/bsx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/bsx/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{it}{
+ <-> alias * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/bsx/n
+\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TLF/bx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/bsx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{n}{
+ <-> alias * Junicode-TLF/bx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{scsl}{
- <-> ssub * Junicode-TLF/bsx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{bx}{scsl}{
+ <-> ssub * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bsx}{sl}{
- <-> ssub * Junicode-TLF/bsx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{bx}{sl}{
+ <-> ssub * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TLF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldexpanded/it
}{}
-% ---- lc = lightcondensed ----
+% ---- m = regular ----
-\DeclareFontShape{OT1}{Junicode-TLF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{n}{
- <-> alias * Junicode-TLF/lc/n
+\DeclareFontShape{OT1}{Junicode-TLF}{regular}{scit}{
+ <-> alias * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{it}{
- <-> alias * Junicode-TLF/lc/it
+\DeclareFontShape{OT1}{Junicode-TLF}{regular}{it}{
+ <-> alias * Junicode-TLF/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{sc}{
- <-> alias * Junicode-TLF/lc/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{regular}{sc}{
+ <-> alias * Junicode-TLF/m/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{scit}{
- <-> alias * Junicode-TLF/lc/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{regular}{n}{
+ <-> alias * Junicode-TLF/m/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lc}{scsl}{
- <-> ssub * Junicode-TLF/lc/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{m}{scsl}{
+ <-> ssub * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightcondensed/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{regular}{scsl}{
+ <-> ssub * Junicode-TLF/regular/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lc}{sl}{
- <-> ssub * Junicode-TLF/lc/it
+\DeclareFontShape{OT1}{Junicode-TLF}{m}{sl}{
+ <-> ssub * Junicode-TLF/m/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TLF/lightcondensed/it
+\DeclareFontShape{OT1}{Junicode-TLF}{regular}{sl}{
+ <-> ssub * Junicode-TLF/regular/it
}{}
-% ---- b = bold ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-TLF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bold}{it}{
- <-> alias * Junicode-TLF/b/it
+\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TLF/lsc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bold}{n}{
- <-> alias * Junicode-TLF/b/n
+\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TLF/lsc/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bold}{sc}{
- <-> alias * Junicode-TLF/b/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TLF/lsc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bold}{scit}{
- <-> alias * Junicode-TLF/b/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{b}{scsl}{
- <-> ssub * Junicode-TLF/b/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{scsl}{
+ <-> ssub * Junicode-TLF/lsc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bold}{scsl}{
- <-> ssub * Junicode-TLF/bold/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{b}{sl}{
- <-> ssub * Junicode-TLF/b/it
+\DeclareFontShape{OT1}{Junicode-TLF}{lsc}{sl}{
+ <-> ssub * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{bold}{sl}{
- <-> ssub * Junicode-TLF/bold/it
+\DeclareFontShape{OT1}{Junicode-TLF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightsemicondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- medium ----
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TLF/mediumexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{medium}{scsl}{
+ <-> ssub * Junicode-TLF/medium/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumexpanded/it
+\DeclareFontShape{OT1}{Junicode-TLF}{medium}{sl}{
+ <-> ssub * Junicode-TLF/medium/it
}{}
-% ---- c = condensed ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{OT1}{Junicode-TLF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{condensed}{scit}{
- <-> alias * Junicode-TLF/c/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{n}{
+ <-> alias * Junicode-TLF/sx/n
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sx/sc
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{it}{
+ <-> alias * Junicode-TLF/sx/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sx/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{sx}{scsl}{
+ <-> ssub * Junicode-TLF/sx/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiexpanded/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{sx}{sl}{
+ <-> ssub * Junicode-TLF/sx/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiexpanded/it
}{}
+
+% ---- c = condensed ----
+
\DeclareFontShape{OT1}{Junicode-TLF}{c}{sc}{
<-> \Junicode@@scale Junicode-Cond-tlf-sc-ot1
}{}
@@ -742,6 +680,14 @@
<-> alias * Junicode-TLF/c/n
}{}
+\DeclareFontShape{OT1}{Junicode-TLF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{condensed}{scit}{
+ <-> alias * Junicode-TLF/c/scit
+}{}
+
\DeclareFontShape{OT1}{Junicode-TLF}{c}{it}{
<-> \Junicode@@scale Junicode-CondItalic-tlf-ot1
}{}
@@ -769,14 +715,6 @@
% ---- x = expanded ----
-\DeclareFontShape{OT1}{Junicode-TLF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TLF}{expanded}{sc}{
- <-> alias * Junicode-TLF/x/sc
-}{}
-
\DeclareFontShape{OT1}{Junicode-TLF}{x}{it}{
<-> \Junicode@@scale Junicode-ExpItalic-tlf-ot1
}{}
@@ -785,6 +723,14 @@
<-> alias * Junicode-TLF/x/it
}{}
+\DeclareFontShape{OT1}{Junicode-TLF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{expanded}{scit}{
+ <-> alias * Junicode-TLF/x/scit
+}{}
+
\DeclareFontShape{OT1}{Junicode-TLF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-tlf-ot1
}{}
@@ -793,12 +739,12 @@
<-> alias * Junicode-TLF/x/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{expanded}{scit}{
- <-> alias * Junicode-TLF/x/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{expanded}{sc}{
+ <-> alias * Junicode-TLF/x/sc
}{}
\DeclareFontShape{OT1}{Junicode-TLF}{x}{scsl}{
@@ -818,54 +764,108 @@
}{}
-% ---- sx = semiexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-TLF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{sc}{
- <-> alias * Junicode-TLF/sx/sc
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{n}{
- <-> alias * Junicode-TLF/sx/n
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{it}{
- <-> alias * Junicode-TLF/sx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/sbsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{scit}{
- <-> alias * Junicode-TLF/sx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sx}{scsl}{
- <-> ssub * Junicode-TLF/sx/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{sx}{sl}{
- <-> ssub * Junicode-TLF/sx/it
+\DeclareFontShape{OT1}{Junicode-TLF}{sbsx}{sl}{
+ <-> ssub * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TLF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
+}{}
+
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/it
+}{}
+
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TLF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TOsF.fd b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TOsF.fd
index fce2ca442f5..77547d3a2c7 100644
--- a/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/OT1Junicode-TOsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{OT1Junicode-TOsF.fd}
- [2024/01/08 (autoinst) Font definitions for OT1/Junicode-TOsF.]
+ [2024/06/03 (autoinst) Font definitions for OT1/Junicode-TOsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,86 +20,83 @@
\DeclareFontFamily{OT1}{Junicode-TOsF}{}
-% ---- sbx = semiboldexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-TOsF/sbx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-TOsF/sbx/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{it}{
+ <-> alias * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TOsF/sbx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TOsF/sbx/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{n}{
+ <-> alias * Junicode-TOsF/bx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{scsl}{
- <-> ssub * Junicode-TOsF/sbx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{scsl}{
+ <-> ssub * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiboldexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{sl}{
- <-> ssub * Junicode-TOsF/sbx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{sl}{
+ <-> ssub * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldexpanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/it
}{}
-% ---- medium ----
+% ---- l = light ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{light}{n}{
+ <-> alias * Junicode-TOsF/l/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{light}{sc}{
+ <-> alias * Junicode-TOsF/l/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{scsl}{
- <-> ssub * Junicode-TOsF/medium/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{sl}{
- <-> ssub * Junicode-TOsF/medium/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{light}{it}{
+ <-> alias * Junicode-TOsF/l/it
}{}
-
-% ---- l = light ----
-
\DeclareFontShape{OT1}{Junicode-TOsF}{l}{scit}{
<-> \Junicode@@scale Junicode-LightItalic-tosf-sc-ot1
}{}
@@ -108,44 +105,98 @@
<-> alias * Junicode-TOsF/l/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{l}{scsl}{
+ <-> ssub * Junicode-TOsF/l/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{light}{it}{
- <-> alias * Junicode-TOsF/l/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{light}{scsl}{
+ <-> ssub * Junicode-TOsF/light/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{l}{sl}{
+ <-> ssub * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{light}{n}{
- <-> alias * Junicode-TOsF/l/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{light}{sl}{
+ <-> ssub * Junicode-TOsF/light/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tosf-sc-ot1
+
+% ---- lsc = lightsemicondensed ----
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{light}{sc}{
- <-> alias * Junicode-TOsF/l/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TOsF/lsc/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{l}{scsl}{
- <-> ssub * Junicode-TOsF/l/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{light}{scsl}{
- <-> ssub * Junicode-TOsF/light/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TOsF/lsc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{l}{sl}{
- <-> ssub * Junicode-TOsF/l/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{light}{sl}{
- <-> ssub * Junicode-TOsF/light/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TOsF/lsc/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TOsF/lsc/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{scsl}{
+ <-> ssub * Junicode-TOsF/lsc/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{sl}{
+ <-> ssub * Junicode-TOsF/lsc/it
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/it
+}{}
+
+
+% ---- medium ----
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{scsl}{
+ <-> ssub * Junicode-TOsF/medium/scit
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{medium}{sl}{
+ <-> ssub * Junicode-TOsF/medium/it
}{}
@@ -159,6 +210,14 @@
<-> alias * Junicode-TOsF/m/it
}{}
+\DeclareFontShape{OT1}{Junicode-TOsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{regular}{scit}{
+ <-> alias * Junicode-TOsF/m/scit
+}{}
+
\DeclareFontShape{OT1}{Junicode-TOsF}{m}{n}{
<-> \Junicode@@scale Junicode-Regular-tosf-ot1
}{}
@@ -175,14 +234,6 @@
<-> alias * Junicode-TOsF/m/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{regular}{scit}{
- <-> alias * Junicode-TOsF/m/scit
-}{}
-
\DeclareFontShape{OT1}{Junicode-TOsF}{m}{scsl}{
<-> ssub * Junicode-TOsF/m/scit
}{}
@@ -200,183 +251,156 @@
}{}
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{scit}{
- <-> alias * Junicode-TOsF/bx/scit
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{n}{
- <-> alias * Junicode-TOsF/bx/n
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{it}{
- <-> alias * Junicode-TOsF/bx/it
-}{}
+% ---- sx = semiexpanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{sc}{
- <-> alias * Junicode-TOsF/bx/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{scsl}{
- <-> ssub * Junicode-TOsF/bx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bx}{sl}{
- <-> ssub * Junicode-TOsF/bx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldexpanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sx/scit
}{}
-
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{scsl}{
+ <-> ssub * Junicode-TOsF/sx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{sl}{
+ <-> ssub * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/it
}{}
-% ---- sb = semibold ----
+% ---- c = condensed ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{scit}{
- <-> alias * Junicode-TOsF/sb/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{it}{
+ <-> alias * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{sc}{
- <-> alias * Junicode-TOsF/sb/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{scit}{
+ <-> alias * Junicode-TOsF/c/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{it}{
- <-> alias * Junicode-TOsF/sb/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{n}{
+ <-> alias * Junicode-TOsF/c/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{n}{
- <-> alias * Junicode-TOsF/sb/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{sc}{
+ <-> alias * Junicode-TOsF/c/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{scsl}{
- <-> ssub * Junicode-TOsF/sb/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{c}{scsl}{
+ <-> ssub * Junicode-TOsF/c/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{scsl}{
- <-> ssub * Junicode-TOsF/semibold/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{scsl}{
+ <-> ssub * Junicode-TOsF/condensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{sl}{
- <-> ssub * Junicode-TOsF/sb/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{c}{sl}{
+ <-> ssub * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{sl}{
- <-> ssub * Junicode-TOsF/semibold/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{sl}{
+ <-> ssub * Junicode-TOsF/condensed/it
}{}
-% ---- sc = semicondensed ----
+% ---- x = expanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{sc}{
- <-> alias * Junicode-TOsF/sc/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{n}{
+ <-> alias * Junicode-TOsF/x/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{n}{
- <-> alias * Junicode-TOsF/sc/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{sc}{
+ <-> alias * Junicode-TOsF/x/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{it}{
- <-> alias * Junicode-TOsF/sc/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{it}{
+ <-> alias * Junicode-TOsF/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{scit}{
- <-> alias * Junicode-TOsF/sc/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{scit}{
+ <-> alias * Junicode-TOsF/x/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{scsl}{
- <-> ssub * Junicode-TOsF/sc/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{x}{scsl}{
+ <-> ssub * Junicode-TOsF/x/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/semicondensed/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{scsl}{
+ <-> ssub * Junicode-TOsF/expanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{sl}{
- <-> ssub * Junicode-TOsF/sc/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{x}{sl}{
+ <-> ssub * Junicode-TOsF/x/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{sl}{
- <-> ssub * Junicode-TOsF/semicondensed/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{sl}{
+ <-> ssub * Junicode-TOsF/expanded/it
}{}
@@ -386,10 +410,6 @@
<-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-ot1
-}{}
-
\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
<-> \Junicode@@scale Junicode-SmExpMedium-tosf-ot1
}{}
@@ -398,6 +418,10 @@
<-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-ot1
}{}
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-ot1
+}{}
+
\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
<-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
}{}
@@ -407,465 +431,441 @@
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TOsF/lsc/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sbsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TOsF/lsc/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TOsF/lsc/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TOsF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{scsl}{
- <-> ssub * Junicode-TOsF/lsc/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TOsF/sbsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lsc}{sl}{
- <-> ssub * Junicode-TOsF/lsc/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{sl}{
+ <-> ssub * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
}{}
-% ---- bsx = boldsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-TOsF/bsx/scit
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-TOsF/bsx/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/bsx/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/bsx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{scsl}{
- <-> ssub * Junicode-TOsF/bsx/scit
-}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/scit
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{sl}{
- <-> ssub * Junicode-TOsF/bsx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbx/it
}{}
-
-% ---- mediumcondensed ----
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sbx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sbx/sc
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{scsl}{
+ <-> ssub * Junicode-TOsF/sbx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/sbsx/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiboldexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sbx}{sl}{
+ <-> ssub * Junicode-TOsF/sbx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldexpanded/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-ot1
-}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TOsF/sbsx/sc
-}{}
+% ---- mediumsemicondensed ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TOsF/sbsx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{scsl}{
- <-> ssub * Junicode-TOsF/sbsx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sbsx}{sl}{
- <-> ssub * Junicode-TOsF/sbsx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/it
}{}
-% ---- b = bold ----
+% ---- sb = semibold ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{n}{
- <-> alias * Junicode-TOsF/b/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{n}{
+ <-> alias * Junicode-TOsF/sb/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{it}{
- <-> alias * Junicode-TOsF/b/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{sc}{
+ <-> alias * Junicode-TOsF/sb/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{sc}{
- <-> alias * Junicode-TOsF/b/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{it}{
+ <-> alias * Junicode-TOsF/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{scit}{
- <-> alias * Junicode-TOsF/b/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{scit}{
+ <-> alias * Junicode-TOsF/sb/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{b}{scsl}{
- <-> ssub * Junicode-TOsF/b/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{scsl}{
+ <-> ssub * Junicode-TOsF/sb/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{scsl}{
- <-> ssub * Junicode-TOsF/bold/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{scsl}{
+ <-> ssub * Junicode-TOsF/semibold/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{b}{sl}{
- <-> ssub * Junicode-TOsF/b/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{sb}{sl}{
+ <-> ssub * Junicode-TOsF/sb/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{sl}{
- <-> ssub * Junicode-TOsF/bold/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semibold}{sl}{
+ <-> ssub * Junicode-TOsF/semibold/it
}{}
-% ---- lc = lightcondensed ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{scit}{
- <-> alias * Junicode-TOsF/lc/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{it}{
+ <-> alias * Junicode-TOsF/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{it}{
- <-> alias * Junicode-TOsF/lc/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{scit}{
+ <-> alias * Junicode-TOsF/sc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{n}{
- <-> alias * Junicode-TOsF/lc/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{n}{
+ <-> alias * Junicode-TOsF/sc/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{sc}{
- <-> alias * Junicode-TOsF/lc/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{sc}{
+ <-> alias * Junicode-TOsF/sc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{scsl}{
- <-> ssub * Junicode-TOsF/lc/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{scsl}{
+ <-> ssub * Junicode-TOsF/sc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightcondensed/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/semicondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{sl}{
- <-> ssub * Junicode-TOsF/lc/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{sc}{sl}{
+ <-> ssub * Junicode-TOsF/sc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightcondensed/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{semicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/semicondensed/it
}{}
-% ---- x = expanded ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{n}{
- <-> alias * Junicode-TOsF/x/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{it}{
- <-> alias * Junicode-TOsF/x/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{sc}{
- <-> alias * Junicode-TOsF/x/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bsx/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{scit}{
- <-> alias * Junicode-TOsF/x/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/bsx/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{x}{scsl}{
- <-> ssub * Junicode-TOsF/x/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{scsl}{
+ <-> ssub * Junicode-TOsF/bsx/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{scsl}{
- <-> ssub * Junicode-TOsF/expanded/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{x}{sl}{
- <-> ssub * Junicode-TOsF/x/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{bsx}{sl}{
+ <-> ssub * Junicode-TOsF/bsx/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{expanded}{sl}{
- <-> ssub * Junicode-TOsF/expanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/it
}{}
-% ---- c = condensed ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{sc}{
- <-> alias * Junicode-TOsF/c/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TOsF/lc/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{it}{
- <-> alias * Junicode-TOsF/c/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{n}{
+ <-> alias * Junicode-TOsF/lc/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{n}{
- <-> alias * Junicode-TOsF/c/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TOsF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{scit}{
- <-> alias * Junicode-TOsF/c/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{it}{
+ <-> alias * Junicode-TOsF/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{c}{scsl}{
- <-> ssub * Junicode-TOsF/c/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{scsl}{
+ <-> ssub * Junicode-TOsF/lc/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{scsl}{
- <-> ssub * Junicode-TOsF/condensed/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{c}{sl}{
- <-> ssub * Junicode-TOsF/c/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{lc}{sl}{
+ <-> ssub * Junicode-TOsF/lc/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{condensed}{sl}{
- <-> ssub * Junicode-TOsF/condensed/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- b = bold ----
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{sc}{
+ <-> alias * Junicode-TOsF/b/sc
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{n}{
+ <-> alias * Junicode-TOsF/b/n
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{scit}{
+ <-> alias * Junicode-TOsF/b/scit
}{}
-
-% ---- sx = semiexpanded ----
-
-\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{scit}{
- <-> alias * Junicode-TOsF/sx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{it}{
+ <-> alias * Junicode-TOsF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-sc-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{b}{scsl}{
+ <-> ssub * Junicode-TOsF/b/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{sc}{
- <-> alias * Junicode-TOsF/sx/sc
+\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{scsl}{
+ <-> ssub * Junicode-TOsF/bold/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-ot1
+\DeclareFontShape{OT1}{Junicode-TOsF}{b}{sl}{
+ <-> ssub * Junicode-TOsF/b/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{n}{
- <-> alias * Junicode-TOsF/sx/n
+\DeclareFontShape{OT1}{Junicode-TOsF}{bold}{sl}{
+ <-> ssub * Junicode-TOsF/bold/it
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-ot1
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{it}{
- <-> alias * Junicode-TOsF/sx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{scsl}{
- <-> ssub * Junicode-TOsF/sx/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiexpanded/scit
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-ot1
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{sx}{sl}{
- <-> ssub * Junicode-TOsF/sx/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/scit
}{}
-\DeclareFontShape{OT1}{Junicode-TOsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiexpanded/it
+\DeclareFontShape{OT1}{Junicode-TOsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/T1Junicode-Inf.fd b/Master/texmf-dist/tex/latex/junicode/T1Junicode-Inf.fd
index fc5a0aaaee1..847a5511252 100644
--- a/Master/texmf-dist/tex/latex/junicode/T1Junicode-Inf.fd
+++ b/Master/texmf-dist/tex/latex/junicode/T1Junicode-Inf.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{T1Junicode-Inf.fd}
- [2024/01/08 (autoinst) Font definitions for T1/Junicode-Inf.]
+ [2024/06/03 (autoinst) Font definitions for T1/Junicode-Inf.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,23 +20,16 @@
\DeclareFontFamily{T1}{Junicode-Inf}{}
-% ---- mediumcondensed ----
-
-\DeclareFontShape{T1}{Junicode-Inf}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-inf-t1
-}{}
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-Inf}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{mediumcondensed}{sl}{
- <-> ssub * Junicode-Inf/mediumcondensed/it
+\DeclareFontShape{T1}{Junicode-Inf}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/sbsx/it
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
\DeclareFontShape{T1}{Junicode-Inf}{sbsx}{n}{
<-> \Junicode@@scale Junicode-SmExpSmBold-inf-t1
}{}
@@ -45,14 +38,6 @@
<-> alias * Junicode-Inf/sbsx/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-inf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-Inf}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/sbsx/it
-}{}
-
\DeclareFontShape{T1}{Junicode-Inf}{sbsx}{sl}{
<-> ssub * Junicode-Inf/sbsx/it
}{}
@@ -62,104 +47,100 @@
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- mediumexpanded ----
-\DeclareFontShape{T1}{Junicode-Inf}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Inf/bsx/n
+\DeclareFontShape{T1}{Junicode-Inf}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Inf/bsx/it
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-Inf}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bsx}{sl}{
- <-> ssub * Junicode-Inf/bsx/it
+\DeclareFontShape{T1}{Junicode-Inf}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-Inf}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemiexpanded/it
}{}
-% ---- lc = lightcondensed ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{T1}{Junicode-Inf}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lightcondensed}{n}{
- <-> alias * Junicode-Inf/lc/n
+\DeclareFontShape{T1}{Junicode-Inf}{semiexpanded}{n}{
+ <-> alias * Junicode-Inf/sx/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lightcondensed}{it}{
- <-> alias * Junicode-Inf/lc/it
+\DeclareFontShape{T1}{Junicode-Inf}{semiexpanded}{it}{
+ <-> alias * Junicode-Inf/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lc}{sl}{
- <-> ssub * Junicode-Inf/lc/it
+\DeclareFontShape{T1}{Junicode-Inf}{sx}{sl}{
+ <-> ssub * Junicode-Inf/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lightcondensed}{sl}{
- <-> ssub * Junicode-Inf/lightcondensed/it
+\DeclareFontShape{T1}{Junicode-Inf}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiexpanded/it
}{}
-% ---- b = bold ----
+% ---- c = condensed ----
-\DeclareFontShape{T1}{Junicode-Inf}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bold}{n}{
- <-> alias * Junicode-Inf/b/n
+\DeclareFontShape{T1}{Junicode-Inf}{condensed}{it}{
+ <-> alias * Junicode-Inf/c/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bold}{it}{
- <-> alias * Junicode-Inf/b/it
+\DeclareFontShape{T1}{Junicode-Inf}{condensed}{n}{
+ <-> alias * Junicode-Inf/c/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{b}{sl}{
- <-> ssub * Junicode-Inf/b/it
+\DeclareFontShape{T1}{Junicode-Inf}{c}{sl}{
+ <-> ssub * Junicode-Inf/c/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bold}{sl}{
- <-> ssub * Junicode-Inf/bold/it
+\DeclareFontShape{T1}{Junicode-Inf}{condensed}{sl}{
+ <-> ssub * Junicode-Inf/condensed/it
}{}
-% ---- mediumexpanded ----
-
-\DeclareFontShape{T1}{Junicode-Inf}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-inf-t1
-}{}
+% ---- x = expanded ----
-\DeclareFontShape{T1}{Junicode-Inf}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumexpanded/it
+\DeclareFontShape{T1}{Junicode-Inf}{expanded}{it}{
+ <-> alias * Junicode-Inf/x/it
}{}
-
-% ---- x = expanded ----
-
\DeclareFontShape{T1}{Junicode-Inf}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-inf-t1
}{}
@@ -168,14 +149,6 @@
<-> alias * Junicode-Inf/x/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-inf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-Inf}{expanded}{it}{
- <-> alias * Junicode-Inf/x/it
-}{}
-
\DeclareFontShape{T1}{Junicode-Inf}{x}{sl}{
<-> ssub * Junicode-Inf/x/it
}{}
@@ -185,70 +158,77 @@
}{}
-% ---- c = condensed ----
+% ---- m = regular ----
-\DeclareFontShape{T1}{Junicode-Inf}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{condensed}{n}{
- <-> alias * Junicode-Inf/c/n
+\DeclareFontShape{T1}{Junicode-Inf}{regular}{n}{
+ <-> alias * Junicode-Inf/m/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{condensed}{it}{
- <-> alias * Junicode-Inf/c/it
+\DeclareFontShape{T1}{Junicode-Inf}{regular}{it}{
+ <-> alias * Junicode-Inf/m/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{c}{sl}{
- <-> ssub * Junicode-Inf/c/it
+\DeclareFontShape{T1}{Junicode-Inf}{m}{sl}{
+ <-> ssub * Junicode-Inf/m/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{condensed}{sl}{
- <-> ssub * Junicode-Inf/condensed/it
+\DeclareFontShape{T1}{Junicode-Inf}{regular}{sl}{
+ <-> ssub * Junicode-Inf/regular/it
}{}
-% ---- sx = semiexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{T1}{Junicode-Inf}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semiexpanded}{it}{
- <-> alias * Junicode-Inf/sx/it
+\DeclareFontShape{T1}{Junicode-Inf}{lightsemicondensed}{n}{
+ <-> alias * Junicode-Inf/lsc/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semiexpanded}{n}{
- <-> alias * Junicode-Inf/sx/n
+\DeclareFontShape{T1}{Junicode-Inf}{lightsemicondensed}{it}{
+ <-> alias * Junicode-Inf/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{sx}{sl}{
- <-> ssub * Junicode-Inf/sx/it
+\DeclareFontShape{T1}{Junicode-Inf}{lsc}{sl}{
+ <-> ssub * Junicode-Inf/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semiexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiexpanded/it
+\DeclareFontShape{T1}{Junicode-Inf}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-Inf/lightsemicondensed/it
}{}
-% ---- l = light ----
+% ---- medium ----
-\DeclareFontShape{T1}{Junicode-Inf}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{light}{n}{
- <-> alias * Junicode-Inf/l/n
+\DeclareFontShape{T1}{Junicode-Inf}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-inf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Inf}{medium}{sl}{
+ <-> ssub * Junicode-Inf/medium/it
}{}
+
+% ---- l = light ----
+
\DeclareFontShape{T1}{Junicode-Inf}{l}{it}{
<-> \Junicode@@scale Junicode-LightItalic-inf-t1
}{}
@@ -257,6 +237,14 @@
<-> alias * Junicode-Inf/l/it
}{}
+\DeclareFontShape{T1}{Junicode-Inf}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-inf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Inf}{light}{n}{
+ <-> alias * Junicode-Inf/l/n
+}{}
+
\DeclareFontShape{T1}{Junicode-Inf}{l}{sl}{
<-> ssub * Junicode-Inf/l/it
}{}
@@ -266,142 +254,158 @@
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{T1}{Junicode-Inf}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semiboldexpanded}{n}{
- <-> alias * Junicode-Inf/sbx/n
+\DeclareFontShape{T1}{Junicode-Inf}{boldexpanded}{n}{
+ <-> alias * Junicode-Inf/bx/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semiboldexpanded}{it}{
- <-> alias * Junicode-Inf/sbx/it
+\DeclareFontShape{T1}{Junicode-Inf}{boldexpanded}{it}{
+ <-> alias * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{sbx}{sl}{
- <-> ssub * Junicode-Inf/sbx/it
+\DeclareFontShape{T1}{Junicode-Inf}{bx}{sl}{
+ <-> ssub * Junicode-Inf/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-Inf/semiboldexpanded/it
+\DeclareFontShape{T1}{Junicode-Inf}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldexpanded/it
}{}
-% ---- medium ----
+% ---- mediumcondensed ----
-\DeclareFontShape{T1}{Junicode-Inf}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{medium}{sl}{
- <-> ssub * Junicode-Inf/medium/it
+\DeclareFontShape{T1}{Junicode-Inf}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-Inf/mediumcondensed/it
}{}
-% ---- mediumsemicondensed ----
+% ---- b = bold ----
-\DeclareFontShape{T1}{Junicode-Inf}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{bold}{n}{
+ <-> alias * Junicode-Inf/b/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-Inf/mediumsemicondensed/it
+\DeclareFontShape{T1}{Junicode-Inf}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-inf-t1
}{}
+\DeclareFontShape{T1}{Junicode-Inf}{bold}{it}{
+ <-> alias * Junicode-Inf/b/it
+}{}
-% ---- m = regular ----
+\DeclareFontShape{T1}{Junicode-Inf}{b}{sl}{
+ <-> ssub * Junicode-Inf/b/it
+}{}
-\DeclareFontShape{T1}{Junicode-Inf}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{bold}{sl}{
+ <-> ssub * Junicode-Inf/bold/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{regular}{it}{
- <-> alias * Junicode-Inf/m/it
+
+% ---- bsx = boldsemiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-Inf}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Inf/bsx/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{regular}{n}{
- <-> alias * Junicode-Inf/m/n
+\DeclareFontShape{T1}{Junicode-Inf}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{m}{sl}{
- <-> ssub * Junicode-Inf/m/it
+\DeclareFontShape{T1}{Junicode-Inf}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Inf/bsx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{regular}{sl}{
- <-> ssub * Junicode-Inf/regular/it
+\DeclareFontShape{T1}{Junicode-Inf}{bsx}{sl}{
+ <-> ssub * Junicode-Inf/bsx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-Inf}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Inf/boldsemiexpanded/it
}{}
-% ---- bx = boldexpanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{T1}{Junicode-Inf}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{boldexpanded}{n}{
- <-> alias * Junicode-Inf/bx/n
+\DeclareFontShape{T1}{Junicode-Inf}{lightcondensed}{n}{
+ <-> alias * Junicode-Inf/lc/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{boldexpanded}{it}{
- <-> alias * Junicode-Inf/bx/it
+\DeclareFontShape{T1}{Junicode-Inf}{lightcondensed}{it}{
+ <-> alias * Junicode-Inf/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{bx}{sl}{
- <-> ssub * Junicode-Inf/bx/it
+\DeclareFontShape{T1}{Junicode-Inf}{lc}{sl}{
+ <-> ssub * Junicode-Inf/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{boldexpanded}{sl}{
- <-> ssub * Junicode-Inf/boldexpanded/it
+\DeclareFontShape{T1}{Junicode-Inf}{lightcondensed}{sl}{
+ <-> ssub * Junicode-Inf/lightcondensed/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{T1}{Junicode-Inf}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{semicondensed}{it}{
+ <-> alias * Junicode-Inf/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Inf/mediumsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-Inf}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-inf-t1
}{}
+\DeclareFontShape{T1}{Junicode-Inf}{semicondensed}{n}{
+ <-> alias * Junicode-Inf/sc/n
+}{}
-% ---- sb = semibold ----
-
-\DeclareFontShape{T1}{Junicode-Inf}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sc}{sl}{
+ <-> ssub * Junicode-Inf/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semibold}{it}{
- <-> alias * Junicode-Inf/sb/it
+\DeclareFontShape{T1}{Junicode-Inf}{semicondensed}{sl}{
+ <-> ssub * Junicode-Inf/semicondensed/it
}{}
+
+% ---- sb = semibold ----
+
\DeclareFontShape{T1}{Junicode-Inf}{sb}{n}{
<-> \Junicode@@scale Junicode-SmBold-inf-t1
}{}
@@ -410,6 +414,14 @@
<-> alias * Junicode-Inf/sb/n
}{}
+\DeclareFontShape{T1}{Junicode-Inf}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-inf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Inf}{semibold}{it}{
+ <-> alias * Junicode-Inf/sb/it
+}{}
+
\DeclareFontShape{T1}{Junicode-Inf}{sb}{sl}{
<-> ssub * Junicode-Inf/sb/it
}{}
@@ -419,57 +431,45 @@
}{}
-% ---- sc = semicondensed ----
-
-\DeclareFontShape{T1}{Junicode-Inf}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-inf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-Inf}{semicondensed}{n}{
- <-> alias * Junicode-Inf/sc/n
-}{}
-
-\DeclareFontShape{T1}{Junicode-Inf}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-inf-t1
-}{}
+% ---- mediumsemicondensed ----
-\DeclareFontShape{T1}{Junicode-Inf}{semicondensed}{it}{
- <-> alias * Junicode-Inf/sc/it
+\DeclareFontShape{T1}{Junicode-Inf}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{sc}{sl}{
- <-> ssub * Junicode-Inf/sc/it
+\DeclareFontShape{T1}{Junicode-Inf}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{semicondensed}{sl}{
- <-> ssub * Junicode-Inf/semicondensed/it
+\DeclareFontShape{T1}{Junicode-Inf}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-Inf/mediumsemicondensed/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{T1}{Junicode-Inf}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lightsemicondensed}{n}{
- <-> alias * Junicode-Inf/lsc/n
+\DeclareFontShape{T1}{Junicode-Inf}{semiboldexpanded}{it}{
+ <-> alias * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-inf-t1
+\DeclareFontShape{T1}{Junicode-Inf}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-inf-t1
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lightsemicondensed}{it}{
- <-> alias * Junicode-Inf/lsc/it
+\DeclareFontShape{T1}{Junicode-Inf}{semiboldexpanded}{n}{
+ <-> alias * Junicode-Inf/sbx/n
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lsc}{sl}{
- <-> ssub * Junicode-Inf/lsc/it
+\DeclareFontShape{T1}{Junicode-Inf}{sbx}{sl}{
+ <-> ssub * Junicode-Inf/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-Inf}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-Inf/lightsemicondensed/it
+\DeclareFontShape{T1}{Junicode-Inf}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-Inf/semiboldexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/T1Junicode-LF.fd b/Master/texmf-dist/tex/latex/junicode/T1Junicode-LF.fd
index c29e820830f..e694d9fc06b 100644
--- a/Master/texmf-dist/tex/latex/junicode/T1Junicode-LF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/T1Junicode-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{T1Junicode-LF.fd}
- [2024/01/08 (autoinst) Font definitions for T1/Junicode-LF.]
+ [2024/06/03 (autoinst) Font definitions for T1/Junicode-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,67 +20,67 @@
\DeclareFontFamily{T1}{Junicode-LF}{}
-% ---- sx = semiexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-LF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{scit}{
- <-> alias * Junicode-LF/sx/scit
+\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/sbsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{it}{
- <-> alias * Junicode-LF/sx/it
+\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{n}{
- <-> alias * Junicode-LF/sx/n
+\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/sbsx/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{sc}{
- <-> alias * Junicode-LF/sx/sc
+\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/sbsx/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sx}{scsl}{
- <-> ssub * Junicode-LF/sx/scit
+\DeclareFontShape{T1}{Junicode-LF}{sbsx}{scsl}{
+ <-> ssub * Junicode-LF/sbsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiexpanded/scit
+\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sx}{sl}{
- <-> ssub * Junicode-LF/sx/it
+\DeclareFontShape{T1}{Junicode-LF}{sbsx}{sl}{
+ <-> ssub * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiexpanded/it
+\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/it
}{}
% ---- mediumexpanded ----
-\DeclareFontShape{T1}{Junicode-LF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-t1
-}{}
-
\DeclareFontShape{T1}{Junicode-LF}{mediumexpanded}{it}{
<-> \Junicode@@scale Junicode-ExpMediumItalic-lf-t1
}{}
+\DeclareFontShape{T1}{Junicode-LF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-sc-t1
+}{}
+
\DeclareFontShape{T1}{Junicode-LF}{mediumexpanded}{n}{
<-> \Junicode@@scale Junicode-ExpMedium-lf-t1
}{}
@@ -98,16 +98,86 @@
}{}
-% ---- x = expanded ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-LF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{expanded}{scit}{
- <-> alias * Junicode-LF/x/scit
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/it
+}{}
+
+
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-LF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-lf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{scit}{
+ <-> alias * Junicode-LF/sx/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{it}{
+ <-> alias * Junicode-LF/sx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{sc}{
+ <-> alias * Junicode-LF/sx/sc
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{n}{
+ <-> alias * Junicode-LF/sx/n
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{sx}{scsl}{
+ <-> ssub * Junicode-LF/sx/scit
}{}
+\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/semiexpanded/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{sx}{sl}{
+ <-> ssub * Junicode-LF/sx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiexpanded/it
+}{}
+
+
+% ---- x = expanded ----
+
\DeclareFontShape{T1}{Junicode-LF}{x}{it}{
<-> \Junicode@@scale Junicode-ExpItalic-lf-t1
}{}
@@ -116,6 +186,14 @@
<-> alias * Junicode-LF/x/it
}{}
+\DeclareFontShape{T1}{Junicode-LF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-lf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{expanded}{scit}{
+ <-> alias * Junicode-LF/x/scit
+}{}
+
\DeclareFontShape{T1}{Junicode-LF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-lf-t1
}{}
@@ -159,6 +237,14 @@
<-> alias * Junicode-LF/c/scit
}{}
+\DeclareFontShape{T1}{Junicode-LF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-LF}{condensed}{it}{
+ <-> alias * Junicode-LF/c/it
+}{}
+
\DeclareFontShape{T1}{Junicode-LF}{c}{sc}{
<-> \Junicode@@scale Junicode-Cond-lf-sc-t1
}{}
@@ -175,14 +261,6 @@
<-> alias * Junicode-LF/c/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-lf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{condensed}{it}{
- <-> alias * Junicode-LF/c/it
-}{}
-
\DeclareFontShape{T1}{Junicode-LF}{c}{scsl}{
<-> ssub * Junicode-LF/c/scit
}{}
@@ -200,599 +278,556 @@
}{}
-% ---- lc = lightcondensed ----
+% ---- m = regular ----
-\DeclareFontShape{T1}{Junicode-LF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{scit}{
- <-> alias * Junicode-LF/lc/scit
+\DeclareFontShape{T1}{Junicode-LF}{regular}{it}{
+ <-> alias * Junicode-LF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{n}{
- <-> alias * Junicode-LF/lc/n
+\DeclareFontShape{T1}{Junicode-LF}{regular}{scit}{
+ <-> alias * Junicode-LF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{it}{
- <-> alias * Junicode-LF/lc/it
+\DeclareFontShape{T1}{Junicode-LF}{regular}{n}{
+ <-> alias * Junicode-LF/m/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{sc}{
- <-> alias * Junicode-LF/lc/sc
+\DeclareFontShape{T1}{Junicode-LF}{regular}{sc}{
+ <-> alias * Junicode-LF/m/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lc}{scsl}{
- <-> ssub * Junicode-LF/lc/scit
+\DeclareFontShape{T1}{Junicode-LF}{m}{scsl}{
+ <-> ssub * Junicode-LF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-LF/lightcondensed/scit
+\DeclareFontShape{T1}{Junicode-LF}{regular}{scsl}{
+ <-> ssub * Junicode-LF/regular/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lc}{sl}{
- <-> ssub * Junicode-LF/lc/it
+\DeclareFontShape{T1}{Junicode-LF}{m}{sl}{
+ <-> ssub * Junicode-LF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{sl}{
- <-> ssub * Junicode-LF/lightcondensed/it
+\DeclareFontShape{T1}{Junicode-LF}{regular}{sl}{
+ <-> ssub * Junicode-LF/regular/it
}{}
-% ---- b = bold ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{T1}{Junicode-LF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bold}{scit}{
- <-> alias * Junicode-LF/b/scit
+\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-LF/lsc/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bold}{it}{
- <-> alias * Junicode-LF/b/it
+\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-LF/lsc/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bold}{n}{
- <-> alias * Junicode-LF/b/n
+\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bold}{sc}{
- <-> alias * Junicode-LF/b/sc
+\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{b}{scsl}{
- <-> ssub * Junicode-LF/b/scit
+\DeclareFontShape{T1}{Junicode-LF}{lsc}{scsl}{
+ <-> ssub * Junicode-LF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bold}{scsl}{
- <-> ssub * Junicode-LF/bold/scit
+\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{b}{sl}{
- <-> ssub * Junicode-LF/b/it
+\DeclareFontShape{T1}{Junicode-LF}{lsc}{sl}{
+ <-> ssub * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bold}{sl}{
- <-> ssub * Junicode-LF/bold/it
+\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- medium ----
-\DeclareFontShape{T1}{Junicode-LF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-LF/sbsx/n
+\DeclareFontShape{T1}{Junicode-LF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-LF/sbsx/it
+\DeclareFontShape{T1}{Junicode-LF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{medium}{scsl}{
+ <-> ssub * Junicode-LF/medium/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/sbsx/sc
+\DeclareFontShape{T1}{Junicode-LF}{medium}{sl}{
+ <-> ssub * Junicode-LF/medium/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-sc-t1
-}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/sbsx/scit
-}{}
+% ---- l = light ----
-\DeclareFontShape{T1}{Junicode-LF}{sbsx}{scsl}{
- <-> ssub * Junicode-LF/sbsx/scit
+\DeclareFontShape{T1}{Junicode-LF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-LF}{light}{sc}{
+ <-> alias * Junicode-LF/l/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sbsx}{sl}{
- <-> ssub * Junicode-LF/sbsx/it
+\DeclareFontShape{T1}{Junicode-LF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-LF}{light}{n}{
+ <-> alias * Junicode-LF/l/n
}{}
+\DeclareFontShape{T1}{Junicode-LF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-sc-t1
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{T1}{Junicode-LF}{light}{scit}{
+ <-> alias * Junicode-LF/l/scit
+}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{light}{it}{
+ <-> alias * Junicode-LF/l/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{l}{scsl}{
+ <-> ssub * Junicode-LF/l/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{light}{scsl}{
+ <-> ssub * Junicode-LF/light/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumcondensed/scit
+\DeclareFontShape{T1}{Junicode-LF}{l}{sl}{
+ <-> ssub * Junicode-LF/l/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-LF/mediumcondensed/it
+\DeclareFontShape{T1}{Junicode-LF}{light}{sl}{
+ <-> ssub * Junicode-LF/light/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{T1}{Junicode-LF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-LF/bsx/it
+\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{scit}{
+ <-> alias * Junicode-LF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-LF/bsx/n
+\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{it}{
+ <-> alias * Junicode-LF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-LF/bsx/sc
+\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{sc}{
+ <-> alias * Junicode-LF/bx/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-LF/bsx/scit
+\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{n}{
+ <-> alias * Junicode-LF/bx/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bsx}{scsl}{
- <-> ssub * Junicode-LF/bsx/scit
+\DeclareFontShape{T1}{Junicode-LF}{bx}{scsl}{
+ <-> ssub * Junicode-LF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-LF/boldexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bsx}{sl}{
- <-> ssub * Junicode-LF/bsx/it
+\DeclareFontShape{T1}{Junicode-LF}{bx}{sl}{
+ <-> ssub * Junicode-LF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldexpanded/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- mediumcondensed ----
-\DeclareFontShape{T1}{Junicode-LF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{it}{
- <-> alias * Junicode-LF/lsc/it
+\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{n}{
- <-> alias * Junicode-LF/lsc/n
+\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumcondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-LF/lsc/sc
+\DeclareFontShape{T1}{Junicode-LF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumcondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-sc-t1
-}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-LF/lsc/scit
-}{}
+% ---- b = bold ----
-\DeclareFontShape{T1}{Junicode-LF}{lsc}{scsl}{
- <-> ssub * Junicode-LF/lsc/scit
+\DeclareFontShape{T1}{Junicode-LF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/lightsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-LF}{bold}{n}{
+ <-> alias * Junicode-LF/b/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lsc}{sl}{
- <-> ssub * Junicode-LF/lsc/it
+\DeclareFontShape{T1}{Junicode-LF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-LF/lightsemicondensed/it
+\DeclareFontShape{T1}{Junicode-LF}{bold}{sc}{
+ <-> alias * Junicode-LF/b/sc
}{}
-
-% ---- mediumsemiexpanded ----
-
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{bold}{it}{
+ <-> alias * Junicode-LF/b/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bold}{scit}{
+ <-> alias * Junicode-LF/b/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-LF}{b}{scsl}{
+ <-> ssub * Junicode-LF/b/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-LF}{bold}{scsl}{
+ <-> ssub * Junicode-LF/bold/scit
}{}
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{T1}{Junicode-LF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{b}{sl}{
+ <-> ssub * Junicode-LF/b/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semibold}{n}{
- <-> alias * Junicode-LF/sb/n
+\DeclareFontShape{T1}{Junicode-LF}{bold}{sl}{
+ <-> ssub * Junicode-LF/bold/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-t1
-}{}
-\DeclareFontShape{T1}{Junicode-LF}{semibold}{it}{
- <-> alias * Junicode-LF/sb/it
-}{}
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-LF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semibold}{sc}{
- <-> alias * Junicode-LF/sb/sc
+\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-LF/bsx/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semibold}{scit}{
- <-> alias * Junicode-LF/sb/scit
+\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/bsx/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sb}{scsl}{
- <-> ssub * Junicode-LF/sb/scit
+\DeclareFontShape{T1}{Junicode-LF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semibold}{scsl}{
- <-> ssub * Junicode-LF/semibold/scit
+\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-LF/bsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sb}{sl}{
- <-> ssub * Junicode-LF/sb/it
+\DeclareFontShape{T1}{Junicode-LF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semibold}{sl}{
- <-> ssub * Junicode-LF/semibold/it
+\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/bsx/it
}{}
-
-% ---- sc = semicondensed ----
-
-\DeclareFontShape{T1}{Junicode-LF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bsx}{scsl}{
+ <-> ssub * Junicode-LF/bsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{scit}{
- <-> alias * Junicode-LF/sc/scit
+\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{bsx}{sl}{
+ <-> ssub * Junicode-LF/bsx/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{sc}{
- <-> alias * Junicode-LF/sc/sc
+\DeclareFontShape{T1}{Junicode-LF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-lf-t1
-}{}
-\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{it}{
- <-> alias * Junicode-LF/sc/it
-}{}
+% ---- lc = lightcondensed ----
-\DeclareFontShape{T1}{Junicode-LF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{n}{
- <-> alias * Junicode-LF/sc/n
+\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{n}{
+ <-> alias * Junicode-LF/lc/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sc}{scsl}{
- <-> ssub * Junicode-LF/sc/scit
+\DeclareFontShape{T1}{Junicode-LF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{scsl}{
- <-> ssub * Junicode-LF/semicondensed/scit
+\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{sc}{
+ <-> alias * Junicode-LF/lc/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sc}{sl}{
- <-> ssub * Junicode-LF/sc/it
+\DeclareFontShape{T1}{Junicode-LF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{sl}{
- <-> ssub * Junicode-LF/semicondensed/it
+\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{it}{
+ <-> alias * Junicode-LF/lc/it
}{}
-
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{scit}{
+ <-> alias * Junicode-LF/lc/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{lc}{scsl}{
+ <-> ssub * Junicode-LF/lc/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-LF/lightcondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-LF}{lc}{sl}{
+ <-> ssub * Junicode-LF/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/it
+\DeclareFontShape{T1}{Junicode-LF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-LF/lightcondensed/it
}{}
-% ---- m = regular ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{T1}{Junicode-LF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{regular}{scit}{
- <-> alias * Junicode-LF/m/scit
+\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{n}{
+ <-> alias * Junicode-LF/sc/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{regular}{it}{
- <-> alias * Junicode-LF/m/it
+\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{sc}{
+ <-> alias * Junicode-LF/sc/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{regular}{n}{
- <-> alias * Junicode-LF/m/n
+\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{it}{
+ <-> alias * Junicode-LF/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{regular}{sc}{
- <-> alias * Junicode-LF/m/sc
+\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{scit}{
+ <-> alias * Junicode-LF/sc/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{m}{scsl}{
- <-> ssub * Junicode-LF/m/scit
+\DeclareFontShape{T1}{Junicode-LF}{sc}{scsl}{
+ <-> ssub * Junicode-LF/sc/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{regular}{scsl}{
- <-> ssub * Junicode-LF/regular/scit
+\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-LF/semicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{m}{sl}{
- <-> ssub * Junicode-LF/m/it
+\DeclareFontShape{T1}{Junicode-LF}{sc}{sl}{
+ <-> ssub * Junicode-LF/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{regular}{sl}{
- <-> ssub * Junicode-LF/regular/it
+\DeclareFontShape{T1}{Junicode-LF}{semicondensed}{sl}{
+ <-> ssub * Junicode-LF/semicondensed/it
}{}
-% ---- bx = boldexpanded ----
+% ---- sb = semibold ----
-\DeclareFontShape{T1}{Junicode-LF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{scit}{
- <-> alias * Junicode-LF/bx/scit
+\DeclareFontShape{T1}{Junicode-LF}{semibold}{sc}{
+ <-> alias * Junicode-LF/sb/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{sc}{
- <-> alias * Junicode-LF/bx/sc
+\DeclareFontShape{T1}{Junicode-LF}{semibold}{n}{
+ <-> alias * Junicode-LF/sb/n
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{it}{
- <-> alias * Junicode-LF/bx/it
+\DeclareFontShape{T1}{Junicode-LF}{semibold}{scit}{
+ <-> alias * Junicode-LF/sb/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{n}{
- <-> alias * Junicode-LF/bx/n
+\DeclareFontShape{T1}{Junicode-LF}{semibold}{it}{
+ <-> alias * Junicode-LF/sb/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bx}{scsl}{
- <-> ssub * Junicode-LF/bx/scit
+\DeclareFontShape{T1}{Junicode-LF}{sb}{scsl}{
+ <-> ssub * Junicode-LF/sb/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-LF/boldexpanded/scit
+\DeclareFontShape{T1}{Junicode-LF}{semibold}{scsl}{
+ <-> ssub * Junicode-LF/semibold/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{bx}{sl}{
- <-> ssub * Junicode-LF/bx/it
+\DeclareFontShape{T1}{Junicode-LF}{sb}{sl}{
+ <-> ssub * Junicode-LF/sb/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{boldexpanded}{sl}{
- <-> ssub * Junicode-LF/boldexpanded/it
+\DeclareFontShape{T1}{Junicode-LF}{semibold}{sl}{
+ <-> ssub * Junicode-LF/semibold/it
}{}
-% ---- l = light ----
-
-\DeclareFontShape{T1}{Junicode-LF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{light}{scit}{
- <-> alias * Junicode-LF/l/scit
-}{}
+% ---- mediumsemicondensed ----
-\DeclareFontShape{T1}{Junicode-LF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-lf-sc-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{light}{sc}{
- <-> alias * Junicode-LF/l/sc
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{light}{it}{
- <-> alias * Junicode-LF/l/it
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-lf-t1
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-LF}{light}{n}{
- <-> alias * Junicode-LF/l/n
+\DeclareFontShape{T1}{Junicode-LF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-LF}{l}{scsl}{
- <-> ssub * Junicode-LF/l/scit
-}{}
-\DeclareFontShape{T1}{Junicode-LF}{light}{scsl}{
- <-> ssub * Junicode-LF/light/scit
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{T1}{Junicode-LF}{l}{sl}{
- <-> ssub * Junicode-LF/l/it
+\DeclareFontShape{T1}{Junicode-LF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-t1
}{}
-\DeclareFontShape{T1}{Junicode-LF}{light}{sl}{
- <-> ssub * Junicode-LF/light/it
+\DeclareFontShape{T1}{Junicode-LF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-LF/sbx/n
}{}
-
-% ---- sbx = semiboldexpanded ----
-
\DeclareFontShape{T1}{Junicode-LF}{sbx}{sc}{
<-> \Junicode@@scale Junicode-ExpSmBold-lf-sc-t1
}{}
@@ -801,14 +836,6 @@
<-> alias * Junicode-LF/sbx/sc
}{}
-\DeclareFontShape{T1}{Junicode-LF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{semiboldexpanded}{n}{
- <-> alias * Junicode-LF/sbx/n
-}{}
-
\DeclareFontShape{T1}{Junicode-LF}{sbx}{it}{
<-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-t1
}{}
@@ -842,33 +869,6 @@
}{}
-% ---- medium ----
-
-\DeclareFontShape{T1}{Junicode-LF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-lf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{medium}{scsl}{
- <-> ssub * Junicode-LF/medium/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-LF}{medium}{sl}{
- <-> ssub * Junicode-LF/medium/it
-}{}
-
-
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
\endinput
diff --git a/Master/texmf-dist/tex/latex/junicode/T1Junicode-OsF.fd b/Master/texmf-dist/tex/latex/junicode/T1Junicode-OsF.fd
index dc86930cedb..6af4216213e 100644
--- a/Master/texmf-dist/tex/latex/junicode/T1Junicode-OsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/T1Junicode-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{T1Junicode-OsF.fd}
- [2024/01/08 (autoinst) Font definitions for T1/Junicode-OsF.]
+ [2024/06/03 (autoinst) Font definitions for T1/Junicode-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,114 +20,8 @@
\DeclareFontFamily{T1}{Junicode-OsF}{}
-% ---- m = regular ----
-
-\DeclareFontShape{T1}{Junicode-OsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{regular}{n}{
- <-> alias * Junicode-OsF/m/n
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{regular}{it}{
- <-> alias * Junicode-OsF/m/it
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{regular}{sc}{
- <-> alias * Junicode-OsF/m/sc
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{regular}{scit}{
- <-> alias * Junicode-OsF/m/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{m}{scsl}{
- <-> ssub * Junicode-OsF/m/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{regular}{scsl}{
- <-> ssub * Junicode-OsF/regular/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{m}{sl}{
- <-> ssub * Junicode-OsF/m/it
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{regular}{sl}{
- <-> ssub * Junicode-OsF/regular/it
-}{}
-
-
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{T1}{Junicode-OsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{sc}{
- <-> alias * Junicode-OsF/bx/sc
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{it}{
- <-> alias * Junicode-OsF/bx/it
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{n}{
- <-> alias * Junicode-OsF/bx/n
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{scit}{
- <-> alias * Junicode-OsF/bx/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{bx}{scsl}{
- <-> ssub * Junicode-OsF/bx/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldexpanded/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{bx}{sl}{
- <-> ssub * Junicode-OsF/bx/it
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldexpanded/it
-}{}
-
-
% ---- mediumsemicondensed ----
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-t1
-}{}
-
\DeclareFontShape{T1}{Junicode-OsF}{mediumsemicondensed}{sc}{
<-> \Junicode@@scale Junicode-SmCondMedium-osf-sc-t1
}{}
@@ -136,6 +30,10 @@
<-> \Junicode@@scale Junicode-SmCondMedium-osf-t1
}{}
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-sc-t1
+}{}
+
\DeclareFontShape{T1}{Junicode-OsF}{mediumsemicondensed}{it}{
<-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-t1
}{}
@@ -149,35 +47,16 @@
}{}
-% ---- medium ----
-
-\DeclareFontShape{T1}{Junicode-OsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-t1
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{T1}{Junicode-OsF}{medium}{scsl}{
- <-> ssub * Junicode-OsF/medium/scit
+\DeclareFontShape{T1}{Junicode-OsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{medium}{sl}{
- <-> ssub * Junicode-OsF/medium/it
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-OsF/sbx/n
}{}
-
-% ---- sbx = semiboldexpanded ----
-
\DeclareFontShape{T1}{Junicode-OsF}{sbx}{sc}{
<-> \Junicode@@scale Junicode-ExpSmBold-osf-sc-t1
}{}
@@ -194,14 +73,6 @@
<-> alias * Junicode-OsF/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-osf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-OsF/sbx/n
-}{}
-
\DeclareFontShape{T1}{Junicode-OsF}{sbx}{scit}{
<-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-sc-t1
}{}
@@ -227,105 +98,156 @@
}{}
-% ---- l = light ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{T1}{Junicode-OsF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{light}{scit}{
- <-> alias * Junicode-OsF/l/scit
+\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{sc}{
+ <-> alias * Junicode-OsF/lc/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{light}{n}{
- <-> alias * Junicode-OsF/l/n
+\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{n}{
+ <-> alias * Junicode-OsF/lc/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{light}{it}{
- <-> alias * Junicode-OsF/l/it
+\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{scit}{
+ <-> alias * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{light}{sc}{
- <-> alias * Junicode-OsF/l/sc
+\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{it}{
+ <-> alias * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{l}{scsl}{
- <-> ssub * Junicode-OsF/l/scit
+\DeclareFontShape{T1}{Junicode-OsF}{lc}{scsl}{
+ <-> ssub * Junicode-OsF/lc/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{light}{scsl}{
- <-> ssub * Junicode-OsF/light/scit
+\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightcondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{l}{sl}{
- <-> ssub * Junicode-OsF/l/it
+\DeclareFontShape{T1}{Junicode-OsF}{lc}{sl}{
+ <-> ssub * Junicode-OsF/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{light}{sl}{
- <-> ssub * Junicode-OsF/light/it
+\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightcondensed/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-OsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-OsF/lsc/sc
+\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-OsF/lsc/n
+\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-OsF/lsc/it
+\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/bsx/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-OsF/lsc/scit
+\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/bsx/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lsc}{scsl}{
- <-> ssub * Junicode-OsF/lsc/scit
+\DeclareFontShape{T1}{Junicode-OsF}{bsx}{scsl}{
+ <-> ssub * Junicode-OsF/bsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lsc}{sl}{
- <-> ssub * Junicode-OsF/lsc/it
+\DeclareFontShape{T1}{Junicode-OsF}{bsx}{sl}{
+ <-> ssub * Junicode-OsF/bsx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/it
+\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldsemiexpanded/it
+}{}
+
+
+% ---- sc = semicondensed ----
+
+\DeclareFontShape{T1}{Junicode-OsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{scit}{
+ <-> alias * Junicode-OsF/sc/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{it}{
+ <-> alias * Junicode-OsF/sc/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{sc}{
+ <-> alias * Junicode-OsF/sc/sc
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{n}{
+ <-> alias * Junicode-OsF/sc/n
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sc}{scsl}{
+ <-> ssub * Junicode-OsF/sc/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/semicondensed/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sc}{sl}{
+ <-> ssub * Junicode-OsF/sc/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{sl}{
+ <-> ssub * Junicode-OsF/semicondensed/it
}{}
@@ -339,14 +261,6 @@
<-> alias * Junicode-OsF/sb/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{semibold}{sc}{
- <-> alias * Junicode-OsF/sb/sc
-}{}
-
\DeclareFontShape{T1}{Junicode-OsF}{sb}{it}{
<-> \Junicode@@scale Junicode-SmBoldItalic-osf-t1
}{}
@@ -355,6 +269,14 @@
<-> alias * Junicode-OsF/sb/it
}{}
+\DeclareFontShape{T1}{Junicode-OsF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semibold}{sc}{
+ <-> alias * Junicode-OsF/sb/sc
+}{}
+
\DeclareFontShape{T1}{Junicode-OsF}{sb}{n}{
<-> \Junicode@@scale Junicode-SmBold-osf-t1
}{}
@@ -380,376 +302,368 @@
}{}
-% ---- sc = semicondensed ----
+% ---- b = bold ----
-\DeclareFontShape{T1}{Junicode-OsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{scit}{
- <-> alias * Junicode-OsF/sc/scit
+\DeclareFontShape{T1}{Junicode-OsF}{bold}{it}{
+ <-> alias * Junicode-OsF/b/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{it}{
- <-> alias * Junicode-OsF/sc/it
+\DeclareFontShape{T1}{Junicode-OsF}{bold}{scit}{
+ <-> alias * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{n}{
- <-> alias * Junicode-OsF/sc/n
+\DeclareFontShape{T1}{Junicode-OsF}{bold}{n}{
+ <-> alias * Junicode-OsF/b/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{sc}{
- <-> alias * Junicode-OsF/sc/sc
+\DeclareFontShape{T1}{Junicode-OsF}{bold}{sc}{
+ <-> alias * Junicode-OsF/b/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sc}{scsl}{
- <-> ssub * Junicode-OsF/sc/scit
+\DeclareFontShape{T1}{Junicode-OsF}{b}{scsl}{
+ <-> ssub * Junicode-OsF/b/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{scsl}{
- <-> ssub * Junicode-OsF/semicondensed/scit
+\DeclareFontShape{T1}{Junicode-OsF}{bold}{scsl}{
+ <-> ssub * Junicode-OsF/bold/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sc}{sl}{
- <-> ssub * Junicode-OsF/sc/it
+\DeclareFontShape{T1}{Junicode-OsF}{b}{sl}{
+ <-> ssub * Junicode-OsF/b/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semicondensed}{sl}{
- <-> ssub * Junicode-OsF/semicondensed/it
+\DeclareFontShape{T1}{Junicode-OsF}{bold}{sl}{
+ <-> ssub * Junicode-OsF/bold/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- mediumcondensed ----
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/it
}{}
-% ---- b = bold ----
+% ---- l = light ----
-\DeclareFontShape{T1}{Junicode-OsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bold}{n}{
- <-> alias * Junicode-OsF/b/n
+\DeclareFontShape{T1}{Junicode-OsF}{light}{sc}{
+ <-> alias * Junicode-OsF/l/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bold}{it}{
- <-> alias * Junicode-OsF/b/it
+\DeclareFontShape{T1}{Junicode-OsF}{light}{n}{
+ <-> alias * Junicode-OsF/l/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bold}{sc}{
- <-> alias * Junicode-OsF/b/sc
+\DeclareFontShape{T1}{Junicode-OsF}{light}{scit}{
+ <-> alias * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bold}{scit}{
- <-> alias * Junicode-OsF/b/scit
+\DeclareFontShape{T1}{Junicode-OsF}{light}{it}{
+ <-> alias * Junicode-OsF/l/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{b}{scsl}{
- <-> ssub * Junicode-OsF/b/scit
+\DeclareFontShape{T1}{Junicode-OsF}{l}{scsl}{
+ <-> ssub * Junicode-OsF/l/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bold}{scsl}{
- <-> ssub * Junicode-OsF/bold/scit
+\DeclareFontShape{T1}{Junicode-OsF}{light}{scsl}{
+ <-> ssub * Junicode-OsF/light/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{b}{sl}{
- <-> ssub * Junicode-OsF/b/it
+\DeclareFontShape{T1}{Junicode-OsF}{l}{sl}{
+ <-> ssub * Junicode-OsF/l/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bold}{sl}{
- <-> ssub * Junicode-OsF/bold/it
+\DeclareFontShape{T1}{Junicode-OsF}{light}{sl}{
+ <-> ssub * Junicode-OsF/light/it
}{}
-% ---- lc = lightcondensed ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{T1}{Junicode-OsF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{scit}{
- <-> alias * Junicode-OsF/lc/scit
+\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-OsF/bx/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{it}{
- <-> alias * Junicode-OsF/lc/it
+\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{n}{
+ <-> alias * Junicode-OsF/bx/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{n}{
- <-> alias * Junicode-OsF/lc/n
+\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{sc}{
- <-> alias * Junicode-OsF/lc/sc
+\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{it}{
+ <-> alias * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lc}{scsl}{
- <-> ssub * Junicode-OsF/lc/scit
+\DeclareFontShape{T1}{Junicode-OsF}{bx}{scsl}{
+ <-> ssub * Junicode-OsF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-OsF/lightcondensed/scit
+\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/boldexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lc}{sl}{
- <-> ssub * Junicode-OsF/lc/it
+\DeclareFontShape{T1}{Junicode-OsF}{bx}{sl}{
+ <-> ssub * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-OsF/lightcondensed/it
+\DeclareFontShape{T1}{Junicode-OsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldexpanded/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- m = regular ----
-\DeclareFontShape{T1}{Junicode-OsF}{bsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/bsx/scit
+\DeclareFontShape{T1}{Junicode-OsF}{regular}{it}{
+ <-> alias * Junicode-OsF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/bsx/n
+\DeclareFontShape{T1}{Junicode-OsF}{regular}{scit}{
+ <-> alias * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/bsx/it
+\DeclareFontShape{T1}{Junicode-OsF}{regular}{n}{
+ <-> alias * Junicode-OsF/m/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpBold-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/bsx/sc
+\DeclareFontShape{T1}{Junicode-OsF}{regular}{sc}{
+ <-> alias * Junicode-OsF/m/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bsx}{scsl}{
- <-> ssub * Junicode-OsF/bsx/scit
+\DeclareFontShape{T1}{Junicode-OsF}{m}{scsl}{
+ <-> ssub * Junicode-OsF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-OsF}{regular}{scsl}{
+ <-> ssub * Junicode-OsF/regular/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{bsx}{sl}{
- <-> ssub * Junicode-OsF/bsx/it
+\DeclareFontShape{T1}{Junicode-OsF}{m}{sl}{
+ <-> ssub * Junicode-OsF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-OsF}{regular}{sl}{
+ <-> ssub * Junicode-OsF/regular/it
}{}
-% ---- mediumcondensed ----
+% ---- medium ----
-\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-OsF/mediumcondensed/scit
+\DeclareFontShape{T1}{Junicode-OsF}{medium}{scsl}{
+ <-> ssub * Junicode-OsF/medium/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumcondensed/it
+\DeclareFontShape{T1}{Junicode-OsF}{medium}{sl}{
+ <-> ssub * Junicode-OsF/medium/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-OsF/sbsx/scit
+\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-OsF/sbsx/sc
+\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-OsF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/sbsx/it
+\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-OsF/lsc/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/sbsx/n
+\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-OsF/lsc/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{scsl}{
- <-> ssub * Junicode-OsF/sbsx/scit
+\DeclareFontShape{T1}{Junicode-OsF}{lsc}{scsl}{
+ <-> ssub * Junicode-OsF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{sl}{
- <-> ssub * Junicode-OsF/sbsx/it
+\DeclareFontShape{T1}{Junicode-OsF}{lsc}{sl}{
+ <-> ssub * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-OsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/it
}{}
-% ---- sx = semiexpanded ----
+% ---- c = condensed ----
-\DeclareFontShape{T1}{Junicode-OsF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{scit}{
- <-> alias * Junicode-OsF/sx/scit
+\DeclareFontShape{T1}{Junicode-OsF}{condensed}{it}{
+ <-> alias * Junicode-OsF/c/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{n}{
- <-> alias * Junicode-OsF/sx/n
+\DeclareFontShape{T1}{Junicode-OsF}{condensed}{scit}{
+ <-> alias * Junicode-OsF/c/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{it}{
- <-> alias * Junicode-OsF/sx/it
+\DeclareFontShape{T1}{Junicode-OsF}{condensed}{n}{
+ <-> alias * Junicode-OsF/c/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{sc}{
- <-> alias * Junicode-OsF/sx/sc
+\DeclareFontShape{T1}{Junicode-OsF}{condensed}{sc}{
+ <-> alias * Junicode-OsF/c/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sx}{scsl}{
- <-> ssub * Junicode-OsF/sx/scit
+\DeclareFontShape{T1}{Junicode-OsF}{c}{scsl}{
+ <-> ssub * Junicode-OsF/c/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-OsF/semiexpanded/scit
+\DeclareFontShape{T1}{Junicode-OsF}{condensed}{scsl}{
+ <-> ssub * Junicode-OsF/condensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{sx}{sl}{
- <-> ssub * Junicode-OsF/sx/it
+\DeclareFontShape{T1}{Junicode-OsF}{c}{sl}{
+ <-> ssub * Junicode-OsF/c/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiexpanded/it
+\DeclareFontShape{T1}{Junicode-OsF}{condensed}{sl}{
+ <-> ssub * Junicode-OsF/condensed/it
}{}
% ---- x = expanded ----
-\DeclareFontShape{T1}{Junicode-OsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-OsF}{expanded}{scit}{
- <-> alias * Junicode-OsF/x/scit
-}{}
-
\DeclareFontShape{T1}{Junicode-OsF}{x}{it}{
<-> \Junicode@@scale Junicode-ExpItalic-osf-t1
}{}
@@ -758,6 +672,14 @@
<-> alias * Junicode-OsF/x/it
}{}
+\DeclareFontShape{T1}{Junicode-OsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{expanded}{scit}{
+ <-> alias * Junicode-OsF/x/scit
+}{}
+
\DeclareFontShape{T1}{Junicode-OsF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-osf-t1
}{}
@@ -791,54 +713,54 @@
}{}
-% ---- c = condensed ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{T1}{Junicode-OsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{condensed}{sc}{
- <-> alias * Junicode-OsF/c/sc
+\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sx/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{condensed}{n}{
- <-> alias * Junicode-OsF/c/n
+\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{it}{
+ <-> alias * Junicode-OsF/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-t1
+\DeclareFontShape{T1}{Junicode-OsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{condensed}{it}{
- <-> alias * Junicode-OsF/c/it
+\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sx/sc
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-sc-t1
+\DeclareFontShape{T1}{Junicode-OsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{condensed}{scit}{
- <-> alias * Junicode-OsF/c/scit
+\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{n}{
+ <-> alias * Junicode-OsF/sx/n
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{c}{scsl}{
- <-> ssub * Junicode-OsF/c/scit
+\DeclareFontShape{T1}{Junicode-OsF}{sx}{scsl}{
+ <-> ssub * Junicode-OsF/sx/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{condensed}{scsl}{
- <-> ssub * Junicode-OsF/condensed/scit
+\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{c}{sl}{
- <-> ssub * Junicode-OsF/c/it
+\DeclareFontShape{T1}{Junicode-OsF}{sx}{sl}{
+ <-> ssub * Junicode-OsF/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{condensed}{sl}{
- <-> ssub * Junicode-OsF/condensed/it
+\DeclareFontShape{T1}{Junicode-OsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiexpanded/it
}{}
@@ -848,6 +770,10 @@
<-> \Junicode@@scale Junicode-ExpMediumItalic-osf-t1
}{}
+\DeclareFontShape{T1}{Junicode-OsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-t1
+}{}
+
\DeclareFontShape{T1}{Junicode-OsF}{mediumexpanded}{n}{
<-> \Junicode@@scale Junicode-ExpMedium-osf-t1
}{}
@@ -856,10 +782,6 @@
<-> \Junicode@@scale Junicode-ExpMedium-osf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-OsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-sc-t1
-}{}
-
\DeclareFontShape{T1}{Junicode-OsF}{mediumexpanded}{scsl}{
<-> ssub * Junicode-OsF/mediumexpanded/scit
}{}
@@ -869,6 +791,84 @@
}{}
+% ---- sbsx = semiboldsemiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-OsF/sbsx/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/sbsx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-OsF/sbsx/sc
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/sbsx/n
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-OsF/sbsx/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{sbsx}{sl}{
+ <-> ssub * Junicode-OsF/sbsx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+}{}
+
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/it
+}{}
+
+
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
\endinput
diff --git a/Master/texmf-dist/tex/latex/junicode/T1Junicode-Sup.fd b/Master/texmf-dist/tex/latex/junicode/T1Junicode-Sup.fd
index dd925d3c938..dd152bd085e 100644
--- a/Master/texmf-dist/tex/latex/junicode/T1Junicode-Sup.fd
+++ b/Master/texmf-dist/tex/latex/junicode/T1Junicode-Sup.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{T1Junicode-Sup.fd}
- [2024/01/08 (autoinst) Font definitions for T1/Junicode-Sup.]
+ [2024/06/03 (autoinst) Font definitions for T1/Junicode-Sup.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,114 +20,168 @@
\DeclareFontFamily{T1}{Junicode-Sup}{}
-% ---- m = regular ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{T1}{Junicode-Sup}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{regular}{n}{
- <-> alias * Junicode-Sup/m/n
+\DeclareFontShape{T1}{Junicode-Sup}{semiexpanded}{n}{
+ <-> alias * Junicode-Sup/sx/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{regular}{it}{
- <-> alias * Junicode-Sup/m/it
+\DeclareFontShape{T1}{Junicode-Sup}{semiexpanded}{it}{
+ <-> alias * Junicode-Sup/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{m}{sl}{
- <-> ssub * Junicode-Sup/m/it
+\DeclareFontShape{T1}{Junicode-Sup}{sx}{sl}{
+ <-> ssub * Junicode-Sup/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{regular}{sl}{
- <-> ssub * Junicode-Sup/regular/it
+\DeclareFontShape{T1}{Junicode-Sup}{semiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiexpanded/it
}{}
-% ---- bx = boldexpanded ----
+% ---- x = expanded ----
-\DeclareFontShape{T1}{Junicode-Sup}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{boldexpanded}{it}{
- <-> alias * Junicode-Sup/bx/it
+\DeclareFontShape{T1}{Junicode-Sup}{expanded}{n}{
+ <-> alias * Junicode-Sup/x/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{boldexpanded}{n}{
- <-> alias * Junicode-Sup/bx/n
+\DeclareFontShape{T1}{Junicode-Sup}{expanded}{it}{
+ <-> alias * Junicode-Sup/x/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{bx}{sl}{
- <-> ssub * Junicode-Sup/bx/it
+\DeclareFontShape{T1}{Junicode-Sup}{x}{sl}{
+ <-> ssub * Junicode-Sup/x/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{boldexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{expanded}{sl}{
+ <-> ssub * Junicode-Sup/expanded/it
}{}
-% ---- mediumsemicondensed ----
+% ---- c = condensed ----
-\DeclareFontShape{T1}{Junicode-Sup}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{condensed}{n}{
+ <-> alias * Junicode-Sup/c/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-Sup/mediumsemicondensed/it
+\DeclareFontShape{T1}{Junicode-Sup}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-sup-t1
}{}
+\DeclareFontShape{T1}{Junicode-Sup}{condensed}{it}{
+ <-> alias * Junicode-Sup/c/it
+}{}
-% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{T1}{Junicode-Sup}{c}{sl}{
+ <-> ssub * Junicode-Sup/c/it
+}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{condensed}{sl}{
+ <-> ssub * Junicode-Sup/condensed/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiboldexpanded}{it}{
- <-> alias * Junicode-Sup/sbx/it
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-Sup}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiboldexpanded}{n}{
- <-> alias * Junicode-Sup/sbx/n
+\DeclareFontShape{T1}{Junicode-Sup}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumsemiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sbx}{sl}{
- <-> ssub * Junicode-Sup/sbx/it
+
+% ---- sbsx = semiboldsemiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-Sup}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiboldexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/sbsx/n
}{}
+\DeclareFontShape{T1}{Junicode-Sup}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-t1
+}{}
-% ---- medium ----
+\DeclareFontShape{T1}{Junicode-Sup}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/sbsx/it
+}{}
-\DeclareFontShape{T1}{Junicode-Sup}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sbsx}{sl}{
+ <-> ssub * Junicode-Sup/sbsx/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{medium}{sl}{
- <-> ssub * Junicode-Sup/medium/it
+
+% ---- mediumexpanded ----
+
+\DeclareFontShape{T1}{Junicode-Sup}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-sup-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-sup-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-Sup/mediumexpanded/it
+}{}
+
+
+% ---- bx = boldexpanded ----
+
+\DeclareFontShape{T1}{Junicode-Sup}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-sup-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{boldexpanded}{it}{
+ <-> alias * Junicode-Sup/bx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-sup-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{boldexpanded}{n}{
+ <-> alias * Junicode-Sup/bx/n
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{bx}{sl}{
+ <-> ssub * Junicode-Sup/bx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-Sup}{boldexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldexpanded/it
}{}
@@ -160,14 +214,6 @@
% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{T1}{Junicode-Sup}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-Sup}{lightsemicondensed}{it}{
- <-> alias * Junicode-Sup/lsc/it
-}{}
-
\DeclareFontShape{T1}{Junicode-Sup}{lsc}{n}{
<-> \Junicode@@scale Junicode-SmCondLight-sup-t1
}{}
@@ -176,81 +222,62 @@
<-> alias * Junicode-Sup/lsc/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{lsc}{sl}{
- <-> ssub * Junicode-Sup/lsc/it
+\DeclareFontShape{T1}{Junicode-Sup}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-Sup/lightsemicondensed/it
+\DeclareFontShape{T1}{Junicode-Sup}{lightsemicondensed}{it}{
+ <-> alias * Junicode-Sup/lsc/it
}{}
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{lsc}{sl}{
+ <-> ssub * Junicode-Sup/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semibold}{n}{
- <-> alias * Junicode-Sup/sb/n
+\DeclareFontShape{T1}{Junicode-Sup}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightsemicondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-sup-t1
-}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semibold}{it}{
- <-> alias * Junicode-Sup/sb/it
-}{}
+% ---- medium ----
-\DeclareFontShape{T1}{Junicode-Sup}{sb}{sl}{
- <-> ssub * Junicode-Sup/sb/it
+\DeclareFontShape{T1}{Junicode-Sup}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semibold}{sl}{
- <-> ssub * Junicode-Sup/semibold/it
+\DeclareFontShape{T1}{Junicode-Sup}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-sup-t1
}{}
-
-% ---- sc = semicondensed ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{medium}{sl}{
+ <-> ssub * Junicode-Sup/medium/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semicondensed}{n}{
- <-> alias * Junicode-Sup/sc/n
-}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-sup-t1
-}{}
+% ---- m = regular ----
-\DeclareFontShape{T1}{Junicode-Sup}{semicondensed}{it}{
- <-> alias * Junicode-Sup/sc/it
+\DeclareFontShape{T1}{Junicode-Sup}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sc}{sl}{
- <-> ssub * Junicode-Sup/sc/it
+\DeclareFontShape{T1}{Junicode-Sup}{regular}{it}{
+ <-> alias * Junicode-Sup/m/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semicondensed}{sl}{
- <-> ssub * Junicode-Sup/semicondensed/it
+\DeclareFontShape{T1}{Junicode-Sup}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-sup-t1
}{}
-
-% ---- mediumsemiexpanded ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{regular}{n}{
+ <-> alias * Junicode-Sup/m/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{m}{sl}{
+ <-> ssub * Junicode-Sup/m/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{regular}{sl}{
+ <-> ssub * Junicode-Sup/regular/it
}{}
@@ -281,195 +308,168 @@
}{}
-% ---- lc = lightcondensed ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-sup-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-Sup}{lightcondensed}{it}{
- <-> alias * Junicode-Sup/lc/it
-}{}
-
-\DeclareFontShape{T1}{Junicode-Sup}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-sup-t1
-}{}
+% ---- mediumcondensed ----
-\DeclareFontShape{T1}{Junicode-Sup}{lightcondensed}{n}{
- <-> alias * Junicode-Sup/lc/n
+\DeclareFontShape{T1}{Junicode-Sup}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{lc}{sl}{
- <-> ssub * Junicode-Sup/lc/it
+\DeclareFontShape{T1}{Junicode-Sup}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{lightcondensed}{sl}{
- <-> ssub * Junicode-Sup/lightcondensed/it
+\DeclareFontShape{T1}{Junicode-Sup}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-Sup/mediumcondensed/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{T1}{Junicode-Sup}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{boldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/bsx/it
+\DeclareFontShape{T1}{Junicode-Sup}{semiboldexpanded}{it}{
+ <-> alias * Junicode-Sup/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{boldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/bsx/n
+\DeclareFontShape{T1}{Junicode-Sup}{semiboldexpanded}{n}{
+ <-> alias * Junicode-Sup/sbx/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{bsx}{sl}{
- <-> ssub * Junicode-Sup/bsx/it
+\DeclareFontShape{T1}{Junicode-Sup}{sbx}{sl}{
+ <-> ssub * Junicode-Sup/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/boldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-Sup/semiboldexpanded/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{T1}{Junicode-Sup}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-Sup/sbsx/it
+\DeclareFontShape{T1}{Junicode-Sup}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-Sup/mediumsemicondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-Sup/sbsx/n
-}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sbsx}{sl}{
- <-> ssub * Junicode-Sup/sbsx/it
-}{}
+% ---- sb = semibold ----
-\DeclareFontShape{T1}{Junicode-Sup}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiboldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-sup-t1
}{}
+\DeclareFontShape{T1}{Junicode-Sup}{semibold}{it}{
+ <-> alias * Junicode-Sup/sb/it
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{T1}{Junicode-Sup}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-sup-t1
+}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{semibold}{n}{
+ <-> alias * Junicode-Sup/sb/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sb}{sl}{
+ <-> ssub * Junicode-Sup/sb/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumcondensed}{sl}{
- <-> ssub * Junicode-Sup/mediumcondensed/it
+\DeclareFontShape{T1}{Junicode-Sup}{semibold}{sl}{
+ <-> ssub * Junicode-Sup/semibold/it
}{}
-% ---- sx = semiexpanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{T1}{Junicode-Sup}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiexpanded}{it}{
- <-> alias * Junicode-Sup/sx/it
+\DeclareFontShape{T1}{Junicode-Sup}{semicondensed}{n}{
+ <-> alias * Junicode-Sup/sc/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiexpanded}{n}{
- <-> alias * Junicode-Sup/sx/n
+\DeclareFontShape{T1}{Junicode-Sup}{semicondensed}{it}{
+ <-> alias * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{sx}{sl}{
- <-> ssub * Junicode-Sup/sx/it
+\DeclareFontShape{T1}{Junicode-Sup}{sc}{sl}{
+ <-> ssub * Junicode-Sup/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{semiexpanded}{sl}{
- <-> ssub * Junicode-Sup/semiexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{semicondensed}{sl}{
+ <-> ssub * Junicode-Sup/semicondensed/it
}{}
-% ---- c = condensed ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-sup-t1
-}{}
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-Sup}{condensed}{n}{
- <-> alias * Junicode-Sup/c/n
+\DeclareFontShape{T1}{Junicode-Sup}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-Sup/bsx/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{condensed}{it}{
- <-> alias * Junicode-Sup/c/it
+\DeclareFontShape{T1}{Junicode-Sup}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{c}{sl}{
- <-> ssub * Junicode-Sup/c/it
+\DeclareFontShape{T1}{Junicode-Sup}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-Sup/bsx/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{condensed}{sl}{
- <-> ssub * Junicode-Sup/condensed/it
+\DeclareFontShape{T1}{Junicode-Sup}{bsx}{sl}{
+ <-> ssub * Junicode-Sup/bsx/it
}{}
-
-% ---- x = expanded ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-Sup/boldsemiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{expanded}{it}{
- <-> alias * Junicode-Sup/x/it
-}{}
-\DeclareFontShape{T1}{Junicode-Sup}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-sup-t1
-}{}
+% ---- lc = lightcondensed ----
-\DeclareFontShape{T1}{Junicode-Sup}{expanded}{n}{
- <-> alias * Junicode-Sup/x/n
+\DeclareFontShape{T1}{Junicode-Sup}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-sup-t1
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{x}{sl}{
- <-> ssub * Junicode-Sup/x/it
+\DeclareFontShape{T1}{Junicode-Sup}{lightcondensed}{n}{
+ <-> alias * Junicode-Sup/lc/n
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{expanded}{sl}{
- <-> ssub * Junicode-Sup/expanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-sup-t1
}{}
-
-% ---- mediumexpanded ----
-
-\DeclareFontShape{T1}{Junicode-Sup}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{lightcondensed}{it}{
+ <-> alias * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-sup-t1
+\DeclareFontShape{T1}{Junicode-Sup}{lc}{sl}{
+ <-> ssub * Junicode-Sup/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-Sup}{mediumexpanded}{sl}{
- <-> ssub * Junicode-Sup/mediumexpanded/it
+\DeclareFontShape{T1}{Junicode-Sup}{lightcondensed}{sl}{
+ <-> ssub * Junicode-Sup/lightcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/T1Junicode-TLF.fd b/Master/texmf-dist/tex/latex/junicode/T1Junicode-TLF.fd
index 3aa425c8511..1cf635bb8fe 100644
--- a/Master/texmf-dist/tex/latex/junicode/T1Junicode-TLF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/T1Junicode-TLF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{T1Junicode-TLF.fd}
- [2024/01/08 (autoinst) Font definitions for T1/Junicode-TLF.]
+ [2024/06/03 (autoinst) Font definitions for T1/Junicode-TLF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,196 +20,188 @@
\DeclareFontFamily{T1}{Junicode-TLF}{}
-% ---- lc = lightcondensed ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{lc}{scit}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{scit}{
- <-> alias * Junicode-TLF/lc/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TLF/sbx/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lc}{sc}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{sc}{
- <-> alias * Junicode-TLF/lc/sc
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbx/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{n}{
- <-> alias * Junicode-TLF/lc/n
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{it}{
- <-> alias * Junicode-TLF/lc/it
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lc}{scsl}{
- <-> ssub * Junicode-TLF/lc/scit
+\DeclareFontShape{T1}{Junicode-TLF}{sbx}{scsl}{
+ <-> ssub * Junicode-TLF/sbx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightcondensed/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lc}{sl}{
- <-> ssub * Junicode-TLF/lc/it
+\DeclareFontShape{T1}{Junicode-TLF}{sbx}{sl}{
+ <-> ssub * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TLF/lightcondensed/it
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/it
}{}
-% ---- b = bold ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{T1}{Junicode-TLF}{b}{scit}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bold}{scit}{
- <-> alias * Junicode-TLF/b/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{b}{sc}{
- <-> \Junicode@@scale Junicode-Bold-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bold}{sc}{
- <-> alias * Junicode-TLF/b/sc
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bold}{n}{
- <-> alias * Junicode-TLF/b/n
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-t1
-}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bold}{it}{
- <-> alias * Junicode-TLF/b/it
-}{}
+% ---- sc = semicondensed ----
-\DeclareFontShape{T1}{Junicode-TLF}{b}{scsl}{
- <-> ssub * Junicode-TLF/b/scit
+\DeclareFontShape{T1}{Junicode-TLF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bold}{scsl}{
- <-> ssub * Junicode-TLF/bold/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{sc}{
+ <-> alias * Junicode-TLF/sc/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{b}{sl}{
- <-> ssub * Junicode-TLF/b/it
+\DeclareFontShape{T1}{Junicode-TLF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bold}{sl}{
- <-> ssub * Junicode-TLF/bold/it
+\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{n}{
+ <-> alias * Junicode-TLF/sc/n
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TLF/sbsx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{scit}{
+ <-> alias * Junicode-TLF/sc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/sbsx/it
+\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{it}{
+ <-> alias * Junicode-TLF/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sc}{scsl}{
+ <-> ssub * Junicode-TLF/sc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/sbsx/n
+\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/semicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sc}{sl}{
+ <-> ssub * Junicode-TLF/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TLF/sbsx/sc
+\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{sl}{
+ <-> ssub * Junicode-TLF/semicondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{scsl}{
- <-> ssub * Junicode-TLF/sbsx/scit
+
+% ---- sb = semibold ----
+
+\DeclareFontShape{T1}{Junicode-TLF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semibold}{it}{
+ <-> alias * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{sl}{
- <-> ssub * Junicode-TLF/sbsx/it
+\DeclareFontShape{T1}{Junicode-TLF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-TLF}{semibold}{scit}{
+ <-> alias * Junicode-TLF/sb/scit
}{}
+\DeclareFontShape{T1}{Junicode-TLF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-t1
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{T1}{Junicode-TLF}{semibold}{n}{
+ <-> alias * Junicode-TLF/sb/n
+}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{semibold}{sc}{
+ <-> alias * Junicode-TLF/sb/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sb}{scsl}{
+ <-> ssub * Junicode-TLF/sb/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{semibold}{scsl}{
+ <-> ssub * Junicode-TLF/semibold/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumcondensed/scit
+\DeclareFontShape{T1}{Junicode-TLF}{sb}{sl}{
+ <-> ssub * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumcondensed/it
+\DeclareFontShape{T1}{Junicode-TLF}{semibold}{sl}{
+ <-> ssub * Junicode-TLF/semibold/it
}{}
% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TLF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/bsx/it
-}{}
-
\DeclareFontShape{T1}{Junicode-TLF}{bsx}{n}{
<-> \Junicode@@scale Junicode-SmExpBold-tlf-t1
}{}
@@ -226,6 +218,14 @@
<-> alias * Junicode-TLF/bsx/sc
}{}
+\DeclareFontShape{T1}{Junicode-TLF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TLF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/bsx/it
+}{}
+
\DeclareFontShape{T1}{Junicode-TLF}{bsx}{scit}{
<-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-sc-t1
}{}
@@ -251,499 +251,523 @@
}{}
-% ---- sx = semiexpanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{T1}{Junicode-TLF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lc}{sc}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{sc}{
- <-> alias * Junicode-TLF/sx/sc
+\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{sc}{
+ <-> alias * Junicode-TLF/lc/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{n}{
- <-> alias * Junicode-TLF/sx/n
+\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{n}{
+ <-> alias * Junicode-TLF/lc/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lc}{scit}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{it}{
- <-> alias * Junicode-TLF/sx/it
+\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{scit}{
+ <-> alias * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{scit}{
- <-> alias * Junicode-TLF/sx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{it}{
+ <-> alias * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sx}{scsl}{
- <-> ssub * Junicode-TLF/sx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{lc}{scsl}{
+ <-> ssub * Junicode-TLF/lc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiexpanded/scit
+\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightcondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sx}{sl}{
- <-> ssub * Junicode-TLF/sx/it
+\DeclareFontShape{T1}{Junicode-TLF}{lc}{sl}{
+ <-> ssub * Junicode-TLF/lc/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiexpanded/it
+\DeclareFontShape{T1}{Junicode-TLF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightcondensed/it
}{}
-% ---- mediumexpanded ----
+% ---- b = bold ----
-\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{bold}{n}{
+ <-> alias * Junicode-TLF/b/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{b}{sc}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{bold}{sc}{
+ <-> alias * Junicode-TLF/b/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TLF/mediumexpanded/scit
+\DeclareFontShape{T1}{Junicode-TLF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumexpanded/it
+\DeclareFontShape{T1}{Junicode-TLF}{bold}{it}{
+ <-> alias * Junicode-TLF/b/it
}{}
-
-% ---- c = condensed ----
-
-\DeclareFontShape{T1}{Junicode-TLF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{b}{scit}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{condensed}{sc}{
- <-> alias * Junicode-TLF/c/sc
+\DeclareFontShape{T1}{Junicode-TLF}{bold}{scit}{
+ <-> alias * Junicode-TLF/b/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{b}{scsl}{
+ <-> ssub * Junicode-TLF/b/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{condensed}{n}{
- <-> alias * Junicode-TLF/c/n
+\DeclareFontShape{T1}{Junicode-TLF}{bold}{scsl}{
+ <-> ssub * Junicode-TLF/bold/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{b}{sl}{
+ <-> ssub * Junicode-TLF/b/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{condensed}{it}{
- <-> alias * Junicode-TLF/c/it
+\DeclareFontShape{T1}{Junicode-TLF}{bold}{sl}{
+ <-> ssub * Junicode-TLF/bold/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-t1
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{condensed}{scit}{
- <-> alias * Junicode-TLF/c/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{c}{scsl}{
- <-> ssub * Junicode-TLF/c/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{condensed}{scsl}{
- <-> ssub * Junicode-TLF/condensed/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{c}{sl}{
- <-> ssub * Junicode-TLF/c/it
+\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{condensed}{sl}{
- <-> ssub * Junicode-TLF/condensed/it
+\DeclareFontShape{T1}{Junicode-TLF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/it
}{}
-% ---- x = expanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{x}{sc}{
- <-> \Junicode@@scale Junicode-Exp-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{expanded}{sc}{
- <-> alias * Junicode-TLF/x/sc
+\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{it}{
+ <-> alias * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{expanded}{it}{
- <-> alias * Junicode-TLF/x/it
+\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{expanded}{n}{
- <-> alias * Junicode-TLF/x/n
+\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{n}{
+ <-> alias * Junicode-TLF/bx/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{expanded}{scit}{
- <-> alias * Junicode-TLF/x/scit
+\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TLF/bx/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{x}{scsl}{
- <-> ssub * Junicode-TLF/x/scit
+\DeclareFontShape{T1}{Junicode-TLF}{bx}{scsl}{
+ <-> ssub * Junicode-TLF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{expanded}{scsl}{
- <-> ssub * Junicode-TLF/expanded/scit
+\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/boldexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{x}{sl}{
- <-> ssub * Junicode-TLF/x/it
+\DeclareFontShape{T1}{Junicode-TLF}{bx}{sl}{
+ <-> ssub * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{expanded}{sl}{
- <-> ssub * Junicode-TLF/expanded/it
+\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldexpanded/it
}{}
-% ---- mediumsemicondensed ----
+% ---- l = light ----
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{light}{it}{
+ <-> alias * Junicode-TLF/l/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{l}{scit}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{light}{scit}{
+ <-> alias * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-TLF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/it
+\DeclareFontShape{T1}{Junicode-TLF}{light}{n}{
+ <-> alias * Junicode-TLF/l/n
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{T1}{Junicode-TLF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{l}{sc}{
+ <-> \Junicode@@scale Junicode-Light-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{regular}{sc}{
- <-> alias * Junicode-TLF/m/sc
+\DeclareFontShape{T1}{Junicode-TLF}{light}{sc}{
+ <-> alias * Junicode-TLF/l/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{l}{scsl}{
+ <-> ssub * Junicode-TLF/l/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{regular}{n}{
- <-> alias * Junicode-TLF/m/n
+\DeclareFontShape{T1}{Junicode-TLF}{light}{scsl}{
+ <-> ssub * Junicode-TLF/light/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{l}{sl}{
+ <-> ssub * Junicode-TLF/l/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{regular}{it}{
- <-> alias * Junicode-TLF/m/it
+\DeclareFontShape{T1}{Junicode-TLF}{light}{sl}{
+ <-> ssub * Junicode-TLF/light/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tlf-sc-t1
+
+% ---- medium ----
+
+\DeclareFontShape{T1}{Junicode-TLF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{regular}{scit}{
- <-> alias * Junicode-TLF/m/scit
+\DeclareFontShape{T1}{Junicode-TLF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{m}{scsl}{
- <-> ssub * Junicode-TLF/m/scit
+\DeclareFontShape{T1}{Junicode-TLF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{regular}{scsl}{
- <-> ssub * Junicode-TLF/regular/scit
+\DeclareFontShape{T1}{Junicode-TLF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{m}{sl}{
- <-> ssub * Junicode-TLF/m/it
+\DeclareFontShape{T1}{Junicode-TLF}{medium}{scsl}{
+ <-> ssub * Junicode-TLF/medium/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{regular}{sl}{
- <-> ssub * Junicode-TLF/regular/it
+\DeclareFontShape{T1}{Junicode-TLF}{medium}{sl}{
+ <-> ssub * Junicode-TLF/medium/it
}{}
-% ---- bx = boldexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{T1}{Junicode-TLF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{n}{
- <-> alias * Junicode-TLF/bx/n
+\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{it}{
- <-> alias * Junicode-TLF/bx/it
+\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TLF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{sc}{
- <-> alias * Junicode-TLF/bx/sc
+\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TLF/lsc/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{scit}{
- <-> alias * Junicode-TLF/bx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TLF/lsc/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bx}{scsl}{
- <-> ssub * Junicode-TLF/bx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{lsc}{scsl}{
+ <-> ssub * Junicode-TLF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/boldexpanded/scit
+\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TLF/lightsemicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{bx}{sl}{
- <-> ssub * Junicode-TLF/bx/it
+\DeclareFontShape{T1}{Junicode-TLF}{lsc}{sl}{
+ <-> ssub * Junicode-TLF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldexpanded/it
+\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightsemicondensed/it
}{}
-% ---- l = light ----
+% ---- m = regular ----
-\DeclareFontShape{T1}{Junicode-TLF}{l}{sc}{
- <-> \Junicode@@scale Junicode-Light-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{light}{sc}{
- <-> alias * Junicode-TLF/l/sc
+\DeclareFontShape{T1}{Junicode-TLF}{regular}{sc}{
+ <-> alias * Junicode-TLF/m/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{light}{it}{
- <-> alias * Junicode-TLF/l/it
+\DeclareFontShape{T1}{Junicode-TLF}{regular}{n}{
+ <-> alias * Junicode-TLF/m/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{light}{n}{
- <-> alias * Junicode-TLF/l/n
+\DeclareFontShape{T1}{Junicode-TLF}{regular}{scit}{
+ <-> alias * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{l}{scit}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{light}{scit}{
- <-> alias * Junicode-TLF/l/scit
+\DeclareFontShape{T1}{Junicode-TLF}{regular}{it}{
+ <-> alias * Junicode-TLF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{l}{scsl}{
- <-> ssub * Junicode-TLF/l/scit
+\DeclareFontShape{T1}{Junicode-TLF}{m}{scsl}{
+ <-> ssub * Junicode-TLF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{light}{scsl}{
- <-> ssub * Junicode-TLF/light/scit
+\DeclareFontShape{T1}{Junicode-TLF}{regular}{scsl}{
+ <-> ssub * Junicode-TLF/regular/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{l}{sl}{
- <-> ssub * Junicode-TLF/l/it
+\DeclareFontShape{T1}{Junicode-TLF}{m}{sl}{
+ <-> ssub * Junicode-TLF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{light}{sl}{
- <-> ssub * Junicode-TLF/light/it
+\DeclareFontShape{T1}{Junicode-TLF}{regular}{sl}{
+ <-> ssub * Junicode-TLF/regular/it
}{}
-% ---- medium ----
+% ---- x = expanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{expanded}{scit}{
+ <-> alias * Junicode-TLF/x/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{expanded}{it}{
+ <-> alias * Junicode-TLF/x/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{medium}{scsl}{
- <-> ssub * Junicode-TLF/medium/scit
+\DeclareFontShape{T1}{Junicode-TLF}{x}{sc}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{medium}{sl}{
- <-> ssub * Junicode-TLF/medium/it
+\DeclareFontShape{T1}{Junicode-TLF}{expanded}{sc}{
+ <-> alias * Junicode-TLF/x/sc
}{}
+\DeclareFontShape{T1}{Junicode-TLF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tlf-t1
+}{}
-% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{T1}{Junicode-TLF}{expanded}{n}{
+ <-> alias * Junicode-TLF/x/n
+}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{x}{scsl}{
+ <-> ssub * Junicode-TLF/x/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TLF/sbx/it
+\DeclareFontShape{T1}{Junicode-TLF}{expanded}{scsl}{
+ <-> ssub * Junicode-TLF/expanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{x}{sl}{
+ <-> ssub * Junicode-TLF/x/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TLF/sbx/n
+\DeclareFontShape{T1}{Junicode-TLF}{expanded}{sl}{
+ <-> ssub * Junicode-TLF/expanded/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-sc-t1
+
+% ---- c = condensed ----
+
+\DeclareFontShape{T1}{Junicode-TLF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-TLF/sbx/sc
+\DeclareFontShape{T1}{Junicode-TLF}{condensed}{it}{
+ <-> alias * Junicode-TLF/c/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-TLF/sbx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{condensed}{scit}{
+ <-> alias * Junicode-TLF/c/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbx}{scsl}{
- <-> ssub * Junicode-TLF/sbx/scit
+\DeclareFontShape{T1}{Junicode-TLF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/scit
+\DeclareFontShape{T1}{Junicode-TLF}{condensed}{n}{
+ <-> alias * Junicode-TLF/c/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sbx}{sl}{
- <-> ssub * Junicode-TLF/sbx/it
+\DeclareFontShape{T1}{Junicode-TLF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/it
+\DeclareFontShape{T1}{Junicode-TLF}{condensed}{sc}{
+ <-> alias * Junicode-TLF/c/sc
}{}
+\DeclareFontShape{T1}{Junicode-TLF}{c}{scsl}{
+ <-> ssub * Junicode-TLF/c/scit
+}{}
-% ---- lsc = lightsemicondensed ----
+\DeclareFontShape{T1}{Junicode-TLF}{condensed}{scsl}{
+ <-> ssub * Junicode-TLF/condensed/scit
+}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{c}{sl}{
+ <-> ssub * Junicode-TLF/c/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TLF/lsc/it
+\DeclareFontShape{T1}{Junicode-TLF}{condensed}{sl}{
+ <-> ssub * Junicode-TLF/condensed/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-t1
+
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{T1}{Junicode-TLF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TLF/lsc/n
+\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sx/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TLF/lsc/sc
+\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{n}{
+ <-> alias * Junicode-TLF/sx/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TLF/lsc/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lsc}{scsl}{
- <-> ssub * Junicode-TLF/lsc/scit
+\DeclareFontShape{T1}{Junicode-TLF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TLF/lightsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{it}{
+ <-> alias * Junicode-TLF/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lsc}{sl}{
- <-> ssub * Junicode-TLF/lsc/it
+\DeclareFontShape{T1}{Junicode-TLF}{sx}{scsl}{
+ <-> ssub * Junicode-TLF/sx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/lightsemicondensed/it
+\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiexpanded/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-TLF}{sx}{sl}{
+ <-> ssub * Junicode-TLF/sx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-TLF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiexpanded/it
}{}
% ---- mediumsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-t1
}{}
\DeclareFontShape{T1}{Junicode-TLF}{mediumsemiexpanded}{sc}{
@@ -754,8 +778,8 @@
<-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-sc-t1
}{}
\DeclareFontShape{T1}{Junicode-TLF}{mediumsemiexpanded}{scsl}{
@@ -767,105 +791,81 @@
}{}
-% ---- sb = semibold ----
-
-\DeclareFontShape{T1}{Junicode-TLF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TLF}{semibold}{sc}{
- <-> alias * Junicode-TLF/sb/sc
-}{}
-
-\DeclareFontShape{T1}{Junicode-TLF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TLF}{semibold}{n}{
- <-> alias * Junicode-TLF/sb/n
-}{}
-
-\DeclareFontShape{T1}{Junicode-TLF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TLF}{semibold}{it}{
- <-> alias * Junicode-TLF/sb/it
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semibold}{scit}{
- <-> alias * Junicode-TLF/sb/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sb}{scsl}{
- <-> ssub * Junicode-TLF/sb/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semibold}{scsl}{
- <-> ssub * Junicode-TLF/semibold/scit
+\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sb}{sl}{
- <-> ssub * Junicode-TLF/sb/it
+\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semibold}{sl}{
- <-> ssub * Junicode-TLF/semibold/it
+\DeclareFontShape{T1}{Junicode-TLF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/it
}{}
-% ---- sc = semicondensed ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-TLF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{it}{
- <-> alias * Junicode-TLF/sc/it
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{n}{
- <-> alias * Junicode-TLF/sc/n
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{sc}{
- <-> alias * Junicode-TLF/sc/sc
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TLF/sbsx/sc
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-sc-t1
+\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{scit}{
- <-> alias * Junicode-TLF/sc/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/sbsx/n
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sc}{scsl}{
- <-> ssub * Junicode-TLF/sc/scit
+\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TLF/sbsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{scsl}{
- <-> ssub * Junicode-TLF/semicondensed/scit
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{sc}{sl}{
- <-> ssub * Junicode-TLF/sc/it
+\DeclareFontShape{T1}{Junicode-TLF}{sbsx}{sl}{
+ <-> ssub * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{T1}{Junicode-TLF}{semicondensed}{sl}{
- <-> ssub * Junicode-TLF/semicondensed/it
+\DeclareFontShape{T1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/T1Junicode-TOsF.fd b/Master/texmf-dist/tex/latex/junicode/T1Junicode-TOsF.fd
index dfd88585e54..a2fcfe44b24 100644
--- a/Master/texmf-dist/tex/latex/junicode/T1Junicode-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/T1Junicode-TOsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{T1Junicode-TOsF.fd}
- [2024/01/08 (autoinst) Font definitions for T1/Junicode-TOsF.]
+ [2024/06/03 (autoinst) Font definitions for T1/Junicode-TOsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,183 +20,183 @@
\DeclareFontFamily{T1}{Junicode-TOsF}{}
-% ---- mediumsemiexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{scit}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{sc}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{scit}{
+ <-> alias * Junicode-TOsF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TOsF/lsc/n
}{}
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{sb}{sc}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{sc}{
- <-> alias * Junicode-TOsF/sb/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{sc}{
+ <-> alias * Junicode-TOsF/lsc/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{scsl}{
+ <-> ssub * Junicode-TOsF/lsc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{it}{
- <-> alias * Junicode-TOsF/sb/it
+\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{sl}{
+ <-> ssub * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{n}{
- <-> alias * Junicode-TOsF/sb/n
+\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sb}{scit}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-t1
+
+% ---- medium ----
+
+\DeclareFontShape{T1}{Junicode-TOsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{scit}{
- <-> alias * Junicode-TOsF/sb/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{medium}{scit}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sb}{scsl}{
- <-> ssub * Junicode-TOsF/sb/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{scsl}{
- <-> ssub * Junicode-TOsF/semibold/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{medium}{sc}{
+ <-> \Junicode@@scale Junicode-Medium-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sb}{sl}{
- <-> ssub * Junicode-TOsF/sb/it
+\DeclareFontShape{T1}{Junicode-TOsF}{medium}{scsl}{
+ <-> ssub * Junicode-TOsF/medium/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{sl}{
- <-> ssub * Junicode-TOsF/semibold/it
+\DeclareFontShape{T1}{Junicode-TOsF}{medium}{sl}{
+ <-> ssub * Junicode-TOsF/medium/it
}{}
-% ---- sc = semicondensed ----
+% ---- m = regular ----
-\DeclareFontShape{T1}{Junicode-TOsF}{sc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{scit}{
- <-> alias * Junicode-TOsF/sc/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{regular}{it}{
+ <-> alias * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{m}{scit}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{it}{
- <-> alias * Junicode-TOsF/sc/it
+\DeclareFontShape{T1}{Junicode-TOsF}{regular}{scit}{
+ <-> alias * Junicode-TOsF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{n}{
- <-> alias * Junicode-TOsF/sc/n
+\DeclareFontShape{T1}{Junicode-TOsF}{regular}{n}{
+ <-> alias * Junicode-TOsF/m/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sc}{sc}{
- <-> \Junicode@@scale Junicode-SmCond-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{m}{sc}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{sc}{
- <-> alias * Junicode-TOsF/sc/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{regular}{sc}{
+ <-> alias * Junicode-TOsF/m/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sc}{scsl}{
- <-> ssub * Junicode-TOsF/sc/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{m}{scsl}{
+ <-> ssub * Junicode-TOsF/m/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/semicondensed/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{regular}{scsl}{
+ <-> ssub * Junicode-TOsF/regular/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sc}{sl}{
- <-> ssub * Junicode-TOsF/sc/it
+\DeclareFontShape{T1}{Junicode-TOsF}{m}{sl}{
+ <-> ssub * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{sl}{
- <-> ssub * Junicode-TOsF/semicondensed/it
+\DeclareFontShape{T1}{Junicode-TOsF}{regular}{sl}{
+ <-> ssub * Junicode-TOsF/regular/it
}{}
-% ---- lsc = lightsemicondensed ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TOsF/lsc/n
+\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{n}{
+ <-> alias * Junicode-TOsF/bx/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{bx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TOsF/lsc/it
+\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{sc}{
+ <-> alias * Junicode-TOsF/bx/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{sc}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{sc}{
- <-> alias * Junicode-TOsF/lsc/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{it}{
+ <-> alias * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{scit}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{bx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{scit}{
- <-> alias * Junicode-TOsF/lsc/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{scit}{
+ <-> alias * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{scsl}{
- <-> ssub * Junicode-TOsF/lsc/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{bx}{scsl}{
+ <-> ssub * Junicode-TOsF/bx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lsc}{sl}{
- <-> ssub * Junicode-TOsF/lsc/it
+\DeclareFontShape{T1}{Junicode-TOsF}{bx}{sl}{
+ <-> ssub * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/it
+\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/it
}{}
@@ -210,14 +210,6 @@
<-> alias * Junicode-TOsF/l/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{light}{it}{
- <-> alias * Junicode-TOsF/l/it
-}{}
-
\DeclareFontShape{T1}{Junicode-TOsF}{l}{sc}{
<-> \Junicode@@scale Junicode-Light-tosf-sc-t1
}{}
@@ -226,6 +218,14 @@
<-> alias * Junicode-TOsF/l/sc
}{}
+\DeclareFontShape{T1}{Junicode-TOsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{light}{it}{
+ <-> alias * Junicode-TOsF/l/it
+}{}
+
\DeclareFontShape{T1}{Junicode-TOsF}{l}{scit}{
<-> \Junicode@@scale Junicode-LightItalic-tosf-sc-t1
}{}
@@ -251,242 +251,172 @@
}{}
-% ---- medium ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{medium}{sc}{
- <-> \Junicode@@scale Junicode-Medium-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{medium}{scit}{
- <-> \Junicode@@scale Junicode-MediumItalic-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{medium}{scsl}{
- <-> ssub * Junicode-TOsF/medium/scit
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{medium}{sl}{
- <-> ssub * Junicode-TOsF/medium/it
-}{}
-
-
-% ---- sbx = semiboldexpanded ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TOsF/sbx/n
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TOsF/sbx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{sc}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{sc}{
- <-> alias * Junicode-TOsF/sbx/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{scit}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{scit}{
- <-> alias * Junicode-TOsF/sbx/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{scsl}{
- <-> ssub * Junicode-TOsF/sbx/scit
-}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiboldexpanded/scit
-}{}
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{sl}{
- <-> ssub * Junicode-TOsF/sbx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldexpanded/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sbsx/sc
}{}
-
-% ---- mediumsemicondensed ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{sc}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbsx/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{scit}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sbsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemicondensed/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbsx/it
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{scsl}{
+ <-> ssub * Junicode-TOsF/sbsx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{regular}{it}{
- <-> alias * Junicode-TOsF/m/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{sl}{
+ <-> ssub * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{regular}{n}{
- <-> alias * Junicode-TOsF/m/n
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{m}{sc}{
- <-> \Junicode@@scale Junicode-Regular-tosf-sc-t1
-}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{regular}{sc}{
- <-> alias * Junicode-TOsF/m/sc
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{m}{scit}{
- <-> \Junicode@@scale Junicode-Italic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{regular}{scit}{
- <-> alias * Junicode-TOsF/m/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{scit}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{m}{scsl}{
- <-> ssub * Junicode-TOsF/m/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{regular}{scsl}{
- <-> ssub * Junicode-TOsF/regular/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{sc}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{m}{sl}{
- <-> ssub * Junicode-TOsF/m/it
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{regular}{sl}{
- <-> ssub * Junicode-TOsF/regular/it
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumexpanded/it
}{}
-% ---- bx = boldexpanded ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{bx}{sc}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{sc}{
- <-> alias * Junicode-TOsF/bx/sc
-}{}
+% ---- sx = semiexpanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{it}{
- <-> alias * Junicode-TOsF/bx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sx/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sx}{sc}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{n}{
- <-> alias * Junicode-TOsF/bx/n
+\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sx/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{bx}{scit}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{scit}{
- <-> alias * Junicode-TOsF/bx/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{bx}{scsl}{
- <-> ssub * Junicode-TOsF/bx/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{sx}{scit}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/boldexpanded/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{bx}{sl}{
- <-> ssub * Junicode-TOsF/bx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{sx}{scsl}{
+ <-> ssub * Junicode-TOsF/sx/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldexpanded/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/scit
}{}
-
-% ---- mediumexpanded ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{scit}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sx}{sl}{
+ <-> ssub * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{sc}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-t1
-}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tosf-t1
-}{}
+% ---- x = expanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{x}{scit}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumexpanded/it
+\DeclareFontShape{T1}{Junicode-TOsF}{expanded}{scit}{
+ <-> alias * Junicode-TOsF/x/scit
}{}
-
-% ---- x = expanded ----
-
\DeclareFontShape{T1}{Junicode-TOsF}{x}{it}{
<-> \Junicode@@scale Junicode-ExpItalic-tosf-t1
}{}
@@ -495,14 +425,6 @@
<-> alias * Junicode-TOsF/x/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{expanded}{n}{
- <-> alias * Junicode-TOsF/x/n
-}{}
-
\DeclareFontShape{T1}{Junicode-TOsF}{x}{sc}{
<-> \Junicode@@scale Junicode-Exp-tosf-sc-t1
}{}
@@ -511,12 +433,12 @@
<-> alias * Junicode-TOsF/x/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{x}{scit}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{expanded}{scit}{
- <-> alias * Junicode-TOsF/x/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{expanded}{n}{
+ <-> alias * Junicode-TOsF/x/n
}{}
\DeclareFontShape{T1}{Junicode-TOsF}{x}{scsl}{
@@ -538,14 +460,6 @@
% ---- c = condensed ----
-\DeclareFontShape{T1}{Junicode-TOsF}{c}{scit}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{condensed}{scit}{
- <-> alias * Junicode-TOsF/c/scit
-}{}
-
\DeclareFontShape{T1}{Junicode-TOsF}{c}{n}{
<-> \Junicode@@scale Junicode-Cond-tosf-t1
}{}
@@ -554,6 +468,14 @@
<-> alias * Junicode-TOsF/c/n
}{}
+\DeclareFontShape{T1}{Junicode-TOsF}{c}{sc}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{condensed}{sc}{
+ <-> alias * Junicode-TOsF/c/sc
+}{}
+
\DeclareFontShape{T1}{Junicode-TOsF}{c}{it}{
<-> \Junicode@@scale Junicode-CondItalic-tosf-t1
}{}
@@ -562,12 +484,12 @@
<-> alias * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{c}{sc}{
- <-> \Junicode@@scale Junicode-Cond-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{c}{scit}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{condensed}{sc}{
- <-> alias * Junicode-TOsF/c/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{condensed}{scit}{
+ <-> alias * Junicode-TOsF/c/scit
}{}
\DeclareFontShape{T1}{Junicode-TOsF}{c}{scsl}{
@@ -587,137 +509,118 @@
}{}
-% ---- sx = semiexpanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{T1}{Junicode-TOsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{n}{
- <-> alias * Junicode-TOsF/sx/n
+\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{n}{
+ <-> alias * Junicode-TOsF/sc/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sc}{sc}{
+ <-> \Junicode@@scale Junicode-SmCond-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{it}{
- <-> alias * Junicode-TOsF/sx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{sc}{
+ <-> alias * Junicode-TOsF/sc/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sx}{sc}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{sc}{
- <-> alias * Junicode-TOsF/sx/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{it}{
+ <-> alias * Junicode-TOsF/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sc}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{scit}{
- <-> alias * Junicode-TOsF/sx/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{scit}{
+ <-> alias * Junicode-TOsF/sc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sx}{scsl}{
- <-> ssub * Junicode-TOsF/sx/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{sc}{scsl}{
+ <-> ssub * Junicode-TOsF/sc/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiexpanded/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/semicondensed/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sx}{sl}{
- <-> ssub * Junicode-TOsF/sx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{sc}{sl}{
+ <-> ssub * Junicode-TOsF/sc/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiexpanded/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/semicondensed/it
}{}
-% ---- mediumcondensed ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-t1
-}{}
+% ---- sb = semibold ----
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{sc}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sb}{scit}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{scit}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{scit}{
+ <-> alias * Junicode-TOsF/sb/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{scsl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{it}{
+ <-> alias * Junicode-TOsF/sb/it
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{sc}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sb}{sc}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-sc-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{sc}{
- <-> alias * Junicode-TOsF/sbsx/sc
+\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{sc}{
+ <-> alias * Junicode-TOsF/sb/sc
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/sbsx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{n}{
+ <-> alias * Junicode-TOsF/sb/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sb}{scsl}{
+ <-> ssub * Junicode-TOsF/sb/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/sbsx/n
+\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{scsl}{
+ <-> ssub * Junicode-TOsF/semibold/scit
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{scit}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-sc-t1
+\DeclareFontShape{T1}{Junicode-TOsF}{sb}{sl}{
+ <-> ssub * Junicode-TOsF/sb/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{scit}{
- <-> alias * Junicode-TOsF/sbsx/scit
+\DeclareFontShape{T1}{Junicode-TOsF}{semibold}{sl}{
+ <-> ssub * Junicode-TOsF/semibold/it
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{scsl}{
- <-> ssub * Junicode-TOsF/sbsx/scit
-}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{scsl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/scit
-}{}
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{T1}{Junicode-TOsF}{sbsx}{sl}{
- <-> ssub * Junicode-TOsF/sbsx/it
+\DeclareFontShape{T1}{Junicode-TOsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-t1
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
+\DeclareFontShape{T1}{Junicode-TOsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/bsx/it
}{}
-
-% ---- bsx = boldsemiexpanded ----
-
\DeclareFontShape{T1}{Junicode-TOsF}{bsx}{scit}{
<-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-sc-t1
}{}
@@ -734,14 +637,6 @@
<-> alias * Junicode-TOsF/bsx/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/bsx/it
-}{}
-
\DeclareFontShape{T1}{Junicode-TOsF}{bsx}{sc}{
<-> \Junicode@@scale Junicode-SmExpBold-tosf-sc-t1
}{}
@@ -769,14 +664,6 @@
% ---- lc = lightcondensed ----
-\DeclareFontShape{T1}{Junicode-TOsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{lightcondensed}{it}{
- <-> alias * Junicode-TOsF/lc/it
-}{}
-
\DeclareFontShape{T1}{Junicode-TOsF}{lc}{n}{
<-> \Junicode@@scale Junicode-CondLight-tosf-t1
}{}
@@ -793,6 +680,14 @@
<-> alias * Junicode-TOsF/lc/sc
}{}
+\DeclareFontShape{T1}{Junicode-TOsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{lightcondensed}{it}{
+ <-> alias * Junicode-TOsF/lc/it
+}{}
+
\DeclareFontShape{T1}{Junicode-TOsF}{lc}{scit}{
<-> \Junicode@@scale Junicode-CondLightItalic-tosf-sc-t1
}{}
@@ -818,6 +713,111 @@
}{}
+% ---- sbx = semiboldexpanded ----
+
+\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbx/n
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{sc}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{sc}{
+ <-> alias * Junicode-TOsF/sbx/sc
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{scit}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{scit}{
+ <-> alias * Junicode-TOsF/sbx/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{scsl}{
+ <-> ssub * Junicode-TOsF/sbx/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{scsl}{
+ <-> ssub * Junicode-TOsF/semiboldexpanded/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{sbx}{sl}{
+ <-> ssub * Junicode-TOsF/sbx/it
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldexpanded/it
+}{}
+
+
+% ---- mediumsemicondensed ----
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{sc}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{scit}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemicondensed/it
+}{}
+
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{scit}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{sc}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{scsl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/scit
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/it
+}{}
+
+
% ---- b = bold ----
\DeclareFontShape{T1}{Junicode-TOsF}{b}{n}{
@@ -828,14 +828,6 @@
<-> alias * Junicode-TOsF/b/n
}{}
-\DeclareFontShape{T1}{Junicode-TOsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{Junicode-TOsF}{bold}{it}{
- <-> alias * Junicode-TOsF/b/it
-}{}
-
\DeclareFontShape{T1}{Junicode-TOsF}{b}{sc}{
<-> \Junicode@@scale Junicode-Bold-tosf-sc-t1
}{}
@@ -844,6 +836,14 @@
<-> alias * Junicode-TOsF/b/sc
}{}
+\DeclareFontShape{T1}{Junicode-TOsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{Junicode-TOsF}{bold}{it}{
+ <-> alias * Junicode-TOsF/b/it
+}{}
+
\DeclareFontShape{T1}{Junicode-TOsF}{b}{scit}{
<-> \Junicode@@scale Junicode-BoldItalic-tosf-sc-t1
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-LF.fd b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-LF.fd
index 52e256ee5c7..1e3cb0a31c4 100644
--- a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-LF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{TS1Junicode-LF.fd}
- [2024/01/08 (autoinst) Font definitions for TS1/Junicode-LF.]
+ [2024/06/03 (autoinst) Font definitions for TS1/Junicode-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,99 +20,57 @@
\DeclareFontFamily{TS1}{Junicode-LF}{}
-% ---- lsc = lightsemicondensed ----
-
-\DeclareFontShape{TS1}{Junicode-LF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-LF}{lightsemicondensed}{it}{
- <-> alias * Junicode-LF/lsc/it
-}{}
-
-\DeclareFontShape{TS1}{Junicode-LF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-lf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-LF}{lightsemicondensed}{n}{
- <-> alias * Junicode-LF/lsc/n
-}{}
-
-\DeclareFontShape{TS1}{Junicode-LF}{lsc}{sl}{
- <-> ssub * Junicode-LF/lsc/it
-}{}
-
-\DeclareFontShape{TS1}{Junicode-LF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-LF/lightsemicondensed/it
-}{}
-
-
-% ---- sb = semibold ----
-
-\DeclareFontShape{TS1}{Junicode-LF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-lf-ts1
-}{}
+% ---- l = light ----
-\DeclareFontShape{TS1}{Junicode-LF}{semibold}{it}{
- <-> alias * Junicode-LF/sb/it
+\DeclareFontShape{TS1}{Junicode-LF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{light}{n}{
+ <-> alias * Junicode-LF/l/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semibold}{n}{
- <-> alias * Junicode-LF/sb/n
+\DeclareFontShape{TS1}{Junicode-LF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sb}{sl}{
- <-> ssub * Junicode-LF/sb/it
+\DeclareFontShape{TS1}{Junicode-LF}{light}{it}{
+ <-> alias * Junicode-LF/l/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semibold}{sl}{
- <-> ssub * Junicode-LF/semibold/it
+\DeclareFontShape{TS1}{Junicode-LF}{l}{sl}{
+ <-> ssub * Junicode-LF/l/it
}{}
-
-% ---- sc = semicondensed ----
-
-\DeclareFontShape{TS1}{Junicode-LF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{light}{sl}{
+ <-> ssub * Junicode-LF/light/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semicondensed}{n}{
- <-> alias * Junicode-LF/sc/n
-}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-lf-ts1
-}{}
+% ---- bx = boldexpanded ----
-\DeclareFontShape{TS1}{Junicode-LF}{semicondensed}{it}{
- <-> alias * Junicode-LF/sc/it
+\DeclareFontShape{TS1}{Junicode-LF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sc}{sl}{
- <-> ssub * Junicode-LF/sc/it
+\DeclareFontShape{TS1}{Junicode-LF}{boldexpanded}{it}{
+ <-> alias * Junicode-LF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semicondensed}{sl}{
- <-> ssub * Junicode-LF/semicondensed/it
+\DeclareFontShape{TS1}{Junicode-LF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-lf-ts1
}{}
-
-% ---- mediumsemiexpanded ----
-
-\DeclareFontShape{TS1}{Junicode-LF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{boldexpanded}{n}{
+ <-> alias * Junicode-LF/bx/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{bx}{sl}{
+ <-> ssub * Junicode-LF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldexpanded/it
}{}
@@ -143,237 +101,252 @@
}{}
-% ---- bx = boldexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-LF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{boldexpanded}{it}{
- <-> alias * Junicode-LF/bx/it
+\DeclareFontShape{TS1}{Junicode-LF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-LF/lsc/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{boldexpanded}{n}{
- <-> alias * Junicode-LF/bx/n
+\DeclareFontShape{TS1}{Junicode-LF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bx}{sl}{
- <-> ssub * Junicode-LF/bx/it
+\DeclareFontShape{TS1}{Junicode-LF}{lsc}{sl}{
+ <-> ssub * Junicode-LF/lsc/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{boldexpanded}{sl}{
- <-> ssub * Junicode-LF/boldexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/lightsemicondensed/it
}{}
-% ---- mediumsemicondensed ----
+% ---- medium ----
-\DeclareFontShape{TS1}{Junicode-LF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-LF/mediumsemicondensed/it
+\DeclareFontShape{TS1}{Junicode-LF}{medium}{sl}{
+ <-> ssub * Junicode-LF/medium/it
}{}
-% ---- medium ----
+% ---- sx = semiexpanded ----
-\DeclareFontShape{TS1}{Junicode-LF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{semiexpanded}{it}{
+ <-> alias * Junicode-LF/sx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{medium}{sl}{
- <-> ssub * Junicode-LF/medium/it
+\DeclareFontShape{TS1}{Junicode-LF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-lf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-LF}{semiexpanded}{n}{
+ <-> alias * Junicode-LF/sx/n
+}{}
-% ---- sbx = semiboldexpanded ----
+\DeclareFontShape{TS1}{Junicode-LF}{sx}{sl}{
+ <-> ssub * Junicode-LF/sx/it
+}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiexpanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiboldexpanded}{n}{
- <-> alias * Junicode-LF/sbx/n
+
+% ---- x = expanded ----
+
+\DeclareFontShape{TS1}{Junicode-LF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{expanded}{n}{
+ <-> alias * Junicode-LF/x/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiboldexpanded}{it}{
- <-> alias * Junicode-LF/sbx/it
+\DeclareFontShape{TS1}{Junicode-LF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sbx}{sl}{
- <-> ssub * Junicode-LF/sbx/it
+\DeclareFontShape{TS1}{Junicode-LF}{expanded}{it}{
+ <-> alias * Junicode-LF/x/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{x}{sl}{
+ <-> ssub * Junicode-LF/x/it
}{}
+\DeclareFontShape{TS1}{Junicode-LF}{expanded}{sl}{
+ <-> ssub * Junicode-LF/expanded/it
+}{}
-% ---- l = light ----
-\DeclareFontShape{TS1}{Junicode-LF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-lf-ts1
+% ---- c = condensed ----
+
+\DeclareFontShape{TS1}{Junicode-LF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{light}{n}{
- <-> alias * Junicode-LF/l/n
+\DeclareFontShape{TS1}{Junicode-LF}{condensed}{n}{
+ <-> alias * Junicode-LF/c/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{light}{it}{
- <-> alias * Junicode-LF/l/it
+\DeclareFontShape{TS1}{Junicode-LF}{condensed}{it}{
+ <-> alias * Junicode-LF/c/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{l}{sl}{
- <-> ssub * Junicode-LF/l/it
+\DeclareFontShape{TS1}{Junicode-LF}{c}{sl}{
+ <-> ssub * Junicode-LF/c/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{light}{sl}{
- <-> ssub * Junicode-LF/light/it
+\DeclareFontShape{TS1}{Junicode-LF}{condensed}{sl}{
+ <-> ssub * Junicode-LF/condensed/it
}{}
-% ---- sx = semiexpanded ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{TS1}{Junicode-LF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiexpanded}{n}{
- <-> alias * Junicode-LF/sx/n
+\DeclareFontShape{TS1}{Junicode-LF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/sbsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiexpanded}{it}{
- <-> alias * Junicode-LF/sx/it
+\DeclareFontShape{TS1}{Junicode-LF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sx}{sl}{
- <-> ssub * Junicode-LF/sx/it
+\DeclareFontShape{TS1}{Junicode-LF}{sbsx}{sl}{
+ <-> ssub * Junicode-LF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldsemiexpanded/it
}{}
-% ---- c = condensed ----
+% ---- mediumexpanded ----
-\DeclareFontShape{TS1}{Junicode-LF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{condensed}{it}{
- <-> alias * Junicode-LF/c/it
+\DeclareFontShape{TS1}{Junicode-LF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumexpanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{condensed}{n}{
- <-> alias * Junicode-LF/c/n
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-LF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{c}{sl}{
- <-> ssub * Junicode-LF/c/it
+\DeclareFontShape{TS1}{Junicode-LF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{condensed}{sl}{
- <-> ssub * Junicode-LF/condensed/it
+\DeclareFontShape{TS1}{Junicode-LF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/mediumsemiexpanded/it
}{}
-% ---- x = expanded ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-LF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{expanded}{it}{
- <-> alias * Junicode-LF/x/it
+\DeclareFontShape{TS1}{Junicode-LF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumsemicondensed/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{expanded}{n}{
- <-> alias * Junicode-LF/x/n
-}{}
-\DeclareFontShape{TS1}{Junicode-LF}{x}{sl}{
- <-> ssub * Junicode-LF/x/it
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{TS1}{Junicode-LF}{expanded}{sl}{
- <-> ssub * Junicode-LF/expanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-lf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-LF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-LF/sbx/it
+}{}
-% ---- mediumexpanded ----
+\DeclareFontShape{TS1}{Junicode-LF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-lf-ts1
+}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-LF/sbx/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sbx}{sl}{
+ <-> ssub * Junicode-LF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-LF/mediumexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-LF/semiboldexpanded/it
}{}
-% ---- b = bold ----
+% ---- bsx = boldsemiexpanded ----
-\DeclareFontShape{TS1}{Junicode-LF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bold}{n}{
- <-> alias * Junicode-LF/b/n
+\DeclareFontShape{TS1}{Junicode-LF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-LF/bsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bold}{it}{
- <-> alias * Junicode-LF/b/it
+\DeclareFontShape{TS1}{Junicode-LF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-LF/bsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{b}{sl}{
- <-> ssub * Junicode-LF/b/it
+\DeclareFontShape{TS1}{Junicode-LF}{bsx}{sl}{
+ <-> ssub * Junicode-LF/bsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bold}{sl}{
- <-> ssub * Junicode-LF/bold/it
+\DeclareFontShape{TS1}{Junicode-LF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-LF/boldsemiexpanded/it
}{}
@@ -404,72 +377,99 @@
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{TS1}{Junicode-LF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-LF/bsx/it
+\DeclareFontShape{TS1}{Junicode-LF}{semicondensed}{n}{
+ <-> alias * Junicode-LF/sc/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-LF/bsx/n
+\DeclareFontShape{TS1}{Junicode-LF}{semicondensed}{it}{
+ <-> alias * Junicode-LF/sc/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{bsx}{sl}{
- <-> ssub * Junicode-LF/bsx/it
+\DeclareFontShape{TS1}{Junicode-LF}{sc}{sl}{
+ <-> ssub * Junicode-LF/sc/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/boldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{semicondensed}{sl}{
+ <-> ssub * Junicode-LF/semicondensed/it
}{}
-% ---- mediumcondensed ----
+% ---- sb = semibold ----
-\DeclareFontShape{TS1}{Junicode-LF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{semibold}{it}{
+ <-> alias * Junicode-LF/sb/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-LF/mediumcondensed/it
+\DeclareFontShape{TS1}{Junicode-LF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-lf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-LF}{semibold}{n}{
+ <-> alias * Junicode-LF/sb/n
+}{}
-% ---- sbsx = semiboldsemiexpanded ----
+\DeclareFontShape{TS1}{Junicode-LF}{sb}{sl}{
+ <-> ssub * Junicode-LF/sb/it
+}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{semibold}{sl}{
+ <-> ssub * Junicode-LF/semibold/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-LF/sbsx/it
+
+% ---- b = bold ----
+
+\DeclareFontShape{TS1}{Junicode-LF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-lf-ts1
+\DeclareFontShape{TS1}{Junicode-LF}{bold}{n}{
+ <-> alias * Junicode-LF/b/n
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-LF/sbsx/n
+\DeclareFontShape{TS1}{Junicode-LF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-lf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{sbsx}{sl}{
- <-> ssub * Junicode-LF/sbsx/it
+\DeclareFontShape{TS1}{Junicode-LF}{bold}{it}{
+ <-> alias * Junicode-LF/b/it
}{}
-\DeclareFontShape{TS1}{Junicode-LF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-LF/semiboldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-LF}{b}{sl}{
+ <-> ssub * Junicode-LF/b/it
+}{}
+
+\DeclareFontShape{TS1}{Junicode-LF}{bold}{sl}{
+ <-> ssub * Junicode-LF/bold/it
+}{}
+
+
+% ---- mediumcondensed ----
+
+\DeclareFontShape{TS1}{Junicode-LF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-lf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-LF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-lf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-LF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-LF/mediumcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-OsF.fd b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-OsF.fd
index 0dbb92f8aca..8c49fdb846e 100644
--- a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-OsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{TS1Junicode-OsF.fd}
- [2024/01/08 (autoinst) Font definitions for TS1/Junicode-OsF.]
+ [2024/06/03 (autoinst) Font definitions for TS1/Junicode-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,45 +20,45 @@
\DeclareFontFamily{TS1}{Junicode-OsF}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-OsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-OsF/sbsx/it
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemicondensed/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-OsF/sbsx/n
-}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sbsx}{sl}{
- <-> ssub * Junicode-OsF/sbsx/it
-}{}
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{TS1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-osf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-OsF/sbx/n
+}{}
-% ---- mediumcondensed ----
+\DeclareFontShape{TS1}{Junicode-OsF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-ts1
+}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-OsF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{sbx}{sl}{
+ <-> ssub * Junicode-OsF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumcondensed/it
+\DeclareFontShape{TS1}{Junicode-OsF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldexpanded/it
}{}
@@ -91,14 +91,6 @@
% ---- lc = lightcondensed ----
-\DeclareFontShape{TS1}{Junicode-OsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-osf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-OsF}{lightcondensed}{it}{
- <-> alias * Junicode-OsF/lc/it
-}{}
-
\DeclareFontShape{TS1}{Junicode-OsF}{lc}{n}{
<-> \Junicode@@scale Junicode-CondLight-osf-ts1
}{}
@@ -107,6 +99,14 @@
<-> alias * Junicode-OsF/lc/n
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-osf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-OsF}{lightcondensed}{it}{
+ <-> alias * Junicode-OsF/lc/it
+}{}
+
\DeclareFontShape{TS1}{Junicode-OsF}{lc}{sl}{
<-> ssub * Junicode-OsF/lc/it
}{}
@@ -116,126 +116,99 @@
}{}
-% ---- b = bold ----
-
-\DeclareFontShape{TS1}{Junicode-OsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-osf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-OsF}{bold}{it}{
- <-> alias * Junicode-OsF/b/it
-}{}
-
-\DeclareFontShape{TS1}{Junicode-OsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-osf-ts1
-}{}
+% ---- sb = semibold ----
-\DeclareFontShape{TS1}{Junicode-OsF}{bold}{n}{
- <-> alias * Junicode-OsF/b/n
+\DeclareFontShape{TS1}{Junicode-OsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{b}{sl}{
- <-> ssub * Junicode-OsF/b/it
+\DeclareFontShape{TS1}{Junicode-OsF}{semibold}{n}{
+ <-> alias * Junicode-OsF/sb/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{bold}{sl}{
- <-> ssub * Junicode-OsF/bold/it
+\DeclareFontShape{TS1}{Junicode-OsF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-osf-ts1
}{}
-
-% ---- mediumexpanded ----
-
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{semibold}{it}{
+ <-> alias * Junicode-OsF/sb/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{sb}{sl}{
+ <-> ssub * Junicode-OsF/sb/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumexpanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{semibold}{sl}{
+ <-> ssub * Junicode-OsF/semibold/it
}{}
-% ---- c = condensed ----
+% ---- sc = semicondensed ----
-\DeclareFontShape{TS1}{Junicode-OsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{condensed}{n}{
- <-> alias * Junicode-OsF/c/n
+\DeclareFontShape{TS1}{Junicode-OsF}{semicondensed}{it}{
+ <-> alias * Junicode-OsF/sc/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{condensed}{it}{
- <-> alias * Junicode-OsF/c/it
+\DeclareFontShape{TS1}{Junicode-OsF}{semicondensed}{n}{
+ <-> alias * Junicode-OsF/sc/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{c}{sl}{
- <-> ssub * Junicode-OsF/c/it
+\DeclareFontShape{TS1}{Junicode-OsF}{sc}{sl}{
+ <-> ssub * Junicode-OsF/sc/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{condensed}{sl}{
- <-> ssub * Junicode-OsF/condensed/it
+\DeclareFontShape{TS1}{Junicode-OsF}{semicondensed}{sl}{
+ <-> ssub * Junicode-OsF/semicondensed/it
}{}
-% ---- x = expanded ----
-
-\DeclareFontShape{TS1}{Junicode-OsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-osf-ts1
-}{}
+% ---- b = bold ----
-\DeclareFontShape{TS1}{Junicode-OsF}{expanded}{n}{
- <-> alias * Junicode-OsF/x/n
+\DeclareFontShape{TS1}{Junicode-OsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{bold}{n}{
+ <-> alias * Junicode-OsF/b/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{expanded}{it}{
- <-> alias * Junicode-OsF/x/it
+\DeclareFontShape{TS1}{Junicode-OsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{x}{sl}{
- <-> ssub * Junicode-OsF/x/it
+\DeclareFontShape{TS1}{Junicode-OsF}{bold}{it}{
+ <-> alias * Junicode-OsF/b/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{expanded}{sl}{
- <-> ssub * Junicode-OsF/expanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{b}{sl}{
+ <-> ssub * Junicode-OsF/b/it
}{}
-
-% ---- sx = semiexpanded ----
-
-\DeclareFontShape{TS1}{Junicode-OsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{bold}{sl}{
+ <-> ssub * Junicode-OsF/bold/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiexpanded}{it}{
- <-> alias * Junicode-OsF/sx/it
-}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-osf-ts1
-}{}
+% ---- mediumcondensed ----
-\DeclareFontShape{TS1}{Junicode-OsF}{semiexpanded}{n}{
- <-> alias * Junicode-OsF/sx/n
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sx}{sl}{
- <-> ssub * Junicode-OsF/sx/it
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiexpanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-OsF/mediumcondensed/it
}{}
@@ -266,210 +239,237 @@
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{TS1}{Junicode-OsF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiboldexpanded}{it}{
- <-> alias * Junicode-OsF/sbx/it
+\DeclareFontShape{TS1}{Junicode-OsF}{boldexpanded}{n}{
+ <-> alias * Junicode-OsF/bx/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-OsF/sbx/n
+\DeclareFontShape{TS1}{Junicode-OsF}{boldexpanded}{it}{
+ <-> alias * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sbx}{sl}{
- <-> ssub * Junicode-OsF/sbx/it
+\DeclareFontShape{TS1}{Junicode-OsF}{bx}{sl}{
+ <-> ssub * Junicode-OsF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-OsF/semiboldexpanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-OsF/boldexpanded/it
}{}
-% ---- medium ----
+% ---- m = regular ----
-\DeclareFontShape{TS1}{Junicode-OsF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{regular}{n}{
+ <-> alias * Junicode-OsF/m/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{medium}{sl}{
- <-> ssub * Junicode-OsF/medium/it
+\DeclareFontShape{TS1}{Junicode-OsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-osf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{regular}{it}{
+ <-> alias * Junicode-OsF/m/it
+}{}
-% ---- mediumsemicondensed ----
+\DeclareFontShape{TS1}{Junicode-OsF}{m}{sl}{
+ <-> ssub * Junicode-OsF/m/it
+}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{regular}{sl}{
+ <-> ssub * Junicode-OsF/regular/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-osf-ts1
+
+% ---- medium ----
+
+\DeclareFontShape{TS1}{Junicode-OsF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/mediumsemicondensed/it
+\DeclareFontShape{TS1}{Junicode-OsF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-osf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{medium}{sl}{
+ <-> ssub * Junicode-OsF/medium/it
+}{}
-% ---- m = regular ----
-\DeclareFontShape{TS1}{Junicode-OsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-osf-ts1
+% ---- lsc = lightsemicondensed ----
+
+\DeclareFontShape{TS1}{Junicode-OsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{regular}{it}{
- <-> alias * Junicode-OsF/m/it
+\DeclareFontShape{TS1}{Junicode-OsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-OsF/lsc/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{regular}{n}{
- <-> alias * Junicode-OsF/m/n
+\DeclareFontShape{TS1}{Junicode-OsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{m}{sl}{
- <-> ssub * Junicode-OsF/m/it
+\DeclareFontShape{TS1}{Junicode-OsF}{lsc}{sl}{
+ <-> ssub * Junicode-OsF/lsc/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{regular}{sl}{
- <-> ssub * Junicode-OsF/regular/it
+\DeclareFontShape{TS1}{Junicode-OsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-OsF/lightsemicondensed/it
}{}
-% ---- bx = boldexpanded ----
+% ---- c = condensed ----
-\DeclareFontShape{TS1}{Junicode-OsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{boldexpanded}{n}{
- <-> alias * Junicode-OsF/bx/n
+\DeclareFontShape{TS1}{Junicode-OsF}{condensed}{it}{
+ <-> alias * Junicode-OsF/c/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{boldexpanded}{it}{
- <-> alias * Junicode-OsF/bx/it
+\DeclareFontShape{TS1}{Junicode-OsF}{condensed}{n}{
+ <-> alias * Junicode-OsF/c/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{bx}{sl}{
- <-> ssub * Junicode-OsF/bx/it
+\DeclareFontShape{TS1}{Junicode-OsF}{c}{sl}{
+ <-> ssub * Junicode-OsF/c/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-OsF/boldexpanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{condensed}{sl}{
+ <-> ssub * Junicode-OsF/condensed/it
}{}
-% ---- mediumsemiexpanded ----
+% ---- x = expanded ----
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{expanded}{it}{
+ <-> alias * Junicode-OsF/x/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-OsF/mediumsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-OsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-osf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{expanded}{n}{
+ <-> alias * Junicode-OsF/x/n
+}{}
-% ---- sb = semibold ----
+\DeclareFontShape{TS1}{Junicode-OsF}{x}{sl}{
+ <-> ssub * Junicode-OsF/x/it
+}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{expanded}{sl}{
+ <-> ssub * Junicode-OsF/expanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semibold}{n}{
- <-> alias * Junicode-OsF/sb/n
+
+% ---- sx = semiexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-OsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{semiexpanded}{it}{
+ <-> alias * Junicode-OsF/sx/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semibold}{it}{
- <-> alias * Junicode-OsF/sb/it
+\DeclareFontShape{TS1}{Junicode-OsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sb}{sl}{
- <-> ssub * Junicode-OsF/sb/it
+\DeclareFontShape{TS1}{Junicode-OsF}{semiexpanded}{n}{
+ <-> alias * Junicode-OsF/sx/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semibold}{sl}{
- <-> ssub * Junicode-OsF/semibold/it
+\DeclareFontShape{TS1}{Junicode-OsF}{sx}{sl}{
+ <-> ssub * Junicode-OsF/sx/it
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiexpanded/it
+}{}
-% ---- sc = semicondensed ----
-\DeclareFontShape{TS1}{Junicode-OsF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-osf-ts1
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{TS1}{Junicode-OsF}{semicondensed}{it}{
- <-> alias * Junicode-OsF/sc/it
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semicondensed}{n}{
- <-> alias * Junicode-OsF/sc/n
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumexpanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{sc}{sl}{
- <-> ssub * Junicode-OsF/sc/it
-}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{semicondensed}{sl}{
- <-> ssub * Junicode-OsF/semicondensed/it
+% ---- sbsx = semiboldsemiexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-OsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-osf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-OsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-OsF/sbsx/it
+}{}
-% ---- lsc = lightsemicondensed ----
+\DeclareFontShape{TS1}{Junicode-OsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-osf-ts1
+}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-OsF/sbsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-OsF/lsc/it
+\DeclareFontShape{TS1}{Junicode-OsF}{sbsx}{sl}{
+ <-> ssub * Junicode-OsF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-osf-ts1
+\DeclareFontShape{TS1}{Junicode-OsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/semiboldsemiexpanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-OsF/lsc/n
+
+% ---- mediumsemiexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{lsc}{sl}{
- <-> ssub * Junicode-OsF/lsc/it
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-osf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-OsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-OsF/lightsemicondensed/it
+\DeclareFontShape{TS1}{Junicode-OsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-OsF/mediumsemiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TLF.fd b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TLF.fd
index 39e70ab4502..8ff70a59bb5 100644
--- a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TLF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TLF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{TS1Junicode-TLF.fd}
- [2024/01/08 (autoinst) Font definitions for TS1/Junicode-TLF.]
+ [2024/06/03 (autoinst) Font definitions for TS1/Junicode-TLF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -47,23 +47,16 @@
}{}
-% ---- mediumexpanded ----
-
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumexpanded}{n}{
- <-> \Junicode@@scale Junicode-ExpMedium-tlf-ts1
-}{}
+% ---- x = expanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumexpanded/it
+\DeclareFontShape{TS1}{Junicode-TLF}{expanded}{it}{
+ <-> alias * Junicode-TLF/x/it
}{}
-
-% ---- x = expanded ----
-
\DeclareFontShape{TS1}{Junicode-TLF}{x}{n}{
<-> \Junicode@@scale Junicode-Exp-tlf-ts1
}{}
@@ -72,14 +65,6 @@
<-> alias * Junicode-TLF/x/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TLF}{expanded}{it}{
- <-> alias * Junicode-TLF/x/it
-}{}
-
\DeclareFontShape{TS1}{Junicode-TLF}{x}{sl}{
<-> ssub * Junicode-TLF/x/it
}{}
@@ -91,14 +76,6 @@
% ---- c = condensed ----
-\DeclareFontShape{TS1}{Junicode-TLF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TLF}{condensed}{it}{
- <-> alias * Junicode-TLF/c/it
-}{}
-
\DeclareFontShape{TS1}{Junicode-TLF}{c}{n}{
<-> \Junicode@@scale Junicode-Cond-tlf-ts1
}{}
@@ -107,6 +84,14 @@
<-> alias * Junicode-TLF/c/n
}{}
+\DeclareFontShape{TS1}{Junicode-TLF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TLF}{condensed}{it}{
+ <-> alias * Junicode-TLF/c/it
+}{}
+
\DeclareFontShape{TS1}{Junicode-TLF}{c}{sl}{
<-> ssub * Junicode-TLF/c/it
}{}
@@ -116,139 +101,119 @@
}{}
-% ---- lc = lightcondensed ----
-
-\DeclareFontShape{TS1}{Junicode-TLF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TLF}{lightcondensed}{n}{
- <-> alias * Junicode-TLF/lc/n
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TLF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tlf-ts1
-}{}
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{lightcondensed}{it}{
- <-> alias * Junicode-TLF/lc/it
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{lc}{sl}{
- <-> ssub * Junicode-TLF/lc/it
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TLF/lightcondensed/it
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemiexpanded/it
}{}
-% ---- b = bold ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bold}{n}{
- <-> alias * Junicode-TLF/b/n
+\DeclareFontShape{TS1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bold}{it}{
- <-> alias * Junicode-TLF/b/it
+\DeclareFontShape{TS1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/sbsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{b}{sl}{
- <-> ssub * Junicode-TLF/b/it
+\DeclareFontShape{TS1}{Junicode-TLF}{sbsx}{sl}{
+ <-> ssub * Junicode-TLF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bold}{sl}{
- <-> ssub * Junicode-TLF/bold/it
+\DeclareFontShape{TS1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
}{}
-% ---- mediumcondensed ----
+% ---- mediumexpanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumexpanded}{n}{
+ <-> \Junicode@@scale Junicode-ExpMedium-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumcondensed/it
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumexpanded}{sl}{
+ <-> ssub * Junicode-TLF/mediumexpanded/it
}{}
-% ---- sbsx = semiboldsemiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/sbsx/n
+\DeclareFontShape{TS1}{Junicode-TLF}{boldexpanded}{n}{
+ <-> alias * Junicode-TLF/bx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/sbsx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{boldexpanded}{it}{
+ <-> alias * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sbsx}{sl}{
- <-> ssub * Junicode-TLF/sbsx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{bx}{sl}{
+ <-> ssub * Junicode-TLF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TLF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldexpanded/it
}{}
-% ---- bsx = boldsemiexpanded ----
+% ---- l = light ----
-\DeclareFontShape{TS1}{Junicode-TLF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TLF/bsx/n
+\DeclareFontShape{TS1}{Junicode-TLF}{light}{it}{
+ <-> alias * Junicode-TLF/l/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TLF/bsx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{light}{n}{
+ <-> alias * Junicode-TLF/l/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bsx}{sl}{
- <-> ssub * Junicode-TLF/bsx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{l}{sl}{
+ <-> ssub * Junicode-TLF/l/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TLF}{light}{sl}{
+ <-> ssub * Junicode-TLF/light/it
}{}
% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-TLF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TLF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TLF/lsc/it
-}{}
-
\DeclareFontShape{TS1}{Junicode-TLF}{lsc}{n}{
<-> \Junicode@@scale Junicode-SmCondLight-tlf-ts1
}{}
@@ -257,6 +222,14 @@
<-> alias * Junicode-TLF/lsc/n
}{}
+\DeclareFontShape{TS1}{Junicode-TLF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TLF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TLF/lsc/it
+}{}
+
\DeclareFontShape{TS1}{Junicode-TLF}{lsc}{sl}{
<-> ssub * Junicode-TLF/lsc/it
}{}
@@ -266,210 +239,237 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- medium ----
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{medium}{it}{
+ <-> \Junicode@@scale Junicode-MediumItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{medium}{n}{
+ <-> \Junicode@@scale Junicode-Medium-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TLF/mediumsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TLF}{medium}{sl}{
+ <-> ssub * Junicode-TLF/medium/it
}{}
-% ---- sb = semibold ----
+% ---- m = regular ----
-\DeclareFontShape{TS1}{Junicode-TLF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semibold}{n}{
- <-> alias * Junicode-TLF/sb/n
+\DeclareFontShape{TS1}{Junicode-TLF}{regular}{n}{
+ <-> alias * Junicode-TLF/m/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sb}{it}{
- <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semibold}{it}{
- <-> alias * Junicode-TLF/sb/it
+\DeclareFontShape{TS1}{Junicode-TLF}{regular}{it}{
+ <-> alias * Junicode-TLF/m/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sb}{sl}{
- <-> ssub * Junicode-TLF/sb/it
+\DeclareFontShape{TS1}{Junicode-TLF}{m}{sl}{
+ <-> ssub * Junicode-TLF/m/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semibold}{sl}{
- <-> ssub * Junicode-TLF/semibold/it
+\DeclareFontShape{TS1}{Junicode-TLF}{regular}{sl}{
+ <-> ssub * Junicode-TLF/regular/it
}{}
-% ---- sc = semicondensed ----
+% ---- b = bold ----
-\DeclareFontShape{TS1}{Junicode-TLF}{sc}{n}{
- <-> \Junicode@@scale Junicode-SmCond-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semicondensed}{n}{
- <-> alias * Junicode-TLF/sc/n
+\DeclareFontShape{TS1}{Junicode-TLF}{bold}{n}{
+ <-> alias * Junicode-TLF/b/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sc}{it}{
- <-> \Junicode@@scale Junicode-SmCondItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semicondensed}{it}{
- <-> alias * Junicode-TLF/sc/it
+\DeclareFontShape{TS1}{Junicode-TLF}{bold}{it}{
+ <-> alias * Junicode-TLF/b/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sc}{sl}{
- <-> ssub * Junicode-TLF/sc/it
+\DeclareFontShape{TS1}{Junicode-TLF}{b}{sl}{
+ <-> ssub * Junicode-TLF/b/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semicondensed}{sl}{
- <-> ssub * Junicode-TLF/semicondensed/it
+\DeclareFontShape{TS1}{Junicode-TLF}{bold}{sl}{
+ <-> ssub * Junicode-TLF/bold/it
}{}
-% ---- mediumsemicondensed ----
+% ---- mediumcondensed ----
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemicondensed}{n}{
- <-> \Junicode@@scale Junicode-SmCondMedium-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemicondensed}{sl}{
- <-> ssub * Junicode-TLF/mediumsemicondensed/it
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumcondensed/it
}{}
-% ---- m = regular ----
+% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{regular}{n}{
- <-> alias * Junicode-TLF/m/n
+\DeclareFontShape{TS1}{Junicode-TLF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TLF/sbx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{regular}{it}{
- <-> alias * Junicode-TLF/m/it
+\DeclareFontShape{TS1}{Junicode-TLF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{m}{sl}{
- <-> ssub * Junicode-TLF/m/it
+\DeclareFontShape{TS1}{Junicode-TLF}{sbx}{sl}{
+ <-> ssub * Junicode-TLF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{regular}{sl}{
- <-> ssub * Junicode-TLF/regular/it
+\DeclareFontShape{TS1}{Junicode-TLF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TLF/semiboldexpanded/it
}{}
-% ---- bx = boldexpanded ----
+% ---- mediumsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-TLF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemicondensed}{n}{
+ <-> \Junicode@@scale Junicode-SmCondMedium-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{boldexpanded}{n}{
- <-> alias * Junicode-TLF/bx/n
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{mediumsemicondensed}{sl}{
+ <-> ssub * Junicode-TLF/mediumsemicondensed/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{boldexpanded}{it}{
- <-> alias * Junicode-TLF/bx/it
+
+% ---- sc = semicondensed ----
+
+\DeclareFontShape{TS1}{Junicode-TLF}{sc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{bx}{sl}{
- <-> ssub * Junicode-TLF/bx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{semicondensed}{it}{
+ <-> alias * Junicode-TLF/sc/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TLF/boldexpanded/it
+\DeclareFontShape{TS1}{Junicode-TLF}{sc}{n}{
+ <-> \Junicode@@scale Junicode-SmCond-tlf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-TLF}{semicondensed}{n}{
+ <-> alias * Junicode-TLF/sc/n
+}{}
-% ---- l = light ----
+\DeclareFontShape{TS1}{Junicode-TLF}{sc}{sl}{
+ <-> ssub * Junicode-TLF/sc/it
+}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{semicondensed}{sl}{
+ <-> ssub * Junicode-TLF/semicondensed/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{light}{it}{
- <-> alias * Junicode-TLF/l/it
+
+% ---- sb = semibold ----
+
+\DeclareFontShape{TS1}{Junicode-TLF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{semibold}{n}{
+ <-> alias * Junicode-TLF/sb/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{light}{n}{
- <-> alias * Junicode-TLF/l/n
+\DeclareFontShape{TS1}{Junicode-TLF}{sb}{it}{
+ <-> \Junicode@@scale Junicode-SmBoldItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{l}{sl}{
- <-> ssub * Junicode-TLF/l/it
+\DeclareFontShape{TS1}{Junicode-TLF}{semibold}{it}{
+ <-> alias * Junicode-TLF/sb/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{light}{sl}{
- <-> ssub * Junicode-TLF/light/it
+\DeclareFontShape{TS1}{Junicode-TLF}{sb}{sl}{
+ <-> ssub * Junicode-TLF/sb/it
}{}
+\DeclareFontShape{TS1}{Junicode-TLF}{semibold}{sl}{
+ <-> ssub * Junicode-TLF/semibold/it
+}{}
-% ---- sbx = semiboldexpanded ----
-\DeclareFontShape{TS1}{Junicode-TLF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tlf-ts1
+% ---- bsx = boldsemiexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-TLF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TLF/sbx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TLF/sbx/n
+\DeclareFontShape{TS1}{Junicode-TLF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TLF/bsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{sbx}{sl}{
- <-> ssub * Junicode-TLF/sbx/it
+\DeclareFontShape{TS1}{Junicode-TLF}{bsx}{sl}{
+ <-> ssub * Junicode-TLF/bsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TLF/semiboldexpanded/it
+\DeclareFontShape{TS1}{Junicode-TLF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TLF/boldsemiexpanded/it
}{}
-% ---- medium ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{TS1}{Junicode-TLF}{medium}{n}{
- <-> \Junicode@@scale Junicode-Medium-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tlf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{medium}{it}{
- <-> \Junicode@@scale Junicode-MediumItalic-tlf-ts1
+\DeclareFontShape{TS1}{Junicode-TLF}{lightcondensed}{n}{
+ <-> alias * Junicode-TLF/lc/n
}{}
-\DeclareFontShape{TS1}{Junicode-TLF}{medium}{sl}{
- <-> ssub * Junicode-TLF/medium/it
+\DeclareFontShape{TS1}{Junicode-TLF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TLF}{lightcondensed}{it}{
+ <-> alias * Junicode-TLF/lc/it
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TLF}{lc}{sl}{
+ <-> ssub * Junicode-TLF/lc/it
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TLF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TLF/lightcondensed/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TOsF.fd b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TOsF.fd
index 08e9aea6d2f..02b2f8fbda9 100644
--- a/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/junicode/TS1Junicode-TOsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2024/01/08
+%% Generated by autoinst on 2024/06/03
%%
\ProvidesFile{TS1Junicode-TOsF.fd}
- [2024/01/08 (autoinst) Font definitions for TS1/Junicode-TOsF.]
+ [2024/06/03 (autoinst) Font definitions for TS1/Junicode-TOsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,35 +20,16 @@
\DeclareFontFamily{TS1}{Junicode-TOsF}{}
-% ---- lsc = lightsemicondensed ----
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{lsc}{n}{
- <-> \Junicode@@scale Junicode-SmCondLight-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{lightsemicondensed}{n}{
- <-> alias * Junicode-TOsF/lsc/n
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{lsc}{it}{
- <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{lightsemicondensed}{it}{
- <-> alias * Junicode-TOsF/lsc/it
-}{}
+% ---- sb = semibold ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{lsc}{sl}{
- <-> ssub * Junicode-TOsF/lsc/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{sb}{n}{
+ <-> \Junicode@@scale Junicode-SmBold-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{lightsemicondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightsemicondensed/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semibold}{n}{
+ <-> alias * Junicode-TOsF/sb/n
}{}
-
-% ---- sb = semibold ----
-
\DeclareFontShape{TS1}{Junicode-TOsF}{sb}{it}{
<-> \Junicode@@scale Junicode-SmBoldItalic-tosf-ts1
}{}
@@ -57,14 +38,6 @@
<-> alias * Junicode-TOsF/sb/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sb}{n}{
- <-> \Junicode@@scale Junicode-SmBold-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{semibold}{n}{
- <-> alias * Junicode-TOsF/sb/n
-}{}
-
\DeclareFontShape{TS1}{Junicode-TOsF}{sb}{sl}{
<-> ssub * Junicode-TOsF/sb/it
}{}
@@ -101,90 +74,144 @@
}{}
-% ---- mediumsemiexpanded ----
+% ---- lc = lightcondensed ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
- <-> \Junicode@@scale Junicode-SmExpMedium-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{lc}{n}{
+ <-> \Junicode@@scale Junicode-CondLight-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
- <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{lightcondensed}{n}{
+ <-> alias * Junicode-TOsF/lc/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{lc}{it}{
+ <-> \Junicode@@scale Junicode-CondLightItalic-tosf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-TOsF}{lightcondensed}{it}{
+ <-> alias * Junicode-TOsF/lc/it
+}{}
-% ---- m = regular ----
+\DeclareFontShape{TS1}{Junicode-TOsF}{lc}{sl}{
+ <-> ssub * Junicode-TOsF/lc/it
+}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{m}{n}{
- <-> \Junicode@@scale Junicode-Regular-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{lightcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightcondensed/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{regular}{n}{
- <-> alias * Junicode-TOsF/m/n
+
+% ---- bsx = boldsemiexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{bsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpBold-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{m}{it}{
- <-> \Junicode@@scale Junicode-Italic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{boldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/bsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{regular}{it}{
- <-> alias * Junicode-TOsF/m/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{bsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{m}{sl}{
- <-> ssub * Junicode-TOsF/m/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{boldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/bsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{regular}{sl}{
- <-> ssub * Junicode-TOsF/regular/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{bsx}{sl}{
+ <-> ssub * Junicode-TOsF/bsx/it
}{}
+\DeclareFontShape{TS1}{Junicode-TOsF}{boldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldsemiexpanded/it
+}{}
-% ---- bx = boldexpanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{bx}{it}{
- <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-ts1
+% ---- sbx = semiboldexpanded ----
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{sbx}{it}{
+ <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{boldexpanded}{it}{
- <-> alias * Junicode-TOsF/bx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bx}{n}{
- <-> \Junicode@@scale Junicode-ExpBold-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{sbx}{n}{
+ <-> \Junicode@@scale Junicode-ExpSmBold-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{boldexpanded}{n}{
- <-> alias * Junicode-TOsF/bx/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bx}{sl}{
- <-> ssub * Junicode-TOsF/bx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{sbx}{sl}{
+ <-> ssub * Junicode-TOsF/sbx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{boldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldexpanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldexpanded/it
}{}
% ---- mediumsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemicondensed}{it}{
- <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-ts1
-}{}
-
\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemicondensed}{n}{
<-> \Junicode@@scale Junicode-SmCondMedium-tosf-ts1
}{}
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemicondensed}{it}{
+ <-> \Junicode@@scale Junicode-SmCondMediumItalic-tosf-ts1
+}{}
+
\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemicondensed}{sl}{
<-> ssub * Junicode-TOsF/mediumsemicondensed/it
}{}
+% ---- mediumcondensed ----
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumcondensed}{it}{
+ <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumcondensed}{n}{
+ <-> \Junicode@@scale Junicode-CondMedium-tosf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumcondensed}{sl}{
+ <-> ssub * Junicode-TOsF/mediumcondensed/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{b}{n}{
+ <-> \Junicode@@scale Junicode-Bold-tosf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{bold}{n}{
+ <-> alias * Junicode-TOsF/b/n
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{b}{it}{
+ <-> \Junicode@@scale Junicode-BoldItalic-tosf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{bold}{it}{
+ <-> alias * Junicode-TOsF/b/it
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{b}{sl}{
+ <-> ssub * Junicode-TOsF/b/it
+}{}
+
+\DeclareFontShape{TS1}{Junicode-TOsF}{bold}{sl}{
+ <-> ssub * Junicode-TOsF/bold/it
+}{}
+
+
% ---- medium ----
\DeclareFontShape{TS1}{Junicode-TOsF}{medium}{it}{
@@ -200,276 +227,249 @@
}{}
-% ---- sbx = semiboldexpanded ----
+% ---- lsc = lightsemicondensed ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{sbx}{n}{
- <-> \Junicode@@scale Junicode-ExpSmBold-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{lsc}{n}{
+ <-> \Junicode@@scale Junicode-SmCondLight-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldexpanded}{n}{
- <-> alias * Junicode-TOsF/sbx/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{lightsemicondensed}{n}{
+ <-> alias * Junicode-TOsF/lsc/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sbx}{it}{
- <-> \Junicode@@scale Junicode-ExpSmBoldItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{lsc}{it}{
+ <-> \Junicode@@scale Junicode-SmCondLightItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldexpanded}{it}{
- <-> alias * Junicode-TOsF/sbx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{lightsemicondensed}{it}{
+ <-> alias * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sbx}{sl}{
- <-> ssub * Junicode-TOsF/sbx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{lsc}{sl}{
+ <-> ssub * Junicode-TOsF/lsc/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldexpanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{lightsemicondensed}{sl}{
+ <-> ssub * Junicode-TOsF/lightsemicondensed/it
}{}
-% ---- l = light ----
+% ---- m = regular ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{l}{it}{
- <-> \Junicode@@scale Junicode-LightItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{m}{n}{
+ <-> \Junicode@@scale Junicode-Regular-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{light}{it}{
- <-> alias * Junicode-TOsF/l/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{regular}{n}{
+ <-> alias * Junicode-TOsF/m/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{l}{n}{
- <-> \Junicode@@scale Junicode-Light-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{m}{it}{
+ <-> \Junicode@@scale Junicode-Italic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{light}{n}{
- <-> alias * Junicode-TOsF/l/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{regular}{it}{
+ <-> alias * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{l}{sl}{
- <-> ssub * Junicode-TOsF/l/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{m}{sl}{
+ <-> ssub * Junicode-TOsF/m/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{light}{sl}{
- <-> ssub * Junicode-TOsF/light/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{regular}{sl}{
+ <-> ssub * Junicode-TOsF/regular/it
}{}
-% ---- sx = semiexpanded ----
+% ---- bx = boldexpanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{sx}{n}{
- <-> \Junicode@@scale Junicode-SmExp-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{bx}{it}{
+ <-> \Junicode@@scale Junicode-ExpBoldItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiexpanded}{n}{
- <-> alias * Junicode-TOsF/sx/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{boldexpanded}{it}{
+ <-> alias * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sx}{it}{
- <-> \Junicode@@scale Junicode-SmExpItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{bx}{n}{
+ <-> \Junicode@@scale Junicode-ExpBold-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiexpanded}{it}{
- <-> alias * Junicode-TOsF/sx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{boldexpanded}{n}{
+ <-> alias * Junicode-TOsF/bx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sx}{sl}{
- <-> ssub * Junicode-TOsF/sx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{bx}{sl}{
+ <-> ssub * Junicode-TOsF/bx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{boldexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/boldexpanded/it
}{}
-% ---- x = expanded ----
+% ---- l = light ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{x}{n}{
- <-> \Junicode@@scale Junicode-Exp-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{l}{it}{
+ <-> \Junicode@@scale Junicode-LightItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{expanded}{n}{
- <-> alias * Junicode-TOsF/x/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{light}{it}{
+ <-> alias * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{x}{it}{
- <-> \Junicode@@scale Junicode-ExpItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{l}{n}{
+ <-> \Junicode@@scale Junicode-Light-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{expanded}{it}{
- <-> alias * Junicode-TOsF/x/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{light}{n}{
+ <-> alias * Junicode-TOsF/l/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{x}{sl}{
- <-> ssub * Junicode-TOsF/x/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{l}{sl}{
+ <-> ssub * Junicode-TOsF/l/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{expanded}{sl}{
- <-> ssub * Junicode-TOsF/expanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{light}{sl}{
+ <-> ssub * Junicode-TOsF/light/it
}{}
-% ---- c = condensed ----
+% ---- mediumsemiexpanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{c}{n}{
- <-> \Junicode@@scale Junicode-Cond-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemiexpanded}{it}{
+ <-> \Junicode@@scale Junicode-SmExpMediumItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{condensed}{n}{
- <-> alias * Junicode-TOsF/c/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemiexpanded}{n}{
+ <-> \Junicode@@scale Junicode-SmExpMedium-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{c}{it}{
- <-> \Junicode@@scale Junicode-CondItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/mediumsemiexpanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{condensed}{it}{
- <-> alias * Junicode-TOsF/c/it
-}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{c}{sl}{
- <-> ssub * Junicode-TOsF/c/it
-}{}
+% ---- mediumexpanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{condensed}{sl}{
- <-> ssub * Junicode-TOsF/condensed/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{mediumexpanded}{it}{
+ <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-ts1
}{}
-
-% ---- mediumexpanded ----
-
\DeclareFontShape{TS1}{Junicode-TOsF}{mediumexpanded}{n}{
<-> \Junicode@@scale Junicode-ExpMedium-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumexpanded}{it}{
- <-> \Junicode@@scale Junicode-ExpMediumItalic-tosf-ts1
-}{}
-
\DeclareFontShape{TS1}{Junicode-TOsF}{mediumexpanded}{sl}{
<-> ssub * Junicode-TOsF/mediumexpanded/it
}{}
-% ---- b = bold ----
+% ---- sbsx = semiboldsemiexpanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{b}{it}{
- <-> \Junicode@@scale Junicode-BoldItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{sbsx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bold}{it}{
- <-> alias * Junicode-TOsF/b/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{b}{n}{
- <-> \Junicode@@scale Junicode-Bold-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{sbsx}{n}{
+ <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bold}{n}{
- <-> alias * Junicode-TOsF/b/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sbsx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{b}{sl}{
- <-> ssub * Junicode-TOsF/b/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{sbsx}{sl}{
+ <-> ssub * Junicode-TOsF/sbsx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bold}{sl}{
- <-> ssub * Junicode-TOsF/bold/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
}{}
-% ---- lc = lightcondensed ----
+% ---- c = condensed ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{lc}{it}{
- <-> \Junicode@@scale Junicode-CondLightItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{c}{n}{
+ <-> \Junicode@@scale Junicode-Cond-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{lightcondensed}{it}{
- <-> alias * Junicode-TOsF/lc/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{condensed}{n}{
+ <-> alias * Junicode-TOsF/c/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{lc}{n}{
- <-> \Junicode@@scale Junicode-CondLight-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{c}{it}{
+ <-> \Junicode@@scale Junicode-CondItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{lightcondensed}{n}{
- <-> alias * Junicode-TOsF/lc/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{condensed}{it}{
+ <-> alias * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{lc}{sl}{
- <-> ssub * Junicode-TOsF/lc/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{c}{sl}{
+ <-> ssub * Junicode-TOsF/c/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{lightcondensed}{sl}{
- <-> ssub * Junicode-TOsF/lightcondensed/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{condensed}{sl}{
+ <-> ssub * Junicode-TOsF/condensed/it
}{}
-% ---- bsx = boldsemiexpanded ----
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{bsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpBoldItalic-tosf-ts1
-}{}
+% ---- x = expanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{boldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/bsx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{x}{it}{
+ <-> \Junicode@@scale Junicode-ExpItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpBold-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{expanded}{it}{
+ <-> alias * Junicode-TOsF/x/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{boldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/bsx/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{x}{n}{
+ <-> \Junicode@@scale Junicode-Exp-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{bsx}{sl}{
- <-> ssub * Junicode-TOsF/bsx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{expanded}{n}{
+ <-> alias * Junicode-TOsF/x/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{boldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/boldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{x}{sl}{
+ <-> ssub * Junicode-TOsF/x/it
}{}
-
-% ---- sbsx = semiboldsemiexpanded ----
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{sbsx}{it}{
- <-> \Junicode@@scale Junicode-SmExpSmBoldItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{expanded}{sl}{
+ <-> ssub * Junicode-TOsF/expanded/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldsemiexpanded}{it}{
- <-> alias * Junicode-TOsF/sbsx/it
-}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sbsx}{n}{
- <-> \Junicode@@scale Junicode-SmExpSmBold-tosf-ts1
-}{}
+% ---- sx = semiexpanded ----
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldsemiexpanded}{n}{
- <-> alias * Junicode-TOsF/sbsx/n
+\DeclareFontShape{TS1}{Junicode-TOsF}{sx}{it}{
+ <-> \Junicode@@scale Junicode-SmExpItalic-tosf-ts1
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{sbsx}{sl}{
- <-> ssub * Junicode-TOsF/sbsx/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiexpanded}{it}{
+ <-> alias * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{semiboldsemiexpanded}{sl}{
- <-> ssub * Junicode-TOsF/semiboldsemiexpanded/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{sx}{n}{
+ <-> \Junicode@@scale Junicode-SmExp-tosf-ts1
}{}
-
-% ---- mediumcondensed ----
-
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumcondensed}{n}{
- <-> \Junicode@@scale Junicode-CondMedium-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiexpanded}{n}{
+ <-> alias * Junicode-TOsF/sx/n
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumcondensed}{it}{
- <-> \Junicode@@scale Junicode-CondMediumItalic-tosf-ts1
+\DeclareFontShape{TS1}{Junicode-TOsF}{sx}{sl}{
+ <-> ssub * Junicode-TOsF/sx/it
}{}
-\DeclareFontShape{TS1}{Junicode-TOsF}{mediumcondensed}{sl}{
- <-> ssub * Junicode-TOsF/mediumcondensed/it
+\DeclareFontShape{TS1}{Junicode-TOsF}{semiexpanded}{sl}{
+ <-> ssub * Junicode-TOsF/semiexpanded/it
}{}
diff --git a/Master/texmf-dist/tex/latex/junicode/junicode.sty b/Master/texmf-dist/tex/latex/junicode/junicode.sty
index 56255b27b77..80d2f877aaa 100644
--- a/Master/texmf-dist/tex/latex/junicode/junicode.sty
+++ b/Master/texmf-dist/tex/latex/junicode/junicode.sty
@@ -1,7 +1,5 @@
% Options
%
-% fonttype=... Choose otf (the default) or ttf
-%
% lining: Default numbers will be lining (uppercase)
% oldstyle: Default numbers will be oldstyle (lowercase)
% proportional: Default numbers will be proportional
@@ -18,7 +16,7 @@
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{junicode}
- [2024/04/23 (Peter Baker and Bob Tennent) Supports Junicode static fonts.]
+ [2024/06/06 (Peter Baker and Bob Tennent) Supports Junicode static fonts.]
\RequirePackage{iftex,xkeyval}
@@ -54,7 +52,6 @@
% Choose the type of font: otf or ttf.
\newcommand*{\junicode@fonttype}{otf}
-\DeclareOptionX{fonttype}{\renewcommand*{\junicode@fonttype}{#1}}
% Figures: default is OldStyle Proportional
@@ -293,7 +290,7 @@
\newcommand*{\jSmExpBoldItalic}{\fontseries{bsx}\fontshape{it}\selectfont}
- \newcommand*{\jSmExpItalic}{\fontseries{sc}\fontshape{it}\selectfont}
+ \newcommand*{\jSmExpItalic}{\fontseries{sx}\fontshape{it}\selectfont}
\newcommand*{\jSmExpMedium}{\fontseries{mediumsemiexpanded}\selectfont}
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro
deleted file mode 100644
index 574b83c8b1a..00000000000
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro
+++ /dev/null
@@ -1,405 +0,0 @@
-%%
-%% This is file `l3backend-dvips.pro',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3backend-header.dtx (with options: `header,dvips')
-%%
-%% Copyright (C) 2019-2024 The LaTeX Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3backend bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3backend-header.dtx
-/color.sc { } def
-TeXDict begin
-/TeXcolorseparation { setcolor } def
-end
-true setglobal
-/pdf.globaldict 4 dict def
-false setglobal
-/pdf.cvs { 65534 string cvs } def
-/pdf.dvi.pt { 72.27 mul Resolution div } def
-/pdf.pt.dvi { 72.27 div Resolution mul } def
-/pdf.rect.ht { dup 1 get neg exch 3 get add } def
-/pdf.linkmargin { 1 pdf.pt.dvi } def
-/pdf.linkdp.pad { 0 } def
-/pdf.linkht.pad { 0 } def
-/pdf.rect
- { /Rect [ pdf.llx pdf.lly pdf.urx pdf.ury ] } def
-/pdf.save.ll
- {
- currentpoint
- /pdf.lly exch def
- /pdf.llx exch def
- }
- def
-/pdf.save.ur
- {
- currentpoint
- /pdf.ury exch def
- /pdf.urx exch def
- }
- def
-/pdf.save.linkll
- {
- currentpoint
- pdf.linkmargin add
- pdf.linkdp.pad add
- /pdf.lly exch def
- pdf.linkmargin sub
- /pdf.llx exch def
- }
- def
-/pdf.save.linkur
- {
- currentpoint
- pdf.linkmargin sub
- pdf.linkht.pad sub
- /pdf.ury exch def
- pdf.linkmargin add
- /pdf.urx exch def
- }
- def
-/pdf.dest.anchor
- {
- currentpoint exch
- pdf.dvi.pt 72 add
- /pdf.dest.x exch def
- pdf.dvi.pt
- vsize 72 sub exch sub
- /pdf.dest.y exch def
- }
- def
-/pdf.dest.point
- { pdf.dest.x pdf.dest.y } def
-/pdf.dest2device
- {
- /pdf.dest.y exch def
- /pdf.dest.x exch def
- matrix currentmatrix
- matrix defaultmatrix
- matrix invertmatrix
- matrix concatmatrix
- cvx exec
- /pdf.dev.y exch def
- /pdf.dev.x exch def
- /pdf.tmpd exch def
- /pdf.tmpc exch def
- /pdf.tmpb exch def
- /pdf.tmpa exch def
- pdf.dest.x pdf.tmpa mul
- pdf.dest.y pdf.tmpc mul add
- pdf.dev.x add
- pdf.dest.x pdf.tmpb mul
- pdf.dest.y pdf.tmpd mul add
- pdf.dev.y add
- }
- def
-/pdf.bordertracking false def
-/pdf.bordertracking.begin
- {
- SDict /pdf.bordertracking true put
- SDict /pdf.leftboundary undef
- SDict /pdf.rightboundary undef
- /a where
- {
- /a
- {
- currentpoint pop
- SDict /pdf.rightboundary known dup
- {
- SDict /pdf.rightboundary get 2 index lt
- { not }
- if
- }
- if
- { pop }
- { SDict exch /pdf.rightboundary exch put }
- ifelse
- moveto
- currentpoint pop
- SDict /pdf.leftboundary known dup
- {
- SDict /pdf.leftboundary get 2 index gt
- { not }
- if
- }
- if
- { pop }
- { SDict exch /pdf.leftboundary exch put }
- ifelse
- }
- put
- }
- if
- }
- def
-/pdf.bordertracking.end
- {
- /a where { /a { moveto } put } if
- /x where { /x { 0 exch rmoveto } put } if
- SDict /pdf.leftboundary known
- { pdf.outerbox 0 pdf.leftboundary put }
- if
- SDict /pdf.rightboundary known
- { pdf.outerbox 2 pdf.rightboundary put }
- if
- SDict /pdf.bordertracking false put
- }
- def
- /pdf.bordertracking.endpage
-{
- pdf.bordertracking
- {
- pdf.bordertracking.end
- true setglobal
- pdf.globaldict
- /pdf.brokenlink.rect [ pdf.outerbox aload pop ] put
- pdf.globaldict
- /pdf.brokenlink.skip pdf.baselineskip put
- pdf.globaldict
- /pdf.brokenlink.dict
- pdf.link.dict pdf.cvs put
- false setglobal
- mark pdf.link.dict cvx exec /Rect
- [
- pdf.llx
- pdf.lly
- pdf.outerbox 2 get pdf.linkmargin add
- currentpoint exch pop
- pdf.outerbox pdf.rect.ht sub pdf.linkmargin sub
- ]
- /ANN pdf.pdfmark
- }
- if
-}
- def
-/pdf.bordertracking.continue
- {
- /pdf.link.dict pdf.globaldict
- /pdf.brokenlink.dict get def
- /pdf.outerbox pdf.globaldict
- /pdf.brokenlink.rect get def
- /pdf.baselineskip pdf.globaldict
- /pdf.brokenlink.skip get def
- pdf.globaldict dup dup
- /pdf.brokenlink.dict undef
- /pdf.brokenlink.skip undef
- /pdf.brokenlink.rect undef
- currentpoint
- /pdf.originy exch def
- /pdf.originx exch def
- /a where
- {
- /a
- {
- moveto
- SDict
- begin
- currentpoint pdf.originy ne exch
- pdf.originx ne or
- {
- pdf.save.linkll
- /pdf.lly
- pdf.lly pdf.outerbox 1 get sub def
- pdf.bordertracking.begin
- }
- if
- end
- }
- put
- }
- if
- /x where
- {
- /x
- {
- 0 exch rmoveto
- SDict
- begin
- currentpoint
- pdf.originy ne exch pdf.originx ne or
- {
- pdf.save.linkll
- /pdf.lly
- pdf.lly pdf.outerbox 1 get sub def
- pdf.bordertracking.begin
- }
- if
- end
- }
- put
- }
- if
- }
- def
-/pdf.breaklink
- {
- pop
- counttomark 2 mod 0 eq
- {
- counttomark /pdf.count exch def
- {
- pdf.count 0 eq { exit } if
- counttomark 2 roll
- 1 index /Rect eq
- {
- dup 4 array copy
- dup dup
- 1 get
- pdf.outerbox pdf.rect.ht
- pdf.linkmargin 2 mul add sub
- 3 exch put
- dup
- pdf.outerbox 2 get
- pdf.linkmargin add
- 2 exch put
- dup dup
- 3 get
- pdf.outerbox pdf.rect.ht
- pdf.linkmargin 2 mul add add
- 1 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- {
- pdf.currentrect
- dup
- pdf.outerbox 0 get
- pdf.linkmargin sub
- 0 exch put
- dup
- pdf.outerbox 2 get
- pdf.linkmargin add
- 2 exch put
- dup dup
- 1 get
- pdf.baselineskip add
- 1 exch put
- dup dup
- 3 get
- pdf.baselineskip add
- 3 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- }
- 1 index 3 get
- pdf.linkmargin 2 mul add
- pdf.outerbox pdf.rect.ht add
- 2 index 1 get sub
- pdf.baselineskip div round cvi 1 sub
- exch
- repeat
- pdf.currentrect
- dup
- pdf.outerbox 0 get
- pdf.linkmargin sub
- 0 exch put
- dup dup
- 1 get
- pdf.baselineskip add
- 1 exch put
- dup dup
- 3 get
- pdf.baselineskip add
- 3 exch put
- dup 2 index 2 get 2 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- SDict /pdf.pdfmark.good false put
- exit
- }
- { pdf.count 2 sub /pdf.count exch def }
- ifelse
- }
- loop
- }
- if
- /ANN
- }
- def
-/pdf.breaklink.write
- {
- counttomark 1 sub
- index /_objdef eq
- {
- counttomark -2 roll
- dup wcheck
- {
- readonly
- counttomark 2 roll
- }
- { pop pop }
- ifelse
- }
- if
- counttomark 1 add copy
- pop pdf.currentrect
- /ANN pdfmark
- }
- def
-/pdf.pdfmark
- {
- SDict /pdf.pdfmark.good true put
- dup /ANN eq
- {
- pdf.pdfmark.store
- pdf.pdfmark.dict
- begin
- Subtype /Link eq
- currentdict /Rect known and
- SDict /pdf.outerbox known and
- SDict /pdf.baselineskip known and
- {
- Rect 3 get
- pdf.linkmargin 2 mul add
- pdf.outerbox pdf.rect.ht add
- Rect 1 get sub
- pdf.baselineskip div round cvi 0 gt
- { pdf.breaklink }
- if
- }
- if
- end
- SDict /pdf.outerbox undef
- SDict /pdf.baselineskip undef
- currentdict /pdf.pdfmark.dict undef
- }
- if
- pdf.pdfmark.good
- { pdfmark }
- { cleartomark }
- ifelse
- }
- def
-/pdf.pdfmark.store
- {
- /pdf.pdfmark.dict 65534 dict def
- counttomark 1 add copy
- pop
- {
- dup mark eq
- {
- pop
- exit
- }
- {
- pdf.pdfmark.dict
- begin def end
- }
- ifelse
- }
- loop
-}
- def
-%%
-%%
-%% End of file `l3backend-dvips.pro'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index cd26bfb47d0..95e0590b7bb 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -75,7 +75,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-05-27}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -13750,8 +13750,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\str_new:N \l__keys_property_str
\bool_new:N \l__keys_selective_bool
\bool_new:N \l__keys_exclude_bool
-\seq_new:N \l__keys_selective_clist
-\seq_new:N \l__keys_tmp_clist
+\clist_new:N \l__keys_selective_clist
+\clist_new:N \l__keys_tmp_clist
\clist_new:N \l__keys_unused_clist
\tl_new:N \l_keys_value_tl
\bool_new:N \l__keys_tmp_bool
@@ -25024,21 +25024,21 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\cs_set_nopar:Npe \l__tl_peek_code_tl
{
- \tex_let:D \exp_not:N #1 \scan_stop:
- \exp_not:o \l__tl_peek_code_tl
+ \tex_let:D \exp_not:N #1 \l__tl_peek_code_tl
+ \l__tl_peek_code_tl
{
\exp_not:n { \__kernel_exp_not:w \exp_after:wN }
{ \exp_not:N \exp_not:N \exp_not:N #1 }
}
\exp_after:wN \__tl_peek_analysis_exp_aux:Nw
- \token_to_str:N #1 \prg_do_nothing: \s__tl
+ \token_to_str:N #1 { } \s__tl
}
\l__tl_peek_code_tl
}
\cs_new:Npe \__tl_peek_analysis_exp_aux:Nw #1#2 \s__tl
{
- \exp_not:N \if:w \scan_stop: #2 \scan_stop:
- { \exp_not:N \int_value:w `#1 } \token_to_str:N D
+ \exp_not:N \if_meaning:w \scan_stop: #2 \scan_stop:
+ { \exp_not:N \int_value:w `#1 ~ } \token_to_str:N D
\exp_not:N \else:
{ -1 } 0
\exp_not:N \fi:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index f99a59004b7..851886310a1 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-05-27}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index f852288c7e4..d7d58039ca2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-05-27}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index f5561de8b0c..cf17f7356be 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-05-08}%
+\def\ExplFileDate{2024-05-27}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
index 7b0bea70198..6c0cdc45d0f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3debug.dtx
-\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-05-27}{}{L3 Debugging support}
\scan_new:N \s__debug_stop
\cs_new:Npn \__debug_use_i_delimit_by_s_stop:nw #1 #2 \s__debug_stop {#1}
\quark_new:N \q__debug_recursion_tail
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index d37f1f9f214..34540214876 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2024-05-08}{}
+\ProvidesExplClass{l3doc}{2024-05-27}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpage.sty b/Master/texmf-dist/tex/latex/lastpage/lastpage.sty
index 154c0bdf712..ccbf32b59c4 100644
--- a/Master/texmf-dist/tex/latex/lastpage/lastpage.sty
+++ b/Master/texmf-dist/tex/latex/lastpage/lastpage.sty
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: lastpage
-%% Version: 2024-04-27 v2.1a
+%% Version: 2024-07-07 v2.1c
%% Info: Refers to last page's name
%%
%% Copyright (C) 2010 - 2024 by
@@ -32,10 +32,9 @@
%%
%% This package was invented by Jeffrey P. Goldberg.
%% I thought that a replacement was needed and therefore created the pageslts package,
-%% https://ctan.org/pkg/pageslts
-%% . Nevertheless, for compatibility with existing documents/packages as well as for
-%% the low amount of resources needed by the lastpage package (no new counter!),
-%% I updated this package.
+%% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+%% documents/packages as well as for the low amount of resources needed by the
+%% lastpage package (no new counter!), I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
@@ -60,7 +59,7 @@
%% Part of the "lastpage" package
%% loads either lastpage2.09.sty for TeX 2.09 or lastpage2e.sty for LaTeX 2e
%% with code from https://groups.google.com/g/comp.text.tex/c/-Qmhj1ZI4xM
-\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
+\def\loadlastpage{\ProvidesPackage{lastpage}[2024/07/07 v2.1c lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
\begingroup \expandafter \ifx \csname documentclass\endcsname\relax
\endgroup \expandafter \input{lastpage209.sty}
\else \endgroup \expandafter \loadlastpage
diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty b/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty
index f93a6d0f1ae..feb652121fa 100644
--- a/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty
+++ b/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: lastpage
-%% Version: 2024-04-27 v2.1a
+%% Version: 2024-07-07 v2.1c
%% Info: Refers to last page's name
%%
%% Copyright (C) 2010 - 2024 by
@@ -32,10 +32,9 @@
%%
%% This package was invented by Jeffrey P. Goldberg.
%% I thought that a replacement was needed and therefore created the pageslts package,
-%% https://ctan.org/pkg/pageslts
-%% . Nevertheless, for compatibility with existing documents/packages as well as for
-%% the low amount of resources needed by the lastpage package (no new counter!),
-%% I updated this package.
+%% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+%% documents/packages as well as for the low amount of resources needed by the
+%% lastpage package (no new counter!), I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty b/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty
index 50d8183d2a5..e3b40d7be58 100644
--- a/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty
+++ b/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: lastpage
-%% Version: 2024-04-27 v2.1a
+%% Version: 2024-07-07 v2.1c
%% Info: Refers to last page's name
%%
%% Copyright (C) 2010 - 2024 by
@@ -32,10 +32,9 @@
%%
%% This package was invented by Jeffrey P. Goldberg.
%% I thought that a replacement was needed and therefore created the pageslts package,
-%% https://ctan.org/pkg/pageslts
-%% . Nevertheless, for compatibility with existing documents/packages as well as for
-%% the low amount of resources needed by the lastpage package (no new counter!),
-%% I updated this package.
+%% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+%% documents/packages as well as for the low amount of resources needed by the
+%% lastpage package (no new counter!), I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
@@ -59,7 +58,7 @@
%%
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpage2e}[2024/04/27 v2.1a %
+\ProvidesPackage{lastpage2e}[2024/07/07 v2.1c %
Decide which 2e lastpage version to use (HMM)]
\@ifl@t@r\fmtversion{2023/06/01}{\RequirePackage{lastpagemodern}}{%
\RequirePackage{lastpageclassic}}
diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty b/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty
index d7a4b6ce9af..88285efc2c6 100644
--- a/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty
+++ b/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: lastpage
-%% Version: 2024-04-27 v2.1a
+%% Version: 2024-07-07 v2.1c
%% Info: Refers to last page's name
%%
%% Copyright (C) 2010 - 2024 by
@@ -32,10 +32,9 @@
%%
%% This package was invented by Jeffrey P. Goldberg.
%% I thought that a replacement was needed and therefore created the pageslts package,
-%% https://ctan.org/pkg/pageslts
-%% . Nevertheless, for compatibility with existing documents/packages as well as for
-%% the low amount of resources needed by the lastpage package (no new counter!),
-%% I updated this package.
+%% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+%% documents/packages as well as for the low amount of resources needed by the
+%% lastpage package (no new counter!), I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
@@ -59,7 +58,7 @@
%%
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpageclassic}[2024/04/27 v2.1a %
+\ProvidesPackage{lastpageclassic}[2024/07/07 v2.1c %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9"
diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty b/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty
index efeedd84bb3..abdec5b0852 100644
--- a/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty
+++ b/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: lastpage
-%% Version: 2024-04-27 v2.1a
+%% Version: 2024-07-07 v2.1c
%% Info: Refers to last page's name
%%
%% Copyright (C) 2010 - 2024 by
@@ -32,10 +32,9 @@
%%
%% This package was invented by Jeffrey P. Goldberg.
%% I thought that a replacement was needed and therefore created the pageslts package,
-%% https://ctan.org/pkg/pageslts
-%% . Nevertheless, for compatibility with existing documents/packages as well as for
-%% the low amount of resources needed by the lastpage package (no new counter!),
-%% I updated this package.
+%% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+%% documents/packages as well as for the low amount of resources needed by the
+%% lastpage package (no new counter!), I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
@@ -59,7 +58,7 @@
%%
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[2023-06-01]
-\ProvidesPackage{lastpagemodern}[2024-04-27 v2.1a %
+\ProvidesPackage{lastpagemodern}[2024-07-07 v2.1c %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9" or "Page VII of IX";
@@ -94,9 +93,43 @@
\if@nobreak\ifvmode\nobreak\fi\fi%
}
-%% similar to https://tex.stackexchange.com/a/12811/6865
-\def\lastpage@rmpage#1{\expandafter\lastpage@currentH#1\relax}
-\def\lastpage@currentH#1.#2\relax{#2}
+\newcommand{\lastpage@makeHy}{%
+ \gdef\lastpage@Hy{}%
+ \IfPackageLoadedTF{hyperref}{%
+ \ifHy@pageanchor%
+ \@ifundefined{@currentHpage}{%
+ \PackageError{lastpage}{%
+ Kernel command \string\@currentHpage\space is undefined}{%
+ Please contact the lastpage maintainer.}%
+ }{\xdef\lastpage@Hptest{Doc-Start}%
+ \ifx\lastpage@Hptest\@currentHpage\relax%
+ \gdef\lastpage@Hy{\@currentHpage}%
+ \else%
+ \edef\lastpage@Hptest{\@currentHpage}%
+ \ifx\lastpage@Hptest\empty\relax%
+ \else%
+ \gdef\lastpage@Hy{\lastpage@rmpage{\@currentHpage}}%
+ \ifx\lastpage@lastpageHy\empty\relax%
+ \PackageWarningNoLine{lastpage}{%
+ \string\@currentHpage\space is\MessageBreak%
+ \meaning\@currentHpage\MessageBreak%
+ not beginning with "page.",\MessageBreak%
+ \string\lastpage@lastpageHy\space is now let empty.}%
+ \fi%
+ \fi%
+ \fi%
+ }%
+ \fi%
+ }{}%
+ }%
+
+%% Code provided by David Carlisle at https://tex.stackexchange.com/a/721877
+\def\lastpage@rmpage#1{%
+ \expandafter\xlastpage@rmpage\expanded{#1}\xlastpage@rmpage page.%
+ \xlastpage@rmpage\xxlastpage@rmpage{#1}}
+\def\xlastpage@rmpage #1page.#2\xlastpage@rmpage#3\xxlastpage@rmpage#4{%
+ \if$\detokenize{#1}$#2%\else#4
+ \fi}
\newcommand{\lastpage@putl@bel}{%
\IfPackageLoadedTF{pageslts}{\relax}{%
@@ -125,8 +158,7 @@
}%
\protected@iwrite\@auxout{}{%
\string\gdef\string\lastpage@lastpage{\thepage}}%
- \gdef\lastpage@Hy{\IfPackageLoadedTF{hyperref}{%
- \ifHy@pageanchor\lastpage@rmpage{\@currentHpage}\fi}{}}%
+ \lastpage@makeHy%
\protected@iwrite\@auxout{}{%
\string\gdef\string\lastpage@lastpageHy{\lastpage@Hy}}%
\addtocounter{page}{+1}%
diff --git a/Master/texmf-dist/tex/latex/latex-lab/bib-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/bib-latex-lab-testphase.ltx
index b15043fd884..ee69798ec39 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/bib-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/bib-latex-lab-testphase.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-bib.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabbibdate{2023-07-20}
-\def\ltlabbibversion{0.81a}
+\def\ltlabbibdate{2024-02-12}
+\def\ltlabbibversion{0.81b}
\ProvidesFile{bib-latex-lab-testphase.ltx}
[\ltlabbibdate\space v\ltlabbibversion\space
latex-lab wrapper bib]
diff --git a/Master/texmf-dist/tex/latex/latex-lab/block-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/block-latex-lab-testphase.ltx
index 98dd43bb43d..937f08d1e1c 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/block-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/block-latex-lab-testphase.ltx
@@ -32,9 +32,9 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-block.dtx (C) Copyright 2021-2023 LaTeX Project
-\def\ltlabblockdate{2023-09-01}
-\def\ltlabblockversion{0.8h}
+%% File: latex-lab-block.dtx (C) Copyright 2021-2024 LaTeX Project
+\def\ltlabblockdate{2024-03-23}
+\def\ltlabblockversion{0.8n}
\ProvidesFile{block-latex-lab-testphase.ltx}
[\ltlabblockdate\space v\ltlabblockversion\space
blockenv implementation]
diff --git a/Master/texmf-dist/tex/latex/latex-lab/documentmetadata-support.ltx b/Master/texmf-dist/tex/latex/latex-lab/documentmetadata-support.ltx
index fa6a346a3a8..91ae548e191 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/documentmetadata-support.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/documentmetadata-support.ltx
@@ -33,12 +33,18 @@
%%
%%
%% File: documentmetadata-support.dtx
-\def\documentmetadatasupportversion{1.0f}
-\def\documentmetadatasupportdate{2023-09-01}
+\def\documentmetadatasupportversion{1.0h}
+\def\documentmetadatasupportdate{2024-03-26}
+
\RequirePackage{pdfmanagement-testphase}
\ExplSyntaxOn\makeatletter
+\clist_if_exist:NF \g__pdfmanagement_firstaidoff_clist
+ { \clist_new:N \g__pdfmanagement_firstaidoff_clist }
+\tl_if_exist:NF \g__pdfmanagement_testphase_tl
+ { \tl_new:N \g__pdfmanagement_testphase_tl }
+
\cs_set_protected:Npn \DocumentMetadata #1
{
\cs_if_eq:NNTF \documentclass \@twoclasseserror
@@ -54,10 +60,24 @@
\ExplSyntaxOn\makeatletter
\file_input:n {l3backend-testphase-\c_sys_backend_str.def}
\ExplSyntaxOff\makeatother
- \keys_set_filter:nnn { document / metadata } { init } { lang=en-US, #1 }
+ \keys_set_filter:nnn { document / metadata } { init } { #1 }
\bool_if:NT \g__pdfmanagement_active_bool
{
\PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
+ \g@addto@macro\@kernel@after@begindocument
+ {
+ \pdfdict_get:nnN {g__pdf_Core/Catalog}{Lang}\l__pdfmanagement_tmpa_tl
+ \quark_if_no_value:NT\l__pdfmanagement_tmpa_tl
+ {
+ \tl_if_empty:eTF { \BCPdata{main.language} }
+ { \tl_set:Ne \l__pdfmanagement_tmpb_tl { \BCPdata{language} } }
+ { \tl_set:Ne \l__pdfmanagement_tmpb_tl { \BCPdata{main.language} } }
+ \msg_warning:nne { meta } { lang-missing }{ \l__pdfmanagement_tmpb_tl }
+ \exp_last_unbraced:Ne
+ \AddToDocumentProperties{[document]{lang}{\l__pdfmanagement_tmpb_tl}}
+ \pdfmanagement_add:nne {Catalog} {Lang}{(\l__pdfmanagement_tmpb_tl)}
+ }
+ }
}
\hook_use_once:n {pdfmanagement/add}
\cs_set_protected:Npn \DocumentMetadata ##1
@@ -105,7 +125,7 @@
% this uses internal command from pdfmeta, it should probably move there ...
,pdfstandard .code:n =
{
- \exp_args:Nnx
+ \exp_args:Nne
\keys_set:nn {document / metadata} {_pdfstandard=\str_uppercase:n{#1}}
}
,_pdfstandard .choices:nn =
@@ -117,6 +137,30 @@
}
\AddToDocumentProperties [document]{pdfstandard}{#1}
}
+ ,_pdfstandard / A-4F .code:n =
+ {
+ \prop_if_exist:cTF { g__pdfmeta_standard_pdf/A-4F_prop }
+ {
+ \prop_gset_eq:Nc \g__pdfmeta_standard_prop { g__pdfmeta_standard_pdf/A-4F_prop }
+ }
+ {
+ \prop_gset_eq:Nc \g__pdfmeta_standard_prop { g__pdfmeta_standard_pdf/A-4_prop }
+ \prop_gput:Nnn \g__pdfmeta_standard_prop{conformance}{F}
+ }
+ \AddToDocumentProperties [document]{pdfstandard}{A-4F}
+ }
+ ,_pdfstandard / A-4E .code:n =
+ {
+ \prop_if_exist:cTF { g__pdfmeta_standard_pdf/A-4E_prop }
+ {
+ \prop_gset_eq:Nc \g__pdfmeta_standard_prop { g__pdfmeta_standard_pdf/A-4E_prop }
+ }
+ {
+ \prop_gset_eq:Nc \g__pdfmeta_standard_prop { g__pdfmeta_standard_pdf/A-4_prop }
+ \prop_gput:Nnn \g__pdfmeta_standard_prop{conformance}{E}
+ }
+ \AddToDocumentProperties [document]{pdfstandard}{A-4E}
+ }
,_pdfstandard / unknown .code:n =
{
\msg_warning:nnn{pdf}{unknown-standard}{#1}
@@ -130,7 +174,7 @@
{
\RequirePackage{tagpdf}
\AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
- \tagpdfsetup{activate,paratagging,interwordspace}
+ \tagpdfsetup{activate,para/tagging,activate/spaces}
\AddToDocumentProperties [document]{tagging}{active}
\AddToDocumentProperties [document]{tagging/para}{active}
\AddToDocumentProperties [document]{tagging/interwordspace}{active}
@@ -167,7 +211,7 @@
package/tagpdf/after
}
{
- \tagpdfsetup{paratagging-show}
+ \tagpdfsetup{debug/show=para}
}
}
,debug / log .code:n =
@@ -177,7 +221,7 @@
package/tagpdf/after
}
{
- \tagpdfsetup{log=#1}
+ \tagpdfsetup{debug/log=#1}
}
}
,debug / tagpdf .code:n =
@@ -210,6 +254,11 @@
{
LaTeX-lab~package~'#1'~not~found.
}
+\msg_new:nnn { meta } { lang-missing }
+ {
+ The~language~has~not~been~set~in~\token_to_str:N
+ \DocumentMetadata.\\Setting~it~to~'#1'~as~fallback.
+ }
\ExplSyntaxOff\makeatother
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/latex-lab/firstaid-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/firstaid-latex-lab-testphase.ltx
index f8719fcdfbf..7003ae1856d 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/firstaid-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/firstaid-latex-lab-testphase.ltx
@@ -32,9 +32,9 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-firstaid.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabfirstaiddate{2023-07-20}
-\def\ltlabfirstaidversion{0.85a}
+%% File: latex-lab-firstaid.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabfirstaiddate{2024-05-25}
+\def\ltlabfirstaidversion{0.85d}
\ProvidesFile{firstaid-latex-lab-testphase.ltx}
[\ltlabfirstaiddate\space v\ltlabfirstaidversion\space
diff --git a/Master/texmf-dist/tex/latex/latex-lab/float-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/float-latex-lab-testphase.ltx
index 3f8eefffbdd..59fdaa63d95 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/float-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/float-latex-lab-testphase.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-float.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabfloatdate{2023-07-20}
-\def\ltlabfloatversion{0.81a}
+\def\ltlabfloatdate{2024-03-23}
+\def\ltlabfloatversion{0.81e}
\ProvidesFile{float-latex-lab-testphase.ltx}
[\ltlabfloatdate\space v\ltlabfloatversion\space latex-lab wrapper float]
diff --git a/Master/texmf-dist/tex/latex/latex-lab/graphic-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/graphic-latex-lab-testphase.ltx
index b8d2878c302..3cc259063d4 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/graphic-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/graphic-latex-lab-testphase.ltx
@@ -32,9 +32,9 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-graphic.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabgraphicdate{2023-10-13}
-\def\ltlabgraphicversion{0.80b}
+%% File: latex-lab-graphic.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabgraphicdate{2024-03-13}
+\def\ltlabgraphicversion{0.80d}
\ProvidesFile{graphic-latex-lab-testphase.ltx}
[\ltlabgraphicdate\space v\ltlabgraphicversion\space latex-lab wrapper graphic]
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-amsmath.ltx b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-amsmath.ltx
index c2431ca4eff..cab7e10f301 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-amsmath.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-amsmath.ltx
@@ -34,7 +34,7 @@
%%
%% File: latex-lab-amsmath.dtx
\ProvidesFile{latex-lab-amsmath.ltx}
- [2023-01-05 v0.1a amsmath adaptions]
+ [2024-02-12 v0.1b amsmath adaptions]
\RequirePackage{tagpdf-base}
\ExplSyntaxOn
\AddToHook{package/amsmath/after}
@@ -43,7 +43,7 @@
\def\intertext##1{%
\ifvmode\else\\\@empty\fi
\noalign{%
- \penalty\postdisplaypenalty\vskip\belowdisplayskip
+ \penalty\postdisplaypenalty\vskip-\belowdisplayskip
\vbox{
\ifmeasuring@\tag_stop:\fi
\normalbaselines
@@ -51,13 +51,87 @@
\else \parshape\@ne \@totalleftmargin \linewidth
\fi
\tag_mc_end_push:
- \tagpdfsetup{paratag=Span}%
+ \tagpdfsetup{para/tag=P}%
+ \tagpdfparaOn
\noindent\ignorespaces##1\par
\tag_mc_begin_pop:n{}}%
\penalty\predisplaypenalty\vskip\abovedisplayskip%
}%
}}
}
+\AddToHook{package/amstext/after}
+ {
+ \tag_if_active:T
+ {
+ \sys_if_engine_luatex:TF
+ {
+ \def\text@#1{{%
+ \ifcase\mathstyle
+ \hbox{{#1}}\or
+ \hbox{{#1}}\or
+ \hbox{{#1}}\or
+ \hbox{{#1}}\or
+ \hbox{{\let\f@size\sf@size\selectfont#1}}\or
+ \hbox{{\let\f@size\sf@size\selectfont#1}}\or
+ \hbox{{\let\f@size\ssf@size\selectfont#1}}\or
+ \hbox{{\let\f@size\ssf@size\selectfont#1}}\or
+ \ERROR
+ \fi
+ \check@mathfonts
+ }}
+ }
+ {
+ \def\text@#1
+ {{
+ \int_gincr:N\g__math_mathchoice_int
+ \tag_stop:
+ \mathchoice
+ {
+ \__math_tag_if_mathstyle:en{mathchoice-\int_use:N\g__math_mathchoice_int}{0}
+ \textdef@\displaystyle\f@size{#1}
+ }
+ {
+ \__math_tag_if_mathstyle:en{mathchoice-\int_use:N\g__math_mathchoice_int}{2}
+ \textdef@\textstyle\f@size{\firstchoice@false #1}
+ }
+ {
+ \__math_tag_if_mathstyle:en{mathchoice-\int_use:N\g__math_mathchoice_int}{4}
+ \textdef@\textstyle\sf@size{\firstchoice@false #1}
+ }
+ {
+ \__math_tag_if_mathstyle:en{mathchoice-\int_use:N\g__math_mathchoice_int}{6}
+ \textdef@\textstyle \ssf@size{\firstchoice@false #1}
+ }
+ \check@mathfonts
+ }}
+ }
+ }
+ }
+\AddToHook{package/amsbsy/after}
+ {
+ \def\pmb@@#1#2#3{\leavevmode\hbox_set:Nn\l__math_tmpa_box{xxx#3}
+ \dimen@-\box_wd:N\l__math_tmpa_box
+ \kern-.5\ex@\box_use:N\l__math_tmpa_box
+ \tag_mc_end:\tag_mc_begin:n{artifact}
+ \tag_mc_reset_box:N\l__math_tmpa_box
+ \kern\dimen@\kern.25\ex@\raise.4\ex@\box_use:N\l__math_tmpa_box
+ \kern\dimen@\kern.25\ex@\box_use_drop:N\l__math_tmpa_box
+ \tag_mc_end:\tag_mc_begin:n{}
+ }
+ \def\pmb@#1#2{\hbox_set:Nn\l__math_tmpa_box{$\m@th#1{#2}$}
+ \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@
+ \binrel@{#2}
+ \dimen@-\box_wd:N\l__math_tmpa_box
+ \binrel@@{
+ \mkern-.8mu\box_use:N\l__math_tmpa_box
+ \tag_mc_end:\tag_mc_begin:n{artifact}
+ \tag_mc_reset_box:N\l__math_tmpa_box
+ \kern\dimen@\mkern.4mu\raise\pmbraise@\box_use:N\l__math_tmpa_box
+ \kern\dimen@\mkern.4mu\box_use_drop:N\l__math_tmpa_box
+ \tag_mc_end:\tag_mc_begin:n{}
+ }
+ }
+ }
\ExplSyntaxOff
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footmisc.ltx b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footmisc.ltx
index a4c95e4cb11..954efe086a5 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footmisc.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footmisc.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-footnotes.dtx
-\def\ltlabfootnotedate{2023-09-04}
-\def\ltlabfootnoteversion{0.8c}
+\def\ltlabfootnotedate{2024-03-12}
+\def\ltlabfootnoteversion{0.8d}
%%
%% Copyright (c) 1995-2011 Robin Fairbairns
@@ -306,8 +306,9 @@
\else
\ifFN@hangfoot
- \long\def\@makefntext#1{%
+ \long\def\footmisc@hang@makefntext#1{%
\bgroup
+ \SuspendTagging{footmisc}%
\setbox\@tempboxa\hbox{%
\ifdim\footnotemargin>\z@
\hb@xt@\footnotemargin{\@makefnmark\hss}%
@@ -322,14 +323,23 @@
\parshape \@ne \leftmargin \linewidth
\footnotesize
\@setpar{{\@@par}}%
+ \ResumeTagging{footmisc}%
\leavevmode
- \llap{\box\@tempboxa}%
+ \UseSocket{tagsupport/fntext/mark}%
+ {\llap{%
+ \ifdim\footnotemargin>\z@
+ \hb@xt@\footnotemargin{\@makefnmark\hss}%
+ \else
+ \@makefnmark
+ \fi
+ }}%
\parskip\hangfootparskip\relax
\parindent\hangfootparindent\relax
\footnotelayout#1%
\par
\egroup
}
+ \let \@makefntext \footmisc@hang@makefntext
\else
@@ -580,7 +590,6 @@
\endgroup
\@footnotemark
}
-
\endinput
%%
%% End of file `latex-lab-footmisc.ltx'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footnotes.ltx b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footnotes.ltx
index 38876d0c908..2277a40c6f8 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footnotes.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-footnotes.ltx
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-footnotes.dtx
-\def\ltlabfootnotedate{2023-09-04}
-\def\ltlabfootnoteversion{0.8c}
+\def\ltlabfootnotedate{2024-03-12}
+\def\ltlabfootnoteversion{0.8d}
\ProvidesFile{latex-lab-footnotes.ltx}
[\ltlabfootnotedate\space v\ltlabfootnoteversion\space
@@ -95,7 +95,9 @@
\NewHook{fntext/begin}
\NewHook{fntext/end}
\bool_new:N \g_fnote_debug_bool
-\bool_gset_true:N \g_fnote_debug_bool
+
+\cs_new_protected:Npn \DebugFNotesOn { \bool_gset_true:N \g_fnote_debug_bool }
+\cs_new_protected:Npn \DebugFNotesOff { \bool_gset_false:N \g_fnote_debug_bool }
\cs_new_protected:Npn \__fnote_debug_footnotemark:
{
\bool_if:NT \g_fnote_debug_bool
@@ -274,10 +276,14 @@
\tl_if_in:NnTF \l__fnote_patch_tl { \hb@xt@ }
{ \cs_set_eq:NN \__fnote_tmp:w \__fnote_patch_hb@xt@:w }
{
- \tl_if_in:NnTF \l__fnote_patch_tl { \@makefnmark }
- { \cs_set_eq:NN \__fnote_tmp:w \__fnote_patch_@makefnmark:w }
- { \ERROR
- \cs_set_eq:NN \__fnote_tmp:w \exp_stop_f: }
+ \tl_if_in:NnTF \l__fnote_patch_tl { \makebox }
+ { \cs_set_eq:NN \__fnote_tmp:w \__fnote_patch_makebox:w }
+ {
+ \tl_if_in:NnTF \l__fnote_patch_tl { \@makefnmark }
+ { \cs_set_eq:NN \__fnote_tmp:w \__fnote_patch_@makefnmark:w }
+ { \ERROR
+ \cs_set_eq:NN \__fnote_tmp:w \exp_stop_f: }
+ }
}
}
\tl_set:Nf \l__fnote_patch_tl
@@ -289,6 +295,8 @@
{ \exp_stop_f: #1 \@makefntext@processX { \hbox #2 } }
\cs_new:Npn \__fnote_patch_hb@xt@:w #1 \hb@xt@ #2 #
{ \exp_stop_f: #1 \@makefntext@processX { \hb@xt@ #2 } }
+\cs_new:Npn \__fnote_patch_makebox:w #1 \makebox #2 #
+ { \exp_stop_f: #1 \@makefntext@processX { \makebox #2 } }
\cs_new:Npn \__fnote_patch_@makefnmark:w #1 \@makefnmark
{ \exp_stop_f: #1 \@makefntext@processX { \use:n } { \@makefnmark } }
\cs_new:Npn \@makefntext@processX #1#2{\UseSocket{tagsupport/fntext/mark}{#1{#2}}}
@@ -300,7 +308,8 @@
\cs_set_eq:NN \@makefntext \fnote_makefntext:n
}
{
- \__fnote_patch:
+ \cs_if_eq:NNF \@makefntext \footmisc@hang@makefntext
+ { \__fnote_patch: }
}
}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-kernel-changes.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-kernel-changes.sty
index f2c99285c91..1282f9d899c 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-kernel-changes.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-kernel-changes.sty
@@ -33,9 +33,9 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-toc-kernel-changes.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabkerneldate{2023-10-16}
-\def\ltlabkernelversion{0.85b}
+%% File: latex-lab-toc-kernel-changes.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabkerneldate{2024-02-12}
+\def\ltlabkernelversion{0.85c}
\ProvidesPackage{latex-lab-kernel-changes}
[\ltlabkerneldate\space v\ltlabkernelversion\space
General kernel and class changes]
@@ -89,9 +89,9 @@
}
}
\ExplSyntaxOff
-%% File: latex-lab-sec.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabsecdate{2023-10-16}
-\def\ltlabsecversion{0.84b}
+%% File: latex-lab-sec.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabsecdate{2024-02-12}
+\def\ltlabsecversion{0.84c}
\ifdefined\directlua
\ifnum\outputmode > 0
\pdfvariable gentounicode =1
@@ -116,11 +116,11 @@
\fi
\IfBooleanTF {#1}
{
- \tl_gset:Nx \@currentHref {#3}
+ \tl_gset:Ne \@currentHref {#3}
}
{
\int_gincr:N\g__kernel_target_int
- \tl_gset:Nx \@currentHref {target*.\int_use:N\g__kernel_target_int}
+ \tl_gset:Ne \@currentHref {target*.\int_use:N\g__kernel_target_int}
}
}
\ExplSyntaxOff
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-math.ltx b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-math.ltx
index 1ced324bb10..343a184d379 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-math.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-math.ltx
@@ -33,24 +33,476 @@
%%
%%
%% File: latex-lab-math.dtx
-\def\ltlabmathdate{2023-09-11}
-\def\ltlabmathversion{0.5c}
+\def\ltlabmathdate{2024-04-16}
+\def\ltlabmathversion{0.5j}
\ProvidesFile{latex-lab-math.ltx}
[\ltlabmathdate\space
v\ltlabmathversion\space
Grab all the math(s) and tag it (experiments)]
\AddToHook{begindocument/before}{\RequirePackage{latex-lab-testphase-block}}
\ExplSyntaxOn
-\tl_gput_right:Nn \@kernel@before@begindocument
- { \RequirePackage { amsmath } }
+\AddToHook{begindocument/before}{ \RequirePackage { amsmath } }
\bool_new:N \l__math_collected_bool
+\bool_new:N \l__math_fakemath_bool
\tl_new:N \g__math_grabbed_env_tl
\tl_new:N \g__math_grabbed_math_tl
+\tl_new:N \l__math_tmpa_tl
+\skip_new:N \l__math_tmpa_skip
+\tl_new:N \l__math_content_alt_tl
+\tl_new:N \l__math_content_actual_tl
+\tl_new:N \l__math_content_AF_source_tl
+\tl_new:N \l__math_content_AF_source_tmpa_tl
+\tl_new:N \l__math_content_AF_mathml_tl
+\cs_new_protected:Npn \__tag_tool_close_P:
+ {
+ \tag_if_active:T
+ {
+ \tag_mc_end: %end P-chunk, should perhaps be \tag_mc_end_push: ...
+ \__tag_gincr_para_end_int:
+ \__tag_check_para_end_show:nn{red}{} %debug: show para
+ \tag_struct_end:
+ }
+ }
+\tl_new:N\l__math_attribute_class_tl
+\tagpdfsetup
+ {role/new-attribute = {inline} {/O /Layout /Placement/Inline},
+ role/new-attribute = {display} {/O /Layout /Placement/Block},
+ }
+\bool_new:N\l__tag_math_texsource_AF_bool
+\bool_new:N\l__tag_math_texsource_pane_bool
+\bool_new:N\l__tag_math_mathml_AF_bool
+\bool_new:N\g__tag_math_mathml_AF_bool
+\bool_new:N\l__tag_math_mathml_pane_bool
+\bool_new:N\l__tag_math_alt_bool
+\int_new:N\g__math_mathml_total_int
+\int_new:N\g__math_mathml_int
+\int_new:N\g__math_math_total_int
+\int_new:N\g__math_mathml_AF_found_int
+\int_new:N\g__math_mathml_AF_attached_int
+\clist_new:N\l__tag_math_mathml_files_clist
+\clist_put_right:Ne\l__tag_math_mathml_files_clist {\c_sys_jobname_str-mathml}
+
+\cs_new_protected:Npn \__math_AF_mml:nnnn #1 #2 #3 #4
+ {
+ \int_gincr:N \g__math_mathml_total_int
+ \tl_if_exist:cF { g__math_mathml_#3_tl }
+ {
+ \int_gincr:N \g__math_mathml_int
+ \pdfdict_put:nne {l_pdffile/Filespec} {Desc}{(mathml-#1)}
+ \pdffile_embed_stream:nnN {#4}{mathml-#1.xml}\l__math_tmpa_tl
+ \bool_if:NT \l__tag_math_mathml_pane_bool
+ {\pdfmanagement_add:nne {Catalog/Names}{EmbeddedFiles}{\l__math_tmpa_tl}}
+ \tl_new:c{g__math_mathml_#3_tl}
+ \tl_gset_eq:cN{g__math_mathml_#3_tl}\l__math_tmpa_tl
+ }
+ }
+\cs_new_protected:Npn \__math_AF_html_reader:w#1</h2>#2<p>#3</p>#4<p>#5</p>#6<math{
+ \begingroup
+ \char_set_catcode_other:N\{
+ \char_set_catcode_other:N\}
+ \char_set_catcode_other:N\#
+ \char_set_catcode_other:N\%
+ \__math_AF_html_reader_verb:w{#1}{#3}{#5}<math
+}
+\cs_new_protected:Npn\__math_AF_html_reader_verb:w#1#2#3#4~</div>{
+ \endgroup
+ \__math_AF_mml:nnnn{#1}{#2}{#3}{#4}
+ }
+
+\socket_new:nn {tagsupport/math/mathml/write}{0}
+\socket_new_plug:nnn{tagsupport/math/mathml/write}{On}
+ {
+ \str_set:NV\l__math_tmpa_str\l__math_content_AF_source_tl
+ \str_replace_all:Nnn\l__math_tmpa_str{&}{&amp;}
+ \str_replace_all:Nnn\l__math_tmpa_str{<}{&lt;}
+ \iow_now:Ne \g__math_writedummy_iow
+ {
+ \iow_newline:
+ <div>
+ \iow_newline:
+ <h2>\c_backslash_str mml\c_space_tl \int_use:N \g__math_math_total_int </h2>
+ \iow_newline:
+ <p>\l__math_tmpa_str</p>
+ \iow_newline:
+ <p>\l__math_content_hash_tl </p>
+ \iow_newline:
+ <math></math>
+ \iow_newline:
+ </div>
+ \iow_newline:
+ }
+ }
+
+\keys_define:nn { __tag / setup }
+ {
+ math/mathml/write-dummy .code:n =
+ {
+ \bool_gset_true:N \g__tag_math_mathml_AF_bool
+ \tl_if_exist:NF\g__math_writedummy_iow
+ {
+ \iow_new:N \g__math_writedummy_iow
+ \iow_open:Nn \g__math_writedummy_iow
+ {
+ \c_sys_jobname_str-mathml-dummy.html
+ }
+ \iow_now:Ne \g__math_writedummy_iow
+ {
+ <!DOCTYPE~html>
+ \iow_newline:
+ <html>
+ }
+ \AssignSocketPlug {tagsupport/math/mathml/write}{On}
+ \AddToHook{enddocument/afterlastpage}
+ {
+ \iow_now:Nn \g__math_writedummy_iow {</html>}
+ \iow_close:N \g__math_writedummy_iow
+ }
+ }
+ },
+ math/mathml/write-dummy .usage:n=preamble
+ }
+\box_new:N\l__math_tmpa_box
+\cs_new_protected:Npn \__math_AF_process_mathml_files:
+ {
+ \hbox_set:Nn \l__math_tmpa_box
+ {
+ \pdfdict_put:nnn { l_pdffile/Filespec }{AFRelationship} { /Supplement }
+ \pdfdict_put:nne
+ { l_pdffile }{Subtype}
+ { \pdf_name_from_unicode_e:n{application/mathml+xml} }
+ \char_set_catcode_other:N \#
+ \cs_set_eq:NN\mml \__math_AF_html_reader:w
+ \clist_map_inline:Nn \l__tag_math_mathml_files_clist
+ {
+ \file_if_exist:nTF {##1.html}
+ {
+ \typeout{Info:~reading~mathml~file~##1}
+ \file_input:n {##1.html}
+ \bool_gset_true:N\g__tag_math_mathml_AF_bool
+ }
+ {
+ \typeout{Info:~mathml~file~##1~does~not~exist}%info message
+ }
+ }
+ }
+ \bool_if:NT\g__tag_math_mathml_AF_bool
+ {
+ \typeout{Info:~Activating~mathml~support}
+ \AssignSocketPlug{tagsupport/math/struct/begin}{test-mathml}
+ \AssignSocketPlug{tagsupport/math/struct/end}{test-mathml}
+ \AssignSocketPlug{tagsupport/math/substruct/begin}{single}
+ \AssignSocketPlug{tagsupport/math/substruct/end}{single}
+ \AddToHook{enddocument/info}
+ {
+ \iow_term:n{MathML~statistic}
+ \iow_term:n{================}
+ \iow_term:e{==>~\int_use:N\g__math_mathml_total_int\c_space_tl
+ MathML~fragments~read}
+ \iow_term:e{==>~\int_use:N\g__math_mathml_int\c_space_tl
+ different~MathML~fragments}
+ \iow_term:e{==>~\int_use:N\g__math_math_total_int\c_space_tl
+ math~fragments~found}
+ \iow_term:e{==>~\int_use:N\g__math_mathml_AF_found_int\c_space_tl
+ fitting~MathML~AF~found}
+ \iow_term:e{==>~\int_use:N\g__math_mathml_AF_attached_int\c_space_tl
+ MathML~AF~attached}
+ }
+ }
+ }
+\AddToHook{begindocument}{\__math_AF_process_mathml_files:}
+\int_new:N \l__math_mathstyle_int
+\int_new:N \g__math_mathchoice_int
+\property_new:nnnn{mathstyle}{now}{-1}{\int_use:N \l__math_mathstyle_int }
+\cs_new_protected:Npn \__math_tag_if_mathstyle:nn #1 #2
+ %#1 refers to label
+ %#2 is a number for the mathstyle (typically 0,2,4,6)
+ {
+ \int_set:Nn \l__math_mathstyle_int {#2}
+ \property_record:nn {#1} { mathstyle }
+ \int_compare:nNnTF { \property_ref:nn {#1}{ mathstyle} } = { #2 }
+ { \tag_start: }{ \tag_stop: }
+ }
+\cs_generate_variant:Nn \__math_tag_if_mathstyle:nn {en}
+\keys_define:nn { __tag / setup }
+ {
+ math/mathml/sources .clist_set:N = \l__tag_math_mathml_files_clist,
+ math/alt/use .bool_set:N = \l__tag_math_alt_bool,
+ viewer/pane/mathml .bool_set:N = \l__tag_math_mathml_pane_bool,
+ viewer/pane/mathml .initial:n = true,
+ viewer/pane/mathsource .bool_set:N = \l__tag_math_texsource_pane_bool,
+ math/mathml/AF .bool_set:N = \l__tag_math_mathml_AF_bool,
+ math/mathml/AF .initial:n = true,
+ math/tex/AF .bool_set:N = \l__tag_math_texsource_AF_bool,
+ math/tex/AF .initial:n = true
+ }
+\socket_new:nn {tagsupport/math/inline/begin}{0}
+\socket_new:nn {tagsupport/math/inline/end}{0}
+\socket_new:nn {tagsupport/math/inline/formula/begin}{1} %
+\socket_new:nn {tagsupport/math/inline/formula/end}{0}
+\socket_new_plug:nnn
+ {tagsupport/math/inline/begin}
+ {MC}
+ {\tag_mc_end_push:}
+\socket_new_plug:nnn
+ {tagsupport/math/inline/end}
+ {MC}
+ {\tag_mc_begin_pop:n{}}
+\socket_new_plug:nnn
+ {tagsupport/math/inline/formula/begin}
+ {default}
+ {
+ \socket_use:n{tagsupport/math/content}
+ \socket_use:n{tagsupport/math/struct/begin}
+ % inner formula if multiple parts (not really implemented yet)
+ \socket_use:n{tagsupport/math/substruct/begin}
+ #1
+ \socket_use:n{tagsupport/math/end}
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/inline/formula/end}
+ {default}
+ {
+ \socket_use:n{tagsupport/math/substruct/end}
+ \socket_use:n{tagsupport/math/struct/end}
+ }
+\socket_new:nn {tagsupport/math/display/begin}{0}
+\socket_new:nn {tagsupport/math/display/end}{0}
+\socket_new:nn {tagsupport/math/display/formula/begin}{1} %
+\socket_new:nn {tagsupport/math/display/formula/end}{0}
+
+\socket_new_plug:nnn
+ {tagsupport/math/display/begin}
+ {default}
+ { \__tag_tool_close_P: }
+\socket_new_plug:nnn
+ {tagsupport/math/display/end}
+ {default}
+ {
+ }
+
+\socket_new_plug:nnn
+ {tagsupport/math/display/formula/begin}
+ {default}
+ {
+ \socket_use:n{tagsupport/math/content}
+ \socket_use:n{tagsupport/math/struct/begin}
+ \socket_use:n{tagsupport/math/substruct/begin}
+ #1
+ \socket_use:n{tagsupport/math/end}
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/display/formula/end}
+ {default}
+ {
+ \socket_use:n{tagsupport/math/substruct/end}
+ \socket_use:n{tagsupport/math/struct/end}
+ }
+\tl_new:N\l__math_content_template_tl
+\tl_set:Nn \l__math_content_template_tl
+ {
+ LaTeX~ formula~ starts~
+ \exp_not:N\begin{\g__math_grabbed_env_tl}
+ \c_space_tl
+ \exp_not:V\g__math_grabbed_math_tl
+ \c_space_tl
+ \exp_not:N\end{\g__math_grabbed_env_tl}
+ \c_space_tl LaTeX~ formula~ ends~
+ }
+
+\tl_new:N\l__math_texsource_template_tl
+\tl_const:Nn\c__math_inline_env_tl {math}
+\tl_set:Nn \l__math_texsource_template_tl
+ {
+ \tl_if_eq:NNTF\g__math_grabbed_env_tl\c__math_inline_env_tl
+ {
+ $
+ \exp_not:V\g__math_grabbed_math_tl
+ $
+ }
+ {
+ \exp_not:N\begin{\g__math_grabbed_env_tl}
+ \exp_not:V\g__math_grabbed_math_tl
+ \exp_not:N\end{\g__math_grabbed_env_tl}
+ }
+ }
+
+\socket_new:nn {tagsupport/math/content}{0}
+\socket_new_plug:nnn
+ {tagsupport/math/content}
+ {actual+source}
+ {
+ \tl_set:Ne\l__math_content_actual_tl
+ {
+ \l__math_content_template_tl
+ }
+ \tl_set:Ne \l__math_content_AF_source_tl
+ {
+ \l__math_texsource_template_tl
+ }
+ \tl_set:Nn \l__math_content_AF_mathml_tl {}
+ \tl_set:Nn \l__math_content_alt_tl {}
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/content}
+ {alt+source}
+ {
+ \tl_set:Ne\l__math_content_alt_tl
+ {
+ \l__math_content_template_tl
+ }
+ \tl_set:Ne \l__math_content_AF_source_tl
+ {
+ \l__math_texsource_template_tl
+ }
+ \tl_set:Nn \l__math_content_AF_mathml_tl {}
+ \tl_set:Nn \l__math_content_actual_tl {}
+ }
+\socket_assign_plug:nn {tagsupport/math/content}{alt+source}
+\socket_new:nn {tagsupport/math/struct/begin}{0}
+\socket_new:nn {tagsupport/math/struct/end}{0}
+\socket_new_plug:nnn
+ {tagsupport/math/struct/begin}
+ {default}
+ {
+ \bool_if:NTF\l__tag_math_texsource_AF_bool
+ { \tl_set_eq:NN \l__math_content_AF_source_tmpa_tl \l__math_content_AF_source_tl }
+ { \tl_clear:N \l__math_content_AF_source_tmpa_tl }
+ \tag_struct_begin:n
+ {
+ tag=Formula,
+ texsource = \l__math_content_AF_source_tmpa_tl,
+ title-o = \g__math_grabbed_env_tl,
+ actualtext = \l__math_content_actual_tl,
+ alt = \l__math_content_alt_tl
+ }
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/struct/end}
+ {default}
+ { \tag_struct_end: }
+
+\socket_assign_plug:nn {tagsupport/math/struct/begin}{default}
+\socket_assign_plug:nn {tagsupport/math/struct/end}{default}
+\cs_generate_variant:Nn \str_mdfive_hash:n {o}
+\tl_new:N\l__math_content_hash_tl
+\tl_new:N\l__math_grabbed_math_tl
+\socket_new_plug:nnn
+ {tagsupport/math/struct/begin}
+ {test-mathml}
+ {
+ \int_gincr:N\g__math_math_total_int
+ \tl_set:Ne\l__math_content_hash_tl
+ {\str_mdfive_hash:o { \l__math_content_AF_source_tl }}
+ \tl_set_eq:NN\l__math_grabbed_math_tl\g__math_grabbed_math_tl
+ \tl_if_eq:NnTF\g__math_grabbed_env_tl {math}
+ {
+ \tl_set:Nn\l__math_attribute_class_tl{inline}
+ }
+ {
+ \tl_set:Nn\l__math_attribute_class_tl{display}
+ }
+ \bool_if:NF\l__tag_math_alt_bool
+ { \tl_set:Nn \l__math_content_alt_tl{} }
+ \tl_if_exist:cTF { g__math_mathml_ \l__math_content_hash_tl _tl }
+ {
+ \int_gincr:N\g__math_mathml_AF_found_int
+ \bool_if:NTF \l__tag_math_mathml_AF_bool
+ {
+ \int_gincr:N\g__math_mathml_AF_attached_int
+ \typeout {Inserting~mathml~with~Hash~\l__math_content_hash_tl}
+ }
+ {
+ \typeout {Ignoring~mathml~with~Hash~\l__math_content_hash_tl}
+ }
+ }
+ {
+ \typeout{WARNING:~mathml~missing~for~hash~\l__math_content_hash_tl}
+ }
+ \socket_use:n {tagsupport/math/mathml/write} % write hash if request
+ \bool_if:NTF\l__tag_math_texsource_AF_bool
+ { \tl_set_eq:NN \l__math_content_AF_source_tmpa_tl \l__math_content_AF_source_tl }
+ { \tl_clear:N \l__math_content_AF_source_tmpa_tl }
+ \tag_struct_begin:n
+ {
+ tag=Formula,
+ attribute-class=\l__math_attribute_class_tl, %
+ AFref =
+ \bool_if:NT\l__tag_math_mathml_AF_bool
+ {
+ \cs_if_exist_use:c {g__math_mathml_ \l__math_content_hash_tl _tl}
+ },
+ texsource = \l__math_content_AF_source_tmpa_tl, % should be after mathml AF!
+ title-o = \g__math_grabbed_env_tl, %
+ alt = \l__math_content_alt_tl
+ }
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/struct/end}
+ {test-mathml}
+ {
+ \tag_struct_end:
+ }
+\socket_new:nn {tagsupport/math/substruct/begin}{0}
+\socket_new:nn {tagsupport/math/substruct/end}{0}
+\socket_new_plug:nnn
+ {tagsupport/math/substruct/begin}
+ {default}
+ { \grabaformulapartandstart }
+\socket_new_plug:nnn
+ {tagsupport/math/substruct/end}
+ {default}
+ {
+ \tagmcend
+ \if@subformulas
+ \tagstructend
+ \fi
+ }
+\socket_assign_plug:nn {tagsupport/math/substruct/begin}{default}
+\socket_assign_plug:nn {tagsupport/math/substruct/end}{default}
+
+\socket_new_plug:nnn
+ {tagsupport/math/substruct/begin}
+ {single}
+ {
+ \typeout{====>subpart~splitting~deactivated}
+ \typeout{====>grabbed~math=\meaning\g__math_grabbed_math_tl}
+ \tag_mc_begin:n{}
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/substruct/end}
+ {single}
+ { \tag_mc_end:}
+\socket_new:nn {tagsupport/math/end}{0}
+
+\cs_new_protected:Npn \__tag_math_disable:
+ {
+ \socket_assign_plug:nn {tagsupport/math/inline/begin}{noop}
+ \socket_assign_plug:nn {tagsupport/math/inline/end}{noop}
+ \socket_assign_plug:nn {tagsupport/math/inline/formula/begin}{identity}
+ \socket_assign_plug:nn {tagsupport/math/inline/formula/end}{noop}
+ \socket_assign_plug:nn {tagsupport/math/display/begin}{noop}
+ \socket_assign_plug:nn {tagsupport/math/display/end}{noop}
+ \socket_assign_plug:nn {tagsupport/math/display/formula/begin}{identity}
+ \socket_assign_plug:nn {tagsupport/math/display/formula/end}{noop}
+ }
+\cs_new_protected:Npn \__tag_math_enable:
+ {
+ \socket_assign_plug:nn {tagsupport/math/inline/begin}{MC}
+ \socket_assign_plug:nn {tagsupport/math/inline/end}{MC}
+ \socket_assign_plug:nn {tagsupport/math/inline/formula/begin}{default}
+ \socket_assign_plug:nn {tagsupport/math/inline/formula/end}{default}
+ \socket_assign_plug:nn {tagsupport/math/display/begin}{default}
+ \socket_assign_plug:nn {tagsupport/math/display/end}{default}
+ \socket_assign_plug:nn {tagsupport/math/display/formula/begin}{default}
+ \socket_assign_plug:nn {tagsupport/math/display/formula/end}{default}
+ }
+\AtBeginDocument{\tag_if_active:T{\__tag_math_enable: }}
\cs_new_protected:Npn \__math_process:nn #1#2
{
\legacy_if:nF { measuring@ }
{
- \tl_if_in:nnF {#2} { \m@th }
+ \tl_if_in:nnTF {#2} { \m@th }
+ { \bool_set_true:N\l__math_fakemath_bool }
{ \tl_trim_spaces_apply:nN {#2} \__math_process_auxi:nn {#1} }
}
}
@@ -70,62 +522,39 @@
\tl_if_blank:nF {#1}
{
\__math_process:nn { math } {#1} % $
- \legacy_if:nTF { measuring@ }
- { #1 $ }
- {
- \tl_if_in:nnTF {#1} { \m@th }
- { #1 $ }
- {
- \tagmcend %end P-chunk, in code: \tag_mc_end_push:
- \@kernel@math@begin
- #1 $
- \@kernel@math@end
- \tagmcbegin{} % restart P-chunk (whatsits in pdftex)
- }
- }
+ \bool_lazy_or:nnTF
+ {\legacy_if_p:n { measuring@ }}
+ { \l__math_fakemath_bool }
+ { #1 $ }
+ {
+ \tag_socket_use:n {math/inline/begin} %end P-MC
+ \tag_socket_use:nn {math/inline/formula/begin}{#1}
+ $
+ \tag_socket_use:n {math/inline/formula/end}
+ \tag_socket_use:n {math/inline/end} % restart P-MC
+ }
}
}
-
-\skip_new:N \l__math_tmpa_skip
-
\cs_new_protected:Npn \__math_grab_dollardollar:w % $$
#1 $$
{
\tl_if_blank:nF {#1}
{
- \__math_tag_dollardollar_display:nn { equation* }{#1}
- #1
+ \__math_process:nn { equation* } {#1}
+ \socket_use:n {tagsupport/math/display/begin}
+ \socket_use:nn{tagsupport/math/display/formula/begin}{#1}
$$
}
}
-\cs_new_protected:Npn \@kernel@close@P {
- \tag_if_active:T
- {
- \tagmcend %end P-chunk, should perhaps be \tag_mc_end_push: ...
- \int_gincr:N \g__tag_para_end_int
- \bool_if:NT \l__tag_para_show_bool
- { \tag_mc_begin:n{artifact}
- \rlap{\color_select:n{red}\tiny\ \int_use:N\g__tag_para_end_int}
- \tag_mc_end:
- }
- \tag_struct_end:
- }
-}
-
-\cs_new_protected:Npn \__math_tag_dollardollar_display:nn #1#2 {
- \__math_process:nn {#1} {#2}
- \@kernel@close@P
- \@kernel@math@begin
-%%
-}
-
-\cs_new_protected:Npn \__math_tag_dollardollar_display_end: {
- \tagpdfparaOff
- \para_raw_end:
- \tagpdfparaOn
- \l__math_tmpa_skip \lastskip
- \@kernel@math@end
- \penalty \postdisplaypenalty
+\cs_new_protected:Npn \__math_tag_dollardollar_display_end:
+ {
+ % \typeout{== tag dollarldollar display end}
+ % \ShowTagging{struct-stack}
+ \para_raw_end:
+ \tagpdfparaOn
+ \l__math_tmpa_skip \lastskip
+ \socket_use:n{tagsupport/math/display/formula/end}
+ \penalty \postdisplaypenalty
\skip_vertical:n { -\l__math_tmpa_skip * 2 }
\@doendpe % this has no \end{...} to take care of it
}
@@ -135,7 +564,6 @@
{
\tl_if_blank:nF {#1}
{
- \__math_process:nn { math } {#1}
$ #1 $
}
\bool_set_false:N \l__math_collected_bool
@@ -162,7 +590,7 @@
\keys_set:nn { __math } {#2}
\cs_gset_eq:cc { __math_env_ #1 _begin: } {#1}
\cs_gset_eq:cc { __math_env_ #1 _end: } { end #1 }
- \ExpandArgs { nnx } \RenewDocumentEnvironment {#1} { b }
+ \ExpandArgs { nne } \RenewDocumentEnvironment {#1} { b }
{
\exp_not:N \bool_if:NTF \exp_not:N \l__math_collected_bool
{
@@ -171,28 +599,19 @@
\cs_if_exist:cTF { __math_env #1 _aux: }
{
\exp_not:c { __math_env #1 _aux: }
- ####1 \exp_not:N \__math_env_end: {#1}
+ ##1 \exp_not:N \__math_env_end: {#1}
}
- { \exp_not:N \__math_process:nn {#1} {####1} }
+ { \exp_not:N \__math_process:nn {#1} {##1} }
\exp_not:n { \@kernel@math@registered@begin }
\bool_set_true:N \exp_not:N \l__math_collected_bool
}
\exp_not:c { __math_env_ #1 _begin: }
- ####1
+ ##1
\exp_not:c { __math_env_ #1 _end: }
}
- {
- }
- }
-
-\cs_set_protected:Npn \__cs_tmp:w #1
- {
- \group_begin:
- \exp_args:No \__cs_generate_internal_variant:n
- { \tl_to_str:n {#1} }
- \group_end:
+ {
+ }
}
-\__cs_tmp:w { nnxx }
\cs_new_protected:Npn \math_register_halign_env:nn #1#2
{
@@ -200,7 +619,7 @@
\keys_set:nn { __math } {#2}
\cs_gset_eq:cc { __math_env_ #1 _begin: } {#1}
\cs_gset_eq:cc { __math_env_ #1 _end: } { end #1 }
- \ExpandArgs { nnxx } \RenewDocumentEnvironment {#1} { b }
+ \ExpandArgs { nnee } \RenewDocumentEnvironment {#1} { b }
{
\exp_not:N \bool_if:NTF \exp_not:N \l__math_collected_bool
{
@@ -209,27 +628,26 @@
\cs_if_exist:cTF { __math_env #1 _aux: }
{
\exp_not:c { __math_env #1 _aux: }
- ####1 \exp_not:N \__math_env_end: {#1}
+ ##1 \exp_not:N \__math_env_end: {#1}
}
- { \exp_not:N \__math_process:nn {#1} {####1} }
+ { \exp_not:N \__math_process:nn {#1} {##1} }
\exp_not:n { \@kernel@math@registered@begin }
\bool_set_true:N \exp_not:N \l__math_collected_bool
}
\exp_not:c { __math_env_ #1 _begin: }
- ####1
+ ##1
+ }
+ {
+ \exp_not:c { __math_env_ #1 _end: }
}
- {
- \exp_not:c { __math_env_ #1 _end: }
- }
}
-
\cs_new_protected:Npn \math_register_odd_env:nn #1#2
{
\tl_set:Nn \l__math_env_name_tl {#1}
\keys_set:nn { __math } {#2}
\cs_gset_eq:cc { __math_env_ #1 _begin: } {#1}
\cs_gset_eq:cc { __math_env_ #1 _end: } { end #1 }
- \ExpandArgs { nnxx } \RenewDocumentEnvironment {#1} { b }
+ \ExpandArgs { nnee } \RenewDocumentEnvironment {#1} { b }
{
\exp_not:N \bool_if:NTF \exp_not:N \l__math_collected_bool
{
@@ -238,14 +656,14 @@
\cs_if_exist:cTF { __math_env #1 _aux: }
{
\exp_not:c { __math_env #1 _aux: }
- ####1 \exp_not:N \__math_env_end: {#1}
+ ##1 \exp_not:N \__math_env_end: {#1}
}
- { \exp_not:N \__math_process:nn {#1} {####1} }
+ { \exp_not:N \__math_process:nn {#1} {##1} }
\exp_not:n { \@kernel@math@registered@begin }
\bool_set_true:N \exp_not:N \l__math_collected_bool
}
\exp_not:c { __math_env_ #1 _begin: }
- ####1
+ ##1
}
{
\exp_not:c { __math_env_ #1 _end: }
@@ -257,27 +675,31 @@
\cs_new:Npn \@kernel@math@registered@begin {
\mode_if_vertical:TF
{
- \exp_args:Noo\str_if_eq:nnF \g__tag_struct_tag_tl { \l__tag_para_main_tag_tl } % needs correction!
+ \tag_if_active:T
+ {
+ \exp_args:Noo\str_if_eq:nnF \g__tag_struct_tag_tl { \l__tag_para_main_tag_tl } % needs correction!
{
\__block_beginpar_vmode:
} % needs correction!
+ }
}
{
- \@kernel@close@P
+ \__tag_tool_close_P:
}
- \@kernel@math@begin
+ \socket_use:nn{tagsupport/math/display/formula/begin}{}
\tagpdfparaOff
}
\cs_new:Npn \@kernel@math@registered@end {
\para_raw_end:
\tagpdfparaOn
- \@kernel@math@end
+ \socket_use:n{tagsupport/math/display/formula/end}
\@endpetrue
}
\cs_new_protected:Npn \math_register_env:n #1
{ \math_register_env:nn {#1} { } }
+
\NewDocumentCommand \RegisterMathEnvironment { O{} m }
{ \math_register_env:nn {#2} {#1} }
\cs_new_protected:Npn \__math_env_forward:w #1 \__math_env_end: #2
@@ -311,47 +733,15 @@
{
\cs_gset_protected:Npn \[ % \]
{
- \bool_if:NTF \l__math_collected_bool
- { \begin { equation* } }
- { \__math_grab_eqn:w }
+ \__math_grab_eqn:w
+ % \bool_if:NTF \l__math_collected_bool
} % \[
\cs_gset_protected:Npn \]
{
- \bool_if:NTF \l__math_collected_bool
- { \end{ equation* } }
- { \@badmath }
+ \@badmath
}
}
-\tl_new:N\tmpmathcontent
-
-\def\@kernel@math@begin {
- \tl_gset:Nx\tmpmathcontent
- {
- LaTeX~ formula~ starts~
- \exp_not:N\begin{\g__math_grabbed_env_tl}
- \space
- \exp_not:V\g__math_grabbed_math_tl
- \space
- \exp_not:N\end{\g__math_grabbed_env_tl}
- \space LaTeX~ formula~ ends~
- }
- \tagstructbegin{tag=Formula,
- AFinline-o=\tmpmathcontent,
- title-o=\g__math_grabbed_env_tl,
- actualtext=\tmpmathcontent
- }
- \grabaformulapartandstart
-}
-\def\@kernel@math@end {
- \tagmcend
- \if@subformulas
- \tagstructend
- \else
- \fi
- \tagstructend
-}
-
\exp_args:No \tex_everymath:D
{
\tex_the:D \tex_everymath:D
@@ -379,18 +769,34 @@
}
\math_register_env:n { eqnarray }
\math_register_env:n { eqnarray* }
-\clist_map_inline:nn
- { tabular }
- {
- \AddToHook{ env / #1 / begin }
- { \bool_set_true:N \l__math_collected_bool }
- }
+\RequirePackage{array}
+\tl_if_in:NnT\@tabular{$}
+ {
+ \def\@tabular{%
+ \leavevmode
+ \UseTaggingSocket{tbl/hmode/begin}%
+ \hbox \bgroup
+ \bool_set_true:N \l__math_collected_bool
+ $
+ \bool_set_false:N \l__math_collected_bool
+ \col@sep\tabcolsep \let\d@llarbegin\begingroup
+ \let\d@llarend\endgroup
+ \@tabarray}
+ }
\cs_new_eq:NN \__math_m@th: \m@th
\cs_gset_protected:Npn \m@th
{
\bool_set_true:N \l__math_collected_bool
\__math_m@th:
}
+\tl_gput_right:Nn\@kernel@before@begindocument
+ {
+ \bool_set_true:N\l__math_collected_bool
+ }
+\tl_gput_right:Nn\@kernel@after@begindocument
+ {
+ \bool_set_false:N\l__math_collected_bool
+ }
\tl_gput_right:Nn \@kernel@before@begindocument {
\renewenvironment{gather*}{%
@@ -467,6 +873,8 @@
\def\measuring@true{\let\ifmeasuring@\iftrue\tag_stop:}
\math_register_halign_env:nn {align}{}
\math_register_halign_env:nn {align*}{}
+ \math_register_halign_env:nn {alignat}{}
+ \math_register_halign_env:nn {alignat*}{}
\math_register_halign_env:nn {flalign}{}
\math_register_halign_env:nn {flalign*}{}
\math_register_halign_env:nn {gather}{}
@@ -487,26 +895,6 @@
\tagmcend \tagstructend \tagmcbegin{}%
\fi
}
- \def\intertext@{%
- \def\intertext##1{%
- \ifvmode\else\\\@empty\fi
- \noalign{%
- \penalty\postdisplaypenalty\vskip-\belowdisplayskip
- \vbox{
- \ifmeasuring@\tag_stop:\fi
- \normalbaselines
- \ifdim\linewidth=\columnwidth
- \else \parshape\@ne \@totalleftmargin \linewidth
- \fi
- \tag_mc_end_push:
- \tagpdfsetup{paratag=P}%
- \tagpdfparaOn
- \noindent\ignorespaces##1\par
- \tag_mc_begin_pop:n{}}%
- \penalty\predisplaypenalty\vskip\abovedisplayskip%
- }%
- }
- }
\@namedef{math@cr @ @ @ gather}{%
\ifst@rred\nonumber\fi
&\relax
@@ -538,6 +926,11 @@
\restore@math@cr
}
+\cs_new:Npn \__math_split_at_nl:NN #1#2 {
+ \tl_set:Nf \l__math_tmpa_tl {
+ \exp_after:wN \__math_split_at_nl_first:w #1 \\ \q_nil \\ \s_stop }
+ \exp_after:wN \__math_split_at_nl_aux:nnNN \l__math_tmpa_tl #1 #2
+}
\cs_new:Npn \__math_split_at_nl_first:w #1 \\ #2 \\ #3 \s_stop
{
\quark_if_nil:nTF {#2}
@@ -547,8 +940,15 @@
#2 \\ #3 \s_stop
}
}
-\cs_new:Npn \__math_split_chk_if_begin:ww #1 \begin #2 #3 \s_mark
- #4 \\ \q_nil \\ \s_stop
+
+\cs_new_protected:Npn \__math_split_at_nl_aux:nnNN #1 #2 #3 #4
+ {
+ \tl_gset:Nn #4 {#1}
+ \tl_gset:Nn #3 {#2}
+ }
+
+\cs_new:Npn \__math_split_chk_if_begin:ww
+ #1 \begin #2 #3 \s_mark #4 \\ \q_nil \\ \s_stop
{
\quark_if_nil:nTF {#2}
{ {#1} {#4} }
@@ -558,7 +958,9 @@
{ } { 1 }
}
}
+
\cs_new:Npn \__math_split_cleanup_begin_q_nil:w #1 \begin \q_nil {#1}
+
\cs_new:Npn \__math_split_collect_one_end:w #1 \end #2 #3 \s_stop #4 #5
{
\exp_args:Nf \__math_split_check_count_begins:nnnn
@@ -567,14 +969,16 @@
}
\cs_new:Npn \__math_split_count_begins:n #1
{ \int_eval:n { 0 \__math_split_count_begins:w #1 \begin \q_nil } }
+
\cs_new:Npn \__math_split_count_begins:w #1 \begin #2
{ \quark_if_nil:nF {#2} { +1 \__math_split_count_begins:w } }
+
\cs_new:Npn \__math_split_check_count_begins:nnnn #1 #2 #3 #4
{
\int_compare:nNnTF {#1} = {#2}
{
\exp_last_unbraced:Nf \__math_split_final_cleanup:nn
- { \split:n { \__math_split_guard:n {#3} #4 } }
+ { \__math_split:n { \__math_split_guard:n {#3} #4 } }
}
{
\exp_args:No \use_ii_i:nn
@@ -594,28 +998,10 @@
{ \exp_end: { #4 #1 } }
{ \__math_split_final_cleanup:w #3 \s_mark { #4 #1 #2 } }
}
-\NewDocumentCommand \splitnl { mm +m }
- {
- \tl_set:Nf \l_tmpa_tl { \split:n {#3} }
- \show \l_tmpa_tl
- \exp_after:wN \__splitnl_aux:nnNN \l_tmpa_tl #1 #2
- }
-\cs_new:Npn \split:n #1 {
+\cs_new:Npn \__math_split:n #1 {
\__math_split_at_nl_first:w #1 \\ \q_nil \\ \s_stop }
-\cs_new:Npn \__math_split_at_nl:NN #1#2 {
- \tl_set:Nf \l_tmpa_tl {
- \exp_after:wN \__math_split_at_nl_first:w #1 \\ \q_nil \\ \s_stop }
- \exp_after:wN \__math_split_at_nl_aux:nnNN \l_tmpa_tl #1 #2
-}
-
-\cs_new_protected:Npn \__math_split_at_nl_aux:nnNN #1 #2 #3 #4
- {
- \tl_gset:Nn #4 {#1}
- \tl_gset:Nn #3 {#2}
-}
-
\newif\if@subformulas
\tl_new:N \result
@@ -634,6 +1020,7 @@
\global\@subformulastrue
\edef\resulttitle{\g__math_grabbed_env_tl\space (part)}
\tagstructbegin{tag=Formula,
+ alt = subformula,
title-o=\resulttitle
}
}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathpkg.ltx b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathpkg.ltx
index ca7d617a0a6..71a110c602f 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathpkg.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathpkg.ltx
@@ -35,7 +35,6 @@
%% File: latex-lab-mathpkg.dtx
\ProvidesFile{latex-lab-mathpkg.ltx}
[2023-01-05 v0.1a mathpkg adaptions]
-\RequirePackage{tagpdf-base}
\AddToHook{package/breqn/after}{
\RegisterMathEnvironment{dmath}
\RegisterMathEnvironment{dgroup*}
@@ -46,6 +45,23 @@
\AddToHook{package/cases/after}{
\RegisterMathEnvironment{subnumcases}
}
+\ExplSyntaxOn
+\AddToHook{package/bm/after}
+ {
+ \def\bm@pmb@@#1#2#3{{%
+ \hbox_set:Nn\l__math_tmpa_box{$\m@th#1#3$}%
+ \dimen@#2\wd\tw@
+ \rlap{\box_use:N\l__math_tmpa_box}%
+ \tag_mc_end:\tag_mc_begin:n{artifact}
+ \tag_mc_reset_box:N\l__math_tmpa_box
+ \kern\dimen@
+ \raise1.5\dimen@\rlap{\box_use:N\l__math_tmpa_box}%
+ \kern\dimen@
+ \box_use_drop:N\l__math_tmpa_box
+ \tag_mc_end:\tag_mc_begin:n{}%
+ }}
+ }
+\ExplSyntaxOff
\endinput
%%
%% End of file `latex-lab-mathpkg.ltx'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathtools.ltx b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathtools.ltx
index 575490f5803..43663b8f9ef 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathtools.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-mathtools.ltx
@@ -60,7 +60,7 @@
\def\intertext##1{%
\ifvmode\else\\\@empty\fi
\noalign{%
- \penalty\postdisplaypenalty\vskip\belowdisplayskip
+ \penalty\postdisplaypenalty\vskip-\belowdisplayskip
\vskip-\lineskiplimit % CCS
\vskip\normallineskiplimit % CCS
\vskip\l_MT_above_intertext_sep
@@ -77,7 +77,7 @@
\else \parshape\@ne \@totalleftmargin \linewidth
\fi
\tag_mc_end_push:
- \tagpdfsetup{paratag=Span}
+ \tagpdfsetup{para/tag=Span}
\noindent\ignorespaces##1\par
\tag_mc_begin_pop:n{}}%
\penalty\predisplaypenalty\vskip\abovedisplayskip%
@@ -106,7 +106,8 @@
\parshape\@ne \@totalleftmargin \linewidth
\MH_fi:
\tag_mc_end_push:
- \tagpdfsetup{paratag=Span}
+ \tagpdfsetup{para/tag=Span}
+ \tagpdfparaOn
\noindent\ignorespaces#1\par
\tag_mc_begin_pop:n{}}
\penalty\predisplaypenalty\vskip\abovedisplayshortskip%
@@ -134,7 +135,8 @@
\parshape\@ne \@totalleftmargin \linewidth
\MH_fi:
\tag_mc_end_push:
- \tagpdfsetup{paratag=Span}
+ \tagpdfsetup{para/tag=P}
+ \tagpdfparaOn
\noindent\ignorespaces#1\par
\tag_mc_begin_pop:n{}}%
\penalty\predisplaypenalty\vskip\abovedisplayshortskip%
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-bib.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-bib.sty
index 9261393042e..4cfa0b055c8 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-bib.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-bib.sty
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-bib.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabbibdate{2023-07-20}
-\def\ltlabbibversion{0.81a}
+\def\ltlabbibdate{2024-02-12}
+\def\ltlabbibversion{0.81b}
\ProvidesExplPackage {latex-lab-testphase-bib} {\ltlabbibdate} {\ltlabbibversion}
{Code related to the tagging of bibliography and cite command}
\RequirePackage{latex-lab-testphase-block}
@@ -90,7 +90,7 @@
\AddToHookWithArguments{bibcite/before}
{
\tag_mc_end_push:
- \exp_args:Nx\tagstructbegin{tag=Reference,ref=cite.#1\@extra@b@citeb}
+ \exp_args:Ne\tagstructbegin{tag=Reference,ref=cite.#1\@extra@b@citeb}
\tagmcbegin{}
}
\AddToHookWithArguments{bibcite/after}[tag]
@@ -118,7 +118,7 @@
{
\leavevmode
\tag_mc_end_push:
- \exp_args:Nx\tag_struct_begin:n{tag=Reference,ref=cite.#1\@extra@b@citeb}
+ \exp_args:Ne\tag_struct_begin:n{tag=Reference,ref=cite.#1\@extra@b@citeb}
\tag_mc_begin:n{}
}
\AddToHook{cmd/hyper@natlinkend/after}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-block.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-block.sty
index 2764ca6d8bb..a4d646636fc 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-block.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-block.sty
@@ -32,18 +32,16 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-block.dtx (C) Copyright 2021-2023 LaTeX Project
-\def\ltlabblockdate{2023-09-01}
-\def\ltlabblockversion{0.8h}
+%% File: latex-lab-block.dtx (C) Copyright 2021-2024 LaTeX Project
+\def\ltlabblockdate{2024-03-23}
+\def\ltlabblockversion{0.8n}
\ProvidesPackage {latex-lab-testphase-block}
[\ltlabblockdate\space v\ltlabblockversion\space
blockenv implementation]
-\RequirePackage{xtemplate}
\RequirePackage{latex-lab-kernel-changes}
\ExplSyntaxOn
\tl_new:N \l__block_item_align_tl
\tl_new:N\l__block_legacy_env_params_tl
-
\def\@doendpe{\@endpetrue
\def\par
{
@@ -62,11 +60,11 @@
\cs_new_eq:NN \__kernel_displayblock_doendpe: \prg_do_nothing:
\def\@endpetrue {\global\let\if@endpe\iftrue}
\def\@endpefalse{\global\let\if@endpe\iffalse}
-\DeclareObjectType{blockenv}{1}
-\DeclareObjectType{block}{1}
-\DeclareObjectType{para}{1}
-\DeclareObjectType{list}{1}
-\DeclareObjectType{item}{1}
+\NewTemplateType{blockenv}{1}
+\NewTemplateType{block}{1}
+\NewTemplateType{para}{1}
+\NewTemplateType{list}{1}
+\NewTemplateType{item}{1}
\DeclareTemplateInterface{blockenv}{display}{1}
{
env-name : tokenlist ,
@@ -119,7 +117,7 @@
item-instance : instance{item} = basic ,
item-skip : skip = \itemsep ,
item-penalty : integer = \UseName{@itempenalty} ,
- item-indent : length = 0pt , % was \itemindent
+ item-indent : length = \itemindent ,
label-width : length = \labelwidth ,
label-sep : length = \labelsep ,
legacy-support : boolean = false ,
@@ -301,14 +299,14 @@
\@definecounter {#2}
\IfNoValueTF {#4}
{ % @ynthm
- \tl_gset:cx { the #2 }
+ \tl_gset:ce { the #2 }
{
\@thmcounter{#2}
}
}
{ % @xnthm
\@newctr{#1}[#4]
- \tl_gset:cx { the #2 }
+ \tl_gset:ce { the #2 }
{
\expandafter\noexpand\csname the#4\endcsname
\@thmcountersep
@@ -517,7 +515,7 @@
fixed-word-spaces = \l__par_fixed_word_spaces_bool , % name??
final-hyphen-demerits = \finalhyphendemerits ,
cr-cmd = \\ ,
- para-class = \l_tag_para_attr_class_tl ,
+ para-class = \l__tag_para_attr_class_tl ,
}
{
\tl_if_empty:nF {#1} { \SetTemplateKeys{para}{std}{#1} }
@@ -814,8 +812,11 @@
\RenewDocumentCommand{\item}{ ={label}o }
{
\@inmatherr \item
- \tl_if_empty:oTF \__block_item_instance:n %%FMi?
- { \msg_error:nnn { __block } { item-in-nonlist } { \item[{#1}] } }
+ \cs_if_free:NTF \__block_item_instance:n
+ {
+ \@latex@error{Lonely~\string\item--perhaps~a~missing~
+ list~environment}\@ehc
+ }
{
\legacy_if:nTF { @newlist }
{ \__kernel_list_item_begin: }
@@ -1131,15 +1132,16 @@
\DeclareInstance{item}{description}{std}
{
label-format = \normalfont\bfseries #1 ,
+ label-align = left
}
\tag_if_active:T
{
\tagpdfsetup
{
- newattribute = {justify} {/O /Layout /TextAlign/Justify},
- newattribute = {center} {/O /Layout /TextAlign/Center},
- newattribute = {raggedright}{/O /Layout /TextAlign/Start},
- newattribute = {raggedleft} {/O /Layout /TextAlign/End},
+ role/new-attribute = {justify} {/O /Layout /TextAlign/Justify},
+ role/new-attribute = {center} {/O /Layout /TextAlign/Center},
+ role/new-attribute = {raggedright}{/O /Layout /TextAlign/Start},
+ role/new-attribute = {raggedleft} {/O /Layout /TextAlign/End},
}
}
\DeclareInstance{para}{center}{std}
@@ -1203,15 +1205,20 @@
{
\int_compare:nNnT \l__block_flattened_level_int < 2
{
- \int_gincr:N \g__tag_para_main_begin_int
- \tagstructbegin{tag=\l__tag_para_main_tag_tl}
+ \__tag_gincr_para_main_begin_int:
+ \tag_struct_begin:n
+ {
+ tag=\l__tag_para_main_tag_tl,
+ attribute-class=\l__tag_para_main_attr_class_tl,
+ }
+ \__tag_para_main_store_struct:
}
}
}
\cs_set:Npn \__block_beginpar_hmode:N #1
{
\tag_mc_end:
- \int_gincr:N \g__tag_para_end_int
+ \__tag_gincr_para_end_int:
\__block_debug_typeout:n{increment~ /P \on@line }
\bool_if:NT \l__tag_para_show_bool
{ \tag_mc_begin:n{artifact}
@@ -1234,7 +1241,7 @@
{
\__block_debug_typeout:n{Structure-end~
\l__tag_para_main_tag_tl\space after~ displayblock \on@line }
- \int_gincr:N \g__tag_para_main_end_int
+ \__tag_gincr_para_main_end_int:
\tag_struct_end: %text-unit
}
}
@@ -1257,16 +1264,21 @@
{
\bool_if:NF \l__tag_para_flattened_bool
{
- \int_gincr:N \g__tag_para_main_begin_int
- \tag_struct_begin:n{tag=\l__tag_para_main_tag_tl}
+ \__tag_gincr_para_main_begin_int:
+ \tag_struct_begin:n
+ {
+ tag=\l__tag_para_main_tag_tl,
+ attribute-class=\l__tag_para_main_attr_class_tl,
+ }
+ \__tag_para_main_store_struct:
}
}
- \int_gincr:N \g__tag_para_begin_int
+ \__tag_gincr_para_begin_int:
\__block_debug_typeout:n{increment~ P \on@line }
\tag_struct_begin:n
{
tag=\l__tag_para_tag_tl
- ,attribute-class=\l_tag_para_attr_class_tl
+ ,attribute-class=\l__tag_para_attr_class_tl
}
\__tag_check_para_begin_show:nn {green}{#1}
\tag_mc_begin:n {}
@@ -1274,15 +1286,20 @@
\cs_new_protected:Npn \__block_start_para_structure_unconditionally:n #1 {
\bool_if:NF \l__tag_para_flattened_bool
{
- \int_gincr:N \g__tag_para_main_begin_int
- \tag_struct_begin:n{tag=\l__tag_para_main_tag_tl}
+ \__tag_gincr_para_main_begin_int:
+ \tag_struct_begin:n
+ {
+ tag=\l__tag_para_main_tag_tl,
+ attribute-class=\l__tag_para_main_attr_class_tl,
+ }
+ \__tag_para_main_store_struct:
}
- \int_gincr:N \g__tag_para_begin_int
+ \__tag_gincr_para_begin_int:
\__block_debug_typeout:n{increment~ P \on@line }
\tag_struct_begin:n
{
tag=\l__tag_para_tag_tl
- ,attribute-class=\l_tag_para_attr_class_tl
+ ,attribute-class=\l__tag_para_attr_class_tl
}
\__tag_check_para_begin_show:nn {green}{#1}
\tag_mc_begin:n {}
@@ -1292,14 +1309,14 @@
{
\bool_if:NT \l__tag_para_bool
{
- \int_gincr:N \g__tag_para_end_int
+ \__tag_gincr_para_end_int:
\__block_debug_typeout:n{increment~ /P \on@line }
\tag_mc_end:
\__tag_check_para_end_show:nn {red}{}
\tag_struct_end:
\bool_if:NF \l__tag_para_flattened_bool
{
- \int_gincr:N \g__tag_para_main_end_int
+ \__tag_gincr_para_main_end_int:
\tag_struct_end:
}
}
@@ -1334,7 +1351,7 @@
\DeclareRobustCommand*\begin[1]{%
\UseHook{env/#1/before}%
\@ifundefined{#1}%
- {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+ {\def\reserved@a{\@latex@error{Environment~#1~undefined}\@eha}}%
{\def\reserved@a{\def\@currenvir{#1}%
\edef\@currenvline{\on@line}%
\@execute@begin@hook{#1}%
@@ -1349,7 +1366,7 @@
{
\bool_if:NF \l__tag_para_flattened_bool
{
- \int_gincr:N \g__tag_para_main_end_int
+ \__tag_gincr_para_main_end_int:
\tag_struct_end:
}
\@endpefalse
@@ -1369,7 +1386,7 @@
\__block_debug_typeout:n{block-end \on@line}
\legacy_if:nT { @endpe }
{
- \int_gincr:N \g__tag_para_main_end_int
+ \__tag_gincr_para_main_end_int:
\__block_debug_typeout:n{close~ /text-unit \on@line}
\tagstructend
}
@@ -1384,11 +1401,11 @@
{
\tagpdfsetup
{
+ role/new-attribute = {itemize}{/O /List /ListNumbering/Unordered},
+ role/new-attribute = {enumerate}{/O /List /ListNumbering/Ordered},
+ role/new-attribute = {description}{/O /List /ListNumbering/Description},
% default if unknown
- newattribute = {list}{/O /List /ListNumbering/None},
- newattribute = {itemize}{/O /List /ListNumbering/Unordered},
- newattribute = {enumerate}{/O /List /ListNumbering/Ordered},
- newattribute = {description}{/O /List /ListNumbering/Description},
+ role/new-attribute = {list}{/O /List /ListNumbering/Unordered},
}
}
\def\LItag{LI}
@@ -1413,7 +1430,7 @@
\cs_set:Npn \__block_list_item_end: {
\legacy_if:nT { @endpe }
{
- \int_gincr:N \g__tag_para_main_end_int
+ \__tag_gincr_para_main_end_int:
\tagstructend % text-unit
}
\tagstructend \tagstructend % end LBody, LI
@@ -1421,7 +1438,7 @@
\cs_set:Npn \__block_list_end: {
\legacy_if:nT { @endpe }
{
- \int_gincr:N \g__tag_para_main_end_int
+ \__tag_gincr_para_main_end_int:
\tagstructend % text-unit
\__block_debug_typeout:n{Structure-end~ P~ at~ list-end \on@line }
}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-firstaid.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-firstaid.sty
index 7ea7fe54bec..552dfee1832 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-firstaid.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-firstaid.sty
@@ -32,14 +32,59 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-firstaid.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabfirstaiddate{2023-07-20}
-\def\ltlabfirstaidversion{0.85a}
+%% File: latex-lab-firstaid.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabfirstaiddate{2024-05-25}
+\def\ltlabfirstaidversion{0.85d}
\ProvidesPackage {latex-lab-testphase-firstaid} [%
\ltlabfirstaiddate\space v\ltlabfirstaiddate\space
Temporary patches to external packages needed for the tagging project]
+\ExplSyntaxOn
+\providecommand\FirstAidNeededT[3]{
+ \exp_args:Ncx\str_if_eq:onF{ver@#1.#2}{#3}
+ { \typeout{==>~ First~ Aid~ for~ #1.#2~ no~ longer~ applied!^^J
+ \@spaces Expected:^^J
+ \@spaces\@spaces #3^^J
+ \@spaces but~ found:^^J
+ \@spaces\@spaces \use:c{ver@#1.#2}^^J
+ \@spaces so~ I'm~ assuming~ it~ got~ fixed.
+ } }
+ \exp_args:Ncx\str_if_eq:onT{ver@#1.#2}{#3}
+}
+\ExplSyntaxOff
+\AddToHook{class/amsart/after}
+ {\def\@author{\authors}}
+\AddToHook{class/amsbook/after}
+ {\def\@author{\authors}}
+\AddToHook{package/verse/after}[latex-lab-firstaid]{%
+ \FirstAidNeededT{verse}{sty}{2014/05/10 v2.4b verse typesetting}%
+ {%
+ \AtBeginDocument{%
+ \renewenvironment{verse}[1][\linewidth]{%
+ \stepcounter{verse@envctr}%
+ \setcounter{poemline}{0}\refstepcounter{poemline}%
+ \setcounter{vslineno}{1}%
+ \let\\=\@vscentercr
+ \list{}{\itemsep \z@
+ \itemindent -\vindent
+ \listparindent\itemindent
+ \parsep \stanzaskip
+ \ifdim #1 < \linewidth
+ \rightmargin \z@
+ \setlength{\leftmargin}{\linewidth}%
+ \addtolength{\leftmargin}{-#1}%
+ \addtolength{\leftmargin}{-0.5\leftmargin}%
+ \else
+ \rightmargin \leftmargin
+ \fi
+ \addtolength{\leftmargin}{\vindent}}%
+ \item[]%
+ }%
+ {\endlist}%
+ }%
+ }%
+}
\AddToHook{file/blindtext.sty/after}[latex-lab-firstaid]{%
\FirstAidNeededT{blindtext}{sty}{\blindfiledate\space\blindfileversion\space%
blindtext-Package}%
@@ -89,6 +134,31 @@
{\refstepcounter@optarg[#1]{#2}}%
}%
}
+\ExplSyntaxOn
+\AddToHook{package/booktabs/after}
+ {
+ \def\@cmidrulea{
+ \multispan\@cmidla
+ &\multispan\@cmidlb
+ \unskip\hskip\cmrkern@l
+ {
+ \tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill\kern\z@}
+ \hskip\cmrkern@r
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ \cr}
+
+ \def\@cmidruleb{%
+ \multispan\@cmidlb
+ \unskip\hskip \cmrkern@l%
+ {
+ \tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill\kern\z@}
+ \hskip\cmrkern@r
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ \cr}
+ }
+\ExplSyntaxOff
\endinput
%%
%% End of file `latex-lab-testphase-firstaid.sty'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-float.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-float.sty
index 8b38e4aedef..a944c944b20 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-float.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-float.sty
@@ -33,8 +33,8 @@
%%
%%
%% File: latex-lab-float.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabfloatdate{2023-07-20}
-\def\ltlabfloatversion{0.81a}
+\def\ltlabfloatdate{2024-03-23}
+\def\ltlabfloatversion{0.81e}
\ProvidesExplPackage {latex-lab-testphase-float} {\ltlabfloatdate} {\ltlabfloatversion}
{Code related to the tagging of floats}
\prop_new:N \g__tag_float_sect_prop
@@ -51,7 +51,7 @@
\seq_map_inline:Nn\g__tag_float_types_seq
{
\tag_struct_begin:n{tag=##1s,stash}
- \prop_gput:Nnx\g__tag_float_sect_prop {##1-struct}{\int_use:N\c@g__tag_struct_abs_int}
+ \prop_gput:Nne\g__tag_float_sect_prop {##1-struct}{\int_use:N\c@g__tag_struct_abs_int}
\tag_struct_end:
}
}
@@ -93,7 +93,7 @@
{
\__tag_float_end:
\__tag_float_begin:
- \MakeLinkTarget[tagstructure]{g__tag_struct_abs_int}
+ \MakeLinkTarget*{floatstructure.\int_use:N\c@g__tag_struct_abs_int}
}
}
@@ -120,12 +120,12 @@
{
\exp_args:Ne
\tag_struct_begin:n{tag=float,parent=0\prop_item:No\g__tag_float_sect_prop{\@captype-struct}}%
- \prop_gput:Nxx \g__tag_float_sect_prop {\@captype-used}{true}
+ \prop_gput:Nee \g__tag_float_sect_prop {\@captype-used}{true}
}
{
\tag_struct_begin:n{tag=float}
}
- \tl_set:Nx\@current@float@struct{\tag_get:n{struct_num}}%
+ \tl_set:Ne\@current@float@struct{\tag_get:n{struct_num}}%
\typeout{Float structure: \@current@float@struct}
}
@@ -147,7 +147,7 @@
\fi
\ifhmode
\@bsphack
- \@nameuse{__tag_float_stoppar:} %<---end P
+ \@nameuse{__tag_float_stop_par:}% <---end P
\@floatpenalty -\@Mii
\else
\@floatpenalty-\@Miii
@@ -198,7 +198,7 @@
\hsize\columnwidth
\@parboxrestore
\@floatboxreset
- \MakeLinkTarget[tagstructure]{g__tag_struct_abs_int}%
+ \MakeLinkTarget*{floatstructure.\number\value{g__tag_struct_abs_int}}%
}%
\def\end@float{%
\@endfloatbox
@@ -214,7 +214,7 @@
\penalty\@floatpenalty
\else
\vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack
- \@nameuse{__tag_float_start_par:} %restart P safe here??
+ \@nameuse{__tag_float_start_par:}% restart P safe here??
\fi
\fi
}
@@ -234,7 +234,7 @@
\penalty\@floatpenalty
\else
\vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack
- \@nameuse{__tag_float_start_par:} %restart P safe here??
+ \@nameuse{__tag_float_start_par:}% restart P safe here??
\fi
\fi
\else
@@ -246,10 +246,17 @@
\let\@kernel@refstepcounter\refstepcounter %as long it is not in the kernel
\def\caption{%
\ifx\@captype\@undefined
- \@latex@error{\noexpand\caption outside float}\@ehd
+ \@latex@error{\noexpand\caption\c_space_tl outside~float}\@ehd
\expandafter\@gobble
\else
- \@kernel@refstepcounter\@captype
+ \tl_if_empty:NTF\@current@float@struct
+ {
+ \refstepcounter\@captype
+ }
+ {
+ \@kernel@refstepcounter\@captype
+ \xdef\@currentHref{floatstructure.\@current@float@struct}%
+ }
\expandafter\@firstofone
\fi
{\@dblarg{\@caption\@captype}}%
@@ -260,14 +267,18 @@
{
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
- \xdef\@currentHref{tagstructure.\@current@float@struct}%
\tag_stop:n{caption}
\sbox\@tempboxa{#1:~#2}%
\tag_start:n{caption}
\tagtool{para=false}
+ \tl_if_empty:NT \@current@float@struct
+ { \tl_set:Ne \@current@float@struct {\tag_get:n{struct_num}} }
\tag_struct_begin:n{tag=Caption,parent=\@current@float@struct}
- \seq_gpop_right:cN {g__tag_struct_kids_\@current@float@struct _seq}\l__tag_tmpa_tl
- \seq_gput_left:cV {g__tag_struct_kids_\@current@float@struct _seq}\l__tag_tmpa_tl
+ \tag_if_active:T
+ {
+ \seq_gpop_right:cN {g__tag_struct_kids_\@current@float@struct _seq}\l__tag_tmpa_tl
+ \seq_gput_left:cV {g__tag_struct_kids_\@current@float@struct _seq}\l__tag_tmpa_tl
+ }
\ifdim \wd\@tempboxa >\hsize
\tag_struct_begin:n{tag=Lbl}
\tag_mc_begin:n{}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-graphic.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-graphic.sty
index 19aed304798..2ea6e529d73 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-graphic.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-graphic.sty
@@ -32,12 +32,13 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-graphic.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabgraphicdate{2023-10-13}
-\def\ltlabgraphicversion{0.80b}
+%% File: latex-lab-graphic.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabgraphicdate{2024-03-13}
+\def\ltlabgraphicversion{0.80d}
\ProvidesExplPackage {latex-lab-testphase-graphic} {\ltlabgraphicdate} {\ltlabgraphicversion}
{Code related to the tagging of graphics}
\RequirePackage{l3opacity}
+\cs_generate_variant:Nn \__tag_prop_gput:Nnn {cne}
\cs_new_protected:Npn\__tag_graphic_savepos:n #1
{
\tex_savepos:D
@@ -88,7 +89,7 @@
\msg_new:nnn {tag}{alt-text-missing}
{
Alternative~text~for~graphic~is~missing.\\
- Using~'#1'~instead
+ Using~the~file~name~'#1'~instead.
}
\cs_new_protected:Npn\Gin@tag@struct@begin
{
@@ -190,8 +191,9 @@
\wd\z@\Gin@req@width
\Gin@tag@bbox@attribute %new
\box\z@
+ \fi
\Gin@tag@struct@end %new
- \fi}
+ }
}
\AddToHook{package/graphicx/after}[latex-lab]
{
@@ -559,7 +561,7 @@
{red}
{\int_use:N\g__tag_graphic_int}
}
- \__tag_prop_gput:cnx
+ \__tag_prop_gput:cne
{ g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop }
{ A }
{
@@ -626,7 +628,7 @@
{red}
{\int_use:N\g__tag_graphic_int}
}
- \__tag_prop_gput:cnx
+ \__tag_prop_gput:cne
{ g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop }
{ A }
{
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-marginpar.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-marginpar.sty
new file mode 100644
index 00000000000..e40ab0ca2a8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-marginpar.sty
@@ -0,0 +1,109 @@
+%%
+%% This is file `latex-lab-testphase-marginpar.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex-lab-marginpar.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2021-2023 LaTeX Project
+%%
+%% This file was generated from file(s) of the `LaTeX-lab Bundle'.
+%% ------------------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle'
+%% without such generated files.
+%%
+%% The newest sources can be found below
+%%
+%% https://github.com/latex3/latex2e/required/latex-lab
+%%
+%% where one can also log issues in case there are any.
+%%
+%%
+%% File: latex-lab-marginpar.dtx
+%%
+\def\ltlabmarginpardate{2024-02-12}
+\def\ltlabmarginparversion{0.85b}
+
+\ProvidesExplPackage {latex-lab-testphase-marginpar} {\ltlabmarginpardate} {\ltlabmarginparversion}
+ {Changes related to the tagging of the margin notes}
+\int_new:N \g__kernel_marginpar_int
+\socket_new:nn {tagsupport/marginpar/begin}{0}
+\socket_new:nn {tagsupport/marginpar/end}{0}
+\socket_new_plug:nnn {tagsupport/marginpar/begin}{default}
+ {
+ \if_mode_horizontal:
+ \tag_mc_end:
+ \tag_struct_begin:n{tag=Aside,parent=\g__tag_para_main_struct_tl}%
+ \else:
+ \tag_struct_begin:n{tag=Aside}%
+ \fi:
+ }
+\socket_new_plug:nnn {tagsupport/marginpar/end}{default}
+ {
+ \tag_struct_end:
+ \if_mode_horizontal: \tag_mc_begin:n{} \fi:
+ }
+\socket_assign_plug:nn {tagsupport/marginpar/begin}{default}
+\socket_assign_plug:nn {tagsupport/marginpar/end}{default}
+
+\long\def \@savemarbox #1#2{%
+ \UseTaggingSocket{marginpar/begin}
+ \global\setbox #1%
+ \color@vbox
+ \vtop{%
+ \hsize\marginparwidth
+ \@parboxrestore
+ \@marginparreset
+ #2\par
+ \@minipagefalse
+ \outer@nobreak
+ }%
+ \color@endbox
+ \UseTaggingSocket{marginpar/end}
+}
+\long\def\@ympar#1{%
+ \@savemarbox\@marbox{#1}%
+ \global\setbox\@currbox\copy\@marbox
+ \tag_stop:
+ \@xympar
+ \tag_start:}
+\long\def\@xmpar[#1]#2{%
+ \int_gincr:N\g__kernel_marginpar_int
+ \property_if_recorded:eTF { tag_marginpar-opt-\int_use:N\g__kernel_marginpar_int }
+ {
+ \@savemarbox\@marbox {#1
+ \property_record:ee
+ { tag_marginpar-opt-\int_use:N\g__kernel_marginpar_int }{page}
+ }%
+ \tag_stop:
+ \@savemarbox\@currbox{#2}%
+ \tag_start:
+ }
+ {
+ \@savemarbox\@currbox{#2}%
+ \tag_stop:
+ \@savemarbox\@marbox{#1
+ \property_record:ee
+ { tag_marginpar-opt-\int_use:N\g__kernel_marginpar_int }{page}}
+ \tag_start:
+ }
+ \tag_stop:
+ \@xympar
+ \tag_start:
+ }
+\endinput
+%%
+%% End of file `latex-lab-testphase-marginpar.sty'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-minipage.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-minipage.sty
index 1f8c5eb5b42..3b35a7beb38 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-minipage.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-minipage.sty
@@ -32,7 +32,8 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-minipage.dtx (C) Copyright 2023 LaTeX Project
+%% File: latex-lab-minipage.dtx
+%%
\def\ltlabminipagedate{2023-10-30}
\def\ltlabminipageversion{0.81c}
\ProvidesExplPackage {latex-lab-testphase-minipage}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-new-or-1.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-new-or-1.sty
index 167c5d6130e..38bc8993446 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-new-or-1.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-new-or-1.sty
@@ -32,7 +32,7 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-new-or-1.dtx (C) Copyright 2020-2023 Frank Mittelbach
+%% File: latex-lab-new-or-1.dtx (C) Copyright 2020-2024 Frank Mittelbach
\def\ltlabneworIdate{2023-07-20}
\def\ltlabneworIversion{0.85a}
\ProvidesPackage{latex-lab-testphase-new-or-1}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-sec.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-sec.sty
index 9e98894969c..6fee3cc5a94 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-sec.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-sec.sty
@@ -32,9 +32,9 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-sec.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabsecdate{2023-10-16}
-\def\ltlabsecversion{0.84b}
+%% File: latex-lab-sec.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabsecdate{2024-02-12}
+\def\ltlabsecversion{0.84c}
\ProvidesExplPackage {latex-lab-testphase-sec} {\ltlabsecdate} {\ltlabsecversion}
{Code related to the tagging of sectioning commands}
\RequirePackage{latex-lab-kernel-changes}
@@ -50,7 +50,7 @@
tag= {\int_compare:nNnTF {#1}={-1}{Part}{Sect}}
,#2
}
- \seq_gpush:Nx \g__tag_sec_stack_seq {{\g__tag_struct_tag_tl}{\int_eval:n{#1}}}
+ \seq_gpush:Ne \g__tag_sec_stack_seq {{\g__tag_struct_tag_tl}{\int_eval:n{#1}}}
}
\msg_new:nnn { tag } {wrong-sect-nesting}
{
@@ -74,7 +74,7 @@
\__tag_sec_end:n {#1}
}
{
- \msg_warning:nnxx {tag}{wrong-sect-nesting}
+ \msg_warning:nnee {tag}{wrong-sect-nesting}
{ \exp_last_unbraced:NV\use_i:nn \l__tag_tmpa_tl }
{ \exp_last_unbraced:NV\use_i:nn \l__tag_tmpb_tl }
}
@@ -292,6 +292,7 @@
\cs_new_protected:Npn \@kernel@tag@hangfrom #1
{
\tagstructbegin{tag=\l__tag_para_tag_tl}
+ \cs_if_exist_use:N \__tag_gincr_para_begin_int:
\tagstructbegin{tag=Lbl}
\setbox\@tempboxa
\hbox
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-table.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-table.sty
index e6c89d16715..4af648e77c4 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-table.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-table.sty
@@ -32,37 +32,29 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-table.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabtbldate{2023-10-30}
-\def\ltlabtblversion{0.85d}
+%% File: latex-lab-table.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabtbldate{2024-05-25}
+\def\ltlabtblversion{0.85i}
\ProvidesExplPackage {latex-lab-testphase-table} {\ltlabtbldate} {\ltlabtblversion}
{Code related to the tagging of tables}
\RequirePackage{array}
\tl_new:N \l__tbl_celltag_tl
\tl_set:Nn \l__tbl_celltag_tl {TD}
+\tl_new:N \l__tbl_pcelltag_tl
+\tl_set:Nn \l__tbl_pcelltag_tl {TD}
\tl_new:N \l__tbl_rowtag_tl
\tl_set:Nn \l__tbl_rowtag_tl {TR}
+\tl_new:N \l__tbl_tabletag_tl
+\tl_set:Nn \l__tbl_tabletag_tl {Table}
\tl_new:N \l__tbl_cellattribute_tl
\tl_set:Nn \l__tbl_cellattribute_tl {}
\tl_new:N \l__tbl_rowattribute_tl
\tl_set:Nn \l__tbl_rowattribute_tl {}
-\int_new:N \g__tbl_missing_cells_int
\clist_new:N \l__tbl_tmpa_clist
-\seq_new:N \l__tbl_tmpa_seq
\tl_new:N \l__tbl_tmpa_tl
-\NewSocket{tagsupport/tblcell/begin}{0}
-\NewSocket{tagsupport/tblcell/end}{0}
-\NewSocket{tagsupport/tblrow/begin}{0}
-\NewSocket{tagsupport/tblrow/end}{0}
-\NewSocket{tagsupport/tbl/init}{0}
-\NewSocket{tagsupport/tbl/finalize}{0}
-\NewSocket{tagsupport/tbl/finalize/longtable}{0}
-\NewSocket{tagsupport/tblhmode/begin}{0}
-\NewSocket{tagsupport/tblhmode/end}{0}
-\NewSocket{tagsupport/tblvmode/begin}{0}
-\NewSocket{tagsupport/tblvmode/end}{0}
-\NewSocketPlug{tagsupport/tblcell/begin}{TD}
+\NewSocketPlug{tagsupport/tbl/cell/begin}{TD}
{
+ \__tbl_show_curr_cell_data:
\tag_struct_begin:n
{
tag =\l__tbl_celltag_tl,
@@ -75,16 +67,17 @@
}
\tag_mc_begin:n{}
}
-\NewSocketPlug{tagsupport/tblcell/end}{TD}
+\NewSocketPlug{tagsupport/tbl/cell/end}{TD}
{
\tag_mc_end:
\tag_struct_end:
}
-\NewSocketPlug{tagsupport/tblcell/begin}{TDpbox}
+\NewSocketPlug{tagsupport/tbl/pcell/begin}{TDpbox}
{
+ \__tbl_show_curr_cell_data:
\tag_struct_begin:n
{
- tag =\l__tbl_celltag_tl,
+ tag =\l__tbl_pcelltag_tl,
attribute-class =\l__tbl_cellattribute_tl
}
\seq_gput_right:Ne \g__tbl_struct_cur_seq { \tag_get:n {struct_num} }
@@ -95,11 +88,11 @@
\tagpdfparaOn
\tl_set:Nn \l__tag_para_main_tag_tl {Div}
}
-\NewSocketPlug{tagsupport/tblcell/end}{TDpbox}
+\NewSocketPlug{tagsupport/tbl/pcell/end}{TDpbox}
{
\tag_struct_end:
}
-\NewSocketPlug{tagsupport/tblrow/begin}{TR}
+\NewSocketPlug{tagsupport/tbl/row/begin}{TR}
{
\seq_gclear:N \g__tbl_struct_cur_seq
\tag_struct_begin:n
@@ -109,36 +102,53 @@
}
\seq_gput_right:Ne \g__tbl_struct_rows_seq { \tag_get:n {struct_num} }
}
-\NewSocketPlug{tagsupport/tblrow/end}{TR}
+\NewSocketPlug{tagsupport/tbl/row/end}{TR}
{
- \__tag_tbl_add_missing_cells:n { \g__tbl_missing_cells_int }
+ \tag_if_active:T
+ {
+ \__tbl_add_missing_cells:
\seq_gput_right:Ne \g__tbl_struct_cells_seq
{
\seq_use:Nn \g__tbl_struct_cur_seq {,}
}
- \int_compare:nNnTF { \g__tbl_row_int } = { \seq_count:N\g__tbl_struct_cells_seq }
+ \int_compare:nNnTF { \g__tbl_row_int } =
+ { \seq_count:N \g__tbl_struct_cells_seq }
{
- \typeout
+ \__tbl_trace:n
{==>~
stucture~stored~for~row~\int_use:N\g__tbl_row_int :~
\seq_use:Nn \g__tbl_struct_cur_seq {,}
}
}
- { \ERROR } % should not happen ...
+ { \ERRORtbl/row } % should not happen ...
\tag_struct_end:
}
+ }
\NewSocketPlug{tagsupport/tbl/init}{Table}
{
\tag_if_active:T
{
\bool_set_false:N \l__tag_para_bool
+ \__tbl_init_struct_data:
}
}
\NewSocketPlug{tagsupport/tbl/finalize}{Table}
{
\__tbl_set_header_rows:
+ \__tbl_restore_struct_data:
}
-\NewSocketPlug{tagsupport/tbl/finalize/longtable}{Table}
+\NewSocketPlug{tagsupport/tbl/longtable/init}{Table}
+ {
+ \seq_gclear:N\g__tbl_struct_rows_seq
+ \seq_gclear:N\g__tbl_struct_cells_seq
+ \seq_gclear:N\g__tbl_struct_cur_seq
+ \seq_gclear:N\g__tbl_LT@firsthead_rows_seq
+ \seq_gclear:N\g__tbl_LT@head_rows_seq
+ \seq_gclear:N\g__tbl_LT@lastfoot_rows_seq
+ \seq_gclear:N\g__tbl_LT@foot_rows_seq
+ }
+
+\NewSocketPlug{tagsupport/tbl/longtable/finalize}{Table}
{
\bool_lazy_and:nnTF
{ \seq_if_empty_p:N \g__tbl_LT@head_rows_seq }
@@ -180,7 +190,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l__tbl_tmpa_tl _prop }
{
- \__tbl_struct_prop_gput:Vnn \l__tbl_tmpa_tl {S}{/Artifact}
+ \exp_args:No \__tag_struct_prop_gput:nnn {\l__tbl_tmpa_tl} {S}{/Artifact}
}
}
}
@@ -251,24 +261,35 @@
\prop_if_exist:cT
{ g__tag_struct_ \l__tbl_tmpa_tl _prop }
{
- \__tbl_struct_prop_gput:Vnn \l__tbl_tmpa_tl {S}{/Artifact}
+ \exp_args:No\__tag_struct_prop_gput:nnn {\l__tbl_tmpa_tl} {S}{/Artifact}
}
}
}
}
}
}
-\NewSocketPlug{tagsupport/tblhmode/begin}{Table}
+\NewSocketPlug{tagsupport/tbl/longtable/head}{Table}
+ {
+ \tagmcbegin{artifact}
+ \tag_mc_reset_box:N\LT@head
+ \tagmcend
+ }
+\NewSocketPlug{tagsupport/tbl/longtable/foot}{Table}
+ {
+ \tagmcbegin{artifact}
+ \tag_mc_reset_box:N \LT@foot
+ \tagmcend
+ }
+\NewSocketPlug{tagsupport/tbl/hmode/begin}{Table}
{
- \mode_leave_vertical:
\tag_mc_end_push:
\bool_lazy_and:nnT
{ \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool }
{ \tag_struct_end:n { text } }
- \tag_struct_begin:n {tag=Table}
+ \tag_struct_begin:n {tag=\l__tbl_tabletag_tl}
\tl_gset:Ne \g__tbl_struct_table_tl { \tag_get:n {struct_num} }
}
-\NewSocketPlug{tagsupport/tblhmode/end}{Table}
+\NewSocketPlug{tagsupport/tbl/hmode/end}{Table}
{
\tag_struct_end:
\bool_lazy_and:nnT
@@ -276,105 +297,113 @@
{ \tag_struct_begin:n { tag=\l__tag_para_tag_tl } }
\tag_mc_begin_pop:n{}
}
-\NewSocketPlug{tagsupport/tblvmode/begin}{Table}
+\NewSocketPlug{tagsupport/tbl/vmode/begin}{Table}
{
- \tag_struct_begin:n {tag=Table}
+ \tag_struct_begin:n {tag=\l__tbl_tabletag_tl}
\tl_gset:Ne \g__tbl_struct_table_tl { \tag_get:n {struct_num} }
}
-\NewSocketPlug{tagsupport/tblvmode/end}{Table}
+\NewSocketPlug{tagsupport/tbl/vmode/end}{Table}
{
\tag_struct_end:
\par
}
-\AddToHook{env/tabular/before} {\UseSocket{tagsupport/tblhmode/begin}}
-\AddToHook{env/tabular/after} {\UseSocket{tagsupport/tblhmode/end}}
-\AddToHook{env/tabular*/before} {\UseSocket{tagsupport/tblhmode/begin}}
-\AddToHook{env/tabular*/after} {\UseSocket{tagsupport/tblhmode/end}}
-\AddToHook{env/tabularx/before} {\UseSocket{tagsupport/tblhmode/begin}}
-\AddToHook{env/tabularx/after} {\UseSocket{tagsupport/tblhmode/end}}
-\AddToHook{env/longtable/before}{\UseSocket{tagsupport/tblvmode/begin}}
-\AddToHook{env/longtable/after} {\UseSocket{tagsupport/tblvmode/end}}
-\AddToHook{env/array/begin} {\__tag_tbl_disable:}
-\tag_if_active:T
- { \cs_generate_variant:Nn \__tag_attr_new_entry:nn {ee} }
-\cs_new_protected:Npn \__tbl_set_colspan:n #1
+\NewSocketPlug{tagsupport/tbl/colspan}{code}
{
- \tag_if_active:T
- {
- \int_compare:nNnT {#1}>{1}
- {
- \prop_get:NeNF \g__tag_attr_entries_prop
- {colspan-\int_eval:n{#1}}
- \l__tbl_tmpa_tl
- {
- \__tag_attr_new_entry:ee
- {colspan-\int_eval:n{#1}}
- {/O /Table /ColSpan~\int_eval:n{#1}}
- }
- \tl_set:Ne \l__tbl_cellattribute_tl
+ \int_compare:nNnT {#1}>{1}
+ {
+ \prop_get:NeNF \g__tag_attr_entries_prop
+ {colspan-\int_eval:n{#1}}
+ \l__tbl_tmpa_tl
+ {
+ \__tag_attr_new_entry:ee
{colspan-\int_eval:n{#1}}
- }
- }
+ {/O /Table /ColSpan~\int_eval:n{#1}}
+ }
+ \tl_set:Ne \l__tbl_cellattribute_tl
+ {colspan-\int_eval:n{#1}}
+ }
}
+\tag_if_active:T
+ { \cs_generate_variant:Nn \__tag_attr_new_entry:nn {ee} }
+
+\AddToHook{cmd/array/before}{\__tag_tbl_disable:}
\cs_new_protected:Npn \__tag_tbl_disable:
{
- \AssignSocketPlug{tagsupport/tblcell/begin}{noop}
- \AssignSocketPlug{tagsupport/tblcell/end}{noop}
- \AssignSocketPlug{tagsupport/tblrow/begin}{noop}
- \AssignSocketPlug{tagsupport/tblrow/end}{noop}
+ \AssignSocketPlug{tagsupport/tbl/cell/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/cell/end}{noop}
+ \AssignSocketPlug{tagsupport/tbl/pcell/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/pcell/end}{noop}
+ \AssignSocketPlug{tagsupport/tbl/row/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/row/end}{noop}
\AssignSocketPlug{tagsupport/tbl/init}{noop}
\AssignSocketPlug{tagsupport/tbl/finalize}{noop}
- \AssignSocketPlug{tagsupport/tbl/finalize/longtable}{noop}
- \AssignSocketPlug{tagsupport/tblhmode/begin}{noop}
- \AssignSocketPlug{tagsupport/tblhmode/end}{noop}
- \AssignSocketPlug{tagsupport/tblvmode/begin}{noop}
- \AssignSocketPlug{tagsupport/tblvmode/end}{noop}
+ \AssignSocketPlug{tagsupport/tbl/longtable/init}{noop}
+ \AssignSocketPlug{tagsupport/tbl/longtable/head}{noop}
+ \AssignSocketPlug{tagsupport/tbl/longtable/foot}{noop}
+ \AssignSocketPlug{tagsupport/tbl/longtable/finalize}{noop}
+ \AssignSocketPlug{tagsupport/tbl/hmode/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/hmode/end}{noop}
+ \AssignSocketPlug{tagsupport/tbl/vmode/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/vmode/end}{noop}
+ \AssignSocketPlug{tagsupport/tbl/colspan}{noop}
}
\cs_new_protected:Npn \__tag_tbl_enable:
{
- \AssignSocketPlug{tagsupport/tblcell/begin}{TD}
- \AssignSocketPlug{tagsupport/tblcell/end}{TD}
- \AssignSocketPlug{tagsupport/tblrow/begin}{TR}
- \AssignSocketPlug{tagsupport/tblrow/end}{TR}
+ \AssignSocketPlug{tagsupport/tbl/cell/begin}{TD}
+ \AssignSocketPlug{tagsupport/tbl/cell/end}{TD}
+ \AssignSocketPlug{tagsupport/tbl/pcell/begin}{TDpbox}
+ \AssignSocketPlug{tagsupport/tbl/pcell/end}{TDpbox}
+ \AssignSocketPlug{tagsupport/tbl/row/begin}{TR}
+ \AssignSocketPlug{tagsupport/tbl/row/end}{TR}
\AssignSocketPlug{tagsupport/tbl/init}{Table}
\AssignSocketPlug{tagsupport/tbl/finalize}{Table}
- \AssignSocketPlug{tagsupport/tbl/finalize/longtable}{Table}
- \AssignSocketPlug{tagsupport/tblhmode/begin}{Table}
- \AssignSocketPlug{tagsupport/tblhmode/end}{Table}
- \AssignSocketPlug{tagsupport/tblvmode/begin}{Table}
- \AssignSocketPlug{tagsupport/tblvmode/end}{Table}
+ \AssignSocketPlug{tagsupport/tbl/longtable/head}{Table}
+ \AssignSocketPlug{tagsupport/tbl/longtable/foot}{Table}
+ \AssignSocketPlug{tagsupport/tbl/longtable/init}{Table}
+ \AssignSocketPlug{tagsupport/tbl/longtable/finalize}{Table}
+ \AssignSocketPlug{tagsupport/tbl/hmode/begin}{Table}
+ \AssignSocketPlug{tagsupport/tbl/hmode/end}{Table}
+ \AssignSocketPlug{tagsupport/tbl/vmode/begin}{Table}
+ \AssignSocketPlug{tagsupport/tbl/vmode/end}{Table}
+ \AssignSocketPlug{tagsupport/tbl/colspan}{code}
}
\keys_define:nn { __tag / setup }
{
- table-tagging .choices:nn = { true, on }
+ table/tagging .choices:nn = { true, on }
{ \__tag_tbl_enable: },
- table-tagging .choices:nn = { false, off }
+ table/tagging .choices:nn = { false, off }
{ \__tag_tbl_disable: },
- table-tagging .default:n = true,
- table-tagging .initial:n = true
+ table/tagging .choice:,
+ table/tagging / presentation .code:n =
+ {
+ \__tag_tbl_enable:
+ \tl_set:Nn\l__tbl_rowtag_tl {NonStruct}
+ \tl_set:Nn\l__tbl_pcelltag_tl {NonStruct}
+ \tl_set:Nn\l__tbl_celltag_tl {text}
+ \tl_set:Nn\l__tbl_tabletag_tl {Div}
+ \clist_clear:N \l__tbl_header_rows_clist
+ },
+ table/tagging .default:n = true,
+ table/tagging .initial:n = true
+ }
+\keys_define:nn { __tag / setup }
+ {
+ table-tagging .meta:n = {table/tagging={#1}}
}
-\AddToHook{begindocument}
- {
- \cs_if_exist:NT \@kernel@before@head
- {
- \tl_put_right:Nn \@kernel@before@head {\__tag_tbl_disable:}
- \tl_put_right:Nn \@kernel@before@foot {\__tag_tbl_disable:}
- }
- }
\AddToHook{begindocument}
{
\tag_if_active:T
{
\tagpdfsetup
{
- newattribute =
+ role/new-attribute =
{TH-col}{/O /Table /Scope /Column},
- newattribute =
+ role/new-attribute =
{TH-row}{/O /Table /Scope /Row},
- newattribute =
+ role/new-attribute =
{TH-both}{/O /Table /Scope /Both},
}
\seq_gput_left:Ne\g__tag_attr_class_used_seq
@@ -387,15 +416,6 @@
}
\clist_new:N \l__tbl_header_rows_clist
-\cs_if_free:NTF \__tag_struct_prop_gput:nnn
- {
- \cs_new_protected:Npn \__tbl_struct_prop_gput:nnn #1#2#3
- { \prop_gput:cnn { g__tag_struct_#1_prop }{#2}{#3} }
- }
- { \cs_new_protected:Npn \__tbl_struct_prop_gput:nnn #1#2#3
- { \__tag_struct_prop_gput:nnn {#1}{#2}{#3} }
- }
-\cs_generate_variant:Nn \__tbl_struct_prop_gput:nnn {nne,Vnn}
\cs_new_protected:Npn \__tbl_set_header_rows:
{
\clist_map_inline:Nn \l__tbl_header_rows_clist
@@ -408,196 +428,47 @@
{
\prop_if_exist:cT { g__tag_struct_####1_prop }
{
- \__tbl_struct_prop_gput:nnn{ ####1 }{S}{/TH}
+ \__tag_struct_prop_gput:nnn{ ####1 }{S}{/TH}
\prop_get:cnNTF
{ g__tag_struct_####1_prop }
{ C }
\l__tbl_tmpa_tl
- {\__tbl_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l__tbl_tmpa_tl]} }
- {\__tbl_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}}
+ {\__tag_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l__tbl_tmpa_tl]} }
+ {\__tag_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}}
}
}
}
}
\keys_define:nn { __tag / setup }
{
- table-header-rows .clist_set:N = \l__tbl_header_rows_clist
+ table/header-rows .clist_set:N = \l__tbl_header_rows_clist,
+ table-header-rows .meta:n = {table/header-rows={#1}}
}
\cs_new_protected:Npn \__tbl_show_curr_cell_data: {
- \typeout { ==>~ current~cell~data:~
- \int_use:N \g__tbl_row_int ,
- \int_use:N \g__tbl_col_int ,
- \g__tbl_span_tl
- }
-}
-\def\insert@column{%
- \__tbl_show_curr_cell_data:
- \UseSocket{tagsupport/tblcell/begin}%
- \the@toks \the \@tempcnta
- \ignorespaces \@sharp \unskip
- \the@toks \the \count@ \relax
- \UseSocket{tagsupport/tblcell/end}%
-}
-\def\@classz{\@classx
- \@tempcnta \count@
- \prepnext@tok
- \@addtopreamble{\ifcase \@chnum
- \hfil
- \hskip1sp%
- \d@llarbegin
- \insert@column
- \d@llarend \do@row@strut \hfil \or
- \hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \hfil \or
- \hfil\hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \or
- \setbox\ar@mcellbox\vbox
- \@startpbox{\@nextchar}
- \AssignSocketPlug{tagsupport/tblcell/begin}{TDpbox}
- \AssignSocketPlug{tagsupport/tblcell/end}{TDpbox}
- \insert@column \@endpbox
- \ar@align@mcell
- \do@row@strut \or
- \vtop \@startpbox{\@nextchar}
- \AssignSocketPlug{tagsupport/tblcell/begin}{TDpbox}
- \AssignSocketPlug{tagsupport/tblcell/end}{TDpbox}
- \insert@column \@endpbox\do@row@strut \or
- \vbox \@startpbox{\@nextchar}
- \AssignSocketPlug{tagsupport/tblcell/begin}{TDpbox}
- \AssignSocketPlug{tagsupport/tblcell/end}{TDpbox}
- \insert@column \@endpbox\do@row@strut
- \fi}\prepnext@tok}
-\def\@array[#1]#2{%
- \@tempdima \ht \strutbox
- \advance \@tempdima by\extrarowheight
- \setbox \@arstrutbox \hbox{\vrule
- \@height \arraystretch \@tempdima
- \@depth \arraystretch \dp \strutbox
- \@width \z@}%
- \tl_set_eq:NN \l__tbl_saved_table_cols_tl \g__tbl_table_cols_tl
- \begingroup
- \@mkpream{#2}
- \__tbl_determine_table_cols:
- \xdef\@preamble{%
- \noexpand
- \ar@ialign
- \@halignto
- \bgroup \@arstrut
- \UseSocket{tagsupport/tblrow/begin}%
- \__tbl_init_cell_data:
- \@preamble
- \tabskip \z@ \cr}%
- \endgroup
- \@arrayleft
- \UseSocket{tagsupport/tbl/init}
- \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
- \bgroup
- \let \@sharp ##\let \protect \relax
- \lineskip \z@
- \baselineskip \z@
- \m@th
- \let\\\@arraycr \let\tabularnewline\\\let\par\@empty
- \@preamble}
-\let\@@array\@array
-\cs_new_protected:Npn \__tbl_init_cell_data: {
- \int_gset:Nn \g__tbl_col_int {1}
- \tl_gset:Nn \g__tbl_span_tl {1}
-}
-\cs_new_protected:Npn \__tbl_update_cell_data: {
- \int_gadd:Nn \g__tbl_col_int { \g__tbl_span_tl }
- \tl_gset:Nn \g__tbl_span_tl {1}
-}
-\cs_new:Npn \__tbl_determine_table_cols: {
- \seq_set_split:NnV\l__tbl_tmpa_seq {&}\@preamble
- \tl_gset:Ne \g__tbl_table_cols_tl { \seq_count:N \l__tbl_tmpa_seq }
- \typeout{ ==>~ Table~ has~ \g__tbl_table_cols_tl \space columns }
-}
-\protected\def\@arraycr{
- \relax
- \__tbl_store_missing_cells:n{@arraycr}
- %
- \iffalse{\fi\ifnum 0=`}\fi
- \@ifstar \@xarraycr \@xarraycr}
-\cs_new:Npn \__tbl_store_missing_cells:n #1 {
- \int_compare:nNnT \g__tbl_col_int > 0
- {
- \int_gset:Nn \g__tbl_missing_cells_int
- {
- \g__tbl_table_cols_tl
- - \g__tbl_col_int
- - \g__tbl_span_tl
- + 1
- }
- \int_compare:nNnT \g__tbl_missing_cells_int < 0 \ERROR % should not happen
- \typeout{==>~
- (#1)~
- This~ row~ needs~
- \int_use:N \g__tbl_missing_cells_int \space
- additional~ cell(s)
- }
- }
+ \__tbl_trace:n { ==>~ current~cell~data:~
+ \int_use:N \g__tbl_row_int ,
+ \int_use:N \g__tbl_col_int ,
+ \g__tbl_span_tl
+ }
}
-\cs_new:Npn \__tag_tbl_add_missing_cells:n #1
+\NewSocket{tbl/celldata/missingcount}{1}
+\NewSocketPlug{tbl/celldata/missingcount}{code}{\tbl_count_missing_cells:n{#1}}
+\AssignSocketPlug{tbl/celldata/missingcount}{code}
+
+\cs_new:Npn \__tbl_add_missing_cells:
{
- \int_compare:nNnT {#1}>{0}
- {
- \typeout{==>~
- ~Inserting~\int_eval:n{#1}~additional~cell(s)~into~previous~row:}
- }
- \int_step_inline:nn { #1 }
+ \int_compare:nNnT \g__tbl_missing_cells_int > 0
{
- \UseSocket{tagsupport/tblcell/begin}
- \UseSocket{tagsupport/tblcell/end}
+ \__tbl_trace:n {==>~
+ ~Inserting~\int_use:N \g__tbl_missing_cells_int \space
+ additional~cell(s)~into~previous~row:}
+ \int_step_inline:nn { \g__tbl_missing_cells_int }
+ {
+ \UseTaggingSocket{tbl/cell/begin}
+ \UseTaggingSocket{tbl/cell/end}
+ }
}
}
-\def\endarray{
- \__tbl_store_missing_cells:n{endarray}
- \crcr \egroup
- \UseSocket{tagsupport/tbl/finalize}
- \int_gset:Nn \g__tbl_col_int { \l__tbl_saved_col_tl }
- \int_gset:Nn \g__tbl_row_int { \l__tbl_saved_row_tl }
- \tl_gset_eq:NN \g__tbl_span_tl \l__tbl_saved_span_tl
- \tl_gset_eq:NN \g__tbl_table_cols_tl \l__tbl_saved_table_cols_tl
- \tl_gset_eq:NN \g__tbl_struct_table_tl \l__tbl_saved_struct_table_tl
- \seq_gset_eq:NN \g__tbl_struct_rows_seq \l__tbl_saved_struct_rows_seq
- \seq_gset_eq:NN \g__tbl_struct_cells_seq\l__tbl_saved_struct_cells_seq
- \seq_gset_eq:NN \g__tbl_struct_cur_seq \l__tbl_saved_struct_cur_seq
- \typeout{==>~ restored~cell~data:~
- \int_use:N \g__tbl_row_int,
- \int_use:N \g__tbl_col_int,
- \l__tbl_saved_span_tl \space
- (
- \int_compare:nNnTF \g__tbl_table_cols_tl = 0
- { outer~ level }
- { max:~ \g__tbl_table_cols_tl }
- )
- }
- \egroup
- \@arrayright \gdef\@preamble{}%
-}
-\def\@addamp {
- \if@firstamp
- \@firstampfalse
- \else
- \edef\@preamble{\@preamble &
- \__tbl_update_cell_data:
- }
- \fi
-}
-\int_new:N \g__tbl_col_int
-\int_new:N \g__tbl_row_int
-\tl_new:N \g__tbl_span_tl
-\tl_new:N \g__tbl_table_cols_tl
-
-\tl_gset:Nn \g__tbl_span_tl {1}
-\tl_gset:Nn \g__tbl_table_cols_tl {0} % indicates outer level
-\tl_new:N \l__tbl_saved_col_tl
-\tl_new:N \l__tbl_saved_row_tl
-\tl_new:N \l__tbl_saved_span_tl
-\tl_new:N \l__tbl_saved_table_cols_tl
-
-\tl_set:Nn \l__tbl_saved_col_tl{0}
-\tl_set:Nn \l__tbl_saved_row_tl{0}
-\tl_set:Nn \l__tbl_saved_span_tl{1}
-\tl_set:Nn \l__tbl_saved_table_cols_tl{0} % indicates outer level
\tl_new:N \g__tbl_struct_table_tl
\tl_new:N \l__tbl_saved_struct_table_tl
\seq_new:N \g__tbl_struct_rows_seq
@@ -606,300 +477,24 @@
\seq_new:N \l__tbl_saved_struct_cells_seq
\seq_new:N \g__tbl_struct_cur_seq
\seq_new:N \l__tbl_saved_struct_cur_seq
-\def\ar@ialign{%
- \tl_set:No \l__tbl_saved_col_tl {\int_use:N \g__tbl_col_int }
- \tl_set:No \l__tbl_saved_row_tl {\int_use:N \g__tbl_row_int }
- \tl_set_eq:NN \l__tbl_saved_span_tl \g__tbl_span_tl
+
+\cs_new_protected:Npn \__tbl_init_struct_data: {
\tl_set_eq:NN \l__tbl_saved_struct_table_tl \g__tbl_struct_table_tl
\seq_set_eq:NN \l__tbl_saved_struct_rows_seq \g__tbl_struct_rows_seq
\seq_set_eq:NN \l__tbl_saved_struct_cells_seq \g__tbl_struct_cells_seq
\seq_set_eq:NN \l__tbl_saved_struct_cur_seq \g__tbl_struct_cur_seq
- \typeout{==>~ saved~cell~data:~
- \l__tbl_saved_row_tl,
- \l__tbl_saved_col_tl,
- \l__tbl_saved_span_tl \space
- (
- \int_compare:nNnTF \l__tbl_saved_table_cols_tl = 0
- { outer~ level }
- { max:~ \l__tbl_saved_table_cols_tl }
- )
- }
- \int_gzero:N \g__tbl_row_int
- \int_gzero:N \g__tbl_col_int
- \tl_gset:Nn \g__tbl_span_tl {1}
\seq_gclear:N\g__tbl_struct_rows_seq
\seq_gclear:N\g__tbl_struct_cells_seq
\seq_gclear:N\g__tbl_struct_cur_seq
- \everycr{%
- \noalign{%
- \int_compare:nNnT \g__tbl_col_int > 0
- { \UseSocket{tagsupport/tblrow/end} }
- \int_gincr:N \g__tbl_row_int % this row about to start
- \int_gzero:N \g__tbl_col_int % we are before first col
- }%
- }%
- \tabskip\z@skip\halign}
-\long\def\multicolumn#1#2#3{%
- % alternative: determine first col with vmode test ...
- % \ifvmode
- % \multispan{#1}\typeout{A==> vmode}%
- % \else
- % \multispan{#1}\typeout{A==> not vmode}
- % \fi
- % but this makes the \crcr handling really complicated which would
- % then need to become something like
- % \ifvmode \expandafter \@gobble
- % \else \expandafter \@iden \fi {\cr\noalign{do something}}%
- % so not used.
- % Instead:
- \multispan{#1}\begingroup
- \int_compare:nNnTF \g__tbl_col_int = 0
- {
- \UseSocket{tagsupport/tblrow/begin}
- \int_gset:Nn \g__tbl_col_int {1}
- }
- {
- \int_gadd:Nn \g__tbl_col_int { \g__tbl_span_tl }
- }
- \tl_gset:Nn \g__tbl_span_tl {#1}
- \def\@addamp{\if@firstamp\@firstampfalse \else
- \@preamerr 5\fi}%
- \@mkpream{#2}\@addtopreamble\@empty
- \endgroup
- \__tbl_set_colspan:n {#1}
- \def\@sharp{#3}%
- \@arstrut \@preamble
- \null
- \ignorespaces}
-\let\@kernel@refstepcounter\refstepcounter
-\def\hyper@nopatch@longtable{}
-\def\__tbl_patch_LT@array[#1]#2{%
- \UseSocket{tagsupport/tbl/init}%
- \@kernel@refstepcounter{table}\stepcounter{LT@tables}%
- \tl_gset:Ne \@currentHref {table.\cs_if_exist_use:N\theHtable}
- \int_gzero:N \g__tbl_row_int
- \seq_gclear:N\g__tbl_struct_rows_seq
- \seq_gclear:N\g__tbl_struct_cells_seq
- \seq_gclear:N\g__tbl_struct_cur_seq
- \seq_gclear:N\g__tbl_LT@firsthead_rows_seq
- \seq_gclear:N\g__tbl_LT@head_rows_seq
- \seq_gclear:N\g__tbl_LT@lastfoot_rows_seq
- \seq_gclear:N\g__tbl_LT@foot_rows_seq
- \if l#1%
- \LTleft\z@ \LTright\fill
- \else\if r#1%
- \LTleft\fill \LTright\z@
- \else\if c#1%
- \LTleft\fill \LTright\fill
- \fi\fi\fi
- \let\LT@mcol\multicolumn
- \let\LT@@tabarray\@tabarray
- \let\LT@@hl\hline
- \def\@tabarray{%
- \let\hline\LT@@hl
- \LT@@tabarray}%
- \let\\\LT@tabularcr
- \let\tabularnewline\\%
- \def\newpage{\noalign{\break}}%
- \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
- \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
- \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
- \@tempdima\ht\strutbox
- \let\@endpbox\LT@endpbox
- \ifx\extrarowheight\@undefined
- \let\@acol\@tabacol
- \let\@classz\@tabclassz \let\@classiv\@tabclassiv
- \def\@startpbox{\vtop\LT@startpbox}%
- \let\@@startpbox\@startpbox
- \let\@@endpbox\@endpbox
- \let\LT@LL@FM@cr\@tabularcr
- \else
- \advance\@tempdima\extrarowheight
- \col@sep\tabcolsep
- \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
- \fi
- \setbox\@arstrutbox\hbox{\vrule
- \@height \arraystretch \@tempdima
- \@depth \arraystretch \dp \strutbox
- \@width \z@}%
- \let\@sharp##\let\protect\relax
- \begingroup
- \@mkpream{#2}%
- \__tbl_determine_table_cols:
- \xdef\LT@bchunk{%
- \int_gzero:N \g__tbl_col_int
- \global\advance\c@LT@chunks\@ne
- \global\LT@rows\z@\setbox\z@\vbox\bgroup
- \LT@setprevdepth
- \tabskip\LTleft \noexpand\halign to\hsize\bgroup
- \tabskip\z@ \@arstrut
- \UseSocket{tagsupport/tblrow/begin}%
- \__tbl_init_cell_data:
- \@preamble \tabskip\LTright \cr}%
- \endgroup
- \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
- \LT@make@row
- \m@th\let\par\@empty
- \everycr{%
- \noalign{%
- \typeout{--longtable-->~chunk~row:~ \the\LT@rows \space
- row:~ \the\g__tbl_row_int \space
- column:~ \the\g__tbl_col_int
- }
- \int_compare:nNnT \g__tbl_col_int > 0
- {
- \UseSocket{tagsupport/tblrow/end}
- }
- \int_gzero:N \g__tbl_col_int % before first col
- \int_compare:nNnT \LT@rows < \LTchunksize
- { \int_gincr:N \g__tbl_row_int } % this row about to start
- }%
- }%
- \lineskip\z@\baselineskip\z@
- \LT@bchunk}
-\def\__tbl_patch_endlongtable{%
- \__tbl_store_missing_cells:n{endlongtable}
- \crcr
- \noalign{%
- \UseSocket{tagsupport/tbl/finalize/longtable}
- \int_gzero:N \g__tbl_row_int % this prevents considering the next
- % \crcr as another row end.
- \let\LT@entry\LT@entry@chop
- \xdef\LT@save@row{\LT@save@row}}%
- \LT@echunk
- \LT@start
- \unvbox\z@
- \LT@get@widths
- \if@filesw
- {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
- \gdef\expandafter\noexpand
- \csname LT@\romannumeral\c@LT@tables\endcsname
- {\LT@save@row}}}%
- \fi
- \ifx\LT@save@row\LT@@save@row
- \else
- \LT@warn{Column~\@width s~have~changed\MessageBreak
- in~table~\thetable}%
- \LT@final@warn
- \fi
- \endgraf\penalty -\LT@end@pen
- \ifvoid\LT@foot\else
- \global\advance\vsize\ht\LT@foot
- \global\advance\@colroom\ht\LT@foot
- \dimen@\pagegoal\advance\dimen@\ht\LT@foot\pagegoal\dimen@
- \fi
- \endgroup
- \global\@mparbottom\z@
- \endgraf\penalty\z@\addvspace\LTpost
- \ifvoid\footins\else\insert\footins{}\fi}
-\def\__tbl_patch_LT@t@bularcr{%
- \global\advance\LT@rows\@ne
- \ifnum\LT@rows=\LTchunksize
- \__tbl_store_missing_cells:n{echunk}
- \gdef\LT@setprevdepth{%
- \prevdepth\z@
- \global\let\LT@setprevdepth\relax}%
- \expandafter\LT@xtabularcr
- \else
- \ifnum0=`{}\fi
- \expandafter\LT@LL@FM@cr
- \fi}
+}
-\def\__tbl_patch_LT@end@hd@ft#1{%
- \__tbl_store_missing_cells:n{head/foot}
- \int_step_inline:nn
- { \LT@rows + 1 }
- {
- \seq_gput_left:ce
- {g__tbl_\cs_to_str:N #1 _rows_seq }
- { \int_eval:n {\g__tbl_row_int + 1 - ##1 } }
- }
- \int_gset:Nn \LT@rows { \LTchunksize }
- \LT@echunk
- \ifx\LT@start\endgraf
- \LT@err
- {Longtable head or foot not at start of table}%
- {Increase LTchunksize}%
- \fi
- \setbox#1\box\z@
- \LT@get@widths
- \LT@bchunk}
+\cs_new_protected:Npn \__tbl_restore_struct_data: {
+ \tl_gset_eq:NN \g__tbl_struct_table_tl \l__tbl_saved_struct_table_tl
+ \seq_gset_eq:NN \g__tbl_struct_rows_seq \l__tbl_saved_struct_rows_seq
+ \seq_gset_eq:NN \g__tbl_struct_cells_seq\l__tbl_saved_struct_cells_seq
+ \seq_gset_eq:NN \g__tbl_struct_cur_seq \l__tbl_saved_struct_cur_seq
+}
-\def\__tbl_patch_LT@start{%
- \let\LT@start\endgraf
- \endgraf\penalty\z@\vskip\LTpre\endgraf
- \ifdim \pagetotal<\pagegoal \else
- \dimen@=\pageshrink
- \advance \dimen@ 1sp %
- \kern\dimen@\penalty 9999\endgraf \kern-\dimen@
- \fi
- \dimen@\pagetotal
- \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
- \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
- \advance\dimen@ \ht\LT@foot
- \edef\LT@reset@vfuzz{\vfuzz\the\vfuzz\vbadness\the\vbadness\relax}%
- \vfuzz\maxdimen
- \vbadness\@M
- \setbox\tw@\copy\z@
- \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
- \setbox\tw@\vbox{\unvbox\tw@}%
- \LT@reset@vfuzz
- \advance\dimen@ \ht
- \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
- \advance\dimen@\dp
- \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
- \advance\dimen@ -\pagegoal
- \ifdim \dimen@>\z@
- \vfil\break
- \else
- \ifdim\pageshrink>\z@\pageshrink\z@\fi
- \fi
- \global\@colroom\@colht
- \ifvoid\LT@foot\else
- \global\advance\vsize-\ht\LT@foot
- \global\advance\@colroom-\ht\LT@foot
- \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
- \maxdepth\z@
- \fi
- \MakeLinkTarget{table}
- \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
- \tagmcbegin{artifact}
- \tag_mc_reset_box:N\LT@head
- \tagmcend
- \output{\LT@output}}
-\def\__tbl_patch_LT@output{%
- \ifnum\outputpenalty <-\@Mi
- \ifnum\outputpenalty > -\LT@end@pen
- \LT@err{floats and marginpars not allowed in a longtable}\@ehc
- \else
- \setbox\z@\vbox{\unvbox\@cclv}%
- \ifdim \ht\LT@lastfoot>\ht\LT@foot
- \dimen@\pagegoal
- \advance\dimen@\ht\LT@foot
- \advance\dimen@-\ht\LT@lastfoot
- \ifdim\dimen@<\ht\z@
- \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
- \@makecol
- \@outputpage
- \global\vsize\@colroom
- \setbox\z@\vbox{\box\LT@head}%
- \fi
- \fi
- \unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi
- \tagmcbegin{artifact}
- \tag_mc_reset_box:N \LT@foot
- \tagmcend
- \fi
- \else
- \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
- \tagmcbegin{artifact}
- \tag_mc_reset_box:N \LT@foot
- \tagmcend
- \@makecol
- \@outputpage
- \global\vsize\@colroom
- \copy\LT@head\nobreak
- \fi}
\def\__tbl_patch_LT@makecaption#1#2#3{%
\LT@mcol\LT@cols c{%
% test can go after merge
@@ -922,56 +517,10 @@
\hss}}}
\AddToHook{package/longtable/after}
{
- \seq_new:N \g__tbl_LT@firsthead_rows_seq
- \seq_new:N \g__tbl_LT@head_rows_seq
- \seq_new:N \g__tbl_LT@lastfoot_rows_seq
- \seq_new:N \g__tbl_LT@foot_rows_seq
- \cs_set_eq:NN \LT@array\__tbl_patch_LT@array
- \cs_set_eq:NN \endlongtable\__tbl_patch_endlongtable
- \cs_set_eq:NN \LT@start\__tbl_patch_LT@start
- \cs_set_eq:NN \LT@output\__tbl_patch_LT@output
- \cs_set_eq:NN \LT@t@bularcr\__tbl_patch_LT@t@bularcr
- \cs_set_eq:NN \LT@end@hd@ft\__tbl_patch_LT@end@hd@ft
\cs_set_eq:NN \LT@makecaption\__tbl_patch_LT@makecaption
}
-\def\__tbl_patch_TX@endtabularx{%
- \expandafter\expandafter\expandafter
- \TX@find@endtabularxa\csname end\TX@\endcsname
- \endtabularx\TX@\endtabularx\TX@find@endtabularxa
- \expandafter\TX@newcol\expandafter{\tabularxcolumn{\TX@col@width}}%
- \let\verb\TX@verb
- \def\@elt##1{\global\value{##1}\the\value{##1}\relax}%
- \edef\TX@ckpt{\cl@@ckpt}%
- \let\@elt\relax
- \TX@old@table\maxdimen
- \TX@col@width\TX@target
- \global\TX@cols\@ne
- \TX@typeout@
- {\@spaces Table Width\@spaces Column Width\@spaces X Columns}%
- \tag_stop:n{tabularx}
- \TX@trial{\def\NC@rewrite@X{%
- \global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}%
- \loop
- \TX@arith
- \ifTX@
- \TX@trial{}%
- \repeat
- \tag_start:n{tabularx}
- {\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext
- \csname tabular*\expandafter\endcsname\expandafter\TX@target
- \the\toks@
- \csname endtabular*\endcsname}%
- \global\TX@ftn\expandafter{\expandafter}\the\TX@ftn
- \ifnum0=`{\fi}%
- \expandafter\expandafter\expandafter
- \TX@find@endtabularxbb
- \expandafter\end\expandafter{\TX@}%
- \endtabularx\TX@\endtabularx\TX@find@endtabularxb
-}
-\AddToHook{package/tabularx/after}
- {\cs_set_eq:NN \TX@endtabularx\__tbl_patch_TX@endtabularx }
\endinput
%%
%% End of file `latex-lab-testphase-table.sty'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-text.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-text.sty
index 7cae4fc4897..749ab3aa08a 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-text.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-text.sty
@@ -32,7 +32,7 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-text.dtx (C) Copyright 2023 LaTeX Project
+%% File: latex-lab-text.dtx (C) Copyright 2023-2024 LaTeX Project
\def\ltlabtextdate{2023-07-20}
\def\ltlabtextversion{0.85a}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-title.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-title.sty
new file mode 100644
index 00000000000..f3518622dfa
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-title.sty
@@ -0,0 +1,300 @@
+%%
+%% This is file `latex-lab-testphase-title.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex-lab-title.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2021-2023 LaTeX Project
+%%
+%% This file was generated from file(s) of the `LaTeX-lab Bundle'.
+%% ------------------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle'
+%% without such generated files.
+%%
+%% The newest sources can be found below
+%%
+%% https://github.com/latex3/latex2e/required/latex-lab
+%%
+%% where one can also log issues in case there are any.
+%%
+%%
+%% File: latex-lab-title.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabtitledate{2024-02-09}
+\def\ltlabtitleversion{0.85c}
+
+
+\ProvidesExplPackage {latex-lab-testphase-title} {\ltlabtitledate} {\ltlabtitleversion}
+ {Changes related to the tagging of the title}
+\cs_new_protected:Npn \__tag_patch_thanks:n #1
+ {
+ \rlap{\footnotemark}
+ \protected@xdef\@thanks{\@thanks
+ \protect\footnotetext[\the\c@footnote]{#1}}
+ }
+\cs_new_protected:Npn \__tag_patch_maketitle:
+ {
+ \par
+ \begingroup
+ \cs_if_exist_use:N\__tag_tbl_disable:
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \cs_set_eq:NN \thanks \__tag_patch_thanks:n
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@maketitle
+ \else
+ \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+\cs_new_protected:Npn \__tag_patch_@maketitle:
+ {
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ \let \footnote \thanks
+ \pdf_version_compare:NnTF > {1.7}
+ {{\LARGE \tag_struct_begin:n{tag=Title}\@title \par\tag_struct_end:}}
+ {{\LARGE \tagtool{paratag=Title}\@title \par}}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par
+ \vskip 1.5em
+ }
+
+\cs_new_protected:Npn \__tag_patch_maketitle_page:
+ {\begin{titlepage}%
+ \cs_if_exist_use:N\__tag_tbl_disable:
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let \footnote \thanks
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ \pdf_version_compare:NnTF > {1.7}
+ {{\LARGE \tag_struct_begin:n{tag=Title}\@title \par\tag_struct_end:}}
+ {{\LARGE \tagtool{paratag=Title}\@title \par}}%
+ \vskip 3em%
+ {\large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+
+\AddToHook{class/article/after}
+ {
+ \if@titlepage
+ \cs_set_eq:NN \maketitle \__tag_patch_maketitle_page:
+ \else
+ \cs_set_eq:NN \maketitle \__tag_patch_maketitle:
+ \cs_set_eq:NN \@maketitle \__tag_patch_@maketitle:
+ \fi
+ }
+\AddToHook{class/report/after}
+ {
+ \if@titlepage
+ \cs_set_eq:NN \maketitle \__tag_patch_maketitle_page:
+ \else
+ \cs_set_eq:NN \maketitle \__tag_patch_maketitle:
+ \cs_set_eq:NN \@maketitle \__tag_patch_@maketitle:
+ \fi
+ }
+\AddToHook{class/book/after}
+ {
+ \if@titlepage
+ \cs_set_eq:NN \maketitle \__tag_patch_maketitle_page:
+ \else
+ \cs_set_eq:NN \maketitle \__tag_patch_maketitle:
+ \cs_set_eq:NN \@maketitle \__tag_patch_@maketitle:
+ \fi
+ }
+\str_new:N \g__tag_title_tmpa_str
+\str_new:N \l__tag_title_tmpa_str
+\tl_new:N \l__tag_title_tmpa_tl
+\seq_new:N \l__tag_title_tmpa_seq
+\providecommand\texorpdfstring[2]{#1}%
+\protected\def\@title{\@latex@error{No \noexpand\title given}\@ehc}
+\protected\def\@author{\@latex@warning@no@line{No \noexpand\author given}}
+\cs_new_protected:Npn \__tag_title_pdfstring:nnN #1 #2 #3 % #1 text, #2 e.g. utf16/hex
+ {
+ \group_begin:
+ \cs_set_eq:NN\texorpdfstring\use_ii:nn
+ \str_set:Ne \l__tag_title_tmpa_str {\text_purify:n { #1 } }
+ \pdf_string_from_unicode:nVN { #2 } \l__tag_title_tmpa_str \l__tag_title_tmpa_str
+ \str_gset_eq:NN \g__tag_title_tmpa_str\l__tag_title_tmpa_str
+ \group_end:
+ \str_set_eq:NN #3 \g__tag_title_tmpa_str
+ }
+\cs_generate_variant:Nn\__tag_title_pdfstring:nnN {e}
+
+\tl_new:N \g__tag_title_title_tl
+\RenewDocumentCommand\title{O{}m}
+ {
+ \gdef\@title{#2}
+ \tl_gset_eq:NN\g__tag_title_title_tl\@title
+ \keys_set:nn {hyp}{#1}
+ }
+\regex_new:N\l__tag_title_optlang_regex
+\regex_set:Nn\l__tag_title_optlang_regex {\A\[([A-Za-z\-]+)\](.*)}
+\cs_generate_variant:Nn \regex_extract_once:NnN{NVN}
+\cs_generate_variant:Nn \clist_item:nn {on}
+\keys_define:nn { hyp }
+ {
+ pdftitle .code:n =
+ {
+ \tl_if_blank:nTF {#1}
+ {
+ \pdfmanagement_remove:nn {Info}{Title}
+ }
+ {
+ \tl_set:Ne\l__tag_title_tmpa_tl {\clist_item:on{#1}{1}}
+ \regex_extract_once:NVN
+ \l__tag_title_optlang_regex
+ \l__tag_title_tmpa_tl
+ \l__tag_title_tmpa_seq
+ \seq_if_empty:NTF\l__tag_title_tmpa_seq
+ {
+ \__tag_title_pdfstring:nnN {#1}{utf16/hex}\l__tag_title_tmpa_str
+ }
+ {
+ \__tag_title_pdfstring:enN
+ {\seq_item:Nn \l__tag_title_tmpa_seq{3}}{utf16/hex}\l__tag_title_tmpa_str
+ }
+ \str_if_eq:VnF\l__tag_title_tmpa_str{<FEFF>}
+ {
+ \pdfmanagement_add:nne {Info}{Title}{\l__tag_title_tmpa_str}
+ }
+ }
+ \AddToDocumentProperties[hyperref]{pdftitle}{#1}
+ }
+ ,pdfsubtitle .code:n = { \AddToDocumentProperties[hyperref]{pdfsubtitle}{#1} }
+ }
+\tl_new:N \g__tag_title_author_tl
+\RenewDocumentCommand\author{O{}m}
+ {
+ \gdef\@author{#2}
+ \tl_gset_eq:NN\g__tag_title_author_tl\@author
+ \keys_set:nn {hyp}{#1}
+ }
+
+\keys_define:nn { hyp }
+ {
+ pdfauthor .code:n =
+ {
+ \tl_if_blank:nTF {#1}
+ {
+ \pdfmanagement_remove:nn {Info}{Author}
+ }
+ {
+ \tl_set:Ne\l__tag_title_tmpa_tl {\clist_item:on{#1}{1}}
+ \regex_extract_once:NVN
+ \l__tag_title_optlang_regex
+ \l__tag_title_tmpa_tl
+ \l__tag_title_tmpa_seq
+ \seq_if_empty:NTF\l__tag_title_tmpa_seq
+ {
+ \__tag_title_pdfstring:nnN {#1}{utf16/hex}\l__tag_title_tmpa_str
+ }
+ {
+ \__tag_title_pdfstring:enN
+ {\seq_item:Nn \l__tag_title_tmpa_seq{3}}{utf16/hex}\l__tag_title_tmpa_str
+ }
+ \str_if_eq:VnF\l__tag_title_tmpa_str{<FEFF>}
+ {
+ \pdfmanagement_add:nne {Info}{Author}{\l__tag_title_tmpa_str}
+ }
+ }
+ \AddToDocumentProperties[hyperref]{pdfauthor}{#1}
+ }
+ }
+\AddToHook{cmd/maketitle/before}
+ {
+ \tl_gset_eq:NN \g__tag_title_author_tl\@author
+ \tl_gset_eq:NN \g__tag_title_title_tl\@title
+ }
+\AddToHook{shipout/lastpage}
+ {
+ \tl_if_empty:eT{\GetDocumentProperties{hyperref/pdftitle}}
+ {
+ \group_begin:
+ \cs_set_eq:NN\thanks \use_none:n
+ \str_set:Ne \l__tag_title_tmpa_str {\text_purify:n { \g__tag_title_title_tl } }
+ \keys_set:ne{hyp}{pdftitle={\exp_not:V\l__tag_title_tmpa_str}}
+ \group_end:
+ }
+ \tl_if_empty:eT{\GetDocumentProperties{hyperref/pdfauthor}}
+ {
+ \group_begin:
+ \cs_set_eq:NN\thanks \use_none:n
+ \cs_set:Npn \and {,}
+ \str_set:Ne \l__tag_title_tmpa_str {\text_purify:n { \g__tag_title_author_tl } }
+ \keys_set:ne{hyp}{pdfauthor={\exp_not:V\l__tag_title_tmpa_str}}
+ \group_end:
+ }
+ \tl_if_empty:eF{\GetDocumentProperties{document/pdfstandard-UA}}
+ {
+ \pdfmanagement_add:nnn {Catalog / ViewerPreferences } { DisplayDocTitle } { true }
+ }
+ }
+\DeclareHookRule{shipout/lastpage}{latex-lab-testphase-title}{before}{pdfmanagement-testphase}
+
+\endinput
+%%
+%% End of file `latex-lab-testphase-title.sty'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-toc.sty b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-toc.sty
index bf1cb9bb87f..e4cb035ba10 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-toc.sty
+++ b/Master/texmf-dist/tex/latex/latex-lab/latex-lab-testphase-toc.sty
@@ -35,14 +35,14 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-toc.dtx (C) Copyright 2022-2023 LaTeX Project
+%% File: latex-lab-toc.dtx (C) Copyright 2022-2024 LaTeX Project
\def\ltlabtocdate{2023-10-16}
\def\ltlabtocversion{0.85b}
\ProvidesExplPackage {latex-lab-testphase-toc} {\ltlabtocdate} {\ltlabtocversion}
{ Code related to the tagging of toc-like lists}
-%% File: latex-lab-toc-kernel-changes.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabkerneldate{2023-10-16}
-\def\ltlabkernelversion{0.85b}
+%% File: latex-lab-toc-kernel-changes.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabkerneldate{2024-02-12}
+\def\ltlabkernelversion{0.85c}
\RequirePackage{latex-lab-kernel-changes}
\def\@contentsline@cfgpoint@before#1#2#3#4{}
\def\@contentsline@cfgpoint@after#1#2#3#4{}
@@ -64,7 +64,7 @@
\makeatletter
\@starttoc@cfgpoint@before{#1}%
\@input{\jobname.#1}%
- \@starttoc@cfgpoint@after{#1}
+ \@starttoc@cfgpoint@after{#1}%
\if@filesw
\expandafter\newwrite\csname tf@#1\endcsname
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
@@ -275,7 +275,7 @@
\endgroup
\fi}
}
-%% File: latex-lab-toc.dtx (C) Copyright 2022-2023 LaTeX Project
+%% File: latex-lab-toc.dtx (C) Copyright 2022-2024 LaTeX Project
\def\ltlabtocdate{2023-10-16}
\def\ltlabtocversion{0.85b}
\tl_new:N \l__tag_toc_tmpa_tl
@@ -372,7 +372,7 @@
{ \int_compare_p:nNn { \g__tag_toc_level_int } > {-100} }
{ \int_compare_p:nNn { \use:c{toclevel@#1} } > { \g__tag_toc_level_int } }
{
- \seq_gpush:Nx \g__tag_toc_stack_seq {{TOC}\use:c{toclevel@#1}}
+ \seq_gpush:Ne \g__tag_toc_stack_seq {{TOC}\use:c{toclevel@#1}}
\tag_struct_begin:n{tag=TOC}
}
\int_compare:nNnT
@@ -383,10 +383,10 @@
\int_gset:Nn \g__tag_toc_level_int { \use:c{toclevel@#1} }
\group_begin:
\text_declare_expand_equivalent:Nn \numberline \use_none:n
- \exp_args:Nx \tag_struct_begin:n{tag=TOCI,title={\text_purify:n {#2}}}
- \prop_gput:Nxx \g__tag_struct_ref_by_dest_prop
+ \exp_args:Ne \tag_struct_begin:n{tag=TOCI,title={\text_purify:n {#2}}}
+ \prop_gput:Nee \g__tag_struct_ref_by_dest_prop
{ \tag_get:n {struct_num} }{#3}
- \seq_gpush:Nx \g__tag_toc_stack_seq {{TOCI}\use:c{toclevel@#1}}
+ \seq_gpush:Ne \g__tag_toc_stack_seq {{TOCI}\use:c{toclevel@#1}}
\group_end:
}
}
@@ -438,7 +438,7 @@
\def\@dottedtocline@cfgpoint@leaders#1{%
\tag_mc_begin:n{artifact}\tag_stop:n{leaders}\nobreak#1\nobreak\tag_start:n{leaders}\tag_mc_end:}
-%% File: latex-lab-toc-hyperref-changes.dtx (C) Copyright 2022-2023 LaTeX Project
+%% File: latex-lab-toc-hyperref-changes.dtx (C) Copyright 2022-2024 LaTeX Project
\def\ltlabtochyperdate{2023-07-20}
\def\ltlabtochyperversion{0.85a}
\def\hyper@nopatch@toc{}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/marginpar-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/marginpar-latex-lab-testphase.ltx
new file mode 100644
index 00000000000..a74a5f65ef3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/latex-lab/marginpar-latex-lab-testphase.ltx
@@ -0,0 +1,48 @@
+%%
+%% This is file `marginpar-latex-lab-testphase.ltx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex-lab-marginpar.dtx (with options: `latex-lab')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2021-2023 LaTeX Project
+%%
+%% This file was generated from file(s) of the `LaTeX-lab Bundle'.
+%% ------------------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle'
+%% without such generated files.
+%%
+%% The newest sources can be found below
+%%
+%% https://github.com/latex3/latex2e/required/latex-lab
+%%
+%% where one can also log issues in case there are any.
+%%
+%%
+%% File: latex-lab-marginpar.dtx
+%%
+\def\ltlabmarginpardate{2024-02-12}
+\def\ltlabmarginparversion{0.85b}
+
+\ProvidesFile{marginpar-latex-lab-testphase.ltx}
+ [\ltlabmarginpardate\space v\ltlabmarginparversion\space
+ Changes related to the tagging of the margin notes]
+
+\RequirePackage{latex-lab-testphase-marginpar}
+
+\endinput
+%%
+%% End of file `marginpar-latex-lab-testphase.ltx'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/minipage-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/minipage-latex-lab-testphase.ltx
index e309b479ed1..0cf1da13360 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/minipage-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/minipage-latex-lab-testphase.ltx
@@ -32,7 +32,8 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-minipage.dtx (C) Copyright 2023 LaTeX Project
+%% File: latex-lab-minipage.dtx
+%%
\def\ltlabminipagedate{2023-10-30}
\def\ltlabminipageversion{0.81c}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/new-or-1-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/new-or-1-latex-lab-testphase.ltx
index 015487e4396..915a065c5e5 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/new-or-1-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/new-or-1-latex-lab-testphase.ltx
@@ -32,7 +32,7 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-new-or-1.dtx (C) Copyright 2020-2023 Frank Mittelbach
+%% File: latex-lab-new-or-1.dtx (C) Copyright 2020-2024 Frank Mittelbach
\def\ltlabneworIdate{2023-07-20}
\def\ltlabneworIversion{0.85a}
\ProvidesFile{new-or-1-latex-lab-testphase.ltx}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/phase-I-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/phase-I-latex-lab-testphase.ltx
index c2f68512e79..a672afc5968 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/phase-I-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/phase-I-latex-lab-testphase.ltx
@@ -40,7 +40,7 @@
\RequirePackage{latex-lab-testphase-new-or-1}
\RequirePackage{tagpdf}
\AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
-\tagpdfsetup{activate,interwordspace}
+\tagpdfsetup{activate,activate/spaces}
\AddToDocumentProperties [document]{tagging}{active}
\AddToDocumentProperties [document]{tagging/interwordspace}{active}
\endinput
diff --git a/Master/texmf-dist/tex/latex/latex-lab/phase-II-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/phase-II-latex-lab-testphase.ltx
index ff7e6dd7452..0958d99b119 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/phase-II-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/phase-II-latex-lab-testphase.ltx
@@ -41,7 +41,7 @@
\RequirePackage{latex-lab-testphase-new-or-2}
\RequirePackage{tagpdf}
\AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
-\tagpdfsetup{activate,paratagging,interwordspace}
+\tagpdfsetup{activate,para/tagging,activate/spaces}
\AddToDocumentProperties [document]{tagging/para}{active}
\AddToDocumentProperties [document]{tagging}{active}
\AddToDocumentProperties [document]{tagging/interwordspace}{active}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/phase-III-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/phase-III-latex-lab-testphase.ltx
index 2f7a38ef142..c782abde3ad 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/phase-III-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/phase-III-latex-lab-testphase.ltx
@@ -36,7 +36,7 @@
\ProvidesFile{phase-III-latex-lab-testphase.ltx}
- [2023-07-20 v0.1b latex-lab wrapper phase-III]
+ [2024-02-12 v0.1c latex-lab wrapper phase-III]
\input{phase-II-latex-lab-testphase.ltx}
\IfFormatAtLeastTF{2023-06-01}
{
@@ -48,6 +48,7 @@
\RequirePackage{latex-lab-testphase-float}
\RequirePackage{latex-lab-testphase-bib}
\RequirePackage{latex-lab-testphase-text}
+ \RequirePackage{latex-lab-testphase-marginpar}
}
{\PackageWarning{latex-lab}{Testphase III needs newer format}{}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/latex-lab/sec-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/sec-latex-lab-testphase.ltx
index bf39e9949f7..5cd6edae269 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/sec-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/sec-latex-lab-testphase.ltx
@@ -32,9 +32,9 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-sec.dtx (C) Copyright 2022-2023 LaTeX Project
-\def\ltlabsecdate{2023-10-16}
-\def\ltlabsecversion{0.84b}
+%% File: latex-lab-sec.dtx (C) Copyright 2022-2024 LaTeX Project
+\def\ltlabsecdate{2024-02-12}
+\def\ltlabsecversion{0.84c}
\ProvidesFile{sec-latex-lab-testphase.ltx}
[\ltlabsecdate\space v\ltlabsecversion\space latex-lab wrapper sec]
diff --git a/Master/texmf-dist/tex/latex/latex-lab/table-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/table-latex-lab-testphase.ltx
index 850f3ffa110..b01da95717e 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/table-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/table-latex-lab-testphase.ltx
@@ -32,12 +32,13 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-table.dtx (C) Copyright 2023 LaTeX Project
-\def\ltlabtbldate{2023-10-30}
-\def\ltlabtblversion{0.85d}
+%% File: latex-lab-table.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabtbldate{2024-05-25}
+\def\ltlabtblversion{0.85i}
\ProvidesFile{table-latex-lab-testphase.ltx}
[\ltlabtbldate\space v\ltlabtblversion\space latex-lab wrapper table]
\RequirePackage{latex-lab-testphase-table}
+
\endinput
%%
%% End of file `table-latex-lab-testphase.ltx'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/tabular-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/tabular-latex-lab-testphase.ltx
new file mode 100644
index 00000000000..67a80c992ab
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/latex-lab/tabular-latex-lab-testphase.ltx
@@ -0,0 +1,44 @@
+%%
+%% This is file `tabular-latex-lab-testphase.ltx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex-lab-table.dtx (with options: `latex-lab-alias')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2021-2023 LaTeX Project
+%%
+%% This file was generated from file(s) of the `LaTeX-lab Bundle'.
+%% ------------------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle'
+%% without such generated files.
+%%
+%% The newest sources can be found below
+%%
+%% https://github.com/latex3/latex2e/required/latex-lab
+%%
+%% where one can also log issues in case there are any.
+%%
+%%
+%% File: latex-lab-table.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabtbldate{2024-05-25}
+\def\ltlabtblversion{0.85i}
+
+\ProvidesFile{tabular-latex-lab-testphase.ltx}
+ [\ltlabtbldate\space v\ltlabtblversion\space latex-lab wrapper tabular]
+\RequirePackage{latex-lab-testphase-table}
+\endinput
+%%
+%% End of file `tabular-latex-lab-testphase.ltx'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/tagpdf-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/tagpdf-latex-lab-testphase.ltx
index 99866c0ee12..e7303e398e0 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/tagpdf-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/tagpdf-latex-lab-testphase.ltx
@@ -41,7 +41,7 @@
\RequirePackage{latex-lab-testphase-new-or-2}
\RequirePackage{tagpdf}
\AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
-\tagpdfsetup{activate,paratagging,interwordspace}
+\tagpdfsetup{activate,para/tagging,activate/spaces}
\AddToDocumentProperties [document]{tagging/para}{active}
\AddToDocumentProperties [document]{tagging}{active}
\AddToDocumentProperties [document]{tagging/interwordspace}{active}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/tagpdf-ns-latex-lab.def b/Master/texmf-dist/tex/latex/latex-lab/tagpdf-ns-latex-lab.def
index ac71752ca07..13054a4f295 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/tagpdf-ns-latex-lab.def
+++ b/Master/texmf-dist/tex/latex/latex-lab/tagpdf-ns-latex-lab.def
@@ -6,7 +6,8 @@
%%
%% latex-lab-namespace.dtx (with options: `ns-latex-lab')
%%
-%% File: latex-lab-namespace.dtx (C) Copyright 2023 LaTeX Project
+%% File: latex-lab-namespace.dtx
+%%
%% \ProvidesExplFile {tagpdf-ns-latex-lab.def} {2023-09-04} {0.8}
%% {latex} {https://www.latex-project.org/ns/lab/2022}{}
title, Title, pdf2,
@@ -22,7 +23,7 @@ enumerate, L, pdf2,
description, L, pdf2,
quote, BlockQuote,pdf,
quotation, BlockQuote,pdf,
-verbatim, Div, pdf2,
+verbatim, Div, pdf2, % overwritten by block
item, LI, pdf2,
itemlabel, Lbl, pdf2,
itembody, LBody, pdf2,
diff --git a/Master/texmf-dist/tex/latex/latex-lab/text-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/text-latex-lab-testphase.ltx
index 59d30103ae9..2615850378c 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/text-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/text-latex-lab-testphase.ltx
@@ -32,7 +32,7 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-text.dtx (C) Copyright 2023 LaTeX Project
+%% File: latex-lab-text.dtx (C) Copyright 2023-2024 LaTeX Project
\def\ltlabtextdate{2023-07-20}
\def\ltlabtextversion{0.85a}
diff --git a/Master/texmf-dist/tex/latex/latex-lab/title-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/title-latex-lab-testphase.ltx
new file mode 100644
index 00000000000..17f603db23e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/latex-lab/title-latex-lab-testphase.ltx
@@ -0,0 +1,49 @@
+%%
+%% This is file `title-latex-lab-testphase.ltx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex-lab-title.dtx (with options: `latex-lab')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2021-2023 LaTeX Project
+%%
+%% This file was generated from file(s) of the `LaTeX-lab Bundle'.
+%% ------------------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle'
+%% without such generated files.
+%%
+%% The newest sources can be found below
+%%
+%% https://github.com/latex3/latex2e/required/latex-lab
+%%
+%% where one can also log issues in case there are any.
+%%
+%%
+%% File: latex-lab-title.dtx (C) Copyright 2023-2024 LaTeX Project
+\def\ltlabtitledate{2024-02-09}
+\def\ltlabtitleversion{0.85c}
+
+
+
+\ProvidesFile{title-latex-lab-testphase.ltx}
+ [\ltlabtitledate\space v\ltlabtitleversion\space
+ Changes related to the tagging of the title]
+
+\RequirePackage{latex-lab-testphase-title}
+
+\endinput
+%%
+%% End of file `title-latex-lab-testphase.ltx'.
diff --git a/Master/texmf-dist/tex/latex/latex-lab/toc-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex/latex-lab/toc-latex-lab-testphase.ltx
index 1d7e70c5d79..8b2c05d329c 100644
--- a/Master/texmf-dist/tex/latex/latex-lab/toc-latex-lab-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/latex-lab/toc-latex-lab-testphase.ltx
@@ -32,7 +32,7 @@
%% where one can also log issues in case there are any.
%%
%%
-%% File: latex-lab-toc.dtx (C) Copyright 2022-2023 LaTeX Project
+%% File: latex-lab-toc.dtx (C) Copyright 2022-2024 LaTeX Project
\def\ltlabtocdate{2023-10-16}
\def\ltlabtocversion{0.85b}
\ProvidesFile{toc-latex-lab-testphase.ltx}
diff --git a/Master/texmf-dist/tex/latex/latexbug/latexbug.sty b/Master/texmf-dist/tex/latex/latexbug/latexbug.sty
index b806df19e39..65f33718c1f 100644
--- a/Master/texmf-dist/tex/latex/latexbug/latexbug.sty
+++ b/Master/texmf-dist/tex/latex/latexbug/latexbug.sty
@@ -30,7 +30,7 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{latexbug}[2022/06/14 v1.0n Bug-classification]
+\ProvidesPackage{latexbug}[2024/06/17 v1.0o Bug-classification]
\def\latexbug@empty{}
\def\latexbug@us{us}
\def\latexbug@usstar{us*}
@@ -43,6 +43,7 @@
\latexbug@loop
latexbug.sty = us ,
regression-test = us ,
+regression-test.tex = us ,
alltt.sty = us ,
ansinew.def = us ,
applemac.def = us ,
@@ -1281,13 +1282,45 @@ l3str-enc-iso88597.def = us* ,
l3str-enc-iso88598.def = us* ,
l3str-enc-iso88599.def = us* ,
xcoffins.sty = us* ,
-xfrac.sty = us* ,
xgalley.sty = us* ,
xparse.sty = us* ,
xtemplate.sty = us* ,
pdfmanagement-testphase.sty = us*
- \Contact https://github.com/latex3/pdfresources/issues
+ \Contact https://github.com/latex3/tagging-project/issues ,
+tagpdf.sty = us*
+ \Contact https://github.com/latex3/tagging-project/issues ,
+documentmetadata-support.ltx = us*
+ \Contact https://github.com/latex3/tagging-project/issues ,
+l3backend-testphase-luatex.def = ignore ,
+l3backend-testphase-pdftex.def = ignore ,
+l3backend-testphase-xetex.def = ignore ,
+latex-lab-amsmath.ltx = ignore ,
+latex-lab-footnotes.ltx = ignore ,
+latex-lab-math.ltx = ignore ,
+latex-lab-mathpkg.ltx = ignore ,
+latex-lab-mathtools.ltx = ignore ,
+latex-lab-testphase-bib.sty = ignore ,
+latex-lab-testphase-block.sty = ignore ,
+latex-lab-testphase-float.sty = ignore ,
+latex-lab-testphase-graphic.sty = ignore ,
+latex-lab-testphase-marginpar.sty = ignore ,
+latex-lab-testphase-math.sty = ignore ,
+latex-lab-testphase-minipage.sty = ignore ,
+latex-lab-testphase-new-or-1.sty = ignore ,
+latex-lab-testphase-new-or-2.sty = ignore ,
+latex-lab-testphase-sec.sty = ignore ,
+latex-lab-testphase-table.sty = ignore ,
+latex-lab-testphase-text.sty = ignore ,
+latex-lab-testphase-title.sty = ignore ,
+latex-lab-testphase-toc.sty = ignore ,
+math-latex-lab-testphase.ltx = ignore ,
+pdfmanagement-firstaid.sty = ignore ,
pdfmanagement-testphase.ltx = ignore ,
+phase-II-latex-lab-testphase.ltx = ignore ,
+phase-III-latex-lab-testphase.ltx = ignore ,
+table-latex-lab-testphase.ltx = ignore ,
+tagpdf-luatex.def = ignore ,
+title-latex-lab-testphase.ltx = ignore ,
hluatex.def = ignore ,
hpdftex.def = ignore ,
hxetex.def = ignore ,
@@ -1304,18 +1337,28 @@ beamer.cls = Joseph Wright
\Contact https://github.com/josephwright/beamer/issues ,
dashundergaps.sty = Frank Mittelbach
\Contact https://github.com/FrankMittelbach/fmitex-dashundergaps/issues ,
+parnotes.sty = Frank Mittelbach
+ \Contact https://github.com/FrankMittelbach/fmitex-parnotes ,
fewerfloatpages.sty = Frank Mittelbach
\Contact https://github.com/FrankMittelbach/fmitex-fewerfloatpages ,
-fontspec.sty = Will Robertson
- \Contact https://github.com/wspr/fontspec/issues ,
+fontspec.sty = us*
+ \Contact https://github.com/latex3/fontspec/issues ,
+footmisc.sty = Frank Mittelbach
+ \Contact https://github.com/FrankMittelbach/fmitex-footmisc ,
luatex85.sty = Joseph Wright
\Contact https://github.com/josephwright/luatex85/issues ,
parskip.sty = Frank Mittelbach
\Contact https://github.com/FrankMittelbach/fmitex-parskip/issues ,
siunitx.sty = Joseph Wright
\Contact https://github.com/josephwright/siunitx/issues ,
+unicodefonttable.sty = Frank Mittelbach
+ \Contact https://github.com/FrankMittelbach/fmitex-unicodefonttable ,
+unicode-math.sty = us*
+ \Contact https://github.com/latex3/unicode-math/issues ,
widows-and-orphans.sty = Frank Mittelbach
\Contact https://github.com/FrankMittelbach/fmitex-widows-and-orphans/issues ,
+xfrac.sty = us*
+ \Contact https://github.com/latex3/xfrac/issues ,
blindtext.sty = ignore ,
etoolbox.sty = ignore ,
kantlipsum.sty = ignore ,
diff --git a/Master/texmf-dist/tex/latex/lete-sans-math/lete-sans-math.sty b/Master/texmf-dist/tex/latex/lete-sans-math/lete-sans-math.sty
index e6a2377fd9b..c7ab26fb3f0 100644
--- a/Master/texmf-dist/tex/latex/lete-sans-math/lete-sans-math.sty
+++ b/Master/texmf-dist/tex/latex/lete-sans-math/lete-sans-math.sty
@@ -1,9 +1,9 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\def\fileversion{0.40}
-\def\filedate{2024-05-11}
+\def\fileversion{0.41}
+\def\filedate{2024-07-17}
\ProvidesPackage{lete-sans-math}[\filedate\space\fileversion]
-%Ensure luatex or xetex engine
+% Ensure luatex or xetex engine
\RequirePackage{iftex}[2019/10/24]
\RequireTUTeX
\RequirePackage{unicode-math}
@@ -63,6 +63,10 @@
\Umathchardef\mbfdotlessi = 0 0 "E043 \relax
\Umathchardef\mbfdotlessj = 0 0 "E044 \relax
\Umathchardef\mithbar = 0 0 "E048 \relax
+ \Umathchardef\mupvarg = 0 0 "E04B \relax
+ \Umathchardef\mbfvarg = 0 0 "E04C \relax
+ \Umathchardef\mitvarg = 0 0 "E04D \relax
+ \Umathchardef\mbfitvarg = 0 0 "E04E \relax
\Umathchardef\varemptyset = 0 0 "E04F \relax
\Umathchardef\BbbDelta = 0 0 "E050 \relax
\Umathchardef\BbbTheta = 0 0 "E051 \relax
diff --git a/Master/texmf-dist/tex/latex/lettrine/lettrine.sty b/Master/texmf-dist/tex/latex/lettrine/lettrine.sty
index b508a930299..21aa3290e51 100644
--- a/Master/texmf-dist/tex/latex/lettrine/lettrine.sty
+++ b/Master/texmf-dist/tex/latex/lettrine/lettrine.sty
@@ -11,7 +11,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesFile{lettrine.sty}
- [2024-01-20 v2.60 (Daniel Flipo)]
+ [2024-06-26 v2.61 (Daniel Flipo)]
\DeclareRelease{v1.6}{1999-03-03}{lettrine-2006-03-17.sty}
\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty}
@@ -96,10 +96,10 @@
{
lines.code = \setcounter{L@lines}{#1} ,
depth.code = \setcounter{L@depth}{#1} ,
- lhang.code = \renewcommand*{\L@hang}{#1} ,
- loversize.code = \renewcommand*{\L@oversize}{#1} ,
- lraise.code = \renewcommand*{\L@raise}{#1} ,
- ante.code = \renewcommand*{\L@ante}{#1} ,
+ lhang.store = \L@hang ,
+ loversize.store = \L@oversize ,
+ lraise.store = \L@raise ,
+ ante.store = \L@ante ,
findent.code = \setlength{\L@Findent}{#1} ,
nindent.code = \setlength{\L@Nindent}{#1} ,
slope.code = \setlength{\L@slope}{#1} ,
@@ -293,7 +293,7 @@
\fi
\noindent
\parshape=\L@parshape\relax
- \llap{\mbox{\L@ante}\smash{\raisebox{\L@lraise}{\usebox{\L@lbox}}}%
+ \llap{\smash{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}}%
\ifL@grid\else\rule{0pt}{\L@ruleht}\fi
\hskip \the\L@Findent}%
\unhcopy\L@tbox\relax
diff --git a/Master/texmf-dist/tex/latex/lie-hasse/lie-hasse.sty b/Master/texmf-dist/tex/latex/lie-hasse/lie-hasse.sty
index d1050d88397..6d727c841cd 100644
--- a/Master/texmf-dist/tex/latex/lie-hasse/lie-hasse.sty
+++ b/Master/texmf-dist/tex/latex/lie-hasse/lie-hasse.sty
@@ -1,24 +1,20 @@
-% The Lie Hasse package.
+% The Lie Hasse package.
+% Version 1.01
%
-% Version 1.0
%
+% This package draws Hasse diagrams of root system posets of simple
+% Lie algebraS, in LaTeX documents, using the TikZ package.
%
-% This package draws Hasse diagrams of root system posets of simple
-% Lie algebraS, in LaTeX documents, using the TikZ package.
+% Benjamin McKay
+% b.mckay@ucc.ie
%
-% Benjamin McKay
-% b.mckay@ucc.ie
-%
-% Released under the LaTeX Project Public License v1.3c or later, see
+% Released under the LaTeX Project Public License v1.3c or later, see
% http://www.latex-project.org/lppl.txt
-%
-%
-%
-%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{lie-hasse}[2020/02/02 Lie Hasse]
+\ProvidesPackage{lie-hasse}[2024/07/09 Lie Hasse]
\RequirePackage[rgb]{xcolor}
\RequirePackage{dynkin-diagrams}
+\RequirePackage[outline]{contour}
\usetikzlibrary{
positioning,
fadings,
@@ -26,7 +22,7 @@
%%%
%%% Application programming interface:
%%%
-
+\NewDocumentCommand\edgeQuote{m}{\contour{white}{\(#1\)}}
\newif\iflie@hasse@threeD
\lie@hasse@threeDtrue
\xdef\lie@hasse@three@D@shift{.3}%
@@ -40,14 +36,27 @@
\lie@hasse@show@heightfalse
\newif\iflie@hasse@attach@dynkin@diagram
\lie@hasse@attach@dynkin@diagramfalse
-
+\newif\iflie@hasse@show@levi
+\lie@hasse@show@levitrue
+\newif\iflie@hasse@show@unipotent@radical
+\lie@hasse@show@unipotent@radicaltrue
\pgfkeys{
/Lie Hasse diagram/.is family,
/Lie Hasse diagram,
- attach Dynkin diagram/.is if = lie@hasse@attach@dynkin@diagram,
+ attach Dynkin diagram/.is if
+ = lie@hasse@attach@dynkin@diagram,
attach Dynkin diagram/.default = false,
- edge/.style={ultra thick},
- edge quotes/.style={/Dynkin diagram/text style,auto,inner sep=2pt},
+ edge/.style = {
+ ultra thick
+ },
+ edge length/.estore in
+ = \lie@hasse@edge@length,
+ edge length = 1cm,
+ edge quotes/.style={
+ /Dynkin diagram/text style,
+ auto,
+ inner sep=2pt
+ },
compact edge/.style={},
noncompact edge/.style={opacity=0},
compact root/.code={\dynkinDrawSolidRootMark{#1}},
@@ -67,7 +76,13 @@
show widths/.default = false,
show height/.is if = lie@hasse@show@height,
show height/.default = false,
- z shift/.estore in = \lie@hasse@three@D@shift,
+ show Levi/.is if = lie@hasse@show@levi,
+ show Levi/.default = true,
+ show unipotent radical/.is if
+ = lie@hasse@show@unipotent@radical,
+ show unipotent radical/.default = true,
+ z shift/.estore in
+ = \lie@hasse@three@D@shift,
z shift/.default = .3,
top/.style={black!20,opacity=.4},
left/.style={black!20,opacity=.9},
@@ -90,13 +105,17 @@
\dynkin@integer@rank%
}%
{%
- % Turn Satake codes into Dynkin diagram expressions in \dynkin@string.
+ % Turn Satake codes into Dynkin diagram
+ % expressions in \dynkin@string.
\dynkin@grok@Satake@codes%
}%
- % Expand out any digits in \dynkin@string into multiples of the various root marks.
+ % Expand out any digits in \dynkin@string
+ % into multiples of the various root marks.
\expand@Dynkin@Roots@Digits%
- % Assign to \dynkin@roots the input string \dynkin@string with all . symbols removed,
- % so we only get the symbols representing the marks for the various roots.
+ % Assign to \dynkin@roots the input string
+ % \dynkin@string with all . symbols removed,
+ % so we only get the symbols representing
+ % the marks for the various roots.
\StrDel{\dynkin@string}{.}[\temp]%
\xdef\dynkin@roots{\temp}%
\StrLen{\dynkin@roots}[\temp]%
@@ -115,58 +134,33 @@
{%
\pgfkeys{/Lie Hasse diagram/for all roots={#1}{#2}}%
}%
+\newif\iflie@hasse@B
+\newcount\dynkin@rank@plus@one%
\NewDocumentCommand\hasse{O{}mm}%
{%
\ifdefined\filldraw%
- \IfStrEq{#1}{}%
- {%
+ \ifx#1\empty\relax%
\studyHasseDiagramOfRootSystem{#2}{#3}%
- }%
- {%
+ \else%
\studyHasseDiagramOfRootSystem[#1]{#2}{#3}%
- }%
+ \fi%
\label@item@count 0\relax%
\expandafter\forcsvlist%
- \expandafter\add@label%
+ \expandafter\lie@hasse@add@label%
\expandafter{\dynkin@label@list}%
\ifnum\dynkin@rank=1%
\dynkin{A}{1}%
\else%
+ \global\dynkin@rank@plus@one\the\dynkin@rank\relax%
+ \global\advance\dynkin@rank@plus@one by 1\relax%
\add@compact@simple@roots@to@compact@roots{}%
\IfStrEqCase{#2}%
{%%
{A}{\hasse@A}%
- {B}{\hasse@BC}%
- {C}{\hasse@BC*}%
+ {B}{\global\lie@hasse@Btrue\hasse@BC}%
+ {C}{\global\lie@hasse@Bfalse\hasse@BC}%
{D}{\hasse@D}%
- {E}%
- {%
- \ifnum\dynkin@rank=6%
- \hasse@E@six%
- \else%
- \ifnum\dynkin@rank=7%
- \hasse@E@seven%
- \else%
- \ifnum\dynkin@rank=8%
- \hasse@E@eight%
- \else
- \ifnum\dynkin@rank>8%
- \ClassError%
- {Lie Hasse}%
- {Rank of E series Hasse diagram: #3{}%
- exceeds 8; not defined yet}%
- {}%
- \fi%
- \ifnum\dynkin@rank<6%
- \ClassError%
- {Lie Hasse}%
- {Rank of E series Hasse diagram: #3{} less than 6}%
- {}%
- \fi%
- \fi%
- \fi%
- \fi%
- }%
+ {E}{\hasse@E@series}%
{F}%
{%
\ifnum\dynkin@rank=4%
@@ -194,10 +188,11 @@
{Lie Hasse}%
{Lie algebra series #2{} not A,B,C,D,E,F or G}%
{}]%
+ \forAllPositiveRoots{\draw@lie@hasse@root}%
\draw@simple@root@labels%
\fi%
\lie@hasse@write@widths{}%
- \forAllPositiveRootsInHasseDiagram{\doRootThing}%
+ \forAllPositiveRoots{\doRootThing}%
\iflie@hasse@attach@dynkin@diagram%
\attachDynkin%
\fi%
@@ -205,13 +200,42 @@
\begin{tikzpicture}\hasse[#1]{#2}{#3}\end{tikzpicture}%
\fi%
}%
+\NewDocumentCommand\hasse@E@series{}%
+{%
+ \ifnum\dynkin@rank=6%
+ \hasse@E@six%
+ \else%
+ \ifnum\dynkin@rank=7%
+ \hasse@E@seven%
+ \else%
+ \ifnum\dynkin@rank=8%
+ \hasse@E@eight%
+ \else%
+ \ifnum\dynkin@rank>8%
+ \ClassError%
+ {Lie Hasse}%
+ {Rank of E series Hasse diagram: \the\dynkin@rank{}%
+ exceeds 8; not defined yet}%
+ {}%
+ \fi%
+ \ifnum\dynkin@rank<6%
+ \ClassError%
+ {Lie Hasse}%
+ {Rank of E series Hasse diagram: \the\dynkin@rank{}%
+ less than 6; not define yet}%
+ {}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+}%
\NewDocumentCommand\drawRootAsDynkinSum{mm}%
{%
\rootSum{#1}{#2}{\rs}%
\node at (#1;#2)
{%
\dynkin[%
- labels=\rs,%
+ expand labels=\rs,%
/Lie Hasse diagram/embedded Dynkin diagram]%
{\dynkin@series}{\the\dynkin@rank}%
};%
@@ -239,25 +263,38 @@
}%
\fi%
}%
-
-\NewDocumentCommand\backwardsGtwo{}%
+\NewDocumentCommand\hasseAttachGtwo{}%
{%
- \dynkin[label,backwards,x shift in edge lengths=-1]{G}{\dynkin@roots}%
+ \dynkin[vertical shift=0,%
+ edge length=\lie@hasse@edge@length,%
+% label,%
+% backwards,%
+% x shift in edge lengths=-1
+]{G}{\dynkin@roots}%
}%
-
\newcount\lie@hasse@E@shift%
\NewDocumentCommand\attachDynkin{}%
{%
\IfStrEqCase{\dynkin@series}{%
- {A}{\dynkin{A}{\dynkin@roots}}%
- {B}{\dynkin{B}{\dynkin@roots}}%
- {C}{\dynkin{C}{\dynkin@roots}}%
- {D}{\dynkin[y shift in edge lengths=-1.5,label]%
- {D}{\dynkin@roots}}%
+ {A}{\dynkin[vertical shift=0,%
+ edge length=\lie@hasse@edge@length]%
+ {A}{\dynkin@roots}}%
+ {B}{\dynkin[vertical shift=0,%
+ edge length=\lie@hasse@edge@length]%
+ {B}{\dynkin@roots}}%
+ {C}{\dynkin[vertical shift=0,%
+ edge length=\lie@hasse@edge@length]%
+ {C}{\dynkin@roots}}%
+ {D}{\dynkin[vertical shift=0,%
+ edge length=\lie@hasse@edge@length,%
+ y shift in edge lengths=-1.5,label]%
+ {D}{\dynkin@roots}}%
{E}%
{%%
\ifnum\dynkin@rank=6%
\dynkin[%
+ vertical shift=0,%
+ edge length=\lie@hasse@edge@length,%
upsidedown,%
labels*={1,...,6},%
y shift in edge lengths=.5]%
@@ -266,6 +303,8 @@
\lie@hasse@E@shift\the\dynkin@rank\relax%
\advance\lie@hasse@E@shift by -2\relax%
\dynkin[%
+ vertical shift=0,%
+ edge length=\lie@hasse@edge@length,%
backwards,%
upsidedown,%
label,%
@@ -274,16 +313,17 @@
{E}{\dynkin@roots}%
\fi%
}%%
- {F}{\dynkin{F}{\dynkin@roots}}%
- {G}{\backwardsGtwo{}}%
+ {F}{\dynkin[vertical shift=0,%
+ edge length=\lie@hasse@edge@length]%
+ {F}{\dynkin@roots}}%
+ {G}{\hasseAttachGtwo}%
}%
[\ClassError%
{Lie Hasse}%
- {Lie algebra series \dynkin@series{} not A,B,C,D,E,F or G when attaching Dynkin diagram}%
+ {Lie algebra series \dynkin@series{} %
+ not A,B,C,D,E,F or G when attaching Dynkin diagram}%
{}]%
}%
-
-
\newif\iflie@hasse@multiple@diagrams
\newcommand\doHasseDiagram[1]%%
{%
@@ -291,8 +331,7 @@
\ %
\fi%
\begin{tikzpicture}%
- [show background rectangle,%
- baseline=(current bounding box.east)]]%
+ [show background rectangle,baseline=(current bounding box.east)]%
\hasse#1%
\iflie@hasse@show@height%
\rootSystemHeight{\lie@hasse@height}%
@@ -327,33 +366,25 @@
}%
\begin{center}%
\expandafter\forscsvlist%
- \expandafter\doHasseDiagram%
- \expandafter{#1}%
+ \expandafter\doHasseDiagram\expandafter{#1}%
\end{center}%
}%
-
-
%%%
%%% Package internals:
%%%
-
-
\pgfdeclarelayer{Dynkin middle}
\pgfdeclarelayer{Dynkin above}
\pgfsetlayers{background,Dynkin behind,Dynkin middle,Dynkin above,main}
-
-
\newcommand*\label@list@at[1]{\csname FOOBAR-#1\endcsname}
\newcommand*\defn@label@list@entry[1]{\expandafter\def\csname FOOBAR-#1\endcsname}
\def\add@to@label@list#1#2{\global\defn@label@list@entry{#1}{#2}}%
\newcount\label@item@count%
\label@item@count 0\relax%
-\newcommand\add@label[1]%
+\newcommand\lie@hasse@add@label[1]%
{%
- \advance\label@item@count by 1\relax%
+ \global\advance\label@item@count by 1\relax%
\global\add@to@label@list{\the\label@item@count}{#1}%
}%
-
\xdef\lie@hasse@compact@roots{}%
\NewDocumentCommand\if@compact@root{mmm}%
{%
@@ -369,9 +400,8 @@
\dynkinOrder{\dynkin@series}{\the\dynkin@rank}.Carter::#1->\dynkin@ordering.%
{\current@simple@root}%
\StrChar{\dynkin@roots}{\current@simple@root}[\lie@hasse@root@marker]%
-\IfStrEq{*}{\lie@hasse@root@marker}{#2}{#3}%
+\IfStrEq{x}{\lie@hasse@root@marker}{#3}{#2}%
}%
-
\NewDocumentCommand\add@compact@root{m}%
{%
\if@compact@root{#1}%
@@ -382,53 +412,65 @@
\xdef\lie@hasse@compact@roots{\temp@lie@hasse@compact@roots{ }(#1)}%
}%
}%
-
\newcount\lie@hasse@sr%
-\newcount\drpo%
\NewDocumentCommand\add@compact@simple@roots@to@compact@roots{}%
{%
-\lie@hasse@sr 1\relax%
-\drpo\the\dynkin@rank\relax%
-\advance\drpo by 1\relax%
-\loop%
- \if@compact@simple@root{\the\lie@hasse@sr}%
- {%%
- \add@compact@root{1;\the\lie@hasse@sr}%
- }%%
- {%%
- }%%
- \advance\lie@hasse@sr by 1\relax%
-\ifnum\lie@hasse@sr<\the\drpo%
-\repeat%
+ \lie@hasse@sr 1\relax%
+ \loop%
+ \if@compact@simple@root{\the\lie@hasse@sr}%
+ {%%
+ \add@compact@root{1;\the\lie@hasse@sr}%
+ }%%
+ {%%
+ }%%
+ \advance\lie@hasse@sr by 1\relax%
+ \ifnum\lie@hasse@sr<\the\dynkin@rank@plus@one%
+ \repeat%
}%
-
-\newcount\drmo%
\newcount\lie@hasse@root@count%
\newcount\lie@hasse@root@count@b%
\newcount\max@lie@hasse@root@count%
\newcount\lie@hasse@reorder
-
\NewDocumentCommand\lie@hasse@fix@order{mm}%
{%
\dynkinOrder{\dynkin@series}{\dynkin@rank}.Carter::{#1}->\dynkin@ordering.{#2}%
}%
-
\NewDocumentCommand\draw@one@simple@root@label{mm}%
%% \draw@one@simple@root@label{r}{s}, draw at Carter number r
%% the root with text s.
{%
- \node[below,%
- label=%
- {%
- [below,%
- lie@hasse@color,%
- /Lie Hasse diagram/edge quotes]%
- \(\pgfkeys{/Dynkin diagram/label macro=#2}\)%
- }%
- ]%
- at%
- (1;#1)%
- {};%
+ \if@compact@simple@root{#1}%
+ {%
+ \iflie@hasse@show@levi%
+ \global\lie@hasse@ok@roottrue%
+ \else%
+ \global\lie@hasse@ok@rootfalse%
+ \fi%
+ }%
+ {%
+ \iflie@hasse@show@unipotent@radical%
+ \global\lie@hasse@ok@roottrue%
+ \else%
+ \global\lie@hasse@ok@rootfalse%
+ \fi%
+ }%
+ \iflie@hasse@ok@root%
+ \node[%
+ below,%
+ label=%
+ {%
+ [%
+ below,%
+ lie@hasse@color,%
+ /Lie Hasse diagram/edge quotes%
+ ]%
+ \(\pgfkeys{/Dynkin diagram/label macro={\edgeQuote{#2}}}\)%
+ }%
+ ]%
+ at%
+ (1;#1)%
+ {};%
+ \fi%
}%
\NewDocumentCommand\draw@simple@root@labels{}%
{%
@@ -471,27 +513,56 @@
\pgfmathsetmacro{\lie@hasse@huenum}{#1/\the\dynkin@rank}%
\global\definecolor{lie@hasse@color}{hsb}{\lie@hasse@huenum,1,.6}%
}%
-\NewDocumentCommand\draw@lie@hasse@root{m}%
+\NewDocumentCommand\draw@lie@hasse@root{mm}%
{%
-\if@compact@root{#1}%
-{%%
-\pgfkeys{/Lie Hasse diagram/compact root=#1}%
-}%%
-{%%
-\pgfkeys{/Lie Hasse diagram/noncompact root=#1}%
-}%%
+ \if@compact@root{#1;#2}%
+ {%%
+ \iflie@hasse@show@levi%
+ \pgfkeys{/Lie Hasse diagram/compact root={#1;#2}}%
+ \fi%
+ }%%
+ {%%
+ \iflie@hasse@show@unipotent@radical%
+ \pgfkeys{/Lie Hasse diagram/noncompact root={#1;#2}}%
+ \fi%
+ }%%
}%
-\xdef\lie@hasse@grade@a{}
-\xdef\lie@hasse@grade@b{}
-\xdef\lie@hasse@index@a{}
-\xdef\lie@hasse@index@b{}
\newcount\root@gpo%
\xdef\label@text{}%
+\newif\iflie@hasse@is@levi
+\newif\iflie@hasse@ok@root
\NewDocumentCommand\draw@lie@hasse@edge{O{}mmmm}%
%[edge label options]{from grade}{from index}{to index}{simple root}
{%
\root@gpo #2\relax%
\advance\root@gpo by 1\relax%
+ \if@compact@root{#2;#3}%
+ {%
+ \if@compact@simple@root{#5}%
+ {%
+ \global\lie@hasse@is@levitrue%
+ \add@compact@root{\the\root@gpo;#4}%
+ }%
+ {%
+ \global\lie@hasse@is@levifalse%
+ }%
+ }%
+ {%
+ \global\lie@hasse@is@levifalse%
+ }%
+ \iflie@hasse@is@levi%
+ \iflie@hasse@show@levi%
+ \global\lie@hasse@ok@roottrue%
+ \else%
+ \global\lie@hasse@ok@rootfalse%
+ \fi%
+ \else%
+ \iflie@hasse@show@unipotent@radical%
+ \global\lie@hasse@ok@roottrue%
+ \else%
+ \global\lie@hasse@ok@rootfalse%
+ \fi%
+ \fi%
\set@lie@hasse@color{#5}%
\lie@hasse@fix@order{#5}{\lie@hasse@root@count@b}%
\IfStrEq{\dynkin@label@list}{}%
@@ -505,31 +576,33 @@
}%
}%
\if@compact@simple@root{#5}%
- {%%% Compact
- \draw[%
- lie@hasse@color,%
- /Lie Hasse diagram/edge,%
- /Lie Hasse diagram/compact edge]%
- (#2;#3) --%
- node[lie@hasse@color,/Lie Hasse diagram/edge quotes,#1]%
- {\(\pgfkeys{/Dynkin diagram/label macro=\label@text}\)}%
- (\the\root@gpo;#4);%
- \IfSubStr{\lie@hasse@compact@roots}{#2;#3}%
- {%% adding to a compact
- \add@compact@root{\the\root@gpo;#4}%
- }%%
- {%%
- }%%
+ {%%% Compact simple root, i.e. edge
+ \iflie@hasse@ok@root%
+ \draw[%
+ lie@hasse@color,%
+ /Lie Hasse diagram/edge,%
+ /Lie Hasse diagram/compact edge]%
+ (#2;#3)--%
+ node[lie@hasse@color,/Lie Hasse diagram/edge quotes,#1]%
+ {\(\pgfkeys{/Dynkin diagram/label macro={\edgeQuote{\label@text}}}\)}%
+ (\the\root@gpo;#4);%
+ \fi%
+ \iflie@hasse@is@levi%
+ \fi%
}%%%
{%%% Noncompact
- \draw[%
- lie@hasse@color,%
- /Lie Hasse diagram/edge,%
- /Lie Hasse diagram/noncompact edge]%
- (#2;#3) --%
+ \iflie@hasse@ok@root%
+ \draw
+ [%
+ lie@hasse@color,%
+ /Lie Hasse diagram/edge,%
+ /Lie Hasse diagram/noncompact edge%
+ ]%
+ (#2;#3)--%
node[lie@hasse@color,/Lie Hasse diagram/edge quotes,#1]%
- {\(\pgfkeys{/Dynkin diagram/label macro=\label@text}\)}%
+ {\(\pgfkeys{/Dynkin diagram/label macro={\edgeQuote{\label@text}}}\)}%
(\the\root@gpo;#4);%
+ \fi%
}%%%
}%
\newcount\A@series@grade%
@@ -555,8 +628,8 @@
\coordinate
(\the\A@series@grade;\the\A@series@j)
at
- ({.5*\the\A@series@x*\dynkin@edge@length},
- {.25*\the\A@series@y*\dynkin@edge@length})
+ ({.5*\the\A@series@x*\lie@hasse@edge@length},
+ {.25*\the\A@series@y*\lie@hasse@edge@length})
{};%
\advance\A@series@j by 1\relax%
\advance\A@series@x by 2\relax%
@@ -569,59 +642,35 @@
\ifnum\A@series@grade<\the\max@A@series@grade%
\repeat%
}%
-\newcount\A@series@grade%
-\newcount\max@A@series@grade%
-\NewDocumentCommand\draw@A@roots{}%
-{%
- \A@series@grade 1\relax%
- \max@A@series@grade \the\dynkin@rank\relax%
- \advance\max@A@series@grade by 1\relax%
- \loop%
- \max@A@series@j\the\dynkin@rank\relax%
- \advance\max@A@series@j by -\the\A@series@grade\relax%
- \advance\max@A@series@j by 2\relax%
- \A@series@j 1\relax%
- {%
- \loop%
- \draw@lie@hasse@root%
- {\the\A@series@grade;\the\A@series@j}%
- \advance\A@series@j by 1\relax%
- \ifnum\A@series@j<\the\max@A@series@j%
- \repeat%
- }%
- \advance\A@series@grade by 1\relax%
- \ifnum\A@series@grade<\the\max@A@series@grade%
- \repeat%
-}%
\newcount\maxA@i%
\newcount\maxA@j%
\newcount\A@lbl%
-\newcount\A@i%
-\newcount\A@j%
-\newcount\A@ipo%
+\newcount\lie@hasse@i%
+\newcount\lie@hasse@j%
+\newcount\lie@hasse@ipo%
\newcount\A@rj%
\newcount\A@rjmo%
\NewDocumentCommand\draw@A@edges{}%
{%
\maxA@i\the\dynkin@rank\relax%
- \A@i 1\relax%
+ \lie@hasse@i 1\relax%
\loop%
\maxA@j \the\dynkin@rank\relax%
- \advance\maxA@j by -\the\A@i\relax%
+ \advance\maxA@j by -\the\lie@hasse@i\relax%
\advance\maxA@j by 1\relax%
\ifnum\maxA@j>-1%
- \A@j 1\relax%
+ \lie@hasse@j 1\relax%
{%
\loop%
- \A@lbl\the\A@i\relax%
- \advance\A@lbl by \the\A@j\relax%
- \A@ipo \A@i\relax%
- \advance\A@ipo by 1\relax%
+ \A@lbl\the\lie@hasse@i\relax%
+ \advance\A@lbl by \the\lie@hasse@j\relax%
+ \lie@hasse@ipo \lie@hasse@i\relax%
+ \advance\lie@hasse@ipo by 1\relax%
\draw@lie@hasse@edge[left]%
- {\the\A@i}{\the\A@j}%
- {\the\A@j}{\the\A@lbl}%
+ {\the\lie@hasse@i}{\the\lie@hasse@j}%
+ {\the\lie@hasse@j}{\the\A@lbl}%
\A@rj\the\maxA@j\relax%
- \advance\A@rj by -\the\A@j\relax%
+ \advance\A@rj by -\the\lie@hasse@j\relax%
\advance\A@rj by 1\relax%
\A@rjmo\the\A@rj\relax%
\advance\A@rjmo by -1\relax%
@@ -629,15 +678,15 @@
\advance\A@lbl by \the\dynkin@rank%
\advance\A@lbl by 1%
\draw@lie@hasse@edge[right]%
- {\the\A@i}{\the\A@rj}%
+ {\the\lie@hasse@i}{\the\A@rj}%
{\the\A@rjmo}{\the\A@lbl}%
- \advance\A@j by 1\relax%
- \ifnum\A@j<\the\maxA@j%
+ \advance\lie@hasse@j by 1\relax%
+ \ifnum\lie@hasse@j<\the\maxA@j%
\repeat%
}%
\fi%
- \advance\A@i by 1\relax%
- \ifnum\A@i<\the\maxA@i%
+ \advance\lie@hasse@i by 1\relax%
+ \ifnum\lie@hasse@i<\the\maxA@i%
\repeat%
}%
%% \hasse@A@width@at@grade{g}{\w} sets the counter \w to
@@ -653,7 +702,6 @@
{%
\place@A@roots%
\draw@A@edges%
- \draw@A@roots%
}%
%% \hasse@BC@width@at@grade{g}{\w} sets the counter \w to
%% the value of the width (number of roots) at grade g of
@@ -666,138 +714,116 @@
\global\advance#2 by 1\relax%
\global\divide#2 by 2\relax%
}%
-\newcount\tdrmt%
-\newcount\tdrmo%
+\newcount\twice@dynkin@rank@minus@one%
\newcount\max@BC@r%
\newcount\BC@r%
\newcount\BC@series@x%
\newcount\BC@series@y%
\NewDocumentCommand\place@BC@roots{}%
{%
-\drmo \the\dynkin@rank\relax%
-\advance\drmo by -1\relax%
-\tdrmt \the\drmo\relax%
-\advance\tdrmt by \the\drmo\relax%
-\tdrmo \the\tdrmt\relax%
-\advance\tdrmo 1\relax%
-\max@BC@r \the\dynkin@rank\relax%
-\advance\max@BC@r by 1\relax%
-\BC@r 1\relax%
-\loop%
- \BC@series@x \the\BC@r\relax%
- \advance\BC@series@x by -1\relax%
- \advance\BC@series@x by \the\BC@series@x\relax%
- \BC@series@y 1\relax%
- {%%
+ \twice@dynkin@rank@minus@one \the\dynkin@rank\relax%
+ \advance\twice@dynkin@rank@minus@one by \the\dynkin@rank\relax%
+ \advance\twice@dynkin@rank@minus@one by -1\relax%
+ \max@BC@r \the\dynkin@rank\relax%
+ \advance\max@BC@r by 1\relax%
+ \BC@r 1\relax%
\loop%
- \coordinate
- (\the\BC@series@y;\the\BC@r)
- at
- ({.5*\the\BC@series@x*\dynkin@edge@length},
- {.5*(\the\BC@series@y-1)*\dynkin@edge@length})
- {};%
- \advance\BC@series@y by 1\relax%
- \advance\BC@series@x by 1\relax%
- \ifnum\BC@series@x<\the\tdrmo\repeat%
- }%%
- \advance\BC@r by 1\relax%
- \ifnum\BC@r<\the\max@BC@r%
-\repeat%
+ \BC@series@x \the\BC@r\relax%
+ \advance\BC@series@x by -1\relax%
+ \advance\BC@series@x by \the\BC@series@x\relax%
+ \BC@series@y 1\relax%
+ {%%
+ \loop%
+ \coordinate
+ (\the\BC@series@y;\the\BC@r)
+ at
+ ({.5*\the\BC@series@x*\lie@hasse@edge@length},
+ {.5*(\the\BC@series@y-1)*\lie@hasse@edge@length})
+ {};%
+ \advance\BC@series@y by 1\relax%
+ \advance\BC@series@x by 1\relax%
+ \ifnum\BC@series@x<\the\twice@dynkin@rank@minus@one\repeat%
+ }%%
+ \advance\BC@r by 1\relax%
+ \ifnum\BC@r<\the\max@BC@r%
+ \repeat%
+}%
+\newcount\BC@height%
+\newcount\BC@g%
+\NewDocumentCommand\draw@BC@edges{}%
+{%
+ \rootSystemHeight{\BC@height}%
+ \ifnum\BC@height>1%
+ \BC@g 1\relax%
+ \loop%
+ \draw@BC@edges@at@grade{\the\BC@g}%
+ \global\advance\BC@g by 1\relax%
+ \ifnum\BC@g<\BC@height%
+ \repeat%
+ \fi%
}%
-\newcount\max@BC@i%
\newcount\BC@i%
-\newcount\BC@series@x%
-\newcount\BC@series@y%
+\newcount\BC@width%
+\newcount\BC@width@plus@one%
+\NewDocumentCommand\draw@BC@edges@at@grade{m}%
+{%
+ \rootSystemWidthAtGrade{#1}{\BC@width}%
+ \BC@width@plus@one \BC@width\relax%
+ \advance \BC@width@plus@one by 1\relax%
+ \BC@i 1\relax%
+ {%
+ \loop%
+ \draw@BC@edges@at@root{#1}{\the\BC@i}%
+ \global\advance\BC@i by 1\relax%
+ \ifnum\BC@i<\BC@width@plus@one\repeat%
+ }%
+}%
+\newcount\BC@height%
\newcount\BC@ii%
-\newcount\BC@series@yy%
-\newcount\BC@series@yy%
-\newcount\lbl%
+\newif\ifBC@draw%
+\newcount\lie@hasse@lbl%
\newcount\temp@lbl%
-\NewDocumentCommand\draw@BC@edges{s}%
-{%
-\tdrmo \the\dynkin@rank\relax%
-\advance\tdrmo by \the\dynkin@rank\relax%
-\advance\tdrmo by -1\relax%
-\max@BC@i \the\dynkin@rank\relax%
-\advance\max@BC@i by 1\relax%
-\BC@i 1\relax%
-\loop%
- \BC@series@x \the\BC@i\relax%
- \advance\BC@series@x by \the\BC@i\relax%
- \advance\BC@series@x by -2\relax%
- \BC@series@y 1\relax%
- {%%
- \loop%
- \ifnum\BC@i>1%
- % draw an edge upward to the left
- \BC@ii \the\BC@i\relax%
- \advance\BC@ii by -1\relax%
- \BC@series@yy \the\BC@series@y\relax%
- \advance\BC@series@yy by 1\relax%
- \draw@lie@hasse@edge[right]%
- {\the\BC@series@y}{\the\BC@i}%
- {\the\BC@ii}%
- {\the\BC@ii}%
+\NewDocumentCommand\draw@BC@edges@at@root{mm}%
+{%
+ \ifnum#2>1%
+ % draw an edge upward to the left
+ \BC@ii #2\relax%
+ \advance\BC@ii by -1\relax%
+ \draw@lie@hasse@edge[right]%
+ {#1}{#2}%
+ {\the\BC@ii}
+ {\the\BC@ii}%
+ \fi%
+ \BC@drawtrue%
+ \ifodd#1
+ \ifnum#2=\the\BC@width%
+ \global\BC@drawfalse%
\fi%
- \ifnum\BC@series@y>1%
- % draw an edge downward to the left
- \BC@series@yy \the\BC@series@y\relax%
- \advance\BC@series@yy by -1\relax%
- \lbl \the\BC@i\relax%
- \advance\lbl by \the\BC@series@y\relax%
- \advance\lbl by -1\relax%
- \ifnum\dynkin@rank<\the\lbl%
- \temp@lbl \the\lbl\relax%
- \lbl \the\dynkin@rank\relax%
- \advance\lbl by \the\dynkin@rank%
- \advance\lbl by -\the\temp@lbl%
+ \fi%
+ \ifBC@draw%
+ % draw an edge upward to the right
+ \lie@hasse@lbl #2\relax%
+ \advance\lie@hasse@lbl by #1\relax%
+ \ifnum\dynkin@rank<\the\lie@hasse@lbl%
+ \temp@lbl \the\lie@hasse@lbl\relax%
+ \lie@hasse@lbl \the\dynkin@rank\relax%
+ \advance\lie@hasse@lbl by \the\dynkin@rank%
+ \advance\lie@hasse@lbl by -\the\temp@lbl%
%% For the B series:
- \IfBooleanF{#1}{\global\advance\lbl by 1\relax}%
- \draw@lie@hasse@edge[left]%
- {\the\BC@series@yy}{\the\BC@i}%
- {\the\BC@i}%
- {\the\lbl}%
- \else%
- \draw@lie@hasse@edge[left]%
- {\the\BC@series@yy}{\the\BC@i}%
- {\the\BC@i}%
- {\the\lbl}%
+ \iflie@hasse@B%
+ \global\advance\lie@hasse@lbl by 1\relax%
\fi%
+ \draw@lie@hasse@edge[left]%
+ {#1}{#2}%
+ {#2}%
+ {\the\lie@hasse@lbl}%
+ \else%
+ \draw@lie@hasse@edge[left]%
+ {#1}{#2}%
+ {#2}%
+ {\the\lie@hasse@lbl}%
\fi%
- \advance\BC@series@y by 1\relax%
- \advance\BC@series@x by 1\relax%
- \ifnum\BC@series@x<\the\tdrmo\repeat%
- }%%
- \advance\BC@i by 1\relax%
- \ifnum\BC@i<\the\max@BC@i%
-\repeat%
-}%
-\newcount\tdrpt%
-\newcount\BC@r%
-\newcount\BC@series@y%
-\newcount\maxy%
-\NewDocumentCommand\draw@BC@roots{}%
-{%
-\tdrpt \the\dynkin@rank\relax%
-\advance\tdrpt by \the\dynkin@rank\relax%
-\advance\tdrpt by 2\relax%
-\max@BC@r \the\dynkin@rank\relax%
-\advance\max@BC@r by 1\relax%
-\BC@r 1\relax%
-\loop%
- \BC@series@y 1\relax%
- \maxy \tdrpt\relax%
- \advance\maxy -\the\BC@r\relax%
- \advance\maxy -\the\BC@r\relax%
- {%%
- \loop%
- \draw@lie@hasse@root{\the\BC@series@y;\the\BC@r}%
- \advance\BC@series@y by 1\relax%
- \ifnum\BC@series@y<\the\maxy\repeat%
- }%%
- \advance\BC@r by 1\relax%
- \ifnum\BC@r<\the\max@BC@r%
-\repeat%
+ \fi%
}%
\NewDocumentCommand\hasse@BC{s}% star for C:
{%
@@ -809,7 +835,6 @@
{%
\draw@BC@edges%
}%
- \draw@BC@roots%
}%
\NewDocumentCommand\hasse@D{}%
{%
@@ -818,51 +843,45 @@
\iflie@hasse@threeD%
\draw@D@hasse@three@D%
\fi%
- \draw@D@roots%
}%
-\newcount\drmt%
\NewDocumentCommand\draw@D@hasse@three@D{}%
{%
- \drmo \the\dynkin@rank\relax%
- \advance\drmo by -1\relax%
- \drmt \the\dynkin@rank\relax%
- \advance\drmt by -2\relax%
\begin{pgfonlayer}{Dynkin middle}%
\fill[/Lie Hasse diagram/left]
- (\the\drmt;1) --
- (\the\drmo;1) --
+ (\the\dynkin@rank@minus@two;1) --
+ (\the\dynkin@rank@minus@one;1) --
(\the\dynkin@rank;1) --
- (\the\drmo;2) --
+ (\the\dynkin@rank@minus@one;2) --
cycle;%
\fill[/Lie Hasse diagram/top]
- (\the\drmt;1) --
- (1;\the\drmt) --
- (2;\the\drmo) --
- (\the\drmo;2) --
+ (\the\dynkin@rank@minus@two;1) --
+ (1;\the\dynkin@rank@minus@two) --
+ (2;\the\dynkin@rank@minus@one) --
+ (\the\dynkin@rank@minus@one;2) --
cycle;%
\fill[/Lie Hasse diagram/top]
- (\the\drmo;2) --
+ (\the\dynkin@rank@minus@one;2) --
(\the\dynkin@rank;1) --
- (3;\the\drmo) --
- (2;\the\drmo) --
+ (3;\the\dynkin@rank@minus@one) --
+ (2;\the\dynkin@rank@minus@one) --
cycle;%
\fill[/Lie Hasse diagram/top]
- (\the\drmo;1) --
+ (\the\dynkin@rank@minus@one;1) --
(\the\dynkin@rank;1) --
- (3;\the\drmo) --
- (2;\the\drmt) --
+ (3;\the\dynkin@rank@minus@one) --
+ (2;\the\dynkin@rank@minus@two) --
cycle;%
\fill[/Lie Hasse diagram/top]
- (\the\drmt;1) --
- (\the\drmo;1) --
- (2;\the\drmt) --
- (1;\the\drmt) --
+ (\the\dynkin@rank@minus@two;1) --
+ (\the\dynkin@rank@minus@one;1) --
+ (2;\the\dynkin@rank@minus@two) --
+ (1;\the\dynkin@rank@minus@two) --
cycle;%
\fill[/Lie Hasse diagram/left]
- (1;\the\drmt) --
- (2;\the\drmt) --
- (3;\the\drmo) --
- (2;\the\drmo) --
+ (1;\the\dynkin@rank@minus@two) --
+ (2;\the\dynkin@rank@minus@two) --
+ (3;\the\dynkin@rank@minus@one) --
+ (2;\the\dynkin@rank@minus@one) --
cycle;%
\end{pgfonlayer}%
}%
@@ -883,9 +902,7 @@
\newcount\D@g%
\newcount\maxD@grd%
\newcount\D@grd%
-\newcount\maxxD%
-\newcount\iD%
-\newcount\xxD%
+\newcount\lie@hasse@D@x%
\newcount\sum@D%
\NewDocumentCommand\place@D@roots{}%
{%
@@ -918,37 +935,34 @@
\repeat%
}%
}%
-\newcount\drpo%
\NewDocumentCommand\place@D@root@at{mm}%
{%
- \xxD #1\relax%
- \advance\xxD by #2\relax%
- \advance\xxD by #2\relax%
- \advance\xxD by -3\relax%
- \drpo \the\dynkin@rank\relax%
- \advance\drpo by 1\relax%
+ \lie@hasse@D@x #1\relax%
+ \advance\lie@hasse@D@x by #2\relax%
+ \advance\lie@hasse@D@x by #2\relax%
+ \advance\lie@hasse@D@x by -3\relax%
\sum@D #1\relax%
\advance\sum@D by #2\relax%
\ifnum\sum@D=\the\dynkin@rank%
\global\def\D@root@x%
- {\the\xxD-\lie@hasse@three@D@shift}%
+ {\the\lie@hasse@D@x-\lie@hasse@three@D@shift}%
\else%
- \ifnum\sum@D=\the\drpo%
+ \ifnum\sum@D=\the\dynkin@rank@plus@one%
\ifnum#1<\the\dynkin@rank%
\global\def\D@root@x%
- {\the\xxD-2+\lie@hasse@three@D@shift}%
+ {\the\lie@hasse@D@x-2+\lie@hasse@three@D@shift}%
\else%
- \global\def\D@root@x{\the\xxD}%
+ \global\def\D@root@x{\the\lie@hasse@D@x}%
\fi%
\else%
\ifnum\sum@D<\the\dynkin@rank%
- \global\def\D@root@x{\the\xxD}%
+ \global\def\D@root@x{\the\lie@hasse@D@x}%
\else%
% if \sum@D exceeds rank+1
\ifnum#1<\the\dynkin@rank%
- \global\def\D@root@x{\the\xxD-2}%
+ \global\def\D@root@x{\the\lie@hasse@D@x-2}%
\else%
- \global\def\D@root@x{\the\xxD}%
+ \global\def\D@root@x{\the\lie@hasse@D@x}%
\fi%
\fi%
\fi%
@@ -956,7 +970,7 @@
\coordinate
(#1;#2)
at
- ({(\D@root@x)*\dynkin@edge@length/2},{(#1-1)*\dynkin@edge@length/2})
+ ({(\D@root@x)*\lie@hasse@edge@length/2},{(#1-1)*\lie@hasse@edge@length/2})
{};%
}%
\NewDocumentCommand\draw@D@edges{}%
@@ -983,7 +997,8 @@
\D@r 1\relax%
{%
\loop%
- \draw@D@edges@at{#1}{\the\D@r}{\the\max@D@roots}%
+%%% \draw@D@edges@at{#1}{\the\D@r}{\the\max@D@roots}%
+ \draw@D@edges@at{#1}{\the\D@r}%
\advance\D@r by 1\relax%
\ifnum\D@r<\the\max@D@roots@plus@one%
\repeat%
@@ -1000,10 +1015,6 @@
\newcount\hasse@D@label%
\NewDocumentCommand\draw@D@edges@at{mm}%
{%
- \drmo\the\dynkin@rank\relax%
- \advance\drmo by -1\relax%
- \drpo \the\dynkin@rank\relax%
- \advance\drpo by 1\relax%
\hasse@D@gpo#1\relax%
\advance\hasse@D@gpo by 1\relax%
\hasse@D@gpi#1\relax%
@@ -1035,7 +1046,7 @@
\xdef\hasse@D@layer{Dynkin above}%
\else%
% below or middle.
- \ifnum\hasse@D@gpi=\the\drpo%
+ \ifnum\hasse@D@gpi=\the\dynkin@rank@plus@one%
\xdef\hasse@D@layer{Dynkin behind}%
\fi%
\fi%
@@ -1045,7 +1056,7 @@
\fi%
\fi%
\ifnum\dynkin@rank>#1%
- \ifnum\hasse@D@gpi<\the\drpo%
+ \ifnum\hasse@D@gpi<\the\dynkin@rank@plus@one%
\else%
\global\advance\hasse@D@label -1\relax%
\fi%
@@ -1069,7 +1080,7 @@
\fi%
\fi%
\ifnum#1=1%
- \ifnum\drmo=#2%
+ \ifnum\dynkin@rank@minus@one=#2%
\global\hasse@Dfalse\relax%
\else%
\xdef\hasse@D@LR{right}%
@@ -1080,13 +1091,13 @@
\ifnum\hasse@D@label>\the\dynkin@rank%
\hasse@D@label -\hasse@D@label\relax%
\advance\hasse@D@label \the\dynkin@rank\relax%
- \advance\hasse@D@label \the\drmo\relax%
+ \advance\hasse@D@label \the\dynkin@rank@minus@one\relax%
\fi%
- \ifnum\drmo<#1%
+ \ifnum\dynkin@rank@minus@one<#1%
\else%
\ifnum#2=1%
\else%
- \ifnum\hasse@D@gpi<\the\drpo%
+ \ifnum\hasse@D@gpi<\the\dynkin@rank@plus@one%
\else%
\advance\hasse@D@label 1\relax%
\fi%
@@ -1099,11 +1110,11 @@
\global\advance\hasse@D@target by 1\relax%
\fi%
\else%
- \ifnum\drmo=#1%
+ \ifnum\dynkin@rank@minus@one=#1%
\global\advance\hasse@D@target by -1\relax%
\fi%
\fi%
- \ifnum\hasse@D@gpi=\the\drpo%
+ \ifnum\hasse@D@gpi=\the\dynkin@rank@plus@one%
\ifnum#2>1%
\xdef\hasse@D@layer{Dynkin behind}%
\xdef\hasse@D@LR{right}%
@@ -1112,7 +1123,7 @@
\ifnum\hasse@D@gpi=\the\dynkin@rank%
\xdef\hasse@D@layer{Dynkin above}%
\else%
- \ifnum\hasse@D@gpi=\the\drmo%
+ \ifnum\hasse@D@gpi=\the\dynkin@rank@minus@one%
\xdef\hasse@D@layer{Dynkin above}%
\else%
\xdef\hasse@D@layer{Dynkin middle}%
@@ -1129,7 +1140,7 @@
\end{pgfonlayer}%
\fi%
% % Draw any other edges.
- \ifnum\hasse@D@gpi=\the\drmo%
+ \ifnum\hasse@D@gpi=\the\dynkin@rank@minus@one%
\hasse@D@target#2\relax%
\advance\hasse@D@target by 1\relax%
\begin{pgfonlayer}{Dynkin behind}
@@ -1142,38 +1153,7 @@
}%
\newcount\maxD@grd%
\newcount\D@grd%
-\newcount\maxxD%
\newcount\sum@D%
-\NewDocumentCommand\draw@D@roots{}%
-{%
- \drmo \the\dynkin@rank\relax%
- \advance\drmo by -1\relax%
- \maxD@grd \the\dynkin@rank\relax%
- \advance\maxD@grd by \the\dynkin@rank\relax%
- \advance\maxD@grd by -2\relax%
- \D@grd 1\relax%
- \loop%
- % Construct the roots at grade \D@grd.
- \draw@D@roots@at@grade{\D@grd}%
- \advance\D@grd by 1\relax%
- \ifnum\D@grd<\the\maxD@grd%
- \repeat%
-}%
-\NewDocumentCommand\draw@D@roots@at@grade{m}%
-{%
- \hasse@D@width@at@grade{#1}{\max@D@roots}%
- \max@D@roots@plus@one \the\max@D@roots\relax%
- \advance\max@D@roots@plus@one 1\relax%
- \D@r 1\relax%
- {%
- \loop%
- \draw@lie@hasse@root{\the\D@grd;\the\D@r}%
- \advance\D@r by 1\relax%
- \ifnum\D@r<\the\max@D@roots@plus@one%
- \repeat%
- }%
-}%
-%}%
\newcount\lie@hasse@grade@no
\newcount\lie@hasse@root@no
\def\lie@hasse@XX{}
@@ -1205,14 +1185,14 @@
\coordinate
(\the\lie@hasse@grade@no;\the\lie@hasse@root@no)
at
- ({\lie@hasse@XX*\dynkin@edge@length/2},
- {(\the\lie@hasse@grade@no-1)*\dynkin@edge@length/2}) {};%
+ ({\lie@hasse@XX*\lie@hasse@edge@length/2},
+ {(\the\lie@hasse@grade@no-1)*\lie@hasse@edge@length/2}) {};%
\global\advance\lie@hasse@root@no by 1%
}%
\NewDocumentCommand\lie@hasse@place@root@list{m}%
{%
\global\lie@hasse@root@no 1\relax%
- \expandafter\forcsvlist\expandafter{\lie@hasse@place@root}{#1}%
+ \expandafter\forcsvlist\expandafter\lie@hasse@place@root{#1}%
\global\advance\lie@hasse@grade@no by 1%
}%
\NewDocumentCommand\lie@hasse@place@roots{m}%
@@ -1224,26 +1204,6 @@
}%
\expandafter\docsvlist\expandafter{#1}%
}%
-\NewDocumentCommand\lie@hasse@draw@root{m}%
-{%
- \draw@lie@hasse@root{\the\lie@hasse@grade@no;\the\lie@hasse@root@no}%
- \global\advance\lie@hasse@root@no by 1%
-}%
-\NewDocumentCommand\lie@hasse@root@draw@list{m}%
-{%
- \global\lie@hasse@root@no 1\relax%
- \expandafter\forcsvlist\expandafter{\lie@hasse@draw@root}{#1}%
- \global\advance\lie@hasse@grade@no by 1%
-}%
-\NewDocumentCommand\lie@hasse@draw@roots{m}%
-{%
- \global\lie@hasse@grade@no 1\relax%
- \renewcommand*{\do}[1]%
- {%
- \lie@hasse@root@draw@list{##1}%
- }%
- \expandafter\docsvlist\expandafter{#1}%
-}%
\newcount\lie@hasse@grade@no@plus@one%
\newcount\lie@hasse@edge@count%
\def\lie@hasse@edge@go{%
@@ -1256,7 +1216,8 @@
{%
\global\advance\lie@hasse@edge@count by 1\relax%
\begin{pgfonlayer}{Dynkin above}%
- \lie@hasse@finish@edge#1!%
+%%? \lie@hasse@finish@edge#1!%
+ \lie@hasse@finish@edge#1\relax%
\end{pgfonlayer}%
}%
\def\lie@hasse@process@edge@behind#1!%
@@ -1289,13 +1250,12 @@
\NewDocumentCommand\lie@hasse@process@edge@lists{m}%
{%
\global\lie@hasse@grade@no 1\relax%
- \expandafter\forcsvlist\expandafter{\lie@hasse@process@edge@list}{#1}%
+ \expandafter\forcsvlist\expandafter\lie@hasse@process@edge@list{#1}%
}%
\NewDocumentCommand\hasse@X{mm}%
{%
\lie@hasse@place@roots{#1}%
\lie@hasse@process@edge@lists{#2}%
- \lie@hasse@draw@roots{#1}%
}%
\NewDocumentCommand\hasse@E@six@width@at@grade{mm}%
{%
@@ -1323,7 +1283,11 @@
#2 1%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
}%
-% In the following code, edges are described by grade: in grade g, the expression i+r<j. means an edge from g;i to (g+1);j labelled by root r, with a label on the left; use > instead of < to get the right. Use a star in front to get this edge on the higher layer.
+% In the following code, edges are described by grade:
+% in grade g, the expression i+r<j. means an edge from
+% g;i to (g+1);j labelled by root r, with a label on
+% the left; use > instead of < to get the right. Use a
+% star in front to get this edge on the higher layer.
\NewDocumentCommand\hasse@E@six{}%
{%
\hasse@X%
@@ -1353,13 +1317,45 @@
}%%%
\iflie@hasse@threeD%
\begin{pgfonlayer}{Dynkin middle}%
-\fill[/Lie Hasse diagram/top] (2;1) -- (5;3) -- (2;5) -- (1;5) -- (2;4) -- (1;3) -- (2;2) -- (1;2) -- cycle;%
-\fill[/Lie Hasse diagram/top] (2;3) -- (4;1) -- (6;2) -- (4;5) -- cycle;%
-\fill[/Lie Hasse diagram/right] (1;3) -- (2;3) -- (4;5) -- (3;5) -- cycle;%
-\fill[/Lie Hasse diagram/left] (3;1) -- (4;1) -- (2;3) -- (1;3) -- cycle;%
-\fill[/Lie Hasse diagram/left] (4;3) -- (5;1) -- (6;1) -- (5;2) -- cycle;%
-\fill[/Lie Hasse diagram/right] (4;3) -- (5;2) -- (6;3) -- (5;4) -- cycle;%
-\fill[/Lie Hasse diagram/top] (5;2) -- (7;1) -- (9;1) -- (7;3) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (2;1) --
+ (5;3) --
+ (2;5) --
+ (1;5) --
+ (2;4) --
+ (1;3) --
+ (2;2) --
+ (1;2) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (2;3) --
+ (4;1) --
+ (6;2) --
+ (4;5) -- cycle;%
+ \fill[/Lie Hasse diagram/right]
+ (1;3) --
+ (2;3) --
+ (4;5) --
+ (3;5) -- cycle;%
+ \fill[/Lie Hasse diagram/left]
+ (3;1) --
+ (4;1) --
+ (2;3) --
+ (1;3) -- cycle;%
+ \fill[/Lie Hasse diagram/left]
+ (4;3) --
+ (5;1) --
+ (6;1) --
+ (5;2) -- cycle;%
+ \fill[/Lie Hasse diagram/right]
+ (4;3) --
+ (5;2) --
+ (6;3) --
+ (5;4) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (5;2) --
+ (7;1) --
+ (9;1) --
+ (7;3) -- cycle;%
\end{pgfonlayer}%
\fi%
}%
@@ -1399,7 +1395,6 @@
#2 1%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
}%
-
\NewDocumentCommand\hasse@E@seven{}%
{%
\hasse@X%
@@ -1457,20 +1452,64 @@
}%%%
\iflie@hasse@threeD%
\begin{pgfonlayer}{Dynkin middle}%
-\fill[/Lie Hasse diagram/top] (2;1) -- (6;3) -- (2;6) -- (1;6) -- (2;5) -- (1;4) -- (2;3) -- (1;3) --
- (2;2) -- (1;2) -- cycle;%
-\fill[/Lie Hasse diagram/top] (5;1) -- (7;3) -- (4;6) -- (2;4) -- cycle;%
-\fill[/Lie Hasse diagram/top] (7;1) -- (9;3) -- (7;5) -- (5;4) -- cycle;%
-\fill[/Lie Hasse diagram/top] (9;1) -- (12;1) -- (13;1) -- (14;1) -- (11;3) -- (7;2) -- cycle;%
-\fill[/Lie Hasse diagram/right] (1;4) -- (2;4) -- (4;6) -- (3;6) -- cycle;%
-\fill[/Lie Hasse diagram/left] (4;1) -- (5;1) -- (2;4) -- (1;4) -- cycle;%
-\fill[/Lie Hasse diagram/left] (4;4) -- (6;1) -- (8;1) -- (7;2) -- (6;2) -- (5;4) -- cycle;%
-\fill[/Lie Hasse diagram/right] (4;4) -- (5;4) -- (6;5) -- (5;6) -- cycle;%
-\fill[/Lie Hasse diagram/right] (6;2) -- (7;2) -- (9;4) -- (8;4) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (2;1) --
+ (6;3) --
+ (2;6) --
+ (1;6) --
+ (2;5) --
+ (1;4) --
+ (2;3) --
+ (1;3) --
+ (2;2) --
+ (1;2) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (5;1) --
+ (7;3) --
+ (4;6) --
+ (2;4) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (7;1) --
+ (9;3) --
+ (7;5) --
+ (5;4) -- cycle;%
+ \fill[/Lie Hasse diagram/top]
+ (9;1) --
+ (12;1) --
+ (13;1) --
+ (14;1) --
+ (11;3) --
+ (7;2) -- cycle;%
+ \fill[/Lie Hasse diagram/right]
+ (1;4) --
+ (2;4) --
+ (4;6) --
+ (3;6) -- cycle;%
+ \fill[/Lie Hasse diagram/left]
+ (4;1) --
+ (5;1) --
+ (2;4) --
+ (1;4) -- cycle;%
+ \fill[/Lie Hasse diagram/left]
+ (4;4) --
+ (6;1) --
+ (8;1) --
+ (7;2) --
+ (6;2) --
+ (5;4) -- cycle;%
+ \fill[/Lie Hasse diagram/right]
+ (4;4) --
+ (5;4) --
+ (6;5) --
+ (5;6) -- cycle;%
+ \fill[/Lie Hasse diagram/right]
+ (6;2) --
+ (7;2) --
+ (9;4) --
+ (8;4) -- cycle;%
\end{pgfonlayer}%
\fi%
}%
-
\NewDocumentCommand\hasse@E@eight@width@at@grade{mm}%
{%
\ifnum#1=1%
@@ -1527,7 +1566,6 @@
#2 1%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
}%
-
\NewDocumentCommand\hasse@E@eight{}%
{%
\hasse@X{%
@@ -1754,11 +1792,11 @@
{{0,2,4,6},{1,3,5},{2,3:1,4},{2:1,3,4:1},{1:1,3:1,5:1},{2:1,4:1},{1:1,3:1},{2:1},{2:2},{2:3},{2:4}}%
{% grades:
{% 1
-1+2<1,*2+3<2,*3+4<3,*2+1>1,*3+2>2,4+3>3},
+1+2<1,*2+3>2,*3+4>3,*2+1<1,*3+2<2,4+3>3},
{% 2
-*1+3<1,*2+4<3,*2+3<2,*2+1<1,3+2>3},
+*1+3<1,*2+4>3,*2+1<1,*2+3>2,3+2>3},
{% 3
-*1+3<1,1+4<2,*2+4<3,*2+1<1,3+1>2,*3+3>3},
+*1+3<1,1+4>2,*2+4>3,*2+1<1,3+1>2,*3+3>3},
{% 4
*1+2<1,*1+4<2,2+3<2,*3+1>2,*3+4>3},
{% 5
@@ -2026,8 +2064,8 @@
}%
\global\root@sum@resetfalse%
}%
-\xdef\my@root@sum{}%
-\xdef\my@fixed@root@sum{}%
+\xdef\lie@hasse@root@sum{}%
+\xdef\lie@hasse@fixed@root@sum{}%
\NewDocumentCommand\rootSum{oommm}%
{%
\IfValueT{#1}%
@@ -2053,15 +2091,15 @@
\fi%
\IfStrEqCase{\dynkin@series}%
{%
- {A}{\hasse@A@root@sum{#3}{#4}{\my@root@sum}}%
- {B}{\hasse@B@root@sum{#3}{#4}{\my@root@sum}}%
- {C}{\hasse@C@root@sum{#3}{#4}{\my@root@sum}}%
- {D}{\hasse@D@root@sum{#3}{#4}{\my@root@sum}}%
- {E}{\xdef\my@root@sum{\exceptional@root@sum{#3;#4}}}%
- {F}{\xdef\my@root@sum{\exceptional@root@sum{#3;#4}}}%
- {G}{\xdef\my@root@sum{\exceptional@root@sum{#3;#4}}}%
+ {A}{\hasse@A@root@sum{#3}{#4}{\lie@hasse@root@sum}}%
+ {B}{\hasse@B@root@sum{#3}{#4}{\lie@hasse@root@sum}}%
+ {C}{\hasse@C@root@sum{#3}{#4}{\lie@hasse@root@sum}}%
+ {D}{\hasse@D@root@sum{#3}{#4}{\lie@hasse@root@sum}}%
+ {E}{\xdef\lie@hasse@root@sum{\exceptional@root@sum{#3;#4}}}%
+ {F}{\xdef\lie@hasse@root@sum{\exceptional@root@sum{#3;#4}}}%
+ {G}{\xdef\lie@hasse@root@sum{\exceptional@root@sum{#3;#4}}}%
}%
- \StrSubstitute{\my@root@sum}{.}{,}[#5]%
+ \StrSubstitute{\lie@hasse@root@sum}{.}{,}[#5]%
}%
%% \rootSystemHeight[G][2]{\h} sets the counter \h to the height of the poset
%% of the root system G2. \rootSystemHeight{\h} uses the current root system.
@@ -2451,7 +2489,7 @@
4;1=3.1,%
5;1=3.2}%
}%
-\NewDocumentCommand\forAllPositiveRootsInHasseDiagram{m}%
+\NewDocumentCommand\forAllPositiveRoots{m}%
{%
\rootSystemHeight{\lie@hasse@height}%
\foreach \root@grady in {1,...,\the\lie@hasse@height}%
diff --git a/Master/texmf-dist/tex/latex/linearregression/linearregression.sty b/Master/texmf-dist/tex/latex/linearregression/linearregression.sty
new file mode 100644
index 00000000000..f9d86096202
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/linearregression/linearregression.sty
@@ -0,0 +1,335 @@
+%%
+%% This is file `linearregression.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% linearregression.dtx (with options: `package')
+%% ------------------------------------------------------------------------
+%% [2024-06-10]
+%% This file is part of the (expanded) distribution of linearregression
+%% The author of linearregression is Battista Benciolini
+%% <benciolinibattista at gmail dot com >
+%% ------------------------------------------------------------------------
+%% The author would strongly appreciate to receive
+%% any comment, criticism and just usage report
+%% ------------------------------------------------------------------------
+%% This program may be used, distributed and modified under
+%% the conditions of the LaTeX Project Public License.
+%% (see: http://www.latex-project.org/lppl.txt)
+%% ------------------------------------------------------------------------
+\ProvidesPackage{linearregression}[2024-06-10]
+\RequirePackage{pict2e}
+\ExplSyntaxOn
+\ior_new:N \g_BBLR_file_ior
+\tl_new:N \g_BBLR_file_name_tl
+\int_new:N \g_BBLR_number_of_points_int
+\fp_new:N \g_BBLR_abscissa_fp
+\fp_new:N \g_BBLR_ordinate_fp
+\fp_new:N \g_BBLR_mean_abscissa_fp
+\fp_new:N \g_BBLR_mean_ordinate_fp
+\fp_new:N \g_BBLR_abscissa_SecOrdMoment_fp
+\fp_new:N \g_BBLR_ordinate_SecOrdMoment_fp
+\fp_new:N \g_BBLR_mixed_SecOrdMoment_fp
+\fp_new:N \g_BBLR_slope_A_fp
+\fp_new:N \g_BBLR_slope_B_fp
+\fp_new:N \g_BBLR_slope_S_fp
+\fp_new:N \g_BBLR_intercept_A_fp
+\fp_new:N \g_BBLR_intercept_B_fp
+\fp_new:N \g_BBLR_intercept_S_fp
+\fp_new:N \g_BBLR_cos_fp
+\fp_new:N \g_BBLR_sin_fp
+\fp_new:N \g_BBLR_sig_sin_fp
+\fp_new:N \g_BBLR_eig_diff_fp
+\fp_new:N \g_BBLR_diag_diff_fp
+\tl_new:N \g_BBLR_file_line_tl
+\fp_new:N \g_BBLR_min_abscissa_fp
+\fp_new:N \g_BBLR_min_ordinate_fp
+\fp_new:N \g_BBLR_max_abscissa_fp
+\fp_new:N \g_BBLR_max_ordinate_fp
+\fp_new:N \g_BBLR_min_draw_abscissa_fp
+\fp_new:N \g_BBLR_max_draw_abscissa_fp
+\bool_new:N \g_BBLR_data_eof_bool
+\int_new:N \g_BBLR_record_length_int
+\int_new:N \g_BBLR_rec_count_int
+\int_new:N \g_BBLR_first_separator_int
+\int_new:N \g_BBLR_last_separator_int
+\str_const:Nn \c_BBLR_space_str {~}
+\str_const:Nn \c_BBLR_comma_str {,}
+\str_const:Nn \c_BBLR_plus_str {+}
+\str_const:Nn \c_BBLR_minus_str {-}
+\bool_new:N \g_BBLR_plot_points_bool
+\bool_new:N \g_BBLR_plot_lineA_bool
+\bool_new:N \g_BBLR_plot_lineB_bool
+\bool_new:N \g_BBLR_plot_lineS_bool
+\fp_new:N \g_BBLR_base_fp
+\fp_new:N \g_BBLR_height_fp
+\fp_new:N \g_BBLR_Xbase_fp
+\fp_new:N \g_BBLR_Xheight_fp
+\fp_new:N \g_BBLR_Dabscissa_fp
+\fp_new:N \g_BBLR_Dordinate_fp
+\fp_new:N \g_BBLR_diameter_fp
+\fp_gset:Nn \g_BBLR_diameter_fp{0.2}
+\fp_new:N \g_BBLR_line_base_length_fp
+\fp_new:N \g_BBLR_scale_factor_fp
+\str_new:N \c_BBLR_point_code_str
+\str_new:N \g_BBLR_labelA_str
+\str_new:N \g_BBLR_labelB_str
+\str_new:N \g_BBLR_labelS_str
+\NewDocumentCommand{\lrfilename}{m}{
+\tl_gset:Nn \g_BBLR_file_name_tl {#1}
+}
+\NewDocumentCommand{\lraskfilename}{}{
+\ior_get_term:nN {filename ? } \g_BBLR_file_name_tl
+\tl_trim_spaces:N \g_BBLR_file_name_tl
+}
+\NewDocumentCommand{\lrcomputation}{}{%
+\bool_gset_false:N \g_BBLR_data_eof_bool
+\int_zero:N \g_BBLR_number_of_points_int
+\fp_zero:N \g_BBLR_mean_abscissa_fp
+\fp_zero:N \g_BBLR_mean_ordinate_fp
+\ior_open:Nn \g_BBLR_file_ior \g_BBLR_file_name_tl
+\bool_until_do:Nn \g_BBLR_data_eof_bool {
+ \ior_str_get:NN \g_BBLR_file_ior \g_BBLR_file_line_tl
+ \if_eof:w \g_BBLR_file_ior
+ \bool_gset_true:N \g_BBLR_data_eof_bool
+ \else:
+ \int_incr:N \g_BBLR_number_of_points_int
+ \BBLR_decode_data:
+ \fp_gset:Nn \g_BBLR_mean_abscissa_fp
+ {\g_BBLR_mean_abscissa_fp + \g_BBLR_abscissa_fp}
+ \fp_gset:Nn \g_BBLR_mean_ordinate_fp
+ {\g_BBLR_mean_ordinate_fp + \g_BBLR_ordinate_fp}
+ \fi:
+}
+\ior_close:N \g_BBLR_file_ior
+\fp_gset:Nn \g_BBLR_mean_abscissa_fp
+{\g_BBLR_mean_abscissa_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_mean_ordinate_fp
+{\g_BBLR_mean_ordinate_fp / \g_BBLR_number_of_points_int}
+\fp_zero:N \g_BBLR_abscissa_SecOrdMoment_fp
+\fp_zero:N \g_BBLR_ordinate_SecOrdMoment_fp
+\fp_zero:N \g_BBLR_mixed_SecOrdMoment_fp
+\fp_gset_eq:NN \g_BBLR_min_abscissa_fp \g_BBLR_mean_abscissa_fp
+\fp_gset_eq:NN \g_BBLR_min_ordinate_fp \g_BBLR_mean_ordinate_fp
+\fp_gset_eq:NN \g_BBLR_max_abscissa_fp \g_BBLR_mean_abscissa_fp
+\fp_gset_eq:NN \g_BBLR_max_ordinate_fp \g_BBLR_mean_ordinate_fp
+\ior_open:Nn \g_BBLR_file_ior \g_BBLR_file_name_tl
+\int_zero:N \g_BBLR_rec_count_int
+\int_do_until:nn
+{\g_BBLR_rec_count_int = \g_BBLR_number_of_points_int}
+{
+ \ior_str_get:NN \g_BBLR_file_ior \g_BBLR_file_line_tl
+ \int_incr:N \g_BBLR_rec_count_int
+ \BBLR_decode_data:
+ \fp_gset:Nn \g_tmpa_fp
+ {\g_BBLR_abscissa_fp - \g_BBLR_mean_abscissa_fp}
+ \fp_gset:Nn \g_tmpb_fp
+ {\g_BBLR_ordinate_fp - \g_BBLR_mean_ordinate_fp}
+ \fp_gset:Nn \g_BBLR_abscissa_SecOrdMoment_fp
+ {\g_BBLR_abscissa_SecOrdMoment_fp + \g_tmpa_fp * \g_tmpa_fp}
+ \fp_gset:Nn \g_BBLR_mixed_SecOrdMoment_fp
+ {\g_BBLR_mixed_SecOrdMoment_fp + \g_tmpa_fp * \g_tmpb_fp}
+ \fp_gset:Nn \g_BBLR_ordinate_SecOrdMoment_fp
+ {\g_BBLR_ordinate_SecOrdMoment_fp + \g_tmpb_fp * \g_tmpb_fp}
+\fp_gset:Nn \g_BBLR_min_abscissa_fp
+{min(\g_BBLR_min_abscissa_fp, \g_BBLR_abscissa_fp)}
+\fp_gset:Nn \g_BBLR_min_ordinate_fp
+{min(\g_BBLR_min_ordinate_fp, \g_BBLR_ordinate_fp)}
+\fp_gset:Nn \g_BBLR_max_abscissa_fp
+{max(\g_BBLR_max_abscissa_fp, \g_BBLR_abscissa_fp)}
+\fp_gset:Nn \g_BBLR_max_ordinate_fp
+{max(\g_BBLR_max_ordinate_fp, \g_BBLR_ordinate_fp)}
+}
+\ior_close:N \g_BBLR_file_ior
+\fp_gset:Nn \g_BBLR_abscissa_SecOrdMoment_fp
+{\g_BBLR_abscissa_SecOrdMoment_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_mixed_SecOrdMoment_fp
+{\g_BBLR_mixed_SecOrdMoment_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_ordinate_SecOrdMoment_fp
+{\g_BBLR_ordinate_SecOrdMoment_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_Dabscissa_fp
+{\g_BBLR_max_abscissa_fp - \g_BBLR_min_abscissa_fp }
+\fp_gset:Nn \g_BBLR_Dordinate_fp
+{\g_BBLR_max_ordinate_fp - \g_BBLR_min_ordinate_fp }
+\fp_gset:Nn \g_BBLR_slope_A_fp
+{\g_BBLR_mixed_SecOrdMoment_fp / \g_BBLR_abscissa_SecOrdMoment_fp }
+\fp_gset:Nn \g_BBLR_intercept_A_fp
+{\g_BBLR_mean_ordinate_fp - \g_BBLR_slope_A_fp * \g_BBLR_mean_abscissa_fp}
+\fp_gset:Nn \g_BBLR_slope_B_fp
+{\g_BBLR_ordinate_SecOrdMoment_fp / \g_BBLR_mixed_SecOrdMoment_fp}
+\fp_gset:Nn \g_BBLR_intercept_B_fp
+{\g_BBLR_mean_ordinate_fp - \g_BBLR_slope_B_fp * \g_BBLR_mean_abscissa_fp}
+\fp_gset:Nn \g_BBLR_diag_diff_fp
+{\g_BBLR_abscissa_SecOrdMoment_fp - \g_BBLR_ordinate_SecOrdMoment_fp}
+\fp_gset:Nn \g_BBLR_eig_diff_fp
+{sqrt(\g_BBLR_diag_diff_fp * \g_BBLR_diag_diff_fp +
+ 4 * \g_BBLR_mixed_SecOrdMoment_fp * \g_BBLR_mixed_SecOrdMoment_fp)}
+\fp_gset:Nn \g_BBLR_cos_fp%
+{sqrt((1 + \g_BBLR_diag_diff_fp / \g_BBLR_eig_diff_fp) / 2)}
+\fp_gset:Nn \g_BBLR_sig_sin_fp {\fp_sign:n {\g_BBLR_mixed_SecOrdMoment_fp}}
+\fp_gset:Nn \g_BBLR_sin_fp
+{\g_BBLR_sig_sin_fp*sqrt((1-\g_BBLR_diag_diff_fp / \g_BBLR_eig_diff_fp) / 2)}
+\fp_gset:Nn \g_BBLR_slope_S_fp
+{\g_BBLR_sin_fp / \g_BBLR_cos_fp }
+\fp_gset:Nn \g_BBLR_intercept_S_fp
+{\g_BBLR_mean_ordinate_fp - \g_BBLR_slope_S_fp * \g_BBLR_mean_abscissa_fp}
+}
+\NewDocumentCommand{\lrprint}{}{
+\begin{center}
+\begin{tabular}{| l | r |} \hline
+ Data~File: & \g_BBLR_file_name_tl \\ \hline
+ Number~of~points: & \int_use:N\g_BBLR_number_of_points_int \\ \hline
+ Mean~values~of~the~coordinates: &%
+ $\fp_use:N \g_BBLR_mean_abscissa_fp$ \\ &
+ $\fp_use:N \g_BBLR_mean_ordinate_fp$ \\ \hline
+ Minimum~values~of~the~coordinates: &%
+ $\fp_use:N \g_BBLR_min_abscissa_fp$ \\ &
+ $\fp_use:N \g_BBLR_min_ordinate_fp$ \\ \hline
+ Maximum~values~of~the~coordinates: &%
+ $\fp_use:N \g_BBLR_max_abscissa_fp$ \\ &
+ $\fp_use:N \g_BBLR_max_ordinate_fp$ \\ \hline
+ {Second~order~moments}\phantom{xxxxxxxxx}{abscissa} &%
+ $\fp_use:N \g_BBLR_abscissa_SecOrdMoment_fp$ \\
+ \multicolumn{1}{|r|}{mixed} & %
+$\fp_use:N \g_BBLR_mixed_SecOrdMoment_fp$ ~ \\
+\multicolumn{1}{|r|}{ordinate} & %
+$\fp_use:N \g_BBLR_ordinate_SecOrdMoment_fp$ \\ \hline
+ Slope~and~intercept~of~optimal~line & $\fp_use:N \g_BBLR_slope_A_fp$ \\
+ (estimated~with~errors~in~ordinate)&$\fp_use:N \g_BBLR_intercept_A_fp$\\ \hline
+ Slope~and~intercept~of~optimal~line & $\fp_use:N \g_BBLR_slope_B_fp$ \\
+ (estimated~with~errors~in~abscissa)&$\fp_use:N \g_BBLR_intercept_B_fp$\\ \hline
+ Components~of~unit~vector~along~the~line & $\fp_use:N \g_BBLR_cos_fp$ \\
+ & $\fp_use:N \g_BBLR_sin_fp$ \\
+ Slope~and~intercept~of~optimal~line &$\fp_use:N \g_BBLR_slope_S_fp$ \\
+(estimated~with~symmetric~regression) &
+ $\fp_use:N \g_BBLR_intercept_S_fp$\\ \hline
+\end{tabular}
+\end{center}
+}
+\NewDocumentCommand{\lrplot}{mmmmm}{%
+\fp_gset:Nn \g_BBLR_base_fp {#1}
+\fp_gset:Nn \g_BBLR_Xbase_fp {\g_BBLR_base_fp - 0.6}
+\fp_gset:Nn \g_BBLR_scale_factor_fp{\g_BBLR_Xbase_fp / \g_BBLR_Dabscissa_fp}
+\fp_gset:Nn \g_BBLR_Xheight_fp {\g_BBLR_Dordinate_fp * \g_BBLR_scale_factor_fp}
+\fp_gset:Nn \g_BBLR_height_fp {\g_BBLR_Xheight_fp + 0.6}
+\str_gset:Nn \g_BBLR_point_code_str {#2}
+\str_gset:Nn \g_BBLR_labelA_str {#3}
+\str_gset:Nn \g_BBLR_labelB_str {#4}
+\str_gset:Nn \g_BBLR_labelS_str {#5}
+\bool_gset:Nn \g_BBLR_plot_points_bool
+{!(\str_if_eq_p:NN \g_BBLR_point_code_str \c_BBLR_minus_str)}
+\bool_gset:Nn \g_BBLR_plot_lineA_bool
+{!(\str_if_eq_p:NN \g_BBLR_labelA_str \c_BBLR_minus_str)}
+\bool_gset:Nn \g_BBLR_plot_lineB_bool
+{!(\str_if_eq_p:NN \g_BBLR_labelB_str \c_BBLR_minus_str)}
+\bool_gset:Nn \g_BBLR_plot_lineS_bool
+{!(\str_if_eq_p:NN \g_BBLR_labelS_str \c_BBLR_minus_str)}
+\setlength{\unitlength}{1.0cm}
+\fp_gset:Nn \g_tmpa_fp {\g_BBLR_Xbase_fp +0.2}
+\fp_gset:Nn \g_tmpb_fp {\g_BBLR_Xheight_fp +0.1}
+\begin{picture}(\fp_use:N\g_BBLR_base_fp,\fp_use:N\g_BBLR_height_fp)(-0.3,-0.3)
+\put(-0.1,-0.1){\line(1,0){\fp_use:N\g_tmpa_fp}}
+\put(-0.1,\fp_use:N\g_tmpb_fp){\line(1,0){\fp_use:N\g_tmpa_fp}}
+\fp_gset:Nn \g_tmpa_fp {\g_tmpa_fp -0.1}
+\fp_gset:Nn \g_tmpb_fp {\g_tmpb_fp +0.1}
+\put(-0.1,-0.1){\line(0,1){\fp_use:N\g_tmpb_fp}}
+\put(\fp_use:N\g_tmpa_fp,-0.1){\line(0,1){\fp_use:N\g_tmpb_fp}}
+\thicklines
+\bool_if:nT {\g_BBLR_plot_points_bool}{\BBLR_plot_points:}
+\bool_if:nT {\g_BBLR_plot_lineA_bool}{
+\BBLR_draw_line:NNN \g_BBLR_slope_A_fp\g_BBLR_intercept_A_fp\g_BBLR_labelA_str}
+\bool_if:nT {\g_BBLR_plot_lineB_bool}{
+\BBLR_draw_line:NNN \g_BBLR_slope_B_fp\g_BBLR_intercept_B_fp\g_BBLR_labelB_str}
+\bool_if:nT {\g_BBLR_plot_lineS_bool}{
+\BBLR_draw_line:NNN \g_BBLR_slope_S_fp\g_BBLR_intercept_S_fp\g_BBLR_labelS_str}
+\end{picture}
+}%
+\cs_new_protected:Nn \BBLR_decode_data: {
+\tl_trim_spaces:N \g_BBLR_file_line_tl
+\int_gzero:N \g_tmpa_int
+\int_gzero:N \g_BBLR_first_separator_int
+\int_gzero:N \g_BBLR_last_separator_int
+\int_gset:Nn \g_BBLR_record_length_int {
+\str_count:N \g_BBLR_file_line_tl}
+\str_map_variable:NNn \g_BBLR_file_line_tl \g_tmpa_str {
+\int_gincr:N \g_tmpa_int
+\bool_lazy_or:nnTF
+{\str_if_eq_p:NN \g_tmpa_str \c_BBLR_comma_str}
+{\str_if_eq_p:NN \g_tmpa_str \c_BBLR_space_str}
+{\int_gset_eq:NN \g_BBLR_last_separator_int \g_tmpa_int
+\int_if_zero:nTF {\g_BBLR_first_separator_int}
+{\int_gset_eq:NN \g_BBLR_first_separator_int \g_tmpa_int
+}{\prg_do_nothing:}
+}{\prg_do_nothing:}
+}
+\int_gincr:N \g_BBLR_last_separator_int
+\int_gdecr:N \g_BBLR_first_separator_int
+\fp_gset:Nn \g_BBLR_abscissa_fp{
+\str_range:Nnn \g_BBLR_file_line_tl{1}{\g_BBLR_first_separator_int}}
+\fp_gset:Nn \g_BBLR_ordinate_fp{
+\str_range:Nnn \g_BBLR_file_line_tl
+{\g_BBLR_last_separator_int}{\g_BBLR_record_length_int}}
+}
+\cs_new_protected:Nn \BBLR_plot_points: {
+\ior_open:Nn \g_BBLR_file_ior \g_BBLR_file_name_tl
+\int_zero:N \g_BBLR_rec_count_int
+\int_do_until:nn
+{\g_BBLR_rec_count_int = \g_BBLR_number_of_points_int}
+{
+ \ior_str_get:NN \g_BBLR_file_ior \g_BBLR_file_line_tl
+ \int_incr:N \g_BBLR_rec_count_int
+ \BBLR_decode_data:
+ \fp_gset:Nn \g_tmpa_fp{(\g_BBLR_abscissa_fp-\g_BBLR_min_abscissa_fp)*
+ \g_BBLR_scale_factor_fp}
+ \fp_gset:Nn \g_tmpb_fp{(\g_BBLR_ordinate_fp-\g_BBLR_min_ordinate_fp)*
+ \g_BBLR_scale_factor_fp}
+ \put(\fp_use:N\g_tmpa_fp, \fp_use:N\g_tmpb_fp){
+ {\circle*{\fp_use:N\g_BBLR_diameter_fp}}}
+}
+\ior_close:N \g_BBLR_file_ior
+}
+\cs_new_protected:Nn \BBLR_draw_line:NNN {
+\fp_gset:Nn \fp_tmpa_fp {#1 * \g_BBLR_min_abscissa_fp + #2 }
+\fp_compare:nTF{\fp_tmpa_fp > \g_BBLR_max_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_min_draw_abscissa_fp {(\g_BBLR_max_ordinate_fp -#2) / #1}
+}{
+\fp_compare:nTF{\fp_tmpa_fp < \g_BBLR_min_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_min_draw_abscissa_fp {(\g_BBLR_min_ordinate_fp - #2) / #1}
+}{
+\fp_gset:Nn \g_BBLR_min_draw_abscissa_fp { \g_BBLR_min_abscissa_fp }
+}}
+\fp_gset:Nn \fp_tmpa_fp {#1 * \g_BBLR_max_abscissa_fp + #2 }
+\fp_compare:nTF{\fp_tmpa_fp > \g_BBLR_max_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_max_draw_abscissa_fp {(\g_BBLR_max_ordinate_fp -#2) / #1}
+}{
+\fp_compare:nTF{\fp_tmpa_fp < \g_BBLR_min_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_max_draw_abscissa_fp { (\g_BBLR_min_ordinate_fp - #2) / #1}
+}{
+\fp_gset:Nn \g_BBLR_max_draw_abscissa_fp { \g_BBLR_max_abscissa_fp }
+}}
+\fp_gset:Nn \fp_tmpa_fp {(\g_BBLR_min_draw_abscissa_fp -
+\g_BBLR_min_abscissa_fp)* \g_BBLR_scale_factor_fp}
+\fp_gset:Nn \fp_tmpb_fp {(#1 * \g_BBLR_min_draw_abscissa_fp + #2 -
+\g_BBLR_min_ordinate_fp)* \g_BBLR_scale_factor_fp}
+\fp_gset:Nn \fp_BBLR_line_base_length_fp{(\g_BBLR_max_draw_abscissa_fp -
+\g_BBLR_min_draw_abscissa_fp) * \g_BBLR_scale_factor_fp}
+\put(\fp_use:N\fp_tmpa_fp, \fp_use:N\fp_tmpb_fp){
+\line(1.,\fp_use:N #1){\fp_use:N\fp_BBLR_line_base_length_fp}}
+\bool_if:nF {\str_if_eq_p:NN #3 \c_BBLR_plus_str}{
+\fp_gset:Nn \fp_tmpa_fp
+{0.08 * \g_BBLR_min_draw_abscissa_fp + 0.92 * \g_BBLR_max_draw_abscissa_fp}
+\fp_gset:Nn \fp_tmpb_fp {#1 * \fp_tmpa_fp + #2 }
+\fp_gset:Nn \fp_tmpa_fp
+{(\fp_tmpa_fp-\g_BBLR_min_abscissa_fp)*\g_BBLR_scale_factor_fp
++ 0.3 * #1 /sqrt(1.+#1*#1)}
+\fp_gset:Nn \fp_tmpb_fp
+{(\fp_tmpb_fp-\g_BBLR_min_ordinate_fp)* \g_BBLR_scale_factor_fp
+- 0.3 /sqrt(1.+#1*#1)}
+\put(\fp_use:N\fp_tmpa_fp, \fp_use:N\fp_tmpb_fp){#3}
+}
+}
+\ExplSyntaxOff
+\endinput
+%%
+%% End of file `linearregression.sty'.
diff --git a/Master/texmf-dist/tex/latex/listings/listings-acm.prf b/Master/texmf-dist/tex/latex/listings/listings-acm.prf
index 9c3ebd57d2a..dc28dfa2298 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-acm.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-acm.prf
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-acm.prf}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\usepackage[rgb, x11names]{xcolor}
\definecolor{Comments}{rgb}{0.00,0.50,0.00}
diff --git a/Master/texmf-dist/tex/latex/listings/listings-bash.prf b/Master/texmf-dist/tex/latex/listings/listings-bash.prf
index 27d22ea3208..f79b2e4152a 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-bash.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-bash.prf
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-bash.prf}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\usepackage[rgb, x11names]{xcolor}
\lstset{%
diff --git a/Master/texmf-dist/tex/latex/listings/listings-fortran.prf b/Master/texmf-dist/tex/latex/listings/listings-fortran.prf
index e2e1673efe6..52a2a0db65e 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-fortran.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-fortran.prf
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-fortran.prf}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\usepackage[rgb, x11names]{xcolor}
\lstset{%
diff --git a/Master/texmf-dist/tex/latex/listings/listings-hansl.prf b/Master/texmf-dist/tex/latex/listings/listings-hansl.prf
index eebc2c9dabc..f5e3d6bb9d6 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-hansl.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-hansl.prf
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-hansl.prf}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\usepackage[rgb, x11names]{xcolor}
\lstdefinestyle{hanslbw}{%
diff --git a/Master/texmf-dist/tex/latex/listings/listings-lua.prf b/Master/texmf-dist/tex/latex/listings/listings-lua.prf
index 49c4dd300aa..7fdeea59d81 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-lua.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-lua.prf
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-lua.prf}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\usepackage[rgb, x11names]{xcolor}
\lstdefinestyle{Lua}{%
language=[5.2]Lua,
diff --git a/Master/texmf-dist/tex/latex/listings/listings-python.prf b/Master/texmf-dist/tex/latex/listings/listings-python.prf
index 82f0285871d..3d8ef9a3c9f 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-python.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-python.prf
@@ -22,12 +22,14 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-python.prf}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\usepackage{xcolor}
\usepackage{textcomp}
%% Actual colors from idlelib/config-highlight.def
%% --> corrected to ``web-safe''
+%% Unimplemented IDLE syntax: function/class names being
+%% defined should be blue
%% strings = #00aa00 / 0,170,0 (a darker green)
%% builtins = #900090 / 144,0,144 (purple-ish)
%% keywords = #FF7700 / 255,119,0 (quite close to plain `orange')
diff --git a/Master/texmf-dist/tex/latex/listings/listings-rexx.prf b/Master/texmf-dist/tex/latex/listings/listings-rexx.prf
index d29a0751c01..0548072e97e 100644
--- a/Master/texmf-dist/tex/latex/listings/listings-rexx.prf
+++ b/Master/texmf-dist/tex/latex/listings/listings-rexx.prf
@@ -22,27 +22,21 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{listings-rexx.prf}
- [2024/03/11 1.10a listings language file]
-\usepackage{xcolor}
-\usepackage{textcomp}
+ [2024/05/25 1.10b listings language file]
+\usepackage{xcolor} % needed for colors like yellow!10
+\usepackage{textcomp} % needed for upquote
-%% Actual colors from idlelib/config-highlight.def
-%% --> corrected to ``web-safe''
-%% strings = #00aa00 / 0,170,0 (a darker green)
-%% builtins = #900090 / 144,0,144 (purple-ish)
-%% keywords = #FF7700 / 255,119,0 (quite close to plain `orange')
-%% Corrected to ``web-safe''
-\definecolor{purple2}{RGB}{153,0,153} % there's actually no standard purple
-\definecolor{green2}{RGB}{0,153,0} % a darker green
-
-\lstdefinestyle{python-idle-code}{%
- language=Python, % the language
- basicstyle=\normalsize\ttfamily, % size of the fonts for the code
- % Color settings to match IDLE style
- keywordstyle=\color{orange}, % core keywords
- keywordstyle={[2]\color{purple2}}, % built-ins
- stringstyle=\color{green2},%
- commentstyle=\color{red},%
+\lstdefinestyle{rexx-colored}{%
+ language=oorexx, % the language
+ backgroundcolor=\color{yellow!10},
+ basicstyle=\normalsize\ttfamily, % size of the fonts for
+ % the code
+ % Color settings to match JHf's preferred style
+ keywordstyle=\color{blue}, % core keywords
+ keywordstyle={[2]\color{cyan}}, % built-ins
+ keywordstyle={[3]\color{olive}}, % special keywords
+ stringstyle=\color{teal},%
+ commentstyle=\color{orange},%
upquote=true, % requires textcomp
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/listings/listings.cfg b/Master/texmf-dist/tex/latex/listings/listings.cfg
index cf27aefe593..3024c431afa 100644
--- a/Master/texmf-dist/tex/latex/listings/listings.cfg
+++ b/Master/texmf-dist/tex/latex/listings/listings.cfg
@@ -21,7 +21,7 @@
%% Send comments and ideas on the package, error reports and additional
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
-\ProvidesFile{listings.cfg}[2024/03/11 1.10a listings configuration]
+\ProvidesFile{listings.cfg}[2024/05/25 1.10b listings configuration]
\def\lstlanguagefiles
{lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
\lstset{defaultdialect=[R/3 6.10]ABAP,
@@ -37,6 +37,7 @@
defaultdialect=[11.0]Mathematica,
defaultdialect=[OMG]OCL,
defaultdialect=[Standard]Pascal,
+ defaultdialect=[2]Python,
defaultdialect=[67]Simula,
defaultdialect=[plain]TeX,
defaultdialect=[97]VRML}
diff --git a/Master/texmf-dist/tex/latex/listings/listings.sty b/Master/texmf-dist/tex/latex/listings/listings.sty
index 4d75d821e7a..28fc678ad55 100644
--- a/Master/texmf-dist/tex/latex/listings/listings.sty
+++ b/Master/texmf-dist/tex/latex/listings/listings.sty
@@ -16,8 +16,8 @@
%% Send comments and ideas on the package, error reports and additional
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
-\def\filedate{2024/03/11}
-\def\fileversion{1.10a}
+\def\filedate{2024/05/25}
+\def\fileversion{1.10b}
\NeedsTeXFormat{LaTeX2e}
\AtEndOfPackage{\ProvidesPackage{listings}
[\filedate\space\fileversion\space(Carsten Heinz)]}
@@ -1932,54 +1932,63 @@
\orig@float@addtolists{#1}}}%
}{}%
}%
+\edef\lst@temp{\the\catcode`\^^@}
+\catcode`\^^@=1
\newcommand\lstinline[1][]{%
- \leavevmode\bgroup % \hbox\bgroup --> \bgroup
- \def\lst@boxpos{b}%
- \lsthk@PreSet\lstset{flexiblecolumns,#1}%
- \lsthk@TextStyle
- \@ifnextchar\bgroup{%
- \afterassignment\lst@InlineG \let\@let@token}%
- \lstinline@}
+ \leavevmode\bgroup % \hbox\bgroup --> \bgroup
+ \def\lst@boxpos{b}%
+ \lsthk@PreSet\lstset{flexiblecolumns,#1}%
+ \lsthk@TextStyle
+ \@ifnextchar\bgroup{%
+ \afterassignment\lst@InlineG \romannumeral`^^@\iffalse}\fi
+ \let\@let@token}%
+ \lstinline@}
+\catcode`\^^@=\lst@temp
\def\lstinline@#1{%
- \lst@Init\relax
- \lst@IfNextCharActive{\lst@InlineM#1}{\lst@InlineJ#1}}
+ \lst@Init\relax
+ \lst@IfNextCharActive{\lst@InlineM#1}{\lst@InlineJ#1}}
\lst@AddToHook{TextStyle}{}% init
\lst@AddToHook{SelectCharTable}{\lst@inlinechars}
\global\let\lst@inlinechars\@empty
-\def\lst@InlineM#1{\gdef\lst@inlinechars{%
+\def\lst@InlineM#1{%
+ \gdef\lst@inlinechars{%
\lst@Def{`#1}{\lst@DeInit\egroup\global\let\lst@inlinechars\@empty}%
\lst@Def{13}{\lst@DeInit\egroup \global\let\lst@inlinechars\@empty
- \PackageError{Listings}{lstinline ended by EOL}\@ehc}}%
- \lst@inlinechars}
+ \PackageError{Listings}{lstinline ended by EOL}\@ehc}}%
+ \lst@inlinechars}
\def\lst@InlineJ#1{%
- \def\lst@temp##1#1{%
- \let\lst@arg\@empty \lst@InsideConvert{##1}\lst@arg
- \lst@DeInit\egroup}%
- \lst@temp}
+ \def\lst@temp##1#1{%
+ \let\lst@arg\@empty \lst@InsideConvert{##1}\lst@arg
+ \lst@DeInit\egroup}%
+ \lst@temp}
\def\lst@InlineG{%
- \lst@Init\relax
- \lst@IfNextCharActive{\lst@InlineM\}}%
- {\let\lst@arg\@empty \lst@InlineGJ}}
+ \lst@Init\relax
+ \lst@IfNextCharActive{\lst@InlineM\}}{%
+ \let\lst@arg\@empty \lst@InlineGJ}}
+\edef\lst@temp{\the\catcode`\^^@}
+\catcode`\^^@=2
\def\lst@InlineGJ{\futurelet\@let@token\lst@InlineGJTest}
\def\lst@InlineGJTest{%
- \ifx\@let@token\egroup
- \afterassignment\lst@InlineGJEnd
- \expandafter\let\expandafter\@let@token
+ \ifx\@let@token\egroup
+ \iffalse{\fi\romannumeral`^^@
+ \afterassignment\lst@InlineGJEnd
+ \expandafter\let\expandafter\@let@token
+ \else
+ \ifx\@let@token\@sptoken
+ \let\lst@next\lst@InlineGJReadSp
\else
- \ifx\@let@token\@sptoken
- \let\lst@next\lst@InlineGJReadSp
- \else
- \let\lst@next\lst@InlineGJRead
- \fi
- \expandafter\lst@next
+ \let\lst@next\lst@InlineGJRead
+ \fi
+ \expandafter\lst@next
\fi}
+\catcode`\^^@=\lst@temp
\def\lst@InlineGJEnd{\lst@arg\lst@DeInit\egroup}
\def\lst@InlineGJRead#1{%
- \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}%
- \lst@InlineGJ}
+ \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}%
+ \lst@InlineGJ}
\def\lst@InlineGJReadSp#1{%
- \lccode`\~=`\ \lowercase{\lst@lAddTo\lst@arg~}%
- \lst@InlineGJ#1}
+ \lccode`\~=`\ \lowercase{\lst@lAddTo\lst@arg~}%
+ \lst@InlineGJ#1}
\newcommand\lstMakeShortInline[1][]{%
\def\lst@shortinlinedef{\lstinline[#1]}%
\lstMakeShortInline@}%
diff --git a/Master/texmf-dist/tex/latex/listings/lstdoc.sty b/Master/texmf-dist/tex/latex/listings/lstdoc.sty
index 0eae560d662..5de8d7ec5ab 100644
--- a/Master/texmf-dist/tex/latex/listings/lstdoc.sty
+++ b/Master/texmf-dist/tex/latex/listings/lstdoc.sty
@@ -6,8 +6,8 @@
%%
%% listings.dtx (with options: `doc')
%%
-\def\filedate{2024/03/11}
-\def\fileversion{1.10a}
+\def\filedate{2024/05/25}
+\def\fileversion{1.10b}
\ProvidesPackage{lstdoc}
[\filedate\space\fileversion\space(Carsten Heinz)]
\let\lstdoc@currversion\fileversion
diff --git a/Master/texmf-dist/tex/latex/listings/lstlang1.sty b/Master/texmf-dist/tex/latex/listings/lstlang1.sty
index 938f7ef1405..97481e7d77b 100644
--- a/Master/texmf-dist/tex/latex/listings/lstlang1.sty
+++ b/Master/texmf-dist/tex/latex/listings/lstlang1.sty
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{lstlang1.sty}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
%%
%% ACSL definition (c) 2000 by Andreas Matthias
%%
@@ -2944,12 +2944,16 @@ morecomment=[l]!%
%%
%% Python definition (c) 1998 Michael Weber
%% Additional definitions (2013) Alexis Dimitriadis
+%% small corrections based on
+%% https://docs.python.org/2/reference/lexical_analysis.html#identifiers
%%
-\lst@definelanguage{Python}{%
- morekeywords={access, and, break, class, continue, def, del, elif, else,%
- except, exec, finally, for, from, global, if, import, in, is, lambda,%
- not, or, pass, print, raise, return, try, while},%
- % Built-ins
+\lst@definelanguage[2]{Python}{%
+ morekeywords={and, as, assert, break, class, continue, def, del, elif,%
+ else, except, exec, finally, for, from, global, if, import, in, is,%
+ lambda, not, or, pass, print, raise, return, try, while, with, yield},%
+ % Built-ins according to
+ % http://docs.python.org/2/library/functions.html,
+ % the last five entries are known as advanced or not essential
morekeywords=[2]{abs, all, any, basestring, bin, bool, bytearray,%
callable, chr, classmethod, cmp, compile, complex, delattr, dict, dir,%
divmod, enumerate, eval, execfile, file, filter, float, format,%
@@ -2958,22 +2962,60 @@ morecomment=[l]!%
memoryview, min, next, object, oct, open, ord, pow, property, range,%
raw_input, reduce, reload, repr, reversed, round, set, setattr, slice,%
sorted, staticmethod, str, sum, super, tuple, type, unichr, unicode,%
- vars, xrange, zip, apply, buffer, coerce, intern},%
+ vars, xrange, zip, __import__, apply, buffer, coerce, intern},%
sensitive=true,%
morecomment=[l]\#,%
+ morestring=[s]{'''}{'''},% used for documentation text
+ % (multiline strings)
+ morestring=[s]{"""}{"""},% added by Philipp Matthias Hahn
morestring=[b]',%
- morestring=[b]",%
- morecomment=[s]{'''}{'''},% used for documentation text
- % (mulitiline strings)
- morecomment=[s]{"""}{"""},% added by Philipp Matthias Hahn
- morestring=[s]{r'}{'},% `raw' strings
- morestring=[s]{r"}{"},%
- morestring=[s]{r'''}{'''},%
- morestring=[s]{r"""}{"""},%
- morestring=[s]{u'}{'},% unicode strings
- morestring=[s]{u"}{"},%
- morestring=[s]{u'''}{'''},%
- morestring=[s]{u"""}{"""}%
+ morestring=[b]"%
+}
+\lst@definelanguage[3]{Python}[2]{Python}{%
+ % keywords
+ deletekeywords={exec, print},
+ morekeywords={False, None, True, async, await, nonlocal,
+ match, case},
+ % built-in functions
+ deletekeywords=[2]{apply, basestring, buffer, cmp, coerce, execfile, %
+ file, intern, long, raw_input, reduce, reload, unichr, unicode, xrange},
+ morekeywords=[2]{aiter, anext, ascii, breakpoint, bytes, exec},
+ % `raw' strings
+ morestring=[s]{r'}{'},
+ morestring=[s]{r"}{"},
+ morestring=[s]{r'''}{'''},
+ morestring=[s]{r"""}{"""},
+ morestring=[s]{R'}{'},
+ morestring=[s]{R"}{"},
+ morestring=[s]{R'''}{'''},
+ morestring=[s]{R"""}{"""},
+ % Unicode strings
+ morestring=[s]{u'}{'},
+ morestring=[s]{u"}{"},
+ morestring=[s]{u'''}{'''},
+ morestring=[s]{u"""}{"""},
+ morestring=[s]{U'}{'},
+ morestring=[s]{U"}{"},
+ morestring=[s]{U'''}{'''},
+ morestring=[s]{U"""}{"""},
+ % Format strings
+ morestring=[s]{f'}{'},
+ morestring=[s]{f"}{"},
+ morestring=[s]{f'''}{'''},
+ morestring=[s]{f"""}{"""},
+ morestring=[s]{F'}{'},
+ morestring=[s]{F"}{"},
+ morestring=[s]{F'''}{'''},
+ morestring=[s]{F"""}{"""},
+ % Byte literals
+ morestring=[s]{b'}{'},
+ morestring=[s]{b"}{"},
+ morestring=[s]{b'''}{'''},
+ morestring=[s]{b"""}{"""},
+ morestring=[s]{B'}{'},
+ morestring=[s]{B"}{"},
+ morestring=[s]{B'''}{'''},
+ morestring=[s]{B"""}{"""},
}%
%%
%% Scilab definition (c) 2002,2003 Jean-Philippe Grivet
diff --git a/Master/texmf-dist/tex/latex/listings/lstlang2.sty b/Master/texmf-dist/tex/latex/listings/lstlang2.sty
index 020d30ac310..711754208fa 100644
--- a/Master/texmf-dist/tex/latex/listings/lstlang2.sty
+++ b/Master/texmf-dist/tex/latex/listings/lstlang2.sty
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{lstlang2.sty}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
%%
%% Abap definition by Knut Lickert
%%
@@ -1620,6 +1620,7 @@
procedure,pull,push,queue,return,say,select,signal,then,%
to,trace,when},%
sensitive=false,%
+ morecomment=[l]{--},%
morecomment=[n]{/*}{*/},%
morestring=[d]{'},%
morestring=[d]{"},%
@@ -1643,7 +1644,6 @@
sensitive=false,%
morestring=[d]",%
morestring=[d]',%
- morecomment=[s]{/*}{*/},%
}[keywords,comments,strings]
%%
%% ooREXX keywords (http://www.oorexx.org/)
@@ -1652,7 +1652,7 @@
::options, ::requires, ::resource, ::routine,%
forward, guard, local, loop, raise, strict,%
},%
- alsoletter={:},%
+ alsoletter={:}
}[keywords,comments,strings]
\lst@definelanguage{Ruby}%
{morekeywords={__FILE__,__LINE__,BEGIN,END,alias,and,begin,break,%
diff --git a/Master/texmf-dist/tex/latex/listings/lstlang3.sty b/Master/texmf-dist/tex/latex/listings/lstlang3.sty
index 2eaced05fd3..751259d95d7 100644
--- a/Master/texmf-dist/tex/latex/listings/lstlang3.sty
+++ b/Master/texmf-dist/tex/latex/listings/lstlang3.sty
@@ -22,7 +22,7 @@
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{lstlang3.sty}
- [2024/03/11 1.10a listings language file]
+ [2024/05/25 1.10b listings language file]
\lst@definelanguage[68]{Algol}%
{morekeywords={abs,and,arg,begin,bin,bits,bool,by,bytes,case,channel,%
char,co,comment,compl,conj,divab,do,down,elem,elif,else,empty,%
diff --git a/Master/texmf-dist/tex/latex/listings/lstmisc.sty b/Master/texmf-dist/tex/latex/listings/lstmisc.sty
index b39168f2717..9e663303727 100644
--- a/Master/texmf-dist/tex/latex/listings/lstmisc.sty
+++ b/Master/texmf-dist/tex/latex/listings/lstmisc.sty
@@ -16,8 +16,8 @@
%% Send comments and ideas on the package, error reports and additional
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
-\def\filedate{2024/03/11}
-\def\fileversion{1.10a}
+\def\filedate{2024/05/25}
+\def\fileversion{1.10b}
\ProvidesFile{lstmisc.sty}
[\filedate\space\fileversion\space(Carsten Heinz)]
\lst@CheckVersion\fileversion%
diff --git a/Master/texmf-dist/tex/latex/lni/lni.cls b/Master/texmf-dist/tex/latex/lni/lni.cls
index 90eed28073c..14eb413f8aa 100644
--- a/Master/texmf-dist/tex/latex/lni/lni.cls
+++ b/Master/texmf-dist/tex/latex/lni/lni.cls
@@ -14,7 +14,7 @@
%% --------| -----------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{lni}
- [2024/01/08 v1.8.1 Official class for submissions to the ``Lecture Notes
+ [2024/07/01 v1.9 Official class for submissions to the ``Lecture Notes
in Informatics'']
\RequirePackage{iftex}\ifluatex\else\pdfoutput=1\fi%
\def\@clearglobaloption#1{%
@@ -371,53 +371,71 @@
\renewcommand\Authsep{, }
\renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }}
\renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }}
-\renewcommand{\AB@authnote}[1]{$^{\text{\mbox{\normalfont\footnotesize #1}}}$}
+\NewDocumentCommand{\multiaffil}{ >{\SplitList{,}} m m m}{%
+ \gdef\@currEmail{#2}
+ \gdef\@currOrcid{#3}
+ \ProcessList{#1}{\@multiaffil}
+}
+
+\newcommand{\@multiaffil}[1]{%
+ \ifcsundef{@emailsandorcids#1}{\csgdef{@emailsandorcids#1}{}}{}%
+ \ifcsempty{@emailsandorcids#1}%
+ {\csgappto{@emailsandorcids#1}{%
+ \if\relax\@currEmail\relax\else\email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
+ {\csgappto{@emailsandorcids#1}{%
+ \if\relax\@currEmail\relax\else;\ \email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
+}
+
\renewcommand\author[4][]{%
\ifnewaffil\addtocounter{affil}{1}%
\edef\AB@thenote{\arabic{affil}}%
\fi%
\if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
- \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
\setcounter{Maxaffil}{0}\fi
\ifnum\value{authors}=0\def\@firstauthor{#2}\fi
\ifnum\value{authors}>1\relax
- \@namedef{@sep\number\c@authors}{\Authsep}\fi
+ \@namedef{@sep\number\c@authors}{\Authsep}\fi
\addtocounter{authors}{1}%
\begingroup
- \let\protect\@unexpandable@protect \let\and\AB@pand
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB@authors}%
- \@temptokenb=\expandafter{\AB@authors}%
- {\def\\{\protect\\[\@affilsep]\protect\Affilfont
- \protect\AB@resetsep}%
- \xdef\AB@author{\AB@blk@and#2}%
- \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
- \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
- \else
- \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
- \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
- \gdef\AB@as{\Authsep}%
- \fi
- \gdef\AB@au@str{#2}}%
- \@temptokena=\expandafter{\AB@authlist}%
- \@temptokenb=\expandafter{\@authlisthead}%
- \let\\=\authorcr
- \xdef\AB@authlist{\the\@temptokena
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}%
- \xdef\@authlisthead{\the\@temptokenb
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2}%
+ \let\protect\@unexpandable@protect \let\and\AB@pand
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB@authors}%
+ \@temptokenb=\expandafter{\AB@authors}%
+ {\def\\{\protect\\[\@affilsep]\protect\Affilfont
+ \protect\AB@resetsep}%
+ \xdef\AB@author{\AB@blk@and#2}%
+ \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
+ \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
+ \else
+ \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
+ \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
+ \gdef\AB@as{\Authsep}%
+ \fi
+ \gdef\AB@au@str{#2}}%
+ \@temptokena=\expandafter{\AB@authlist}%
+ \@temptokenb=\expandafter{\@authlisthead}%
+ \let\\=\authorcr
+ \xdef\AB@authlist{\the\@temptokena
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}%
+ \xdef\@authlisthead{\the\@temptokenb
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2}%
\endgroup
\ifnum\value{authors}>2\relax
\@namedef{@sep\number\c@authors}{\Authands}\fi
+ \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
+ \sbox\z@{\@tempcnta=0#1\relax}%
+ \expandafter\ifdim\wd\z@>\z@\relax
+ \multiaffil{#1}{#3}{#4}
+ \else
+ \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
\ifcsempty{@emailsandorcids\AB@note}%
{\csgappto{@emailsandorcids\AB@note}{%
- \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}%
- }%
+ \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
{\csgappto{@emailsandorcids\AB@note}{%
\if\relax#3\relax\else;\ \email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
-
+ \fi%
\newaffilfalse
}
\renewcommand\@author{%
diff --git a/Master/texmf-dist/tex/latex/luwiantype/luwiantype.sty b/Master/texmf-dist/tex/latex/luwiantype/luwiantype.sty
new file mode 100644
index 00000000000..ea33fb4fb59
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/luwiantype/luwiantype.sty
@@ -0,0 +1,1035 @@
+%% Copyright 2024 Jonathan Walls
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl/lppl-1-3c.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Jonathan Walls.
+%
+% This work consists of the files luwiantype.sty, luwiantype-doc.tex
+% and the derived file luwiantype-doc.pdf.
+%
+%
+% Version history:
+% 1.2 - updated to resolve some minor typos and command formatting
+% 1.1 - updated to comply with CTAN formatting requirements, adjustments to licensing
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{luwiantype}[2024/07/15 Luwian Hieroglyph Typing Package]
+
+%Required packages and declarations
+\usepackage{fontspec}
+\usepackage{graphicx}
+\usepackage{stackengine}
+\usepackage{moresize}
+
+%Commands for font selection and import
+\newcommand{\Luwian}{\setmainfont[ExternalLocation=Fonts/]{LuwianFont.ttf}\Large}
+\newcommand{\Lat}{\setmainfont{Charis SIL}\normalsize}
+
+%Formatting commands
+\newcommand{\badeq}{\char"2E17}
+\newcommand{\hl}{\char"2308}
+\newcommand{\hr}{\char"2309}
+\newcommand{\tsup}[1]{\textsuperscript{#1}}
+\newcommand{\tsub}[1]{\textsubscript{#1}}
+\newcommand{\boust}[1]{\reflectbox{#1}}
+\newcommand{\gstack}{\Shortunderstack}
+
+
+
+%Main sign commands
+\newcommand{\EGO}[1][]{
+ \ifx\relax#1\relax
+ {\char"14400}
+ \else \ifnum #1=2
+ {\char"14401}
+ \fi\fi
+}
+\newcommand{\LIII}{\char"14402}
+\newcommand{\MONS}[1][]{
+ \ifx\relax#1\relax
+ {\char"144EC}
+ \else \ifnum #1=2
+ {\char"14403}
+ \fi\fi
+}
+\newcommand{\LV}{\char"14404}
+\newcommand{\ADORARE}{\char"14405}
+\newcommand{\EDERE}{\char"14406}
+\newcommand{\BIBERE}{\char"14407}
+\newcommand{\AMPLECTI}{\char"14408}
+\newcommand{\CAPUT}{\char"14409}
+\newcommand{\CAPUTSCALPRUM}{\char"1440A}
+\newcommand{\LXI}{\char"1440B}
+\newcommand{\STATUA}{\char"1440C}
+\newcommand{\LXIII}{\char"1440D}
+\newcommand{\PRAE}{\char"1440E}
+\newcommand{\PARI}{\char"1440E}
+\newcommand{\DOMINA}{\char"1440F}
+\newcommand{\MAGNUSDOMINA}{\char"14410}
+\newcommand{\REX}{\char"14411}
+\newcommand{\MAGNUSREX}{\char"14412}
+\newcommand{\A}[1][]{
+ \ifx\relax#1\relax
+ {\char"145F7}
+ \else \ifnum #1=2
+ {\char"14413}
+ \fi\fi
+}
+\newcommand{\LXX}{\char"14414}
+\newcommand{\HEROS}{\char"14415}
+\newcommand{\LOQUI}{\char"14416}
+\newcommand{\LXXIII}{\char"14417}
+\newcommand{\LIS}{\char"14418}
+\newcommand{\OCULUS}{\char"14419}
+\newcommand{\FRONS}{\char"1441A}
+\newcommand{\VERSUS}{\char"1441B}
+\newcommand{\LIBARE}{\char"1441C}
+\newcommand{\FORTIS}{\char"1441D}
+\newcommand{\TA}[1][]{
+ \ifx\relax#1\relax
+ {\char"14470}
+ \else \ifnum #1=2
+ {\char"1441E}
+ \else \ifnum #1=3
+ {\char"1442C}
+ \else \ifnum #1=6
+ {\char"1445B}
+ \fi\fi\fi\fi
+}
+\newcommand{\LXXX}{\char"1441F}
+\newcommand{\LIGARE}{\char"14420}
+\newcommand{\PUGNUSPUGNUS}{\char"14420}
+\newcommand{\BRACCHIUM}{\char"14421}
+\newcommand{\LXXXIII}{\char"14422}
+\newcommand{\POST}{\char"14423}
+\newcommand{\NA}[1][]{
+ \ifx\relax#1\relax
+ {\char"14424}
+ \else \ifnum #1=2
+ {\char"1445D}
+ \fi\fi
+}
+\newcommand{\LITUUSNA}{\char"14425}
+\newcommand{\LXXXVII}{\char"14426}
+\newcommand{\LXXXVIII}{\char"14427}
+\newcommand{\PUGNUS}{\char"14428}
+\newcommand{\PUGNUSX}{\char"14429}
+\newcommand{\LXL}{\char"1442A}
+\newcommand{\CAPERE}[1][]{
+ \ifx\relax#1\relax
+ {\char"1442B}
+ \else \ifnum #1=2
+ {\char"1442E}
+ \fi\fi
+}
+\newcommand{\CAPEREIICAPEREII}{\char"1442D}
+\newcommand{\LXLIV}{\char"1442F}
+\newcommand{\INFANS}{\char"14430}
+\newcommand{\FILIUS}{\char"14430}
+\newcommand{\FILIA}{\char"14431}
+\newcommand{\REXINFANS}{\char"14432}
+\newcommand{\REXFILIUS}{\char"14432}
+\newcommand{\REXFILIA}{\char"14433}
+\newcommand{\MAGNUSFILIA}{\char"14434}
+\newcommand{\LXLVII}{\char"14435}
+\newcommand{\LXLVIII}{\char"14436}
+\newcommand{\ATAII}{\char"14437}
+\newcommand{\LL}{\char"14438}
+\newcommand{\LLI}{\char"14439}
+\newcommand{\MANUSCULTER}{\char"1443A}
+\newcommand{\ENSIS}{\char"1443B}
+\newcommand{\LLIV}{\char"1443C}
+\newcommand{\NI}[1][]{
+ \ifx\relax#1\relax
+ {\char"145D0}
+ \else \ifnum #1=2
+ {\char"144F5}
+ \else \ifnum #1=3
+ {\char"1443D}
+ \fi\fi\fi
+}
+\newcommand{\KA}[1][]{
+ \ifx\relax#1\relax
+ {\char"145E7}
+ \else \ifnum #1=2
+ {\char"1443E}
+ \fi\fi
+}
+\newcommand{\INFRA}{\char"1443F}
+\newcommand{\SUB}{\char"1443F}
+\newcommand{\CUM}{\char"14440}
+\newcommand{\MANUS}{\char"14441}
+\newcommand{\LLX}{\char"14442}
+\newcommand{\LLXI}{\char"14443}
+\newcommand{\LONGUS}{\char"14444}
+\newcommand{\LLXIII}{\char"14445}
+\newcommand{\LLXIV}{\char"14446}
+\newcommand{\PONERE}{\char"14447}
+\newcommand{\DARE}{\char"14448}
+\newcommand{\PI}[1][]{
+ \ifx\relax#1\relax
+ {\char"14449}
+ \fi
+}
+\newcommand{\MANDARE}[1][]{
+ \ifx\relax#1\relax
+ {\char"1444A}
+ \else \ifnum #1=2
+ {\char"1444B}
+ \fi\fi
+}
+\newcommand{\DAREDARE}{\char"1444A}
+\newcommand{\LLXVII}{\char"1444C}
+\newcommand{\LLXVIII}{\char"1444D}
+\newcommand{\LLXIX}{\char"1444E}
+\newcommand{\SUPER}{\char"1444F}
+\newcommand{\SARAI}{\char"14555}
+\newcommand{\LLXXI}{\char"14450}
+\newcommand{\LLXXII}{\char"14451}
+\newcommand{\AUDIRE}{\char"14452}
+\newcommand{\LLXXIV}{\char"14453}
+\newcommand{\LLXXV}{\char"14454}
+\newcommand{\LLXXVI}{\char"14455}
+\newcommand{\LLXXVII}{\char"14456}
+\newcommand{\ALA}{\char"14457}
+\newcommand{\FEMINA}{\char"14458}
+\newcommand{\MATER}{\char"14458}
+\newcommand{\SARMA}[1][]{
+ \ifx\relax#1\relax
+ {\char"14459}
+ \else \ifnum #1=2
+ {\char"1445A}
+ \fi\fi
+}
+\newcommand{\CRUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1445B}
+ \else \ifnum #1=2
+ {\char"1445D}
+ \fi\fi
+}
+\newcommand{\CRUSFLUMEN}{\char"1445C}
+\newcommand{\GENUFLECTERE}{\char"1445E}
+\newcommand{\CRUSCRUS}{\char"1445F}
+\newcommand{\LLXXXVII}{\char"14460}
+\newcommand{\LLXXXVIII}{\char"14461}
+\newcommand{\TU}[1][]{
+ \ifx\relax#1\relax
+ {\char"14462}
+ \else \ifnum #1=2
+ {\char"1456C}
+ \else \ifnum #1=3
+ {\char"1456D}
+ \else \ifnum #1=4
+ {\char"14506}
+ \fi\fi\fi\fi
+}
+\newcommand{\PES}[1][]{
+ \ifx\relax#1\relax
+ {\char"14463}
+ \else \ifnum #1=2
+ {\char"14466}
+ \fi\fi
+}
+\newcommand{\TI}[1][]{
+ \ifx\relax#1\relax
+ {\char"14463}
+ \else \ifnum #1=2
+ {\char"1461F}
+ \else \ifnum #1=3
+ {\char"14644}
+ \fi\fi\fi
+}
+\newcommand{\PESSCALAROTAE}{\char"14464}
+\newcommand{\LXCII}{\char"14465}
+\newcommand{\LXCIV}{\char"14467}
+\newcommand{\PESIIPESII}{\char"14468}
+\newcommand{\PESIIPES}{\char"14469}
+\newcommand{\LEO}[1][]{
+ \ifx\relax#1\relax
+ {\char"1446A}
+ \else \ifnum #1=2
+ {\char"1446B}
+ \fi\fi
+}
+\newcommand{\BESTIA}{\char"1446A}
+\newcommand{\CANIS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1446C}
+ \else \ifnum #1=2
+ {\char"1446D}
+ \fi\fi
+}
+\newcommand{\EQUUS}{\char"1446E}
+\newcommand{\ASINUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1446F}
+ \else \ifnum #1=2
+ {\char"14471}
+ \fi\fi
+}
+\newcommand{\ASINUSIIA}{\char"14472}
+\newcommand{\CERVUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"14473}
+ \else \ifnum #1=2
+ {\char"14474}
+ \else \ifnum #1=3
+ {\char"14475}
+ \fi\fi\fi
+}
+\newcommand{\RU}[1][]{
+ \ifx\relax#1\relax
+ {\char"145D1}
+ \else \ifnum #1=2
+ {\char"14473}
+ \fi\fi
+}
+\newcommand{\CAPRA}[1][]{
+ \ifx\relax#1\relax
+ {\char"14476}
+ \else \ifnum #1=2
+ {\char"14478}
+ \fi\fi
+}
+\newcommand{\SA}[1][]{
+ \ifx\relax#1\relax
+ {\char"145D4}
+ \else \ifnum #1=2
+ {\char"145E6}
+ \else \ifnum #1=3
+ {\char"14477}
+ \else \ifnum #1=4
+ {\char"145C6}
+ \else \ifnum #1=5
+ {\char"1456E}
+ \else \ifnum #1=6
+ {\char"14500}
+ \else \ifnum #1=7
+ {\char"14563}
+ \else \ifnum #1=8
+ {\char"145AD}
+ \fi\fi\fi\fi\fi\fi\fi\fi
+}
+\newcommand{\CAPRAIIA}{\char"14479}
+\newcommand{\BOS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1447A}
+ \else \ifnum #1=2
+ {\char"1447C}
+ \fi\fi
+}
+\newcommand{\U}{\char"1447B}
+\newcommand{\LCVI}{\char"1447D}
+\newcommand{\BOSMI}{\char"1447E}
+\newcommand{\MU}{\char"1447F}
+\newcommand{\MUWA}{\char"14480}
+\newcommand{\BOSIIMI}{\char"14481}
+\newcommand{\CORNU}{\char"14482}
+\newcommand{\SU}[1][]{
+ \ifx\relax#1\relax
+ {\char"145A2}
+ \else \ifnum #1=2
+ {\char"14482}
+ \else \ifnum #1=3
+ {\char"145F5}
+ \fi\fi\fi
+}
+\newcommand{\VITELLUS}{\char"14483}
+\newcommand{\OVIS}[1][]{
+ \ifx\relax#1\relax
+ {\char"14484}
+ \else \ifnum #1=2
+ {\char"14486}
+ \else \ifnum #1=3
+ {\char"14487}
+ \fi\fi\fi
+}
+\newcommand{\MA}[1][]{
+ \ifx\relax#1\relax
+ {\char"14485}
+ \else \ifnum #1=2
+ {\char"14598}
+ \else \ifnum #1=3
+ {\char"14556}
+ \fi\fi\fi
+}
+\newcommand{\LINGERE}{\char"14488}
+\newcommand{\ZA}[1][]{
+ \ifx\relax#1\relax
+ {\char"145AA}
+ \else \ifnum #1=2
+ {\char"14579}
+ \else \ifnum #1=3
+ {\char"1457C}
+ \else \ifnum #1=4
+ {\char"14488}
+ \fi\fi\fi\fi
+}
+\newcommand{\LCXIII}{\char"14489}
+\newcommand{\LITUUSU}{\char"1448A}
+\newcommand{\LEPUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1448B}
+ \else \ifnum #1=2
+ {\char"1448C}
+ \fi\fi
+}
+\newcommand{\TAPA}{\char"1448C}
+\newcommand{\LCXVI}{\char"1448D}
+\newcommand{\LCXVII}{\char"1448E}
+\newcommand{\LCXVIII}{\char"1448F}
+\newcommand{\LCXIX}{\char"14490}
+\newcommand{\GRYLLUS}{\char"14491}
+\newcommand{\SPHINX}{\char"14492}
+\newcommand{\LCXXII}{\char"14493}
+\newcommand{\LCXXIII}{\char"14494}
+\newcommand{\LCXXIV}{\char"14495}
+\newcommand{\LI}[1][]{
+ \ifx\relax#1\relax
+ {\char"14539}
+ \else \ifnum #1=2
+ {\char"14496}
+ \else \ifnum #1=3
+ {\char"14547}
+ \fi\fi\fi
+}
+\newcommand{\UNGULA}{\char"14497}
+\newcommand{\LCXXVI}{\char"14498}
+\newcommand{\LCXXVII}{\char"14499}
+\newcommand{\AVIS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1449A}
+ \else \ifnum #1=2
+ {\char"1449E}
+ \else \ifnum #1=3
+ {\char"1449C}
+ \else \ifnum #1=4
+ {\char"1449F}
+ \else \ifnum #1=5
+ {\char"1449D}
+ \fi\fi\fi\fi\fi
+}
+\newcommand{\ZI}[1][]{
+ \ifx\relax#1\relax
+ {\char"145A9}
+ \else \ifnum #1=2
+ {\char"14560}
+ \else \ifnum #1=3
+ {\char"1457B}
+ \else \ifnum #1=4
+ {\char"1449A}
+ \fi\fi\fi\fi
+}
+\newcommand{\LCXXIX}{\char"1449B}
+\newcommand{\AQUILA}{\char"1449F}
+\newcommand{\ARAI}{\char"144A0}
+\newcommand{\AVISX}{\char"144A1}
+\newcommand{\LCXXXVA}{\char"144A2}
+\newcommand{\LCXXXVI}{\char"144A3}
+\newcommand{\LIBATIO}{\char"144A4}
+\newcommand{\PISCIS}{\char"144A5}
+\newcommand{\LCXXXIX}{\char"144A6}
+\newcommand{\LCXL}{\char"144A7}
+\newcommand{\LCXLI}{\char"144A8}
+\newcommand{\LXCLII}{\char"144A9}
+\newcommand{\LCXLIII}{\char"144AA}
+\newcommand{\LCXLIV}{\char"144AB}
+\newcommand{\LCXLV}{\char"144AC}
+\newcommand{\LCXLVI}{\char"144AD}
+\newcommand{\LCXLVII}{\char"144AE}
+\newcommand{\JANUS}{\char"144AF}
+\newcommand{\LCXLIX}{\char"144B0}
+\newcommand{\LCL}{\char"144B1}
+\newcommand{\TELIPINU}{\char"144B2}
+\newcommand{\LCLII}{\char"144B3}
+\newcommand{\NU}[1][]{
+ \ifx\relax#1\relax
+ {\char"144B4}
+ \else \ifnum #1=2
+ {\char"145BF}
+ \fi\fi
+}
+\newcommand{\LCLIV}{\char"144B5}
+\newcommand{\LCLV}{\char"144B6}
+\newcommand{\LCLVI}{\char"144B7}
+\newcommand{\LCLVII}{\char"144B8}
+\newcommand{\LCLVIII}{\char"144B9}
+\newcommand{\LCLIX}{\char"144BA}
+\newcommand{\VITIS}{\char"144BB}
+\newcommand{\WIYA}{\char"144BB}
+\newcommand{\LCLXI}{\char"144BC}
+\newcommand{\LCLXII}{\char"144BD}
+\newcommand{\LCLXIII}{\char"144BE}
+\newcommand{\LCLXIV}{\char"144BF}
+\newcommand{\BONUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"144C0}
+ \else \ifnum #1=2
+ {\char"145A2}
+ \fi\fi
+}
+\newcommand{\WAI}[1][]{
+ \ifx\relax#1\relax
+ {\char"145EC}
+ \else \ifnum #1=2
+ {\char"144C1}
+ \else \ifnum #1=3
+ {\char"144C0}
+ \else \ifnum #1=4
+ {\char"144EC}
+ \else \ifnum #1=5
+ {\char"144E9}
+ \else \ifnum #1=6
+ {\char"144E4}
+ \else \ifnum #1=7
+ {\char"14541}
+ \else \ifnum #1=9
+ {\char"1453B}
+ \fi\fi\fi\fi\fi\fi\fi\fi
+}
+\newcommand{\LCLXVII}{\char"144C2}
+\newcommand{\LCLXVIII}{\char"144C3}
+\newcommand{\LCLXIX}{\char"144C4}
+\newcommand{\LCLXX}{\char"144C5}
+\newcommand{\LCLXXI}{\char"144C6}
+\newcommand{\TAI}[1][]{
+ \ifx\relax#1\relax
+ {\char"}
+ \else \ifnum #1=4
+ {\char"14566}
+ \else \ifnum #1=5
+ {\char"144C7}
+ \fi\fi\fi
+}
+\newcommand{\LAI}[1][]{
+ \ifx\relax#1\relax
+ {\char"14566}
+ \else \ifnum #1=2
+ {\char"144C7}
+ \fi\fi
+}
+\newcommand{\HASTARIUS}{\char"144C8}
+\newcommand{\SI}[1][]{
+ \ifx\relax#1\relax
+ {\char"144C9}
+ \else \ifnum #1=2
+ {\char"145FE}
+ \fi\fi
+}
+\newcommand{\LINGUA}{\char"144CA}
+\newcommand{\LA}{\char"144CA}
+\newcommand{\LALA}{\char"144CB}
+\newcommand{\LINGUACLAVUS}{\char"144CC}
+\newcommand{\LARAA}{\char"144CD}
+\newcommand{\HORDEUM}{\char"144CE}
+\newcommand{\HWIX}{\char"144CE}
+\newcommand{\LCLXXX}{\char"144CF}
+\newcommand{\PANIS}{\char"144D0}
+\newcommand{\PAX}{\char"144D0}
+\newcommand{\CAELUM}{\char"144D1}
+\newcommand{\LCLXXXIII}{\char"144D2}
+\newcommand{\LCLXXXIV}{\char"144D3}
+\newcommand{\LCLXXXV}{\char"144D4}
+\newcommand{\LCLXXXVI}{\char"144D5}
+\newcommand{\LCLXXXVII}{\char"144D6}
+\newcommand{\LCLXXXVIII}{\char"144D7}
+\newcommand{\LCLXXXIX}{\char"144D8}
+\newcommand{\SOL}[1][]{
+ \ifx\relax#1\relax
+ {\char"144DA}
+ \else \ifnum #1=2
+ {\char"144D9}
+ \fi\fi
+}
+\newcommand{\ORIENS}{\char"144DB}
+\newcommand{\LUNA}{\char"144DC}
+\newcommand{\LCXCIV}{\char"144DD}
+\newcommand{\LCXCV}{\char"144DE}
+\newcommand{\HATTI}{\char"144DF}
+\newcommand{\HA}[1][]{
+ \ifx\relax#1\relax
+ {\char"144F7}
+ \else \ifnum #1=2
+ {\char"144DF}
+ \fi\fi
+}
+\newcommand{\HATTILI}{\char"144E0}
+\newcommand{\HATTUSILI}{\char"144E0}
+\newcommand{\HAIILI}{\char"144E0}
+\newcommand{\LCXCVIII}{\char"144E1}
+\newcommand{\TONITRUS}{\char"144E2}
+\newcommand{\FULGUR}{\char"144E3}
+\newcommand{\TERRA}{\char"144E4}
+\newcommand{\LOCUS}{\char"144E4}
+\newcommand{\VIATERRASCALPRUM}{\char"144E5}
+\newcommand{\VIATERRAPLUSSCALPRUM}{\char"144E6}
+\newcommand{\DEUSVIATERRA}{\char"144E7}
+\newcommand{\LCCIII}{\char"144E8}
+\newcommand{\LCCV}{\char"144EA}
+\newcommand{\LCCVI}{\char"144EB}
+\newcommand{\LEOMONSTULEO}{\char"144ED}
+\newcommand{\LCCVIII}{\char"144EE}
+\newcommand{\I}[1][]{
+ \ifx\relax#1\relax
+ {\char"144EF}
+ \else \ifnum #1=2
+ {\char"14550}
+ \fi\fi
+}
+\newcommand{\IRAI}{\char"144F0}
+\newcommand{\RII}{\char"144F0}
+\newcommand{\IA}[1][]{
+ \ifx\relax#1\relax
+ {\char"144F1}
+ \else \ifnum #1=2
+ {\char"14551}
+ \else \ifnum #1=3
+ {\char"145AC}
+ \fi\fi\fi
+}
+\newcommand{\LCCXI}{\char"144F2}
+\newcommand{\FLUMEN}{\char"144F3}
+\newcommand{\LCCXIII}{\char"144F4}
+\newcommand{\FONS}{\char"144F6}
+\newcommand{\FINES}{\char"144F8}
+\newcommand{\FINESHA}{\char"144F9}
+\newcommand{\ARHA}{\char"144F9}
+\newcommand{\LCCXVII}{\char"144FA}
+\newcommand{\LCCXVIII}{\char"144FB}
+\newcommand{\LCCXIX}{\char"144FC}
+\newcommand{\LCCXX}{\char"144FD}
+\newcommand{\VIA}{\char"144FE}
+\newcommand{\LCCXXII}{\char"144FF}
+\newcommand{\LCCXXIV}{\char"14501}
+\newcommand{\URBS}{\char"14502}
+\newcommand{\ISHUWA}{\char"14503}
+\newcommand{\URBSRAILI}{\char"14504}
+\newcommand{\URBSLI}{\char"14505}
+\newcommand{\MURSILI}{\char"14505}
+\newcommand{\REGIO}{\char"14506}
+\newcommand{\MIIIREGIO}{\char"14507}
+\newcommand{\LCCXXX}{\char"14508}
+\newcommand{\CASTRUM}{\char"14509}
+\newcommand{\LCCXXXII}{\char"1450A}
+\newcommand{\LCCXXXIII}{\char"1450B}
+\newcommand{\LCCXXXIV}{\char"1450C}
+\newcommand{\TURRIS}{\char"1450D}
+\newcommand{\LCCXXXV}{\char"1450D}
+\newcommand{\MURUS}{\char"1450E}
+\newcommand{\LCCXXXVI}{\char"1450E}
+\newcommand{\PORTA}[1][]{
+ \ifx\relax#1\relax
+ {\char"1450F}
+ \else \ifnum #1=2
+ {\char"14511}
+ \fi\fi
+}
+\newcommand{\LCCXXXVIII}{\char"14510}
+\newcommand{\LCCXL}{\char"14512}
+\newcommand{\KIX}{\char"14513}
+\newcommand{\LCCXLII}{\char"14514}
+\newcommand{\CUBITUM}{\char"14515}
+\newcommand{\AEDIFICIUM}{\char"14516}
+\newcommand{\VACUUS}{\char"14517}
+\newcommand{\AEDIFICIUMMINUS}{\char"14517}
+\newcommand{\AEDIFICARE}{\char"14518}
+\newcommand{\AEDIFICIUMPONERE}{\char"14518}
+\newcommand{\DOMUS}{\char"14519}
+\newcommand{\DELERE}{\char"1451A}
+\newcommand{\DOMUSMINUS}{\char"1451A}
+\newcommand{\DEUSDOMUS}{\char"1451B}
+\newcommand{\MAGNUSDOMUS}{\char"1451C}
+\newcommand{\DOMUSX}{\char"1451D}
+\newcommand{\DOMUSSCALA}{\char"1451E}
+\newcommand{\LCCLII}{\char"1451F}
+\newcommand{\EUNUCHUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"14611}
+ \else \ifnum #1=2
+ {\char"14520}
+ \fi\fi
+}
+\newcommand{\HORREUM}{\char"14521}
+\newcommand{\LCCLVI}{\char"14522}
+\newcommand{\ARGENTUM}{\char"14523}
+\newcommand{\LCCLVIII}{\char"14524}
+\newcommand{\LCCLIX}{\char"14525}
+\newcommand{\LCCLX}{\char"14526}
+\newcommand{\LCCLXI}{\char"14527}
+\newcommand{\LCCLXII}{\char"14528}
+\newcommand{\LCCLXIII}{\char"14529}
+\newcommand{\PODIUM}{\char"1452A}
+\newcommand{\LCCLXV}{\char"1452B}
+\newcommand{\PESREGIO}{\char"1452C}
+\newcommand{\STELE}{\char"1452D}
+\newcommand{\LAPISSCALPRUM}{\char"1452D}
+\newcommand{\LAPIS}{\char"1452E}
+\newcommand{\SCALPRUM}{\char"1452F}
+\newcommand{\EXERCITUS}{\char"14530}
+\newcommand{\LCCLXX}{\char"14531}
+\newcommand{\LCCLXXI}{\char"14532}
+\newcommand{\SCUTUM}{\char"14533}
+\newcommand{\LCCLXXIII}{\char"14534}
+\newcommand{\LCCLXXIV}{\char"14535}
+\newcommand{\FRATER}[1][]{
+ \ifx\relax#1\relax
+ {\char"14430}
+ \else \ifnum #1=2
+ {\char"14537}
+ \fi\fi
+}
+\newcommand{\IUDEXLA}{\char"14538}
+\newcommand{\LCCLXXIX}{\char"1453A}
+\newcommand{\MALLEUS}{\char"1453B}
+\newcommand{\ASCIA}{\char"1453C}
+\newcommand{\LCCLXXXII}{\char"1453D}
+\newcommand{\TUZZI}{\char"1453E}
+\newcommand{\LCCLXXXIV}{\char"1453F}
+\newcommand{\IACULUM}{\char"14540}
+\newcommand{\ZU}[1][]{
+ \ifx\relax#1\relax
+ {\char"14540}
+ \else \ifnum #1=2
+ {\char"145F5}
+ \fi\fi
+}
+\newcommand{\ZUWA}{\char"14540}
+\newcommand{\LCCLXXXVII}{\char"14542}
+\newcommand{\CURRUS}{\char"14543}
+\newcommand{\AURIGA}[1][]{
+ \ifx\relax#1\relax
+ {\char"14544}
+ \else \ifnum #1=2
+ {\char"14545}
+ \fi\fi
+}
+\newcommand{\HARAI}{\char"14546}
+\newcommand{\ROTA}{\char"14548}
+\newcommand{\HALAI}{\char"14548}
+\newcommand{\LCCXCIII}{\char"14549}
+\newcommand{\THRONUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1454A}
+ \else \ifnum #1=2
+ {\char"1454F}
+ \fi\fi
+}
+\newcommand{\MENSA}[1][]{
+ \ifx\relax#1\relax
+ {\char"1454A}
+ \else \ifnum #1=2
+ {\char"1454B}
+ \fi\fi
+}
+\newcommand{\SARPA}{\char"1454B}
+\newcommand{\SOLIITHRONUS}{\char"1454C}
+\newcommand{\SOLIIMENSA}{\char"1454C}
+\newcommand{\DEUSMONSSARPA}{\char"1454D}
+\newcommand{\DEUSMONSMENSA}{\char"1454D}
+\newcommand{\LCCXCVII}{\char"1454E}
+\newcommand{\SOLIUM}{\char"14550}
+\newcommand{\NEPOS}{\char"14552}
+\newcommand{\LECTUS}{\char"14553}
+\newcommand{\LCCCII}{\char"14554}
+\newcommand{\FUSUS}{\char"14557}
+\newcommand{\HI}[1][]{
+ \ifx\relax#1\relax
+ {\char"145D2}
+ \else \ifnum #1=2
+ {\char"14558}
+ \fi\fi
+}
+\newcommand{\HU}[1][]{
+ \ifx\relax#1\relax
+ {\char"14559}
+ \else \ifnum #1=2
+ {\char"14588}
+ \fi\fi
+}
+\newcommand{\LCCCVIII}{\char"1455A}
+\newcommand{\CRUX}[1][]{
+ \ifx\relax#1\relax
+ {\char"1455B}
+ \else \ifnum #1=2
+ {\char"1455C}
+ \fi\fi
+}
+\newcommand{\LCCCX}{\char"1455D}
+\newcommand{\LCCCXI}{\char"1455E}
+\newcommand{\LCCCXII}{\char"1455F}
+\newcommand{\VIR}[1][]{
+ \ifx\relax#1\relax
+ {\char"14560}
+ \else \ifnum #1=2
+ {\char"145B5}
+ \fi\fi
+}
+\newcommand{\HAX}{\char"14561}
+\newcommand{\KAR}{\char"14562}
+\newcommand{\LCCCXVII}{\char"14564}
+\newcommand{\TESHUB}{\char"14565}
+\newcommand{\LCCCXX}{\char"14567}
+\newcommand{\LCCCXXI}{\char"14568}
+\newcommand{\PURUS}{\char"14569}
+\newcommand{\LCCCXXIII}{\char"1456A}
+\newcommand{\LCCCXXIV}{\char"1456B}
+\newcommand{\SCRIBA}{\char"1456D}
+\newcommand{\SIGILLUM}{\char"1456E}
+\newcommand{\PU}[1][]{
+ \ifx\relax#1\relax
+ {\char"1456F}
+ \else \ifnum #1=2
+ {\char"145E3}
+ \fi\fi
+}
+\newcommand{\REL}{\char"14570}
+\newcommand{\KWIA}{\char"14570}
+\newcommand{\LCCCXXIXA}{\char"14571}
+\newcommand{\CAPERESCALPRUM}{\char"14572}
+\newcommand{\AVUS}{\char"14573}
+\newcommand{\NEG}[1][]{
+ \ifx\relax#1\relax
+ {\char"14574}
+ \else \ifnum #1=2
+ {\char"14575}
+ \else \ifnum #1=3
+ {\char"14576}
+ \fi\fi\fi
+}
+\newcommand{\LCCCXXXIII}{\char"14577}
+\newcommand{\PA}{\char"14578}
+\newcommand{\ANNUS}{\char"1457A}
+\newcommand{\PITHOSSCUTELLA}{\char"1457A}
+\newcommand{\PITHOS}{\char"1457E}
+\newcommand{\ZAX}{\char"1457D}
+\newcommand{\CULTER}{\char"1457F}
+\newcommand{\LCCCXXXIX}{\char"14580}
+\newcommand{\ANNUSANNUS}{\char"14581}
+\newcommand{\VAS}{\char"14582}
+\newcommand{\LCCCXLII}{\char"14583}
+\newcommand{\PITHOSA}{\char"14584}
+\newcommand{\CONTRACTUS}{\char"14585}
+\newcommand{\URCEUS}{\char"14586}
+\newcommand{\POCULUM}{\char"14587}
+\newcommand{\LCCCXLVIII}{\char"14589}
+\newcommand{\LCCCXLIX}{\char"1458A}
+\newcommand{\LCCCL}{\char"1458B}
+\newcommand{\LCCCLI}{\char"1458C}
+\newcommand{\LCCCLII}{\char"1458D}
+\newcommand{\LCCCLIII}{\char"1458E}
+\newcommand{\LCCCLIV}{\char"1458F}
+\newcommand{\LCCCLVI}{\char"14591}
+\newcommand{\LCCCLVII}{\char"14592}
+\newcommand{\DIES}{\char"14593}
+\newcommand{\LCCCLIX}{\char"14594}
+\newcommand{\LCCCLIXA}{\char"14595}
+\newcommand{\DEUS}{\char"14596}
+\newcommand{\LCCCLXI}{\char"14597}
+\newcommand{\MAGNUS}{\char"14599}
+\newcommand{\UR}{\char"14599}
+\newcommand{\UA}{\char"1459A}
+\newcommand{\MUA}{\char"1459B}
+\newcommand{\LCCCLXV}{\char"1459C}
+\newcommand{\OMNIS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1459D}
+ \else \ifnum #1=2
+ {\char"145E3}
+ \fi\fi
+}
+\newcommand{\OMNISMI}{\char"1459D}
+\newcommand{\TALA}{\char"1459E}
+\newcommand{\MALUS}[1][]{
+ \ifx\relax#1\relax
+ {\char"1459F}
+ \else \ifnum #1=2
+ {\char"145A0}
+ \fi\fi
+}
+\newcommand{\VITA}{\char"145A1}
+\newcommand{\IUSTITIA}{\char"145A3}
+\newcommand{\IUDEX}{\char"145A3}
+\newcommand{\IUDEXRAI}{\char"145A4}
+\newcommand{\TARAIX}{\char"145A4}
+\newcommand{\SACERDOS}[1][]{
+ \ifx\relax#1\relax
+ {\char"14590}
+ \else \ifnum #1=2
+ {\char"145A5}
+ \fi\fi
+}
+\newcommand{\LCCCLXXIII}{\char"145A6}
+\newcommand{\LCCCLXXIV}{\char"145A7}
+\newcommand{\LCCCLXXV}{\char"145A8}
+\newcommand{\ZIA}{\char"145A9}
+\newcommand{\LITUUS}{\char"145AB}
+\newcommand{\OCCIDENS}{\char"145AC}
+\newcommand{\ONE}{\char"145AD}
+\newcommand{\UNUS}{\char"145AD}
+\newcommand{\MINUS}{\char"145AE}
+\newcommand{\MORI}{\char"145AF}
+\newcommand{\VIRIIMINUS}{\char"145AF}
+\newcommand{\LIGNUM}{\char"145B0}
+\newcommand{\RAI}{\char"145B1}
+\newcommand{\PERS}{\char"145B2}
+\newcommand{\TWO}{\char"145B3}
+\newcommand{\WORD}{\char"145B5}
+\newcommand{\VIRIIA}{\char"145B6}
+\newcommand{\SERVUS}{\char"145B7}
+\newcommand{\MI}[1][]{
+ \ifx\relax#1\relax
+ {\char"145BB}
+ \else \ifnum #1=2
+ {\char"145D8}
+ \else \ifnum #1=3
+ {\char"145B7}
+ \fi\fi\fi
+}
+\newcommand{\THREE}{\char"145B8}
+\newcommand{\TARAI}{\char"145B9}
+\newcommand{\DOMINUS}{\char"145BA}
+\newcommand{\FOUR}{\char"145BB}
+\newcommand{\FIVE}{\char"145BC}
+\newcommand{\EIGHT}{\char"145BD}
+\newcommand{\LCCCXCIV}{\char"145BE}
+\newcommand{\NINE}{\char"145BF}
+\newcommand{\LCCCXCVI}{\char"145C0}
+\newcommand{\TEN}{\char"145C1}
+\newcommand{\DECEM}{\char"145C1}
+\newcommand{\LCCCXCVIII}{\char"145C2}
+\newcommand{\HUNDRED}{\char"145C3}
+\newcommand{\CENTUM}{\char"145C3}
+\newcommand{\THOUSAND}{\char"145C4}
+\newcommand{\MILLE}{\char"145C4}
+\newcommand{\LCDI}{\char"145C5}
+\newcommand{\SCUTELLA}{\char"145C6}
+\newcommand{\LCDIII}{\char"145C7}
+\newcommand{\ANIMAL}{\char"145C8}
+\newcommand{\LCDV}{\char"145C9}
+\newcommand{\LCDVI}{\char"145CA}
+\newcommand{\LCDVII}{\char"145CB}
+\newcommand{\LCDVIII}{\char"145CC}
+\newcommand{\LCDIX}{\char"145CD}
+\newcommand{\LCDX}{\char"145CE}
+\newcommand{\LOGS}{\char"145CE}
+\newcommand{\LCDXA}{\char"145CF}
+\newcommand{\LOGE}{\char"145CF}
+\newcommand{\LCDXIV}{\char"145D3}
+\newcommand{\LCDXVI}{\char"145D5}
+\newcommand{\SAX}{\char"145D6}
+\newcommand{\LCDXVIII}{\char"145D7}
+\newcommand{\URHI}{\char"145D8}
+\newcommand{\LCDXX}{\char"145D9}
+\newcommand{\US}{\char"145DA}
+\newcommand{\PANISSCUTELLA}{\char"145DB}
+\newcommand{\KU}{\char"145DC}
+\newcommand{\LCDXXIV}{\char"145DD}
+\newcommand{\LCDXXV}{\char"145DE}
+\newcommand{\LCDXXVI}{\char"145DF}
+\newcommand{\LCDXXVII}{\char"145E0}
+\newcommand{\LCDXXVIII}{\char"145E1}
+\newcommand{\TANA}{\char"145E2}
+\newcommand{\LCDXXXI}{\char"145E4}
+\newcommand{\LCDXXXII}{\char"145E5}
+\newcommand{\AX}{\char"145E8}
+\newcommand{\LCDXXXVI}{\char"145E9}
+\newcommand{\LCDXXXVII}{\char"145EA}
+\newcommand{\PASTOR}{\char"145EB}
+\newcommand{\LCDXL}{\char"145ED}
+\newcommand{\LCDXLI}{\char"145EE}
+\newcommand{\LCDXLII}{\char"145EF}
+\newcommand{\LCDXLIII}{\char"145F0}
+\newcommand{\LCDXLIV}{\char"145F1}
+\newcommand{\LAIU}{\char"145F2}
+\newcommand{\KI}{\char"145F3}
+\newcommand{\NIX}{\char"145F4}
+\newcommand{\LCDXLIX}{\char"145F7}
+\newcommand{\RAA}{\char"145F8}
+\newcommand{\HURU}{\char"145F9}
+\newcommand{\LCDLII}{\char"145FA}
+\newcommand{\LCDLIII}{\char"145FB}
+\newcommand{\LCDLIV}{\char"145FC}
+\newcommand{\LAX}{\char"145FD}
+\newcommand{\LCDLVII}{\char"145FF}
+\newcommand{\LCDLVIIA}{\char"14600}
+\newcommand{\LCDLVIII}{\char"14601}
+\newcommand{\LCDLIX}{\char"14602}
+\newcommand{\LCDLX}{\char"14603}
+\newcommand{\LCDLXI}{\char"14604}
+\newcommand{\MAX}{\char"14605}
+\newcommand{\LCDLXIII}{\char"14606}
+\newcommand{\LCDLXIV}{\char"14607}
+\newcommand{\LCDLXV}{\char"14608}
+\newcommand{\LCDLXVI}{\char"14609}
+\newcommand{\LCDLXVII}{\char"1460A}
+\newcommand{\LCDLXVIII}{\char"1460B}
+\newcommand{\LCDLXIX}{\char"1460C}
+\newcommand{\TWELVE}{\char"1460D}
+\newcommand{\LCDLXXI}{\char"1460E}
+\newcommand{\LCDLXXII}{\char"1460F}
+\newcommand{\LCDLXXIII}{\char"14610}
+\newcommand{\LCDLXXV}{\char"14612}
+\newcommand{\LCDLXXVI}{\char"14613}
+\newcommand{\FLAMMAE}{\char"14614}
+\newcommand{\LCDLXXVIII}{\char"14615}
+\newcommand{\LCDLXXIX}{\char"14616}
+\newcommand{\LCDLXXX}{\char"14617}
+\newcommand{\LCDLXXXI}{\char"14618}
+\newcommand{\LCDLXXXII}{\char"14619}
+\newcommand{\LCDXXXIII}{\char"1461A}
+\newcommand{\LCDLXXXIV}{\char"1461B}
+\newcommand{\LCDLXXXV}{\char"1461C}
+\newcommand{\FALX}{\char"1461D}
+\newcommand{\LCDLXXXVII}{\char"1461E}
+\newcommand{\LCDLXXXIX}{\char"14620}
+\newcommand{\LCDXC}{\char"14621}
+\newcommand{\LCDXCI}{\char"14622}
+\newcommand{\LCDXCII}{\char"14623}
+\newcommand{\LCDXCIII}{\char"14624}
+\newcommand{\LCDXCIV}{\char"14625}
+\newcommand{\LCDXCV}{\char"14626}
+\newcommand{\LCDXCVI}{\char"14627}
+\newcommand{\LCDXCVII}{\char"14628}
+\newcommand{\LDI}{\char"14629}
+\newcommand{\LDII}{\char"1462A}
+\newcommand{\LDIII}{\char"1462B}
+\newcommand{\LDIV}{\char"1462C}
+\newcommand{\LDV}{\char"1462D}
+\newcommand{\HANA}{\char"1462E}
+\newcommand{\LDVII}{\char"1462F}
+\newcommand{\CURRERE}{\char"14630}
+\newcommand{\HWIA}{\char"14630}
+\newcommand{\LDIX}{\char"14631}
+\newcommand{\LDXI}{\char"14633}
+\newcommand{\LDXII}{\char"14634}
+\newcommand{\LDXIII}{\char"14635}
+\newcommand{\LDXIV}{\char"14636}
+\newcommand{\LDXV}{\char"14637}
+\newcommand{\LDXVI}{\char"14638}
+\newcommand{\LDXVII}{\char"14639}
+\newcommand{\LDXVIII}{\char"1463A}
+\newcommand{\LDXIX}{\char"1463B}
+\newcommand{\LDXX}{\char"1463C}
+\newcommand{\LDXXI}{\char"1463D}
+\newcommand{\LDXXII}{\char"1463E}
+\newcommand{\LDXXIII}{\char"1463F}
+\newcommand{\CORNUCAPUT}{\char"14640}
+\newcommand{\PROPHETA}{\char"14640}
+\newcommand{\PRINCEPS}{\char"14641}
+\newcommand{\GCXCV}{\char"14642}
+\newcommand{\APER}{\char"14643}
+\newcommand{\LINGUAX}{\char"14645}
+\newcommand{\LDXXX}{\char"14646}
+
+
+
+
diff --git a/Master/texmf-dist/tex/latex/markdown/markdown.sty b/Master/texmf-dist/tex/latex/markdown/markdown.sty
index e0e1f2f3748..799e1ec279c 100644
--- a/Master/texmf-dist/tex/latex/markdown/markdown.sty
+++ b/Master/texmf-dist/tex/latex/markdown/markdown.sty
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `latex')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -42,7 +42,6 @@
%%
%% The names of the source files used are shown above.
%%
-\RequirePackage{expl3}
\ExplSyntaxOn
\tl_const:Nn \c__markdown_option_layer_latex_tl { latex }
\cs_generate_variant:Nn
diff --git a/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_dot.sty b/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_dot.sty
index a6ebbd6f1d9..fbe93b2844b 100644
--- a/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_dot.sty
+++ b/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_dot.sty
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-dot')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty b/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty
index a962d1d8cd0..d6c2a7566a0 100644
--- a/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty
+++ b/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-graphicx-http')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_markdown_defaults.sty b/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_markdown_defaults.sty
index b0b772b2832..f90017e073b 100644
--- a/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_markdown_defaults.sty
+++ b/Master/texmf-dist/tex/latex/markdown/markdownthemewitiko_markdown_defaults.sty
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-markdown-defaults-latex')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -165,21 +165,15 @@
\tl_set:Nn
\l__markdown_latex_fancy_list_item_label_delimiter_style_tl
{ #2 }
- \tl_set:Nn
- \l_tmpa_tl
- {
- \plpartopsep=\partopsep
- \pltopsep=\topsep
- }
\__markdown_if_option:nTF
{ startNumber }
{
- \tl_put_right:Nn
+ \tl_set:Nn
\l_tmpa_tl
{ \begin{compactenum} }
}
{
- \tl_put_right:Nn
+ \tl_set:Nn
\l_tmpa_tl
{ \begin{compactenum}[ }
\tl_put_right:Nx
@@ -189,6 +183,12 @@
\l_tmpa_tl
{ ] }
}
+ \tl_put_left:Nn
+ \l_tmpa_tl
+ {
+ \plpartopsep=\partopsep
+ \pltopsep=\topsep
+ }
\tl_use:N
\l_tmpa_tl
},
diff --git a/Master/texmf-dist/tex/latex/mismath/mismath.sty b/Master/texmf-dist/tex/latex/mismath/mismath.sty
index 6a57500d1e0..e083da52d96 100644
--- a/Master/texmf-dist/tex/latex/mismath/mismath.sty
+++ b/Master/texmf-dist/tex/latex/mismath/mismath.sty
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{mismath}
- [2024/05/04 v3.0 .dtx Miscellaneous mathematical macros]
+ [2024/06/16 v3.1 .dtx Miscellaneous mathematical macros]
\newif\ifmm@ibrackets % initialized to false
\DeclareOption{ibrackets}{\mm@ibracketstrue}
@@ -38,6 +38,7 @@
\ProcessOptions \relax
\@ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}}
\@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}}
+\RequirePackage{mleftright}
\RequirePackage{ifthen}
\RequirePackage{xparse} % provides \NewDocumentCommand, now in LaTeX3
\RequirePackage{xspace} % for \iif command
@@ -340,8 +341,11 @@
\newcommand{\tensor}{\mathbfsfit} % isomath uses \mathsfbfit
+\mm@macro{di}{\operatorname{d}\mathopen{}}
+\mm@macro{upDelta}{\Delta}
+\mm@macro{opDelta}{\operatorname{\upDelta}\mathopen{}}
+\mm@macro{opdelta}{\operatorname{\updelta}\mathopen{}}
-\mm@macro{di}{\mathop{}\!\mathup{d}}
\newcommand\probastyle{}
\let\Par\P % end of paragraph symbol
\renewcommand{\P}{\operatorname{\probastyle{P}}}
@@ -425,11 +429,9 @@
\mm@macro{mathset}{\mathbf}
\mm@macro{R}{\mathset{R}}
-\AtBeginDocument{
- \@ifpackageloaded{hyperref}%
- {\iftutex\onlymathC\fi}% LuaTex or XeTeX engines
- {\mm@macro{C}{\mathset{C}}}
-}
+\mm@macro{C}{\mathset{C}}
+\AtBeginDocument{% \iftutex = LuaTex or XeTeX engines
+ \@ifpackageloaded{hyperref}{\iftutex\onlymathC\fi}{} }
\providecommand\onlymathC{\let\oldC\C
\renewcommand{\C}{\TextOrMath{\oldC}{\mathset{C}}} }
\mm@macro{N}{\mathset{N}}
@@ -450,21 +452,21 @@
\providecommand*{\hlbar}[1]{\overline{\vphantom{A}#1}}}{
\mm@warning{hlbar} }
\newcommand\@eqdef{\stackrel{\mathup{def}}{=}}
-\newcommand\@@eqdef{\stackrel{\mathrm{\Delta}}{=}}
+\newcommand\@@eqdef{\stackrel{\upDelta}{=}}
\mm@macro{eqdef}{\@ifstar{\@@eqdef}{\@eqdef}}
\mm@macro{unbr}{\underbrace}
\mm@macro{iif}{if and only if\xspace}
+\mm@macro{then}{\implies}
-\mm@macro{then}{\ \Longrightarrow \ \mbox{} }
\@ifundefined{txt}{
\providecommand*{\txt}[1]{\quad\text{#1}\quad} }{
\mm@warning{txt} }
-\mm@macro{mul}{\mathord{\times}}
+\mm@macro{mul}{\mathclose{}\mathord{\times}\mathopen{}}
\@ifundefined{pow}{
\providecommand*{\pow}[2]{\left( #1 \right)^{\!#2}} }{
\mm@warning{pow} }
\@ifundefined{abs}{
- \providecommand*{\abs}[1]{\left\vert#1\right\vert} }{
+ \providecommand*{\abs}[1]{{\left\vert#1\right\vert}} }{
\mm@warning{abs} }
\@ifundefined{lfrac}{
\providecommand*{\lfrac}[3][7mu]{%
diff --git a/Master/texmf-dist/tex/latex/mitthesis/mitthesis.cls b/Master/texmf-dist/tex/latex/mitthesis/mitthesis.cls
index b48703d7456..9990a07a884 100644
--- a/Master/texmf-dist/tex/latex/mitthesis/mitthesis.cls
+++ b/Master/texmf-dist/tex/latex/mitthesis/mitthesis.cls
@@ -4,11 +4,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the mitthesis LaTeX class for formatting theses according to
-%% MIT Libraries' requirements as of 2023.
+%% MIT Libraries' requirements as of 2024.
%%
%% This file's version and date:
- \def\versionno{1.11}
- \def\versiondate{2023/11/02\space}
+ \def\versionno{1.13}
+ \def\versiondate{2024/07/03\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -25,7 +25,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -57,34 +57,24 @@
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23
+\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If... added to latex 2021/11/15
+\providecommand\ClassNoteNoLine[2]{\typeout{^^JClass Note #1: #2.^^J}}% log & terminal note... added to latex 2021/11/15
\IfFormatAtLeastTF{2020/10/01}{%
- \typeout{^^JYour LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results^^J}
+ \ClassNoteNoLine{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results}
}{%
\ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2022/11/01 or later are strongly recommended for this class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now...}%
}
-% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp)
+% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp and bookmark packages after loading hyperref)
\newif\ifmit@pdfmanagement
-\ExplSyntaxOn
- \msg_new:nnn { \ClassName } { loading_hyperxmp } { pdfmanagement\ is\ not\ active.\ Will\ load\ hyperxmp\ instead. }
- % As of 2021/07/23 we could instead use \IfPDFManagementActiveTF{true code}{false code}
- \IfFormatAtLeastTF{2020/10/01}{
- \bool_if:nTF
- {
- \bool_lazy_and_p:nn
- { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
- { \pdfmanagement_if_active_p: }
- }
- { \mit@pdfmanagementtrue }
- { \mit@pdfmanagementfalse
- \msg_warning:nn { \ClassName } { loading_hyperxmp }
- }
- }{ \mit@pdfmanagementfalse
- \msg_warning:nn { \ClassName } { loading_hyperxmp }
- }
-\ExplSyntaxOff
+\IfPDFManagementActiveTF{
+ \mit@pdfmanagementtrue
+}{
+ \mit@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
\ifdefined\NewDocumentCommand\else
@@ -163,19 +153,35 @@
%%%%%%%%%%%%% Patch table of contents, list of figures, and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{etoolbox}% provides \patchcmd
-
-% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents
+% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents and have
+% pdf bookmarks. This is not automatic for \chapter*, which is the format of toc, lof, and lot.
-\patchcmd{\tableofcontents}{\@starttoc{toc}}{\pdfbookmark[0]{Table of Contents}{toc}\@starttoc{toc}}{}{}
-\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\listfigurename}\addcontentsline{toc}{chapter}{\listfigurename}}{}{}
-\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\listtablename}\addcontentsline{toc}{chapter}{\listtablename}}{}{}
+\RequirePackage{etoolbox}% provides \patchcmd
+\patchcmd{\tableofcontents}{\contentsname}{\pdfbookmark[0]{Table of Contents}{toc}\contentsname}{}{} % placement matters.
+\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\phantomsection\listfigurename}\addcontentsline{toc}{frontmatter}{\listfigurename}}{}{}
+\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\phantomsection\listtablename}\addcontentsline{toc}{frontmatter}{\listtablename}}{}{}
+
+\NewCommandCopy\l@frontmatter\l@chapter
+\NewCommandCopy\l@backmatter\l@chapter
+\providecommand*{\toclevel@frontmatter}{0}% prevent warning, see hyperref manual Sec. 13.3
+\providecommand*{\toclevel@backmatter}{0}
+%% if you want different formatting for front/back matter, change here (cf. report.cls). This approach preserves tagging hooks.
+\AtBeginDocument{
+ \patchcmd{\l@frontmatter}{\bfseries}{\itshape}{}{}
+ \patchcmd{\l@frontmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{}
+ \patchcmd{\l@frontmatter}{1.0em}{3pt}{}{}
+ \patchcmd{\l@backmatter}{\bfseries}{\itshape}{}{}
+ \patchcmd{\l@backmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{}
+}
%%%%%%%%%%%%% Geometry, mathtools, graphics, design, fonts, hyperrefs, bookmarks, footnotes %%%%%%%%%%%%%%%%%%%
-%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry} % bottom margin allows 45\baselineskip in \textheight
-\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry} % 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height
+%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry}
+% bottom margin allows 45\baselineskip in \textheight
+
+\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry}
+% 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height
\RequirePackage{mathtools}% loads and extends amsmath; must load before hyperref and unicode-math
@@ -198,16 +204,17 @@
https://ctan.org/tex-archive/macros/latex/contrib/mitthesis/MIT-thesis-template.}%
}%
\else
- \RequirePackage[hyperref,dvipsnames,svgnames,x11names]{xcolor}
+ \RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
%
\RequirePackage{caption,subcaption}
%
\RequirePackage{titlesec}
% these titlesec commands just automate the bold math in some headings (rest follows default styles)
% NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <==
- \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection }{1em}{}
+ % Predefined fontsets for which bold math exists are: CMR, Fira, Libertinus, Lucida, newtx
+ \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{}
- \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
+ \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
%
\AtBeginDocument{
\hypersetup{
@@ -226,21 +233,21 @@
\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc.
-\typeout{^^JFontset key is \mit@fontset.^^J}
+\ClassNoteNoLine{\ClassName}{Fontset key is \mit@fontset}
\IfFileExists{fontsets/\ClassName-\mit@fontset.tex}{% 2023/07/03
\input{fontsets/\ClassName-\mit@fontset.tex}
}{%
- \ClassWarning{\ClassName}{^^JFontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory.}
+ \ClassWarning{\ClassName}{Fontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory}
\IfFileExists{\mit@fontset.tex}{% 2023/08/30
\input{\mit@fontset.tex}
}{
- \ClassWarning{\ClassName}{^^JFontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory.}
+ \ClassWarning{\ClassName}{Fontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory}
\ifpdftex
- \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J}
+ \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J}
+ \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads fontspec package, but default fonts are not selected by fontspec in this case.
@@ -251,15 +258,18 @@
%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[psdextra]{hyperref}
-% the new pdf-management scheme loads the bookmarks package internally.
% authors should use hypersetup to set details, in root .tex file
\urlstyle{same} % this changes font for \url to the current text font
-\providecommand\hrefurl[2]{\href{#1}{#2}}% in case \DocumentMetadata has not been loaded
\RequirePackage{doi} % create macro for hyperlinking doi numbers
+%% In case \DocumentMetadata was not loaded
+\providecommand\hrefurl[2]{\href{#1}{#2}}
+
+% pdfmanagement loads bookmarks package internally
\ifmit@pdfmanagement\else
\RequirePackage{hyperxmp}
+ \RequirePackage{bookmark}
\fi
% the user can alter these choices in the preamble, or by
@@ -289,7 +299,7 @@
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
}
-%%% Let's disable \( and \) in pdf bookmarks
+%% Let's disable \( and \) in pdf bookmarks
\pdfstringdefDisableCommands{%
\def\({\relax}%
\def\){\relax}%
@@ -312,10 +322,22 @@
\def\footnote#1{}%
}
+%%% Here's a more cumbersome removal of the warning for $ (math shift) in pdfbookmarks.
+%%% Not implementing this by default, since novice authors may benefit from the warning.
+%%% https://tex.stackexchange.com/a/620360/119566
+%\let\oldHyPsd@CatcodeWarning\HyPsd@CatcodeWarning
+%\renewcommand{\HyPsd@CatcodeWarning}[1]{%
+% \ifnum\pdfstrcmp{#1}{math shift}=0 % If 'math shift' is present, do nothing
+% \else
+% \oldHyPsd@CatcodeWarning{#1}% % else, keep usual warning.
+% \fi
+%}
\ExplSyntaxOn
%\debug_on:n {all}
+\prop_gput:Nnn \g_msg_module_type_prop { \ClassName } { Class }
+
%%%%%%%%%% Commas between successive footnotes %%%
\cs_new:Npn \__mitthesis_NoteComma:n { \peek_meaning:NT \footnote {\textsuperscript{\mdseries,}} }
@@ -339,18 +361,19 @@
\tl_gremove_all:No \g__dd_month_tl { \space }
\tl_gremove_all:No \g__dd_year_tl { \space }
\str_case_e:nnF
-% { \str_casefold:e { \tl_to_str:N \g__dd_month_tl } } % not def'd until 2022/10/16
+% { \str_casefold:e { \tl_to_str:N \g__dd_month_tl } } % command not def'd until 2022/10/16
{ \str_lowercase:f { \tl_to_str:N \g__dd_month_tl } }
{ {february}{} {may}{} {june}{} {september}{}}
{ \msg_error:nnn { \ClassName } { wrong_month } {#1} }
}
\msg_new:nnnn { \ClassName } { wrong_month } {The\ degree\ month\ must\ be\ one\ of\ February,\ May,\ June,\ or\ September.} {You\ cannot\ use\ #1\ as\ the\ degree\ month.}
-\cs_generate_variant:Nn \text_titlecase:n {o,V}
+\cs_generate_variant:Nn \text_titlecase_first:n {V}
+\cs_generate_variant:Nn \text_titlecase_all:n {V}
\NewDocumentCommand\DegreeDate{mm}{% {month}{year}
\__dd_setdates:nn {#1}{#2}
- \cs_new:Npn \DegreeMonth { \text_titlecase:V { \g__dd_month_tl } }
- \cs_new:Npn \DegreeYear { \text_titlecase:V { \g__dd_year_tl } }
+ \cs_new:Npn \DegreeMonth { \text_titlecase_first:V { \str_lowercase:f \g__dd_month_tl } }
+ \cs_new:Npn \DegreeYear { \text_expand:n { \g__dd_year_tl } }% edited 2024/06/24
}
\msg_new:nnnn { \ClassName } { no_degree_date } {Missing\ degree\ date!}{
You\ MUST\ issue\ the\ \DegreeDate{month}{year}\ command\ between\ \string\begin{document}\ and\ \string\maketitle.}
@@ -516,7 +539,6 @@
\seq_new:N \g_supervisor_title_seq
\int_gzero_new:N \g_supervisor_supervisorcnt_int
-
\NewDocumentCommand\Supervisor{mm}{
\tl_if_blank:nTF{#1}{
\msg_error:nn { \ClassName } { blank_supervisor }
@@ -535,10 +557,22 @@
\cs_new_protected:Nn \__supervisor_data_add:nn
{
\int_gincr:N \g_supervisor_supervisorcnt_int
- \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} }
+ \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} }
\seq_gput_right:cx { g_supervisor_title_seq } { \tl_trim_spaces:n {#2} }
}
+\tl_new:N \g_titlepage_supervisor_designation_tl
+\tl_new:N \g_abstract_supervisor_designation_tl
+\tl_gset:Nn \g_titlepage_supervisor_designation_tl {Thesis\ Supervisor}
+\tl_gset:Nn \g_abstract_supervisor_designation_tl {Thesis\ supervisor}% style from MIT Libraries
+
+% If for some reason you need to change "Thesis Supervisor" to a different string (say, "Doctoral Advisor")
+% This construction removes leading and trailing spaces and lowercases the string.
+% Commands in output modules handle titlecasing.
+\NewDocumentCommand\SupervisorDesignation{ m } {
+ \tl_gset:Nn \g_titlepage_supervisor_designation_tl { \str_lowercase:f { \tl_trim_spaces:n {#1} } }
+ \tl_gset:Nn \g_abstract_supervisor_designation_tl { \str_lowercase:f { \tl_trim_spaces:n {#1} } }
+ }
\cs_new:Nn \__supervisor_abstractblock: {
\int_zero_new:N \l__supervisor_supervisorno_int
@@ -549,11 +583,13 @@
\msg_error:nn { \ClassName } { no_supervisor }
}
{\int_until_do:nNnn { \l__supervisor_supervisorno_int } = { \g_supervisor_supervisorcnt_int } {
- Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
+ \text_titlecase_first:V { \g_abstract_supervisor_designation_tl } :\space
+ \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\par\medskip
\int_incr:N \l__supervisor_supervisorno_int
}
- Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
+ \text_titlecase_first:V { \g_abstract_supervisor_designation_tl } :\space
+ \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\ignorespaces
}
}
@@ -607,36 +643,56 @@
%%%%%%%%%% End Acceptor Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% extensive edits 2024/06/25
\seq_new:N \g_degree_name_seq
\seq_new:N \g_degree_department_seq
\int_gzero_new:N \g_degree_degreecnt_int
-\int_gzero_new:N \g__degree_degreeflag_int
+\int_gzero_new:N \g_degree_deptcnt_int
\NewDocumentCommand\Degree{mm}
{
- \tl_if_blank:nTF {#1} {
- \msg_error:nn { \ClassName } { blank_degree }
- }{
- \__degree_data_add:nn { #1 } { #2 }
- }
- \tl_if_blank:nT {#2} {
- \int_gset_eq:NN \g__degree_degreeflag_int \g_degree_degreecnt_int
- \msg_warning:nnx { \ClassName } { blank_degree_dep } { \int_to_arabic:n { \g__degree_degreeflag_int } }
- \tl_if_blank:nT {#1} { \int_gincr:N \g__degree_degreeflag_int }% in case both are blank
- }
+ \int_compare:nNnTF { \g_degree_deptcnt_int } = {0} {
+ \tl_if_blank:nTF {#1} {
+ \msg_error:nn { \ClassName } { no_degree_name }
+ }{
+ \__degree_data_add:nn { #1 } { #2 }
+ \int_gincr:N \g_degree_degreecnt_int
+ }
+ \tl_if_blank:nT {#2} {
+ \msg_error:nn { \ClassName } { no_degree_dep }
+ }{
+ \int_gincr:N \g_degree_deptcnt_int
+ }
+ }{
+ \tl_if_blank:nTF {#1} {
+ \msg_warning:nn { \ClassName } { blank_degree }
+ }{
+ \__degree_data_add:nn { #1 } { #2 }
+ \int_gincr:N \g_degree_degreecnt_int
+ }
+ \tl_if_blank:nTF {#2} {
+ \msg_warning:nn { \ClassName } { blank_degree_dep }
+ }{
+ \int_gincr:N \g_degree_deptcnt_int
+ \tl_if_blank:nT {#1} { % in case department is blank
+ \__degree_data_add:nn { #1 } { #2 }
+ }
+ }
+ }
}
+
\cs_new_protected:Nn \__degree_data_add:nn
{
- \int_gincr:N \g_degree_degreecnt_int
\seq_gput_right:cx { g_degree_name_seq } { \tl_trim_spaces:n {#1} }
\seq_gput_right:cx { g_degree_department_seq } { \tl_trim_spaces:n {#2} }
}
-\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.}
- {You\ MUST\ provide\ a\ degree\ name\ using\ the\ \Degree{name}{department}\ command.}
-\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ for\ Degree\ command\ number\
- #1.\ Will\ treat\ as\ a\ duplicate\ of\ previous\ department.}{}
+\msg_new:nnnn { \ClassName } { no_degree_name } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.}
+ {You\ MUST\ provide\ at\ least\ one\ degree\ name\ using\ the\ \Degree{name}{department}\ command.}
+\msg_new:nnnn { \ClassName } { no_degree_dep } {Missing\ degree\ department\ for\ Degree\ command.}
+ {You\ MUST\ provide\ at\ least\ one\ department\ name\ using\ the\ \Degree{name}{department}\ command.}
+\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name\ in\ second\ Degree\ command.\ Will\ treat\ as\ two\ departments\ issuing\ one\ degree.}{}
+\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ in\ second\ \ Degree\ command.\ Will\ treat\ as\ one\ department\ issuing\ two\ degrees.}{}
\int_zero_new:N \l__degree_degreeno_int
\int_zero_new:N \l__degree_departmentno_int
@@ -651,20 +707,18 @@
\int_incr:N \l__degree_departmentno_int
\cs_new:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
\cs_new:Nn \__degree_currdept: {}
- \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:}
- \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } {
+% \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:}
+ {Submitted\ to\ the\ \__degree_prevdept:}
+ \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } {
\int_incr:N \l__degree_departmentno_int
\cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
- \int_compare:nNnTF { \l__degree_departmentno_int } = {\g__degree_degreeflag_int } { \scan_stop: }
- {
- \mbox {\ and\ the}\linebreak
- \mbox {\__degree_currdept: }
- }
- }
+ \mbox {\ and}\linebreak
+ \mbox {the\ \__degree_currdept: }
+ }
\linebreak \mbox {in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\
\int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree}
\ of}
- \par%\medskip, removed 2023/10/25 to work better with four block layout of title page
+ \par
\int_until_do:nNnn { \l__degree_degreeno_int } = { \g_degree_degreecnt_int } {
\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par and\par
\int_incr:N \l__degree_degreeno_int
@@ -681,16 +735,14 @@
\int_set:Nn \l__degree_departmentno_int {1}
\cs_set:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
\cs_set:Nn \__degree_currdept: {}
- \mbox {Submitted\ to\ the\ }\mbox{\__degree_prevdept:}
- \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } {
- \int_incr:N \l__degree_departmentno_int
+% \mbox {Submitted\ to\ the\ }\mbox {\__degree_prevdept:} % changed 2024/4/20
+ {Submitted\ to\ the\ \__degree_prevdept:}
+ \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } {
+ \int_incr:N \l__degree_departmentno_int
\cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
- \int_compare:nNnTF { \g__degree_degreeflag_int } = { \g_degree_degreecnt_int } { \scan_stop: }
- {
- \mbox {\ and\ the}\linebreak
- \mbox { \__degree_currdept: }
- }
- }
+ \mbox {\ and}\linebreak
+ \mbox {the\ \__degree_currdept: }
+ }
\linebreak \mbox{on\ \g_dd_thesisdate_tl\ in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\
\int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree}
\ of}
@@ -749,7 +801,9 @@
\int_do_while:nNnn { \g__signature_supno_int } < { \g_supervisor_supervisorcnt_int } {
\int_gincr:N \g__signature_supno_int
Certified\ by: \> \seq_item:cn { g_supervisor_name_seq } { \g__signature_supno_int } \\
- \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\ Thesis\ Supervisor\\[1em]
+ \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\
+ \text_titlecase_all:V { \g_titlepage_supervisor_designation_tl }\\[1em]
+ %\ Thesis\ Supervisor\\[1em]
}
\int_compare:nNnF { \g_acceptor_acceptorcnt_int } = {0} {
\int_do_while:nNnn { \g__signature_accno_int } < { \g_acceptor_acceptorcnt_int } {
@@ -908,8 +962,10 @@
{\centering \vbox_to_ht:nn { \vsize }% to prevent signature block from breaking across page
{
\setlength{\parskip}{7.5pt plus 1pt minus 1pt}% edited all vertical space on this page 2023/10/25
- \setlength{\parindent}{0pt}
- {\Large\textbf{\g_mitthesis_title_tl}\phantomsection\addcontentsline{toc}{chapter}{Title\ page}\par} % revise for tagging in future
+ \setlength{\parindent}{0pt}\pdfbookmark[0]{Title\ page}{titlepage}
+ {\Large\textbf{\g_mitthesis_title_tl}
+ %\phantomsection\addcontentsline{toc}{chapter}{Title\ page}
+ \par}
\__titlepage_blockskip:nn {12}{1.5}% new idea
\__author_block:
\__titlepage_blockskip:nn {12}{1.5}
@@ -937,14 +993,17 @@
%%%%%%%%%% Abstract page Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% to change abstract name, follow either of these approaches in your preamble:
+% to change abstract name (e.g., to "Summary"), follow either approach in your preamble:
% \RenewExpandableDocumentCommand\abstractname{}{Summary}
% \renewcommand\abstractname{Summary}
\RenewDocumentEnvironment{abstract}{+b}{
\newpage
\begin{center}
- {\large{\textbf{\g_mitthesis_title_tl}}\phantomsection\addcontentsline{toc}{chapter}{\abstractname}\par} % revise for tagging as LaTeX evolves further
+ \pdfbookmark[0]{Abstract}{abstract}
+ {\large{\textbf{\g_mitthesis_title_tl}}
+ %\phantomsection\addcontentsline{toc}{chapter}{\abstractname}
+ \par}
\setlength{\parskip}{0.5\baselineskip plus 2pt minus 2pt}
\__author_abstractblock:
\par
@@ -992,11 +1051,12 @@
% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
% Third optional argument selects section-level or chapter-level style for the nomenclature list.
+\newcounter{dummy}% for tagging code
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
\csname #3\endcsname *{#2}% this level will vary amongst users!
- \phantomsection\addcontentsline{toc}{#3}{#2}% tagged pdf may not capture both of these ... 2023/10/18
+ \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% \refstepcounter is a hack until tagging code evolves more
\raggedright
\begin{list}{}{%
\setlength{\itemsep}{0pt}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
index 44b9e359144..20cedc8b615 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
@@ -1,5 +1,5 @@
%% start of file `moderncv.cls'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2022-02-21 v2.3.1 modern curriculum vitae and letter document class]
+\ProvidesClass{moderncv}[2024-07-18 v2.4.1 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
@@ -103,7 +103,8 @@
\urlstyle{tt}
\AtEndPreamble{
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
- \RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
+ \PassOptionsToPackage{unicode}{hyperref}
+ \RequirePackage{hyperref}
\hypersetup{
breaklinks,
pdfborder = 0 0 0,
@@ -114,10 +115,16 @@
bookmarksopen = true,
bookmarksdepth= 2,% to show sections and subsections
pdfauthor = {\@firstname{}~\@lastname{}},
- pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}},
+ pdftitle =
+ {\@firstname{}~\@lastname{}\expandafter\notblank\expandafter{\@title}{ -- \@title}{}}, %\notblank does not expand argument automatically
pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
+% pdftex not using pdfmanagement-testphase requires T1 font encoding in order to handle links containing special characters somewhat properly
+\ifpdftex
+ \IfPDFManagementActiveTF{}{\RequirePackage[T1]{fontenc}}
+\fi
+
% graphics
\RequirePackage{graphicx}
@@ -138,9 +145,9 @@
\@ifundefined{r@lastpage}{}{%
\ifthenelse{\pageref{lastpage}>1}{%
\newlength{\pagenumberwidth}%
- \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
+ \settowidth{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}%
\fancypagestyle{plain}{%
- \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
+ \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\protect\NoHyper\pageref{lastpage}\protect\endNoHyper}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
\pagestyle{plain}}{}}\fi}%
\AtEndDocument{\label{lastpage}}}
\pagestyle{plain}
@@ -231,8 +238,9 @@
\newcommand*{\email}[1]{\def\@email{#1}}
% defines one's home page (optional)
-% usage: \homepage{<url>}
-\newcommand*{\homepage}[1]{\def\@homepage{#1}}
+% usage: \homepage[<optional protocol>]{<url>}
+% where <optional protocol> should be either "https" (default) or "http"
+\NewDocumentCommand{\homepage}{O{https}m}{\def\@homepageprotocol{#1}\def\@homepage{#2}}
% adds a fixed/mobile/fax number to one's personal information (optional)
% usage: \phone[<optional type>]{<number>}
@@ -247,11 +255,41 @@
% http://latex.org/forum/viewtopic.php?t=12239
\def\SplitMyMacro#1/#2{#2}
-
-
+
+
% adds a social link to one's personal information (optional)
% usage: \social[<optional type>][<optional url>]{<account name>}
-% where <optional type> should be either "linkedin", "xing", "twitter", "github", "gitlab", "bitbucket" or "skype"
+% where <optional type> should be either:
+% - "linkedin"
+% - "xing"
+% - "twitter"
+% - "mastodon"
+% - "github"
+% - "gitlab"
+% - "stackoverflow"
+% - "bitbucket"
+% - "skype"
+% - "orcid"
+% - "researchgate"
+% - "researcherid"
+% - "telegram"
+% - "whatsapp"
+% - "signal"
+% - "matrix"
+% - "googlescholar"
+% - "codeberg"
+% - "discord"
+% - "twitch"
+% - "youtube"
+% - "tiktok"
+% - "instagram"
+% - "soundcloud"
+% - "steam
+% - "xbox"
+% - "playstation"
+% - "battlenet"
+% - "arxiv"
+% - "inspire"
\collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{%
\ifthenelse{\equal{#2}{}}%
@@ -259,6 +297,7 @@
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}%
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}%
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{mastodon}} {\collectionadd[mastodon]{socials} {\protect\httpslink[#3]{#3}}} {}%
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}%
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}%
\ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}%
@@ -271,7 +310,20 @@
\ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}%
\ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}%
- \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}%
+ \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}%
+ \ifthenelse{\equal{#1}{codeberg}} {\collectionadd[codeberg]{socials} {\protect\httpslink[#3]{codeberg.org/#3}}} {}%
+ \ifthenelse{\equal{#1}{discord}} {\collectionadd[discord]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{twitch}} {\collectionadd[twitch]{socials} {\protect\httpslink[#3]{twitch.tv/#3}}} {}%
+ \ifthenelse{\equal{#1}{youtube}} {\collectionadd[youtube]{socials} {\protect\httpslink[#3]{youtube.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{tiktok}} {\collectionadd[tiktok]{socials} {\protect\httpslink[#3]{tiktok.com/@#3}}} {}%
+ \ifthenelse{\equal{#1}{instagram}} {\collectionadd[instagram]{socials} {\protect\httpslink[#3]{instagram.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{soundcloud}} {\collectionadd[soundcloud]{socials} {\protect\httpslink[#3]{soundcloud.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{steam}} {\collectionadd[steam]{socials} {\protect\httpslink[#3]{steamcommunity.com/id/#3}}} {}%
+ \ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
+ \ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{arxiv}} {\collectionadd[arxiv]{socials} {\protect\httpslink[#3]{arxiv.org/a/#3}}} {}%
+ \ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authoris/#3}}} {}%
}
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
@@ -312,6 +364,7 @@
\newcommand*{\linkedinsocialsymbol} {}
\newcommand*{\xingsocialsymbol} {}
\newcommand*{\twittersocialsymbol} {}
+\newcommand*{\mastodonsocialsymbol} {}
\newcommand*{\githubsocialsymbol} {}
\newcommand*{\gitlabsocialsymbol} {}
\newcommand*{\stackoverflowsocialsymbol}{}
@@ -325,6 +378,19 @@
\newcommand*{\whatsappsocialsymbol} {}
\newcommand*{\matrixsocialsymbol} {}
\newcommand*{\signalsocialsymbol} {}
+\newcommand*{\codebergsocialsymbol} {}
+\newcommand*{\discordsocialsymbol} {}
+\newcommand*{\twitchsocialsymbol} {}
+\newcommand*{\youtubesocialsymbol} {}
+\newcommand*{\tiktoksocialsymbol} {}
+\newcommand*{\instagramsocialsymbol} {}
+\newcommand*{\soundcloudsocialsymbol} {}
+\newcommand*{\steamsocialsymbol} {}
+\newcommand*{\xboxsocialsymbol} {}
+\newcommand*{\playstationsocialsymbol} {}
+\newcommand*{\battlenetsocialsymbol} {}
+\newcommand*{\arxivsocialsymbol} {}
+\newcommand*{\inspiresocialsymbol} {}
% other
%------
@@ -441,6 +507,8 @@
% styles
\newcommand*{\namestyle}[1]{{\namefont#1}}
+\NewDocumentCommand{\firstnamestyle}{+m}{{\namefont#1}}
+\NewDocumentCommand{\lastnamestyle}{+m}{{\namefont#1}}
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
@@ -492,12 +560,16 @@
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
\newcommand*{\cvdoubleitem}[5][.25em]{}
+% makes a resume line 3 headers and their corresponding text
+% usage: \cvtripleitem[spacing]{header1}{text1}{header2}{text2}{header3}{text3}
+\newcommand*{\cvtripleitem}[7][.1em]{}
+
% makes a resume line with a list item
-% usage: \cvlistitem[label]{item}
+% usage: \cvlistitem[spacing]{item}
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
% makes a resume line with 2 list items
-% usage: \cvlistdoubleitem[label]{item1}{item2}
+% usage: \cvlistdoubleitem[spacing]{item1}{item2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
% makes a typical resume job / education entry
@@ -510,25 +582,39 @@
% makes a generic hyperlink
% usage: \link[optional text]{link}
-\newcommand*{\link}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{#2}{#2}}%
- {\href{#2}{#1}}}
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\link}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{#2}{#2}}%
+ {\hrefurl[urlencode]{#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{#2}{#2}}%
+ {\href{#2}{#1}}}}
% makes a http hyperlink
% usage: \httplink[optional text]{link}
-\newcommand*{\httplink}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{http://#2}{#2}}%
- {\href{http://#2}{#1}}}
-
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\httplink}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{http://#2}{#2}}%
+ {\hrefurl[urlencode]{http://#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{http://#2}{#2}}%
+ {\href{http://#2}{#1}}}}
% makes an https hyperlink
% usage: \httpslink[optional text]{link}
-\newcommand*{\httpslink}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{https://#2}{#2}}%
- {\href{https://#2}{#1}}}
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\httpslink}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{https://#2}{#2}}%
+ {\hrefurl[urlencode]{https://#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{https://#2}{#2}}%
+ {\href{https://#2}{#1}}}}
% makes an email hyperlink
% usage: \emaillink[optional text]{link}
@@ -712,8 +798,10 @@
% elements
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
+\newcommand*{\subject}[1]{\def\@subject{#1}}
\newcommand*{\opening}[1]{\def\@opening{#1}}
\newcommand*{\closing}[1]{\def\@closing{#1}}
+\newcommand*{\signature}[2]{\def\@signature{\includegraphics[scale=#1]{#2}}}
\newcommand*{\enclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty
index 02ac2e3aa54..d3db954fef9 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyi}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 1]
+\ProvidesPackage{moderncvbodyi}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -44,11 +44,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
@@ -59,6 +62,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -73,7 +78,7 @@
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
+ \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{bodyrulecolor}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
@@ -97,15 +102,28 @@
\hspace*{\separatorcolumnwidth}%
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
@@ -162,13 +180,14 @@
\recomputecvlengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty
index 02ac2e3aa54..d3db954fef9 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyi}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 1]
+\ProvidesPackage{moderncvbodyi}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -44,11 +44,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
@@ -59,6 +62,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -73,7 +78,7 @@
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
+ \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{bodyrulecolor}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
@@ -97,15 +102,28 @@
\hspace*{\separatorcolumnwidth}%
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
@@ -162,13 +180,14 @@
\recomputecvlengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty
index 003f9f3e1b0..37d8d132009 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiii}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 3]
+\ProvidesPackage{moderncvbodyiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 3]
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializeif{\if@fullrules}\@fullrulesfalse
@@ -37,7 +37,7 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiii]{moderncvskillmatrix}
@@ -61,16 +61,16 @@
\renewcommand*{\sectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
- \sectionfont\textcolor{color1}{#1}%
+ \sectionfont\textcolor{sectioncolor}{#1}%
\if@shortrules\else%
\par\fi}}
\renewcommand*{\subsectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
- \subsectionfont\textcolor{color1}{#1}%
+ \subsectionfont\textcolor{subsectioncolor}{#1}%
\if@shortrules\else\if@mixedrules\else%
\par\fi\fi}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -83,11 +83,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% commands
\renewcommand*{\recomputecvbodylengths}{%
@@ -96,6 +99,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -133,14 +138,14 @@
\newcommand*{\sectionrule}{}
\newcommand*{\subsectionrule}{}
\if@fullrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
+ \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\if@shortrules%
- \renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
+ \renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@mixedrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
+ \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@norules%
\renewcommand*{\sectionrule}{}
\renewcommand*{\subsectionrule}{}\fi
@@ -155,16 +160,24 @@
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifstrempty{#6}{}{\hintstyle{#6}: }#7\end{minipage}%
+ \par\addvspace{#1}}
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
+ \listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifstrempty{#3}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
@@ -231,13 +244,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty
index 9127af18e8c..0d9fe6fb877 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 4]
+\ProvidesPackage{moderncvbodyiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 4]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiv]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -49,6 +49,10 @@
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
+
% commands
\renewcommand*{\recomputecvbodylengths}{%
@@ -57,6 +61,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -87,15 +93,23 @@
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}%
+ \par\addvspace{#1}}
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\@initializebox{\cventryyearbox}
\@initializelength{\cventrytitleboxwidth}
@@ -170,13 +184,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty
index 1f49692984d..f29e57786b4 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 5]
+\ProvidesPackage{moderncvbodyv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 5]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyv]{moderncvskillmatrix}
@@ -34,9 +34,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
% lengths
% used by \cvitem (and all children command)
@@ -46,6 +46,8 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
@@ -53,6 +55,7 @@
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
%\@initializelength{\listdoubleitemmaincolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% commands
\@initializecommand{\recomputecvbodylengths}{%
@@ -61,6 +64,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -72,7 +77,8 @@
\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
+ % minipage for correct spacing with multiline sections #69
+ \noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\raggedleft\sectionstyle{#2}\end{minipage}}{}}%
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
@@ -83,7 +89,8 @@
\par\ignorespaces\fi%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{subsection}{#2}%
- \noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}%
+ % minipage for correct spacing with multiline subsections #69
+ \noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}\end{minipage}}{}}%
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
\renewcommand*{\cvitem}[3][.5ex]{%
@@ -99,7 +106,7 @@
% underlying command to implement \cvitem, \subsection and \section
\newcommand*{\@cvitem}[3][.5ex]{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\if@aftersection\else%
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@@ -117,15 +124,23 @@
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1ex]{%
+ \@cvitem[#1]{}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}}}
+
\renewcommand*{\cvlistitem}[2][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\@initializebox{\cventryyearbox}
\@initializelength{\cventrytitleboxwidth}
@@ -165,7 +180,7 @@
{%
\bibliographyhead{\refname}%
% \small%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\noindent%
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
@@ -206,13 +221,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries \@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
- {\color{color2}\itshape\enclname: \@enclosure}}}
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyvi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyvi.sty
new file mode 100644
index 00000000000..76e1a15c3ac
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyvi.sty
@@ -0,0 +1,203 @@
+%% start of file `moderncvbodyvi.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvbodyvi}[2023/11/21 v2.0.0 modern curriculum vitae and letter body variant: 6]
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{moderncvverticaltimeline}
+% No customization currently exists for `modercvbodyvi`; just reuse
+% `moderncvbodyi`. We might consider supporting a short table format (only skill
+% name and rating) in the future.
+\RequirePackage[moderncvbodyi,circle]{moderncvskillmatrix}
+
+
+%-------------------------------------------------------------------------------
+% overall body definition
+%-------------------------------------------------------------------------------
+% fonts
+\renewcommand*{\sectionfont}{\Large\upshape\bfseries}
+\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
+\renewcommand*{\hintfont}{}
+
+% styles
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+
+
+%-------------------------------------------------------------------------------
+% resume body definition
+%-------------------------------------------------------------------------------
+% lengths
+% used by \cvitem (and all children command)
+\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth}
+\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
+\@initializelength{\maincolumnwidth}
+% used by \cvdoubleitem
+\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
+% used by \cvlistitem
+\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
+\@initializelength{\listitemcolumnwidth}
+% used by \cvlistdoubleitem
+\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
+% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
+\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
+
+% commands
+\renewcommand*{\recomputecvbodylengths}{%
+ % body lengths
+ \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}%
+ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
+ \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
+ \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
+ \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
+ \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
+ % regular lengths
+ \setlength{\parskip}{0\p@}}
+
+\@initializelength{\baseletterheight}
+\settoheight{\baseletterheight}{\sectionstyle{o}}
+\setlength{\baseletterheight}{\baseletterheight-0.95ex}
+% The optional argument can be used to place a small icon near the section name.
+% E.g. `\section[\faBookmark]{Education}`
+\RenewDocumentCommand{\section}{sO{}m}{%
+ \tl@resetchain%
+ \par\addvspace{2.5ex}%
+ \phantomsection{}% reset the anchor for hyperrefs
+ \addcontentsline{toc}{section}{#3}%
+ \strut\sectionstyle{\textcolor{color1!55!white}{{#2}\rule{.75ex}{0pt}\rule{1pt}{\heightof{#3}}}%
+ \rule{.75ex}{0pt}#3}%
+ \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
+
+\RenewDocumentCommand{\subsection}{sm}{%
+ \par\addvspace{1ex}%
+ \phantomsection{}% reset the anchor for hyperrefs
+ \addcontentsline{toc}{subsection}{#2}%
+ \cvitem[0ex]{}{\strut\subsectionstyle{#2}}%
+ \par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading
+
+\renewcommand*{\cvitem}[3][.25em]{%
+ \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
+ \raggedleft\hintstyle{#2} &{#3}%
+ \end{tabular}%
+ \par\addvspace{#1}}
+
+\renewcommand*{\cvdoubleitem}[5][.25em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+\renewcommand*{\cvlistitem}[2][.25em]{%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
+
+\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \ifthenelse{\equal{#3}{}}%
+ {}%
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
+
+\renewcommand*{\cventry}[7][.25em]{%
+ \cvitem[#1]{\tl@milestone{#2}}{%
+ {\bfseries#3}%
+ \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
+ \ifthenelse{\equal{#5}{}}{}{, #5}%
+ \ifthenelse{\equal{#6}{}}{}{, #6}%
+ \strut%
+ \ifx&#7&%
+ \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
+
+\@initializebox{\cvitemwithcommentbox}
+\@initializelength{\cvitemwithcommentskilllength}
+\@initializelength{\cvitemwithcommentcommentlength}
+\renewcommand*{\cvitemwithcomment}[4][.25em]{%
+ \savebox{\cvitemwithcommentbox}{{#3}}%
+ \setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}%
+ \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
+
+\renewenvironment{thebibliography}[1]%
+ {%
+ \bibliographyhead{\refname}%
+% \small%
+ \begin{list}{\bibliographyitemlabel}%
+ {%
+ \setlength{\topsep}{0pt}%
+ \setlength{\labelwidth}{\hintscolumnwidth}%
+ \setlength{\labelsep}{\separatorcolumnwidth}%
+ \leftmargin\labelwidth%
+ \advance\leftmargin\labelsep%
+ \@openbib@code%
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty%
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy%
+ \clubpenalty4000%\@clubpenalty \clubpenalty%
+ \widowpenalty4000%
+ \sfcode`\.\@m%
+ \sfcode `\=1000\relax}%
+ {%
+ \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
+ \end{list}}
+
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterbodylengths}{%
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
+ {\bfseries\@firstname~\@lastname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfil%
+ {\color{color2}\itshape\enclname: \@enclosure}}%
+ \vfil}
+
+
+\endinput
+
+
+%% end of file `moderncvbodyvi.sty'.
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty
index 5d3432e661e..bddc9a51776 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcollection.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcollection}[2022-02-21 v2.3.1 moderncv collections]
+\ProvidesPackage{moderncvcollection}[2024-07-18 v2.4.1 moderncv collections]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
index ea3653eacef..29ba5bd410c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblack.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblack}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: black]
+\ProvidesPackage{moderncvcolorblack}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0,0,0}% black
-\definecolor{color2}{rgb}{0,0,0}% black
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{black}% black
+\colorlet{color2}{black}% black
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
index b02992e1b39..779b3be956c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblue.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblue}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: blue]
+\ProvidesPackage{moderncvcolorblue}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{lightblue}% light blue
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty
index 775f033f233..aeeccf5ef6b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorburgundy.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorburgundy}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: burgundy]
+\ProvidesPackage{moderncvcolorburgundy}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: burgundy]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.596078,0,0}% burgundy: 139/255 (0.545098) or 152/255 (0.596078)
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{burgundy}% burgundy
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorcerulean.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorcerulean.sty
new file mode 100644
index 00000000000..1f7cce83c73
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorcerulean.sty
@@ -0,0 +1,32 @@
+%% start of file `moderncvcolorcerulean.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvcolorcerulean}[2023/11/21 v2.0.0 modern curriculum vitae and letter color scheme: cerulean]
+
+
+%-------------------------------------------------------------------------------
+% color scheme definition
+%-------------------------------------------------------------------------------
+\definecolor{color0}{rgb}{0,0,0}% black
+\definecolor{color1}{HTML}{0081a7}% cerulean
+\definecolor{color2}{HTML}{4d908e}% dark cyan
+\definecolor{headTL}{HTML}{00afb9}% verdigris
+\colorlet{headBR}{color1}
+\definecolor{headtext}{HTML}{ffffff}% white
+\colorlet{headhr}{color2}
+
+
+\endinput
+
+
+%% end of file `moderncvcolorcerulean.sty'.
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
index 891c3290b5d..03c026ea07d 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgreen.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgreen}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: green]
+\ProvidesPackage{moderncvcolorgreen}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{green}% green
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
index 37d2b57749d..6bd9184c0e6 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgrey.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgrey}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: grey]
+\ProvidesPackage{moderncvcolorgrey}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.55,0.55,0.55}% dark grey
-\definecolor{color2}{rgb}{0.55,0.55,0.55}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{darkgrey}% dark grey
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
index f249fd7de9c..c4f612ab6db 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolororange.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolororange}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: orange]
+\ProvidesPackage{moderncvcolororange}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.95,0.55,0.15}% orange
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{orange}% orange
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
index 22053d78493..d0110526f19 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorpurple.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorpurple}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: purple]
+\ProvidesPackage{moderncvcolorpurple}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.50,0.33,0.80}% purple
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{purple}% purple
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
index 68b1335c847..bc51d4adf53 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorred.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorred}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: red]
+\ProvidesPackage{moderncvcolorred}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.95,0.20,0.20}% red
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{red}% red
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolors.tex b/Master/texmf-dist/tex/latex/moderncv/moderncvcolors.tex
new file mode 100644
index 00000000000..7f840ff059c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolors.tex
@@ -0,0 +1,35 @@
+%-------------------------------------------------------------------------------
+% built-in colors
+%-------------------------------------------------------------------------------
+
+\definecolor{black}{RGB}{0, 0, 0}
+\definecolor{red}{rgb}{0.95, 0.20, 0.20}
+\definecolor{darkgrey}{rgb}{0.45, 0.45, 0.45}
+\definecolor{orange}{rgb}{0.95, 0.55, 0.15}
+\definecolor{burgundy}{rgb}{0.596078, 0, 0}% 139/255 (0.545098) or 152/255 (0.596078)
+\definecolor{purple}{rgb}{0.50, 0.33, 0.80}
+\definecolor{lightblue}{rgb}{0.22, 0.45, 0.70}
+\definecolor{green}{rgb}{0.35, 0.70, 0.30}
+
+%-------------------------------------------------------------------------------
+% default colors
+%-------------------------------------------------------------------------------
+
+\@ifundefined{\string\color@default-socialicon-color}{\colorlet{default-socialicon-color}{darkgrey}}{}
+
+%-------------------------------------------------------------------------------
+% colors for social icons
+%-------------------------------------------------------------------------------
+
+% \definecolor{weixin}{rgb}{.184, .533, .098}
+% \definecolor{linkedin}{HTML}{0a66c2}
+% \definecolor{orcid}{HTML}{a6ce39}
+% \definecolor{twitter}{RGB}{29, 155, 240}
+% \definecolor{facebook}{HTML}{1b74e4}
+% TODO: add more colors
+
+%-------------------------------------------------------------------------------
+% custom colors
+%-------------------------------------------------------------------------------
+
+% \definecolor{tsinghua}{HTML}{791CB5}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
index fb9a8c4363d..e8e0af713ff 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcompatibility.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcompatibility}[2022-02-21 v2.3.1 modern curriculum vitae and letter compatibility patches]
+\ProvidesPackage{moderncvcompatibility}[2024-07-18 v2.4.1 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty
index b28e409b541..c19651ab05b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvdebugtools.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvdebugtools}[2022-02-21 v2.3.1 modern curriculum vitae and letter debug tools]
+\ProvidesPackage{moderncvdebugtools}[2024-07-18 v2.4.1 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------
@@ -32,7 +32,7 @@
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (a\thedebugrule);
- \draw[red,thin,#1]
+ \draw[red,thin,#1]
([xshift=#2]a\thedebugrule|-current page.north) -- ([xshift=#2]a\thedebugrule|-current page.south);
\end{pgfonlayer}
\end{tikzpicture}}
@@ -42,7 +42,7 @@
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (b\thedebugrule);
- \draw[red,thin,#1]
+ \draw[red,thin,#1]
([yshift=#2]b\thedebugrule-|current page.west) -- ([yshift=#2]b\thedebugrule-|current page.east);
\end{pgfonlayer}
\end{tikzpicture}}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty
index 370365848fc..f1de51a44ef 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvfooti.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvfooti}[2022-02-21 v2.3.1 modern curriculum vitae and letter footer variant: 1]
+\ProvidesPackage{moderncvfooti}[2024-07-18 v2.4.1 modern curriculum vitae and letter footer variant: 1]
%-------------------------------------------------------------------------------
@@ -79,7 +79,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
- \color{color2}\addressfont%
+ \color{addresscolor}\addressfont%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -89,7 +89,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
@@ -109,7 +110,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
@@ -121,7 +122,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty
index 087cf776e20..9dfb35a06c1 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadi}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 1]
+\ProvidesPackage{moderncvheadi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 1]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -23,6 +23,11 @@
\@initializeif{\if@right}\@rightfalse
\DeclareOption{right} {\@leftfalse\@righttrue}
+% top options: align header elements by their top instead of their bottom
+% default: bottom
+\@initializeif{\if@top}\@topfalse
+\DeclareOption{top}{\@toptrue}
+
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{details,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -43,10 +48,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -72,7 +79,7 @@
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\savebox{\makecvheaddetailsbox}{%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -81,7 +88,8 @@
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
@@ -94,7 +102,7 @@
{%
\if@left%
\hspace*{\separatorcolumnwidth}\fi%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -112,9 +120,14 @@
\begin{minipage}[b]{\makecvheadnamewidth}%
\if@left\raggedright\fi%
\if@right\raggedleft\fi%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}}%
+ % raise boxes if top option is set
+ \if@top%
+ \savebox{\makecvheadnamebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadnamebox}}}%
+ \savebox{\makecvheaddetailsbox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheaddetailsbox}}}%
+ \savebox{\makecvheadpicturebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadpicturebox}}}\fi%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@@ -126,11 +139,17 @@
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
\hfill%
\usebox{\makecvheadnamebox}\fi%
- \\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
+ \begin{minipage}{\quotewidth}%
+ \centering%
+ \quotestyle{\@quote}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
@@ -150,7 +169,7 @@
% optional detailed information
\if@details%
\raggedleft%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -159,9 +178,10 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
- \end{minipage}\\[1em]
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -173,6 +193,8 @@
\hfill% US style
% \\[1em]% UK style
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty
index b699242ed46..a36c8e1af4b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadii}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 2]
+\ProvidesPackage{moderncvheadii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 2]
% details options: "details" or "nodetails" (default)
\@initializeif{\if@details}\@detailsfalse
@@ -47,10 +47,10 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@@ -110,7 +110,7 @@
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
- {\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
+ {\color{pictureframecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
% name (pre-rendering)
\@initializelength{\makecvheadpicturewidth}%
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
@@ -121,9 +121,9 @@
\if@right\raggedleft\fi%
\namefont%
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
- {\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}%
+ {\color{firstnamecolor}\MakeLowercase\@firstname}{\color{lastnamecolor}\MakeLowercase\@lastname}%
\else% default design: first- and lastname as given with a space in between
- {\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}%
+ {\color{firstnamecolor}\@firstname} {\color{lastnamecolor}\@lastname}\fi}}%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@@ -131,11 +131,11 @@
\if@right%
\usebox{\makecvheadpicturebox}%
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
- {\color{color2!50}\rule{\textwidth}{.25ex}}%
+ {\color{headrulecolor}\rule{\textwidth}{.25ex}}%
% optional detailed information
\if@details{%
\\\null%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -144,7 +144,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
@@ -157,15 +158,18 @@
\titlestyle{\MakeLowercase\@title}%
\else%
\titlestyle{\@title}\fi%
- }\\[2.5em]%
+ }
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\null\hfill%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
\begin{minipage}{\quotewidth}%
\centering%
\quotestyle{\@quote}%
- \end{minipage}\hfill\null\\[2.5em]}}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
@@ -189,7 +193,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty
index e4dbafd5ae8..51a3aa2444c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiii}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 3]
+\ProvidesPackage{moderncvheadiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 3]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -36,10 +36,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@@ -81,12 +83,12 @@
\parbox{\makeheaddetailswidth}{%
\centering%
% name and title
- \namestyle{\@firstname~\@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% optional detailed information
\if@details{%
\\%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -95,11 +97,12 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
- \flushmakeheaddetails}\fi}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
+ \flushmakeheaddetails}\fi}}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
%-------------------------------------------------------------------------------
@@ -117,8 +120,15 @@
\makehead%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
+ \begin{minipage}{\quotewidth}%
+ \centering%
+ \quotestyle{\@quote}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
@@ -132,9 +142,25 @@
\renewcommand*{\makeletterhead}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
- % sender block
- \makehead%
- \par%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ % optional detailed information
+ \if@details%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
+ % optional detailed information
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -145,7 +171,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty
index 9b59dacb9be..5a088fdb732 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 4]
+\ProvidesPackage{moderncvheadiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 4]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -38,10 +38,12 @@
\renewcommand*{\quotefont}{\large\itshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -80,7 +82,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -91,7 +93,7 @@
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
{}%
\begin{minipage}[b]{\makecvheadnamewidth}%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
@@ -103,7 +105,7 @@
% optional details
\if@details%
\makecvheadinfo{%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@@ -111,7 +113,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@@ -143,13 +146,15 @@
\@recipientaddress}\\[1em]%
% date
\@date\\[2em]%
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\@opening\\[1.5em]%
% sender contact info
\if@details%
\hspace{0pt}%
\marginpar{%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -157,7 +162,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty
index c4d40843240..e92233ef348 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadv}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 5]
+\ProvidesPackage{moderncvheadv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 5]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -37,10 +37,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -61,7 +63,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -75,7 +77,7 @@
% optional details
\if@details%
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@@ -83,7 +85,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
@@ -91,23 +94,32 @@
% name and optional title
\newlength{\makecvheadpictureboxskip}%
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {\\[1.25em]\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}
- }{
- \\[1.25em]\titlestyle{\@title}\\[2.5em]%
+ {}%
+ {%
+ \\[1.25em]%
+ \begin{minipage}{\quotewidth}%
+ \quotestyle{\@quote}%
+ \end{minipage}}%
+ }{%
+ \\[1.25em]%
+ \titlestyle{\@title}
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ \begin{minipage}{\quotewidth}%
+ \quotestyle{\@quote}
+ \end{minipage}}}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
\let\standarddoublebackslash\\%
\newcommand*{\@makecvtitle}[3][.5ex]{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{headrulecolor}%
\setlength\arrayrulewidth{1.2\p@}%
\if@aftersection\else%
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@@ -137,7 +149,7 @@
% optional detailed information
\if@details%
\raggedleft%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -146,9 +158,10 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
- \end{minipage}\\[1em]
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -159,7 +172,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty
index 8595901901d..ecd6dbb0411 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadvi.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadvi}[2022-02-21 v2.3.1 modern curriculum vitae and letter header: 6]
+\ProvidesPackage{moderncvheadvi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header: 6]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -24,7 +24,7 @@
\DeclareOption{right} {\@leftfalse\@righttrue}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{details, left}
+\ExecuteOptions{details,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -43,20 +43,22 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makehead}{%
\setlength{\makeheaddetailswidth}{\textwidth}%
% name and title
\if@left\hfill\fi%
- \namestyle{\@firstname~\@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% rule
- {\color{color1}\rule{\textwidth}{.25ex}}}
+ {\color{bodyrulecolor}\rule{\textwidth}{.25ex}}}
%-------------------------------------------------------------------------------
% resume head definition
@@ -107,7 +109,7 @@
% optional detailed information
\if@details{%
\\\null%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -116,7 +118,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
@@ -154,7 +157,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadvii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvii.sty
new file mode 100644
index 00000000000..f0c259ec050
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvii.sty
@@ -0,0 +1,226 @@
+%% start of file `moderncvheadvii.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvheadvii}[2023/11/21 v2.0.0 modern curriculum vitae and letter header variant: 7]
+
+% details options: "details" (default) or "nodetails"
+\@initializeif{\if@details}\@detailsfalse
+\DeclareOption{details} {\@detailstrue}
+\DeclareOption{nodetails} {\@detailsfalse}
+% QR options: "qr" (default) or "noqr". If "qr" is specified, a QR code is generated to point to the
+% homepage and placed near the details section
+\@initializeif{\if@headqr}\@headqrfalse
+\DeclareOption{qr} {\@headqrtrue}
+\DeclareOption{noqr} {\@headqrfalse}
+
+% left/right options: "left" (default) or "right"
+\@initializeif{\if@left} \@leftfalse
+\DeclareOption{left} {\@lefttrue\@rightfalse}
+\@initializeif{\if@right}\@rightfalse
+\DeclareOption{right} {\@leftfalse\@righttrue}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{details,qr,left}
+\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{qrcode}
+\RequirePackage{tikz}
+\usetikzlibrary{tikzmark,fit}
+
+
+%-------------------------------------------------------------------------------
+% overall head definition
+%-------------------------------------------------------------------------------
+\@ifundefined{\string\color@headTL}{\colorlet{headTL}{color1}}{}
+\@ifundefined{\string\color@headBR}{\colorlet{headBR}{color1}}{}
+\@ifundefined{\string\color@headtext}{\colorlet{headtext}{color2}}{}
+\@ifundefined{\string\color@headhr}{\colorlet{headhr}{color2}}{}
+
+% fonts
+\renewcommand*{\namefont}{\fontsize{30}{32}\rmfamily\mdseries\upshape}
+\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
+\renewcommand*{\addressfont}{\small\mdseries\slshape}
+\renewcommand*{\quotefont}{\large\slshape}
+
+% styles
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{headtext}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{headtext}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{headtext}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color0}{#1}}}
+
+
+%-------------------------------------------------------------------------------
+% resume head definition
+%-------------------------------------------------------------------------------
+% lengths
+\@initializelength{\quotewidth}
+\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
+\renewcommand*{\recomputecvheadlengths}{%
+ \setlength{\quotewidth}{0.65\textwidth}}
+
+% commands
+\renewcommand*{\makecvhead}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
+ % optional detailed information (pre-rendering)
+ \@initializebox{\makecvheaddetailsbox}%
+ \if@details%
+ \def\phonesdetails{}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
+ \def\socialsdetails{}%
+ \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
+ \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
+ \savebox{\makecvheaddetailsbox}{%
+ \addressfont\color{headtext}%
+ \if@left\begin{tabular}[b]{@{}r@{}}\fi%
+ \if@right\begin{tabular}[b]{@{}l@{}}\fi%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
+ \end{tabular}
+ }\fi%
+ % optional photo (pre-rendering)
+ \@initializebox{\makecvheadpicturebox}%
+ \savebox{\makecvheadpicturebox}{%
+ \ifthenelse{\isundefined{\@photo}}%
+ {}%
+ {%
+ \if@right%
+ \hspace*{\separatorcolumnwidth}\fi%
+ \begin{tikzpicture}
+ \path[top color=headBR,bottom color=headTL,shading angle=45] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth*2);
+ \path[fill=white] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth);
+ \begin{scope}
+ \clip (0,0) circle (\dimexpr\@photowidth/2);
+ \node[inner sep=0pt] at (0,0) {\includegraphics[width=\@photowidth]{\@photo}};
+ \end{scope}
+ \end{tikzpicture}%
+ }%
+ \if@left%
+ \hspace*{\separatorcolumnwidth}\fi}%
+ % optional QR for homepage (pre-rendering)
+ \@initializebox{\makecvheadqrbox}%
+ \if@headqr%
+ \savebox{\makecvheadqrbox}{%
+ \ifthenelse{\isundefined{\@homepage}}{}{\tikz\node[inner sep=1ex,fill=white]{\qrcode[height=1.5cm]{\@homepage}};}%
+ }\fi%
+ % name and title (pre-rendering)
+ \@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
+ \@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
+ \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
+ {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}%
+ {}%
+ \@initializebox{\makecvheadnamebox}%
+ \savebox{\makecvheadnamebox}{%
+ \begin{minipage}[b]{\makecvheadnamewidth}%
+ \if@left\raggedright\fi%
+ \if@right\raggedleft\fi%
+ \namestyle{\@firstname\ {\scshape\@lastname}}%
+ \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
+ \end{minipage}}%
+ % rendering
+ \begin{tikzpicture}[remember picture,overlay]
+ \node(head-bg) [top color=headTL,bottom color=headBR,shading angle=45,inner sep=0pt,
+ fit={(current page.north west)(current page.north east)(pic cs:head-end)}] {};
+ % Users may define `\@moderncvheadBackground` for additional background decoration
+ \ifthenelse{\isundefined{\@moderncvheadBackground}}{}{\@moderncvheadBackground}
+
+ \path[draw,line width=\@photoframewidth]
+ (head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
+ ([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
+ ([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
+ \end{tikzpicture}%
+ \if@left%
+ \usebox{\makecvheadpicturebox}%
+ \usebox{\makecvheadnamebox}%
+ \hfill%
+ \llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \usebox{\makecvheadqrbox}\fi%
+ \if@right%
+ \usebox{\makecvheadqrbox}%
+ \rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \hfill%
+ \usebox{\makecvheadnamebox}%
+ \usebox{\makecvheadpicturebox}\fi%
+ \\[.15em]%
+ \tikzmark{head-end}\\[.15em]%
+ % optional quote
+ \ifthenelse{\isundefined{\@quote}}%
+ {}%
+ {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[.15em]}}%
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
+
+
+%-------------------------------------------------------------------------------
+% letter head definition
+%-------------------------------------------------------------------------------
+% lengths
+%\renewcommand*{\recomputeletterheadlengths}{}
+
+% commands
+\renewcommand*{\makeletterhead}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ % optional detailed information
+ \if@details%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
+ % optional detailed information
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
+ \end{minipage}\\[1em]
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+
+\endinput
+
+
+%% end of file `moderncvheadvii.sty'.
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsacademic.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsacademic.sty
index e1eae589aa6..cf7bbbb5365 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsacademic.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsacademic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsacademic.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsacademic}[2022-02-21 v2.3.1 modern curriculum vitae icons: academicons]
+\ProvidesPackage{moderncviconsacademic}[2024-07-18 v2.4.1 modern curriculum vitae icons: academicons]
%-------------------------------------------------------------------------------
@@ -18,7 +18,19 @@
%-------------------------------------------------------------------------------
% Package for academic icons
\RequirePackage{academicons}
+\RequirePackage{xcolor}
+%-------------------------------------------------------------------------------
+% set colors
+%-------------------------------------------------------------------------------
+\input{moderncvcolors.tex}
+
+\providecolor{orcid}{named}{default-socialicon-color}
+\providecolor{researchgate}{named}{default-socialicon-color}
+\providecolor{researcherid}{named}{default-socialicon-color}
+\providecolor{googlescholar}{named}{default-socialicon-color}
+\providecolor{arxiv}{named}{default-socialicon-color}
+\providecolor{inspire}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
@@ -39,14 +51,16 @@
%\newcommand*{\stackoverflowsocialsymbol}{}
%\newcommand*{\bitbucketsocialsymbol} {}
%\newcommand*{\skypesocialsymbol} {}
-\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
-\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
-\renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
-\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
+\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
+\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
+\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
%\newcommand*{\telegramsocialsymbol} {}
%\newcommand*{\whatsappsocialsymbol} {}
%\newcommand*{\matrixsocialsymbol} {}
%\newcommand*{\signalsocialsymbol} {}
+\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~}
+\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~}
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty
index 2a0ea3a23cd..a51729faa6f 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsawesome.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,51 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsawesome}[2022-02-21 v2.3.1 modern curriculum vitae icons: awesome]
+\ProvidesPackage{moderncviconsawesome}[2024-07-18 v2.4.1 modern curriculum vitae icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome5}
+\RequirePackage{xcolor}
+
+%-------------------------------------------------------------------------------
+% set colors
+%-------------------------------------------------------------------------------
+\input{moderncvcolors.tex}
+
+\providecolor{address}{named}{default-socialicon-color}
+\providecolor{mobilephone}{named}{default-socialicon-color}
+\providecolor{fixedphone}{named}{default-socialicon-color}
+\providecolor{faxphone}{named}{default-socialicon-color}
+\providecolor{email}{named}{default-socialicon-color}
+\providecolor{homepage}{named}{default-socialicon-color}
+\providecolor{googlescholar}{named}{default-socialicon-color}
+\providecolor{linkedin}{named}{default-socialicon-color}
+\providecolor{xing}{named}{default-socialicon-color}
+\providecolor{twitter}{named}{default-socialicon-color}
+\providecolor{mastodon}{named}{default-socialicon-color}
+\providecolor{github}{named}{default-socialicon-color}
+\providecolor{gitlab}{named}{default-socialicon-color}
+\providecolor{stackoverflow}{named}{default-socialicon-color}
+\providecolor{bitbucket}{named}{default-socialicon-color}
+\providecolor{skype}{named}{default-socialicon-color}
+\providecolor{orcid}{named}{default-socialicon-color}
+\providecolor{researchgate}{named}{default-socialicon-color}
+\providecolor{telegram}{named}{default-socialicon-color}
+\providecolor{whatsapp}{named}{default-socialicon-color}
+\providecolor{discord}{named}{default-socialicon-color}
+\providecolor{twitch}{named}{default-socialicon-color}
+\providecolor{youtube}{named}{default-socialicon-color}
+\providecolor{tiktok}{named}{default-socialicon-color}
+\providecolor{instagram}{named}{default-socialicon-color}
+\providecolor{soundcloud}{named}{default-socialicon-color}
+\providecolor{steam}{named}{default-socialicon-color}
+\providecolor{xbox}{named}{default-socialicon-color}
+\providecolor{playstation}{named}{default-socialicon-color}
+\providecolor{battlenet}{named}{default-socialicon-color}
+\providecolor{born}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
@@ -28,28 +66,41 @@
%\renewcommand*{\addresssymbol} {}
-\renewcommand*{\mobilephonesymbol} {{\small\faMobile*}~} % alternative: \faMobile (solid style)
-\renewcommand*{\fixedphonesymbol} {{\small\faPhone*}~} % alternative: \faPhone (reversed)
-\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
-\renewcommand*{\emailsymbol} {{\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
-\renewcommand*{\homepagesymbol} {{\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
-\renewcommand*{\linkedinsocialsymbol} {{\small\faLinkedinIn}~} % alternative: \faLinkedin
-\renewcommand*{\xingsocialsymbol} {{\small\faXing}~} % alternative: \faXingSquare
-\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
-\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
-\renewcommand*{\gitlabsocialsymbol} {{\small\faGitlab}~}
-\renewcommand*{\stackoverflowsocialsymbol}{{\small\faStackOverflow}~}
-\renewcommand*{\bitbucketsocialsymbol} {{\small\faBitbucket}~}
-\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
-\renewcommand*{\orcidsocialsymbol} {{\small\faOrcid}~}
-\renewcommand*{\researchgatesocialsymbol} {{\small\faResearchgate}~}
+\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
+\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
+\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
+\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
+\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
+\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
+\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
+\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
+\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
+\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
+\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
+\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
+\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
+\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~}
+\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
%\renewcommand*{\researcheridsocialsymbol} {}
%\renewcommand*{\googlescholarsocialsymbol}{}
-\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
-\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~}
+\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
+\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
+\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
+\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~}
+\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~}
+\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~}
+\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~}
+\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~}
+\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~}
+\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
+\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
+\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
%\renewcommand*{\signalsocialsymbol} {}
%\renewcommand*{\matrixsocialsymbol} {}
-\renewcommand*{\bornsymbol} {{\small\faAsterisk}~} % alternative: \faBabyCarriage
+% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
+% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
+\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty
index 832e21035af..2dc6386d51d 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsletters.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsletters}[2022-02-21 v2.3.1 modern curriculum vitae icons: letter]
+\ProvidesPackage{moderncviconsletters}[2024-07-18 v2.4.1 modern curriculum vitae icons: letter]
%-------------------------------------------------------------------------------
% symbols definition
@@ -31,6 +31,7 @@
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~}
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~}
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
+\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}~}
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~}
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~}
@@ -45,6 +46,18 @@
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
\renewcommand*{\bornsymbol} {\textbf{B}~}
+\renewcommand*{\codebergsocialsymbol} {\textbf{cb}~}
+\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}~}
+\renewcommand*{\youtubesocialsymbol} {\textbf{yt}~}
+\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}~}
+\renewcommand*{\instagramsocialsymbol} {\textbf{insta}~}
+\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}~}
+\renewcommand*{\steamsocialsymbol} {\textbf{st}~}
+\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
+\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
+\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
+\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
+\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty
index 0a1d8f107dc..2dbc71011ee 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsmarvosym.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsmarvosym}[2022-02-21 v2.3.1 modern curriculum vitae icons: marvosym]
+\ProvidesPackage{moderncviconsmarvosym}[2024-07-18 v2.4.1 modern curriculum vitae icons: marvosym]
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconssymbols.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconssymbols.sty
index 256304380e1..b6c1fb7b1d5 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconssymbols.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconssymbols.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconssymbols.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -17,7 +17,7 @@
\RequirePackage{moderncviconsawesome}
\RequirePackage{moderncviconsacademic}
\else
- \ClassWarningNoLine{moderncv}{"academicons requires xetex/luatex to work. Using alternatives."}
+ \typeout{^^Jmoderncv: academicons requires XeTeX/LuaTeX to work. Using alternatives.^^J}
\ifpdftex
\RequirePackage{moderncviconsawesome}
\else
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconstikz.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconstikz.sty
index c3e9f40b0d4..e1a0248924d 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconstikz.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconstikz.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconstikz.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconstikz}[2022-02-21 v2.3.1 modern curriculum vitae and letter icons: tickz]
+\ProvidesPackage{moderncviconstikz}[2024-07-18 v2.4.1 modern curriculum vitae and letter icons: tickz]
%-------------------------------------------------------------------------------
@@ -218,7 +218,7 @@
\protect\begin{tikzpicture}[x=0.11em, y=0.11em, xscale=0.015, yscale=-0.015, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=color2,line width=0.057pt]
- (105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
+ (105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
(86.3000,24.9000) -- (29.8000,199.7000) -- (161.7000,199.7000) .. controls
(161.7000,199.7000) and (105.2000,24.9000) .. (105.2000,24.9000) -- cycle
(0.9000,287.7000) .. controls (-1.7000,295.7000) and (1.2000,304.6000) ..
@@ -327,7 +327,7 @@
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=1.8pt, x=1.8pt, yscale=-0.15, xscale=0.15, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
- \protect\path[fill=color2]
+ \protect\path[fill=color2]
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) ..
(0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
(3.1300,31.2520) .. controls (3.3452,32.0075) and (2.8778,32.0803) ..
@@ -374,7 +374,7 @@
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.1pt, x=0.1pt, yscale=-0.13, xscale=0.13, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
- \protect\path[fill=color2]
+ \protect\path[fill=color2]
(430.1000,180.9000) -- (437.8000,211.9000) .. controls (407.6000,219.3000)
and (378.7000,231.3000) .. (352.1000,247.3000) -- (335.7000,220.0000) ..
controls (365.0000,202.3000) and (396.9000,189.1000) .. (430.1000,180.9000) --
@@ -439,6 +439,25 @@
~}
}{}\par
+\ifdefempty{\codebergsocialsymbol} {
+ \renewcommand*{\codebergsocialsymbol} {
+ \protect\raisebox{-0.12em}{
+ \protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
+ \protect\begin{scope}[shift={(507, 387)}]
+ \protect\path[scale=0.265, opacity=0.500, line cap=butt, line join=miter, line width=0.779pt, miter limit=2.00]
+ (11249.8942,-1872.9296)arc(269.285:169.240:0.201313 and 0.150) --
+ (11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
+ (11250.0698,-1872.8557)arc(329.460:269.346:0.201313 and 0.150) -- cycle;
+
+ \protect\path[scale=0.265, fill=color2, line width=0.426pt]
+ (11249.3743,-1883.6959)arc(269.785:180.000:23.067)arc(180.001:147.920:23.067)
+ -- (11249.1480,-1873.2412)arc(209.929:330.071:0.360097 and 0.269) --
+ (11269.0053,-1848.3766)arc(32.082:-0.002:23.067)arc(360.000:270.000:23.067)arc(270.108:269.892:23.067)
+ -- cycle;
+ \protect\end{scope}
+ \protect\end{tikzpicture}}
+ ~}
+}{}\par
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty
index 68b8db9a0aa..9f03be117a7 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty
@@ -2,30 +2,30 @@
%% Copyright 2021 David Seus (cryptointerest@posteo.de).
%
% This package provides a skill matrix template for the moderncv package.
-% Some recruiting firms require applicants to rate their skills, computer
-% skills, management tools, or similar in a table involving a graphical
-% illustration of their skill level. This package implements this idea
-% and provides the following commands to use within the moderncv
+% Some recruiting firms require applicants to rate their skills, computer
+% skills, management tools, or similar in a table involving a graphical
+% illustration of their skill level. This package implements this idea
+% and provides the following commands to use within the moderncv
% package:
-%
-%
+%
+%
% PUBLIC COMMANDS
% \cvskill{<1-5>}
% Illustrate skill level with little colored boxes.
-% By default five skill levels are predefined.
-%
-% Input:
+% By default five skill levels are predefined.
+%
+% Input:
% input_1: integer between 0 and 5
-%
-% Example usages:
+%
+% Example usages:
% \cvskill{3}
-%
-%
+%
+%
% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -34,25 +34,25 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskilllegend{} print default legend
% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-% -The design of the table is such that the <second_level> entry stands in the first column but
+% -The design of the table is such that the <second_level> entry stands in the first column but
% occupies rows two and three. This has been done to accomodate english and german defaults.
% An alternative is provided by \cvskillplainlegend
-%
-%
+%
+%
% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
% In this legend, the first three skill levels are in one column
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -61,40 +61,40 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskillplainlegend{} print default legend
% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-%
-%
+%
+%
% \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
% add skill matrix line acting as header explaining the meaning of columns.
-%
+%
% Input:
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string naming the level column (2nd column), default: <Level>
% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
% input_5 (optional): string naming the comment column (5th column), default: <Comment>
-%
+%
% Example usages:
% \cvskillhead print default head.
% \cvskillhead[0.5em] print default head, but adjust post padding.
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
-%
-%
+%
+%
% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
% add cvskill matrix row.
-%
+%
% Input:
-% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2: string, naming skill cathegory, default: <>
@@ -102,98 +102,98 @@
% input_4: string, naming the skill, default: <>
% input_5: positive real number, stating the number of years of experience with this skill , default: <>
% input_6: string, explaining details w.r.t. that particual skill default: <>
-%
+%
% Example usages:
% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
-%
-%
+%
+%
% \setcvskillcolumns[<width>][<factor>][<exp_width>]
% adjust column width of skill table
-%
-% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
-% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
-% However, depending on the user input and the style that is used some of the columns might need adjustments.
-% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
% the first column is used columns two, three and four. Through this parameter
% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
-% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
% (Years of experience), default <\cvskill@experiencewidth>
-%
+%
% Example usage
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
-% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
-%
+%
% Note
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
-%
-%
+%
+%
% \setcvskilllegendcolumns[<width>][<factor>]
% adjust column width of legend
-%
-% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
-% such that the default english and german examples look good.
-% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
-% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
-% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
-% where depending on the style the legend_string gets printed. In case the
-% string is left empty adjusting this width allows moving the legend horizontally.
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
% Default <\skilllegend@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
-% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
% Default <\skilllegend@leftdesriptorfactor>
-%
+%
% Example usage
% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
-%
+%
% Note
-% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
% the first optional variable has no effect in this case.
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \cvskilllegend in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
-% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
-%
-%
+%
+%
% PRIVATE COMMANDS
-%
+%
% \recompute@cvskillmatrix@lengths
-% compute all lengths necessary for the skill matrix depending on
+% compute all lengths necessary for the skill matrix depending on
% the moderncv style (moderncvbody)
-%
+%
% Input: none
-%
+%
% Example usage (only internally in moderncvbody<i-v>.sty)
-% \recompute@cvskillmatrix@lengths
-%
-%
+% \recompute@cvskillmatrix@lengths
+%
+%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
@@ -203,10 +203,10 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvskillmatrix}[2022-02-21 v2.3.1 modern curriculum vitae and letter skill matrix]
+\ProvidesPackage{moderncvskillmatrix}[2024-07-18 v2.4.1 modern curriculum vitae and letter skill matrix]
-% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
-% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
+% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
+% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
\@initializeif{\if@moderncvbodyi}\@moderncvbodyifalse
\DeclareOption{moderncvbodyi}{\@moderncvbodyitrue\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
\@initializeif{\if@moderncvbodyii}\@moderncvbodyiifalse % this option is added in case moderncvbodyii gets implemented standalone
@@ -218,6 +218,10 @@
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
+% If option `circle` is specified, use circles instead of small rectangles for rating skills
+\@initializeif{\if@cvskillcircle}\@cvskillcirclefalse
+\DeclareOption{circle}{\@cvskillcircletrue}
+
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{moderncvbodyi}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -239,23 +243,29 @@
% %-------------------------------------------------------------------------------
% The code for the Skilllevel illustration with the little boxes.
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
-\@initializelength{\cvSkill@RectangleSize}
-\setlength{\cvSkill@RectangleSize}{1.2ex}
+\@initializelength{\cvSkill@ShapeSize}
+\if@cvskillcircle%
+ \setlength{\cvSkill@ShapeSize}{.7ex}%
+ \def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) circle (\cvSkill@ShapeSize);}
+\else
+ \setlength{\cvSkill@ShapeSize}{1.2ex}
+ \def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) rectangle (\cvSkill@ShapeSize, \cvSkill@ShapeSize);}
+\fi
\newcount\my@repeat@count
\DeclareDocumentCommand{\cvskill}{m}{%
% Illustrate skill level with little colored boxes.
-% By default five skill levels are predefined.
-%
-% Input:
+% By default five skill levels are predefined.
+%
+% Input:
% integer between 0 and 5
-% Example usage:
+% Example usage:
% \cvskill{3}
\begingroup
\my@repeat@count=\z@
- \@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \@whilenum\my@repeat@count<#1\do{\cvSkill@Shape{skillmatrixfullcolor}\advance%
\my@repeat@count\@ne\,}%
\my@repeat@count=\numexpr5-\z@\relax
- \@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \@whilenum\my@repeat@count>#1\do{\cvSkill@Shape{skillmatrixemptycolor}\advance%
\my@repeat@count\m@ne\,}%
\endgroup
}% end \cvskill
@@ -279,10 +289,10 @@
\@initializelength{\skilllegend@padding}
\@initializelength{\skilllegend@bodylength}
-% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
+% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
% define it to not throw an error in the other cases
\if@moderncvbodyv%
-%
+%
\else%
\@initializelength{\separatorrulewidth}
\setlength{\separatorrulewidth}{1ex}
@@ -292,13 +302,13 @@
%% DEFINITION \recompute@cvskillmatrix@lengths
% declare the command \recompute@cvskillmatrix@lengths empty
\DeclareDocumentCommand{\recompute@cvskillmatrix@lengths}{}{}%
-% compute all lengths necessary for the skill matrix depending on
+% compute all lengths necessary for the skill matrix depending on
% the moderncv style (moderncvbody)
-%
+%
% Input: none
-%
+%
% Example usage (only internally in moderncvbody<i-v>.sty)
-% \recompute@cvskillmatrix@lengths
+% \recompute@cvskillmatrix@lengths
% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyi
\if@moderncvbodyi%
@@ -332,7 +342,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
@@ -352,7 +362,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}
\setlength{\skilllegend@hintscolumnwidth}{0ex}%\skillmatrix@hintscolumnwidth
\setlength{\skilllegend@bodylength}{\maincolumnwidth}
@@ -371,7 +381,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\maincolumnwidth}%
@@ -385,43 +395,43 @@
% \setcvskillcolumns[<width>][<factor>][<exp_width>]
\DeclareDocumentCommand{\setcvskillcolumns}{+O{\skillmatrix@hintscolumnwidth} +O{\skillmatrix@columnwidth} +O{\cvskill@experiencewidth}}{%
% adjust column width of skill table
-%
-% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
-% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
-% However, depending on the user input and the style that is used some of the columns might need adjustments.
-% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
% the first column is used columns two, three and four. Through this parameter
% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
-% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
% (Years of experience), default <\cvskill@experiencewidth>
-%
+%
% Example usage
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
-% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
-%
+%
% Note
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
-%
+%
\def\arg@new@hintscolumnwidth{#1}% <-- all these terminal % signs are necessary for the fancy style to not show weird spaces!!!
- \def\arg@new@bodyLengthFactor{#2}%
- \def\arg@new@experienceWidth{#3}%
- % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
+ \def\arg@new@bodyLengthFactor{#2}%
+ \def\arg@new@experienceWidth{#3}%
+ % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
% without any arguments leads to nonempty arguments \arg@new@hintscolumnwidth and
- % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
- % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
+ % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
+ % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
% \setcvskillcolumns[<somelength>][], \setcvskillcolumns[][<somefactor>] \setcvskillcolumns[][][<length>]
\ifdefempty{\arg@new@hintscolumnwidth}{%
% Case \setcvskillcolumns[], \setcvskillcolumns[][] or \setcvskillcolumns[][<somefactor>]
@@ -445,13 +455,13 @@
% \cvskill@descriptorwidth accordingly
\setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
- }%
+ }%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
}%
% Case \setcvskillcolumns[] nothing needs to be done here recalculate lengths affected by the change
- }{%
- % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
+ }{%
+ % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
% or \setcvskillcolumns[<width>][<somefactor>]
\setlength{\skillmatrix@hintscolumnwidth}{\arg@new@hintscolumnwidth}%
\setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}%
@@ -483,41 +493,41 @@
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
}%
}%
-%
+%
% \setcvskilllegendcolumns[<width>][<factor>]
\DeclareDocumentCommand{\setcvskilllegendcolumns}{+O{\skilllegend@hintscolumnwidth} +O{\skilllegend@leftdesriptorfactor}}{%
% adjust column width of legend
-%
-% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
-% such that the default english and german examples look good.
-% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
-% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
-% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
-% where depending on the style the legend_string gets printed. In case the
-% string is left empty adjusting this width allows moving the legend horizontally.
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
% Default <\skilllegend@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
-% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
% Default <\skilllegend@leftdesriptorfactor>
-%
+%
% Example usage
% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
-%
+%
% Note
-% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
% the first optional variable has no effect in this case.
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \cvskilllegend in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
-% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
%
\def\arg@new@legend@hintscolumnwidth{#1}%
@@ -532,8 +542,8 @@
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
}%
% % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered
- }{%
- % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
+ }{%
+ % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
% or \setcvskilllegendcolumns[<width>][<somefactor>]
\setlength{\skilllegend@hintscolumnwidth}{\arg@new@legend@hintscolumnwidth}%
\if@moderncvbodyi%
@@ -554,18 +564,18 @@
}%
}%
}%
-%
+%
% %-------------------------------------------------------------------------------
-% % \cvskilllegend
+% % \cvskilllegend
% %-------------------------------------------------------------------------------
% default legend style
% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
\NewDocumentCommand\skillLegend@FontSize{}{\scriptsize}
\DeclareDocumentCommand\cvskilllegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -574,15 +584,15 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskilllegend{} print default legend
% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-% -The design of the table is such that the <second_level> entry stands in the first column but
+% -The design of the table is such that the <second_level> entry stands in the first column but
% occupies rows two and three. This has been done to accomodate english and german defaults.
% An alternative is provided by \cvskillplainlegend
@@ -596,7 +606,7 @@
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
% calculate descriptor widths
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
@@ -610,7 +620,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 } \\%
- %
+ %
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup
@@ -629,7 +639,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\%
%
& \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\%
- %
+ %
& & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup%
@@ -646,11 +656,11 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- % recalculate desrciptor widths on the fly. Allows for different padding
+ % recalculate desrciptor widths on the fly. Allows for different padding
% in the stared and nonstared case
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
@@ -660,13 +670,13 @@
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\
- %
- & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
+ %
+ & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{
\begingroup%
- % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
+ % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
% but while testing I got overflow of text into the margin
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-5\skilllegend@padding}%
@@ -678,8 +688,8 @@
\raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{3} & {\skillLegend@FontSize #5 } \\
%
& \cvskill{2} & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} &{\skillLegend@FontSize #6 } \\
- %
- & & & \cvskill{5} & {\skillLegend@FontSize #7 }
+ %
+ & & & \cvskill{5} & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}
@@ -697,7 +707,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@@ -713,32 +723,32 @@
\@moderncvstrut{4pt}{16pt} & \cvskill{1}& {\skillLegend@FontSize #3} & \cvskill{3}& {\skillLegend@FontSize #5 }\\%
%
& \cvskill{2}& \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& {\skillLegend@FontSize #6 }\\%
- %
+ %
& & & \cvskill{5} & {\skillLegend@FontSize #7 }\\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
- % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
\IfBooleanTF#1{%
\@starIndependentTabular%
- }{%
+ }{%
\@starIndependentTabular%
}%
}%
\fi
% %-------------------------------------------------------------------------------
-% % \cvskillplainlegend
+% % \cvskillplainlegend
% %-------------------------------------------------------------------------------
% alternative legend style
% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
\DeclareDocumentCommand\cvskillplainlegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
% In this legend, the first three skill levels are in one column
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -747,12 +757,12 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskillplainlegend{} print default legend
% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
@@ -766,7 +776,7 @@
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
% calculate descriptor widths
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
@@ -780,7 +790,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
%
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5}& & {\skillLegend@FontSize #7} \\%
- %
+ %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & %
\end{tabular}%
\endgroup%
@@ -799,7 +809,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} &{\skillLegend@FontSize #6} \\%
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} &{\skillLegend@FontSize #7} \\%
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5 } & & %
\end{tabular}%
\endgroup%
@@ -816,7 +826,7 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@@ -828,8 +838,8 @@
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
%
& \cvskill{2} & &{\skillLegend@FontSize#4} & \cvskill{5} & &{\skillLegend@FontSize#7}\\%
- %
- & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
+ %
+ & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{
@@ -845,7 +855,7 @@
\raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6} \\
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7} \\
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5} & & %
\end{tabular}%
\endgroup
@@ -863,7 +873,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@@ -879,16 +889,16 @@
\@moderncvstrut{4pt}{16pt} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6}\\%
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7}\\%
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5} & & \\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
- % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
\IfBooleanTF#1{%
\@starIndependentTabular%
- }{%
+ }{%
\@starIndependentTabular%
}%
}%
@@ -900,20 +910,20 @@
\NewDocumentCommand\cvSkillMatrix@HeadFont{}{\normalfont}
\DeclareDocumentCommand\cvskillhead{+O{} +O{} +O{} +O{} +O{}}{}%
% add skill matrix line acting as header explaining the meaning of columns.
-%
+%
% Input:
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string naming the level column (2nd column), default: <Level>
% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
% input_5 (optional): string naming the comment column (5th column), default: <Comment>
-%
+%
% Example usages:
% \cvskillhead print default head.
% \cvskillhead[0.5em] print default head, but adjust post padding.
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
\NewDocumentCommand\skillMatrix@HeaderDefaultOne{}{Level}
@@ -924,13 +934,13 @@
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
\begingroup
\renewcommand{\arraystretch}{1.25}
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@experiencewidth}@{\hspace{\skillmatrix@padding}}
p{\skillmatrix@commentwidth}@{}}%
- & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
+ & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
\end{tabular}%
\endgroup
\par\addvspace{#1}
@@ -938,7 +948,7 @@
% Definition of \cvskillhead valid moderncvbodyv
\if@moderncvbodyv%
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
\begingroup%
@@ -954,19 +964,19 @@
& & \centering{\cvSkillMatrix@HeadFont#2} & \centering{\cvSkillMatrix@HeadFont#3} & \centering{\cvSkillMatrix@HeadFont#4} & {\cvSkillMatrix@HeadFont#5} \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
\fi
% %-------------------------------------------------------------------------------
-% % \cvskillentry
+% % \cvskillentry
% %-------------------------------------------------------------------------------
% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
\DeclareDocumentCommand\cvskillentry{s +O{} +m +m +m +m +m}{}%
% add cvskill matrix row.
-%
+%
% Input:
-% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2: string, naming skill cathegory, default: <>
@@ -974,14 +984,14 @@
% input_4: string, naming the skill, default: <>
% input_5: positive real number, stating the number of years of experience with this skill , default: <>
% input_6: string, explaining details w.r.t. that particual skill default: <>
-%
+%
% Example usages:
% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
% Definition of \cvskillentry valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii, moderncvbodyiv
@@ -990,7 +1000,7 @@
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
\begingroup
\renewcommand{\arraystretch}{1.25}
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
@@ -1018,7 +1028,7 @@
\if@moderncvbodyv%
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
%test for the star * in the command
@@ -1038,13 +1048,13 @@
}%
\IfBooleanTF{#1}{% the star does not do anything here
\@starIndependentMatrixEntry%
- }{%
+ }{%
\@starIndependentMatrixEntry%
}%
\par\@aftersectionfalse\ignorespaces%
}%
\fi
-%
+%
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
index afc20e5399b..6398480ef98 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylebanking.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylebanking}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: banking]
+\ProvidesPackage{moderncvstylebanking}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: banking]
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{}
@@ -24,6 +24,12 @@
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
+% head options
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
\DeclareOption{symbols} {\@symbolstrue}
@@ -55,19 +61,45 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
-
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color1}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!60}
+\colorlet{titlecolor}{color2!85}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{3}
+\moderncvhead[\moderncvstyleheadoptions]{3}
\moderncvbody[\moderncvstylebodyoptions]{3}
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
index eba5df696e8..1192c8911c5 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylecasual.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,12 +10,18 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylecasual}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: casual]
+\ProvidesPackage{moderncvstylecasual}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: casual]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+% head options alternate, details and no details
+\DeclareOption{alternate}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,alternate}}
+\@initializeif{\if@datainhead}\@datainheadfalse
+\DeclareOption{details}{\@datainheadtrue\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -23,7 +29,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{right,symbols}
+\ExecuteOptions{right,symbols,nodetails}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -42,18 +48,46 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead[\moderncvstyleheadoptions]{2}
\moderncvbody{1}
-\moderncvfoot{1}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
index 3018cc67a79..07950bcfa58 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleclassic.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,12 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleclassic}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: classic]
+\ProvidesPackage{moderncvstyleclassic}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: classic]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+\DeclareOption{top}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,top}}
+
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -23,7 +28,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{left,symbols}
+\ExecuteOptions{left,symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -42,17 +47,46 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead[\moderncvstyleheadoptions]{1}
\moderncvbody{1}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecontemporary.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecontemporary.sty
new file mode 100644
index 00000000000..32f02ceb37f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecontemporary.sty
@@ -0,0 +1,63 @@
+%% start of file `moderncvstylecontemporary.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvstylecontemporary}[2023/11/24 v2.0.0 modern curriculum vitae and letter style scheme: contemporary]
+
+% head section alignment options: "left" (default) or "right"
+\@initializecommand{\moderncvstyleheadoptions}{}
+\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
+\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
+\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{left,qr}
+\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
+
+%-------------------------------------------------------------------------------
+% fonts & icons
+%-------------------------------------------------------------------------------
+% Latin Modern fonts
+%\ifxetexorluatex
+% \setmainfont{Latin Modern Roman}
+% \setsansfont{Latin Modern Sans}
+% \setmathfont{Latin Modern Math}
+%\else
+ \IfFileExists{lmodern.sty}%
+ {\RequirePackage{lmodern}}%
+ {}
+%\fi
+
+% symbols
+\providecolor{default-socialicon-color}{named}{headtext}
+\moderncvicons{symbols}
+
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% skillmatrix
+\colorlet{bodyrulecolor}{color1}
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+%-------------------------------------------------------------------------------
+% header, body & footer
+%-------------------------------------------------------------------------------
+\moderncvhead[\moderncvstyleheadoptions]{7}
+\moderncvbody{6}
+
+
+\endinput
+
+
+%% end of file `moderncvstylecontemporary.sty'.
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
index a86560524c0..8dcce13aa5a 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleempty.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleempty}[2022-02-21 v2.3.1 modern curriculum vitae scheme: empty]
+\ProvidesPackage{moderncvstyleempty}[2024-07-18 v2.4.1 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
% required packages
@@ -33,11 +33,34 @@
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+% \colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty
index 56de636100a..1ad8d8732f1 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylefancy.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylefancy}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: fancy]
+\ProvidesPackage{moderncvstylefancy}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: fancy]
+
+% headoptions
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -18,10 +24,34 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{symbols}
+\ExecuteOptions{symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color1}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{color1}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+
+%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% EB Garamond font
@@ -38,7 +68,7 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
@@ -47,9 +77,16 @@
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{5}
+\moderncvhead[\moderncvstyleheadoptions]{5}
\moderncvbody{5}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
index 78225e0a58c..37de3c57b32 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleoldstyle.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,14 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleoldstyle}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: oldstyle]
+\ProvidesPackage{moderncvstyleoldstyle}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: oldstyle]
+
+% headoptions
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -18,7 +25,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{symbols}
+\ExecuteOptions{symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -51,11 +58,41 @@
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+
+%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{4}
+\moderncvhead[\moderncvstyleheadoptions]{4}
\moderncvbody{4}
-
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvverticaltimeline.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvverticaltimeline.sty
new file mode 100644
index 00000000000..1ee94a5ef5a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvverticaltimeline.sty
@@ -0,0 +1,79 @@
+%% start of file `moderncvverticaltimeline.sty'.
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvverticaltimeline}[2023/11/29 v2.0.0 modern curriculum vitae vertical timeline]
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{tikz}
+
+%-------------------------------------------------------------------------------
+% vertical timeline implementation
+%-------------------------------------------------------------------------------
+\tikzset{
+ tl_milestone/.style={circle,inner sep=1.5pt,draw=color0!20,label={west:#1}},
+ tl_link/.style={thick,densely dotted,color0!20},
+}
+
+\newcounter{tl@chainidx}\setcounter{tl@chainidx}{0}
+\newcounter{tl@nodeidx}\setcounter{tl@nodeidx}{0}
+
+% Mark the end of the current chain; any `\tl@milestone` issued afterward will be on a new timeline.
+\def\tl@resetchain{%
+ \stepcounter{tl@chainidx}%
+ \setcounter{tl@nodeidx}{0}%
+}
+
+% Create a node in the current timeline and link it to the previous node; if the previous milestone
+% is on the last shipped out page, draw a line that extends until the top margin. The argument is laid out as a label (default left).
+\def\tl@milestone#1{%
+ \edef\@tl@prev{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \stepcounter{tl@nodeidx}%
+ \edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \tikz[remember picture,overlay] {
+ \node[tl_milestone={#1}] (\@tl@this) {};
+ \ifnum\thetl@nodeidx>1
+ \pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
+ \ifnum\pgf@y>0
+ \draw[tl_link] (\@tl@this) -- ([yshift=-1em] \@tl@this |- current page.north);
+ \else
+ \draw[tl_link] (\@tl@this) -- (\@tl@prev);
+ \fi
+ \fi
+ }
+}
+
+\AddToHook{shipout/background}{%
+ % If there are follow-up milestones in the current timeline, draw a line that extends until the bottom margin
+ \edef\@tl@prev{tl-\thetl@chainidx-\number\numexpr\thetl@nodeidx-1}%
+ \edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \tikz[remember picture,overlay] {
+ \ifnum\thetl@nodeidx>1
+ \pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
+ \ifnum\pgf@y>0
+ \draw[tl_link] (\@tl@prev) -- ([yshift=1em] \@tl@prev |- current page.south);
+ \fi
+ \fi
+ }
+}
+
+\AtEndDocument{\tl@resetchain}
+
+\let\@old@section=\section%
+\RenewDocumentCommand{\section}{sm}{\tl@resetchain\@old@section{#1}}
+
+\endinput
+
+
+%% end of file `moderncvverticaltimeline.sty'.
diff --git a/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty b/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty
index 3739c95f92b..c5f58700004 100644
--- a/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty
@@ -1,6 +1,6 @@
%% start of file `tweaklist.sty'.
%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
-%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
diff --git a/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty b/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty
index cf95d62b96b..d0e3a496e7b 100644
--- a/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty
+++ b/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty
@@ -23,7 +23,7 @@
%% ---------------------------------------------------------------------------
%% Copyright 2024 Johan Larsson and contributors
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthememoloch}[2024-03-06 v0.3.0 Moloch color theme] % x-release-please-version
+\ProvidesPackage{beamercolorthememoloch}[2024-07-09 v0.4.0 Moloch color theme] % x-release-please-version
\RequirePackage{pgfopts}
\pgfkeys{
/moloch/color/block/.cd,
diff --git a/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty b/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty
index 71b52aae8d7..756958d73b8 100644
--- a/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty
+++ b/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty
@@ -23,7 +23,8 @@
%% ---------------------------------------------------------------------------
%% Copyright 2024 Johan Larsson and contributors
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthememoloch}[2024-03-06 v0.3.0 Moloch font theme] % x-release-please-version
+\ProvidesPackage{beamerfontthememoloch}[2024-07-09 v0.4.0 Moloch font theme] % x-release-please-version
+\RequirePackage{etoolbox}
\RequirePackage{pgfopts}
\setbeamerfont{title}{size=\Large, series=\bfseries}
\setbeamerfont{author}{size=\small}
@@ -38,6 +39,131 @@
\setbeamerfont{caption name}{series=\bfseries}
\setbeamerfont{description item}{series=\bfseries}
\setbeamerfont{standout}{size=\Large, series=\bfseries}
+\pgfkeys{
+ /moloch/font/titleformat title/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@titleformat\@empty%
+ \setbeamerfont{title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@titleformat\@empty%
+ \setbeamerfont{title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@titleformat\lowercase%
+ \setbeamerfont{title}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat title=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@titleformat\uppercase%
+ \setbeamerfont{title}{shape=\normalfont}
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat title=allcaps can lead to problems%
+ }
+ },
+}
+\pgfkeys{
+ /moloch/font/titleformat subtitle/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@subtitleformat\MakeLowercase%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat subtitle=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@subtitleformat\MakeUppercase%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat subtitle=allcaps can lead to problems%
+ }
+ },
+}
+\pgfkeys{
+ /moloch/font/titleformat section/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@sectiontitleformat\MakeLowercase%
+ \setbeamerfont{section title}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat section=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@sectiontitleformat\MakeUppercase%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat section=allcaps can lead to problems%
+ }
+ },
+}
+\pgfkeys{
+ /moloch/font/titleformat frame/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@frametitleformat\MakeLowercase%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat frame=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@frametitleformat\MakeUppercase%
+ \setbeamerfont{frametitle}{shape=\normalfont}
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat frame=allcaps can lead to problems%
+ }
+ },
+}
+\pgfkeys{
+ /moloch/font/.cd,
+ titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
+ titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
+ titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
+ titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
+}
+\newcommand{\moloch@font@setdefaults}{
+ \pgfkeys{/moloch/font/.cd,
+ titleformat title=regular,
+ titleformat subtitle=regular,
+ titleformat section=regular,
+ titleformat frame=regular,
+ }
+}
+\def\moloch@titleformat#1{#1}
+\def\moloch@subtitleformat#1{#1}
+\def\moloch@sectiontitleformat#1{#1}
+\def\moloch@frametitleformat#1{#1}
+\moloch@font@setdefaults
+\ProcessPgfPackageOptions{/moloch/font}
\endinput
%%
%% End of file `beamerfontthememoloch.sty'.
diff --git a/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty b/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty
index c64522e8a5b..8cbc634ec02 100644
--- a/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty
+++ b/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty
@@ -23,7 +23,7 @@
%% ---------------------------------------------------------------------------
%% Copyright 2024 Johan Larsson and contributors
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthememoloch}[2024-03-06 v0.3.0 Moloch inner theme] % x-release-please-version
+\ProvidesPackage{beamerinnerthememoloch}[2024-07-09 v0.4.0 Moloch inner theme] % x-release-please-version
\RequirePackage{keyval}
\RequirePackage{calc}
\RequirePackage{pgfopts}
@@ -94,13 +94,14 @@
}
\setbeamertemplate{title}{
\raggedright%
- \inserttitle%
+ \moloch@titleformat{\inserttitle}%
\par%
\vspace*{0.2em}
}
\setbeamertemplate{subtitle}{
+ \vspace*{0.1em}
\raggedright%
- \insertsubtitle%
+ \moloch@subtitleformat{\insertsubtitle}%
\par%
\vspace*{0.2em}
}
@@ -109,6 +110,7 @@
\setbeamertemplate{title separator}{
\tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[fg] (0,0) rectangle (\textwidth, \moloch@titleseparator@linewidth);
\end{tikzpicture}%
\tikzexternalenable%
@@ -134,7 +136,7 @@
\begin{center}
\usebeamercolor[fg]{section title}
\usebeamerfont{section title}
- \insertsectionhead\par
+ \moloch@sectiontitleformat{\insertsectionhead}\par
\ifx\insertsubsectionhead\@empty\else
\usebeamercolor[fg]{subsection title}
\usebeamerfont{subsection title}
@@ -148,7 +150,7 @@
\raggedright
\usebeamercolor[fg]{section title}
\usebeamerfont{section title}
- \insertsectionhead\\[-1ex]
+ \moloch@sectiontitleformat{\insertsectionhead}\\[-1ex]
\usebeamertemplate*{progress bar in section page}
\par
\ifx\insertsubsectionhead\@empty\else%
@@ -197,9 +199,10 @@
\setbeamertemplate{progress bar in section page}{
\pgfmathsetlength{\moloch@progressonsectionpage}{
\textwidth * min(1,\insertframenumber/\inserttotalframenumber)
- }
- \tikzexternaldisable
+ }%
+ \tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[bg]
(0,0)
rectangle
@@ -209,7 +212,7 @@
rectangle
(\moloch@progressonsectionpage, \moloch@progressonsectionpage@linewidth);
\end{tikzpicture}
- \tikzexternalenable
+ \tikzexternalenable%
}
\def\inserttotalframenumber{100}
\setbeamertemplate{itemize item}{\(\bullet\)}
diff --git a/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty b/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty
index 311ef669812..1895dbc9402 100644
--- a/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty
+++ b/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty
@@ -23,7 +23,7 @@
%% ---------------------------------------------------------------------------
%% Copyright 2024 Johan Larsson and contributors
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthememoloch}[2024-03-06 v0.3.0 Moloch outer theme] % x-release-please-version
+\ProvidesPackage{beamerouterthememoloch}[2024-07-09 v0.4.0 Moloch outer theme] % x-release-please-version
\RequirePackage{calc}
\RequirePackage{pgfopts}
\pgfkeys{
@@ -90,23 +90,42 @@
\usebeamertemplate*{page number in head/foot}\vskip4pt%
\end{beamercolorbox}%
}
+\newlength{\moloch@frametitle@padding}
+\setlength{\moloch@frametitle@padding}{2.2ex}
+\newcommand{\moloch@frametitlestrut@start}{%
+ \rule{0pt}{\moloch@frametitle@padding +%
+ \totalheightof{%
+ \ifcsdef{moloch@frametitleformat}{\moloch@frametitleformat X}{X}%
+ }%
+}%
+}
+
+\newcommand{\moloch@frametitlestrut@end}{%
+ \vphantom{\rule[-\moloch@frametitle@padding]{0pt}{\moloch@frametitle@padding}}
+}
\defbeamertemplate{frametitle}{plain}{%
\nointerlineskip%
\begin{beamercolorbox}[%
wd=\paperwidth,%
- sep=1.1ex,%
- leftskip=0.5ex,%
- rightskip=\the\glueexpr 0.5ex plus 1fill\relax,%
+ leftskip=1.6ex,%
+ rightskip=\the\glueexpr 1.6ex plus 1fill\relax,%
]{frametitle}%
\usebeamerfont{frametitle}%
- \vbox{}\vskip-0.4ex%
- \strut\insertframetitle\nolinebreak\strut\par%
+ \moloch@frametitlestrut@start%
+ \moloch@frametitleformat{\insertframetitle}%
{%
\ifx\insertframesubtitle\@empty%
\else%
- {\usebeamerfont{framesubtitle}\vspace{-0.8ex}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}%
+ {%
+ \par%
+ \usebeamerfont{framesubtitle}%
+ \vspace{-0.8ex}%
+ \usebeamercolor[fg]{framesubtitle}%
+ \insertframesubtitle%
+ }%
\fi
}%
+ \moloch@frametitlestrut@end%
\end{beamercolorbox}%
}
\setbeamertemplate{frametitle continuation}{\romannumeral\insertcontinuationcount}
@@ -114,13 +133,14 @@
\newlength{\moloch@progressinheadfoot@linewidth}
\setlength{\moloch@progressinheadfoot@linewidth}{0.4pt}
\setbeamertemplate{progress bar in head/foot}{
- \nointerlineskip
+ \nointerlineskip%
\pgfmathsetlength{\moloch@progressinheadfoot}{%
\paperwidth * min(1,\insertframenumber/\inserttotalframenumber)%
- }
+ }%
\begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
- \tikzexternaldisable
+ \tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[bg]
(0,0)
rectangle
@@ -130,7 +150,7 @@
rectangle
(\moloch@progressinheadfoot, \moloch@progressinheadfoot@linewidth);
\end{tikzpicture}
- \tikzexternalenable
+ \tikzexternalenable%
\end{beamercolorbox}
}
\moloch@outer@setdefaults
diff --git a/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty b/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty
index ff2a2df3b70..4f47627e301 100644
--- a/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty
+++ b/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthememoloch}[2024-03-06 v0.3.0 Moloch Beamer theme] % x-release-please-version
+\ProvidesPackage{beamerthememoloch}[2024-07-09 v0.4.0 Moloch Beamer theme] % x-release-please-version
\RequirePackage{pgfopts}
\pgfkeys{/moloch/.cd,
.search also={
@@ -31,14 +31,50 @@
/moloch/font,
}
}
+\pgfkeys{
+ /moloch/titleformat plain/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@plaintitleformat\MakeLowercase%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allcaps/.code={%
+ \let\moloch@plaintitleformat\MakeUppercase%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+}
+\pgfkeys{
+ /moloch/titleformat/.code=\pgfkeysalso{
+ font/titleformat title=#1,
+ font/titleformat subtitle=#1,
+ font/titleformat section=#1,
+ font/titleformat frame=#1,
+ titleformat plain=#1,
+ }
+}
+\newcommand{\moloch@setdefaults}{
+ \pgfkeys{/moloch/.cd,
+ titleformat plain=regular,
+ }
+}
\providecommand{\tikzexternalenable}{}
\providecommand{\tikzexternaldisable}{}
+\providecommand{\mmzUnmemoizable}{}
\useinnertheme{moloch}
\useoutertheme{moloch}
\usecolortheme{moloch}
\usefonttheme{moloch}
\newcommand{\molochset}[1]{\pgfkeys{/moloch/.cd,#1}}
\newcommand{\mreducelistspacing}{\vspace{-\topsep}}
+\moloch@setdefaults
\ProcessPgfOptions{/moloch}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/moremath/moremath.sty b/Master/texmf-dist/tex/latex/moremath/moremath.sty
new file mode 100644
index 00000000000..43c704f51d5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moremath/moremath.sty
@@ -0,0 +1,1224 @@
+%%
+%% This is file `moremath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% moremath.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%%
+%% Copyright (C) 2024 Marcel Ilg
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status ‘maintained’.
+%%
+%% The Current Maintainer of this work is Marcel Ilg.
+%%
+%% This work consists of the files listed in MANIFEST.md.
+%%
+
+\NeedsTeXFormat{LaTeX2e}[2022-11-01]
+\ProvidesExplPackage{moremath}
+ {2024-07-15}{v0.4.0}{More Math Macros}
+\msg_new:nnn { moremath } {load / bm}
+{
+ Option~'bm'~given.\\
+ Loading~the~bm~package~\msg_line_context:.
+}
+\msg_new:nnn {moremath} { load / disabling }
+{
+ Option~'#1'~given.\\
+ Disabling~#2~\msg_line_context:.
+}
+\bool_new:N \l__moremath_predef_vector_op_bool
+\bool_new:N \l__moremath_predef_operators_bool
+\bool_new:N \l__moremath_predef_crvector_bool
+\bool_new:N \l__moremath_predef_matrix_bool
+\bool_new:N \l__moremath_predef_abs_bool
+\keys_define:nn { moremath / load }
+{
+ bm .code:n = {
+ \msg_info:nn {moremath} {load / bm}
+ \RequirePackage{bm}
+ },
+ bm .value_forbidden:n = true,
+ bm. usage:n = load,
+ no-vector .bool_set_inverse:N = \l__moremath_predef_vector_op_bool,
+ no-vector .default:n = true,
+ no-vector .initial:n = false,
+ no-vector .usage:n = load,
+ no-operators .bool_set_inverse:N = \l__moremath_predef_operators_bool,
+ no-operators .default:n = true,
+ no-operators .initial:n = false,
+ no-operators .usage:n = load,
+ no-abs-shorthands .bool_set_inverse:N = \l__moremath_predef_abs_bool,
+ no-abs-shorthands .default:n = true,
+ no-abs-shorthands .initial:n = false,
+ no-abs-shorthands .usage:n = load,
+ no-matrix .bool_set_inverse:N = \l__moremath_predef_matrix_bool,
+ no-matrix .initial:n = false,
+ no-matrix .default:n = true,
+ no-matrix .usage:n =load,
+ no-crvector .bool_set_inverse:N = \l__moremath_predef_crvector_bool,
+ no-crvector .default:n = true,
+ no-crvector .initial:n = false,
+ no-crvector .usage:n = load,
+ nopredef .multichoice:,
+ nopredef / operators .meta:nn = { moremath / load }
+ {
+ no-operators = true
+ },
+ nopredef / vector .meta:nn = { moremath / load }
+ {
+ no-vector = true
+ },
+ nopredef / abs .meta:nn = { moremath / load }
+ {
+ no-abs-shorthands = true,
+ },
+ noperdef / matrix .meta:nn = { moremath / load }
+ {
+ no-matrix = true,
+ },
+ nopredef / crvector .meta:nn = {moremath / load}
+ {
+ no-crvector = true,
+ },
+ nopredef / all .meta:nn = { moremath / load }
+ {
+ no-operators = true,
+ no-vector = true,
+ no-abs-shorthands = true
+ },
+ nopredef .usage:n = load,
+ unknown .code:n = {\PassOptionsToPackage{\CurrentOption}{mathtools}},
+ unknown .usage:n = load,
+}
+\tl_new:N \l__moremath_nabla_tl
+\bool_new:N \l__moremath_nabla_arrow_bool
+\bool_new:N \l__moremath_nabla_arrow_bold_bool
+\tl_new:N \l__moremath_grad_op_tl
+\tl_new:N \l__moremath_laplacian_symb_tl
+\bool_new:N \l__moremath_laplacian_delta_bool
+\bool_new:N \l__moremath_laplacian_arrow_bool
+\tl_new:N \l__moremath_laplacian_tl
+\tl_new:N \l__moremath_dalembert_symb_tl
+\bool_new:N \l__moremath_vcenter_bool
+\keys_define:nn { moremath }
+{
+ % Symbol to use for the nabla
+ nabla .tl_set:N = \l__moremath_nabla_tl,
+ nabla .initial:n = {\nabla},
+ nabla .value_required:n = true,
+ % shall the nabla have an arrow over it
+ arrownabla .bool_set:N = \l__moremath_nabla_arrow_bool,
+ arrownabla .default:n = {true},
+ arrownabla .initial:n = {false},
+ % shall the nabla be bold
+ boldnabla .bool_set:N = \l__moremath_nabla_bold_bool,
+ boldnabla .default:n = {true},
+ boldnabla .initial:n = {false},
+ % Symbol to use for the gradient operator
+ grad-op .tl_set:N = \l__moremath_grad_op_tl,
+ grad-op .value_required:n = true,
+ % Symbol to use for the laplacian
+ laplacian-symb .tl_set:N = \l__moremath_laplacian_symb_tl,
+ laplacian-symb .initial:n = {\l__moremath_nabla_tl},
+ % shall the Laplace operator be a delta
+ delta-laplace .bool_set:N = \l__moremath_laplacian_delta_bool,
+ delta-laplace .initial:n = {false},
+ % shall the laplace operator have an arrow over itself
+ arrowlaplace .bool_set:N = \l__moremath_laplacian_arrow_bool,
+ arrowlaplace .default:n = {true},
+ arrowlaplace .initial:n = {false},
+ % overwrite the laplace operator
+ laplacian .tl_set:N = \l__moremath_laplacian_tl,
+ laplacian .value_required:n = true,
+ dalembert-symb .tl_set:N = \l__moremath_dalembert_symb_tl,
+ dalembert-symb .initial:n = {\square},
+ vcenter .bool_set:N = \l__moremath_vcenter_bool,
+ vcenter .initial:n = true,
+ vcenter .value_required:n = true,
+}% \keys_define:nn
+\keys_define:nn { moremath / matrix }
+{
+ delimiter .tl_set:N = \l__moremath_matrix_delim_tl,
+ delimiter .initial:n = {},
+ fill .tl_set:N = \l__moremath_matrix_fill_tl,
+ fill .initial:n = {},
+ align .tl_set:N = \l__moremath_matrix_align_tl,
+ align .initial:n = {c},
+ align .value_required:n = true,
+}
+\cs_new_protected:Nn \moremath_setup:n
+{
+ \keys_set:nn {moremath} {#1}
+}
+\NewDocumentCommand \moremathsetup {m}
+{
+ \moremath_setup:n {#1}
+}
+\cs_new_protected:Nn \__moremath_load_time_setup:
+{
+ \ProcessKeyOptions[ moremath / load ]
+}
+\__moremath_load_time_setup:
+\msg_new:nnn { moremath } { load / loading-amssymb }
+{
+ Vector~calculus~commands~enabled.\\
+ Loading~amssymb~package~\msg_line_context:.
+}
+\bool_if:NT \l__moremath_predef_vector_op_bool
+{
+ \msg_info:nn { moremath } { load / loading-amssymb }
+ \RequirePackage{amssymb}
+}
+\RequirePackage{mathtools}[2004/06/05]
+\cs_new_protected_nopar:Nn \moremath_vcenter:n
+{
+ \mathpalette \__moremath_vcenter:Nn {#1}
+}
+\cs_new_protected_nopar:Nn \__moremath_vcenter:Nn
+{
+ \vcenter
+ {
+ \hbox:n
+ {
+ $
+ \mathsurround=0pt
+ #1 {#2}
+ $
+ }
+ }
+}
+\msg_new:nnn { moremath } { csname-already-defined }
+{
+ Control~sequence~' #1 '~is~already~ defined.\\
+ Skipping~definition~\msg_line_context:
+}
+\msg_new:nnnn { moremath } { vcenter / only-in-math-mode }
+{
+ Command~#1~used~outside~math~mode~\msg_line_context:.
+}
+{
+ The~command~#1~may~only~be~used~inside~math~mode.
+}
+\cs_if_free:NTF \VCenterMath
+{
+ \NewDocumentCommand \VCenterMath { m }
+ {
+ \mode_if_math:TF
+ {
+ \moremath_vcenter:n {#1}
+ }{% \mode_if_math:TF FALSE BRANCH
+ \msg_error:nnn { moremath } { vcenter / only-in-math-mode } {\VCenterMath}
+ }
+ }
+}{% \cs_if_free:NTF \VCenterMath FALSE BRANCH
+ \msg_warning:nnn { moremath } { csname-already-defined } {\VCenterMath}
+}
+\DeclarePairedDelimiter{\__moremath_inparent:w}{\lparen}{\rparen}
+\DeclarePairedDelimiter{\__moremath_inbrack:w}{\lbrack}{\rbrack}
+\DeclarePairedDelimiter{\__moremath_inbrace:w}{\lbrace}{\rbrace}
+\DeclarePairedDelimiter{\__moremath_in_vert:w}{\lvert}{\rvert}
+\DeclarePairedDelimiter{\__moremath_in_Vert:w}{\lVert}{\rVert}
+\cs_new_protected:Nn \__moremath_operator:Nnn
+{
+ #1
+ % add superscript if present
+ \tl_if_empty:nF {#2} {^{#2}}
+ % add subscript if present
+ \tl_if_empty:nF {#3} { \c_math_subscript_token {#3} }
+}
+\cs_new_protected_nopar:Nn \moremath_delim_op_noscale:NNnnn
+{
+ \__moremath_operator:Nnn #1 {#3} {#4}
+ % #2 is the paired delimiter
+ #2 {#5}
+}
+
+\cs_new_protected_nopar:Nn \moremath_delim_op_autoscale:NNnnn
+{
+ \__moremath_operator:Nnn #1 {#3} {#4}
+ % #2 is the paired delimiter
+ #2 * {#5}
+}
+\cs_new_protected_nopar:Nn \moremath_delim_op_manuscale:NNnnnn
+{
+ \__moremath_operator:Nnn #1 {#4} {#5}
+ % #2 is the paired delimiter
+ #2 [ #3 ] {#6}
+}
+\cs_generate_variant:Nn \moremath_delim_op_manuscale:NNnnnn {NNVnnn}
+\msg_new:nnn { moremath } { delimop / already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~of~delimited~operator~'#1'~\msg_line_context:.
+}
+\msg_new:nnn { moremath } { delimop / auto-manu-scale-conflict }
+{
+ Both~star~and~scale~cmd~given~to~'#1'.\\
+ Automatic~scaling~will~be~preferred,~the~size~command~will~be~
+ ignored~\msg_line_context:.
+}
+\cs_new_protected:Nn \moremath_new_delim_op_command:NNN
+{
+ \cs_if_free:NTF #1
+ {
+ \exp_args:NNe \NewDocumentCommand #1
+ { s o E{ ^ \char_generate:nn {`_} {8} }{{}{}} m }
+ {
+ \tl_if_novalue:nTF {##2}
+ {
+ % second argument empty
+ \bool_if:nTF {##1}
+ {
+ % star given
+ \moremath_delim_op_autoscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }{
+ % star not given
+ \moremath_delim_op_noscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }
+ }{
+ % second argument present
+ % star given?
+ \bool_if:nTF {##1}
+ {
+ % Warn if both star and scaling factor are present
+ \msg_warning:nnn { moremath } { delimop / auto-manu-scale-conflict }
+ {#1}
+ \moremath_delim_op_autoscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }{ % FALSE BRANCH
+ \moremath_delim_op_manuscale:NNnnnn #2 #3 {##2} {##3} {##4} {##5}
+ }
+ }
+ }
+ }{ % \cs_if_free:nTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { delimop / already-defined-skip }
+ {#1}
+ }
+}
+
+\cs_generate_variant:Nn \moremath_new_delim_op_command:NNN {cNN}
+\NewDocumentCommand\DeclareDelimitedOperator { m m m }
+{
+ \msg_redirect_name:nnn { moremath } { delimop / already-defined-skip } { error }
+ \moremath_new_delim_op_command:NNN #1 #2 #3
+ \msg_redirect_name:nnn { moremath } { delimop / already-defined-skip } {}
+}
+\cs_new_protected:Nn \__moremath_new_delim_op_cmds:nN
+{
+ \moremath_new_delim_op_command:cNN {p #1} #2 \__moremath_inparent:w
+ \moremath_new_delim_op_command:cNN {b #1} #2 \__moremath_inbrack:w
+ \moremath_new_delim_op_command:cNN {B #1} #2 \__moremath_inbrace:w
+ \moremath_new_delim_op_command:cNN {v #1} #2 \__moremath_in_vert:w
+ \moremath_new_delim_op_command:cNN {V #1} #2 \__moremath_in_Vert:w
+}
+\bool_if:NTF \l__moremath_predef_operators_bool
+{
+\__moremath_new_delim_op_cmds:nN {arccos} \arccos
+\__moremath_new_delim_op_cmds:nN {arcsin} \arcsin
+\__moremath_new_delim_op_cmds:nN {arctan} \arctan
+\__moremath_new_delim_op_cmds:nN {arg} \arg
+\__moremath_new_delim_op_cmds:nN {cos} \cos
+\__moremath_new_delim_op_cmds:nN {cosh} \cosh
+\__moremath_new_delim_op_cmds:nN {cot} \cot
+\__moremath_new_delim_op_cmds:nN {coth} \coth
+\__moremath_new_delim_op_cmds:nN {csc} \csc
+\__moremath_new_delim_op_cmds:nN {deg} \deg
+\__moremath_new_delim_op_cmds:nN {det} \det
+\__moremath_new_delim_op_cmds:nN {dim} \dim
+\__moremath_new_delim_op_cmds:nN {exp} \exp
+\__moremath_new_delim_op_cmds:nN {gcd} \gcd
+\__moremath_new_delim_op_cmds:nN {hom} \hom
+\__moremath_new_delim_op_cmds:nN {inf} \inf
+\__moremath_new_delim_op_cmds:nN {injlim} \injlim
+\__moremath_new_delim_op_cmds:nN {ker} \ker
+\__moremath_new_delim_op_cmds:nN {lg} \lg
+\__moremath_new_delim_op_cmds:nN {lim} \lim
+\__moremath_new_delim_op_cmds:nN {liminf} \liminf
+\__moremath_new_delim_op_cmds:nN {limsup} \limsup
+\__moremath_new_delim_op_cmds:nN {ln} \ln
+\__moremath_new_delim_op_cmds:nN {log} \log
+\__moremath_new_delim_op_cmds:nN {max} \max
+\__moremath_new_delim_op_cmds:nN {min} \min
+\__moremath_new_delim_op_cmds:nN {Pr} \Pr
+\__moremath_new_delim_op_cmds:nN {projlim} \projlim
+\__moremath_new_delim_op_cmds:nN {sec} \sec
+\__moremath_new_delim_op_cmds:nN {sin} \sin
+\__moremath_new_delim_op_cmds:nN {sinh} \sinh
+\__moremath_new_delim_op_cmds:nN {sup} \sup
+\__moremath_new_delim_op_cmds:nN {tan} \tan
+\__moremath_new_delim_op_cmds:nN {tanh} \tanh
+\__moremath_new_delim_op_cmds:nN {varinjlim} \varinjlim
+\__moremath_new_delim_op_cmds:nN {varprojlim} \varprojlim
+\__moremath_new_delim_op_cmds:nN {varliminf} \varliminf
+\__moremath_new_delim_op_cmds:nN {varlimsup} \varlimsup
+}{
+ \msg_info:nnnn {moremath} {load /disabling} {no-operators}
+ {
+ predefined~delimited~operator~macros
+ }
+} % End of the conditional
+\cs_new_protected_nopar:Nn \__moremath_maybe_vcenter:n
+{
+ \bool_if:NTF \l__moremath_vcenter_bool
+ {
+ \moremath_vcenter:n {#1}
+ }{
+ #1
+ }
+}
+\cs_new_protected:Nn \__moremath_gradient_operator_get:
+{
+ \tl_if_empty:NTF \l__moremath_grad_op_tl
+ {
+ \mathop
+ {
+ \bool_if:NTF \l__moremath_nabla_arrow_bool
+ {
+ \vec
+ {
+ \__moremath_maybe_vcenter:n
+ {
+ \bool_if:NT \l__moremath_nabla_bold_bool
+ {
+ \boldsymbol
+ }
+ \l__moremath_nabla_tl
+ }
+ }
+ }{
+ \bool_if:NTF \l__moremath_nabla_bold_bool
+ {
+ \__moremath_maybe_vcenter:n
+ {
+ \boldsymbol
+ \l__moremath_nabla_tl
+ }
+ }{
+ \l__moremath_nabla_tl
+ }
+ }
+ }% \mathop
+ \nolimits
+ }{
+ \l__moremath_grad_op_tl
+ }
+}
+\cs_new_protected:Nn \__moremath_laplace_operator_get:
+{
+ \tl_if_empty:NTF \l__moremath_laplacian_tl
+ {
+ \mathop
+ {
+ \bool_if:NTF \l__moremath_laplacian_delta_bool
+ {
+ \Delta
+ }{
+ \bool_if:NTF \l__moremath_laplacian_arrow_bool
+ {
+ \vec{
+ \__moremath_maybe_vcenter:n
+ {
+ \bool_if:NT \l__moremath_nabla_bold_bool {\boldsymbol}
+ \l__moremath_laplacian_symb_tl
+ }
+ }
+ }{
+ \bool_if:NTF \l__moremath_nabla_bold_bool
+ {
+ \__moremath_maybe_vcenter:n
+ {
+ \boldsymbol
+ \l__moremath_laplacian_symb_tl
+ }
+ }{
+ \l__moremath_laplacian_symb_tl
+ }
+ }
+ }
+ }\nolimits
+ \bool_if:NF \l__moremath_laplacian_delta_bool
+ {
+ \c_math_superscript_token
+ {
+ 2
+ }
+ }
+ }{
+ \l__moremath_laplacian_tl
+ }
+}
+\cs_new_protected:Nn \__moremath_dalembert_operator_get:
+{
+ \mathop
+ {
+ \l__moremath_dalembert_symb_tl
+ }% \mathop
+ \nolimits
+}
+\cs_new_protected_nopar:Nn \moremath_gradient_operator:n
+{
+ \__moremath_gradient_operator_get:
+ \tl_if_empty:nF {#1} {\c_math_subscript_token {#1}}
+}
+\cs_new_protected_nopar:Nn \moremath_laplace_operator:n
+{
+ \__moremath_laplace_operator_get:
+ \tl_if_empty:nF {#1} {\c_math_subscript_token {#1}}
+}
+\cs_new_protected_nopar:Nn \moremath_divergence_operator:n
+{
+ {
+ \moremath_gradient_operator:n {#1}
+ }
+ \cdot
+}
+
+\cs_new_protected_nopar:Nn \moremath_curl_operator:n
+{
+ {
+ \moremath_gradient_operator:n {#1}
+ }
+ \times
+}
+\cs_new_protected:Nn \moremath_dalembert_operator:n
+{
+ \__moremath_dalembert_operator_get:
+ \tl_if_empty:nF {#1}
+ {
+ \c_math_subscript_token {#1}
+ }
+}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_noscale:NNnn
+{
+ #1 {#3} #2{#4}
+}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_autoscale:NNnn
+{
+ #1 {#3} #2 * {#4}
+}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_manuscale:NNnnn
+{
+ #1 {#4} #2 [#3] {#5}
+}
+\cs_generate_variant:Nn \moremath_delim_nabla_op_manuscale:NNnnn {NNVnn}
+\cs_new_protected:Nn \__moremath_parse_kv_args:nN
+{
+ \prop_set_from_keyval:Nn \l_tmpa_prop {#1}
+
+ \prop_pop:NnNT \l_tmpa_prop {scale} #2 {}
+
+ \keys_set:ne {moremath} {\prop_to_keyval:N \l_tmpa_prop}
+}
+\msg_new:nnn { moremath } { vector-calc / scale-star-conflict }
+{
+ Both~star~and~scaling~factor~given~to~'#1'.\\
+ Automatic~scaling~will~be~preferred,~the~size~command~'#2'~will~be~
+ ignored~\msg_line_context:.
+}
+\cs_new_protected:Nn \__moremath_new_delim_nabla_doc_cmd:NNN
+{
+ \cs_if_free:NTF #1
+ {
+ \exp_args:NNe \NewDocumentCommand #1
+ {
+ s ={scale} o E{ \char_generate:nn {`_}{8} }{ {} } m
+ }
+ { % command code
+ \group_begin:
+ % optional arguments given?
+ \tl_if_novalue:nF {##2}
+ {
+ \__moremath_parse_kv_args:nN {##2} \l_tmpa_tl
+ }
+ % star given?
+ \bool_if:nTF {##1}
+ {
+ % scale factor given?
+ \tl_if_empty:NF \l_tmpa_tl
+ {
+ \msg_warning:nnnV { moremath } { vector-calc / scale-star-conflict }
+ {#1} \l_tmpa_tl
+ }
+ \moremath_delim_nabla_op_autoscale:NNnn #2 #3 {##3} {##4}
+ }{ % \bool_if:nTF {##1} FALSE BRANCH
+ % scale factor given?
+ \tl_if_empty:NTF \l_tmpa_tl
+ {
+ \moremath_delim_nabla_op_noscale:NNnn #2 #3 {##3} {##4}
+ }{ % FALSE BRANCH
+ \moremath_delim_nabla_op_manuscale:NNVnn #2 #3 \l_tmpa_tl {##3} {##4}
+ }
+ } % \bool_if:nTF {##1}
+ \group_end:
+ }
+ }{ % \cs_if_free:NTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { vector-calc / already-defined-skip } {#1}
+ } % \cs_if_free:NTF #1
+}
+\cs_generate_variant:Nn \__moremath_new_delim_nabla_doc_cmd:NNN {cNN}
+\cs_new_protected:Nn \__moremath_new_nabla_doc_cmds:nN
+{
+ \__moremath_new_delim_nabla_doc_cmd:cNN { p #1 } #2 \__moremath_inparent:w
+ \__moremath_new_delim_nabla_doc_cmd:cNN { b #1 } #2 \__moremath_inbrack:w
+ \__moremath_new_delim_nabla_doc_cmd:cNN { B #1 } #2 \__moremath_inbrace:w
+ \__moremath_new_delim_nabla_doc_cmd:cNN { v #1 } #2 \__moremath_in_vert:w
+ \__moremath_new_delim_nabla_doc_cmd:cNN { V #1 } #2 \__moremath_in_Vert:w
+}
+\bool_if:NTF \l__moremath_predef_vector_op_bool
+{
+\msg_new:nnn { moremath } { vector-calc / already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~\msg_line_context:.
+}
+\cs_if_free:NTF \grad
+{
+ \exp_args:NNe \NewDocumentCommand \grad { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_gradient_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip } {\grad}
+}
+
+\cs_if_free:NTF \divergence
+{
+ \exp_args:NNe \NewDocumentCommand \divergence
+ { !o E{ \char_generate:nn {`_} {8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_divergence_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip } {\divergence}
+}
+
+\cs_if_free:NTF \curl
+{
+ \exp_args:NNe \NewDocumentCommand \curl
+ { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_curl_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} {vector-calc / already-defined-skip} {\curl}
+}
+
+\cs_if_free:NTF \laplacian
+{
+ \exp_args:NNe \NewDocumentCommand \laplacian
+ { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_laplace_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip }
+ {\laplacian}
+}
+\cs_if_free:NTF \quabla
+{
+ \exp_args:NNe \NewDocumentCommand \quabla
+ { !o E{ \char_generate:nn {`_} { 8 } }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath } {#1}
+ }
+ \moremath_dalembert_operator:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \quabla FALSE BRANCH
+ \msg_warning:nnn { moremath } { vector-calc / already-defined-skip }
+ {\quabla}
+}
+\__moremath_new_nabla_doc_cmds:nN {grad} \moremath_gradient_operator:n
+\__moremath_new_nabla_doc_cmds:nN {div} \moremath_divergence_operator:n
+\__moremath_new_nabla_doc_cmds:nN {curl} \moremath_curl_operator:n
+\__moremath_new_nabla_doc_cmds:nN {laplacian} \moremath_laplace_operator:n
+\__moremath_new_nabla_doc_cmds:nN {quabla} \moremath_dalembert_operator:n
+}{ % IF NOT \l__moremath_predef_vector_op_bool
+ \msg_info:nnnn {moremath} { load /disabling } {no-vector}
+ {
+ predefined~vector~calculus~macros
+ }
+} % END \l__moremath_predef_vector_op_bool
+\seq_new:N \l__moremath_vector_entries_seq
+\cs_new_protected_nopar:Nn \__moremath_seq_to_column_vector:N
+{
+ \seq_use:Nn #1 {\\}
+}
+\cs_new_protected_nopar:Nn \__moremath_seq_to_row_vector:N
+{
+ \seq_use:Nn #1 {&}
+}
+\cs_new_protected_nopar:Nn \moremath_column_vector:nn
+{
+ \seq_clear:N \l__moremath_vector_entries_seq
+ \seq_set_from_clist:Nn \l__moremath_vector_entries_seq {#2}
+
+ \exp_args:NnNV \begin{#1 matrix*} [ \l__moremath_matrix_align_tl ]
+ \__moremath_seq_to_column_vector:N \l__moremath_vector_entries_seq
+ \end{#1 matrix*}
+}
+
+\cs_new_protected_nopar:Nn \moremath_row_vector:nn
+{
+ \seq_clear:N \l__moremath_vector_entries_seq
+ \seq_set_from_clist:Nn \l__moremath_vector_entries_seq {#2}
+
+ \exp_args:NnNV \begin{#1matrix*} [ \l__moremath_matrix_align_tl ]
+ \__moremath_seq_to_row_vector:N \l__moremath_vector_entries_seq
+ \end{#1matrix*}
+}
+\cs_new_protected_nopar:Nn \moremath_column_smallvector:nn
+{
+ \moremath_column_vector:nn {#1 small} {#2}
+}
+
+\cs_new_protected_nopar:Nn \moremath_row_smallvector:nn
+{
+ \moremath_row_vector:nn {#1 small} {#2}
+}
+\seq_clear_new:N \l__moremath_mat_diag_entries_seq
+\seq_clear_new:N \l__moremath_mat_row_entries_seq
+\cs_new_protected:Nn \__moremath_constr_diagmat_row:n
+{
+ \seq_clear:N \l__moremath_mat_row_entries_seq
+ \int_step_inline:nn {\seq_count:N \l__moremath_mat_diag_entries_seq}
+ {
+ \int_compare:nTF { #1 == ##1 }
+ {
+ \seq_put_right:Nx \l__moremath_mat_row_entries_seq
+ {
+ \seq_item:Nn \l__moremath_mat_diag_entries_seq { #1 }
+ }
+ }{ % false branch
+ \seq_put_right:NV \l__moremath_mat_row_entries_seq \l__moremath_matrix_fill_tl
+ } % \int_compare:nTF { #1 == ##1 }
+ }
+ \seq_use:Nn \l__moremath_mat_row_entries_seq { & } \\
+}
+
+\cs_new_protected:Nn \__moremath_constr_antidiagmat_row:n
+{
+ \seq_clear:N \l__moremath_mat_row_entries_seq
+ \int_step_inline:nn {\seq_count:N \l__moremath_mat_diag_entries_seq}
+ {
+ \int_compare:nTF { #1 == ##1 }
+ {
+ % as this is a anti diagonal matrix we put in the elements from the
+ % left so that the first entry is the right most entry
+ \seq_put_left:Nx \l__moremath_mat_row_entries_seq
+ {
+ \seq_item:Nn \l__moremath_mat_diag_entries_seq { #1 }
+ }
+ }{ % false branch
+ \seq_put_left:NV \l__moremath_mat_row_entries_seq \l__moremath_matrix_fill_tl
+ } % \int_compare:nTF { #1 == ##1 }
+ }
+ \seq_use:Nn \l__moremath_mat_row_entries_seq { & } \\
+}
+\cs_new_protected:Nn \moremath_diagonal_matrix:nn
+{
+ \seq_set_from_clist:Nn \l__moremath_mat_diag_entries_seq { #2 }
+ \exp_args:NnNV \begin{#1 matrix*} [ \l__moremath_matrix_align_tl ]
+ \int_step_function:nN { \seq_count:N \l__moremath_mat_diag_entries_seq }
+ \__moremath_constr_diagmat_row:n
+ \end{#1 matrix*}
+}
+
+\cs_new_protected:Nn \moremath_antidiagonal_matrix:nn
+{
+ \seq_set_from_clist:Nn \l__moremath_mat_diag_entries_seq { #2 }
+ \exp_args:NnNV \begin{ #1 matrix* } [ \l__moremath_matrix_align_tl ]
+ \int_step_function:nN { \seq_count:N \l__moremath_mat_diag_entries_seq }
+ \__moremath_constr_antidiagmat_row:n
+ \end{ #1 matrix* }
+}
+
+\cs_new_protected:Nn \moremath_diagonal_smallmatrix:nn
+{
+ \moremath_diagonal_matrix:nn {#1 small} {#2}
+}
+
+\cs_new_protected:Nn \moremath_antidiagonal_smallmatrix:nn
+{
+ \moremath_antidiagonal_matrix:nn {#1 small} {#2}
+}
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { n V }
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { V n }
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { V V }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { n V }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { V n }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { V V }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { n V }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { V n }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { V V }
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { n V }
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { V n }
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { V V }
+\cs_new_protected_nopar:Nn \__moremath_generate_one_filled_clist:Nn
+{
+ \seq_clear:N \l_tmpa_seq
+ \int_step_inline:nn {#2}
+ {
+ \seq_put_right:NV \l_tmpa_seq \c_one_int
+ }
+ \clist_set_from_seq:NN #1 \l_tmpa_seq
+}
+\cs_generate_variant:Nn \__moremath_generate_one_filled_clist:Nn { N V }
+\clist_new:N \l__moremath_id_entries_clist
+\cs_new_protected_nopar:Nn \moremath_id_matrix:n
+{
+ \clist_clear:N \l__moremath_id_entries_clist
+ \__moremath_generate_one_filled_clist:Nn \l__moremath_id_entries_clist {#1}
+ \moremath_diagonal_matrix:VV \l__moremath_matrix_delim_tl \l__moremath_id_entries_clist
+}
+\cs_new_protected_nopar:Nn \moremath_id_smallmatrix:n
+{
+ \clist_clear:N \l__moremath_id_entries_clist
+ \__moremath_generate_one_filled_clist:Nn \l__moremath_id_entries_clist {#1}
+ \moremath_diagonal_smallmatrix:VV \l__moremath_matrix_delim_tl \l__moremath_id_entries_clist
+}
+\cs_generate_variant:Nn \moremath_id_matrix:n { V }
+\cs_generate_variant:Nn \moremath_id_smallmatrix:n { V }
+\msg_new:nnnn { moremath } { matrix / already-defined-doc-cmd-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~\msg_line_context:.
+}
+{
+ The~control~sequence~'#1'~has~already\\
+ been~defined~by~some~other~package.\\
+ And~I~am~refusing~to~overwrite~the~existing~definition,\\
+ therefore~I~am~skipping~the~definition~of~this~command.
+}
+\bool_if:nTF \l__moremath_predef_crvector_bool
+{
+\cs_if_free:NTF \cvector
+{
+ \NewDocumentCommand \cvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_column_vector:nn {\l__moremath_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % issue a warning message if the csname is already taken.
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \cvector
+ }
+} % \cs_if_free:NTF \cvector
+\cs_if_free:NTF \rvector
+{
+ \NewDocumentCommand \rvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_row_vector:nn {\l__moremath_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % warn if csname is already taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip}
+ {
+ \rvector
+ }
+} % \cs_if_free:NTF \rvector
+\cs_if_free:NTF \smallcvector
+{
+ \NewDocumentCommand \smallcvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath / matrix} {#1}
+ }
+ \moremath_column_smallvector:nn {\l__moremath_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % Issue a warning message if the csname is already taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallcvector
+ }
+} % \cs_if_free:NTF \smallcvector
+
+\cs_if_free:NTF \smallrvector
+{
+ \NewDocumentCommand \smallrvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_row_smallvector:nn {\l__moremath_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % warn if csname is taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallrvector
+ }
+}
+\cs_new_protected:Nn \__moremath_new_vector_shorth_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ % set the delimiter key pre-set for this function
+ \keys_set:nn {moremath / matrix } {delimiter = #3}
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn {moremath / matrix } {##1}
+ }
+ #2 {\l__moremath_matrix_delim_tl} {##2}
+ \group_end:
+ }
+ }{
+ % warn if csname is taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ #1
+ }
+ }
+}
+\__moremath_new_vector_shorth_doc_cmd:NNn \pcvector \moremath_column_vector:nn {p}
+\__moremath_new_vector_shorth_doc_cmd:NNn \bcvector \moremath_column_vector:nn {b}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Bcvector \moremath_column_vector:nn {B}
+\__moremath_new_vector_shorth_doc_cmd:NNn \vcvector \moremath_column_vector:nn {v}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Vcvector \moremath_column_vector:nn {V}
+\__moremath_new_vector_shorth_doc_cmd:NNn \prvector \moremath_row_vector:nn {p}
+\__moremath_new_vector_shorth_doc_cmd:NNn \brvector \moremath_row_vector:nn {b}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Brvector \moremath_row_vector:nn {B}
+\__moremath_new_vector_shorth_doc_cmd:NNn \vrvector \moremath_row_vector:nn {v}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Vrvector \moremath_row_vector:nn {V}
+\__moremath_new_vector_shorth_doc_cmd:NNn \psmallcvector \moremath_column_smallvector:nn
+ {p}
+\__moremath_new_vector_shorth_doc_cmd:NNn \bsmallcvector \moremath_column_smallvector:nn
+ {b}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Bsmallcvector \moremath_column_smallvector:nn
+ {B}
+\__moremath_new_vector_shorth_doc_cmd:NNn \vsmallcvector \moremath_column_smallvector:nn
+ {v}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Vsmallcvector \moremath_column_smallvector:nn
+ {V}
+\__moremath_new_vector_shorth_doc_cmd:NNn \psmallrvector \moremath_row_smallvector:nn {p}
+\__moremath_new_vector_shorth_doc_cmd:NNn \bsmallrvector \moremath_row_smallvector:nn {b}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Bsmallrvector \moremath_row_smallvector:nn {B}
+\__moremath_new_vector_shorth_doc_cmd:NNn \vsmallrvector \moremath_row_smallvector:nn {v}
+\__moremath_new_vector_shorth_doc_cmd:NNn \Vsmallrvector \moremath_row_smallvector:nn {V}
+
+}{ % \bool_if:nTF \l__moremath_predef_crvector_bool FALSE PATH
+ \msg_info:nnnn {moremath} {load / disabling} {no-crvector}
+ {
+ commands~producing~row~and~column~vectors
+ }
+} % \bool_if:nTF \l__moremath_predef_crvector_bool
+\bool_if:nTF \l__moremath_predef_matrix_bool
+{
+\cs_if_free:NTF \diagmat
+{
+ \NewDocumentCommand \diagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_diagonal_matrix:Vn \l__moremath_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} {matrix / already-defined-doc-cmd-skip}
+ {
+ \diagmat
+ }
+} % \cs_if_free:nTF \diagmat
+
+\cs_if_free:NTF \antidiagmat
+{
+ \NewDocumentCommand \antidiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_antidiagonal_matrix:Vn \l__moremath_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \antidiagmat
+ }
+} % \cs_if_free:nTF \antidiagmat
+
+\cs_if_free:NTF \smalldiagmat
+{
+ \NewDocumentCommand \smalldiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_diagonal_smallmatrix:Vn \l__moremath_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smalldiagmat
+ }
+}
+
+\cs_if_free:NTF \smallantidiagmat
+{
+ \NewDocumentCommand \smallantidiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_antidiagonal_smallmatrix:Vn \l__moremath_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallantidiagmat
+ }
+}
+\cs_new_protected:Nn \__moremath_new_matrix_shorth_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#3}
+ {
+ \keys_set:nn { moremath / matrix }
+ {
+ delimiter = #3
+ }
+ } % \tl_if_empty:nF {#3}
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn { moremath / matrix } {##1}
+ }
+ #2 \l__moremath_matrix_delim_tl {##2}
+ \group_end:
+ }
+ }{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ #1
+ }
+ }
+}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \pdiagmat \moremath_diagonal_matrix:Vn {p}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \bdiagmat \moremath_diagonal_matrix:Vn {b}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Bdiagmat \moremath_diagonal_matrix:Vn {B}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \vdiagmat \moremath_diagonal_matrix:Vn {v}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Vdiagmat \moremath_diagonal_matrix:Vn {V}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \pantidiagmat
+ \moremath_antidiagonal_matrix:Vn {p}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \bantidiagmat
+ \moremath_antidiagonal_matrix:Vn {b}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Bantidiagmat
+ \moremath_antidiagonal_matrix:Vn {B}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \vantidiagmat
+ \moremath_antidiagonal_matrix:Vn {v}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Vantidiagmat
+ \moremath_antidiagonal_matrix:Vn {V}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \psmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {p}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \bsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {b}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Bsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {B}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \vsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {v}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Vsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {V}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \psmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {p}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \bsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {b}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Bsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {B}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \vsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {v}
+\__moremath_new_matrix_shorth_doc_cmd:NNn \Vsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {V}
+\cs_if_free:NTF \idmat
+{
+ \NewDocumentCommand \idmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_id_matrix:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \idmat FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {\idmat}
+}
+\cs_if_free:NTF \smallidmat
+{
+ \NewDocumentCommand \smallidmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_id_smallmatrix:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \smallidmat FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {\smallidmat}
+}
+\cs_new_protected:Nn \__moremath_new_id_matrix_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#3}
+ {
+ \keys_set:nn { moremath / matrix } {#3}
+ }
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn { moremath / matrix } {##1}
+ }
+ #2 {##2}
+ \group_end:
+ }
+ }{ % \cs_if_free:NTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {#1}
+ }
+}
+\__moremath_new_id_matrix_doc_cmd:NNn \pidmat \moremath_id_matrix:n { delimiter = p }
+\__moremath_new_id_matrix_doc_cmd:NNn \bidmat \moremath_id_matrix:n { delimiter = b }
+\__moremath_new_id_matrix_doc_cmd:NNn \Bidmat \moremath_id_matrix:n { delimiter = B }
+\__moremath_new_id_matrix_doc_cmd:NNn \vidmat \moremath_id_matrix:n { delimiter = v }
+\__moremath_new_id_matrix_doc_cmd:NNn \Vidmat \moremath_id_matrix:n { delimiter = V }
+\__moremath_new_id_matrix_doc_cmd:NNn \psmallidmat \moremath_id_smallmatrix:n
+ { delimiter = p }
+\__moremath_new_id_matrix_doc_cmd:NNn \bsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = b }
+\__moremath_new_id_matrix_doc_cmd:NNn \Bsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = B }
+\__moremath_new_id_matrix_doc_cmd:NNn \vsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = v }
+\__moremath_new_id_matrix_doc_cmd:NNn \Vsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = V }
+}{ % \bool_if:nTF \l__moremath_predef_matrix_bool FALSE BRANCH
+ \msg_info:nnnn {moremath} { load / disabling } { no-matrix }
+ {
+ (anti-)diagonal~matrix~commands
+ }
+} % \bool_if:nTF \l__moremath_predef_matrix_bool
+\msg_new:nnnn { moremath } { abs-shorth / csname-already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~declaration~of~paired~delimiter~\msg_line_context:.\\
+ Use~package~option~'no-abs-shorthands'~to~disable~the~paired\\
+ delimiter~shorthands.
+}{
+ The~control~sequence~'#1'~has~already~been\\
+ defined~by~something~else.\\
+ I~am~refusing~to~overwrite~its~existing~definition~and~instead~avoid\\
+ declaring~a~paired~delimiter.\\
+}
+\bool_if:NTF \l__moremath_predef_abs_bool
+{
+\cs_if_free:NTF \abs
+{
+ \DeclarePairedDelimiter \abs {\lvert} {\rvert}
+}{
+ % warn if the csname is taken
+ \msg_warning:nnn { moremath } { abs-shorth / csname-already-defined-skip }
+ {\abs}
+} % \cs_if_free:NTF \abs
+
+\cs_if_free:NTF \norm
+{
+ \DeclarePairedDelimiter \norm {\lVert} {\rVert}
+}{
+ % warn if csname is already taken
+ \msg_warning:nnn { moremath } { abs-shorth / csname-already-defined-skip }
+ {\norm}
+} % \cs_if_free:NTF
+}{
+ \msg_info:nnnn {moremath} {load / disabling} {no-abs-shorthands}
+ {
+ '\abs'~and~'\norm'~macros
+ }
+} % End of the conditional
+\endinput
+%%
+%% End of file `moremath.sty'.
diff --git a/Master/texmf-dist/tex/latex/ms/multitoc.sty b/Master/texmf-dist/tex/latex/ms/multitoc.sty
deleted file mode 100644
index 052c7e38948..00000000000
--- a/Master/texmf-dist/tex/latex/ms/multitoc.sty
+++ /dev/null
@@ -1,123 +0,0 @@
-%%
-%% This is file `multitoc.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% multitoc.dtx (with options: `package')
-%%
-%% Copyright (c) [1998..1999] by Martin Schr"oder. All rights reserved.
-%%
-%% This file is part of the MultiToc package
-%%
-%% This program may be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License, either version 1.0 of this
-%% license, or (at your option) any later version.
-%% The latest version of this license is in
-%% CTAN:macros/latex/base/lppl.txt.
-%%
-%% Happy users are requested to send me a postcard. :-)
-%%
-%% The MultiToc package contains these files:
-%%
-%% multitoc.asc
-%% multitoc.dtx
-%% multitoc.dvi
-%% multitoc.ins
-%% multitoc.bug
-%%
-%% Error Reports in case of UNCHANGED versions to
-%%
-%% Martin Schr"oder
-%% Cr"usemannallee 3
-%% D-28213 Bremen
-%% Martin.Schroeder@ACM.org
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{multitoc}
- [1999/06/08 v2.01 MultiToc Package (MS)]
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-style-file{
-%% author = {Martin Schr\"oder},
-%% version = "2.01",
-%% date = "8 June 1999",
-%% filename = "multitoc.sty",
-%% address = {Martin Schr\"oder
-%% Cr\"usemannallee 3
-%% D-28213 Bremen
-%% telephone = "+49-421-2239425",
-%% email = "Martin.Schroeder@ACM.org",
-%% pgp-Key = "2048 bit / KeyID 292814E5",
-%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E",
-%% docstring = "LaTeX package which automatically sets only
-%% the table of contents, list of figures and list
-%% of tables in two or more columns.
-%% The number of columns can be configured.
-%% Uses the multicol package.
-%% }
-%% ===================================================================
-%% \fi
-\RequirePackage{multicol}
-\RequirePackage{ifthen}
-\newcommand{\multicolumntoc}{2}
-\newcommand{\multicolumnlot}{2}
-\newcommand{\multicolumnlof}{2}
-\newboolean{@multitoc@toc}
-\newboolean{@multitoc@lot}
-\newboolean{@multitoc@lof}
-\DeclareOption{toc}{\setboolean{@multitoc@toc}{true}}
-\DeclareOption{lot}{\setboolean{@multitoc@lot}{true}}
-\DeclareOption{lof}{\setboolean{@multitoc@lof}{true}}
-\ProcessOptions\relax
-\let\@multitoc@starttoc\@starttoc
-\renewcommand*{\@starttoc}[1]{%
- \ifthenelse{\boolean{@multitoc@toc}\and\equal{#1}{toc}}{%
- \begin{multicols}{\multicolumntoc}%
- \@multitoc@starttoc{#1}%
- \end{multicols}%
- }{}%
- \ifthenelse{\boolean{@multitoc@lot}\and\equal{#1}{lot}}{%
- \begin{multicols}{\multicolumnlot}%
- \@multitoc@starttoc{#1}%
- \end{multicols}%
- }{}%
- \ifthenelse{\boolean{@multitoc@lof}\and\equal{#1}{lof}}{%
- \begin{multicols}{\multicolumnlof}%
- \@multitoc@starttoc{#1}%
- \end{multicols}%
- }{}%
- }
-\newcommand*{\protected@write@immediate}[3]{%
- \begingroup
- \let\thepage\relax
- #2%
- \let\protect\string
- \edef\reserved@a{\immediate\write#1{#3}}%
- \reserved@a
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi
- }
-\newcommand*{\immediateaddtocontents}[2]{%
- \protected@write@immediate\@auxout
- {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
- {\string\@writefile{#1}{#2}}}
-\endinput
-%%
-%% End of file `multitoc.sty'.
diff --git a/Master/texmf-dist/tex/latex/msu-thesis/msu-thesis.cls b/Master/texmf-dist/tex/latex/msu-thesis/msu-thesis.cls
index f873f7a9647..538a98da064 100644
--- a/Master/texmf-dist/tex/latex/msu-thesis/msu-thesis.cls
+++ b/Master/texmf-dist/tex/latex/msu-thesis/msu-thesis.cls
@@ -192,11 +192,13 @@
% Version 4.1h 2023/10/07 Changed option processing code
% Version 4.1i 2023/12/02 Fixed spurious blank page with biblatex bibliography
% Version 4.2 2024/02/18 Changed spacing for sections to address complaints about adjacent sectioning commands
-% Version 4.2b 2024/05/16 Added version check for l3kernel.
+% Version 4.2b 2024/05/16 Added version check for l3kernel.
+% Version 4.3 2024/06/07 Fixed bug with TOCs when calc package was loaded; added \msuappendixdelim
+% Version 4.3b 2024/07/08 Fixed spurious page break with biblatex per chapter bibliographies
% Report bugs/problems/questions to <amunn@msu.edu>
%
-\def\msu@version{4.2b}
-\def\msu@date{2024/05/16}
+\def\msu@version{4.3b}
+\def\msu@date{2024/07/08}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version]
\@ifundefined{ExplLoaderFileDate}
@@ -333,7 +335,6 @@ chapterapp.code = {
% This may also be solved by using \hypersetup{hypertexnames=false}
% hard to tell whether this is a better solution.
-
% make title 2in from top of page
% This value is crazy because the grad school doesn’t know how to measure
\setlength{\droptitle}{.25in} % changed again due to topskip removal 12/13/17
@@ -499,6 +500,7 @@ chapterapp.code = {
\renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
\renewcommand\cftchapterpagefont{\msu@tocfont}
\renewcommand*{\cftappendixname}{APPENDIX\space}
+ \renewcommand*\cftchapteraftersnum{\msuappendixdelim}
}
\cftinsertcode{SINGAPP}{\renewcommand{\cftchapteraftersnum}{}}
@@ -517,7 +519,7 @@ chapterapp.code = {
% chapters in the source
\newlength\apptoclen
-\settowidth{\apptoclen}{APPENDIX M}
+\settowidth{\apptoclen}{APPENDIX: M}
\cftinsertcode{APPENDICES}{
\setlength\cftchapterindent{\cftsectionindent}
\setlength\cftsectionnumwidth{\apptoclen} % add the extra space
@@ -525,7 +527,7 @@ chapterapp.code = {
\renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
\renewcommand\cftchapterpagefont{\msu@tocfont}
\renewcommand*{\cftappendixname}{APPENDIX\space}
- \renewcommand\cftchapteraftersnum{\msutocdelim}
+ \renewcommand\cftchapteraftersnum{\msuappendixdelim}
%\ifthenelse{\value{msutocdepth}=0}{\addtocounter{tocdepth}{-1}}{} % removed 8/12/2023
}
@@ -538,7 +540,7 @@ chapterapp.code = {
\setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
\renewcommand\cftchapterfont{\msu@chapfont\MakeUppercase}
\renewcommand\cftchapterpagefont{\msu@chapfont}
- \setcounter{tocdepth}{\value{msutocdepth}}
+ \protect\setcounter{tocdepth}{\value{msutocdepth}}
}
% This code resets the changes made in the APP code back to normal
% so that the bibliography will appear correctly in the TOC
@@ -547,7 +549,7 @@ chapterapp.code = {
\setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
\renewcommand\cftchapterfont{\msu@chapfont\MakeUppercase}
\renewcommand\cftchapterpagefont{\msu@chapfont}
- \setcounter{tocdepth}{\value{msutocdepth}}
+ \protect\setcounter{tocdepth}{\value{msutocdepth}}
}
\cftinsertcode{CHAPBIB}{
@@ -679,6 +681,7 @@ chapterapp.code = {
% contents lists don't look so stupid. Can be changed if necessary.
\newcommand*\msucaptiondelim{\space}
\newcommand*\msutocdelim{} % removed idiotic colon 5/25/23
+\newcommand*\msuappendixdelim{} % added 6/7/24
\captiondelim{\msucaptiondelim}
\pagestyle{plain}
@@ -773,11 +776,11 @@ chapterapp.code = {
% \ifmsu@chapterapp\else
\msu@singleappendixtrue
% \fi% make sure single appendix doesn't have a number if global 3.1b (always 3.2)
- \msu@apppage\cftinserthook{toc}{SINGAPP}\setcounter{tocdepth}{0}\@resets@pp\anappendixtrue}%
+ \msu@apppage\cftinserthook{toc}{SINGAPP}\protect\setcounter{tocdepth}{0}\@resets@pp\anappendixtrue}%
{\@ppsaveapp\@pprestoresec\anappendixfalse\cftinserthook{toc}{CHAPAPPR}} % reset aded 2022/04/16
\renewenvironment{appendices}%
- {\msu@singleappendixfalse\msu@apppage\ifmsu@chapterapp\cftinserthook{toc}{APPENDICES}\fi\addtocontents{toc}{\setcounter{tocdepth}{0}}
+ {\msu@singleappendixfalse\msu@apppage\ifmsu@chapterapp\cftinserthook{toc}{APPENDICES}\fi\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
\@resets@pp\anappendixtrue}%
{\@ppsaveapp\@pprestoresec\anappendixfalse\cftinserthook{toc}{CHAPAPPR}} % reset added 2022/04/16
@@ -835,9 +838,10 @@ chapterapp.code = {
% This code probably needs to be revisited since it’s a unholy amalgam of old and new code
% Removed clearpage from the document level code in response to issue #26.
% Problem seems to only arise with biblatex so more testing is needed
+% Added test for natbib here 7/8/2024 because biblatex produces extra page
\newcommand\msu@addbibheadtotoc{%
\ifmsu@chapterbib
- \clearpage\phantomsection\addcontentsline{toc}{\msu@bibsection}{\bibtocname}
+ \@ifpackageloaded{natbib}{\clearpage}{}\phantomsection\addcontentsline{toc}{\msu@bibsection}{\bibtocname}
\else
\phantomsection\addcontentsline{toc}{chapter}{\bibtocname}
\fi
diff --git a/Master/texmf-dist/tex/latex/multitoc/multitoc.sty b/Master/texmf-dist/tex/latex/multitoc/multitoc.sty
new file mode 100644
index 00000000000..4978376998a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/multitoc/multitoc.sty
@@ -0,0 +1,76 @@
+%%
+%% This is file `multitoc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% multitoc.dtx (with options: `package')
+%% Copyright (C) 1998–1999 Martin Schröder, 2024 Marei Peischl (peiTeX) <marei@peitex.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is
+%% Marei Peischl <marei@peitex.de>.
+%%
+%% This work consists of the files multitoc.dtx and multitoc.ins
+%% and the derived file multitoc.sty.
+%%
+%% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}[2015-09-18]
+\ProvidesPackage{multitoc}
+ [2024/06/13 v2.02 MultiToc Package]
+\RequirePackage{multicol}
+\RequirePackage{ifthen}
+\newcommand{\multicolumntoc}{2}
+\newcommand{\multicolumnlot}{2}
+\newcommand{\multicolumnlof}{2}
+\newboolean{@multitoc@toc}
+\newboolean{@multitoc@lot}
+\newboolean{@multitoc@lof}
+\DeclareOption{toc}{\setboolean{@multitoc@toc}{true}}
+\DeclareOption{lot}{\setboolean{@multitoc@lot}{true}}
+\DeclareOption{lof}{\setboolean{@multitoc@lof}{true}}
+\ProcessOptions\relax
+\let\@multitoc@starttoc\@starttoc
+\ExplSyntaxOn
+\renewcommand*{\@starttoc}[1]{%
+\clist_if_in:nnTF {toc,lof,lot} {#1} {
+\ifthenelse{\boolean{@multitoc@#1}}{
+\begin{multicols}{\use:c{multicolumn#1}}%
+\@multitoc@starttoc{#1}%
+\end{multicols}
+}{
+\@multitoc@starttoc{#1}
+}
+}{
+\@multitoc@starttoc{#1}
+}
+}
+\ExplSyntaxOff
+\newcommand*{\protected@write@immediate}[3]{%
+ \begingroup
+ \let\thepage\relax
+ #2%
+ \let\protect\string
+ \edef\reserved@a{\immediate\write#1{#3}}%
+ \reserved@a
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+\newcommand*{\immediateaddtocontents}[2]{%
+ \protected@write@immediate\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
+ {\string\@writefile{#1}{#2}}}
+\endinput
+%%
+%% End of file `multitoc.sty'.
diff --git a/Master/texmf-dist/tex/latex/newcomputermodern/newcomputermodern.sty b/Master/texmf-dist/tex/latex/newcomputermodern/newcomputermodern.sty
index 22e39e68a10..6318522d6ba 100644
--- a/Master/texmf-dist/tex/latex/newcomputermodern/newcomputermodern.sty
+++ b/Master/texmf-dist/tex/latex/newcomputermodern/newcomputermodern.sty
@@ -1,5 +1,5 @@
%\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{newcomputermodern}[v5.1 NewCM fonts by Antonis Tsolomitis]
+\ProvidesPackage{newcomputermodern}[v5.2.0 NewCM fonts by Antonis Tsolomitis]
\typeout{Loading NewCM fonts by Antonis Tsolomitis}
\RequirePackage{fontspec}
\RequirePackage{unicode-math}
diff --git a/Master/texmf-dist/tex/latex/newtx/newtx.sty b/Master/texmf-dist/tex/latex/newtx/newtx.sty
index e80baff17b6..3c31a91788b 100644
--- a/Master/texmf-dist/tex/latex/newtx/newtx.sty
+++ b/Master/texmf-dist/tex/latex/newtx/newtx.sty
@@ -2,8 +2,8 @@
%Package to simplify loading of newtxmath with a text font family such as newtxtext for all latex engines, or for newtxtext and an otf math package.
-\def\fileversion{1.739}
-\def\filedate{2024/02/24}
+\def\fileversion{1.751}
+\def\filedate{2024/06/22}
\ProvidesPackage{newtx}[%
\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for newtxmath and a supported text font family, or for newtxtext and an otf math package]
@@ -54,7 +54,10 @@
% options for newtxmath as etoolbox internal list allowing \ifinlist
%\def\ntx@mathlstr{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1}
-\forcsvlist{\listadd\ntx@mathlst}{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1,propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw}
+\forcsvlist{\listadd\ntx@mathlst}{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,
+timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,
+slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1,
+propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw}
%\show\ntx@mathlst
% Note that subscriptcorrectionfile is not on the list---we process it in this sty file
@@ -95,8 +98,10 @@
%\newif\ifntx@nofontspec
% must load fontspec if unicode engine
\newif\ifntx@otfmath %\ntx@otfmathfalse % default is type1 math
+%\newdimen\ntx@dima
+%\def\tx@divide#1#2{\ntx@dima=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax}
+%\tx@divide{300}{400}\showthe\ntx@dima
-\def\tx@divide#1#2{\strip@pt\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax}
\newcommand*{\ntxtext@RM}{1}
\newcommand*{\ntxtext@SF}{1}
\newcommand*{\ntxtext@TT}{.88}
@@ -105,10 +110,11 @@
\newcommand*{\ntxtext@rm}{} % not understood by libertinus-otf
\newcommand*{\ntxtext@sf}{}% not understood by libertinus-otf
-\newcommand*{\ntxtext@scale}{1}
+\newcommand*{\ntxtext@scale}{0}
\newcommand*{\ntxmath@scale}{1}
-\DeclareOptionX{scaled}[1]{\renewcommand*{\ntxtext@scale}{#1}\renewcommand*{\ntxmath@scale}{#1}}
-\DeclareOptionX{scale}[1]{\renewcommand*{\ntxtext@scale}{#1}\renewcommand*{\ntxmath@scale}{#1}}
+%\traceon
+\DeclareOptionX{scaled}[1]{\renewcommand*{\ntxmath@scale}{#1}}
+\DeclareOptionX{scale}[1]{\renewcommand*{\ntxmath@scale}{#1}}
\DeclareOptionX{textscale}[1]{\renewcommand*{\ntxtext@scale}{#1}}
\DeclareOptionX{textscaled}[1]{\renewcommand*{\ntxtext@scale}{#1}}
\DeclareOptionX{mathscale}[1]{\renewcommand*{\ntxmath@scale}{#1}}
@@ -258,6 +264,12 @@
\def\ntx@sc{TeXGyreScholaX@scale}%
\def\ntx@TF{scholax}\def\ntx@MF{nc}
\def\ntx@id{14}\def\ntx@minfam{minscholax}\fi}
+\DeclareOptionX{Gelasio}[true]{\@nameuse{if#1}
+ \def\ntx@sc{Gelasio@scale}\def\ntx@TF{gelasio}\def\ntx@MF{gelasio}
+ \def\ntx@id{16}\def\ntx@minfam{mingelasio}\fi}
+\DeclareOptionX{gelasio}[true]{\@nameuse{if#1}
+ \def\ntx@sc{Gelasio@scale}\def\ntx@TF{gelasio}\def\ntx@MF{gelasio}
+ \def\ntx@id{16}\def\ntx@minfam{mingelasio}\fi}
% for stacked fractions
\DeclareOptionX{sfracvcenter}{%
\def\tx@sfrVC{#1}}
@@ -270,6 +282,22 @@
% \ntx@Topt contains all unknown options that are not math options. It contains no scale options. \ntx@Mopt lists all the math options.
\ProcessOptionsX\relax
+\def\tx@mathtotextfactor{1}
+\ifcase\ntx@id % 0, newtxtext
+ \or\or % 1,2
+ \or \def\tx@mathtotextfactor{1.05} % 3, ebg
+ \or\or % 4,5
+ \or \def\tx@mathtotextfactor{.94} % 6, garx
+ \or\or % 7,8
+ \or \def\tx@mathtotextfactor{.94} % 9, heur
+ \or\or % 10, 11
+ \or \def\tx@mathtotextfactor{.935} % 12, xch
+ \or % 13
+ \or \def\tx@mathtotextfactor{.93} % 14, schx
+ \or \def\tx@mathtotextfactor{.93} % 15, schx/four
+ \or \def\tx@mathtotextfactor{.92} % 16, gel
+\fi
+
%\show\ntx@Mopt
%\show\ntx@Topt
%\traceon
@@ -280,34 +308,48 @@
% \ntx@otftextfalse
% \fi
%\fi
+\newif\ifntx@iszero
+\@tempdima=\@ne\p@\@tempdima=\ntxtext@scale\@tempdima
+\expandafter\ifnum\number\@tempdima=0\relax\ntx@iszerotrue\fi
+
+\ifntx@iszero%
+ \@tempdima=\tx@mathtotextfactor\p@%
+ \@tempdima=\ntxmath@scale\@tempdima%
+ \edef\ntxtext@scale{\strip@pt\@tempdima}
+ %\show\ntxtext@scale
+\fi
+\def\ntxtext@scaled{s*[\ntxtext@scale]}
+
\ifntx@otfmath
\ifnum\ntx@id>0
\PackageWarning{newtx.sty}{Reverting to newtxtext: newtx with option {\tt otfmath} can not handle other text packages.}
\ntx@id=0
\ntx@text % revert to newtxtext
\fi
-\else % t1 math
- \ifnum\ntx@id=0
+\fi
+
+\ifnum\ntx@id=0
\ifthenelse{\not\equal{\sfdefault}{cmss}}%
{\tx@helvfalse}{}
\ifthenelse{\not\equal{\ttdefault}{cmtt}}%
{\tx@ttfalse}{}
- \iftx@helv
+\fi
+\iftx@helv
\renewcommand*{\sfdefault}{qhv}
\@tempdima=\ntxtext@scale\p@
\@tempdima=\tx@helvratio\@tempdima%
\edef\qhv@scale{\strip@pt\@tempdima}
- \else
+\else
\PassOptionsToPackage{nohelv=true}{newtxtext}
- \fi
- \iftx@tt\renewcommand*{\ttdefault}{ntxtt}\fi
- \ifthenelse{\not\equal{\tx@helvratio}{.94}}%
+\fi
+
+\ifthenelse{\not\equal{\tx@helvratio}{.94}}%
{\PassOptionsToPackage{helvratio=\tx@helvratio}%
{newtxtext}}{}
- \iftx@tt\else%
- \PassOptionsToPackage{nott=true}{newtxtext}\fi
-
- \fi
+
+\iftx@tt\renewcommand*{\ttdefault}{ntxtt}\fi
+\iftx@tt\else%
+ \PassOptionsToPackage{nott=true}{newtxtext}
\fi
%\ifntx@badnof\PackageError{newtx.sty}{Incompatible options, nofontspec and otfmath}{Incompatible options, nofontspec and otfmath}\fi
% Set the text scale macros appropriately
@@ -316,14 +358,12 @@
%\PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}
\edef\ntxmath@scaled{s*[\ntxmath@scale]}
% For the min text fd files, need to use actual scale macro passed to fd?
-%\@namedef{\ntx@sc}{\ntxtext@scale}
+%\@namedef{\ntx@sc}{\ntxtext@scale}%
-\newif\ifntx@iszero
-\@tempdima\@ne\p@\@tempdima\ntxtext@scale\@tempdima
-\expandafter\ifnum\number\@tempdima=0\relax\ntx@iszerotrue\fi
-%
+%\newcommand{\PassMathScale}{%\ifntx@iszero\gdef\ntxtext@scale{\ntxmath@scale}
+%\gdef\ntxtext@scaled{s*[\ntxtext@scale]}\fi
-\newcommand{\PassMathScale}{\ifntx@iszero\gdef\ntxtext@scale{\ntxmath@scale}\gdef\ntxtext@scaled{s*[\ntxtext@scale]}\fi
+% The following block sents scale instructions to text package
\ifnum\ntx@id=4 % MinionPro
\PassOptionsToPackage{scale=\ntxtext@scale}{\ntx@TF}
\else
@@ -345,24 +385,32 @@
\@tempdimb=\ntxtext@TT\@tempdima
\PassOptionsToPackage{ttscale=\strip@pt\@tempdimb}{\ntx@TF}
- \else %
- \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}
+ \else %
+ \ifnum\ntx@id=16 % gelasio
+ \PassOptionsToPackage{scale=\ntxtext@scale}{\ntx@TF}%
+ \else
+ \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}
+ \fi
\fi
\fi
\fi
-}
+%}
%
-\newcommand{\PassMatchingScale}[1]{%
- \ifntx@iszero%
- \@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima}
- \gdef\ntxtext@scaled{s*[\ntxtext@scale]}
- \fi
- \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}%
-}
+%\newcommand{\PassMatchingScale}[1]{%
+% \ifntx@iszero%
+% \@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima}
+% \fi
+% \xdef\ntxtext@scaled{s*[\ntxtext@scale]}
+%}
%\fi
+%\PassMathScale
+%\traceon
+% Send parameters for stacked fractions
+\def\tx@sfrac{} % X for cases where parameters are given
\ifcase\ntx@id % 0, newtxtext
-\PassMathScale
+\def\tx@sfrac{X}
+%\PassMathScale
% info for sfrac (stacked fractions) involving newtxtext
\@ifundefined{tx@xht}{\def\tx@xht{450}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{406}}{} % denominator figures ht
@@ -373,7 +421,7 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this
\or %1, libertine
-\PassMathScale
+\def\tx@sfrac{X}
% \PassOptionsToPackage{ttscaled=\ntxtext@scale,
% llscaled=\ntxtext@scale}{\ntx@TF} % for tt and serifed in Libertine
\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters
@@ -393,7 +441,7 @@
%{\addfontfeature{RawFeature=+frac}#2/#3}}%
%}}
\or % 2, etbb
-\PassMathScale
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{357}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{295}}{} % baseline of numerators
@@ -403,7 +451,7 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{64}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this
\or % 3, ebgaramond
-\PassMatchingScale{1.05}
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{341}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{443}}{} % baseline of numerators
@@ -422,7 +470,7 @@
%{\addfontfeature{RawFeature=+frac}#2/#3}}%
%}}}}
\or % 4, MinionPro
-\PassMathScale
+%\PassMathScale
%\@ifundefined{tx@xht}{\def\tx@xht{437}}{} % lowercase letters
%\@ifundefined{tx@deht}{\def\tx@deht{359}}{} % denominator figures ht
%\@ifundefined{tx@nubase}{\def\tx@nubase{277}}{} % baseline of numerators
@@ -432,7 +480,7 @@
%\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness
%\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this
\or % 5, cochineal
-\PassMathScale
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{430}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{378}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{248}}{} % baseline of numerators
@@ -442,15 +490,15 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this amount
\or % 6, garamondx
-\PassMatchingScale{.94}
+%\PassMatchingScale{.94}
\or % 7, BaskervilleF
-\PassMathScale
+%\PassMathScale
\or % 8, baskervaldx
-\PassMathScale
+%\PassMathScale
\or % 9, heuristica
-\PassMatchingScale{.94}
+%\PassMatchingScale{.94}
\or % 10, libertinus
-\PassMathScale
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{324}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{364}}{} % baseline of numerators
@@ -470,7 +518,7 @@
%{\addfontfeature{RawFeature=+frac}#2/#3}}%
%}}}}
\or % 11, erewhon
-\PassMathScale
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{461}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{384}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{256}}{} % baseline of numerators
@@ -480,7 +528,7 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{58}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this
\or % 12, XCharter
-\PassMatchingScale{.98}
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{481}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{382}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{295}}{} % baseline of numerators
@@ -490,7 +538,7 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this
\or % 13, stickstoo
-\PassMathScale
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{473}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{411}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{252}}{} % baseline of numerators
@@ -500,7 +548,7 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{56}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.75}}{} % scale defigures by this
\or % 14, scholax
-\PassMatchingScale{.93}
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{466}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{423}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{289}}{} % baseline of numerators
@@ -510,7 +558,7 @@
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this
\or % 15, scholax/fourier
-\PassMatchingScale{.93}
+\def\tx@sfrac{X}
\@ifundefined{tx@xht}{\def\tx@xht{466}}{} % lowercase letters
\@ifundefined{tx@deht}{\def\tx@deht{423}}{} % denominator figures ht
\@ifundefined{tx@nubase}{\def\tx@nubase{289}}{} % baseline of numerators
@@ -519,6 +567,16 @@
\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar
\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness
\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this
+\or % 16, gelasio
+\def\tx@sfrac{X}
+\@ifundefined{tx@xht}{\def\tx@xht{485}}{} % lowercase letters
+\@ifundefined{tx@deht}{\def\tx@deht{473}}{} % denominator figures
+\@ifundefined{tx@nubase}{\def\tx@nubase{246}}{} % baseline of numerators
+\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms
+\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{360}}{}% vertical center of sfrac
+\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar
+\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness
+\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.75}}{} % scale defigures by this
\fi
\PassOptionsToPackage{\ntx@MF}{newtxmath}
@@ -526,57 +584,69 @@
%\ifblank{\ntx@textopt}{}%
%{\PassOptionsToPackage{\ntx@textopt}{\ntx@TF}}
-\newdimen\tx@sixem\tx@sixem6pt % for checking if a number refers to ex
-\newdimen\tx@y \newdimen\tx@x
-
-% convert numerical entry that may be multiple of ex (<6) or em value
-\def\tx@toex#1{\tx@x#1pt \ifdim\tx@x<\z@\tx@y-\tx@x\else\tx@y\tx@x\fi \ifdim\tx@y>\tx@sixem \tx@x\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax\fi}
-
-\newdimen\tx@tmpdima \newdimen\tx@tmpdimb \newdimen\tx@tmpdimc
-\newdimen\tx@tmpdimd \newdimen\tx@tmpdime \newdimen\tx@tmpdimf
-\newdimen\tx@dimA
-\newdimen\tx@dimAA \newdimen\tx@dimB \newdimen\tx@dimBB
-\newdimen\tx@dimC % vertical center
-% double cap letters for below bar, single cap for above
-\tx@toex\tx@sfrVC\tx@dimC\tx@x %Vertical center of fraction
-\tx@toex\tx@sfrTH\tx@tmpdimb\tx@x % bar thickness
-\tx@tmpdime.5\tx@tmpdimb % half bar thickness
-\tx@toex\tx@sfrVS\tx@tmpdimc\tx@x% vertical space
-\tx@toex\tx@deht\tx@tmpdimd\tx@x % height of unscaled figures
-\tx@tmpdimd\tx@sfrSC\tx@tmpdimd % height of scaled figures
-\tx@toex\tx@debase\tx@tmpdimf\tx@x % unscaled baseline of de figures
-\tx@toex\tx@nubase\tx@tmpdima\tx@x % unscaled baseline of nu figures
-\tx@tmpdima\tx@sfrSC\tx@tmpdima % scaled nu baseline
-\tx@tmpdimf\tx@sfrSC\tx@tmpdimf % scaled de baseline
-\tx@dimA\tx@dimC
-\advance\tx@dimA by \tx@tmpdime % top of bar
-\tx@dimAA\tx@dimC
-\advance\tx@dimAA by -\tx@tmpdime % bottom of bar
-\tx@dimB\tx@dimA
-\advance\tx@dimB by \tx@tmpdimc % top figure baseline
-\advance\tx@dimB by -\tx@tmpdima
-\tx@dimBB\tx@dimAA
-\advance\tx@dimBB by -\tx@tmpdimc %
-\advance\tx@dimBB by -\tx@tmpdimd % bottom figure baseline
-\advance\tx@dimBB by -\tx@tmpdimf
+%\newdimen\tx@sixem\tx@sixem6pt % for checking if a number refers to ex
+\newdimen\tx@x \newdimen\tx@y
+
+% convert numerical entry that may be multiple of ex or em value
+%\def\tx@toex#1{\tx@x#1pt \ifdim\tx@x<\z@\tx@y=-\tx@x\else\tx@y=\tx@x\fi \ifdim\tx@y>\tx@sixem \tx@x=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax\fi}
+%\def\tx@chkex#1{\@tx@chkex#1ex\@nil}
+%\def\@tx@chkex#1ex#2\@nil{\ifthenelse{\equal{#2}{}}{\tx@toex #1}{\tx@x=#1ex}} # defines dimen \tx@x
+\def\tx@toex#1{\tx@x=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax}
+%\def\tx@divide#1#2{\ntx@dima=\dimexpr 1pt * (\dimexpr #1 pt\relax) / \dimexpr #2pt\relax\relax}
+
+% Code for stacked fractions---not available in cases 4,6,7,8,9
+\if X\tx@sfrac
+\newdimen\tx@tmpdima \newdimen\tx@tmpdimb \newdimen\tx@tmpdimC
+\newdimen\tx@dimX \newdimen\tx@dimY \newdimen\tx@dimZ
+\newdimen\tx@numrbase \newdimen\tx@dnombase
+\newdimen\tx@bartop \newdimen\tx@barbot
+\newdimen\tx@bartopex \newdimen\tx@barbotex
+\setlength\tx@tmpdimb{\tx@sfrTH pt} % bar thickness
+\setlength\tx@tmpdima{\tx@deht pt} % de figure ht
+\setlength\tx@tmpdimC{\tx@sfrVC pt} % bar center height
+\tx@bartop=\tx@tmpdimC
+\advance\tx@bartop by .5\tx@tmpdimb % top of bar
+\tx@toex{\strip@pt\tx@bartop}\tx@bartopex=\tx@x % same, in ex units
+\tx@barbot=\tx@bartop
+\advance\tx@barbot by -\tx@tmpdimb % bottom of bar
+\tx@toex{\strip@pt\tx@barbot}\tx@barbotex=\tx@x % same, in ex units
+\tx@dimX=\tx@bartop
+\advance\tx@dimX by \tx@sfrVS pt % bottom of numr
+\tx@dimY=\tx@barbot
+\advance\tx@dimY by -\tx@sfrVS pt % top of dnom
+\advance\tx@dimY by -\tx@sfrSC\tx@tmpdima % baseline of dnom
+
+\tx@toex{\strip@pt\tx@dimX}\tx@numrbase=\tx@x % num baseline in ex units
+\tx@toex{\strip@pt\tx@dimY}\tx@dnombase=\tx@x % dnom baseline in ex units
+
\newcommand*{\textsfrac}[3][]{% like \textsfrac[1]{23}{34}
\mbox{%
\ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
{\textlf{#1}\kern.04em}{}%
{\hmode@bgroup%
\ooalign{%
- \setbox0=\hbox{\scalefont{\tx@sfrSC}\nustyle#2}%
- \hfil \raise\strip@pt\tx@dimB ex\box0\hfil \crcr%
- \leaders\hrule height \strip@pt\tx@dimA ex depth -\strip@pt\tx@dimAA ex\hfill \crcr%
- \setbox1=\hbox{\scalefont{\tx@sfrSC}\destyle#3}%
- \hfil\raise\strip@pt\tx@dimBB ex\box1\hfil}%
+% \ifnum\ntx@id=16\relax
+ \setbox0=\hbox{\textsmde{#2}}% scaled down denom, baseline 0
+ \tx@dimZ=\strip@pt\tx@numrbase ex%
+ \hfil \raise \tx@dimZ \box0\hfil \crcr%
+ \tx@dimX=\strip@pt\tx@bartopex ex%
+ \tx@dimY=-\strip@pt\tx@barbotex ex%
+ \leaders\hrule height \tx@dimX depth \tx@dimY \hfill \crcr%
+ \setbox1=\hbox{\textsmde{#3}}%
+ \tx@dimZ=\strip@pt\tx@dnombase ex
+ \hfil\raise \tx@dimZ \box1\hfil}%
\egroup}}
}
+\else
+\newcommand*{\textsfrac}[3][]{%
+\mbox{%
+ \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
+ {\textlf{#1}\kern.04em}{}%
+#2/#3}}
+\fi
-%\ifntx@otfmath\typeout{otf math}\else\typeout{type1 math}\fi
-
-
+% Document setup instructions
\ifntx@otftext
\ifntx@otfmath %I
\typeout{I}
@@ -611,7 +681,7 @@
\mbox{%
\ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
{\textlf{#1}\kern.02em}{}%
-{\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3}
+\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3
\else\textnu{#2}{\normalfont\fontencoding{TS1}\selectfont\char"2F}%
\textde{#3}\fi}
}}}
@@ -699,6 +769,60 @@
\or % 13, stickstoo
\or % 14, scholax
\or % 15, scholax/fourier
+\or % 16, gelasio
\fi
-
+% galasio.sty does not offer macros for numerators, denominators or inferiors
+%\ifgelasio@otf
+% \providecommand\nufigures{%
+% \addfontfeatures{VerticalPosition=Numerator}}
+% \providecommand\defigures{%
+% \addfontfeatures{VerticalPosition=Denominator}}
+% \providecommand\infigures{%
+% \addfontfeatures{VerticalPosition=Inferior}}
+%
+% \DeclareTextFontCommand{\textnum}{\nufigures}
+% \DeclareTextFontCommand{\textde}{\defigures}
+% \DeclareTextFontCommand{\textinf}{\infigures}
+% \@ifundefined{tx@sfrSC}{}{%
+% \newcommand*{\textsmde}[1]{%
+% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}}
+%
+%\else % type1 --we define \text.. by lowering \textsu
+% \newbox\tx@box
+% \newcommand*{\textde}[1]{{\setbox0=\hbox{\textsu{#1}}\setbox1=\hbox{\raise -.763ex \box0}\dp1=0pt\ht1=.977ex\box1\relax}}
+%
+% \providecommand*\textnum[1]{\raisebox{.507ex}{\textde{#1}}}
+% \let\textnu\textnum
+%% \providecommand*\textde[1]{{\setbox0=\hbox{\textsu{#1}}%
+%% \setbox1=\hbox{\lower.763ex\box0}\dp0=0pt\relax\box1\relax}}
+% %\raisebox{-.763ex}{\textsu{#1}}}
+% % the following will be used only by \textsfrac
+% \@ifundefined{tx@sfrSC}{}{%
+% \newcommand*{\textsmde}[1]{%
+% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}%
+% }
+%\fi
+%\DeclareTextFontCommand{\textlf}{\liningnums}
+%\fi % end ifcase
+\ifnum\ntx@id=16\relax
+\else % create \textsmsmde for other than minion and gelasio
+% We move the small font to the text baseline and scale it by \tx@sfrSC, for use only in the \textsfrac macro.
+\ifnum\ntx@id=4\relax
+\else
+ \ifnum\tx@debase=0
+ \newcommand*{\textsmde}[1]{%
+ \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}
+ \else
+ \newdimen\tx@u \newdimen\tx@v
+ \tx@u=-\tx@debase pt
+ \tx@toex{\strip@pt\tx@u}\tx@y=\tx@x
+ %\showthe\tx@y
+ \tx@v=\strip@pt\tx@y ex
+ \newcommand*{\textsmde}[1]{%
+ \setbox2=\hbox{\textde{#1}}%
+ \setbox1=\hbox{\raise \tx@v \box2}%
+ \setbox0=\hbox{\scalebox{\tx@sfrSC}{\box1}}\box0}
+ \fi %\ifnum\tx@debase=0
+\fi %\ifnum\ntx@id=4
+\fi %\ifnum\ntx@id=16
\endinput
diff --git a/Master/texmf-dist/tex/latex/newtx/newtxmath.sty b/Master/texmf-dist/tex/latex/newtx/newtxmath.sty
index 86fa898e14c..83fc81cae33 100644
--- a/Master/texmf-dist/tex/latex/newtx/newtxmath.sty
+++ b/Master/texmf-dist/tex/latex/newtx/newtxmath.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1997/06/01]
-%
+%
%:ams
% Based on Young Ryu's txfonts.sty, v.3.2.1
% Text and math are now loaded in separate sty files---the text
@@ -11,8 +11,8 @@
% of glyph collisions.
% These modifications are by Michael Sharpe, msharpe at ucsd dot edu
-\def\fileversion{1.742}
-\def\filedate{2024/03/06}
+\def\fileversion{1.752}
+\def\filedate{2024/07/05}
\ProvidesPackage{newtxmath}[\filedate\space v\fileversion ]
\@ifundefined{newtxmathLoaded}{}{\endinput}
@@ -43,9 +43,13 @@
\newcount\tx@cntz
\input{binhex}
-\let\ntxmath@scaled\@empty\def\tx@scale{1}
+\let\ntxmath@scaled\@empty
+\@ifundefined{ntxmathscale}{\def\ntxmathscale{1}}{}
+\def\tx@scale{\ntxmathscale}
+\def\ntxmath@scaled{s*[\tx@scale]}
\define@key{ntxmath}{scaled}[1.0]{\def\tx@scale{#1}\def\ntxmath@scaled{s*[#1]}}
\define@key{ntxmath}{scale}[1.0]{\def\tx@scale{#1}\def\ntxmath@scaled{s*[#1]}}
+
\def\ntxmath@vecsep{.25ex}
\define@key{ntxmath}{vecsep}[.25ex]{\def\ntxmath@vecsep{#1}}
%:
@@ -72,6 +76,7 @@
\newif\iftx@largelibfigs \newif\iftx@frenchm % french math
\newif\iftx@minion \newif\iftx@libaltvw \newif\iftx@bv \newif\iftx@ut
\newif\iftx@ba % new BaskervilleF fonts
+\newif\iftx@gel % GelasioMath
\newif\iftx@ch \newif\iftx@coch \newif\iftx@nc % NewCenturySchoolbook
\newif\iftx@ot % use OT1 for operators
\newif\iftx@ntxmath \tx@ntxmathtrue % default is Times operators and math italic
@@ -88,7 +93,7 @@
\newif\iftx@nootone % do not switch to OT1 for operators
\newif\iftx@digits % use digits from letters
\newif\iftx@isenh % the math style is enhanced and can make use of new macros
-% Currently (2019-12-11) only txmath, libertine, XCharter, ebgaramond, stickstoo, utopia, nc, minion and cochineal have been enhanced.
+% Currently (2019-12-11) only txmath, libertine, XCharter, aramond, stickstoo, utopia, nc, minion and cochineal have been enhanced.
\newif\iftx@ebgalth
\newif\iftx@cochf % switch to long f
\newif\iftx@cochrho % switch to long rho
@@ -229,6 +234,7 @@
\DeclareOption{Heuristica}{\tx@uttrue\tx@ntxmathfalse}
\DeclareOption{Erewhon}{\tx@uttrue\tx@ntxmathfalse}
\DeclareOption{erewhon}{\tx@uttrue\tx@ntxmathfalse}
+\DeclareOption{gelasio}{\tx@geltrue\tx@ntxmathfalse}
\DeclareOption{charter}{\tx@chtrue\tx@ntxmathfalse}
\DeclareOption{xcharter}{\tx@chtrue\tx@ntxmathfalse}
\DeclareOption{cmintegrals}{\tx@cminttrue}
@@ -303,7 +309,6 @@ amssymbols,uprightGreek,nosubscriptcorrection}
% \let\NotoSans@scale\NotoSerif@scale
% \let\NotoSansMono@scale\NotoSerif@scale
%\fi
-
% Check whether math face is enhanced
\iftx@ntxmath\tx@isenhtrue\else
\iftx@lbtn\tx@isenhtrue\else
@@ -316,6 +321,8 @@ amssymbols,uprightGreek,nosubscriptcorrection}
\iftx@minion\tx@isenhtrue\else
\iftx@noto\tx@isenhtrue\else
\iftx@notosans\tx@isenhtrue\else
+ \iftx@gel\tx@isenhtrue\else
+ \fi
\fi
\fi
\fi
@@ -327,6 +334,7 @@ amssymbols,uprightGreek,nosubscriptcorrection}
\fi
\fi
\fi
+
\AtEndPreamble{%
%\traceon
\iftx@sbc
@@ -358,6 +366,7 @@ amssymbols,uprightGreek,nosubscriptcorrection}
\iftx@bv\let\X@s@v@rg\@undefined\fi
\iftx@ba\let\X@s@v@rg\@undefined\fi
\iftx@stxtwo\let\X@s@v@rg\@undefined\fi
+\iftx@gel\let\X@s@v@rg\@undefined\fi
% altnu, liby and largelibfigs valid only with libertin[e,us]
\iftx@lbtn\else\tx@altnufalse\tx@largelibfigsfalse\tx@libyfalse\fi
% Use existing text fonts for operators, mathrm, etc
@@ -381,7 +390,7 @@ amssymbols,uprightGreek,nosubscriptcorrection}
\fi
\fi
\fi
-
+\iftx@gel\edef\rmdefaultB{mingelasio}\fi
\iftx@minion\edef\rmdefaultB{MinionPro-TLF}\fi
\iftx@noto\edef\rmdefaultB{NotoSerif-TLF}\fi
\iftx@notosans\edef\rmdefaultB{NotoSans-TLF}\fi
@@ -431,108 +440,116 @@ amssymbols,uprightGreek,nosubscriptcorrection}
%%%%%%%%%%%%%%%
\iftx@lbtn
- \iftx@subsfile\else\def\tx@subs{newtx-libertine-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{nxlmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{nxlmi}{b}{it}
- \DeclareFontSubstitution{OML}{nxlmi}{m}{it}
+ \iftx@subsfile\else\def\tx@subs{newtx-libertine-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{nxlmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{nxlmi}{b}{it}
+ \DeclareFontSubstitution{OML}{nxlmi}{m}{it}
\else
- \iftx@minion
- \iftx@subsfile\else\def\tx@subs{newtx-minion-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zmnmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zmnmi}{b}{it}
- \DeclareFontSubstitution{OML}{zmnmi}{m}{it}
+ \iftx@minion
+ \iftx@subsfile\else\def\tx@subs{newtx-minion-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zmnmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zmnmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zmnmi}{m}{it}
+ \else
+ \iftx@gm
+ \iftx@subsfile\else\def\tx@subs{newtx-garamond-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zgmmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zgmmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zgmmi}{m}{it}
\else
- \iftx@gm
- \iftx@subsfile\else\def\tx@subs{newtx-garamond-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zgmmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zgmmi}{b}{it}
- \DeclareFontSubstitution{OML}{zgmmi}{m}{it}
+ \iftx@bv
+ \iftx@subsfile\else\def\tx@subs{newtx-baskervald-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zbvmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zbvmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zbvmi}{m}{it}
+ \else
+ \iftx@ut
+ \iftx@subsfile\else\def\tx@subs{newtx-utopia-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zutmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zutmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zutmi}{m}{it}
\else
- \iftx@bv
- \iftx@subsfile\else\def\tx@subs{newtx-baskervald-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zbvmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zbvmi}{b}{it}
- \DeclareFontSubstitution{OML}{zbvmi}{m}{it}
+ \iftx@ch
+ \iftx@subsfile\else\def\tx@subs{newtx-xcharter-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zchmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zchmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zchmi}{m}{it}
+ \else
+ \iftx@coch
+ \iftx@subsfile\else\def\tx@subs{newtx-cochineal-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zcochmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zcochmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zcochmi}{m}{it}
\else
- \iftx@ut
- \iftx@subsfile\else\def\tx@subs{newtx-utopia-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zutmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zutmi}{b}{it}
- \DeclareFontSubstitution{OML}{zutmi}{m}{it}
+ \iftx@ba
+ \iftx@subsfile\else\def\tx@subs{newtx-baskervillef-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zbami}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zbami}{b}{it}
+ \DeclareFontSubstitution{OML}{zbami}{m}{it}
+ \else
+ \iftx@stxtwo
+ \iftx@subsfile\else\def\tx@subs{newtx-stickstoo-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{ntxstx2mi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{ntxstx2mi}{b}{it}
+ \DeclareFontSubstitution{OML}{ntxstx2mi}{m}{it}
\else
- \iftx@ch
- \iftx@subsfile\else\def\tx@subs{newtx-xcharter-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zchmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zchmi}{b}{it}
- \DeclareFontSubstitution{OML}{zchmi}{m}{it}
- \else
- \iftx@coch
- \iftx@subsfile\else\def\tx@subs{newtx-cochineal-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zcochmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zcochmi}{b}{it}
- \DeclareFontSubstitution{OML}{zcochmi}{m}{it}
+ \iftx@ebgm
+ \iftx@subsfile\else\def\tx@subs{newtx-ebgaramond-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{ntxebgmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{ntxebgmi}{b}{it}
+ \DeclareFontSubstitution{OML}{ntxebgmi}{m}{it}
+ \else
+ \iftx@nc
+ \iftx@fourier
+ \iftx@subsfile\else\def\tx@subs{newtx-ncf-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zncfmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zncfmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zncfmi}{m}{it}
+ \else
+ \iftx@subsfile\else\def\tx@subs{newtx-nc-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zncmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zncmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zncmi}{m}{it}
+ \fi
+ \else
+ \iftx@noto
+ \iftx@subsfile\else\def\tx@subs{newtx-noto-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{notomi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{notomi}{b}{it}
+ \DeclareFontSubstitution{OML}{notomi}{m}{it}
+ \else
+ \iftx@notosans
+ \iftx@subsfile\else\def\tx@subs{newtx-notosans-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{notosansmi}{b}{it}
+ \DeclareFontSubstitution{OML}{notosansmi}{m}{it}
\else
- \iftx@ba
- \iftx@subsfile\else\def\tx@subs{newtx-baskervillef-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zbami}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zbami}{b}{it}
- \DeclareFontSubstitution{OML}{zbami}{m}{it}
- \else
- \iftx@stxtwo
- \iftx@subsfile\else\def\tx@subs{newtx-stickstoo-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{ntxstx2mi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{ntxstx2mi}{b}{it}
- \DeclareFontSubstitution{OML}{ntxstx2mi}{m}{it}
- \else
- \iftx@ebgm
- \iftx@subsfile\else\def\tx@subs{newtx-ebgaramond-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{ntxebgmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{ntxebgmi}{b}{it}
- \DeclareFontSubstitution{OML}{ntxebgmi}{m}{it}
- \else
- \iftx@nc
- \iftx@fourier
- \iftx@subsfile\else\def\tx@subs{newtx-ncf-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zncfmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zncfmi}{b}{it}
- \DeclareFontSubstitution{OML}{zncfmi}{m}{it}
- \else
- \iftx@subsfile\else\def\tx@subs{newtx-nc-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{zncmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{zncmi}{b}{it}
- \DeclareFontSubstitution{OML}{zncmi}{m}{it}
- \fi
- \else
- \iftx@noto
- \iftx@subsfile\else\def\tx@subs{newtx-noto-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{notomi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{notomi}{b}{it}
- \DeclareFontSubstitution{OML}{notomi}{m}{it}
- \else
- \iftx@notosans
- \iftx@subsfile\else\def\tx@subs{newtx-notosans-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{notosansmi}{b}{it}
- \DeclareFontSubstitution{OML}{notosansmi}{m}{it}
- \else
- %\iftx@subsfile\else\def\tx@subs{newtx-subs.tex}\fi
- \DeclareSymbolFont{letters}{OML}{ntxmi}{m}{it}
- \SetSymbolFont{letters}{bold}{OML}{ntxmi}{b}{it}
- \DeclareFontSubstitution{OML}{ntxmi}{m}{it}
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
+ \iftx@gel
+ \iftx@subsfile\else\def\tx@subs{newtx-gel-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{zgelmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{zgelmi}{b}{it}
+ \DeclareFontSubstitution{OML}{zgelmi}{m}{it}
+ \else
+ %\iftx@subsfile\else\def\tx@subs{newtx-subs.tex}\fi
+ \DeclareSymbolFont{letters}{OML}{ntxmi}{m}{it}
+ \SetSymbolFont{letters}{bold}{OML}{ntxmi}{b}{it}
+ \DeclareFontSubstitution{OML}{ntxmi}{m}{it}
+ \fi
\fi
- \fi
- \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
\fi
- \fi
+ \fi
+ \fi
+ \fi
\fi
+ \fi
\fi
+
\iftx@isenh
\iftx@digits
\DeclareMathSymbol{0}{\mathord}{letters}{132}
@@ -976,14 +993,6 @@ amssymbols,uprightGreek,nosubscriptcorrection}
\re@DeclareMathAccent{\dddot}{\mathord}{symbols}{168}
\re@DeclareMathAccent{\ddddot}{\mathord}{symbols}{200}
\iftx@tma
- \re@DeclareMathAccent{\grave}{\mathord}{symbols}{158}
- \re@DeclareMathAccent{\acute}{\mathord}{symbols}{159}
- \re@DeclareMathAccent{\hat}{\mathord}{symbols}{160}
- \re@DeclareMathAccent{\tilde}{\mathord}{symbols}{161}
- \re@DeclareMathAccent{\bar}{\mathord}{symbols}{162}
- \re@DeclareMathAccent{\breve}{\mathord}{symbols}{163}
- \re@DeclareMathAccent{\mathring}{\mathord}{symbols}{166}
- \re@DeclareMathAccent{\check}{\mathord}{symbols}{167}
\else
\iftx@ot %no change needed if using OT1 for operators
\else
diff --git a/Master/texmf-dist/tex/latex/newtx/untxmia.fd b/Master/texmf-dist/tex/latex/newtx/untxmia.fd
index 4e77bfc7e3c..212e5b2386e 100644
--- a/Master/texmf-dist/tex/latex/newtx/untxmia.fd
+++ b/Master/texmf-dist/tex/latex/newtx/untxmia.fd
@@ -5,7 +5,7 @@
%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
\ProvidesFile{untxmia.fd}
- [2018/04/14 Fontinst v1.933 font definitions for U/ntxmia.]
+ [2024/04/09 Fontinst v1.933 font definitions for U/ntxmia.]
\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
\let\ntxmath@scaled\@empty%
@@ -105,12 +105,22 @@
<-> \ntxmath@scaled notosansbmia
}{}
\else
- \DeclareFontShape{U}{ntxmia}{m}{it}{
+ \iftx@gel
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
+ <-> \ntxmath@scaled zgelmia
+ }{}
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
+ <-> \ntxmath@scaled zgelbmia
+ }{}
+ \else
+
+ \DeclareFontShape{U}{ntxmia}{m}{it}{
<-> \ntxmath@scaled ntxmia
}{}
- \DeclareFontShape{U}{ntxmia}{b}{it}{
+ \DeclareFontShape{U}{ntxmia}{b}{it}{
<-> \ntxmath@scaled ntxbmia
}{}
+ \fi
\fi
\fi
\fi
diff --git a/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty b/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
index 8b11c3adce1..f08f221f1d0 100644
--- a/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
+++ b/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
@@ -18,8 +18,8 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\def\myfileversion{6.27b}
-\def\myfiledate{2024/04/23}
+\def\myfileversion{6.28b}
+\def\myfiledate{2024/06/29}
\RequirePackage{pgfcore}
\usepgfmodule{shapes}
\RequirePackage{l3keys2e}
@@ -30,7 +30,11 @@
{Enhanced arrays with the help of PGF/TikZ}
\RequirePackage { amsmath }
\RequirePackage { array }
-\bool_const:Nn \c__nicematrix_tagging_array_bool { \cs_if_exist_p:N \ar@ialign }
+\bool_const:Nn \c__nicematrix_tagging_array_bool
+ { \IfPackageAtLeastTF { array } { 2024/05/01 } \c_true_bool \c_false_bool }
+\bool_const:Nn \c__nicematrix_testphase_table_bool
+ { \IfPackageLoadedTF { latex-lab-testphase-table } \c_true_bool \c_false_bool
+ }
\cs_new_protected:Npn \__nicematrix_error:n { \msg_error:nn { nicematrix } }
\cs_new_protected:Npn \__nicematrix_warning:n { \msg_warning:nn { nicematrix } }
\cs_new_protected:Npn \__nicematrix_error:nn { \msg_error:nnn { nicematrix } }
@@ -95,12 +99,22 @@
{ \__nicematrix_error:n { Internal~error } }
#1
}
-\cs_new_protected:Npn \__nicematrix_security_test_i:w \ignorespaces #1
+\bool_if:NTF \c__nicematrix_tagging_array_bool
{
- \peek_meaning:NF \unskip { \__nicematrix_error:n { Internal~error } }
- #1
+ \cs_new_protected:Npn \__nicematrix_security_test_i:w \ignorespaces #1
+ {
+ \peek_meaning:NF \textonly@unskip { \__nicematrix_error:n { Internal~error } }
+ #1
+ }
+ }
+ {
+ \cs_new_protected:Npn \__nicematrix_security_test_i:w \ignorespaces #1
+ {
+ \peek_meaning:NF \unskip { \__nicematrix_error:n { Internal~error } }
+ #1
+ }
}
-\hook_gput_code:nnn { begindocument / after } { . }
+\hook_gput_code:nnn { begindocument / end } { . }
{
\IfPackageLoadedTF { mdwtab }
{ \__nicematrix_fatal:n { mdwtab~loaded } }
@@ -144,6 +158,7 @@
\tl_const:Nn \c__nicematrix_dot_tl { . }
\tl_const:Nn \c__nicematrix_default_tl { default }
\tl_const:Nn \c__nicematrix_star_tl { * }
+\str_const:Nn \c__nicematrix_star_str { * }
\str_const:Nn \c__nicematrix_r_str { r }
\str_const:Nn \c__nicematrix_c_str { c }
\str_const:Nn \c__nicematrix_l_str { l }
@@ -153,8 +168,8 @@
\str_const:Nn \c__nicematrix_j_str { j }
\str_const:Nn \c__nicematrix_si_str { si }
\tl_new:N \l__nicematrix_argspec_tl
-\cs_generate_variant:Nn \seq_set_split:Nnn { N V n }
-\cs_generate_variant:Nn \str_lowercase:n { V }
+\cs_generate_variant:Nn \seq_set_split:Nnn { N o n }
+\cs_generate_variant:Nn \str_lowercase:n { o }
\hook_gput_code:nnn { begindocument } { . }
{
\IfPackageLoadedTF { tikz }
@@ -224,19 +239,19 @@
{ }
{
\cs_set_protected:Npn \CT@arc@ { }
- \cs_set:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
- \cs_set:Npn \CT@arc #1 #2
+ \cs_set_nopar:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
+ \cs_set_nopar:Npn \CT@arc #1 #2
{
\dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
{ \cs_gset_nopar:Npn \CT@arc@ { \color #1 { #2 } } }
}
- \cs_set:Npn \doublerulesepcolor #1 # { \CT@drs { #1 } }
- \cs_set:Npn \CT@drs #1 #2
+ \cs_set_nopar:Npn \doublerulesepcolor #1 # { \CT@drs { #1 } }
+ \cs_set_nopar:Npn \CT@drs #1 #2
{
\dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
{ \cs_gset:Npn \CT@drsc@ { \color #1 { #2 } } }
}
- \cs_set:Npn \hline
+ \cs_set_nopar:Npn \hline
{
\noalign { \ifnum 0 = `} \fi
\cs_set_eq:NN \hskip \vskip
@@ -248,8 +263,8 @@
}
}
}
-\cs_set:Npn \__nicematrix_standard_cline #1 { \__nicematrix_standard_cline:w #1 \q_stop }
-\cs_set:Npn \__nicematrix_standard_cline:w #1-#2 \q_stop
+\cs_set_nopar:Npn \__nicematrix_standard_cline #1 { \__nicematrix_standard_cline:w #1 \q_stop }
+\cs_set_nopar:Npn \__nicematrix_standard_cline:w #1-#2 \q_stop
{
\int_if_zero:nT \l__nicematrix_first_col_int { \omit & }
\int_compare:nNnT { #1 } > \c_one_int
@@ -296,16 +311,16 @@
\tl_if_blank:nF { #1 }
{
\tl_if_head_eq_meaning:nNTF { #1 } [
- { \cs_set:Npn \CT@arc@ { \color #1 } }
- { \cs_set:Npn \CT@arc@ { \color { #1 } } }
+ { \cs_set_nopar:Npn \CT@arc@ { \color #1 } }
+ { \cs_set_nopar:Npn \CT@arc@ { \color { #1 } } }
}
}
\cs_generate_variant:Nn \__nicematrix_set_CT@arc@:n { o }
\cs_new_protected:Npn \__nicematrix_set_CT@drsc@:n #1
{
\tl_if_head_eq_meaning:nNTF { #1 } [
- { \cs_set:Npn \CT@drsc@ { \color #1 } }
- { \cs_set:Npn \CT@drsc@ { \color { #1 } } }
+ { \cs_set_nopar:Npn \CT@drsc@ { \color #1 } }
+ { \cs_set_nopar:Npn \CT@drsc@ { \color { #1 } } }
}
\cs_generate_variant:Nn \__nicematrix_set_CT@drsc@:n { o }
\cs_new:Npn \__nicematrix_exp_color_arg:Nn #1 #2
@@ -318,7 +333,6 @@
\cs_new_protected:Npn \__nicematrix_color:n #1
{ \tl_if_blank:nF { #1 } { \__nicematrix_exp_color_arg:Nn \color { #1 } } }
\cs_generate_variant:Nn \__nicematrix_color:n { o }
-\cs_set_eq:NN \__nicematrix_old_pgfpointanchor \pgfpointanchor
\cs_new_protected:Npn \__nicematrix_rescan_for_spanish:N #1
{
\tl_set_rescan:Nno
@@ -396,7 +410,7 @@
\bool_new:N \l__nicematrix_bold_row_style_bool
\cs_new:Npn \__nicematrix_full_name_env:
{
- \str_if_eq:VnTF \g__nicematrix_com_or_env_str { command }
+ \str_if_eq:onTF \g__nicematrix_com_or_env_str { command }
{ command \space \c_backslash_str \g__nicematrix_name_env_str }
{ environment \space \{ \g__nicematrix_name_env_str \} }
}
@@ -407,6 +421,7 @@
\tl_new:N \g__nicematrix_pre_code_after_tl
\tl_new:N \g_nicematrix_code_after_tl
\bool_new:N \l__nicematrix_in_code_after_bool
+\bool_new:N \l__nicematrix_ampersand_bool
\int_new:N \l__nicematrix_old_iRow_int
\int_new:N \l__nicematrix_old_jCol_int
\seq_new:N \l__nicematrix_custom_line_commands_seq
@@ -424,8 +439,14 @@
\dim_new:N \l__nicematrix_y_initial_dim
\dim_new:N \l__nicematrix_x_final_dim
\dim_new:N \l__nicematrix_y_final_dim
-\dim_zero_new:N \l__nicematrix_tmpc_dim
-\dim_zero_new:N \l__nicematrix_tmpd_dim
+\dim_new:N \l__nicematrix_tmpc_dim
+\dim_new:N \l__nicematrix_tmpd_dim
+\dim_new:N \g__nicematrix_dp_row_zero_dim
+\dim_new:N \g__nicematrix_ht_row_zero_dim
+\dim_new:N \g__nicematrix_ht_row_one_dim
+\dim_new:N \g__nicematrix_dp_ante_last_row_dim
+\dim_new:N \g__nicematrix_ht_last_row_dim
+\dim_new:N \g__nicematrix_dp_last_row_dim
\bool_new:N \g__nicematrix_empty_cell_bool
\dim_new:N \g__nicematrix_width_last_col_dim
\dim_new:N \g__nicematrix_width_first_col_dim
@@ -462,9 +483,9 @@
\str_new:N \l__nicematrix_hpos_block_str
\str_set:Nn \l__nicematrix_hpos_block_str { c }
\bool_new:N \l__nicematrix_hpos_of_block_cap_bool
+\bool_new:N \l__nicematrix_p_block_bool
\bool_new:N \l__nicematrix_nocolor_used_bool
\str_new:N \l__nicematrix_vpos_block_str
-\str_set:Nn \l__nicematrix_vpos_block_str { c }
\bool_new:N \l__nicematrix_draw_first_bool
\bool_new:N \l__nicematrix_vlines_block_bool
\bool_new:N \l__nicematrix_hlines_block_bool
@@ -522,6 +543,8 @@
\dim_const:Nn \c__nicematrix_innersep_middle_dim { 0.17 em }
}
\newcounter { tabularnote }
+\int_new:N \g__nicematrix_tabularnote_int
+\cs_set:Npn \theHtabularnote { \int_use:N \g__nicematrix_tabularnote_int }
\seq_new:N \g__nicematrix_notes_seq
\seq_new:N \g__nicematrix_notes_in_caption_seq
\tl_new:N \g__nicematrix_tabularnote_tl
@@ -637,6 +660,7 @@
}
\int_gdecr:N \c@tabularnote
\int_set_eq:NN \l_tmpa_int \c@tabularnote
+ \int_gincr:N \g__nicematrix_tabularnote_int
\refstepcounter { tabularnote }
\int_compare:nNnT \l_tmpa_int = \c@tabularnote
{ \int_gincr:N \c@tabularnote }
@@ -761,6 +785,7 @@
\bool_new:N \l__nicematrix_light_syntax_expanded_bool
\tl_new:N \l__nicematrix_baseline_tl
\tl_set:Nn \l__nicematrix_baseline_tl { c }
+\bool_new:N \l__nicematrix_amp_in_blocks_bool
\bool_new:N \l__nicematrix_exterior_arraycolsep_bool
\bool_new:N \l__nicematrix_parallelize_diags_bool
\bool_set_true:N \l__nicematrix_parallelize_diags_bool
@@ -840,6 +865,9 @@
}
\keys_define:nn { NiceMatrix / Global }
{
+ ampersand-in-blocks .bool_set:N = \l__nicematrix_amp_in_blocks_bool ,
+ ampersand-in-blocks .default:n = true ,
+ &-in-blocks .meta:n = ampersand-in-blocks ,
no-cell-nodes .code:n =
\cs_set_protected:Npn \__nicematrix_node_for_cell:
{ \box_use_drop:N \l__nicematrix_cell_box } ,
@@ -1442,7 +1470,7 @@
{ \cs_set_nopar:Npn \@halignto { } }
{ \cs_set_nopar:Npx \@halignto { to \dim_use:N \l__nicematrix_tabular_width_dim } }
\@tabarray
- [ \str_if_eq:VnTF \l__nicematrix_baseline_tl c c t ]
+ [ \str_if_eq:onTF \l__nicematrix_baseline_tl c c t ]
}
\bool_if:NTF \c__nicematrix_tagging_array_bool
{ \cs_set_eq:NN \__nicematrix_old_ar@ialign: \ar@ialign }
@@ -1485,7 +1513,7 @@
\cs_new:Npn \__nicematrix_everycr: { \noalign { \__nicematrix_everycr_i: } }
\cs_new_protected:Npn \__nicematrix_everycr_i:
{
- \bool_if:NT \c__nicematrix_tagging_array_bool
+ \bool_if:NT \c__nicematrix_testphase_table_bool
{
\tbl_if_row_was_started:T { \UseTaggingSocket { tbl / row / end } }
\tbl_update_cell_data_for_next_row:
@@ -1533,21 +1561,21 @@
}
}
\cs_new_protected:Npn \__nicematrix_redefine_everycr: { \everycr { \__nicematrix_everycr: } }
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { colortbl }
- {
- \cs_set_protected:Npn \__nicematrix_redefine_everycr:
- {
- \CT@everycr
- {
- \noalign { \cs_gset_eq:NN \CT@row@color \prg_do_nothing: }
- \__nicematrix_everycr:
- }
- }
- }
- { }
- }
+ \hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { colortbl }
+ {
+ \cs_set_protected:Npn \__nicematrix_redefine_everycr:
+ {
+ \CT@everycr
+ {
+ \noalign { \cs_gset_eq:NN \CT@row@color \prg_do_nothing: }
+ \__nicematrix_everycr:
+ }
+ }
+ }
+ { }
+ }
\hook_gput_code:nnn { begindocument } { . }
{
\IfPackageLoadedTF { booktabs }
@@ -1559,16 +1587,11 @@
}
\cs_new_protected:Npn \__nicematrix_some_initialization:
{
- \dim_gzero_new:N \g__nicematrix_dp_row_zero_dim
\dim_gset:Nn \g__nicematrix_dp_row_zero_dim { \box_dp:N \@arstrutbox }
- \dim_gzero_new:N \g__nicematrix_ht_row_zero_dim
\dim_gset:Nn \g__nicematrix_ht_row_zero_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g__nicematrix_ht_row_one_dim
- \dim_gset:Nn \g__nicematrix_ht_row_one_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g__nicematrix_dp_ante_last_row_dim
- \dim_gzero_new:N \g__nicematrix_ht_last_row_dim
+ \dim_gset_eq:NN \g__nicematrix_ht_row_one_dim \g__nicematrix_ht_row_zero_dim
+ \dim_gzero:N \g__nicematrix_dp_ante_last_row_dim
\dim_gset:Nn \g__nicematrix_ht_last_row_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g__nicematrix_dp_last_row_dim
\dim_gset:Nn \g__nicematrix_dp_last_row_dim { \box_dp:N \@arstrutbox }
}
\cs_new_protected:Npn \__nicematrix_pre_array_ii:
@@ -1597,9 +1620,9 @@
{
\cs_set_nopar:Npn \ar@ialign
{
- \tbl_init_cell_data_for_table:
+ \bool_if:NT \c__nicematrix_testphase_table_bool \tbl_init_cell_data_for_table:
\__nicematrix_redefine_everycr:
- \tabskip = \c_zero_skip
+ \dim_zero:N \tabskip
\__nicematrix_some_initialization:
\cs_set_eq:NN \ar@ialign \__nicematrix_old_ar@ialign:
\halign
@@ -1609,7 +1632,7 @@
\cs_set_nopar:Npn \ialign
{
\__nicematrix_redefine_everycr:
- \tabskip = \c_zero_skip
+ \dim_zero:N \tabskip
\__nicematrix_some_initialization:
\cs_set_eq:NN \ialign \__nicematrix_old_ialign:
\halign
@@ -1731,6 +1754,8 @@
\dim_gset_eq:NN \l__nicematrix_right_delim_dim \l__nicematrix_left_delim_dim
}
\hbox_set:Nw \l__nicematrix_the_array_box
+ \bool_if:NT \c__nicematrix_testphase_table_bool
+ { \UseTaggingSocket { tbl / hmode / begin } }
\skip_horizontal:N \l__nicematrix_left_margin_dim
\skip_horizontal:N \l__nicematrix_extra_left_margin_dim
\c_math_toggle_token
@@ -1931,6 +1956,7 @@
\tl_gset:Nn \g__nicematrix_left_delim_tl { #1 }
\tl_gset:Nn \g__nicematrix_right_delim_tl { #2 }
\tl_gset:Nn \g__nicematrix_user_preamble_tl { #4 }
+ \tl_if_empty:NT \g__nicematrix_user_preamble_tl { \__nicematrix_fatal:n { empty~preamble } }
\int_gzero:N \g__nicematrix_block_box_int
\dim_zero:N \g__nicematrix_width_last_col_dim
\dim_zero:N \g__nicematrix_width_first_col_dim
@@ -1977,7 +2003,7 @@
{ \keys_set:nn { NiceMatrix / NiceArray } }
{ #3 , #5 }
\__nicematrix_set_CT@arc@:o \l__nicematrix_rules_color_tl
- \IfBooleanTF { #6 } \__nicematrix_CodeBefore_Body:w \__nicematrix_pre_array:
+ \bool_if:nTF { #6 } \__nicematrix_CodeBefore_Body:w \__nicematrix_pre_array:
}
{
\bool_if:NTF \l__nicematrix_light_syntax_bool
@@ -1986,6 +2012,18 @@
\c_math_toggle_token
\skip_horizontal:N \l__nicematrix_right_margin_dim
\skip_horizontal:N \l__nicematrix_extra_right_margin_dim
+
+ % % awful workaround
+ \int_compare:nNnT \g__nicematrix_col_total_int = \c_one_int
+ {
+ \dim_compare:nNnT \l__nicematrix_columns_width_dim > \c_zero_dim
+ {
+ \skip_horizontal:N - \l__nicematrix_columns_width_dim
+ \bool_if:NTF \l__nicematrix_tabular_bool
+ { \skip_horizontal:n { - 2 \tabcolsep } }
+ { \skip_horizontal:n { - 2 \arraycolsep } }
+ }
+ }
\hbox_set_end:
\bool_if:NT \l__nicematrix_width_used_bool
{
@@ -2387,7 +2425,7 @@
{ \tl_clear:N \exp_not:N \l__nicematrix_hpos_cell_tl }
{
\cs_set_nopar:Npn \exp_not:N \l__nicematrix_hpos_cell_tl
- { \str_lowercase:V \l__nicematrix_hpos_col_str }
+ { \str_lowercase:o \l__nicematrix_hpos_col_str }
}
\str_case:on \l__nicematrix_hpos_col_str
{
@@ -2410,7 +2448,7 @@
{ j } { c }
{ si } { c }
}
- { \str_lowercase:V \l__nicematrix_hpos_col_str }
+ { \str_lowercase:o \l__nicematrix_hpos_col_str }
}
}
\int_gincr:N \c@jCol
@@ -2427,6 +2465,8 @@
{
> {
\dim_set:Nn \l__nicematrix_col_width_dim { #2 }
+ \bool_if:NT \c__nicematrix_testphase_table_bool
+ { \tag_struct_begin:n { tag = Div } }
\__nicematrix_cell_begin:w
\use:c { #7 } [ #1 ] { #2 }
\everypar
@@ -2434,6 +2474,7 @@
\vrule height \box_ht:N \@arstrutbox width \c_zero_dim
\everypar { }
}
+ \bool_if:NT \c__nicematrix_testphase_table_bool \tagpdfparaOn
#3
\g__nicematrix_row_style_tl
\arraybackslash
@@ -2446,13 +2487,15 @@
\use:c { end #7 }
#4
\__nicematrix_cell_end:
+ \bool_if:NT \c__nicematrix_testphase_table_bool \tag_struct_end:
}
}
}
\str_new:N \c__nicematrix_ignorespaces_str
\str_set:Nx \c__nicematrix_ignorespaces_str { \ignorespaces }
\str_remove_all:Nn \c__nicematrix_ignorespaces_str { ~ }
-\cs_new_protected:Npn \__nicematrix_test_if_empty: { \peek_after:Nw \__nicematrix_test_if_empty_i: }
+\cs_new_protected:Npn \__nicematrix_test_if_empty:
+ { \peek_after:Nw \__nicematrix_test_if_empty_i: }
\cs_new_protected:Npn \__nicematrix_test_if_empty_i:
{
\str_set:Nx \l_tmpa_str { \token_to_meaning:N \l_peek_token }
@@ -2460,16 +2503,24 @@
{ \__nicematrix_test_if_empty:w }
}
\cs_new_protected:Npn \__nicematrix_test_if_empty:w \ignorespaces
+ { \peek_after:Nw \__nicematrix_test_if_empty_ii: }
+\cs_new_protected:Npn \__nicematrix_nullify_cell:
{
- \peek_meaning:NT \unskip
+ \tl_gput_right:Nn \g__nicematrix_cell_after_hook_tl
{
- \tl_gput_right:Nn \g__nicematrix_cell_after_hook_tl
- {
- \box_set_wd:Nn \l__nicematrix_cell_box \c_zero_dim
- \skip_horizontal:N \l__nicematrix_col_width_dim
- }
+ \box_set_wd:Nn \l__nicematrix_cell_box \c_zero_dim
+ \skip_horizontal:N \l__nicematrix_col_width_dim
}
}
+\bool_if:NTF \c__nicematrix_tagging_array_bool
+ {
+ \cs_new_protected:Npn \__nicematrix_test_if_empty_ii:
+ { \peek_meaning:NT \textonly@unskip \__nicematrix_nullify_cell: }
+ }
+ {
+ \cs_new_protected:Npn \__nicematrix_test_if_empty_ii:
+ { \peek_meaning:NT \unskip \__nicematrix_nullify_cell: }
+ }
\cs_new_protected:Npn \__nicematrix_test_if_empty_for_S:
{
\peek_meaning:NT \__siunitx_table_skip:n
@@ -2826,13 +2877,17 @@
\multispan { #1 }
\cs_set_eq:NN \__nicematrix_update_max_cell_width: \prg_do_nothing:
\begingroup
- \cs_set:Npn \@addamp
+ \bool_if:NT \c__nicematrix_testphase_table_bool
+ { \tbl_update_multicolumn_cell_data:n { #1 } }
+ \cs_set_nopar:Npn \@addamp
{ \legacy_if:nTF { @firstamp } { \@firstampfalse } { \@preamerr 5 } }
\tl_gclear:N \g__nicematrix_preamble_tl
\__nicematrix_make_m_preamble:n #2 \q_stop
\exp_args:No \@mkpream \g__nicematrix_preamble_tl
\@addtopreamble \@empty
\endgroup
+ \bool_if:NT \c__nicematrix_testphase_table_bool
+ { \UseTaggingSocket { tbl / colspan } { #1 } }
\int_compare:nNnT { #1 } > \c_one_int
{
\seq_gput_left:Nx \g__nicematrix_multicolumn_cells_seq
@@ -2855,7 +2910,7 @@
{ } % for the name of the block
}
}
- \cs_set:Npn \@sharp { #3 }
+ \cs_set_nopar:Npn \@sharp { #3 }
\@arstrut
\@preamble
\null
@@ -3282,7 +3337,7 @@
\tl_set_rescan:Nno \l__nicematrix_end_of_row_tl { } \l__nicematrix_end_of_row_tl
\bool_if:NTF \l__nicematrix_light_syntax_expanded_bool
\seq_set_split:Nee
- \seq_set_split:NVn
+ \seq_set_split:Non
\l__nicematrix_rows_seq \l__nicematrix_end_of_row_tl { #1 }
\seq_pop_right:NN \l__nicematrix_rows_seq \l_tmpa_tl
\tl_if_empty:NF \l_tmpa_tl
@@ -3457,7 +3512,7 @@
{ \skip_gset:Nn \g_tmpa_skip { 0 pt~plus 1 fill } }
\skip_horizontal:N \g_tmpa_skip
\int_gincr:N \g_tmpa_int
- \bool_lazy_any:nF % modified 2023/12/13
+ \bool_lazy_any:nF
{
\g__nicematrix_delims_bool
\l__nicematrix_tabular_bool
@@ -3527,7 +3582,7 @@
\endpgfpicture
}
}
- \cr
+ % \cr
}
\tl_const:Nn \c__nicematrix_preamble_first_col_tl
{
@@ -3735,7 +3790,11 @@
\__nicematrix_settings_for_tabular:
\NiceArray { #2 }
}
- { \endNiceArray }
+ {
+ \endNiceArray
+ \bool_if:NT \c__nicematrix_testphase_table_bool
+ { \UseTaggingSocket { tbl / hmode / end } }
+ }
\cs_new_protected:Npn \__nicematrix_settings_for_tabular:
{
\bool_set_true:N \l__nicematrix_tabular_bool
@@ -4003,6 +4062,14 @@
}
\anchor { 5 } { \five }
\anchor { center } { \pgfpointorigin }
+ \anchor { 1 } { \five \pgf@x = 0.2 \pgf@x \pgf@y = 0.2 \pgf@y }
+ \anchor { 2 } { \five \pgf@x = 0.4 \pgf@x \pgf@y = 0.4 \pgf@y }
+ \anchor { 3 } { \five \pgf@x = 0.6 \pgf@x \pgf@y = 0.6 \pgf@y }
+ \anchor { 4 } { \five \pgf@x = 0.8 \pgf@x \pgf@y = 0.8 \pgf@y }
+ \anchor { 6 } { \five \pgf@x = 1.2 \pgf@x \pgf@y = 1.2 \pgf@y }
+ \anchor { 7 } { \five \pgf@x = 1.4 \pgf@x \pgf@y = 1.4 \pgf@y }
+ \anchor { 8 } { \five \pgf@x = 1.6 \pgf@x \pgf@y = 1.6 \pgf@y }
+ \anchor { 9 } { \five \pgf@x = 1.8 \pgf@x \pgf@y = 1.8 \pgf@y }
}
\cs_new_protected:Npn \__nicematrix_create_diag_nodes:
{
@@ -7017,6 +7084,9 @@
}
\keys_define:nn { NiceMatrix / Block / FirstPass }
{
+ j .code:n = \str_set:Nn \l__nicematrix_hpos_block_str j
+ \bool_set_true:N \l__nicematrix_p_block_bool ,
+ j .value_forbidden:n = true ,
l .code:n = \str_set:Nn \l__nicematrix_hpos_block_str l ,
l .value_forbidden:n = true ,
r .code:n = \str_set:Nn \l__nicematrix_hpos_block_str r ,
@@ -7037,6 +7107,11 @@
b .value_forbidden:n = true ,
B .code:n = \str_set:Nn \l__nicematrix_vpos_block_str B ,
B .value_forbidden:n = true ,
+ m .code:n = \str_set:Nn \l__nicematrix_vpos_block_str c ,
+ m .value_forbidden:n = true ,
+ v-center .meta:n = m ,
+ p .code:n = \bool_set_true:N \l__nicematrix_p_block_bool ,
+ p .value_forbidden:n = true ,
color .code:n =
\__nicematrix_color:n { #1 }
\tl_set_rescan:Nnn
@@ -7072,12 +7147,12 @@
{
\bool_lazy_or:nnTF
{ \tl_if_blank_p:n { #1 } }
- { \str_if_eq_p:nn { #1 } { * } }
+ { \str_if_eq_p:Vn \c__nicematrix_star_str { #1 } }
{ \int_set:Nn \l_tmpa_int { 100 } }
{ \int_set:Nn \l_tmpa_int { #1 } }
\bool_lazy_or:nnTF
{ \tl_if_blank_p:n { #2 } }
- { \str_if_eq_p:nn { #2 } { * } }
+ { \str_if_eq_p:Vn \c__nicematrix_star_str { #2 } }
{ \int_set:Nn \l_tmpb_int { 100 } }
{ \int_set:Nn \l_tmpb_int { #2 } }
\int_compare:nNnTF \l_tmpb_int = \c_one_int
@@ -7095,18 +7170,21 @@
{ \int_eval:n { \c@iRow + \l_tmpa_int - 1 } }
{ \int_eval:n { \c@jCol + \l_tmpb_int - 1 } }
}
- \bool_if:nTF
- {
- (
- \int_compare_p:nNn \l_tmpa_int = \c_one_int
- ||
- \int_compare_p:nNn \l_tmpb_int = \c_one_int
- )
- && ! \tl_if_empty_p:n { #5 }
- && ! \l__nicematrix_X_bool
- }
- { \exp_args:Nee \__nicematrix_Block_iv:nnnnn }
- { \exp_args:Nee \__nicematrix_Block_v:nnnnn }
+ \bool_set_false:N \l_tmpa_bool
+ \bool_if:NT \l__nicematrix_amp_in_blocks_bool
+ { \tl_if_in:nnT { #5 } { & } { \bool_set_true:N \l_tmpa_bool } }
+ \bool_case:nF
+ {
+ \l_tmpa_bool { \exp_args:Nee \__nicematrix_Block_vii:nnnnn }
+ \l__nicematrix_p_block_bool { \exp_args:Nee \__nicematrix_Block_vi:nnnnn }
+ \l__nicematrix_X_bool { \exp_args:Nee \__nicematrix_Block_v:nnnnn }
+ { \tl_if_empty_p:n { #5 } } { \exp_args:Nee \__nicematrix_Block_v:nnnnn }
+ { \int_compare_p:nNn \l_tmpa_int = \c_one_int }
+ { \exp_args:Nee \__nicematrix_Block_iv:nnnnn }
+ { \int_compare_p:nNn \l_tmpb_int = \c_one_int }
+ { \exp_args:Nee \__nicematrix_Block_iv:nnnnn }
+ }
+ { \exp_args:Nee \__nicematrix_Block_v:nnnnn }
{ \l_tmpa_int } { \l_tmpb_int } { #3 } { #4 } { #5 }
}
\cs_new_protected:Npn \__nicematrix_Block_iv:nnnnn #1 #2 #3 #4 #5
@@ -7159,7 +7237,7 @@
\use:e
{
\exp_not:N \begin { minipage }%
- [ \str_lowercase:V \l__nicematrix_vpos_block_str ]
+ [ \str_lowercase:o \l__nicematrix_vpos_block_str ]
{ \l__nicematrix_col_width_dim }
\str_case:on \l__nicematrix_hpos_block_str
{ c \centering r \raggedleft l \raggedright }
@@ -7171,7 +7249,7 @@
\use:e
{
\exp_not:N \begin { tabular }%
- [ \str_lowercase:V \l__nicematrix_vpos_block_str ]
+ [ \str_lowercase:o \l__nicematrix_vpos_block_str ]
{ @ { } \l__nicematrix_hpos_block_str @ { } }
}
#5
@@ -7183,7 +7261,7 @@
\use:e
{
\exp_not:N \begin { array }%
- [ \str_lowercase:V \l__nicematrix_vpos_block_str ]
+ [ \str_lowercase:o \l__nicematrix_vpos_block_str ]
{ @ { } \l__nicematrix_hpos_block_str @ { } }
}
#5
@@ -7204,27 +7282,26 @@
}
}
}
- \str_if_eq:VnT \l__nicematrix_vpos_block_str { c }
+ \bool_lazy_and:nnT
+ { \int_compare_p:nNn { #1 } = \c_one_int }
+ { \str_if_empty_p:N \l__nicematrix_vpos_block_str }
{
- \int_compare:nNnT { #1 } = \c_one_int
+ \dim_gset:Nn \g__nicematrix_blocks_ht_dim
{
- \dim_gset:Nn \g__nicematrix_blocks_ht_dim
+ \dim_max:nn
+ \g__nicematrix_blocks_ht_dim
{
- \dim_max:nn
- \g__nicematrix_blocks_ht_dim
- {
- \box_ht:c
- { g__nicematrix_ block _ box _ \int_use:N \g__nicematrix_block_box_int _ box }
- }
+ \box_ht:c
+ { g__nicematrix_ block _ box _ \int_use:N \g__nicematrix_block_box_int _ box }
}
- \dim_gset:Nn \g__nicematrix_blocks_dp_dim
+ }
+ \dim_gset:Nn \g__nicematrix_blocks_dp_dim
+ {
+ \dim_max:nn
+ \g__nicematrix_blocks_dp_dim
{
- \dim_max:nn
- \g__nicematrix_blocks_dp_dim
- {
- \box_dp:c
- { g__nicematrix_ block _ box _ \int_use:N \g__nicematrix_block_box_int _ box }
- }
+ \box_dp:c
+ { g__nicematrix_ block _ box _ \int_use:N \g__nicematrix_block_box_int _ box }
}
}
}
@@ -7240,7 +7317,6 @@
{ m }
{ \int_compare:nNnT \c@iRow = \l__nicematrix_last_row_int T }
}
-
}
{
\box_use_drop:c
@@ -7310,13 +7386,15 @@
{
\dim_zero:N \extrarowheight
#4
- \use:e
- {
- \exp_not:N \begin { tabular } [ \l__nicematrix_vpos_block_str ]
- { @ { } \l__nicematrix_hpos_block_str @ { } }
- }
- #5
- \end { tabular }
+ \bool_if:NT \c__nicematrix_testphase_table_bool
+ { \tag_stop:n { table } }
+ \use:e
+ {
+ \exp_not:N \begin { tabular } [ \l__nicematrix_vpos_block_str ]
+ { @ { } \l__nicematrix_hpos_block_str @ { } }
+ }
+ #5
+ \end { tabular }
}
\group_end:
}
@@ -7342,8 +7420,33 @@
}
}
}
+\cs_new_protected:Npn \__nicematrix_Block_vi:nnnnn #1 #2 #3 #4 #5
+ {
+ \seq_gput_right:Nx \g__nicematrix_blocks_seq
+ {
+ \l_tmpa_tl
+ { \exp_not:n { #3 } }
+ {
+ \group_begin:
+ \exp_not:n { #4 #5 }
+ \group_end:
+ }
+ }
+ }
+\cs_new_protected:Npn \__nicematrix_Block_vii:nnnnn #1 #2 #3 #4 #5
+ {
+ \seq_gput_right:Nx \g__nicematrix_blocks_seq
+ {
+ \l_tmpa_tl
+ { \exp_not:n { #3 } }
+ { \exp_not:n { #4 #5 } }
+ }
+ }
\keys_define:nn { NiceMatrix / Block / SecondPass }
{
+ ampersand-in-blocks .bool_set:N = \l__nicematrix_amp_in_blocks_bool ,
+ ampersand-in-blocks .default:n = true ,
+ &-in-blocks .meta:n = ampersand-in-blocks ,
tikz .code:n =
\IfPackageLoadedTF { tikz }
{ \seq_put_right:Nn \l__nicematrix_tikz_seq { { #1 } } }
@@ -7380,6 +7483,8 @@
hlines .default:n = true ,
line-width .dim_set:N = \l__nicematrix_line_width_dim ,
line-width .value_required:n = true ,
+ j .code:n = \str_set:Nn \l__nicematrix_hpos_block_str j
+ \bool_set_true:N \l__nicematrix_p_block_bool ,
l .code:n = \str_set:Nn \l__nicematrix_hpos_block_str l ,
r .code:n = \str_set:Nn \l__nicematrix_hpos_block_str r ,
c .code:n = \str_set:Nn \l__nicematrix_hpos_block_str c ,
@@ -7393,9 +7498,11 @@
T .code:n = \str_set:Nn \l__nicematrix_vpos_block_str T ,
b .code:n = \str_set:Nn \l__nicematrix_vpos_block_str b ,
B .code:n = \str_set:Nn \l__nicematrix_vpos_block_str B ,
- m .code:n = \str_set:Nn \l__nicematrix_vpos_block_str { c } ,
+ m .code:n = \str_set:Nn \l__nicematrix_vpos_block_str c ,
m .value_forbidden:n = true ,
v-center .meta:n = m ,
+ p .code:n = \bool_set_true:N \l__nicematrix_p_block_bool ,
+ p .value_forbidden:n = true ,
name .tl_set:N = \l__nicematrix_block_name_str ,
name .value_required:n = true ,
name .initial:n = ,
@@ -7442,16 +7549,28 @@
{
\int_compare:nNnTF \l__nicematrix_last_row_int > \g__nicematrix_row_total_int
{ \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
- { \__nicematrix_Block_v:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
+ {
+ \__nicematrix_Block_v:nnVVnn
+ { #1 }
+ { #2 }
+ \l__nicematrix_last_row_int
+ \l__nicematrix_last_col_int
+ { #5 }
+ { #6 }
+ }
}
}
+\cs_generate_variant:Nn \__nicematrix_Block_v:nnnnnn { n n V V n n }
\cs_new_protected:Npn \__nicematrix_Block_v:nnnnnn #1 #2 #3 #4 #5 #6
{
\group_begin:
\int_compare:nNnT { #1 } = { #3 }
{ \str_set:Nn \l__nicematrix_vpos_block_str { t } }
\keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
- \bool_if:NT \l__nicematrix_vlines_block_bool
+ \tl_if_in:nnT { #6 } { & } { \bool_set_true:N \l__nicematrix_ampersand_bool }
+ \bool_lazy_and:nnT
+ \l__nicematrix_vlines_block_bool
+ { ! \l__nicematrix_ampersand_bool }
{
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{
@@ -7555,195 +7674,325 @@
{ \exp_not:n { ##1 } } { \exp_not:n { ##2 } }
}
}
- \hbox_set:Nn \l__nicematrix_cell_box { \set@color #6 }
- \bool_if:NT \g__nicematrix_rotate_bool \__nicematrix_rotate_cell_box:
\pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \__nicematrix_qpoint:n { row - #1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \__nicematrix_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ \__nicematrix_qpoint:n { row - \int_eval:n { \l__nicematrix_last_row_int + 1 } }
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
+ \__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_last_col_int + 1 } }
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
+ \__nicematrix_pgf_rect_node:nnnnn
+ { \__nicematrix_env: - #1 - #2 - block }
+ \l_tmpb_dim \l_tmpa_dim \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim
+ \str_if_empty:NF \l__nicematrix_block_name_str
+ {
+ \pgfnodealias
+ { \__nicematrix_env: - \l__nicematrix_block_name_str }
+ { \__nicematrix_env: - #1 - #2 - block }
+ \str_if_empty:NF \l__nicematrix_name_str
+ {
+ \pgfnodealias
+ { \l__nicematrix_name_str - \l__nicematrix_block_name_str }
+ { \__nicematrix_env: - #1 - #2 - block }
+ }
+ }
+ \bool_if:NF \l__nicematrix_hpos_of_block_cap_bool
+ {
+ \dim_set_eq:NN \l_tmpb_dim \c_max_dim
+ \int_step_inline:nnn \l__nicematrix_first_row_int \g__nicematrix_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \__nicematrix_env: - ##1 - #2 }
+ {
+ \seq_if_in:NnF \g__nicematrix_multicolumn_cells_seq { ##1 - #2 }
+ {
+ \pgfpointanchor { \__nicematrix_env: - ##1 - #2 } { west }
+ \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
+ }
+ }
+ }
+ \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
+ {
+ \__nicematrix_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ }
+ \dim_set:Nn \l__nicematrix_tmpd_dim { - \c_max_dim }
+ \int_step_inline:nnn \l__nicematrix_first_row_int \g__nicematrix_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \__nicematrix_env: - ##1 - \int_use:N \l__nicematrix_last_col_int }
+ {
+ \seq_if_in:NnF \g__nicematrix_multicolumn_cells_seq { ##1 - #2 }
+ {
+ \pgfpointanchor
+ { \__nicematrix_env: - ##1 - \int_use:N \l__nicematrix_last_col_int }
+ { east }
+ \dim_set:Nn \l__nicematrix_tmpd_dim { \dim_max:nn \l__nicematrix_tmpd_dim \pgf@x }
+ }
+ }
+ }
+ \dim_compare:nNnT \l__nicematrix_tmpd_dim = { - \c_max_dim }
+ {
+ \__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_last_col_int + 1 } }
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
+ }
+ \__nicematrix_pgf_rect_node:nnnnn
+ { \__nicematrix_env: - #1 - #2 - block - short }
+ \l_tmpb_dim \l_tmpa_dim \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim
+ }
+ \bool_if:NT \l__nicematrix_medium_nodes_bool
+ {
+ \__nicematrix_pgf_rect_node:nnn
+ { \__nicematrix_env: - #1 - #2 - block - medium }
+ { \pgfpointanchor { \__nicematrix_env: - #1 - #2 - medium } { north~west } }
+ {
+ \pgfpointanchor
+ { \__nicematrix_env:
+ - \int_use:N \l__nicematrix_last_row_int
+ - \int_use:N \l__nicematrix_last_col_int - medium
+ }
+ { south~east }
+ }
+ }
+ \endpgfpicture
+ \bool_if:NTF \l__nicematrix_ampersand_bool
+ {
+ \seq_set_split:Nnn \l_tmpa_seq { & } { #6 }
+ \int_zero_new:N \l__nicematrix_split_int
+ \int_set:Nn \l__nicematrix_split_int { \seq_count:N \l_tmpa_seq }
+ \pgfpicture
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
\__nicematrix_qpoint:n { row - #1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \__nicematrix_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- \__nicematrix_qpoint:n { row - \int_eval:n { \l__nicematrix_last_row_int + 1 } }
\dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
- \__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_last_col_int + 1 } }
- \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
- \__nicematrix_pgf_rect_node:nnnnn
- { \__nicematrix_env: - #1 - #2 - block }
- \l_tmpb_dim \l_tmpa_dim \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim
- \str_if_empty:NF \l__nicematrix_block_name_str
+ \__nicematrix_qpoint:n { row - \int_eval:n { #3 + 1 } }
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@y
+ \__nicematrix_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \__nicematrix_qpoint:n { col - \int_eval:n { #4 + 1 } }
+ \dim_set:Nn \l_tmpb_dim
+ { ( \pgf@x - \l_tmpa_dim ) / \int_use:N \l__nicematrix_split_int }
+ \bool_lazy_or:nnT
+ \l__nicematrix_vlines_block_bool
+ { \tl_if_eq_p:NN \l__nicematrix_vlines_clist \c__nicematrix_all_tl }
{
- \pgfnodealias
- { \__nicematrix_env: - \l__nicematrix_block_name_str }
- { \__nicematrix_env: - #1 - #2 - block }
- \str_if_empty:NF \l__nicematrix_name_str
+ \int_step_inline:nn { \l__nicematrix_split_int - 1 }
{
- \pgfnodealias
- { \l__nicematrix_name_str - \l__nicematrix_block_name_str }
- { \__nicematrix_env: - #1 - #2 - block }
+ \pgfpathmoveto
+ {
+ \pgfpoint
+ { \l_tmpa_dim + ##1 \l_tmpb_dim }
+ \l__nicematrix_tmpc_dim
+ }
+ \pgfpathlineto
+ {
+ \pgfpoint
+ { \l_tmpa_dim + ##1 \l_tmpb_dim }
+ \l__nicematrix_tmpd_dim
+ }
+ \CT@arc@
+ \pgfsetlinewidth { 1.1 \arrayrulewidth }
+ \pgfsetrectcap
+ \pgfusepathqstroke
}
}
- \bool_if:NF \l__nicematrix_hpos_of_block_cap_bool
+ \__nicematrix_qpoint:n { row - #1 - base }
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
+ \int_step_inline:nn \l__nicematrix_split_int
{
- \dim_set_eq:NN \l_tmpb_dim \c_max_dim
- \int_step_inline:nnn \l__nicematrix_first_row_int \g__nicematrix_row_total_int
+ \group_begin:
+ \dim_set:Nn \col@sep
+ { \bool_if:NTF \l__nicematrix_tabular_bool \tabcolsep \arraycolsep }
+ \pgftransformshift
{
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \__nicematrix_env: - ##1 - #2 }
+ \pgfpoint
{
- \seq_if_in:NnF \g__nicematrix_multicolumn_cells_seq { ##1 - #2 }
+ \str_case:on \l__nicematrix_hpos_block_str
{
- \pgfpointanchor { \__nicematrix_env: - ##1 - #2 } { west }
- \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
+ l { \l_tmpa_dim + ##1 \l_tmpb_dim - \l_tmpb_dim + \col@sep}
+ c { \l_tmpa_dim + ##1 \l_tmpb_dim - 0.5 \l_tmpb_dim }
+ r { \l_tmpa_dim + ##1 \l_tmpb_dim - \col@sep }
}
}
+ { \l__nicematrix_tmpc_dim }
}
- \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
+ \pgfset
{
- \__nicematrix_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ inner~xsep = \c_zero_dim ,
+ inner~ysep = \c_zero_dim
}
- \dim_set:Nn \l__nicematrix_tmpd_dim { - \c_max_dim }
- \int_step_inline:nnn \l__nicematrix_first_row_int \g__nicematrix_row_total_int
+ \pgfnode
+ { rectangle }
{
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \__nicematrix_env: - ##1 - \int_use:N \l__nicematrix_last_col_int }
+ \str_case:on \l__nicematrix_hpos_block_str
{
- \seq_if_in:NnF \g__nicematrix_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor
- { \__nicematrix_env: - ##1 - \int_use:N \l__nicematrix_last_col_int }
- { east }
- \dim_set:Nn \l__nicematrix_tmpd_dim { \dim_max:nn \l__nicematrix_tmpd_dim \pgf@x }
- }
+ c { base }
+ l { base~west }
+ r { base~east }
}
}
- \dim_compare:nNnT \l__nicematrix_tmpd_dim = { - \c_max_dim }
- {
- \__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_last_col_int + 1 } }
- \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
- }
- \__nicematrix_pgf_rect_node:nnnnn
- { \__nicematrix_env: - #1 - #2 - block - short }
- \l_tmpb_dim \l_tmpa_dim \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim
+ { \seq_item:Nn \l_tmpa_seq { ##1 } } { } { }
+ \group_end:
}
- \bool_if:NT \l__nicematrix_medium_nodes_bool
- {
- \__nicematrix_pgf_rect_node:nnn
- { \__nicematrix_env: - #1 - #2 - block - medium }
- { \pgfpointanchor { \__nicematrix_env: - #1 - #2 - medium } { north~west } }
- {
- \pgfpointanchor
- { \__nicematrix_env:
- - \int_use:N \l__nicematrix_last_row_int
- - \int_use:N \l__nicematrix_last_col_int - medium
+ \endpgfpicture
+ }
+ {
+ \bool_if:NTF \l__nicematrix_p_block_bool
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \bool_if:NTF \l__nicematrix_hpos_of_block_cap_bool
+ {
+ \__nicematrix_qpoint:n { col - #2 }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@x
+ \__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_last_col_int + 1 } }
+ }
+ {
+ \pgfpointanchor { \__nicematrix_env: - #1 - #2 - block - short } { west }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@x
+ \pgfpointanchor { \__nicematrix_env: - #1 - #2 - block - short } { east }
+ }
+ \dim_gset:Nn \g_tmpb_dim { \pgf@x - \g_tmpa_dim }
+ \endpgfpicture
+ \hbox_set:Nn \l__nicematrix_cell_box
+ {
+ \begin { minipage } [ \str_lowercase:o \l__nicematrix_vpos_block_str ]
+ { \g_tmpb_dim }
+ \str_case:on \l__nicematrix_hpos_block_str
+ { c \centering r \raggedleft l \raggedright j { } }
+ #6
+ \end { minipage }
}
- { south~east }
}
- }
- \bool_lazy_any:nTF
- {
- { \str_if_eq_p:on \l__nicematrix_vpos_block_str { c } }
- { \str_if_eq_p:on \l__nicematrix_vpos_block_str { T } }
- { \str_if_eq_p:on \l__nicematrix_vpos_block_str { B } }
- }
- {
- \int_if_zero:nT { #2 } { \str_set_eq:NN \l__nicematrix_hpos_block_str \c__nicematrix_r_str }
- \bool_if:nT \g__nicematrix_last_col_found_bool
+ { \hbox_set:Nn \l__nicematrix_cell_box { \set@color #6 } }
+ \bool_if:NT \g__nicematrix_rotate_bool \__nicematrix_rotate_cell_box:
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \bool_lazy_any:nTF
{
- \int_compare:nNnT { #2 } = \g__nicematrix_col_total_int
- { \str_set_eq:NN \l__nicematrix_hpos_block_str \c__nicematrix_l_str }
+ { \str_if_empty_p:N \l__nicematrix_vpos_block_str } % added 2024/06/29
+ { \str_if_eq_p:on \l__nicematrix_vpos_block_str { c } }
+ { \str_if_eq_p:on \l__nicematrix_vpos_block_str { T } }
+ { \str_if_eq_p:on \l__nicematrix_vpos_block_str { B } }
}
- \tl_set:Nx \l_tmpa_tl
{
- \str_case:on \l__nicematrix_vpos_block_str
+ \int_if_zero:nT { #2 } { \str_set_eq:NN \l__nicematrix_hpos_block_str \c__nicematrix_r_str }
+ \bool_if:nT \g__nicematrix_last_col_found_bool
{
- c {
- \str_case:on \l__nicematrix_hpos_block_str
- {
- c { center }
- l { west }
- r { east }
- }
+ \int_compare:nNnT { #2 } = \g__nicematrix_col_total_int
+ { \str_set_eq:NN \l__nicematrix_hpos_block_str \c__nicematrix_l_str }
+ }
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \str_case:on \l__nicematrix_vpos_block_str
+ {
+ { } { % added 2024-06-29
+ \str_case:on \l__nicematrix_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ j { center }
+ }
+ }
+ c {
+ \str_case:on \l__nicematrix_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ j { center }
+ }
- }
- T {
- \str_case:on \l__nicematrix_hpos_block_str
- {
- c { north }
- l { north~west }
- r { north~east }
}
+ T {
+ \str_case:on \l__nicematrix_hpos_block_str
+ {
+ c { north }
+ l { north~west }
+ r { north~east }
+ j { north }
+ }
- }
- B {
- \str_case:on \l__nicematrix_hpos_block_str
- {
- c { south}
- l { south~west }
- r { south~east }
}
+ B {
+ \str_case:on \l__nicematrix_hpos_block_str
+ {
+ c { south }
+ l { south~west }
+ r { south~east }
+ j { south }
+ }
+ }
}
}
- }
- \pgftransformshift
- {
- \pgfpointanchor
+ \pgftransformshift
{
- \__nicematrix_env: - #1 - #2 - block
- \bool_if:NF \l__nicematrix_hpos_of_block_cap_bool { - short }
+ \pgfpointanchor
+ {
+ \__nicematrix_env: - #1 - #2 - block
+ \bool_if:NF \l__nicematrix_hpos_of_block_cap_bool { - short }
+ }
+ { \l_tmpa_tl }
+ }
+ \pgfset
+ {
+ inner~xsep = \c_zero_dim ,
+ inner~ysep = \c_zero_dim
}
+ \pgfnode
+ { rectangle }
{ \l_tmpa_tl }
+ { \box_use_drop:N \l__nicematrix_cell_box } { } { }
}
- \pgfset
{
- inner~xsep = \c_zero_dim ,
- inner~ysep = \c_zero_dim
- }
- \pgfnode
- { rectangle }
- { \l_tmpa_tl }
- { \box_use_drop:N \l__nicematrix_cell_box } { } { }
- }
- {
- \pgfextracty \l_tmpa_dim
- {
- \__nicematrix_qpoint:n
+ \pgfextracty \l_tmpa_dim
{
- row - \str_if_eq:onTF \l__nicematrix_vpos_block_str { b } { #3 } { #1 }
- - base
+ \__nicematrix_qpoint:n
+ {
+ row - \str_if_eq:onTF \l__nicematrix_vpos_block_str { b } { #3 } { #1 }
+ - base
+ }
}
- }
- \dim_sub:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
- \pgfpointanchor
- {
- \__nicematrix_env: - #1 - #2 - block
- \bool_if:NF \l__nicematrix_hpos_of_block_cap_bool { - short }
- }
- {
- \str_case:on \l__nicematrix_hpos_block_str
+ \dim_sub:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
+ \pgfpointanchor
{
- c { center }
- l { west }
- r { east }
+ \__nicematrix_env: - #1 - #2 - block
+ \bool_if:NF \l__nicematrix_hpos_of_block_cap_bool { - short }
}
- }
- \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
- \pgfset { inner~sep = \c_zero_dim }
- \pgfnode
- { rectangle }
- {
- \str_case:on \l__nicematrix_hpos_block_str
{
- c { base }
- l { base~west }
- r { base~east }
+ \str_case:on \l__nicematrix_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ j { center }
+ }
+ }
+ \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
+ \pgfset { inner~sep = \c_zero_dim }
+ \pgfnode
+ { rectangle }
+ {
+ \str_case:on \l__nicematrix_hpos_block_str
+ {
+ c { base }
+ l { base~west }
+ r { base~east }
+ j { base }
+ }
}
+ { \box_use_drop:N \l__nicematrix_cell_box } { } { }
}
- { \box_use_drop:N \l__nicematrix_cell_box } { } { }
+ \endpgfpicture
}
- \endpgfpicture
\group_end:
}
\cs_new_protected:Npn \__nicematrix_stroke_block:nnn #1 #2 #3
@@ -8607,6 +8856,7 @@
{
\nullfont
\c_math_toggle_token
+ \colorlet { current-color } { . }
\__nicematrix_color:o \l__nicematrix_delimiters_color_tl
\left .
\vcenter
@@ -8618,7 +8868,7 @@
}
\right #1
\tl_if_empty:nF { #3 } { _ { \smash { #3 } } }
- ^ { \smash { #4 } }
+ ^ { \color { current-color } \smash { #4 } }
\c_math_toggle_token
}
{ #2 }
@@ -8638,9 +8888,12 @@
{
left-shorten .bool_set:N = \l__nicematrix_brace_left_shorten_bool ,
left-shorten .default:n = true ,
+ left-shorten .value_forbidden:n = true ,
right-shorten .bool_set:N = \l__nicematrix_brace_right_shorten_bool ,
- shorten .meta:n = { left-shorten , right-shorten } ,
right-shorten .default:n = true ,
+ right-shorten .value_forbidden:n = true ,
+ shorten .meta:n = { left-shorten , right-shorten } ,
+ shorten .value_forbidden:n = true ,
yshift .dim_set:N = \l__nicematrix_brace_yshift_dim ,
yshift .value_required:n = true ,
yshift .initial:n = \c_zero_dim ,
@@ -8886,9 +9139,9 @@
}
\NewDocumentCommand \__nicematrix_ShowCellNames_CodeBefore { }
{
- \dim_zero_new:N \g__nicematrix_tmpc_dim
- \dim_zero_new:N \g__nicematrix_tmpd_dim
- \dim_zero_new:N \g__nicematrix_tmpe_dim
+ \dim_gzero_new:N \g__nicematrix_tmpc_dim
+ \dim_gzero_new:N \g__nicematrix_tmpd_dim
+ \dim_gzero_new:N \g__nicematrix_tmpe_dim
\int_step_inline:nn \c@iRow
{
\begin { pgfpicture }
@@ -8969,9 +9222,9 @@
\pgfusepathqfill
\endpgfpicture
}
- \dim_zero_new:N \g__nicematrix_tmpc_dim
- \dim_zero_new:N \g__nicematrix_tmpd_dim
- \dim_zero_new:N \g__nicematrix_tmpe_dim
+ \dim_gzero_new:N \g__nicematrix_tmpc_dim
+ \dim_gzero_new:N \g__nicematrix_tmpd_dim
+ \dim_gzero_new:N \g__nicematrix_tmpe_dim
\int_step_inline:nn \c@iRow
{
\bool_if:NTF \l__nicematrix_in_code_after_bool
@@ -9210,7 +9463,7 @@
~you~try~to~use~more~columns~than~allowed~by~your~
\__nicematrix_full_name_env:.\__nicematrix_message_hdotsfor:\ The~maximal~number~of~columns~is~
\int_use:N \g__nicematrix_static_num_of_col_int\
- ~(plus~the~potential~exterior~ones).
+ ~(plus~the~potential~exterior~ones).~
This~error~is~fatal.
}
\__nicematrix_msg_new:nn { columns~not~used }
@@ -9221,6 +9474,12 @@
The~columns~you~did~not~used~won't~be~created.\\
You~won't~have~similar~error~message~till~the~end~of~the~document.
}
+\__nicematrix_msg_new:nn { empty~preamble }
+ {
+ Empty~preamble.\\
+ The~preamble~of~your~\__nicematrix_full_name_env:\ is~empty.\\
+ This~error~is~fatal.
+ }
\__nicematrix_msg_new:nn { in~first~col }
{
Erroneous~use.\\
@@ -9393,7 +9652,7 @@
Incompatible~keys.\\
You~can't~use~the~keys~'hlines',~'vlines'~or~'hvlines'~for~a~
'\token_to_str:N \Block'~when~the~key~'color'~or~'draw'~is~used.\\
- Maybe~it~will~possible~in~future~version.\\
+ However,~you~can~put~several~commands~\token_to_str:N \Block.\\
Your~key~will~be~discarded.
}
\__nicematrix_msg_new:nn { bad~value~for~baseline }
@@ -9422,7 +9681,7 @@
\__nicematrix_msg_new:nn { ragged2e~not~loaded }
{
You~have~to~load~'ragged2e'~in~order~to~use~the~key~'\l_keys_key_str'~in~
- your~column~'\l__nicematrix_vpos_col_str'~(or~'X').~The~key~'\str_lowercase:V
+ your~column~'\l__nicematrix_vpos_col_str'~(or~'X').~The~key~'\str_lowercase:o
\l_keys_key_str'~will~be~used~instead.
}
\__nicematrix_msg_new:nn { Invalid~name }
@@ -9752,9 +10011,10 @@
\c__nicematrix_available_keys_str
}
{
- The~available~keys~are~(in~alphabetic~order):~b,~B,~borders,~c,~draw,~fill,~
- hlines,~hvlines,~l,~line-width,~name,~opacity,~rounded-corners,~r,~
- respect-arraystretch,~t,~T,~tikz,~transparent~and~vlines.
+ The~available~keys~are~(in~alphabetic~order):~&-in-blocks,~ampersand-in-blocks,~
+ b,~B,~borders,~c,~draw,~fill,~hlines,~hvlines,~l,~line-width,~name,~
+ opacity,~rounded-corners,~r,~respect-arraystretch,~t,~T,~tikz,~transparent~
+ and~vlines.
}
\__nicematrix_msg_new:nnn { Unknown~key~for~Brace }
{
@@ -9866,7 +10126,9 @@
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
allow-duplicate-names,~
+ ampersand-in-blocks,~
caption-above,~
cell-space-bottom-limit,~
cell-space-limits,~
@@ -9880,6 +10142,7 @@
create-extra-nodes,~
create-medium-nodes,~
create-large-nodes,~
+ custom-line,~
delimiters~(several~subkeys),~
end-of-row,~
first-col,~
@@ -9918,6 +10181,8 @@
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
+ ampersand-in-blocks,~
b,~
baseline,~
c,~
@@ -9975,6 +10240,8 @@
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
+ ampersand-in-blocks,~
b,~
baseline,~
c,~
@@ -10035,6 +10302,8 @@
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
+ ampersand-in-blocks,~
b,~
baseline,~
c,~
diff --git a/Master/texmf-dist/tex/latex/notomath/notomath.sty b/Master/texmf-dist/tex/latex/notomath/notomath.sty
index 9939912d3bc..7fd74701d5c 100644
--- a/Master/texmf-dist/tex/latex/notomath/notomath.sty
+++ b/Master/texmf-dist/tex/latex/notomath/notomath.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{1.03}
-\def\filedate{2023/08/21}
+\def\fileversion{1.031}
+\def\filedate{2024/06/03}
\ProvidesPackage{notomath}
[\filedate\space v\fileversion.\space (Michael Sharpe) Supports Noto text and math fonts for LaTeX usage.]
@@ -51,7 +51,7 @@
\ProcessOptionsX\relax
-\ifnoto@sfdefault{\noto@MO{notosans}\else\noto@MO{noto}\fi
+\ifnoto@sfdefault\noto@MO{notosans}\else\noto@MO{noto}\fi
%\edef\noto@mopt{scale=\NotoMath@scale,\noto@mopt}
\newdimen\notomath@dima
% use the scale for math to set noto text scale factors
diff --git a/Master/texmf-dist/tex/latex/nxuthesis/nxuthesis.cls b/Master/texmf-dist/tex/latex/nxuthesis/nxuthesis.cls
new file mode 100644
index 00000000000..4849dc4705f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nxuthesis/nxuthesis.cls
@@ -0,0 +1,3531 @@
+%%
+%% This is file `nxuthesis.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Xianyuan Bao <baoxianyuan@126.com>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% To produce the documentation run the original source files ending with `.dtx'
+%% through LaTeX.
+%%
+\NeedsTeXFormat{LaTeX2e}[2017/04/15]
+\ProvidesClass{nxuthesis}
+[2024/05/20 1.0.0 Ningxia University Thesis Template]
+\newcommand\nxu@error[1]{%
+ \ClassError{nxuthesis}{#1}{}%
+}
+\newcommand\nxu@warning[1]{%
+ \ClassWarning{nxuthesis}{#1}%
+}
+\newcommand\nxu@debug[1]{%
+ \typeout{Package nxuthesis Info: #1}%
+}
+\newcommand\nxu@patch@error[1]{%
+ \nxu@error{Failed to patch command \protect#1}%
+}
+\newcommand\nxu@deprecate[2]{%
+ \def\nxu@@tmp{#2}%
+ \nxu@warning{%
+ The #1 is deprecated%
+ \ifx\nxu@@tmp\@empty\else
+ . Use #2 instead%
+ \fi
+ }%
+}
+\@ifl@t@r\fmtversion{2017/04/15}{}{
+ \nxu@error{%
+ TeX Live 2017 or later version is required to compile this document%
+ }
+}
+\RequirePackage{iftex}
+\ifXeTeX\else
+ \ifLuaTeX\else
+ \nxu@error{XeLaTeX or LuaLaTeX is required to compile this document}
+ \fi
+\fi
+\InputIfFileExists{nxuthesis-pdf-test-config.tex}{}{
+ \InputIfFileExists{nxuthesis-log-test-config.tex}{}{}
+}
+\hyphenation{Nxu-Thesis}
+\def\nxuthesis{nxuthesis}
+\def\version{1.0.0}
+\RequirePackage{kvdefinekeys}
+\RequirePackage{kvsetkeys}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+ family=nxu,
+ prefix=nxu@,
+ setkeys=\kvsetkeys}
+\let\nxu@setup@hook\@empty
+\newcommand\nxusetup[1]{%
+ \let\nxu@setup@hook\@empty
+ \kvsetkeys{nxu}{#1}%
+ \nxu@setup@hook
+}
+\newcommand\nxu@define@key[1]{%
+ \kvsetkeys{nxu@key}{#1}%
+}
+\kv@set@family@handler{nxu@key}{%
+ \@namedef{nxu@#1@@name}{#1}%
+ \def\nxu@@default{}%
+ \def\nxu@@choices{}%
+ \kv@define@key{nxu@value}{name}{%
+ \@namedef{nxu@#1@@name}{##1}%
+ }%
+ \@namedef{nxu@#1@@check}{}%
+ \@namedef{nxu@#1@@code}{}%
+ \kv@define@key{nxu@value}{choices}{%
+ \def\nxu@@choices{##1}%
+ \@namedef{nxu@#1@@reset}{}%
+ \@namedef{nxu@#1@@check}{%
+ \@ifundefined{%
+ ifnxu@\@nameuse{nxu@#1@@name}@\@nameuse{nxu@\@nameuse{nxu@#1@@name}}%
+ }{%
+ \nxu@error{Invalid value "#1 = \@nameuse{nxu@\@nameuse{nxu@#1@@name}}"}%
+ }%
+ \@nameuse{nxu@#1@@reset}%
+ \@nameuse{nxu@\@nameuse{nxu@#1@@name}@\@nameuse{nxu@\@nameuse{nxu@#1@@name}}true}%
+ }%
+ }%
+ \kv@define@key{nxu@value}{default}{%
+ \def\nxu@@default{##1}%
+ }%
+ \kvsetkeys{nxu@value}{#2}%
+ \@namedef{nxu@\@nameuse{nxu@#1@@name}}{}%
+ \kv@set@family@handler{nxu@choice}{%
+ \ifx\nxu@@default\@empty
+ \def\nxu@@default{##1}%
+ \fi
+ \expandafter\newif\csname ifnxu@\@nameuse{nxu@#1@@name}@##1\endcsname
+ \expandafter\g@addto@macro\csname nxu@#1@@reset\endcsname{%
+ \@nameuse{nxu@\@nameuse{nxu@#1@@name}@##1false}%
+ }%
+ }%
+ \kvsetkeys@expandafter{nxu@choice}{\nxu@@choices}%
+ \expandafter\let\csname nxu@\@nameuse{nxu@#1@@name}\endcsname\nxu@@default
+ \expandafter\ifx\csname nxu@\@nameuse{nxu@#1@@name}\endcsname\@empty\else
+ \@nameuse{nxu@#1@@check}%
+ \fi
+ \kv@define@key{nxu}{#1}{%
+ \@namedef{nxu@\@nameuse{nxu@#1@@name}}{##1}%
+ \@nameuse{nxu@#1@@check}%
+ \@nameuse{nxu@#1@@code}%
+ }%
+}
+\newcommand\nxu@option@hook[2]{%
+ \expandafter\g@addto@macro\csname nxu@#1@@code\endcsname{#2}%
+}
+\nxu@define@key{
+ thesis-type = {
+ name = thesis@type,
+ choices = {
+ thesis,
+ proposal,
+ },
+ default = thesis,
+ },
+ degree = {
+ choices = {
+ master,
+ doctor,
+ },
+ default = master,
+ },
+ degree-type = {
+ choices = {
+ academic,
+ professional,
+ },
+ name = degree@type,
+ },
+ main-language = {
+ name = main@language,
+ choices = {
+ chinese,
+ english,
+ },
+ },
+ language = {
+ choices = {
+ chinese,
+ english,
+ },
+ },
+ system = {
+ choices = {
+ auto,
+ mac,
+ unix,
+ windows,
+ },
+ default = auto,
+ },
+ fontset = {
+ choices = {
+ auto,
+ windows,
+ mac,
+ ubuntu,
+ fandol,
+ none,
+ },
+ default = auto,
+ },
+ font = {
+ choices = {
+ auto,
+ times,
+ termes,
+ stix,
+ xits,
+ libertinus,
+ newcm,
+ lm,
+ newtx,
+ none,
+ },
+ default = auto,
+ },
+ cjk-font = {
+ name = cjk@font,
+ choices = {
+ auto,
+ windows,
+ windows-local,
+ mac,
+ mac-word,
+ noto,
+ fandol,
+ none,
+ },
+ default = auto,
+ },
+ windows-font-dir = {
+ name = windows@font@dir,
+ default = {.},
+ },
+ math-font = {
+ name = math@font,
+ choices = {
+ auto,
+ stix,
+ xits,
+ libertinus,
+ newcm,
+ lm,
+ newtx,
+ none,
+ },
+ default = auto,
+ },
+ math-style = {
+ name = math@style,
+ choices = {
+ GB,
+ ISO,
+ TeX,
+ },
+ },
+ uppercase-greek = {
+ name = uppercase@greek,
+ choices = {
+ italic,
+ upright,
+ },
+ },
+ less-than-or-equal = {
+ name = leq,
+ choices = {
+ slanted,
+ horizontal,
+ },
+ },
+ integral = {
+ choices = {
+ upright,
+ slanted,
+ },
+ },
+ integral-limits = {
+ name = integral@limits,
+ choices = {
+ true,
+ false,
+ },
+ },
+ partial = {
+ choices = {
+ upright,
+ italic,
+ },
+ },
+ math-ellipsis = {
+ name = math@ellipsis,
+ choices = {
+ centered,
+ lower,
+ AMS,
+ },
+ },
+ real-part = {
+ name = real@part,
+ choices = {
+ roman,
+ fraktur,
+ },
+ },
+ output = {
+ choices = {
+ print,
+ electronic,
+ },
+ default = print,
+ },
+}
+\newif\ifnxu@degree@graduate
+\newcommand\nxu@set@graduate{%
+ \nxu@degree@graduatefalse
+ \ifnxu@degree@doctor
+ \nxu@degree@graduatetrue
+ \fi
+ \ifnxu@degree@master
+ \nxu@degree@graduatetrue
+ \fi
+}
+\nxu@set@graduate
+\nxu@option@hook{degree}{%
+ \nxu@set@graduate
+}
+\DeclareBoolOption[false]{openright}
+\DeclareComplementaryOption{openany}{openright}
+\DeclareBoolOption[true]{raggedbottom}
+\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}}
+\ProcessKeyvalOptions*
+\ifnxu@openright
+ \PassOptionsToClass{openright}{book}
+\else
+ \PassOptionsToClass{openany}{book}
+\fi
+\PassOptionsToPackage{no-math}{fontspec}
+\LoadClass[a4paper,UTF8,zihao=-4,scheme=plain,fontset=none]{ctexbook}[2017/04/01]
+\RequirePackage{etoolbox}
+\RequirePackage{filehook}
+\RequirePackage{xparse}
+\RequirePackage{geometry}%
+\RequirePackage{fancyhdr}
+\RequirePackage{titletoc}
+\RequirePackage{notoccite}
+\RequirePackage{amsmath}
+\RequirePackage{graphicx}
+\RequirePackage[labelformat=simple]{subcaption}
+\RequirePackage{pdfpages}
+\includepdfset{fitpaper=true}
+\AtEndPreamble{
+ \ifx\tikzifexternalizing\@undefined\else
+ \tikzifexternalizing{
+ \renewcommand*\includepdf[2][]{}
+ }{}
+ \fi
+}
+\RequirePackage[shortlabels]{enumitem}
+\RequirePackage{environ}
+\ifnxu@raggedbottom
+ \RequirePackage[bottom,perpage,hang]{footmisc}
+ \raggedbottom
+\else
+ \RequirePackage[perpage,hang]{footmisc}
+\fi
+\ifXeTeX
+ \RequirePackage{xeCJKfntef}
+\else
+ \RequirePackage{ulem}
+\fi
+\RequirePackage{array}
+\RequirePackage{booktabs}
+\RequirePackage{url}
+\AtEndPreamble{
+ \@ifpackageloaded{biblatex}{}{
+ \@ifpackageloaded{apacite}{}{
+ \RequirePackage{natbib}
+ }
+ }
+}
+\AtEndOfPackageFile*{natbib}{
+ \@ifpackageloaded{apacite}{}{
+ \RequirePackage{bibunits}
+ }
+}
+\newcommand\nxu@package@conflict[2]{%
+ \AtEndOfPackageFile*{#1}{%
+ \AtBeginOfPackageFile*{#2}{%
+ \nxu@error{The "#2" package is incompatible with "#1"}%
+ }%
+ }%
+}
+\nxu@package@conflict{biblatex}{bibunits}
+\nxu@package@conflict{biblatex}{chapterbib}
+\nxu@package@conflict{biblatex}{cite}
+\nxu@package@conflict{biblatex}{multibib}
+\nxu@package@conflict{biblatex}{natbib}
+
+\nxu@package@conflict{bibunits}{biblatex}
+\nxu@package@conflict{bibunits}{chapterbib}
+\nxu@package@conflict{bibunits}{multibib}
+
+\nxu@package@conflict{unicode-math}{amscd}
+\nxu@package@conflict{unicode-math}{amsfonts}
+\nxu@package@conflict{unicode-math}{amssymb}
+\nxu@package@conflict{unicode-math}{bbm}
+\nxu@package@conflict{unicode-math}{bm}
+\nxu@package@conflict{unicode-math}{eucal}
+\nxu@package@conflict{unicode-math}{eufrak}
+\nxu@package@conflict{unicode-math}{mathrsfs}
+\nxu@package@conflict{unicode-math}{newtxmath}
+\nxu@package@conflict{unicode-math}{upgreek}
+
+\nxu@package@conflict{natbib}{biblatex}
+\nxu@package@conflict{natbib}{cite}
+
+\nxu@package@conflict{newtxmath}{amsfonts}
+\nxu@package@conflict{newtxmath}{amssymb}
+\nxu@package@conflict{newtxmath}{unicode-math}
+\nxu@package@conflict{newtxmath}{upgreek}
+\AtBeginOfPackageFile*{amsthm}{
+ \@ifpackageloaded{newtxmath}{
+ \nxu@error{The "amsthm" package should be loaded before setting "newtxmath"}
+ }{}
+}%
+\geometry{
+ paper = a4paper, % 210 * 297mm
+ marginparwidth = 2cm,
+ marginparsep = 0.5cm,
+ asymmetric, % 使奇偶页边距一致
+}
+\newcommand\nxu@set@geometry{%
+ \geometry{
+ top = 3.0cm,
+ bottom = 2.5cm,
+ left = 3.0cm,
+ right = 2.5cm,
+ headheight = 2.8cm,
+ headsep = 0.0cm,
+ footskip = 0.8cm,
+ }%
+}
+\nxu@set@geometry
+\nxu@option@hook{degree}{\nxu@set@geometry}
+\nxu@option@hook{output}{\nxu@set@geometry}
+\nxusetup{main-language=\nxu@language}%
+\let\nxu@main@language\nxu@language
+\nxu@option@hook{language}{%
+ \ifx\@begindocumenthook\@undefined\else
+ \nxusetup{main-language=\nxu@language}%
+ \let\nxu@main@language\nxu@language
+ \fi
+}
+\newcommand\nxu@reset@main@language{%
+ \nxusetup{language = \nxu@main@language}%
+ \let\nxu@language\nxu@main@language
+}
+\newcommand\nxu@set@chapter@names{%
+ \ifnxu@main@language@chinese
+ \def\nxu@comments@name{指导教师评语}%
+ \def\bibname{参考文献}%
+ \def\appendixname{附录}%
+ \def\indexname{索引}%
+ \def\nxu@resolution@name{答辩委员会决议书}%
+ \def\listfigurename{插图清单}%
+ \def\listtablename{附表清单}%
+ \def\nxu@list@figure@table@name{插图和附表清单}%
+ \def\nxu@list@algorithm@name{算法清单}%
+ \def\listequationname{公式清单}%
+ \def\nxu@acknowledgements@name{致\quad 谢}%
+ \def\contentsname{目\quad 录}%
+ \def\nxu@denotation@name{符号和缩略语说明}%
+ \ifnxu@degree@master
+ \def\nxu@resume@name{个人简介及攻读硕士学位期间论文发表情况}%
+ \else % degree = doctor
+ \def\nxu@resume@name{个人简介及攻读博士学位期间论文发表情况}%
+ \fi
+ \else
+ \ifnxu@main@language@english
+ \def\nxu@comments@name{Comments from Thesis Supervisor}%
+ \def\nxu@resolution@name{Resolution of Thesis Defense Committee}%
+ \def\indexname{Index}%
+ \def\contentsname{Table of Contents}%
+ \def\listfigurename{List of Figures}%
+ \def\listtablename{List of Tables}%
+ \def\nxu@list@figure@table@name{List of Figures and Tables}%
+ \def\nxu@list@algorithm@name{List of Algorithms}%
+ \def\listequationname{List of Equations}%
+ \def\nxu@denotation@name{List of Symbols and Acronyms}%
+ \def\bibname{References}%
+ \def\appendixname{Appendix}%
+ \def\nxu@acknowledgements@name{Acknowledgements}%
+ \def\nxu@resume@name{Resume}%
+ \fi
+ \fi
+}
+\nxu@set@chapter@names
+\nxu@option@hook{degree}{\nxu@set@chapter@names}
+\nxu@option@hook{main-language}{\nxu@set@chapter@names}
+\newcommand\nxu@set@names{%
+ \ifnxu@language@chinese
+ \ctexset{
+ figurename = 图,
+ tablename = 表,
+ }%
+ \def\nxu@algorithm@name{算法}%
+ \def\nxu@equation@name{公式}%
+ \def\nxu@assumption@name{假设}%
+ \def\nxu@definition@name{定义}%
+ \def\nxu@proposition@name{命题}%
+ \def\nxu@lemma@name{引理}%
+ \def\nxu@theorem@name{定理}%
+ \def\nxu@axiom@name{公理}%
+ \def\nxu@corollary@name{推论}%
+ \def\nxu@exercise@name{练习}%
+ \def\nxu@example@name{例}%
+ \def\nxu@remark@name{注释}%
+ \def\nxu@problem@name{问题}%
+ \def\nxu@conjecture@name{猜想}%
+ \def\nxu@proof@name{证明}%
+ \def\nxu@theorem@separator{:}%
+ \else
+ \ifnxu@language@english
+ \ctexset{
+ figurename = {Figure},
+ tablename = {Table},
+ }%
+ \def\nxu@algorithm@name{Algorithm}%
+ \def\nxu@equation@name{Equation}%
+ \def\nxu@assumption@name{Assumption}%
+ \def\nxu@definition@name{Definition}%
+ \def\nxu@proposition@name{Proposition}%
+ \def\nxu@lemma@name{Lemma}%
+ \def\nxu@theorem@name{Theorem}%
+ \def\nxu@axiom@name{Axiom}%
+ \def\nxu@corollary@name{Corollary}%
+ \def\nxu@exercise@name{Exercise}%
+ \def\nxu@example@name{Example}%
+ \def\nxu@remark@name{Remark}%
+ \def\nxu@problem@name{Problem}%
+ \def\nxu@conjecture@name{Conjecture}%
+ \def\nxu@proof@name{Proof}%
+ \def\nxu@theorem@separator{: }%
+ \fi
+ \fi
+}
+\nxu@set@names
+\nxu@option@hook{language}{\nxu@set@names}
+\ifLuaTeX
+ % ctex 将带圈数字 U+2460–U+24FF 归入字符范围 3(ALchar),这里改回范围 6(JAchar)
+ \ltjdefcharrange{3}{%
+ "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
+ \ltjdefcharrange{6}{%
+ "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
+ "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
+ "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF}
+\else
+ \ifXeTeX
+ \xeCJKDeclareCharClass{CJK}{"2460 -> "2473}
+ \xeCJKDeclareCharClass{CJK}{"2605}
+ \fi
+\fi
+\newcommand\nxu@set@punctuations{%
+ \ifnxu@language@chinese
+ \ifLuaTeX
+ \ltjsetparameter{jacharrange={+9}}
+ \else
+ \ifXeTeX
+ \xeCJKDeclareCharClass{FullLeft}{"2018, "201C}%
+ \xeCJKDeclareCharClass{FullRight}{
+ "00B7, "2019, "201D, "2013, "2014, "2025, "2026, "2E3A,
+ }%
+ \fi
+ \fi
+ \else
+ \ifnxu@language@english
+ \ifLuaTeX
+ \ltjsetparameter{jacharrange={-9}}
+ \else
+ \ifXeTeX
+ \xeCJKDeclareCharClass{HalfLeft}{"2018, "201C}%
+ \xeCJKDeclareCharClass{HalfRight}{
+ "00B7, "2019, "201D, "2013, "2014, "2025, "2026, "2E3A,
+ }%
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\nxu@set@punctuations
+\nxu@option@hook{language}{\nxu@set@punctuations}
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize{10.5bp}{18bp}%
+ \abovedisplayskip 6bp%
+ \abovedisplayshortskip 6bp%
+ \belowdisplayshortskip 6bp%
+ \belowdisplayskip \abovedisplayskip
+}
+\normalsize
+\ifx\MakeRobust\@undefined \else
+ \MakeRobust\normalsize
+\fi
+\def\nxu@def@fontsize#1#2{%
+ \expandafter\newcommand\csname #1\endcsname[1][1.3]{%
+ \fontsize{#2}{##1\dimexpr #2}\selectfont}}
+\nxu@def@fontsize{chuhao}{42bp}
+\nxu@def@fontsize{xiaochu}{36bp}
+\nxu@def@fontsize{yihao}{26bp}
+\nxu@def@fontsize{xiaoyi}{24bp}
+\nxu@def@fontsize{erhao}{22bp}
+\nxu@def@fontsize{xiaoer}{18bp}
+\nxu@def@fontsize{sanhao}{16bp}
+\nxu@def@fontsize{xiaosan}{15bp}
+\nxu@def@fontsize{sihao}{14bp}
+\nxu@def@fontsize{xiaosi}{12bp}
+\nxu@def@fontsize{wuhao}{10.5bp}
+\nxu@def@fontsize{xiaowu}{9bp}
+\nxu@def@fontsize{liuhao}{7.5bp}
+\nxu@def@fontsize{xiaoliu}{6.5bp}
+\nxu@def@fontsize{qihao}{5.5bp}
+\nxu@def@fontsize{bahao}{5bp}
+\ifnxu@system@auto
+ \IfFileExists{/System/Library/Fonts/Menlo.ttc}{
+ \nxusetup{system = mac}
+ }{
+ \IfFileExists{/dev/null}{
+ \IfFileExists{null:}{
+ \nxusetup{system = windows}
+ }{
+ \nxusetup{system = unix}
+ }
+ }{
+ \nxusetup{system = windows}
+ }
+ }
+ \nxu@debug{Detected system: \nxu@system}
+\fi
+\newcommand\nxu@mac@word@font@dir{%
+ /Applications/Microsoft Word.app/Contents/Resources/DFonts%
+}
+\ifnxu@fontset@auto
+ \ifnxu@system@windows
+ \nxusetup{fontset = windows}
+ \else
+ \IfFontExistsTF{SimSun}{
+ \nxusetup{fontset = windows}
+ }{
+ \IfFileExists{\nxu@windows@font@dir/Simsun.ttc}{
+ \nxusetup{fontset = windows, cjk-font = windows-local}
+ }{
+ \IfFileExists{\nxu@mac@word@font@dir/Simsun.ttc}{
+ \nxusetup{fontset = windows, cjk-font = mac-word}
+ }{
+ \ifnxu@system@mac
+ \nxusetup{fontset = mac}
+ \else
+ \IfFontExistsTF{Noto Serif CJK SC}{
+ \nxusetup{fontset = ubuntu}
+ }{
+ \nxusetup{fontset = fandol}
+ }
+ \fi
+ }
+ }
+ }
+ \fi
+ \nxu@debug{Detected fontset: \nxu@fontset}
+\fi
+\newcommand\nxu@set@font{%
+ \@nameuse{nxu@set@font@\nxu@font}%
+}
+\nxu@option@hook{font}{\nxu@set@font}
+\newcommand\nxu@set@font@auto{%
+ \ifnxu@font@auto
+ \ifnxu@fontset@windows
+ \nxusetup{font=times}%
+ \else
+ \ifnxu@fontset@mac
+ \nxusetup{font=times}%
+ \else
+ \nxusetup{font=termes}%
+ \fi
+ \fi
+ \fi
+}
+\nxu@option@hook{math-font}{\g@addto@macro\nxu@setup@hook{\nxu@set@font@auto}}
+\AtBeginOfPackageFile*{siunitx}{\nxu@set@font@auto}
+\AtEndPreamble{\nxu@set@font@auto}
+\newcommand\nxu@set@font@times{%
+ \setmainfont{Times New Roman}%
+ \setsansfont{Times New Roman}%
+ %\setsansfont{Arial}%
+ \ifnxu@fontset@mac
+ \setmonofont{Menlo}[Scale = MatchLowercase]%
+ \else
+ \setmonofont{Courier New}[Scale = MatchLowercase]%
+ \fi
+}
+\newcommand\nxu@set@font@termes{%
+ \setmainfont{texgyretermes}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+ ]%
+ \nxu@set@texgyre@sans@mono
+}
+\newcommand\nxu@set@texgyre@sans@mono{%
+ \setsansfont{texgyreheros}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+ ]%
+ \setmonofont{texgyrecursor}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+ Scale = MatchLowercase,
+ Ligatures = CommonOff,
+ ]%
+}
+\let\nxu@font@family@stix\@empty
+\newcommand\nxu@set@stix@names{%
+ \ifx\nxu@font@family@stix\@empty
+ \IfFontExistsTF{STIXTwoText-Regular.otf}{%
+ \gdef\nxu@font@family@stix{STIXTwoText}%
+ \gdef\nxu@font@name@stix@math{STIXTwoMath-Regular}%
+ }{%
+ \gdef\nxu@font@family@stix{STIX2Text}%
+ \gdef\nxu@font@name@stix@math{STIX2Math}%
+ }%
+ \fi
+}
+\newcommand\nxu@set@font@stix{%
+ \nxu@set@stix@names
+ \setmainfont{\nxu@font@family@stix}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
+ ]%
+ \nxu@set@texgyre@sans@mono
+}
+\let\nxu@font@family@xits\@empty
+\newcommand\nxu@set@xits@names{%
+ \ifx\nxu@font@family@xits\@empty
+ \IfFontExistsTF{XITSMath-Regular.otf}{%
+ \gdef\nxu@font@family@xits{XITS}%
+ \gdef\nxu@font@style@xits@rm{Regular}%
+ \gdef\nxu@font@style@xits@bf{Bold}%
+ \gdef\nxu@font@style@xits@it{Italic}%
+ \gdef\nxu@font@style@xits@bfit{BoldItalic}%
+ \gdef\nxu@font@name@xits@math{XITSMath-Regular}%
+ }{%
+ \gdef\nxu@font@family@xits{xits}%
+ \gdef\nxu@font@style@xits@rm{regular}%
+ \gdef\nxu@font@style@xits@bf{bold}%
+ \gdef\nxu@font@style@xits@it{italic}%
+ \gdef\nxu@font@style@xits@bfit{bolditalic}%
+ \gdef\nxu@font@name@xits@math{xits-math}%
+ }%
+ \fi
+}
+\newcommand\nxu@set@font@xits{%
+ \nxu@set@xits@names
+ \setmainfont{\nxu@font@family@xits}[
+ Extension = .otf,
+ UprightFont = *-\nxu@font@style@xits@rm,
+ BoldFont = *-\nxu@font@style@xits@bf,
+ ItalicFont = *-\nxu@font@style@xits@it,
+ BoldItalicFont = *-\nxu@font@style@xits@bfit,
+ ]%
+ \nxu@set@texgyre@sans@mono
+}
+\let\nxu@font@family@libertinus\@empty
+\newcommand\nxu@set@libertinus@names{%
+ \ifx\nxu@font@family@libertinus\@empty
+ \IfFontExistsTF{LibertinusSerif-Regular.otf}{%
+ \gdef\nxu@font@family@libertinus@serif{LibertinusSerif}%
+ \gdef\nxu@font@family@libertinus@sans{LibertinusSans}%
+ \gdef\nxu@font@name@libertinus@math{LibertinusMath-Regular}%
+ \gdef\nxu@font@style@libertinus@rm{Regular}%
+ \gdef\nxu@font@style@libertinus@bf{Bold}%
+ \gdef\nxu@font@style@libertinus@it{Italic}%
+ \gdef\nxu@font@style@libertinus@bfit{BoldItalic}%
+ }{%
+ \gdef\nxu@font@family@libertinus@serif{libertinusserif}%
+ \gdef\nxu@font@family@libertinus@sans{libertinussans}%
+ \gdef\nxu@font@name@libertinus@math{libertinusmath-regular}%
+ \gdef\nxu@font@style@libertinus@rm{regular}%
+ \gdef\nxu@font@style@libertinus@bf{bold}%
+ \gdef\nxu@font@style@libertinus@it{italic}%
+ \gdef\nxu@font@style@libertinus@bfit{bolditalic}%
+ }%
+ \fi
+}
+\newcommand\nxu@set@font@libertinus{%
+ \nxu@set@libertinus@names
+ \setmainfont{\nxu@font@family@libertinus@serif}[
+ Extension = .otf,
+ UprightFont = *-\nxu@font@style@libertinus@rm,
+ BoldFont = *-\nxu@font@style@libertinus@bf,
+ ItalicFont = *-\nxu@font@style@libertinus@it,
+ BoldItalicFont = *-\nxu@font@style@libertinus@bfit,
+ ]%
+ \setsansfont{\nxu@font@family@libertinus@sans}[
+ Extension = .otf,
+ UprightFont = *-\nxu@font@style@libertinus@rm,
+ BoldFont = *-\nxu@font@style@libertinus@bf,
+ ItalicFont = *-\nxu@font@style@libertinus@it,
+ ]%
+ \setmonofont{lmmonolt10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique,
+ ]%
+}
+\newcommand\nxu@set@font@newcm{%
+ \setmainfont{NewCM10}[
+ Extension = .otf,
+ UprightFont = *-Book,
+ BoldFont = *-Bold,
+ ItalicFont = *-BookItalic,
+ BoldItalicFont = *-BoldItalic,
+ ]%
+ \setsansfont{NewCMSans10}[
+ Extension = .otf,
+ UprightFont = *-Book,
+ BoldFont = *-Bold,
+ ItalicFont = *-BookOblique,
+ BoldItalicFont = *-BoldOblique,
+ ]%
+ \setmonofont{NewCMMono10}[
+ Extension = .otf,
+ UprightFont = *-Book,
+ ItalicFont = *-BookItalic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldOblique,
+ ]%
+}
+\newcommand\nxu@set@font@lm{%
+ \setmainfont{lmroman10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+ ]%
+ \setsansfont{lmsans10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique,
+ ]%
+ \setmonofont{lmmonolt10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique,
+ ]%
+}
+\newcommand\nxu@set@font@newtx{%
+ \RequirePackage{newtxtext}%
+}
+\ifnxu@cjk@font@auto
+ \ifnxu@fontset@mac
+ \nxusetup{cjk-font = mac}
+ \else
+ \ifnxu@fontset@windows
+ \IfFontExistsTF{SimSun}{
+ \nxusetup{cjk-font = windows}
+ }{
+ \IfFileExists{\nxu@windows@font@dir/Simsun.ttc}{
+ \nxusetup{cjk-font = windows-local}
+ }{
+ \IfFileExists{\nxu@mac@word@font@dir/Simsun.ttc}{
+ \nxusetup{cjk-font = mac-word}
+ }{
+ \nxu@error{Cannot find "SimSun" font}
+ }
+ }
+ }
+ \else
+ \ifnxu@fontset@ubuntu
+ \nxusetup{cjk-font = noto}
+ \else
+ \nxusetup{cjk-font = fandol}
+ \fi
+ \fi
+ \fi
+ \nxu@debug{Detected CJK font: \nxu@cjk@font}
+\fi
+\newcommand\nxu@set@cjk@font@windows{%
+ \setCJKmainfont{SimSun}[
+ AutoFakeBold = 3,
+ ItalicFont = KaiTi,
+ ]%
+ \setCJKsansfont{SimHei}[AutoFakeBold = 3]%
+ \setCJKmonofont{FangSong}%
+ \setCJKfamilyfont{zhsong}{SimSun}[AutoFakeBold = 3]%
+ \setCJKfamilyfont{zhhei}{SimHei}[AutoFakeBold = 3]%
+ \setCJKfamilyfont{zhkai}{KaiTi}%
+ \setCJKfamilyfont{zhfs}{FangSong}%
+}
+\@namedef{nxu@set@cjk@font@windows-local}{%
+ \IfFileExists{\nxu@windows@font@dir/Kaiti.ttf}{
+ \setCJKmainfont{SimSun}[%
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttc,
+ AutoFakeBold = 3,
+ ItalicFont = Kaiti,
+ ItalicFeatures = {Extension = .ttf},
+ ]%
+ \setCJKmonofont{Fangsong}[
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ ]%
+ \setCJKfamilyfont{zhkai}{Kaiti}[
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ ]%
+ \setCJKfamilyfont{zhfs}{Fangsong}[
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ ]%
+ }{
+ \setCJKmainfont{SimSun}[%
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttc,
+ AutoFakeBold = 3,
+ ItalicFont = Simkai,
+ ItalicFeatures = {Extension = .ttf},
+ ]%
+ \setCJKmonofont{Simfang}[
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ ]%
+ \setCJKfamilyfont{zhkai}{Simkai}[
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ ]%
+ \setCJKfamilyfont{zhfs}{Simfang}[
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ ]%
+ }
+ \setCJKsansfont{SimHei}[%
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ AutoFakeBold = 3,
+ ]%
+ \setCJKfamilyfont{zhsong}{SimSun}[%
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttc,
+ AutoFakeBold = 3,
+ ]%
+ \setCJKfamilyfont{zhhei}{SimHei}[%
+ Path = \nxu@windows@font@dir/,
+ Extension = .ttf,
+ AutoFakeBold = 3,
+ ]%
+}
+\@namedef{nxu@set@cjk@font@mac-word}{%
+ \let\nxu@windows@font@dir\nxu@mac@word@font@dir
+ \@nameuse{nxu@set@cjk@font@windows-local}%
+}
+\newcommand\nxu@set@cjk@font@mac{%
+ \defaultCJKfontfeatures{}%
+ \setCJKmainfont{Songti SC}[
+ UprightFont = * Light,
+ BoldFont = * Bold,
+ ItalicFont = Kaiti SC Regular,
+ BoldItalicFont = Kaiti SC Bold,
+ ]%
+ \setCJKsansfont{Heiti SC}[
+ UprightFont = * Light,
+ BoldFont = * Medium,
+ ]%
+ \setCJKmonofont{STFangsong}
+ \setCJKfamilyfont{zhsong}{Songti SC}[
+ UprightFont = * Light,
+ BoldFont = * Bold,
+ ]%
+ \setCJKfamilyfont{zhhei}{Heiti SC}[
+ UprightFont = * Light,
+ BoldFont = * Medium,
+ ]%
+ \setCJKfamilyfont{zhfs}{STFangsong}%
+ \setCJKfamilyfont{zhkai}{Kaiti SC}[
+ UprightFont = * Regular,
+ BoldFont = * Bold,
+ ]%
+ \setCJKfamilyfont{zhli}{Baoli SC}%
+ \setCJKfamilyfont{zhyuan}{Yuanyi SC}[
+ UprightFont = * Light,
+ BoldFont = * Bold,
+ ]%
+}
+\newcommand\nxu@set@cjk@font@noto{%
+ \defaultCJKfontfeatures{}%
+ \setCJKmainfont{Noto Serif CJK SC}[
+ UprightFont = * Light,
+ BoldFont = * Bold,
+ ItalicFont = FandolKai-Regular,
+ ItalicFeatures = {Extension = .otf},
+ Script = CJK,
+ ]%
+ \setCJKsansfont{Noto Sans CJK SC}[
+ BoldFont = * Medium,
+ Script = CJK,
+ ]%
+ \setCJKmonofont{Noto Sans Mono CJK SC}[
+ Script = CJK,
+ ]%
+ \setCJKfamilyfont{zhsong}{Noto Serif CJK SC}[
+ UprightFont = * Light,
+ UprightFont = * Bold,
+ Script = CJK,
+ ]%
+ \setCJKfamilyfont{zhhei}{Noto Sans CJK SC}[
+ BoldFont = * Medium,
+ Script = CJK,
+ ]%
+ \setCJKfamilyfont{zhfs}{FandolFang}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ]%
+ \setCJKfamilyfont{zhkai}{FandolKai}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ]%
+}
+\newcommand\nxu@set@cjk@font@fandol{%
+ \defaultCJKfontfeatures{}%
+ \setCJKmainfont{FandolSong}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = FandolKai-Regular,
+ ItalicFeatures = {Extension = .otf},
+ ]%
+ \setCJKsansfont{FandolHei}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ]%
+ \setCJKmonofont{FandolFang}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ]%
+ \setCJKfamilyfont{zhsong}{FandolSong}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ]%
+ \setCJKfamilyfont{zhhei}{FandolHei}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ]%
+ \setCJKfamilyfont{zhfs}{FandolFang}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ]%
+ \setCJKfamilyfont{zhkai}{FandolKai}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ]%
+}
+\ifnxu@cjk@font@none\else
+ \providecommand\songti{\CJKfamily{zhsong}}
+ \providecommand\heiti{\CJKfamily{zhhei}}
+ \providecommand\fangsong{\CJKfamily{zhfs}}
+ \providecommand\kaishu{\CJKfamily{zhkai}}
+\fi
+\newcommand\nxu@set@cjk@font{%
+ \@nameuse{nxu@set@cjk@font@\nxu@cjk@font}%
+}
+\nxu@set@cjk@font
+\nxu@option@hook{cjk-font}{\nxu@set@cjk@font}
+\newcommand\nxu@set@math@style{%
+ \ifnxu@math@style@TeX
+ \nxusetup{
+ uppercase-greek = upright,
+ less-than-or-equal = horizontal,
+ integral = slanted,
+ integral-limits = false,
+ partial = italic,
+ math-ellipsis = AMS,
+ real-part = fraktur,
+ }%
+ \else
+ \nxusetup{
+ uppercase-greek = italic,
+ integral = upright,
+ partial = upright,
+ real-part = roman,
+ }%
+ \ifnxu@math@style@ISO
+ \nxusetup{
+ less-than-or-equal = horizontal,
+ integral-limits = true,
+ math-ellipsis = lower,
+ }%
+ \else
+ \ifnxu@math@style@GB
+ \nxusetup{
+ less-than-or-equal = slanted,
+ integral-limits = false,
+ math-ellipsis = centered,
+ }%
+ \fi
+ \fi
+ \fi
+}
+\ifnxu@main@language@chinese
+ \nxusetup{math-style=GB}%
+\else
+ \nxusetup{math-style=TeX}%
+\fi
+\nxu@set@math@style
+\nxu@option@hook{math-style}{\nxu@set@math@style}
+\nxu@option@hook{main-language}{%
+ \ifnxu@main@language@chinese
+ \nxusetup{math-style=GB}%
+ \else
+ \nxusetup{math-style=TeX}%
+ \fi
+}
+\newcommand\nxu@set@unimath@leq{%
+ \ifnxu@leq@horizontal
+ \ifx\@begindocumenthook\@undefined
+ \let\le\nxu@save@leq
+ \let\ge\nxu@save@geq
+ \let\leq\nxu@save@leq
+ \let\geq\nxu@save@geq
+ \else
+ \AtBeginDocument{%
+ \let\le\nxu@save@leq
+ \let\ge\nxu@save@geq
+ \let\leq\nxu@save@leq
+ \let\geq\nxu@save@geq
+ }%
+ \fi
+ \else
+ \ifnxu@leq@slanted
+ \ifx\@begindocumenthook\@undefined
+ \let\le\leqslant
+ \let\ge\geqslant
+ \let\leq\leqslant
+ \let\geq\geqslant
+ \else
+ \AtBeginDocument{%
+ \let\le\leqslant
+ \let\ge\geqslant
+ \let\leq\leqslant
+ \let\geq\geqslant
+ }%
+ \fi
+ \fi
+ \fi
+}
+\newcommand\nxu@set@unimath@integral@limits{%
+ \ifnxu@integral@limits@true
+ \removenolimits{%
+ \int\iint\iiint\iiiint\oint\oiint\oiiint
+ \intclockwise\varointclockwise\ointctrclockwise\sumint
+ \intbar\intBar\fint\cirfnint\awint\rppolint
+ \scpolint\npolint\pointint\sqint\intlarhk\intx
+ \intcap\intcup\upint\lowint
+ }%
+ \else
+ \addnolimits{%
+ \int\iint\iiint\iiiint\oint\oiint\oiiint
+ \intclockwise\varointclockwise\ointctrclockwise\sumint
+ \intbar\intBar\fint\cirfnint\awint\rppolint
+ \scpolint\npolint\pointint\sqint\intlarhk\intx
+ \intcap\intcup\upint\lowint
+ }%
+ \fi
+}
+\newcommand\nxu@set@unimath@ellipsis{%
+ \ifnxu@math@ellipsis@centered
+ \DeclareRobustCommand\mathellipsis{\mathinner{\unicodecdots}}%
+ \else
+ \DeclareRobustCommand\mathellipsis{\mathinner{\unicodeellipsis}}%
+ \fi
+}
+\newcommand\nxu@set@unimath@real@part{%
+ \ifnxu@real@part@roman
+ \AtBeginDocument{%
+ \def\Re{\operatorname{Re}}%
+ \def\Im{\operatorname{Im}}%
+ }%
+ \else
+ \AtBeginDocument{%
+ \let\Re\nxu@save@Re
+ \let\Im\nxu@save@Im
+ }%
+ \fi
+}
+\newcommand\nxu@set@unimath@style{%
+ \ifnxu@uppercase@greek@upright
+ \unimathsetup{math-style = TeX}%
+ \else
+ \ifnxu@uppercase@greek@italic
+ \unimathsetup{math-style = ISO}%
+ \fi
+ \fi
+ \ifnxu@math@style@TeX
+ \unimathsetup{bold-style = TeX}%
+ \else
+ \unimathsetup{bold-style = ISO}%
+ \fi
+ \nxu@set@unimath@leq
+ \nxu@set@unimath@integral@limits
+ \ifnxu@partial@upright
+ \unimathsetup{partial = upright}%
+ \else
+ \ifnxu@partial@italic
+ \unimathsetup{partial = italic}%
+ \fi
+ \fi
+ \nxu@set@unimath@ellipsis
+ \nxu@set@unimath@real@part
+}
+\newcommand\nxu@qed{\rule{1ex}{1ex}}
+\newcommand\nxu@load@unimath{%
+ \@ifpackageloaded{unicode-math}{}{%
+ \RequirePackage{unicode-math}%
+ \AtBeginDocument{%
+ \let\nxu@save@leq\leq
+ \let\nxu@save@geq\geq
+ \let\nxu@save@Re\Re
+ \let\nxu@save@Im\Im
+ }%
+ \DeclareRobustCommand\bm[1]{{\symbfit{##1}}}%
+ \DeclareRobustCommand\boldsymbol[1]{{\symbfit{##1}}}%
+ \newcommand\square{\mdlgwhtsquare}%
+ \newcommand\blacksquare{\mdlgblksquare}%
+ \AtBeginDocument{%
+ \renewcommand\checkmark{\ensuremath{\symbol{"2713}}}%
+ }%
+ \renewcommand\nxu@qed{\ensuremath{\QED}}%
+ }%
+}
+\newcommand\nxu@set@math@font@stix{%
+ \nxu@set@stix@names
+ \setmathfont{\nxu@font@name@stix@math}[
+ Extension = .otf,
+ Scale = MatchLowercase,
+ StylisticSet = \nxu@xits@integral@stylistic@set,
+ ]%
+ \setmathfont{\nxu@font@name@stix@math}[
+ Extension = .otf,
+ Scale = MatchLowercase,
+ StylisticSet = 1,
+ range = {scr,bfscr},
+ ]%
+}
+\newcommand\nxu@xits@integral@stylistic@set{%
+ \ifnxu@integral@upright
+ 8%
+ \fi
+}
+\newcommand\nxu@set@math@font@xits{%
+ \nxu@set@xits@names
+ \setmathfont{\nxu@font@name@xits@math}[
+ Extension = .otf,
+ StylisticSet = \nxu@xits@integral@stylistic@set,
+ ]%
+ \setmathfont{\nxu@font@name@xits@math}[
+ Extension = .otf,
+ StylisticSet = 1,
+ range = {cal,bfcal},
+ ]%
+}
+\newcommand\nxu@libertinus@integral@stylistic@set{%
+ \ifnxu@integral@slanted
+ 8%
+ \fi
+}
+\newcommand\nxu@set@math@font@libertinus{%
+ \nxu@set@libertinus@names
+ \setmathfont{\nxu@font@name@libertinus@math}[
+ Extension = .otf,
+ StylisticSet = \nxu@libertinus@integral@stylistic@set,
+ ]%
+}
+\newcommand\nxu@newcm@integral@stylistic@set{%
+ \ifnxu@integral@upright
+ 2%
+ \fi
+}
+\newcommand\nxu@set@math@font@newcm{%
+ \setmathfont{NewCMMath-Book}[
+ Extension = .otf,
+ StylisticSet = \nxu@newcm@integral@stylistic@set,
+ ]%
+ \setmathfont{NewCMMath-Book}[
+ Extension = .otf,
+ StylisticSet = 1,
+ range = {scr,bfscr},
+ ]%
+ \setmathrm{NewCM10}[
+ Extension = .otf,
+ UprightFont = *-Book,
+ BoldFont = *-Bold,
+ ItalicFont = *-BookItalic,
+ BoldItalicFont = *-BoldItalic,
+ ]%
+ \setmathsf{NewCMSans10}[
+ Extension = .otf,
+ UprightFont = *-Book,
+ BoldFont = *-Bold,
+ ItalicFont = *-BookOblique,
+ BoldItalicFont = *-BoldOblique,
+ ]%
+ \setmathtt{NewCMMono10}[
+ Extension = .otf,
+ UprightFont = *-Book,
+ ItalicFont = *-BookItalic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldOblique,
+ ]%
+}
+\newcommand\nxu@set@math@font@lm{%
+ \setmathfont{latinmodern-math}[Extension=.otf]%
+ \setmathrm{lmroman10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+ ]%
+ \setmathsf{lmsans10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique,
+ ]%
+ \setmathtt{lmmonolt10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique,
+ ]%
+}
+\newcommand\nxu@set@math@font@newtx{%
+ \ifnxu@font@newtx\else
+ \let\nxu@save@encodingdefault\encodingdefault
+ \let\nxu@save@rmdefault\rmdefault
+ \let\nxu@save@sfdefault\sfdefault
+ \let\nxu@save@ttdefault\ttdefault
+ \RequirePackage[T1]{fontenc}%
+ \renewcommand{\rmdefault}{ntxtlf}%
+ \renewcommand{\sfdefault}{qhv}%
+ \renewcommand{\ttdefault}{ntxtt}%
+ \fi
+ \ifnxu@uppercase@greek@italic
+ \PassOptionsToPackage{slantedGreek}{newtxmath}%
+ \fi
+ \ifnxu@integral@upright
+ \PassOptionsToPackage{upint}{newtxmath}%
+ \fi
+ \RequirePackage{newtxmath}
+ \let\nxu@save@leq\leq
+ \let\nxu@save@geq\geq
+ \ifnxu@leq@slanted
+ \let\le\leqslant
+ \let\ge\geqslant
+ \let\leq\leqslant
+ \let\geq\geqslant
+ \fi
+ \ifnxu@integral@limits@true
+ \let\ilimits@\displaylimits
+ \fi
+ \let\nxu@save@partial\partial
+ \ifnxu@partial@upright
+ \let\partial\uppartial
+ \fi
+ \ifnxu@math@ellipsis@centered
+ \DeclareRobustCommand\mathellipsis{\mathinner{\cdotp\cdotp\cdotp}}%
+ \else
+ \DeclareRobustCommand\mathellipsis{\mathinner{\ldotp\ldotp\ldotp}}%
+ \fi
+ \let\nxu@save@Re\Re
+ \let\nxu@save@Im\Im
+ \ifnxu@real@part@roman
+ \def\Re{\operatorname{Re}}%
+ \def\Im{\operatorname{Im}}%
+ \fi
+ \RequirePackage{bm}%
+ \ifnxu@font@newtx\else
+ \let\encodingdefault\nxu@save@encodingdefault
+ \let\rmdefault\nxu@save@rmdefault
+ \let\sfdefault\nxu@save@sfdefault
+ \let\ttdefault\nxu@save@ttdefault
+ \fi
+ \DeclareRobustCommand\symup[1]{{\mathrm{##1}}}%
+ \DeclareRobustCommand\symbf[1]{{\bm{##1}}}%
+ \DeclareRobustCommand\symbfsf[1]{{\bm{\mathsf{##1}}}}%
+ \let\increment\upDelta%
+ \renewcommand\nxu@qed{\openbox}%
+}
+\newcommand\nxu@set@math@font{%
+ \ifnxu@math@font@none\else
+ \ifnxu@math@font@newtx
+ \nxu@set@math@font@newtx
+ \else
+ \nxu@load@unimath
+ \nxu@set@unimath@style
+ \@nameuse{nxu@set@math@font@\nxu@math@font}%
+ \fi
+ \fi
+}
+\nxu@option@hook{math-font}{\g@addto@macro\nxu@setup@hook{\nxu@set@math@font}}
+\newcommand\nxu@set@math@font@auto{%
+ \ifnxu@math@font@auto
+ \nxusetup{math-font=xits}%
+ \fi
+}
+\AtBeginOfPackageFile*{siunitx}{\nxu@set@math@font@auto}
+\AtEndPreamble{\nxu@set@math@font@auto}
+\def\cleardoublepage{%
+ \clearpage
+ \if@twoside
+ \ifnxu@output@print
+ \ifodd\c@page
+ \else
+ \thispagestyle{empty}%
+ \hbox{}%
+ \newpage
+ \if@twocolumn
+ \hbox{}\newpage
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\renewcommand\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{Roman}%
+ \pagestyle{plain}
+}
+\renewcommand\mainmatter{%
+ \cleardoublepage
+ \@mainmattertrue
+ \pagenumbering{arabic}%
+ \pagestyle{fancy}
+}
+\newif\ifnxu@backmatter
+\renewcommand\backmatter{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \@mainmatterfalse
+ \nxu@backmattertrue
+ \nxusetup{toc-depth = 0}%
+}
+\pagestyle{fancy}
+\fancypagestyle{fancy}{%
+ \fancyhf{}%
+ \renewcommand\footrulewidth{0pt}%
+ \renewcommand\headrulewidth{0.5bp}%
+% \newcommand{\makeheadrule}{%
+% \makebox[0pt][l]{\rule[0.6\baselineskip]{\headwidth}{3.0bp}}%
+% \rule[0.52\baselineskip]{\headwidth}{0.8bp}}
+ \renewcommand{\headrule}{%
+ {\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
+ \makebox[0pt][l]{\rule[0.6\baselineskip]{\headwidth}{3.0bp}}%
+ \rule[0.52\baselineskip]{\headwidth}{0.8bp}
+ %\hrule\@height 3.0bp \@width\headwidth\vskip1pt%上面线为1pt粗
+ %\hrule\@height 0.8bp \@width\headwidth%下面0.5pt粗
+ %\vskip-2\headrulewidth\vskip-1pt
+ }}
+ \fancyhead[L]{%
+ \xiaowu
+ \ifnxu@main@language@chinese
+ \ifnxu@degree@doctor
+ 宁夏大学博士学位论文
+ \else
+ \ifnxu@degree@master
+ 宁夏大学硕士学位论文
+ \fi
+ \fi
+ \else
+ \MakeUppercase{\leftmark}%
+ \fi
+ }%
+ \fancyhead[R]{%
+ \xiaowu
+ \ifnxu@main@language@chinese
+ \leftmark
+ \else
+ \MakeUppercase{\leftmark}%
+ \fi
+ }%
+ \fancyfoot[LE,RO]{\xiaowu -- {\thepage} --}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth{%
+ \CTEXifname{%
+ \CTEXthechapter
+ \ifnxu@main@language@chinese
+ \quad
+ \else
+ \space
+ \fi
+ }{}##1%
+ }{}%
+ }%
+ \let\sectionmark\@gobble
+}
+\fancypagestyle{plain}{%
+ \fancyhf{}%
+ \renewcommand\footrulewidth{0pt}%
+ \renewcommand\headrulewidth{0pt}%
+ \renewcommand\headrule{}%
+ \fancyfoot[C]{
+ \xiaowu
+ \thepage
+ }
+ %\fancyhead{}%
+}
+\pagestyle{fancy}
+\def\ps@chapter{}
+\ctexset{chapter/pagestyle = chapter}
+\ctexset{%
+ punct=quanjiao,
+}
+% \def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi%
+ % \hrule\@height 1.0pt \@width\headwidth\vskip1pt%上面线为1pt粗
+ % \hrule\@height 0.5pt\@width\headwidth%下面0.5pt粗
+ % \vskip-2\headrulewidth\vskip-1pt}%两条线的距离1pt
+
+\newcommand\nxu@set@indent{%
+ \ifnxu@main@language@chinese
+ \ctexset{autoindent=2}%
+ \else
+ \ctexset{autoindent=0.74cm}%
+ \fi
+}
+\nxu@set@indent
+\nxu@option@hook{degree}{\nxu@set@indent}
+\nxu@option@hook{main-language}{\nxu@set@indent}
+\urlstyle{same}
+\g@addto@macro\UrlBreaks{%
+ \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9%
+ \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M
+ \do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z
+ \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m
+ \do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z
+}
+\Urlmuskip=0mu plus 0.1mu
+\partopsep=\z@skip
+\def\@listi{\leftmargin\leftmargini
+ \parsep \z@skip
+ \topsep \z@skip
+ \itemsep\z@skip}
+\let\@listI\@listi
+\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep \z@skip
+ \parsep \z@skip
+ \itemsep \z@skip}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep \z@skip
+ \parsep \z@skip
+ \partopsep \z@skip
+ \itemsep \z@skip}
+\setlist{nosep}
+\interfootnotelinepenalty=10000
+\newcommand\nxu@circled[1]{%
+ \ifnum#1 >10\relax
+ \nxu@warning{%
+ Too many footnotes in this page.
+ Keep footnote less than 10%
+ }%
+ \fi
+ {\symbol{\the\numexpr#1+"245F\relax}}%
+}
+\renewcommand{\thefootnote}{\nxu@circled{\c@footnote}}
+\renewcommand{\thempfootnote}{\nxu@circled{\c@mpfootnote}}
+\def\footnoterule{\vskip-3\p@\hrule\@width0.3\textwidth\@height0.4\p@\vskip2.6\p@}
+\footnotemargin=13.5bp
+\long\def\@makefntext#1{%
+ \begingroup
+ % 序号取消上标
+ \def\@makefnmark{\hbox{\normalfont\@thefnmark}}%
+ \xiaowu
+ \ifFN@hangfoot
+ \bgroup
+ \setbox\@tempboxa\hbox{%
+ \ifdim\footnotemargin>\z@
+ \hb@xt@\footnotemargin{\@makefnmark\hss}%
+ \else
+ \@makefnmark
+ \fi
+ }%
+ \leftmargin\wd\@tempboxa
+ \rightmargin\z@
+ \linewidth \columnwidth
+ \advance \linewidth -\leftmargin
+ \parshape \@ne \leftmargin \linewidth
+ % \footnotesize
+ \xiaowu
+ \@setpar{{\@@par}}%
+ \leavevmode
+ \llap{\box\@tempboxa}%
+ \parskip\hangfootparskip\relax
+ \parindent\hangfootparindent\relax
+ \else
+ \parindent1em%
+ \noindent
+ \ifdim\footnotemargin>\z@
+ \hb@xt@ \footnotemargin{\hss\@makefnmark}%
+ \else
+ \ifdim\footnotemargin=\z@
+ \llap{\@makefnmark}%
+ \else
+ \llap{\hb@xt@ -\footnotemargin{\@makefnmark\hss}}%
+ \fi
+ \fi
+ \fi
+ \footnotelayout#1%
+ \ifFN@hangfoot
+ \par\egroup
+ \fi
+ \endgroup
+}
+\allowdisplaybreaks[4]
+\newcommand\nxu@put@parentheses[1]{%
+ \ifnxu@language@chinese
+ \unskip
+ (#1)%
+ \else
+ (#1)%
+ \fi
+}
+\def\tagform@#1{\maketag@@@{\nxu@put@parentheses{\ignorespaces#1\unskip\@@italiccorr}}}
+\renewcommand{\eqref}[1]{%
+ \textup{%
+ \normalfont\nxu@put@parentheses{%
+ \ignorespaces\ref{#1}\unskip\@@italiccorr
+ }%
+ }%
+}
+\def\fps@figure{htbp}
+\def\fps@table{htbp}
+\setlength{\floatsep}{12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength{\textfloatsep}{12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength{\intextsep}{12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength{\@fptop}{0bp \@plus1.0fil}
+\setlength{\@fpsep}{12bp \@plus2.0fil}
+\setlength{\@fpbot}{0bp \@plus1.0fil}
+\patchcmd{\@addtocurcol}%
+ {\vskip \intextsep}%
+ {\edef\save@first@penalty{\the\lastpenalty}\unpenalty
+ \ifnum \lastpenalty = \@M % hopefully the OR penalty
+ \unpenalty
+ \else
+ \penalty \save@first@penalty \relax % put it back
+ \fi
+ \ifnum\outputpenalty <-\@Mii
+ \addvspace\intextsep
+ \vskip\parskip
+ \else
+ \addvspace\intextsep
+ \fi}%
+ {}{\nxu@patch@error{\@addtocurcol}}
+\patchcmd{\@addtocurcol}%
+ {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}%
+ {\ifnum\outputpenalty <-\@Mii
+ \aftergroup\vskip\aftergroup\intextsep
+ \aftergroup\nointerlineskip
+ \else
+ \vskip\intextsep
+ \fi}%
+ {}{\nxu@patch@error{\@addtocurcol}}
+\patchcmd{\@getpen}{\@M}{\@Mi}
+ {}{\nxu@patch@error{\@getpen}}
+\renewcommand{\textfraction}{0.15}
+\renewcommand{\topfraction}{0.85}
+\renewcommand{\bottomfraction}{0.65}
+\renewcommand{\floatpagefraction}{0.60}
+\nxu@define@key{
+ figure-number-separator = {
+ name = figure@number@separator,
+ default = {.},
+ },
+ table-number-separator = {
+ name = table@number@separator,
+ default = {.},
+ },
+ equation-number-separator = {
+ name = equation@number@separator,
+ default = {.},
+ },
+ number-separator = {
+ name = number@separator,
+ default = {.},
+ },
+}
+\renewcommand\thefigure{%
+ \xiaowu
+ \ifnum\c@chapter>\z@
+ \thechapter
+ \nxu@figure@number@separator
+ \fi
+ \@arabic\c@figure
+}
+\renewcommand\thetable{%
+ \xiaowu
+ \ifnum\c@chapter>\z@
+ \thechapter
+ \nxu@table@number@separator
+ \fi
+ \@arabic\c@table
+}
+\renewcommand\theequation{%
+ \xiaowu
+ \ifnum\c@chapter>\z@
+ \thechapter
+ \nxu@equation@number@separator
+ \fi
+ \@arabic\c@equation
+}
+\newcommand\nxu@set@number@separator{%
+ \let\nxu@figure@number@separator\nxu@number@separator
+ \let\nxu@table@number@separator\nxu@number@separator
+ \let\nxu@equation@number@separator\nxu@number@separator
+}
+\nxu@option@hook{number-separator}{\nxu@set@number@separator}
+\DeclareCaptionFont{nxu}{%
+ \ifnxu@language@chinese
+ \fontsize{9bp}{13.5bp}\heiti
+ \else
+ \fontsize{9bp}{12.65bp}\selectfont
+ \fi
+}
+\captionsetup{
+ font = nxu,
+ labelsep = quad,
+ skip = 6bp,
+ figureposition = bottom,
+ tableposition = top,
+}
+\captionsetup[sub]{font=nxu}
+\renewcommand{\thesubfigure}{(\alph{subfigure})}
+\renewcommand{\thesubtable}{(\alph{subtable})}
+\newcommand\nxu@set@table@font{
+ \ifnxu@language@chinese
+ \def\nxu@table@font{%
+ \fontsize{9bp}{13.5bp}\selectfont
+ \renewcommand\arraystretch{1.42}%
+ }%
+ \else
+ \def\nxu@table@font{%
+ \fontsize{9bp}{13.5bp}\selectfont
+ \renewcommand\arraystretch{1.47}%
+ }%
+ \fi
+}
+\nxu@set@table@font
+\nxu@option@hook{language}{\nxu@set@table@font}
+\patchcmd\@floatboxreset{%
+ \normalsize
+}{%
+ \nxu@table@font
+}{}{\nxu@patch@error{\@floatboxreset}}
+\AtEndOfPackageFile*{longtable}{
+ \AtBeginEnvironment{longtable}{%
+ \nxu@table@font
+ }
+}
+\heavyrulewidth=1.5bp
+\lightrulewidth=1bp
+\AtEndOfPackageFile*{threeparttable}{
+ \g@addto@macro\TPT@defaults{\wuhao}
+}
+\newcommand{\nxu@abstract@name}{摘要}
+\newcommand{\nxu@abstract@name@en}{Abstract}
+\ctexset{%
+ chapter = {
+ nameformat = {},
+ numberformat = {},
+ titleformat = {},
+ fixskip = true,
+ afterindent = true,
+ lofskip = 0pt,
+ lotskip = 0pt,
+ },
+ section = {
+ afterindent = true,
+ },
+ subsection = {
+ afterindent = true,
+ },
+ subsubsection = {
+ afterindent = true,
+ },
+ paragraph/afterindent = true,
+ subparagraph/afterindent = true,
+}
+\newcommand\nxu@set@section@format{%
+ \ctexset{%
+ chapter = {
+ beforeskip = 16bp,
+ afterskip = 20bp,
+ %number = \thechapter,
+ },
+ section = {
+ beforeskip = 18bp,
+ afterskip = 14bp,
+ },
+ subsection = {
+ beforeskip = 12bp,
+ afterskip = 12bp,
+ },
+ subsubsection = {
+ beforeskip = 12bp,
+ afterskip = 12bp,
+ },
+ }%
+ \ifnxu@main@language@chinese
+ \ctexset{%
+ chapter = {
+ format = \centering\sffamily\sanhao,
+ nameformat = {},
+ titleformat = {},
+ name = {第,章},
+ aftername = \quad,
+ number = \zhnumber{\thechapter}
+ },
+ section = {
+ format = \sffamily\fontsize{14bp}{14bp}\selectfont,
+ aftername = \quad,
+ },
+ subsection = {
+ format = \sffamily\fontsize{12bp}{12bp}\selectfont,
+ aftername = \quad,
+ },
+ subsubsection = {
+ format = \sffamily\fontsize{12bp}{20bp}\selectfont,
+ aftername = \quad,
+ },
+ }%
+ \else
+ \ctexset{%
+ chapter = {
+ format = \centering\sffamily\bfseries\fontsize{16bp}{20bp}\selectfont,
+ nameformat = \MakeUppercase,
+ titleformat = \MakeUppercase,
+ name = \chaptername\space,
+ aftername = \space,
+ },
+ section = {
+ format = \sffamily\bfseries\fontsize{14bp}{20bp}\selectfont,
+ aftername = \space,
+ },
+ subsection = {
+ format = \sffamily\bfseries\fontsize{13bp}{20bp}\selectfont,
+ aftername = \space,
+ },
+ subsubsection = {
+ format = \sffamily\bfseries\fontsize{12bp}{20bp}\selectfont,
+ aftername = \space,
+ },
+ }%
+ \fi
+}
+\nxu@set@section@format
+\nxu@option@hook{degree}{\nxu@set@section@format}
+\nxu@option@hook{main-language}{\nxu@set@section@format}
+\newcommand\nxu@english@number[1]{%
+ \expandafter\ifcase\csname c@#1\endcsname
+ Zero\or
+ One\or
+ Two\or
+ Three\or
+ Four\or
+ Five\or
+ Six\or
+ Seven\or
+ Eight\or
+ Nine\or
+ Ten\or
+ Eleven\or
+ Twelve\or
+ Thirteen\or
+ Fourteen\or
+ Fifteen\or
+ Sixteen\or
+ Seventeen\or
+ Eighteen\or
+ Nineteen\or
+ Twenty\or
+ \nxu@error{You are genius}%
+ \fi
+}
+\newcommand\nxu@pdfbookmark[2]{}
+\newcommand\nxu@phantomsection{}
+\NewDocumentCommand\nxu@chapter{s o m o}{%
+ \IfBooleanF{#1}{%
+ \nxu@error{You have to use the star form: \string\nxu@chapter*}%
+ }%
+ \if@openright\cleardoublepage\else\clearpage\fi%
+ \IfValueTF{#2}{%
+ \ifthenelse{\equal{#2}{}}{%
+ \nxu@pdfbookmark{0}{#3}%
+ }{%
+ \nxu@phantomsection
+ \addcontentsline{toc}{chapter}{#2}%
+ }%
+ }{%
+ \nxu@phantomsection
+ \addcontentsline{toc}{chapter}{#3}%
+ }%
+ \chapter*{#3}%
+ \IfValueTF{#4}{%
+ \ifthenelse{\equal{#4}{}}{%
+ \@mkboth{}{}%
+ }{%
+ \@mkboth{#4}{#4}%
+ }%
+ }{%
+ \@mkboth{#3}{#3}%
+ }%
+}
+\setcounter{secnumdepth}{3}
+\setcounter{tocdepth}{2}
+\renewcommand\tableofcontents{%
+ \ifnxu@degree@graduate
+ \nxu@chapter*[]{\erhao \contentsname}%
+ \else
+ \nxu@chapter*[]{\contentsname}%
+ \fi
+ \@starttoc{toc}%
+}
+\nxu@define@key{
+ toc-chapter-style = {
+ name = toc@chapter@style,
+ choices = {
+ arial,
+ times,
+ },
+ default = arial,
+ },
+}
+\newcommand\nxu@leaders{\titlerule*[5bp]{$\cdot$}}
+\newcommand\nxu@set@toc@format{%
+ \contentsmargin{\z@}%
+ \ifnxu@main@language@chinese
+ \titlecontents{chapter}
+ [\z@]{\mdseries \songti \sihao}
+ {\contentspush{\thecontentslabel\quad}}{}
+ {\nxu@leaders{\xiaosi \thecontentspage}}[\vspace{0.2cm}]%
+ \titlecontents{section}
+ [2em]{\songti \xiaosi}
+ {\contentspush{\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}[\vspace{0.2cm}]%
+ \titlecontents{subsection}
+ [4em]{\songti \xiaosi}
+ {\contentspush{\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}[\vspace{0.2cm}]%
+ \else
+ \titlecontents{chapter}
+ [\z@]{\heiti}
+ {\contentspush{\MakeUppercase{\thecontentslabel}\space}\MakeUppercase}{\MakeUppercase}
+ {\rmfamily\nxu@leaders\thecontentspage}%
+ \titlecontents{section}
+ [1em]{}
+ {\contentspush{\thecontentslabel\space}}{}
+ {\nxu@leaders\thecontentspage}%
+ \titlecontents{subsection}
+ [2em]{}
+ {\contentspush{\thecontentslabel\space}}{}
+ {\nxu@leaders\thecontentspage}%
+ \fi
+}
+\nxu@set@toc@format
+\nxu@option@hook{degree}{\nxu@set@toc@format}
+\nxu@option@hook{main-language}{\nxu@set@toc@format}
+\nxu@define@key{
+ secret-level = {
+ name = secret@level,
+ },
+ secret-year = {
+ name = secret@year,
+ },
+ title = {
+ default = {标题},
+ },
+ title* = {
+ default = {Title},
+ name = title@en,
+ },
+ author = {
+ default = {姓名},
+ },
+ student-id = {
+ name = student@id,
+ },
+ supervisor = {
+ default = {导师姓名},
+ },
+ associate-supervisor = {
+ name = associate@supervisor,
+ },
+ co-supervisor = {
+ name = co@supervisor,
+ },
+ % Reserved for compatibility
+ joint-supervisor = {
+ name = co@supervisor,
+ },
+ field = {
+ name = field,
+ },
+ code = {
+ name = code,
+ },
+ degree-category = {
+ default = {工学博士},
+ name = degree@category,
+ },
+ % 为了向后兼容
+ degree-name = {
+ name = degree@category,
+ },
+}
+\nxu@option@hook{degree-name}{%
+ \nxu@warning{`degree-name' is deprecated. Use `degree-category' instead.}
+}
+\nxu@option@hook{degree-name*}{%
+ \nxu@warning{`degree-name*' is deprecated. Use `degree-category*' instead.}
+}
+\nxu@define@key{
+ department = {
+ default = {土木与水利工程学院},
+ },
+ discipline = {
+ % default = {土木与水利工程学院},
+ },
+}
+\nxu@option@hook{discipline}{%
+ \ifnxu@degree@type@professional
+ \nxu@warning{`discipline' for professional degree is deprecated. Use `professional-field' instead.}
+ \let\nxu@professional@field\nxu@discipline
+ \let\nxu@discipline\@empty
+ \fi
+}
+\nxu@option@hook{discipline*}{%
+ \ifnxu@degree@type@professional
+ \nxu@warning{`discipline*' for professional degree is deprecated. Use `professional-field*' instead.}
+ \let\nxu@professional@field@en\nxu@discipline@en
+ \let\nxu@discipline@en\@empty
+ \fi
+}
+\nxu@define@key{
+ professional-field = {
+ name = professional@field,
+ },
+ engineering-field = {
+ name = engineering@field,
+ },
+ date = {
+ default = {\the\year-\two@digits{\month}-\two@digits{\day}},
+ },
+ clc,
+ udc,
+ id,
+ discipline-level-1 = {
+ default = {一级学科名称},
+ name = discipline@level@i,
+ },
+ discipline-level-2 = {
+ default = {二级学科名称},
+ name = discipline@level@ii,
+ },
+ start-date = {
+ name = start@date,
+ default = {\the\year-\two@digits{\month}-\two@digits{\day}},
+ },
+ end-date = {
+ name = end@date,
+ default = {\the\year-\two@digits{\month}-\two@digits{\day}},
+ },
+ include-spine = {
+ name = include@spine,
+ choices = {
+ false,
+ true,
+ },
+ default = false,
+ },
+}
+\newcommand\nxu@format@date[2]{%
+ \edef\nxu@@date{#2}%
+ \def\nxu@@process@date##1-##2-##3\@nil{%
+ #1{##1}{##2}{##3}%
+ }%
+ \expandafter\nxu@@process@date\nxu@@date\@nil
+}
+\newcommand\nxu@date@zh@digit[3]{#1 年 \number#2 月 \number#3 日}
+\newcommand\nxu@date@zh@digit@short[3]{#1 年 \number#2 月}
+\newcommand\nxu@date@zh@short[3]{\zhdigits{#1}年\zhnumber{#2}月}
+\newcommand\nxu@date@month[1]{%
+ \ifcase\number#1\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December%
+ \fi
+}
+\newcommand\nxu@date@en@short[3]{\nxu@date@month{#2}, #1}
+\newcommand\nxu@underline[2][6em]{\hskip1pt\underline{\hb@xt@ #1{\hss#2\hss}}\hskip3pt}
+\newcommand\nxu@uline[2][6em]{\uline{\hb@xt@ #1{\hss#2\hss}}}
+\newcommand\nxu@fixed@box[2]{%
+ \begingroup
+ \ifLuaTeX
+ \ltjsetparameter{kanjiskip = {0pt plus 2filll minus 1filll}}%
+ \else
+ \renewcommand\CJKglue{\hspace{0pt plus 2filll minus 1filll}}%
+ \fi
+ \makebox[#1][l]{#2}%
+ \endgroup
+}
+\newbox\nxu@stretch@box
+\newcommand\nxu@stretch[2]{%
+ \sbox\nxu@stretch@box{#2}%
+ \ifdim \wd\nxu@stretch@box < #1\relax
+ \begingroup
+ \ifLuaTeX
+ \ltjsetparameter{kanjiskip = {0pt plus 2filll}}%
+ \else
+ \renewcommand\CJKglue{\hspace{0pt plus 2filll}}%
+ \fi
+ \makebox[#1][l]{#2}%
+ \endgroup
+ \else
+ \box\nxu@stretch@box
+ \fi
+}
+\newbox\nxu@pad@box
+\newcommand\nxu@pad[2]{%
+ \sbox\nxu@pad@box{#2}%
+ \ifdim \wd\nxu@pad@box < #1\relax
+ \makebox[#1]{\box\nxu@pad@box}%
+ \else
+ \box\nxu@pad@box
+ \fi
+}
+\newcounter{nxu@csl@count}
+\newcommand\nxu@name@title@process[1]{%
+ \ifcase\c@nxu@csl@count % == 0
+ \gdef\nxu@@name{#1}%
+ \or % == 1
+ \gdef\nxu@@title{#1}%
+ \fi
+ \stepcounter{nxu@csl@count}%
+}
+\newcommand\nxu@name@title@format[2]{%
+ %\nxu@pad{3em}{\nxu@stretch{3em}{#1}}%
+ \makebox[4.5em][l]{\box\nxu@pad@box{#1}}
+ %#2
+ \nxu@stretch{1em}{#2}%
+}
+\newcommand\nxu@name@title[1]{%
+ \setcounter{nxu@csl@count}{0}%
+ \gdef\nxu@@name{}%
+ \gdef\nxu@@title{}%
+ \expandafter\comma@parse\expandafter{#1}{\nxu@name@title@process}%
+ \nxu@name@title@format{\nxu@@name}{\nxu@@title}%
+}
+\renewcommand\maketitle{%
+ \cleardoublepage
+ \pagenumbering{Alph}%
+ \nxu@pdfbookmark{-1}{\nxu@title}%
+ \nxu@titlepage
+ \ifnxu@include@spine@true
+ \spine
+ \fi
+ \clearpage
+}
+\newcommand\nxu@titlepage{%
+ \nxusetup{language = chinese}%
+ \nxu@titlepage@thesis
+ \nxu@reset@main@language
+}
+\newcommand\nxu@titlepage@thesis{%
+ \thispagestyle{empty}%
+ % \null\vskip 8.1pt%
+ \begingroup
+ \centering
+ \begingroup
+ \fontsize{10.5bp}{10.5bp}\selectfont
+ \nxu@titlepage@topinfo\par
+ \endgroup
+ \vskip 1.7cm%
+ \nxu@titlepage@name
+ \vskip 0.68cm
+ \nxu@title@page@degree@category\par
+ \vskip 0.6cm
+ \begingroup
+ \sffamily\fontsize{22bp}{30bp}\selectfont
+ \nxu@title\par
+ \endgroup
+ \vskip 8pt
+ \begingroup
+ \fontsize{16bp}{24bp}\selectfont
+ \nxu@title@en\par
+ \endgroup
+ \vskip 24.1pt%
+ \vfill
+ \begingroup
+ \fontsize{14bp}{21bp}\songti
+ \nxu@titlepage@info\par
+ \endgroup
+ \vskip 62pt%
+ \fi
+ \endgroup
+ \clearpage
+ \restoregeometry
+}
+\newcommand\nxu@set@student@id{%
+ \ifnxu@thesis@type@proposal
+ \ifx\nxu@student@id\@empty
+ \nxusetup{student-id=2000310000}%
+ \fi
+ \fi
+}
+\nxu@set@student@id
+\nxu@option@hook{thesis-type}{\nxu@set@student@id}
+\newcommand\nxu@titlepage@name{
+ \begin{center}
+ \includegraphics[width=10.3cm]{nxu-name.pdf}
+ \end{center}
+}
+\newcommand\nxu@titlepage@topinfo{
+ \nxu@titlepage@topinfo@tabular{3em}{4em}{1em}{
+ \nxu@topinfo@iteml{分类号}{\nxu@clc}
+ \nxu@topinfo@iteml{密级}{\nxu@secret@level}
+ }{
+ \nxu@topinfo@itemr{单位代码}{\nxu@code}
+ \nxu@topinfo@itemr{学号}{\nxu@student@id}
+ }\par
+}
+\newcommand\nxu@titlepage@topinfo@tabular[5]{%
+ \def\nxu@topinfo@iteml##1##2{%
+ \nxu@pad{#1}{\nxu@fixed@box{#1}{##1}}%
+ \nxu@pad{#3}{:}%
+ \makebox[6em][l]{ ##2 }\\[3bp]
+ }%
+ \def\nxu@topinfo@itemr##1##2{%
+ \nxu@pad{#2}{\nxu@fixed@box{#2}{##1}}%
+ \nxu@pad{#3}{:}%
+ \makebox[6em][l]{ ##2 }\\[3bp]
+ }%
+ \begin{tabular}{l}%
+ #4%
+ \end{tabular}%
+ \hfill
+ \begin{tabular}{l}%
+ #5%
+ \end{tabular}%
+}
+\newcommand\nxu@title@page@degree@category{%
+ \begingroup
+ \fontsize{18bp}{22bp}\selectfont
+ \ifLuaTeX
+ \fontspec{\CJK@family}%
+ \ltjsetparameter{kanjiskip = {1bp}}%
+ \else
+ \CJKfamily+{}%
+ \renewcommand\CJKglue{\hspace{1bp}}%
+ \fi
+ \ifnxu@thesis@type@thesis
+ \ifnxu@degree@type@academic
+ \ifnxu@degree@master
+ 硕士学位论文
+ \else
+ \ifnxu@degree@doctor
+ 博士学位论文
+ \fi
+ \fi
+ \else
+ \ifnxu@degree@type@professional
+ 专业学位论文
+ \fi
+ \fi
+ \par
+ \endgroup
+}
+\newcommand\nxu@titlepage@info{%
+ \nxu@titlepage@info@tabular{0.0cm}{4.54cm}{4.44cm}{0.60cm}{%
+ \nxu@info@item{学位申请人}{}{\nxu@author}%
+ \nxu@info@item{指导教师}{\nxu@name@title}{\nxu@supervisor}%
+ \nxu@info@item{合作指导教师}{\nxu@name@title}{\nxu@co@supervisor}%
+ \ifnxu@degree@type@academic
+ \nxu@info@item{申请学位门类级别}{}{\nxu@degree@category}%
+ \nxu@info@item{专业名称}{}{\nxu@discipline}%
+ \else
+ \nxu@info@item{申请学位类别}{}{\nxu@degree@category}%
+ \nxu@info@item{专业领域名称}{}{\nxu@discipline}%
+ \fi
+ \nxu@info@item{研究方向}{}{\nxu@field}%
+ \nxu@info@item{所在学院}{}{\nxu@department}%
+ \nxu@info@item{论文完成日期}{}{\sihao\nxu@format@date{\nxu@date@zh@digit}{\nxu@date}}%
+ }\par
+}
+\newcommand\nxu@titlepage@info@tabular[5]{%
+ \def\nxu@info@item##1##2##3{%
+ \ifx##3\@empty\else
+ \nxu@pad{#2}{\nxu@fixed@box{#3}{##1}}%
+ \nxu@pad{#4}{:}%
+ \uline{ \nxu@pad{14em}{\hfill ##2{##3} }}\\[7bp]
+ \fi
+ }%
+ \hspace{#1}%
+ \begin{tabular}{l}%
+ \renewcommand\arraystretch{1}%
+ #5%
+ \end{tabular}%
+}
+\newcommand\copyrightpage[1][]{%
+ \cleardoublepage
+ \def\nxu@@tmp{#1}
+ \ifx\nxu@@tmp\@empty
+ \nxusetup{language=chinese}%
+ \thispagestyle{empty}%
+ \nxu@copyright@page@graduate
+ \nxu@reset@main@language
+ \else
+ \thispagestyle{empty}%
+ \nxu@pdfbookmark{0}{关于学位论文使用授权的说明}%
+ \nxu@phantomsection
+ \kv@define@key{nxu@copyright}{file}{\includepdf{\kv@value}}%
+ \kv@set@family@handler{nxu@copyright}{%
+ \ifx\kv@value\relax
+ \includepdf{\kv@key}%
+ \else
+ \kv@handled@false
+ \fi
+ }%
+ \kvsetkeys{nxu@copyright}{#1}%
+ \fi
+}
+\newcommand{\nxu@authorization@frontdate}{%
+ 日\hspace{2em} 期:}
+\newcommand\nxu@copyright@page@graduate{%
+ \null\vskip 30bp%
+ \begingroup
+ \begin{center}
+ \sffamily\fontsize{22bp}{30bp}\selectfont
+ \nxu@stretch{5.4cm}{独创性声明}
+ \end{center}
+ \endgroup
+ \vskip 12bp%
+ \begingroup
+ \fontsize{12bp}{20bp}\selectfont
+ 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得宁夏大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。\par
+ \endgroup
+ \vskip 30bp
+ \begingroup
+ \fontsize{12bp}{20bp}\selectfont
+ 研究生签名:\hspace{12em}时间:\hspace{4em}年\hspace{2em}月\hspace{2em}日\par
+ \endgroup
+ \vskip 4.00cm
+ \begingroup
+ \begin{center}
+ \sffamily\fontsize{22bp}{30bp}\selectfont
+ 关于论文使用授权的说明
+ \end{center}
+ \endgroup
+ \vskip 12bp%
+ \begingroup
+ \fontsize{12bp}{20bp}\selectfont
+ 本人完全了解宁夏大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。同意宁夏大学可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。\par
+ \textbf{(保密的学位论文在解密后应遵守此协议)}\par
+ \endgroup
+ \vskip 30bp
+ \begingroup
+ \fontsize{12bp}{20bp}\selectfont
+ 研究生签名:\hspace{12em}时间:\hspace{4em}年\hspace{2em}月\hspace{2em}日\par
+ \vskip 28bp
+ 导师签名:\hspace{13em}时间:\hspace{4em}年\hspace{2em}月\hspace{2em}日\par
+ \endgroup
+}
+\nxu@define@key{
+ keywords,
+ keywords* = {
+ name = keywords@en,
+ },
+}
+\newcommand\nxu@clist@use[2]{%
+ \def\nxu@@tmp{}%
+ \def\nxu@clist@processor##1{%
+ \ifx\nxu@@tmp\@empty
+ \def\nxu@@tmp{#2}%
+ \else
+ #2%
+ \fi
+ ##1%
+ }%
+ \expandafter\comma@parse\expandafter{#1}{\nxu@clist@processor}%
+}
+\newenvironment{abstract}{%
+ \thispagestyle{empty}
+ \nxusetup{language = chinese}%
+ \ifnxu@degree@graduate
+ \begingroup
+ \ifnxu@main@language@english
+ \ctexset{%
+ chapter/format = \centering\sffamily\fontsize{16bp}{20bp}\selectfont,
+ }%
+ \fi
+ \nxu@chapter*{\nxu@abstract@name}%
+ \endgroup
+ \else
+ \nxu@chapter*[]{\nxu@abstract@name}%
+ \fi
+}{%
+ \par
+ %\null\par
+ \noindent
+ \textbf{关键词:}%
+ \nxu@clist@use{\nxu@keywords}{,}%
+ \gdef\nxu@keywords{}%
+ \nxu@reset@main@language % switch back to main language
+}
+\newenvironment{abstract*}{%
+ \nxusetup{language = english}%
+ \ifnxu@degree@graduate
+ \nxu@chapter*[]{\bfseries \nxu@abstract@name@en}%
+ \addcontentsline{toc}{chapter}{\nxu@abstract@name@en}%
+ \else
+ \nxu@chapter*[]{\nxu@abstract@name@en}%
+ \fi
+}{%
+ \par
+ %\null\par
+ \noindent
+ \textbf{Keywords:}\space
+ \nxu@clist@use{\nxu@keywords@en}{, }%
+ \ifnxu@degree@graduate
+ \vspace*{\stretch{1}}%
+ \fi
+ \nxu@reset@main@language % switch back to main language
+}
+\newenvironment{denotation}[1][2.5cm]{%
+ \nxu@chapter*{\nxu@denotation@name}%
+ \vskip-30bp\xiaosi[1.6]\begin{nxu@denotation}[labelwidth=#1]
+}{%
+ \end{nxu@denotation}
+}
+\newlist{nxu@denotation}{description}{1}
+\setlist[nxu@denotation]{%
+ nosep,
+ font=\normalfont,
+ align=left,
+ leftmargin=!, % sum of the following 3 lengths
+ labelindent=0pt,
+ labelwidth=2.5cm,
+ labelsep*=0.5cm,
+ itemindent=0pt,
+}
+\newcommand{\nxu@signature}{签\hspace{1em}名:}
+\newcommand{\nxu@backdate}{日\hspace{1em}期:}
+\newenvironment{acknowledgements}{%
+ \@mainmatterfalse
+ \nxu@end@appendix@ref@section
+ \nxu@chapter*{\nxu@acknowledgements@name}%
+}{%
+}
+\let\acknowledgement\acknowledgements
+\let\endacknowledgement\endacknowledgements
+\def\nxu@listof#1{% #1: float type
+ \setcounter{tocdepth}{2} % restore tocdepth in case being modified
+ \@ifstar
+ {\nxu@chapter*[]{\csname list#1name\endcsname}\@starttoc{\csname ext@#1\endcsname}}
+ {\nxu@chapter*{\csname list#1name\endcsname}\@starttoc{\csname ext@#1\endcsname}}%
+}
+\renewcommand\listoffigures{%
+ \nxu@listof{figure}%
+}
+\titlecontents{figure}
+ [\z@]{}
+ {\contentspush{\figurename~\thecontentslabel\quad}}{}
+ {\nobreak\nxu@leaders\nobreak\hfil\thecontentspage}
+\renewcommand\listoftables{%
+ \nxu@listof{table}%
+}
+\titlecontents{table}
+ [\z@]{}
+ {\contentspush{\tablename~\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}
+\newcommand\listoffiguresandtables{%
+ \nxu@chapter*{\nxu@list@figure@table@name}%
+ \@starttoc{lof}%
+ \par
+ \null\par
+ \@starttoc{lot}%
+}
+\def\ext@equation{loe}
+\def\equcaption#1{%
+ \addcontentsline{\ext@equation}{equation}%
+ {\protect\numberline{#1}}}
+\newcommand\listofequations{\nxu@listof{equation}}
+\titlecontents{equation}
+ [0pt]{\addvspace{6bp}}
+ {\nxu@equation@name~\thecontentslabel}{}
+ {\nobreak\nxu@leaders\nobreak\thecontentspage}
+\contentsuse{equation}{loe}
+\nxu@define@key{
+ cite-style = {
+ name = cite@style,
+ choices = {
+ super,
+ inline,
+ author-year,
+ }
+ }
+}
+\def\bibliographystyle#1{%
+ \gdef\bu@bibstyle{#1}%
+ \ifx\@begindocumenthook\@undefined\else
+ \expandafter\AtBeginDocument
+ \fi
+ {\if@filesw
+ \immediate\write\@auxout{\string\bibstyle{#1}}%
+ \immediate\write\@auxout{\string\gdef\string\bu@bibstyle{#1}}%
+ \fi}%
+}
+\def\bibliography#1{%
+ \if@filesw
+ \immediate\write\@auxout{\string\bibdata{\zap@space#1 \@empty}}%
+ \immediate\write\@auxout{\string\gdef\string\bu@bibdata{#1}}%
+ \fi
+ \gdef\bu@bibdata{#1}%
+ \@input@{\jobname.bbl}}
+\PassOptionsToPackage{compress}{natbib}
+\AtEndOfPackageFile*{natbib}{
+ \DeclareRobustCommand\inlinecite{\@inlinecite}
+ \def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup}
+ \let\onlinecite\inlinecite
+ \newcommand\bibstyle@super{%
+ \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}}
+ \newcommand\bibstyle@inline{%
+ \bibpunct{[}{]}{,}{n}{,}{,}}
+ \@namedef{bibstyle@author-year}{%
+ \bibpunct{(}{)}{;}{a}{,}{,}}
+ \nxu@option@hook{cite-style}{\@nameuse{bibstyle@\nxu@cite@style}}
+ \@namedef{bibstyle@nxuthesis-numeric}{\citestyle{super}}
+ \@namedef{bibstyle@nxuthesis-author-year}{\citestyle{author-year}}
+ \@namedef{bibstyle@cell}{\citestyle{author-year}}
+ %\@namedef{bibstyle@nxuthesis-bachelor}{\citestyle{super}}
+ \renewcommand\NAT@citesuper[3]{%
+ \ifNAT@swa
+ \if*#2*\else
+ #2\NAT@spacechar
+ \fi
+ % \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}%
+ % \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup}
+ \unskip\kern\p@
+ \textsuperscript{%
+ \NAT@@open#1\NAT@@close
+ \if*#3*\else#3\fi
+ }%
+ \kern\p@
+ \else
+ #1%
+ \fi
+ \endgroup
+ }
+ \renewcommand\NAT@citenum[3]{%
+ \ifNAT@swa
+ \NAT@@open
+ \if*#2*\else
+ #2\NAT@spacechar
+ \fi
+ % #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close
+ #1\NAT@@close
+ \if*#3*\else
+ \textsuperscript{#3}%
+ \fi
+ \else
+ #1%
+ \fi
+ \endgroup
+ }
+ \def\NAT@citexnum[#1][#2]#3{%
+ \NAT@reset@parser
+ \NAT@sort@cites{#3}%
+ \NAT@reset@citea
+ \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\@safe@activestrue
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \@safe@activesfalse
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \@ifnum{\NAT@ctype>\@ne}{%
+ \@citea
+ \NAT@hyper@{\@ifnum{\NAT@ctype=\tw@}{\NAT@test{\NAT@ctype}}{\NAT@alias}}%
+ }{%
+ \@ifnum{\NAT@cmprs>\z@}{%
+ \NAT@ifcat@num\NAT@num
+ {\let\NAT@nm=\NAT@num}%
+ {\def\NAT@nm{-2}}%
+ \NAT@ifcat@num\NAT@last@num
+ {\@tempcnta=\NAT@last@num\relax}%
+ {\@tempcnta\m@ne}%
+ \@ifnum{\NAT@nm=\@tempcnta}{%
+ \@ifnum{\NAT@merge>\@ne}{}{\NAT@last@yr@mbox}%
+ }{%
+ \advance\@tempcnta by\@ne
+ \@ifnum{\NAT@nm=\@tempcnta}{%
+ % \ifx\NAT@last@yr\relax
+ % \def@NAT@last@yr{\@citea}%
+ % \else
+ % \def@NAT@last@yr{--\NAT@penalty}%
+ % \fi
+ \def@NAT@last@yr{-\NAT@penalty}%
+ }{%
+ \NAT@last@yr@mbox
+ }%
+ }%
+ }{%
+ \@tempswatrue
+ \@ifnum{\NAT@merge>\@ne}{\@ifnum{\NAT@last@num=\NAT@num\relax}{\@tempswafalse}{}}{}%
+ \if@tempswa\NAT@citea@mbox\fi
+ }%
+ }%
+ \NAT@def@citea
+ \else
+ \ifcase\NAT@ctype
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\NAT@penalty\NAT@space\else
+ \@citea \NAT@test{\@ne}\NAT@spacechar\NAT@mbox{\NAT@super@kern\NAT@@open}%
+ \fi
+ \if*#1*\else#1\NAT@spacechar\fi
+ \NAT@mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
+ \NAT@def@citea@box
+ \or
+ \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
+ \or
+ \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
+ \or
+ \NAT@hyper@citea@space\NAT@alias
+ \fi
+ \fi
+ }%
+ }%
+ \@ifnum{\NAT@cmprs>\z@}{\NAT@last@yr}{}%
+ \ifNAT@swa\else
+ % \@ifnum{\NAT@ctype=\z@}{%
+ % \if*#2*\else\NAT@cmt#2\fi
+ % }{}%
+ \NAT@mbox{\NAT@@close}%
+ \@ifnum{\NAT@ctype=\z@}{%
+ \if*#2*\else
+ \textsuperscript{#2}%
+ \fi
+ }{}%
+ \NAT@super@kern
+ \fi
+ }{#1}{#2}%
+ }%
+ \renewcommand\NAT@cite%
+ [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi
+ % #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
+ #1\NAT@@close\if*#3*\else\textsuperscript{#3}\fi\else#1\fi\endgroup}
+ \def\NAT@citex%
+ [#1][#2]#3{%
+ \NAT@reset@parser
+ \NAT@sort@cites{#3}%
+ \NAT@reset@citea
+ \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\@safe@activestrue
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \@safe@activesfalse
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bfseries ?}\NAT@citeundefined
+ \PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}\NAT@date}%
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \def\NAT@temp{{?}}%
+ \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
+ {Multiple citation on page \thepage: same authors and
+ year\MessageBreak without distinguishing extra
+ letter,\MessageBreak appears as question mark}\fi
+ \NAT@hyper@{\NAT@exlab}%
+ \else\unskip\NAT@spacechar
+ \NAT@hyper@{\NAT@date}%
+ \fi
+ \else
+ \@citea\NAT@hyper@{%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{%
+ \NAT@aysep\NAT@spacechar}{\@citeb\@extra@b@citeb
+ }%
+ \NAT@date
+ }%
+ \fi
+ \fi
+ \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \or\@citea\NAT@hyper@{\NAT@date}%
+ \or\@citea\NAT@hyper@{\NAT@alias}%
+ \fi \NAT@def@citea
+ \else
+ \ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \def\NAT@temp{{?}}%
+ \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
+ {Multiple citation on page \thepage: same authors and
+ year\MessageBreak without distinguishing extra
+ letter,\MessageBreak appears as question mark}\fi
+ \NAT@hyper@{\NAT@exlab}%
+ \else
+ \unskip\NAT@spacechar
+ \NAT@hyper@{\NAT@date}%
+ \fi
+ \else
+ \@citea\NAT@hyper@{%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\NAT@spacechar\NAT@@open\if*#1*\else#1\NAT@spacechar\fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date
+ }%
+ \fi
+ \fi
+ \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \or\@citea\NAT@hyper@{\NAT@date}%
+ \or\@citea\NAT@hyper@{\NAT@alias}%
+ \fi
+ \if\relax\NAT@date\relax
+ \NAT@def@citea
+ \else
+ \NAT@def@citea@close
+ \fi
+ \fi
+ }}\ifNAT@swa\else
+ % \if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi
+ \if*#2*\else\textsuperscript{#2}\fi
+ \fi}{#1}{#2}}
+ \renewcommand\bibsection{\nxu@chapter*{\bibname}}
+ \newcommand\nxu@set@bibliography@format{%
+ \renewcommand\bibfont{\fontsize{10.5bp}{16bp}\selectfont}%
+ \setlength{\bibsep}{3bp \@plus 3bp \@minus 3bp}%
+ \setlength{\bibhang}{21bp}%
+ }
+ \nxu@set@bibliography@format
+ \nxu@option@hook{degree}{\nxu@set@bibliography@format}
+ \nxu@option@hook{main-language}{\nxu@set@bibliography@format}
+ \patchcmd\thebibliography{%
+ \clubpenalty4000%
+ }{%
+ \interlinepenalty=5000\relax
+ \clubpenalty=10000\relax
+ }{}{\nxu@patch@error{\thebibliography}}
+ \patchcmd\thebibliography{%
+ \widowpenalty4000%
+ }{%
+ \widowpenalty=10000\relax
+ }{}{\nxu@patch@error{\thebibliography}}
+ \def\@biblabel#1{[#1]\hfill}
+ \renewcommand\NAT@bibsetnum[1]{%
+ % \settowidth\labelwidth{\@biblabel{#1}}%
+ % \setlength{\leftmargin}{\labelwidth}%
+ % \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\leftmargin}{1cm}%
+ \setlength{\itemindent}{\z@}%
+ \setlength{\labelsep}{0.1cm}%
+ \setlength{\labelwidth}{0.9cm}%
+ \setlength{\itemsep}{\bibsep}
+ \setlength{\parsep}{\z@}%
+ \ifNAT@openbib
+ \addtolength{\leftmargin}{\bibindent}%
+ \setlength{\itemindent}{-\bibindent}%
+ \setlength{\listparindent}{\itemindent}%
+ \setlength{\parsep}{0pt}%
+ \fi
+ }
+}
+\AtEndOfPackageFile*{biblatex}{
+ \AtBeginDocument{
+ \ifthenelse{\equal{\blx@bbxfile}{apa}}{\def\bibname{REFERENCES}}{}
+ \ifthenelse{\equal{\blx@bbxfile}{apa6}}{\def\bibname{REFERENCES}}{}
+ \ifthenelse{\equal{\blx@bbxfile}{mla}}{\def\bibname{WORKS CITED}}{}
+ \ifthenelse{\equal{\blx@bbxfile}{mla-new}}{\def\bibname{WORKS CITED}}{}
+ }
+ \DeclareRobustCommand\inlinecite{\parencite}
+ \defbibheading{bibliography}[\bibname]{\nxu@chapter*{\bibname}}
+ \newcommand\nxu@set@bibliography@format{%
+ \renewcommand\bibfont{\fontsize{10.5bp}{16bp}\selectfont}%
+ \setlength{\bibitemsep}{3bp \@plus 3bp \@minus 3bp}%
+ \setlength{\biblabelsep}{0.1cm}%
+ \setlength{\bibhang}{21bp}%
+ }
+ \nxu@set@bibliography@format
+ \nxu@option@hook{degree}{\nxu@set@bibliography@format}
+ \nxu@option@hook{main-language}{\nxu@set@bibliography@format}
+}
+\AtEndOfPackageFile*{apacite}{
+ \AtBeginDocument{
+ \nxu@set@chapter@names
+ }
+ \renewcommand\bibliographytypesize{\fontsize{10.5bp}{17bp}\selectfont}
+ \setlength{\bibitemsep}{6bp}
+ \ifnxu@main@language@chinese
+ \setlength{\bibleftmargin}{21bp}
+ \setlength{\bibindent}{-\bibleftmargin}
+ \else
+ \setlength{\bibleftmargin}{0.5in}
+ \setlength{\bibindent}{-\bibleftmargin}
+ \fi
+ \def\st@rtbibchapter{%
+ \if@numberedbib%
+ \chapter{\bibname}% e.g., 6. References
+ \else%
+ \nxu@chapter*{\bibname}% e.g., References
+ \fi%
+ }%
+}
+\g@addto@macro\appendix{%
+ \@mainmattertrue
+}
+\nxu@define@key{
+ toc-depth = {
+ name = toc@depth,
+ },
+}
+\nxu@option@hook{toc-depth}{%
+ \ifx\@begindocumenthook\@undefined
+ \protected@write\@auxout{}{%
+ \string\ttl@writefile{toc}{%
+ \protect\setcounter{tocdepth}{\nxu@toc@depth}%
+ }%
+ }%
+ \else
+ \setcounter{tocdepth}{\nxu@toc@depth}%
+ \fi
+}
+\g@addto@macro\appendix{%
+ \nxusetup{
+ toc-depth = 0,
+ }%
+}
+\nxu@define@key{
+ appendix-figure-in-lof = {
+ name = appendix@figure@in@lof,
+ choices = {
+ true,
+ false,
+ },
+ default = false,
+ },
+}
+\nxu@option@hook{appendix-figure-in-lof}{%
+ \ifnxu@appendix@figure@in@lof@true
+ \addtocontents{lof}{\string\let\string\contentsline\string\ttl@contentsline}%
+ \addtocontents{lot}{\string\let\string\contentsline\string\ttl@contentsline}%
+ \addtocontents{loe}{\string\let\string\contentsline\string\ttl@contentsline}%
+ \else
+ \addtocontents{lof}{\string\let\string\contentsline\string\ttl@gobblecontents}%
+ \addtocontents{lot}{\string\let\string\contentsline\string\ttl@gobblecontents}%
+ \addtocontents{loe}{\string\let\string\contentsline\string\ttl@gobblecontents}%
+ \fi
+}
+\g@addto@macro\appendix{%
+ \nxusetup{
+ appendix-figure-in-lof = false,
+ }%
+}
+\newcommand\nxu@end@appendix@ref@section{}
+\AtBeginOfPackageFile*{bibunits}{
+ \def\bibliography#1{%
+ \if@filesw
+ \immediate\write\@auxout{\string\bibdata{\zap@space#1 \@empty}}%
+ \immediate\write\@auxout{\string\gdef\string\bu@bibdata{#1}}%
+ \fi
+ \@input@{\jobname.bbl}%
+ \gdef\bu@bibdata{#1}%
+ }
+ \def\bibliographystyle#1{%
+ \ifx\@begindocumenthook\@undefined\else
+ \expandafter\AtBeginDocument
+ \fi
+ {\if@filesw
+ \immediate\write\@auxout{\string\bibstyle{#1}}%
+ \immediate\write\@auxout{\string\gdef\string\bu@bibstyle{#1}}%
+ \fi}%
+ \gdef\bu@bibstyle{#1}%
+ }
+}
+\AtEndOfPackageFile*{bibunits}{
+ \def\@startbibunit{%
+ \global\let\@startbibunitorrelax\relax
+ \global\let\@finishbibunit\@finishstartedbibunit
+ \global\advance\@bibunitauxcnt 1
+ \if@filesw
+ {\endlinechar-1
+ \makeatletter
+ \@input{\@bibunitname.aux}}%
+ \immediate\openout\@bibunitaux\@bibunitname.aux
+ \immediate\write\@bibunitaux{\string\bibstyle{\@localbibstyle}}%
+ \fi
+ }
+ \def\bu@bibliography#1{%
+ \putbib[#1]%
+ }
+ \def\bu@bibliographystyle#1{%
+ \if@filesw
+ \immediate\write\@bibunitaux{\string\gdef\string\@localbibstyle{#1}}%
+ \fi
+ \gdef\@localbibstyle{#1}%
+ }
+ \providecommand\printbibliography{\putbib\relax}%
+ \g@addto@macro\appendix{%
+ \renewcommand\@bibunitname{\jobname-appendix-\@alph\c@chapter}%
+ \bibliographyunit[\chapter]%
+ \renewcommand\bibsection{%
+ \ctexset{section/numbering = false}%
+ \section{\bibname}%
+ \ctexset{section/numbering = true}%
+ }%
+ \ifnxu@degree@graduate
+ \renewcommand\citenumfont{\@Alph\c@chapter.}%
+ \renewcommand\@extra@binfo{@-\@alph\c@chapter}%
+ \renewcommand\@extra@b@citeb{@-\@alph\c@chapter}%
+ \renewcommand\bibnumfmt[1]{[\@Alph\c@chapter.#1]\hfill}%
+ \fi
+ }
+ \renewcommand\nxu@end@appendix@ref@section{%
+ \bibliographyunit\relax
+ }
+ \AtEndDocument{\nxu@end@appendix@ref@section}
+ \renewcommand\nxu@set@survey@bibheading{%
+ \renewcommand\bibsection{%
+ \par
+ \vskip 20bp%
+ \nxu@pdfbookmark{1}{\bibname}%
+ \begingroup
+ \centering
+ \xiaosi[1.667]\bibname\par
+ \endgroup
+ \vskip 6bp%
+ }%
+ }%
+ % \let\@xtestdef\@gobbletwo % This doesn't work
+ \def\bibunits@rerun@warning{\relax}
+}
+\PassOptionsToPackage{defernumbers = true}{biblatex}
+\AtEndOfPackageFile*{biblatex}{
+ \DeclareRefcontext{appendix}{}
+ \g@addto@macro\appendix{%
+ \pretocmd\chapter{%
+ \newrefsection
+ \@tempcnta=\c@chapter
+ \advance\@tempcnta\@ne
+ \newrefcontext[labelprefix = {\@Alph\@tempcnta.}]{appendix}%
+ }{}{\nxu@patch@error{\chapter}}%
+ \defbibheading{bibliography}[\bibname]{%
+ \ctexset{section/numbering = false}%
+ \section{#1}%
+ \ctexset{section/numbering = true}%
+ }%
+ }
+ \renewcommand\nxu@set@survey@bibheading{%
+ \defbibheading{bibliography}[\bibname]{%
+ \par
+ \vskip 20bp%
+ \nxu@pdfbookmark{1}{\bibname}%
+ \begingroup
+ \centering
+ \xiaosi[1.667]##1\par
+ \endgroup
+ \vskip 6bp%
+ }%
+ }%
+ \def\bibliographystyle#1{%
+ \nxu@warning{'bibliographystyle' invalid for 'biblatex'.}%
+ }
+}
+\@ifpackagelater{titletoc}{2019/07/14}{
+ \newcommand\nxu@print@contents[5]{%
+ \printcontents[#1]{#2}{#3}[#4]{}%
+ }
+}{
+ \newcommand\nxu@print@contents[5]{%
+ \printcontents[#1]{#2}{#3}{\setcounter{tocdepth}{#4}#5}%
+ }
+}
+\newenvironment{survey}{%
+ \chapter{外文资料的调研阅读报告}%
+ \nxusetup{language = english}%
+ \let\title\nxu@appendix@title
+ \let\maketitle\nxu@appendix@maketitle
+ \nxu@set@partial@toc@format
+ \renewcommand\tableofcontents{%
+ \section*{Contents}%
+ \nxu@pdfbookmark{1}{Contents}%
+ \nxu@print@contents{survey}{l}{1}{2}{}%
+ \vskip 20bp%
+ }%
+ \let\appendix\nxu@appendix@appendix
+ \nxu@set@survey@bibheading
+ \renewcommand\bibname{参考文献}%
+ \startcontents[survey]%
+}{%
+ \stopcontents[survey]%
+ \nxu@reset@main@language % restore language
+}
+\newcommand\nxu@set@appendix@bib@heading{}
+\newenvironment{translation}{%
+ \chapter{外文资料的书面翻译}%
+ \nxusetup{language = chinese}%
+ \let\title\nxu@appendix@title
+ \let\maketitle\nxu@appendix@maketitle
+ \renewenvironment{abstract}{%
+ \ctexset{
+ section = {
+ format += \centering,
+ numbering = false,
+ },
+ }%
+ \section{摘要}%
+ }{%
+ \par
+ \ifx\nxu@keywords\@empty\else
+ \textbf{关键词:}\nxu@clist@use{\nxu@keywords}{;}\par
+ \fi
+ }%
+ \nxu@set@partial@toc@format
+ \renewcommand\tableofcontents{%
+ \section*{目录}%
+ \nxu@pdfbookmark{1}{目录}%
+ \nxu@print@contents{translation}{l}{1}{2}{}%
+ \vskip 20bp%
+ }%
+ \let\appendix\nxu@appendix@appendix
+ \def\bibsection{%
+ \begingroup
+ \ctexset{section/numbering=false}%
+ \section{\bibname}%
+ \endgroup
+ }%
+ \startcontents[translation]%
+}{%
+ \stopcontents[translation]%
+ \nxu@reset@main@language % restore language
+}
+\newenvironment{translation-index}{}{}
+\AtEndOfPackageFile*{bibunits}{
+ \renewenvironment{translation-index}{%
+ \begin{bibunit}%
+ \renewcommand\@bibunitname{\jobname-index}%
+ \renewcommand\bibname{书面翻译对应的原文索引}%
+ \nxu@set@survey@bibheading
+ }{%
+ \end{bibunit}%
+ }
+}
+\AtEndOfPackageFile*{biblatex}{
+ \renewenvironment{translation-index}{%
+ \endrefsection
+ \begin{refsection}%
+ \renewcommand\bibname{书面翻译对应的原文索引}%
+ \nxu@set@survey@bibheading
+ }{%
+ \end{refsection}%
+ }
+}
+\DeclareRobustCommand\nxu@appendix@title[1]{\gdef\nxu@appendix@@title{#1}}
+\newcommand\nxu@appendix@maketitle{%
+ \par
+ \begin{center}%
+ \xiaosi[1.667]\nxu@appendix@@title
+ \end{center}%
+ \par
+}
+\newcommand\nxu@set@partial@toc@format{%
+ \titlecontents{section}
+ [\z@]{}
+ {\contentspush{\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}%
+ \titlecontents{subsection}
+ [1em]{}
+ {\contentspush{\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}%
+ \titlecontents{subsubsection}
+ [2em]{}
+ {\contentspush{\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}%
+}
+\newcommand\nxu@appendix@appendix{%
+ \def\theHsection{\Hy@AlphNoErr{section}}%
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \renewcommand\thesection{\thechapter.\@Alph\c@section}%
+}%
+\newcommand\nxu@set@survey@bibheading{}
+\newenvironment{resume}{%
+ \@mainmatterfalse
+ \nxu@end@appendix@ref@section
+ \nxu@chapter*{\nxu@resume@name}%
+ \ctexset{
+ section = {
+ format += \centering,
+ numbering = false,
+ },
+ }%
+ \ifnxu@language@chinese
+ \ctexset{
+ subsection = {
+ format = \sffamily\fontsize{12bp}{20bp}\selectfont,
+ numbering = false,
+ aftertitle = :,
+ },
+ }%
+ \setlist[achievements]{
+ topsep = 6bp,
+ itemsep = 6bp,
+ leftmargin = 1cm,
+ labelwidth = 1cm,
+ labelsep = 0pt,
+ first = {\fontsize{10.5bp}{14bp}\selectfont},
+ align = left,
+ label = [\arabic*],
+ resume = achievements,
+ }%
+ \else
+ \ctexset{
+ subsection = {
+ beforeskip = 0pt,
+ afterskip = 0pt,
+ format = \bfseries\normalsize,
+ indent = \parindent,
+ numbering = false,
+ },
+ }%
+ \setlist[achievements]{
+ topsep = 0bp,
+ itemsep = 0bp,
+ leftmargin = 1.75cm,
+ labelsep = 0.5cm,
+ align = right,
+ label = [\arabic*],
+ resume = achievements,
+ }%
+ \fi
+}{}
+\newcommand\resumeitem[1]{%
+ \nxu@error{The "\protect\resumeitem" is obsolete. Please update to the new format}%
+}
+\newcommand\researchitem[1]{%
+ \nxu@error{The "\protect\researchitem" is obsolete. Please update to the new format}%
+}
+\newlist{achievements}{enumerate}{1}
+\setlist[achievements]{
+ topsep = 6bp,
+ partopsep = 0bp,
+ itemsep = 6bp,
+ parsep = 0bp,
+ leftmargin = 10mm,
+ itemindent = 0pt,
+ align = left,
+ label = [\arabic*],
+ resume = achievements,
+}
+\newenvironment{publications}{%
+ \nxu@deprecate{"publications" environment}{"achievements"}%
+ \begin{achievements}%
+}{%
+ \end{achievements}%
+}
+\newcommand\publicationskip{%
+ \nxu@error{The "\protect\publicationskip" is obsolete. Do not use it}%
+}
+\NewEnviron{comments}[1][]{%
+ \nxu@end@appendix@ref@section
+ \ifnxu@degree@graduate
+ \@mainmatterfalse
+ \kv@define@key{nxu@comments}{name}{\let\nxu@comments@name\kv@value}%
+ \kv@set@family@handler{nxu@comments}{%
+ \ifx\kv@value\relax
+ \let\nxu@comments@name\kv@key
+ \else
+ \kv@handled@false
+ \fi
+ }%
+ \kvsetkeys{nxu@comments}{#1}%
+ \chapter{\nxu@comments@name}%
+ \BODY\clearpage
+ \fi
+}
+\NewEnviron{resolution}{%
+ \nxu@end@appendix@ref@section
+ \ifnxu@degree@graduate
+ \@mainmatterfalse
+ \chapter{\nxu@resolution@name}%
+ \BODY\clearpage
+ \fi
+}
+\newcommand{\record}[1]{%
+ \let\nxu@record@file\@empty
+ \kv@define@key{nxu@record}{file}{\let\nxu@record@file\kv@value}%
+ \kv@set@family@handler{nxu@record}{%
+ \ifx\kv@value\relax
+ \let\nxu@record@file\kv@key
+ \else
+ \kv@handled@false
+ \fi
+ }%
+ \kvsetkeys{nxu@record}{#1}%
+ \ifx\nxu@record@file\@empty
+ \nxu@error{File path of \protect\record\space is required}
+ \fi
+ \cleardoublepage
+ \nxu@pdfbookmark{0}{综合论文训练记录表}%
+ \includepdf[pages=-]{\nxu@record@file}%
+}
+\PassOptionsToPackage{
+ linktoc = all,
+ bookmarksdepth = 2,
+ bookmarksnumbered = true,
+ bookmarksopen = true,
+ bookmarksopenlevel = 1,
+ bookmarksdepth = 3,
+ unicode = true,
+ psdextra = true,
+ breaklinks = true,
+ plainpages = false,
+ pdfdisplaydoctitle = true,
+ hidelinks,
+}{hyperref}
+\AtEndOfPackageFile*{hyperref}{
+ \newcounter{nxu@bookmark}
+ \renewcommand\nxu@pdfbookmark[2]{%
+ \phantomsection
+ \stepcounter{nxu@bookmark}%
+ \pdfbookmark[#1]{#2}{nxuchapter.\thenxu@bookmark}%
+ }
+ \renewcommand\nxu@phantomsection{%
+ \phantomsection
+ }
+ \pdfstringdefDisableCommands{%
+ \let\\\relax
+ \let\quad\relax
+ \let\qquad\relax
+ \let\hspace\@gobble
+ }%
+ \@ifpackagelater{hyperref}{2019/04/27}{}{%
+ \g@addto@macro\psdmapshortnames{\let\mu\textmu}
+ }%
+ \ifnxu@main@language@chinese
+ \hypersetup{
+ pdflang = zh-CN,
+ }%
+ \else
+ \hypersetup{
+ pdflang = en-US,
+ }%
+ \fi
+ \AtBeginDocument{%
+ \ifnxu@main@language@chinese
+ \hypersetup{
+ pdftitle = \nxu@title,
+ pdfauthor = \nxu@author,
+ pdfsubject = \nxu@degree@category,
+ pdfkeywords = \nxu@keywords,
+ }%
+ \else
+ \hypersetup{
+ pdftitle = \nxu@title@en,
+ pdfauthor = \nxu@author@en,
+ pdfsubject = \nxu@degree@category@en,
+ pdfkeywords = \nxu@keywords@en,
+ }%
+ \fi
+ \hypersetup{
+ pdfcreator={\nxuthesis-v\version}}
+ }%
+}
+\AtEndOfPackageFile*{mathtools}{
+ \@ifpackageloaded{unicode-math}{
+ \let\underbrace\LaTeXunderbrace
+ \let\overbrace\LaTeXoverbrace
+ }{}
+}
+\AtEndOfPackageFile*{nomencl}{
+ \let\nomname\nxu@denotation@name
+ \def\thenomenclature{\begin{denotation}[\nom@tempdim]}
+ \def\endthenomenclature{\end{denotation}}
+}
+\AtEndOfPackageFile*{siunitx}{%
+ \newcommand\nxu@set@siunitx@language{%
+ \ifnxu@language@chinese
+ \sisetup{
+ list-final-separator = { 和 },
+ list-pair-separator = { 和 },
+ range-phrase = {~},
+ }%
+ \else
+ \ifnxu@language@english
+ \sisetup{
+ list-final-separator = {, and },
+ list-pair-separator = { and },
+ range-phrase = { to },
+ }%
+ \fi
+ \fi
+ }
+ \nxu@set@siunitx@language
+ \nxu@option@hook{language}{\nxu@set@siunitx@language}
+}
+\AtEndOfPackageFile*{amsthm}{%
+ \newtheoremstyle{nxu}
+ {\z@}{\z@}
+ {\normalfont}{\z@}
+ {\normalfont\sffamily}{\nxu@theorem@separator}
+ {0.5em}{}
+ \theoremstyle{nxu}
+ \newtheorem{assumption}{\nxu@assumption@name}[chapter]%
+ \newtheorem{definition}{\nxu@definition@name}[chapter]%
+ \newtheorem{proposition}{\nxu@proposition@name}[chapter]%
+ \newtheorem{lemma}{\nxu@lemma@name}[chapter]%
+ \newtheorem{theorem}{\nxu@theorem@name}[chapter]%
+ \newtheorem{axiom}{\nxu@axiom@name}[chapter]%
+ \newtheorem{corollary}{\nxu@corollary@name}[chapter]%
+ \newtheorem{exercise}{\nxu@exercise@name}[chapter]%
+ \newtheorem{example}{\nxu@example@name}[chapter]%
+ \newtheorem{remark}{\nxu@remark@name}[chapter]%
+ \newtheorem{problem}{\nxu@problem@name}[chapter]%
+ \newtheorem{conjecture}{\nxu@conjecture@name}[chapter]%
+ \renewenvironment{proof}[1][\nxu@proof@name]{\par
+ \pushQED{\qed}%
+ % \normalfont \topsep6\p@\@plus6\p@\relax
+ \normalfont \topsep\z@\relax
+ \trivlist
+ \item[\hskip\labelsep
+ % \itshape
+ % #1\@addpunct{.}]\ignorespaces
+ \sffamily
+ #1]\ignorespaces
+ }{%
+ \popQED\endtrivlist\@endpefalse
+ }
+ \renewcommand\qedsymbol{\nxu@qed}
+}
+\AtEndOfPackageFile*{ntheorem}{%
+ \theorembodyfont{\normalfont}%
+ \theoremheaderfont{\normalfont\sffamily}%
+ \theoremsymbol{\nxu@qed}%
+ \newtheorem*{proof}{\nxu@proof@name}%
+ \theoremstyle{plain}%
+ \theoremsymbol{}%
+ \theoremseparator{\nxu@theorem@separator}%
+ \newtheorem{assumption}{\nxu@assumption@name}[chapter]%
+ \newtheorem{definition}{\nxu@definition@name}[chapter]%
+ \newtheorem{proposition}{\nxu@proposition@name}[chapter]%
+ \newtheorem{lemma}{\nxu@lemma@name}[chapter]%
+ \newtheorem{theorem}{\nxu@theorem@name}[chapter]%
+ \newtheorem{axiom}{\nxu@axiom@name}[chapter]%
+ \newtheorem{corollary}{\nxu@corollary@name}[chapter]%
+ \newtheorem{exercise}{\nxu@exercise@name}[chapter]%
+ \newtheorem{example}{\nxu@example@name}[chapter]%
+ \newtheorem{remark}{\nxu@remark@name}[chapter]%
+ \newtheorem{problem}{\nxu@problem@name}[chapter]%
+ \newtheorem{conjecture}{\nxu@conjecture@name}[chapter]%
+}
+\PassOptionsToPackage{chapter}{algorithm}
+\AtEndOfPackageFile*{algorithm}{
+ \floatname{algorithm}{\nxu@algorithm@name}
+ \renewcommand\listofalgorithms{%
+ \nxu@listof{algorithm}%
+ }
+ \renewcommand\listalgorithmname{\nxu@list@algorithm@name}
+ \def\ext@algorithm{loa}
+ \contentsuse{algorithm}{loa}
+ \titlecontents{algorithm}
+ [\z@]{}
+ {\contentspush{\fname@algorithm~\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}
+}
+\PassOptionsToPackage{algochapter}{algorithm2e}
+\AtEndOfPackageFile*{algorithm2e}{
+ \renewcommand\algorithmcfname{\nxu@algorithm@name}
+ \SetAlgoCaptionLayout{nxu@caption@font}
+ \SetAlCapSty{relax}
+ \SetAlgoCaptionSeparator{\hspace*{1em}}
+ \SetAlFnt{\fontsize{11bp}{14.3bp}\selectfont}
+ \renewcommand\listofalgorithms{%
+ \nxu@listof{algorithmcf}%
+ }
+ \renewcommand\listalgorithmcfname{\nxu@list@algorithm@name}
+ \def\ext@algorithmcf{loa}
+ \contentsuse{algocf}{loa}
+ \titlecontents{algocf}
+ [\z@]{}
+ {\contentspush{\algorithmcfname~\thecontentslabel\quad}}{}
+ {\nxu@leaders\thecontentspage}
+}
+\AtEndOfPackageFile*{minted}{
+ \newcommand\nxu@set@listing@language{%
+ \ifnxu@language@chinese
+ \floatname{listing}{代码}%
+ \else
+ \floatname{listing}{Listing}%
+ \fi
+ }
+ \nxu@set@listing@language
+ \nxu@option@hook{language}{\nxu@set@listing@language}
+}
+\nxu@define@key{
+ spine-font = {
+ name = spine@font,
+ },
+ spine-student-id = {
+ name = spine@student@id,
+ },
+ spine-title = {
+ name = spine@title,
+ },
+ spine-author = {
+ name = spine@author,
+ },
+}
+\renewcommand\nxu@spine@font{%
+ \ifnxu@degree@doctor
+ \fontsize{16bp}{20.8bp}\selectfont
+ \else
+ \fontsize{15bp}{19.5bp}\selectfont
+ \fi
+}
+\newcommand*\CJKmovesymbol[1]{\raise.3em\hbox{#1}}
+\newcommand*\CJKmove{%
+ \punctstyle{plain}%
+ \let\CJKsymbol\CJKmovesymbol
+ \let\CJKpunctsymbol\CJKsymbol
+}
+\NewDocumentCommand{\spine}{
+ O{
+ \ifx\nxu@spine@student@id\@empty
+ \nxu@student@id
+ \else
+ \nxu@spine@student@id
+ \fi
+ }
+ O{
+ \ifx\nxu@spine@title\@empty
+ \nxu@title
+ \else
+ \nxu@spine@title
+ \fi
+ }
+ O{
+ \ifx\nxu@spine@author\@empty
+ \nxu@author
+ \else
+ \nxu@spine@author
+ \fi
+ }}{%
+ \clearpage
+ \newgeometry{
+ vmargin = 5.0cm,
+ hmargin = 1cm,
+ }%
+ \thispagestyle{empty}%
+ \ifnxu@main@language@chinese
+ \nxu@pdfbookmark{0}{书脊}%
+ \else
+ \nxu@pdfbookmark{0}{Spine}%
+ \fi
+ \begingroup
+ \noindent\hfill
+ \rotatebox[origin=lt]{-90}{%
+ \makebox[\textheight]{%
+ \fangsong
+ \addCJKfontfeatures*{RawFeature={vertical}}%
+ \nxu@spine@font
+ \CJKmove
+ #1\hfill
+ #2\hfill
+ #3
+ }%
+ }%
+ \endgroup
+ \clearpage
+ \restoregeometry
+}
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
+\DeclareRobustCommand\file{\nolinkurl}
+\DeclareRobustCommand\env{\textsf}
+\DeclareRobustCommand\pkg{\textsf}
+\DeclareRobustCommand\cls{\textsf}
+\sloppy
+\endinput
+%%
+%% End of file `nxuthesis.cls'.
diff --git a/Master/texmf-dist/tex/latex/orcidlink/orcidlink.sty b/Master/texmf-dist/tex/latex/orcidlink/orcidlink.sty
index 93191be3eee..cf8ba2af4a1 100644
--- a/Master/texmf-dist/tex/latex/orcidlink/orcidlink.sty
+++ b/Master/texmf-dist/tex/latex/orcidlink/orcidlink.sty
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2019-2023 by Leo C. Stein <leo.stein@gmail.com>
+%% Copyright (C) 2019-2024 by Leo C. Stein <leo.stein@gmail.com>
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -20,10 +20,11 @@
%%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{orcidlink}
- [2023/12/30 v1.0.5 Linked ORCiD logo macro package]
+ [2024/06/26 v1.1.0 Support ORCID's three different ID formats.]
-%% All I did was package up Milo's code on TeX.SE,
-%% see https://tex.stackexchange.com/a/445583/34063
+%% This started out as Milo's code on TeX.SE,
+%% see https://tex.stackexchange.com/a/445583/34063.
+%% It has since been expanded with more commands.
\RequirePackage{hyperref}
\RequirePackage{tikz}
@@ -54,16 +55,23 @@
\tikzset{external/export next=false}\else\fi%
}
-\DeclareRobustCommand\orcidlink[1]{%
+\newcommand{\orcidlogo}{%
\texorpdfstring{%
\setlength{\@curXheight}{\fontcharht\font`X}%
-\href{https://orcid.org/#1}{\XeTeXLinkBox{\mbox{%
+\XeTeXLinkBox{%
\@preventExternalization%
\begin{tikzpicture}[yscale=-\@OrigHeightRecip*\@curXheight,
xscale=\@OrigHeightRecip*\@curXheight,transform shape]
\pic{orcidlogo};
\end{tikzpicture}%
-}}}}{}}
+}}{}}
+
+\DeclareRobustCommand\orcidlinkX[3]{\href{https://orcid.org/#2}{%
+\ifstrempty{#1}{}{#1\,}\orcidlogo\ifstrempty{#3}{}{\,#3}}}
+\newcommand{\orcidlinkf}[1]{\orcidlinkX{}{#1}{https://orcid.org/#1}}
+\newcommand{\orcidlinkc}[1]{\orcidlinkX{}{#1}{#1}}
+\newcommand{\orcidlinki}[2]{\orcidlinkX{#1}{#2}{}}
+\newcommand{\orcidlink}[1]{\orcidlinkX{}{#1}{}}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/overarrows/overarrows.sty b/Master/texmf-dist/tex/latex/overarrows/overarrows.sty
index f954f12b55b..db0b1b04322 100644
--- a/Master/texmf-dist/tex/latex/overarrows/overarrows.sty
+++ b/Master/texmf-dist/tex/latex/overarrows/overarrows.sty
@@ -17,10 +17,11 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{overarrows}
-[2023/02/15 v1.1 Custom extensible arrows over math expressions]
+[2024/07/11 v1.2 Custom extensible arrows over math expressions]
\newif\ifovar@option@oldarrows@
\newif\ifovar@option@esvect@ \ovar@option@esvect@true \PassOptionsToPackage{f}{esvect}
\newif\ifovar@option@tikz@
+\newif\ifovar@option@pstricks@
\newif\ifovar@option@pstarrows@
\newif\ifovar@detectsubscripts@
\newif\ifovar@option@subother@
@@ -54,6 +55,7 @@
\DeclareOption{esvecth}{\ovar@option@esvect@true\PassOptionsToPackage{h}{esvect}}
\DeclareOption{old-arrows}{\ovar@option@oldarrows@true}
\DeclareOption{tikz}{\ovar@option@tikz@true}
+\DeclareOption{pstricks}{\ovar@option@pstricks@true}
\DeclareOption{pstarrows}{\ovar@option@pstarrows@true}
\DeclareOption{subscripts}{\ovar@detectsubscripts@true}
\DeclareOption{subother}{\ovar@option@subother@true}
@@ -117,35 +119,70 @@
\ProcessOptions\relax
\RequirePackage{amsmath}
\RequirePackage{etoolbox}
-\let\ovar@rightarrow\rightarrow
-\let\ovar@leftarrow\leftarrow
+\def\ovar@rightarrow{\rightarrow}
+\def\ovar@leftarrow{\leftarrow}
\ifovar@option@oldarrows@
\RequirePackage[old]{old-arrows}
- \let\ovar@rightarrow\varrightarrow
- \let\ovar@leftarrow\varleftarrow
+ \def\ovar@rightarrow{\varrightarrow}
+ \def\ovar@leftarrow{\varleftarrow}
\fi
\ifovar@option@esvect@
\RequirePackage{esvect}
+ \DeclareFontFamily{U}{esvect}{}
+ \DeclareFontShape{U}{esvect}{m}{n}{
+ <-5.5> vect5
+ <5.5-6.5> vect6
+ <6.5-7.5> vect7
+ <7.5-8.5> vect8
+ <8.5-9.5> vect9
+ <9.5-> vect10
+ }{}
\fi
\ifovar@option@tikz@
\RequirePackage{tikz}
\usetikzlibrary{arrows.meta}
\fi
+\ifovar@option@pstricks@
+ \RequirePackage{pstricks-add}
+\fi
\ifovar@option@pstarrows@
\RequirePackage[pstarrows]{pict2e}
\fi
+\DeclareHookRule{begindocument}{overarrows}{after}{unicode-math-luatex}
+\DeclareHookRule{begindocument}{overarrows}{after}{unicode-math-xetex}
+\AddToHook{begindocument}[overarrows]
+ {%
+ \ifdef{\relbareda}
+ {%
+ \gdef\ovar@auto@middle{\relbareda}
+ \gdef\ovar@auto@trim@middle{1}
+ }
+ {%
+ \gdef\ovar@auto@middle{\relbar}
+ \gdef\ovar@auto@trim@middle{2.5}
+ }%
+ \@ifpackageloaded{unicode-math}
+ {%
+ \check@mathfonts
+ \iffontchar\textfont\tw@\string"23AF
+ \gdef\ovar@auto@middle{\mathrel\harrowextender}
+ \gdef\ovar@auto@trim@middle{0}
+ \fi
+ }
+ {}%
+ }
\newcommand{\SetOverArrowsSubscriptCommand}[1]{\global\let\ovar@subcmd=#1}
\SetOverArrowsSubscriptCommand{_}
\ifovar@option@subother@
\begingroup
\catcode `_=12
- \AddToHook{begindocument/end}{\SetOverArrowsSubscriptCommand{_}}
+ \SetOverArrowsSubscriptCommand{_}%
\endgroup
\fi
\ifovar@option@subactive@
\begingroup
\catcode `_=13
- \AddToHook{begindocument/end}{\SetOverArrowsSubscriptCommand{_}}
+ \SetOverArrowsSubscriptCommand{_}%
\endgroup
\fi
\RequirePackage{pgfkeys}
@@ -286,12 +323,17 @@
}
}
},
+ middle config/harrowextender/.code={%
+ \pgfkeysalso{%
+ middle={\harrowextender},
+ trim middle={0},
+ }
+ },
middle config/auto/.code={%
- \ifovar@option@esvect@
- \pgfkeysalso{middle config=relbareda}
- \else
- \pgfkeysalso{middle config=relbar}
- \fi
+ \pgfkeysalso{%
+ middle={\ovar@auto@middle},
+ trim middle={\ovar@auto@trim@middle},
+ }
},
amsmath/.is choice,%
amsmath/mimic/.code=\pgfkeysalso{%
@@ -369,6 +411,39 @@
shift right=-2,
min length=12,
}
+\SetOverArrowsMethod[lens]{pstricks}{%
+ no arrow macro hook/.code={%
+ \ovar@set{%
+ arrow macro/.expanded={%
+ $\noexpand\mkern \expandonce{\ovar@shift@left} mu\noexpand\relax$%
+ \noexpand\begin{pspicture}\expandonce{\ovar@pstricks@geometry}%
+ \noexpand\psset{linewidth=\expandonce{\ovar@pstricks@linethickness}}%
+ \noexpand\psset{\expandonce{\ovar@pstricks@psset}}%
+ \expandonce{\ovar@pstricks@command}%
+ \noexpand\end{pspicture}%
+ $\noexpand\mkern \expandonce{\ovar@shift@right} mu\noexpand\relax$%
+ }
+ }
+ },
+ pstricks command/.store in=\ovar@pstricks@command,
+ psset/.store in=\ovar@pstricks@psset,
+ geometry/.store in=\ovar@pstricks@geometry,
+ line thickness/.store in=\ovar@pstricks@linethickness,
+ pstricks command/.value required,
+ psset/.value required,
+ geometry/.value required,
+ line thickness/.value required,
+ arrow/.style={pstricks command={\psline{##1}(0,0)(\overarrowlength,0)}},%
+ arrow/.value required,%
+ thinner/.style={line thickness={\overarrowsmallerthickness}},%
+ thinner/.value forbidden,%
+ shift right=-2,
+ min length=12,
+ geometry={(0,-0.5ex)(\overarrowlength,0.5ex)},%
+ line thickness={\overarrowthickness},%
+ arrow={->},%
+ psset={},%
+}
\SetOverArrowsMethod[lens]{picture}{%
no arrow macro hook/.code={%
\ovar@set{%
@@ -413,28 +488,61 @@
\newlength{\overarrowlength}
\newlength{\overarrowthickness}
\newlength{\overarrowsmallerthickness}
-\newlength{\ovar@extralength}
\newlength{\ovar@tempdim}
\def\ovar@set@arrowlength#1#2#3{%
\settowidth{\ovar@tempdim}{$\m@th#2\mskip #1 mu\relax$}%
\settowidth{\overarrowlength}{$\m@th#2#3$}%
\ifdim \overarrowlength < \ovar@tempdim \overarrowlength=\ovar@tempdim\fi%
}
-\def\ovar@set@arrowthickness#1{% use rule thickness=\fontdimen 8 font family 3
+\def\ovar@rulethickness@fontdimen{8}
+\def\ovar@rulethickness@family{3}
+\def\ovar@set@arrowthickness#1{%
\ifx#1\displaystyle%
- \overarrowthickness = \fontdimen 8 \textfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \textfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
\else\ifx#1\textstyle%
- \overarrowthickness = \fontdimen 8 \textfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \textfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
\else\ifx#1\scriptstyle%
- \overarrowthickness = \fontdimen 8 \scriptfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptscriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptscriptfont \ovar@rulethickness@family%
\else%
- \overarrowthickness = \fontdimen 8 \scriptscriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptscriptfont \ovar@rulethickness@family%
\overarrowsmallerthickness = \overarrowthickness%
\fi\fi\fi%
}
+\def\ovar@set@arrowthickness@UM@lua#1{%
+ \overarrowthickness = \Umathoverbarrule #1
+ \ifx#1\displaystyle%
+ \overarrowsmallerthickness = \Umathoverbarrule \textstyle%
+ \else\ifx#1\textstyle%
+ \overarrowsmallerthickness = \Umathoverbarrule \scriptstyle%
+ \else%
+ \overarrowsmallerthickness = \Umathoverbarrule \scriptscriptstyle%
+ \fi\fi%
+}
+\AddToHook{begindocument}[overarrows]
+ {%
+ \@ifpackageloaded{unicode-math-luatex}
+ {%
+ \global\let\ovar@set@arrowthickness\ovar@set@arrowthickness@UM@lua
+ }
+ {%
+ \@ifpackageloaded{unicode-math-xetex}
+ {%
+ \gdef\ovar@rulethickness@fontdimen{54}
+ \gdef\ovar@rulethickness@family{2}
+ }
+ {}
+ }
+ }
\def\ovar@stackover@@#1#2#3#4#5#6{\vbox{\ialign{##\crcr%
$#5\mskip #1 mu\relax$\crcr%
\noalign{#2\nointerlineskip}#4\crcr%
@@ -467,16 +575,27 @@
\ovar@stackunder@{#2}{#3}{#4}{#5}{#6}%
}
\def\ovar@stack@lens{\ovar@stackover@lens}
-\NewDocumentCommand{\DeclareOverArrowCommand}{ O{symb} m m }{%
+\ExplSyntaxOn
+\cs_new_protected:Npn \__overarrows_processor_strip_escape_char:n #1
+ {
+ \regex_match:nnTF { ^\cC. } { #1 }
+ { \tl_set:Nx \ProcessedArgument { \cs_to_str:N #1 } }
+ { \tl_set:Nx \ProcessedArgument { #1 } }
+ }
+\cs_new_eq:NN \ovar@cmdname@processor \__overarrows_processor_strip_escape_char:n
+\ExplSyntaxOff
+\NewDocumentCommand{\DeclareOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\begingroup
\ovar@set@common
\ifcsdef{ovar@set@#1}{%
\csuse{ovar@set@#1}
}{%
\PackageError{overarrows}{Unknown method #1}
- {Try with 'symb', 'tikz' or 'picture'}
+ {Try with 'symb', 'tikz', 'pstriks' or 'picture'}
}
- \ovar@set{#3 }
+ \ovar@set{#3}
\ifdef{\ovar@macro@arrow}{}{%
\ovar@set{no arrow macro hook}
}
@@ -519,12 +638,16 @@
\fi
\endgroup
}
-\NewDocumentCommand{\ProvideOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\ProvideOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsdef{#2}{}{
\DeclareOverArrowCommand[#1]{#2}{#3}
}
}
-\NewDocumentCommand{\NewOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\NewOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsdef{#2}{%
\PackageError{overarrows}{Command \csname #2\endcsname already defined}%
{You have used \protect\NewOverArrowCommand\space with a command that
@@ -534,7 +657,9 @@
\DeclareOverArrowCommand[#1]{#2}{#3}
}
}
-\NewDocumentCommand{\RenewOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\RenewOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsundef{#2}{%
\PackageError{overarrows}{Command \csname #2\endcsname undefined}%
{You have used \protect\RenewOverArrowCommand\space with a command that was
@@ -544,148 +669,151 @@
\DeclareOverArrowCommand[#1]{#2}{#3}
}
}
+\newsavebox\ovar@tempbox
\def\ovar@starversion#1#2#3{%
- #1#2{#3}%
- \settowidth{\ovar@extralength}{$\m@th#1#2{#3}$}
- \settowidth{\ovar@tempdim}{$\m@th#2{#3}$}
- \deflength{\ovar@extralength}{0.5\ovar@extralength-0.5\ovar@tempdim}%
- \kern-\ovar@extralength%
+ \sbox{\ovar@tempbox}{$\m@th #1#2{#3}$}%
+ \usebox{\ovar@tempbox}%
+ \settowidth{\ovar@tempdim}{$\m@th #2{#3}$}%
+ \kern\dimeval{0.5\ovar@tempdim - 0.5\wd\ovar@tempbox}%
}
\ifovar@option@esvect@
\let\esvectvv\vv
\undef\vv
- \NewOverArrowCommand{vv}{esvect, middle config=auto}
-\fi
-\ifovar@option@overrightarrow@
- \DeclareOverArrowCommand{overrightarrow}{%
- amsmath, middle config=relbar,
- end=\ovar@rightarrow,
- right arrow,
- }
-\fi
-\ifovar@option@underrightarrow@
- \DeclareOverArrowCommand{underrightarrow}{%
- amsmath, middle config=relbar,
- end=\ovar@rightarrow,
- right arrow,
- arrow under,
- }
-\fi
-\ifovar@option@overleftarrow@
- \DeclareOverArrowCommand{overleftarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\relbar,
- left arrow,
- }
-\fi
-\ifovar@option@underleftarrow@
- \DeclareOverArrowCommand{underleftarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
-\ifovar@option@overleftrightarrow@
- \DeclareOverArrowCommand{overleftrightarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\ovar@rightarrow,
- center arrow,
- }
-\fi
-\ifovar@option@underleftrightarrow@
- \DeclareOverArrowCommand{underleftrightarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\ovar@rightarrow,
- center arrow,
- arrow under,
- }
-\fi
-\ifovar@option@overrightharpoonup@
- \DeclareOverArrowCommand{overrightharpoonup}{%
- amsmath, middle config=relbar,
- end=\rightharpoonup,
- right arrow,
- }
-\fi
-\ifovar@option@underrightharpoonup@
- \DeclareOverArrowCommand{underrightharpoonup}{%
- amsmath, middle config=relbar,
- end=\rightharpoonup,
- right arrow,
- arrow under,
- }
+ \NewOverArrowCommand{\vv}{esvect, middle config = relbareda}
\fi
-\ifovar@option@overrightharpoondown@
- \DeclareOverArrowCommand{overrightharpoondown}{%
- amsmath, middle config=relbar,
- end=\rightharpoondown,
- right arrow,
- }
-\fi
-\ifovar@option@underrightharpoondown@
- \DeclareOverArrowCommand{underrightharpoondown}{%
- amsmath, middle config=relbar,
- end=\rightharpoondown,
- right arrow,
- arrow under,
- }
-\fi
-\ifovar@option@overleftharpoonup@
- \DeclareOverArrowCommand{overleftharpoonup}{%
- amsmath, middle config=relbar,
- start=\leftharpoonup,
- end=\relbar,
- left arrow,
- }
-\fi
-\ifovar@option@underleftharpoonup@
- \DeclareOverArrowCommand{underleftharpoonup}{%
- amsmath, middle config=relbar,
- start=\leftharpoonup,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
-\ifovar@option@overleftharpoondown@
- \DeclareOverArrowCommand{overleftharpoondown}{%
- amsmath, middle config=relbar,
- start=\leftharpoondown,
- end=\relbar,
- left arrow,
- }
-\fi
-\ifovar@option@underleftharpoondown@
- \DeclareOverArrowCommand{underleftharpoondown}{%
- amsmath, middle config=relbar,
- start=\leftharpoondown,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
-\ifovar@option@overbar@
- \DeclareOverArrowCommand{overbar}{%
- amsmath, middle config=relbar,
- start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
- shift leftright=0,
- space after arrow=-0.3ex,
- }
-\fi
-\ifovar@option@underbar@
- \DeclareOverArrowCommand{underbar}{%
- amsmath, middle config=relbar,
- start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
- shift leftright=0,
- arrow under,
- space before arrow=-0.3ex,
+\AddToHook{begindocument}[overarrows]
+ {
+ \ifovar@option@overrightarrow@
+ \DeclareOverArrowCommand{\overrightarrow}{%
+ amsmath, middle config=relbar,
+ end=\ovar@rightarrow,
+ right arrow,
+ }
+ \fi
+ \ifovar@option@underrightarrow@
+ \DeclareOverArrowCommand{\underrightarrow}{%
+ amsmath, middle config=relbar,
+ end=\ovar@rightarrow,
+ right arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overleftarrow@
+ \DeclareOverArrowCommand{\overleftarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
+ \ifovar@option@underleftarrow@
+ \DeclareOverArrowCommand{\underleftarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overleftrightarrow@
+ \DeclareOverArrowCommand{\overleftrightarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\ovar@rightarrow,
+ center arrow,
+ }
+ \fi
+ \ifovar@option@underleftrightarrow@
+ \DeclareOverArrowCommand{\underleftrightarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\ovar@rightarrow,
+ center arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overrightharpoonup@
+ \DeclareOverArrowCommand{\overrightharpoonup}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoonup,
+ right arrow,
+ }
+ \fi
+ \ifovar@option@underrightharpoonup@
+ \DeclareOverArrowCommand{\underrightharpoonup}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoonup,
+ right arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overrightharpoondown@
+ \DeclareOverArrowCommand{\overrightharpoondown}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoondown,
+ right arrow,
+ }
+ \fi
+ \ifovar@option@underrightharpoondown@
+ \DeclareOverArrowCommand{\underrightharpoondown}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoondown,
+ right arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overleftharpoonup@
+ \DeclareOverArrowCommand{\overleftharpoonup}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoonup,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
+ \ifovar@option@underleftharpoonup@
+ \DeclareOverArrowCommand{\underleftharpoonup}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoonup,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overleftharpoondown@
+ \DeclareOverArrowCommand{\overleftharpoondown}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoondown,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
+ \ifovar@option@underleftharpoondown@
+ \DeclareOverArrowCommand{\underleftharpoondown}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoondown,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
+ \ifovar@option@overbar@
+ \DeclareOverArrowCommand{\overbar}{%
+ amsmath, middle config=relbar,
+ start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
+ shift leftright=0,
+ space after arrow=-0.3ex,
+ }
+ \fi
+ \ifovar@option@underbar@
+ \DeclareOverArrowCommand{\underbar}{%
+ amsmath, middle config=relbar,
+ start={\vphantom{+}\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
+ shift leftright=0,
+ arrow under,
+ space before arrow=-0.3ex,
+ }
+ \fi
}
-\fi
\newcommand{\ovar@testmathstyles}[2][]{
\begingroup
\newcommand*{\ovar@row@teststyle}[1]{%
@@ -728,7 +856,9 @@
\end{displaymath}
}
\endgroup
-\NewDocumentCommand{\TestOverArrow}{ s o m }{
+\NewDocumentCommand{\TestOverArrow}{
+ s o >{\ovar@cmdname@processor} m
+}{%
\ifcsdef{#3}{}{%
\PackageWarning{overarrows}{Unknown name '#3' passed to
\protect\TestOverArrow}
diff --git a/Master/texmf-dist/tex/latex/parnotes/parnotes.sty b/Master/texmf-dist/tex/latex/parnotes/parnotes.sty
index 65ed4704610..d3d7eb8c641 100644
--- a/Master/texmf-dist/tex/latex/parnotes/parnotes.sty
+++ b/Master/texmf-dist/tex/latex/parnotes/parnotes.sty
@@ -1,6 +1,7 @@
% The parnotes package
% Notes after every paragraph, or elsewhere
% Copyright (c) 2016 Chelsea Hughes
+% Copyright (c) 2019,2024 Frank Mittelbach
%
% This work is distributed under the LaTeX Project Public License,
% version 1.3 or later, available at
@@ -18,14 +19,18 @@
%
% The package is currently unmainted, i.e. the above address exists but is not monitored
%
-% Small extensions in 2019 by Frank Mittelbach:
+% Small extensions by Frank Mittelbach, see changes.txt for details
+%
+
+% You might file issues on my Github repo for the package, but I do
+% not actively maintain that package (unless I think something is a
+% very serious bug), so a new maintainer is welcome
+%
+% https://github.com/FrankMittelbach/fmitex-parnotes
%
-% option reset (alias for restart to match other packages)
-% option alph (for alph style notes instead of arabic)
-% option symbol (for fnsymbol style notes)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{parnotes}[2019/07/23 rev. 3b Notes after every paragraph, or elsewhere]
+\ProvidesPackage{parnotes}[2024/06/12 rev. 3c Notes after every paragraph, or elsewhere]
%
% These are the user-modifiable format commands
@@ -34,12 +39,18 @@
% Format for parnotes - \PN@notes@shape is blank (\relax) by default
\providecommand{\parnotefmt}[1]{\footnotesize%
\PN@notes@shape\PN@narrower@optional\noindent #1}
+
% Number format (arabic, roman, etc.) for the parnote mark counter
-\providecommand{\theparnotemark}{\arabic{parnotemark}}
+%% FMi: will be set by \newcounter
+%\providecommand{\theparnotemark}{\arabic{parnotemark}}
+%% FMi -- end
+
% Minimum vertical space before and after parnotes
\providecommand{\parnotevskip}{\medskipamount}
+
% Full command used between parnotes
\providecommand{\parnoteintercmd}{\hspace{1em plus 0.3em minus 0.2em}}
+
% Basic formatting for parnote marks
\providecommand{\parnotecusmarkfmt}[1]{\textsuperscript{#1}}
@@ -52,6 +63,10 @@
\global\def\PN@text{}
% Counter for parnote marks
\newcounter{parnotemark}
+%% FMi: in case this package is used with an old LaTeX format
+\providecommand{\theparnotemark}{\arabic{parnotemark}}
+%% FMi -- end
+
% autopn environment name
\def\@PN@autopn{autopn}
% True if currently setting parnotes
diff --git a/Master/texmf-dist/tex/latex/passopt/passopt.sty b/Master/texmf-dist/tex/latex/passopt/passopt.sty
new file mode 100644
index 00000000000..d74c698d27a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/passopt/passopt.sty
@@ -0,0 +1,56 @@
+%
+% ***************** THE PASSOPT PACKAGE *****************
+%
+% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\NeedsTeXFormat{LaTeX2e}[2021/11/15]
+\ProvidesExplPackage{passopt}{2024/07/17}{1.01a}
+ {Passing options to packages or classes}
+
+\cs_generate_variant:Nn \tl_if_blank:nTF { v }
+\cs_new_protected:Npn \po_add_before_hook:nnn #1#2
+ { \hook_gput_code:nnn { #1/#2/before } { passopt } }
+\cs_new_protected:Npn \po_set_options_list:nnnnn #1#2#3#4#5
+ {
+ \po_add_before_hook:nnn {#1} {#5}
+ {
+ \cs_set:cpx { @raw@opt@#5.#2 }
+ {
+ \IfBooleanTF{#3}
+ {\exp_not:o {#4}}
+ {
+ \tl_if_blank:vTF { @raw@opt@#5.#2 }
+ { \exp_not:o {#4} }
+ { \exp_not:v { @raw@opt@#5.#2 },\exp_not:o {#4} }
+ }
+ }
+ \exp_args:Nc \protected@edef { opt@#5.#2 }
+ {
+ \exp_last_unbraced:Nv
+ \zap@space { @raw@opt@#5.#2 }~\@empty
+ }
+ }
+ }
+\cs_new_protected:Npn \po_clear_options_list:nnn #1#2#3
+ {
+ \po_add_before_hook:nnn {#1} {#3}
+ {
+ \tl_clear:c { @raw@opt@#3.#2 }
+ \tl_clear:c { opt@#3.#2 }
+ }
+ }
+\NewDocumentCommand{\SetOptionsToPackage}{smm}
+ {\po_set_options_list:nnnnn { package } { sty } {#1} {#2} {#3}}
+\NewDocumentCommand{\SetOptionsToClass}{smm}
+ {\po_set_options_list:nnnnn { class } { cls } {#1} {#2} {#3}}
+\cs_new_protected:Npn \ClearPackageOptions #1
+ { \po_clear_options_list:nnn { package } { sty } {#1} }
+\cs_new_protected:Npn \ClearClassOptions #1
+ { \po_clear_options_list:nnn { class } { cls } {#1} }
+\endinput
+%
+% End of file `passopt.sty'. \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
index b11df8acf71..08170653e8d 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2024-04-09 v0.96h
+\ProvidesPackage{color-ltx}[2024-05-23 v0.96i
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index 19d5375f7ef..95a0b0a6120 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-04-09}{0.96h}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-05-23}{0.96i}
{temporay patches to for the colorspace package to test pdfresource management ... UF}
% colorspace can define more models, that l3color can't yet handle.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
index cc5d51b9501..5f4fd80f487 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: hyperref-generic.dtx
-\ProvidesFile{hgeneric-testphase.def}[2024-04-09 v0.96h %
+\ProvidesFile{hgeneric-testphase.def}[2024-05-23 v0.96i %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1047,7 +1047,8 @@
}
\keys_define:nn { hyp }
{
- ,colorlinks .meta:n =
+ ,colorlinks .choice:
+ ,colorlinks / true .meta:n =
{
,pdfborder={0~0~0}
,pdfborderstyle=
@@ -1057,6 +1058,14 @@
,colormenu =#1
,colorfile =#1
}
+ ,colorlinks / false .meta:n =
+ {
+ ,colorurl =#1
+ ,colorlink =#1
+ ,colorrun =#1
+ ,colormenu =#1
+ ,colorfile =#1
+ }
,colorlinks .default:n = {true}
}
\seq_map_inline:Nn \c__hyp_annot_types_seq
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
index 225bb48d0aa..90eab781036 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvipdfmx.def}{2024-04-09}{}
+ {l3backend-testphase-dvipdfmx.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
\cs_generate_variant:Nn \__kernel_backend_literal:n { e }
\cs_generate_variant:Nn \__pdf_backend:n { e }
@@ -603,6 +603,7 @@
}
\cs_new_protected:Npn \__pdf_backend_omit_charset:n #1 {} %#1 number
\cs_new_protected:Npn \__pdf_backend_omit_info:n #1 {} %#1 number
+\cs_new_protected:Npn \__pdf_backend_omit_cidset:n #1 {} %#1 number
%%
%%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
index ef3e8a4af2e..3d6b1557ff4 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvips.def}{2024-04-09}{}
+ {l3backend-testphase-dvips.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
\cs_generate_variant:Nn \__kernel_backend_postscript:n { e }
\cs_generate_variant:Nn \__pdf_backend_pdfmark:n { e }
@@ -354,6 +354,7 @@
}
\cs_new_protected:Npn \__pdf_backend_omit_charset:n #1 {} %#1 number
\cs_new_protected:Npn \__pdf_backend_omit_info:n #1 {} %#1 number
+\cs_new_protected:Npn \__pdf_backend_omit_cidset:n #1 {} %#1 number
%%
%%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
index 9e4bbea44ac..b7a6718fc4e 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvisvgm.def}{2024-04-09}{}
+ {l3backend-testphase-dvisvgm.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
\bool_if:NT \l__pdfmanagement_delayed_shipout_bool
{
@@ -181,6 +181,7 @@
}
\cs_new_protected:Npn \__pdf_backend_omit_charset:n #1 {} %#1 number
\cs_new_protected:Npn \__pdf_backend_omit_info:n #1 {} %#1 number
+\cs_new_protected:Npn \__pdf_backend_omit_cidset:n #1 {} %#1 number
%%
%%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
index 2c7919cdaf0..e6a50bbf1f4 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-luatex.def}{2024-04-09}{}
+ {l3backend-testphase-luatex.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
\cs_generate_variant:Nn \__kernel_backend_literal_page:n { e }
\bool_if:NT \l__pdfmanagement_delayed_shipout_bool
@@ -578,6 +578,10 @@
{
\cs_new_protected:Npn \__pdf_backend_omit_info:n #1 {} %#1 number
}
+\cs_new_protected:Npn \__pdf_backend_omit_cidset:n #1 %#1 number
+ {
+ \tex_pdfvariable:D omitcidset = #1 \scan_stop:
+ }
%%
%%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
index 792689524c0..0ba773707fd 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-pdftex.def}{2024-04-09}{}
+ {l3backend-testphase-pdftex.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
\cs_generate_variant:Nn \__kernel_backend_literal_page:n { e }
\bool_if:NT \l__pdfmanagement_delayed_shipout_bool
@@ -588,6 +588,7 @@
\cs_new_protected:Npn \__pdf_backend_omit_info:n #1 {}%#1 number
}
+\cs_new_protected:Npn \__pdf_backend_omit_cidset:n #1 {} %#1 number
%%
%%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
index cebb2e6fc9e..dd1bdb8cc0d 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-xetex.def}{2024-04-09}{}
+ {l3backend-testphase-xetex.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
\cs_generate_variant:Nn \__kernel_backend_literal:n { e }
\cs_generate_variant:Nn \__pdf_backend:n { e }
@@ -603,6 +603,7 @@
}
\cs_new_protected:Npn \__pdf_backend_omit_charset:n #1 {} %#1 number
\cs_new_protected:Npn \__pdf_backend_omit_info:n #1 {} %#1 number
+\cs_new_protected:Npn \__pdf_backend_omit_cidset:n #1 {} %#1 number
%%
%%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
index ce06766b301..8309f4c507d 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
@@ -27,7 +27,7 @@
%% File: l3pdffield.dtx
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2024-04-09}{0.96h}%
+\ProvidesExplPackage{l3pdffield-testphase}{2024-05-23}{0.96i}%
{form fields}
\csname HyField@NeedAppearancesfalse\endcsname % suppress NeedAppearances
\str_new:N \l__pdffield_tmpa_str
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
index e6315491894..30be81ed8ec 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-firstaid.dtx
-\ProvidesExplPackage{pdfmanagement-firstaid}{2024-04-09}{0.96h}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2024-05-23}{0.96i}
{LaTeX PDF management testphase bundle / firstaid-patches}
\clist_map_inline:nn
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
index 13e33141a22..8f56ce40317 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
@@ -27,7 +27,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-testphase.dtx
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-04-09}{0.96h}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-05-23}{0.96i}
{PDF~management~code~(testphase)}
\bool_new:N\l__pdfmanagement_delayed_shipout_bool
\msg_new:nnn {pdfmanagement}{delayed-shipout}
@@ -2848,14 +2848,14 @@
\cs_new_protected:Npn \__pdfmeta_xmp_wtpdf_reuse_declaration:
{
\pdfmeta_xmp_add_declaration:eeenn
- {http://pdfa.org/declarations\c_hash_str wtpdf-reuse1.0}
+ {http://pdfa.org/declarations/wtpdf\c_hash_str reuse1.0}
{LaTeX~Project}
{\__pdfmeta_xmp_iso_today:}{}{}
}
\cs_new_protected:Npn \__pdfmeta_xmp_wtpdf_accessibility_declaration:
{
\pdfmeta_xmp_add_declaration:ennnn
- {http://pdfa.org/declarations\c_hash_str wtpdf-accessibility1.0}
+ {http://pdfa.org/declarations/wtpdf\c_hash_str accessibility1.0}
{LaTeX~Project}
{\__pdfmeta_xmp_iso_today:}{}{}
}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
index 7b05f004072..5eb909751ee 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-testphase.dtx
-\ProvidesExplPackage{pdfmanagement-testphase}{2024-04-09}{0.96h}
+\ProvidesExplPackage{pdfmanagement-testphase}{2024-05-23}{0.96i}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 6b553f8519e..cc220aa313e 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-04-09 v0.96h patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-05-23 v0.96i patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty b/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty
index 33ec6580f36..62890e82891 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty
+++ b/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pdfpages}
[\AM@Git@Date\space\AM@fileversion\space
diff --git a/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def b/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def
index 2deedaf2563..6f36c0a652b 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{ppdvipdfmx.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for dvipdfmx (AM)]
diff --git a/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def b/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def
index 703ba1aa7d6..b44308c0fe7 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{ppdvips.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for dvips (AM)]
diff --git a/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def b/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def
index ab6ebf99da1..d885101ed45 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{ppluatex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for LuaTeX (AM)]
diff --git a/Master/texmf-dist/tex/latex/pdfpages/ppnull.def b/Master/texmf-dist/tex/latex/pdfpages/ppnull.def
index da3cf20969c..153a63b3a87 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/ppnull.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/ppnull.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{ppnull.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages dummy driver (AM)]
diff --git a/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def b/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def
index 5957c0c7fc4..442aae7e70e 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{pppdftex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for pdfTeX (AM)]
diff --git a/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def b/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def
index 78153bc2a67..d5a2a88c130 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{ppvtex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for VTeX (AM)]
diff --git a/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def b/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def
index f17e7514e62..b1bd4a1f989 100644
--- a/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def
+++ b/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS <andreas.matthias@gmail.com>.
%%
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
\ProvidesFile{ppxetex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for XeTeX (AM)]
@@ -52,10 +52,14 @@
\noexpand\def\noexpand\type@ext{.\filename@ext}}}%
\type@ext
\ifx\type@ext\AM@pdf@ext
- \ifdefined\import@path
- \let\AM@import@path\import@path
- \else
+ \ifdefined\subfix
\let\AM@import@path\@empty
+ \else
+ \ifdefined\import@path
+ \let\AM@import@path\import@path
+ \else
+ \let\AM@import@path\@empty
+ \fi
\fi
\setbox\@tempboxa=\hbox{\includegraphics{\AM@currentdocname}}%
\edef\AM@pagecount{\the\XeTeXpdfpagecount\AM@XeTeXquote
diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty
index 00b7dcc0f5e..88936f4045f 100644
--- a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty
+++ b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty
@@ -6,9 +6,9 @@
%%
%% pdfx.dtx (with options: `package')
%%
-%% Copyright (c) 2019, CV Radhakrishnan <cvr@river-valley.org>,
+%% Copyright (c) 2019-2024, CV Radhakrishnan <cvr@river-valley.org>,
%% Han The Thanh <thanh@river-valley.org>,
-%% Ross Moore <ross.moore@mq.edu.au>,
+%% Ross Moore <ozross@icloud.com> - primary contact,
%% Peter Selinger <selinger@mathstat.dal.ca>
%%
%% This file may be distributed and/or modified under the conditions
@@ -31,7 +31,7 @@
}{}%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pdfx}
- [2019/02/27 v1.6.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
+ [2024/06/24 v1.6.5f PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
\newif\ifpdfx@noBOM \pdfx@noBOMfalse % use a BOM in the XMP packet
\newif\ifpdfx@x \pdfx@xfalse % PDF/X mode
@@ -50,13 +50,28 @@
\def\xmp@ReleaseDate{2005} % 2001 for PDF/X-1, 2005 for PDF/A-1,
% 2010 for PDF/A-2, 2012 for PDF/A-3.
+%% with Beamer pgf will have written Resource objects already
+\newif\ifpdfx@luacheck@needed
+\@ifpackageloaded{pgfcore}{\pdfx@luacheck@neededtrue}{}
+%% thanks to Ryutaroh Matsumoto for reporting this issue
+
\newcount\pdfx@minorversion
+\newcount\pdfx@majorversion
+\expandafter\ifx\csname pdfmajorversion\endcsname\relax
+%% RRM: 20240614 LuaLaTeX may not have this defined
+ \newcount\pdfmajorversion
+ \pdfmajorversion=1\relax
+\fi
\expandafter\ifx\csname pdfminorversion\endcsname\relax
-\else
- \global\pdfx@minorversion=\the\pdfminorversion
+%% RRM: 20240614 this could be set in luatex85 package
+ \newcount\pdfminorversion
+ \pdfminorversion=3\relax
\fi
+%% options can change these from the defaults
+\global\pdfx@majorversion=\the\pdfmajorversion
+\global\pdfx@minorversion=\the\pdfminorversion
-\def\pdfx@ErrorWarning#1#2#3#4{%
+\def\pdfx@ErrorWarning #1#2#3#4{%
\ifpdfx@noerr \PackageWarning{pdfx}{#1.^^J #2#3.^^J}%
\else \PackageError{pdfx}{#1}{#2#4.^^J
Use option 'noerr' to avoid this message.^^J}%
@@ -237,6 +252,9 @@
\DeclareOption{pdf15}{\global\pdfx@minorversion=5 }% 2005 Acrobat 6
\DeclareOption{pdf16}{\global\pdfx@minorversion=6 }% 2006 Acrobat 7 (ISBN 0-321-30474-8)
\DeclareOption{pdf17}{\global\pdfx@minorversion=7 }% 2008 ISO 32000-1:2008
+\DeclareOption{pdf20}{% 2020 ISO 32000-2:2020
+ \global\pdfx@majorversion=2 \relax
+ \global\pdfx@minorversion=0 }%
%% inhibits writing the XMP byte-order marker
\DeclareOption{noBOM}{\pdfx@noBOMtrue}
@@ -301,6 +319,13 @@
\ExecuteOptions{noBOM,a-1b}
\ProcessOptions
+\RequirePackage{ifluatex}
+\ifpdfx@luacheck@needed
+ \ifluatex
+ \RequirePackage{luatex85}
+ \fi
+\fi
+
\ifpdfx@ua\ifpdfx@x\else
\expandafter\if\xmp@Conformance A\else
\pdfx@ErrorWarning{PDF/UA requires 'Tagged PDF' for any structure.^^J
@@ -313,19 +338,23 @@
\expandafter\ifx\csname pdflastobj\endcsname\relax
\else
- \ifnum\pdflastobj >\z@ % pdftex has already written objects
+ \ifnum\pdflastobj >\z@ % pdf/luatex has already written objects
+ % e.g. by pgfcore , called from Beamer or other class
\ifnum\pdfx@minorversion=\pdfminorversion\else
\PackageError{pdfx}%
{^^J(pdfx) Cannot change the \string\pdfminorversion^^J%
- (pdfx) PDF version remains at 1.\the\pdfminorversion.^^J%
- (pdfx) Use \string\pdfminorversion=\the\pdfx@minorversion\space
+ (pdfx) PDF version remains at \the\pdfmajorversion.\the\pdfminorversion.^^J%
+ (pdfx) Use \string\pdfmajorversion=\the\pdfx@majorversion\space^^J%
+ and \string\pdfminorversion=\the\pdfx@minorversion\space
before \string\documentclass}%
{(pdfx) Another package or document-class has written objects into the PDF.^^J%
- (pdfx) Hit return to continue with PDF version 1.\the\pdfminorversion.%
- }%
+ (pdfx) Hit return to continue with PDF version %
+ \the\pdfmajorversion.\the\pdfminorversion.}%
+ \global\pdfx@majorversion=\the\pdfmajorversion
\global\pdfx@minorversion=\the\pdfminorversion
\fi
\else
+ \global\pdfmajorversion\pdfx@majorversion
\global\pdfminorversion\pdfx@minorversion
\fi
\fi
@@ -333,6 +362,7 @@
\expandafter\ifx\csname thepdfminorversion\endcsname\relax
\expandafter\ifx\csname pdfminorversion\endcsname\relax
\else
+ \xdef\thepdfmajorversion{\the\pdfmajorversion}
\xdef\thepdfminorversion{\the\pdfminorversion}
\fi\fi
@@ -341,16 +371,21 @@
\def\pdf@minorversion@xetex=#1{\gdef\thepdfminorversion{#1}}%
\let\pdfminorversion\pdf@minorversion@xetex
\else
- \ifnum\pdfminorversion < 4\relax
- \ifpdfx@x
- % more testing needed with PDF/X
- \else
- \pdfminorversion=4\relax % assumed for PDF/A ; options may change this for PDF/X
- \gdef\thepdfminorversion{4}%
- \fi
+ \ifnum\pdfmajorversion > 1\relax
+ \pdfminorversion=3\relax
+ %% else some JPG graphics with DCT encoding will fail
\else
- \ifnum\pdfminorversion<\thepdfminorversion\relax
- \global\pdfminorversion=\thepdfminorversion\relax
+ \ifnum\pdfminorversion < 4\relax
+ \ifpdfx@x
+ % more testing needed with PDF/X
+ \else
+ \pdfminorversion=4\relax % assumed for PDF/A ; options may change this for PDF/X
+ \gdef\thepdfminorversion{4}%
+ \fi
+ \else
+ \ifnum\pdfminorversion<\thepdfminorversion\relax
+ \global\pdfminorversion=\thepdfminorversion\relax
+ \fi
\fi
\fi
\fi
@@ -358,7 +393,8 @@
\pdfresetpageorigin=0
\fi
-\expandafter\ifx\csname pdfomitcharset\endcsname\relax\else
+\expandafter\ifx\csname pdfomitcharset\endcsname\relax
+\else
\ifpdfx@omitcharset
\pdfomitcharset = 1 %
%% do not create /Charset listings of font glyphs;
@@ -427,7 +463,9 @@
}%
\RequirePackage{pdftexcmds}%
\let\pdfx@mdfivesum\pdf@mdfivesum
- \let\pdfescapestring\pdf@escapestring
+ \long\def\pdf@escapestring@byte #1{%
+ \directlua {oberdiek.pdftexcmds.escapestring("\luaescapestring {#1}", "byte")}}%
+ %\let\pdf@escapestring\pdf@escapestring@byte
\else
\ifxetex
\expandafter\ifx\csname mdfivesum\endcsname\relax
@@ -477,6 +515,13 @@
\pdfgeninterwordspace=0 \relax
\fi
\begingroup
+ \expandafter\ifx\csname stockwidth\endcsname\relax\else
+ \ifdim\stockwidth=\z@ %% 20240528
+ \else
+ %% 20231023 support for memoir's stockwidth/height
+ \let\paperwidth\stockwidth
+ \let\paperheight\stockheight
+ \fi \fi
\dimen0=0.996264009963\paperwidth\relax
\edef\pdfx@mwidth{\strip@pt\dimen0}%
\advance\dimen0 -25\p@
@@ -524,7 +569,8 @@
\else
\ifnum\thepdfminorversion >3 \relax
\expandafter\ifx\csname pdfsuppresswarningdupmap\endcsname\relax
- \expandafter\ifx\csname pdfmapline\endcsname\relax\else
+ \expandafter\ifx\csname pdfmapline\endcsname\relax
+ \else
\pdfmapline{+dummy-space <dummy-space.pfb}
\fi
\else
@@ -554,16 +600,31 @@
\@namedef{M@L8U}{}%
%% adjust to LaTeX's 2018 change to the default encoding
+\def\pdfx@utfencodingname{utf8}%
+\def\pdfx@RawInputEncoding{%
+ \UseRawInputEncoding
+}
\expandafter\ifx\csname inputencodingname\endcsname\relax
\else
\def\pdfx@restoreencoding#1{%
- \@tempcnta=128
+ \@tempcnta=1\relax
+ \loop
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta<8\relax
+ \repeat
+ \catcode11=13 \relax
+ \@tempcnta=14\relax
+ \loop
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta<31 \relax
+ \repeat
+ \@tempcnta=128\relax
\loop
- \catcode\@tempcnta=13
\advance\@tempcnta\@ne
\ifnum\@tempcnta<256
\repeat
- \inputencoding{#1}%
+ \let\inputencodingname\relax %% kill previous
+ \inputencoding{#1}%}%
\let\LastDeclaredEncoding\pdfx@LastDeclaredEncoding
\let\DeclareFontEncoding@\pdfx@DeclareFontEncoding@
\let\DeclareUnicodeCharacter\pdfx@DeclareUnicodeCharacter
@@ -572,7 +633,9 @@
\let\pdfx@inputencodingname\inputencodingname
\global\let\pdfx@DeclareUnicodeCharacter\DeclareUnicodeCharacter
\global\let\pdfx@DeclareFontEncoding@\DeclareFontEncoding@
- \UseRawInputEncoding
+%% \expandafter\showthe\catcode\@tempcnta
+%% if the encoding is utf8 then don't change it here – wrong!
+ \expandafter\pdfx@RawInputEncoding %\fi
\fi
\InputIfFileExists{\pdfx@encodingfile}{}{}
\expandafter\ifx\csname pdfx@inputencodingname\endcsname\relax
@@ -699,6 +762,9 @@
\ifx\relax#1\relax\else\gdef\xmp@lang@Identifier{#1}\fi
\def\afterxmp@parse{\let\Identifier\pdfx@extraIdentifier}%
\xmp@parse{\global\let\xmp@Identifier\@this}}
+\newcommand{\pdfx@Nickname}[1][]{%
+ \ifx\relax#1\relax\else\gdef\xmp@lang@Nickname{#1}\fi
+ \xmp@parse{\global\let\xmp@Nickname\@this}}
\newcommand{\pdfx@Thumbnails}{%
\def\afterxmp@parse{\let\Thumbnails\pdfx@extraThumbnails}%
\xmp@parse{\global\let\xmp@Thumbnails\@this}}
@@ -899,6 +965,8 @@
\xmp@parse{\global\let\xmp@extraIdentifier\@this}%
}%
+%% Nickname only supports a single usage, for PDF/X
+
\newcommand{\pdfx@extraThumbnails}[1][]{%
\ifx\relax#1\relax
\expandafter\expandafter\expandafter\gdef
@@ -1254,6 +1322,9 @@
%%----------------------------------------------------------------------
%% Alternative way to get the CreationDate using Lua for XeTeX
\ifdefined\pdfcreationdate\else
+ \ifdefined\creationdate %% added to XeTeX in 2019
+ \let\pdfcreationdate\creationdate
+ \else
\begingroup %% ensure correct catcodes, not done by \dospecials
\catcode`\:=12 \catcode`\.=12
\begin{filecontents*}{creationdate.lua}
@@ -1289,7 +1360,7 @@
\def\noexpand\pdfcreationdate{\string D:20181028075445+10'00'}}%
\x
\fi
-\fi
+\fi \fi
%%----------------------------------------------------------------------
\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfx@mdfivesum{#1}}
@@ -1460,7 +1531,6 @@
\fi\fi
}%
\fi\fi
-\hypersetup{pdfencoding=auto}% unicode
\expandafter\ifx\csname KV@Hyp@psdextra\endcsname\relax\else
\hypersetup{psdextra}
\fi
@@ -2195,16 +2265,17 @@
%% encoding, and store the result in \toka As a special case, if \tokb
%% is \@empty, set \toka to \@empty.
-\def\pdfx@topdfstring#1#2{%
- \ifx#2\@empty
+\RequirePackage{stringenc}% prevent it loading later inside a group
+\def\pdfx@topdfstring #1#2{%
+ \ifx #2\@empty
\global\let#1\empty
\else
\begingroup
\ifluatex\else\ifxetex\else
\inputencoding{utf8}%
\fi\fi
- \hypersetup{pdfencoding=auto}%
- \pdfstringdef#1{#2}%
+ \@ifl@t@r\fmtversion{2022/06/01}{}{\hypersetup{pdfencoding=auto}}%
+ \pdfstringdef #1{#2}%
\endgroup
\fi
}
@@ -2474,7 +2545,7 @@
\spacefactor\accent@spacefactor
}
%% same for named accents in math-mode
-\def\pdfx@mathaccentV#1#2#3#4#5{%
+\def\pdfx@mathaccentV #1#2#3#4#5{%
#5{\mathsurround=\z@\relax
\everymath{}%
\mathchoice
@@ -2485,10 +2556,67 @@
}%
\AMS@mathaccentV{#1}{#2}{#3}{#4}{\phantom{#5}}%
}
+
+%%% the original AMS coding:
+%%\mathaccentV=macro: #1#2#3#4#5->\ifmmode
+%% \gdef \macc@tmp {\macc@depth \@ne }%
+%% \setbox \z@ \hbox {\let\mathaccentV \macc@test
+%% \let \use@mathgroup \@gobbletwo
+%% \let \select@group \@gobblethree \frozen@everymath {}$#5$}\macc@tmp
+%% \ifnum \macc@depth =\@ne
+%% \global \let \macc@nucleus \@empty
+%% \mathaccent "\accentclass@
+%% \else \@xp \macc@nested
+%% \fi #2#3#4{#5}\macc@nucleus
+%% \else
+%% \@xp \nonmatherr@ \csname #1\endcsname \fi .
+
+\def\pdfx@AMS@mathaccentV #1#2#3#4#5{%
+ \ifmmode
+ \gdef \macc@tmp {\macc@depth \@ne }%
+ \setbox \z@ \hbox {\let\mathaccentV \macc@test
+ \let \use@mathgroup \@gobbletwo
+ \let \select@group \@gobblethree \frozen@everymath {}$\phantom{#5}$}\macc@tmp
+ \ifnum \macc@depth =\@ne
+ \global \let \macc@nucleus \@empty
+ \mathaccent "\accentclass@
+ \else \@xp \macc@nested
+ \fi #2#3#4{#5}\macc@nucleus
+ \else
+ \@xp \nonmatherr@ \csname #1\endcsname
+ \fi
+}
+
+%% code supplied by Yuwsuke Kieda, 7 May 2019 :
+%% https://gist.github.com/yuw/a31936370647d0044eeb4e47f3ae913f
+%%
+\@ifpackageloaded{amsmath}{%
+ \def\pdfx@macc@a #1#2{%
+ \begingroup
+ \let\macc@style#1\relax
+ \def\macc@palette ##1{##1\macc@style}%
+ \advance\macc@depth\m@ne
+ \ifnum\macc@depth=\z@
+ \gdef\macc@nucleus{\phantom{#2}}%% <<< here
+ \setbox\z@\hbox{$#1#2\@empty{}\macc@skewchar$}%
+ \setbox\tw@\hbox{$#1#2\@empty\macc@skewchar$}%
+ \dimen@\tw@\wd\tw@ \advance\dimen@-\tw@\wd\z@
+ \xdef\macc@kerna{\the\dimen@\relax}%
+ \setbox4\hbox{$#1#2\acc@check\@empty$}%
+ \global\setbox\@ne\hbox to\wd4{}%
+ \ht\@ne\ht4 \dp\@ne\dp4
+ \xdef\macc@kernb{\the\wd4\relax}%
+ \mathaccent\macc@code{\box\@ne\kern\macc@kerna}%
+ \else
+ \mathaccent\macc@code{\let\macc@adjust\@empty #1#2\@empty}%
+ \macc@adjust
+ \fi
+ \endgroup
+ }}\relax
\AtBeginDocument{%
\@ifpackageloaded{amsmath}{%
\let\AMS@mathaccentV\mathaccentV
- \let\mathaccentV\pdfx@mathaccentV}%
+ }%
}%
%% How to support XeTeX here ?
@@ -2740,10 +2868,25 @@
%% it should be loaded outside the grouping, else biblatex may barf
%%
\RequirePackage{ifthen}
-\begingroup
+
+%% 2024-04-05: from July 2024 LaTeX will not allow packages to load
+%% within a grouping, so reorganise a bit.
+%%
%% override the \ifpdf check of xmpincl package, inside the grouping
- \pdftrue
- \RequirePackage{xmpincl}
+%% after saving its current value:
+\let\pdfx@ifpdf\ifpdf
+\pdftrue
+%% now load the packages, then enter the grouping:
+\RequirePackage{xmpincl}
+%%
+\begingroup
+%%% 20240405 revert the value of \ifpdf ...
+\pdfx@ifpdf
+\else
+ %% 20240624 ... outside the grouping
+ \aftergroup\pdffalse
+\fi
+
%% combine coding from xmpincl and hyperxml to support XeTeX
\def\pdfx@xmpincl@xetex#1{%
\IfFileExists{#1.xmp}{%
@@ -2799,6 +2942,13 @@
%%----------------------------------------------------------------------
\begingroup
+%% 20210706 we need a pointer to unexpandable \par
+ \expandafter\ifx\csname tex_par:D\endcsname \relax
+ \let\pdfx@par\par
+ \else
+%% using LaTeX 2021-06 or later
+ \expandafter\let\expandafter\pdfx@par\csname tex_par:D\endcsname
+ \fi
\ifpdfx@x
\ifpdfx@vt
\def\xmp@template{pdfvt}%
@@ -2852,9 +3002,11 @@
%% beware 128 space characters -- for padding end of XMP packet
\gdef\paddingline{ }%
\typeout{Using XMP template file: \xmp@template.xmp}%
+ %% 20210706 ensure \par is unexpandable
+ \let\par\pdfx@par
\includexmp{\xmp@template}%
\endgroup
-
+%%%
%%
%% revert active characters to previous encoding
%%
@@ -2918,13 +3070,27 @@
%%
%% controls the color model and conversions with xcolor package
%%
+\def\pdfx@selectcolormodel@doing #1{%% Warning
+ \PackageWarning{pdfx}{Setting all color commands to #1,^^J%
+ consistent with the Color Model for PDF/%
+ \ifpdfx@x X \else \ifpdfx@e E \else A \fi\fi}%
+ }%% 20240528 inhibit any changes
+\def\pdfx@selectcolormodel@done #1{%% Warning
+ \PackageWarning{pdfx}{Color Model already set for PDF/%
+ \ifpdfx@x X\else \ifpdfx@e E\else A\fi\fi,^^Jcannot change to #1 }%
+ }%% 20240528 inhibit any changes
+%%
\ifpdfx@cmyk
%
% this will have been done already for PDF/X
%
\PassOptionsToPackage{cmyk,hyperref}{xcolor}
- \def\pdfx@handlexcolor{\def\@@mod{cmyk}\selectcolormodel{cmyk}%
- \convertcolorsUtrue\convertcolorsDtrue}
+ \def\pdfx@handlexcolor{\def\@@mod{cmyk}%
+ \pdfx@selectcolormodel@doing{cmyk}%
+ \selectcolormodel{cmyk}%
+ \convertcolorsUtrue\convertcolorsDtrue
+ \let\selectcolormodel\pdfx@selectcolormodel@done
+ }
\ifpdfx@x
\else
%% \AtBeginDocument{%
@@ -2947,8 +3113,12 @@
\fi
\else
\PassOptionsToPackage{rgb,hyperref}{xcolor}
- \def\pdfx@handlexcolor{\def\@@mod{rgb}\selectcolormodel{rgb}%
- \convertcolorsUtrue\convertcolorsDtrue}
+ \def\pdfx@handlexcolor{\def\@@mod{rgb}%
+ \pdfx@selectcolormodel@doing{rgb}%
+ \selectcolormodel{rgb}%
+ \convertcolorsUtrue\convertcolorsDtrue
+ \let\selectcolormodel\pdfx@selectcolormodel@done
+ }
\fi
\@ifpackageloaded{xcolor}{\pdfx@handlexcolor
\ifpdfx@cmyk\else\color{black}\fi}{%
diff --git a/Master/texmf-dist/tex/latex/pgf-periodictable/pgf-PeriodicTable.sty b/Master/texmf-dist/tex/latex/pgf-periodictable/pgf-PeriodicTable.sty
index 3768fc4f249..d3e8d4cbe17 100644
--- a/Master/texmf-dist/tex/latex/pgf-periodictable/pgf-PeriodicTable.sty
+++ b/Master/texmf-dist/tex/latex/pgf-periodictable/pgf-PeriodicTable.sty
@@ -1,4 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Hugo Gomes @ 07/07/2024 v2.1.1
% Hugo Gomes @ 03/04/2024 v2.1.0a
% Hugo Gomes @ 14/02/2024 v2.1.0
% Hugo Gomes @ 29/05/2023 v2.0.1
@@ -7,7 +8,7 @@
% Hugo Gomes @ 10/10/2022 v1.0.0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}%
-\ProvidesPackage{pgf-PeriodicTable}[03/04/2024 pgf-PeriodicTable v2.1.0a]%%
+\ProvidesPackage{pgf-PeriodicTable}[07/07/2024 pgf-PeriodicTable v2.1.1]%%
\RequirePackage{tikz}%
\usetikzlibrary{fadings}%
\tikzfading[name=aumentax, left color=transparent!80, right color=transparent!1]%
@@ -190,10 +191,10 @@ font,IUPAC,capitalize element names=false,show title,show period numbers,show gr
show legend,legend acronyms,legend back color,show legend pins,show extra legend,legend radio color,%
legend CS color,legend Z color,show blocks=false,show families=false,show MNM line,show periodic variations=false,%
show label LaAc,title font,title color,cell width,cell height,cell style,label font,period label color,group label color,%
-label LaAc font,Z list,CS solid, CS liquid,CS gas,CS synt,CS font,CS render mode,CS outline color,CS outline width,%
+label LaAc font,group numbers,Roman label color,Z list,CS solid, CS liquid,CS gas,CS synt,CS font,CS render mode,CS outline color,CS outline width,%
Z backcolor,Z color,Z font,Z align,Z padding,Z use box width=false,name color,name font,name align,Ar color,Ar font,Ar label,Ar precision,%
R color,R font,Rcov color,Rcov font,Rion color,Rion font,Ei color,Ei font,eneg color,eneg font,eaff color,eaff font,%
-O color,O font,Tmelt color,Tmelt font,TmeltC color,TmeltC font,Tboil color,Tboil font,TboilC color,TboilC font,%
+O color,O font,O Roman=false,Tmelt color,Tmelt font,TmeltC color,TmeltC font,Tboil color,Tboil font,TboilC color,TboilC font,%
eDist color,eDist font,eDist sep,eConfign color,eConfign font,eConfignl color,eConfignl font,d color,d font,Cp color,Cp font,%
kT color,kT font,ls color,ls font,ls align,ls,lsa color,lsa font,lsb color,lsb font,lsc color,lsc font,lsca color,lsca font,%
DiscY color,DiscY font,DiscY BC scale,DiscC color,DiscC font,spectra color,spectra font,MNM line color,MNM line width,%DiscC,
@@ -661,6 +662,16 @@ d unit,d precision,E precision,ls unit,ls precision,T precision,Cp precision,kT
\fi%
% O -> Oxidation States
\ifpgfPT@O\relax%
+ \ifpgfPTORoman% new in v2.1.1
+ \ifnum\Z=25\relax% Mn
+ \node[font=\pgfPTOfont,text=\pgfPTOcolor,text width=\pgfPT@data@O@wd,text centered]%
+ at ([xshift=\pgfPT@data@O@x,yshift=-\pgfPT@data@O@y]\Z) {\vbox to\pgfPT@data@O@ht{\vfil\pgfPT@box@zerodepth{\resizebox{.95\linewidth}{\height}{\pgfPT@data@ORoman}}
+ \vfil}};%
+ \else%
+ \node[font=\pgfPTOfont,text=\pgfPTOcolor,text width=\pgfPT@data@O@wd,text centered]%
+ at ([xshift=\pgfPT@data@O@x,yshift=-\pgfPT@data@O@y]\Z) {\vbox to\pgfPT@data@O@ht{\vfil\pgfPT@box@zerodepth{\pgfPT@data@ORoman}\vfil}};%
+ \fi%
+ \else%
\ifnum\Z=25\relax% Mn
\node[font=\pgfPTOfont,text=\pgfPTOcolor,text width=\pgfPT@data@O@wd,text centered]%
at ([xshift=\pgfPT@data@O@x,yshift=-\pgfPT@data@O@y]\Z) {\vbox to\pgfPT@data@O@ht{\vfil\pgfPT@box@zerodepth{\resizebox{.95\linewidth}{\height}{\pgfPT@data@O}}
@@ -669,6 +680,7 @@ d unit,d precision,E precision,ls unit,ls precision,T precision,Cp precision,kT
\node[font=\pgfPTOfont,text=\pgfPTOcolor,text width=\pgfPT@data@O@wd,text centered]%
at ([xshift=\pgfPT@data@O@x,yshift=-\pgfPT@data@O@y]\Z) {\vbox to\pgfPT@data@O@ht{\vfil\pgfPT@box@zerodepth{\pgfPT@data@O}\vfil}};%
\fi%
+ \fi%
\fi%
% Tmelt -> Melting Point (Kelvin)
\ifpgfPT@Tmelt\relax%
@@ -1188,15 +1200,21 @@ d unit,d precision,E precision,ls unit,ls precision,T precision,Cp precision,kT
% groups -->
\ifpgfPTgrlabels%
\global\pgfPTis@labeldrawnfalse%
+\pgfPT@gr@numbers{\pgfPTgrnum}% new in v2.1.1
\ifpgfPTIUPACMMIX%
\foreach \group in {1,2,4,5,...,18} {%
\edef\pgfPT@@grlist{\csname pgfPT@cells@G\@Roman\group\endcsname}%
\foreach \Zsearch in \pgfPT@@grlist{%
\foreach \Z in \pgfPT@@cellslist {%
\ifnum\Z=\Zsearch\global\pgfPTis@labeldrawntrue%
- {\pgfPTlabfont\pgfPTnumberfont\ifpgfPT@zhnumbers@gr\let\pgfPT@printnum\zhnumber\else\let\pgfPT@printnum\relax\fi%
- \node[above,font=\pgfPTlabfont,text=\pgfPTlabgrcolor] at%
- ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift]\Z) {\pgfPT@printnum{\group}};}\breakforeach\fi%
+ {\pgfPTlabfont\pgfPTnumberfont\colorlet{pgfPT@grcolor}{\pgfPTlabgrcolor}\ifpgfPT@zhnumbers@gr\let\pgfPT@printnum\zhnumber\else%
+ \ifpgfPT@grRoman\let\pgfPT@printnum\pgfPT@gr@Roman\colorlet{pgfPT@grcolor}{\pgfPTRomanlabgrcolor}\else\let\pgfPT@printnum\relax\fi\fi%
+ \node[above,font=\pgfPTlabfont,text=pgfPT@grcolor] at%
+ ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift]\Z) {\pgfPT@printnum{\group}};
+ \ifpgfPT@grarabic\colorlet{pgfPT@grcolor}{\pgfPTlabgrcolor}%
+ \node[above,font=\pgfPTlabfont,text=pgfPT@grcolor] at%
+ ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift+2ex]\Z) {\group};\fi}%
+ \breakforeach\fi%
}%
\ifpgfPTis@labeldrawn\global\pgfPTis@labeldrawnfalse\breakforeach\fi%
}%
@@ -1205,9 +1223,14 @@ d unit,d precision,E precision,ls unit,ls precision,T precision,Cp precision,kT
\foreach \Zsearch in \pgfPT@cells@GIIILaAc{%
\foreach \Z in \pgfPT@@cellslist {%
\ifnum\Z=\Zsearch\global\pgfPTis@labeldrawntrue%
- {\pgfPTlabfont\pgfPTnumberfont\ifpgfPT@zhnumbers@gr\let\pgfPT@printnum\zhnumber\else\let\pgfPT@printnum\relax\fi%
- \node[above,font=\pgfPTlabfont,text=\pgfPTlabgrcolor] at%
- ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift]\Z) {\pgfPT@printnum{3}};}\breakforeach\fi%
+ {\pgfPTlabfont\pgfPTnumberfont\colorlet{pgfPT@grcolor}{\pgfPTlabgrcolor}\ifpgfPT@zhnumbers@gr\let\pgfPT@printnum\zhnumber\else%
+ \ifpgfPT@grRoman\let\pgfPT@printnum\pgfPT@gr@Roman\colorlet{pgfPT@grcolor}{\pgfPTRomanlabgrcolor}\else\let\pgfPT@printnum\relax\fi\fi%
+ \node[above,font=\pgfPTlabfont,text=pgfPT@grcolor] at%
+ ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift]\Z) {\pgfPT@printnum{3}};
+ \ifpgfPT@grarabic\colorlet{pgfPT@grcolor}{\pgfPTlabgrcolor}%
+ \node[above,font=\pgfPTlabfont,text=pgfPT@grcolor] at%
+ ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift+2ex]\Z) {3};\fi}%
+ \breakforeach\fi%
}%
\ifpgfPTis@labeldrawn\global\pgfPTis@labeldrawnfalse\breakforeach\fi%
}%
@@ -1217,9 +1240,14 @@ d unit,d precision,E precision,ls unit,ls precision,T precision,Cp precision,kT
\foreach \Zsearch in \pgfPT@@grlist{%
\foreach \Z in \pgfPT@@cellslist {%
\ifnum\Z=\Zsearch\global\pgfPTis@labeldrawntrue%
- {\pgfPTlabfont\pgfPTnumberfont\ifpgfPT@zhnumbers@gr\let\pgfPT@printnum\zhnumber\else\let\pgfPT@printnum\relax\fi%
- \node[above,font=\pgfPTlabfont,text=\pgfPTlabgrcolor] at%
- ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift]\Z) {\pgfPT@printnum{\group}};}\breakforeach\fi%
+ {\pgfPTlabfont\pgfPTnumberfont\colorlet{pgfPT@grcolor}{\pgfPTlabgrcolor}\ifpgfPT@zhnumbers@gr\let\pgfPT@printnum\zhnumber\else%
+ \ifpgfPT@grRoman\let\pgfPT@printnum\pgfPT@gr@Roman\colorlet{pgfPT@grcolor}{\pgfPTRomanlabgrcolor}\else\let\pgfPT@printnum\relax\fi\fi%
+ \node[above,font=\pgfPTlabfont,text=pgfPT@grcolor] at%
+ ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift]\Z) {\pgfPT@printnum{\group}};%
+ \ifpgfPT@grarabic\colorlet{pgfPT@grcolor}{\pgfPTlabgrcolor}%
+ \node[above,font=\pgfPTlabfont,text=pgfPT@grcolor] at%
+ ([xshift=\pgfPT@@xshift,yshift=\pgfPT@grlabel@yshift+2ex]\Z) {\group};\fi}%
+ \breakforeach\fi%
}%
\ifpgfPTis@labeldrawn\global\pgfPTis@labeldrawnfalse\breakforeach\fi%
}%
diff --git a/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.data.tex b/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.data.tex
index 62d62e0f898..0a87ee38dda 100644
--- a/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.data.tex
+++ b/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.data.tex
@@ -142,122 +142,122 @@
}%
% ############################ THE DATA #############################
%
-\def\pgfPT@data@i{H/CS,1.008/Ar,[1.0078\noexpand\pgfPT@virgula1.0082]/Arstar,0/radio,53/R,32/Rcov,139.9\noexpand\pgfPT@espaco(1-)/Rion,1312/Ei,2.2/eneg,72.77/eaff,\noexpand\pgfPT@pm1/O,13.99/Tmelt,-259.16/TmeltC,20.271/Tboil,-252.879/TboilC,1/eDist,::1s+1/eConfign,::1s+1/eConfignl,0.08988/d,28.836/Cp,0.1805/kT,hex/ls,470/lsa,470/lsb,340/lsc,0.72/lsca,1766/DiscY,21/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@ii{He/CS,4.0026/Ar,4.0026/Arstar,0/radio,31/R,46/Rcov,---/Rion,2372.3/Ei,---/eneg,0/eaff,---/O,---/Tmelt,---/TmeltC,4.222/Tboil,-268.928/TboilC,2/eDist,::1s+2/eConfign,::1s+2/eConfignl,0.1786/d,20.786/Cp,0.1513/kT,fcc/ls,424.4/lsa,/lsb,/lsc,/lsca,1895/DiscY,19/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@iii{Li/CS,6.94/Ar,[6.938\noexpand\pgfPT@virgula6.997] /Arstar,0/radio,167/R,133/Rcov,76\noexpand\pgfPT@espaco(1+)/Rion,520.2/Ei,0.98/eneg,59.63/eaff,+1/O,453.65/Tmelt,180.5/TmeltC,1603/Tboil,1330/TboilC,2\noexpand\pgfPTeDistsep1/eDist,[He]::2s+1/eConfign,[He]::2s+1/eConfignl,534/d,24.86/Cp,84.8/kT,bcc/ls,350.93/lsa,/lsb,/lsc,/lsca,1817/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@iv{Be/CS,9.0122/Ar,9.0122/Arstar,0/radio,112/R,10/Rcov,45\noexpand\pgfPT@espaco(2+)/Rion,899.5/Ei,1.57/eneg,0/eaff,+2/O,1560/Tmelt,1287/TmeltC,2742/Tboil,2469/TboilC,2\noexpand\pgfPTeDistsep2/eDist,[He]::2s+2/eConfign,[He]::2s+2/eConfignl,1850/d,16.443/Cp,200/kT,hcp/ls,228.56/lsa,/lsb,358.32/lsc,1.57/lsca,1798/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@v{B/CS,10.81/Ar,[10.806\noexpand\pgfPT@virgula10.821] /Arstar,0/radio,87/R,85/Rcov,27\noexpand\pgfPT@espaco(3+)/Rion,800.6/Ei,2.04/eneg,26.99/eaff,+3/O,2349/Tmelt,2076/TmeltC,4200/Tboil,3927/TboilC,2\noexpand\pgfPTeDistsep3/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+1/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+1/eConfignl,2340/d,11.087/Cp,27.4/kT,rho/ls,505.66/lsa,/lsb,/lsc,/lsca,1808/DiscY,7/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@vi{C/CS,12.011/Ar,[12.009\noexpand\pgfPT@virgula12.012]/Arstar,0/radio,67/R,75/Rcov,16\noexpand\pgfPT@espaco(4+)/Rion,1086.5/Ei,2.55/eneg,121.78/eaff,0\noexpand\pgfPT@virgula\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula\noexpand\pgfPT@pm4/O,3823/Tmelt,3550/TmeltC,4300/Tboil,4027/TboilC,2\noexpand\pgfPTeDistsep4/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+2/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+2/eConfignl,2267/d,8.517/Cp,140/kT,hex/ls,246.12/lsa,/lsb,670.79/lsc,2.73/lsca,3750\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,12/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@vii{N/CS,14.007/Ar,[14.006\noexpand\pgfPT@virgula14.008]/Arstar,0/radio,56/R,71/Rcov,146\noexpand\pgfPT@espaco(3-)\noexpand\pgfPT@virgula16\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula13\noexpand\pgfPT@espaco(5+)/Rion,1402.3/Ei,3.04/eneg,0/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+5/O,63.15/Tmelt,-210/TmeltC,77.355/Tboil,-195.795/TboilC,2\noexpand\pgfPTeDistsep5/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+3/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+3/eConfignl,1.251/d,29.124/Cp,0.02583/kT,hex/ls,386.1/lsa,386.1/lsb,626.5/lsc,1.62/lsca,1772/DiscY,21/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@viii{O/CS,15.999/Ar,[15.999\noexpand\pgfPT@virgula16.000]/Arstar,0/radio,48/R,63/Rcov,140\noexpand\pgfPT@espaco(2-)/Rion,1313.9/Ei,3.44/eneg,140.98/eaff,--2/O,54.36/Tmelt,-218.79/TmeltC,90.188/Tboil,-182.962/TboilC,2\noexpand\pgfPTeDistsep6/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+4/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+4/eConfignl,1.429/d,29.378/Cp,0.02658/kT,mono/ls,540.3/lsa,342.9/lsb,508.6/lsc,0.94/lsca,1771/DiscY,19/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@ix{F/CS,18.998/Ar,18.998/Arstar,0/radio,42/R,64/Rcov,133\noexpand\pgfPT@espaco(1-)/Rion,1681/Ei,3.98/eneg,328.16/eaff,--1/O,53.48/Tmelt,-219.67/TmeltC,85.04/Tboil,-188.11/TboilC,2\noexpand\pgfPTeDistsep7/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+5/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+5/eConfignl,1.7/d,31.304/Cp,0.0277/kT,mono/ls,550/lsa,328/lsb,728/lsc,1.32/lsca,1886/DiscY,5/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@x{Ne/CS,20.18/Ar,20.18/Arstar,0/radio,38/R,67/Rcov,---/Rion,2080.7/Ei,---/eneg,0/eaff,---/O,24.56/Tmelt,-248.59/TmeltC,27.104/Tboil,-246.046/TboilC,2\noexpand\pgfPTeDistsep8/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+6/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+6/eConfignl,0.9002/d,20.786/Cp,0.0491/kT,fcc/ls,442.9/lsa,/lsb,/lsc,/lsca,1898/DiscY,21/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@xi{Na/CS,22.99/Ar,22.99/Arstar,0/radio,190/R,155/Rcov,102\noexpand\pgfPT@espaco(1+)/Rion,495.8/Ei,0.93/eneg,52.87/eaff,+1/O,370.944/Tmelt,97.794/TmeltC,1156.09/Tboil,882.94/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Ne]::3s+1/eConfign,[Ne]::3s+1/eConfignl,968/d,28.23/Cp,142/kT,bcc/ls,429.06/lsa,/lsb,/lsc,/lsca,1807/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xii{Mg/CS,24.305/Ar,[24.304\noexpand\pgfPT@virgula24.307] /Arstar,0/radio,145/R,139/Rcov,72\noexpand\pgfPT@espaco(2+)/Rion,737.7/Ei,1.31/eneg,0/eaff,+2/O,923/Tmelt,650/TmeltC,1363/Tboil,1090/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Ne]::3s+2/eConfign,[Ne]::3s+2/eConfignl,1738/d,24.869/Cp,156/kT,hcp/ls,320.94/lsa,/lsb,521.05/lsc,1.62/lsca,1755/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xiii{Al/CS,26.982/Ar,26.982/Arstar,0/radio,118/R,126/Rcov,53.5\noexpand\pgfPT@espaco(3+)/Rion,577.5/Ei,1.61/eneg,41.76/eaff,+3/O,933.47/Tmelt,660.32/TmeltC,2743/Tboil,2470/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep3/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+1/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+1/eConfignl,2700/d,24.2/Cp,237/kT,fcc/ls,404.95/lsa,/lsb,/lsc,/lsca,1824/DiscY,2/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xiv{Si/CS,28.085/Ar,[28.084\noexpand\pgfPT@virgula28.086]/Arstar,0/radio,111/R,116/Rcov,40\noexpand\pgfPT@espaco(4+)/Rion,786.5/Ei,1.9/eneg,134.07/eaff,\noexpand\pgfPT@pm4/O,1687/Tmelt,1414/TmeltC,3538/Tboil,3265/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep4/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+2/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+2/eConfignl,2330/d,19.789/Cp,149/kT,dia/ls,543.095/lsa,/lsb,/lsc,/lsca,1823/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xv{P/CS,30.974/Ar,30.974/Arstar,0/radio,98/R,111/Rcov,212\noexpand\pgfPT@espaco(3-)\noexpand\pgfPT@virgula44\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula38\noexpand\pgfPT@espaco(5+)/Rion,1011.8/Ei,2.19/eneg,72.04/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+5/O,317.3/Tmelt,44.15/TmeltC,550/Tboil,277/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep5/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+3/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+3/eConfignl,1823/d,23.824/Cp,0.236/kT,tric/ls,1145/lsa,550.3/lsb,1126.1/lsc,0.98/lsca,1669/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xvi{S/CS,32.06/Ar,[32.059\noexpand\pgfPT@virgula32.076]/Arstar,0/radio,88/R,103/Rcov,184\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula37\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula29\noexpand\pgfPT@espaco(6+)/Rion,999.6/Ei,2.58/eneg,200.41/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6/O,388.36/Tmelt,115.21/TmeltC,717.8/Tboil,444.6/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep6/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+4/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+4/eConfignl,1960/d,22.75/Cp,0.205/kT,fcort/ls,1046.5/lsa,1286.6/lsb,2448.6/lsc,2.34/lsca,500\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,12/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xvii{Cl/CS,35.45/Ar,[35.446\noexpand\pgfPT@virgula35.457]/Arstar,0/radio,79/R,99/Rcov,181\noexpand\pgfPT@espaco(1-)\noexpand\pgfPT@virgula12\noexpand\pgfPT@espaco(5+)\noexpand\pgfPT@virgula27\noexpand\pgfPT@espaco(7+)/Rion,1251.2/Ei,3.16/eneg,348.58/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+7/O,171.6/Tmelt,-101.5/TmeltC,239.11/Tboil,-34.04/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep7/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+5/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+5/eConfignl,3.2/d,33.949/Cp,0.0089/kT,bcort/ls,622.35/lsa,445.61/lsb,817.85/lsc,1.31/lsca,1774/DiscY,18/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@xviii{Ar/CS,39.95/Ar,[39.792\noexpand\pgfPT@virgula39.963]/Arstar,0/radio,71/R,96/Rcov,---/Rion,1520.6/Ei,---/eneg,0/eaff,0/O,83.81/Tmelt,-189.34/TmeltC,87.302/Tboil,-185.848/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep8/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+6/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+6/eConfignl,1.784/d,20.786/Cp,0.01772/kT,fcc/ls,525.6/lsa,/lsb,/lsc,/lsca,1894/DiscY,21/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@xix{K/CS,39.098/Ar,39.098/Arstar,0/radio,243/R,196/Rcov,138\noexpand\pgfPT@espaco(1+)/Rion,418.8/Ei,0.82/eneg,48.38/eaff,+1/O,336.7/Tmelt,63.5/TmeltC,1032/Tboil,759/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Ar]::4s+1/eConfign,[Ar]::4s+1/eConfignl,890/d,29.6/Cp,102.5/kT,bcc/ls,532.8/lsa,/lsb,/lsc,/lsca,1807/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xx{Ca/CS,40.078/Ar,40.078(4) /Arstar,0/radio,194/R,171/Rcov,100\noexpand\pgfPT@espaco(2+)/Rion,589.8/Ei,1/eneg,2.37/eaff,+2/O,1115/Tmelt,842/TmeltC,1757/Tboil,1484/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Ar]::4s+2/eConfign,[Ar]::4s+2/eConfignl,1550/d,25.929/Cp,201/kT,fcc/ls,558.84/lsa,/lsb,/lsc,/lsca,1808/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxi{Sc/CS,44.956/Ar,44.956/Arstar,0/radio,184/R,148/Rcov,74.5\noexpand\pgfPT@espaco(3+)/Rion,633.1/Ei,1.36/eneg,18/eaff,+3/O,1814/Tmelt,1541/TmeltC,3109/Tboil,2836/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+1\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+1/eConfignl,2985/d,25.52/Cp,15.8/kT,hcp/ls,330.9/lsa,/lsb,527.33/lsc,1.59/lsca,1879/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxii{Ti/CS,47.867/Ar,47.867/Arstar,0/radio,176/R,136/Rcov,86\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula67\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula60.5\noexpand\pgfPT@espaco(4+)/Rion,658.8/Ei,1.54/eneg,7.29/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+4/O,1941/Tmelt,1668/TmeltC,3560/Tboil,3287/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+2\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+2/eConfignl,4506/d,25.06/Cp,21.9/kT,hcp/ls,295.03/lsa,/lsb,468.31/lsc,1.59/lsca,1791/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxiii{V/CS,50.942/Ar,50.942/Arstar,0/radio,171/R,134/Rcov,79\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula64\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula58\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula54\noexpand\pgfPT@espaco(5+)/Rion,650.9/Ei,1.63/eneg,50.91/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+5/O,2183/Tmelt,1910/TmeltC,3680/Tboil,3407/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep11\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+3\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+3/eConfignl,6110/d,24.89/Cp,30.7/kT,bcc/ls,302.31/lsa,/lsb,/lsc,/lsca,1830/DiscY,23/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxiv{Cr/CS,51.996/Ar,51.996/Arstar,0/radio,166/R,122/Rcov,73\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula61.5\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula44\noexpand\pgfPT@espaco(6+)/Rion,652.9/Ei,1.66/eneg,65.21/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+6/O,2180/Tmelt,1907/TmeltC,2755/Tboil,2482/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep1/eDist,[Ar]::3d+5\noexpand\pgfPT@virgula4s+1/eConfign,[Ar]::4s+1\noexpand\pgfPT@virgula3d+5/eConfignl,7150/d,23.35/Cp,93.9/kT,bcc/ls,288.46/lsa,/lsb,/lsc,/lsca,1797/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxv{Mn/CS,54.938/Ar,54.938/Arstar,0/radio,161/R,119/Rcov,67\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula58\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula53\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula25.5\noexpand\pgfPT@espaco(6+)\noexpand\pgfPT@virgula46\noexpand\pgfPT@espaco(7+)/Rion,717.3/Ei,1.55/eneg,0/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6\noexpand\pgfPT@virgula+7/O,1519/Tmelt,1246/TmeltC,2334/Tboil,2061/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+5\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+5/eConfignl,7210/d,26.32/Cp,7.81/kT,bcc/ls,891.39/lsa,/lsb,/lsc,/lsca,1774/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxvi{Fe/CS,55.845/Ar,55.845(2)/Arstar,0/radio,156/R,116/Rcov,61\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula55\noexpand\pgfPT@espaco(3+)/Rion,762.5/Ei,1.83/eneg,14.79/eaff,+2\noexpand\pgfPT@virgula+3/O,1811/Tmelt,1538/TmeltC,3134/Tboil,2861/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep14\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+6\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+6/eConfignl,7860/d,25.1/Cp,80.4/kT,bcc/ls,286.64/lsa,/lsb,/lsc,/lsca,2000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,3/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxvii{Co/CS,58.933/Ar,58.933/Arstar,0/radio,152/R,111/Rcov,65\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula54.5\noexpand\pgfPT@espaco(3+)/Rion,760.4/Ei,1.88/eneg,63.9/eaff,+2\noexpand\pgfPT@virgula+3/O,1768/Tmelt,1495/TmeltC,3200/Tboil,2927/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+7\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+7/eConfignl,8900/d,24.81/Cp,100/kT,hcp/ls,250.71/lsa,/lsb,406.95/lsc,1.62/lsca,1735/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxviii{Ni/CS,58.693/Ar,58.693/Arstar,0/radio,149/R,110/Rcov,69\noexpand\pgfPT@espaco(2+)/Rion,737.1/Ei,1.91/eneg,111.65/eaff,+2/O,1728/Tmelt,1455/TmeltC,3003/Tboil,2730/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep16\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+8\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+8/eConfignl,8908/d,26.07/Cp,90.9/kT,fcc/ls,352.4/lsa,/lsb,/lsc,/lsca,1751/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxix{Cu/CS,63.546/Ar,63.546(3)/Arstar,0/radio,145/R,112/Rcov,77\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula73\noexpand\pgfPT@espaco(2+)/Rion,745.5/Ei,1.9/eneg,119.24/eaff,+1\noexpand\pgfPT@virgula+2/O,1357.77/Tmelt,1084.62/TmeltC,2835/Tboil,2562/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep1/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+1/eConfign,[Ar]::4s+1\noexpand\pgfPT@virgula3d+10/eConfignl,8960/d,24.44/Cp,401/kT,fcc/ls,361.47/lsa,/lsb,/lsc,/lsca,8000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,12/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxx{Zn/CS,65.38/Ar,65.38(2)/Arstar,0/radio,142/R,118/Rcov,74\noexpand\pgfPT@espaco(2+)/Rion,906.4/Ei,1.65/eneg,0/eaff,+2/O,692.68/Tmelt,419.53/TmeltC,1180/Tboil,907/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10/eConfignl,7140/d,25.39/Cp,116/kT,hcp/ls,266.49/lsa,/lsb,494.68/lsc,1.86/lsca,1746/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxi{Ga/CS,69.723/Ar,69.723/Arstar,0/radio,136/R,124/Rcov,62\noexpand\pgfPT@espaco(3+)/Rion,578.8/Ei,1.81/eneg,29.06/eaff,+3/O,302.9146/Tmelt,29.7646/TmeltC,2673/Tboil,2400/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+1/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+1/eConfignl,5910/d,25.86/Cp,40.6/kT,bcort/ls,452.58/lsa,451.86/lsb,765.7/lsc,1.69/lsca,1875/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxii{Ge/CS,72.63/Ar,72.630(8)/Arstar,0/radio,125/R,121/Rcov,73\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula53\noexpand\pgfPT@espaco(4+)/Rion,762/Ei,2.01/eneg,118.94/eaff,+2\noexpand\pgfPT@virgula\noexpand\pgfPT@pm4/O,1211.4/Tmelt,938.25/TmeltC,3106/Tboil,2833/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+2/eConfignl,5323/d,23.222/Cp,60.2/kT,dia/ls,565.791/lsa,/lsb,/lsc,/lsca,1886/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxiii{As/CS,74.922/Ar,74.922/Arstar,0/radio,114/R,121/Rcov,58\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula46\noexpand\pgfPT@espaco(5+)/Rion,947/Ei,2.18/eneg,77.65/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+5/O,1090/Tmelt,817/TmeltC,887/Tboil,614/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+3/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+3/eConfignl,5727/d,24.64/Cp,50.2/kT,rho/ls,375.98/lsa,375.98/lsb,1054.75/lsc,2.81/lsca,1250/DiscY,12/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxiv{Se/CS,78.971/Ar,78.971(8)/Arstar,0/radio,103/R,116/Rcov,198\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula50\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula42\noexpand\pgfPT@espaco(6+)/Rion,941/Ei,2.55/eneg,194.96/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6/O,494/Tmelt,221/TmeltC,958/Tboil,685/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+4/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+4/eConfignl,4810/d,25.363/Cp,0.519/kT,mono/ls,905.4/lsa,908.3/lsb,1160.1/lsc,1.28/lsca,1817/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxv{Br/CS,79.904/Ar,[79.901\noexpand\pgfPT@virgula79.907]/Arstar,0/radio,94/R,114/Rcov,196\noexpand\pgfPT@espaco(1-)\noexpand\pgfPT@virgula59\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula31\noexpand\pgfPT@espaco(5+)/Rion,1139.9/Ei,2.96/eneg,324.54/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5/O,265.8/Tmelt,-7.3/TmeltC,332/Tboil,58.8/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+5/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+5/eConfignl,3102.8/d,75.69/Cp,0.122/kT,bcort/ls,672.65/lsa,464.51/lsb,870.23/lsc,1.29/lsca,1825/DiscY,5/DiscC,1/spectra,liquido/cor}%
-\def\pgfPT@data@xxxvi{Kr/CS,83.798/Ar,83.798(2)/Arstar,0/radio,88/R,117/Rcov,---/Rion,1350.8/Ei,3/eneg,0/eaff,0/O,115.78/Tmelt,-157.37/TmeltC,119.735/Tboil,-153.415/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+6/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+6/eConfignl,3.749/d,20.786/Cp,0.00943/kT,fcc/ls,570.6/lsa,/lsb,/lsc,/lsca,1898/DiscY,21/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@xxxvii{Rb/CS,85.468/Ar,85.468/Arstar,0/radio,265/R,210/Rcov,152\noexpand\pgfPT@espaco(1+)/Rion,403/Ei,0.82/eneg,46.88/eaff,+1/O,312.45/Tmelt,39.3/TmeltC,961/Tboil,688/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Kr]::5s+1/eConfign,[Kr]::5s+1/eConfignl,1532/d,31.06/Cp,58.2/kT,bcc/ls,558.5/lsa,/lsb,/lsc,/lsca,1861/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxviii{Sr/CS,87.62/Ar,87.62/Arstar,0/radio,219/R,185/Rcov,118\noexpand\pgfPT@espaco(2+)/Rion,549.5/Ei,0.95/eneg,5.02/eaff,+2/O,1050/Tmelt,777/TmeltC,1650/Tboil,1382/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Kr]::5s+2/eConfign,[Kr]::5s+2/eConfignl,2640/d,26.4/Cp,35.4/kT,fcc/ls,608.49/lsa,/lsb,/lsc,/lsca,1787/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xxxix{Y/CS,88.906/Ar,88.906/Arstar,0/radio,212/R,163/Rcov,90\noexpand\pgfPT@espaco(3+)/Rion,600/Ei,1.22/eneg,29.6/eaff,+3/O,1799/Tmelt,1526/TmeltC,3203/Tboil,2930/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+1\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+1/eConfignl,4472/d,26.53/Cp,17.2/kT,hcp/ls,364.74/lsa,/lsb,573.06/lsc,1.57/lsca,1794/DiscY,4/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xl{Zr/CS,91.224/Ar,91.224(2)/Arstar,0/radio,206/R,154/Rcov,72\noexpand\pgfPT@espaco(4+)/Rion,640.1/Ei,1.33/eneg,41.81/eaff,+4/O,2128/Tmelt,1855/TmeltC,4650/Tboil,4377/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+2\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+2/eConfignl,6520/d,25.36/Cp,22.6/kT,hcp/ls,323.2/lsa,/lsb,514.7/lsc,1.59/lsca,1789/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xli{Nb/CS,92.906/Ar,92.906/Arstar,0/radio,198/R,147/Rcov,64\noexpand\pgfPT@espaco(5+)/Rion,652.1/Ei,1.6/eneg,88.52/eaff,+5/O,2750/Tmelt,2477/TmeltC,5017/Tboil,4744/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep12\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+4\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+4/eConfignl,8570/d,24.6/Cp,53.7/kT,bcc/ls,330.04/lsa,/lsb,/lsc,/lsca,1801/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xlii{Mo/CS,95.95/Ar,95.95/Arstar,0/radio,190/R,138/Rcov,65\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula59\noexpand\pgfPT@espaco(6+)/Rion,684.3/Ei,2.16/eneg,72.1/eaff,+4\noexpand\pgfPT@virgula+6/O,2896/Tmelt,2623/TmeltC,4912/Tboil,4639/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+5\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+5/eConfignl,10280/d,24.06/Cp,138/kT,bcc/ls,314.69/lsa,/lsb,/lsc,/lsca,1781/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xliii{Tc/CS,[98]/Ar,/Arstar,1/radio,183/R,128/Rcov,64.5\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula56\noexpand\pgfPT@espaco(7+)/Rion,702/Ei,1.9/eneg,53/eaff,+4\noexpand\pgfPT@virgula+7/O,2430/Tmelt,2157/TmeltC,4538/Tboil,4265/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+5\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+5/eConfignl,11000/d,24.27/Cp,50.6/kT,hcp/ls,273.5/lsa,/lsb,438.8/lsc,1.6/lsca,1937/DiscY,11/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xliv{Ru/CS,101.07/Ar,101.07/Arstar,0/radio,178/R,125/Rcov,68\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula62\noexpand\pgfPT@espaco(4+)/Rion,710.2/Ei,2.2/eneg,100.96/eaff,+3\noexpand\pgfPT@virgula+4/O,2607/Tmelt,2334/TmeltC,4423/Tboil,4150/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+7\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+7/eConfignl,12450/d,24.06/Cp,117/kT,hcp/ls,270.55/lsa,/lsb,428.16/lsc,1.58/lsca,1844/DiscY,15/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xlv{Rh/CS,102.91/Ar,102.91/Arstar,0/radio,173/R,125/Rcov,66.5\noexpand\pgfPT@espaco(3+)/Rion,719.7/Ei,2.28/eneg,110.27/eaff,+3/O,2237/Tmelt,1964/TmeltC,3968/Tboil,3695/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep16\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+8\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+8/eConfignl,12410/d,24.98/Cp,150/kT,fcc/ls,380.34/lsa,/lsb,/lsc,/lsca,1804/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xlvi{Pd/CS,106.42/Ar,106.42/Arstar,0/radio,169/R,120/Rcov,86\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula61.5\noexpand\pgfPT@espaco(4+)/Rion,804.4/Ei,2.2/eneg,54.24/eaff,0\noexpand\pgfPT@virgula+2\noexpand\pgfPT@virgula+4/O,1828.05/Tmelt,1554.9/TmeltC,3236/Tboil,2963/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18/eDist,[Kr]::4d+10/eConfign,[Kr]::4d+10/eConfignl,12023/d,25.98/Cp,71.8/kT,fcc/ls,389.02/lsa,/lsb,/lsc,/lsca,1802/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xlvii{Ag/CS,107.87/Ar,107.87/Arstar,0/radio,165/R,128/Rcov,115\noexpand\pgfPT@espaco(1+)/Rion,731/Ei,1.93/eneg,125.86/eaff,+1/O,1234.93/Tmelt,961.78/TmeltC,2483/Tboil,2210/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+10/eConfignl,10490/d,25.35/Cp,429/kT,fcc/ls,408.57/lsa,/lsb,/lsc,/lsca,3000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,0/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xlviii{Cd/CS,112.41/Ar,112.41/Arstar,0/radio,161/R,136/Rcov,95\noexpand\pgfPT@espaco(2+)/Rion,867.8/Ei,1.69/eneg,0/eaff,+2/O,594.22/Tmelt,321.07/TmeltC,1040/Tboil,767/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10/eConfignl,8650/d,26.02/Cp,96.6/kT,hcp/ls,297.88/lsa,/lsb,561.67/lsc,1.89/lsca,1817/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xlix{In/CS,114.82/Ar,114.82/Arstar,0/radio,156/R,142/Rcov,80\noexpand\pgfPT@espaco(3+)/Rion,558.3/Ei,1.78/eneg,37.04/eaff,+3/O,429.75/Tmelt,156.6/TmeltC,2345/Tboil,2072/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+1/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+1/eConfignl,7310/d,26.74/Cp,81.8/kT,tetr/ls,325.17/lsa,/lsb,494.59/lsc,1.52/lsca,1863/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@l{Sn/CS,118.71/Ar,118.71/Arstar,0/radio,145/R,140/Rcov,118\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula69\noexpand\pgfPT@espaco(4+)/Rion,708.6/Ei,1.96/eneg,107.3/eaff,+2\noexpand\pgfPT@virgula\noexpand\pgfPT@pm4/O,505.08/Tmelt,231.93/TmeltC,2875/Tboil,2602/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+2/eConfignl,7265/d,25.77/Cp,66.8/kT,ctetr/ls,583.1/lsa,/lsb,318.1/lsc,0.55/lsca,3000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,0/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@li{Sb/CS,121.76/Ar,121.76/Arstar,0/radio,133/R,140/Rcov,76\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula60\noexpand\pgfPT@espaco(5+)/Rion,834/Ei,2.05/eneg,101.06/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+5/O,903.78/Tmelt,630.63/TmeltC,1908/Tboil,1635/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+3/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+3/eConfignl,6697/d,25.23/Cp,24.4/kT,rho/ls,430.7/lsa,/lsb,1127.3/lsc,2.62/lsca,815/DiscY,12/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lii{Te/CS,127.6/Ar,127.60(3)/Arstar,0/radio,123/R,136/Rcov,221\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula97\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula56\noexpand\pgfPT@espaco(6+)/Rion,869.3/Ei,2.1/eneg,190.16/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6/O,722.66/Tmelt,449.51/TmeltC,1261/Tboil,988/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+4/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+4/eConfignl,6240/d,25.73/Cp,3/kT,rho/ls,445.72/lsa,/lsb,592.9/lsc,1.33/lsca,1782/DiscY,14/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@liii{I/CS,126.9/Ar,126.9/Arstar,0/radio,115/R,133/Rcov,220\noexpand\pgfPT@espaco(1-)\noexpand\pgfPT@virgula95\noexpand\pgfPT@espaco(5+)\noexpand\pgfPT@virgula53\noexpand\pgfPT@espaco(7+)/Rion,1008.4/Ei,2.66/eneg,295.15/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+7/O,386.85/Tmelt,113.7/TmeltC,457.4/Tboil,184.3/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+5/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+5/eConfignl,4933/d,54.44/Cp,0.449/kT,bcort/ls,726.97/lsa,479.03/lsb,979.42/lsc,1.35/lsca,1811/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@liv{Xe/CS,131.29/Ar,131.29/Arstar,0/radio,108/R,131/Rcov,---/Rion,1170.4/Ei,2.6/eneg,0/eaff,0/O,161.4/Tmelt,-111.75/TmeltC,165.051/Tboil,-108.099/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+6/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+6/eConfignl,5.894/d,20.786/Cp,0.00565/kT,fcc/ls,620.23/lsa,/lsb,/lsc,/lsca,1898/DiscY,21/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@lv{Cs/CS,132.91/Ar,132.91/Arstar,0/radio,298/R,232/Rcov,167\noexpand\pgfPT@espaco(1+)/Rion,375.7/Ei,0.79/eneg,45.51/eaff,+1/O,301.7/Tmelt,28.5/TmeltC,944/Tboil,671/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Xe]::6s+1/eConfign,[Xe]::6s+1/eConfignl,1930/d,32.21/Cp,35.9/kT,bcc/ls,614.1/lsa,/lsb,/lsc,/lsca,1860/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lvi{Ba/CS,137.33/Ar,137.33/Arstar,0/radio,253/R,196/Rcov,135\noexpand\pgfPT@espaco(2+)/Rion,502.9/Ei,0.89/eneg,13.95/eaff,+2/O,1000/Tmelt,727/TmeltC,1910/Tboil,1637/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::6s+2/eConfign,[Xe]::6s+2/eConfignl,3510/d,28.07/Cp,18.4/kT,bcc/ls,501.9/lsa,/lsb,/lsc,/lsca,1808/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lvii{La/CS,138.91/Ar,138.91/Arstar,0/radio,226/R,180/Rcov,103.2\noexpand\pgfPT@espaco(3+)/Rion,538.1/Ei,1.1/eneg,53.8/eaff,+3/O,1193/Tmelt,920/TmeltC,3737/Tboil,3464/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula5d+1/eConfignl,6162/d,27.11/Cp,13.4/kT,hex/ls,377.2/lsa,/lsb,1214.4/lsc,3.22/lsca,1838/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lviii{Ce/CS,140.12/Ar,140.12/Arstar,0/radio,210/R,163/Rcov,101\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula87\noexpand\pgfPT@espaco(4+)/Rion,534.4/Ei,1.12/eneg,55/eaff,+3\noexpand\pgfPT@virgula+4/O,1068/Tmelt,795/TmeltC,3716/Tboil,3443/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep19\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+1\noexpand\pgfPT@virgula5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+1\noexpand\pgfPT@virgula5d+1/eConfignl,6770/d,26.94/Cp,11.3/kT,hex/ls,362/lsa,/lsb,599/lsc,1.65/lsca,1803/DiscY,9/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lix{Pr/CS,140.91/Ar,140.91/Arstar,0/radio,247/R,17/Rcov,99\noexpand\pgfPT@espaco(3+)/Rion,527/Ei,1.13/eneg,10.54/eaff,+3/O,1208/Tmelt,935/TmeltC,3403/Tboil,3130/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep21\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+3\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+3/eConfignl,6770/d,27.2/Cp,12.5/kT,hex/ls,367.21/lsa,/lsb,1183.26/lsc,3.22/lsca,1885/DiscY,1/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lx{Nd/CS,144.24/Ar,144.24/Arstar,0/radio,206/R,17/Rcov,98.3\noexpand\pgfPT@espaco(3+)/Rion,533.1/Ei,1.14/eneg,9.41/eaff,+3/O,1297/Tmelt,1024/TmeltC,3347/Tboil,3074/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep22\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+4\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+4/eConfignl,7010/d,27.45/Cp,16.5/kT,hex/ls,365.82/lsa,/lsb,1179.66/lsc,3.22/lsca,1885/DiscY,1/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxi{Pm/CS,[145]/Ar,[145]/Arstar,1/radio,205/R,173/Rcov,97\noexpand\pgfPT@espaco(3+)/Rion,540/Ei,1.13/eneg,12.45/eaff,+3/O,1315/Tmelt,1042/TmeltC,3273/Tboil,3000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep23\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+5\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+5/eConfignl,7260/d,---/Cp,17.9/kT,hex/ls,365/lsa,/lsb,1165/lsc,3.19/lsca,1945/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@lxii{Sm/CS,150.36/Ar,150.36(2)/Arstar,0/radio,238/R,172/Rcov,95.8\noexpand\pgfPT@espaco(3+)/Rion,544.5/Ei,1.17/eneg,15.63/eaff,+3/O,1345/Tmelt,1072/TmeltC,2173/Tboil,1900/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep24\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+6\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+6/eConfignl,7520/d,29.54/Cp,13.3/kT,rho/ls,362.1/lsa,/lsb,2625/lsc,7.25/lsca,1879/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxiii{Eu/CS,151.96/Ar,151.96/Arstar,0/radio,231/R,168/Rcov,117\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula94.7\noexpand\pgfPT@espaco(3+)/Rion,547.1/Ei,1.2/eneg,11.2/eaff,+2\noexpand\pgfPT@virgula+3/O,1099/Tmelt,826/TmeltC,1802/Tboil,1529/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+7\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+7/eConfignl,5244/d,27.66/Cp,13.9/kT,bcc/ls,458.1/lsa,/lsb,/lsc,/lsca,1901/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxiv{Gd/CS,157.25/Ar,157.25(3)/Arstar,0/radio,233/R,169/Rcov,93.5\noexpand\pgfPT@espaco(3+)/Rion,593.4/Ei,1.2/eneg,13.22/eaff,+3/O,1585/Tmelt,1312/TmeltC,3273/Tboil,3000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+7\noexpand\pgfPT@virgula5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+7\noexpand\pgfPT@virgula5d+1/eConfignl,7900/d,37.03/Cp,10.6/kT,hcp/ls,363.6/lsa,/lsb,578.26/lsc,1.59/lsca,1880/DiscY,20/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxv{Tb/CS,158.93/Ar,158.93/Arstar,0/radio,225/R,168/Rcov,92.3\noexpand\pgfPT@espaco(3+)/Rion,565.8/Ei,1.2/eneg,12.67/eaff,+3/O,1629/Tmelt,1356/TmeltC,3396/Tboil,3123/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep27\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+9\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+9/eConfignl,8230/d,28.91/Cp,11.1/kT,hcp/ls,360.1/lsa,/lsb,569.36/lsc,1.58/lsca,1843/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxvi{Dy/CS,162.5/Ar,162.5/Arstar,0/radio,228/R,167/Rcov,91.2\noexpand\pgfPT@espaco(3+)/Rion,573/Ei,1.22/eneg,33.96/eaff,+3/O,1680/Tmelt,1407/TmeltC,2840/Tboil,2567/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep28\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+10\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+10/eConfignl,8540/d,27.7/Cp,10.7/kT,hcp/ls,359.3/lsa,/lsb,565.37/lsc,1.57/lsca,1886/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxvii{Ho/CS,164.93/Ar,164.93/Arstar,0/radio,226/R,166/Rcov,90.1\noexpand\pgfPT@espaco(3+)/Rion,581/Ei,1.23/eneg,32.61/eaff,+3/O,1734/Tmelt,1461/TmeltC,2873/Tboil,2600/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep29\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+11\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+11/eConfignl,8790/d,27.15/Cp,16.2/kT,hcp/ls,357.73/lsa,/lsb,561.58/lsc,1.57/lsca,1878/DiscY,20/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxviii{Er/CS,167.26/Ar,167.26/Arstar,0/radio,226/R,165/Rcov,89\noexpand\pgfPT@espaco(3+)/Rion,589.3/Ei,1.24/eneg,30.1/eaff,+3/O,1802/Tmelt,1529/TmeltC,3141/Tboil,2868/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep30\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+12\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+12/eConfignl,9066/d,28.12/Cp,14.5/kT,hcp/ls,355.88/lsa,/lsb,558.74/lsc,1.57/lsca,1843/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxix{Tm/CS,168.93/Ar,168.93/Arstar,0/radio,222/R,164/Rcov,88\noexpand\pgfPT@espaco(3+)/Rion,596.7/Ei,1.25/eneg,99/eaff,+3/O,1818/Tmelt,1545/TmeltC,2223/Tboil,1950/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep31\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+13\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+13/eConfignl,9320/d,27.03/Cp,16.9/kT,hcp/ls,353.75/lsa,/lsb,555.46/lsc,1.57/lsca,1879/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxx{Yb/CS,173.05/Ar,173.05/Arstar,0/radio,222/R,170/Rcov,86.8\noexpand\pgfPT@espaco(3+)/Rion,603.4/Ei,1.1/eneg,0/eaff,+3/O,1097/Tmelt,824/TmeltC,1703/Tboil,1430/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14/eConfignl,6900/d,26.74/Cp,38.5/kT,fcc/ls,548.47/lsa,/lsb,/lsc,/lsca,1878/DiscY,20/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxi{Lu/CS,174.97/Ar,174.97/Arstar,0/radio,217/R,162/Rcov,86.1\noexpand\pgfPT@espaco(3+)/Rion,523.5/Ei,1.27/eneg,23.04/eaff,+3/O,1925/Tmelt,1652/TmeltC,3675/Tboil,3402/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+1/eConfignl,9841/d,26.86/Cp,16.4/kT,hcp/ls,350.31/lsa,/lsb,555.09/lsc,1.58/lsca,1906/DiscY,6/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxii{Hf/CS,178.49/Ar,178.49(2)/Arstar,0/radio,208/R,152/Rcov,71\noexpand\pgfPT@espaco(4+)/Rion,658.5/Ei,1.3/eneg,17.18/eaff,+4/O,2506/Tmelt,2233/TmeltC,4876/Tboil,4603/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+2\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+2/eConfignl,13310/d,25.73/Cp,23/kT,hcp/ls,319.64/lsa,/lsb,505.11/lsc,1.58/lsca,1922/DiscY,2/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxiii{Ta/CS,180.95/Ar,180.95/Arstar,0/radio,200/R,146/Rcov,64\noexpand\pgfPT@espaco(5+)/Rion,761/Ei,1.5/eneg,31/eaff,+5/O,3290/Tmelt,3017/TmeltC,5731/Tboil,5458/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep11\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+3\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+3/eConfignl,16690/d,25.36/Cp,57.5/kT,bcc/ls,330.26/lsa,/lsb,/lsc,/lsca,1802/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxiv{W/CS,183.84/Ar,183.84/Arstar,0/radio,193/R,137/Rcov,66\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula60\noexpand\pgfPT@espaco(6+)/Rion,770/Ei,2.36/eneg,78.76/eaff,+4\noexpand\pgfPT@virgula+6/O,3695/Tmelt,3422/TmeltC,6203/Tboil,5930/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep12\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+4\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+4/eConfignl,19250/d,24.27/Cp,173/kT,bcc/ls,316.52/lsa,/lsb,/lsc,/lsca,1783/DiscY,17/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxv{Re/CS,186.21/Ar,186.21/Arstar,0/radio,188/R,131/Rcov,63\noexpand\pgfPT@espaco(4+)/Rion,760/Ei,1.9/eneg,5.83/eaff,+4/O,3459/Tmelt,3186/TmeltC,5869/Tboil,5596/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+5\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+5/eConfignl,21020/d,25.48/Cp,48/kT,hcp/ls,276.1/lsa,/lsb,445.8/lsc,1.62/lsca,1925/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxvi{Os/CS,190.23/Ar,190.23(3)/Arstar,0/radio,185/R,129/Rcov,63\noexpand\pgfPT@espaco(4+)/Rion,840/Ei,2.2/eneg,103.99/eaff,+4/O,3306/Tmelt,3033/TmeltC,5285/Tboil,5012/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep14\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+6\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+6/eConfignl,22590/d,24.7/Cp,87.6/kT,hcp/ls,273.43/lsa,/lsb,431.73/lsc,1.58/lsca,1803/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxvii{Ir/CS,192.22/Ar,192.22/Arstar,0/radio,180/R,122/Rcov,68\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula62.5\noexpand\pgfPT@espaco(4+)/Rion,880/Ei,2.2/eneg,150.91/eaff,+3\noexpand\pgfPT@virgula+4/O,2719/Tmelt,2446/TmeltC,4403/Tboil,4130/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+7\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+7/eConfignl,22560/d,25.1/Cp,147/kT,fcc/ls,383.92/lsa,/lsb,/lsc,/lsca,1803/DiscY,7/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxviii{Pt/CS,195.08/Ar,195.08/Arstar,0/radio,177/R,123/Rcov,80\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula62.5\noexpand\pgfPT@espaco(4+)/Rion,870/Ei,2.28/eneg,205.04/eaff,+2\noexpand\pgfPT@virgula+4/O,2041.4/Tmelt,1768.3/TmeltC,4098/Tboil,3825/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep17\noexpand\pgfPTeDistsep1/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+9\noexpand\pgfPT@virgula6s+1/eConfign,[Xe]::6s+1\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+9/eConfignl,21450/d,25.86/Cp,71.6/kT,fcc/ls,392.35/lsa,/lsb,/lsc,/lsca,1735/DiscY,13/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxix{Au/CS,196.97/Ar,196.97/Arstar,0/radio,174/R,124/Rcov,137\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula85\noexpand\pgfPT@espaco(3+)/Rion,890.1/Ei,2.54/eneg,222.75/eaff,+1\noexpand\pgfPT@virgula+3/O,1337.33/Tmelt,1064.18/TmeltC,3243/Tboil,2970/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep1/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+1/eConfign,[Xe]::6s+1\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10/eConfignl,19300/d,25.418/Cp,318/kT,fcc/ls,407.83/lsa,/lsb,/lsc,/lsca,4000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,100/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxx{Hg/CS,200.59/Ar,200.59/Arstar,0/radio,171/R,133/Rcov,119\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula102\noexpand\pgfPT@espaco(2+)/Rion,1007.1/Ei,2/eneg,0/eaff,+1\noexpand\pgfPT@virgula+2/O,234.32/Tmelt,-38.83/TmeltC,629.88/Tboil,356.73/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10/eConfignl,13534/d,27.983/Cp,8.3/kT,rho/ls,300.9/lsa,/lsb,/lsc,/lsca,1500\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,3/DiscC,1/spectra,liquido/cor}%
-\def\pgfPT@data@lxxxi{Tl/CS,204.38/Ar,[204.38\noexpand\pgfPT@virgula204.39]/Arstar,0/radio,156/R,144/Rcov,150\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula88.5\noexpand\pgfPT@espaco(3+)/Rion,589.4/Ei,1.62/eneg,30.88/eaff,+1\noexpand\pgfPT@virgula+3/O,577/Tmelt,304/TmeltC,1746/Tboil,1473/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+1/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+1/eConfignl,11850/d,26.32/Cp,46.1/kT,hcp/ls,345.66/lsa,/lsb,552.48/lsc,1.6/lsca,1861/DiscY,21/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxxii{Pb/CS,207.2/Ar,207.2/Arstar,0/radio,154/R,144/Rcov,119\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula77.5\noexpand\pgfPT@espaco(4+)/Rion,715.6/Ei,1.87/eneg,34.42/eaff,+2\noexpand\pgfPT@virgula+4/O,600.61/Tmelt,327.46/TmeltC,2022/Tboil,1749/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+2/eConfignl,11340/d,26.65/Cp,35.3/kT,fcc/ls,495.02/lsa,/lsb,/lsc,/lsca,3800\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,3/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxxiii{Bi/CS,208.98/Ar,208.98/Arstar,0/radio,143/R,151/Rcov,103\noexpand\pgfPT@espaco(3+)/Rion,703/Ei,2.02/eneg,90.92/eaff,+3/O,544.7/Tmelt,271.5/TmeltC,1837/Tboil,1564/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+3/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+3/eConfignl,9780/d,25.52/Cp,7.97/kT,mono/ls,667.4/lsa,611.7/lsb,330.4/lsc,0.5/lsca,1400/DiscY,12/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxxiv{Po/CS,[209]/Ar,/Arstar,1/radio,135/R,145/Rcov,223\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula94\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula67\noexpand\pgfPT@espaco(6+)/Rion,812.1/Ei,2/eneg,136/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+6/O,527/Tmelt,254/TmeltC,1235/Tboil,962/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+4/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+4/eConfignl,9196/d,26.4/Cp,0/kT,sc/ls,335.9/lsa,/lsb,/lsc,/lsca,1898/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxxv{At/CS,[210]/Ar,/Arstar,1/radio,127/R,147/Rcov,62\noexpand\pgfPT@espaco(7+)/Rion,899.003/Ei,2.2/eneg,233.09/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+7/O,575/Tmelt,302/TmeltC,503/Tboil,230/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+5/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+5/eConfignl,---/d,---/Cp,1.7/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1940/DiscY,22/DiscC,0/spectra,solido/cor}%
-\def\pgfPT@data@lxxxvi{Rn/CS,[222]/Ar,/Arstar,1/radio,120/R,142/Rcov,---/Rion,1037/Ei,2.2/eneg,0/eaff,+2\noexpand\pgfPT@virgula+6/O,202/Tmelt,-71/TmeltC,211.5/Tboil,-61.7/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+6/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+6/eConfignl,9.73/d,20.786/Cp,0.00361/kT,fcc/ls,---/lsa,/lsb,/lsc,/lsca,1899/DiscY,8/DiscC,1/spectra,gasoso/cor}%
-\def\pgfPT@data@lxxxvii{Fr/CS,[223]/Ar,/Arstar,1/radio,---/R,---/Rcov,180\noexpand\pgfPT@espaco(1+)/Rion,380/Ei,0.7/eneg,46.89/eaff,+1/O,281/Tmelt,8/TmeltC,890/Tboil,620/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Rn]::7s+1/eConfign,[Rn]::7s+1/eConfignl,---/d,31.8/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1939/DiscY,5/DiscC,0/spectra,solido/cor}%
-\def\pgfPT@data@lxxxviii{Ra/CS,[226]/Ar,/Arstar,1/radio,---/R,201/Rcov,148\noexpand\pgfPT@espaco(2+)/Rion,509.3/Ei,0.9/eneg,9.65/eaff,+2/O,973/Tmelt,700/TmeltC,2010/Tboil,1737/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::7s+2/eConfign,[Rn]::7s+2/eConfignl,5500/d,---/Cp,18.6/kT,bcc/ls,514.8/lsa,/lsb,/lsc,/lsca,1898/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@lxxxix{Ac/CS,[227]/Ar,/Arstar,1/radio,---/R,186/Rcov,106.5\noexpand\pgfPT@espaco(3+)/Rion,499/Ei,1.1/eneg,33.77/eaff,+3/O,1323/Tmelt,1050/TmeltC,3471/Tboil,3198/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula6d+1/eConfignl,10000/d,27.2/Cp,12/kT,fcc/ls,587/lsa,/lsb,/lsc,/lsca,1902/DiscY,5/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xc{Th/CS,232.04/Ar,232.04/Arstar,1/radio,---/R,175/Rcov,/Rion,587/Ei,1.3/eneg,58.63/eaff,+4/O,2115/Tmelt,1842/TmeltC,5061/Tboil,4788/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Rn]::6d+2\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula6d+2/eConfignl,11700/d,26.23/Cp,54/kT,fcc/ls,508.42/lsa,/lsb,/lsc,/lsca,1829/DiscY,18/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xci{Pa/CS,231.04/Ar,231.04/Arstar,1/radio,---/R,169/Rcov,90\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula78\noexpand\pgfPT@espaco(5+)/Rion,568/Ei,1.5/eneg,53.03/eaff,+5/O,1841/Tmelt,1568/TmeltC,4273/Tboil,4000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep20\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+2\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+2\noexpand\pgfPT@virgula6d+1/eConfignl,15370/d,---/Cp,47/kT,tetr/ls,392.5/lsa,/lsb,323.8/lsc,0.82/lsca,1913/DiscY,10/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xcii{U/CS,238.03/Ar,238.03/Arstar,1/radio,---/R,170/Rcov,76\noexpand\pgfPT@espaco(5+)/Rion,597.6/Ei,1.38/eneg,30.39/eaff,+4\noexpand\pgfPT@virgula+6/O,1405.3/Tmelt,1132.2/TmeltC,4404/Tboil,4131/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep21\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+3\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+3\noexpand\pgfPT@virgula6d+1/eConfignl,19100/d,27.665/Cp,27.5/kT,bcort/ls,285.37/lsa,586.95/lsb,495.48/lsc,1.74/lsca,1789/DiscY,8/DiscC,1/spectra,solido/cor}%
-\def\pgfPT@data@xciii{Np/CS,[237]/Ar,/Arstar,1/radio,---/R,171/Rcov,110\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula87\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula71\noexpand\pgfPT@espaco(7+)/Rion,604.5/Ei,1.36/eneg,45.85/eaff,+5/O,917/Tmelt,644/TmeltC,4273/Tboil,4000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep22\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+4\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+4\noexpand\pgfPT@virgula6d+1/eConfignl,20200/d,29.46/Cp,6.3/kT,bcort/ls,666.3/lsa,472.3/lsb,488.7/lsc,0.73/lsca,1940/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xciv{Pu/CS,[244]/Ar,/Arstar,1/radio,---/R,172/Rcov,100\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula74\noexpand\pgfPT@espaco(5+)\noexpand\pgfPT@virgula71\noexpand\pgfPT@espaco(6+)/Rion,584.7/Ei,1.28/eneg,0/eaff,+4/O,912.5/Tmelt,639.4/TmeltC,3501/Tboil,3228/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep24\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+6\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+6/eConfignl,19816/d,35.5/Cp,6.74/kT,mono/ls,618.3/lsa,482.2/lsb,1096.3/lsc,1.77/lsca,1940/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xcv{Am/CS,[243]/Ar,/Arstar,1/radio,---/R,166/Rcov,126\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula97.5\noexpand\pgfPT@espaco(3+)/Rion,578/Ei,1.13/eneg,9.93/eaff,+3/O,1449/Tmelt,1176/TmeltC,2880/Tboil,2607/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+7\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+7/eConfignl,12000/d,62.7/Cp,10/kT,hex/ls,346.81/lsa,/lsb,1124.1/lsc,3.24/lsca,1944/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xcvi{Cm/CS,[247]/Ar,/Arstar,1/radio,---/R,166/Rcov,97\noexpand\pgfPT@espaco(3+)/Rion,581/Ei,1.28/eneg,27.17/eaff,+3/O,1613/Tmelt,1340/TmeltC,3383/Tboil,3110/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+7\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+7\noexpand\pgfPT@virgula6d+1/eConfignl,13510/d,---/Cp,---/kT,hex/ls,349.6/lsa,/lsb,1133.1/lsc,3.24/lsca,1944/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xcvii{Bk/CS,[247]/Ar,/Arstar,1/radio,---/R,---/Rcov,96\noexpand\pgfPT@espaco(3+)/Rion,601/Ei,1.3/eneg,0/eaff,+3/O,1323/Tmelt,1050/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep27\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+9\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+9/eConfignl,14780/d,---/Cp,10/kT,hex/ls,341.6/lsa,/lsb,1106.9/lsc,3.24/lsca,1949/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xcviii{Cf/CS,[251]/Ar,/Arstar,1/radio,---/R,---/Rcov,95\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula82.1\noexpand\pgfPT@espaco(4+)/Rion,608/Ei,1.3/eneg,0/eaff,+3/O,1173/Tmelt,900/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep28\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+10\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+10/eConfignl,15100/d,---/Cp,---/kT,hex/ls,338/lsa,/lsb,1102.5/lsc,3.26/lsca,1950/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@xcix{Es/CS,[252]/Ar,/Arstar,1/radio,---/R,---/Rcov,83.5\noexpand\pgfPT@espaco(3+)/Rion,619/Ei,1.3/eneg,0/eaff,+3/O,1133/Tmelt,860/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep29\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+11\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+11/eConfignl,8840/d,---/Cp,---/kT,fcc/ls,575/lsa,/lsb,/lsc,/lsca,1952/DiscY,22/DiscC,1/spectra,sintetico/cor}%
-\def\pgfPT@data@c{Fm/CS,[257]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,627/Ei,1.3/eneg,33.96/eaff,+3/O,1800/Tmelt,1527/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep30\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+12\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+12/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1952/DiscY,22/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@ci{Md/CS,[258]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,635/Ei,1.3/eneg,93.91/eaff,+3/O,1100/Tmelt,827/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep31\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+13\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+13/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1955/DiscY,22/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cii{No/CS,[259]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,642/Ei,1.3/eneg,0/eaff,+2/O,1100/Tmelt,827/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1966/DiscY,24/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@ciii{Lr/CS,[266]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,470/Ei,1.3/eneg,0/eaff,+3/O,1900/Tmelt,1627/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep3/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+1/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula7p+1/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1961/DiscY,22/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@civ{Rf/CS,[267]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-580/Ei,---/eneg,---/eaff,+4/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+2\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+2/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1969/DiscY,16/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cv{Db/CS,[268]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-665/Ei,---/eneg,---/eaff,+5/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep11\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+3\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+3/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1970/DiscY,16/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cvi{Sg/CS,[269]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-757/Ei,---/eneg,---/eaff,+6/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep12\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+4\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+4/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1974/DiscY,22/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cvii{Bh/CS,[270]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-740/Ei,---/eneg,---/eaff,+7/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+5\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+5/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1981/DiscY,8/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cviii{Hs/CS,[270]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-730/Ei,---/eneg,---/eaff,+8/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep14\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+6\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+6/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1984/DiscY,8/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cix{Mt/CS,[278]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-800/Ei,---/eneg,---/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+7\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+7/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1982/DiscY,8/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cx{Ds/CS,[281]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-960/Ei,---/eneg,---/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep16\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+8\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+8/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1994/DiscY,8/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxi{Rg/CS,[282]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-1020/Ei,---/eneg,151/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep17\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+9\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+9/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1994/DiscY,8/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxii{Cn/CS,[285]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-1155/Ei,---/eneg,---/eaff,+2/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1996/DiscY,8/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxiii{Nh/CS,[286]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-707.2/Ei,---/eneg,66.6/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+1/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+1/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2004/DiscY,16/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxiv{Fl/CS,[289]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-832.2/Ei,---/eneg,---/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+2/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1998/DiscY,15/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxv{Mc/CS,[290]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-538.3/Ei,---/eneg,35.3/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+3/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+3/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2003/DiscY,16/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxvi{Lv/CS,[293]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-663.9/Ei,---/eneg,74.9/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+4/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+4/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2000/DiscY,15/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxvii{Ts/CS,[294]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-736.9/Ei,---/eneg,165.9/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+5/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+5/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2009/DiscY,100/DiscC,0/spectra,sintetico/cor}%
-\def\pgfPT@data@cxviii{Og/CS,[294]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-860.1/Ei,---/eneg,5.4/eaff,---/O,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+6/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+6/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2002/DiscY,16/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@i{H/CS,1.008/Ar,[1.0078\noexpand\pgfPT@virgula1.0082]/Arstar,0/radio,53/R,32/Rcov,139.9\noexpand\pgfPT@espaco(1-)/Rion,1312/Ei,2.2/eneg,72.77/eaff,\noexpand\pgfPT@pm1/O,\noexpand\pgfPT@pm I/ORoman,13.99/Tmelt,-259.16/TmeltC,20.271/Tboil,-252.879/TboilC,1/eDist,::1s+1/eConfign,::1s+1/eConfignl,0.08988/d,28.836/Cp,0.1805/kT,hex/ls,470/lsa,470/lsb,340/lsc,0.72/lsca,1766/DiscY,21/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@ii{He/CS,4.0026/Ar,4.0026/Arstar,0/radio,31/R,46/Rcov,---/Rion,2372.3/Ei,---/eneg,0/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,4.222/Tboil,-268.928/TboilC,2/eDist,::1s+2/eConfign,::1s+2/eConfignl,0.1786/d,20.786/Cp,0.1513/kT,fcc/ls,424.4/lsa,/lsb,/lsc,/lsca,1895/DiscY,19/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@iii{Li/CS,6.94/Ar,[6.938\noexpand\pgfPT@virgula6.997] /Arstar,0/radio,167/R,133/Rcov,76\noexpand\pgfPT@espaco(1+)/Rion,520.2/Ei,0.98/eneg,59.63/eaff,+1/O,+I/ORoman,453.65/Tmelt,180.5/TmeltC,1603/Tboil,1330/TboilC,2\noexpand\pgfPTeDistsep1/eDist,[He]::2s+1/eConfign,[He]::2s+1/eConfignl,534/d,24.86/Cp,84.8/kT,bcc/ls,350.93/lsa,/lsb,/lsc,/lsca,1817/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@iv{Be/CS,9.0122/Ar,9.0122/Arstar,0/radio,112/R,10/Rcov,45\noexpand\pgfPT@espaco(2+)/Rion,899.5/Ei,1.57/eneg,0/eaff,+2/O,+II/ORoman,1560/Tmelt,1287/TmeltC,2742/Tboil,2469/TboilC,2\noexpand\pgfPTeDistsep2/eDist,[He]::2s+2/eConfign,[He]::2s+2/eConfignl,1850/d,16.443/Cp,200/kT,hcp/ls,228.56/lsa,/lsb,358.32/lsc,1.57/lsca,1798/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@v{B/CS,10.81/Ar,[10.806\noexpand\pgfPT@virgula10.821] /Arstar,0/radio,87/R,85/Rcov,27\noexpand\pgfPT@espaco(3+)/Rion,800.6/Ei,2.04/eneg,26.99/eaff,+3/O,+III/ORoman,2349/Tmelt,2076/TmeltC,4200/Tboil,3927/TboilC,2\noexpand\pgfPTeDistsep3/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+1/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+1/eConfignl,2340/d,11.087/Cp,27.4/kT,rho/ls,505.66/lsa,/lsb,/lsc,/lsca,1808/DiscY,7/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@vi{C/CS,12.011/Ar,[12.009\noexpand\pgfPT@virgula12.012]/Arstar,0/radio,67/R,75/Rcov,16\noexpand\pgfPT@espaco(4+)/Rion,1086.5/Ei,2.55/eneg,121.78/eaff,0\noexpand\pgfPT@virgula\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula\noexpand\pgfPT@pm4/O,0\noexpand\pgfPT@virgula\noexpand\pgfPT@pm I\noexpand\pgfPT@virgula\noexpand\pgfPT@pm II\noexpand\pgfPT@virgula\noexpand\pgfPT@pm III\noexpand\pgfPT@virgula\noexpand\pgfPT@pm IV/ORoman,3823/Tmelt,3550/TmeltC,4300/Tboil,4027/TboilC,2\noexpand\pgfPTeDistsep4/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+2/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+2/eConfignl,2267/d,8.517/Cp,140/kT,hex/ls,246.12/lsa,/lsb,670.79/lsc,2.73/lsca,3750\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,12/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@vii{N/CS,14.007/Ar,[14.006\noexpand\pgfPT@virgula14.008]/Arstar,0/radio,56/R,71/Rcov,146\noexpand\pgfPT@espaco(3-)\noexpand\pgfPT@virgula16\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula13\noexpand\pgfPT@espaco(5+)/Rion,1402.3/Ei,3.04/eneg,0/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+5/O,\noexpand\pgfPT@pm III\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+V/ORoman,63.15/Tmelt,-210/TmeltC,77.355/Tboil,-195.795/TboilC,2\noexpand\pgfPTeDistsep5/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+3/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+3/eConfignl,1.251/d,29.124/Cp,0.02583/kT,hex/ls,386.1/lsa,386.1/lsb,626.5/lsc,1.62/lsca,1772/DiscY,21/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@viii{O/CS,15.999/Ar,[15.999\noexpand\pgfPT@virgula16.000]/Arstar,0/radio,48/R,63/Rcov,140\noexpand\pgfPT@espaco(2-)/Rion,1313.9/Ei,3.44/eneg,140.98/eaff,--2/O,--II/ORoman,54.36/Tmelt,-218.79/TmeltC,90.188/Tboil,-182.962/TboilC,2\noexpand\pgfPTeDistsep6/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+4/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+4/eConfignl,1.429/d,29.378/Cp,0.02658/kT,mono/ls,540.3/lsa,342.9/lsb,508.6/lsc,0.94/lsca,1771/DiscY,19/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@ix{F/CS,18.998/Ar,18.998/Arstar,0/radio,42/R,64/Rcov,133\noexpand\pgfPT@espaco(1-)/Rion,1681/Ei,3.98/eneg,328.16/eaff,--1/O,--I/ORoman,53.48/Tmelt,-219.67/TmeltC,85.04/Tboil,-188.11/TboilC,2\noexpand\pgfPTeDistsep7/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+5/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+5/eConfignl,1.7/d,31.304/Cp,0.0277/kT,mono/ls,550/lsa,328/lsb,728/lsc,1.32/lsca,1886/DiscY,5/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@x{Ne/CS,20.18/Ar,20.18/Arstar,0/radio,38/R,67/Rcov,---/Rion,2080.7/Ei,---/eneg,0/eaff,---/O,---/ORoman,24.56/Tmelt,-248.59/TmeltC,27.104/Tboil,-246.046/TboilC,2\noexpand\pgfPTeDistsep8/eDist,[He]::2s+2\noexpand\pgfPT@virgula2p+6/eConfign,[He]::2s+2\noexpand\pgfPT@virgula2p+6/eConfignl,0.9002/d,20.786/Cp,0.0491/kT,fcc/ls,442.9/lsa,/lsb,/lsc,/lsca,1898/DiscY,21/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@xi{Na/CS,22.99/Ar,22.99/Arstar,0/radio,190/R,155/Rcov,102\noexpand\pgfPT@espaco(1+)/Rion,495.8/Ei,0.93/eneg,52.87/eaff,+1/O,+I/ORoman,370.944/Tmelt,97.794/TmeltC,1156.09/Tboil,882.94/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Ne]::3s+1/eConfign,[Ne]::3s+1/eConfignl,968/d,28.23/Cp,142/kT,bcc/ls,429.06/lsa,/lsb,/lsc,/lsca,1807/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xii{Mg/CS,24.305/Ar,[24.304\noexpand\pgfPT@virgula24.307] /Arstar,0/radio,145/R,139/Rcov,72\noexpand\pgfPT@espaco(2+)/Rion,737.7/Ei,1.31/eneg,0/eaff,+2/O,+II/ORoman,923/Tmelt,650/TmeltC,1363/Tboil,1090/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Ne]::3s+2/eConfign,[Ne]::3s+2/eConfignl,1738/d,24.869/Cp,156/kT,hcp/ls,320.94/lsa,/lsb,521.05/lsc,1.62/lsca,1755/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xiii{Al/CS,26.982/Ar,26.982/Arstar,0/radio,118/R,126/Rcov,53.5\noexpand\pgfPT@espaco(3+)/Rion,577.5/Ei,1.61/eneg,41.76/eaff,+3/O,+III/ORoman,933.47/Tmelt,660.32/TmeltC,2743/Tboil,2470/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep3/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+1/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+1/eConfignl,2700/d,24.2/Cp,237/kT,fcc/ls,404.95/lsa,/lsb,/lsc,/lsca,1824/DiscY,2/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xiv{Si/CS,28.085/Ar,[28.084\noexpand\pgfPT@virgula28.086]/Arstar,0/radio,111/R,116/Rcov,40\noexpand\pgfPT@espaco(4+)/Rion,786.5/Ei,1.9/eneg,134.07/eaff,\noexpand\pgfPT@pm4/O,\noexpand\pgfPT@pm IV/ORoman,1687/Tmelt,1414/TmeltC,3538/Tboil,3265/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep4/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+2/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+2/eConfignl,2330/d,19.789/Cp,149/kT,dia/ls,543.095/lsa,/lsb,/lsc,/lsca,1823/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xv{P/CS,30.974/Ar,30.974/Arstar,0/radio,98/R,111/Rcov,212\noexpand\pgfPT@espaco(3-)\noexpand\pgfPT@virgula44\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula38\noexpand\pgfPT@espaco(5+)/Rion,1011.8/Ei,2.19/eneg,72.04/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+5/O,\noexpand\pgfPT@pm III\noexpand\pgfPT@virgula+V/ORoman,317.3/Tmelt,44.15/TmeltC,550/Tboil,277/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep5/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+3/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+3/eConfignl,1823/d,23.824/Cp,0.236/kT,tric/ls,1145/lsa,550.3/lsb,1126.1/lsc,0.98/lsca,1669/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xvi{S/CS,32.06/Ar,[32.059\noexpand\pgfPT@virgula32.076]/Arstar,0/radio,88/R,103/Rcov,184\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula37\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula29\noexpand\pgfPT@espaco(6+)/Rion,999.6/Ei,2.58/eneg,200.41/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6/O,\noexpand\pgfPT@pm II\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+VI/ORoman,388.36/Tmelt,115.21/TmeltC,717.8/Tboil,444.6/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep6/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+4/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+4/eConfignl,1960/d,22.75/Cp,0.205/kT,fcort/ls,1046.5/lsa,1286.6/lsb,2448.6/lsc,2.34/lsca,500\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,12/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xvii{Cl/CS,35.45/Ar,[35.446\noexpand\pgfPT@virgula35.457]/Arstar,0/radio,79/R,99/Rcov,181\noexpand\pgfPT@espaco(1-)\noexpand\pgfPT@virgula12\noexpand\pgfPT@espaco(5+)\noexpand\pgfPT@virgula27\noexpand\pgfPT@espaco(7+)/Rion,1251.2/Ei,3.16/eneg,348.58/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+7/O,\noexpand\pgfPT@pm I\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+V\noexpand\pgfPT@virgula+VII/ORoman,171.6/Tmelt,-101.5/TmeltC,239.11/Tboil,-34.04/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep7/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+5/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+5/eConfignl,3.2/d,33.949/Cp,0.0089/kT,bcort/ls,622.35/lsa,445.61/lsb,817.85/lsc,1.31/lsca,1774/DiscY,18/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@xviii{Ar/CS,39.95/Ar,[39.792\noexpand\pgfPT@virgula39.963]/Arstar,0/radio,71/R,96/Rcov,---/Rion,1520.6/Ei,---/eneg,0/eaff,0/O,0/ORoman,83.81/Tmelt,-189.34/TmeltC,87.302/Tboil,-185.848/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep8/eDist,[Ne]::3s+2\noexpand\pgfPT@virgula3p+6/eConfign,[Ne]::3s+2\noexpand\pgfPT@virgula3p+6/eConfignl,1.784/d,20.786/Cp,0.01772/kT,fcc/ls,525.6/lsa,/lsb,/lsc,/lsca,1894/DiscY,21/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@xix{K/CS,39.098/Ar,39.098/Arstar,0/radio,243/R,196/Rcov,138\noexpand\pgfPT@espaco(1+)/Rion,418.8/Ei,0.82/eneg,48.38/eaff,+1/O,+I/ORoman,336.7/Tmelt,63.5/TmeltC,1032/Tboil,759/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Ar]::4s+1/eConfign,[Ar]::4s+1/eConfignl,890/d,29.6/Cp,102.5/kT,bcc/ls,532.8/lsa,/lsb,/lsc,/lsca,1807/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xx{Ca/CS,40.078/Ar,40.078(4) /Arstar,0/radio,194/R,171/Rcov,100\noexpand\pgfPT@espaco(2+)/Rion,589.8/Ei,1/eneg,2.37/eaff,+2/O,+II/ORoman,1115/Tmelt,842/TmeltC,1757/Tboil,1484/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Ar]::4s+2/eConfign,[Ar]::4s+2/eConfignl,1550/d,25.929/Cp,201/kT,fcc/ls,558.84/lsa,/lsb,/lsc,/lsca,1808/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxi{Sc/CS,44.956/Ar,44.956/Arstar,0/radio,184/R,148/Rcov,74.5\noexpand\pgfPT@espaco(3+)/Rion,633.1/Ei,1.36/eneg,18/eaff,+3/O,+III/ORoman,1814/Tmelt,1541/TmeltC,3109/Tboil,2836/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+1\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+1/eConfignl,2985/d,25.52/Cp,15.8/kT,hcp/ls,330.9/lsa,/lsb,527.33/lsc,1.59/lsca,1879/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxii{Ti/CS,47.867/Ar,47.867/Arstar,0/radio,176/R,136/Rcov,86\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula67\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula60.5\noexpand\pgfPT@espaco(4+)/Rion,658.8/Ei,1.54/eneg,7.29/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+4/O,+II\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+IV/ORoman,1941/Tmelt,1668/TmeltC,3560/Tboil,3287/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+2\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+2/eConfignl,4506/d,25.06/Cp,21.9/kT,hcp/ls,295.03/lsa,/lsb,468.31/lsc,1.59/lsca,1791/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxiii{V/CS,50.942/Ar,50.942/Arstar,0/radio,171/R,134/Rcov,79\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula64\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula58\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula54\noexpand\pgfPT@espaco(5+)/Rion,650.9/Ei,1.63/eneg,50.91/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+5/O,+II\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+V/ORoman,2183/Tmelt,1910/TmeltC,3680/Tboil,3407/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep11\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+3\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+3/eConfignl,6110/d,24.89/Cp,30.7/kT,bcc/ls,302.31/lsa,/lsb,/lsc,/lsca,1830/DiscY,23/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxiv{Cr/CS,51.996/Ar,51.996/Arstar,0/radio,166/R,122/Rcov,73\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula61.5\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula44\noexpand\pgfPT@espaco(6+)/Rion,652.9/Ei,1.66/eneg,65.21/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+6/O,+II\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+VI/ORoman,2180/Tmelt,1907/TmeltC,2755/Tboil,2482/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep1/eDist,[Ar]::3d+5\noexpand\pgfPT@virgula4s+1/eConfign,[Ar]::4s+1\noexpand\pgfPT@virgula3d+5/eConfignl,7150/d,23.35/Cp,93.9/kT,bcc/ls,288.46/lsa,/lsb,/lsc,/lsca,1797/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxv{Mn/CS,54.938/Ar,54.938/Arstar,0/radio,161/R,119/Rcov,67\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula58\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula53\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula25.5\noexpand\pgfPT@espaco(6+)\noexpand\pgfPT@virgula46\noexpand\pgfPT@espaco(7+)/Rion,717.3/Ei,1.55/eneg,0/eaff,+2\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6\noexpand\pgfPT@virgula+7/O,+II\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+VI\noexpand\pgfPT@virgula+VII/ORoman,1519/Tmelt,1246/TmeltC,2334/Tboil,2061/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+5\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+5/eConfignl,7210/d,26.32/Cp,7.81/kT,bcc/ls,891.39/lsa,/lsb,/lsc,/lsca,1774/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxvi{Fe/CS,55.845/Ar,55.845(2)/Arstar,0/radio,156/R,116/Rcov,61\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula55\noexpand\pgfPT@espaco(3+)/Rion,762.5/Ei,1.83/eneg,14.79/eaff,+2\noexpand\pgfPT@virgula+3/O,+II\noexpand\pgfPT@virgula+III/ORoman,1811/Tmelt,1538/TmeltC,3134/Tboil,2861/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep14\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+6\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+6/eConfignl,7860/d,25.1/Cp,80.4/kT,bcc/ls,286.64/lsa,/lsb,/lsc,/lsca,2000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,3/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxvii{Co/CS,58.933/Ar,58.933/Arstar,0/radio,152/R,111/Rcov,65\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula54.5\noexpand\pgfPT@espaco(3+)/Rion,760.4/Ei,1.88/eneg,63.9/eaff,+2\noexpand\pgfPT@virgula+3/O,+II\noexpand\pgfPT@virgula+III/ORoman,1768/Tmelt,1495/TmeltC,3200/Tboil,2927/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+7\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+7/eConfignl,8900/d,24.81/Cp,100/kT,hcp/ls,250.71/lsa,/lsb,406.95/lsc,1.62/lsca,1735/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxviii{Ni/CS,58.693/Ar,58.693/Arstar,0/radio,149/R,110/Rcov,69\noexpand\pgfPT@espaco(2+)/Rion,737.1/Ei,1.91/eneg,111.65/eaff,+2/O,+II/ORoman,1728/Tmelt,1455/TmeltC,3003/Tboil,2730/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep16\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+8\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+8/eConfignl,8908/d,26.07/Cp,90.9/kT,fcc/ls,352.4/lsa,/lsb,/lsc,/lsca,1751/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxix{Cu/CS,63.546/Ar,63.546(3)/Arstar,0/radio,145/R,112/Rcov,77\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula73\noexpand\pgfPT@espaco(2+)/Rion,745.5/Ei,1.9/eneg,119.24/eaff,+1\noexpand\pgfPT@virgula+2/O,+I\noexpand\pgfPT@virgula+II/ORoman,1357.77/Tmelt,1084.62/TmeltC,2835/Tboil,2562/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep1/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+1/eConfign,[Ar]::4s+1\noexpand\pgfPT@virgula3d+10/eConfignl,8960/d,24.44/Cp,401/kT,fcc/ls,361.47/lsa,/lsb,/lsc,/lsca,8000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,12/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxx{Zn/CS,65.38/Ar,65.38(2)/Arstar,0/radio,142/R,118/Rcov,74\noexpand\pgfPT@espaco(2+)/Rion,906.4/Ei,1.65/eneg,0/eaff,+2/O,+II/ORoman,692.68/Tmelt,419.53/TmeltC,1180/Tboil,907/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10/eConfignl,7140/d,25.39/Cp,116/kT,hcp/ls,266.49/lsa,/lsb,494.68/lsc,1.86/lsca,1746/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxi{Ga/CS,69.723/Ar,69.723/Arstar,0/radio,136/R,124/Rcov,62\noexpand\pgfPT@espaco(3+)/Rion,578.8/Ei,1.81/eneg,29.06/eaff,+3/O,+III/ORoman,302.9146/Tmelt,29.7646/TmeltC,2673/Tboil,2400/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+1/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+1/eConfignl,5910/d,25.86/Cp,40.6/kT,bcort/ls,452.58/lsa,451.86/lsb,765.7/lsc,1.69/lsca,1875/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxii{Ge/CS,72.63/Ar,72.630(8)/Arstar,0/radio,125/R,121/Rcov,73\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula53\noexpand\pgfPT@espaco(4+)/Rion,762/Ei,2.01/eneg,118.94/eaff,+2\noexpand\pgfPT@virgula\noexpand\pgfPT@pm4/O,+II\noexpand\pgfPT@virgula\noexpand\pgfPT@pm IV/ORoman,1211.4/Tmelt,938.25/TmeltC,3106/Tboil,2833/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+2/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+2/eConfignl,5323/d,23.222/Cp,60.2/kT,dia/ls,565.791/lsa,/lsb,/lsc,/lsca,1886/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxiii{As/CS,74.922/Ar,74.922/Arstar,0/radio,114/R,121/Rcov,58\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula46\noexpand\pgfPT@espaco(5+)/Rion,947/Ei,2.18/eneg,77.65/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+5/O,\noexpand\pgfPT@pm III\noexpand\pgfPT@virgula+V/ORoman,1090/Tmelt,817/TmeltC,887/Tboil,614/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+3/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+3/eConfignl,5727/d,24.64/Cp,50.2/kT,rho/ls,375.98/lsa,375.98/lsb,1054.75/lsc,2.81/lsca,1250/DiscY,12/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxiv{Se/CS,78.971/Ar,78.971(8)/Arstar,0/radio,103/R,116/Rcov,198\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula50\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula42\noexpand\pgfPT@espaco(6+)/Rion,941/Ei,2.55/eneg,194.96/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6/O,\noexpand\pgfPT@pm II\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+VI/ORoman,494/Tmelt,221/TmeltC,958/Tboil,685/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+4/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+4/eConfignl,4810/d,25.363/Cp,0.519/kT,mono/ls,905.4/lsa,908.3/lsb,1160.1/lsc,1.28/lsca,1817/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxv{Br/CS,79.904/Ar,[79.901\noexpand\pgfPT@virgula79.907]/Arstar,0/radio,94/R,114/Rcov,196\noexpand\pgfPT@espaco(1-)\noexpand\pgfPT@virgula59\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula31\noexpand\pgfPT@espaco(5+)/Rion,1139.9/Ei,2.96/eneg,324.54/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5/O,\noexpand\pgfPT@pm I\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+V/ORoman,265.8/Tmelt,-7.3/TmeltC,332/Tboil,58.8/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+5/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+5/eConfignl,3102.8/d,75.69/Cp,0.122/kT,bcort/ls,672.65/lsa,464.51/lsb,870.23/lsc,1.29/lsca,1825/DiscY,5/DiscC,1/spectra,liquido/cor}%
+\def\pgfPT@data@xxxvi{Kr/CS,83.798/Ar,83.798(2)/Arstar,0/radio,88/R,117/Rcov,---/Rion,1350.8/Ei,3/eneg,0/eaff,0/O,0/ORoman,115.78/Tmelt,-157.37/TmeltC,119.735/Tboil,-153.415/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Ar]::3d+10\noexpand\pgfPT@virgula4s+2\noexpand\pgfPT@virgula4p+6/eConfign,[Ar]::4s+2\noexpand\pgfPT@virgula3d+10\noexpand\pgfPT@virgula4p+6/eConfignl,3.749/d,20.786/Cp,0.00943/kT,fcc/ls,570.6/lsa,/lsb,/lsc,/lsca,1898/DiscY,21/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@xxxvii{Rb/CS,85.468/Ar,85.468/Arstar,0/radio,265/R,210/Rcov,152\noexpand\pgfPT@espaco(1+)/Rion,403/Ei,0.82/eneg,46.88/eaff,+1/O,+I/ORoman,312.45/Tmelt,39.3/TmeltC,961/Tboil,688/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Kr]::5s+1/eConfign,[Kr]::5s+1/eConfignl,1532/d,31.06/Cp,58.2/kT,bcc/ls,558.5/lsa,/lsb,/lsc,/lsca,1861/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxviii{Sr/CS,87.62/Ar,87.62/Arstar,0/radio,219/R,185/Rcov,118\noexpand\pgfPT@espaco(2+)/Rion,549.5/Ei,0.95/eneg,5.02/eaff,+2/O,+II/ORoman,1050/Tmelt,777/TmeltC,1650/Tboil,1382/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Kr]::5s+2/eConfign,[Kr]::5s+2/eConfignl,2640/d,26.4/Cp,35.4/kT,fcc/ls,608.49/lsa,/lsb,/lsc,/lsca,1787/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xxxix{Y/CS,88.906/Ar,88.906/Arstar,0/radio,212/R,163/Rcov,90\noexpand\pgfPT@espaco(3+)/Rion,600/Ei,1.22/eneg,29.6/eaff,+3/O,+III/ORoman,1799/Tmelt,1526/TmeltC,3203/Tboil,2930/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+1\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+1/eConfignl,4472/d,26.53/Cp,17.2/kT,hcp/ls,364.74/lsa,/lsb,573.06/lsc,1.57/lsca,1794/DiscY,4/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xl{Zr/CS,91.224/Ar,91.224(2)/Arstar,0/radio,206/R,154/Rcov,72\noexpand\pgfPT@espaco(4+)/Rion,640.1/Ei,1.33/eneg,41.81/eaff,+4/O,+IV/ORoman,2128/Tmelt,1855/TmeltC,4650/Tboil,4377/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+2\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+2/eConfignl,6520/d,25.36/Cp,22.6/kT,hcp/ls,323.2/lsa,/lsb,514.7/lsc,1.59/lsca,1789/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xli{Nb/CS,92.906/Ar,92.906/Arstar,0/radio,198/R,147/Rcov,64\noexpand\pgfPT@espaco(5+)/Rion,652.1/Ei,1.6/eneg,88.52/eaff,+5/O,+V/ORoman,2750/Tmelt,2477/TmeltC,5017/Tboil,4744/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep12\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+4\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+4/eConfignl,8570/d,24.6/Cp,53.7/kT,bcc/ls,330.04/lsa,/lsb,/lsc,/lsca,1801/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xlii{Mo/CS,95.95/Ar,95.95/Arstar,0/radio,190/R,138/Rcov,65\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula59\noexpand\pgfPT@espaco(6+)/Rion,684.3/Ei,2.16/eneg,72.1/eaff,+4\noexpand\pgfPT@virgula+6/O,+IV\noexpand\pgfPT@virgula+VI/ORoman,2896/Tmelt,2623/TmeltC,4912/Tboil,4639/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+5\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+5/eConfignl,10280/d,24.06/Cp,138/kT,bcc/ls,314.69/lsa,/lsb,/lsc,/lsca,1781/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xliii{Tc/CS,[98]/Ar,/Arstar,1/radio,183/R,128/Rcov,64.5\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula56\noexpand\pgfPT@espaco(7+)/Rion,702/Ei,1.9/eneg,53/eaff,+4\noexpand\pgfPT@virgula+7/O,+IV\noexpand\pgfPT@virgula+VII/ORoman,2430/Tmelt,2157/TmeltC,4538/Tboil,4265/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+5\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+5/eConfignl,11000/d,24.27/Cp,50.6/kT,hcp/ls,273.5/lsa,/lsb,438.8/lsc,1.6/lsca,1937/DiscY,11/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xliv{Ru/CS,101.07/Ar,101.07/Arstar,0/radio,178/R,125/Rcov,68\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula62\noexpand\pgfPT@espaco(4+)/Rion,710.2/Ei,2.2/eneg,100.96/eaff,+3\noexpand\pgfPT@virgula+4/O,+III\noexpand\pgfPT@virgula+IV/ORoman,2607/Tmelt,2334/TmeltC,4423/Tboil,4150/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+7\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+7/eConfignl,12450/d,24.06/Cp,117/kT,hcp/ls,270.55/lsa,/lsb,428.16/lsc,1.58/lsca,1844/DiscY,15/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xlv{Rh/CS,102.91/Ar,102.91/Arstar,0/radio,173/R,125/Rcov,66.5\noexpand\pgfPT@espaco(3+)/Rion,719.7/Ei,2.28/eneg,110.27/eaff,+3/O,+III/ORoman,2237/Tmelt,1964/TmeltC,3968/Tboil,3695/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep16\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+8\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+8/eConfignl,12410/d,24.98/Cp,150/kT,fcc/ls,380.34/lsa,/lsb,/lsc,/lsca,1804/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xlvi{Pd/CS,106.42/Ar,106.42/Arstar,0/radio,169/R,120/Rcov,86\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula61.5\noexpand\pgfPT@espaco(4+)/Rion,804.4/Ei,2.2/eneg,54.24/eaff,0\noexpand\pgfPT@virgula+2\noexpand\pgfPT@virgula+4/O,0\noexpand\pgfPT@virgula+II\noexpand\pgfPT@virgula+IV/ORoman,1828.05/Tmelt,1554.9/TmeltC,3236/Tboil,2963/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18/eDist,[Kr]::4d+10/eConfign,[Kr]::4d+10/eConfignl,12023/d,25.98/Cp,71.8/kT,fcc/ls,389.02/lsa,/lsb,/lsc,/lsca,1802/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xlvii{Ag/CS,107.87/Ar,107.87/Arstar,0/radio,165/R,128/Rcov,115\noexpand\pgfPT@espaco(1+)/Rion,731/Ei,1.93/eneg,125.86/eaff,+1/O,+I/ORoman,1234.93/Tmelt,961.78/TmeltC,2483/Tboil,2210/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep1/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+1/eConfign,[Kr]::5s+1\noexpand\pgfPT@virgula4d+10/eConfignl,10490/d,25.35/Cp,429/kT,fcc/ls,408.57/lsa,/lsb,/lsc,/lsca,3000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,0/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xlviii{Cd/CS,112.41/Ar,112.41/Arstar,0/radio,161/R,136/Rcov,95\noexpand\pgfPT@espaco(2+)/Rion,867.8/Ei,1.69/eneg,0/eaff,+2/O,+II/ORoman,594.22/Tmelt,321.07/TmeltC,1040/Tboil,767/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10/eConfignl,8650/d,26.02/Cp,96.6/kT,hcp/ls,297.88/lsa,/lsb,561.67/lsc,1.89/lsca,1817/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xlix{In/CS,114.82/Ar,114.82/Arstar,0/radio,156/R,142/Rcov,80\noexpand\pgfPT@espaco(3+)/Rion,558.3/Ei,1.78/eneg,37.04/eaff,+3/O,+III/ORoman,429.75/Tmelt,156.6/TmeltC,2345/Tboil,2072/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+1/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+1/eConfignl,7310/d,26.74/Cp,81.8/kT,tetr/ls,325.17/lsa,/lsb,494.59/lsc,1.52/lsca,1863/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@l{Sn/CS,118.71/Ar,118.71/Arstar,0/radio,145/R,140/Rcov,118\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula69\noexpand\pgfPT@espaco(4+)/Rion,708.6/Ei,1.96/eneg,107.3/eaff,+2\noexpand\pgfPT@virgula\noexpand\pgfPT@pm4/O,+II\noexpand\pgfPT@virgula\noexpand\pgfPT@pm IV/ORoman,505.08/Tmelt,231.93/TmeltC,2875/Tboil,2602/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+2/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+2/eConfignl,7265/d,25.77/Cp,66.8/kT,ctetr/ls,583.1/lsa,/lsb,318.1/lsc,0.55/lsca,3000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,0/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@li{Sb/CS,121.76/Ar,121.76/Arstar,0/radio,133/R,140/Rcov,76\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula60\noexpand\pgfPT@espaco(5+)/Rion,834/Ei,2.05/eneg,101.06/eaff,\noexpand\pgfPT@pm3\noexpand\pgfPT@virgula+5/O,\noexpand\pgfPT@pm III\noexpand\pgfPT@virgula+V/ORoman,903.78/Tmelt,630.63/TmeltC,1908/Tboil,1635/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+3/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+3/eConfignl,6697/d,25.23/Cp,24.4/kT,rho/ls,430.7/lsa,/lsb,1127.3/lsc,2.62/lsca,815/DiscY,12/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lii{Te/CS,127.6/Ar,127.60(3)/Arstar,0/radio,123/R,136/Rcov,221\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula97\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula56\noexpand\pgfPT@espaco(6+)/Rion,869.3/Ei,2.1/eneg,190.16/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+6/O,\noexpand\pgfPT@pm II\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+VI/ORoman,722.66/Tmelt,449.51/TmeltC,1261/Tboil,988/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+4/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+4/eConfignl,6240/d,25.73/Cp,3/kT,rho/ls,445.72/lsa,/lsb,592.9/lsc,1.33/lsca,1782/DiscY,14/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@liii{I/CS,126.9/Ar,126.9/Arstar,0/radio,115/R,133/Rcov,220\noexpand\pgfPT@espaco(1-)\noexpand\pgfPT@virgula95\noexpand\pgfPT@espaco(5+)\noexpand\pgfPT@virgula53\noexpand\pgfPT@espaco(7+)/Rion,1008.4/Ei,2.66/eneg,295.15/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+7/O,\noexpand\pgfPT@pm I\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+V\noexpand\pgfPT@virgula+VII/ORoman,386.85/Tmelt,113.7/TmeltC,457.4/Tboil,184.3/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+5/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+5/eConfignl,4933/d,54.44/Cp,0.449/kT,bcort/ls,726.97/lsa,479.03/lsb,979.42/lsc,1.35/lsca,1811/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@liv{Xe/CS,131.29/Ar,131.29/Arstar,0/radio,108/R,131/Rcov,---/Rion,1170.4/Ei,2.6/eneg,0/eaff,0/O,0/ORoman,161.4/Tmelt,-111.75/TmeltC,165.051/Tboil,-108.099/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Kr]::4d+10\noexpand\pgfPT@virgula5s+2\noexpand\pgfPT@virgula5p+6/eConfign,[Kr]::5s+2\noexpand\pgfPT@virgula4d+10\noexpand\pgfPT@virgula5p+6/eConfignl,5.894/d,20.786/Cp,0.00565/kT,fcc/ls,620.23/lsa,/lsb,/lsc,/lsca,1898/DiscY,21/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@lv{Cs/CS,132.91/Ar,132.91/Arstar,0/radio,298/R,232/Rcov,167\noexpand\pgfPT@espaco(1+)/Rion,375.7/Ei,0.79/eneg,45.51/eaff,+1/O,+I/ORoman,301.7/Tmelt,28.5/TmeltC,944/Tboil,671/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Xe]::6s+1/eConfign,[Xe]::6s+1/eConfignl,1930/d,32.21/Cp,35.9/kT,bcc/ls,614.1/lsa,/lsb,/lsc,/lsca,1860/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lvi{Ba/CS,137.33/Ar,137.33/Arstar,0/radio,253/R,196/Rcov,135\noexpand\pgfPT@espaco(2+)/Rion,502.9/Ei,0.89/eneg,13.95/eaff,+2/O,+II/ORoman,1000/Tmelt,727/TmeltC,1910/Tboil,1637/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::6s+2/eConfign,[Xe]::6s+2/eConfignl,3510/d,28.07/Cp,18.4/kT,bcc/ls,501.9/lsa,/lsb,/lsc,/lsca,1808/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lvii{La/CS,138.91/Ar,138.91/Arstar,0/radio,226/R,180/Rcov,103.2\noexpand\pgfPT@espaco(3+)/Rion,538.1/Ei,1.1/eneg,53.8/eaff,+3/O,+III/ORoman,1193/Tmelt,920/TmeltC,3737/Tboil,3464/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula5d+1/eConfignl,6162/d,27.11/Cp,13.4/kT,hex/ls,377.2/lsa,/lsb,1214.4/lsc,3.22/lsca,1838/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lviii{Ce/CS,140.12/Ar,140.12/Arstar,0/radio,210/R,163/Rcov,101\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula87\noexpand\pgfPT@espaco(4+)/Rion,534.4/Ei,1.12/eneg,55/eaff,+3\noexpand\pgfPT@virgula+4/O,+III\noexpand\pgfPT@virgula+IV/ORoman,1068/Tmelt,795/TmeltC,3716/Tboil,3443/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep19\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+1\noexpand\pgfPT@virgula5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+1\noexpand\pgfPT@virgula5d+1/eConfignl,6770/d,26.94/Cp,11.3/kT,hex/ls,362/lsa,/lsb,599/lsc,1.65/lsca,1803/DiscY,9/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lix{Pr/CS,140.91/Ar,140.91/Arstar,0/radio,247/R,17/Rcov,99\noexpand\pgfPT@espaco(3+)/Rion,527/Ei,1.13/eneg,10.54/eaff,+3/O,+III/ORoman,1208/Tmelt,935/TmeltC,3403/Tboil,3130/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep21\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+3\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+3/eConfignl,6770/d,27.2/Cp,12.5/kT,hex/ls,367.21/lsa,/lsb,1183.26/lsc,3.22/lsca,1885/DiscY,1/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lx{Nd/CS,144.24/Ar,144.24/Arstar,0/radio,206/R,17/Rcov,98.3\noexpand\pgfPT@espaco(3+)/Rion,533.1/Ei,1.14/eneg,9.41/eaff,+3/O,+III/ORoman,1297/Tmelt,1024/TmeltC,3347/Tboil,3074/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep22\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+4\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+4/eConfignl,7010/d,27.45/Cp,16.5/kT,hex/ls,365.82/lsa,/lsb,1179.66/lsc,3.22/lsca,1885/DiscY,1/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxi{Pm/CS,[145]/Ar,[145]/Arstar,1/radio,205/R,173/Rcov,97\noexpand\pgfPT@espaco(3+)/Rion,540/Ei,1.13/eneg,12.45/eaff,+3/O,+III/ORoman,1315/Tmelt,1042/TmeltC,3273/Tboil,3000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep23\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+5\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+5/eConfignl,7260/d,---/Cp,17.9/kT,hex/ls,365/lsa,/lsb,1165/lsc,3.19/lsca,1945/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@lxii{Sm/CS,150.36/Ar,150.36(2)/Arstar,0/radio,238/R,172/Rcov,95.8\noexpand\pgfPT@espaco(3+)/Rion,544.5/Ei,1.17/eneg,15.63/eaff,+3/O,+III/ORoman,1345/Tmelt,1072/TmeltC,2173/Tboil,1900/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep24\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+6\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+6/eConfignl,7520/d,29.54/Cp,13.3/kT,rho/ls,362.1/lsa,/lsb,2625/lsc,7.25/lsca,1879/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxiii{Eu/CS,151.96/Ar,151.96/Arstar,0/radio,231/R,168/Rcov,117\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula94.7\noexpand\pgfPT@espaco(3+)/Rion,547.1/Ei,1.2/eneg,11.2/eaff,+2\noexpand\pgfPT@virgula+3/O,+II\noexpand\pgfPT@virgula+III/ORoman,1099/Tmelt,826/TmeltC,1802/Tboil,1529/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+7\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+7/eConfignl,5244/d,27.66/Cp,13.9/kT,bcc/ls,458.1/lsa,/lsb,/lsc,/lsca,1901/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxiv{Gd/CS,157.25/Ar,157.25(3)/Arstar,0/radio,233/R,169/Rcov,93.5\noexpand\pgfPT@espaco(3+)/Rion,593.4/Ei,1.2/eneg,13.22/eaff,+3/O,+III/ORoman,1585/Tmelt,1312/TmeltC,3273/Tboil,3000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+7\noexpand\pgfPT@virgula5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+7\noexpand\pgfPT@virgula5d+1/eConfignl,7900/d,37.03/Cp,10.6/kT,hcp/ls,363.6/lsa,/lsb,578.26/lsc,1.59/lsca,1880/DiscY,20/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxv{Tb/CS,158.93/Ar,158.93/Arstar,0/radio,225/R,168/Rcov,92.3\noexpand\pgfPT@espaco(3+)/Rion,565.8/Ei,1.2/eneg,12.67/eaff,+3/O,+III/ORoman,1629/Tmelt,1356/TmeltC,3396/Tboil,3123/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep27\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+9\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+9/eConfignl,8230/d,28.91/Cp,11.1/kT,hcp/ls,360.1/lsa,/lsb,569.36/lsc,1.58/lsca,1843/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxvi{Dy/CS,162.5/Ar,162.5/Arstar,0/radio,228/R,167/Rcov,91.2\noexpand\pgfPT@espaco(3+)/Rion,573/Ei,1.22/eneg,33.96/eaff,+3/O,+III/ORoman,1680/Tmelt,1407/TmeltC,2840/Tboil,2567/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep28\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+10\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+10/eConfignl,8540/d,27.7/Cp,10.7/kT,hcp/ls,359.3/lsa,/lsb,565.37/lsc,1.57/lsca,1886/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxvii{Ho/CS,164.93/Ar,164.93/Arstar,0/radio,226/R,166/Rcov,90.1\noexpand\pgfPT@espaco(3+)/Rion,581/Ei,1.23/eneg,32.61/eaff,+3/O,+III/ORoman,1734/Tmelt,1461/TmeltC,2873/Tboil,2600/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep29\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+11\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+11/eConfignl,8790/d,27.15/Cp,16.2/kT,hcp/ls,357.73/lsa,/lsb,561.58/lsc,1.57/lsca,1878/DiscY,20/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxviii{Er/CS,167.26/Ar,167.26/Arstar,0/radio,226/R,165/Rcov,89\noexpand\pgfPT@espaco(3+)/Rion,589.3/Ei,1.24/eneg,30.1/eaff,+3/O,+III/ORoman,1802/Tmelt,1529/TmeltC,3141/Tboil,2868/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep30\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+12\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+12/eConfignl,9066/d,28.12/Cp,14.5/kT,hcp/ls,355.88/lsa,/lsb,558.74/lsc,1.57/lsca,1843/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxix{Tm/CS,168.93/Ar,168.93/Arstar,0/radio,222/R,164/Rcov,88\noexpand\pgfPT@espaco(3+)/Rion,596.7/Ei,1.25/eneg,99/eaff,+3/O,+III/ORoman,1818/Tmelt,1545/TmeltC,2223/Tboil,1950/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep31\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+13\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+13/eConfignl,9320/d,27.03/Cp,16.9/kT,hcp/ls,353.75/lsa,/lsb,555.46/lsc,1.57/lsca,1879/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxx{Yb/CS,173.05/Ar,173.05/Arstar,0/radio,222/R,170/Rcov,86.8\noexpand\pgfPT@espaco(3+)/Rion,603.4/Ei,1.1/eneg,0/eaff,+3/O,+III/ORoman,1097/Tmelt,824/TmeltC,1703/Tboil,1430/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14/eConfignl,6900/d,26.74/Cp,38.5/kT,fcc/ls,548.47/lsa,/lsb,/lsc,/lsca,1878/DiscY,20/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxi{Lu/CS,174.97/Ar,174.97/Arstar,0/radio,217/R,162/Rcov,86.1\noexpand\pgfPT@espaco(3+)/Rion,523.5/Ei,1.27/eneg,23.04/eaff,+3/O,+III/ORoman,1925/Tmelt,1652/TmeltC,3675/Tboil,3402/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+1\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+1/eConfignl,9841/d,26.86/Cp,16.4/kT,hcp/ls,350.31/lsa,/lsb,555.09/lsc,1.58/lsca,1906/DiscY,6/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxii{Hf/CS,178.49/Ar,178.49(2)/Arstar,0/radio,208/R,152/Rcov,71\noexpand\pgfPT@espaco(4+)/Rion,658.5/Ei,1.3/eneg,17.18/eaff,+4/O,+IV/ORoman,2506/Tmelt,2233/TmeltC,4876/Tboil,4603/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+2\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+2/eConfignl,13310/d,25.73/Cp,23/kT,hcp/ls,319.64/lsa,/lsb,505.11/lsc,1.58/lsca,1922/DiscY,2/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxiii{Ta/CS,180.95/Ar,180.95/Arstar,0/radio,200/R,146/Rcov,64\noexpand\pgfPT@espaco(5+)/Rion,761/Ei,1.5/eneg,31/eaff,+5/O,+V/ORoman,3290/Tmelt,3017/TmeltC,5731/Tboil,5458/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep11\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+3\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+3/eConfignl,16690/d,25.36/Cp,57.5/kT,bcc/ls,330.26/lsa,/lsb,/lsc,/lsca,1802/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxiv{W/CS,183.84/Ar,183.84/Arstar,0/radio,193/R,137/Rcov,66\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula60\noexpand\pgfPT@espaco(6+)/Rion,770/Ei,2.36/eneg,78.76/eaff,+4\noexpand\pgfPT@virgula+6/O,+IV\noexpand\pgfPT@virgula+VI/ORoman,3695/Tmelt,3422/TmeltC,6203/Tboil,5930/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep12\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+4\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+4/eConfignl,19250/d,24.27/Cp,173/kT,bcc/ls,316.52/lsa,/lsb,/lsc,/lsca,1783/DiscY,17/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxv{Re/CS,186.21/Ar,186.21/Arstar,0/radio,188/R,131/Rcov,63\noexpand\pgfPT@espaco(4+)/Rion,760/Ei,1.9/eneg,5.83/eaff,+4/O,+IV/ORoman,3459/Tmelt,3186/TmeltC,5869/Tboil,5596/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+5\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+5/eConfignl,21020/d,25.48/Cp,48/kT,hcp/ls,276.1/lsa,/lsb,445.8/lsc,1.62/lsca,1925/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxvi{Os/CS,190.23/Ar,190.23(3)/Arstar,0/radio,185/R,129/Rcov,63\noexpand\pgfPT@espaco(4+)/Rion,840/Ei,2.2/eneg,103.99/eaff,+4/O,+IV/ORoman,3306/Tmelt,3033/TmeltC,5285/Tboil,5012/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep14\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+6\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+6/eConfignl,22590/d,24.7/Cp,87.6/kT,hcp/ls,273.43/lsa,/lsb,431.73/lsc,1.58/lsca,1803/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxvii{Ir/CS,192.22/Ar,192.22/Arstar,0/radio,180/R,122/Rcov,68\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula62.5\noexpand\pgfPT@espaco(4+)/Rion,880/Ei,2.2/eneg,150.91/eaff,+3\noexpand\pgfPT@virgula+4/O,+III\noexpand\pgfPT@virgula+IV/ORoman,2719/Tmelt,2446/TmeltC,4403/Tboil,4130/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+7\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+7/eConfignl,22560/d,25.1/Cp,147/kT,fcc/ls,383.92/lsa,/lsb,/lsc,/lsca,1803/DiscY,7/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxviii{Pt/CS,195.08/Ar,195.08/Arstar,0/radio,177/R,123/Rcov,80\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula62.5\noexpand\pgfPT@espaco(4+)/Rion,870/Ei,2.28/eneg,205.04/eaff,+2\noexpand\pgfPT@virgula+4/O,+II\noexpand\pgfPT@virgula+IV/ORoman,2041.4/Tmelt,1768.3/TmeltC,4098/Tboil,3825/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep17\noexpand\pgfPTeDistsep1/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+9\noexpand\pgfPT@virgula6s+1/eConfign,[Xe]::6s+1\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+9/eConfignl,21450/d,25.86/Cp,71.6/kT,fcc/ls,392.35/lsa,/lsb,/lsc,/lsca,1735/DiscY,13/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxix{Au/CS,196.97/Ar,196.97/Arstar,0/radio,174/R,124/Rcov,137\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula85\noexpand\pgfPT@espaco(3+)/Rion,890.1/Ei,2.54/eneg,222.75/eaff,+1\noexpand\pgfPT@virgula+3/O,+I\noexpand\pgfPT@virgula+III/ORoman,1337.33/Tmelt,1064.18/TmeltC,3243/Tboil,2970/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep1/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+1/eConfign,[Xe]::6s+1\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10/eConfignl,19300/d,25.418/Cp,318/kT,fcc/ls,407.83/lsa,/lsb,/lsc,/lsca,4000\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,100/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxx{Hg/CS,200.59/Ar,200.59/Arstar,0/radio,171/R,133/Rcov,119\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula102\noexpand\pgfPT@espaco(2+)/Rion,1007.1/Ei,2/eneg,0/eaff,+1\noexpand\pgfPT@virgula+2/O,+I\noexpand\pgfPT@virgula+II/ORoman,234.32/Tmelt,-38.83/TmeltC,629.88/Tboil,356.73/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10/eConfignl,13534/d,27.983/Cp,8.3/kT,rho/ls,300.9/lsa,/lsb,/lsc,/lsca,1500\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,3/DiscC,1/spectra,liquido/cor}%
+\def\pgfPT@data@lxxxi{Tl/CS,204.38/Ar,[204.38\noexpand\pgfPT@virgula204.39]/Arstar,0/radio,156/R,144/Rcov,150\noexpand\pgfPT@espaco(1+)\noexpand\pgfPT@virgula88.5\noexpand\pgfPT@espaco(3+)/Rion,589.4/Ei,1.62/eneg,30.88/eaff,+1\noexpand\pgfPT@virgula+3/O,+I\noexpand\pgfPT@virgula+III/ORoman,577/Tmelt,304/TmeltC,1746/Tboil,1473/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+1/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+1/eConfignl,11850/d,26.32/Cp,46.1/kT,hcp/ls,345.66/lsa,/lsb,552.48/lsc,1.6/lsca,1861/DiscY,21/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxxii{Pb/CS,207.2/Ar,207.2/Arstar,0/radio,154/R,144/Rcov,119\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula77.5\noexpand\pgfPT@espaco(4+)/Rion,715.6/Ei,1.87/eneg,34.42/eaff,+2\noexpand\pgfPT@virgula+4/O,+II\noexpand\pgfPT@virgula+IV/ORoman,600.61/Tmelt,327.46/TmeltC,2022/Tboil,1749/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+2/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+2/eConfignl,11340/d,26.65/Cp,35.3/kT,fcc/ls,495.02/lsa,/lsb,/lsc,/lsca,3800\noexpand\pgfPT@scaletxt{\pgfPTDiscYBCscale}{\noexpand\pgfPT@espaco\noexpand\pgfPT@BClabel}/DiscY,3/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxxiii{Bi/CS,208.98/Ar,208.98/Arstar,0/radio,143/R,151/Rcov,103\noexpand\pgfPT@espaco(3+)/Rion,703/Ei,2.02/eneg,90.92/eaff,+3/O,+III/ORoman,544.7/Tmelt,271.5/TmeltC,1837/Tboil,1564/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+3/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+3/eConfignl,9780/d,25.52/Cp,7.97/kT,mono/ls,667.4/lsa,611.7/lsb,330.4/lsc,0.5/lsca,1400/DiscY,12/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxxiv{Po/CS,[209]/Ar,/Arstar,1/radio,135/R,145/Rcov,223\noexpand\pgfPT@espaco(2-)\noexpand\pgfPT@virgula94\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula67\noexpand\pgfPT@espaco(6+)/Rion,812.1/Ei,2/eneg,136/eaff,\noexpand\pgfPT@pm2\noexpand\pgfPT@virgula+4\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+6/O,\noexpand\pgfPT@pm II\noexpand\pgfPT@virgula+IV\noexpand\pgfPT@virgula+V\noexpand\pgfPT@virgula+VI/ORoman,527/Tmelt,254/TmeltC,1235/Tboil,962/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+4/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+4/eConfignl,9196/d,26.4/Cp,0/kT,sc/ls,335.9/lsa,/lsb,/lsc,/lsca,1898/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxxv{At/CS,[210]/Ar,/Arstar,1/radio,127/R,147/Rcov,62\noexpand\pgfPT@espaco(7+)/Rion,899.003/Ei,2.2/eneg,233.09/eaff,\noexpand\pgfPT@pm1\noexpand\pgfPT@virgula+3\noexpand\pgfPT@virgula+5\noexpand\pgfPT@virgula+7/O,\noexpand\pgfPT@pm I\noexpand\pgfPT@virgula+III\noexpand\pgfPT@virgula+V\noexpand\pgfPT@virgula+VII/ORoman,575/Tmelt,302/TmeltC,503/Tboil,230/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+5/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+5/eConfignl,---/d,---/Cp,1.7/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1940/DiscY,22/DiscC,0/spectra,solido/cor}%
+\def\pgfPT@data@lxxxvi{Rn/CS,[222]/Ar,/Arstar,1/radio,120/R,142/Rcov,---/Rion,1037/Ei,2.2/eneg,0/eaff,+2\noexpand\pgfPT@virgula+6/O,+II\noexpand\pgfPT@virgula+VI/ORoman,202/Tmelt,-71/TmeltC,211.5/Tboil,-61.7/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Xe]::4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6s+2\noexpand\pgfPT@virgula6p+6/eConfign,[Xe]::6s+2\noexpand\pgfPT@virgula4f+14\noexpand\pgfPT@virgula5d+10\noexpand\pgfPT@virgula6p+6/eConfignl,9.73/d,20.786/Cp,0.00361/kT,fcc/ls,---/lsa,/lsb,/lsc,/lsca,1899/DiscY,8/DiscC,1/spectra,gasoso/cor}%
+\def\pgfPT@data@lxxxvii{Fr/CS,[223]/Ar,/Arstar,1/radio,---/R,---/Rcov,180\noexpand\pgfPT@espaco(1+)/Rion,380/Ei,0.7/eneg,46.89/eaff,+1/O,+I/ORoman,281/Tmelt,8/TmeltC,890/Tboil,620/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep1/eDist,[Rn]::7s+1/eConfign,[Rn]::7s+1/eConfignl,---/d,31.8/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1939/DiscY,5/DiscC,0/spectra,solido/cor}%
+\def\pgfPT@data@lxxxviii{Ra/CS,[226]/Ar,/Arstar,1/radio,---/R,201/Rcov,148\noexpand\pgfPT@espaco(2+)/Rion,509.3/Ei,0.9/eneg,9.65/eaff,+2/O,+II/ORoman,973/Tmelt,700/TmeltC,2010/Tboil,1737/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::7s+2/eConfign,[Rn]::7s+2/eConfignl,5500/d,---/Cp,18.6/kT,bcc/ls,514.8/lsa,/lsb,/lsc,/lsca,1898/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@lxxxix{Ac/CS,[227]/Ar,/Arstar,1/radio,---/R,186/Rcov,106.5\noexpand\pgfPT@espaco(3+)/Rion,499/Ei,1.1/eneg,33.77/eaff,+3/O,+III/ORoman,1323/Tmelt,1050/TmeltC,3471/Tboil,3198/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula6d+1/eConfignl,10000/d,27.2/Cp,12/kT,fcc/ls,587/lsa,/lsb,/lsc,/lsca,1902/DiscY,5/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xc{Th/CS,232.04/Ar,232.04/Arstar,1/radio,---/R,175/Rcov,/Rion,587/Ei,1.3/eneg,58.63/eaff,+4/O,+IV/ORoman,2115/Tmelt,1842/TmeltC,5061/Tboil,4788/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Rn]::6d+2\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula6d+2/eConfignl,11700/d,26.23/Cp,54/kT,fcc/ls,508.42/lsa,/lsb,/lsc,/lsca,1829/DiscY,18/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xci{Pa/CS,231.04/Ar,231.04/Arstar,1/radio,---/R,169/Rcov,90\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula78\noexpand\pgfPT@espaco(5+)/Rion,568/Ei,1.5/eneg,53.03/eaff,+5/O,+V/ORoman,1841/Tmelt,1568/TmeltC,4273/Tboil,4000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep20\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+2\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+2\noexpand\pgfPT@virgula6d+1/eConfignl,15370/d,---/Cp,47/kT,tetr/ls,392.5/lsa,/lsb,323.8/lsc,0.82/lsca,1913/DiscY,10/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xcii{U/CS,238.03/Ar,238.03/Arstar,1/radio,---/R,170/Rcov,76\noexpand\pgfPT@espaco(5+)/Rion,597.6/Ei,1.38/eneg,30.39/eaff,+4\noexpand\pgfPT@virgula+6/O,+IV\noexpand\pgfPT@virgula+VI/ORoman,1405.3/Tmelt,1132.2/TmeltC,4404/Tboil,4131/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep21\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+3\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+3\noexpand\pgfPT@virgula6d+1/eConfignl,19100/d,27.665/Cp,27.5/kT,bcort/ls,285.37/lsa,586.95/lsb,495.48/lsc,1.74/lsca,1789/DiscY,8/DiscC,1/spectra,solido/cor}%
+\def\pgfPT@data@xciii{Np/CS,[237]/Ar,/Arstar,1/radio,---/R,171/Rcov,110\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula87\noexpand\pgfPT@espaco(4+)\noexpand\pgfPT@virgula71\noexpand\pgfPT@espaco(7+)/Rion,604.5/Ei,1.36/eneg,45.85/eaff,+5/O,+V/ORoman,917/Tmelt,644/TmeltC,4273/Tboil,4000/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep22\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+4\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+4\noexpand\pgfPT@virgula6d+1/eConfignl,20200/d,29.46/Cp,6.3/kT,bcort/ls,666.3/lsa,472.3/lsb,488.7/lsc,0.73/lsca,1940/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xciv{Pu/CS,[244]/Ar,/Arstar,1/radio,---/R,172/Rcov,100\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula74\noexpand\pgfPT@espaco(5+)\noexpand\pgfPT@virgula71\noexpand\pgfPT@espaco(6+)/Rion,584.7/Ei,1.28/eneg,0/eaff,+4/O,+IV/ORoman,912.5/Tmelt,639.4/TmeltC,3501/Tboil,3228/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep24\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+6\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+6/eConfignl,19816/d,35.5/Cp,6.74/kT,mono/ls,618.3/lsa,482.2/lsb,1096.3/lsc,1.77/lsca,1940/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xcv{Am/CS,[243]/Ar,/Arstar,1/radio,---/R,166/Rcov,126\noexpand\pgfPT@espaco(2+)\noexpand\pgfPT@virgula97.5\noexpand\pgfPT@espaco(3+)/Rion,578/Ei,1.13/eneg,9.93/eaff,+3/O,+III/ORoman,1449/Tmelt,1176/TmeltC,2880/Tboil,2607/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+7\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+7/eConfignl,12000/d,62.7/Cp,10/kT,hex/ls,346.81/lsa,/lsb,1124.1/lsc,3.24/lsca,1944/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xcvi{Cm/CS,[247]/Ar,/Arstar,1/radio,---/R,166/Rcov,97\noexpand\pgfPT@espaco(3+)/Rion,581/Ei,1.28/eneg,27.17/eaff,+3/O,+III/ORoman,1613/Tmelt,1340/TmeltC,3383/Tboil,3110/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep25\noexpand\pgfPTeDistsep9\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+7\noexpand\pgfPT@virgula6d+1\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+7\noexpand\pgfPT@virgula6d+1/eConfignl,13510/d,---/Cp,---/kT,hex/ls,349.6/lsa,/lsb,1133.1/lsc,3.24/lsca,1944/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xcvii{Bk/CS,[247]/Ar,/Arstar,1/radio,---/R,---/Rcov,96\noexpand\pgfPT@espaco(3+)/Rion,601/Ei,1.3/eneg,0/eaff,+3/O,+III/ORoman,1323/Tmelt,1050/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep27\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+9\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+9/eConfignl,14780/d,---/Cp,10/kT,hex/ls,341.6/lsa,/lsb,1106.9/lsc,3.24/lsca,1949/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xcviii{Cf/CS,[251]/Ar,/Arstar,1/radio,---/R,---/Rcov,95\noexpand\pgfPT@espaco(3+)\noexpand\pgfPT@virgula82.1\noexpand\pgfPT@espaco(4+)/Rion,608/Ei,1.3/eneg,0/eaff,+3/O,+III/ORoman,1173/Tmelt,900/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep28\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+10\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+10/eConfignl,15100/d,---/Cp,---/kT,hex/ls,338/lsa,/lsb,1102.5/lsc,3.26/lsca,1950/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@xcix{Es/CS,[252]/Ar,/Arstar,1/radio,---/R,---/Rcov,83.5\noexpand\pgfPT@espaco(3+)/Rion,619/Ei,1.3/eneg,0/eaff,+3/O,+III/ORoman,1133/Tmelt,860/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep29\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+11\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+11/eConfignl,8840/d,---/Cp,---/kT,fcc/ls,575/lsa,/lsb,/lsc,/lsca,1952/DiscY,22/DiscC,1/spectra,sintetico/cor}%
+\def\pgfPT@data@c{Fm/CS,[257]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,627/Ei,1.3/eneg,33.96/eaff,+3/O,+III/ORoman,1800/Tmelt,1527/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep30\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+12\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+12/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1952/DiscY,22/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@ci{Md/CS,[258]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,635/Ei,1.3/eneg,93.91/eaff,+3/O,+III/ORoman,1100/Tmelt,827/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep31\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+13\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+13/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1955/DiscY,22/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cii{No/CS,[259]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,642/Ei,1.3/eneg,0/eaff,+2/O,+II/ORoman,1100/Tmelt,827/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1966/DiscY,24/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@ciii{Lr/CS,[266]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,470/Ei,1.3/eneg,0/eaff,+3/O,+III/ORoman,1900/Tmelt,1627/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep3/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+1/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula7p+1/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1961/DiscY,22/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@civ{Rf/CS,[267]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-580/Ei,---/eneg,---/eaff,+4/O,+IV/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep10\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+2\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+2/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1969/DiscY,16/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cv{Db/CS,[268]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-665/Ei,---/eneg,---/eaff,+5/O,+V/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep11\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+3\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+3/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1970/DiscY,16/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cvi{Sg/CS,[269]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-757/Ei,---/eneg,---/eaff,+6/O,+VI/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep12\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+4\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+4/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1974/DiscY,22/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cvii{Bh/CS,[270]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-740/Ei,---/eneg,---/eaff,+7/O,+VII/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep13\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+5\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+5/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1981/DiscY,8/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cviii{Hs/CS,[270]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-730/Ei,---/eneg,---/eaff,+8/O,+VIII/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep14\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+6\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+6/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1984/DiscY,8/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cix{Mt/CS,[278]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-800/Ei,---/eneg,---/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep15\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+7\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+7/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1982/DiscY,8/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cx{Ds/CS,[281]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-960/Ei,---/eneg,---/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep16\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+8\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+8/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1994/DiscY,8/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxi{Rg/CS,[282]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-1020/Ei,---/eneg,151/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep17\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+9\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+9/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1994/DiscY,8/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxii{Cn/CS,[285]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-1155/Ei,---/eneg,---/eaff,+2/O,+II/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep2/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1996/DiscY,8/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxiii{Nh/CS,[286]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-707.2/Ei,---/eneg,66.6/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep3/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+1/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+1/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2004/DiscY,16/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxiv{Fl/CS,[289]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-832.2/Ei,---/eneg,---/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep4/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+2/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+2/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,1998/DiscY,15/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxv{Mc/CS,[290]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-538.3/Ei,---/eneg,35.3/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep5/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+3/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+3/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2003/DiscY,16/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxvi{Lv/CS,[293]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-663.9/Ei,---/eneg,74.9/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep6/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+4/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+4/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2000/DiscY,15/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxvii{Ts/CS,[294]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-736.9/Ei,---/eneg,165.9/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep7/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+5/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+5/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2009/DiscY,100/DiscC,0/spectra,sintetico/cor}%
+\def\pgfPT@data@cxviii{Og/CS,[294]/Ar,/Arstar,1/radio,---/R,---/Rcov,---/Rion,-860.1/Ei,---/eneg,5.4/eaff,---/O,---/ORoman,---/Tmelt,---/TmeltC,---/Tboil,---/TboilC,2\noexpand\pgfPTeDistsep8\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep32\noexpand\pgfPTeDistsep18\noexpand\pgfPTeDistsep8/eDist,[Rn]::5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7s+2\noexpand\pgfPT@virgula7p+6/eConfign,[Rn]::7s+2\noexpand\pgfPT@virgula5f+14\noexpand\pgfPT@virgula6d+10\noexpand\pgfPT@virgula7p+6/eConfignl,---/d,---/Cp,---/kT,---/ls,---/lsa,/lsb,/lsc,/lsca,2002/DiscY,16/DiscC,0/spectra,sintetico/cor}%
\endinput
diff --git a/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.drawing.keys.tex b/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.drawing.keys.tex
index 8c09f620e15..8406d1a9a7d 100644
--- a/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.drawing.keys.tex
+++ b/Master/texmf-dist/tex/latex/pgf-periodictable/pgfPT.drawing.keys.tex
@@ -189,6 +189,12 @@ group label color/.default=blue!50!black,%
label LaAc font/.get=\pgfPTlabLaAcfont,%
label LaAc font/.store in=\pgfPTlabLaAcfont,%
label LaAc font/.default=\footnotesize\itshape,%
+group numbers/.get=\pgfPTgrnum,% new in v2.1.1
+group numbers/.store in=\pgfPTgrnum,%
+group numbers/.default=arabic,%
+Roman label color/.get=\pgfPTRomanlabgrcolor,% new in v2.1.1
+Roman label color/.store in=\pgfPTRomanlabgrcolor,%
+Roman label color/.default=blue!70!white,%
LaAc/.code=\pgfPT@LaAcstyle{#1},%
LaAc/.default={s=true,f=\footnotesize\itshape},%
per/.code=\pgfPT@perstyle{#1},%
@@ -199,7 +205,30 @@ per+gr/.code=\pgfPT@pergrstyle{#1},%
per+gr/.default={pc=red!50!black,gc=blue!50!black,f=\small\bfseries}%
}%
% setting keys with default values ---------------------------------------------------------------
-\pgfkeys{/pgfPerTable/.cd,label font,period label color,group label color,label LaAc font}%
+\pgfkeys{/pgfPerTable/.cd,label font,period label color,group label color,label LaAc font,group numbers,Roman label color}%
+% Groups in 'old' Roman numerals
+% CAS (USA) ; old IUPAC (Europe) ->
+\newif\ifpgfPT@grRoman@CAS\newif\ifpgfPT@grRoman\newif\ifpgfPT@grarabic%
+\def\pgfPT@gr@numbers#1{\edef\@pgfPT@grnum@atual{#1}\relax%
+\edef\@pgfPT@grnum@CAS{CAS}\edef\@pgfPT@grnum@IUPAC{IUPAC}%
+\edef\@pgfPT@grnum@CASarabic{CAS*}\edef\@pgfPT@grnum@IUPACarabic{IUPAC*}%
+\pgfPT@grRoman@CASfalse\pgfPT@grRomanfalse\pgfPT@grarabicfalse%
+\ifx\@pgfPT@grnum@atual\@pgfPT@grnum@CAS\relax\pgfPT@grRoman@CAStrue\pgfPT@grRomantrue\else%
+\ifx\@pgfPT@grnum@atual\@pgfPT@grnum@IUPAC\relax\pgfPT@grRomantrue\else%
+\ifx\@pgfPT@grnum@atual\@pgfPT@grnum@CASarabic\relax\pgfPT@grRoman@CAStrue\pgfPT@grRomantrue\pgfPT@grarabictrue\else%
+\ifx\@pgfPT@grnum@atual\@pgfPT@grnum@IUPACarabic\relax\pgfPT@grRomantrue\pgfPT@grarabictrue\fi\fi\fi\fi%
+}%
+\def\pgfPT@gr@Roman#1{\edef\@pgfPT@Z@atual{#1}\relax%
+\ifpgfPT@grRoman@CAS% CAS
+\ifcase\@pgfPT@Z@atual\relax\or I\hspace{.1ex}A\or II\hspace{.1ex}A\or III\hspace{.1ex}B\or IV\hspace{.1ex}B\or V\hspace{.1ex}B\or VI\hspace{.1ex}B\or VII\hspace{.1ex}B\or%
+\tikz{\path (0,0);\draw[line width=.2ex] (.1*\pgfPTcellwd,-.55ex) -- (.1*\pgfPTcellwd,0) -- (1.2*\pgfPTcellwd,0);}\or VIII\hspace{.1ex}B\or\tikz[xscale=-1]{\path (0,0);\draw[line width=.2ex] (.1*\pgfPTcellwd,-.55ex) -- (.1*\pgfPTcellwd,0) -- (1.2*\pgfPTcellwd,0);}%
+\or I\hspace{.1ex}B\or II\hspace{.1ex}B\or III\hspace{.1ex}A\or IV\hspace{.1ex}A\or V\hspace{.1ex}A\or VI\hspace{.1ex}A\or VII\hspace{.1ex}A\or VIII\hspace{.1ex}A\fi%
+\else% old IUPAC
+\ifcase\@pgfPT@Z@atual\relax\or I\hspace{.1ex}A\or II\hspace{.1ex}A\or III\hspace{.1ex}A\or IV\hspace{.1ex}A\or V\hspace{.1ex}A\or VI\hspace{.1ex}A\or VII\hspace{.1ex}A\or
+\tikz{\path (0,0);\draw[line width=.2ex] (.1*\pgfPTcellwd,-.55ex) -- (.1*\pgfPTcellwd,0) -- (1.2*\pgfPTcellwd,0);}\or VIII\hspace{.1ex}A\or\tikz[xscale=-1]{\path (0,0);\draw[line width=.2ex] (.1*\pgfPTcellwd,-.55ex) -- (.1*\pgfPTcellwd,0) -- (1.2*\pgfPTcellwd,0);}%
+\or I\hspace{.1ex}B\or II\hspace{.1ex}B\or III\hspace{.1ex}B\or IV\hspace{.1ex}B\or V\hspace{.1ex}B\or VI\hspace{.1ex}B\or VII\hspace{.1ex}B\or0\fi%
+\fi%
+}%
% end !! PGF keys: labels of periods and groups ------------------------------------------------
%
% defining PGF keys: the cells of the periodic table to be drawn -------------------------------
@@ -444,16 +473,18 @@ eaff font/.default=\tiny\bfseries%
% setting keys with default values -----------------------------------------------------------------
\pgfkeys{/pgfPerTable/.cd,eaff color,eaff font}%
% end !!
+\newif\ifpgfPTORoman% new in v2.1.1
\pgfkeys{/pgfPerTable/.cd,%
O color/.get=\pgfPTOcolor,%
O color/.store in=\pgfPTOcolor,%
O color/.default=black,%
O font/.get=\pgfPTOfont,%
O font/.store in=\pgfPTOfont,%
-O font/.default=\tiny\bfseries%
+O font/.default=\tiny\bfseries,%
+O Roman/.is if=pgfPTORoman% new in v2.1.1
}%
% setting keys with default values -----------------------------------------------------------------
-\pgfkeys{/pgfPerTable/.cd,O color,O font}%
+\pgfkeys{/pgfPerTable/.cd,O color,O font,O Roman=false}%
% end !!
\pgfkeys{/pgfPerTable/.cd,%
Tmelt color/.get=\pgfPTTmeltcolor,%
diff --git a/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.data.LSE.tex b/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.data.LSE.tex
index 53303b35f6c..9bb4004bfb6 100644
--- a/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.data.LSE.tex
+++ b/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.data.LSE.tex
@@ -31,12 +31,12 @@
% (see Es, Bk...)
%
\protected\def\pgfspectra@elt@data#1{\relax\ignorespaces\global\pgfspectra@datanotfoundtrue\relax%
-\pgfspectra@elt@search{#1}{H}{[92.6226 15 0],[93.0748 20 0],[93.7803 30 0],[94.9743 50 0],[97.2537 100 0],[102.5722 300 0],[121.5668 1000 0],[121.5674 500 0],[383.5384 5 0],[388.9049 6 0],[397.0072 8 0],[410.174 15 0],[434.047 30 0],[486.133 80 0],[656.272 120 0],[656.2852 180 0],[954.597 5 0],[1004.94 7 0],[1093.81 12 0],[1281.81 20 0],[1875.1 40 0],[2165.5301 5 0],[2625.15 8 0],[4051.1602 15 0],[4652.5102 4 0],[7457.8 6 0],[12368.5 3 0]}{ALLx1000x1000x0x0x0x0x0}{UVx1000x1000x0x0x0x0x0}{VISx180x180x0x0x0x0x0}{IVx40x40x0x0x0x0x0}%
-\pgfspectra@elt@search{#1}{He}{[23.1454 15 1],[23.2584 20 1],[23.4347 30 1],[23.7331 50 1],[24.3027 100 1],[25.6317 300 1],[30.378 1000 1],[30.3786 500 1],[32.0293 10 0],[50.55 2 0],[50.5684 3 0],[50.5912 4 0],[50.62 5 0],[50.657 7 0],[50.7058 10 0],[50.7718 15 0],[50.8643 20 0],[50.9998 25 0],[51.2098 35 0],[51.5616 50 0],[52.2213 100 0],[53.703 400 0],[58.4334 1000 0],[59.1412 50 0],[95.87 5 1],[97.211 6 1],[99.236 8 1],[102.527 15 1],[108.494 30 1],[121.509 35 1],[121.517 50 1],[164.034 120 1],[164.047 180 1],[238.54 7 1],[251.12 9 1],[257.76 50 0],[272.319 1 0],[273.33 12 1],[276.38 2 0],[281.82 10 0],[282.908 4 0],[294.511 10 0],[301.37 40 0],[318.774 20 0],[320.296 3 1],[320.31 15 1],[335.455 1 0],[344.759 2 0],[358.727 1 0],[361.364 3 0],[363.423 2 0],[370.5 3 0],[373.286 1 0],[381.9607 10 0],[381.976 1 0],[388.865 500 0],[396.4729 20 0],[400.927 1 0],[402.6191 50 0],[402.636 5 0],[412.082 12 0],[412.099 2 0],[414.376 3 0],[438.7929 10 0],[443.755 3 0],[447.1479 200 0],[447.168 25 0],[468.54 6 1],[468.57 30 1],[471.3146 30 0],[471.338 4 0],[492.1931 20 0],[501.5678 100 0],[504.774 10 0],[541.152 5 1],[587.562 500 0],[587.597 100 0],[656.01 8 1],[667.815 100 0],[686.748 3 0],[706.519 200 0],[706.571 30 0],[728.135 50 0],[781.615 1 0],[836.169 2 0],[906.327 2 0],[921.034 2 0],[946.361 10 0],[951.66 4 0],[952.617 3 0],[952.927 1 0],[960.342 1 0],[970.26 3 0],[1002.773 6 0],[1003.116 2 0],[1012.36 15 1],[1013.85 1 0],[1031.123 10 0],[1031.154 2 0],[1066.765 3 0],[1082.909 300 0],[1083.025 1000 0],[1083.034 2000 0],[1091.305 9 0],[1091.71 3 0],[1162.64 4 1],[1196.912 30 0],[1252.752 20 0],[1278.499 50 0],[1279.057 20 0],[1284.596 7 0],[1296.845 10 0],[1298.489 2 0],[1508.364 12 0],[1700.2471 200 0],[1855.5551 1 0],[1863.6801 6 1],[1868.534 500 0],[1869.723 200 0],[1908.9381 100 0],[1954.308 20 0],[2058.1301 1000 0],[2112.007 80 0],[2112.143 10 0],[2113.2029 20 0],[3090.85 3 1],[4047.8898 4 0]}{ALLx2000x2000x1000x0x0x0x0}{UVx1000x1000x1000x0x0x0x0}{VISx500x500x30x0x0x0x0}{IVx2000x2000x15x0x0x0x0}%
+\pgfspectra@elt@search{#1}{H}{[92.6226 15 0],[93.0748 20 0],[93.7803 30 0],[94.9743 50 0],[97.2537 100 0],[102.5722 300 0],[121.5668 1000 0],[121.5674 500 0],[383.5384 5 0],[388.9049 6 0],[397.0072 8 0],[410.174 15 0],[434.047 30 0],[486.133 80 0],[656.272 120 0],[656.2852 180 0],[954.597 5 0],[1004.94 7 0],[1093.81 12 0],[1281.81 20 0],[1875.1 40 0],[2165.5301 5 0],[2625.15 8 0]}{ALLx1000x1000x0x0x0x0x0}{UVx1000x1000x0x0x0x0x0}{VISx180x180x0x0x0x0x0}{IVx40x40x0x0x0x0x0}%,[4051.1602 15 0],[4652.5102 4 0],[7457.8 6 0],[12368.5 3 0]
+\pgfspectra@elt@search{#1}{He}{[23.1454 15 1],[23.2584 20 1],[23.4347 30 1],[23.7331 50 1],[24.3027 100 1],[25.6317 300 1],[30.378 1000 1],[30.3786 500 1],[32.0293 10 0],[50.55 2 0],[50.5684 3 0],[50.5912 4 0],[50.62 5 0],[50.657 7 0],[50.7058 10 0],[50.7718 15 0],[50.8643 20 0],[50.9998 25 0],[51.2098 35 0],[51.5616 50 0],[52.2213 100 0],[53.703 400 0],[58.4334 1000 0],[59.1412 50 0],[95.87 5 1],[97.211 6 1],[99.236 8 1],[102.527 15 1],[108.494 30 1],[121.509 35 1],[121.517 50 1],[164.034 120 1],[164.047 180 1],[238.54 7 1],[251.12 9 1],[257.76 50 0],[272.319 1 0],[273.33 12 1],[276.38 2 0],[281.82 10 0],[282.908 4 0],[294.511 10 0],[301.37 40 0],[318.774 20 0],[320.296 3 1],[320.31 15 1],[335.455 1 0],[344.759 2 0],[358.727 1 0],[361.364 3 0],[363.423 2 0],[370.5 3 0],[373.286 1 0],[381.9607 10 0],[381.976 1 0],[388.865 500 0],[396.4729 20 0],[400.927 1 0],[402.6191 50 0],[402.636 5 0],[412.082 12 0],[412.099 2 0],[414.376 3 0],[438.7929 10 0],[443.755 3 0],[447.1479 200 0],[447.168 25 0],[468.54 6 1],[468.57 30 1],[471.3146 30 0],[471.338 4 0],[492.1931 20 0],[501.5678 100 0],[504.774 10 0],[541.152 5 1],[587.562 500 0],[587.597 100 0],[656.01 8 1],[667.815 100 0],[686.748 3 0],[706.519 200 0],[706.571 30 0],[728.135 50 0],[781.615 1 0],[836.169 2 0],[906.327 2 0],[921.034 2 0],[946.361 10 0],[951.66 4 0],[952.617 3 0],[952.927 1 0],[960.342 1 0],[970.26 3 0],[1002.773 6 0],[1003.116 2 0],[1012.36 15 1],[1013.85 1 0],[1031.123 10 0],[1031.154 2 0],[1066.765 3 0],[1082.909 300 0],[1083.025 1000 0],[1083.034 2000 0],[1091.305 9 0],[1091.71 3 0],[1162.64 4 1],[1196.912 30 0],[1252.752 20 0],[1278.499 50 0],[1279.057 20 0],[1284.596 7 0],[1296.845 10 0],[1298.489 2 0],[1508.364 12 0],[1700.2471 200 0],[1855.5551 1 0],[1863.6801 6 1],[1868.534 500 0],[1869.723 200 0],[1908.9381 100 0],[1954.308 20 0],[2058.1301 1000 0],[2112.007 80 0],[2112.143 10 0],[2113.2029 20 0],[3090.85 3 1]}{ALLx2000x2000x1000x0x0x0x0}{UVx1000x1000x1000x0x0x0x0}{VISx500x500x30x0x0x0x0}{IVx2000x2000x15x0x0x0x0}%,[4047.8898 4 0]
\pgfspectra@elt@search{#1}{Li}{[149.293 3 1],[149.297 5 1],[149.304 1 1],[165.308 3 1],[165.313 5 1],[165.321 1 1],[233.688 3 1],[233.691 5 1],[233.7 2 1],[239.439 1 0],[242.543 3 0],[247.506 10 0],[255.17 24 1],[256.231 15 0],[265.729 2 1],[265.73 3 1],[272.824 0 1],[272.829 5 1],[272.832 2 1],[273.047 3 1],[273.055 1 1],[274.12 5 0],[293.402 2 1],[293.407 2 1],[293.412 5 1],[293.425 1 1],[302.912 3 1],[302.914 3 1],[315.531 3 1],[315.533 4 1],[319.626 1 1],[319.633 9 1],[319.636 4 1],[319.933 5 1],[319.943 2 1],[323.266 17 0],[371.4 1 1],[371.416 5 1],[371.427 6 1],[371.429 8 1],[371.44 7 1],[371.441 10 1],[371.451 1 1],[371.458 0 1],[371.87 3 0],[379.472 6 0],[391.53 20 0],[391.535 20 0],[398.548 10 0],[398.554 10 0],[413.256 40 0],[413.262 40 0],[427.307 20 0],[427.313 20 0],[432.542 5 1],[432.547 5 1],[432.554 1 1],[460.283 13 0],[460.289 13 0],[467.151 0 1],[467.165 6 1],[467.17 2 1],[467.806 3 1],[467.829 1 1],[488.132 4 1],[488.139 4 1],[488.149 1 1],[497.166 8 0],[497.175 8 0],[548.355 600 1],[548.565 600 1],[610.354 320 0],[610.365 320 0],[670.776 3600 0],[670.791 3600 0],[812.623 48 0],[812.645 48 0]}{ALLx3600x3600x600x0x0x0x0}{UVx24x17x24x0x0x0x0}{VISx3600x3600x600x0x0x0x0}{IVx48x48x0x0x0x0x0}%
-\pgfspectra@elt@search{#1}{Be}{[7.61 1 2],[7.648 2 2],[7.853 3 2],[7.866 4 2],[7.892 1 2],[8.189 5 2],[8.238 10 2],[8.32 20 2],[8.476 30 2],[8.831 50 2],[10.025 100 2],[50.999 3 2],[54.931 2 2],[58.208 6 2],[66.132 4 2],[67.559 8 2],[72.559 4 2],[72.571 5 1],[74.358 5 1],[74.623 7 2],[76.775 2 2],[77.537 8 1],[84.206 20 1],[92.525 2 1],[94.356 10 1],[97.327 10 1],[102.693 8 1],[103.632 5 1],[104.823 15 1],[111.469 1 2],[114.303 20 1],[119.719 60 1],[121.312 2 2],[121.432 1 2],[136.225 2 2],[140.152 1 2],[142.126 10 2],[142.286 5 2],[143.517 1 2],[144.077 2 2],[151.23 20 1],[151.243 60 1],[166.149 100 0],[175.469 2 2],[177.612 15 1],[177.634 20 1],[191.703 3 2],[192.967 5 0],[194.368 10 0],[195.497 60 2],[196.459 50 0],[198.513 5 0],[199.801 60 0],[205.59 50 0],[205.601 100 0],[207.694 75 2],[208.038 60 2],[211.856 25 2],[212.227 15 2],[212.557 10 0],[212.568 20 0],[212.72 15 2],[213.725 5 2],[214.5 25 0],[217.499 55 0],[217.51 55 0],[219.157 5 2],[234.861 950 0],[235.066 20 0],[235.071 60 0],[235.083 200 0],[241.334 2 1],[241.346 16 1],[245.384 20 1],[249.454 35 0],[249.458 35 0],[249.473 100 0],[250.743 16 1],[261.799 5 1],[261.813 20 1],[265.045 100 0],[265.055 60 0],[265.062 200 0],[265.069 60 0],[265.076 100 0],[269.746 5 1],[269.758 20 1],[272.888 20 1],[273.805 30 0],[289.813 20 0],[289.819 10 0],[289.825 20 0],[298.606 30 0],[298.642 10 0],[301.933 60 0],[301.949 30 0],[301.953 30 0],[301.96 20 0],[304.652 10 1],[304.669 30 1],[311.081 10 0],[311.092 10 0],[311.099 20 0],[313.042 480 1],[313.107 320 1],[319.381 20 0],[319.71 20 1],[319.715 30 1],[320.86 20 0],[322.963 60 0],[323.352 2 1],[324.162 10 1],[324.183 30 1],[326.902 15 0],[327.458 100 1],[327.467 30 1],[328.291 30 0],[332.101 30 0],[332.109 30 0],[332.134 220 0],[334.543 20 0],[336.763 60 0],[345.137 5 0],[345.518 300 0],[347.656 20 0],[351.554 300 0],[355.5 10 0],[372.036 100 2],[373.63 100 0],[381.345 700 0],[386.513 40 0],[386.542 80 0],[386.551 1 0],[386.572 6 0],[386.603 100 0],[424.914 90 2],[425.305 100 0],[425.376 60 0],[436.066 300 1],[436.099 500 1],[440.794 400 0],[448.552 2 2],[448.73 100 2],[449.509 1 2],[449.78 140 2],[457.266 12 0],[467.333 700 1],[467.342 1000 1],[470.937 6 0],[482.816 200 1],[484.916 40 0],[485.822 2 1],[508.775 80 0],[521.812 8 1],[521.833 20 1],[525.586 3 1],[527.028 64 1],[527.081 500 1],[540.304 20 1],[541.021 20 1],[614.201 140 2],[622.911 10 0],[627.943 16 1],[627.973 30 1],[647.354 30 0],[654.789 60 1],[655.836 60 1],[656.452 30 0],[663.644 2 1],[675.672 1 1],[675.713 2 1],[678.656 30 0],[688.422 1 0],[688.444 6 0],[698.275 100 0],[715.44 6 0],[715.465 40 0],[720.913 100 0],[740.12 3 1],[740.143 2 1],[755.19 10 0],[761.868 10 0],[761.888 20 0],[809.006 60 0],[815.899 5 0],[815.924 10 0],[825.407 4 0],[828.707 10 0],[854.736 30 0],[854.767 60 0],[880.137 300 0],[888.218 6 0],[919.045 40 0],[924.392 20 0],[934.389 1 1],[939.274 40 0],[947.643 2 1],[947.703 16 1],[984.732 20 0],[989.563 10 0],[989.596 20 0],[993.978 80 0],[1009.552 16 1],[1009.573 20 1],[1011.992 60 1],[1033.103 80 0],[1106.646 30 0],[1117.373 1 1],[1149.639 120 0],[1162.516 2 1],[1166.025 2 1],[1209.536 100 1],[1209.818 30 1],[1464.392 100 0],[1464.475 60 0],[1615.772 200 0],[1785.5381 80 0],[1785.6631 120 0],[1814.3539 100 0],[3177.5051 160 0],[3177.8699 200 0]}{ALLx1000x950x1000x140x0x0x0}{UVx950x950x480x100x0x0x0}{VISx1000x700x1000x140x0x0x0}{IVx300x300x100x0x0x0x0}%
-\pgfspectra@elt@search{#1}{B}{[4.859 30 4],[5.268 10 3],[6.031 30 3],[34.4 160 3],[38.5 450 3],[41.18 40 2],[41.87 285 3],[51.077 20 2],[51.085 40 2],[51.824 150 2],[51.827 75 2],[67.7 110 2],[67.714 160 2],[69.395 70 1],[73.136 40 1],[73.144 40 1],[75.848 40 2],[75.867 70 2],[88.254 110 1],[88.268 110 1],[98.467 40 1],[108.188 110 1],[108.207 110 1],[111.22 70 3],[116.89 450 3],[117.09 70 3],[123.016 110 1],[136.246 220 1],[160.046 70 0],[160.073 120 0],[162.358 160 1],[162.377 110 1],[162.402 220 1],[162.416 70 1],[162.434 160 1],[166.304 100 0],[166.687 150 0],[166.729 200 0],[181.786 150 0],[181.837 200 0],[182.591 300 0],[182.641 300 0],[184.281 110 1],[195.383 20 2],[206.578 550 2],[206.638 250 0],[206.665 250 0],[206.693 100 0],[206.719 300 0],[206.723 450 2],[207.709 160 2],[208.891 500 0],[208.957 500 0],[222.03 70 1],[223.409 40 2],[223.459 70 2],[232.303 40 1],[232.867 40 1],[239.32 40 1],[239.505 220 1],[245.969 40 1],[245.99 40 1],[249.677 1000 0],[249.773 1000 0],[252.47 70 3],[253.03 160 3],[282.168 450 3],[282.457 70 3],[282.585 285 3],[291.808 160 1],[303.226 110 1],[317.933 70 1],[332.318 110 1],[332.36 110 1],[345.129 450 1],[412.193 285 1],[419.479 110 1],[424.298 40 2],[424.361 70 2],[447.21 110 1],[447.285 110 1],[448.705 220 2],[449.773 360 2],[478.421 70 1],[494.038 110 1],[608.044 110 1],[628.547 70 1],[703.02 70 1],[703.19 40 1],[783.525 110 2],[784.141 70 2],[866.722 20 0],[866.857 70 0],[1166.004 800 0],[1166.247 570 0],[1562.908 125 0],[1624.038 200 0],[1624.467 250 0],[1899.433 235 0]}{ALLx1000x1000x450x550x450x30x0}{UVx1000x1000x450x550x450x30x0}{VISx360x0x285x360x0x0x0}{IVx800x800x0x110x0x0x0}%
-\pgfspectra@elt@search{#1}{C}{[3.4973 110 4],[4.0268 450 4],[22.719 110 4],[24.491 250 3],[24.866 160 4],[24.874 160 4],[28.914 200 3],[28.923 250 3],[31.242 570 3],[31.246 500 3],[37.169 250 2],[37.175 250 2],[37.178 150 2],[38.403 650 3],[38.418 700 3],[38.6203 500 2],[41.952 400 3],[41.971 500 3],[45.0734 200 2],[45.946 400 2],[45.952 500 2],[45.963 570 2],[51.1522 250 2],[53.5288 250 2],[53.808 300 2],[53.8149 350 2],[53.8312 400 2],[57.4281 350 2],[59.5022 9 1],[68.7053 30 1],[68.7345 50 1],[85.8092 10 1],[85.8559 20 1],[90.3624 30 1],[90.3962 60 1],[90.4142 150 1],[90.448 30 1],[97.703 800 2],[100.986 9 1],[101.008 10 1],[101.037 10 1],[103.6337 80 1],[103.7018 150 1],[115.791 150 0],[115.8019 150 0],[115.8035 150 0],[117.493 370 2],[117.526 350 2],[117.559 330 2],[117.571 500 2],[117.599 350 2],[117.637 370 2],[118.8992 150 0],[118.9447 150 0],[118.9631 200 0],[119.3009 300 0],[119.3031 300 0],[119.324 300 0],[119.3264 300 0],[119.3393 100 0],[119.3649 150 0],[119.3679 150 0],[119.4064 100 0],[119.4488 100 0],[126.1552 100 0],[127.7245 250 0],[127.7282 250 0],[127.7513 300 0],[127.755 300 0],[128.0333 200 0],[131.1363 100 0],[132.3951 9 1],[132.9578 120 0],[132.96 120 0],[133.4532 150 1],[133.5708 300 1],[135.4288 100 0],[135.584 150 0],[136.4164 120 0],[145.9032 100 0],[146.3336 200 0],[146.7402 120 0],[148.1764 150 0],[154.8202 1000 3],[155.0774 900 3],[156.031 150 0],[156.0683 400 0],[156.0708 400 0],[156.1341 100 0],[156.1438 400 0],[165.6266 150 0],[165.6928 120 0],[165.7008 300 0],[165.738 120 0],[165.7907 120 0],[165.8122 150 0],[175.1823 500 0],[193.0905 1000 0],[216.294 250 2],[227.091 40 4],[227.725 5 4],[227.792 20 4],[229.687 800 2],[247.856 800 0],[250.912 250 1],[251.206 350 1],[252.441 200 3],[252.998 300 3],[257.483 250 1],[269.775 150 2],[272.485 110 2],[272.53 150 2],[272.59 150 2],[274.128 350 1],[274.649 250 1],[283.671 1000 1],[283.76 800 1],[298.211 200 2],[299.262 800 1],[387.619 350 1],[387.641 350 1],[387.666 350 1],[391.898 570 1],[392.069 800 1],[405.606 150 2],[406.794 200 2],[406.891 250 2],[407.026 250 2],[407.452 250 1],[407.585 350 1],[416.286 150 2],[418.69 250 2],[426.7 800 1],[426.726 1000 1],[432.556 200 2],[464.742 600 2],[465.025 520 2],[465.147 375 2],[465.83 200 3],[466.586 200 2],[477.175 200 0],[493.205 200 0],[494.388 5 4],[494.456 5 4],[505.217 200 0],[513.294 350 1],[513.328 350 1],[514.349 350 1],[514.516 570 1],[515.109 400 1],[538.034 300 0],[564.807 250 1],[566.247 350 1],[569.592 450 2],[580.133 250 3],[581.198 200 3],[582.642 150 2],[588.977 570 1],[589.159 350 1],[600.113 200 0],[600.603 250 0],[600.718 110 0],[601.068 150 0],[601.322 300 0],[601.484 250 0],[657.805 800 1],[658.288 570 1],[658.761 200 0],[674.438 150 2],[678.39 250 1],[703.725 150 2],[711.318 250 0],[711.519 250 0],[711.563 250 1],[711.699 200 0],[711.99 350 1],[723.132 800 1],[723.642 1000 1],[761.265 150 2],[772.62 90 3],[786.089 200 0],[805.862 200 0],[819.648 300 2],[833.299 150 2],[833.515 520 0],[850.032 300 2],[906.143 250 0],[906.247 200 0],[907.828 200 0],[908.851 250 0],[909.483 450 0],[911.18 300 0],[940.573 800 0],[960.303 150 0],[962.08 250 0],[965.844 300 0],[1068.308 200 0],[1069.125 300 0],[1161.929 12 0],[1162.883 23 0],[1165.885 13 0],[1165.968 47 0],[1166.963 24 0],[1174.822 85 0],[1175.332 142 0],[1175.476 114 0],[1177.754 11 0],[1189.291 17 0],[1189.575 30 0],[1261.41 26 0],[1350.227 20 0],[1439.965 38 0],[1440.325 16 0],[1442.012 61 0],[1442.903 12 0],[1444.224 13 0],[1655.966 12 0],[1689.0381 50 0],[1733.8561 10 0],[1744.86 11 0],[1813.9801 13 0],[1972.199 23 0]}{ALLx1000x1000x1000x800x1000x450x0}{UVx1000x1000x1000x800x1000x450x0}{VISx1000x300x1000x600x250x5x0}{IVx800x800x0x300x0x0x0}%
+\pgfspectra@elt@search{#1}{Be}{[10.025 100 2],[50.999 3 2],[54.931 2 2],[58.208 6 2],[66.132 4 2],[67.559 8 2],[72.559 4 2],[72.571 5 1],[74.358 5 1],[74.623 7 2],[76.775 2 2],[77.537 8 1],[84.206 20 1],[92.525 2 1],[94.356 10 1],[97.327 10 1],[102.693 8 1],[103.632 5 1],[104.823 15 1],[111.469 1 2],[114.303 20 1],[119.719 60 1],[121.312 2 2],[121.432 1 2],[136.225 2 2],[140.152 1 2],[142.126 10 2],[142.286 5 2],[143.517 1 2],[144.077 2 2],[151.23 20 1],[151.243 60 1],[166.149 100 0],[175.469 2 2],[177.612 15 1],[177.634 20 1],[191.703 3 2],[192.967 5 0],[194.368 10 0],[195.497 60 2],[196.459 50 0],[198.513 5 0],[199.801 60 0],[205.59 50 0],[205.601 100 0],[207.694 75 2],[208.038 60 2],[211.856 25 2],[212.227 15 2],[212.557 10 0],[212.568 20 0],[212.72 15 2],[213.725 5 2],[214.5 25 0],[217.499 55 0],[217.51 55 0],[219.157 5 2],[234.861 950 0],[235.066 20 0],[235.071 60 0],[235.083 200 0],[241.334 2 1],[241.346 16 1],[245.384 20 1],[249.454 35 0],[249.458 35 0],[249.473 100 0],[250.743 16 1],[261.799 5 1],[261.813 20 1],[265.045 100 0],[265.055 60 0],[265.062 200 0],[265.069 60 0],[265.076 100 0],[269.746 5 1],[269.758 20 1],[272.888 20 1],[273.805 30 0],[289.813 20 0],[289.819 10 0],[289.825 20 0],[298.606 30 0],[298.642 10 0],[301.933 60 0],[301.949 30 0],[301.953 30 0],[301.96 20 0],[304.652 10 1],[304.669 30 1],[311.081 10 0],[311.092 10 0],[311.099 20 0],[313.042 480 1],[313.107 320 1],[319.381 20 0],[319.71 20 1],[319.715 30 1],[320.86 20 0],[322.963 60 0],[323.352 2 1],[324.162 10 1],[324.183 30 1],[326.902 15 0],[327.458 100 1],[327.467 30 1],[328.291 30 0],[332.101 30 0],[332.109 30 0],[332.134 220 0],[334.543 20 0],[336.763 60 0],[345.137 5 0],[345.518 300 0],[347.656 20 0],[351.554 300 0],[355.5 10 0],[372.036 100 2],[373.63 100 0],[381.345 700 0],[386.513 40 0],[386.542 80 0],[386.551 1 0],[386.572 6 0],[386.603 100 0],[424.914 90 2],[425.305 100 0],[425.376 60 0],[436.066 300 1],[436.099 500 1],[440.794 400 0],[448.552 2 2],[448.73 100 2],[449.509 1 2],[449.78 140 2],[457.266 12 0],[467.333 700 1],[467.342 1000 1],[470.937 6 0],[482.816 200 1],[484.916 40 0],[485.822 2 1],[508.775 80 0],[521.812 8 1],[521.833 20 1],[525.586 3 1],[527.028 64 1],[527.081 500 1],[540.304 20 1],[541.021 20 1],[614.201 140 2],[622.911 10 0],[627.943 16 1],[627.973 30 1],[647.354 30 0],[654.789 60 1],[655.836 60 1],[656.452 30 0],[663.644 2 1],[675.672 1 1],[675.713 2 1],[678.656 30 0],[688.422 1 0],[688.444 6 0],[698.275 100 0],[715.44 6 0],[715.465 40 0],[720.913 100 0],[740.12 3 1],[740.143 2 1],[755.19 10 0],[761.868 10 0],[761.888 20 0],[809.006 60 0],[815.899 5 0],[815.924 10 0],[825.407 4 0],[828.707 10 0],[854.736 30 0],[854.767 60 0],[880.137 300 0],[888.218 6 0],[919.045 40 0],[924.392 20 0],[934.389 1 1],[939.274 40 0],[947.643 2 1],[947.703 16 1],[984.732 20 0],[989.563 10 0],[989.596 20 0],[993.978 80 0],[1009.552 16 1],[1009.573 20 1],[1011.992 60 1],[1033.103 80 0],[1106.646 30 0],[1117.373 1 1],[1149.639 120 0],[1162.516 2 1],[1166.025 2 1],[1209.536 100 1],[1209.818 30 1],[1464.392 100 0],[1464.475 60 0],[1615.772 200 0],[1785.5381 80 0],[1785.6631 120 0],[1814.3539 100 0],[3177.5051 160 0],[3177.8699 200 0]}{ALLx1000x950x1000x140x0x0x0}{UVx950x950x480x100x0x0x0}{VISx1000x700x1000x140x0x0x0}{IVx300x300x100x0x0x0x0}%[7.61 1 2],[7.648 2 2],[7.853 3 2],[7.866 4 2],[7.892 1 2],[8.189 5 2],[8.238 10 2],[8.32 20 2],[8.476 30 2],[8.831 50 2],
+\pgfspectra@elt@search{#1}{B}{[34.4 160 3],[38.5 450 3],[41.18 40 2],[41.87 285 3],[51.077 20 2],[51.085 40 2],[51.824 150 2],[51.827 75 2],[67.7 110 2],[67.714 160 2],[69.395 70 1],[73.136 40 1],[73.144 40 1],[75.848 40 2],[75.867 70 2],[88.254 110 1],[88.268 110 1],[98.467 40 1],[108.188 110 1],[108.207 110 1],[111.22 70 3],[116.89 450 3],[117.09 70 3],[123.016 110 1],[136.246 220 1],[160.046 70 0],[160.073 120 0],[162.358 160 1],[162.377 110 1],[162.402 220 1],[162.416 70 1],[162.434 160 1],[166.304 100 0],[166.687 150 0],[166.729 200 0],[181.786 150 0],[181.837 200 0],[182.591 300 0],[182.641 300 0],[184.281 110 1],[195.383 20 2],[206.578 550 2],[206.638 250 0],[206.665 250 0],[206.693 100 0],[206.719 300 0],[206.723 450 2],[207.709 160 2],[208.891 500 0],[208.957 500 0],[222.03 70 1],[223.409 40 2],[223.459 70 2],[232.303 40 1],[232.867 40 1],[239.32 40 1],[239.505 220 1],[245.969 40 1],[245.99 40 1],[249.677 1000 0],[249.773 1000 0],[252.47 70 3],[253.03 160 3],[282.168 450 3],[282.457 70 3],[282.585 285 3],[291.808 160 1],[303.226 110 1],[317.933 70 1],[332.318 110 1],[332.36 110 1],[345.129 450 1],[412.193 285 1],[419.479 110 1],[424.298 40 2],[424.361 70 2],[447.21 110 1],[447.285 110 1],[448.705 220 2],[449.773 360 2],[478.421 70 1],[494.038 110 1],[608.044 110 1],[628.547 70 1],[703.02 70 1],[703.19 40 1],[783.525 110 2],[784.141 70 2],[866.722 20 0],[866.857 70 0],[1166.004 800 0],[1166.247 570 0],[1562.908 125 0],[1624.038 200 0],[1624.467 250 0],[1899.433 235 0]}{ALLx1000x1000x450x550x450x30x0}{UVx1000x1000x450x550x450x30x0}{VISx360x0x285x360x0x0x0}{IVx800x800x0x110x0x0x0}%[4.859 30 4],[5.268 10 3],[6.031 30 3],
+\pgfspectra@elt@search{#1}{C}{[22.719 110 4],[24.491 250 3],[24.866 160 4],[24.874 160 4],[28.914 200 3],[28.923 250 3],[31.242 570 3],[31.246 500 3],[37.169 250 2],[37.175 250 2],[37.178 150 2],[38.403 650 3],[38.418 700 3],[38.6203 500 2],[41.952 400 3],[41.971 500 3],[45.0734 200 2],[45.946 400 2],[45.952 500 2],[45.963 570 2],[51.1522 250 2],[53.5288 250 2],[53.808 300 2],[53.8149 350 2],[53.8312 400 2],[57.4281 350 2],[59.5022 9 1],[68.7053 30 1],[68.7345 50 1],[85.8092 10 1],[85.8559 20 1],[90.3624 30 1],[90.3962 60 1],[90.4142 150 1],[90.448 30 1],[97.703 800 2],[100.986 9 1],[101.008 10 1],[101.037 10 1],[103.6337 80 1],[103.7018 150 1],[115.791 150 0],[115.8019 150 0],[115.8035 150 0],[117.493 370 2],[117.526 350 2],[117.559 330 2],[117.571 500 2],[117.599 350 2],[117.637 370 2],[118.8992 150 0],[118.9447 150 0],[118.9631 200 0],[119.3009 300 0],[119.3031 300 0],[119.324 300 0],[119.3264 300 0],[119.3393 100 0],[119.3649 150 0],[119.3679 150 0],[119.4064 100 0],[119.4488 100 0],[126.1552 100 0],[127.7245 250 0],[127.7282 250 0],[127.7513 300 0],[127.755 300 0],[128.0333 200 0],[131.1363 100 0],[132.3951 9 1],[132.9578 120 0],[132.96 120 0],[133.4532 150 1],[133.5708 300 1],[135.4288 100 0],[135.584 150 0],[136.4164 120 0],[145.9032 100 0],[146.3336 200 0],[146.7402 120 0],[148.1764 150 0],[154.8202 1000 3],[155.0774 900 3],[156.031 150 0],[156.0683 400 0],[156.0708 400 0],[156.1341 100 0],[156.1438 400 0],[165.6266 150 0],[165.6928 120 0],[165.7008 300 0],[165.738 120 0],[165.7907 120 0],[165.8122 150 0],[175.1823 500 0],[193.0905 1000 0],[216.294 250 2],[227.091 40 4],[227.725 5 4],[227.792 20 4],[229.687 800 2],[247.856 800 0],[250.912 250 1],[251.206 350 1],[252.441 200 3],[252.998 300 3],[257.483 250 1],[269.775 150 2],[272.485 110 2],[272.53 150 2],[272.59 150 2],[274.128 350 1],[274.649 250 1],[283.671 1000 1],[283.76 800 1],[298.211 200 2],[299.262 800 1],[387.619 350 1],[387.641 350 1],[387.666 350 1],[391.898 570 1],[392.069 800 1],[405.606 150 2],[406.794 200 2],[406.891 250 2],[407.026 250 2],[407.452 250 1],[407.585 350 1],[416.286 150 2],[418.69 250 2],[426.7 800 1],[426.726 1000 1],[432.556 200 2],[464.742 600 2],[465.025 520 2],[465.147 375 2],[465.83 200 3],[466.586 200 2],[477.175 200 0],[493.205 200 0],[494.388 5 4],[494.456 5 4],[505.217 200 0],[513.294 350 1],[513.328 350 1],[514.349 350 1],[514.516 570 1],[515.109 400 1],[538.034 300 0],[564.807 250 1],[566.247 350 1],[569.592 450 2],[580.133 250 3],[581.198 200 3],[582.642 150 2],[588.977 570 1],[589.159 350 1],[600.113 200 0],[600.603 250 0],[600.718 110 0],[601.068 150 0],[601.322 300 0],[601.484 250 0],[657.805 800 1],[658.288 570 1],[658.761 200 0],[674.438 150 2],[678.39 250 1],[703.725 150 2],[711.318 250 0],[711.519 250 0],[711.563 250 1],[711.699 200 0],[711.99 350 1],[723.132 800 1],[723.642 1000 1],[761.265 150 2],[772.62 90 3],[786.089 200 0],[805.862 200 0],[819.648 300 2],[833.299 150 2],[833.515 520 0],[850.032 300 2],[906.143 250 0],[906.247 200 0],[907.828 200 0],[908.851 250 0],[909.483 450 0],[911.18 300 0],[940.573 800 0],[960.303 150 0],[962.08 250 0],[965.844 300 0],[1068.308 200 0],[1069.125 300 0],[1161.929 12 0],[1162.883 23 0],[1165.885 13 0],[1165.968 47 0],[1166.963 24 0],[1174.822 85 0],[1175.332 142 0],[1175.476 114 0],[1177.754 11 0],[1189.291 17 0],[1189.575 30 0],[1261.41 26 0],[1350.227 20 0],[1439.965 38 0],[1440.325 16 0],[1442.012 61 0],[1442.903 12 0],[1444.224 13 0],[1655.966 12 0],[1689.0381 50 0],[1733.8561 10 0],[1744.86 11 0],[1813.9801 13 0],[1972.199 23 0]}{ALLx1000x1000x1000x800x1000x450x0}{UVx1000x1000x1000x800x1000x450x0}{VISx1000x300x1000x600x250x5x0}{IVx800x800x0x300x0x0x0}%[3.4973 110 4],[4.0268 450 4],
\pgfspectra@elt@search{#1}{N}{[16.6947 52 4],[18.175 400 3],[18.6069 52 4],[18.6153 62 4],[19.17 400 3],[19.29 400 3],[19.687 500 3],[19.723 500 3],[20.26 500 3],[20.594 500 3],[20.597 500 3],[20.603 500 3],[20.9303 90 4],[21.72 500 3],[21.79 500 3],[22.34 500 3],[22.512 800 3],[22.521 800 3],[23.412 600 3],[23.42 600 3],[23.425 600 3],[23.607 550 3],[23.799 500 3],[23.87 500 3],[23.88 600 3],[23.962 500 3],[24.72 900 3],[24.7561 90 4],[24.7706 120 4],[24.843 500 3],[24.846 500 3],[24.848 500 3],[25.795 500 2],[25.85 650 2],[25.919 700 2],[26.009 800 2],[26.045 600 3],[26.128 800 2],[26.291 500 2],[26.523 500 2],[26.527 500 2],[26.6196 150 4],[26.6379 200 4],[26.87 500 2],[27.099 650 3],[28.342 250 3],[28.348 300 3],[28.358 350 3],[28.556 600 3],[29.77 600 3],[29.782 700 3],[30.032 650 3],[30.3123 90 3],[30.328 500 3],[31.4715 150 2],[31.485 200 2],[31.4877 90 2],[31.5053 150 3],[32.2503 120 3],[32.257 150 3],[32.2724 200 3],[32.3175 120 3],[32.326 600 2],[33.505 300 3],[33.835 500 2],[34.02 500 2],[35.193 500 3],[35.198 500 2],[35.306 700 3],[36.2833 120 2],[36.2881 150 2],[36.2946 150 2],[36.2985 90 2],[37.4204 300 2],[37.4441 350 2],[38.748 500 2],[42.077 500 3],[45.1869 250 2],[45.2226 300 2],[46.374 650 3],[64.4634 285 1],[64.4837 360 1],[64.5178 450 1],[64.75 140 0],[66.0286 360 1],[67.1016 170 1],[67.1386 285 1],[67.163 150 1],[67.1773 160 1],[67.2001 170 1],[68.4996 500 2],[68.5513 570 2],[68.5816 650 2],[68.6335 500 2],[69.27 350 0],[71.3518 90 4],[71.386 150 4],[74.6984 285 1],[74.8195 150 4],[74.8291 200 4],[76.3336 500 2],[76.4359 570 2],[76.5148 570 3],[77.1544 250 2],[77.1901 300 2],[77.2385 350 2],[77.2891 200 2],[77.2975 150 2],[77.5965 650 1],[88.567 90 0],[90.9697 90 0],[91.0278 80 0],[91.0645 40 0],[91.5612 450 1],[91.5962 450 1],[91.6012 550 1],[91.6701 650 1],[92.1992 520 3],[92.1992 520 3],[92.2519 500 3],[92.2519 500 3],[92.3057 480 3],[92.4283 520 3],[95.3415 90 0],[95.3655 100 0],[95.397 130 0],[95.5335 1000 3],[96.399 130 0],[96.4626 115 0],[96.5041 70 0],[97.9842 650 2],[97.9919 700 2],[98.979 900 2],[99.1514 700 2],[99.1579 1000 2],[103.616 150 3],[106.7614 90 0],[106.8612 60 0],[107.871 90 3],[108.399 450 1],[108.458 600 1],[108.5546 430 1],[108.5701 650 1],[109.7237 175 0],[109.8095 115 0],[109.826 115 0],[110.036 105 0],[110.0465 40 0],[110.1291 90 0],[113.4165 360 0],[113.4415 385 0],[113.498 410 0],[114.365 105 0],[116.3884 130 0],[116.4206 60 0],[116.4325 105 0],[116.7448 270 0],[116.8334 105 0],[116.8417 60 0],[116.8536 195 0],[117.651 230 0],[117.663 105 0],[117.7695 195 0],[118.3031 500 2],[118.455 570 2],[118.801 90 3],[119.955 410 0],[120.0223 385 0],[120.071 360 0],[122.5026 175 0],[122.537 160 0],[122.841 130 0],[122.879 160 0],[123.8821 1000 4],[124.2804 900 4],[124.3179 360 0],[124.3306 315 0],[131.054 290 0],[131.095 250 0],[131.9 230 0],[131.968 315 0],[132.657 115 0],[132.792 115 0],[138.7371 150 2],[141.194 360 0],[149.2625 700 0],[149.282 490 0],[149.4675 640 0],[154.9336 90 4],[161.633 200 4],[161.969 350 4],[171.855 1000 3],[172.9945 250 2],[174.2729 775 0],[174.5252 700 0],[174.7848 570 2],[175.1218 350 2],[175.1657 650 2],[180.4486 150 2],[180.5669 200 2],[184.642 150 2],[186.037 90 4],[188.506 350 2],[188.522 400 2],[190.799 200 2],[191.955 150 2],[191.977 150 2],[192.065 300 2],[192.084 150 2],[192.13 200 2],[206.401 200 2],[206.442 250 2],[206.868 120 2],[207.109 90 2],[208.034 90 3],[209.553 160 1],[209.62 70 1],[209.686 110 1],[211.759 90 2],[212.15 90 2],[213.018 110 1],[214.278 160 1],[214.731 90 2],[218.82 200 2],[218.838 150 2],[220.609 160 1],[228.669 160 1],[228.844 110 1],[231.649 220 1],[231.669 160 1],[231.705 285 1],[231.809 90 3],[246.127 160 1],[247.769 150 3],[249.683 110 1],[249.697 70 1],[252.022 110 1],[252.079 160 1],[252.223 220 1],[259.094 110 1],[264.565 250 3],[264.618 300 3],[264.696 350 3],[268.218 250 2],[268.92 90 2],[270.984 160 1],[279.922 110 1],[282.364 110 1],[285.916 60 4],[288.527 160 1],[297.452 90 4],[298.078 150 4],[298.131 250 4],[299.843 60 4],[300.683 220 1],[307.825 90 3],[336.734 120 2],[343.715 360 1],[346.337 90 3],[347.871 570 3],[348.299 500 3],[348.496 400 3],[374.754 90 3],[375.467 90 2],[377.105 120 2],[383.837 285 1],[391.9 360 1],[393.852 90 2],[395.585 450 1],[399.5 1000 1],[399.863 150 2],[400.358 200 2],[403.508 360 1],[404.131 550 1],[404.353 360 1],[405.776 150 3],[409.733 250 2],[409.994 140 0],[410.343 200 2],[410.995 185 0],[417.616 285 1],[419.576 120 2],[420.01 150 2],[422.774 285 1],[423.691 285 1],[423.705 220 1],[424.178 450 1],[433.291 90 2],[434.568 120 2],[437.911 300 2],[443.274 285 1],[444.703 650 1],[451.091 90 2],[451.486 120 2],[453.041 360 1],[460.148 550 1],[460.373 350 4],[460.633 90 3],[460.716 450 1],[461.387 360 1],[461.998 250 4],[462.139 450 1],[463.054 870 1],[463.414 90 2],[464.064 120 2],[464.308 550 1],[478.813 285 1],[480.329 450 1],[484.738 180 0],[485.882 90 2],[486.715 150 2],[489.511 285 1],[491.494 160 0],[493.512 210 0],[494.456 200 4],[495.023 160 0],[496.398 350 0],[498.737 285 1],[499.436 450 1],[500.148 650 1],[500.27 360 1],[500.515 870 1],[500.732 550 1],[501.062 450 1],[501.639 360 1],[502.566 360 1],[504.51 550 1],[528.12 185 0],[529.268 140 0],[531.435 90 2],[532.082 200 2],[532.718 150 2],[549.567 450 1],[553.536 285 1],[566.663 650 1],[567.602 550 1],[567.956 870 1],[568.621 450 1],[571.077 450 1],[574.73 285 1],[575.25 700 0],[576.475 240 0],[582.954 265 0],[585.404 235 0],[592.781 360 1],[593.178 550 1],[594.024 285 1],[594.165 650 1],[595.239 285 1],[599.943 160 0],[600.847 210 0],[616.776 285 1],[637.962 360 1],[638.077 150 3],[641.165 185 0],[642.064 210 0],[642.302 210 0],[642.832 210 0],[643.768 185 0],[644.094 235 0],[645.411 90 2],[645.79 185 0],[646.702 120 2],[646.844 300 0],[648.171 265 0],[648.205 750 1],[648.27 360 0],[648.375 300 0],[648.48 325 0],[649.122 160 0],[649.954 210 0],[650.631 185 0],[661.056 750 1],[662.254 185 0],[663.694 185 0],[664.496 235 0],[664.65 185 0],[665.346 235 0],[665.651 210 0],[672.262 185 0],[739.864 210 0],[740.612 160 0],[740.624 265 0],[742.364 685 0],[744.229 785 0],[746.831 900 0],[760.88 185 0],[761.846 60 4],[776.224 450 1],[818.487 400 0],[818.802 400 0],[820.036 250 0],[821.072 300 0],[821.634 570 0],[822.314 400 0],[824.239 400 0],[843.874 550 1],[856.774 500 0],[859.4 570 0],[862.924 650 0],[865.589 500 0],[867.608 220 1],[868.028 700 0],[868.34 650 0],[868.615 500 0],[868.743 110 1],[869.9 110 1],[870.325 500 0],[871.054 160 1],[871.17 570 0],[871.883 500 0],[872.889 250 0],[874.736 200 0],[938.68 500 0],[939.279 570 0],[946.068 250 0],[986.333 200 0],[986.541 160 1],[986.821 110 1],[988.739 160 1],[989.109 220 1],[996.186 160 1],[996.934 220 1],[1002.327 285 1],[1003.545 220 1],[1006.515 220 1],[1007.012 160 1],[1010.513 250 0],[1010.889 300 0],[1011.248 350 0],[1011.464 400 0],[1012.627 110 1],[1053.957 250 0],[1207.451 200 0],[1218.682 380 0],[1228.897 225 0],[1232.876 290 0],[1238.165 310 0],[1243.84 180 0],[1246.125 510 0],[1246.962 920 0],[1342.961 500 0],[1358.133 840 0],[1358.773 180 0],[1360.227 180 0],[1362.418 290 0],[1475.707 250 0],[1486.887 100 0],[1496.66 160 0],[1558.227 180 0],[1751.658 120 0],[1758.4859 100 0],[1787.826 100 0]}{ALLx1000x920x1000x1000x1000x1000x0}{UVx1000x775x650x1000x1000x1000x0}{VISx1000x900x1000x300x150x350x0}{IVx920x920x550x0x0x0x0}%
\pgfspectra@elt@search{#1}{O}{[12.4616 80 4],[13.5523 110 4],[13.8109 80 4],[13.9029 110 4],[15.1447 80 4],[15.1477 110 4],[15.1546 150 4],[16.4574 80 4],[16.4657 110 4],[16.4709 80 4],[16.6235 80 4],[16.799 150 4],[17.0219 110 4],[17.2169 450 4],[18.5745 250 4],[19.2751 375 4],[19.2799 450 4],[19.2906 520 4],[19.3003 80 4],[19.4593 200 4],[19.586 150 3],[19.601 200 3],[20.2161 80 4],[20.2224 80 4],[20.2283 80 4],[20.2334 80 4],[20.2393 150 4],[20.378 110 4],[20.382 150 4],[20.385 100 4],[20.389 200 4],[20.394 100 4],[20.718 110 3],[20.724 150 3],[20.7794 300 4],[21.504 150 4],[21.5103 200 4],[21.5245 250 4],[21.6018 250 4],[22.0352 520 4],[22.7372 80 4],[22.7469 80 4],[22.7511 150 4],[22.7549 80 4],[22.7634 80 4],[22.7689 80 4],[23.1823 150 4],[23.346 140 3],[23.35 150 3],[23.352 110 3],[23.356 200 3],[23.36 110 3],[23.836 90 3],[23.857 180 3],[24.8459 110 4],[25.256 110 3],[25.295 110 3],[25.308 150 3],[26.039 300 3],[26.056 250 3],[26.434 80 2],[26.448 110 2],[26.697 110 2],[26.698 150 2],[26.703 150 2],[27.738 150 2],[27.963 300 3],[27.994 375 3],[28.571 110 3],[28.584 150 3],[28.6448 110 4],[29.562 80 2],[29.566 110 2],[29.572 120 2],[30.341 150 2],[30.346 150 2],[30.352 140 2],[30.362 160 2],[30.369 160 2],[30.38 250 2],[30.56 200 2],[30.566 250 2],[30.57 190 2],[30.577 300 2],[30.584 190 2],[30.662 200 3],[30.688 150 3],[32.0979 450 2],[32.845 300 2],[32.874 250 2],[34.531 300 2],[35.514 110 2],[35.533 90 2],[35.547 80 2],[35.902 200 2],[35.922 190 2],[35.938 150 2],[37.38 210 2],[37.4 200 2],[37.408 300 2],[37.416 190 2],[37.433 200 2],[37.444 210 2],[39.5558 450 2],[43.498 300 2],[50.7391 800 2],[50.7683 900 2],[50.8182 1000 2],[52.5795 1000 2],[53.783 250 1],[53.826 300 1],[53.909 220 1],[53.955 200 1],[53.985 150 1],[55.333 700 3],[55.4075 775 3],[55.4514 850 3],[55.5261 700 3],[59.7818 700 2],[59.9598 1000 2],[60.8398 580 3],[60.97 110 2],[60.9829 640 3],[61.004 160 2],[61.075 200 2],[61.085 100 2],[61.6952 270 3],[61.7005 150 3],[61.7036 200 3],[62.4617 520 3],[62.513 580 3],[62.5852 640 3],[62.973 1000 4],[64.4148 150 1],[67.295 200 1],[67.377 150 1],[68.1272 230 4],[68.5544 70 0],[70.2332 800 2],[70.2822 800 2],[70.2899 900 2],[70.385 1000 2],[71.8484 900 1],[71.8562 600 1],[74.4794 70 0],[75.8678 700 4],[75.9441 640 4],[76.0228 580 4],[76.0445 775 4],[76.1128 640 4],[76.2003 700 4],[77.0793 70 0],[77.1056 90 0],[77.4518 520 4],[77.5321 70 0],[77.9734 200 3],[77.9821 315 3],[77.9912 360 3],[77.9997 200 3],[78.7711 640 3],[79.0109 520 3],[79.0199 700 3],[79.1973 70 0],[79.666 300 1],[80.22 200 3],[80.2255 160 3],[80.4267 90 0],[80.4848 70 0],[80.5295 70 0],[80.581 80 0],[83.2762 240 1],[83.2927 600 2],[83.3332 450 1],[83.3742 780 2],[83.4467 600 1],[83.5096 600 2],[83.5292 800 2],[87.7879 40 0],[92.1296 130 3],[92.1366 160 3],[92.2008 80 0],[92.3367 200 3],[92.3433 130 3],[93.5193 90 0],[94.8686 40 0],[97.1738 90 0],[97.6448 40 0],[98.8773 160 0],[99.0204 40 0],[102.5762 250 0],[102.7431 90 0],[103.923 160 0],[104.0942 60 0],[115.2152 40 0],[130.2168 900 0],[130.4858 600 0],[130.6029 300 0],[133.8612 200 3],[134.2992 130 3],[134.3512 230 3],[137.1292 640 4],[147.689 160 2],[150.672 160 4],[159.001 285 2],[159.133 160 2],[164.368 315 4],[170.7996 160 4],[176.012 220 2],[176.042 110 2],[176.322 220 2],[176.448 220 2],[176.778 750 2],[176.824 550 2],[177.167 360 2],[177.3 110 2],[177.385 110 2],[177.916 220 2],[178.103 160 2],[178.485 160 2],[178.966 220 2],[184.826 110 2],[185.662 110 2],[187.278 285 2],[187.287 285 2],[187.494 285 2],[192.004 160 2],[192.075 110 2],[192.152 110 2],[192.349 220 2],[192.382 110 2],[192.694 110 2],[201.327 360 2],[202.696 160 2],[204.567 220 2],[205.274 160 2],[228.342 30 1],[228.489 30 1],[229.332 110 1],[230.035 200 1],[231.305 30 1],[231.612 30 1],[231.679 30 1],[231.968 50 1],[232.215 30 1],[233.931 30 1],[239.044 200 2],[239.433 80 2],[241.16 110 1],[242.284 80 2],[242.555 80 1],[243.356 250 1],[243.606 80 1],[243.883 80 2],[244.426 80 1],[244.555 300 1],[244.9372 200 3],[245.004 200 3],[245.499 200 2],[249.344 200 3],[249.377 200 3],[250.773 200 3],[250.919 230 3],[251.72 200 3],[255.806 200 2],[268.753 80 2],[269.549 110 2],[273.334 300 1],[274.746 110 1],[278.101 1000 4],[278.699 920 4],[278.985 775 4],[283.626 160 3],[292.145 160 3],[294.133 200 4],[294.165 210 4],[295.968 80 2],[297.229 265 0],[298.378 250 2],[301.763 80 2],[302.345 80 2],[304.302 80 2],[304.713 200 2],[305.93 110 2],[306.342 460 3],[307.161 410 3],[312.171 80 2],[312.262 160 1],[312.944 220 1],[313.286 110 2],[313.482 450 1],[313.844 285 1],[314.466 160 4],[320.966 160 3],[323.857 80 2],[326.098 200 2],[326.546 300 2],[326.731 80 2],[327.098 220 1],[327.352 220 1],[327.769 220 1],[328.759 360 1],[330.515 160 1],[330.66 160 1],[331.23 80 2],[334.074 110 2],[334.808 230 3],[334.911 270 3],[335.427 160 3],[337.54 200 3],[337.72 220 1],[337.806 130 3],[338.12 360 3],[338.552 360 3],[339.025 285 1],[339.679 270 3],[340.352 360 3],[340.738 220 1],[340.966 230 3],[340.984 160 1],[341.169 410 3],[341.364 230 3],[344.41 80 2],[345.512 80 2],[347.081 285 1],[348.983 200 3],[349.224 160 3],[356.039 230 3],[356.333 270 3],[369.87 80 2],[370.275 80 2],[370.337 80 2],[370.724 110 2],[371.275 220 1],[371.508 110 2],[372.593 315 3],[372.733 285 1],[372.903 360 3],[373.685 410 3],[373.992 160 1],[374.4 110 2],[374.489 230 3],[374.949 360 1],[375.467 150 2],[375.721 80 2],[375.987 250 2],[379.126 110 2],[380.314 160 1],[382.341 120 0],[391.196 450 1],[391.929 160 1],[394.729 185 0],[394.748 160 0],[394.759 140 0],[395.437 220 1],[395.461 100 0],[396.159 200 2],[397.326 450 1],[398.22 220 1],[406.99 160 1],[407.216 285 1],[407.587 450 1],[408.391 80 1],[408.714 50 1],[408.927 150 1],[409.724 110 1],[410.5 220 1],[411.922 285 1],[412.399 100 4],[413.281 160 1],[414.606 50 1],[415.33 220 1],[418.546 285 1],[418.979 450 1],[423.327 80 0],[425.374 50 1],[425.398 50 1],[427.547 50 1],[430.378 50 1],[431.714 285 1],[433.686 160 1],[434.556 220 1],[434.943 285 1],[436.69 220 1],[436.825 100 0],[439.595 220 1],[441.491 450 1],[441.698 285 1],[444.821 160 1],[445.238 160 1],[446.545 50 1],[446.628 50 1],[446.783 50 1],[446.941 50 1],[459.097 360 1],[459.617 285 1],[460.939 80 1],[463.885 160 1],[464.181 360 1],[464.914 450 1],[465.084 160 1],[466.164 360 1],[467.623 285 1],[469.921 220 1],[470.536 285 1],[492.46 160 1],[493.027 230 4],[494.306 220 1],[532.91 135 0],[532.968 160 0],[533.074 190 0],[543.518 90 0],[543.578 110 0],[543.686 135 0],[557.734 120 0],[559.237 110 2],[559.791 130 4],[595.839 160 0],[595.858 190 0],[599.528 80 0],[604.623 160 0],[604.644 190 0],[604.649 110 0],[610.627 100 0],[615.598 400 0],[615.677 450 0],[615.818 490 0],[625.683 80 0],[626.155 100 0],[636.634 100 0],[637.432 100 0],[645.36 320 0],[645.444 360 0],[645.598 400 0],[650.024 130 4],[660.491 80 0],[665.383 100 0],[700.192 360 0],[700.223 450 0],[715.67 210 0],[725.415 400 0],[725.445 450 0],[725.453 320 0],[747.644 210 0],[747.724 100 0],[747.908 120 0],[748.067 120 0],[770.675 100 0],[777.194 870 0],[777.417 810 0],[777.539 750 0],[788.627 80 0],[794.315 100 0],[794.717 100 0],[794.755 235 0],[795.08 210 0],[795.216 185 0],[798.194 110 0],[798.24 135 0],[798.698 190 0],[798.733 135 0],[799.507 250 0],[822.182 400 0],[822.765 265 0],[823.002 265 0],[823.3 325 0],[823.535 120 0],[842.616 120 0],[844.625 810 0],[844.636 1000 0],[844.676 935 0],[882.043 325 0],[905.701 160 0],[911.829 120 0],[913.471 80 0],[915.014 80 0],[915.148 80 0],[915.601 235 0],[926.081 450 0],[926.084 490 0],[926.094 450 0],[926.258 400 0],[926.267 540 0],[926.277 590 0],[926.594 490 0],[926.601 640 0],[939.919 185 0],[948.116 120 0],[948.288 120 0],[948.743 235 0],[949.271 140 0],[949.797 265 0],[949.93 160 0],[950.559 235 0],[952.196 210 0],[952.336 120 0],[952.396 120 0],[952.828 100 0],[962.213 100 0],[962.529 120 0],[967.738 160 0],[969.466 80 0],[969.491 65 0],[974.15 235 0],[976.065 235 0],[990.905 120 0],[993.698 140 0],[994.041 120 0],[999.531 160 0],[1042.118 120 0],[1128.634 590 0],[1128.691 640 0],[1128.702 490 0],[1128.732 490 0],[1129.51 490 0],[1129.768 540 0],[1130.238 590 0],[1135.869 265 0],[1246.402 490 0],[1257.004 450 0],[1299.077 120 0],[1307.691 160 0],[1316.389 700 0],[1316.485 750 0],[1316.511 640 0],[1621.206 160 0],[1796.6699 120 0],[1802.1211 590 0],[1804.148 120 0],[1804.2189 120 0],[1804.623 120 0],[1822.923 140 0],[1824.3631 540 0],[2617.3561 140 0]}{ALLx1000x1000x900x1000x850x1000x0}{UVx1000x900x900x1000x850x1000x0}{VISx870x870x450x200x0x230x0}{IVx1000x1000x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{F}{[13.454 8 4],[14.795 8 4],[14.8 10 4],[15.251 8 4],[15.854 8 4],[16.227 8 4],[16.35 8 4],[16.356 10 4],[16.598 18 4],[16.618 20 4],[16.979 6 3],[16.984 6 3],[17.107 6 3],[17.47 8 4],[17.637 8 3],[17.843 10 4],[17.859 8 4],[18.152 8 3],[18.157 8 3],[18.298 8 4],[18.672 8 4],[18.679 8 4],[18.684 10 4],[18.697 8 4],[18.701 8 4],[18.724 6 3],[19.057 12 4],[19.084 14 4],[19.197 8 4],[19.639 10 3],[19.645 12 3],[19.976 10 3],[19.98 10 3],[19.985 10 3],[19.993 10 3],[20 10 3],[20.009 14 3],[20.101 12 3],[20.106 14 3],[20.11 12 3],[20.116 16 3],[20.122 12 3],[20.555 8 4],[20.825 18 3],[21.385 14 3],[21.406 14 3],[22.077 14 3],[22.694 12 3],[22.71 10 3],[23.012 10 2],[23.322 12 3],[23.339 10 3],[23.986 14 3],[24.002 14 3],[24.008 18 3],[24.015 14 3],[24.028 14 3],[24.037 14 3],[25.103 20 3],[25.572 10 2],[25.577 12 2],[25.586 14 2],[26.171 14 2],[26.175 12 2],[26.381 16 2],[27.023 12 3],[27.969 14 2],[31.522 16 2],[31.554 14 2],[31.575 12 2],[37.53 6 1],[38.09 6 1],[40.704 8 1],[41.965 28 3],[42.005 30 3],[42.073 32 3],[42.951 20 2],[43.015 22 2],[43.022 16 2],[43.076 30 3],[43.091 10 1],[43.155 8 1],[43.564 8 1],[45.718 14 1],[46.429 18 2],[46.437 20 4],[46.511 20 2],[46.537 22 4],[46.598 24 4],[46.699 20 4],[47.195 8 1],[47.2 12 1],[47.271 10 1],[47.302 8 1],[48.46 18 1],[49.057 26 3],[49.1 32 3],[49.738 10 3],[49.783 12 3],[49.88 14 3],[50.616 18 4],[50.808 20 4],[50.839 24 2],[51.364 10 1],[51.397 14 4],[51.408 12 4],[51.494 14 1],[52.459 16 4],[52.529 18 4],[52.63 20 4],[54.685 14 1],[54.787 12 1],[54.832 10 1],[54.852 8 1],[56.769 24 2],[56.775 22 2],[57.064 28 3],[57.13 28 3],[57.139 30 3],[57.266 32 3],[60.567 18 1],[60.629 16 1],[60.68 20 1],[60.692 14 1],[60.747 16 1],[60.806 18 1],[63.014 16 2],[63.02 18 2],[64.767 14 4],[64.777 20 4],[64.787 22 4],[64.797 14 4],[65.403 26 4],[65.612 24 2],[65.687 26 2],[65.723 22 4],[65.733 28 4],[65.833 28 2],[67.612 28 3],[67.715 26 3],[67.722 30 3],[67.899 26 3],[67.921 32 3],[75.704 12 4],[78.039 3 0],[78.052 2 0],[78.238 2 0],[79.188 2.4 0],[79.254 2 0],[79.442 2 0],[80.696 30 0],[80.96 25 0],[95.187 100 0],[95.483 200 0],[95.555 150 0],[95.852 100 0],[97.24 4 0],[97.39 70 0],[97.622 20 0],[97.651 8 0],[97.775 20 0],[108.231 12 4],[108.839 14 4],[112.976 8 1],[121.903 16 2],[126.687 16 2],[126.771 18 2],[129.754 14 2],[132.706 8 1],[132.811 10 1],[133.359 8 1],[134.36 10 1],[134.404 8 1],[135.992 14 2],[140.061 10 1],[140.714 8 1],[149.309 12 1],[149.324 10 1],[149.331 8 1],[149.893 22 2],[150.201 24 2],[150.418 22 2],[150.479 28 2],[150.63 26 2],[150.677 22 2],[155.302 20 2],[155.759 22 2],[156.373 20 2],[156.554 20 2],[162.34 20 2],[165.076 20 2],[167.039 26 2],[167.74 28 2],[170.213 8 1],[171.699 20 2],[174.475 8 1],[174.555 10 1],[174.739 12 1],[177.009 24 2],[177.067 30 2],[177.293 22 2],[177.336 28 2],[179.165 32 2],[180.303 22 2],[180.47 20 2],[180.59 34 2],[183.93 22 2],[183.997 24 2],[184.014 22 2],[190.076 16 2],[202.744 20 2],[203.032 24 2],[217.144 8 3],[221.717 24 2],[222.918 2 4],[225.272 4 4],[229.829 10 3],[245.063 4 4],[245.158 8 3],[245.207 24 2],[245.692 10 3],[246.133 2 4],[246.485 26 2],[247.029 26 2],[247.873 24 2],[248.437 30 2],[254.277 24 2],[255.611 20 1],[258.004 24 2],[258.381 26 2],[259.323 24 2],[259.553 26 2],[259.928 28 2],[262.501 26 2],[262.97 28 2],[265.644 24 2],[269.398 2 4],[270.23 2 4],[270.396 2 4],[270.717 4 4],[275.555 26 2],[275.963 32 2],[278.815 24 2],[281.145 32 2],[282.074 8 3],[282.613 10 3],[283.399 28 2],[283.563 30 2],[286.033 30 2],[286.286 24 2],[287.14 20 1],[288.758 28 2],[288.945 30 2],[290.53 24 2],[291.329 28 2],[291.634 32 2],[293.249 28 2],[299.428 28 2],[299.721 24 2],[299.753 26 2],[299.947 24 2],[303.925 26 2],[303.975 24 2],[304.28 32 2],[304.914 30 2],[305.999 24 1],[311.362 28 2],[311.57 32 2],[312.154 36 2],[312.479 28 2],[313.423 28 2],[314.699 28 2],[315.349 28 1],[317.417 36 2],[317.476 34 2],[320.276 34 1],[321.4 24 2],[326.408 28 1],[341.465 28 1],[341.645 30 1],[341.68 28 1],[341.7 32 1],[347.296 32 1],[347.331 30 1],[347.478 34 1],[350.139 38 1],[350.145 40 1],[350.157 40 1],[350.284 36 1],[350.296 40 1],[350.311 42 1],[350.537 34 1],[350.552 40 1],[350.563 44 1],[352.289 32 1],[353.687 30 1],[354.177 32 1],[359.052 32 1],[359.41 1.2 0],[359.869 34 1],[360.139 36 1],[360.284 38 1],[366.817 2.4 0],[370.453 36 1],[371.035 32 1],[373.957 32 1],[380.583 28 1],[384.709 54 1],[384.999 52 1],[385.167 50 1],[389.848 1 0],[389.883 38 1],[390.193 36 1],[390.382 34 1],[393.069 1.6 0],[393.426 1 0],[394.856 1 0],[397.204 30 1],[397.267 32 1],[397.478 34 1],[402.473 48 1],[402.501 44 1],[402.549 46 1],[408.391 32 1],[410.307 38 1],[410.322 34 1],[410.351 40 1],[410.371 36 1],[410.387 34 1],[410.916 34 1],[411.654 32 1],[411.921 30 1],[420.715 28 1],[422.516 34 1],[424.412 30 1],[424.623 40 1],[424.639 38 1],[424.659 36 1],[424.677 34 1],[424.684 32 1],[427.536 34 1],[427.753 32 1],[427.893 32 1],[429.917 40 1],[442.03 28 2],[442.735 24 2],[443.232 24 2],[444.653 32 1],[444.672 34 1],[444.719 36 1],[447.999 28 2],[473.438 28 1],[485.939 34 1],[493.326 32 1],[496.065 1.2 0],[500.2 28 1],[501.254 30 2],[511.099 32 2],[517.325 30 1],[523.041 3 0],[527.901 2.4 0],[554.052 3.6 0],[555.243 2.4 0],[557.733 2 0],[558.927 32 1],[562.406 4 0],[562.693 2.4 0],[565.915 3 0],[566.753 8 0],[567.167 18 0],[568.914 3.6 0],[570.082 5 0],[570.731 5 0],[575.317 28 2],[576.12 24 2],[595.015 2.4 0],[595.919 5 0],[596.528 14 0],[599.443 10 0],[601.583 30 0],[603.804 16 0],[604.754 180 0],[608.011 20 0],[609.182 30 2],[612.55 28 2],[614.976 160 0],[621.087 80 0],[623.357 26 2],[623.965 2600 0],[624.79 28 1],[634.851 2000 0],[636.305 28 2],[641.365 1600 0],[656.969 90 0],[658.039 60 0],[665.041 80 0],[669.048 360 0],[670.828 80 0],[677.398 1400 0],[679.553 300 0],[683.426 1800 0],[685.603 10000 0],[687.022 1600 0],[690.248 3000 0],[690.982 1200 0],[696.635 800 0],[703.747 9000 0],[712.789 6000 0],[717.99 26 1],[720.236 3000 0],[721.179 26 1],[730.903 200 0],[731.102 3000 0],[731.43 140 0],[733.196 1000 0],[733.677 24 2],[735.494 26 2],[739.869 2000 0],[742.565 800 0],[748.272 440 0],[748.916 500 0],[751.492 180 0],[755.224 1000 0],[757.338 1000 0],[760.717 1400 0],[775.47 3600 0],[780.021 3000 0],[787.918 60 0],[789.859 100 0],[793.631 70 0],[795.632 60 0],[801.601 16 1],[804.093 200 0],[807.552 180 0],[807.752 70 0],[812.656 70 0],[812.926 120 0],[815.951 60 0],[817.934 120 0],[819.124 60 0],[820.863 70 0],[821.473 500 0],[823.077 600 0],[823.219 100 0],[827.462 300 0],[829.858 400 0],[830.24 120 0],[880.758 180 0],[890.092 200 0],[891.278 60 0],[902.549 70 0],[904.21 80 0],[917.868 70 0],[943.367 40 0],[950.53 5 0],[966.204 2.4 0],[973.434 5 0],[982.211 3 0],[990.265 2.4 0],[1004.798 16 1],[1028.545 3 0],[1086.231 4 0]}{ALLx10000x10000x54x36x32x28x0}{UVx200x200x44x36x32x28x0}{VISx10000x10000x54x32x0x0x0}{IVx3000x3000x16x0x0x0x0}%
@@ -44,7 +44,7 @@
\pgfspectra@elt@search{#1}{Na}{[10.628 100 4],[10.63 100 4],[10.64 100 4],[10.649 100 4],[10.793 200 4],[10.802 200 4],[11.082 200 4],[11.088 200 4],[11.151 100 4],[11.201 300 4],[11.47 100 4],[11.474 100 4],[11.799 400 4],[12.004 100 4],[12.518 400 4],[12.522 400 4],[12.529 500 4],[12.543 300 4],[12.546 300 4],[12.59 200 4],[12.621 100 4],[12.656 200 4],[12.661 100 4],[12.744 400 4],[12.747 400 4],[12.803 400 4],[12.805 400 4],[13.068 200 4],[13.135 300 4],[13.141 200 4],[13.164 300 4],[13.316 500 4],[13.339 400 4],[13.427 200 4],[13.579 300 4],[13.585 300 4],[13.6551 4 3],[13.6854 4 3],[13.881 200 4],[13.892 300 4],[13.9961 4 3],[14.2232 7 3],[14.2359 6 3],[14.6064 8 3],[14.6302 7 3],[14.864 400 4],[14.886 300 4],[15.0298 9 3],[15.0543 7 3],[15.064 7 3],[15.0687 8 3],[15.113 400 4],[15.1299 7 3],[15.5083 7 3],[15.524 7 3],[15.5448 7 3],[15.551 8 3],[15.6537 8 3],[15.721 300 4],[16.2448 12 3],[16.319 10 3],[16.362 300 4],[16.8411 12 3],[16.8546 10 3],[18.395 5 2],[18.935 5 2],[19.0445 10 3],[19.38 5 2],[19.404 5 2],[19.417 5 2],[19.429 5 2],[19.468 6 2],[19.553 6 2],[19.9772 10 3],[20.215 6 2],[20.219 6 2],[20.249 8 2],[20.271 5 2],[20.272 7 2],[20.276 8 2],[20.306 8 2],[20.328 8 2],[20.333 8 2],[20.549 10 3],[20.73 10 2],[21.534 10 2],[21.586 12 2],[21.612 12 2],[22.987 15 2],[23.059 12 2],[25.052 50 2],[25.137 30 2],[26.69 25 2],[26.765 70 2],[26.787 50 2],[26.863 50 2],[27.208 20 2],[27.245 20 2],[30.015 160 1],[30.02 160 1],[30.132 90 1],[30.144 100 1],[30.245 60 1],[30.715 800 4],[30.826 1000 4],[31.9644 10 3],[33.255 800 4],[33.391 900 4],[36.032 800 4],[36.037 800 4],[36.076 10 3],[37.208 300 1],[37.638 350 1],[37.814 100 2],[38.01 70 2],[40.072 1000 4],[40.8684 12 3],[40.9614 10 3],[41.0372 15 3],[41.1334 10 3],[41.2242 13 3],[44.505 500 4],[44.519 600 4],[45.99 600 4],[46.105 850 4],[46.326 1000 4],[129.397 60 1],[132.774 50 1],[133.676 7 2],[133.736 7 2],[134.067 8 2],[134.239 9 2],[134.273 10 2],[134.754 45 1],[135.528 11 2],[136.19 12 2],[137.234 11 2],[137.469 90 1],[140.468 90 1],[142.089 10 2],[144.419 10 2],[144.931 12 2],[149.521 45 1],[149.601 40 1],[149.773 45 1],[150.641 80 1],[150.691 60 1],[151.31 70 1],[151.963 60 1],[156.287 11 2],[156.529 10 2],[158.05 10 3],[158.218 11 3],[158.233 10 3],[158.398 11 3],[158.414 12 3],[158.699 10 3],[158.705 12 3],[159.818 10 2],[161.395 10 3],[161.592 11 3],[161.857 12 3],[165.547 11 3],[165.792 60 1],[168.894 11 2],[169.929 10 2],[170.197 15 3],[170.241 10 3],[171.112 10 2],[172.827 11 2],[173.111 10 2],[175.548 10 2],[177.657 90 1],[177.824 40 1],[178.304 60 1],[178.719 80 1],[178.885 45 1],[179.841 80 1],[180.126 45 1],[180.707 15 2],[180.709 90 1],[180.838 60 1],[181.077 10 2],[181.167 11 2],[181.681 10 2],[182.17 50 1],[183.387 45 1],[183.522 10 2],[183.522 80 1],[183.789 45 1],[183.894 10 2],[184.182 60 1],[184.436 11 2],[184.502 70 1],[184.753 12 2],[184.759 10 2],[184.956 15 2],[185.015 45 1],[185.038 12 2],[185.119 70 1],[185.317 80 1],[185.592 10 2],[185.671 10 2],[186.121 10 2],[186.645 45 1],[187.337 45 1],[187.508 60 1],[188.066 10 2],[188.191 160 1],[188.509 50 1],[188.574 45 1],[188.739 10 2],[188.747 20 2],[189.075 15 2],[190.016 15 2],[191.845 10 2],[192.396 11 2],[192.626 14 2],[192.724 12 2],[193.274 12 2],[193.389 13 2],[194.352 10 2],[194.643 12 2],[195.091 12 2],[195.124 14 2],[196.076 12 3],[196.508 11 3],[196.76 10 3],[197.716 10 2],[198.557 13 2],[199.568 10 2],[200.421 10 2],[200.522 11 2],[200.847 11 2],[201.187 15 2],[201.417 11 2],[201.703 12 2],[201.839 10 3],[202.856 12 2],[203.113 12 2],[203.59 11 2],[204.166 12 2],[204.329 12 2],[204.482 10 2],[204.544 10 2],[205.148 11 2],[206.036 10 2],[206.66 15 2],[208.291 13 2],[210.633 12 3],[211.453 10 3],[214.072 15 2],[214.454 14 2],[215.576 10 3],[220.283 15 2],[222.593 15 2],[222.853 80 1],[223.033 30 2],[223.219 16 2],[224.67 20 2],[225.147 14 2],[227.842 15 2],[228.566 13 2],[230.358 80 1],[230.999 15 2],[231.565 300 1],[238.699 18 2],[239.328 130 1],[239.403 17 2],[240.101 100 1],[240.659 15 2],[242.099 300 1],[242.473 300 1],[243.914 200 1],[244.15 250 1],[244.872 200 1],[245.218 200 1],[245.931 25 2],[246.885 18 2],[247.473 20 2],[249.315 1000 1],[249.703 25 2],[250.284 300 1],[250.63 450 1],[251.026 17 2],[251.546 600 1],[253.025 15 2],[253.154 600 1],[254.28 14 2],[258.631 550 1],[259.496 600 1],[261.181 850 1],[262.741 300 1],[263.181 300 1],[264.853 160 1],[265.131 200 1],[265.981 200 1],[266.1 850 1],[266.346 200 1],[266.646 350 1],[267.183 1000 1],[267.404 200 1],[267.809 850 1],[280.871 650 1],[280.952 850 1],[281.829 350 1],[282.987 600 1],[283.956 800 1],[284.172 1000 1],[285.281 16 0],[285.301 15 0],[285.651 650 1],[285.949 800 1],[286.102 350 1],[287.128 750 1],[287.295 650 1],[288.115 900 1],[288.626 850 1],[289.395 700 1],[290.114 900 1],[290.472 800 1],[290.492 1100 1],[291.752 1100 1],[291.905 1100 1],[291.985 1200 1],[292.095 1300 1],[292.349 1000 1],[293.088 750 1],[293.408 850 1],[293.774 950 1],[294.266 450 1],[294.57 800 1],[294.75 950 1],[295.124 1200 1],[295.24 1100 1],[296.012 850 1],[296.574 450 1],[297.073 500 1],[297.424 600 1],[297.499 750 1],[297.713 1000 1],[297.966 1100 1],[298.063 1100 1],[298.419 1300 1],[300.415 550 1],[300.744 750 1],[300.914 750 1],[300.948 450 1],[301.54 600 1],[301.734 450 1],[302.907 400 1],[303.708 400 1],[304.56 400 1],[305.367 550 1],[305.535 550 1],[305.616 550 1],[305.738 550 1],[305.795 550 1],[305.872 550 1],[306.025 700 1],[306.135 800 1],[306.438 500 1],[306.622 500 1],[306.654 500 1],[307.433 550 1],[307.832 550 1],[308.025 550 1],[308.706 550 1],[308.826 450 1],[309.204 550 1],[309.273 550 1],[309.445 650 1],[309.555 650 1],[310.358 500 1],[310.44 500 1],[311.145 450 1],[311.369 500 1],[312.294 400 1],[312.442 1700 1],[312.521 600 1],[312.938 600 1],[313.548 2500 1],[313.786 1700 1],[314.571 950 1],[314.928 2000 1],[316.374 2000 1],[317.509 700 1],[317.906 1000 1],[318.979 1700 1],[321.219 1600 1],[323.493 700 1],[325.796 1500 1],[326.021 650 1],[327.422 950 1],[328.56 1700 1],[330.135 1700 1],[330.237 19 0],[330.298 18 0],[330.496 1500 1],[331.804 1000 1],[332.769 950 1],[342.686 6 0],[353.305 1500 1],[363.127 1200 1],[371.107 850 1],[408.137 200 1],[411.37 300 1],[412.308 250 1],[423.326 250 1],[423.899 2 0],[424.037 200 1],[424.09 250 1],[424.208 3 0],[427.364 4 0],[427.679 5 0],[428.784 2 0],[429.101 3 0],[429.248 250 1],[429.286 250 1],[430.881 250 1],[430.904 250 1],[432.091 250 1],[432.14 6 0],[432.462 7 0],[433.729 250 1],[434.149 4 0],[434.411 250 1],[434.474 5 0],[436.86 200 1],[437.522 200 1],[438.749 200 1],[439.003 8 0],[439.281 250 1],[439.334 9 0],[440.512 200 1],[441.989 6 0],[442.325 7 0],[444.67 200 1],[444.741 200 1],[445.474 200 1],[445.523 200 1],[445.721 200 1],[447.463 200 1],[447.88 200 1],[448.167 200 1],[449.015 200 1],[449.087 200 1],[449.418 10 0],[449.766 11 0],[449.962 200 1],[450.697 200 1],[451.921 200 1],[452.498 200 1],[453.332 200 1],[454.163 7 0],[454.519 8 0],[455.153 200 1],[459.092 160 1],[472.223 160 1],[473.11 160 1],[473.25 100 1],[474.167 160 1],[476.879 160 1],[478.879 100 1],[481.475 50 1],[483.526 50 1],[514.311 60 1],[519.165 100 1],[520.333 50 1],[520.855 80 1],[539.063 60 1],[540.046 70 1],[541.455 90 1],[568.2633 5 0],[568.8204 9 0],[588.995 32 0],[589.5924 16 0],[617.525 60 1],[619.926 70 1],[623.468 70 1],[626.001 80 1],[627.474 80 1],[631.08 60 1],[635.283 60 1],[635.805 60 1],[636.115 70 1],[636.641 70 1],[637.891 60 1],[647.529 50 1],[651.421 90 1],[652.468 80 1],[653.07 130 1],[654.404 130 1],[654.575 130 1],[655.243 80 1],[780.978 4 0],[781.024 3 0],[818.3256 5 0],[819.4824 9 0],[864.992 7 0],[865.089 6 0],[915.388 4 0],[946.594 6 0],[996.128 7 0],[1057.228 3 0],[1074.644 10 0],[1074.929 9 0],[1083.487 8 0],[1138.145 11 0],[1140.378 12 0],[1476.748 115 0],[2205.6439 30 0],[2208.367 27 0],[2334.841 24 0],[2337.9131 24 0]}{ALLx2500x115x2500x100x15x1000x0}{UVx2500x19x2500x100x15x1000x0}{VISx300x32x300x0x0x0x0}{IVx115x115x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{Mg}{[11.816 40 3],[11.881 80 3],[12.359 70 3],[12.465 240 3],[12.986 300 3],[13.281 300 3],[14.695 400 3],[14.741 300 3],[14.754 300 3],[17.08 15 2],[17.139 15 2],[18.007 350 3],[18.062 400 3],[18.08 400 3],[18.134 350 3],[18.224 15 2],[18.297 12 2],[18.651 20 2],[18.72 20 2],[18.853 10 2],[23.173 100 2],[23.426 80 2],[25.158 5 4],[27.658 35 4],[31.23 10 4],[32.099 4000 3],[32.331 3000 3],[35.109 20 4],[35.22 18 4],[35.309 30 4],[35.33 15 4],[35.422 18 4],[35.533 20 4],[80.041 40 3],[85.729 150 3],[86.674 30 3],[91.903 50 3],[92.978 30 3],[94.67 8 1],[94.677 9 1],[100.876 40 3],[102.596 14 1],[102.611 12 1],[102.641 30 3],[103.741 250 3],[104.437 80 3],[105.576 60 3],[121.099 300 3],[123.994 25 1],[124.04 20 1],[124.851 6 1],[124.993 8 1],[127.124 8 1],[127.194 9 1],[127.272 8 1],[127.343 11 1],[127.483 10 2],[128.07 11 2],[130.671 11 1],[130.788 12 1],[130.828 12 1],[130.944 14 1],[134.219 300 3],[134.657 800 3],[134.668 300 3],[135.205 600 3],[136.545 14 1],[136.726 15 1],[136.77 15 1],[136.942 18 1],[138.446 900 3],[138.577 500 3],[138.753 800 3],[139.127 12 2],[139.339 15 2],[140.468 300 3],[140.936 1000 3],[143.114 10 2],[143.753 500 3],[143.764 1000 3],[144.742 300 3],[145.954 300 3],[145.962 400 3],[147.6 20 1],[147.801 25 1],[148.089 20 1],[148.151 400 3],[148.29 30 1],[149.045 350 3],[149.55 300 3],[157.271 16 2],[158.624 12 2],[160.711 300 3],[164.593 1 0],[165.116 1 0],[165.831 2 0],[166.843 5 0],[168.302 500 3],[168.341 10 0],[168.709 13 2],[169.728 13 2],[169.881 400 3],[170.706 15 0],[172.204 10 2],[173.484 40 1],[173.762 50 1],[173.884 22 2],[174.756 12 2],[174.78 20 0],[174.893 18 2],[175.065 40 1],[175.346 50 1],[177.298 15 2],[178.325 20 2],[179.458 14 2],[180.066 15 2],[182.793 30 0],[184.417 300 3],[185.819 13 2],[187.949 12 2],[190.85 10 2],[192.39 12 2],[193.067 13 2],[193.784 11 2],[202.582 9 0],[203.955 15 2],[205.549 15 2],[206.49 25 2],[208.59 15 2],[209.196 20 2],[209.793 13 2],[211.277 15 2],[213.406 16 2],[217.77 20 2],[232.958 3 1],[239.515 20 2],[244.957 6 1],[246.775 15 2],[249.054 10 2],[251.84 12 3],[252.919 10 2],[253.479 4 3],[255.723 1 0],[256.094 1 0],[256.226 1 0],[256.494 1 0],[257.091 1 0],[257.225 1 0],[257.494 2 0],[257.789 1 0],[258.059 1 0],[258.422 1 0],[258.556 2 0],[258.828 3 0],[259.189 1 0],[259.323 1 0],[259.597 2 0],[260.25 2 0],[260.385 4 0],[260.662 5 0],[261.336 1 0],[261.473 2 0],[261.751 3 0],[262.866 3 0],[263.005 6 0],[263.287 8 0],[264.48 2 0],[264.621 3 0],[264.906 4 0],[266.076 8 1],[266.082 8 1],[266.812 6 0],[266.955 8 0],[267.246 10 0],[269.372 3 0],[269.518 5 0],[269.814 6 0],[273.199 8 0],[273.349 10 0],[273.653 12 0],[276.522 5 0],[276.834 7 0],[277.669 38 0],[277.827 32 0],[277.983 90 0],[278.129 8 0],[278.142 32 0],[278.297 36 0],[279.079 13 1],[279.553 1000 1],[279.806 16 1],[280.27 600 1],[280.976 3 0],[281.111 2 0],[281.178 1 0],[284.672 12 0],[284.675 12 0],[284.834 14 0],[284.842 14 0],[285.165 16 0],[285.166 16 0],[285.213 6000 0],[290.292 2 0],[290.636 4 0],[291.545 3 0],[291.545 3 0],[292.875 2 1],[293.654 3 1],[293.674 10 0],[293.674 10 0],[293.847 12 0],[293.847 12 0],[294.2 2 0],[294.2 13 0],[296.787 1 1],[297.17 1 1],[309.108 20 0],[309.299 22 0],[309.69 14 0],[310.471 9 1],[310.481 8 1],[316.898 6 1],[317.271 6 1],[317.578 7 1],[319.762 2 0],[329.905 12 2],[330.639 13 2],[332.993 17 0],[333.215 6 0],[333.59 12 2],[333.668 9 0],[334.258 11 2],[336.141 12 2],[338.124 10 2],[338.29 11 2],[338.737 11 2],[353.504 7 1],[353.886 8 1],[354.952 7 1],[355.337 8 1],[370.674 10 2],[382.93 140 0],[383.23 300 0],[383.829 500 0],[384.824 8 1],[384.891 1 0],[385.04 7 1],[385.396 2 0],[385.496 1 0],[385.886 2 0],[387.831 3 0],[389.191 2 0],[389.33 2 0],[389.557 3 0],[390.386 4 0],[393.84 6 0],[398.421 1 0],[398.675 8 0],[405.469 2 0],[405.75 10 0],[407.506 3 0],[408.183 2 0],[416.51 4 0],[416.727 15 0],[435.191 20 0],[435.453 6 0],[438.038 6 0],[438.464 9 1],[439.059 10 1],[442.8 8 1],[443.399 9 1],[443.649 5 1],[443.66 4 1],[448.116 14 1],[448.133 13 1],[453.429 6 1],[457.11 28 0],[462.13 3 0],[470.299 7 0],[473.003 10 0],[473.959 6 1],[473.971 5 1],[485.11 7 1],[491.6 10 2],[516.733 75 0],[517.268 220 0],[518.361 400 0],[526.421 8 1],[526.437 7 1],[534.598 1 0],[540.154 9 1],[550.96 2 0],[552.841 6 0],[571.109 30 0],[578.531 5 0],[578.556 4 0],[583.982 10 2],[591.643 7 1],[591.816 6 1],[625.675 15 2],[631.872 10 0],[631.924 9 0],[631.949 7 0],[634.674 10 1],[634.696 9 1],[654.597 11 1],[662.044 5 1],[662.057 6 1],[663.083 2 0],[678.145 7 1],[678.785 8 1],[681.286 7 1],[681.927 8 1],[689.49 4 0],[696.54 6 0],[706.041 8 0],[719.317 10 0],[729.106 10 0],[738.7 5 0],[738.769 12 0],[758.076 4 1],[765.76 20 0],[765.915 19 0],[765.99 17 0],[769.016 8 0],[769.155 15 0],[772.261 1 0],[774.634 1 0],[775.93 1 0],[778.65 5 1],[779.098 4 1],[781.114 3 0],[787.705 12 1],[788.167 2 0],[789.637 13 1],[793.081 7 0],[804.773 3 0],[804.985 5 0],[805.423 7 0],[809.872 10 0],[811.522 9 1],[812.043 8 1],[815.464 1 0],[815.913 2 0],[820.984 10 0],[821.303 20 0],[821.399 10 1],[822.292 7 1],[823.319 7 1],[823.464 11 1],[830.331 7 0],[830.56 9 0],[831.026 10 0],[834.612 15 0],[846.648 2 0],[846.884 5 0],[847.369 7 0],[871.018 10 0],[871.269 12 0],[871.783 13 0],[873.499 10 1],[873.602 17 0],[874.566 11 1],[880.676 14 0],[882.432 10 1],[883.508 11 1],[892.357 20 0],[898.903 7 0],[899.169 9 0],[899.716 10 0],[921.825 14 1],[924.427 13 1],[924.65 12 0],[925.578 30 0],[932.754 10 1],[934.054 10 1],[941.496 25 0],[942.981 17 0],[943.276 19 0],[943.878 20 0],[950.245 8 0],[950.311 7 0],[950.343 5 0],[963.189 12 1],[963.243 11 1],[995.32 15 0],[998.32 15 0],[998.647 17 0],[999.321 18 0],[1009.216 14 1],[1039.176 5 1],[1039.223 6 1],[1081.108 35 0],[1091.423 11 1],[1091.527 7 1],[1095.178 10 1],[1095.332 25 0],[1095.73 27 0],[1096.545 28 0],[1103.21 15 0],[1103.366 14 0],[1125.593 5 1],[1125.635 4 1],[1182.818 45 0],[1208.366 30 0],[1487.762 28 0],[1502.499 35 0],[1504.024 30 0],[1504.77 25 0],[1574.071 6 0],[1574.899 8 0],[1576.584 10 0],[1710.866 30 0],[2639.29 5 0]}{ALLx6000x6000x1000x100x4000x35x0}{UVx6000x6000x1000x100x4000x35x0}{VISx500x500x14x15x0x0x0}{IVx45x45x14x0x0x0x0}%
\pgfspectra@elt@search{#1}{Al}{[10.38 300 4],[10.388 400 4],[10.407 250 4],[10.418 250 4],[10.795 600 4],[10.806 300 4],[10.811 300 4],[11.85 250 4],[12.403 400 3],[12.553 900 4],[12.607 800 4],[12.973 700 3],[13.041 800 4],[13.085 1000 4],[13.1 900 4],[13.144 900 4],[13.263 500 4],[16.007 800 3],[16.169 700 3],[27.869 1000 4],[28.139 900 4],[48.6884 70 2],[48.6912 30 2],[51.1138 250 2],[51.1191 150 2],[56.0317 500 2],[56.0433 200 2],[67.0068 100 2],[67.1118 200 2],[69.5829 500 2],[69.6217 400 2],[72.5683 200 2],[72.6915 300 2],[85.5034 400 2],[85.6746 500 2],[89.2024 400 2],[89.3887 50 2],[89.3897 450 2],[102.734 500 3],[104.217 800 3],[104.852 700 3],[105.89 500 3],[106.143 500 3],[106.489 600 3],[106.657 500 3],[106.826 250 4],[106.944 600 3],[108.867 500 4],[109.014 300 4],[110.574 400 3],[111.882 600 3],[112.561 500 3],[113.682 400 3],[115.03 300 4],[116.259 10 2],[116.262 5 2],[116.542 350 4],[116.848 250 4],[117.743 40 1],[119.1812 50 1],[119.85 400 3],[122.055 400 3],[123.719 900 3],[124.021 600 3],[124.086 700 3],[124.879 700 3],[125.762 900 3],[126.418 800 3],[127.276 1000 3],[128.77 500 4],[133.006 400 4],[133.79 400 3],[135.018 150 1],[135.052 400 4],[135.281 100 2],[135.282 5 2],[135.286 70 2],[136.335 400 4],[136.92 600 4],[137.37 300 4],[137.662 500 3],[137.967 600 2],[138.413 800 2],[138.879 500 3],[143.194 600 3],[144.182 700 3],[144.587 400 4],[144.751 800 3],[145.526 300 4],[145.796 600 3],[147.564 600 4],[148.605 300 4],[148.689 700 3],[149.479 800 3],[150.837 700 4],[151.907 400 3],[152.614 1000 4],[153.754 800 3],[153.912 500 4],[153.983 800 1],[155.019 500 3],[155.725 1000 3],[155.903 500 3],[156.416 700 3],[156.9385 100 1],[157.79 300 4],[158.204 900 3],[158.446 800 3],[158.928 400 3],[158.987 350 4],[159.6059 125 1],[160.5766 700 2],[160.665 400 3],[161.1814 100 2],[161.1874 800 2],[161.781 400 3],[162.5627 150 1],[162.754 600 3],[163.682 500 3],[163.906 800 3],[164.4235 100 1],[164.4809 100 1],[167.0787 1000 1],[168.625 100 1],[171.944 800 1],[172.1244 500 1],[172.1271 900 1],[172.4952 500 1],[172.4984 900 1],[176.0104 350 1],[176.1975 300 1],[176.3 290 0],[176.3869 500 1],[176.3952 700 1],[176.564 450 0],[176.5815 300 1],[176.638 450 0],[176.7731 400 1],[176.914 450 0],[181.856 1000 3],[182.8588 600 1],[183.2837 400 1],[183.4808 250 1],[185.4716 1000 2],[185.5929 300 1],[185.8026 700 1],[185.998 120 1],[186.2311 1000 1],[186.279 600 2],[188.116 700 3],[192.9978 200 1],[193.1048 150 1],[193.2377 200 1],[193.4503 400 1],[193.4713 150 1],[193.584 300 2],[193.5863 15 2],[193.5949 200 2],[193.6907 150 1],[193.9261 220 1],[199.0531 700 1],[201.6052 150 1],[201.6234 150 1],[201.6368 100 1],[207.4008 200 1],[209.4264 700 1],[209.4744 150 1],[209.4791 300 1],[209.5104 100 1],[209.5141 200 1],[215.07 60 0],[218.1 60 0],[226.91 400 0],[226.922 120 0],[231.249 60 0],[231.353 70 0],[231.748 90 0],[231.906 60 0],[232.156 140 0],[236.705 460 0],[236.761 110 0],[236.811 110 0],[236.93 180 0],[237.022 140 0],[237.073 70 0],[237.207 160 0],[237.312 850 0],[237.335 170 0],[237.357 110 0],[237.84 60 0],[239.9 110 2],[251.33 60 0],[251.587 400 3],[256.798 240 0],[257.51 480 0],[257.54 60 0],[263.155 80 1],[263.77 110 1],[265.248 150 0],[266.039 200 0],[266.917 160 1],[276.277 285 2],[276.287 220 2],[281.619 650 1],[283.796 90 0],[284.01 90 0],[290.693 450 2],[304.128 150 1],[305.007 360 0],[305.468 60 0],[305.714 450 0],[306.429 90 0],[306.614 60 0],[307.464 150 1],[308.2153 4500 0],[309.271 7200 0],[309.2839 1800 0],[320.82 500 3],[326.721 500 3],[328.513 600 3],[334.446 400 3],[334.852 360 2],[335.088 290 2],[342.892 150 1],[343.935 70 0],[344.364 150 0],[344.486 70 0],[345.822 70 0],[347.354 500 3],[347.981 60 0],[348.263 60 0],[349.223 900 3],[350.846 800 3],[351.128 500 3],[351.756 700 3],[352.703 400 3],[354.108 500 3],[358.656 450 1],[358.707 360 1],[358.745 290 1],[360.163 870 2],[360.193 550 2],[361.236 750 2],[365.106 220 1],[365.11 110 1],[365.498 150 1],[365.5 290 1],[370.211 450 2],[371.312 550 2],[390.068 450 1],[393.2 60 0],[394.4006 4500 0],[396.152 9000 0],[398.014 110 2],[399.586 110 1],[408.245 110 2],[408.861 150 2],[414.237 110 2],[414.992 650 2],[415.017 650 2],[422.681 290 1],[436.464 110 2],[447.989 650 2],[447.997 650 2],[451.256 760 2],[452.894 550 2],[452.919 870 2],[458.582 150 1],[458.819 110 1],[466.68 550 1],[470.115 110 2],[470.141 150 2],[489.876 110 1],[490.277 110 1],[490.41 110 2],[510.752 70 0],[515.101 110 2],[516.389 110 2],[528.021 150 1],[528.377 290 1],[528.585 150 1],[531.232 110 1],[531.607 220 1],[537.184 150 1],[555.706 180 0],[555.795 110 0],[559.323 450 1],[569.66 1200 2],[572.273 1000 2],[585.362 110 1],[597.194 220 1],[600.176 290 1],[600.188 220 1],[600.642 450 1],[605.521 110 2],[606.111 150 1],[606.843 290 1],[606.853 110 1],[607.323 450 1],[618.157 110 1],[618.168 150 1],[618.228 290 1],[618.245 220 1],[618.342 450 1],[620.152 450 1],[620.17 360 1],[622.618 290 1],[623.178 360 1],[624.336 450 1],[633.574 450 1],[669.602 360 0],[669.867 230 0],[708.397 60 0],[708.464 70 0],[736.157 110 0],[736.23 140 0],[760.616 60 0],[761.482 90 0],[763.537 220 2],[766.026 150 2],[768.197 220 2],[783.531 230 0],[783.613 290 0],[788.179 360 2],[788.252 150 2],[790.551 290 2],[799.305 60 0],[800.319 90 0],[806.597 70 0],[807.535 110 0],[824.359 290 2],[827.511 360 2],[864.07 290 1],[877.287 360 0],[877.39 450 0],[882.891 110 0],[884.128 180 0],[891.29 90 0],[892.356 140 0],[908.991 60 0],[913.995 70 0],[929.065 150 1],[929.075 110 1],[957.152 290 2],[960.599 360 2],[1007.629 150 1],[1076.836 110 0],[1078.204 140 0],[1087.298 110 0],[1089.173 230 0],[1125.319 450 0],[1125.488 570 0],[1312.341 570 0],[1315.076 450 0],[1671.8961 230 0],[1675.0561 300 0],[1676.3359 140 0],[2109.3039 300 0],[2116.375 360 0]}{ALLx9000x9000x1000x1200x1000x1000x0}{UVx7200x7200x1000x1000x1000x1000x0}{VISx9000x9000x550x1200x0x0x0}{IVx570x570x290x360x0x0x0}%
-\pgfspectra@elt@search{#1}{Si}{[7.861 1 4],[7.89 1 4],[8.081 2 4],[8.111 2 4],[8.518 10 4],[8.558 6 4],[9.045 4 4],[9.085 4 4],[9.644 15 4],[9.714 10 4],[9.821 2 4],[11.786 20 4],[11.897 20 4],[45.782 4 3],[45.816 3 3],[51.512 2 3],[51.635 3 3],[56.661 8 2],[64.576 2 3],[65.222 6 2],[65.333 8 2],[67.348 5 2],[74.994 5 3],[80.007 5 2],[80.51 10 1],[81.505 7 3],[81.813 8 3],[82.052 20 1],[82.341 9 2],[84.372 20 1],[84.577 40 1],[85.014 10 1],[88.34 5 2],[88.972 100 1],[89.2 200 1],[89.941 10 1],[90.174 20 1],[91.301 10 1],[91.385 20 1],[92.981 20 1],[93.909 7 2],[96.795 9 2],[98.987 100 1],[99.268 200 1],[99.352 10 2],[99.479 13 2],[99.739 16 2],[100.537 7 2],[102.07 25 1],[102.369 50 1],[103.116 7 2],[103.392 8 2],[103.705 7 2],[105.705 30 1],[105.75 15 1],[106.663 8 3],[108.322 6 2],[110.837 14 2],[110.997 16 2],[111.323 18 2],[112.249 8 3],[112.744 20 1],[112.791 40 1],[112.834 10 3],[114.055 6 2],[114.158 7 2],[114.228 6 2],[114.431 8 2],[114.496 6 2],[114.511 8 2],[114.518 7 2],[115.5 6 2],[115.596 6 2],[115.81 7 2],[116.026 6 2],[116.158 8 2],[117.437 5 2],[117.443 6 2],[117.8 8 2],[119.042 100 1],[119.328 200 1],[119.45 250 1],[119.739 100 1],[120.651 30 2],[120.653 30 2],[120.752 9 2],[121.046 10 2],[121.612 10 1],[122.391 20 1],[122.425 20 1],[122.497 10 1],[122.681 50 1],[122.689 20 1],[122.699 40 1],[122.76 100 1],[122.844 10 1],[122.862 25 1],[122.875 150 1],[122.939 200 1],[123.543 7 2],[123.592 10 1],[124.674 100 1],[124.843 150 1],[125.009 100 1],[125.043 150 1],[125.116 200 1],[125.528 10 0],[125.649 40 0],[125.88 50 0],[126.042 1000 1],[126.473 2000 1],[126.502 200 1],[128.035 6 2],[129.454 17 2],[129.673 14 2],[129.889 15 2],[129.896 18 2],[130.115 14 2],[130.332 16 2],[130.437 100 1],[130.559 50 1],[130.927 200 1],[130.946 20 1],[131.259 13 2],[134.147 8 2],[134.239 7 2],[134.339 6 2],[134.687 100 1],[134.854 100 1],[135.006 150 1],[135.052 20 1],[135.066 20 1],[135.264 100 1],[135.372 100 1],[136.16 8 2],[136.237 5 2],[136.347 7 2],[136.526 8 2],[136.705 7 2],[136.944 5 2],[137.303 5 2],[138.799 5 2],[139.376 15 3],[140.277 12 3],[140.907 10 1],[141.022 20 1],[141.697 10 1],[141.724 13 2],[143.369 6 2],[143.577 8 2],[143.617 7 2],[144.173 5 2],[144.72 6 2],[145.725 5 2],[147.465 15 1],[148.487 15 1],[148.502 90 1],[148.522 30 1],[148.551 100 1],[150.024 12 2],[150.119 10 2],[150.187 9 2],[150.606 6 2],[150.91 100 1],[151.207 50 1],[151.357 30 1],[151.691 60 1],[152.672 500 1],[153.345 1000 1],[156.245 10 1],[156.285 15 1],[156.377 10 1],[157.387 50 0],[157.482 50 0],[159.241 50 0],[159.455 150 0],[159.493 50 0],[159.795 30 0],[162.287 100 0],[162.571 30 0],[162.943 300 0],[162.992 200 0],[163.113 75 0],[163.398 50 0],[163.461 1 3],[165.335 30 0],[166.452 30 0],[166.637 50 0],[166.762 100 0],[166.852 100 0],[167.259 100 0],[167.332 7 2],[167.52 200 0],[168.268 30 0],[168.682 30 0],[168.929 50 0],[169.079 30 0],[169.329 50 0],[169.551 50 0],[169.62 200 0],[169.794 200 0],[170.042 50 0],[170.063 30 0],[170.286 30 0],[170.443 50 0],[171.083 10 1],[171.13 20 1],[172.253 6 3],[172.738 5 3],[174.388 30 0],[174.74 50 0],[175.311 30 0],[176.366 50 0],[176.503 40 0],[176.56 30 0],[176.606 30 0],[177.063 30 0],[177.092 100 0],[177.683 100 0],[178.323 50 0],[179.912 100 0],[180.8 150 1],[180.909 50 0],[181.407 500 0],[181.692 200 1],[181.745 10 1],[182.245 50 0],[183.651 200 0],[183.801 30 0],[184.115 100 0],[184.144 200 0],[184.255 9 2],[184.377 200 0],[184.551 300 0],[184.61 100 0],[184.747 400 0],[184.814 200 0],[184.874 100 0],[185.067 500 0],[185.179 30 0],[185.246 200 0],[185.315 50 0],[186.932 20 1],[187.023 15 1],[187.31 100 0],[187.484 500 0],[187.581 100 0],[188.185 200 0],[188.77 200 0],[189.325 200 0],[190.133 1000 0],[190.246 100 1],[190.466 50 0],[191.062 50 1],[194.167 50 1],[194.459 15 1],[194.933 10 1],[194.956 100 1],[195.497 100 0],[198.443 30 0],[199.185 50 0],[201.097 30 0],[205.483 50 0],[205.865 50 1],[205.901 50 1],[206.119 40 0],[206.552 30 0],[207.202 200 1],[207.27 200 1],[210.321 30 0],[211.463 30 0],[212.018 3 3],[212.412 100 0],[212.747 4 3],[213.399 10 1],[213.64 30 1],[213.656 50 1],[214.791 50 0],[217.689 5 2],[220.798 110 0],[221.089 115 0],[221.174 110 0],[221.667 120 0],[221.806 120 0],[221.891 50 0],[228.704 5 3],[229.103 35 0],[229.548 6 2],[229.687 10 2],[230.093 8 2],[230.306 55 0],[230.819 10 2],[232.856 2 3],[233.44 30 1],[233.461 30 1],[234.42 10 1],[234.954 10 1],[235.017 20 1],[235.309 20 1],[235.63 100 1],[235.718 30 1],[235.797 50 1],[236.02 10 1],[236.676 2 3],[236.697 30 1],[237.099 3 3],[237.426 20 1],[242.845 10 1],[243.515 300 0],[243.877 65 0],[244.336 65 0],[244.948 11 2],[245.212 70 0],[248.282 2 3],[248.32 6 2],[248.538 1 3],[250.69 425 0],[251.432 375 0],[251.6113 500 0],[251.751 7 3],[251.9202 350 0],[252.4108 425 0],[252.8509 450 0],[253.2381 110 0],[254.182 25 2],[254.609 10 2],[255.921 14 2],[256.3679 30 0],[256.8641 85 0],[257.7151 45 0],[263.1282 190 0],[264.079 11 2],[265.551 14 2],[267.219 1 3],[267.512 4 3],[267.525 4 3],[267.757 1 3],[268.221 10 1],[272.381 3 3],[281.711 9 2],[283.149 7 2],[283.962 5 2],[288.1579 1000 0],[288.751 10 1],[289.513 3 3],[290.428 300 1],[290.447 2 3],[290.569 500 1],[295.915 5 2],[297.0355 55 0],[297.152 1 3],[298.052 5 2],[298.7645 150 0],[300.6739 50 0],[301.309 5 2],[302.0004 75 0],[302.155 20 1],[303 100 1],[303.473 6 2],[303.729 8 2],[304.093 9 2],[304.157 20 1],[304.219 30 1],[304.369 100 1],[304.385 10 1],[304.393 7 2],[304.508 5 2],[304.577 10 1],[304.83 50 1],[305.318 150 1],[306.824 7 2],[308.624 25 2],[308.646 6 2],[309.342 20 2],[309.365 5 2],[309.683 16 2],[312.627 6 2],[314.737 7 2],[314.956 7 3],[316.161 8 2],[316.571 9 3],[318.513 16 2],[318.602 13 2],[318.897 150 1],[319.225 50 1],[319.309 150 1],[319.421 50 1],[319.469 50 1],[319.541 100 1],[319.65 14 2],[319.951 200 1],[320.249 20 1],[320.387 100 1],[321.003 200 1],[321.055 15 2],[321.466 75 1],[321.625 7 2],[321.799 15 1],[322.044 10 1],[322.301 20 1],[323.05 12 2],[323.395 14 2],[324.162 15 2],[324.419 1 3],[325.34 7 2],[325.374 5 2],[325.48 7 2],[325.866 12 2],[327.046 6 2],[327.626 10 2],[327.926 7 2],[333.314 300 1],[333.982 500 1],[348.691 15 2],[352.594 9 2],[356.967 8 2],[359.047 20 2],[362.254 8 2],[363.945 5 2],[364.512 6 2],[368.14 7 2],[368.215 5 2],[376.244 8 3],[377.315 6 3],[379.141 20 2],[379.611 25 2],[380.654 30 2],[384.246 7 2],[385.366 100 1],[385.602 500 1],[386.26 200 1],[390.5523 300 0],[392.447 20 2],[394.749 6 2],[395.574 10 1],[396.384 6 2],[397.746 10 1],[398.124 5 2],[399.177 15 1],[399.801 10 1],[403.139 1 3],[403.806 2 3],[407.545 20 1],[407.678 15 1],[408.885 10 3],[410.186 5 2],[410.242 8 2],[410.2936 70 0],[411.55 5 2],[411.61 9 3],[412.807 300 1],[413.089 500 1],[418.335 10 1],[419.072 100 1],[419.813 50 1],[421.241 7 3],[431.41 3 3],[432.818 5 3],[433.85 9 2],[434.14 8 2],[437.763 8 2],[440.373 2 3],[440.59 6 2],[440.672 8 2],[441.165 1 3],[449.405 6 2],[455.262 30 2],[455.4 8 2],[456.782 25 2],[457.476 20 2],[461.127 1 3],[461.966 7 2],[462.142 100 1],[462.172 150 1],[462.862 3 3],[463.124 9 3],[463.828 7 2],[465.432 10 3],[465.692 3 3],[466.587 8 2],[466.714 1 3],[467.33 2 3],[468.302 9 2],[468.38 7 2],[471.665 16 2],[473.052 7 2],[478.2991 50 0],[479.2212 35 0],[479.2324 80 0],[480.043 8 2],[481.333 15 2],[481.972 16 2],[482.897 18 2],[488.32 15 1],[490.699 20 1],[493.28 20 1],[494.745 1 3],[494.7607 30 0],[495.011 3 3],[500.6061 40 0],[504.103 1000 1],[505.598 1000 1],[509.142 10 2],[511.376 7 2],[511.412 8 2],[518.19 100 1],[518.525 100 1],[519.286 200 1],[519.726 5 2],[520.241 500 1],[529.519 30 1],[530.497 2 3],[530.949 1 3],[540.534 100 1],[541.724 15 1],[542.892 15 1],[543.289 15 1],[543.862 100 1],[544.726 20 1],[545.146 6 2],[545.449 15 1],[545.645 100 1],[546.643 500 1],[546.687 500 1],[546.921 100 1],[547.305 7 2],[549.323 40 0],[549.645 200 1],[551.7535 35 0],[554.074 100 1],[557.666 150 1],[562.2221 30 0],[563.297 100 1],[563.948 200 1],[564.5611 90 0],[566.066 150 1],[566.5554 80 0],[566.956 1000 1],[568.144 30 1],[568.4484 120 0],[568.881 300 1],[569.0425 100 0],[570.1105 90 0],[570.137 200 1],[570.46 7 2],[570.637 100 1],[570.8397 160 0],[571.629 8 2],[573.973 20 2],[574.7667 45 0],[575.3625 45 0],[575.422 45 0],[576.2977 45 0],[577.2145 70 0],[578.0384 70 0],[578.573 30 1],[579.3071 90 0],[579.49 30 1],[579.7859 100 0],[580.047 150 1],[580.674 200 1],[582.78 30 1],[584.613 50 1],[586.748 10 1],[586.84 300 1],[587.3764 40 0],[589.879 10 2],[591.522 150 1],[594.8545 200 0],[595.756 500 1],[597.893 500 1],[606.745 10 1],[608.006 20 1],[608.667 10 1],[612.5021 90 0],[613.1574 85 0],[613.185 90 0],[614.2487 100 0],[614.5015 100 0],[615.5134 160 0],[623.732 160 0],[623.8287 40 0],[624.3813 125 0],[624.4468 125 0],[625.4188 180 0],[631.446 7 2],[633.1954 45 0],[634.71 1000 1],[637.136 1000 1],[652.436 6 2],[652.6609 45 0],[652.7199 45 0],[655.5462 45 0],[666.052 50 1],[666.5 15 1],[666.756 5 3],[667.188 100 1],[669.938 20 1],[670.121 7 3],[671.704 50 1],[672.1853 100 0],[674.164 30 0],[675.028 20 1],[681.845 30 1],[682.982 50 1],[683.156 6 2],[684.8568 30 0],[685.165 7 2],[697.6523 80 0],[699.836 3 3],[700.3567 180 0],[700.5883 180 0],[701.728 30 0],[701.7646 90 0],[703.4903 250 0],[704.794 6 3],[706.841 4 3],[716.469 70 0],[716.5545 200 0],[718.489 70 0],[719.358 65 0],[719.39 30 0],[722.6206 100 0],[723.5326 100 0],[723.582 60 0],[725.0625 180 0],[727.5294 160 0],[728.281 40 0],[728.9173 400 0],[729.026 55 0],[737.3 35 0],[740.5774 375 0],[740.9082 200 0],[741.535 40 0],[741.5946 275 0],[742.3497 425 0],[742.46 85 0],[746.189 5 2],[746.262 8 2],[746.632 9 2],[761.236 12 2],[763.05 2 3],[765.456 4 3],[767.875 4 3],[768.0267 100 0],[771.879 5 3],[772.382 6 3],[772.564 2 3],[773.047 1 3],[774.271 40 0],[775.291 1 3],[780.0008 30 0],[784.88 400 1],[784.972 500 1],[784.9967 30 0],[791.8386 90 0],[793.2349 120 0],[794.4001 140 0],[797.0306 35 0],[803.5619 35 0],[809.3241 70 0],[810.286 9 2],[810.345 11 2],[819.043 7 2],[819.116 6 2],[819.168 8 2],[823.0642 35 0],[824.061 1 3],[826.257 9 2],[826.564 5 2],[826.932 8 2],[827.138 5 2],[827.194 6 2],[844.3982 40 0],[850.1547 40 0],[850.2221 60 0],[853.6165 40 0],[855.678 120 0],[864.8462 50 0],[872.8011 40 0],[874.2451 75 0],[875.2009 100 0],[879.0389 35 0],[895.725 2 3],[901.816 1 3],[941.272 100 1],[941.3506 100 0],[1037.1269 30 0],[1058.5141 120 0],[1060.3431 120 0],[1066.0975 120 0],[1069.4251 30 0],[1072.7408 30 0],[1074.9384 60 0],[1078.455 30 0],[1078.6856 80 0],[1082.7091 140 0],[1084.3854 60 0],[1086.879 30 0],[1086.9541 130 0],[1088.2802 30 0],[1088.5336 30 0],[1097.9308 80 0],[1098.2061 30 0],[1101.7965 80 0],[1118.76 13 0],[1128.984 12 0],[1161.109 12 0],[1198.419 370 0],[1199.157 220 0],[1203.151 440 0],[1210.353 150 0],[1227.068 120 0],[1317.69 11 0],[1588.839 190 0],[1596.004 40 0],[1606.003 95 0],[1609.48 20 0],[1616.371 60 0],[1621.568 11 0],[1638.155 16 0],[1668.077 29 0],[1732.7289 28 0],[1872.29 26 0],[1938.5939 15 0],[1943.2971 48 0],[1949.3381 13 0],[1972.25 110 0],[1992.8881 31 0],[2091.7131 12 0],[2135.424 21 0],[2206.2711 12 0]}{ALLx2000x1000x2000x30x15x20x0}{UVx2000x1000x2000x30x15x20x0}{VISx1000x425x1000x30x10x0x0}{IVx500x440x500x11x2x0x0}%
+\pgfspectra@elt@search{#1}{Si}{[11.786 20 4],[11.897 20 4],[45.782 4 3],[45.816 3 3],[51.512 2 3],[51.635 3 3],[56.661 8 2],[64.576 2 3],[65.222 6 2],[65.333 8 2],[67.348 5 2],[74.994 5 3],[80.007 5 2],[80.51 10 1],[81.505 7 3],[81.813 8 3],[82.052 20 1],[82.341 9 2],[84.372 20 1],[84.577 40 1],[85.014 10 1],[88.34 5 2],[88.972 100 1],[89.2 200 1],[89.941 10 1],[90.174 20 1],[91.301 10 1],[91.385 20 1],[92.981 20 1],[93.909 7 2],[96.795 9 2],[98.987 100 1],[99.268 200 1],[99.352 10 2],[99.479 13 2],[99.739 16 2],[100.537 7 2],[102.07 25 1],[102.369 50 1],[103.116 7 2],[103.392 8 2],[103.705 7 2],[105.705 30 1],[105.75 15 1],[106.663 8 3],[108.322 6 2],[110.837 14 2],[110.997 16 2],[111.323 18 2],[112.249 8 3],[112.744 20 1],[112.791 40 1],[112.834 10 3],[114.055 6 2],[114.158 7 2],[114.228 6 2],[114.431 8 2],[114.496 6 2],[114.511 8 2],[114.518 7 2],[115.5 6 2],[115.596 6 2],[115.81 7 2],[116.026 6 2],[116.158 8 2],[117.437 5 2],[117.443 6 2],[117.8 8 2],[119.042 100 1],[119.328 200 1],[119.45 250 1],[119.739 100 1],[120.651 30 2],[120.653 30 2],[120.752 9 2],[121.046 10 2],[121.612 10 1],[122.391 20 1],[122.425 20 1],[122.497 10 1],[122.681 50 1],[122.689 20 1],[122.699 40 1],[122.76 100 1],[122.844 10 1],[122.862 25 1],[122.875 150 1],[122.939 200 1],[123.543 7 2],[123.592 10 1],[124.674 100 1],[124.843 150 1],[125.009 100 1],[125.043 150 1],[125.116 200 1],[125.528 10 0],[125.649 40 0],[125.88 50 0],[126.042 1000 1],[126.473 2000 1],[126.502 200 1],[128.035 6 2],[129.454 17 2],[129.673 14 2],[129.889 15 2],[129.896 18 2],[130.115 14 2],[130.332 16 2],[130.437 100 1],[130.559 50 1],[130.927 200 1],[130.946 20 1],[131.259 13 2],[134.147 8 2],[134.239 7 2],[134.339 6 2],[134.687 100 1],[134.854 100 1],[135.006 150 1],[135.052 20 1],[135.066 20 1],[135.264 100 1],[135.372 100 1],[136.16 8 2],[136.237 5 2],[136.347 7 2],[136.526 8 2],[136.705 7 2],[136.944 5 2],[137.303 5 2],[138.799 5 2],[139.376 15 3],[140.277 12 3],[140.907 10 1],[141.022 20 1],[141.697 10 1],[141.724 13 2],[143.369 6 2],[143.577 8 2],[143.617 7 2],[144.173 5 2],[144.72 6 2],[145.725 5 2],[147.465 15 1],[148.487 15 1],[148.502 90 1],[148.522 30 1],[148.551 100 1],[150.024 12 2],[150.119 10 2],[150.187 9 2],[150.606 6 2],[150.91 100 1],[151.207 50 1],[151.357 30 1],[151.691 60 1],[152.672 500 1],[153.345 1000 1],[156.245 10 1],[156.285 15 1],[156.377 10 1],[157.387 50 0],[157.482 50 0],[159.241 50 0],[159.455 150 0],[159.493 50 0],[159.795 30 0],[162.287 100 0],[162.571 30 0],[162.943 300 0],[162.992 200 0],[163.113 75 0],[163.398 50 0],[163.461 1 3],[165.335 30 0],[166.452 30 0],[166.637 50 0],[166.762 100 0],[166.852 100 0],[167.259 100 0],[167.332 7 2],[167.52 200 0],[168.268 30 0],[168.682 30 0],[168.929 50 0],[169.079 30 0],[169.329 50 0],[169.551 50 0],[169.62 200 0],[169.794 200 0],[170.042 50 0],[170.063 30 0],[170.286 30 0],[170.443 50 0],[171.083 10 1],[171.13 20 1],[172.253 6 3],[172.738 5 3],[174.388 30 0],[174.74 50 0],[175.311 30 0],[176.366 50 0],[176.503 40 0],[176.56 30 0],[176.606 30 0],[177.063 30 0],[177.092 100 0],[177.683 100 0],[178.323 50 0],[179.912 100 0],[180.8 150 1],[180.909 50 0],[181.407 500 0],[181.692 200 1],[181.745 10 1],[182.245 50 0],[183.651 200 0],[183.801 30 0],[184.115 100 0],[184.144 200 0],[184.255 9 2],[184.377 200 0],[184.551 300 0],[184.61 100 0],[184.747 400 0],[184.814 200 0],[184.874 100 0],[185.067 500 0],[185.179 30 0],[185.246 200 0],[185.315 50 0],[186.932 20 1],[187.023 15 1],[187.31 100 0],[187.484 500 0],[187.581 100 0],[188.185 200 0],[188.77 200 0],[189.325 200 0],[190.133 1000 0],[190.246 100 1],[190.466 50 0],[191.062 50 1],[194.167 50 1],[194.459 15 1],[194.933 10 1],[194.956 100 1],[195.497 100 0],[198.443 30 0],[199.185 50 0],[201.097 30 0],[205.483 50 0],[205.865 50 1],[205.901 50 1],[206.119 40 0],[206.552 30 0],[207.202 200 1],[207.27 200 1],[210.321 30 0],[211.463 30 0],[212.018 3 3],[212.412 100 0],[212.747 4 3],[213.399 10 1],[213.64 30 1],[213.656 50 1],[214.791 50 0],[217.689 5 2],[220.798 110 0],[221.089 115 0],[221.174 110 0],[221.667 120 0],[221.806 120 0],[221.891 50 0],[228.704 5 3],[229.103 35 0],[229.548 6 2],[229.687 10 2],[230.093 8 2],[230.306 55 0],[230.819 10 2],[232.856 2 3],[233.44 30 1],[233.461 30 1],[234.42 10 1],[234.954 10 1],[235.017 20 1],[235.309 20 1],[235.63 100 1],[235.718 30 1],[235.797 50 1],[236.02 10 1],[236.676 2 3],[236.697 30 1],[237.099 3 3],[237.426 20 1],[242.845 10 1],[243.515 300 0],[243.877 65 0],[244.336 65 0],[244.948 11 2],[245.212 70 0],[248.282 2 3],[248.32 6 2],[248.538 1 3],[250.69 425 0],[251.432 375 0],[251.6113 500 0],[251.751 7 3],[251.9202 350 0],[252.4108 425 0],[252.8509 450 0],[253.2381 110 0],[254.182 25 2],[254.609 10 2],[255.921 14 2],[256.3679 30 0],[256.8641 85 0],[257.7151 45 0],[263.1282 190 0],[264.079 11 2],[265.551 14 2],[267.219 1 3],[267.512 4 3],[267.525 4 3],[267.757 1 3],[268.221 10 1],[272.381 3 3],[281.711 9 2],[283.149 7 2],[283.962 5 2],[288.1579 1000 0],[288.751 10 1],[289.513 3 3],[290.428 300 1],[290.447 2 3],[290.569 500 1],[295.915 5 2],[297.0355 55 0],[297.152 1 3],[298.052 5 2],[298.7645 150 0],[300.6739 50 0],[301.309 5 2],[302.0004 75 0],[302.155 20 1],[303 100 1],[303.473 6 2],[303.729 8 2],[304.093 9 2],[304.157 20 1],[304.219 30 1],[304.369 100 1],[304.385 10 1],[304.393 7 2],[304.508 5 2],[304.577 10 1],[304.83 50 1],[305.318 150 1],[306.824 7 2],[308.624 25 2],[308.646 6 2],[309.342 20 2],[309.365 5 2],[309.683 16 2],[312.627 6 2],[314.737 7 2],[314.956 7 3],[316.161 8 2],[316.571 9 3],[318.513 16 2],[318.602 13 2],[318.897 150 1],[319.225 50 1],[319.309 150 1],[319.421 50 1],[319.469 50 1],[319.541 100 1],[319.65 14 2],[319.951 200 1],[320.249 20 1],[320.387 100 1],[321.003 200 1],[321.055 15 2],[321.466 75 1],[321.625 7 2],[321.799 15 1],[322.044 10 1],[322.301 20 1],[323.05 12 2],[323.395 14 2],[324.162 15 2],[324.419 1 3],[325.34 7 2],[325.374 5 2],[325.48 7 2],[325.866 12 2],[327.046 6 2],[327.626 10 2],[327.926 7 2],[333.314 300 1],[333.982 500 1],[348.691 15 2],[352.594 9 2],[356.967 8 2],[359.047 20 2],[362.254 8 2],[363.945 5 2],[364.512 6 2],[368.14 7 2],[368.215 5 2],[376.244 8 3],[377.315 6 3],[379.141 20 2],[379.611 25 2],[380.654 30 2],[384.246 7 2],[385.366 100 1],[385.602 500 1],[386.26 200 1],[390.5523 300 0],[392.447 20 2],[394.749 6 2],[395.574 10 1],[396.384 6 2],[397.746 10 1],[398.124 5 2],[399.177 15 1],[399.801 10 1],[403.139 1 3],[403.806 2 3],[407.545 20 1],[407.678 15 1],[408.885 10 3],[410.186 5 2],[410.242 8 2],[410.2936 70 0],[411.55 5 2],[411.61 9 3],[412.807 300 1],[413.089 500 1],[418.335 10 1],[419.072 100 1],[419.813 50 1],[421.241 7 3],[431.41 3 3],[432.818 5 3],[433.85 9 2],[434.14 8 2],[437.763 8 2],[440.373 2 3],[440.59 6 2],[440.672 8 2],[441.165 1 3],[449.405 6 2],[455.262 30 2],[455.4 8 2],[456.782 25 2],[457.476 20 2],[461.127 1 3],[461.966 7 2],[462.142 100 1],[462.172 150 1],[462.862 3 3],[463.124 9 3],[463.828 7 2],[465.432 10 3],[465.692 3 3],[466.587 8 2],[466.714 1 3],[467.33 2 3],[468.302 9 2],[468.38 7 2],[471.665 16 2],[473.052 7 2],[478.2991 50 0],[479.2212 35 0],[479.2324 80 0],[480.043 8 2],[481.333 15 2],[481.972 16 2],[482.897 18 2],[488.32 15 1],[490.699 20 1],[493.28 20 1],[494.745 1 3],[494.7607 30 0],[495.011 3 3],[500.6061 40 0],[504.103 1000 1],[505.598 1000 1],[509.142 10 2],[511.376 7 2],[511.412 8 2],[518.19 100 1],[518.525 100 1],[519.286 200 1],[519.726 5 2],[520.241 500 1],[529.519 30 1],[530.497 2 3],[530.949 1 3],[540.534 100 1],[541.724 15 1],[542.892 15 1],[543.289 15 1],[543.862 100 1],[544.726 20 1],[545.146 6 2],[545.449 15 1],[545.645 100 1],[546.643 500 1],[546.687 500 1],[546.921 100 1],[547.305 7 2],[549.323 40 0],[549.645 200 1],[551.7535 35 0],[554.074 100 1],[557.666 150 1],[562.2221 30 0],[563.297 100 1],[563.948 200 1],[564.5611 90 0],[566.066 150 1],[566.5554 80 0],[566.956 1000 1],[568.144 30 1],[568.4484 120 0],[568.881 300 1],[569.0425 100 0],[570.1105 90 0],[570.137 200 1],[570.46 7 2],[570.637 100 1],[570.8397 160 0],[571.629 8 2],[573.973 20 2],[574.7667 45 0],[575.3625 45 0],[575.422 45 0],[576.2977 45 0],[577.2145 70 0],[578.0384 70 0],[578.573 30 1],[579.3071 90 0],[579.49 30 1],[579.7859 100 0],[580.047 150 1],[580.674 200 1],[582.78 30 1],[584.613 50 1],[586.748 10 1],[586.84 300 1],[587.3764 40 0],[589.879 10 2],[591.522 150 1],[594.8545 200 0],[595.756 500 1],[597.893 500 1],[606.745 10 1],[608.006 20 1],[608.667 10 1],[612.5021 90 0],[613.1574 85 0],[613.185 90 0],[614.2487 100 0],[614.5015 100 0],[615.5134 160 0],[623.732 160 0],[623.8287 40 0],[624.3813 125 0],[624.4468 125 0],[625.4188 180 0],[631.446 7 2],[633.1954 45 0],[634.71 1000 1],[637.136 1000 1],[652.436 6 2],[652.6609 45 0],[652.7199 45 0],[655.5462 45 0],[666.052 50 1],[666.5 15 1],[666.756 5 3],[667.188 100 1],[669.938 20 1],[670.121 7 3],[671.704 50 1],[672.1853 100 0],[674.164 30 0],[675.028 20 1],[681.845 30 1],[682.982 50 1],[683.156 6 2],[684.8568 30 0],[685.165 7 2],[697.6523 80 0],[699.836 3 3],[700.3567 180 0],[700.5883 180 0],[701.728 30 0],[701.7646 90 0],[703.4903 250 0],[704.794 6 3],[706.841 4 3],[716.469 70 0],[716.5545 200 0],[718.489 70 0],[719.358 65 0],[719.39 30 0],[722.6206 100 0],[723.5326 100 0],[723.582 60 0],[725.0625 180 0],[727.5294 160 0],[728.281 40 0],[728.9173 400 0],[729.026 55 0],[737.3 35 0],[740.5774 375 0],[740.9082 200 0],[741.535 40 0],[741.5946 275 0],[742.3497 425 0],[742.46 85 0],[746.189 5 2],[746.262 8 2],[746.632 9 2],[761.236 12 2],[763.05 2 3],[765.456 4 3],[767.875 4 3],[768.0267 100 0],[771.879 5 3],[772.382 6 3],[772.564 2 3],[773.047 1 3],[774.271 40 0],[775.291 1 3],[780.0008 30 0],[784.88 400 1],[784.972 500 1],[784.9967 30 0],[791.8386 90 0],[793.2349 120 0],[794.4001 140 0],[797.0306 35 0],[803.5619 35 0],[809.3241 70 0],[810.286 9 2],[810.345 11 2],[819.043 7 2],[819.116 6 2],[819.168 8 2],[823.0642 35 0],[824.061 1 3],[826.257 9 2],[826.564 5 2],[826.932 8 2],[827.138 5 2],[827.194 6 2],[844.3982 40 0],[850.1547 40 0],[850.2221 60 0],[853.6165 40 0],[855.678 120 0],[864.8462 50 0],[872.8011 40 0],[874.2451 75 0],[875.2009 100 0],[879.0389 35 0],[895.725 2 3],[901.816 1 3],[941.272 100 1],[941.3506 100 0],[1037.1269 30 0],[1058.5141 120 0],[1060.3431 120 0],[1066.0975 120 0],[1069.4251 30 0],[1072.7408 30 0],[1074.9384 60 0],[1078.455 30 0],[1078.6856 80 0],[1082.7091 140 0],[1084.3854 60 0],[1086.879 30 0],[1086.9541 130 0],[1088.2802 30 0],[1088.5336 30 0],[1097.9308 80 0],[1098.2061 30 0],[1101.7965 80 0],[1118.76 13 0],[1128.984 12 0],[1161.109 12 0],[1198.419 370 0],[1199.157 220 0],[1203.151 440 0],[1210.353 150 0],[1227.068 120 0],[1317.69 11 0],[1588.839 190 0],[1596.004 40 0],[1606.003 95 0],[1609.48 20 0],[1616.371 60 0],[1621.568 11 0],[1638.155 16 0],[1668.077 29 0],[1732.7289 28 0],[1872.29 26 0],[1938.5939 15 0],[1943.2971 48 0],[1949.3381 13 0],[1972.25 110 0],[1992.8881 31 0],[2091.7131 12 0],[2135.424 21 0],[2206.2711 12 0]}{ALLx2000x1000x2000x30x15x20x0}{UVx2000x1000x2000x30x15x20x0}{VISx1000x425x1000x30x10x0x0}{IVx500x440x500x11x2x0x0}%[7.861 1 4],[7.89 1 4],[8.081 2 4],[8.111 2 4],[8.518 10 4],[8.558 6 4],[9.045 4 4],[9.085 4 4],[9.644 15 4],[9.714 10 4],[9.821 2 4],
\pgfspectra@elt@search{#1}{P}{[25.559 80 4],[25.567 50 4],[28.2301 90 3],[30.4996 90 3],[31.058 110 4],[31.134 150 4],[32.847 300 4],[32.878 250 4],[34.723 150 4],[34.82 200 4],[35.9293 120 3],[35.9899 150 3],[36.1514 120 3],[36.1629 150 3],[37.1299 120 3],[37.1504 150 3],[37.2001 200 3],[37.856 110 4],[38.8318 500 3],[38.95 250 4],[39.07 300 4],[41.003 150 4],[41.4604 120 3],[41.4999 200 3],[41.5805 250 3],[44.4245 250 3],[44.5158 300 3],[47.1146 90 2],[47.56 375 4],[48.4278 90 2],[49.818 120 2],[53.463 110 4],[53.499 80 4],[54.257 520 4],[54.492 600 4],[56.8038 250 3],[56.9853 200 2],[58.1831 200 2],[62.9008 350 3],[62.9914 400 3],[63.1779 500 3],[64.8482 350 3],[67.39 450 4],[75.651 300 3],[77.6353 300 3],[81.024 10 1],[82.3179 650 3],[82.473 700 3],[82.7932 800 3],[84.4646 200 2],[84.5038 150 2],[84.5664 250 2],[84.7019 250 3],[84.7669 300 2],[84.8016 200 2],[84.8465 120 2],[84.8639 150 2],[84.9799 350 3],[85.0392 200 3],[85.2686 250 2],[85.5624 350 2],[85.9406 200 2],[85.9652 500 2],[85.9729 250 2],[86.544 10 1],[86.545 450 4],[87.139 600 4],[87.7476 700 3],[91.3971 300 2],[91.712 300 2],[91.8665 350 2],[92.1849 250 2],[95.0655 1000 3],[99.762 250 4],[99.7999 200 2],[100.038 150 4],[100.3598 250 2],[102.5563 570 3],[102.8096 500 3],[103.0517 570 3],[103.3111 500 3],[103.5517 500 3],[111.798 900 4],[111.8551 570 3],[112.801 700 4],[120.6422 200 3],[124.982 20 1],[130.187 20 1],[130.447 20 1],[130.468 15 1],[130.548 35 1],[130.987 25 1],[131.07 60 1],[133.4808 500 2],[133.5705 200 3],[134.4327 650 2],[134.4845 300 2],[136.6695 500 3],[137.2674 400 3],[137.349 20 0],[137.706 20 0],[137.7282 350 3],[137.793 20 0],[137.94 25 0],[137.962 150 4],[138.0463 250 2],[138.1089 150 2],[138.147 25 0],[138.505 250 4],[143.013 50 0],[144.783 375 4],[145.289 30 1],[148.4507 500 3],[148.7788 400 3],[148.9098 300 3],[149.136 50 0],[149.299 40 0],[150.2228 350 2],[150.4663 250 2],[153.251 80 1],[153.59 120 1],[153.639 80 1],[154.229 120 1],[154.843 60 0],[161.05 450 4],[161.8632 150 2],[161.8907 200 2],[167.107 70 0],[167.168 180 0],[167.248 90 0],[167.461 230 0],[167.971 300 0],[168.599 120 0],[169.406 100 0],[170.641 60 0],[177.499 250 0],[178.287 200 0],[178.768 180 0],[184.719 100 0],[185.122 80 0],[185.891 150 0],[185.943 150 0],[186.2762 250 3],[186.2893 120 3],[186.358 200 3],[188.8523 650 3],[191.0183 200 3],[198.5682 120 3],[198.5851 150 3],[198.6114 200 3],[198.7022 150 3],[202.348 100 0],[203.347 150 0],[213.547 100 0],[213.618 200 0],[214.914 200 0],[215.294 100 0],[215.408 150 0],[218.029 200 4],[218.642 150 4],[242.44 375 4],[244.093 450 4],[244.124 200 4],[247.7823 200 3],[247.807 150 3],[247.8256 250 3],[248.419 100 1],[253.399 500 0],[253.561 700 0],[255.325 600 0],[255.49 500 0],[260.5506 250 3],[260.606 150 1],[261.1147 200 2],[262.618 100 1],[263.2713 300 2],[263.676 90 1],[264.4295 400 3],[268.0133 200 2],[272.4764 300 3],[272.877 400 3],[272.912 200 3],[273.9309 500 3],[273.9872 250 3],[274.0223 200 3],[289.5241 250 2],[296.1 300 4],[296.1242 200 3],[297.855 450 4],[317.509 700 4],[318.6186 250 2],[320.404 520 4],[321.9307 300 2],[323.3536 150 2],[323.3602 400 2],[330.892 150 1],[334.7736 650 3],[336.4467 570 3],[337.1122 400 3],[341.3543 200 3],[341.934 125 1],[342.5 100 1],[355.6546 200 2],[357.7526 200 2],[373.3393 200 3],[390.4812 200 2],[391.4314 250 2],[395.7641 300 2],[397.8307 350 2],[405.744 200 2],[405.9312 400 2],[408.0084 300 2],[408.318 150 4],[409.495 110 4],[417.848 100 1],[422.2195 500 2],[424.672 350 2],[424.9656 300 3],[428.86 200 1],[438.535 200 1],[442.071 400 1],[442.8171 200 2],[445.246 100 1],[446.3 150 1],[446.3668 200 2],[446.798 120 1],[447.526 200 1],[447.9776 250 2],[449.924 200 1],[453.081 120 1],[454.0288 250 3],[454.1112 250 3],[454.8056 150 3],[454.8449 200 3],[455.483 120 1],[455.807 120 1],[458.171 120 1],[458.804 500 1],[458.986 500 1],[460.208 600 1],[462.67 300 1],[465.831 300 1],[486.442 200 1],[492.72 150 1],[494.353 500 1],[495.439 300 1],[496.971 300 1],[515.672 110 4],[519.141 150 1],[523.5499 150 3],[525.352 300 1],[529.613 400 1],[531.607 250 1],[534.475 300 1],[537.82 250 1],[538.688 300 1],[540.972 200 1],[542.591 400 1],[545.074 400 1],[545.831 100 0],[546.12 125 1],[547.775 200 0],[548.355 200 1],[549.973 200 1],[550.719 200 1],[554.114 200 1],[558.327 200 1],[558.834 250 1],[572.771 100 1],[598.9774 150 3],[602.418 500 1],[603.404 400 1],[604.312 500 1],[605.55 250 1],[605.786 100 1],[608.3409 150 2],[608.782 350 1],[609.768 150 0],[614.2605 150 3],[616.559 350 1],[619.901 180 0],[623.229 100 1],[636.727 200 1],[640.9204 150 2],[643.532 250 1],[643.631 130 1],[645.999 600 1],[648.444 150 2],[648.6381 150 2],[650.346 600 1],[650.797 600 1],[671.328 150 1],[671.3939 150 3],[671.5906 120 3],[671.742 120 0],[699.269 150 2],[716.545 100 0],[717.512 150 0],[717.666 120 0],[744.3657 200 3],[750.576 100 0],[784.563 250 1],[811.3528 150 2],[827.807 120 0],[836.784 150 0],[853.146 100 0],[861.385 100 0],[863.762 150 0],[874.154 250 0],[887.217 50 0],[952.578 30 0],[959.354 25 0],[973.474 20 0],[975.073 25 0],[979.679 50 0],[1008.422 25 0],[1052.945 6 0],[1058.152 8 0]}{ALLx1000x700x600x650x1000x900x0}{UVx1000x700x150x650x1000x900x0}{VISx600x200x600x500x300x150x0}{IVx250x250x250x150x0x0x0}%
\pgfspectra@elt@search{#1}{S}{[43.74 5 4],[43.82 5 4],[43.96 5 4],[51.93 20 3],[52.01 20 3],[52.08 40 3],[52.2 20 3],[52.25 20 3],[55.12 20 3],[65.25 40 3],[65.3 40 3],[65.36 70 3],[65.4 40 3],[65.56 70 3],[65.59 20 3],[65.73 110 3],[65.83 40 4],[65.98 70 4],[66.09 40 3],[66.14 160 3],[66.32 110 4],[66.37 40 3],[66.48 40 3],[66.61 70 3],[67.62 5 4],[67.73 5 4],[67.81 20 4],[68.03 40 4],[68.09 110 4],[68.16 40 4],[68.62 5 4],[68.69 5 4],[68.98 5 4],[69.17 5 4],[69.35 20 4],[72.95 70 2],[73.242 110 2],[73.52 70 2],[73.85 70 2],[74.49 110 3],[74.84 110 3],[75.02 110 3],[75.38 110 3],[78.65 285 4],[78.9 70 2],[79.67 70 2],[79.83 40 3],[80.05 70 3],[80.4 70 3],[80.97 70 3],[81.6 110 3],[82.49 70 2],[83.63 70 2],[84.92 160 4],[85.22 110 4],[85.48 220 4],[85.79 110 4],[86.05 110 4],[88.36 20 4],[88.45 20 4],[88.58 5 4],[90.09 20 4],[90.28 5 4],[90.59 20 4],[90.69 40 1],[91.05 40 1],[91.27 40 1],[93.74 40 1],[93.77 40 1],[99.6 20 1],[100.05 20 1],[101.44 20 1],[101.95 20 1],[106.27 160 3],[107.3 160 3],[107.35 70 3],[107.71 285 2],[109.66 20 1],[110.23 40 1],[110.84 20 3],[111.09 20 3],[113.1 20 1],[113.16 20 1],[119.4 70 2],[120.1 70 2],[123.41 40 1],[125.05 40 1],[125.38 110 1],[125.95 110 1],[127.0782 275 0],[127.7216 250 0],[129.5653 280 0],[130.2337 275 0],[130.2863 235 0],[130.311 235 0],[130.343 245 0],[130.5883 260 0],[131.0194 265 0],[131.6542 355 0],[131.6618 290 0],[132.3515 375 0],[132.6643 355 0],[138.1552 775 0],[138.551 710 0],[138.8435 960 0],[138.9154 640 0],[139.2588 775 0],[139.6112 1000 0],[140.9337 300 0],[142.503 510 0],[143.328 425 0],[143.6968 300 0],[144.8229 300 0],[147.2972 425 0],[147.3995 550 0],[147.438 300 0],[148.1665 355 0],[148.3039 485 0],[148.3233 300 0],[148.5622 330 0],[148.715 390 0],[162.4 20 3],[162.92 20 3],[166.6688 680 0],[168.753 640 0],[180.7311 710 0],[182.0343 680 0],[182.6245 640 0],[190.0286 710 0],[191.4698 550 0],[238.7 20 3],[239.89 40 3],[246.05 110 2],[248.96 110 2],[249.62 160 2],[249.91 160 2],[250.82 220 2],[262.91 20 1],[263.69 70 2],[266.54 220 2],[267 40 1],[268.05 70 2],[269.18 110 2],[270.28 110 2],[271.89 220 2],[272.14 110 2],[272.68 220 2],[273.11 220 2],[274.1 110 2],[275.69 285 2],[277.52 110 2],[278.55 160 2],[279.74 70 2],[284.77 40 1],[285.6 70 2],[286.35 110 2],[290.43 160 2],[296.48 70 2],[298.6 160 2],[309.75 110 3],[311.77 40 3],[323.42 70 2],[332.49 70 2],[349.73 110 2],[363.2 160 2],[366.2 70 2],[370.94 110 2],[371.78 160 2],[383.83 160 2],[386.76 285 0],[390.2 285 0],[392.86 160 2],[393.33 360 1],[412.08 450 0],[414.23 280 1],[414.51 360 1],[415.31 450 1],[416.27 450 1],[425.36 360 2],[428.5 110 2],[433.27 70 2],[469.41 450 0],[469.54 285 0],[469.62 160 0],[471.62 280 1],[481.55 450 1],[492.41 360 1],[492.53 450 1],[499.35 285 0],[542.86 360 1],[543.28 650 1],[545.38 1000 1],[547.36 1000 1],[550.97 1000 1],[556.49 280 1],[560.61 1000 1],[564 450 1],[564.03 450 1],[564.7 280 1],[565.99 650 1],[566.47 450 1],[570.61 160 0],[581.92 450 1],[605.27 450 0],[628.64 280 1],[628.71 450 1],[630.55 450 1],[631.27 450 1],[638.49 280 1],[639.73 280 1],[639.8 280 1],[641.37 360 1],[674.36 160 0],[674.88 285 0],[675.72 450 0],[757.9 450 0],[762.98 450 0],[768.61 285 0],[769.67 450 0],[792.4 1000 0],[792.88 160 0],[793.03 285 0],[793.17 450 0],[796.74 450 0],[796.74 450 1],[831.47 450 0],[831.47 450 1],[858.56 450 0],[868.05 285 0],[869.47 450 0],[887.45 360 0],[888.25 110 0],[888.42 220 0],[903.59 160 0],[921.29 450 0],[922.81 450 0],[923.75 450 0],[941.35 285 0],[942.19 285 0],[943.71 285 0],[964.99 650 0],[967.23 450 0],[968.08 450 0],[969.37 450 0],[969.73 285 0],[973.97 285 0],[974.19 110 0],[993.23 285 0],[994.98 285 0],[995.89 285 0],[1045.55 285 0],[1045.68 70 0],[1045.95 285 0]}{ALLx1000x1000x1000x360x160x285x0}{UVx1000x1000x110x285x160x285x0}{VISx1000x450x1000x360x0x0x0}{IVx1000x1000x450x0x0x0x0}%
\pgfspectra@elt@search{#1}{Cl}{[28.733 30 4],[31.962 30 3],[33.184 20 3],[37.378 30 4],[39.015 40 4],[39.243 50 4],[40.627 10 2],[41.137 40 2],[41.181 40 2],[43.783 40 3],[46.486 40 3],[48.617 80 3],[53.473 80 3],[53.567 70 3],[53.615 60 3],[53.653 30 4],[53.701 40 4],[53.746 30 4],[53.761 90 3],[53.803 50 4],[53.812 60 3],[53.868 40 4],[54.223 80 4],[54.23 60 4],[54.287 40 4],[54.511 100 4],[54.633 60 4],[54.763 100 4],[54.922 50 3],[55.002 40 3],[55.202 70 3],[55.33 60 3],[55.462 70 3],[55.623 60 2],[55.661 70 2],[55.712 70 2],[55.9305 35 1],[56.153 70 2],[56.168 70 2],[56.174 70 2],[57.1904 40 1],[57.4406 80 1],[58.624 50 1],[60.15 50 3],[60.459 50 3],[60.635 50 2],[60.89 40 3],[61.207 40 3],[61.8057 70 1],[61.9982 60 1],[62.0298 80 1],[62.128 40 2],[62.6735 70 1],[63.319 40 4],[63.532 40 4],[63.5881 80 1],[63.6626 100 1],[65.0894 100 1],[65.37 40 3],[65.9811 100 1],[66.1841 130 1],[66.3074 200 1],[67.038 30 2],[67.313 30 2],[68.192 40 4],[68.2053 150 1],[68.317 40 4],[68.7656 150 1],[68.893 40 4],[69.3594 150 1],[72.5271 200 1],[72.8951 250 1],[74.521 40 3],[77.7562 200 1],[78.758 500 1],[78.874 500 1],[79.3342 500 1],[83.143 40 3],[83.484 50 3],[83.497 50 3],[83.9297 600 1],[83.9599 800 1],[84.081 40 3],[84.093 60 3],[84.141 700 1],[85.1691 500 1],[88.313 40 4],[88.8026 200 1],[89.3549 200 1],[89.434 40 4],[89.491 10 4],[93.628 10 2],[96.1499 200 1],[96.992 3 0],[97.321 50 3],[97.756 60 3],[97.79 40 3],[97.8284 4 0],[98.495 70 3],[98.575 40 3],[99.8372 2.5 0],[99.8432 2.5 0],[100.2346 7.5 0],[100.528 50 2],[100.878 60 2],[101.3664 15 0],[101.502 70 2],[102.5553 9 0],[106.3831 600 1],[106.7945 300 1],[107.1036 900 1],[107.1767 600 1],[107.523 500 1],[107.908 500 1],[108.4667 20 0],[108.5171 20 0],[108.5304 25 0],[108.806 40 0],[109.0271 35 0],[109.0982 25 0],[109.2437 25 0],[109.4769 40 0],[109.5148 35 0],[109.5662 35 0],[109.5797 40 0],[109.681 25 0],[109.7369 30 0],[109.8068 20 0],[109.9523 20 0],[110.7528 50 0],[113.9214 80 1],[116.7148 80 0],[117.9293 300 0],[118.8774 120 0],[120.1353 90 0],[133.5726 300 0],[134.724 1000 0],[135.1657 500 0],[136.3447 1200 0],[137.3116 250 0],[137.9528 2000 0],[138.9693 2500 0],[138.9957 2000 0],[139.6527 1200 0],[144.147 50 1],[152.8569 50 1],[153.721 30 3],[153.93 20 3],[154.2942 50 1],[154.519 20 3],[154.915 20 3],[155.8144 50 1],[156.505 50 1],[162.286 20 3],[182.25 60 2],[182.84 50 2],[185.7488 50 1],[190.161 50 2],[198.361 50 2],[199.737 45 1],[200.684 40 2],[203.2116 45 1],[208.8583 35 1],[209.1458 35 1],[225.307 70 2],[226.895 50 2],[227.834 50 2],[228.393 70 2],[232.35 60 2],[233.645 50 2],[234.064 60 2],[235.967 60 2],[237.037 60 2],[241.642 70 2],[242.779 17 1],[243.407 36 1],[244.714 60 2],[244.858 60 2],[248.691 50 2],[249.853 34 1],[250.274 47 1],[253.248 50 2],[254.696 26 1],[254.988 50 1],[256.484 46 1],[258.067 60 2],[260.331 32 1],[260.359 50 2],[263.267 50 2],[263.318 50 2],[265.872 95 1],[266.554 60 2],[267.695 75 1],[268.804 120 1],[270.136 40 3],[271.037 70 2],[272.403 50 3],[275.123 50 3],[277.064 40 3],[278.247 70 3],[283.54 40 3],[291.205 41 1],[296.556 60 2],[299.665 95 1],[300.606 50 1],[305.796 95 1],[306.313 50 3],[307.132 130 1],[307.668 60 3],[309.219 140 1],[310.446 60 2],[312.372 120 1],[313.934 80 2],[316.787 20 3],[319.145 90 2],[328.98 70 2],[331.543 190 1],[332.057 70 2],[332.906 80 2],[332.91 120 1],[334.042 90 2],[335.335 250 1],[339.289 80 2],[339.345 80 2],[353.003 90 2],[356.068 80 2],[360.21 90 2],[361.285 80 2],[362.269 70 2],[365.695 70 2],[367.028 70 2],[368.205 70 2],[370.545 60 2],[370.734 60 2],[372.045 80 2],[372.654 2 0],[374.881 80 2],[374.996 120 1],[377.935 50 2],[378.117 100 1],[379.876 150 1],[380.518 190 1],[380.946 130 1],[382.02 170 1],[382.759 280 1],[383.335 450 1],[384.32 250 1],[384.537 310 1],[384.565 390 1],[384.58 150 1],[385.099 1000 1],[385.137 790 1],[385.165 120 1],[386.083 2500 1],[386.099 440 1],[386.137 100 1],[391.387 150 1],[391.663 110 1],[392.587 50 2],[394.482 2 0],[399.15 70 2],[401.85 60 2],[405.907 60 2],[410.423 50 2],[410.479 2 0],[410.683 50 2],[413.25 1000 1],[420.967 6.5 0],[422.642 5 0],[426.458 6 0],[436.327 10 0],[436.95 10 0],[437.091 40 2],[437.293 500 1],[437.99 10 0],[438.975 10 0],[439.04 9 0],[440.303 9 0],[443.849 10 0],[447.53 9 0],[448.991 150 1],[452.619 10 0],[460.098 8 0],[460.821 50 2],[462.3938 4 0],[465.404 5 0],[466.1208 8 0],[469.1523 4.5 0],[470.314 30 2],[472.1255 4 0],[474.0729 4.5 0],[476.865 430 1],[478.132 1300 1],[479.455 9900 1],[481.006 2900 1],[481.947 1600 1],[486.375 10 2],[489.677 8100 1],[490.478 4700 1],[491.773 2600 1],[497.164 1 2],[499.548 1000 1],[507.826 2600 1],[509.9789 3 0],[521.794 5600 1],[522.136 2300 1],[539.212 1500 1],[542.323 9900 1],[542.351 1000 1],[544.337 1900 1],[544.421 1000 1],[545.702 560 1],[553.2162 4 0],[579.6305 5 0],[579.9914 4.5 0],[585.6742 3 0],[594.858 10 0],[601.9812 5 0],[608.261 3.5 0],[609.469 190 1],[611.443 16 0],[614.0245 20 0],[619.4757 16 0],[639.866 16 0],[643.4833 15 0],[653.143 15 0],[666.167 140 1],[667.843 15 0],[668.602 130 1],[671.341 120 1],[684.029 15 0],[693.2903 30 0],[698.1886 30 0],[708.6814 60 0],[725.662 750 0],[741.411 500 0],[746.237 55 0],[748.947 55 0],[749.2118 70 0],[754.7072 1100 0],[767.242 230 0],[770.2828 45 0],[771.7581 700 0],[774.497 1000 0],[776.916 220 0],[777.109 65 0],[782.136 220 0],[783.075 170 0],[787.822 300 0],[789.334 22 0],[789.931 230 0],[791.508 180 0],[792.4645 300 0],[793.389 210 0],[793.5012 170 0],[795.252 65 0],[797.472 150 0],[797.697 130 0],[798.06 60 0],[799.785 290 0],[801.561 220 0],[802.333 110 0],[805.107 40 0],[808.451 170 0],[808.556 220 0],[808.667 300 0],[808.773 130 0],[809.467 25 0],[819.442 250 0],[819.913 220 0],[820.021 220 0],[820.378 80 0],[821.204 1800 0],[822.045 300 0],[822.174 2000 0],[833.331 1800 0],[836.071 100 1],[836.184 56 1],[837.594 9990 0],[838.267 18 1],[839.202 10 1],[840.6199 40 0],[842.825 1500 0],[846.734 220 0],[855.044 220 0],[857.524 2000 0],[857.802 75 0],[858.597 7500 0],[862.854 45 0],[864.171 30 0],[868.626 350 0],[891.292 220 0],[894.806 300 0],[903.8982 200 0],[904.543 250 0],[906.9656 100 0],[907.317 200 0],[912.115 750 0],[919.1731 300 0],[919.7596 50 0],[928.886 400 0],[939.3862 150 0],[945.21 350 0],[948.6964 50 0],[958.4801 100 0],[959.222 350 0],[963.2509 25 0],[970.2439 100 0],[974.4426 25 0],[980.7057 20 0],[987.597 40 0],[1039.2549 33.1 0],[1043.283 3.8 1],[1050.662 1 1],[1050.912 1.4 1],[1051.246 1.9 1],[1051.417 2.5 1],[1080.147 0.9 1],[1088.542 0.5 1],[1095.571 0.1 1],[1112.305 30 0],[1139.262 23.1 0],[1140.969 26.9 0],[1143.633 100 0],[1172.056 18 0],[1186.676 19.5 0],[1202.17 17.2 0],[1324.38 35 0],[1329.6 31 0],[1334.68 55 0],[1382.17 52.5 0],[1436.97 14.8 0],[1493.17 29.4 0],[1510.8 26.9 0],[1546.51 38.1 0],[1546.76 16.9 0],[1552.03 109.4 0],[1573.01 148.7 0],[1581.84 19.3 0],[1586.97 278 0],[1588.33 27.7 0],[1592.89 34.2 0],[1596 73.5 0],[1597.05 28.3 0],[1607.76 12.9 0],[1619.85 25.9 0],[1937.0301 22.7 0],[1975.5301 71.7 0],[1976.6801 18.5 0],[2019.94 22.7 0],[2037.01 8.5 0],[2447 10 0]}{ALLx9990x9990x9900x90x90x100x0}{UVx2500x2500x900x90x90x100x0}{VISx9900x1100x9900x70x0x0x0}{IVx9990x9990x100x0x0x0x0}%
@@ -66,7 +66,7 @@
\pgfspectra@elt@search{#1}{As}{[60.07 25 4],[61.6 40 4],[71.55 120 4],[73.48 150 4],[73.72 60 4],[76.124 165 1],[80.283 165 1],[84.99 185 2],[86.63 185 2],[87.17 510 2],[88.9 325 2],[92.75 325 2],[93.72 325 2],[95.36 325 2],[96.38 325 2],[98.77 250 4],[102.196 340 1],[102.95 250 4],[105.16 40 4],[105.66 60 4],[108.235 340 1],[113.94 500 1],[114.931 615 1],[117.22 120 2],[118.151 555 1],[118.987 555 1],[119.638 615 1],[119.656 615 1],[120.744 340 1],[120.93 185 2],[121.117 800 1],[121.81 800 1],[122.315 340 1],[124.131 760 1],[124.308 965 1],[124.567 870 1],[125.858 800 1],[126.377 965 1],[126.634 800 1],[126.759 800 1],[128.099 715 1],[128.754 715 1],[130.57 715 1],[130.774 340 1],[133.315 760 1],[134.155 965 1],[135.593 760 1],[136.977 965 1],[137.365 800 1],[137.507 1000 1],[137.578 760 1],[139.464 800 1],[140.031 800 1],[144.859 500 1],[155.888 500 1],[157.099 500 1],[159.36 100 0],[166.055 500 1],[175.86 100 0],[180.615 170 0],[186.034 340 1],[189.042 1000 0],[191.294 500 1],[193.759 800 0],[197.262 585 0],[199.035 170 0],[199.113 100 0],[199.543 100 0],[200.334 230 0],[200.919 100 0],[201.332 100 0],[211.299 100 0],[214.408 100 0],[216.552 135 0],[225.31 150 3],[226.32 200 3],[228.812 350 0],[230.1 200 3],[234.984 350 0],[237.077 100 0],[238.118 135 0],[241.75 250 3],[244.61 150 3],[245.4 250 3],[245.653 170 0],[246.14 200 3],[260.2 340 1],[278.022 170 0],[283.0359 300 1],[283.1164 300 1],[286.044 100 0],[288.4406 300 1],[292.63 80 2],[295.9572 615 1],[298.2 185 2],[300.3819 300 1],[310.88 150 3],[311.6516 300 1],[384.26 340 1],[392.26 325 2],[403.72 185 2],[419.0082 715 1],[419.74 615 1],[424.2982 615 1],[431.5657 500 1],[432.3867 500 1],[433.664 500 1],[435.2145 500 1],[435.2864 425 1],[437.117 375 1],[442.7106 615 1],[443.1562 615 1],[445.8469 715 1],[446.1075 340 1],[446.6348 715 1],[447.446 500 1],[449.423 800 1],[450.7659 850 1],[453.974 615 1],[454.3483 715 1],[460.2427 615 1],[462.9787 340 1],[470.7586 340 1],[473.067 340 1],[488.8557 340 1],[506.898 100 0],[510.558 340 1],[510.755 500 1],[512.134 100 0],[514.163 100 0],[523.138 425 1],[533.123 500 1],[540.813 100 0],[545.132 135 0],[549.7727 340 1],[555.809 425 1],[565.132 425 1],[611.007 425 1],[617.027 500 1],[651.174 300 1],[709.227 300 1],[710.272 300 1],[799.053 340 1],[817.451 300 1],[842.891 100 0],[856.471 100 0],[865.414 100 0],[882.173 135 0],[886.966 100 0],[926.728 135 0],[930.061 200 0],[959.795 230 0],[962.67 290 0],[983.376 230 0],[988.605 100 0],[990.055 140 0],[991.571 170 0],[992.305 290 0],[1001.063 100 0],[1002.404 290 0],[1045.309 100 0],[1057.502 100 0],[1061.407 170 0]}{ALLx1000x1000x1000x510x250x250x0}{UVx1000x1000x1000x510x250x250x0}{VISx850x135x850x325x0x0x0}{IVx340x290x340x0x0x0x0}%
\pgfspectra@elt@search{#1}{Se}{[59.6 285 4],[60.1 285 4],[60.87 220 4],[61.3 360 4],[61.43 285 4],[63.6 285 3],[65.27 360 3],[65.42 285 3],[67.01 450 3],[67.19 285 3],[70.92 220 2],[70.94 220 2],[72.06 220 2],[72.28 220 3],[72.43 360 2],[72.64 285 2],[73.46 285 3],[73.72 220 2],[74.19 220 2],[74.64 450 3],[75.9 285 3],[75.91 450 4],[77.65 285 3],[77.73 285 2],[78.58 285 4],[79.08 220 2],[80.38 285 3],[80.43 285 4],[80.87 360 4],[81.48 220 4],[82.07 220 4],[82.85 285 1],[83.03 360 4],[83.27 360 1],[83.95 450 4],[84.3 360 2],[84.58 360 4],[87.92 220 2],[90.66 285 1],[91.29 360 1],[95.37 285 2],[95.44 220 2],[95.47 220 2],[95.96 360 3],[97.41 160 2],[97.48 360 2],[99.67 450 3],[101.34 360 1],[101.4 360 1],[103.36 450 1],[104.96 450 1],[105.74 360 1],[107.98 285 2],[109.47 360 4],[109.78 285 1],[109.91 360 2],[111.92 450 2],[114.19 360 1],[115.1 220 4],[115.6 220 1],[115.69 285 1],[116.85 285 1],[119.23 450 1],[120.57 220 1],[122.76 450 4],[123.49 220 1],[129.1 285 1],[130.72 220 3],[130.89 285 1],[131.44 285 3],[140.54 100 0],[140.64 100 0],[140.66 100 0],[143.53 120 0],[143.58 120 0],[144.48 100 0],[144.68 100 0],[144.7 100 0],[144.92 150 0],[145.63 120 0],[150.09 150 0],[153.04 250 0],[153.13 150 0],[153.18 200 0],[154.71 120 0],[156.03 120 0],[157.53 150 0],[157.76 150 0],[157.79 150 0],[157.95 150 0],[158 200 0],[158.75 150 0],[159.32 150 0],[160.65 250 0],[161.07 100 0],[161.13 100 0],[161.74 200 0],[162.12 150 0],[162.27 100 0],[162.62 120 0],[164.34 150 0],[167.12 250 0],[167.53 250 0],[169.07 250 0],[179.33 250 0],[179.53 300 0],[185.52 300 0],[185.88 250 0],[189.86 400 0],[191.38 350 0],[191.92 300 0],[196.09 500 0],[199.51 150 0],[203.98 500 0],[205.75 285 2],[207.48 500 0],[209 220 3],[213.66 285 3],[216.42 500 0],[216.52 160 3],[216.66 160 3],[233.28 150 0],[241.35 600 0],[254.8 300 0],[266.55 360 3],[272.43 285 3],[276.72 285 2],[277.38 220 2],[295.16 160 3],[303.87 220 1],[304.13 220 1],[337.98 285 2],[338.72 450 2],[341.39 450 2],[342.84 285 2],[345.78 450 2],[354.36 360 2],[357.02 285 2],[363.76 450 2],[371.17 360 2],[373.87 450 2],[374.3 285 2],[380.09 450 2],[404.67 360 2],[407.02 285 1],[408.32 220 2],[416.91 450 2],[417.53 360 1],[418.09 450 1],[432.87 120 0],[433.03 100 0],[438.29 285 1],[444.6 285 1],[444.92 220 1],[446.76 285 1],[463.79 220 2],[473.08 500 0],[473.9 400 0],[474.22 300 0],[484.06 285 1],[484.5 360 1],[522.75 450 1],[530.54 360 1],[536.55 100 0],[536.99 120 0],[537.41 110 0],[552.24 285 1],[556.69 285 1],[586.63 285 1],[605.6 450 1],[630.38 285 2],[632.56 200 0],[644.42 360 1],[649.05 285 1],[653.5 285 1],[683.13 150 0],[699.069 120 0],[699.1792 100 0],[701.0809 200 0],[701.3875 150 0],[706.2065 300 0],[757.51 200 0],[758.34 250 0],[759.22 150 0],[760.68 120 0],[800.1 300 0],[803.64 200 0],[806.09 120 0],[806.53 120 0],[808.11 120 0],[809.32 150 0],[809.47 150 0],[814.93 180 0],[815.2 150 0],[815.77 200 0],[816.31 180 0],[818.29 150 0],[818.5 100 0],[819.46 120 0],[844.047 150 0],[845.038 150 0],[874.233 150 0],[891.886 300 0],[896.969 100 0],[900.197 200 0],[903.861 200 0],[908.314 80 0],[908.879 120 0],[914.083 80 0],[918.188 60 0],[927.112 60 0],[943.25 100 0],[982.558 60 0],[1021.725 200 0],[1030.745 377 0],[1032.726 900 0],[1038.636 640 0],[1065.03 124 0],[1193.456 125 0],[1194.687 275 0],[1194.792 100 0],[1195.227 105 0],[1195.264 170 0],[1196.604 100 0],[1197.293 205 0],[1197.307 115 0],[1481.793 315 0],[1491.747 410 0],[1515.144 500 0],[1546.906 115 0],[1547.1 320 0],[1552.097 265 0],[1561.84 395 0],[1562.038 115 0],[1665.9439 360 0],[1681.3779 505 0],[1681.776 165 0],[1686.6539 205 0],[1697.2711 115 0],[2137.424 235 0],[2144.2561 680 0],[2147.348 415 0],[2171.6359 270 0],[2173.06 240 0],[2313.366 105 0],[2338.885 150 0],[2362.817 110 0],[2414.818 265 0],[2415.923 170 0],[2420.4439 185 0],[2438.599 375 0],[2441.367 160 0],[2447.117 225 0],[2501.751 255 0],[2512.743 510 0]}{ALLx900x900x450x450x450x450x0}{UVx600x600x450x450x450x450x0}{VISx500x500x450x450x0x0x0}{IVx900x900x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{Br}{[37.973 70 3],[40.037 70 3],[46.837 60 4],[48.211 80 4],[53.197 90 4],[54.543 100 3],[54.79 100 4],[54.977 70 4],[55.976 100 3],[56.919 100 3],[57.659 100 3],[58.51 100 3],[58.671 100 3],[59.751 100 3],[60.009 100 3],[60.127 100 3],[60.703 100 3],[61.11 45 2],[61.785 100 3],[61.987 100 3],[62.04 30 2],[62.103 80 4],[63.014 100 3],[63.222 80 4],[64.223 100 3],[64.544 70 4],[65.264 40 4],[65.754 80 4],[66.153 100 3],[66.554 50 2],[67.719 50 2],[67.78 30 2],[67.962 80 4],[68.351 100 3],[68.768 45 2],[69.02 40 2],[69.699 35 2],[69.772 100 3],[71.168 30 1],[71.539 100 3],[72.7 30 2],[73.1 100 3],[73.64 30 2],[76.963 25 2],[80.012 100 3],[81.295 70 4],[81.366 100 3],[81.548 25 1],[81.779 25 2],[85.081 100 4],[85.527 15 4],[85.619 35 1],[88.923 100 1],[89.664 50 1],[90.599 50 1],[92.256 30 1],[94.897 100 1],[94.9 35 2],[96.04 40 2],[98.49 45 2],[98.493 50 1],[101.21 50 1],[101.554 100 1],[103.702 50 1],[104.16 60 4],[104.9 100 1],[106.476 45 1],[106.915 100 4],[107.187 50 1],[108.054 50 4],[110.15 25 0],[111.213 90 4],[113.459 30 0],[113.629 25 0],[114.356 100 4],[117.723 25 0],[117.89 40 0],[118.928 100 0],[118.938 25 0],[118.95 100 0],[119.837 50 0],[120.976 80 0],[121.073 100 0],[121.601 75 0],[122.113 100 0],[122.187 90 0],[122.324 100 0],[122.441 120 0],[122.69 120 0],[122.805 75 0],[123.243 750 0],[124.39 120 0],[124.959 80 0],[125.166 150 0],[125.58 100 0],[125.92 150 0],[126.166 120 0],[126.62 120 0],[127.482 90 3],[127.948 100 0],[128.626 100 0],[130.991 300 0],[131.35 25 2],[131.674 300 0],[131.737 100 0],[131.77 200 0],[138.46 1200 0],[140.29 25 2],[142.975 15 4],[144.26 40 4],[144.99 300 0],[147.035 15 4],[148.845 5000 0],[153.174 3000 0],[154.065 2500 0],[157.484 3000 0],[157.639 2000 0],[158.231 2500 0],[163.34 7500 0],[170.351 100 3],[213.379 100 3],[214.502 100 3],[225.721 100 3],[227.273 100 3],[228.517 35 1],[228.76 35 1],[229.344 40 2],[230.74 100 3],[231.329 30 2],[231.73 50 1],[233.693 40 1],[238.645 35 1],[238.67 50 1],[238.869 30 1],[238.896 45 1],[238.969 50 1],[239.221 35 1],[239.242 40 1],[240.816 100 3],[241.158 100 3],[246.239 30 2],[248.26 30 2],[248.85 30 1],[249.114 70 3],[249.522 30 1],[249.925 35 2],[252.17 45 1],[252.949 35 2],[254.148 40 1],[255.109 35 2],[255.692 40 1],[257.083 35 2],[257.317 30 2],[258.119 100 3],[258.499 40 2],[258.914 50 2],[259.448 30 2],[259.598 40 2],[260.62 45 2],[260.815 35 2],[261.313 50 2],[261.626 35 2],[262.652 50 2],[262.923 35 2],[263.96 35 2],[266.14 60 3],[267.153 35 2],[269.017 35 1],[271.377 40 1],[273.583 35 2],[274.652 35 1],[277.05 30 2],[278.528 30 2],[280.416 30 2],[280.755 30 1],[282.087 70 3],[284.288 100 3],[289.34 40 1],[290.771 110 3],[291.718 40 1],[292.696 40 2],[293.622 30 2],[296.721 40 1],[296.9 35 2],[297.226 50 1],[298.186 30 1],[298.587 30 1],[298.653 30 1],[299.404 40 2],[301.648 30 1],[302.076 50 2],[303.363 30 2],[303.645 35 2],[304.118 50 3],[307.442 50 2],[309.194 35 2],[311.729 35 2],[314.781 30 2],[317.408 40 2],[332.108 30 2],[333.307 45 2],[334.964 50 2],[338.056 50 3],[338.525 30 2],[342.382 35 1],[344.736 45 2],[348.758 40 2],[350.647 30 2],[351.736 45 2],[354.016 50 2],[355.108 30 2],[356.243 50 2],[360.071 45 2],[360.68 30 1],[369.353 25 2],[371.43 35 1],[381.565 120 0],[382.026 45 2],[383.469 35 1],[387.121 30 1],[389.163 40 1],[390.124 30 1],[390.395 20 2],[391.42 30 1],[391.438 50 1],[391.951 35 1],[392.409 40 1],[392.955 30 1],[393.969 35 1],[395.061 35 1],[398.038 50 1],[399.236 150 0],[402.404 30 1],[413.566 30 1],[414.02 30 1],[417.963 40 1],[419.345 30 1],[422.389 100 1],[423.689 30 1],[429.139 30 1],[436.514 200 0],[436.56 100 1],[442.514 150 0],[444.174 1000 0],[447.261 1000 0],[447.772 2000 0],[449.042 100 0],[450.655 35 2],[451.344 300 0],[451.974 20 2],[452.559 1500 0],[452.96 30 1],[454.292 50 1],[457.574 300 0],[460.136 30 1],[461.458 250 0],[462.27 35 1],[464.202 30 1],[465.198 30 1],[467.87 50 1],[469.317 40 1],[470.485 50 1],[471.976 35 1],[472.036 40 1],[472.82 30 1],[473.541 30 1],[474.264 40 1],[475.228 250 0],[476.6 35 1],[477.94 40 1],[478.031 400 0],[478.519 160 0],[478.55 50 1],[480.233 30 1],[481.67 50 1],[481.846 30 1],[484.481 35 1],[484.875 35 1],[492.112 40 1],[492.879 40 1],[493.066 45 1],[494.551 30 1],[497.976 400 0],[503.874 30 1],[505.464 30 1],[516.438 40 1],[517.587 15 2],[518.001 30 1],[518.235 50 1],[519.39 30 1],[523.823 50 1],[527.268 30 1],[530.41 35 1],[533.057 40 1],[533.205 50 1],[539.548 120 0],[542.278 40 1],[542.499 35 1],[543.507 30 1],[544.68 10 2],[546.622 120 0],[547.847 35 1],[548.879 30 1],[549.506 30 1],[550.669 50 1],[558.994 35 1],[571.871 30 1],[583.078 30 1],[585.208 180 0],[594.048 160 0],[612.214 240 0],[614.86 4000 0],[616.174 30 1],[617.739 200 0],[633.548 150 0],[635.073 6000 0],[635.294 40 1],[641.032 250 0],[648.356 180 0],[651.462 100 0],[654.457 2000 0],[654.809 150 0],[655.98 5000 0],[657.131 100 0],[657.914 180 0],[658.217 2000 0],[662.047 150 0],[663.162 5000 0],[668.228 2000 0],[669.213 1000 0],[672.828 800 0],[676.006 200 0],[677.948 200 0],[678.674 220 0],[679.004 650 0],[679.148 160 0],[686.115 180 0],[700.519 1000 0],[719.28 10 2],[726.045 200 0],[734.851 1000 0],[751.296 4000 0],[759.161 160 0],[759.507 180 0],[761.641 200 0],[767.31 10 2],[780.302 3000 0],[782.723 120 0],[788.145 250 0],[788.157 250 0],[792.581 250 0],[793.868 3000 0],[794.794 300 0],[795.018 300 0],[797.844 800 0],[797.857 1000 0],[798.994 3000 0],[802.635 200 0],[802.654 250 0],[813.152 3000 0],[815.265 100 0],[815.375 1000 0],[815.4 2500 0],[824.686 500 0],[826.496 1500 0],[827.244 7500 0],[833.47 2000 0],[834.37 1000 0],[838.404 120 0],[844.655 4000 0],[847.745 400 0],[851.338 150 0],[855.773 100 0],[856.628 100 0],[863.866 2000 0],[869.853 400 0],[879.347 1000 0],[881.996 1500 0],[882.522 2500 0],[888.898 400 0],[889.762 3000 0],[893.24 600 0],[894.939 180 0],[896.4 900 0],[902.442 35 1],[916.606 3000 0],[917.363 1500 0],[917.816 2000 0],[926.542 4000 0],[932.086 1500 0],[943.404 30 1],[979.348 600 0],[989.64 1000 0],[1014.008 300 0],[1023.774 600 0],[1029.962 100 0],[1037.765 150 0],[1045.796 3000 0],[1074.214 100 0],[1075.592 300 0],[1321.717 170 0],[1435.457 180 0],[1488.87 125 0],[1673.1189 180 0],[1856.8311 120 0],[1973.3619 350 0],[2028.173 100 0],[2062.467 100 0],[2178.724 120 0],[2286.565 400 0],[2351.315 100 0],[2834.65 50 0],[3038.085 50 0],[3163.0131 60 0],[3269.39 12 0],[3418.1871 15 0],[3834.575 15 0],[3996.4359 12 0]}{ALLx7500x7500x100x50x110x100x0}{UVx7500x7500x100x50x110x100x0}{VISx6000x6000x100x45x0x0x0}{IVx7500x7500x35x0x0x0x0}%
-\pgfspectra@elt@search{#1}{Kr}{[46.735 30 2],[47.216 150 4],[48.439 100 4],[49.625 250 4],[50.077 120 4],[50.72 200 4],[54.086 30 2],[54.804 60 4],[56.564 30 2],[56.916 30 2],[57.198 30 2],[57.983 30 2],[58.514 30 2],[58.596 30 2],[59.37 30 2],[59.41 30 2],[59.641 30 2],[60.017 40 2],[60.367 30 2],[60.586 50 2],[60.647 35 2],[61.112 50 2],[61.672 35 2],[62.145 40 2],[62.28 45 2],[62.502 50 2],[62.576 30 2],[62.859 45 2],[63.004 50 2],[63.309 35 2],[63.787 120 4],[63.998 50 2],[64.641 60 2],[65.12 50 2],[65.972 50 2],[66.486 30 2],[67.234 40 2],[67.285 35 2],[67.657 35 2],[68.013 35 2],[68.368 35 2],[68.625 45 2],[68.798 45 2],[69.193 45 2],[69.561 50 2],[69.805 30 2],[70.836 50 2],[70.885 600 4],[71.4 50 2],[72.204 100 2],[72.94 60 1],[74.67 30 2],[76.118 200 1],[76.398 100 1],[76.62 60 1],[77.103 200 1],[77.369 60 1],[78.21 200 1],[78.372 100 1],[78.597 60 2],[80.576 7 3],[81.682 18 3],[81.815 60 1],[83.038 60 1],[83.766 50 2],[84.204 22 3],[84.406 100 1],[85.473 50 2],[86.258 60 2],[86.482 60 1],[86.887 60 1],[87.084 40 2],[87.608 50 2],[88.414 200 1],[88.63 1000 1],[89.101 400 1],[89.781 75 2],[91.139 200 1],[91.743 2000 1],[94.544 50 0],[94.654 50 0],[95.106 20 0],[95.34 50 0],[96.337 50 0],[96.497 2000 1],[98.729 50 2],[100.106 100 0],[100.355 100 0],[103.002 100 0],[115.874 30 2],[116.487 200 0],[123.584 650 0],[163.882 6 2],[191.409 6 2],[223.734 3 3],[229.126 6 3],[232.93 3 3],[233.675 4 3],[234.827 4 3],[235.85 3 3],[238.805 3 3],[239.394 40 2],[241.69 4 3],[242.804 3 3],[244.268 5 3],[245.17 4 3],[245.974 6 3],[246.477 100 1],[247.406 5 3],[249.248 60 1],[249.401 40 2],[251.7 4 3],[251.802 5 3],[251.938 6 3],[252.45 5 3],[254.6 5 3],[254.7 6 3],[255.808 4 3],[256.325 30 2],[258.69 3 3],[260.617 5 3],[260.95 10 3],[261.53 8 3],[262.111 7 3],[263.976 60 2],[268.032 30 2],[268.119 40 2],[271.24 80 1],[273.055 3 3],[274.818 8 3],[277.47 6 3],[282.96 3 3],[283.3 100 1],[283.608 3 3],[284.1 30 2],[285.116 30 2],[285.3 5 3],[285.93 3 3],[287.061 50 2],[289.218 100 2],[290.917 30 2],[295.256 50 2],[299.222 60 2],[302.23 50 2],[302.445 80 2],[304.693 50 2],[305.672 30 2],[306.313 60 2],[309.716 40 2],[311.225 60 2],[312.061 30 2],[312.439 100 2],[314.135 60 2],[314.201 3 3],[318.911 100 2],[319.121 80 2],[322.499 6 3],[323.952 40 2],[324.044 40 2],[324.569 300 2],[326.17 3 3],[326.481 150 2],[326.848 100 2],[327.165 30 2],[328.589 30 2],[330.475 30 2],[331.147 50 2],[332.575 200 2],[333.076 60 2],[334.248 50 2],[335.193 100 2],[337.496 40 2],[343.946 100 2],[347.465 70 2],[348.859 100 2],[350.742 200 2],[356.423 100 2],[360.788 100 1],[363.1889 200 1],[364.134 30 2],[365.3928 250 1],[366.5324 80 0],[366.901 150 1],[367.9559 100 0],[368.6182 80 1],[369.065 30 2],[371.802 300 1],[371.8595 200 1],[372.135 150 1],[374.1638 200 1],[374.48 150 1],[375.4245 80 1],[377.8089 500 1],[378.3095 500 1],[380.93 3 3],[386.058 5 3],[386.87 40 2],[387.544 150 1],[390.6177 150 1],[392.0081 200 1],[393.429 5 3],[399.484 100 1],[399.7793 100 1],[405.7037 300 1],[406.5128 300 1],[406.737 50 2],[408.8337 500 1],[409.8729 250 1],[410.9248 100 1],[413.133 40 2],[414.5122 250 1],[415.446 40 2],[425.058 150 1],[427.3969 1000 0],[428.2967 100 0],[429.2923 600 1],[430.049 200 1],[431.781 500 1],[431.8551 400 0],[431.9579 1000 0],[432.298 150 1],[435.1359 100 0],[435.5477 3000 1],[436.2641 500 0],[436.969 200 1],[437.6121 800 0],[438.654 300 1],[439.9965 200 0],[442.5189 100 0],[443.1685 500 1],[443.6812 600 1],[445.3917 600 0],[446.3689 800 0],[447.5014 800 1],[448.988 400 1],[450.2353 600 0],[452.314 400 1],[455.661 200 1],[457.7209 800 1],[458.2978 300 1],[459.28 150 1],[461.5292 500 1],[461.9166 1000 1],[463.3885 800 1],[465.8876 2000 1],[468.0406 500 1],[469.1301 100 1],[469.436 200 1],[473.9002 3000 1],[476.2435 300 1],[476.5744 1000 1],[481.176 300 1],[482.518 300 1],[483.2077 800 1],[484.6612 700 1],[485.72 150 1],[494.559 300 1],[501.645 20 2],[502.24 200 1],[508.652 250 1],[512.573 400 1],[520.832 500 1],[530.866 200 1],[533.341 500 1],[546.817 200 1],[550.143 10 2],[556.2224 500 0],[557.0288 2000 0],[558.0386 80 0],[564.9561 100 0],[568.189 400 1],[569.035 200 1],[583.2855 100 0],[587.0914 3000 0],[599.222 200 1],[599.3849 60 0],[603.717 10 2],[605.6125 60 0],[607.838 10 2],[631.022 10 2],[642.018 300 1],[642.1026 100 0],[645.6288 200 0],[657.007 150 1],[669.9228 60 0],[690.4678 100 0],[721.313 250 1],[722.4104 100 0],[728.7258 80 0],[728.978 400 1],[740.702 400 1],[742.5541 60 0],[743.578 200 1],[748.6862 100 0],[752.446 300 1],[758.7411 1000 0],[760.1544 2000 0],[764.116 150 1],[768.5244 1000 0],[769.4538 1200 0],[773.569 250 1],[774.6827 150 0],[785.4821 800 0],[791.3423 200 0],[792.8597 180 0],[793.322 200 1],[797.362 120 1],[798.2401 100 0],[805.9503 1500 0],[810.4364 4000 0],[811.2899 6000 0],[813.2967 60 0],[819.0054 3000 0],[820.272 200 1],[821.8365 80 0],[826.324 3000 0],[827.2353 100 0],[828.105 1500 0],[829.8107 5000 0],[841.243 100 0],[850.887 3000 0],[876.411 150 0],[877.6748 6000 0],[892.8692 2000 0],[923.848 500 1],[929.382 500 1],[932.099 200 1],[936.195 300 1],[936.2082 100 0],[940.282 200 1],[947.093 200 1],[957.752 500 1],[960.58 500 1],[961.961 400 1],[966.334 200 1],[971.16 200 1],[975.1758 2000 0],[980.314 500 1],[985.6314 500 0],[1022.146 1000 1],[1118.7108 100 0],[1125.7711 200 0],[1125.9126 150 0],[1145.7481 500 0],[1179.2425 150 0],[1181.9377 1500 0],[1199.7105 600 0],[1207.7224 160 0],[1286.1892 100 0],[1317.7412 1100 0],[1362.2415 1000 0],[1363.422 2400 0],[1365.8394 800 0],[1371.1036 200 0],[1373.8851 600 0],[1397.4027 150 0],[1404.5657 550 0],[1410.4298 140 0],[1440.222 180 0],[1442.6793 2000 0],[1451.784 100 0],[1473.4436 1600 0],[1476.2672 550 0],[1476.5472 450 0],[1496.1894 400 0],[1500.5307 120 0],[1520.9526 140 0],[1523.9615 1700 0],[1532.648 130 0],[1533.4958 1500 0],[1537.2037 700 0],[1547.4026 200 0],[1568.102 180 0],[1582.009 120 0],[1672.6514 200 0],[1678.5129 2000 0],[1685.3488 1000 0],[1689.0441 2400 0],[1689.6754 1600 0],[1693.5807 1800 0],[1709.8771 600 0],[1736.7605 700 0],[1740.4443 120 0],[1761.6854 150 0],[1784.2736 650 0],[1800.2229 700 0],[1816.7314 2600 0],[1839.9785 100 0],[1858.0896 150 0],[1869.6295 300 0],[1878.5461 170 0],[1879.7703 200 0],[2020.9879 140 0],[2042.3965 300 0],[2044.6971 140 0],[2116.5471 600 0],[2190.2514 1800 0],[2248.5775 120 0],[2334.0416 180 0],[2426.0506 120 0],[2429.2221 180 0],[2523.382 600 0],[2861.0551 180 0],[2865.5721 1000 0],[2876.9711 150 0],[2882.249 140 0],[2923.6689 300 0],[3066.3539 300 0],[3097.916 300 0],[3930.0602 500 0],[3948.652 1100 0],[3955.725 220 0],[3957.2602 100 0],[3958.8398 1400 0],[3958.9602 1100 0],[3995.4801 500 0],[3996.6602 300 0],[4030.6102 1300 0],[4068.516 250 0]}{ALLx6000x6000x3000x300x22x600x0}{UVx2000x650x2000x300x22x600x0}{VISx3000x3000x3000x50x5x0x0}{IVx6000x6000x1000x0x0x0x0}%
+\pgfspectra@elt@search{#1}{Kr}{[46.735 30 2],[47.216 150 4],[48.439 100 4],[49.625 250 4],[50.077 120 4],[50.72 200 4],[54.086 30 2],[54.804 60 4],[56.564 30 2],[56.916 30 2],[57.198 30 2],[57.983 30 2],[58.514 30 2],[58.596 30 2],[59.37 30 2],[59.41 30 2],[59.641 30 2],[60.017 40 2],[60.367 30 2],[60.586 50 2],[60.647 35 2],[61.112 50 2],[61.672 35 2],[62.145 40 2],[62.28 45 2],[62.502 50 2],[62.576 30 2],[62.859 45 2],[63.004 50 2],[63.309 35 2],[63.787 120 4],[63.998 50 2],[64.641 60 2],[65.12 50 2],[65.972 50 2],[66.486 30 2],[67.234 40 2],[67.285 35 2],[67.657 35 2],[68.013 35 2],[68.368 35 2],[68.625 45 2],[68.798 45 2],[69.193 45 2],[69.561 50 2],[69.805 30 2],[70.836 50 2],[70.885 600 4],[71.4 50 2],[72.204 100 2],[72.94 60 1],[74.67 30 2],[76.118 200 1],[76.398 100 1],[76.62 60 1],[77.103 200 1],[77.369 60 1],[78.21 200 1],[78.372 100 1],[78.597 60 2],[80.576 7 3],[81.682 18 3],[81.815 60 1],[83.038 60 1],[83.766 50 2],[84.204 22 3],[84.406 100 1],[85.473 50 2],[86.258 60 2],[86.482 60 1],[86.887 60 1],[87.084 40 2],[87.608 50 2],[88.414 200 1],[88.63 1000 1],[89.101 400 1],[89.781 75 2],[91.139 200 1],[91.743 2000 1],[94.544 50 0],[94.654 50 0],[95.106 20 0],[95.34 50 0],[96.337 50 0],[96.497 2000 1],[98.729 50 2],[100.106 100 0],[100.355 100 0],[103.002 100 0],[115.874 30 2],[116.487 200 0],[123.584 650 0],[163.882 6 2],[191.409 6 2],[223.734 3 3],[229.126 6 3],[232.93 3 3],[233.675 4 3],[234.827 4 3],[235.85 3 3],[238.805 3 3],[239.394 40 2],[241.69 4 3],[242.804 3 3],[244.268 5 3],[245.17 4 3],[245.974 6 3],[246.477 100 1],[247.406 5 3],[249.248 60 1],[249.401 40 2],[251.7 4 3],[251.802 5 3],[251.938 6 3],[252.45 5 3],[254.6 5 3],[254.7 6 3],[255.808 4 3],[256.325 30 2],[258.69 3 3],[260.617 5 3],[260.95 10 3],[261.53 8 3],[262.111 7 3],[263.976 60 2],[268.032 30 2],[268.119 40 2],[271.24 80 1],[273.055 3 3],[274.818 8 3],[277.47 6 3],[282.96 3 3],[283.3 100 1],[283.608 3 3],[284.1 30 2],[285.116 30 2],[285.3 5 3],[285.93 3 3],[287.061 50 2],[289.218 100 2],[290.917 30 2],[295.256 50 2],[299.222 60 2],[302.23 50 2],[302.445 80 2],[304.693 50 2],[305.672 30 2],[306.313 60 2],[309.716 40 2],[311.225 60 2],[312.061 30 2],[312.439 100 2],[314.135 60 2],[314.201 3 3],[318.911 100 2],[319.121 80 2],[322.499 6 3],[323.952 40 2],[324.044 40 2],[324.569 300 2],[326.17 3 3],[326.481 150 2],[326.848 100 2],[327.165 30 2],[328.589 30 2],[330.475 30 2],[331.147 50 2],[332.575 200 2],[333.076 60 2],[334.248 50 2],[335.193 100 2],[337.496 40 2],[343.946 100 2],[347.465 70 2],[348.859 100 2],[350.742 200 2],[356.423 100 2],[360.788 100 1],[363.1889 200 1],[364.134 30 2],[365.3928 250 1],[366.5324 80 0],[366.901 150 1],[367.9559 100 0],[368.6182 80 1],[369.065 30 2],[371.802 300 1],[371.8595 200 1],[372.135 150 1],[374.1638 200 1],[374.48 150 1],[375.4245 80 1],[377.8089 500 1],[378.3095 500 1],[380.93 3 3],[386.058 5 3],[386.87 40 2],[387.544 150 1],[390.6177 150 1],[392.0081 200 1],[393.429 5 3],[399.484 100 1],[399.7793 100 1],[405.7037 300 1],[406.5128 300 1],[406.737 50 2],[408.8337 500 1],[409.8729 250 1],[410.9248 100 1],[413.133 40 2],[414.5122 250 1],[415.446 40 2],[425.058 150 1],[427.3969 1000 0],[428.2967 100 0],[429.2923 600 1],[430.049 200 1],[431.781 500 1],[431.8551 400 0],[431.9579 1000 0],[432.298 150 1],[435.1359 100 0],[435.5477 3000 1],[436.2641 500 0],[436.969 200 1],[437.6121 800 0],[438.654 300 1],[439.9965 200 0],[442.5189 100 0],[443.1685 500 1],[443.6812 600 1],[445.3917 600 0],[446.3689 800 0],[447.5014 800 1],[448.988 400 1],[450.2353 600 0],[452.314 400 1],[455.661 200 1],[457.7209 800 1],[458.2978 300 1],[459.28 150 1],[461.5292 500 1],[461.9166 1000 1],[463.3885 800 1],[465.8876 2000 1],[468.0406 500 1],[469.1301 100 1],[469.436 200 1],[473.9002 3000 1],[476.2435 300 1],[476.5744 1000 1],[481.176 300 1],[482.518 300 1],[483.2077 800 1],[484.6612 700 1],[485.72 150 1],[494.559 300 1],[501.645 20 2],[502.24 200 1],[508.652 250 1],[512.573 400 1],[520.832 500 1],[530.866 200 1],[533.341 500 1],[546.817 200 1],[550.143 10 2],[556.2224 500 0],[557.0288 2000 0],[558.0386 80 0],[564.9561 100 0],[568.189 400 1],[569.035 200 1],[583.2855 100 0],[587.0914 3000 0],[599.222 200 1],[599.3849 60 0],[603.717 10 2],[605.6125 60 0],[607.838 10 2],[631.022 10 2],[642.018 300 1],[642.1026 100 0],[645.6288 200 0],[657.007 150 1],[669.9228 60 0],[690.4678 100 0],[721.313 250 1],[722.4104 100 0],[728.7258 80 0],[728.978 400 1],[740.702 400 1],[742.5541 60 0],[743.578 200 1],[748.6862 100 0],[752.446 300 1],[758.7411 1000 0],[760.1544 2000 0],[764.116 150 1],[768.5244 1000 0],[769.4538 1200 0],[773.569 250 1],[774.6827 150 0],[785.4821 800 0],[791.3423 200 0],[792.8597 180 0],[793.322 200 1],[797.362 120 1],[798.2401 100 0],[805.9503 1500 0],[810.4364 4000 0],[811.2899 6000 0],[813.2967 60 0],[819.0054 3000 0],[820.272 200 1],[821.8365 80 0],[826.324 3000 0],[827.2353 100 0],[828.105 1500 0],[829.8107 5000 0],[841.243 100 0],[850.887 3000 0],[876.411 150 0],[877.6748 6000 0],[892.8692 2000 0],[923.848 500 1],[929.382 500 1],[932.099 200 1],[936.195 300 1],[936.2082 100 0],[940.282 200 1],[947.093 200 1],[957.752 500 1],[960.58 500 1],[961.961 400 1],[966.334 200 1],[971.16 200 1],[975.1758 2000 0],[980.314 500 1],[985.6314 500 0],[1022.146 1000 1],[1118.7108 100 0],[1125.7711 200 0],[1125.9126 150 0],[1145.7481 500 0],[1179.2425 150 0],[1181.9377 1500 0],[1199.7105 600 0],[1207.7224 160 0],[1286.1892 100 0],[1317.7412 1100 0],[1362.2415 1000 0],[1363.422 2400 0],[1365.8394 800 0],[1371.1036 200 0],[1373.8851 600 0],[1397.4027 150 0],[1404.5657 550 0],[1410.4298 140 0],[1440.222 180 0],[1442.6793 2000 0],[1451.784 100 0],[1473.4436 1600 0],[1476.2672 550 0],[1476.5472 450 0],[1496.1894 400 0],[1500.5307 120 0],[1520.9526 140 0],[1523.9615 1700 0],[1532.648 130 0],[1533.4958 1500 0],[1537.2037 700 0],[1547.4026 200 0],[1568.102 180 0],[1582.009 120 0],[1672.6514 200 0],[1678.5129 2000 0],[1685.3488 1000 0],[1689.0441 2400 0],[1689.6754 1600 0],[1693.5807 1800 0],[1709.8771 600 0],[1736.7605 700 0],[1740.4443 120 0],[1761.6854 150 0],[1784.2736 650 0],[1800.2229 700 0],[1816.7314 2600 0],[1839.9785 100 0],[1858.0896 150 0],[1869.6295 300 0],[1878.5461 170 0],[1879.7703 200 0],[2020.9879 140 0],[2042.3965 300 0],[2044.6971 140 0],[2116.5471 600 0],[2190.2514 1800 0],[2248.5775 120 0],[2334.0416 180 0],[2426.0506 120 0],[2429.2221 180 0],[2523.382 600 0],[2861.0551 180 0],[2865.5721 1000 0],[2876.9711 150 0],[2882.249 140 0],[2923.6689 300 0],[3066.3539 300 0],[3097.916 300 0],[3930.0602 500 0],[3948.652 1100 0],[3955.725 220 0],[3957.2602 100 0],[3958.8398 1400 0],[3958.9602 1100 0],[3995.4801 500 0],[3996.6602 300 0]}{ALLx6000x6000x3000x300x22x600x0}{UVx2000x650x2000x300x22x600x0}{VISx3000x3000x3000x50x5x0x0}{IVx6000x6000x1000x0x0x0x0}%,[4030.6102 1300 0],[4068.516 250 0]
\pgfspectra@elt@search{#1}{Rb}{[46.585 3 2],[47.488 1 1],[48.1118 4 1],[48.243 3.5 2],[48.247 3 2],[48.283 50 2],[48.484 30 2],[48.966 50 2],[48.996 10 2],[49.348 60 2],[49.743 9 1],[49.782 5 2],[50.028 10 2],[50.833 3 2],[50.8434 2 1],[51.3266 15 1],[51.679 40 2],[53.0173 30 1],[53.364 80 2],[53.3801 7.5 1],[53.586 120 2],[54.2887 4 1],[55.5036 20 1],[55.619 120 2],[55.836 50 2],[56.477 70 2],[56.671 150 2],[57.282 100 2],[57.665 150 2],[57.963 250 2],[58.126 150 2],[58.234 50 2],[58.677 80 2],[58.9419 250 1],[59.142 10 2],[59.365 90 2],[59.494 100 2],[59.518 1 3],[59.588 130 2],[59.849 120 2],[60.209 45 2],[60.551 5 2],[60.728 50 2],[61.331 40 2],[61.967 50 2],[62.083 2 2],[62.224 10 2],[63.006 25 2],[64.3878 150 1],[64.567 50 2],[66.376 2.5 3],[67.481 2 2],[69.7049 300 1],[71.1187 600 1],[71.624 2.5 3],[73.341 2 3],[74.085 5 3],[74.1456 1000 1],[74.986 2 3],[75.375 2 3],[76.904 500 2],[77.154 1 3],[77.689 2.5 3],[81.528 250 2],[81.792 0.9 3],[85.018 1.5 3],[98.8 1 3],[160.412 100 1],[164.496 20 1],[170.752 20 1],[171.685 60 1],[176.05 500 1],[180.347 20 1],[180.968 50 1],[186.533 50 1],[188.942 50 1],[195.424 50 1],[195.654 30 1],[197.142 20 1],[198.319 50 1],[204.223 30 1],[205.221 30 1],[205.28 50 1],[206.892 200 1],[207.15 100 1],[207.595 1000 1],[209.029 100 1],[210.806 20 1],[211.65 30 1],[212.525 100 1],[212.982 40 1],[214.31 20 1],[214.383 3000 1],[215.321 10 2],[216.459 25 2],[219.036 20 1],[219.799 60 1],[219.826 60 1],[220.786 30 1],[221.708 1000 1],[222.379 20 1],[223.772 40 1],[225.065 50 1],[225.143 20 1],[225.419 80 1],[225.455 20 1],[226.354 20 1],[226.394 50 1],[226.8 10 2],[228.682 50 1],[229.171 500 1],[229.88 30 1],[230.012 15 2],[230.414 50 2],[230.445 15 2],[231.246 25 2],[233.301 25 1],[233.339 200 1],[233.707 20 2],[234.19 10 2],[234.537 20 2],[234.981 10 2],[235.311 35 1],[235.396 30 1],[235.697 40 1],[235.804 30 1],[236.427 30 1],[236.432 20 1],[236.515 20 1],[236.751 30 1],[237.321 20 1],[238.044 15 2],[238.129 10 2],[238.534 200 1],[240.594 25 1],[241.846 15 2],[243.417 40 1],[245.914 80 1],[247.22 5000 1],[248.456 30 1],[248.47 70 1],[249.638 200 1],[250.267 20 1],[251.418 25 1],[252.424 100 1],[256.186 30 2],[257.371 10 2],[257.707 10 2],[258.683 20 2],[259.456 20 1],[262.376 40 1],[263.175 100 2],[263.683 35 2],[264.558 40 1],[265.668 10 2],[268.41 100 1],[271.176 100 1],[271.386 10 2],[274.101 25 1],[279.886 50 2],[280.027 15 2],[280.758 50 2],[281.215 50 1],[283.851 35 1],[284.544 10 2],[286.977 15 2],[287.388 75 1],[290.369 50 2],[294.962 15 2],[295.101 10 2],[295.607 200 2],[296.745 50 2],[296.813 15 2],[297.074 50 2],[298.74 25 2],[302.361 35 2],[303.962 20 2],[304.148 20 2],[305.136 100 1],[307.07 25 2],[308.202 0.2 0],[308.684 50 2],[308.858 25 1],[309.849 10 2],[311.136 50 2],[311.257 1 0],[311.306 0.3 0],[311.482 25 2],[311.892 12 2],[314.89 500 1],[315.754 2.5 0],[315.826 0.5 0],[316.1 120 1],[316.934 10 2],[322.26 20 2],[322.798 5 0],[322.916 0.6 0],[327.099 200 1],[328.641 50 2],[332.149 150 1],[333.016 10 2],[334.055 120 1],[334.692 20 2],[334.872 6 0],[335.082 7.5 0],[335.389 75 1],[339.303 120 1],[341.558 75 1],[343.418 100 1],[343.926 25 2],[346.15 150 1],[349.268 10 2],[352.139 300 1],[353.155 300 1],[354.115 100 1],[358.705 10 0],[359.157 4 0],[360.06 500 1],[360.064 1000 1],[363.98 60 1],[364.626 40 1],[364.756 35 1],[366.274 100 1],[366.381 90 1],[366.672 35 1],[367.566 30 1],[369.958 250 1],[374.633 35 1],[379.681 350 1],[380.19 250 1],[382.666 100 1],[386.074 45 1],[390.729 25 1],[392.22 50 1],[392.644 250 1],[394.051 2500 1],[397.815 100 1],[402.949 170 1],[408.388 250 1],[410.428 200 1],[413.611 170 1],[419.308 350 1],[420.18 100 0],[421.553 50 0],[424.44 9000 1],[426.658 50 1],[427.025 25 1],[427.314 1500 1],[428.797 250 1],[429.397 150 1],[430.626 50 1],[434.696 100 1],[437.712 250 1],[444.01 30 1],[446.947 100 1],[449.392 40 1],[451.904 70 1],[453.034 300 1],[453.379 50 1],[454.074 40 1],[457.177 2000 1],[462.242 300 1],[463.189 35 1],[464.857 1000 1],[465.928 50 1],[473.045 100 1],[475.53 100 1],[475.782 40 1],[477.595 3000 1],[478.283 500 1],[485.534 30 1],[488.559 150 1],[508.7987 0.2 0],[513.2471 0.2 0],[515.0134 1 0],[515.208 1000 1],[516.458 30 1],[516.5023 0.1 0],[516.5142 0.2 0],[516.965 0.1 0],[519.5278 1.5 0],[523.3968 0.2 0],[526.0034 2 0],[526.0228 0.1 0],[527.051 20 1],[532.238 0.3 0],[536.2601 4 0],[539.0568 0.4 0],[543.1532 7.5 0],[543.183 0.3 0],[551.255 50 1],[552.278 500 1],[557.8788 0.6 0],[563.599 500 1],[564.7774 4 0],[565.375 2 0],[569.915 300 1],[572.4121 6 0],[572.4614 0.3 0],[573.964 20 1],[607.0755 7.5 0],[613.527 20 1],[615.9626 3 0],[619.908 100 1],[620.6309 7.5 0],[626.94 30 1],[629.8325 12 0],[629.9224 0.5 0],[645.833 1000 1],[655.562 100 1],[656.081 500 1],[677.507 300 1],[727.9997 10 0],[731.652 30 1],[740.8173 15 0],[761.8933 20 0],[775.7651 30 0],[775.9436 6 0],[780.027 9000 0],[792.526 0.5 0],[792.554 0.4 0],[794.76 4500 0],[827.141 4 0],[827.171 3 0],[860.396 200 1],[886.8512 4 0],[886.8852 3 0],[897.888 30 1],[902.177 30 1],[922.464 0.3 0],[923.425 0.2 0],[924.641 50 1],[933.887 30 1],[937.35 20 1],[939.136 30 1],[947.932 100 1],[949.372 70 1],[952.265 3 0],[952.305 0.5 0],[954.018 2 0],[961.299 30 1],[967.154 30 1],[968.905 200 1],[977.606 20 1],[993.476 20 1],[1007.5282 3.5 0],[1007.5708 3 0],[1323.517 10 0],[1344.281 2 0],[1344.357 3 0],[1366.501 7.5 0],[1475.241 100 0],[1528.843 80 0],[1528.948 15 0],[2252.965 2 0],[2293.2471 1 0],[2731.4311 0.4 0],[2790.5369 0.2 0]}{ALLx9000x9000x9000x500x5x0x0}{UVx5000x10x5000x500x5x0x0}{VISx9000x100x9000x0x0x0x0}{IVx9000x9000x200x0x0x0x0}%
\pgfspectra@elt@search{#1}{Sr}{[28.431 2.4 3],[29.109 2.4 3],[29.119 2.4 3],[29.322 2.4 3],[29.812 3 3],[30.012 3 3],[30.027 2.4 3],[30.167 2.4 3],[30.718 5 2],[31.611 10 2],[32.161 10 2],[33.067 25 2],[35.162 100 2],[35.88 15 2],[36.349 50 2],[37.121 30 2],[37.853 4 3],[39.244 15 3],[39.3 10 3],[39.49 9 3],[39.622 10 3],[39.992 8 3],[40.385 7 3],[40.694 7 3],[41.293 6 3],[41.307 8 3],[41.532 8 3],[41.978 6 3],[43.021 5 3],[43.065 6 3],[43.724 200 2],[44.273 5 3],[47.176 5 3],[48.42 5 3],[49.179 375 2],[50.704 250 2],[50.814 5 3],[51.438 750 2],[51.728 2 4],[53.419 5 3],[54.051 1.2 4],[56.275 500 2],[57.801 5 4],[62.493 6 4],[64.223 5 4],[64.921 10 4],[65.915 4 4],[66.094 5 4],[66.443 40 3],[66.993 1.8 4],[68.623 7 4],[71.035 20 3],[71.579 1.2 4],[74.782 2.4 4],[86.232 1.8 4],[96.837 4 2],[97.578 4 2],[99.298 5 2],[102.523 10 2],[104.491 7 2],[105.774 4 2],[106.02 5 2],[109.877 4 2],[112.549 7 2],[114.024 4 2],[116.827 4 2],[118.209 4 2],[118.921 4 3],[123.623 10 2],[124.414 6 3],[124.475 4 3],[124.487 4 3],[125.778 4 3],[126.862 4 3],[133.113 4 3],[134.79 6 3],[136.115 4 3],[140.867 5 3],[159.274 4 3],[167.703 5 3],[170.516 4 3],[172.423 4 3],[172.953 5 3],[173.212 4 3],[177.725 4 3],[194.058 4 2],[195.844 6 2],[196.692 6 2],[199.461 4 3],[206.863 5 2],[209.959 10 2],[210.438 4 3],[211.431 5 2],[211.79 4 3],[211.848 6 2],[211.952 10 2],[213.312 10 2],[214.28 6 2],[214.574 4 2],[215.284 280 1],[216.596 280 1],[217.891 6 2],[218.014 6 2],[219.088 10 2],[220.386 10 2],[221.799 4 3],[221.95 10 2],[222.005 10 2],[223.041 4 3],[224.049 4 3],[225.338 4 3],[226.703 10 2],[227.371 20 2],[227.787 10 2],[231.033 6 2],[231.495 10 2],[233.479 10 2],[234.013 20 2],[234.697 10 3],[235.734 4 3],[240.417 10 2],[241.052 6 2],[242.81 32 0],[243.893 4 3],[244.141 5 3],[245.403 10 2],[248.279 6 3],[248.357 5 3],[248.652 20 2],[250.057 3.6 3],[250.359 10 2],[250.802 4 3],[253.403 4 3],[254.802 3.6 3],[255.56 8 3],[256.947 24 0],[257.104 8 3],[257.158 5 3],[258.934 3 3],[259.91 6 2],[262.035 5 3],[262.116 4 3],[262.269 7 2],[264.216 4 3],[264.296 6 2],[264.851 6 2],[265.466 7 2],[272.247 8 2],[278.6 10 2],[282.142 10 2],[283.053 3 3],[287.486 6 2],[292.934 6 2],[293.183 40 0],[293.46 1.8 3],[298.3 6 2],[300.261 20 2],[301.232 40 2],[301.929 2 3],[302.173 20 2],[305.983 6 2],[306.143 10 2],[310.425 6 2],[318.261 10 2],[323.539 20 2],[326.652 1.8 3],[330.173 60 0],[330.272 6 2],[332.999 60 0],[335.125 80 0],[336.633 60 0],[338.071 130 1],[343.076 10 2],[346.446 190 1],[347.489 24 1],[356.643 1.8 3],[374.105 1.8 3],[387.426 6 2],[393.64 6 2],[393.672 6 2],[394.08 60 0],[395.875 6 2],[396.926 120 0],[397.004 60 0],[403.038 260 0],[403.238 60 0],[407.771 9200 1],[409.403 6 2],[409.702 6 2],[410.563 6 2],[416.18 40 1],[421.552 6400 1],[429.857 1.8 3],[430.545 68 1],[433.58 7 2],[443.804 70 0],[460.733 13000 0],[468.508 1.8 3],[472.228 640 0],[474.192 440 0],[478.432 280 0],[481.188 960 0],[483.208 720 0],[485.504 100 0],[486.87 120 0],[487.249 600 0],[487.606 120 0],[487.632 400 0],[489.198 200 0],[496.226 1600 0],[496.794 260 0],[507.109 6 2],[513.034 6 2],[515.607 160 0],[515.826 7 2],[522.22 280 0],[522.511 400 0],[522.927 400 0],[523.855 560 0],[525.69 960 0],[525.771 8 2],[526.221 6 2],[528.832 6 2],[532.982 70 0],[539.103 6 2],[544.348 8 2],[545.084 300 0],[546.39 6 2],[548.084 1400 0],[548.612 220 0],[550.417 700 0],[552.183 520 0],[553.481 400 0],[554.005 400 0],[554.336 50 0],[566.466 6 2],[568.972 6 2],[597.01 40 0],[634.575 50 0],[636.394 50 0],[636.996 70 0],[638.075 200 0],[638.65 180 0],[638.824 120 0],[640.847 1800 0],[644.668 50 0],[646.579 50 0],[650.4 1100 0],[654.679 200 0],[655.026 340 0],[661.726 600 0],[664.354 160 0],[679.105 360 0],[687.838 960 0],[689.259 240 0],[707.01 1100 0],[715.309 12 0],[716.724 50 0],[723.227 40 0],[730.941 500 0],[762.15 100 0],[767.306 80 0],[785 10 0],[786.69 6 0],[787.4 4 0],[842.28 40 0],[850.569 24 1],[868.891 40 1],[871.956 6 1],[917 8 0],[920.45 6 0],[928.39 4 0],[929.41 20 0],[930.66 3 0],[931.92 6 0],[938.045 12 0],[941.125 8 0],[944.895 80 0],[959.6 120 0],[962.47 60 0],[963.81 20 0],[964.77 20 1],[1003.666 60 1],[1032.731 200 1],[1087.27 1.4 1],[1091.488 40 1],[1098.4 2 0],[1122.457 2.6 1],[1124.125 140 0],[1201.476 20 1],[1223.62 4 0],[1244.59 12 1],[1247.96 4 0],[1249.5 8 0],[1265.22 3 0],[1297.47 15 1],[1312.38 20 1],[1352.28 3 0],[1714.09 3 0],[1717.05 6 0],[1744.74 10 0],[1762.6 0.8 1],[1774.3 6 0],[1975.96 3 0],[2026.14 46 0],[2070.0699 24 0],[2076.45 8 0],[2077.8699 3 0],[2602.36 6 0]}{ALLx13000x13000x9200x750x40x10x0}{UVx750x80x280x750x40x10x0}{VISx13000x13000x9200x8x1.8x0x0}{IVx200x140x200x0x0x0x0}%
\pgfspectra@elt@search{#1}{Y}{[21.18 0.3 3],[21.451 0.3 3],[21.597 0.6 3],[21.739 0.6 3],[22.171 1.2 3],[22.218 0.3 3],[22.298 0.6 3],[22.884 0.2 3],[22.894 2 3],[22.978 0.3 3],[23.517 0.3 3],[23.577 2.5 3],[24.212 0.1 3],[24.23 3 3],[24.414 0.3 3],[26.372 0.3 3],[26.464 15 3],[27.24 3 3],[27.303 15 3],[27.86 1 3],[28.918 0.5 4],[29.999 5 4],[31.289 0.3 4],[31.335 20 4],[32.047 4 4],[32.169 4 4],[32.558 15 4],[32.657 20 4],[32.834 17.5 4],[33.04 5 4],[33.309 90 4],[33.38 50 4],[33.512 10 4],[33.514 40 4],[33.662 50 4],[33.902 50 4],[34.002 20 4],[34.042 0.5 4],[34.459 50 4],[34.965 10 4],[34.975 0.2 4],[35.136 1 4],[35.398 10 4],[35.556 10 4],[35.586 90 3],[37.042 30 3],[37.205 30 4],[37.996 40 4],[38.682 50 3],[39.777 20 4],[40.345 30 4],[40.881 0.1 4],[40.931 20 4],[41.503 20 4],[41.818 10 4],[41.859 15 4],[41.979 5 4],[42.074 30 4],[42.503 60 3],[42.787 0.1 4],[43.075 5 4],[43.766 10 4],[44.162 0.3 4],[44.296 3 4],[45.197 0.2 4],[45.584 1.5 4],[45.784 8.5 4],[47.31 30 3],[58.498 400 4],[63.097 200 4],[64.368 0.1 2],[64.669 0.4 2],[65.387 0.6 2],[65.698 1 2],[66.874 2.5 2],[67.198 4 2],[69.172 10 2],[69.385 0.4 2],[69.52 20 2],[72.791 0.9 2],[72.847 0.4 2],[72.883 0.2 2],[72.973 2 2],[73.049 60 2],[73.27 1.5 2],[73.436 80 2],[77.078 1.5 2],[77.179 1 2],[80.426 2 2],[80.52 500 2],[80.618 7.5 2],[80.897 15 2],[80.992 700 2],[85.564 10 2],[85.782 6 2],[98.423 2.5 2],[98.796 1.5 2],[98.921 1500 2],[99.637 2500 2],[99.919 2 2],[100.056 15 2],[100.335 2.5 2],[100.658 100 2],[100.786 120 2],[107.752 12 2],[108.135 50 2],[108.463 7.5 2],[108.839 35 2],[109.525 25 2],[109.587 2.5 2],[110.321 15 2],[128.974 300 2],[130.696 250 2],[131.451 500 2],[131.61 150 2],[133.404 400 2],[154.908 0.8 2],[155.381 1.5 2],[163.514 3 2],[164.043 7.5 2],[177.98 20 2],[178.605 60 2],[204.193 1 2],[204.207 0.5 2],[206.058 150 2],[206.898 400 2],[212.798 1000 2],[219.116 1600 2],[220.076 800 2],[220.603 800 2],[224.306 35 1],[226.141 15 2],[226.157 8 2],[228.434 1000 2],[231.992 0.3 2],[232.731 1000 2],[235.42 5 0],[236.723 5000 2],[237.383 3 -1],[238.524 5 -1],[241.393 2.5 1],[241.464 4000 2],[242.22 56 1],[246.061 6 1],[249.042 2.5 0],[254.028 1.2 -1],[254.757 1.4 -1],[255.017 1 -1],[268.165 2 0],[269.421 6 0],[269.539 2.6 0],[271.03 10 2],[271.054 9 2],[272.3 9.5 0],[273.008 2.2 0],[273.485 2.2 1],[274.253 7 0],[276.01 14 0],[278.011 0.5 2],[278.521 3 1],[278.559 1.2 1],[279.12 1.2 0],[279.144 7 2],[280.011 3 1],[280.327 2 2],[280.7 10 2],[281.364 2.6 0],[281.704 9000 2],[281.886 1.8 0],[282.256 4.5 0],[282.537 2.2 1],[282.638 4.5 1],[285.443 7 1],[285.63 2.6 1],[285.787 1.1 1],[286.767 600 2],[288.648 9.5 0],[289.769 1.8 1],[289.882 1.4 1],[291.341 600 2],[291.774 150 2],[291.856 160 2],[291.905 16 0],[293.003 1.8 1],[294.053 1.5 2],[294.601 9900 2],[294.84 39 0],[294.848 2 2],[296.496 35 0],[297.042 600 2],[297.391 1.8 1],[297.459 48 0],[298.055 3 1],[298.426 75 0],[299.526 7 0],[299.694 14 0],[300.526 7 0],[301.393 140 2],[301.885 150 2],[301.895 5.5 0],[302.173 13 0],[302.228 9 0],[302.649 2.6 1],[303.659 3 1],[304.484 4.5 0],[304.537 19 0],[304.711 2.2 0],[305.522 6 1],[308.685 6 1],[309.17 5.5 0],[309.376 2.2 1],[309.588 9.5 1],[311.181 4.5 0],[311.204 5.5 1],[311.428 2.2 0],[312.877 6 1],[312.993 8 1],[313.517 9.5 1],[317.306 11 1],[317.941 22 1],[319.131 7 0],[319.562 230 1],[320.027 220 1],[320.332 220 1],[321.669 390 1],[324.228 620 1],[326.71 0.3 2],[327.68 2.5 2],[328.091 31 1],[330.847 1.9 1],[332.789 470 1],[334.038 5.5 0],[336.2 16 1],[338.859 8.5 0],[339.704 4.5 0],[341.247 8.5 0],[344.882 20 1],[345.095 7 0],[346.788 11 1],[348.573 17 0],[349.609 170 1],[352.153 8 0],[354.601 4.5 1],[354.901 390 1],[355.18 13 0],[355.269 54 0],[355.876 17 0],[357.143 19 0],[357.605 26 0],[358.452 330 1],[358.775 30 0],[358.969 10 0],[359.292 280 0],[360.073 1000 1],[360.192 620 1],[361.105 780 1],[362.094 430 0],[362.871 190 1],[363.312 780 1],[366.461 300 1],[366.849 4.5 1],[369.253 17 0],[371.03 1300 1],[371.812 6 0],[373.861 6 0],[374.755 120 1],[374.989 5 0],[377.433 1000 1],[377.656 140 1],[378.23 5 1],[378.87 740 1],[381.835 130 1],[383.288 400 1],[384.787 7 1],[386.696 50 2],[387.682 8 0],[387.828 48 1],[388.777 3 0],[390.074 300 2],[390.459 6 0],[391.458 400 2],[391.825 5 0],[393.011 6 0],[393.066 24 1],[395.036 440 1],[395.16 15 1],[395.509 6 0],[398.26 360 1],[398.75 4 0],[403.96 380 2],[403.983 94 0],[404.011 300 2],[404.764 240 0],[407.738 940 0],[408.122 9 0],[408.371 200 0],[410.238 990 0],[410.639 6 0],[411.081 8 0],[412.161 12 2],[412.492 32 1],[412.831 890 0],[414.285 750 0],[415.763 10 0],[416.752 240 0],[417.414 200 0],[417.754 800 1],[419.928 12 1],[420.47 38 1],[421.302 8 0],[421.354 4 0],[421.78 16 0],[422.063 28 0],[422.425 8 0],[423.573 60 1],[423.594 220 0],[425.12 30 0],[430.23 36 0],[430.963 280 1],[431.63 5 0],[433.078 11 0],[433.729 3 0],[434.465 6 0],[434.879 44 0],[435.233 6 0],[435.27 6 0],[435.773 12 0],[435.873 80 1],[436.603 12 0],[437.494 1200 1],[437.561 15 0],[437.933 8 0],[438.548 3 0],[438.774 10 0],[439.401 3 0],[439.467 3 0],[439.802 180 1],[442.259 89 1],[443.734 8 0],[444.366 10 0],[444.663 13 0],[446.527 2 0],[447.389 4 0],[447.572 17 0],[447.696 18 0],[447.745 16 0],[448.728 11 0],[448.747 30 0],[449.175 3 0],[449.242 2.5 0],[450.595 50 0],[451.358 5 0],[451.401 8 0],[452.205 4 0],[452.725 89 0],[452.78 44 0],[454.432 10 0],[455.937 10 0],[456.439 3 0],[457.356 6 0],[458.132 3.5 0],[458.177 3 0],[459.655 13 0],[460.48 9.5 0],[461.3 4 0],[464.37 200 0],[465.832 20 0],[465.889 7 0],[466.747 8.5 0],[467.082 6 0],[467.484 200 0],[467.835 6 0],[468.232 26 1],[468.977 8.5 0],[469.681 18 0],[470.885 3.5 0],[472.585 6 0],[472.853 17 0],[473.237 6 0],[473.762 200 2],[474.14 8.5 0],[475.279 16 0],[476.098 41 0],[478.018 1.7 0],[478.104 12 0],[478.658 16 1],[478.689 17 0],[479.93 18 0],[480.431 5 0],[480.481 7 0],[481.738 8.5 -1],[481.82 14 -1],[481.964 14 0],[482.213 12 0],[482.331 19 1],[483.915 6 0],[483.987 77 0],[484.568 55 0],[485.269 41 0],[485.425 12 0],[485.487 89 1],[485.67 5 0],[485.984 33 0],[487.965 5 0],[488.369 190 1],[488.628 5 0],[488.665 4 0],[489.344 9.5 0],[490.012 110 1],[490.611 10 0],[490.9 4.5 0],[492.187 15 0],[493.093 3.5 0],[495.066 4.5 0],[497.43 12 0],[498.213 12 1],[500.697 10 0],[507.021 7.5 0],[507.219 7.5 0],[508.742 110 1],[508.818 3 0],[510.288 750 2],[511.911 21 1],[512.04 130 2],[512.321 45 1],[513.52 18 0],[519.643 12 1],[520.041 96 1],[520.572 150 1],[523.81 1000 2],[524.081 18 0],[526.358 300 2],[528.982 6 1],[532.078 4.5 1],[538.062 7.5 0],[538.364 400 2],[540.278 22 1],[541.703 2.4 0],[542.437 9 0],[543.824 19 0],[546.646 71 0],[546.847 10 0],[547.339 9 1],[548.074 9 1],[549.317 6 0],[549.559 3.5 0],[549.741 24 1],[550.345 30 0],[550.99 25 1],[551.364 6 0],[552.163 12 0],[552.676 2.4 0],[552.754 74 0],[554.163 3.5 0],[554.45 12 0],[554.602 9 1],[555.643 7.5 0],[556.281 600 2],[556.727 60 2],[556.775 6 0],[557.224 400 2],[557.742 18 0],[558.108 2.4 0],[558.187 62 0],[559.096 2.1 0],[559.412 2.1 0],[559.548 40 2],[560.208 300 2],[560.633 12 0],[562.391 1.5 0],[563.013 56 0],[563.225 2.4 0],[563.289 2.1 0],[564.469 12 0],[564.847 12 0],[566.294 74 1],[567.527 9 0],[569.363 1.8 0],[570.673 16 0],[572.061 2.4 0],[572.889 7.5 1],[573.012 15 -1],[573.209 2.1 0],[574.385 9 0],[574.693 1.8 -1],[576.422 2.4 -1],[576.564 7.5 0],[577.395 3.5 0],[578.169 10 1],[580 1.5 -1],[581.858 1.5 -1],[582.187 3 0],[583.227 2.1 0],[583.807 0.9 -1],[585.883 1.5 -1],[587.183 1.5 0],[587.614 2.4 -1],[587.996 2.4 0],[589.394 2.4 -1],[590.296 3.5 0],[591.219 2.4 -1],[593.11 2.4 -1],[593.908 9 -1],[594.572 4.5 0],[595.002 2.4 0],[595.641 7.5 -1],[597.204 130 -1],[598.186 5 0],[598.764 100 -1],[600.36 74 -1],[600.465 12 -1],[600.919 12 0],[601.987 62 -1],[602.341 12 0],[603.66 50 -1],[605.381 42 -1],[607.278 13 -1],[608.8 5 0],[608.935 21 -1],[609.678 16 -1],[610.782 13 -1],[611.473 13 -1],[612.738 7.5 -1],[613.206 140 -1],[613.504 12 0],[613.843 15 0],[614.836 110 -1],[615.172 12 -1],[616.508 82 -1],[618.223 56 -1],[619.173 120 0],[619.982 59 -1],[621.796 45 -1],[622.259 30 0],[623.672 27 -1],[625.105 4.5 0],[627.501 12 -1],[629.546 6 -1],[631.62 2.4 -1],[633.81 2.4 -1],[635.948 1.5 -1],[636.987 1.5 -1],[640.201 7.5 0],[643.5 100 0],[643.718 2.4 0],[650.123 1.8 -1],[651.833 1.8 -1],[653.584 1.8 -1],[653.86 9 0],[655.384 1.2 -1],[655.739 7 0],[657.258 1.2 -1],[657.685 3.5 0],[658.487 2.3 0],[661.375 9.5 1],[662.249 1.4 0],[663.649 1.9 0],[665.061 4 0],[666.44 2.1 0],[668.758 15 0],[669.183 1.4 0],[669.475 0.7 0],[669.926 1.6 0],[670.071 7 0],[671.32 3.5 0],[673.599 4 0],[679.371 19 0],[679.541 7 1],[680.315 1.2 0],[681.516 2.1 0],[683.249 1.4 1],[684.524 4.5 0],[685.824 1.4 1],[688.722 2.9 0],[689.6 2.1 1],[690.826 0.9 0],[693.352 1.4 0],[695.031 2.4 0],[695.168 1 1],[695.804 1 0],[697.988 2.4 0],[700.897 1.3 0],[700.993 1 0],[703.518 1.9 0],[705.294 2.9 0],[705.428 1.3 0],[707.513 0.9 0],[712.792 1.1 0],[719.166 3.5 0],[719.593 1 0],[725.458 200 2],[726.417 3.5 1],[729.308 0.9 0],[733.062 0.9 0],[733.296 0.5 1],[734.646 5 0],[739.877 1.1 0],[745.03 2.9 1],[749.488 1.7 0],[753.671 0.7 0],[755.871 900 2],[756.313 3.5 0],[761.772 0.8 0],[762.294 1.9 0],[765.289 0.7 0],[768.949 0.5 0],[769.8 0.8 0],[771.989 1.9 0],[772.408 1.9 0],[778.842 1.3 0],[779.632 1.3 0],[780.252 0.6 0],[781.216 1.7 0],[785.552 2.9 0],[786.453 600 2],[788.19 11 1],[791.671 800 2],[798.941 40 2],[799.143 1000 2],[799.933 1 0],[817.141 800 2],[832.961 0.9 0],[834.443 2.4 0],[836.564 0.8 0],[845.036 1.7 0],[852.894 0.8 0],[864.509 400 2],[879.621 1000 2],[880.062 9.5 0],[883.585 1.9 1],[911.659 800 2]}{ALLx9900x990x1300x9900x90x400x140}{UVx9900x430x1300x9900x90x400x5}{VISx1200x990x1200x1000x0x0x140}{IVx1000x9.5x11x1000x0x0x0}%
@@ -80,10 +80,10 @@
\pgfspectra@elt@search{#1}{Ag}{[70.98 40 2],[71.385 40 2],[71.773 20 2],[71.853 40 2],[72.696 60 2],[73.004 70 2],[73.028 30 2],[73.083 5 1],[73.094 30 2],[73.657 40 2],[73.813 20 2],[74.098 40 2],[74.229 40 2],[74.83 40 2],[75.28 6 1],[75.573 30 2],[75.827 20 2],[76.719 40 2],[76.833 50 2],[76.961 30 2],[77.638 70 2],[78.291 40 2],[78.576 30 2],[78.908 40 2],[79.235 50 2],[79.654 40 2],[79.791 50 2],[79.941 80 2],[80.888 60 2],[81.612 30 2],[82.239 36 2],[83.811 40 2],[100.532 3 1],[106.549 2 1],[107.223 2.4 1],[107.422 50 1],[110.703 30 1],[111.246 30 1],[119.583 12 1],[122.333 10 1],[124.08 10 1],[124.687 10 1],[125.681 11 1],[125.755 11 1],[126.663 10 1],[127.367 14 1],[129.751 13 1],[131.12 17 1],[131.381 11 1],[131.461 10 1],[132.384 12 1],[134.209 12 1],[134.257 10 1],[134.662 14 1],[135.354 10 1],[136.45 30 1],[137.322 24 2],[137.476 24 2],[139.6 20 1],[140.493 22 2],[141.093 20 1],[141.39 24 2],[141.429 24 2],[141.972 18 1],[142.861 24 2],[143.26 19 1],[145.274 24 2],[145.641 40 2],[146.472 20 1],[146.623 10 1],[147.144 20 2],[148.901 60 2],[150.737 10 0],[151.508 30 2],[151.563 20 0],[152.423 20 2],[152.704 24 2],[154.114 30 2],[154.858 10 0],[155.089 30 2],[155.304 26 2],[155.516 20 1],[158.741 26 2],[158.928 24 2],[161.379 20 2],[161.914 26 2],[163.446 20 2],[164.45 20 1],[165.152 12 0],[165.21 10 0],[165.224 20 2],[165.36 26 2],[165.443 60 2],[165.618 140 2],[165.71 30 2],[166.154 20 2],[167.075 26 2],[167.614 30 2],[168.107 20 2],[168.282 24 1],[169.351 100 2],[170.506 40 2],[170.811 2 0],[170.886 30 2],[170.927 10 0],[171.768 26 2],[172.227 40 2],[172.676 30 2],[172.814 50 2],[173.644 25 1],[174.734 40 2],[174.964 24 2],[175.089 30 2],[175.103 150 2],[176.057 20 2],[176.262 30 2],[176.614 2 0],[176.87 30 2],[177.181 20 2],[178.385 20 2],[179.037 15 1],[179.17 20 2],[179.269 20 2],[179.39 30 2],[180.224 30 2],[180.226 30 2],[180.277 20 2],[180.823 60 2],[181.683 50 2],[182.245 30 2],[182.883 70 2],[183.233 50 2],[183.25 24 2],[183.431 20 2],[183.61 50 2],[183.864 30 2],[184.014 80 2],[184.696 20 2],[184.771 4 0],[184.993 24 2],[185.633 30 2],[185.891 24 2],[186.039 20 2],[186.064 20 2],[186.712 70 2],[186.81 30 2],[187.255 20 2],[187.345 80 2],[188.036 50 2],[188.957 60 2],[191.692 80 2],[191.708 120 2],[192.53 40 2],[194.632 30 2],[194.844 20 2],[195.762 140 2],[195.927 24 2],[196.086 20 2],[196.689 80 2],[196.738 20 1],[197.592 120 2],[197.703 100 2],[198.187 30 2],[198.702 40 2],[199.516 26 2],[200.024 120 2],[200.73 60 2],[201.149 40 2],[201.365 30 2],[201.596 30 1],[203.398 30 1],[204.133 30 2],[205.317 30 2],[205.383 30 2],[205.699 40 2],[206.117 40 0],[206.985 20 0],[208.104 40 2],[211.382 16 1],[214.56 12 1],[214.647 60 2],[214.919 30 2],[216.189 120 2],[216.621 30 2],[217 3 0],[218.676 10 1],[221.123 30 2],[222.953 12 1],[223.84 20 2],[224.643 20 1],[224.651 100 2],[224.874 15 1],[228.003 15 1],[228.65 20 2],[230.956 6 0],[231.004 140 2],[231.26 2 0],[231.705 14 1],[232.029 16 1],[232.468 14 1],[233.14 16 1],[235.792 14 1],[237.502 10 0],[238.685 20 2],[239.569 60 2],[241.141 15 1],[241.323 18 1],[243.781 20 1],[244.793 16 1],[246.962 20 2],[247.384 16 1],[250.663 12 1],[256.287 20 2],[257.563 10 0],[266.049 12 1],[272.177 12 0],[276.754 15 1],[282.439 20 0],[292.677 2 0],[293.842 4 0],[309.91 4 0],[313.002 6 0],[317.058 2 0],[318.07 18 1],[321.567 3 0],[322.515 2 0],[323.318 3 0],[326.735 20 1],[328.068 11000 0],[330.567 2 0],[338.289 5600 0],[340.378 2 0],[346.916 6 0],[347.582 14 1],[349.528 16 1],[350.192 4 0],[350.803 4 0],[351.338 3 0],[352.112 2 0],[354.261 10 0],[354.716 2 0],[355.701 2 0],[358.667 4 0],[362.349 2 0],[362.468 10 0],[368.246 15 1],[368.25 6 0],[368.334 16 1],[370.92 10 0],[372.742 2 0],[375.314 4 0],[381.094 40 0],[381.178 10 0],[384.074 20 0],[384.785 3 0],[390.741 10 0],[390.931 10 1],[391.44 10 0],[392.01 14 1],[392.801 2 0],[394.043 2 0],[394.297 2 0],[394.943 12 1],[398.158 20 0],[398.519 14 1],[399.215 2 0],[405.548 20 0],[408.343 2 0],[408.591 16 1],[418.548 20 1],[421.096 18 0],[421.282 20 0],[431.107 10 0],[439.623 4 0],[447.604 10 0],[455.6 4 0],[461.569 6 0],[462.004 16 1],[462.046 10 1],[466.848 12 0],[467.76 6 0],[478.84 20 1],[479.62 4 0],[484.782 6 0],[487.41 20 0],[488.821 4 0],[491.75 2 0],[493.575 2 0],[499.289 4 0],[502.735 16 1],[512.35 3 0],[520.908 200 0],[533.362 2 0],[546.55 200 0],[547.155 20 0],[547.538 4 0],[554.567 4 0],[555.958 2 0],[566.734 20 0],[608.378 2 0],[626.85 2 0],[662.108 4 0],[735.996 4 0],[768.778 64 0],[800.54 5 1],[825.47 3 1],[827.352 100 0],[832.44 4 1],[837.95 3 1],[840.38 5 1],[849.25 3 1],[864.57 6 0],[870.485 2 0],[874.76 2.4 1],[900.09 3 1],[1255.1 2 0],[1681.95 12 0],[1741.6699 4 0],[1830.79 3 0],[1838.2301 3 0]}{ALLx11000x11000x50x150x0x0x0}{UVx11000x11000x50x150x0x0x0}{VISx200x200x20x0x0x0x0}{IVx100x100x5x0x0x0x0}%
\pgfspectra@elt@search{#1}{Cd}{[42.701 50 3],[43.788 20 3],[44.785 50 3],[48.09 60 3],[48.949 10 3],[49.3 70 3],[49.513 70 3],[49.814 70 3],[49.853 70 3],[50.409 80 3],[50.42 70 3],[50.45 70 3],[50.631 80 3],[50.801 60 3],[50.895 50 3],[50.955 70 3],[50.981 25 3],[51.14 70 3],[51.3 80 3],[51.45 70 3],[51.942 60 3],[52.097 15 3],[52.441 80 3],[52.447 70 3],[52.477 50 3],[52.51 70 3],[52.519 60 3],[52.707 70 3],[53.079 50 3],[53.109 80 3],[53.151 80 3],[53.429 70 3],[53.677 70 3],[53.724 50 3],[54.09 60 3],[54.174 70 3],[54.26 80 3],[54.655 80 3],[54.801 40 3],[54.833 20 3],[54.89 15 3],[55.127 25 3],[55.29 20 3],[55.306 60 3],[55.405 80 3],[56.026 25 3],[56.416 10 3],[56.701 60 3],[67.739 8 2],[68.458 15 2],[72.07 10 2],[106.223 20 3],[111.816 150 3],[112.6 30 3],[113.408 20 3],[113.904 15 3],[115.464 20 3],[115.573 10 3],[116.465 100 3],[116.578 20 3],[116.73 40 3],[117.973 20 3],[118.307 15 3],[118.34 100 3],[119.413 40 3],[119.563 20 3],[119.647 30 3],[119.893 20 3],[121.538 15 3],[122.352 20 3],[124.606 20 3],[124.656 15 3],[124.994 15 3],[125.6 100 1],[126.647 30 3],[127.441 15 3],[128.563 20 3],[128.758 20 3],[129.643 150 1],[129.946 20 3],[130.436 40 3],[130.607 30 3],[131.689 15 3],[132.185 15 3],[132.555 20 3],[132.65 100 1],[134.097 30 3],[134.615 15 3],[135.478 30 3],[135.811 20 3],[136.255 30 3],[137.048 60 3],[137.091 150 1],[138.098 30 3],[138.36 5 2],[139.21 15 2],[139.678 10 2],[139.765 20 3],[140.368 30 3],[140.658 15 3],[141.628 25 2],[141.889 60 3],[142.029 5 2],[142.054 8 2],[142.983 15 3],[143.286 5 2],[144.608 20 2],[144.754 20 3],[144.755 25 2],[145.263 20 3],[145.574 30 2],[146.597 15 3],[146.614 8 2],[146.667 15 3],[147.197 5 2],[148.295 15 3],[149.179 20 3],[149.181 15 2],[151.101 5 2],[151.165 10 2],[151.313 5 2],[151.426 200 1],[152.355 10 2],[152.84 15 2],[152.93 30 2],[153.21 5 2],[154.517 50 2],[154.757 25 2],[155.007 10 2],[155.045 20 2],[155.089 15 2],[155.218 5 2],[155.648 5 2],[156.066 15 2],[156.603 5 2],[156.898 15 2],[157.02 20 3],[157.158 200 1],[158.239 10 2],[159.873 20 3],[160.042 20 3],[160.159 40 2],[160.487 20 2],[160.664 20 2],[160.728 10 2],[160.891 15 2],[160.961 10 2],[161.251 15 2],[162.287 15 3],[162.527 15 2],[162.854 25 2],[165.187 20 2],[165.563 25 2],[166.86 100 1],[167.815 30 2],[169.97 10 2],[170.247 50 1],[170.716 40 2],[172.193 10 2],[172.295 40 2],[172.441 50 1],[172.566 30 2],[173.9 25 2],[174.569 5 2],[174.767 40 2],[174.815 15 2],[176.882 30 2],[177.306 40 2],[178.584 100 1],[178.919 30 2],[179.34 75 2],[179.61 15 2],[180.057 5 2],[182.341 40 2],[182.77 100 1],[184.466 50 2],[185.113 40 2],[185.137 20 2],[185.585 40 2],[185.667 200 2],[187.408 150 2],[188.649 15 2],[190.348 15 2],[190.998 25 2],[191.057 15 2],[192.223 300 1],[193.959 10 2],[194.354 100 1],[196.554 40 1],[198.689 30 1],[198.881 15 2],[199.543 200 1],[200.06 20 2],[200.407 15 2],[200.749 100 1],[201.612 15 2],[203.245 50 1],[203.623 75 1],[203.983 40 2],[204.561 50 2],[206.125 10 2],[208.791 75 2],[209.6 150 1],[209.745 10 2],[210.047 5 2],[211.16 50 2],[214.441 1000 1],[215.506 50 1],[218.779 100 1],[218.813 5 2],[219.456 1000 1],[221.843 5 2],[222.443 5 2],[226.502 1000 1],[228.8022 1500 0],[231.277 1000 1],[232.107 200 1],[237.682 40 1],[241.824 7 2],[241.869 50 1],[242.636 10 2],[246.973 50 1],[248.793 40 1],[249.1 3 0],[249.558 40 1],[249.981 25 2],[250.891 10 0],[250.911 50 1],[251.622 30 1],[251.859 15 0],[252.5196 25 0],[254.4613 50 0],[255.198 50 1],[255.3465 25 0],[256.5789 3 0],[257.293 500 1],[258.0106 50 0],[258.487 3 0],[259.2026 30 0],[260.2048 25 0],[261.881 15 2],[262.8979 50 0],[263.056 5 2],[263.219 40 0],[263.942 75 0],[265.923 40 1],[266.0325 50 0],[266.82 25 1],[267.262 50 1],[267.754 100 0],[267.7748 25 0],[270.7 50 1],[271.2505 75 0],[273.382 50 0],[274.854 1000 1],[276.3894 100 0],[276.423 50 0],[276.699 20 2],[277.4958 50 0],[280.559 30 2],[282.319 30 1],[283.69 200 0],[285.646 25 1],[286.818 100 0],[288.0767 200 0],[288.1224 50 0],[291.467 200 1],[292.787 50 1],[292.927 200 1],[298.062 1000 0],[298.1362 200 0],[298.1845 50 0],[303.06 50 1],[303.572 10 2],[308.0822 150 0],[308.148 25 1],[308.2593 30 0],[309.234 100 1],[313.3167 200 0],[314.679 50 1],[325.033 150 1],[325.2524 300 0],[326.1055 300 0],[334.321 50 1],[338.549 50 1],[338.888 30 1],[340.3652 800 0],[341.749 50 1],[344.242 50 1],[346.443 100 1],[346.62 1000 0],[346.7655 800 0],[348.308 25 1],[349.544 150 1],[349.9952 25 0],[352.411 100 1],[353.569 100 1],[361.0508 1000 0],[361.2873 800 0],[361.4453 60 0],[364.9558 20 0],[398.1926 10 0],[402.912 100 1],[413.477 200 1],[414.149 50 1],[428.508 100 1],[430.6672 8 0],[441.241 100 1],[441.2989 3 0],[441.563 1000 1],[444.045 30 1],[466.2352 8 0],[467.8149 200 0],[474.469 30 1],[479.9912 300 0],[488.172 50 1],[502.55 50 1],[508.5822 1000 0],[515.466 6 0],[526.801 100 1],[527.16 100 1],[533.748 1000 1],[537.813 1000 1],[538.189 200 1],[584.33 40 1],[588.022 50 1],[609.9142 300 0],[611.149 100 0],[632.5166 100 0],[633.0013 30 0],[635.472 400 1],[635.998 500 1],[643.847 2000 0],[646.494 400 1],[656.765 25 1],[672.578 500 1],[675.919 100 1],[677.8116 30 0],[723.701 50 1],[728.438 100 1],[734.567 1000 0],[806.699 50 1],[820.0309 5 0],[929.2 20 0],[1165.5 15 0],[1449.1 35 0],[1571.2 80 0],[1912.5 55 0],[2437.8 25 0],[2545.5 35 0]}{ALLx2000x2000x1000x200x150x0x0}{UVx1500x1500x1000x200x150x0x0}{VISx2000x2000x1000x0x0x0x0}{IVx80x80x50x0x0x0x0}%
\pgfspectra@elt@search{#1}{In}{[36.867 3 4],[37.01 3 4],[37.282 5 4],[37.294 5 4],[37.495 1 4],[37.584 3 4],[37.607 3 4],[37.679 5 4],[37.861 8.5 4],[37.924 1.5 4],[38.027 4.5 4],[38.156 5.5 4],[38.214 4.5 4],[38.276 5.5 4],[38.305 5 4],[38.621 8.5 4],[38.67 5 4],[38.866 1.5 4],[38.891 7 4],[39.003 5.5 4],[39.092 5.5 4],[39.229 4.5 4],[39.246 4.5 4],[39.36 0.5 4],[39.389 12.5 4],[39.574 5.5 4],[39.773 1.5 4],[39.979 5 4],[40.005 4.5 4],[40.057 12.5 4],[40.239 12.5 4],[40.533 1.5 4],[40.728 4.5 4],[40.736 1.5 4],[40.795 4.5 4],[41.743 4.5 4],[41.845 1 4],[42.316 1 4],[67.733 4 3],[68.453 7.5 3],[68.531 3.5 2],[69.162 2.5 2],[72.064 4 3],[78.217 0.5 2],[88.224 5 2],[89.084 5 2],[91.587 5 2],[91.745 1 2],[92.683 2.5 2],[140.308 15 2],[143.485 15 2],[147.034 2 3],[148.77 10 2],[149.414 10 2],[151.262 2.5 3],[152.35 2.5 3],[152.478 5 2],[153.021 10 2],[153.203 3.5 3],[153.295 15 2],[156.892 4 3],[156.933 1.5 3],[160.15 6 3],[160.508 0.5 3],[160.659 3.5 3],[162.542 50 2],[162.848 5 3],[164.228 10 2],[164.8 1 0],[165.18 4 3],[165.562 5 3],[166.738 0.5 3],[167.064 2.5 3],[167.616 0.5 0],[167.807 6 3],[170.202 2 3],[170.253 10 2],[170.711 7.5 3],[171.154 2.5 0],[172.189 3.5 3],[174.123 1 0],[174.765 6 3],[174.81 5 3],[174.883 50 2],[175.849 0.5 0],[176.788 1 2],[176.877 5 3],[177.301 6 3],[178.915 4 3],[179.338 6 3],[181.071 0.5 2],[184.241 15 2],[184.467 6 3],[185.03 20 2],[185.11 4.5 3],[185.584 4.5 3],[185.664 7.5 3],[186.298 7.5 2],[187.408 7.5 3],[190.352 2.5 3],[193.958 2.5 3],[194.331 1.5 3],[200.473 3 3],[210.117 0.5 3],[210.389 5 1],[211.231 4 3],[215.408 15 2],[215.442 1 2],[216.688 5 1],[217.99 1 0],[218.24 1 0],[218.74 1 0],[219.084 1 0],[219.567 7.5 1],[219.741 1 0],[219.952 5 2],[220.224 1 0],[220.528 25 1],[221.114 1.5 0],[222.513 2 3],[223.07 2.5 0],[223.218 2.5 2],[224.166 1.5 0],[225.579 15 1],[225.999 5 0],[226.126 10 2],[226.626 2.5 2],[227.241 2.5 2],[227.284 2.5 2],[227.82 2.5 0],[228.164 20 1],[228.375 1 0],[229.833 1 0],[229.87 1 0],[230.09 5 2],[230.249 1 0],[230.605 50 1],[230.686 12.5 0],[230.932 1.5 0],[230.975 1 0],[231.321 45 1],[231.509 1 0],[232.34 15 1],[232.441 2.5 0],[232.492 1.5 0],[232.795 35 1],[233.276 1.5 0],[233.457 40 1],[234.019 5 0],[234.59 4 0],[234.656 2.5 0],[235.075 25 1],[235.87 2.5 0],[237.814 7.5 0],[237.9 5 0],[238.263 55 1],[238.954 20 0],[239.318 20 1],[239.918 5 0],[240.647 25 1],[240.876 25 1],[241.906 25 1],[241.92 25 1],[242.72 35 1],[242.986 10 0],[243.099 5 0],[243.273 25 1],[244.263 30 1],[244.79 50 1],[245.323 30 1],[246.008 30 0],[246.802 15 0],[248.615 35 1],[248.862 55 1],[248.895 45 1],[249.859 40 1],[249.96 50 1],[250.099 45 1],[250.816 30 1],[251.231 55 1],[252.137 50 0],[252.298 5 0],[252.741 50 2],[255.356 35 1],[255.444 80 1],[256.015 550 0],[256.513 35 1],[259.875 35 1],[260.176 100 0],[260.404 25 1],[265.47 45 1],[266.263 50 1],[266.865 70 1],[267.456 70 1],[268.312 40 1],[271.026 800 0],[271.394 150 0],[272.552 25 2],[272.615 40 2],[274.975 65 1],[275.388 350 0],[277.537 20 0],[279.876 30 1],[281.897 45 1],[283.692 90 0],[285.814 15 0],[286.568 40 1],[289.018 60 1],[293.263 550 0],[294.105 50 1],[295.701 10 0],[296.617 30 1],[298.28 50 2],[299.94 55 1],[300.808 50 2],[300.882 15 2],[303.936 4000 0],[305.115 4 0],[309.98 55 1],[310.18 90 1],[313.86 65 1],[314.275 40 1],[314.67 65 1],[315.577 75 1],[315.84 50 1],[317.63 45 1],[319.811 45 1],[325.609 6500 0],[325.856 1500 0],[329.355 15 2],[333.85 45 1],[335.091 4 2],[337.659 37.5 1],[340.428 50 1],[343.84 55 1],[356.232 2.5 2],[369.391 90 1],[370.813 47.5 1],[371.614 190 1],[371.83 60 1],[371.872 80 1],[372.34 80 1],[379.521 85 1],[379.921 115 1],[383.465 125 1],[384.218 100 1],[385.282 50 2],[388.978 50 1],[390.207 50 1],[392.212 30 1],[393.44 32.5 1],[396.235 125 1],[400.466 60 1],[401.392 70 1],[402.377 50 2],[403.232 75 2],[405.694 205 1],[406.23 25 2],[407.157 50 2],[407.293 50 2],[410.176 8500 0],[420.514 70 1],[421.304 50 1],[421.966 55 1],[425.268 50 2],[437.287 75 1],[450.078 75 1],[450.958 20 2],[451.131 9000 0],[454.901 55 1],[457.085 70 1],[457.802 90 1],[457.84 90 1],[461.608 70 1],[461.717 85 1],[462.014 125 1],[462.07 75 1],[462.73 85 1],[463.704 70 1],[463.816 190 1],[464.458 110 1],[465.562 180 1],[465.674 160 1],[468.111 95 1],[468.48 225 1],[487.837 1.5 0],[490.706 45 1],[492.493 35 1],[497.377 75 1],[510.936 40 1],[511.514 50 1],[511.74 70 1],[512.08 135 1],[512.175 100 1],[512.985 40 1],[517.542 120 1],[518.444 70 1],[524.877 100 2],[525.432 15 0],[526.274 6 0],[530.945 75 1],[541.141 40 1],[541.845 70 1],[543.67 110 1],[549.75 65 1],[550.708 70 1],[551.3 160 1],[552.328 125 1],[553.65 65 1],[555.545 95 1],[557.69 120 1],[563.67 100 1],[564.515 50 2],[570.85 80 1],[570.991 25 0],[572.18 50 1],[572.317 20 2],[572.768 25 0],[581.95 50 2],[585.315 105 1],[590.34 245 1],[591.54 130 1],[591.878 60 1],[606.29 65 1],[609.595 125 1],[610.866 105 1],[611.59 90 1],[612.87 115 1],[612.94 120 1],[613.21 160 1],[614 75 1],[614.323 45 1],[614.81 70 1],[614.95 95 1],[616.115 40 1],[616.245 90 1],[619.772 100 2],[622.428 50 1],[622.83 140 1],[623.11 70 1],[630.48 135 1],[636.23 145 1],[646.9 150 1],[654.12 105 1],[675.188 95 1],[676.59 90 1],[678.372 50 1],[684.744 4 0],[689.15 160 1],[690.013 2 0],[718.29 190 1],[725.5 90 1],[727.65 105 1],[730.34 90 1],[735.06 160 1],[763.27 50 1],[768.29 50 1],[774.07 105 1],[777.696 50 1],[778.9 90 1],[780.68 35 1],[781.45 35 1],[784.09 45 1],[805.078 10 0],[822.7 120 1],[823.866 15 0],[831.492 7.5 0],[843.455 25 1],[867.895 15 0],[868.263 10 0],[870.025 25 0],[881.35 50 1],[883.26 40 1],[889.447 20 0],[917.008 5 0],[919.77 60 1],[920.2 60 1],[921.3 110 1],[924.11 80 1],[934.983 20 0],[937.027 30 0],[942.799 10 0],[997.786 50 0],[1025.703 100 0],[1071.742 30 0],[1074.431 50 0],[1133.472 10 0],[1173.148 10 0],[1291.259 5 0],[1342.996 4.5 0],[1382.448 2.5 0],[1431.625 3 0],[1441.92 1.5 0],[1466.866 3 0],[1471.908 3.5 0],[1650.4311 1 0],[2229.1061 3 0],[2387.9131 3.5 0]}{ALLx9000x9000x245x100x7.5x12.5x0}{UVx6500x6500x190x50x7.5x12.5x0}{VISx9000x9000x245x100x0x0x0}{IVx120x100x120x0x0x0x0}%
-\pgfspectra@elt@search{#1}{Sn}{[1.6 7 1],[35.514 120 4],[36.101 150 4],[37.255 100 4],[60.523 50 3],[61.904 50 3],[62.873 50 3],[75.301 100 2],[76.062 50 2],[77.579 75 2],[78.468 50 2],[89.992 1 1],[90.822 50 3],[91.092 200 2],[91.74 2 1],[93.563 1 1],[94.583 3 1],[95.45 4 1],[95.625 500 3],[98.513 7 1],[99.721 4 1],[101.092 50 2],[101.626 2 1],[101.972 500 3],[104.078 4 1],[104.132 1 1],[104.449 1000 3],[104.884 50 2],[105.837 100 3],[105.859 50 3],[106.21 3 1],[107.341 1000 3],[108.75 200 3],[108.935 200 4],[109.692 300 3],[110.324 50 3],[110.819 8 1],[111.934 0 3],[112.068 200 3],[113.279 100 4],[113.929 1000 2],[115.833 1000 2],[115.905 4 1],[116.074 200 4],[116.109 200 2],[116.143 10 1],[116.158 100 2],[116.294 3 1],[117.626 100 4],[118.051 4 1],[118.062 100 2],[118.425 1000 2],[118.992 100 4],[118.999 200 2],[120.406 200 2],[120.572 100 4],[121.052 2000 2],[121.51 100 2],[121.814 100 2],[121.907 9 1],[122.37 13 1],[123.017 100 2],[123.138 100 2],[124.3 11 1],[124.363 500 2],[125.138 2000 4],[125.992 1000 2],[127.631 40 2],[128.381 100 4],[129.086 20 1],[129.436 200 4],[130.22 100 4],[130.597 1000 2],[131.455 1000 3],[131.659 20 1],[132.734 1000 2],[133.47 200 2],[134.605 200 2],[134.765 1000 2],[136.971 200 2],[138.674 1000 2],[140.052 25 1],[141.061 500 2],[143.752 1000 3],[144.977 200 2],[147.515 20 1],[148.922 9 1],[153.29 100 3],[157.036 1000 2],[167.429 50 2],[173.721 10 0],[175.146 15 0],[175.33 10 0],[175.8 7 1],[176.498 20 0],[177.34 20 0],[179.075 30 0],[180.46 80 0],[181.134 15 1],[181.171 500 2],[181.304 30 0],[181.574 40 0],[181.931 25 0],[182.3 120 0],[183.189 9 1],[184.875 50 0],[185.2 30 0],[186.032 200 0],[186.142 20 0],[186.552 20 0],[186.596 30 0],[187.329 15 0],[188.264 30 0],[188.605 80 0],[189.14 100 0],[189.729 20 0],[189.991 12 1],[190.93 50 0],[191.161 40 0],[191.352 20 0],[192.531 80 0],[192.677 20 0],[192.795 15 0],[192.89 40 0],[193.317 25 0],[194.186 500 2],[194.269 20 0],[195.215 150 0],[195.552 50 2],[196.021 15 0],[197.146 30 0],[197.76 50 0],[198.42 80 0],[199.188 15 0],[199.498 20 0],[200.805 25 0],[201.576 30 0],[202.698 30 0],[204.066 50 0],[204.09 20 0],[205.403 50 0],[205.831 70 0],[206.4 20 0],[206.858 80 0],[207.289 100 0],[207.308 100 0],[208.062 25 0],[209.158 30 0],[209.435 40 0],[209.639 200 0],[210.093 100 0],[211.393 100 0],[212.126 50 0],[214.073 25 0],[214.143 20 0],[214.846 15 0],[214.863 1 1],[214.873 40 0],[215.143 20 0],[215.154 30 1],[217.132 80 0],[219.449 150 0],[219.934 300 0],[220.965 400 0],[220.967 4 1],[221.105 40 0],[223.172 80 0],[224.605 400 0],[224.607 6 1],[225.117 60 0],[226.719 30 0],[226.891 400 0],[228.226 20 0],[228.668 200 0],[231.723 600 0],[233.48 300 0],[235.484 1000 0],[235.79 20 0],[236.034 3 1],[236.833 22 1],[238.072 60 0],[238.454 4 1],[240.815 100 0],[242.17 800 0],[242.949 1000 0],[243.352 1 1],[244.898 15 1],[245.524 60 0],[247.64 20 0],[248.339 300 0],[248.348 13 1],[248.699 10 1],[249.57 200 0],[252.261 5 1],[252.392 90 0],[253.117 80 0],[254.655 400 0],[255.801 40 0],[257.158 500 0],[259.442 200 0],[263.694 50 0],[266.124 200 0],[266.493 2 1],[270.651 700 0],[272.782 2 1],[276.178 20 0],[277.981 150 0],[278.503 80 0],[278.796 60 0],[281.259 60 0],[281.358 80 0],[282.552 2 1],[283.999 1400 0],[284.642 1 1],[285.062 200 0],[286.332 1000 0],[291.28 1 1],[291.354 200 0],[291.982 6 1],[299.1 3 1],[299.444 7 1],[300.914 700 0],[301.218 1 1],[302.394 8 1],[303.28 200 0],[303.412 850 0],[304.75 12 1],[309.469 6 1],[314.184 60 0],[317.505 550 0],[321.871 40 0],[326.234 550 0],[328.321 50 1],[333.062 110 0],[335.197 60 1],[340.748 2 1],[347.246 10 1],[353.757 7 1],[357.545 11 1],[358.239 3 1],[362.008 2 1],[362.054 6 1],[365.578 40 0],[371.523 6 1],[380.102 280 0],[384.144 4 1],[429.465 1 1],[452.474 40 0],[457.913 1 1],[458.029 1 1],[487.722 2 1],[494.431 3 1],[497.973 20 0],[507.114 2 1],[507.267 2 1],[517.454 20 0],[533.236 10 1],[556.195 20 1],[558.892 25 1],[559.62 2 1],[563.171 500 0],[575.359 15 0],[579.72 1 1],[579.918 15 1],[592.544 50 0],[597.03 100 0],[603.77 150 0],[605.486 200 -1],[606.9 250 0],[607.346 100 0],[607.748 6 1],[607.97 5 1],[614.971 400 0],[615.46 200 0],[617.15 150 0],[631.078 100 0],[635.435 40 0],[645.35 70 1],[676.145 8 1],[684.405 25 1],[719.14 20 1],[738.779 10 1],[739.86 20 0],[740.862 1 1],[768.53 30 0],[774.18 13 1],[775.497 100 0],[790.4 3 1],[803.05 100 0],[803.93 30 0],[811.409 200 0],[812.1 30 0],[834.935 30 0],[835.704 80 0],[842.272 300 0],[855.26 400 0],[868.17 50 0],[901.895 30 0],[941.086 50 0],[941.537 80 0],[961.64 150 0],[974.11 50 0],[974.28 100 0],[980.538 300 0],[985.052 500 0],[1045.647 25 0],[1080.758 11 0],[1089.4 54 0],[1119.185 70 0],[1127.766 56 0],[1133.697 17 0],[1145.459 200 0],[1161.626 200 0],[1167.077 76 0],[1169.445 25 0],[1173.978 258 0],[1182.518 96 0],[1183.582 106 0],[1193.299 254 0],[1200.95 48 0],[1231.324 111 0],[1233.56 33 0],[1253.087 42 0],[1253.65 42 0],[1278.82 37 0],[1288.85 89 0],[1298.17 187 0],[1300.03 20 0],[1301.85 187 0],[1308.15 68 0],[1346.02 378 0],[1360.82 144 0],[1501.82 13 0],[1546.42 30 0],[1700.05 20 0],[1780.75 10 0],[2062.2199 20 0],[2086.1699 40 0],[2168.6199 8 0],[2213.1699 4 0],[2299.7199 3 0],[2432.7199 4 0],[2473.8199 4 0]}{ALLx2000x1400x70x2000x1000x2000x200}{UVx2000x1400x60x2000x1000x2000x0}{VISx500x500x70x0x0x0x200}{IVx500x500x3x0x0x0x0}%
+\pgfspectra@elt@search{#1}{Sn}{[35.514 120 4],[36.101 150 4],[37.255 100 4],[60.523 50 3],[61.904 50 3],[62.873 50 3],[75.301 100 2],[76.062 50 2],[77.579 75 2],[78.468 50 2],[89.992 1 1],[90.822 50 3],[91.092 200 2],[91.74 2 1],[93.563 1 1],[94.583 3 1],[95.45 4 1],[95.625 500 3],[98.513 7 1],[99.721 4 1],[101.092 50 2],[101.626 2 1],[101.972 500 3],[104.078 4 1],[104.132 1 1],[104.449 1000 3],[104.884 50 2],[105.837 100 3],[105.859 50 3],[106.21 3 1],[107.341 1000 3],[108.75 200 3],[108.935 200 4],[109.692 300 3],[110.324 50 3],[110.819 8 1],[111.934 0 3],[112.068 200 3],[113.279 100 4],[113.929 1000 2],[115.833 1000 2],[115.905 4 1],[116.074 200 4],[116.109 200 2],[116.143 10 1],[116.158 100 2],[116.294 3 1],[117.626 100 4],[118.051 4 1],[118.062 100 2],[118.425 1000 2],[118.992 100 4],[118.999 200 2],[120.406 200 2],[120.572 100 4],[121.052 2000 2],[121.51 100 2],[121.814 100 2],[121.907 9 1],[122.37 13 1],[123.017 100 2],[123.138 100 2],[124.3 11 1],[124.363 500 2],[125.138 2000 4],[125.992 1000 2],[127.631 40 2],[128.381 100 4],[129.086 20 1],[129.436 200 4],[130.22 100 4],[130.597 1000 2],[131.455 1000 3],[131.659 20 1],[132.734 1000 2],[133.47 200 2],[134.605 200 2],[134.765 1000 2],[136.971 200 2],[138.674 1000 2],[140.052 25 1],[141.061 500 2],[143.752 1000 3],[144.977 200 2],[147.515 20 1],[148.922 9 1],[153.29 100 3],[157.036 1000 2],[167.429 50 2],[173.721 10 0],[175.146 15 0],[175.33 10 0],[175.8 7 1],[176.498 20 0],[177.34 20 0],[179.075 30 0],[180.46 80 0],[181.134 15 1],[181.171 500 2],[181.304 30 0],[181.574 40 0],[181.931 25 0],[182.3 120 0],[183.189 9 1],[184.875 50 0],[185.2 30 0],[186.032 200 0],[186.142 20 0],[186.552 20 0],[186.596 30 0],[187.329 15 0],[188.264 30 0],[188.605 80 0],[189.14 100 0],[189.729 20 0],[189.991 12 1],[190.93 50 0],[191.161 40 0],[191.352 20 0],[192.531 80 0],[192.677 20 0],[192.795 15 0],[192.89 40 0],[193.317 25 0],[194.186 500 2],[194.269 20 0],[195.215 150 0],[195.552 50 2],[196.021 15 0],[197.146 30 0],[197.76 50 0],[198.42 80 0],[199.188 15 0],[199.498 20 0],[200.805 25 0],[201.576 30 0],[202.698 30 0],[204.066 50 0],[204.09 20 0],[205.403 50 0],[205.831 70 0],[206.4 20 0],[206.858 80 0],[207.289 100 0],[207.308 100 0],[208.062 25 0],[209.158 30 0],[209.435 40 0],[209.639 200 0],[210.093 100 0],[211.393 100 0],[212.126 50 0],[214.073 25 0],[214.143 20 0],[214.846 15 0],[214.863 1 1],[214.873 40 0],[215.143 20 0],[215.154 30 1],[217.132 80 0],[219.449 150 0],[219.934 300 0],[220.965 400 0],[220.967 4 1],[221.105 40 0],[223.172 80 0],[224.605 400 0],[224.607 6 1],[225.117 60 0],[226.719 30 0],[226.891 400 0],[228.226 20 0],[228.668 200 0],[231.723 600 0],[233.48 300 0],[235.484 1000 0],[235.79 20 0],[236.034 3 1],[236.833 22 1],[238.072 60 0],[238.454 4 1],[240.815 100 0],[242.17 800 0],[242.949 1000 0],[243.352 1 1],[244.898 15 1],[245.524 60 0],[247.64 20 0],[248.339 300 0],[248.348 13 1],[248.699 10 1],[249.57 200 0],[252.261 5 1],[252.392 90 0],[253.117 80 0],[254.655 400 0],[255.801 40 0],[257.158 500 0],[259.442 200 0],[263.694 50 0],[266.124 200 0],[266.493 2 1],[270.651 700 0],[272.782 2 1],[276.178 20 0],[277.981 150 0],[278.503 80 0],[278.796 60 0],[281.259 60 0],[281.358 80 0],[282.552 2 1],[283.999 1400 0],[284.642 1 1],[285.062 200 0],[286.332 1000 0],[291.28 1 1],[291.354 200 0],[291.982 6 1],[299.1 3 1],[299.444 7 1],[300.914 700 0],[301.218 1 1],[302.394 8 1],[303.28 200 0],[303.412 850 0],[304.75 12 1],[309.469 6 1],[314.184 60 0],[317.505 550 0],[321.871 40 0],[326.234 550 0],[328.321 50 1],[333.062 110 0],[335.197 60 1],[340.748 2 1],[347.246 10 1],[353.757 7 1],[357.545 11 1],[358.239 3 1],[362.008 2 1],[362.054 6 1],[365.578 40 0],[371.523 6 1],[380.102 280 0],[384.144 4 1],[429.465 1 1],[452.474 40 0],[457.913 1 1],[458.029 1 1],[487.722 2 1],[494.431 3 1],[497.973 20 0],[507.114 2 1],[507.267 2 1],[517.454 20 0],[533.236 10 1],[556.195 20 1],[558.892 25 1],[559.62 2 1],[563.171 500 0],[575.359 15 0],[579.72 1 1],[579.918 15 1],[592.544 50 0],[597.03 100 0],[603.77 150 0],[605.486 200 -1],[606.9 250 0],[607.346 100 0],[607.748 6 1],[607.97 5 1],[614.971 400 0],[615.46 200 0],[617.15 150 0],[631.078 100 0],[635.435 40 0],[645.35 70 1],[676.145 8 1],[684.405 25 1],[719.14 20 1],[738.779 10 1],[739.86 20 0],[740.862 1 1],[768.53 30 0],[774.18 13 1],[775.497 100 0],[790.4 3 1],[803.05 100 0],[803.93 30 0],[811.409 200 0],[812.1 30 0],[834.935 30 0],[835.704 80 0],[842.272 300 0],[855.26 400 0],[868.17 50 0],[901.895 30 0],[941.086 50 0],[941.537 80 0],[961.64 150 0],[974.11 50 0],[974.28 100 0],[980.538 300 0],[985.052 500 0],[1045.647 25 0],[1080.758 11 0],[1089.4 54 0],[1119.185 70 0],[1127.766 56 0],[1133.697 17 0],[1145.459 200 0],[1161.626 200 0],[1167.077 76 0],[1169.445 25 0],[1173.978 258 0],[1182.518 96 0],[1183.582 106 0],[1193.299 254 0],[1200.95 48 0],[1231.324 111 0],[1233.56 33 0],[1253.087 42 0],[1253.65 42 0],[1278.82 37 0],[1288.85 89 0],[1298.17 187 0],[1300.03 20 0],[1301.85 187 0],[1308.15 68 0],[1346.02 378 0],[1360.82 144 0],[1501.82 13 0],[1546.42 30 0],[1700.05 20 0],[1780.75 10 0],[2062.2199 20 0],[2086.1699 40 0],[2168.6199 8 0],[2213.1699 4 0],[2299.7199 3 0],[2432.7199 4 0],[2473.8199 4 0]}{ALLx2000x1400x70x2000x1000x2000x200}{UVx2000x1400x60x2000x1000x2000x0}{VISx500x500x70x0x0x0x200}{IVx500x500x3x0x0x0x0}%[1.6 7 1],
\pgfspectra@elt@search{#1}{Sb}{[69.118 10 2],[69.12 1 1],[69.869 10 2],[69.922 3 4],[72.286 15 2],[72.481 8 2],[73.233 15 2],[74.606 1 4],[76.443 1 1],[81.485 1 1],[83.1 6 4],[84.939 1 1],[85.508 2 1],[87.684 4 1],[89.802 1 4],[92.107 4 1],[98.357 6 1],[99.962 15 2],[100.113 6 1],[100.943 6 1],[101.194 40 2],[105.221 6 1],[105.627 8 1],[105.658 10 2],[105.732 8 1],[106.59 40 2],[106.993 20 2],[107.043 20 2],[107.376 5 2],[107.381 6 1],[107.582 30 2],[107.81 5 2],[108.406 20 2],[109.834 10 2],[110.432 8 4],[113.543 10 2],[115.149 30 2],[115.774 40 2],[116.696 12 2],[120.52 50 2],[121.064 50 2],[122.6 12 4],[123.03 6 1],[127.498 8 1],[130.669 20 2],[132.74 8 1],[135.804 6 1],[137.958 8 2],[138.47 8 1],[140.418 20 2],[140.783 6 1],[142.957 10 2],[143.076 10 0],[143.649 8 1],[146.419 10 0],[148.657 20 0],[149.136 40 0],[150.57 12 4],[151.257 50 0],[152.447 12 4],[153.274 120 0],[153.506 80 0],[156.551 6 1],[157.611 8 1],[158.136 7 1],[159.996 80 0],[160.698 10 1],[161.28 200 0],[162.33 100 0],[165.12 50 0],[165.704 20 1],[166.26 100 0],[167.389 15 2],[169.885 50 0],[171.023 3 2],[171.184 15 2],[171.693 80 0],[171.745 150 0],[172.343 150 0],[172.533 15 2],[173.619 100 0],[173.643 8 1],[175.779 50 0],[176.23 12 2],[176.576 100 0],[178.087 100 0],[178.824 100 0],[180.018 150 0],[181.05 50 0],[181.42 80 0],[182.95 100 0],[183.932 12 2],[185.889 60 0],[186.817 50 0],[187.115 300 0],[188.256 150 0],[189.128 70 0],[189.939 70 0],[192.708 100 0],[194.613 10 2],[195.039 200 0],[196.43 80 0],[198.605 60 0],[199.06 6 1],[202.4 50 0],[202.949 60 0],[203.977 70 0],[204.957 150 0],[205.41 3 2],[206.343 50 0],[206.833 1000 0],[207.956 100 0],[209.185 2 2],[209.841 50 0],[211.848 80 0],[212.7 5 2],[212.739 100 0],[213.705 50 0],[213.969 100 0],[214.18 10 1],[214.183 50 0],[214.486 100 0],[215.891 50 0],[217.581 1500 0],[217.919 250 0],[217.925 6 1],[220.132 200 0],[220.845 300 0],[220.85 6 1],[222.073 150 0],[222.198 100 0],[222.493 120 0],[222.515 6 1],[226.251 300 0],[228.898 120 0],[229.344 150 0],[230.646 300 0],[231.147 2500 0],[231.589 150 0],[237.367 400 0],[238.364 300 0],[239.522 100 0],[242.213 150 0],[242.635 250 0],[244.551 400 0],[247.832 400 0],[248.044 150 0],[248.046 8 1],[250.771 5 2],[251.054 100 0],[252.852 2000 0],[252.854 15 1],[256.775 10 1],[257.406 150 0],[259.013 15 2],[259.805 1500 0],[259.809 500 0],[261.231 300 0],[261.42 1 2],[261.717 12 2],[261.763 1 2],[265.26 200 0],[265.655 12 1],[266.939 20 2],[267.064 300 0],[268.276 200 0],[269.225 120 0],[271.89 150 0],[276.995 400 0],[278.587 5 2],[279.027 20 2],[285.109 12 1],[285.111 100 0],[287.792 1000 0],[296.61 12 1],[298.096 15 1],[302.983 500 0],[303.401 12 1],[304.067 12 1],[323.252 600 0],[324.128 20 1],[326.751 700 0],[333.661 20 2],[338.309 12 1],[338.315 100 0],[349.846 15 1],[350.407 50 2],[351.906 15 2],[352.047 12 1],[353.345 15 2],[355.918 40 2],[356.625 40 2],[363.78 25 1],[363.783 250 0],[372.278 20 1],[372.279 200 0],[373.89 30 2],[385.022 20 1],[403.355 200 0],[403.356 20 1],[413.363 20 1],[414.054 15 1],[419.517 15 1],[421.907 20 1],[426.509 40 2],[431.432 20 1],[434.483 12 1],[435.216 50 2],[441.142 12 1],[444.648 12 1],[450.692 12 1],[451.45 15 1],[459.189 30 2],[459.69 30 1],[459.909 20 1],[460.477 15 1],[464.732 30 1],[467.574 20 1],[469.291 30 2],[471.126 40 1],[473.544 12 1],[475.781 20 1],[476.536 20 1],[476.691 12 1],[478.403 30 1],[480.201 20 1],[483.282 20 1],[487.724 20 1],[494.74 15 1],[504.456 15 1],[516.632 12 1],[517.655 15 1],[523.894 20 1],[524.771 1 2],[535.424 20 1],[546.408 15 1],[549.032 30 0],[555.61 40 0],[556.813 15 1],[560.219 30 0],[563.202 100 0],[563.975 30 1],[569.08 1 2],[571.73 1 2],[583.034 60 0],[584.55 3 2],[589.509 15 1],[600.521 100 1],[605.341 20 1],[607.98 30 1],[613.004 50 1],[615.494 20 1],[624.67 5 2],[628.76 3 2],[630.276 12 1],[661.149 20 0],[664.744 30 1],[668.801 15 1],[680.667 6 1],[764.828 30 0],[784.444 80 0],[792.465 200 0],[796.955 40 0],[841.169 60 0],[857.264 150 0],[861.955 100 0],[868.27 30 0],[913.221 30 0],[951.868 400 0],[986.678 30 0],[994.914 400 0],[1007.849 200 0],[1026.101 300 0],[1036.433 50 0],[1048.83 50 0],[1058.56 200 0],[1067.741 1000 0],[1074.194 800 0],[1079.411 80 0],[1083.973 600 0],[1086.858 200 0],[1087.955 400 0],[1101.279 300 0],[1107.995 40 0],[1108.498 30 0],[1110.484 50 0],[1110.852 50 0],[1118.961 30 0],[1126.623 150 0],[1186.337 30 0],[1195.77 1 0],[1211.606 5 0],[1227.66 2 0],[1246.675 2 0]}{ALLx2500x2500x100x50x0x12x0}{UVx2500x2500x25x50x0x12x0}{VISx200x200x100x50x0x0x0}{IVx1000x1000x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{Te}{[79.96 3 1],[80.228 4 1],[94.262 3 1],[100.373 3 1],[100.78 3 1],[101.427 2.5 1],[102.279 2.5 1],[105.7 3 1],[105.951 4 1],[106.886 3 1],[107.766 4 1],[109.011 3 1],[114.404 3 1],[115.31 2.5 1],[116.142 5 1],[117.434 5 1],[117.579 6 1],[120.854 4.5 1],[121.3 2.5 1],[122.098 4.5 1],[125.362 4.5 1],[127.052 4.5 1],[127.476 3.5 1],[130.653 4 1],[132.492 5 1],[133.642 3.5 1],[134.52 3.5 1],[136.324 4.5 1],[136.673 4 1],[137.48 5 1],[139.522 3 1],[143.952 3 1],[146.525 3 1],[148.956 3.5 1],[160.799 4 1],[160.841 5 1],[161.315 5 1],[163.891 3 1],[165.54 2.5 0],[168.85 2.5 0],[170 3 0],[170.158 3 1],[170.8 2.5 0],[175.1 3 0],[175.94 2.5 0],[177.5 2.5 0],[179.57 3 0],[179.63 3 0],[182.24 5 0],[182.55 3 0],[185.06 3 0],[185.21 3 0],[185.38 3 0],[185.72 4 0],[186.04 3 0],[196.288 1.5 1],[199.483 3.5 0],[200.02 3 0],[200.202 13000 0],[207.09 4 0],[208.116 3250 0],[214.281 9000 0],[214.725 1600 0],[215.985 180 0],[220.874 4.5 0],[225.549 5 0],[225.902 250 0],[226.552 5 0],[237.306 10 1],[238.326 600 0],[238.578 750 0],[238.782 10 1],[240.163 5 1],[243.647 5 1],[243.869 25 1],[253.072 60 0],[256.782 10 1],[257.496 5 1],[257.61 2.5 1],[257.924 3.5 1],[259.112 5 1],[259.285 5 1],[260.572 5 1],[262.192 2.5 1],[262.486 5 1],[262.796 10 1],[264.189 10 1],[264.848 10 1],[264.966 50 1],[265.77 20 1],[266.11 40 1],[267.713 55 0],[271.158 10 1],[276.965 3 0],[284.117 5 1],[284.615 5 1],[285.829 50 1],[286.1 10 1],[286.882 20 1],[289.541 75 1],[291.989 15 1],[294.211 25 1],[294.668 25 1],[296.729 35 1],[297.367 10 1],[297.59 25 1],[299.704 7.5 1],[301.202 7.5 1],[301.758 25 1],[302.331 10 1],[304.7 35 1],[305.246 10 1],[306.316 5 1],[307.356 7.5 1],[310.444 4 1],[313.258 5 1],[316.066 10 1],[317.514 50 0],[318.983 5 1],[321.121 2.5 1],[325.68 30 1],[326.877 15 1],[328.263 15 1],[332.192 20 1],[332.311 20 1],[332.922 30 1],[335.21 30 1],[336.279 30 1],[337.41 12.5 1],[340.679 75 1],[341.963 10 1],[344.225 25 1],[345.512 20 1],[345.688 10 1],[348.032 10 1],[348.367 20 1],[348.611 10 1],[352.111 25 1],[355.219 25 1],[361.178 50 1],[361.757 25 1],[364.446 20 1],[367.926 10 1],[372.566 15 1],[379.722 20 1],[380.092 10 1],[390.567 10 1],[391.854 10 1],[393.149 15 1],[394.798 10 1],[396.922 20 1],[397.594 12.5 1],[398.177 10 1],[400.652 25 1],[401.169 10 1],[402.973 15 1],[404.717 20 1],[404.888 15 1],[407.348 7.5 1],[410.104 15 1],[412.732 35 1],[416.355 15 1],[416.977 50 1],[417.929 15 1],[421.131 12.5 1],[422.573 40 1],[424.647 15 1],[425.115 10 1],[426.111 50 1],[426.436 15 1],[427.343 30 1],[428.585 40 1],[432.09 20 1],[436.128 15 1],[436.4 75 1],[437.712 15 1],[438.51 37.5 1],[439.6 30 1],[447.863 85 1],[453.707 40 1],[455.778 50 1],[463.062 35 1],[464.112 50 1],[465.437 90 1],[468.691 100 1],[469.638 50 1],[470.653 50 1],[476.605 50 1],[477.156 35 1],[478.487 50 1],[482.714 50 1],[483.128 75 1],[484.29 75 1],[486.512 65 1],[486.624 100 1],[488.522 40 1],[490.444 40 1],[496.188 30 1],[500.082 30 1],[508.3 4 0],[514.87 3.5 0],[544.984 25 1],[548.795 25 1],[557.635 75 1],[564.926 75 1],[566.62 50 1],[570.812 100 1],[573.35 3.5 0],[575.585 75 1],[578.91 4 0],[593.615 25 1],[597.468 50 1],[627.35 4 0],[634.97 4 0],[636.713 25 1],[640.59 4 0],[645.67 3.5 0],[661.34 4 0],[664.858 5 1],[666.02 4 0],[669 4 0],[679 5 0],[683.76 10 0],[685.47 10 0],[701.606 5 1],[703.913 5 1],[719.11 7.5 0],[723.662 5 1],[726.35 10 0],[728.09 4 0],[728.926 5 1],[744.539 5 1],[746.098 6 1],[746.875 7.5 1],[748.126 5 1],[755.68 5 0],[768.861 3 1],[775.91 7.5 0],[781.879 4 1],[786.161 4 1],[792.169 7.5 1],[794.314 7.5 1],[795.034 5 1],[797.29 10 0],[805.615 3 1],[806.14 15 0],[808.25 5 0],[812.244 5 1],[813.039 4 1],[815.447 4 1],[818.644 10 1],[819.094 3 1],[825.15 5 0],[827.353 7.5 1],[827.66 5 0],[829.11 5 0],[835.58 7.5 0],[837.212 5 1],[846.98 3.5 0],[849.22 4 0],[850.08 4 0],[852.14 6 0],[853.568 5 1],[857.578 6 1],[860.463 5 1],[862.168 4 1],[863.21 3.5 0],[867.295 7.5 1],[870.109 6 0],[873.381 5 1],[875.818 102.5 0],[883.152 6 0],[885.115 9 0],[889.792 3 1],[900.437 40.5 0],[904.339 9 0],[919.68 6 0],[920.678 7.5 0],[920.764 8.5 0],[946.9 6 0],[972.274 2830 0],[978.554 92.5 0],[984.23 54.5 0],[986.892 266 0],[990.261 59 0],[995.63 344.5 0],[995.993 18.5 0],[997.713 162.5 0],[997.931 68 0],[998.585 22.5 0],[1005.141 2975 0],[1009.101 2048.5 0],[1009.957 52 0],[1010.605 139.5 0],[1011.808 190.5 0],[1015.106 148 0],[1030.056 198.5 0],[1032.305 102.5 0],[1049.357 372.5 0],[1050.986 98.5 0],[1091.834 940 0],[1100.78 149 0],[1108.956 5100 0],[1116.374 254 0],[1148.723 3310 0],[1197.896 140 0],[1256.624 94 0],[1258.919 194.5 0],[1280.55 80.5 0],[1310.418 200 0],[1324.775 790 0],[1331.663 241.5 0],[1403.709 108.5 0],[1407.253 72 0],[1433.574 217 0],[1441.746 110 0],[1451.351 525 0],[1455.468 64.5 0],[1545.245 740 0],[1554.623 1215 0],[1640.39 1880 0],[1730.3539 980 0],[1829.159 1390 0],[1877.7301 197 0],[1962.352 134.5 0],[2014.7539 119.5 0],[2104.373 510 0],[2160.25 232 0],[2179.9641 18.5 0],[2255.5289 37 0],[2275.566 24 0],[2329.4939 13.5 0],[2397.8699 8.5 0],[2405.9039 12.5 0],[2642.8619 6.5 0],[2653.917 19 0],[2655.374 7.5 0],[2717.926 3.5 0]}{ALLx13000x13000x100x0x0x0x0}{UVx13000x13000x75x0x0x0x0}{VISx100x10x100x0x0x0x0}{IVx5100x5100x10x0x0x0x0}%
-\pgfspectra@elt@search{#1}{I}{[36.378 3 4],[38.074 3.6 4],[56.553 4.5 4],[60.186 0.5 3],[60.757 5 4],[61.246 0.6 3],[61.517 0.4 3],[65.422 0.4 3],[65.456 0.4 3],[65.58 0.2 1],[65.9 0.6 1],[66.398 0.8 1],[66.452 0.8 1],[66.506 0.8 1],[66.57 15 1],[66.681 0.6 2],[70.511 0.8 2],[71.955 100 1],[72.298 100 1],[78.464 0.7 2],[78.48 0.7 2],[79.552 0.8 2],[79.816 100 1],[83.41 120 1],[84.78 60 1],[86.597 0.5 2],[87.349 150 1],[87.594 100 1],[87.984 200 1],[88.188 150 1],[89.1 100 1],[89.317 100 1],[91.928 0.7 3],[92.038 0.5 2],[96.117 0.6 2],[100.057 120 1],[100.335 100 1],[101.858 400 1],[103.466 1000 1],[105.474 150 1],[106.634 200 1],[107.521 300 1],[107.858 0.6 2],[109.42 0.8 2],[110.5 500 1],[111.116 250 1],[111.722 150 1],[112.525 350 1],[113.15 200 1],[113.975 120 1],[113.98 1000 1],[115.467 150 1],[115.987 100 1],[116.056 1000 1],[116.648 2000 1],[116.705 150 1],[117.584 500 1],[117.865 1000 1],[118.734 1500 1],[119.085 1000 1],[119.529 1.5 0],[119.888 500 1],[120.022 700 1],[121.841 20 0],[122.089 2000 1],[122.405 60 0],[122.408 60 0],[122.889 50 0],[123.406 2000 1],[124.466 0.4 2],[125.134 60 0],[125.235 0.8 2],[125.915 250 0],[125.951 300 0],[126.127 80 0],[126.757 60 0],[126.76 60 0],[127.526 150 0],[128.94 300 0],[130.034 1000 0],[130.298 300 0],[130.693 0.5 2],[131.395 300 0],[131.754 300 0],[133.019 200 0],[133.652 2000 1],[135.51 500 0],[135.797 300 0],[136.097 500 0],[136.111 300 0],[136.771 250 0],[136.822 250 0],[138.323 400 0],[139.075 300 0],[139.29 200 0],[140.001 200 0],[142.549 800 0],[144.626 500 0],[145.318 500 0],[145.739 500 0],[145.747 500 0],[145.798 1000 0],[145.879 250 0],[145.915 400 0],[146.583 250 0],[148.592 100 0],[149.289 500 0],[150.704 500 0],[151.468 500 0],[151.805 1500 0],[152.645 250 0],[159.358 500 0],[161.76 500 0],[164.078 250 0],[170.207 1500 0],[178.276 1200 0],[179.909 500 0],[183.038 7500 0],[184.445 1500 0],[206.163 200 0],[222.443 0.1 2],[223.812 0.1 2],[224.93 0.5 3],[224.931 0.3 2],[230.938 0.2 2],[234.084 0.4 3],[234.085 0.3 2],[235.043 0.3 2],[235.346 0.2 2],[236.113 0.7 3],[236.774 0.4 2],[236.775 0.5 3],[237.145 0.2 2],[237.245 0.3 2],[237.245 0.6 3],[237.646 0.7 3],[237.647 0.4 2],[238.528 0.4 3],[238.711 0.8 3],[238.712 0.4 2],[239.2 0.6 3],[239.201 0.3 2],[240.305 0.4 3],[240.306 0.2 2],[240.363 0.2 2],[240.801 10 1],[241.485 0.2 2],[241.845 0.2 3],[241.849 0.2 2],[241.885 0.2 2],[241.918 10 1],[242.389 0.3 3],[242.391 0.2 2],[242.61 0.9 3],[242.612 0.5 2],[243.485 0.6 3],[243.488 0.3 2],[246.25 0.2 2],[246.668 0.3 3],[246.669 0.3 2],[246.696 0.3 3],[246.699 0.3 2],[247.535 0.8 3],[247.536 0.6 2],[248.551 0.4 3],[248.924 0.5 3],[248.927 0.4 2],[249.32 0.4 3],[249.321 0.2 2],[249.427 0.2 2],[249.474 10 1],[249.516 0.3 2],[249.607 0.2 2],[250.138 0.2 3],[250.141 0.3 2],[251.374 0.3 3],[251.682 0.2 2],[251.974 0.8 3],[251.975 0.6 2],[252.172 0.4 2],[252.172 0.6 3],[253.198 0.4 3],[253.199 0.3 2],[253.36 10 1],[253.427 20 1],[253.754 0.5 3],[253.756 0.2 2],[254.567 0.8 3],[254.571 0.7 2],[256.624 100 1],[258.279 200 1],[259.346 30 1],[264.077 0.4 2],[264.077 0.4 3],[264.211 0.4 2],[264.211 0.5 3],[265.223 0.8 3],[265.225 0.6 2],[268.898 20 1],[273.012 50 1],[276.515 2 1],[280.859 20 1],[281.845 0.3 3],[281.848 0.2 2],[283.944 0.2 2],[286.467 0.4 2],[286.468 0.6 3],[287.863 150 1],[288.515 0.4 2],[291.097 0.4 3],[291.098 0.3 2],[291.733 0.5 3],[291.735 0.3 2],[293.111 0.2 2],[299.387 100 1],[300.568 0.2 2],[306.917 0.4 3],[306.923 0.3 2],[307.875 500 1],[315.388 0.3 2],[316.103 20 1],[317.011 0.4 3],[317.014 0.3 2],[317.507 100 1],[318.164 0.4 3],[318.166 0.3 2],[321.012 0.4 3],[321.014 0.3 2],[321.348 0.6 3],[321.349 0.4 2],[322.49 0.6 3],[322.493 0.4 2],[330.047 0.2 2],[335.553 30 1],[342.499 25 1],[347.953 0.2 2],[349.741 30 1],[352.69 50 1],[354.69 0.4 3],[354.692 0.3 2],[361.381 0.3 2],[374.214 20 1],[375.44 0.2 2],[375.455 0.2 2],[396.316 0.3 2],[407.714 0.3 2],[410.223 20 0],[412.921 20 0],[413.415 10 0],[432.184 50 0],[445.286 30 1],[459.977 20 1],[463.245 30 1],[466.648 50 1],[467.553 100 1],[476.331 25 0],[486.232 100 0],[491.694 20 0],[498.692 100 1],[506.537 40 1],[511.929 1000 0],[514.973 20 1],[516.12 300 1],[517.619 30 1],[521.627 60 1],[522.897 50 1],[523.457 100 0],[524.571 300 1],[526.936 50 1],[529.978 40 1],[532.28 40 1],[533.822 1000 1],[534.515 500 1],[536.986 100 1],[540.542 80 1],[540.736 80 1],[542.706 60 0],[543.583 300 1],[543.8 100 1],[546.462 200 1],[549.15 80 1],[549.694 100 1],[550.472 100 1],[552.206 60 1],[559.852 60 1],[560.032 100 1],[561.289 150 1],[562.569 1000 1],[567.808 100 1],[569.091 200 1],[570.205 50 1],[571.053 400 1],[573.827 100 1],[576.072 100 1],[576.433 100 0],[577.483 50 1],[578.702 50 1],[589.403 200 0],[595.025 500 1],[598.486 30 0],[602.408 200 0],[606.893 50 1],[607.498 200 1],[608.243 100 0],[612.749 200 1],[619.188 80 0],[620.486 100 1],[621.31 50 0],[624.448 80 0],[625.749 90 1],[629.398 100 0],[631.313 50 0],[633.037 80 0],[633.35 40 0],[633.785 200 0],[633.944 100 0],[635.916 50 0],[656.649 100 0],[658.375 200 0],[658.527 100 0],[661.966 500 0],[666.111 50 0],[666.596 60 1],[669.729 50 0],[671.883 30 1],[673.203 40 0],[681.257 400 1],[695.878 100 1],[698.978 50 0],[708.521 20 1],[712.005 50 0],[712.205 120 0],[714.206 200 0],[716.479 100 0],[719.166 40 0],[722.73 70 0],[723.678 100 0],[723.784 50 0],[735.135 50 1],[740.206 500 0],[741.05 100 0],[741.648 50 0],[746.899 500 0],[749.052 50 0],[755.418 200 0],[755.665 50 0],[770.02 200 0],[779.898 50 1],[789.798 60 0],[796.948 50 0],[800.363 100 0],[804.374 9900 0],[806.57 30 0],[809.076 100 0],[816.938 80 0],[822.257 50 0],[824.005 400 0],[839.33 1000 0],[841.46 15 1],[848.611 100 0],[866.495 150 0],[870.08 50 0],[874.822 25 0],[885.324 100 0],[885.38 200 0],[885.75 300 0],[889.85 100 0],[896.469 40 0],[899.313 40 0],[902.24 500 0],[905.833 1500 0],[909.886 100 0],[911.391 1200 0],[912.803 60 0],[919.53 3 1],[922.774 60 0],[933.505 100 0],[942.671 400 0],[942.715 300 0],[948.033 1 1],[959.822 200 0],[964.961 200 0],[965.306 300 0],[973.173 500 0],[1000.305 50 0],[1013.116 75 0],[1023.882 100 0],[1037.52 40 0],[1039.174 40 0],[1040.549 0.6 1],[1046.654 500 0],[1108.468 0.1 1],[1123.656 40 0],[1155.846 35 0],[1177.834 32 0],[1199.686 45 0],[1203.369 30 0],[1230.458 15 0],[1314.916 6 0],[1395.827 14 0],[1428.702 20 0],[1446 10 0],[1503.257 22.5 0],[1552.865 10.5 0],[1603.733 15 0],[1827.5711 1.5 0],[1834.852 2 0],[1898.241 1.5 0],[1907.017 3.5 0],[1910.5119 11 0],[1937.002 5 0],[2064.8689 1 0],[2218.3029 22 0],[2222.6529 15 0],[2230.9211 3 0],[2442.082 3.2 0],[2736.542 1.2 0],[2757.3051 0.9 0],[3036.193 1 0],[3038.3881 0.8 0],[3429.573 1 0],[3451.3109 0.9 0],[4022.8539 0.3 0],[4163.3801 0.2 0]}{ALLx9900x9900x2000x0.8x0.9x5x0}{UVx7500x7500x2000x0.8x0.9x5x0}{VISx1000x1000x1000x0.3x0x0x0}{IVx9900x9900x15x0x0x0x0}%
+\pgfspectra@elt@search{#1}{I}{[36.378 3 4],[38.074 3.6 4],[56.553 4.5 4],[60.186 0.5 3],[60.757 5 4],[61.246 0.6 3],[61.517 0.4 3],[65.422 0.4 3],[65.456 0.4 3],[65.58 0.2 1],[65.9 0.6 1],[66.398 0.8 1],[66.452 0.8 1],[66.506 0.8 1],[66.57 15 1],[66.681 0.6 2],[70.511 0.8 2],[71.955 100 1],[72.298 100 1],[78.464 0.7 2],[78.48 0.7 2],[79.552 0.8 2],[79.816 100 1],[83.41 120 1],[84.78 60 1],[86.597 0.5 2],[87.349 150 1],[87.594 100 1],[87.984 200 1],[88.188 150 1],[89.1 100 1],[89.317 100 1],[91.928 0.7 3],[92.038 0.5 2],[96.117 0.6 2],[100.057 120 1],[100.335 100 1],[101.858 400 1],[103.466 1000 1],[105.474 150 1],[106.634 200 1],[107.521 300 1],[107.858 0.6 2],[109.42 0.8 2],[110.5 500 1],[111.116 250 1],[111.722 150 1],[112.525 350 1],[113.15 200 1],[113.975 120 1],[113.98 1000 1],[115.467 150 1],[115.987 100 1],[116.056 1000 1],[116.648 2000 1],[116.705 150 1],[117.584 500 1],[117.865 1000 1],[118.734 1500 1],[119.085 1000 1],[119.529 1.5 0],[119.888 500 1],[120.022 700 1],[121.841 20 0],[122.089 2000 1],[122.405 60 0],[122.408 60 0],[122.889 50 0],[123.406 2000 1],[124.466 0.4 2],[125.134 60 0],[125.235 0.8 2],[125.915 250 0],[125.951 300 0],[126.127 80 0],[126.757 60 0],[126.76 60 0],[127.526 150 0],[128.94 300 0],[130.034 1000 0],[130.298 300 0],[130.693 0.5 2],[131.395 300 0],[131.754 300 0],[133.019 200 0],[133.652 2000 1],[135.51 500 0],[135.797 300 0],[136.097 500 0],[136.111 300 0],[136.771 250 0],[136.822 250 0],[138.323 400 0],[139.075 300 0],[139.29 200 0],[140.001 200 0],[142.549 800 0],[144.626 500 0],[145.318 500 0],[145.739 500 0],[145.747 500 0],[145.798 1000 0],[145.879 250 0],[145.915 400 0],[146.583 250 0],[148.592 100 0],[149.289 500 0],[150.704 500 0],[151.468 500 0],[151.805 1500 0],[152.645 250 0],[159.358 500 0],[161.76 500 0],[164.078 250 0],[170.207 1500 0],[178.276 1200 0],[179.909 500 0],[183.038 7500 0],[184.445 1500 0],[206.163 200 0],[222.443 0.1 2],[223.812 0.1 2],[224.93 0.5 3],[224.931 0.3 2],[230.938 0.2 2],[234.084 0.4 3],[234.085 0.3 2],[235.043 0.3 2],[235.346 0.2 2],[236.113 0.7 3],[236.774 0.4 2],[236.775 0.5 3],[237.145 0.2 2],[237.245 0.3 2],[237.245 0.6 3],[237.646 0.7 3],[237.647 0.4 2],[238.528 0.4 3],[238.711 0.8 3],[238.712 0.4 2],[239.2 0.6 3],[239.201 0.3 2],[240.305 0.4 3],[240.306 0.2 2],[240.363 0.2 2],[240.801 10 1],[241.485 0.2 2],[241.845 0.2 3],[241.849 0.2 2],[241.885 0.2 2],[241.918 10 1],[242.389 0.3 3],[242.391 0.2 2],[242.61 0.9 3],[242.612 0.5 2],[243.485 0.6 3],[243.488 0.3 2],[246.25 0.2 2],[246.668 0.3 3],[246.669 0.3 2],[246.696 0.3 3],[246.699 0.3 2],[247.535 0.8 3],[247.536 0.6 2],[248.551 0.4 3],[248.924 0.5 3],[248.927 0.4 2],[249.32 0.4 3],[249.321 0.2 2],[249.427 0.2 2],[249.474 10 1],[249.516 0.3 2],[249.607 0.2 2],[250.138 0.2 3],[250.141 0.3 2],[251.374 0.3 3],[251.682 0.2 2],[251.974 0.8 3],[251.975 0.6 2],[252.172 0.4 2],[252.172 0.6 3],[253.198 0.4 3],[253.199 0.3 2],[253.36 10 1],[253.427 20 1],[253.754 0.5 3],[253.756 0.2 2],[254.567 0.8 3],[254.571 0.7 2],[256.624 100 1],[258.279 200 1],[259.346 30 1],[264.077 0.4 2],[264.077 0.4 3],[264.211 0.4 2],[264.211 0.5 3],[265.223 0.8 3],[265.225 0.6 2],[268.898 20 1],[273.012 50 1],[276.515 2 1],[280.859 20 1],[281.845 0.3 3],[281.848 0.2 2],[283.944 0.2 2],[286.467 0.4 2],[286.468 0.6 3],[287.863 150 1],[288.515 0.4 2],[291.097 0.4 3],[291.098 0.3 2],[291.733 0.5 3],[291.735 0.3 2],[293.111 0.2 2],[299.387 100 1],[300.568 0.2 2],[306.917 0.4 3],[306.923 0.3 2],[307.875 500 1],[315.388 0.3 2],[316.103 20 1],[317.011 0.4 3],[317.014 0.3 2],[317.507 100 1],[318.164 0.4 3],[318.166 0.3 2],[321.012 0.4 3],[321.014 0.3 2],[321.348 0.6 3],[321.349 0.4 2],[322.49 0.6 3],[322.493 0.4 2],[330.047 0.2 2],[335.553 30 1],[342.499 25 1],[347.953 0.2 2],[349.741 30 1],[352.69 50 1],[354.69 0.4 3],[354.692 0.3 2],[361.381 0.3 2],[374.214 20 1],[375.44 0.2 2],[375.455 0.2 2],[396.316 0.3 2],[407.714 0.3 2],[410.223 20 0],[412.921 20 0],[413.415 10 0],[432.184 50 0],[445.286 30 1],[459.977 20 1],[463.245 30 1],[466.648 50 1],[467.553 100 1],[476.331 25 0],[486.232 100 0],[491.694 20 0],[498.692 100 1],[506.537 40 1],[511.929 1000 0],[514.973 20 1],[516.12 300 1],[517.619 30 1],[521.627 60 1],[522.897 50 1],[523.457 100 0],[524.571 300 1],[526.936 50 1],[529.978 40 1],[532.28 40 1],[533.822 1000 1],[534.515 500 1],[536.986 100 1],[540.542 80 1],[540.736 80 1],[542.706 60 0],[543.583 300 1],[543.8 100 1],[546.462 200 1],[549.15 80 1],[549.694 100 1],[550.472 100 1],[552.206 60 1],[559.852 60 1],[560.032 100 1],[561.289 150 1],[562.569 1000 1],[567.808 100 1],[569.091 200 1],[570.205 50 1],[571.053 400 1],[573.827 100 1],[576.072 100 1],[576.433 100 0],[577.483 50 1],[578.702 50 1],[589.403 200 0],[595.025 500 1],[598.486 30 0],[602.408 200 0],[606.893 50 1],[607.498 200 1],[608.243 100 0],[612.749 200 1],[619.188 80 0],[620.486 100 1],[621.31 50 0],[624.448 80 0],[625.749 90 1],[629.398 100 0],[631.313 50 0],[633.037 80 0],[633.35 40 0],[633.785 200 0],[633.944 100 0],[635.916 50 0],[656.649 100 0],[658.375 200 0],[658.527 100 0],[661.966 500 0],[666.111 50 0],[666.596 60 1],[669.729 50 0],[671.883 30 1],[673.203 40 0],[681.257 400 1],[695.878 100 1],[698.978 50 0],[708.521 20 1],[712.005 50 0],[712.205 120 0],[714.206 200 0],[716.479 100 0],[719.166 40 0],[722.73 70 0],[723.678 100 0],[723.784 50 0],[735.135 50 1],[740.206 500 0],[741.05 100 0],[741.648 50 0],[746.899 500 0],[749.052 50 0],[755.418 200 0],[755.665 50 0],[770.02 200 0],[779.898 50 1],[789.798 60 0],[796.948 50 0],[800.363 100 0],[804.374 9900 0],[806.57 30 0],[809.076 100 0],[816.938 80 0],[822.257 50 0],[824.005 400 0],[839.33 1000 0],[841.46 15 1],[848.611 100 0],[866.495 150 0],[870.08 50 0],[874.822 25 0],[885.324 100 0],[885.38 200 0],[885.75 300 0],[889.85 100 0],[896.469 40 0],[899.313 40 0],[902.24 500 0],[905.833 1500 0],[909.886 100 0],[911.391 1200 0],[912.803 60 0],[919.53 3 1],[922.774 60 0],[933.505 100 0],[942.671 400 0],[942.715 300 0],[948.033 1 1],[959.822 200 0],[964.961 200 0],[965.306 300 0],[973.173 500 0],[1000.305 50 0],[1013.116 75 0],[1023.882 100 0],[1037.52 40 0],[1039.174 40 0],[1040.549 0.6 1],[1046.654 500 0],[1108.468 0.1 1],[1123.656 40 0],[1155.846 35 0],[1177.834 32 0],[1199.686 45 0],[1203.369 30 0],[1230.458 15 0],[1314.916 6 0],[1395.827 14 0],[1428.702 20 0],[1446 10 0],[1503.257 22.5 0],[1552.865 10.5 0],[1603.733 15 0],[1827.5711 1.5 0],[1834.852 2 0],[1898.241 1.5 0],[1907.017 3.5 0],[1910.5119 11 0],[1937.002 5 0],[2064.8689 1 0],[2218.3029 22 0],[2222.6529 15 0],[2230.9211 3 0],[2442.082 3.2 0],[2736.542 1.2 0],[2757.3051 0.9 0],[3036.193 1 0],[3038.3881 0.8 0],[3429.573 1 0],[3451.3109 0.9 0]}{ALLx9900x9900x2000x0.8x0.9x5x0}{UVx7500x7500x2000x0.8x0.9x5x0}{VISx1000x1000x1000x0.3x0x0x0}{IVx9900x9900x15x0x0x0x0}%,[4022.8539 0.3 0],[4163.3801 0.2 0]
\pgfspectra@elt@search{#1}{Xe}{[65.78 8 2],[66.01 8 2],[67.38 9 2],[67.4 9 2],[67.66 9 2],[69.4 10 2],[69.85 20 2],[70.51 12 2],[72.12 10 2],[73.1 15 2],[73.33 10 2],[74.041 350 1],[74.26 15 2],[75.6 10 2],[76.15 10 2],[76.91 10 2],[77.91 25 2],[79.29 15 2],[79.61 12 2],[80.2 15 2],[80.307 350 1],[82.32 25 2],[82.49 30 2],[85.3 25 2],[88.08 600 1],[88.554 350 1],[88.93 15 2],[89.4 20 2],[89.6 20 2],[92.587 600 1],[93.54 250 1],[96.55 10 2],[97.277 800 1],[97.668 700 1],[100.34 35 2],[101.77 35 2],[103.244 500 1],[103.768 700 1],[104.131 1100 1],[104.78 10 2],[104.827 1000 1],[105.192 1200 1],[106.64 12 2],[107.448 2000 1],[108.386 600 1],[110.043 1200 1],[113.03 30 2],[115.847 600 1],[116.963 250 1],[118.305 800 1],[119.204 250 0],[123.21 25 2],[124.476 600 1],[125.02 250 0],[129.559 1000 0],[146.961 600 0],[266.898 80 2],[271.733 100 2],[281.445 30 2],[281.591 40 2],[282.745 30 2],[284.765 40 2],[286.24 30 2],[286.473 200 1],[287.11 80 2],[287.124 60 2],[287.17 30 2],[289.522 150 1],[289.662 30 2],[290.66 50 2],[291.189 40 2],[291.236 80 2],[294.02 40 2],[294.52 60 2],[294.75 40 2],[294.81 40 2],[297.047 80 2],[297.932 400 1],[299.287 40 2],[300.425 30 2],[301.743 100 1],[302.381 100 2],[308.35 40 2],[309.11 50 2],[310.646 30 2],[312.887 300 1],[313.83 100 2],[315.082 80 2],[318.52 40 2],[324.286 100 2],[326.898 80 2],[328.782 30 2],[330.155 80 2],[333.16 40 2],[335.8 30 2],[336.672 200 1],[338.412 80 2],[340.007 2 0],[341.837 2 0],[342 2 0],[344.266 3 0],[344.42 60 2],[345.42 70 2],[345.87 100 2],[346.126 100 1],[346.822 40 2],[346.981 4 0],[347.236 4 0],[350.674 5 0],[352.283 80 2],[354.23 50 2],[354.986 10 0],[355.21 50 2],[355.404 10 0],[356.14 40 2],[357.97 100 2],[358.36 80 2],[359.54 100 2],[360.606 100 2],[360.7 40 2],[361.032 15 0],[361.306 8 0],[361.59 100 2],[362.31 40 2],[362.408 600 2],[363.306 6 0],[366.991 10 0],[367.667 50 2],[368.59 40 0],[369.349 40 0],[377.63 40 2],[378.102 300 2],[384.15 100 2],[387.78 200 2],[388.05 60 2],[390.791 100 1],[392.255 500 2],[395.059 300 2],[403.759 100 1],[405.007 200 2],[405.746 200 1],[406.04 60 2],[409.889 100 1],[410.91 100 2],[414.57 100 2],[415.804 200 1],[418.01 1000 1],[419.315 500 1],[420.848 300 1],[420.947 100 1],[421.372 300 1],[421.56 100 1],[422.3 300 1],[423.825 400 1],[424.538 500 1],[425.157 100 1],[428.59 30 2],[429.64 500 1],[431.051 500 1],[433.052 1000 1],[436.92 200 1],[437.378 100 1],[439.32 500 1],[439.577 500 1],[440.688 200 1],[441.607 150 1],[443.42 50 2],[444.813 500 1],[446.21 100 2],[446.219 1000 1],[448.086 500 1],[452.186 100 1],[456.91 100 2],[457.01 100 2],[464.14 100 2],[467.37 30 2],[468.357 60 2],[472.36 30 2],[473.4152 600 0],[475.73 100 2],[479.2619 150 0],[480.702 500 0],[482.971 400 0],[484.329 300 0],[486.95 40 2],[491.651 500 0],[492.3152 500 0],[497.171 200 1],[497.271 400 1],[498.877 300 1],[499.117 100 1],[502.828 200 0],[504.492 200 1],[508.062 1000 1],[512.242 300 1],[512.57 100 1],[517.882 100 1],[518.804 300 1],[519.137 400 1],[519.21 100 1],[523.9 60 2],[526.044 500 1],[526.195 500 1],[529.222 2000 1],[530.927 300 1],[531.387 1000 1],[533.933 2000 1],[536.32 200 1],[536.71 30 2],[536.807 200 1],[537.239 500 1],[539.28 100 0],[540.1 50 2],[541.915 3000 1],[543.896 800 1],[544.545 300 1],[545.045 200 1],[546.039 400 1],[547.261 1000 1],[549.486 100 1],[552.44 40 2],[552.553 200 1],[553.107 600 1],[556.662 100 0],[561.667 300 1],[565.938 300 1],[566.756 600 1],[567.091 150 1],[569.575 100 0],[569.961 200 1],[571.61 200 1],[572.691 500 1],[575.103 500 1],[575.865 300 1],[577.639 300 1],[581.596 100 1],[582.389 300 0],[582.48 150 0],[587.502 100 0],[589.329 300 1],[589.499 100 0],[590.513 200 1],[593.417 100 0],[594.553 500 1],[597.113 300 1],[597.646 2000 1],[600.892 200 1],[603.62 1000 1],[605.115 2000 1],[609.35 600 1],[609.759 1500 1],[610.143 400 1],[611.508 100 1],[614.645 100 1],[617.83 150 0],[617.966 120 0],[618.242 300 0],[619.407 500 1],[619.826 100 0],[620.597 60 2],[622.002 100 1],[622.17 25 2],[623.82 60 2],[625.905 60 2],[627.082 500 1],[627.754 400 1],[628.441 100 1],[628.601 100 0],[630.086 250 1],[631.806 500 0],[634.396 400 1],[635.635 600 1],[637.528 200 1],[639.799 100 1],[646.97 300 0],[647.284 150 0],[648.776 120 0],[649.872 100 0],[650.418 200 0],[651.283 300 1],[652.865 200 1],[653.316 100 0],[659.501 1000 1],[659.556 100 0],[659.725 400 1],[659.884 100 1],[666.892 150 0],[669.432 300 1],[672.801 200 0],[678.871 150 1],[679.037 100 1],[680.574 1000 1],[682.732 200 0],[687.211 100 0],[688.216 300 0],[691.022 80 1],[692.553 100 0],[694.211 800 1],[697.618 100 0],[699.088 2000 1],[708.215 150 1],[711.96 500 0],[714.75 50 1],[714.903 200 1],[716.483 500 1],[728.434 100 1],[730.18 200 1],[733.93 200 1],[738.6 100 0],[739.379 150 0],[754.845 300 1],[758.468 200 0],[761.857 80 1],[764.202 500 0],[764.391 100 0],[767.066 200 1],[778.704 60 1],[780.265 100 0],[788.132 100 0],[788.74 300 0],[796.734 500 0],[802.967 100 0],[805.726 200 0],[806.134 150 0],[810.198 100 0],[815.18 150 1],[817.102 100 0],[820.634 700 0],[823.1635 10000 0],[826.652 500 0],[828.0116 7000 0],[834.682 2000 0],[834.724 100 1],[840.919 2000 0],[851.519 50 1],[857.601 200 0],[860.423 50 1],[864.854 250 0],[869.22 100 0],[869.686 200 0],[871.619 50 1],[873.939 300 0],[875.82 100 0],[881.941 5000 0],[886.232 300 0],[890.873 200 0],[893.083 200 0],[895.225 1000 0],[898.105 100 0],[898.757 200 0],[904.545 400 0],[916.265 500 0],[916.752 100 0],[937.476 100 0],[951.338 200 0],[959.135 50 1],[968.532 150 0],[969.868 50 1],[971.816 100 0],[979.97 2000 0],[992.319 3000 0],[1083.837 100 0],[1174.201 90 0],[1223.524 375 0],[1225.776 100 0],[1259.02 300 0],[1262.3391 2500 0],[1354.415 250 0],[1365.7055 2000 0],[1414.2444 1250 0],[1424.096 800 0],[1436.499 375 0],[1466.081 140 0],[1473.2806 3000 0],[1509.972 100 0],[1541.8394 2500 0],[1555.713 150 0],[1597.954 250 0],[1603.99 100 0],[1605.328 1000 0],[1655.449 125 0],[1672.815 1500 0],[1732.577 1500 0],[1878.8131 350 0],[2018.7189 150 0],[2026.2242 3000 0],[2147.009 250 0],[2319.333 1250 0],[2327.9539 110 0],[2482.4711 1800 0],[2514.584 175 0],[2626.908 2000 0],[2651.0859 2500 0],[2838.1539 250 0],[2858.225 750 0],[2938.441 300 0],[2944.8061 150 0],[2964.958 100 0],[2981.3619 100 0],[3025.3141 600 0],[3047.5461 1500 0],[3050.4119 100 0],[3079.418 500 0],[3106.923 6000 0],[3133.601 125 0],[3160.791 550 0],[3229.308 100 0],[3273.926 1800 0],[3366.6691 3500 0],[3401.4672 150 0],[3433.527 450 0],[3474.4 170 0],[3507.025 5000 0],[3524.6922 110 0],[3620.9211 250 0],[3623.1738 150 0],[3650.8359 450 0],[3678.8828 850 0],[3868.598 140 0],[3873.782 175 0],[3893.9602 270 0],[3995.5141 120 0]}{ALLx10000x10000x3000x600x0x0x0}{UVx2000x1000x2000x600x0x0x0}{VISx3000x600x3000x500x0x0x0}{IVx10000x10000x150x0x0x0x0}%
\pgfspectra@elt@search{#1}{Cs}{[55.691 15 2],[58.415 50 2],[58.44 10 2],[59.1044 5 1],[60.301 240 2],[60.7291 1 1],[60.785 120 2],[60.794 160 2],[61.2786 0.8 1],[61.401 2000 2],[62.115 300 2],[63.586 120 2],[63.767 60 2],[63.817 400 2],[63.9356 40 1],[65.7112 2 1],[65.794 5 2],[66.382 90 2],[66.46 90 2],[66.625 500 2],[66.8386 10 1],[67.306 360 2],[67.96 80 2],[68.755 160 2],[69.16 1000 2],[69.943 160 2],[70.34 30 3],[70.389 700 2],[71.025 200 2],[71.8138 300 1],[72.179 4000 2],[72.22 4000 2],[73.156 1000 2],[73.195 60 2],[73.666 200 2],[74.029 2400 2],[74.223 30 2],[74.994 200 2],[75.038 300 2],[75.518 300 2],[75.882 240 2],[75.99 1.2 2],[77.361 1.4 3],[78.773 60 2],[80.195 15 2],[80.8761 300 1],[81.3837 300 1],[81.402 40 2],[81.735 3 2],[82.034 160 2],[82.364 0.8 3],[82.48 30 3],[82.599 40 2],[83.039 1500 2],[83.739 20 2],[84.337 0.8 2],[84.792 50 2],[86.183 3 3],[87.484 40 3],[89.692 30 3],[90.127 700 1],[92.035 3000 2],[92.166 100 2],[92.302 20 3],[92.6657 800 1],[93.267 5 2],[98.614 40 3],[99.514 10 3],[105.479 5000 2],[106.891 30 3],[117.865 26 1],[119.155 16 1],[202.505 5 1],[203.515 12 1],[207.743 16 1],[208.005 16 1],[208.871 16 1],[209.197 16 1],[209.95 3 1],[211.265 5 1],[214.675 20 1],[217.96 26 1],[218.214 5 1],[218.947 26 1],[221.315 5 1],[222.051 20 1],[222.888 26 1],[225.458 50 1],[225.782 40 1],[225.835 5 1],[226.761 70 1],[227.383 70 1],[228.668 5 1],[230.771 5 1],[231.568 8 1],[232.107 26 1],[234.313 16 1],[235.444 26 1],[235.785 5 1],[236.481 26 1],[239.286 50 1],[241.489 16 1],[243.271 5 1],[244.324 5 1],[247.607 26 1],[248.041 8 1],[251.572 26 1],[252.366 3 1],[253.908 26 1],[253.917 5 1],[255.065 12 1],[255.117 26 1],[256.817 26 1],[256.869 50 1],[257.303 200 1],[257.454 26 1],[257.674 26 1],[259.009 26 1],[260.944 50 1],[261.627 26 1],[262.795 5 1],[263.714 16 1],[264.469 5 1],[264.807 26 1],[265.171 40 1],[266.024 5 1],[266.979 26 1],[267.117 3 1],[267.324 8 1],[268.66 26 1],[268.941 5 1],[270.119 3 1],[272.421 26 1],[273.007 5 1],[273.388 5 1],[274.823 50 1],[274.984 16 1],[275.781 12 1],[276.197 16 1],[276.61 5 1],[277.699 50 1],[278.824 26 1],[278.98 26 1],[279.332 5 1],[279.45 26 1],[279.941 26 1],[281.694 100 1],[282.027 5 1],[282.904 5 1],[282.942 5 1],[284.619 26 1],[285.242 16 1],[286.637 16 1],[288.119 50 1],[288.374 5 1],[289.975 16 1],[291.465 16 1],[293.109 100 1],[294.095 100 1],[294.225 16 1],[294.98 6 1],[296.838 4 1],[297.085 5 1],[300.127 20 1],[301.204 16 1],[302.037 3 1],[306.098 3 1],[306.66 20 1],[308.087 5 1],[309.231 20 1],[318.094 16 1],[326.592 160 1],[326.713 160 1],[327.163 100 1],[332.943 20 1],[336.856 160 1],[355.98 20 1],[356.511 20 1],[365.107 3 1],[368.01 3 1],[368.764 3 1],[369.948 20 1],[373.254 3 1],[373.434 20 1],[375.14 3 1],[378.542 70 1],[380.51 100 1],[387.016 3 1],[387.6143 30 0],[388.8608 16 0],[389.698 200 1],[390.693 70 1],[392.558 100 1],[395.95 70 1],[396.519 100 1],[397.8 30 1],[404.718 70 1],[405.396 40 1],[406.796 100 1],[406.877 100 1],[407.336 14 1],[411.929 12 1],[412.121 100 1],[413.2 20 1],[415.127 70 1],[415.861 70 1],[419.32 12 1],[421.313 100 1],[422.112 40 1],[423.219 100 1],[423.441 70 1],[424.197 20 1],[427.174 20 1],[427.71 400 1],[428.835 200 1],[429.2 40 1],[430.064 100 1],[430.794 10 1],[432.758 10 1],[433.024 70 1],[436.328 400 1],[437.302 100 1],[438.443 80 1],[438.876 20 1],[439.691 40 1],[439.95 70 1],[440.385 70 1],[440.525 200 1],[441.021 70 1],[442.405 20 1],[443.571 70 1],[444.4 20 1],[445.344 40 1],[445.768 40 1],[445.918 40 1],[449.366 20 1],[450.152 200 1],[450.671 40 1],[450.683 20 1],[451.55 20 1],[452.285 30 1],[452.672 200 1],[453.894 160 1],[455.5276 80 0],[456.698 30 1],[457.179 30 1],[459.3169 40 0],[460.376 500 1],[460.999 20 1],[461.613 30 1],[462.309 70 1],[464.651 100 1],[465.654 30 1],[467.028 70 1],[469.561 20 1],[470.179 100 1],[473.298 70 1],[473.966 70 1],[474.913 20 1],[476.362 100 1],[478.636 40 1],[483.016 160 1],[487.002 160 1],[495.284 160 1],[497.259 100 1],[504.38 160 1],[505.27 100 1],[505.987 100 1],[508.177 20 1],[509.66 80 1],[522.7 300 1],[524.937 160 1],[527.404 80 1],[530.661 70 1],[534.916 70 1],[537.097 160 1],[541.969 100 1],[546.5944 1 0],[550.2884 1 0],[556.302 200 1],[563.5212 2.2 0],[566.4018 6 0],[574.5724 1.6 0],[581.418 70 1],[583.116 100 1],[583.8835 1 0],[584.5141 6 0],[592.565 100 1],[601.049 16 0],[603.4089 6 0],[612.862 80 1],[621.31 24 0],[621.7599 3 0],[635.4555 10 0],[641.954 20 1],[643.1969 3 0],[647.2623 3 0],[649.553 40 1],[653.644 40 1],[658.602 6 0],[658.651 40 0],[662.866 7 0],[672.3284 40 0],[682.4652 20 0],[687.0455 20 0],[695.552 80 1],[697.3297 40 0],[698.3491 7 0],[722.8536 40 0],[727.99 12 0],[727.9957 40 0],[760.8903 30 0],[794.3882 60 0],[799.068 12 0],[801.5724 20 0],[805.335 12 0],[807.892 12 0],[807.9033 70 0],[852.1122 200 0],[876.1415 40 0],[894.346 120 0],[917.2322 70 0],[920.8538 20 0],[1002.4359 70 0],[1012.3414 20 0],[1012.3602 80 0],[1358.831 28 0],[1360.257 3 0],[1375.883 3 0],[1469.493 70 0],[1792.3619 2.4 0],[1792.4211 1.8 0],[1916.2529 5 0],[1916.3199 4 0],[2131.1461 10 0],[2131.2289 9 0],[2576.349 20 0],[2576.4699 18 0],[3942.1219 40 0],[3942.4078 36 0]}{ALLx5000x200x800x5000x40x0x0}{UVx5000x0x800x5000x40x0x0}{VISx500x80x500x0x0x0x0}{IVx200x200x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{Ba}{[40.382 1 2],[40.712 0.4 2],[42.012 1.4 2],[42.384 0.8 2],[44.895 1.8 2],[45.696 1.6 2],[55.548 2.8 2],[58.757 2.8 2],[64.727 3.6 2],[65.336 1.8 2],[74.312 3 2],[79.489 8000 3],[92.374 10000 3],[109.741 2.4 2],[111.367 3 2],[111.601 2.2 2],[113.305 2.8 2],[115.176 2.4 2],[117.062 2.4 2],[120.729 2.6 2],[121.892 2.2 2],[122.455 2.4 2],[128.853 2.4 2],[129.918 2.2 2],[130.74 2.2 2],[130.887 2.4 2],[131.572 2.4 2],[133.401 2.4 2],[135.471 2.2 2],[136.953 2.2 2],[141.661 2.2 2],[147.885 2.4 2],[148.672 40 1],[150.401 80 1],[151.068 2.4 2],[151.422 2.4 2],[155.438 60 1],[156.561 2.4 2],[156.612 2.4 2],[157.273 40 1],[157.455 2.4 2],[159.68 2.4 2],[161.095 2.4 2],[161.578 2.4 2],[167.451 20 1],[169.437 80 1],[171.153 2.4 2],[186.174 2.4 2],[188.392 2.4 2],[190.415 20 1],[192.47 100 1],[197.476 2.2 2],[199.954 60 1],[200.13 2 2],[200.84 3 2],[202.245 2.6 2],[202.395 80 1],[203.884 2 2],[207.043 2.4 2],[207.168 2.4 2],[207.6 2 2],[208.135 2.4 2],[213.487 2 2],[215.637 3.2 2],[216.076 2 2],[221.47 100 1],[223.033 4 2],[224.561 160 1],[225.473 200 1],[228.068 6 2],[230.424 280 1],[232.351 7 2],[233.11 12 2],[233.527 400 1],[234.758 38 1],[247.673 5 2],[250.507 5 2],[251.228 8 2],[252.383 8 2],[252.851 12 1],[253.092 5 2],[255.954 10 2],[257.048 5 2],[259.664 1.6 0],[263.478 20 1],[268.189 8 2],[270.263 1.6 0],[274.578 6 2],[277.136 3.6 1],[278.528 3 0],[293.895 5 2],[296.005 5 2],[296.248 6 2],[301.422 4 2],[304.342 6 2],[307.158 20 0],[307.914 8 2],[310.392 6 2],[310.821 2 0],[311.922 6 2],[313.26 1.6 0],[313.572 1.6 0],[313.77 2 0],[315.27 6 2],[315.534 2 0],[315.567 2 0],[315.805 2.4 0],[315.854 2.4 0],[316.56 5 0],[317.369 3 0],[318.316 6 0],[318.396 3 0],[319.391 2 0],[319.517 5 2],[320.37 5 0],[322.163 6 0],[322.219 8 0],[323.504 5 2],[326.196 10 0],[326.234 12 0],[328.15 8 0],[328.165 5 2],[328.177 3 0],[328.679 4 2],[332.28 10 0],[335.68 16 0],[336.818 10 2],[336.968 6 2],[337.708 12 0],[337.739 4 0],[342.032 14 0],[342.101 5 0],[342.148 6 0],[346.374 8 0],[350.111 40 0],[352.497 16 0],[353.135 6 0],[354.466 16 0],[354.768 4 0],[355.245 20 1],[356.773 40 1],[357.628 20 1],[357.762 6 0],[357.967 16 0],[359.657 40 1],[363.064 8 0],[363.683 8 0],[364.918 5 2],[368.847 4 0],[373.575 80 1],[381.669 40 1],[384.28 40 1],[385.476 20 1],[388.933 4 0],[389.178 280 1],[389.265 4 0],[390.991 8 0],[391.473 100 1],[392.685 5 2],[393.572 10 0],[393.787 4 0],[393.967 40 1],[394.951 100 1],[399.306 5 2],[399.34 16 0],[399.566 6 0],[403.626 60 1],[405.371 3.6 2],[408.377 40 1],[408.486 6 0],[413.066 300 1],[413.243 4 0],[416.6 40 1],[421.604 100 1],[426.795 160 1],[428.31 20 0],[428.78 60 1],[429.76 40 1],[430.932 160 1],[432.3 4 0],[432.573 120 1],[432.674 40 1],[432.962 60 1],[435.033 16 0],[440.254 12 0],[440.523 80 1],[443.189 8 0],[448.898 12 0],[449.364 10 0],[450.592 8 0],[450.963 40 1],[452.317 12 0],[452.493 26 1],[455.403 13000 1],[457.385 8 0],[457.964 16 0],[459.975 6 0],[461.992 4 0],[462.833 5 0],[464.41 60 1],[467.362 6 0],[469.162 7 0],[469.744 3 2],[470.043 4 0],[470.894 160 1],[472.644 8 0],[484.346 160 1],[484.714 60 1],[485.084 40 1],[487.765 6 0],[489.997 80 1],[490.29 3 0],[493.409 4000 1],[494.735 1.6 0],[495.715 200 1],[499.781 60 1],[501.3 200 1],[504.955 2 2],[509.754 2 2],[510.225 2.4 2],[513.454 2 2],[515.994 4 0],[526.703 4 0],[536.135 160 1],[539.16 200 1],[542.105 40 1],[542.455 20 0],[542.879 40 1],[548.03 60 1],[551.905 40 0],[553.548 200 0],[562.04 4 0],[568.018 2 0],[577.762 80 0],[578.418 160 1],[580.023 20 0],[580.569 4 0],[582.628 30 0],[585.368 560 1],[590.764 3 0],[597.17 20 0],[598.125 160 1],[599.709 20 0],[599.8 2 2],[599.985 60 1],[601.947 20 0],[606.312 40 0],[610.199 2.6 2],[611.078 60 0],[613.583 80 1],[614.172 4000 1],[634.168 30 0],[637.711 2 2],[637.891 100 1],[638.376 2 2],[645.085 18 0],[648.291 30 0],[649.69 2400 1],[649.876 60 0],[652.617 1.6 2],[652.731 30 0],[659.533 600 0],[665.41 30 0],[667.527 300 0],[669.384 360 0],[676.962 200 1],[686.569 120 0],[686.785 60 0],[687.409 200 1],[705.994 1200 0],[709.549 1.6 2],[712.033 480 0],[719.524 120 0],[722.884 120 0],[728.03 600 0],[739.241 240 0],[741.753 60 0],[745.978 180 0],[748.808 120 0],[763.69 90 0],[764.291 120 0],[767.209 360 0],[778.048 240 0],[783.957 36 0],[790.575 300 0],[791.134 120 0],[821.024 180 0],[830.869 1.6 2],[855.997 360 0],[871.074 20 1],[873.771 20 1],[879.976 60 0],[886.098 60 0],[891.499 90 0],[921.969 60 0],[930.808 60 0],[932.458 60 0],[937.006 300 0],[945.592 60 0],[952.176 1.6 2],[958.937 90 0],[960.888 180 0],[964.572 60 0],[983.037 300 0],[1000.108 180 0],[1003.21 120 0],[1023.323 240 0],[1047.126 60 0],[1079.125 24 0],[1101.269 36 0],[1111.442 30 0],[1130.304 48 0],[1169.745 24 0],[1320.73 24 0],[1381.05 24 0],[1407.79 24 0],[1500.04 24 0],[2071.2 24 0],[2551.5699 30 0],[2922.39 30 0]}{ALLx13000x1200x13000x12x10000x0x0}{UVx10000x40x400x12x10000x0x0}{VISx13000x1200x13000x5x0x0x0}{IVx360x360x20x1.6x0x0x0}%
@@ -115,7 +115,7 @@
\pgfspectra@elt@search{#1}{Pb}{[36.74 0.2 4],[37.253 0.2 4],[38.787 0.2 4],[39.438 0.2 4],[42.464 0.5 4],[43.103 0.3 4],[43.66 0.3 4],[43.847 0.2 4],[43.891 0.6 4],[45.345 0.4 4],[46.17 0.3 4],[47.536 0.8 3],[47.835 0.7 3],[49.62 0.3 4],[49.638 1 3],[49.994 1.2 3],[51.507 0.9 3],[52.978 1.4 3],[57.016 2 3],[57.39 0.8 3],[58.452 0.8 3],[64.85 1 3],[65.61 0.9 3],[69.442 0.4 4],[69.62 0.8 4],[70.373 2 4],[70.629 0.4 4],[70.766 0.6 4],[73.085 0.5 4],[74.946 1.2 4],[75.252 1 4],[75.58 1 4],[76.109 1 3],[76.276 0.6 4],[76.587 1 4],[76.745 1.8 4],[76.949 1.8 4],[77.142 1.4 4],[78.279 1.4 4],[78.705 1 4],[79.702 1.5 4],[79.98 0.5 4],[80.207 1.8 3],[80.282 1.2 3],[80.963 1.8 4],[81.232 0.5 4],[81.259 1 3],[81.41 0.8 4],[82.009 0.8 4],[82.207 0.8 3],[82.552 0.5 4],[82.741 1 3],[82.932 0.8 4],[83.26 1.2 3],[84.099 0.8 3],[84.288 0.8 3],[84.594 1.2 3],[84.604 0.2 1],[84.988 0.2 1],[85.198 0.5 4],[85.557 0.3 1],[85.764 1.8 3],[85.902 0.8 3],[86.233 1.6 3],[86.3 0.3 1],[86.397 2 4],[86.71 1 4],[87.044 1.4 3],[87.371 0.6 1],[87.796 0.2 1],[87.996 1.2 3],[88.035 0.7 3],[88.05 0.6 4],[88.39 1.8 4],[88.496 1.4 3],[88.499 1.4 3],[88.837 1.4 4],[88.968 0.8 1],[89.072 1.6 3],[89.44 1.4 4],[89.608 1.2 4],[89.63 0.3 1],[90.851 1.2 3],[91.509 0.8 4],[91.571 1.4 4],[91.79 1.2 3],[91.809 1.2 4],[92.028 1.2 4],[92.066 1.2 4],[92.212 1 3],[92.249 1.2 3],[92.452 0.7 3],[92.644 0.5 1],[92.764 1 3],[93.22 1.4 3],[93.7 0.8 3],[94.074 0.6 4],[94.62 0.8 4],[95.093 0.6 4],[95.285 0.7 3],[95.435 1.2 4],[95.495 0.4 4],[95.528 1 4],[95.876 0.2 1],[96.021 0.2 1],[96.101 0.1 2],[96.438 0.4 4],[96.536 0.3 1],[96.723 1 1],[97.256 0.9 1],[98.217 0.8 1],[98.671 1 1],[98.914 0.6 4],[99.589 1 1],[100.181 0.6 1],[100.542 0.8 4],[101.244 0.8 3],[101.661 1 1],[102.861 1.4 3],[103.05 0.3 2],[103.205 2 3],[104.124 1.6 3],[104.414 1.8 3],[104.89 1.2 2],[104.982 1 1],[105.077 1 1],[105.126 1 4],[105.653 1.5 3],[105.926 0.4 4],[106.066 1 1],[106.558 0.9 1],[106.92 0.4 2],[107.209 1.2 3],[107.47 0.3 2],[107.988 0.7 3],[108.081 1.8 3],[108.417 2 3],[108.886 1 4],[108.994 0.6 3],[109.652 0.9 4],[109.947 0.7 3],[110.394 1 1],[110.479 0.6 4],[110.843 1 1],[110.984 1 1],[111.53 0.6 3],[111.608 2 3],[111.867 0.4 2],[111.957 1 1],[112.133 0.4 4],[112.136 1 1],[113.314 1 1],[113.75 1 4],[113.784 1.8 3],[114.277 0.8 3],[114.493 1.4 3],[114.591 0.4 1],[115.236 0.4 4],[115.788 1.2 4],[116.7 0.4 2],[118.543 1.4 4],[118.995 2 3],[120.363 1 1],[123.12 1 1],[123.35 1.1 4],[124.847 1 4],[125.06 0.4 2],[126.69 0.1 2],[126.755 0.8 3],[129.082 0.8 3],[129.11 1 3],[131.305 2 3],[132.392 0.8 3],[133.165 1 1],[133.52 1 1],[134.306 1.2 3],[134.837 1 1],[138.894 1.6 3],[139.702 0.6 3],[140.026 1.8 3],[140.434 1 3],[143.396 1 1],[144.935 0.3 1],[151.076 0.7 3],[151.242 1 1],[153.571 1.4 3],[155.31 2 2],[161.01 0.1 2],[163.575 0.8 4],[167.153 1 1],[168.215 1 1],[171.123 0.4 2],[172.675 2 1],[174 0.2 0],[176.664 0.2 0],[179.467 0.2 0],[179.667 1 1],[179.839 0.8 3],[180.287 0.2 4],[181.297 0.5 0],[182.205 1 1],[184.3 0.2 4],[186.876 0.4 0],[188.867 0.2 4],[189.319 0.8 3],[189.702 0.2 4],[190.477 1 0],[191.433 0.2 4],[191.974 0.4 4],[192.1471 0.7 1],[195.796 0.5 4],[195.934 1.2 3],[197.244 0.4 0],[197.316 1.6 3],[197.788 0.2 0],[199.16 0.2 0],[199.231 0.2 0],[199.858 0.2 4],[199.883 1 4],[202.202 0.5 0],[204.258 1 3],[204.934 1.2 3],[205.088 0.5 0],[205.328 0.8 0],[207.845 0.8 4],[207.922 1.2 3],[211.1758 0.6 0],[211.5066 1 0],[214.255 1 4],[215.196 0.8 3],[215.401 1.5 3],[216.797 1 4],[217 50 0],[217.558 0.7 0],[217.746 1.2 3],[218.7888 0.7 0],[218.9603 0.8 0],[220.3534 1 1],[223.7425 2 0],[224.686 2 0],[224.689 2.5 0],[225.901 2 4],[227.666 1 4],[230.149 0.8 4],[233.2418 15 0],[235.953 1.6 3],[238.8797 18 0],[239.3792 55 0],[239.9597 14 0],[240.194 32 0],[241.1734 32 0],[241.761 1.6 3],[242.481 1.5 4],[244.3829 15 0],[244.6181 16 0],[247.6378 13 0],[252.669 0.8 1],[257.66 0.8 1],[257.726 8 0],[260.838 0.2 1],[261.3655 50 0],[261.4175 90 0],[262.8262 16 0],[263.4256 0.4 1],[265.7094 1 0],[266.3154 70 0],[269.7541 1 0],[280.1995 2500 0],[282.258 10 0],[282.3189 1400 0],[283.3053 3500 0],[284.0557 0.6 1],[286.424 0.4 3],[286.45 0.4 3],[287.3311 1400 0],[288.73 0.3 1],[291.4442 0.3 1],[294.743 0.2 1],[294.853 0.3 1],[296.646 1.5 0],[297.2991 1.5 0],[297.814 0.4 3],[298.0157 1.5 0],[298.6876 0.4 1],[301.639 1 1],[304.385 1 2],[305.256 0.4 3],[308.908 0.4 2],[310.274 0.4 2],[311.8894 15 0],[313.781 1 2],[317.65 1 2],[322.0528 60 0],[322.117 0.4 3],[322.9613 10 0],[324.0186 40 0],[324.284 0.5 2],[326.2355 20 0],[353.017 0.1 2],[357.2729 3500 0],[358.987 0.7 2],[363.9568 5000 0],[367.1491 2000 0],[368.3462 7000 0],[368.931 0.7 2],[370.602 0.3 2],[371.3982 1 1],[372.869 0.5 2],[373.9935 2500 0],[385.408 1.2 2],[395.192 0.8 2],[396.248 0.4 3],[401.9632 1500 0],[403.116 0.3 2],[404.98 0.4 3],[405.7807 9500 0],[406.2136 1400 0],[409.454 0.3 2],[411.076 0.5 1],[411.335 0.4 1],[412.811 0.2 2],[415.282 1 1],[415.7814 1 0],[416.8033 1000 0],[424.214 0.9 1],[424.492 2 1],[427.266 0.8 2],[429.382 0.7 1],[429.665 0.6 1],[434.0413 20 0],[435.274 1 1],[438.646 2 1],[449.615 1 3],[449.934 0.6 2],[453.46 1.6 3],[457.121 0.7 2],[457.9051 1 1],[458.227 1 1],[459.645 0.1 2],[460.54 0.8 3],[476.112 0.6 2],[479.859 0.4 2],[480.936 0.4 4],[482.686 0.1 2],[485.506 0.2 2],[500.5416 100 0],[500.6572 10 0],[504.258 5 1],[506.512 0.3 2],[507.058 1 1],[507.453 1 1],[507.635 1 0],[508.9484 5 0],[509.001 2 0],[510.7242 1 0],[511.164 1 1],[519.156 0.4 2],[520.1437 200 0],[536.764 1 1],[537.2099 1 1],[552.397 0.5 2],[554.425 1 1],[560.885 2 1],[569.2346 4 0],[577.941 0.3 2],[585.796 0.6 2],[589.5624 20 0],[591.454 0.2 3],[600.1862 200 0],[600.958 0.9 1],[601.1667 50 0],[604.117 0.8 1],[605.9356 50 0],[607.574 4 1],[608.1409 4 1],[611.052 5 0],[615.989 1 1],[623.5266 10 0],[665.099 0.5 4],[666.02 5 1],[675.32 0.4 4],[689.211 1 0],[712.894 0.5 0],[719.36 2 1],[722.8965 2000 0],[730.468 0.5 0],[733.015 0.8 0],[734.6676 1 0],[755.897 1 1],[763.256 1 1],[773.296 0.4 1],[780.9259 2 0],[781.797 0.5 0],[782.901 0.6 0],[789.6737 0.5 0],[815.691 0.2 1],[816.8001 1 0],[819.1886 0.6 0],[821.7711 0.5 0],[825.561 0.8 0],[827.269 4 0],[833.554 0.6 1],[839.568 1 1],[840.9384 2 0],[847.8492 1 0],[853.217 0.8 0],[854.495 0.7 1],[870.99 0.7 1],[871.939 0.5 1],[872.281 0.5 0],[885.7457 1 0],[905.082 1 1],[906.343 1 1],[924.528 0.2 1],[929.3476 0.8 0],[938.435 0.5 0],[938.589 0.5 0],[943.805 1.5 0],[960.4297 1.5 0],[960.873 0.6 0],[967.4351 1.5 0],[1029.0458 20 0],[1043.432 0.5 0],[1049.8965 10 0],[1064.9249 5 0],[1075.941 0.5 0],[1075.974 0.7 0],[1088.6688 1.5 0],[1096.953 4 0],[1105.922 0.6 0],[1133.308 0.3 0],[1147.949 0.2 1],[1148.876 0.2 0],[1162.791 0.5 1],[1256.137 0.1 0]}{ALLx9500x9500x5x2x2x2x0}{UVx7000x7000x2x2x2x2x0}{VISx9500x9500x5x1.2x1.6x0.5x0}{IVx20x20x1x0x0x0x0}%
\pgfspectra@elt@search{#1}{Bi}{[35.577 1 4],[36.952 1 4],[42.07 6 3],[42.978 1 4],[43.12 6 3],[43.563 1 4],[48.839 2 4],[49.272 1 4],[56.362 3 4],[59.073 1 2],[67.076 5 2],[67.887 2 4],[68.688 6 4],[70.654 1 4],[73.071 5 4],[73.817 10 4],[77.516 4 2],[79.05 6 3],[79.06 6 3],[79.25 8 3],[80.365 6 2],[82.03 10 3],[82.29 9 3],[82.49 12 3],[84.986 6 4],[85.568 5 4],[86.445 15 4],[87.26 15 3],[87.68 8 3],[88.017 6 4],[91.67 9 3],[92.093 7 2],[92.39 12 3],[92.548 6 2],[92.981 6 4],[94.33 15 3],[96.76 9 3],[96.88 8 3],[98.98 8 3],[103.999 25 2],[104.576 50 2],[105.181 30 2],[105.888 15 1],[108.547 20 1],[109.92 10 1],[110.34 24 3],[112.88 7 3],[113.86 6 3],[113.901 20 2],[113.946 15 4],[113.98 6 3],[114.591 15 2],[114.97 7 3],[116.319 8 1],[116.706 8 1],[122.464 50 2],[122.543 10 1],[123.278 15 1],[124.105 10 1],[126.535 10 1],[128.373 15 1],[130.618 10 1],[131.7 60 3],[132.546 20 1],[132.684 40 2],[132.947 20 1],[134.612 60 2],[135.007 20 1],[137.261 25 1],[137.602 15 1],[139.392 20 1],[142.333 35 2],[142.352 35 2],[143.683 45 1],[144.794 25 1],[145.511 50 1],[146.1 60 2],[146.214 25 1],[148.693 35 1],[150.25 20 1],[152.057 40 1],[153.317 40 1],[153.677 30 1],[153.806 35 1],[156.367 20 1],[157.37 40 1],[159.179 60 1],[160.158 25 1],[160.64 60 2],[160.97 40 1],[161.138 40 1],[165.281 20 1],[169.15 20 2],[174.929 20 1],[177.711 80 1],[178.747 60 1],[179.193 70 1],[182.38 70 1],[183.432 20 2],[186.39 10 2],[190.241 100 1],[191 30 3],[191.212 10 2],[195.453 9000 0],[196.013 7000 0],[198.826 10 2],[198.935 25 1],[202.075 20 2],[202.115 20 2],[202.121 7000 0],[206.17 9000 0],[206.89 45 1],[207.322 10 2],[207.337 14 2],[209.3 30 3],[210.342 15 2],[211.026 4600 0],[213.363 2500 0],[214.34 15 1],[214.346 15 1],[218.69 60 1],[221.355 30 2],[221.4 40 1],[222.825 360 0],[223.061 1700 0],[227.658 340 0],[231.1 100 3],[232.6 100 3],[236.812 16 1],[236.825 12 1],[237.6 100 3],[240.088 190 0],[241.46 75 2],[243.76 10 2],[250.1 10 1],[251.569 25 0],[252.449 70 0],[254.45 20 1],[262.791 700 0],[262.9 100 3],[267.7 100 3],[269.3 12 1],[269.676 280 0],[271.33 20 1],[273.05 140 0],[276.7 100 3],[277.2 100 3],[278.052 360 0],[278.6 100 3],[280.342 15 1],[280.37 11 1],[280.53 12 1],[280.962 140 0],[284.2 100 3],[284.74 30 2],[285.56 80 2],[289.798 4000 0],[292.4 100 3],[293.3 100 3],[293.6 100 3],[293.67 15 1],[293.83 3200 0],[295.04 20 1],[296.34 12 1],[298.903 2800 0],[299.334 700 0],[301.2 100 3],[302.464 2400 0],[303.487 60 0],[304.2 100 3],[306.772 9000 0],[307.666 140 0],[311.5 35 2],[323.9 100 3],[339.721 550 0],[343.083 10 1],[343.123 12 1],[345.1 40 2],[347.38 40 2],[348.55 35 2],[351.085 500 0],[354.08 15 2],[359.611 380 0],[361.34 45 2],[364.3 100 3],[365.42 12 1],[368.2 100 3],[369.532 50 2],[369.568 50 2],[373.4 100 3],[379.25 70 1],[381.11 12 1],[381.58 20 1],[384.58 10 1],[386.39 30 1],[386.8 100 3],[407.91 40 1],[409.72 10 1],[412.153 140 0],[412.186 140 0],[422.46 12 2],[425.94 75 1],[427.2 25 1],[430.17 70 1],[432.78 25 2],[433.98 12 1],[434.05 25 1],[434.2 30 3],[437.94 12 1],[447.68 25 1],[456.084 30 2],[456.154 30 2],[470.53 60 1],[472.252 600 0],[473.03 30 1],[474.97 20 1],[479.74 40 2],[490.82 12 1],[491.66 10 1],[496.97 12 1],[499.36 20 1],[507.93 45 2],[509.16 10 1],[512.43 50 1],[514.43 60 1],[520.15 20 1],[520.92 75 1],[527.03 40 1],[534.7 30 3],[539.78 10 1],[555.235 10 0],[559.941 3 0],[565.52 20 1],[571.92 40 1],[574.255 6 0],[581.83 12 1],[586.02 20 1],[597.3 20 1],[605.91 15 1],[612.8 15 1],[613.482 6 0],[647.573 3 0],[647.624 3 0],[649.77 15 1],[657.72 10 1],[660.02 40 1],[662.34 12 2],[680.86 50 1],[699.112 4 0],[703.3 12 1],[703.615 2 0],[738.1 10 1],[738.1 10 2],[750.233 2 0],[755.1 12 2],[759.8 25 2],[763.7 10 1],[763.7 10 2],[775 10 1],[783.87 3 0],[784.033 2 0],[796.5 20 1],[800.8 40 2],[805 12 1],[807 50 2],[810 20 2],[832.8 15 1],[838.8 15 1],[853.2 30 1],[854.454 2 0],[857.974 1 0],[865.3 25 1],[867.1 15 2],[875.488 2 0],[876.154 3 0],[886.3 25 1],[890.781 2 0],[893.4 20 2],[965.704 2000 0],[982.778 40 0],[1010.45 20 0],[1013.88 15 0],[1030.06 20 0],[1053.619 20 0],[1107.244 50 0],[1155.16 15 0],[1171.037 1500 0],[1199.949 40 0],[1216.508 200 0],[1237.464 10 0],[1269.004 200 0],[1281.78 100 0],[1433.05 200 0],[1600.15 50 0],[2255.16 60 0]}{ALLx9000x9000x100x80x100x15x0}{UVx9000x9000x100x80x100x15x0}{VISx600x600x75x45x100x0x0}{IVx2000x2000x30x50x0x0x0}%
\pgfspectra@elt@search{#1}{Po}{[213.902 250 0],[220.38 300 -1],[222.067 300 0],[222.213 200 0],[228.422 200 -1],[234.461 250 0],[242.172 250 0],[242.609 300 0],[245.008 1500 0],[248.394 700 0],[249.053 700 0],[250.218 200 -1],[253.495 300 0],[255.733 300 0],[255.801 1500 0],[256.231 400 -1],[257.88 300 -1],[258.764 400 0],[263.701 200 -1],[264.536 300 0],[266.333 700 -1],[267.167 200 0],[276.192 600 0],[280.026 400 0],[282.411 250 0],[286.601 300 0],[291.931 400 0],[295.892 600 0],[300.321 2500 0],[306.931 450 0],[311.595 200 -1],[318.902 400 0],[324.024 600 0],[328.638 250 0],[332.86 600 0],[348.979 300 -1],[349.365 200 -1],[358.833 400 -1],[367.136 200 -1],[386.193 500 0],[405.198 200 -1],[417.052 1200 0],[423.613 250 -1],[441.558 200 -1],[449.321 800 0],[461.144 350 0],[486.712 200 -1],[487.624 400 0],[494.681 450 -1],[532.323 350 0],[574.485 300 0],[796.262 600 0],[843.387 300 0],[861.826 500 0],[922.787 250 -1]}{ALLx2500x2500x0x0x0x0x700}{UVx2500x2500x0x0x0x0x700}{VISx1200x1200x0x0x0x0x450}{IVx600x600x0x0x0x0x250}%
-\pgfspectra@elt@search{#1}{At}{[216.225 8 0],[224.401 10 0]}{ALLx10x10x0x0x0x0x0x0}{UVx10x10x0x0x0x0x0x0}{VISx0x0x0x0x0x0x0}{IVx0x0x0x0x0x0x0}
+\pgfspectra@elt@search{#1}{At}{[216.225 8 0],[224.401 10 0]}{ALLx10x10x0x0x0x0x0x0}{UVx10x10x0x0x0x0x0x0}{VISx0x0x0x0x0x0x0}{IVx0x0x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{Rn}{[351.46 5 0],[373.989 10 0],[375.365 20 0],[391.72 10 0],[394.172 10 0],[395.236 10 0],[422.606 10 0],[430.776 80 0],[433.578 7 0],[434.96 100 0],[443.505 40 0],[445.925 50 0],[450.848 50 0],[457.772 50 0],[460.938 50 0],[472.176 30 0],[572.258 6 0],[606.192 10 0],[620.075 6 0],[638.045 6 0],[655.749 10 0],[660.643 10 0],[662.723 15 0],[666.96 6 0],[670.428 8 0],[675.181 20 0],[680.679 6 0],[683.695 8 0],[683.757 8 0],[689.116 10 0],[699.89 10 0],[705.542 200 0],[726.811 100 0],[729.1 20 0],[732.098 6 0],[741.904 10 0],[745 300 0],[747.089 8 0],[748.313 8 0],[751.413 8 0],[751.692 8 0],[752.393 6 0],[759.755 6 0],[760.128 8 0],[765.748 10 0],[773.843 10 0],[774.664 20 0],[780.982 100 0],[804.9 20 0],[809.951 100 0],[817.384 6 0],[827.096 100 0],[831.451 8 0],[834.974 6 0],[838.105 10 0],[848.748 10 0],[849.489 10 0],[852.095 20 0],[860.007 100 0],[863.976 10 0],[867.583 15 0],[880.775 10 0],[932.702 50 0],[994.857 6 0],[1010.613 5 0]}{ALLx300x300x0x0x0x0x0}{UVx20x20x0x0x0x0x0}{VISx300x300x0x0x0x0x0}{IVx100x100x0x0x0x0x0}%
\pgfspectra@elt@search{#1}{Ra}{[236.973 8 1],[246.055 8 1],[247.55 10 1],[258.661 8 1],[264.373 10 1],[270.896 20 1],[279.521 10 1],[281.376 30 1],[303.344 10 1],[310.18 5 0],[364.955 100 1],[381.442 200 1],[419.409 8 1],[424.472 8 1],[434.064 100 1],[443.627 20 1],[453.311 30 1],[464.129 8 0],[468.228 100 1],[469.928 8 0],[482.591 100 0],[485.607 10 0],[485.941 10 1],[492.753 10 1],[509.756 10 0],[520.593 10 0],[528.328 10 0],[532.029 10 0],[539.98 10 0],[540.023 20 0],[540.681 20 0],[548.213 8 0],[550.198 10 0],[555.357 10 0],[555.585 20 0],[561.666 10 0],[566.081 50 0],[581.363 20 1],[620.03 30 0],[633.69 10 0],[644.62 20 0],[648.732 20 0],[659.334 10 1],[671.932 10 1],[698.022 20 0],[711.85 20 0],[714.121 50 0],[722.516 20 0],[731.027 10 0],[783.812 20 0],[801.97 50 1],[817.731 6 0],[833.507 5 0],[993.221 5 0]}{ALLx200x100x200x0x0x0x0}{UVx100x5x100x0x0x0x0}{VISx200x100x200x0x0x0x0}{IVx50x20x50x0x0x0x0}%
\pgfspectra@elt@search{#1}{Ac}{[206.2 20 3],[210 8 1],[250.212 30 3],[255.808 100 3],[262.644 1000 2],[268.29 50 2],[271.25 20 1],[272.623 10 1],[276.018 10 1],[278.156 10 1],[279.083 5 3],[279.39 50 3],[279.759 20 1],[280.676 20 1],[283.347 8 1],[284.716 150 1],[289.52 8 1],[289.682 30 1],[292.302 30 1],[295.255 2000 2],[299.417 200 1],[304.33 500 1],[306.936 200 1],[307.807 100 1],[308.604 100 1],[308.737 100 1],[311.283 200 1],[312.016 100 1],[315.309 500 1],[315.441 600 1],[316.481 200 1],[322.47 20 3],[323.059 300 1],[323.77 150 1],[326.091 500 1],[331.801 100 1],[338.353 200 1],[339.278 2000 2],[341.384 200 1],[341.777 500 1],[348.116 500 1],[348.759 3000 2],[348.953 200 1],[352.924 100 1],[353.463 100 1],[355.499 200 1],[356.559 1000 1],[369.488 100 1],[375.667 300 1],[379.982 200 1],[386.312 2000 1],[391.447 100 1],[406.16 400 1],[408.844 3000 1],[416.84 3000 1],[417.998 100 0],[418.312 20 0],[419.44 20 0],[420.969 300 1],[435.913 300 1],[438.453 20 0],[438.641 1000 1],[439.671 20 0],[441.309 2000 2],[446.273 20 0],[450.72 1000 1],[456.987 3000 2],[460.545 500 1],[471.658 10 0],[472.016 400 1],[481.222 300 1],[494.518 100 1],[495.823 100 1],[496.087 100 1],[519.321 8 2],[544.638 150 1],[573.205 300 1],[575.897 400 1],[591.085 1000 1],[616.475 600 1],[616.783 200 1],[624.283 400 1],[635.986 20 0],[669.127 20 0],[729.04 6 0],[786.61 6 0]}{ALLx3000x100x3000x3000x100x0x0}{UVx3000x0x1000x3000x100x0x0}{VISx3000x100x3000x3000x0x0x0}{IVx6x6x0x0x0x0x0}%
diff --git a/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.sty b/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.sty
index 308c9bcc780..2135d346677 100644
--- a/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.sty
+++ b/Master/texmf-dist/tex/latex/pgf-spectra/pgf-spectra.sty
@@ -7,9 +7,10 @@
% Hugo Gomes @ 21/02/2023 (v2.2.0)
% Hugo Gomes @ 25/04/2023 (v3.0.0)
% Hugo Gomes @ 27/04/2023 (v3.0.1)
+% Hugo Gomes @ 07/07/2024 (v3.0.1a)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}%
-\ProvidesPackage{pgf-spectra}[27/04/2023 pgf-spectra v3.0.1]%
+\ProvidesPackage{pgf-spectra}[07/07/2024 pgf-spectra v3.0.1a]%
\RequirePackage{tikz}%
\DeclareOption{LSE}{\input{pgf-spectra.data.LSE.tex}\xdef\pgfspectra@DATASET{1}}%
\DeclareOption{NIST}{\input{pgf-spectra.data.NIST.tex}\xdef\pgfspectra@DATASET{0}}%
@@ -640,15 +641,15 @@ precision=1,unit={}% NEW v3.0.0 (for data library)
\fi%
}%
\def\pgfspectra@utils@put@label{\ignorespaces%
- \ifx\pgfspectra@elt@chemsym\undefined\def\pgfspectra@elt@chemsym{}\fi%
+ \ifx\pgfspectra@elt@chemsym\undefined\def\pgfspectra@elt@chemsym{}\else\fi%
\pgfspectra@get@label@position%
\ifnum\pgfspectra@begin>\pgfspectra@end%
\ifcase\pgfspectra@label@position%
%west
\ifpgfspectra@drawaxis%\ifpgfspectra@axislabel%
- \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2em,align=right] at (-2.5*\@pgfspectra@axis@height-\pgfspectra@width,0.5*\pgfspectra@height-1.25*\@pgfspectra@axis@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
+ \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2.1em,align=right] at (-2.5*\@pgfspectra@axis@height-\pgfspectra@width,0.5*\pgfspectra@height-1.25*\@pgfspectra@axis@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
\else%
- \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2em,align=right] at (-\pgfspectra@width,0.5*\pgfspectra@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
+ \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2.1em,align=right] at (-\pgfspectra@width,0.5*\pgfspectra@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
\fi%
\or%north west
\ifpgfspectra@drawaxis%
@@ -693,9 +694,9 @@ precision=1,unit={}% NEW v3.0.0 (for data library)
\ifcase\pgfspectra@label@position%
%west
\ifpgfspectra@drawaxis%
- \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2em,align=right] at (-2.5*\@pgfspectra@axis@height,0.5*\pgfspectra@height-1.25*\@pgfspectra@axis@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
+ \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2.1em,align=right] at (-2.5*\@pgfspectra@axis@height,0.5*\pgfspectra@height-1.25*\@pgfspectra@axis@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
\else%
- \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2em,align=right] at (0,0.5*\pgfspectra@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
+ \node[\pgfspectra@labelfontcolor,font=\pgfspectra@labelfont,left,minimum width=2.1em,align=right] at (0,0.5*\pgfspectra@height) {\pgfspectra@labelbtext\pgfspectra@elt@chemsym\pgfspectra@labelatext};%
\fi%
\or%north west
\ifpgfspectra@drawaxis%
diff --git a/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty b/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty
index 9bac4b1d48d..8620c8952d9 100644
--- a/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty
+++ b/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty
@@ -6,7 +6,7 @@
%%
%% pgfgantt.dtx (with options: `pgfgantt')
%%
-%% Copyright (C) 2018 by Wolfgang Skala
+%% Copyright (C) 2024 by Wolfgang Esser-Skala
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -16,7 +16,7 @@
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2008/05/04 or later.
%%
-\ProvidesPackage{pgfgantt}[2018/01/10 v5.0 Draw Gantt diagrams with TikZ]
+\ProvidesPackage{pgfgantt}[2024/06/19 v5.0a Draw Gantt diagrams with TikZ]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\RequirePackage{tikz}
\usetikzlibrary{%
diff --git a/Master/texmf-dist/tex/latex/photobook/photobook.cls b/Master/texmf-dist/tex/latex/photobook/photobook.cls
index a2a84809e8b..ae2ecac6b6c 100644
--- a/Master/texmf-dist/tex/latex/photobook/photobook.cls
+++ b/Master/texmf-dist/tex/latex/photobook/photobook.cls
@@ -38,6 +38,7 @@
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
+%
% XXX ASAP: imagecell: photobook@imagecell@left and photobook@imagecell@top
% should explicitly account for clearence@left and clearence@top resp.
% XXX ASAP: imagecell: clearance should have the same semantics as cliptocell
@@ -88,12 +89,25 @@
% cell/cell* depend on absolute mode being set globally
%
%
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+%
+% Work around an issue with calc's \ratio{..}{..} breaking into an
+% "Arythmetic overflow" when working with large images.
+% (see Issues section for more info)
+%
+% NOTE: if the error persists just make this smaller but note that the
+% smaller this gets the greater the error can be for very small
+% images
+%
+\def\CalcOverflowFactor{0.1}%
+
+
%----------------------------------------------------------------------
%%% NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the
%%% code and the generated docs...
-\edef\photobook@FILEVERSION{v0.1.29}
-\edef\photobook@FILEDATE{2023-08-24}
+\edef\photobook@FILEVERSION{v0.1.31}
+\edef\photobook@FILEDATE{2024-07-19}
%% \documentclass{ltxdoc}
@@ -248,26 +262,27 @@
%% \begin{minipage}{\textwidth}
%% \begin{verbatim}
%%
+%% <-------------------------------------------------> paperwidth
%% <---> bleed <---> bleed
-%%
-%% + - - - - - - - - - - - - - - - - - - - - - - + - + ^
-%% . . . | bleed
-%% . +-----------------------------------------+----- v . . ---
-%% . | ^ . . = .
-%% . | . . . . . . | . . . = . ^
-%% . |<-- blockwidth ------------------------->= . |
-%% . | . | . . . = . |
-%% . | | . . = . textheight
-%% . | . Page | . . . = . |
-%% . | blockheight . . = . |
-%% . | . | . . <--> bindingoffset |
-%% . | | . . = . |
-%% . | . . . . . . | . <--> gutteroffset v
-%% . | v . . = .
-%% . +-----------------------------------------+----- ^ . . ---
-%% . . . . | bleed
-%% + - - - - - - - - - - - - - - - - - - - - - - + - + v
-%% . .
+%% paperheight v
+%% + - - - - - - - - - - - - - - - - - - - - - - + - + ^ . . . ---
+%% . . . | bleed .
+%% . +-----------------------------------------+----- v . . ---
+%% . | ^ . . = . .
+%% . | . . . . . . | . . . = . ^
+%% . |<-- blockwidth ------------------------->= . | .
+%% . | . | . . . = . |
+%% . | | . . = . textheight .
+%% . | . Page | . . . = . |
+%% . | blockheight . . = . | .
+%% . | . | . . <--> bindingoffset |
+%% . | | . . = . | .
+%% . | . . . . . . | . <--> gutteroffset v
+%% . | v . . = . .
+%% . +-----------------------------------------+----- ^ . . ---
+%% . . . . | bleed .
+%% + - - - - - - - - - - - - - - - - - - - - - - + - + v . . . ---
+%% . . ^
%% | <-- textwidth --------------> . |
%% ^ gutter
%%
@@ -278,6 +293,9 @@
%% account for |\gutteroffset|, namely macros that do not display content
%% with bleeds.
%%
+%% Also note that bleeds are included in \href{https://ctan.org/pkg/geometry}{geometry}'s
+%% |\paperwidth| and |\paperheight|.
+%%
% NOTE: if blockwidth/blockheight are set they will force recalculations
% and overriding of the paperwidth/paperheight if they were changed
% by the user code anywhere between \documentclass[..]{photobook}
@@ -917,7 +935,7 @@
%% \DescribeMacro{\imageblockoffsettop=<ratio>}
%
-%% The ration by which the image is raised in |\ImagePage{..}| and
+%% The ratio by which the image is raised in |\ImagePage{..}| and
%% derived templates.
%%
\edef\imageblockoffsettop{\photobook@imageblockoffsettop}
@@ -2515,8 +2533,9 @@
% NOTE: here we calculate image/cell eccentricity to decide
% to fit to width or heigh of cell...
% NOTE: did I say that I "love" how LaTeX does basic math??
+ % NOTE: \ratio{..}{..} here can break, see Issues for more info...
\setlength\photobook@imagecell@imgratio{%
- 1pt * \ratio{\wd\photobook@imagebox}{\ht\photobook@imagebox}}%
+ 1pt * \ratio{\CalcOverflowFactor\wd\photobook@imagebox}{\CalcOverflowFactor\ht\photobook@imagebox}}%
\setlength\photobook@imagecell@cellratio{%
1pt * \ratio{\cellwidth}{\cellheight}}%
\ifdim \photobook@imagecell@imgratio < \photobook@imagecell@cellratio%
@@ -2524,7 +2543,7 @@
\includegraphics[%
keepaspectratio,
width=\photobook@imagecell@scale\dimexpr
- + \cellwidth
+ \cellwidth
- \photobook@imagecell@clearance@left
- \photobook@imagecell@clearance@right \relax]{#3}}%
\else%
@@ -2532,7 +2551,7 @@
\includegraphics[%
keepaspectratio,
height=\photobook@imagecell@scale\dimexpr
- + \cellheight
+ \cellheight
- \photobook@imagecell@clearance@top
- \photobook@imagecell@clearance@bottom \relax]{#3}}%
\fi\fi\fi%
@@ -4848,8 +4867,9 @@
% align center -> check if image fits vertically...
\ifphotobook@ImagePageFit@centered\else%
\sbox{\photobook@imagebox}{\includegraphics{#3}}%
+ % NOTE: \ratio{..}{..} here can break, see Issues for more info...
\setlength\photobook@ImagePageFit@imgratio{%
- 1pt * \ratio{\wd\photobook@imagebox}{\ht\photobook@imagebox}}%
+ 1pt * \ratio{\CalcOverflowFactor\wd\photobook@imagebox}{\CalcOverflowFactor\ht\photobook@imagebox}}%
% NOTE: subtracting \bindingoffset from \cellwidth here makes sure that
% we avoid offsetting images close enough in ratio to the page and
% messing up bleeds...
@@ -5692,6 +5712,26 @@
%----------------------------------------------------------------------
+%%%% Issues
+%
+%% \subsection*{Large images can cause "Arythmetic overflow"}
+%
+%% \DescribeMacro{\CalcOverflowFactor=0.1}
+%
+%% If the issue occurs set |\CalcOverflowFactor| to a smaller value.
+%% But note, a value too small can lead to errors in the affected macros,
+%% a good value is between 0.1 and 0.01.
+%%
+%% Also note that it is recommended to pre-size images the print outside
+%% of \LaTeX.
+%%
+%% Affected macros: |\imagecell[fill]{..}{..}|, |\ImagePageFit|.
+%%
+% The issue occurs in the calc's |\ratio{..}{..}| macro when calculating
+% image proportions.
+%
+%
+%----------------------------------------------------------------------
% Index...
%
% XXX this prints trash at this point...
diff --git a/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty b/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty
index 0cfa1f27095..36f506b51fa 100644
--- a/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty
+++ b/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pmdraw}[2024-04-09 v1.3 pmdraw]
+\ProvidesPackage{pmdraw}[2024-06-02 v1.4 pmdraw]
% *------------------------------*
-% |2````````````````````````````3|
+% |7````````````````````````````4|
% |`````____````____`````````````|
% |````|MFMF\ /MFMF|````````````|
% |````|MF|MF\/MF|MF|````````````|
@@ -14,7 +14,7 @@
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
-% |1````````````````````````````1|
+% |3````````````````````````````4|
% *------------------------------*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -42,8 +42,28 @@
\newcommand{\pmdraw@drawAedgesOptions}{}% Draw options for added edges in product diagram
\newcommand{\pmdraw@drawAedges}[2]{% Draws added edges in product diagram from #1 vertex to #2 vertex, assumes #1<#2
- \foreach \x in {#1,...,#2} {% For each vertex in range
- \draw[dotted,thick,apply style/.expand once=\pmdraw@drawAedgesOptions] (\x,0) -- (\x,-\pmdraw@diagSep);% Draw concatenation edge
+ \@ifclassloaded{beamer}{% If in beamer
+ \uncover<\pmdraw@edgesAddedUncover>{% Uncovers added edges
+ \foreach \x in {#1,...,#2} {% For each vertex in range
+ \ifnum\value{pmdraw@ifEdgesAdded}=0% If drawing added edges
+ \draw[dotted,thick,apply style/.expand once=\pmdraw@drawAedgesOptions] (\x,0) -- (\x,-\pmdraw@diagSep);% Draw concatenation edge
+ \else% If hiding top vertices
+ \phantom{%
+ \draw[dotted,thick,apply style/.expand once=\pmdraw@drawAedgesOptions] (\x,0) -- (\x,-\pmdraw@diagSep);% Draw concatenation edge
+ }%
+ \fi%
+ }%
+ }%
+ }{% If not in beamer
+ \foreach \x in {#1,...,#2} {% For each vertex in range
+ \ifnum\value{pmdraw@ifEdgesAdded}=0% If drawing added edges
+ \draw[dotted,thick,apply style/.expand once=\pmdraw@drawAedgesOptions] (\x,0) -- (\x,-\pmdraw@diagSep);% Draw concatenation edge
+ \else% If hiding top vertices
+ \phantom{%
+ \draw[dotted,thick,apply style/.expand once=\pmdraw@drawAedgesOptions] (\x,0) -- (\x,-\pmdraw@diagSep);% Draw concatenation edge
+ }%
+ \fi%
+ }%
}%
\pmdraw@AedgesLoop% Restart for loop
}
@@ -111,6 +131,44 @@
}
\let\pmdraw@drawLedgesDraw\pmdraw@drawLedgesDrawDefault% Draws lower non-transversal edge from #1 vertex to #2 vertex, assumes #1<#2
+\newcommand{\pmdraw@drawNoLabelBa}{-1}% 1st vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBb}{-1}% 2nd vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBc}{-1}% 3rd vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBd}{-1}% 4th vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBe}{-1}% 5th vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBf}{-1}% 6th vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBg}{-1}% 7th vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBh}{-1}% 8th vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelBi}{-1}% 9th vertex to skip label in bottom row
+\newcommand{\pmdraw@drawNoLabelTa}{-1}% 1st vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTb}{-1}% 2nd vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTc}{-1}% 3rd vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTd}{-1}% 4th vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTe}{-1}% 5th vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTf}{-1}% 6th vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTg}{-1}% 7th vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTh}{-1}% 8th vertex to skip label in top row
+\newcommand{\pmdraw@drawNoLabelTi}{-1}% 9th vertex to skip label in top row
+
+\newcommand{\pmdraw@drawNoVertexBa}{-1}% 1st vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBb}{-1}% 2nd vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBc}{-1}% 3rd vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBd}{-1}% 4th vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBe}{-1}% 5th vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBf}{-1}% 6th vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBg}{-1}% 7th vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBh}{-1}% 8th vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexBi}{-1}% 9th vertex to skip in bottom row
+\newcommand{\pmdraw@drawNoVertexTa}{-1}% 1st vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTb}{-1}% 2nd vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTc}{-1}% 3rd vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTd}{-1}% 4th vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTe}{-1}% 5th vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTf}{-1}% 6th vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTg}{-1}% 7th vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTh}{-1}% 8th vertex to skip in top row
+\newcommand{\pmdraw@drawNoVertexTi}{-1}% 9th vertex to skip in top row
+
\newcommand{\pmdraw@drawTedgesDrawOptions}{}% Draw options for transversal edges
\newcommand{\pmdraw@drawTedgesDrawDefault}[2]{% Draws transversal edge from #1 vertex in top row to #2 vertex in bottom row - DEFAULT
\ifnum\pmdraw@ifTedgeHorizontal=0% If drawing a straight line edge
@@ -145,6 +203,10 @@
\fill[apply style/.expand once=\pmdraw@drawVertexOptions] (#1,#2) circle (.17);%
}
+\newcommand{\pmdraw@edgeUncover}{1-}% Sets the uncover options of edge
+\newcommand{\pmdraw@edgesAddedUncover}{1-}% Sets the uncover options of added edges
+\newcommand{\pmdraw@edgesUncover}{1-}% Sets the uncover options of edges
+
\newcommand{\pmdraw@hookAfterBrick}{}% Hook after drawing a brick
\newcommand{\pmdraw@hookAfterDiagram}{}% Hook after drawing a diagram
\newcommand{\pmdraw@hookBeforeBrick}{}% Hook before drawing a brick
@@ -165,6 +227,7 @@
\renewcommand{\pmdraw@diagSep}{1}% Resets vertical space between product diagrams
\renewcommand{\pmdraw@drawAedgesOptions}{}% Resets draw options for added edges in product diagram
\let\pmdraw@drawDots\pmdraw@drawDotsDefault% Resets drawing of dots between bricks
+ \renewcommand{\pmdraw@edgesAddedUncover}{1-}% Resets the uncover options of added edges
\renewcommand{\pmdraw@hookAfterDiagram}{}% Clears hook after drawing a diagram
\renewcommand{\pmdraw@hookBeforeDiagram}{}% Clears hook before drawing a diagram
\renewcommand{\pmdraw@ifGrid}{0}% Hides grid
@@ -177,12 +240,16 @@
\setcounter{pmdraw@bottomShift}{0}% Resets shift on right end of bottom row of brick
\setcounter{pmdraw@topShift}{0}% Resets shift on right end of top row of brick
\setcounter{pmdraw@ifDiagWDotsFirst}{1}% Reset if drawing first brick of diagram
+ \setcounter{pmdraw@ifEdgesAdded}{0}% Resets boolean if hiding added edges
}
\newcommand{\pmdraw@rowSep}{2}% Vertical separation between rows of vertices in brick
\newcommand{\pmdraw@tikz}{}% Tikz options
+\newcommand{\pmdraw@verticesBottomUncover}{1-}% Sets the uncover options of bottom vertices
+\newcommand{\pmdraw@verticesTopUncover}{1-}% Sets the uncover options of top vertices
+
\newcommand{\pmdraw@vertexSep}{0}% Vertical separation between bottom row of top diagram and top row of bottom diagram in product diagram not for added edges
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -210,6 +277,18 @@
\newcounter{pmdraw@ifDiagWDotsFirst}% In drawing with dots, boolean if drawing first brick of diagram
\setcounter{pmdraw@ifDiagWDotsFirst}{1}
+\newcounter{pmdraw@ifEdge}% Boolean if hiding edge
+\setcounter{pmdraw@ifEdge}{0}
+\newcounter{pmdraw@ifEdgesAdded}% Boolean if hiding added edges
+\setcounter{pmdraw@ifEdgesAdded}{0}
+\newcounter{pmdraw@ifEdges}% Boolean if hiding edges
+\setcounter{pmdraw@ifEdges}{0}
+
+\newcounter{pmdraw@ifVerticesBottom}% Boolean if hiding bottom row of vertices
+\setcounter{pmdraw@ifVerticesBottom}{0}
+\newcounter{pmdraw@ifVerticesTop}% Boolean if hiding top row of vertices
+\setcounter{pmdraw@ifVerticesTop}{0}
+
\newcounter{pmdraw@labelStartB}% Starting value of labels of vertices in bottom row
\setcounter{pmdraw@labelStartB}{1}
\newcounter{pmdraw@labelStartT}% Starting value of labels of vertices in top row
@@ -257,6 +336,61 @@
\define@key{pmdraw@brick}{vertices}{% Sets the draw options of vertices
\renewcommand{\pmdraw@drawVertexOptions}{#1}%
}
+\define@key{pmdraw@brick}{no vertex bottom 1}{% Sets 1st vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBa}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 2}{% Sets 2nd vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBb}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 3}{% Sets 3rd vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBc}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 4}{% Sets 4th vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBd}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 5}{% Sets 5th vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBe}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 6}{% Sets 6th vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBf}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 7}{% Sets 7th vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBg}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 8}{% Sets 8th vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBh}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex bottom 9}{% Sets 9th vertex to skip in bottom row
+ \renewcommand{\pmdraw@drawNoVertexBi}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 1}{% Sets 1st vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTa}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 2}{% Sets 2nd vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTb}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 3}{% Sets 3rd vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTc}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 4}{% Sets 4th vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTd}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 5}{% Sets 5th vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTe}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 6}{% Sets 6th vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTf}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 7}{% Sets 7th vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTg}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 8}{% Sets 8th vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTh}{#1}%
+}
+\define@key{pmdraw@brick}{no vertex top 9}{% Sets 9th vertex to skip in top row
+ \renewcommand{\pmdraw@drawNoVertexTi}{#1}%
+}
+
\define@key{pmdraw@brick}{vertices options}{% Sets the draw command of vertices
\renewcommand{\pmdraw@drawVertex}[2]{#1}%
}
@@ -283,6 +417,61 @@
\setcounter{pmdraw@labelStartT}{#1}%
}
+\define@key{pmdraw@brick}{no label bottom 1}{% Sets 1st label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBa}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 2}{% Sets 2nd label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBb}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 3}{% Sets 3rd label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBc}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 4}{% Sets 4th label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBd}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 5}{% Sets 5th label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBe}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 6}{% Sets 6th label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBf}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 7}{% Sets 7th label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBg}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 8}{% Sets 8th label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBh}{#1}%
+}
+\define@key{pmdraw@brick}{no label bottom 9}{% Sets 9th label to skip in bottom row
+ \renewcommand{\pmdraw@drawNoLabelBi}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 1}{% Sets 1st label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTa}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 2}{% Sets 2nd label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTb}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 3}{% Sets 3rd label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTc}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 4}{% Sets 4th label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTd}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 5}{% Sets 5th label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTe}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 6}{% Sets 6th label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTf}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 7}{% Sets 7th label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTg}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 8}{% Sets 8th label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTh}{#1}%
+}
+\define@key{pmdraw@brick}{no label top 9}{% Sets 9th label to skip in top row
+ \renewcommand{\pmdraw@drawNoLabelTi}{#1}%
+}
+
\define@key{pmdraw@brick}{labels bottom draw}{% Sets the draw options for labels of bottom vertices
\renewcommand{\pmdraw@drawLabelBDrawOptions}{#1}%
}
@@ -299,7 +488,7 @@
\define@key{pmdraw@brick}{labels bottom options}{% Sets the draw command of labels of bottom vertices
\renewcommand{\pmdraw@drawLabelBottom}[3]{#1}%
}
-\define@key{pmdraw@brick}{labels top options}{% Sets the draw command of labels of bottom vertices
+\define@key{pmdraw@brick}{labels top options}{% Sets the draw command of labels of top vertices
\renewcommand{\pmdraw@drawLabelTop}[3]{#1}%
}
@@ -314,6 +503,20 @@
\renewcommand{\pmdraw@drawDotsNodeOptions}{#1}%
}
+\define@key{pmdraw@brick}{vertices bottom phantom}[]{% Does not draw bottom vertices
+ \setcounter{pmdraw@ifVerticesBottom}{1}%
+}
+\define@key{pmdraw@brick}{vertices top phantom}[]{% Does not draw top vertices
+ \setcounter{pmdraw@ifVerticesTop}{1}%
+}
+
+\define@key{pmdraw@brick}{vertices bottom uncover}{% Sets the uncover options of bottom vertices
+ \renewcommand{\pmdraw@verticesBottomUncover}{#1}%
+}
+\define@key{pmdraw@brick}{vertices top uncover}{% Sets the uncover options of top vertices
+ \renewcommand{\pmdraw@verticesTopUncover}{#1}%
+}
+
\define@key{pmdraw@brick}{levels}[1]{% Sets number of horizontal levels for non-transversal edges and evenly spaces them
\tikzmath{%
\pmdraw{edgeSepU} = (0.5*\pmdraw@rowSep)/(#1 + 1);% Calculates vertical separation between each edge
@@ -374,6 +577,14 @@
\renewcommand{\pmdraw@ifTedgesFirst}{1}%
}
+\define@key{pmdraw@brick}{edges phantom}[]{% Does not draw edges
+ \setcounter{pmdraw@ifEdges}{1}%
+}
+
+\define@key{pmdraw@brick}{edges uncover}{% Sets the uncover options of edges
+ \renewcommand{\pmdraw@edgesUncover}{#1}%
+}
+
\define@key{pmdraw@brick}{brace}{% Draws a brace
\setkeys{pmdraw@brace}{#1}% Processes details of brace
\pmdraw@drawBrace{\value{pmdraw@braceL}}{\value{pmdraw@braceR}}{\pmdraw@braceLabel}% Draws brace
@@ -414,6 +625,12 @@
\renewcommand{\pmdraw@drawUedgesDraw}[2]{#1}%
\renewcommand{\pmdraw@drawLedgesDraw}[2]{#1}%
}
+\define@key{pmdraw@NTedges}{phantom}[]{% Does not draw edge
+ \setcounter{pmdraw@ifEdge}{1}%
+}
+\define@key{pmdraw@NTedges}{uncover}{% Sets the uncover options of edge
+ \renewcommand{\pmdraw@edgeUncover}{#1}%
+}
\define@key{pmdraw@Tedges}{height}{% Sets manual height of transversal edge
\tikzmath{%
\pmdraw{Tlevel} = #1;%
@@ -426,6 +643,12 @@
\define@key{pmdraw@Tedges}{options}{% Sets the draw command of transversal edge
\renewcommand{\pmdraw@drawTedgesDraw}[2]{#1}%
}
+\define@key{pmdraw@Tedges}{phantom}[]{% Does not draw edge
+ \setcounter{pmdraw@ifEdge}{1}%
+}
+\define@key{pmdraw@Tedges}{uncover}{% Sets the uncover options of edge
+ \renewcommand{\pmdraw@edgeUncover}{#1}%
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -485,6 +708,12 @@
\define@key{pmdraw@diagram}{edges added}{% Sets the draw options for drawing of added edges in product diagram
\renewcommand{\pmdraw@drawAedgesOptions}{#1}%
}
+\define@key{pmdraw@diagram}{edges added phantom}[]{% Does not draw added edges
+ \setcounter{pmdraw@ifEdgesAdded}{1}%
+}
+\define@key{pmdraw@diagram}{edges added uncover}{% Sets the uncover options of added edges
+ \renewcommand{\pmdraw@edgesAddedUncover}{#1}%
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -684,11 +913,47 @@
\fi%
\fi%
\foreach \x in {1,...,\value{pmdraw@degreeB}} {% For each vertex in row
- \pmdraw@drawVertex{\x + \value{pmdraw@blankB}}{0}% Draw lower vertex
- \ifnum\pmdraw@ifLabelsB=1% If drawing labels
- \pmdraw@drawLabelBottom{\x + \value{pmdraw@blankT}}{0}{\thepmdraw@labelStartB}% Draw label
- \stepcounter{pmdraw@labelStartB}% Update label counter
+ \ifnum\pmdraw@drawNoVertexBa=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBb=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBc=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBd=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBe=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBf=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBg=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBh=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexBi=\x\else% If not skipping vertex
+ \pmdraw@drawVertex{\x + \value{pmdraw@blankB}}{0}% Draw lower vertex
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
\fi%
+ \ifnum\pmdraw@drawNoLabelBa=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBb=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBc=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBd=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBe=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBf=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBg=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBh=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelBi=\x\else% If not skipping label
+ \ifnum\pmdraw@ifLabelsB=1% If drawing labels
+ \pmdraw@drawLabelBottom{\x + \value{pmdraw@blankT}}{0}{\thepmdraw@labelStartB}% Draw label
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \stepcounter{pmdraw@labelStartB}% Update label counter
}%
}
\newcommand{\pmdraw@drawBrickInit}[1]{% Initialises the drawing of a brick
@@ -708,53 +973,269 @@
\setkeys{pmdraw@brick}{levels,#1}% Processes options and set default levels
\pmdraw@hookBeforeBrick% Hook before drawing brick
\ifnum\pmdraw@ifEdgesFirst=0% If drawing vertices first
- \pmdraw@drawTopVertices% Draw base diagram
- \pmdraw@drawBottomVertices% Draw base diagram
- \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
- \pmdraw@UedgesLoop% Draws upper edges
- #2%
- \pmdEmpty%
- \pmdraw@LedgesLoop% Draws lower edges
- #3%
- \pmdEmpty%
- \pmdraw@TedgesLoop% Draws transversals
- #4%
- \pmdEmpty%
- \else% If drawing transversal first
- \pmdraw@TedgesLoop% Draws transversals
- #4%
- \pmdEmpty%
- \pmdraw@UedgesLoop% Draws upper edges
- #2%
- \pmdEmpty%
- \pmdraw@LedgesLoop% Draws lower edges
- #3%
- \pmdEmpty%
- \fi%
+ \@ifclassloaded{beamer}{% If in beamer
+ \uncover<\pmdraw@verticesTopUncover>{% Uncovers top vertices
+ \ifnum\value{pmdraw@ifVerticesTop}=0% If drawing top vertices
+ \pmdraw@drawTopVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawTopVertices% Draw base diagram
+ }%
+ \fi%
+ }%
+ \uncover<\pmdraw@verticesBottomUncover>{% Uncovers bottom vertices
+ \ifnum\value{pmdraw@ifVerticesBottom}=0% If drawing bottom vertices
+ \pmdraw@drawBottomVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawBottomVertices% Draw base diagram
+ }%
+ \fi%
+ }%
+ \uncover<\pmdraw@edgesUncover>{% Uncovers edges
+ \ifnum\value{pmdraw@ifEdges}=0% If drawing edges
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ \else% If hiding edges
+ \phantom{%
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ }%
+ \fi%
+ }%
+ }{% If not in beamer
+ \ifnum\value{pmdraw@ifVerticesTop}=0% If drawing top vertices
+ \pmdraw@drawTopVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawTopVertices% Draw base diagram
+ }%
+ \fi%
+ \ifnum\value{pmdraw@ifVerticesBottom}=0% If drawing bottom vertices
+ \pmdraw@drawBottomVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawBottomVertices% Draw base diagram
+ }%
+ \fi%
+ \ifnum\value{pmdraw@ifEdges}=0% If drawing edges
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ \else% If hiding edges
+ \phantom{%
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ }%
+ \fi%
+ }%
\else% If drawing edges first
- \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
- \pmdraw@UedgesLoop% Draws upper edges
- #2%
- \pmdEmpty%
- \pmdraw@LedgesLoop% Draws lower edges
- #3%
- \pmdEmpty%
- \pmdraw@TedgesLoop% Draws transversals
- #4%
- \pmdEmpty%
- \else% If drawing transversal first
- \pmdraw@TedgesLoop% Draws transversals
- #4%
- \pmdEmpty%
- \pmdraw@UedgesLoop% Draws upper edges
- #2%
- \pmdEmpty%
- \pmdraw@LedgesLoop% Draws lower edges
- #3%
- \pmdEmpty%
- \fi%
- \pmdraw@drawTopVertices% Draw base diagram
- \pmdraw@drawBottomVertices% Draw base diagram
+ \@ifclassloaded{beamer}{% If in beamer
+ \uncover<\pmdraw@edgesUncover>{% Uncovers edges
+ \ifnum\value{pmdraw@ifEdges}=0% If drawing edges
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ \else% If hiding edges
+ \phantom{%
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ }%
+ \fi%
+ }%
+ \uncover<\pmdraw@verticesTopUncover>{% Uncovers top vertices
+ \ifnum\value{pmdraw@ifVerticesTop}=0% If drawing top vertices
+ \pmdraw@drawTopVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawTopVertices% Draw base diagram
+ }%
+ \fi%
+ }%
+ \uncover<\pmdraw@verticesBottomUncover>{% Uncovers bottm vertices
+ \ifnum\value{pmdraw@ifVerticesBottom}=0% If drawing bottom vertices
+ \pmdraw@drawBottomVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawBottomVertices% Draw base diagram
+ }%
+ \fi%
+ }%
+ }{% If not in beamer
+ \ifnum\value{pmdraw@ifEdges}=0% If drawing edges
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ \else% If hiding edges
+ \phantom{%
+ \ifnum\pmdraw@ifTedgesFirst=0% If drawing non-transversals first
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \else% If drawing transversal first
+ \pmdraw@TedgesLoop% Draws transversals
+ #4%
+ \pmdEmpty%
+ \pmdraw@UedgesLoop% Draws upper edges
+ #2%
+ \pmdEmpty%
+ \pmdraw@LedgesLoop% Draws lower edges
+ #3%
+ \pmdEmpty%
+ \fi%
+ }%
+ \fi%
+ \ifnum\value{pmdraw@ifVerticesTop}=0% If drawing top vertices
+ \pmdraw@drawTopVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawTopVertices% Draw base diagram
+ }%
+ \fi%
+ \ifnum\value{pmdraw@ifVerticesBottom}=0% If drawing bottom vertices
+ \pmdraw@drawBottomVertices% Draw base diagram
+ \else% If hiding top vertices
+ \phantom{%
+ \pmdraw@drawBottomVertices% Draw base diagram
+ }%
+ \fi%
+ }%
\fi%
\pmdraw@hookAfterBrick% Hook after drawing brick
% Resets user keys and other flags to default values
@@ -767,6 +1248,42 @@
\renewcommand{\pmdraw@drawLabelTDrawOptions}{}%
\renewcommand{\pmdraw@drawLabelTNodeOptions}{}%
\renewcommand{\pmdraw@drawLedgesDrawOptions}{}%
+ \renewcommand{\pmdraw@drawNoLabelBa}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBb}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBc}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBd}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBe}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBf}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBg}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBh}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelBi}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTa}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTb}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTc}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTd}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTe}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTf}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTg}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTh}{-1}%
+ \renewcommand{\pmdraw@drawNoLabelTi}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBa}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBb}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBc}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBd}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBe}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBf}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBg}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBh}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexBi}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTa}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTb}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTc}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTd}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTe}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTf}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTg}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTh}{-1}%
+ \renewcommand{\pmdraw@drawNoVertexTi}{-1}%
\renewcommand{\pmdraw@drawTedgesDrawOptions}{}%
\renewcommand{\pmdraw@drawUedgesDrawOptions}{}%
\renewcommand{\pmdraw@drawVertexOptions}{}%
@@ -776,6 +1293,9 @@
\renewcommand{\pmdraw@ifLabelsB}{0}%
\renewcommand{\pmdraw@ifLabelsT}{0}%
\renewcommand{\pmdraw@ifTedgesFirst}{0}%
+ \renewcommand{\pmdraw@edgesUncover}{1-}%
+ \renewcommand{\pmdraw@verticesBottomUncover}{1-}%
+ \renewcommand{\pmdraw@verticesTopUncover}{1-}%
\let\pmdraw@drawLabelBottom\pmdraw@drawLabelBottomDefault%
\let\pmdraw@drawLabelTop\pmdraw@drawLabelTopDefault%
\let\pmdraw@drawLabelBottom\pmdraw@drawLabelBottomDefault%
@@ -783,6 +1303,9 @@
\setcounter{pmdraw@blankT}{0}%
\setcounter{pmdraw@labelStartB}{1}%
\setcounter{pmdraw@labelStartT}{1}%
+ \setcounter{pmdraw@ifEdges}{0}%
+ \setcounter{pmdraw@ifVerticesBottom}{0}%
+ \setcounter{pmdraw@ifVerticesTop}{0}%
}
\newcommand{\pmdraw@drawLedges}[3][]{% Draws lower non-transversal edge, #1 options, #2 L vertex, #3 R vertex
\setcounter{pmdraw@NTlevel}{1}% Store default level of edge
@@ -796,28 +1319,105 @@
\pmdraw{edgeHeight}=\pmdraw@NTedgesHeight;% Set manual height
}%
\fi%
- \pmdraw@drawLedgesDraw{#2}{#3}% Draw edge
+ \@ifclassloaded{beamer}{% If in beamer
+ \uncover<\pmdraw@edgeUncover>{% Uncovers edge
+ \ifnum\value{pmdraw@ifEdge}=0% If drawing edge
+ \pmdraw@drawLedgesDraw{#2}{#3}% Draw edge
+ \else% If hiding edge
+ \phantom{%
+ \pmdraw@drawLedgesDraw{#2}{#3}% Draw edge
+ }%
+ \fi%
+ }%
+ }{% If not in beamer
+ \ifnum\value{pmdraw@ifEdge}=0% If drawing edge
+ \pmdraw@drawLedgesDraw{#2}{#3}% Draw edge
+ \else% If hiding edge
+ \phantom{%
+ \pmdraw@drawLedgesDraw{#2}{#3}% Draw edge
+ }%
+ \fi%
+ }%
% Resets user keys and other flags to default values
\renewcommand{\pmdraw@NTedgesHeight}{-1000}%
+ \renewcommand{\pmdraw@edgeUncover}{1-}%
+ \setcounter{pmdraw@ifEdge}{0}%
\let\pmdraw@drawLedgesDraw\pmdraw@drawLedgesDrawDefault%
\pmdraw@LedgesLoop% Restart for loop
}
\newcommand{\pmdraw@drawTedges}[3][]{% Draws transversal edge, #1 options, #2 upper vertex, #3 lower vertex
\setkeys{pmdraw@Tedges}{#1}% Processes options
- \pmdraw@drawTedgesDraw{#2}{#3}% Draw edge
- \let\pmdraw@drawTedgesDraw\pmdraw@drawTedgesDrawDefault% Resets user keys and other flags to default values
+ \@ifclassloaded{beamer}{% If in beamer
+ \uncover<\pmdraw@edgeUncover>{% Uncovers edge
+ \ifnum\value{pmdraw@ifEdge}=0% If drawing edge
+ \pmdraw@drawTedgesDraw{#2}{#3}% Draw edge
+ \else% If hiding edge
+ \phantom{%
+ \pmdraw@drawTedgesDraw{#2}{#3}% Draw edge
+ }%
+ \fi%
+ }%
+ }{% If not in beamer
+ \ifnum\value{pmdraw@ifEdge}=0% If drawing edge
+ \pmdraw@drawTedgesDraw{#2}{#3}% Draw edge
+ \else% If hiding edge
+ \phantom{%
+ \pmdraw@drawTedgesDraw{#2}{#3}% Draw edge
+ }%
+ \fi%
+ }%
+ % Resets user keys and other flags to default values
+ \renewcommand{\pmdraw@edgeUncover}{1-}%
+ \setcounter{pmdraw@ifEdge}{0}%
+ \let\pmdraw@drawTedgesDraw\pmdraw@drawTedgesDrawDefault%
\pmdraw@TedgesLoop% Restart for loop
}
\newcommand{\pmdraw@drawTopVertices}{% Draws top row of vertices
- \setcounter{pmdraw@topTotal}{\value{pmdraw@blankT}}% Store size of top row of vertices
- \addtocounter{pmdraw@topTotal}{\value{pmdraw@degreeT}}% Store size of top row of vertices
- \foreach \x in {1,...,\value{pmdraw@degreeT}} {% For each vertex in row
- \pmdraw@drawVertex{\x + \value{pmdraw@blankT}}{\pmdraw@rowSep}% Draw upper vertex
- \ifnum\pmdraw@ifLabelsT=1% If drawing labels
- \pmdraw@drawLabelTop{\x + \value{pmdraw@blankT}}{\pmdraw@rowSep}{\thepmdraw@labelStartT}% Draw label
- \stepcounter{pmdraw@labelStartT}% Update label counter
- \fi%
- }%
+ \setcounter{pmdraw@topTotal}{\value{pmdraw@blankT}}% Store size of top row of vertices
+ \addtocounter{pmdraw@topTotal}{\value{pmdraw@degreeT}}% Store size of top row of vertices
+ \foreach \x in {1,...,\value{pmdraw@degreeT}} {% For each vertex in row
+ \ifnum\pmdraw@drawNoVertexTa=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTb=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTc=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTd=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTe=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTf=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTg=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTh=\x\else% If not skipping vertex
+ \ifnum\pmdraw@drawNoVertexTi=\x\else% If not skipping vertex
+ \pmdraw@drawVertex{\x + \value{pmdraw@blankT}}{\pmdraw@rowSep}% Draw upper vertex
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum\pmdraw@drawNoLabelTa=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTb=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTc=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTd=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTe=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTf=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTg=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTh=\x\else% If not skipping label
+ \ifnum\pmdraw@drawNoLabelTi=\x\else% If not skipping label
+ \ifnum\pmdraw@ifLabelsT=1% If drawing labels
+ \pmdraw@drawLabelTop{\x + \value{pmdraw@blankT}}{\pmdraw@rowSep}{\thepmdraw@labelStartT}% Draw label
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \stepcounter{pmdraw@labelStartT}% Update label counter
+ }%
}
\newcommand{\pmdraw@drawUedges}[3][]{% Draws upper non-transversal edge, #1 options, #2 L vertex, #3 R vertex
\setcounter{pmdraw@NTlevel}{1}% Store default level of edge
@@ -831,9 +1431,29 @@
\pmdraw{edgeHeight}=\pmdraw@rowSep-\pmdraw@NTedgesHeight;% Set manual height
}%
\fi%
- \pmdraw@drawUedgesDraw{#2}{#3}% Draw edge
+ \@ifclassloaded{beamer}{% If in beamer
+ \uncover<\pmdraw@edgeUncover>{% Uncovers edge
+ \ifnum\value{pmdraw@ifEdge}=0% If drawing edge
+ \pmdraw@drawUedgesDraw{#2}{#3}% Draw edge
+ \else% If hiding edge
+ \phantom{%
+ \pmdraw@drawUedgesDraw{#2}{#3}% Draw edge
+ }%
+ \fi%
+ }%
+ }{% If not in beamer
+ \ifnum\value{pmdraw@ifEdge}=0% If drawing edge
+ \pmdraw@drawUedgesDraw{#2}{#3}% Draw edge
+ \else% If hiding edge
+ \phantom{%
+ \pmdraw@drawUedgesDraw{#2}{#3}% Draw edge
+ }%
+ \fi%
+ }%
% Resets user keys and other flags to default values
\renewcommand{\pmdraw@NTedgesHeight}{-1000}%
+ \renewcommand{\pmdraw@edgeUncover}{1-}%
+ \setcounter{pmdraw@ifEdge}{0}%
\let\pmdraw@drawLedgesDraw\pmdraw@drawLedgesDrawDefault%
\let\pmdraw@drawUedgesDraw\pmdraw@drawUedgesDrawDefault%
\pmdraw@UedgesLoop% Restart for loop
diff --git a/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.code.tex b/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.code.tex
index cd005323bf6..ede63f21366 100644
--- a/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.code.tex
+++ b/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.code.tex
@@ -1,11 +1,13 @@
%% code part of frkim
+%% v1.1 (\AddRule extended, \RenewVowels added)
%% v1.0.2 (\frkhangulfont, \bf)
%% v1.0.1 (\AddRule)
-%% v1.1 (\jamoul)
+%% v1.1 (\jamoul)
%%
\char_set_catcode_other:N \@
\clist_const:Nn \c_hgvow_clist { a, e, o, u, y, i, @, * }
+\tl_set:Nn \zero_const { x }
\tl_new:N \g_cho_tl
\tl_new:N \g_jun_tl
@@ -175,7 +177,7 @@
{ 0 } {%%% 직전이 0이면 초성 확정
\tl_if_empty:NT \l_currtk_tl %%% 어두에 모음 => 초성을 'ㅇ'으로
{
- \tl_set:Nn \l_currtk_tl { x }
+ \tl_set:No \l_currtk_tl { \zero_const }
}
\tl_gset:NV \g_cho_tl \l_currtk_tl
@@ -390,32 +392,33 @@
{
\bool_if:NF \opt_zeroisx_bool
{
- \regex_replace_all:nnN { ' } { x } \g_cho_tl
+ \exp_args:Nno
+ \regex_replace_all:nnN { ' } { \zero_const } \g_cho_tl
}
\tl_if_empty:NF \g_cho_tl
{
- \prop_get:NVNTF \c_frkcho_prop \g_cho_tl \l_tmpone_tl
+ \prop_get:NVNTF \l_usercho_prop \g_cho_tl \l_tmpone_tl
{ \tl_use:N \l_tmpone_tl }
{
- \prop_get:NVNT \l_usercho_prop \g_cho_tl \l_tmpone_tl
+ \prop_get:NVNT \c_frkcho_prop \g_cho_tl \l_tmpone_tl
{ \tl_use:N \l_tmpone_tl }
}
}
\tl_if_empty:NF \g_jun_tl
{
- \prop_get:NVNTF \c_frkjung_prop \g_jun_tl \l_tmptwo_tl
+ \prop_get:NVNTF \l_userjung_prop \g_jun_tl \l_tmptwo_tl
{ \tl_use:N \l_tmptwo_tl }
{
- \prop_get:NVNT \l_userjung_prop \g_jun_tl \l_tmptwo_tl
+ \prop_get:NVNT \c_frkjung_prop \g_jun_tl \l_tmptwo_tl
{ \tl_use:N \l_tmptwo_tl }
}
}
\tl_if_empty:NF \g_jon_tl
{
- \prop_get:NVNTF \c_frkjong_prop \g_jon_tl \l_tmpthr_tl
+ \prop_get:NVNTF \l_userjong_prop \g_jon_tl \l_tmpthr_tl
{ \tl_use:N \l_tmpthr_tl }
{
- \prop_get:NVNT \l_userjong_prop \g_jon_tl \l_tmpthr_tl
+ \prop_get:NVNT \c_frkjong_prop \g_jon_tl \l_tmpthr_tl
{ \tl_use:N \l_tmpthr_tl }
}
}
@@ -594,4 +597,14 @@
{ \par }
}
+\NewDocumentCommand \RenewVowels { m }
+{
+ \clist_set:Nn \c_hgvow_clist { @, *, #1 }
+}
+
+\NewDocumentCommand \RenewLeadingZero { m }
+{
+ \tl_set:Nn \zero_const { #1 }
+}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.sty b/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.sty
index 527577d42f3..eb0e3207ea3 100644
--- a/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.sty
+++ b/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-frkim.sty
@@ -7,8 +7,8 @@
%%
\ProvidesExplPackage
{pmhanguljamo-frkim}
- {2023/03/01}
- {v0.6.1}
+ {2024/06/10}
+ {v0.7}
{Korean ROMAJI Input Method: Fukui Rei's HangulTeX}
\RequirePackage{l3keys2e}
diff --git a/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty b/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty
index 2fb9addc251..1ba19fb85da 100644
--- a/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty
+++ b/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty
@@ -2,7 +2,7 @@
%%
%% Poorman's Hangul Jamo Input Method.
%%
-%% (C) 2020-2023 Kangsoo Kim
+%% (C) 2020-2024 Kangsoo Kim
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -23,8 +23,8 @@
\RequirePackage{xparse}
\ProvidesExplPackage
{pmhanguljamo}
- {2023/03/03}
- {v1.0.2}
+ {2024/06/10}
+ {v1.1}
{Poorman's Hangul Jamo Input Method}
\RequirePackage{l3keys2e}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty b/Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty
index c45aa22a654..b5c37d61db3 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty
@@ -43,24 +43,23 @@
\fi
}
\def\abjad@zero{}
-\def\abjad@three{ج\ifabjad@jim@notail\char"200D\fi}
+\def\abjad@one{ا}
+\def\abjad@three{ج\ifabjad@jim@notail\Uchar"200D\fi}
\def\abj@num@i@iso#1{%
- \ifcase#1\or ا\or ب\or\abjad@three\or د%
- \or ه\char"200D\or و\or ز\or ح\or ط\fi%
- \ifnum#1=\z@\abjad@zero\fi}
+ \ifcase#1\abjad@zero\or \abjad@one\or ب\or\abjad@three\or د%
+ \or ه\Uchar"200D\or و\or ز\or ح\or ط\fi}
\def\abj@num@i#1{%
- \ifcase#1\or ا\or ب\or\abjad@three\or د%
- \or ه\or و\or ز\or ح\or ط\fi%
- \ifnum#1=\z@\abjad@zero\fi}
+ \ifcase#1\abjad@zero\or\abjad@one\or ب\or\abjad@three\or د%
+ \or ه\or و\or ز\or ح\or ط\fi}
\def\abj@num@ii#1{%
\ifcase#1\or ي\or ك\or ل\or م\or ن%
- \or س\or ع\or ف\or ص\fi%
- \ifnum#1=\z@\fi\abj@num@i}
+ \or س\or ع\or ف\or ص\fi
+ \abj@num@i}
\def\abj@num@iii#1{%
\ifcase#1\or ق\or ر\or ش\or ت\or ث%
- \or خ\or ذ\or ض\or ظ\fi%
- \ifnum#1=\z@\fi\abj@num@ii}
+ \or خ\or ذ\or ض\or ظ\fi
+ \abj@num@ii}
\def\abj@num@iv#1{%
\ifcase#1\or غ\fi
- \ifnum#1=\z@\fi\abj@num@iii}
+ \abj@num@iii}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/cal-util.def b/Master/texmf-dist/tex/latex/polyglossia/cal-util.def
index 85576f39f71..fa6e325029e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/cal-util.def
+++ b/Master/texmf-dist/tex/latex/polyglossia/cal-util.def
@@ -45,7 +45,7 @@
%% This is an algorithm from Reingold & Dershowitz,
-%% Calendrical Calculations, The Millenium Edition
+%% Calendrical Calculations, The Millennium Edition
%%
\def\@FixedFromGregorian#1#2#3#4{%
\setcounter{tmpA}{(#1-1)*365}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-acadian.ldf
index 36d3136d29b..c231e80f342 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-acadian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
% We provide this as a babel alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf
index 2e1a3a0719a..7029af6bf65 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf
index f47e9adcbda..baa1c8c0282 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{afrikaans}
+\InheritGlossFile{afrikaans}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf
index 7eb4a47a7dd..41b672984bb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf
index 33d1f12831c..653d10b5dda 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
@@ -16,22 +16,21 @@
% BCP-47 compliant aliases
\setlanguagealias*{afrikaans}{af}
-\define@boolkey{afrikaans}[afrikaans@]{babelshorthands}[true]{}
-
+\DeclareKeys[polyglossia/gloss/afrikaans]
+ {
+ babelshorthands.if = afrikaans@babelshorthands,
+ babelshorthands.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{afrikaans}{babelshorthands=false}
+\InitializeGlossOptions{afrikaans}{babelshorthands=false}
\ifsystem@babelshorthands
- \setkeys{afrikaans}{babelshorthands=true}
+ \SetGlossOptions{afrikaans}{babelshorthands=true}
\else
- \setkeys{afrikaans}{babelshorthands=false}
+ \SetGlossOptions{afrikaans}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\afrikaans@shorthands{%
\xpg@activate@shorthands%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
index 06a4cd6c681..bbfbb2e7576 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf
index 649198b3789..e5a358a17e8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{amharic}
+\InheritGlossFile{amharic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf
index f456ab17a0e..2531eb7c587 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
index 38c225672ac..aebbd10989a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
\PolyglossiaSetup{amharic}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf
index b52bfa6942c..54cb4d4b6eb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf
index 22340aeff1c..3583fd12ccb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar,bcp47-region=IQ}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf
index 83fd1b49ad9..bd140fb026c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-JO,bcp47-language=ar,bcp47-region=JO}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf
index 69a13896196..538e6a5a90a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-LB,bcp47-language=ar,bcp47-region=LB}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf
index 6176cfabdcb..471dad5d12b 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf
index 821d107bbc9..8158dca6e94 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-PS,bcp47-language=ar,bcp47-region=PS}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf
index f736606934f..b437f61e191 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-SY,bcp47-language=ar,bcp47-region=SY}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf
index 06759e39b51..4eef25a7166 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar,bcp47-region=YE}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf
index f35c8e67727..84a751f2fc0 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
index 3d478f02757..885fe3d02e8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
\RequireBidi
@@ -38,104 +38,112 @@
\setlanguagealias*[locale=default]{arabic}{apd}
\setlanguagealias*[locale=mashriq]{arabic}{ar-PS}
-\define@boolkey{arabic}[arabic@]{abjadalph}[true]{}
-
\newif\ifeastern@numerals
-\define@choicekey*+{arabic}{numerals}[\xpg@val\xpg@nr]{mashriq,maghrib,eastern,western}[mashriq]{%
- \ifcase\xpg@nr\relax
- % mashriq:
- \eastern@numeralstrue%
- \or
- % maghrib:
- \eastern@numeralsfalse
- \or
- % eastern:
- \eastern@numeralstrue%
- \or
- % western:
- \eastern@numeralsfalse
- \fi
- \xpg@info{Option: Arabic, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Arabic numerals option `#1'}}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{arabic}[arabic@]{abjadjimnotail}[true]{%
- \ifarabic@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi}
-
-\define@choicekey*+{arabic}{locale}[\xpg@val\xpg@nr]{default,mashriq,libya,algeria,tunisia,morocco,mauritania}[default]{%
- \ifcase\xpg@nr\relax
- % default:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
- \xpg@info{Option: arabic, locale=default}%
- \or
- % mashriq:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
- \xpg@info{Option: arabic, locale=mashriq}%
- \or
- % libya:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
- \xpg@info{Option: arabic, locale=libya}%
- \or
- % algeria:
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
- \xpg@info{Option: arabic, locale=algeria}%
- \or
- % tunisia:
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
- \xpg@info{Option: arabic, locale=tunisia}%
- \or
- % morocco:
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
- \xpg@info{Option: arabic, locale=morocco}%
- \or
- % mauritania:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
- \xpg@info{Option: arabic, locale=mauritania}%
- \fi
- \gdef\@@arabic@month{\@arabic@month{#1}}
- }{\xpg@warning{Unknown Arabic locale `#1'}}
-
\newif\if@hijrical
-\define@choicekey*+{arabic}{calendar}[\xpg@val\xpg@nr]{gregorian,hijri,islamic}[gregorian]{%
- \ifcase\xpg@nr\relax
- % gregorian:
- \@hijricalfalse
- \or
- % hijri:
- \@hijricaltrue
- \or
- % islamic:
- \@hijricaltrue
- \fi
- \xpg@info{Option: Arabic, calendar=\xpg@val}%
-}{\xpg@warning{Unknown Arabic calendar option `#1'}}
-
-
-\define@key{arabic}{hijricorrection}[0]{%
- \gdef\arabic@hijri@correction{#1}}%
-
\newif\ifarabic@customsep\arabic@customsepfalse
-\def\xpg@sepmark{}
-\define@key{arabic}{sectionsep}[.]{%
- \arabic@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
+
+\DeclareKeys[polyglossia/gloss/arabic]
+ {
+ hijricorrection.code = \gdef\arabic@hijri@correction{#1},
+ hijricorrection.default:n = 0,
+ sectionsep.code = \gdef\xpg@sepmark{#1}\arabic@customseptrue,
+ sectionsep.default:n = .,
+ abjadalph.if = arabic@abjadalph,
+ abjadalph.default:n = true,
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ numerals.choice:,
+ numerals / mashriq.code =
+ {%
+ \eastern@numeralstrue
+ },
+ numerals / maghrib.code =
+ {%
+ \eastern@numeralsfalse
+ },
+ numerals / eastern.code =
+ {%
+ \eastern@numeralstrue
+ },
+ numerals / western.code =
+ {%
+ \eastern@numeralsfalse
+ },
+ numerals.default:n = mashriq,
+ numerals/unknown.code = \xpg@warning{Unknown Arabic numerals option `#1'},
+ locale.choice:,
+ locale / default.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / mashriq.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / libya.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / algeria.code =
+ {%
+ \eastern@numeralsfalse
+ \def\abjad@one{أ}%
+ \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / tunisia.code =
+ {%
+ \eastern@numeralsfalse
+ \def\abjad@one{أ}%
+ \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / morocco.code =
+ {%
+ \eastern@numeralsfalse
+ \def\abjad@one{أ}%
+ \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / mauritania.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale.default:n = default,
+ locale/unknown.code = \xpg@warning{Unknown Arabic locale `#1'},
+ calendar.choice:,
+ calendar / gregorian.code =
+ {%
+ \@hijricalfalse
+ },
+ calendar / hijri.code =
+ {%
+ \@hijricaltrue
+ },
+ calendar / islamic.code =
+ {%
+ \@hijricaltrue
+ },
+ calendar.default:n = gregorian,
+ calendar/unknown.code = \xpg@warning{Unknown Arabic calendar option `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
+\InitializeGlossOptions{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
% Register alias options
-\xpg@set@alias@values{arabic}{calendar}{islamic}{hijri}
+\SetLanguageAliasValues{arabic}{calendar}{islamic,hijri}
\def\arabicgregmonth@default#1{\ifcase#1%
% Egypt, Sudan, Yemen and Golf states
@@ -155,9 +163,12 @@
\def\arabicgregmonth@mauritania#1{\ifcase#1%
\or يناير\or فبراير\or مارس\or إبريل\or مايو\or يونيو\or يوليو\or أغشت\or شتمبر\or أكتوبر\or نوفمبر\or دجمبر\fi}
-\def\@arabic@month#1{\ifcsdef{arabicgregmonth@#1}{\expandafter\csname arabicgregmonth@#1\endcsname}%
-{\xpg@warning{Option `locale=#1' is not defined for Arabic: using `default' instead}%
-\arabicgregmonth@default}}
+\def\@arabic@month#1{%
+ \@ifundefined{arabicgregmonth@#1}%
+ {\xpg@warning{Option `locale=#1' is not defined for Arabic: using `default' instead}%
+ \arabicgregmonth@default}%
+ {\expandafter\csname arabicgregmonth@#1\endcsname}%
+}
%\Hijritoday is now locale-aware and will format the date with this macro:
\DefineFormatHijriDate{arabic}{\@ensure@RTL{\arabicnumber{\value{Hijriday}}%
@@ -189,18 +200,18 @@
}
\def\datearabic{%
\def\today{%
- \if@hijrical%
+ \if@hijrical
\Hijritoday[\arabic@hijri@correction]%
\else%
- \if@RTL%
+ \if@RTL
\arabicnumber\day\space\@@arabic@month{\month}%
\space\arabicnumber\year%
\else% in LR environment we format the gregorian date within \textenglish
- \ifcsdef{english@loaded}{\textenglish{\today}}%else US format
- {\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
+ \iflanguageloaded{english}{\textenglish{\today}}%else US format
+ {\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
\space\number\day,\space\number\year}%
- \fi%
+ \fi
\fi}}
% Use \providecommand here as the ldf file might
@@ -226,10 +237,9 @@
\or ح\or ط\or ي\or ك\or ل\or م\or ن%
\or س\or ع\or ف\or ص\or ق\or ر\or ش%
\or ت\or ث\or خ\or ذ\or ض\or ظ\or غ%
- \else\xpg@ill@value{#1}{arabic@abjad@alph}\fi%
+ \else\xpg@ill@value{#1}{arabic@abjad@alph}\fi
}
-
\def\abjadmaghribi#1{%
\ifnum#1>1999\xpg@ill@value{#1}{abjad}%
\else
@@ -252,111 +262,111 @@
%maghribi س -> ص ص -> ض ش -> س ض -> ظ ظ -> غ غ -> ش
\def\abj@maghribi@num@ii#1{%
- \ifcase#1\or ي\or ك\or ل\or م\or ن%
+ \ifcase#1\abjad@zero\or ي\or ك\or ل\or م\or ن%
\or ص\or ع\or ف\or ض\fi
- \ifnum#1=\z@\abjad@zero\fi\abj@num@i}
+ \abj@num@i}
\def\abj@maghribi@num@iii#1{%
\ifcase#1\or ق\or ر\or س\or ت\or ث%
\or خ\or ذ\or ظ\or غ\fi
- \ifnum#1=\z@\fi\abj@maghribi@num@ii}
+ \abj@maghribi@num@ii}
\def\abj@maghribi@num@iv#1{%
\ifcase#1\or ش\fi
- \ifnum#1=\z@\fi\abj@maghribi@num@iii}
+ \abj@maghribi@num@iii}
\def\arabic@numbers{%
\ifarabic@abjadalph
- \let\@alph\abjadalph%
- \let\@Alph\abjadalph%
+ \let\@alph\abjadalph
+ \let\@Alph\abjadalph
\else
- \let\@alph\abjad%
- \let\@Alph\abjad%
+ \let\@alph\abjad
+ \let\@Alph\abjad
\fi
}
\def\noarabic@numbers{%
- \let\@alph\latin@alph%
- \let\@Alph\latin@Alph%
+ \let\@alph\latin@alph
+ \let\@Alph\latin@Alph
}
% Store original definition
\let\xpg@save@arabic\@arabic
\def\arabic@globalnumbers{%
- \let\@arabic\arabicnumber%
+ \let\@arabic\arabicnumber
\renewcommand\thefootnote{\localnumeral*{footnote}}%
\renewcommand\theequation{\localnumeral*{equation}}%
}
\def\noarabic@globalnumbers{%
- \let\@arabic\xpg@save@arabic%
+ \let\@arabic\xpg@save@arabic
}
\def\arabic@xetex@capsformat{%
- \let\xpg@save@sepmark\@SepMark%
+ \let\xpg@save@sepmark\@SepMark
\SepMark{\xpg@sepmark}
}
\def\noarabic@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi
}
\def\arabic@luatex@capsformat{%
%
% change chapter and part headings
\ifarabic@customsep
- \ifcsdef{chapter}{%
- \let\xpg@save@thesection\thesection%
+ \ifcsname chapter\endcsname
+ \let\xpg@save@thesection\thesection
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
- \let\xpg@save@theequation\theequation%
+ \let\xpg@save@theequation\theequation
\renewcommand*\theequation{%
\ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
- \let\xpg@save@thefigure\thefigure%
+ \let\xpg@save@thefigure\thefigure
\renewcommand*\thefigure{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
- \let\xpg@save@thetable\thetable%
+ \let\xpg@save@thetable\thetable
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
- \let\xpg@save@thesubsection\thesubsection%
+ \fi
+ \let\xpg@save@thesubsection\thesubsection
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
- \let\xpg@save@thesubsubsection\thesubsubsection%
+ \let\xpg@save@thesubsubsection\thesubsubsection
\renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
- \let\xpg@save@theparagraph\theparagraph%
+ \let\xpg@save@theparagraph\theparagraph
\renewcommand\theparagraph
{\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
- \let\xpg@save@thesubparagraph\thesubparagraph%
+ \let\xpg@save@thesubparagraph\thesubparagraph
\renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
- \fi% (end \ifarabic@customsep)
+ \fi % (end \ifarabic@customsep)
}
\def\noarabic@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
- \let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
- \let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
- \let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
- \let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
- \let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
- \let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
- \let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
- \let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \ifcsname xpg@save@thesection\endcsname
+ \let\thesection\xpg@save@thesection
+ \fi
+ \ifcsname xpg@save@theequation\endcsname
+ \let\theequation\xpg@save@theequation
+ \fi
+ \ifcsname xpg@save@thefigure\endcsname
+ \let\thefigure\xpg@save@thefigure
+ \fi
+ \ifcsname xpg@save@thetable\endcsname
+ \let\thetable\xpg@save@thetable
+ \fi
+ \ifcsname xpg@save@thesubsection\endcsname
+ \let\thesubsection\xpg@save@thesubsection
+ \ifcsname xpg@save@thesubsubsection\endcsname
+ \let\thesubsubsection\xpg@save@thesubsubsection
+ \fi
+ \fi
+ \ifcsname xpg@save@theparagraph\endcsname
+ \let\theparagraph\xpg@save@theparagraph
+ \fi
+ \ifcsname xpg@save@thesubparagraph\endcsname
+ \let\thesubparagraph\xpg@save@thesubparagraph
+ \fi
}
\def\blockextras@arabic{%
@@ -368,7 +378,7 @@
\fi
\fi
}
-%
+
\def\noextras@arabic{%
\ifarabic@customsep
\ifxetex
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
index ea904ad5e3a..0770300480f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
@@ -21,43 +21,49 @@
\newif\if@eastern@armenian
\@eastern@armenianfalse
-\define@choicekey*+{armenian}{variant}[\xpg@val\xpg@nr]{western,eastern}[western]{%
- \ifcase\xpg@nr\relax
- % western:
- \@eastern@armenianfalse%
- \or
- % eastern:
- \@eastern@armeniantrue%
- \fi
- \xpg@info{Option: Armenian, variant=\xpg@val}%
-}{\xpg@warning{Unknown Armenian variant `#1'}}
\newif\if@armenian@numerals
\@armenian@numeralsfalse
-\define@key{armenian}{numerals}[armenian]{%
- \ifstrequal{#1}{arabic}{%
- \@armenian@numeralsfalse%
- \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
- }{%
- \@armenian@numeralstrue%
- \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
- }%
-}
-\define@boolkey{armenian}[armenian@]{capitalyiwn}[true]{%
- \ifarmenian@capitalyiwn
- % MakeUppercase capitalizes the ligature of letters ech and yiwn (U+0587)
- % to capital ech and yiwn (also the output if Armenian is not selected at all)
- \SetLanguageKeys{armenian}{bcp47-casing=hy-x-yiwn,bcp47-extension-x=yiwn}
- \else
- % Capitalize ech and yiwn ligature to capital ech and vew,
- % following Armenian spelling reform
- \SetLanguageKeys{armenian}{bcp47-casing=hy,bcp47-extension-x={}}
- \fi
-}
+\DeclareKeys[polyglossia/gloss/armenian]
+ {
+ variant.choice:,
+ variant / western.code =
+ {%
+ \@eastern@armenianfalse
+ },
+ variant / eastern.code =
+ {%
+ \@eastern@armeniantrue
+ },
+ variant.default:n = western,
+ variant/unknown.code = \xpg@warning{Unknown Armenian variant `#1'},
+ numerals.choice:,
+ numerals / armenian.code =
+ {%
+ \@armenian@numeralstrue
+ \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
+ },
+ numerals / arabic.code =
+ {%
+ \@armenian@numeralsfalse
+ \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = armenian,
+ capitalyiwn.choice:,
+ capitalyiwn / true.code =
+ {%
+ \SetLanguageKeys{armenian}{bcp47-casing=hy-x-yiwn,bcp47-extension-x=yiwn}%
+ },
+ capitalyiwn / false.code =
+ {%
+ \SetLanguageKeys{armenian}{bcp47-casing=hy,bcp47-extension-x={}}%
+ },
+ capitalyiwn.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{armenian}{numerals=armenian,variant=western}
+\InitializeGlossOptions{armenian}{numerals=armenian,variant=western}
% Taken from ArmTeX. Audit!
\def\captionsarmenian{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf
index e2ef5273c56..d71e48bd945 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf
index ad64804b5ee..c0b5debd39d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf
index 0dd998cbe5a..41e1cfd5702 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf
index e9f5095fccf..f073cdc632f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{asturian}
+\InheritGlossFile{asturian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
index 44babd93ef5..109a560111f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translated by Xuacu <xuacusk8 at gmail dot com>
% Contributed by Kevin Godby <godbyk at gmail dot com>
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf
index c624020f9ac..d3c85168511 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf
index b7ef2e504b6..b1397542781 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf
index 815db99c2ec..a24eb19c922 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf
index b8a13680aa1..4395a83d2e8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
% We provide this as a babel alias
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
index 37a604e050f..e710b619997 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
% We only provide this gloss for babel compatibility. Since bahasai is
% a malay variety, we use 'malay' with variant 'indonesian' now.
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
index f879535507c..d4c2ea9ec0c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
% We only provide this gloss for babel compatibility. Since bahasam is
% a malay variety, we use 'malay' with variant 'malaysian' now.
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
index b4ab3525f5a..dbff903d788 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
\PolyglossiaSetup{basque}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf
index 02d49ffff15..975f48c0acc 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{belarusian}
+\InheritGlossFile{belarusian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf
index efa0abbd949..666620a671c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{belarusian}
+\InheritGlossFile{belarusian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf
index b5eb8753728..816e5900378 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
@@ -26,63 +26,68 @@
\setlanguagealias*{belarusian}{be}
\def\belarusian@spelling{modern}
-\define@choicekey*+{belarusian}{spelling}[\xpg@val\xpg@nr]{modern,classic,tarask}[modern]{%
- \ifcase\xpg@nr\relax
- % modern:
- \def\belarusian@spelling{modern}%
- \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
- \or
- % classic:
- \def\belarusian@spelling{tarask}%
- \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
- \or
- % tarask:
- \def\belarusian@spelling{tarask}%
- \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
- \fi
-}{\xpg@warning{Unknown Belarusian spelling `#1'}}
-
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{belarusian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \fi
- \xpg@info{Option: Belarusian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Belarusian numerals value `#1'}}
-\define@boolkey{belarusian}[belarusian@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/belarusian]
+ {
+ babelshorthands.if = belarusian@babelshorthands,
+ babelshorthands.default:n = true,
+ spelling.choice:,
+ spelling / modern.code =
+ {%
+ \def\belarusian@spelling{modern}%
+ \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
+ },
+ spelling / classic.code =
+ {%
+ \def\belarusian@spelling{tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
+ },
+ spelling / tarask.code =
+ {%
+ \def\belarusian@spelling{tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
+ },
+ spelling.default:n = modern,
+ spelling/unknown.code = \xpg@warning{Unknown Belarusian spelling `#1'},
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Belarusian numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{belarusian}{babelshorthands=false,numerals=arabic,spelling=modern}
+\InitializeGlossOptions{belarusian}{babelshorthands=false,numerals=arabic,spelling=modern}
% Register alias options
-\xpg@set@alias@values{belarusian}{spelling}{classic}{tarask}
+\SetLanguageAliasValues{belarusian}{spelling}{classic,tarask}
\ifsystem@babelshorthands
- \setkeys{belarusian}{babelshorthands=true}
+ \SetGlossOptions{belarusian}{babelshorthands=true}
\else
- \setkeys{belarusian}{babelshorthands=false}
+ \SetGlossOptions{belarusian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\belarusian@shorthands{%
\xpg@activate@shorthands%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
index bbddce0fe8f..1831fbdf032 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
% TODO implement Bengali calendar
@@ -27,30 +27,36 @@
\newif\ifbengali@devanagari@numerals
\newif\ifbengali@bengali@numerals
-\define@choicekey*+{bengali}{numerals}[\xpg@val\xpg@nr]{Devanagari,Bengali,Western}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Devanagari:
- \bengali@bengali@numeralsfalse%
- \bengali@devanagari@numeralstrue%
- \or
- % Bengali:
- \bengali@bengali@numeralstrue%
- \bengali@devanagari@numeralsfalse%
- \or
- % Western:
- \bengali@bengali@numeralsfalse%
- \bengali@devanagari@numeralsfalse%
- \fi
- \xpg@info{Option: Bengali, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Bengali numeral `#1'}}
\def\extras@bengali{}
\def\noextras@bengali{}
-\define@boolkey{bengali}[bengali@]{changecounternumbering}[true]{}
+\DeclareKeys[polyglossia/gloss/bengali]
+ {
+ changecounternumbering.if = bengali@changecounternumbering,
+ changecounternumbering.default:n = true,
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \bengali@bengali@numeralsfalse
+ \bengali@devanagari@numeralstrue
+ },
+ numerals / bengali.code =
+ {%
+ \bengali@bengali@numeralstrue
+ \bengali@devanagari@numeralsfalse
+ },
+ numerals / western.code =
+ {%
+ \bengali@bengali@numeralsfalse
+ \bengali@devanagari@numeralsfalse
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Bengali numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{bengali}{changecounternumbering=false,numerals=Devanagari}
+\InitializeGlossOptions{bengali}{changecounternumbering=false,numerals=Devanagari}
\def\captionsbengali{%
\def\refname{তথ্যসূত্রসমূহ}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf
index d75aff3a6e9..fe47cb79588 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{bulgarian}
+\InheritGlossFile{bulgarian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf
index 2c868f96eec..c85acb7dcac 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{bengali}
+\InheritGlossFile{bengali}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf
index 0f590f9da3a..f569a743133 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{tibetan}
+\InheritGlossFile{tibetan}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf
index e94edab0a53..24b7756ae52 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf
index 5ad3f56ef00..62436958f59 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{breton}
+\InheritGlossFile{breton}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
index f5c681c9f32..85e541ab0c3 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
@@ -6,6 +6,6 @@
% 'brazil' was selected in accordance with babel.
% Since brazil is a variety of portuguese, we use 'portuguese' now.
-\xpg@load@master@language{portuguese}
+\InheritGlossFile{portuguese}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
index 3d0b34a99f9..51f048c909f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
\PolyglossiaSetup{breton}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf
index ccf3a39ccfd..2a9870c6370 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf
index 335992a52e5..fa0243300c8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{bosnian}
+\InheritGlossFile{bosnian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
index c7976480e5b..22cb9194716 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
\PolyglossiaSetup{bulgarian}{
@@ -61,15 +61,15 @@
\def\figurename{Фигура}%
\def\tablename{Таблица}%
%\def\thepart{}%
- %\def\partname{}%
+ \def\partname{Част}%
\def\pagename{Стр.}%
\def\seename{вж.}%
\def\alsoname{вж.\ също и}%
\def\enclname{Приложения}%
\def\ccname{копия}%
- %\def\headtoname{}%
- \def\proofname{Proof}%
- \def\glossaryname{Glossary}%
+ \def\headtoname{За}%
+ \def\proofname{Доказателство}%
+ \def\glossaryname{Притурка}%
}
\def\datebulgarian{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf
index b8d173e11f1..9c8d87d3226 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{catalan}
+\InheritGlossFile{catalan}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf
index 249bd57c9f1..119f086eeac 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf
index 8cfed1e4da2..e62a04726aa 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
% We provide this as a babel alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
index 37566fd974d..1e855fabb64 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
\PolyglossiaSetup{catalan}{
@@ -16,21 +16,21 @@
% BCP-47 compliant aliases
\setlanguagealias*{catalan}{ca}
-\define@boolkey{catalan}[catalan@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/catalan]
+ {
+ babelshorthands.if = catalan@babelshorthands,
+ babelshorthands.default:n = true,
+ }
\ifsystem@babelshorthands
- \setkeys{catalan}{babelshorthands=true}
+ \SetGlossOptions{catalan}{babelshorthands=true}
\else
- \setkeys{catalan}{babelshorthands=false}
+ \SetGlossOptions{catalan}{babelshorthands=false}
\fi
% Register default options
-\xpg@initialize@gloss@options{catalan}{babelshorthands=false}
+\InitializeGlossOptions{catalan}{babelshorthands=false}
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
%%% adapted from Babel's catalan.ldf
\newdimen\leftllkern \newdimen\rightllkern \newdimen\raiselldim
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf
index 05621e02298..004a8e8903c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
@@ -22,51 +22,60 @@
\setlanguagealias*[variant=simplified]{chinese}{zh-CN}
\setlanguagealias*[variant=traditional]{chinese}{zh-TW}
-\providebool{chinese@traditional}
+\@ifundefined{ifchinese@traditional}%
+ {\newif\ifchinese@traditional}{}
-\def\chinese@variant{chinese}
-
-\newif\ifchinese@numerals
-\define@key{chinese}{numerals}[arabic]{%
- \ifstrequal{#1}{chinese}%
- {\chinese@numeralstrue%
- \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
- }{\chinese@numeralsfalse%
- \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
- }%
-}
+\@ifundefined{ifchinese@numerals}%
+ {\newif\ifchinese@numerals}{}
+\def\chinese@variant{chinese}
-\define@choicekey*+{chinese}{variant}[\xpg@val\xpg@nr]{cn,simplified,tw,traditional}[cn]{%
- \ifcase\xpg@nr\relax
- % cn:
- \chinese@traditionalfalse
- \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
- \xpg@info{Option: Chinese, variant=simplified}%
- \or
- % simplified:
- \chinese@traditionalfalse
- \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
- \xpg@info{Option: Chinese, variant=simplified}%
- \or
- % tw:
- \chinese@traditionaltrue
- \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
- \xpg@info{Option: Chinese, variant=traditional}%
- \or
- % traditional:
- \chinese@traditionaltrue
- \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
- \xpg@info{Option: Chinese, variant=traditional}%
- \fi
-}{\xpg@warning{Unknown Chinese variant `#1'}}
+\DeclareKeys[polyglossia/gloss/chinese]
+ {
+ variant.choice:,
+ variant / cn.code =
+ {%
+ \chinese@traditionalfalse
+ \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
+ },
+ variant / simplified.code =
+ {%
+ \chinese@traditionalfalse
+ \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
+ },
+ variant / tw.code =
+ {%
+ \chinese@traditionaltrue
+ \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
+ },
+ variant / traditional.code =
+ {%
+ \chinese@traditionaltrue
+ \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
+ },
+ variant.default:n = cn,
+ variant/unknown.code = \xpg@warning{Unknown Chinese variant `#1'},
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \chinese@numeralsfalse
+ \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / chinese.code =
+ {%
+ \chinese@numeralstrue
+ \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Chinese numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{chinese}{variant=cn,numerals=arabic}
-%\xpg@initialize@gloss@options{chinese}{variant=tw,numerals=arabic}
+\InitializeGlossOptions{chinese}{variant=cn,numerals=arabic}
+%\InitializeGlossOptions{chinese}{variant=tw,numerals=arabic}
% Register alias options
-\xpg@set@alias@values{chinese}{variant}{cn}{simplified}
-\xpg@set@alias@values{chinese}{variant}{tw}{traditional}
+\SetLanguageAliasValues{chinese}{variant}{cn,simplified}
+\SetLanguageAliasValues{chinese}{variant}{tw,traditional}
\def\chinese@capsformat{%
@@ -118,7 +127,7 @@
\def\enclname{附件}%
\def\ccname{抄送}%
\def\headtoname{收件人}%
- \def\\glossaryname{詞彙表}%
+ \def\glossaryname{詞彙表}%
}
\def\captions@chinese@simplified{%
\def\contentsname{目录}%
@@ -141,7 +150,7 @@
\def\enclname{附件}%
\def\ccname{抄送}%
\def\headtoname{收件人}%
- \def\\glossaryname{词汇表}%
+ \def\glossaryname{词汇表}%
}
\newcount\c@TempJNum%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf
index f216864f4c6..f3fb645422d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf
index 73db9067eff..93bd7dcdcf8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf
index 360d484e8c2..73d86d55a01 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-classiclatin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-classiclatin.ldf
new file mode 100644
index 00000000000..b20a680f5bd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-classiclatin.ldf
@@ -0,0 +1,9 @@
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
+%
+\ProvidesFile{gloss-classiclatin.ldf}[polyglossia: module for classic Latin]
+
+% We provide this as a babel alias
+
+\InheritGlossFile{latin}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf
index 2f7e8653738..3aea4d6ff28 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{coptic}
+\InheritGlossFile{coptic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
index 0cff5d46d13..4368557e1c7 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
\PolyglossiaSetup{coptic}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
index 15b7bc02a01..8c7d64ae5e1 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
\PolyglossiaSetup{croatian}{
@@ -20,40 +20,40 @@
\RequirePackage{luavlna}
\fi
-\define@boolkey{croatian}[croatian@]{babelshorthands}[true]{}
-
-\define@boolkey{croatian}[croatian@]{disabledigraphs}[true]{}
-
-% Alias kept for backwards compatibility. Please do not remove
-\define@boolkey{croatian}[croatian@]{disableligatures}[true]{%
- \xpg@warning{The option disableligatures is deprected.\MessageBreak
- Please use disabledigraphs instead}%
- \ifcroatian@disableligatures
- \croatian@disabledigraphstrue
- \else
- \croatian@disabledigraphsfalse
- \fi
-}
-
-\define@boolkey{croatian}[croatian@]{splithyphens}[true]{}
-
-\define@boolkey{croatian}[croatian@]{localalph}[true]{}
+\DeclareKeys[polyglossia/gloss/croatian]
+ {
+ babelshorthands.if = croatian@babelshorthands,
+ babelshorthands.default:n = true,
+ disabledigraphs.if = croatian@disabledigraphs,
+ disabledigraphs.default:n = true,
+ splithyphens.if = croatian@splithyphens,
+ splithyphens.default:n = true,
+ localalph.if = croatian@localalph,
+ localalph.default:n = true,
+ disableligatures.choices:nn = { true, false }
+ {%
+ \xpg@warning{The option disableligatures is deprecated.\MessageBreak
+ Please use disabledigraphs instead}%
+ \ifcase\UseName{l_keys_choice_int}\or
+ \croatian@disabledigraphstrue
+ \or
+ \croatian@disabledigraphsfalse
+ \fi
+ },
+ disableligatures.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{croatian}{babelshorthands=false,disabledigraphs=false,
+\InitializeGlossOptions{croatian}{babelshorthands=false,disabledigraphs=false,
splithyphens=true,localalph=true}
\ifsystem@babelshorthands
- \setkeys{croatian}{babelshorthands=true}
+ \SetGlossOptions{croatian}{babelshorthands=true}
\else
- \setkeys{croatian}{babelshorthands=false}
+ \SetGlossOptions{croatian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\croatian@@splhyphen#1{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf
index bcf199e0747..107496bca65 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{welsh}
+\InheritGlossFile{welsh}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf
index d3775620eed..81cf42534e9 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{czech}
+\InheritGlossFile{czech}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
index 858f3d4ae6c..85aaf6fca69 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
@@ -21,26 +21,26 @@
\RequirePackage{luavlna}
\fi
-\define@boolkey{czech}[czech@]{babelshorthands}[true]{}
-
-\define@boolkey{czech}[czech@]{splithyphens}[true]{}
-
-\define@boolkey{czech}[czech@]{vlna}[true]{}
+\DeclareKeys[polyglossia/gloss/czech]
+ {
+ babelshorthands.if = czech@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = czech@splithyphens,
+ splithyphens.default:n = true,
+ vlna.if = czech@vlna,
+ vlna.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{czech}{babelshorthands=false,splithyphens=true,vlna=true}
+\InitializeGlossOptions{czech}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
- \setkeys{czech}{babelshorthands=true}
+ \SetGlossOptions{czech}{babelshorthands=true}
\else
- \setkeys{czech}{babelshorthands=false}
+ \SetGlossOptions{czech}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\czech@@splithyphen#1{%
\def\czech@sh@tmp{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf
index ff3dda30d0a..7a6f2e8abd1 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{danish}
+\InheritGlossFile{danish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
index 6126beaeb8b..0e779b8677a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
\PolyglossiaSetup{danish}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf
index 6ec76bdff99..ab66673e7c4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf
index 0354d8b16fc..38021f39d44 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf
index 5e016be933d..2c74672a940 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf
index 1df826fee1d..0c68393bc3e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf
index 7ccf3664967..d115b45dd71 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf
index d99f0594d75..5ca22d3cf8f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf
index 1f4a987a1b4..f1b57ec2d43 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf
index 9114631dcf1..a51fb8fca22 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf
index 174cfc6ea0a..f88846d4d5d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf
index 97852bb8e02..07e96769bf4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf
index a87e11a509c..02124310792 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf
index 41eb5a93b9b..a71b3cac654 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf
index 05d331c364b..2545c40ce48 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf
index 3e256710167..08f3d5b3da0 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf
index db4d3494874..e9022148d23 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf
index 4b7f9f97bad..a5637e4fb1a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf
index a4324450320..cb6c2261296 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf
index 19649f6f98b..161729c7fd1 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf
index 2eddf761c4d..c399b378c46 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf
index 5f15ee4e843..05d3f990eea 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
index 10debfabfa6..a8859eac5fb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf
index 03e4a24986b..c3f45032b9b 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
index f679e7f039c..f2ebd6f9168 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
\PolyglossiaSetup{dutch}{
@@ -15,24 +15,24 @@
% BCP-47 compliant aliases
\setlanguagealias*{dutch}{nl}
-\define@boolkey{dutch}[dutch@]{babelshorthands}[true]{}
-
-\define@boolkey{dutch}[dutch@]{tremahyphenation}[true]{}
+\DeclareKeys[polyglossia/gloss/dutch]
+ {
+ babelshorthands.if = dutch@babelshorthands,
+ babelshorthands.default:n = true,
+ tremahyphenation.if = dutch@tremahyphenation,
+ tremahyphenation.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{dutch}{babelshorthands=false,tremahyphenation=true}
+\InitializeGlossOptions{dutch}{babelshorthands=false,tremahyphenation=true}
\ifsystem@babelshorthands
- \setkeys{dutch}{babelshorthands=true}
+ \SetGlossOptions{dutch}{babelshorthands=true}
\else
- \setkeys{dutch}{babelshorthands=false}
+ \SetGlossOptions{dutch}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\xpg@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf
index 95ba8b33b3c..e157ca05322 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{divehi}
+\InheritGlossFile{divehi}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ecclesiasticlatin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ecclesiasticlatin.ldf
new file mode 100644
index 00000000000..51659c46528
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ecclesiasticlatin.ldf
@@ -0,0 +1,9 @@
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
+%
+\ProvidesFile{gloss-ecclesiasticlatin.ldf}[polyglossia: module for ecclesiastic Latin]
+
+% We provide this as a babel alias
+
+\InheritGlossFile{latin}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf
index 3b2763da549..32cfa796b91 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf
index f36384c04de..0a57420ca3f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf
index 23acc8b54cf..b9a45d3501f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf
index a75c84a3a61..362795a36b2 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf
index 3253e418ab7..4c61b1afdd0 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
-\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
+\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadian English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf
index fb958322bf4..bf8d7eb4726 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf
index 15db1b4a330..b9956311def 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf
index 55e3c76b979..943933b5836 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf
index 2fc32374054..65818e7fd70 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
index 87da24e5e21..c434e00c40d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
@@ -30,9 +30,12 @@
\setlanguagealias[variant=canadian]{english}{canadian}
\setlanguagealias[variant=newzealand]{english}{newzealand}
-\providebool{british@hyphen}
-\providebool{english@ordinalmonthday}
-\providebool{british@dateformat}
+\@ifundefined{ifbritish@hyphen}%
+ {\newif\ifbritish@hyphen}{}
+\@ifundefined{ifenglish@ordinalmonthday}%
+ {\newif\ifenglish@ordinalmonthday}{}
+\@ifundefined{ifbritish@dateformat}%
+ {\newif\ifbritish@dateformat}{}
% US English (\l@english) is default
% Initialize its settings
@@ -41,49 +44,46 @@
\english@ordinalmonthdayfalse
\british@dateformatfalse
-% Option ordinalmonthday
-\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
-
-\define@choicekey*+{english}{variant}[\xpg@val\xpg@nr]{uk,british,us,american,usmax,australian,newzealand,canadian}[us]{%
- \ifcase\xpg@nr\relax
+\DeclareKeys[polyglossia/gloss/english]
+ {
+ ordinalmonthday.if = english@ordinalmonthday,
+ ordinalmonthday.default:n = true,
+ variant.choices:nn = { uk, british, us, american, usmax, australian, newzealand, canadian }
+ {%
+ \ifcase\UseName{l_keys_choice_int}\or
% uk:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
\SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
- \xpg@info{Option: English, variant=british}%
\or
% british:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
\SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
- \xpg@info{Option: english variant=british}%
\or
% us:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
- \xpg@info{Option: English, variant=american}%
\or
% american:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
- \xpg@info{Option: English, variant=american}%
\or
% usmax:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
- \xpg@info{Option: english variant=american (with additional patterns)}%
- \xpg@ifdefined{usenglishmax}{}%
+ \IfLanguageDefinedF{usenglishmax}%
{\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
I will use the standard patterns for US English instead}%
- \adddialect\l@usenglishmax\l@english\relax%
+ \adddialect\l@usenglishmax\l@english
}%
\def\english@variant{usenglishmax}%
\or
@@ -94,8 +94,7 @@
\british@dateformattrue
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=australian,bcp47=en-AU,bcp47-language=en,bcp47-region=AU}%
- \xpg@info{Option: English, variant=australian}%
- \adddialect\l@australian\l@english%
+ \adddialect\l@australian\l@english
\or
% newzealand:
% These use the british hyphenation patterns
@@ -104,8 +103,7 @@
\british@dateformattrue
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ,bcp47-language=en,bcp47-region=NZ}%
- \xpg@info{Option: English, variant=newzealand}%
- \adddialect\l@newzealand\l@english%
+ \adddialect\l@newzealand\l@english
\or
% canadian:
% This is currently equivalent to usenglish (as in babel)
@@ -113,45 +111,35 @@
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA,bcp47-language=en,bcp47-region=CA}%
- \xpg@info{Option: English, variant=american}%
- \adddialect\l@canadian\l@english%
+ \adddialect\l@canadian\l@english
\fi
\ifbritish@hyphen
- \xpg@ifdefined{ukenglish}{}%
+ \IfLanguageDefinedF{ukenglish}%
{\xpg@warning{No hyphenation patterns were loaded for British English\MessageBreak
I will use the patterns for US English instead}%
- \adddialect\l@ukenglish\l@english\relax%
+ \adddialect\l@ukenglish\l@english
}%
\def\english@variant{ukenglish}%
\fi
-}{\xpg@warning{Unknown English variant `#1'}}
+ },
+ variant.default:n = us,
+ variant/unknown.code = \xpg@warning{Unknown English variant `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{english}{variant=us,ordinalmonthday=false}
+\InitializeGlossOptions{english}{variant=us,ordinalmonthday=false}
% Register alias options
-\xpg@set@alias@values{english}{variant}{us}{american}
-\xpg@set@alias@values{english}{variant}{uk}{british}
+\SetLanguageAliasValues{english}{variant}{us,american}
+\SetLanguageAliasValues{english}{variant}{uk,british}
\ifxetex
% Check if \l@english is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{english}{}{%
- \def\do##1{%
- \xpg@ifdefined{#1}%
- {\csletcs{l@english}{l@#1}\listbreak}%
- {%
- \xpg@warning{No hyphenation patterns for English found"\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@english0
- }%
- }%
- \docsvlist{british, american, usenglishmax, australian, newzealand}
- \xpg@ifdefined{english}{}{}
- }%
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{english}{british, american, usenglishmax, australian, newzealand}
\fi
\def\english@language{%
- \polyglossia@setup@language@patterns{\english@variant}%
+ \SetupPolyglossiaLangPatterns{\english@variant}%
}%
\def\captionsenglish{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf
index 6c0cb13ecdc..ee888a9a3df 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{esperanto}
+\InheritGlossFile{esperanto}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf
index 0b0555e3727..2d4927f3c40 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf
index 9e459726429..656834e9f4a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf
index fb470d36c9c..8d6968fea50 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
index bd4e63a4a40..cb6c35e5329 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
\PolyglossiaSetup{esperanto}{
@@ -29,10 +29,10 @@
\def\figurename{Figuro}%
\def\tablename{Tabelo}%
%\def\thepart{}%
- %\def\partname{}%
+ \def\partname{Parto}%
\def\pagename{Paĝo}%
\def\seename{vidu}%
- \def\alsoname{Parto}%
+ \def\alsoname{vidu ankaŭ}%
\def\enclname{Aldono(j)}%
\def\ccname{Kopie al}%
\def\headtoname{Al}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
index 5dfb90ea569..7d179e433d7 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
\PolyglossiaSetup{estonian}{
@@ -38,7 +38,7 @@
\def\ccname{Koopia(d)}%
%\def\headtoname{}%
\def\proofname{Korrektuur}%
- \def\glossaryname{Glossary}% <-- need translation
+ \def\glossaryname{Sõnastik}%
}
\def\dateestonian{%
\def\today{\number\day.\space\ifcase\month\or
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf
index 5ab0c3f3bae..0151ac000df 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{estonian}
+\InheritGlossFile{estonian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf
index 98448839b1f..39c5bdfef1c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{basque}
+\InheritGlossFile{basque}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf
index 08c337bdfb0..abe7241e059 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{persian}
+\InheritGlossFile{persian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
index 09ae993ea43..21af458e2cf 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
% We only provide this gloss for babel compatibility.
% The proper English language name is Persian.
-\xpg@load@master@language{persian}
+\InheritGlossFile{persian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf
index 3b03ab4b433..a6b932ff10b 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{finnish}
+\InheritGlossFile{finnish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
index 3bd83a947d3..1d9b03c1974 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
\PolyglossiaSetup{finnish}{
@@ -16,51 +16,54 @@
% BCP-47 compliant aliases
\setlanguagealias*{finnish}{fi}
-\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
-
\newif\if@finnish@schoolhyphens
\newif\if@finnish@babelhyphens
-\define@choicekey*+{finnish}{hyphens}[\xpg@val\xpg@nr]{default,school,babel}[default]{%
- \ifcase\xpg@nr\relax
- % default:
- \@finnish@schoolhyphensfalse
- \@finnish@babelhyphensfalse
- \or
- % school:
- \@finnish@schoolhyphenstrue
- \@finnish@babelhyphensfalse
- \or
- % babel:
- \@finnish@schoolhyphensfalse
- \@finnish@babelhyphenstrue
- \fi
- \xpg@info{Option: Finnish, hyphens=\xpg@val}%
-}{\xpg@warning{Unknown Finnish hyphens `#1'}}
-
-% backwards compatibility
-\define@boolkey{finnish}[finnish@]{schoolhyphens}[true]{%
- \iffinnish@schoolhyphens
- \@finnish@schoolhyphenstrue
- \@finnish@babelhyphensfalse
- \else
- \@finnish@schoolhyphensfalse
- \fi
-}
+
+\DeclareKeys[polyglossia/gloss/finnish]
+ {
+ babelshorthands.if = finnish@babelshorthands,
+ babelshorthands.default:n = true,
+ hyphens.choice:,
+ hyphens / default.code =
+ {%
+ \@finnish@schoolhyphensfalse
+ \@finnish@babelhyphensfalse
+ },
+ hyphens / school.code =
+ {%
+ \@finnish@schoolhyphenstrue
+ \@finnish@babelhyphensfalse
+ },
+ hyphens / babel.code =
+ {%
+ \@finnish@schoolhyphensfalse
+ \@finnish@babelhyphenstrue
+ },
+ hyphens.default:n = default,
+ hyphens/unknown.code = \xpg@warning{Unknown Finnish hyphens `#1'},
+ schoolhyphens.choice:,
+ schoolhyphens / true.code =
+ {%
+ \@finnish@schoolhyphenstrue
+ \@finnish@babelhyphensfalse
+ },
+ schoolhyphens / false.code =
+ {%
+ \@finnish@schoolhyphensfalse
+ },
+ schoolhyphens.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{finnish}{babelshorthands=false,hyphens=default}
+\InitializeGlossOptions{finnish}{babelshorthands=false,hyphens=default}
\ifsystem@babelshorthands
- \setkeys{finnish}{babelshorthands=true}
+ \SetGlossOptions{finnish}{babelshorthands=true}
\else
- \setkeys{finnish}{babelshorthands=false}
+ \SetGlossOptions{finnish}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\finnish@shorthands{%
\xpg@activate@shorthands%
@@ -105,15 +108,15 @@
\def\finnish@language{%
\if@finnish@schoolhyphens
- \xpg@ifdefined{schoolfinnish}{%
- \polyglossia@setup@language@patterns{schoolfinnish}%
+ \IfLanguageDefinedTF{schoolfinnish}{%
+ \SetupPolyglossiaLangPatterns{schoolfinnish}%
}{%
\xpg@warning{Finnish 'School' hyphenation patterns (schoolfinnish) not available.\MessageBreak
I will use the standard patterns for Finnish instead}%
- \polyglossia@setup@language@patterns{finnish}%
+ \SetupPolyglossiaLangPatterns{finnish}%
}%
\else
- \polyglossia@setup@language@patterns{finnish}%
+ \SetupPolyglossiaLangPatterns{finnish}%
\fi
}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf
index 49e1c088687..173d01f3c57 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf
index 8c8058a00e9..c1404f6862e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf
index b8c2126df7c..c31c4f57f8c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf
index 41f1eb0ad50..b66ad30ec8c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf
index 672c6de8939..46267775b17 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
index 2b0c795cdeb..8beace22bbd 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
@@ -28,43 +28,9 @@
\setlanguagealias[variant=canadian]{french}{canadien}
\def\french@variant{french}
-\define@choicekey*+{french}{variant}[\xpg@val\xpg@nr]{french,canadian,acadian,swiss}[french]{%
- \ifcase\xpg@nr\relax
- % french:
- \def\french@variant{french}%
- \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
- \french@thincolonspacefalse
- \or
- % canadian:
- \def\french@variant{canadien}%
- \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-caqc}%
- \xpg@ifdefined{canadien}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
- I will use the standard patterns for French instead}%
- \adddialect\l@canadien\l@french\relax}%
- \french@thincolonspacefalse
- \or
- % acadian:
- \def\french@variant{acadian}%
- \SetLanguageKeys{french}{babelname=acadian,bcp47=fr-CA-u-sd-canb,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-canb}%
- \xpg@ifdefined{acadian}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "French (Canada, Acadian)"\MessageBreak
- I will use the standard patterns for French instead}%
- \adddialect\l@acadian\l@french\relax}%
- \french@thincolonspacefalse
- \or
- % swiss:
- \def\french@variant{swissfrench}%
- \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
- \adddialect\l@swissfrench\l@french\relax%
- \french@thincolonspacetrue
- \fi
- \xpg@info{Option: French, variant=\xpg@val}%
-}{\xpg@warning{Unknown French variant `#1'}}
-
\def\french@language{%
- \polyglossia@setup@language@patterns{\french@variant}%
+ \SetupPolyglossiaLangPatterns{\french@variant}%
}%
\ifluatex
@@ -84,91 +50,103 @@
% Save original footnote definition
% Do this at the end of the preamble to catch other
% packages' footnote changes (#391)
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\let\xpg@orig@makefntext\@makefntext
}
-\define@boolkey{french}[french@]{frenchfootnote}[true]{}
-
-\define@boolkey{french}[french@]{autospacing}[true]{}
-\french@autospacingtrue
-
-\define@boolkey{french}[french@]{frenchpart}[true]{}
-\french@frenchparttrue
-
-\newif\iffrench@autospaceguillemets
-\define@boolkey{french}[french@]{autospaceguillemets}[true]{}
-\french@autospaceguillemetstrue
-
-\newif\iffrench@thincolonspace
-\define@boolkey{french}[french@]{thincolonspace}[true]{}
-\french@thincolonspacefalse
-
-% Backwards compatibility
-\define@boolkey{french}[french@]{automaticspacesaroundguillemets}[true]{%
- \iffrench@automaticspacesaroundguillemets
- \setkeys{french}{autospaceguillemets=true}%
- \else
- \setkeys{french}{autospaceguillemets=false}%
- \fi
-}
-
% name is for compatibility with babel
\let\french@ttfamilyORI\ttfamily
\DeclareRobustCommand\french@ttfamilyFB{\nofrench@punctuation\french@ttfamilyORI}
-% Allow to switch on autospacing in ttfamily context
-\define@boolkey{french}[french@]{autospacetypewriter}[true]{}
-\french@autospacetypewriterfalse
-
-% This is how babel-french has it
-\define@boolkey{french}[french@]{OriginalTypewriter}[true]{%
- \iffrench@OriginalTypewriter
- \setkeys{french}{autospacetypewriter=false}%
- \else
- \setkeys{french}{autospacetypewriter=true}%
- \fi
-}
-
% Configuration of item labels
\def\french@itemi{\textemdash}
\def\french@itemii{\textemdash}
\def\french@itemiii{\textemdash}
\def\french@itemiv{\textemdash}
-\define@key{french}{itemlabels}[\textemdash]{%
- \def\french@itemi{#1}
- \def\french@itemii{#1}
- \def\french@itemiii{#1}
- \def\french@itemiv{#1}
-}
-
-\define@key{french}{itemlabeli}[\textemdash]{%
- \def\french@itemi{#1}
-}
-
-\define@key{french}{itemlabelii}[\textemdash]{%
- \def\french@itemii{#1}
-}
-
-\define@key{french}{itemlabeliii}[\textemdash]{%
- \def\french@itemiii{#1}
-}
-
-\define@key{french}{itemlabeliv}[\textemdash]{%
- \def\french@itemiv{#1}
-}
+\newif\iffrench@autospacetypewriter
+\french@autospacetypewriterfalse
+\newif\iffrench@autospacing
+\french@autospacingtrue
+\newif\iffrench@frenchpart
+\french@frenchparttrue
+\newif\iffrench@autospaceguillemets
+\french@autospaceguillemetstrue
-\define@boolkey{french}[french@]{frenchitemlabels}[true]{}
+\DeclareKeys[polyglossia/gloss/french]
+ {
+ variant.choice:,
+ variant / french.code =
+ {%
+ \def\french@variant{french}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
+ \french@thincolonspacefalse
+ },
+ variant / canadian.code =
+ {%
+ \def\french@variant{canadien}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-caqc}%
+ \IfLanguageDefinedF{canadien}%
+ {\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
+ I will use the standard patterns for French instead}%
+ \adddialect\l@canadien\l@french\relax}%
+ \french@thincolonspacefalse
+ },
+ variant / acadian.code =
+ {%
+ \def\french@variant{acadian}%
+ \SetLanguageKeys{french}{babelname=acadian,bcp47=fr-CA-u-sd-canb,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-canb}%
+ \IfLanguageDefinedF{acadian}%
+ {\xpg@warning{No hyphenation patterns were loaded for "French (Canada, Acadian)"\MessageBreak
+ I will use the standard patterns for French instead}%
+ \adddialect\l@acadian\l@french\relax}%
+ \french@thincolonspacefalse
+ },
+ variant / swiss.code =
+ {%
+ \def\french@variant{swissfrench}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
+ \adddialect\l@swissfrench\l@french\relax%
+ \french@thincolonspacetrue
+ },
+ variant.default:n = french,
+ variant/unknown.code = \xpg@warning{Unknown French variant `#1'},
+ frenchfootnote.if = french@frenchfootnote,
+ frenchfootnote.default:n = true,
+ autospacing.if = french@autospacing,
+ autospacing.default:n = true,
+ frenchpart.if = french@frenchpart,
+ frenchpart.default:n = true,
+ autospaceguillemets.if = french@autospaceguillemets,
+ autospaceguillemets.default:n = true,
+ thincolonspace.if = french@thincolonspace,
+ thincolonspace.default:n = true,
+ automaticspacesaroundguillemets.meta:n = {autospaceguillemets=#1},
+ autospacetypewriter.if = french@autospacetypewriter,
+ autospacetypewriter.default:n = true,
+ originaltypewriter.meta:n = {autospacetypewriter=#1},
+ itemlabeli.store = \french@itemi,
+ itemlabelii.store = \french@itemii,
+ itemlabeliii.store = \french@itemiii,
+ itemlabeliv.store = \french@itemiv,
+ frenchitemlabels.if = french@frenchitemlabels,
+ frenchitemlabels.default:n = true,
+ itemlabels.code =
+ \def\french@itemi{#1}%
+ \def\french@itemii{#1}%
+ \def\french@itemiii{#1}%
+ \def\french@itemiv{#1},
+ itemlabels.default:n = \textemdash
+ }
% Register default options
-\xpg@initialize@gloss@options{french}{variant=french,autospacing=true,thincolonspace=false,
+\InitializeGlossOptions{french}{variant=french,autospacing=true,thincolonspace=false,
autospaceguillemets=true,autospacetypewriter=false,
frenchfootnote=false,frenchitemlabels=false,
itemlabels=\textemdash,itemlabeli=\textemdash,itemlabelii=\textemdash,
itemlabeliii=\textemdash,itemlabeliv=\textemdash}
% Register alias options
-\xpg@set@alias@values{french}{variant}{canadian}{acadian}
+\SetLanguageAliasValues{french}{variant}{canadian,acadian}
\def\french@fontsetup{%
@@ -339,100 +317,100 @@
\def\french@capsformat{%
% Change part heading
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\xpg@french@part\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for French}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
+ \@ifundefined{titleformat}{%
+ % With KOMA
+ \@ifundefined{sectionformat}{%
+ % With memoir
+ \@ifundefined{@memptsize}{% (not \ifdefined\@memptsize)
+ % With standard classes
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg@french@part\nobreakspace\partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for French}}}%
+ }% (end \ifdefined \@part)
+ }{% Hyperref
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\xpg@french@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}%
- }%
- }{% (not \ifdefined\titleformat)
- % With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat%
- \renewcommand{\partformat}{\xpg@french@part~\partname}%
- }{}%
- }{% (not \ifdefined\sectionformat)
- % With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
- {\partnamefont\xpg@french@part\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for French}}%
- }{% not hyperref
- \ifcsdef{@part}{%
+ }% (end \ifdefined\NR@part)
+ }{%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
\let\xpg@save@part@format\@part%
\patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
{\partnamefont\xpg@french@part\partnamenum\printpartname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
- % With standard classes
- \ifcsdef{NR@part}{% Hyperref
+ }%
+ }{% Hyperref (nameref)
\let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}%
+ \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
+ {\partnamefont\xpg@french@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }%
+ }% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat%
+ \renewcommand{\partformat}{\xpg@french@part~\partname}%
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
{\partname\nobreakspace\thepart}%
{\xpg@french@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\xpg@french@part\nobreakspace\partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for French}}{}}%
- }{}% (end \ifdefined \NR@part)
- }% (end \ifdefined\@part)
- }% (end \ifdefined\@memptsize)
- }% (end \ifdefined\sectionformat)
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg@french@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }%
}% (end \ifdefined\titleformat)
}
\def\nofrench@capsformat{%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
- % With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
- \let\@part\xpg@save@part@format%
- }%
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- }{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
\let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
}%
- }{}%
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
}% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ % With titlesec
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
+ \let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
+ }%
+ }%
}% (end \ifdefined\titleformat)
}
@@ -443,7 +421,7 @@
\if@xpg@french@footnote@set%
\else%
\iffrench@frenchfootnote%
- \ifdefstring{\xpg@main@language}{french}{%
+ \IfMainLanguageTF{french}{%
\ifx\@makefntext\undefined\else%
\long\def\french@makefntext##1{%
\parindent1em \noindent\quad%
@@ -467,7 +445,7 @@
\if@xpg@french@itemlabels@set%
\else%
\iffrench@frenchitemlabels
- \ifdefstring{\xpg@main@language}{french}{%
+ \IfMainLanguageTF{french}{%
\renewcommand{\labelitemi}{\french@itemi}%
\renewcommand{\labelitemii}{\french@itemii}%
\renewcommand{\labelitemiii}{\french@itemiii}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
index 2db31a34152..7713ef99fe5 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
% We only provide this gloss for babel compatibility.
-\xpg@load@master@language{friulian}
+\InheritGlossFile{friulian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf
index 49b69eaf9dd..ed1f24ae428 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
@@ -52,7 +52,7 @@
Lui\or Avost\or Setembar\or Otobar\or Novembar\or Dicembar%
\fi\space dal\space\number\year}}
-\AtEndPreamble{% the user or the class might define different values
+\AddToHook{begindocument/before}{% the user or the class might define different values
\edef\xpgfu@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf
index ca0671bbe9a..2005e4d484a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{friulian}
+\InheritGlossFile{friulian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf
index 02fd9e40091..364fa8e773e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf
index 2cbf5adbc5e..8b91897888a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
@@ -22,23 +22,28 @@
\setlanguagealias[variant=scottish]{gaelic}{scottish}
\def\gaelic@variant{irish}
-\define@choicekey*+{gaelic}{variant}[\xpg@val\xpg@nr]{irish,scottish}[irish]{%
- \ifcase\xpg@nr\relax
- % irish:
- \gdef\gaelic@variant{irish}%
- \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
- \xpg@fontsetup@latin{gaelic}%
- \or
- % scottish:
- \gdef\gaelic@variant{scottish}%
- \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
- \xpg@fontsetup@latin{gaelic}%
- \fi
- \xpg@info{Option: gaelic, variant=\xpg@val}%
-}{\xpg@warning{Unknown gaelic variant `#1'}}
+
+\DeclareKeys[polyglossia/gloss/gaelic]
+ {
+ variant.choice:,
+ variant / irish.code =
+ {%
+ \gdef\gaelic@variant{irish}%
+ \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
+ \SetupLatinPolyglossiaFont{gaelic}%
+ },
+ variant / scottish.code =
+ {%
+ \gdef\gaelic@variant{scottish}%
+ \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
+ \SetupLatinPolyglossiaFont{gaelic}%
+ },
+ variant.default:n = irish,
+ variant/unknown.code = \xpg@warning{Unknown gaelic variant `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{gaelic}{variant=irish}
+\InitializeGlossOptions{gaelic}{variant=irish}
\def\captionsgaelic@irish{%
\def\refname{Tagairtí}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
index 469af7e8cde..ab10957c8ea 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
\PolyglossiaSetup{galician}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf
index 94842fd4d52..bd0a4572e90 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf
index e58cede44b3..be0db60a34b 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
@@ -18,34 +18,37 @@
\setlanguagealias*{georgian}{ka}
\newif\ifgeorgian@numerals
-\define@key{georgian}{numerals}[arabic]{%
- \ifstrequal{#1}{georgian}%
- {\georgian@numeralstrue%
- \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
- }%
- {\georgian@numeralsfalse%
- \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
- }%
-}
-
-\define@boolkey{georgian}[georgian@]{babelshorthands}[true]{}
-\define@boolkey{georgian}[georgian@]{oldmonthnames}[true]{}
+\DeclareKeys[polyglossia/gloss/georgian]
+ {
+ babelshorthands.if = georgian@babelshorthands,
+ babelshorthands.default:n = true,
+ oldmonthnames.if = georgian@oldmonthnames,
+ oldmonthnames.default:n = true,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \georgian@numeralsfalse
+ \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / georgian.code =
+ {%
+ \georgian@numeralstrue
+ \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
+ },
+ numerals.default:n = arabic
+ }
% Register default options
-\xpg@initialize@gloss@options{georgian}{babelshorthands=false,oldmonthnames=false,numerals=arabic}
+\InitializeGlossOptions{georgian}{babelshorthands=false,oldmonthnames=false,numerals=arabic}
\ifsystem@babelshorthands
- \setkeys{georgian}{babelshorthands=true}
+ \SetGlossOptions{georgian}{babelshorthands=true}
\else
- \setkeys{georgian}{babelshorthands=false}
+ \SetGlossOptions{georgian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\georgian@shorthands{%
\xpg@activate@shorthands%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
index 918b759eb80..f4f918f50cb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
@@ -47,51 +47,11 @@
\newif\if@german@oldspelling
\@german@oldspellingfalse
-\define@choicekey*+{german}{spelling}[\xpg@val\xpg@nr]{new,old,1901,1996}[new]{%
- \ifcase\xpg@nr\relax
- % new:
- \@german@oldspellingfalse
- \or
- % old:
- \@german@oldspellingtrue
- \or
- % 1901:
- \@german@oldspellingtrue
- \or
- % 1996:
- \@german@oldspellingfalse
- \fi
- \german@set@babelname%
- \xpg@info{Option: German, spelling=\xpg@val}%
-}{\xpg@warning{Unknown German spelling `#1'}}
\newif\if@austrian@locale
\@austrian@localefalse
\newif\if@swiss@locale
\@swiss@localefalse
-\define@choicekey*+{german}{variant}[\xpg@val\xpg@nr]{german,austrian,swiss}[german]{%
- \ifcase\xpg@nr\relax
- % german:
- \@swiss@localefalse%
- \@austrian@localefalse%
- \or
- % austrian:
- \@austrian@localetrue%
- \@swiss@localefalse%
- \or
- % swiss:
- \@swiss@localetrue%
- \@austrian@localefalse%
- \xpg@ifdefined{swissgerman}{}%
- {%
- \xpg@warning{No hyphenation patterns were loaded for "Swiss German (Old Spelling)"\MessageBreak
- I will use the standard patterns for German (old spelling) instead}%
- \adddialect\l@swissgerman\l@german\relax%
- }%
- \fi
- \german@set@babelname%
- \xpg@info{Option: German, variant=\xpg@val}%
-}{\xpg@warning{Unknown German variant `#1'}}
\def\german@set@babelname{%
\if@german@oldspelling
@@ -140,58 +100,110 @@
}
\newif\if@german@blackletter
-\define@choicekey*+{german}{script}[\xpg@val\xpg@nr]{latin,blackletter,fraktur}[latin]{%
- \ifcase\xpg@nr\relax
- % latin:
- \@german@blackletterfalse%
- \or
- % blackletter:
- \@german@blacklettertrue%
- \or
- % fraktur:
- \@german@blacklettertrue%
- \fi
- \german@set@babelname%
- \xpg@info{Option: German, script=\xpg@val}%
-}{\xpg@warning{Unknown German script `#1'}}
-\define@boolkey{german}[german@]{capitaleszett}[true]{%
- \ifgerman@capitaleszett
- % MakeUppercase capitalizes the eszett (U+00DF) with U+1E9E
- \SetLanguageKeys{german}{bcp47-casing=de-x-eszett,bcp47-extension-x=eszett}
- \else
- % Capitalize eszett as <SS>
- \SetLanguageKeys{german}{bcp47-casing=de,bcp47-extension-x={}}
- \fi
-}
-
-
-% Option defunc'ed, as both XeTeX and LuaTeX meanwhile
-% use the experimental German hyphenation patterns by default.
-\define@boolkey{german}[german@]{latesthyphen}[true]{}
-
-\define@boolkey{german}[german@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/german]
+ {
+ babelshorthands.if = german@babelshorthands,
+ babelshorthands.default:n = true,
+ latesthyphen.if = german@latesthyphen,
+ latesthyphen.default:n = true,
+ capitaleszett.choice:,
+ capitaleszett / true.code =
+ {% MakeUppercase capitalizes the eszett (U+00DF) with U+1E9E
+ \SetLanguageKeys{german}{bcp47-casing=de-x-eszett,bcp47-extension-x=eszett}%
+ },
+ capitaleszett / false.code =
+ {% Capitalize eszett as <SS>
+ \SetLanguageKeys{german}{bcp47-casing=de,bcp47-extension-x={}}%
+ },
+ capitaleszett.default:n = true,
+ script.choice:,
+ script / latin.code =
+ {%
+ \@german@blackletterfalse
+ \german@set@babelname
+ },
+ script / blackletter.code =
+ {%
+ \@german@blacklettertrue
+ \german@set@babelname
+ },
+ script / fraktur.code =
+ {%
+ \@german@blacklettertrue
+ \german@set@babelname
+ },
+ script.default:n = latin,
+ script/unknown.code = \xpg@warning{Unknown German script `#1'},
+ spelling.choice:,
+ spelling / new.code =
+ {%
+ \@german@oldspellingfalse
+ \german@set@babelname
+ },
+ spelling / old.code =
+ {%
+ \@german@oldspellingtrue
+ \german@set@babelname
+ },
+ spelling / 1901.code =
+ {%
+ \@german@oldspellingtrue
+ \german@set@babelname
+ },
+ spelling / 1996.code =
+ {%
+ \@german@oldspellingfalse
+ \german@set@babelname
+ },
+ spelling.default:n = new,
+ spelling/unknown.code = \xpg@warning{Unknown German spelling `#1'},
+ variant.choice:,
+ variant / german.code =
+ {%
+ \@swiss@localefalse
+ \@austrian@localefalse
+ \german@set@babelname
+ },
+ variant / austrian.code =
+ {%
+ \@austrian@localetrue
+ \@swiss@localefalse
+ \german@set@babelname
+ },
+ variant / swiss.code =
+ {%
+ \@swiss@localetrue
+ \@austrian@localefalse
+ \IfLanguageDefinedF{swissgerman}
+ {%
+ \xpg@warning{No hyphenation patterns were loaded for "Swiss German (Old Spelling)"\MessageBreak
+ I will use the standard patterns for German (old spelling) instead}%
+ \adddialect\l@swissgerman\l@german\relax
+ }%
+ \german@set@babelname
+ },
+ variant.default:n = german,
+ variant/unknown.code = \xpg@warning{Unknown German variant `#1'}
+ }
+
-\setkeys{german}{spelling,script,variant}
+\SetGlossOptions{german}{spelling,script,variant}
% Register default options
-\xpg@initialize@gloss@options{german}{variant=german,spelling=new,script=latin,babelshorthands=false}
+\InitializeGlossOptions{german}{variant=german,spelling=new,script=latin,babelshorthands=false}
% Register alias options
-\xpg@set@alias@values{german}{spelling}{new}{1996}
-\xpg@set@alias@values{german}{spelling}{old}{1901}
-\xpg@set@alias@values{german}{script}{blackletter}{fraktur}
+\SetLanguageAliasValues{german}{spelling}{new,1996}
+\SetLanguageAliasValues{german}{spelling}{old,1901}
+\SetLanguageAliasValues{german}{script}{blackletter,fraktur}
\ifsystem@babelshorthands
- \setkeys{german}{babelshorthands=true}
+ \SetGlossOptions{german}{babelshorthands=true}
\else
- \setkeys{german}{babelshorthands=false}
+ \SetGlossOptions{german}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\german@shorthands{%
\xpg@activate@shorthands%
@@ -313,15 +325,15 @@
\def\german@language{%
\if@german@oldspelling
\if@swiss@locale
- \polyglossia@setup@language@patterns{swissgerman}%
+ \SetupPolyglossiaLangPatterns{swissgerman}%
\else
- \polyglossia@setup@language@patterns{german}%
+ \SetupPolyglossiaLangPatterns{german}%
\fi
\if@austrian@locale
\adddialect\l@austrian\l@german%
\fi
\else
- \polyglossia@setup@language@patterns{ngerman}%
+ \SetupPolyglossiaLangPatterns{ngerman}%
\if@austrian@locale
\adddialect\l@naustrian\l@ngerman%
\fi
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf
index d5b6a8768b2..da48264a9c9 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf
index 11c6fdff929..c5be58f01c4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{galician}
+\InheritGlossFile{galician}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf
index 82184ffaaa4..820df8e3198 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
index 537379cb7f4..b48684d1b58 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
@@ -22,7 +22,7 @@
% BCP-47 compliant aliases
\setlanguagealias*[variant=ancient]{greek}{grc}
-\setlanguagealias*[varant=polytonic]{greek}{el-polyton}
+\setlanguagealias*[variant=polytonic]{greek}{el-polyton}
\setlanguagealias*[variant=monotonic]{greek}{el-monoton}
\setlanguagealias*{greek}{el}
@@ -42,44 +42,9 @@
\newif\if@greek@ancient\@greek@ancientfalse
\newif\if@greek@poly\@greek@polyfalse
-\define@choicekey*+{greek}{variant}[\xpg@val\xpg@nr]{monotonic,mono,polytonic,poly,ancient,ancientgreek}[monotonic]{%
- \xpg@ifdefined{greek}{}{%
- \xpg@nopatterns{greek}%
- \adddialect\l@greek\l@nohyphenation
- }%
- \ifcase\xpg@nr\relax
- % monotonic:
- \@greek@polyfalse
- \@greek@ancientfalse
- \or
- % mono:
- \@greek@polyfalse
- \@greek@ancientfalse
- \or
- % polytonic:
- \@greek@polytrue
- \@greek@ancientfalse
- \or
- % poly:
- \@greek@polytrue
- \@greek@ancientfalse
- \or
- % ancient:
- \@greek@polyfalse
- \@greek@ancienttrue
- \or
- % ancientgreek:
- \@greek@polyfalse
- \@greek@ancienttrue
- \fi
- \greek@set@langdata
- \xpg@info{Option: Greek, variant=\xpg@val}%
-}{\xpg@warning{Unknown Greek variant `#1'}}
-
-
\def\greek@set@langdata{%
\if@greek@ancient
- \xpg@ifdefined{ancientgreek}{}%
+ \IfLanguageDefinedF{ancientgreek}%
{\xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
I will use the patterns loaded for \string\l@greek\space instead}%
\adddialect\l@ancientgreek\l@greek\relax}%
@@ -89,7 +54,7 @@
\SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
\else
\if@greek@poly
- \xpg@ifdefined{polygreek}{}%
+ \IfLanguageDefinedF{polygreek}%
{\xpg@warning{No hyphenation patterns were loaded for Polytonic Greek\MessageBreak
I will use the patterns loaded for \string\l@greek\space instead}%
\adddialect\l@polygreek\l@greek\relax}%
@@ -98,7 +63,7 @@
\def\dategreek{\datepolygreek}%
\SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
\else% monotonic greek
- \xpg@ifdefined{monogreek}{}%
+ \IfLanguageDefinedF{monogreek}%
{\xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
I will use the patterns loaded for \string\l@greek\space instead}%
\adddialect\l@monogreek\l@greek\relax}%
@@ -112,42 +77,85 @@
\def\greek@language{%
- \polyglossia@setup@language@patterns{\greek@variant}%
+ \SetupPolyglossiaLangPatterns{\greek@variant}%
}
\newif\if@greek@numerals
-\define@choicekey*+{greek}{numerals}[\xpg@val\xpg@nr]{greek,arabic}[greek]{%
- \ifcase\xpg@nr\relax
- % greek:
- \@greek@numeralstrue%
- \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
- \or
- % arabic:
- \@greek@numeralsfalse%
- \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Greek, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Greek numerals value `#1'}}
-
-\define@boolkey{greek}[greek@]{capitaliota}[true]{%
- \ifgreek@capitaliota
- % \MakeUppercase converts the ypogegrammeni (subscript muted iota) to capital iota
- \SetLanguageKeys{greek}{bcp47-casing=el-x-iota,bcp47-extension-x=iota}
- \else
- % \MakeUppercase retains the subscript versions (default)
- \SetLanguageKeys{greek}{bcp47-casing=el,bcp47-extension-x={}}
- \fi
-}
-
-\define@boolkey{greek}{attic}[true]{\xpg@warning{Greek option `attic' is no longer required.}}
+\DeclareKeys[polyglossia/gloss/greek]
+ {
+ variant.choices:nn = { monotonic, mono,polytonic, poly,ancient, ancientgreek }
+ {%
+ \CheckHyphenationPatterns{greek}%
+ \ifcase\UseName{l_keys_choice_int}\or
+ % monotonic:
+ \@greek@polyfalse
+ \@greek@ancientfalse
+ \or
+ % mono:
+ \@greek@polyfalse
+ \@greek@ancientfalse
+ \or
+ % polytonic:
+ \@greek@polytrue
+ \@greek@ancientfalse
+ \or
+ % poly:
+ \@greek@polytrue
+ \@greek@ancientfalse
+ \or
+ % ancient:
+ \@greek@polyfalse
+ \@greek@ancienttrue
+ \or
+ % ancientgreek:
+ \@greek@polyfalse
+ \@greek@ancienttrue
+ \fi
+ \greek@set@langdata
+ },
+ variant.default:n = monotonic,
+ variant/unknown.code = \xpg@warning{Unknown Greek variant `#1'},
+ numerals.choice:,
+ numerals / greek.code =
+ {%
+ \@greek@numeralstrue
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+ },
+ numerals / arabic.code =
+ {%
+ \@greek@numeralsfalse
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = greek,
+ numerals/unknown.code = \xpg@warning{Unknown Greek numerals value `#1'},
+ capitaliota.choice:,
+ capitaliota / true.code =
+ {%
+ \@greek@capitaliotatrue
+ % \MakeUppercase converts the ypogegrammeni (subscript muted iota) to capital iota
+ \SetLanguageKeys{greek}{bcp47-casing=el-x-iota,bcp47-extension-x=iota}%
+ },
+ capitaliota / false.code =
+ {%
+ \@greek@capitaliotafalse
+ % \MakeUppercase retains the subscript versions (default)
+ \SetLanguageKeys{greek}{bcp47-casing=el,bcp47-extension-x={}}%
+ },
+ capitaliota.default:n = true,
+ attic.choices:nn = { true, false }
+ {%
+ \xpg@warning{Greek option `attic' is no longer required.}
+ },
+ capitaliota.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{greek}{variant=monotonic,numerals=greek}
+\InitializeGlossOptions{greek}{variant=monotonic,numerals=greek}
% Register alias options
-\xpg@set@alias@values{greek}{variant}{monotonic}{mono}
-\xpg@set@alias@values{greek}{variant}{polytonic}{poly}
+\SetLanguageAliasValues{greek}{variant}{monotonic,mono}
+\SetLanguageAliasValues{greek}{variant}{polytonic,poly}
\def\monogreekcaptions{%
\def\refname{Αναφορές}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf
index 80a60baa797..05e2aa40bb5 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{hebrew}
+\InheritGlossFile{hebrew}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
index 7ee62033e1d..3b3491ce9ad 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
@@ -24,41 +24,48 @@
% BCP-47 compliant aliases
\setlanguagealias*{hebrew}{he}
-% hebrewcal options
-\define@key{hebrew}{marcheshvan}[true]{\setkeys{hebrewcal}{marcheshvan=#1}}
-\define@key{hebrew}{transliteration}[alt]{\setkeys{hebrewcal}{transliteration=#1}}
-\define@key{hebrew}{fullyear}[true]{\setkeys{hebrewcal}{fullyear=#1}}
-
\newif\if@calendar@hebrew
-\define@choicekey*+{hebrew}{calendar}[\xpg@val\xpg@nr]{hebrew,gregorian}[gregorian]{%
- \ifcase\xpg@nr\relax
- % hebrew:
- \@calendar@hebrewtrue
- \or
- % gregorian:
- \@calendar@hebrewfalse
- \fi
- \xpg@info{Option: Hebrew, calendar=\xpg@val}%
-}{\xpg@warning{Unknown Hebrew calendar `#1'}}
-
\newif\if@hebrew@numerals
-\define@choicekey*+{hebrew}{numerals}[\xpg@val\xpg@nr]{hebrew,arabic}[arabic]{%
- \ifcase\xpg@nr\relax
- % hebrew:
- \@hebrew@numeralstrue
- \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
- \or
- % arabic:
- \@hebrew@numeralsfalse
- \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Hebrew, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Hebrew numerals value `#1'}}
-\setkeys{hebrew}{numerals}
+\DeclareKeys[polyglossia/gloss/hebrew]
+ {
+ marcheshvan.code = \setkeys{hebrewcal}{marcheshvan=#1},
+ marcheshvan.default:n = true,
+ transliteration.code = \setkeys{hebrewcal}{transliteration=#1},
+ transliteration.default:n = alt,
+ fullyear.code = \setkeys{hebrewcal}{fullyear=#1},
+ fullyear.default:n = true,
+ calendar.choice:,
+ calendar / hebrew.code =
+ {%
+ \@calendar@hebrewtrue
+ },
+ calendar / gregorian.code =
+ {%
+ \@calendar@hebrewfalse
+ },
+ calendar.default:n = gregorian,
+ calendar/unknown.code = \xpg@warning{Unknown Hebrew calendar `#1'},
+ numerals.choice:,
+ numerals / hebrew.code =
+ {%
+ \@hebrew@numeralstrue
+ \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
+ },
+ numerals / arabic.code =
+ {%
+ \@hebrew@numeralsfalse
+ \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Hebrew numerals value `#1'}
+ }
+
+
+\SetGlossOptions{hebrew}{numerals}
% Register default options
-\xpg@initialize@gloss@options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false,fullyear=false}
+\InitializeGlossOptions{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false,fullyear=false}
\def\captionshebrew{%
\def\prefacename{מבוא}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf
index 24ac6a0ea58..1e9f1240502 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{hindi}
+\InheritGlossFile{hindi}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
index 7803b17ef44..a3a6360fe04 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
% with corrections and additional contributions by Anshuman Pandey
@@ -25,8 +25,7 @@
\ifx\l@hindi\@undefined%
\ifx\l@sanskrit\@undefined%
- \xpg@nopatterns{Hindi}%
- \adddialect\l@hindi\l@nohyphenation%
+ \XPGNoPatternsFallback{hindi}%
\else
\xpg@warning{No hyphenation patterns were loaded for Hindi\MessageBreak
I will use the patterns for Sanskrit instead}
@@ -35,26 +34,31 @@
\fi
\def\hindi@language{%
- \polyglossia@setup@language@patterns{hindi}%
+ \SetupPolyglossiaLangPatterns{hindi}%
}
\newif\ifhindi@devanagari@numerals
\hindi@devanagari@numeralstrue
-\define@choicekey*+{hindi}{numerals}[\xpg@val\xpg@nr]{Devanagari,Western}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Devanagari:
- \hindi@devanagari@numeralstrue%
- \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
- \or
- % Western:
- \hindi@devanagari@numeralsfalse%
- \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Hindi, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Hindi numeral `#1'}}
+
+\DeclareKeys[polyglossia/gloss/hindi]
+ {
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \hindi@devanagari@numeralstrue
+ \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
+ },
+ numerals / western.code =
+ {%
+ \hindi@devanagari@numeralsfalse
+ \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Hindi numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{hindi}{numerals=devanagari}
+\InitializeGlossOptions{hindi}{numerals=devanagari}
\newcommand{\hindinumerals}[2]{\hindinumber{#2}}
@@ -74,6 +78,7 @@
\def\contentsname{विषय सूची}%
\def\enclname{}%
\def\figurename{चित्र}% रेखाचित्र
+ \def\glossaryname{शब्दार्थ सूची}%
\def\headpagename{पृष्ठ}%
\def\headtoname{}%
\def\indexname{सूची}%
@@ -85,6 +90,7 @@
\def\pagename{पृष्ठ}%
\def\partname{खण्ड}%
\def\prefacename{प्रस्तावना}% प्राक्कथन
+ \def\proofname{प्रमाण}%
\def\refname{हवाले}%
\def\tablename{तालिका}%
\def\seename{देखिए}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf
index 9354b06cadc..1bcc48ff4c6 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{croatian}
+\InheritGlossFile{croatian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf
index f2c872c2c41..51d2499b0ac 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf
index 9700f33025b..8f86fc248e4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{hungarian}
+\InheritGlossFile{hungarian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf
index a846c750bb8..0ed88f1aca6 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
@@ -25,53 +25,61 @@
\newif\if@hungarian@swapcaptions
\newif\if@hungarian@swapheadings
\newif\if@hungarian@swapheaders
-\define@choicekey*+{hungarian}{swapstrings}[\xpg@val\xpg@nr]{all,captions,headings,headers,hheaders,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \@hungarian@swapcaptionstrue%
- \@hungarian@swapheadingstrue%
- \@hungarian@swapheaderstrue%
- \or
- % captions:
- \@hungarian@swapcaptionstrue%
- \@hungarian@swapheadingsfalse%
- \@hungarian@swapheadersfalse%
- \or
- % headings:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingstrue%
- \@hungarian@swapheadersfalse%
- \or
- % headers:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingsfalse%
- \@hungarian@swapheaderstrue%
- \or
- % hheaders:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingstrue%
- \@hungarian@swapheaderstrue%
- \or
- % none:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingsfalse%
- \@hungarian@swapheadersfalse%
- \fi
- \xpg@info{Option: Hungarian, swapstrings=\xpg@val}%
-}{\xpg@warning{Unknown Hungarian swapstrings value `#1'}}
-% Force punctuation: 1) after section type counters; 2) after @chapapp in the running head
-\define@boolkey{hungarian}[hungarian@]{forceheadingpunctuation}[true]{}
+\DeclareKeys[polyglossia/gloss/hungarian]
+ {
+ forceheadingpunctuation.if = hungarian@forceheadingpunctuation,
+ forceheadingpunctuation.default:n = true,
+ swapstrings.choice:,
+ swapstrings / all.code =
+ {%
+ \@hungarian@swapcaptionstrue
+ \@hungarian@swapheadingstrue
+ \@hungarian@swapheaderstrue
+ },
+ swapstrings / captions.code =
+ {%
+ \@hungarian@swapcaptionstrue
+ \@hungarian@swapheadingsfalse
+ \@hungarian@swapheadersfalse
+ },
+ swapstrings / headings.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingstrue
+ \@hungarian@swapheadersfalse
+ },
+ swapstrings / headers.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingsfalse
+ \@hungarian@swapheaderstrue
+ },
+ swapstrings / hheaders.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingstrue
+ \@hungarian@swapheaderstrue
+ },
+ swapstrings / none.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingsfalse
+ \@hungarian@swapheadersfalse
+ },
+ swapstrings.default:n = all,
+ swapstrings/unknown.code = \xpg@warning{Unknown Hungarian swapstrings value `#1'}
+ }
% Register default options
% forceheadinpunctuatin is recommended, but the default value is false for compatibility reasons
-\xpg@initialize@gloss@options{hungarian}{swapstrings=all,
+\InitializeGlossOptions{hungarian}{swapstrings=all,
forceheadingpunctuation=false}
\def\hungarian@language{%
- \polyglossia@setup@language@patterns{hungarian}%
- \xpg@ifdefined{hungarian}{\adddialect\l@magyar\l@hungarian}{}%
+ \SetupPolyglossiaLangPatterns{hungarian}%
+ \IfLanguageDefinedT{hungarian}{\adddialect\l@magyar\l@hungarian}%
}%
\def\captionshungarian{%
@@ -143,120 +151,104 @@
% change chapter and part headings
\if@hungarian@swapheadings
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\thepart.\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\thepart.\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{}%
- }
- \ifcsdef{chapter}{%
- \titleformat\chapter[display]%
- {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
- {\thechapter.\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
+ \@ifundefined{titleformat}{%
% With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat%
- \renewcommand{\partformat}{\thepart.~\partname}%
- }{}%
- \ifcsdef{chapterformat}{%
- \let\xpg@save@chap@format\chapterformat%
- \renewcommand{\chapterformat}{\mbox{\thechapter\autodot%
- \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
- }{}%
- }{% (not \ifdefined\sectionformat)
- % With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{@makechapterhead}{%
- \let\xpg@save@chap@format\@makechapterhead%
- \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
- {\printchapternum.\chapternamenum\printchaptername}%
- {}%
- {\xpg@warning{Failed to patch chapter for Hungarian}}%
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
- {\printpartnum.\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
- {\printpartnum.\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{sectionformat}{%
+ % Memoir?
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{@makechapterhead}{%
+ \@ifundefined{@makechapterhead}{}{%
\let\xpg@save@chap@format\@makechapterhead%
\patchcmd{\@makechapterhead}%
{\@chapapp\space \thechapter}%
{\thechapter.\space \@chapapp}%
{}%
{\xpg@warning{Failed to patch chapter for Hungarian}}%
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\thepart.\nobreakspace\partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for Hungarian}}}%
+ }% (end \ifdefined\@part)
+ }{% Hyperref (nameref)
\let\xpg@save@part@format\NR@part%
\patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\thepart.\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for Hungarian}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\thepart.\nobreakspace\partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for Hungarian}}{}}%
- }{}% (end \ifdefined\@part)
}% (end not hyperref)
- }% (end \ifdefined\@memptsize)
- }% (end \ifdefined\sectionformat)
+ }{% with memoir (\ifdefined\@memptsize)
+ \@ifundefined{@makechapterhead}{}{%
+ \let\xpg@save@chap@format\@makechapterhead%
+ \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
+ {\printchapternum.\chapternamenum\printchaptername}%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Hungarian}}%
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\printpartnum.\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
+ {\printpartnum.\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ }% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat%
+ \renewcommand{\partformat}{\thepart.~\partname}%
+ }%
+ \@ifundefined{chapterformat}{}{%
+ \let\xpg@save@chap@format\chapterformat%
+ \renewcommand{\chapterformat}{\mbox{\thechapter\autodot%
+ \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\thepart.\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}%
+ {\partname\nobreakspace\thepart}%
+ {\thepart.\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ \@ifundefined{chapter}{}{%
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
+ {\thechapter.\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
+ }%
}% (end \ifdefined\titleformat)
\fi% (end \if@hungarian@swapheadings)
%
% Change running headers
\if@hungarian@swapheaders
- \ifcsdef{chapterformat}{%
- % With KOMA
- \let\xpg@save@chaptermark@format\chaptermarkformat%
- \renewcommand*\chaptermarkformat{%
- \thechapter\autodot\ \IfChapterUsesPrefixLine{\chapapp\@hungarian@forced@dot\enskip}{}}
- }{% (not \ifdefined\chapterformat)
- \ifcsdef{@memptsize}{%
- % With memoir
- \let\xpg@save@chaptermark@format\chaptermark%
- \renewcommand*\chaptermark[1]{%
- \markboth{\memUChead{%
- \ifnum \c@secnumdepth >\m@ne
- \ifbool{@mainmatter}{%
- \thechapter.\ \@chapapp\@hungarian@forced@dot\ %
- }{}%
- \fi
- ##1}}{}}%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{chapterformat}{%
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermark}{}{%
\ifpatchable{\chaptermark}%
{\@chapapp\ \thechapter.}%
{\let\xpg@save@chaptermark@format\chaptermark%
@@ -266,8 +258,24 @@
{}%
{\xpg@warning{Failed to patch chaptermark for Hungarian}}}%
{}%
- }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\chaptermark)
+ }{% (\ifdefined\@memptsize)
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark%
+ \renewcommand*\chaptermark[1]{%
+ \markboth{\memUChead{%
+ \ifnum \c@secnumdepth >\m@ne
+ \ifbool{@mainmatter}{%
+ \thechapter.\ \@chapapp\@hungarian@forced@dot\ %
+ }{}%
+ \fi
+ ##1}}{}}%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\chapterformat)
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat%
+ \renewcommand*\chaptermarkformat{%
+ \thechapter\autodot\ \IfChapterUsesPrefixLine{\chapapp\@hungarian@forced@dot\enskip}{}}
}% (end \ifdefined\chapterformat)
\fi% (end \if@hungarian@swapheaders)
}
@@ -279,58 +287,58 @@
\let\fnum@figure\xpg@save@fnum@figure%
%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
+ % With memoir and standard classes
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
+ \let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
+ }%
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\@makechapterhead\xpg@save@chap@format
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\chapterformat\xpg@save@chap@format
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
% With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
\let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
}%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\chapterformat\xpg@save@chap@format
- }{}%
- }{%
- % With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
- \let\@part\xpg@save@part@format%
- }%
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\@makechapterhead\xpg@save@chap@format
- }{}%
- }% (end \ifdefined\sectionformat)
+ }%
}% (end \ifdefined\titleformat)
%
% Reset headers
- \ifcsdef{chaptermarkformat}{%
- % With KOMA
- \ifcsdef{xpg@save@chaptermark@format}{%
- \let\chaptermarkformat\xpg@save@chaptermark@format%
- }{}%
- }{%
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermarkformat}{%
+ \@ifundefined{chaptermark}{}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@chaptermark@format}{%
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
\let\chaptermark\xpg@save@chaptermark@format%
- }{}%
- }{}% (end \ifdefined\chaptermark)
- }% (end \ifdefined\chapterformat)
+ }%
+ }% (end \ifdefined\chaptermark)
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
+ \let\chaptermarkformat\xpg@save@chaptermark@format%
+ }%
+ }% (end \ifdefined\chaptermarkformat)
}
% Hungarian needs 1) trailing dots in chapter headings; 2) trailing dot in section, subsection, etc, counters
\def\@hungarian@forced@dot{}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf
index ee335e8b4dd..16b61a8776b 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{armenian}
+\InheritGlossFile{armenian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf
index 1652403941d..1e843ef5df8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{interlingua}
+\InheritGlossFile{interlingua}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
index 4415bbab088..43a9efe3f8a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
\PolyglossiaSetup{icelandic}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf
index e72a43d5f51..adf9c602827 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
index d105dae74c7..ec3b1844e9a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
\PolyglossiaSetup{interlingua}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
index ed1fc5af650..0e5b9c888b3 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
% We only provide this gloss for babel compatibility. Since irish is
% a gaelic variety, we use 'gaelic' with variant 'irish' now.
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf
index aed4195b8d1..6724333f2bc 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{icelandic}
+\InheritGlossFile{icelandic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf
index e3bf7d00df8..42ae275e327 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{italian}
+\InheritGlossFile{italian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
index edf9d4f79e9..da005e54c76 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
@@ -1,5 +1,5 @@
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
\PolyglossiaSetup{italian}{
@@ -18,24 +18,22 @@
% BCP-47 compliant aliases
\setlanguagealias*{italian}{it}
-
-%%% CHANGES START %%% by Enrico Gregorio
-\define@boolkey{italian}[italian@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/italian]
+ {
+ babelshorthands.if = italian@babelshorthands,
+ babelshorthands.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{italian}{babelshorthands=false}
+\InitializeGlossOptions{italian}{babelshorthands=false}
\ifsystem@babelshorthands
- \setkeys{italian}{babelshorthands=true}
+ \SetGlossOptions{italian}{babelshorthands=true}
\else
- \setkeys{italian}{babelshorthands=false}
+ \SetGlossOptions{italian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\italian@shorthands{%
\xpg@activate@shorthands%
@@ -115,7 +113,7 @@
%%% CHANGES START %%% by Enrico Gregorio
\let\xpgit@savedvalues\empty
-\AtEndPreamble{% the user or the class might define different values
+\AddToHook{begindocument/before}{% the user or the class might define different values
\edef\xpgit@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf
index 7329e61bdc9..6abed7ecc51 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{japanese}
+\InheritGlossFile{japanese}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf
index 5d90a303747..43015d36cec 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf
index dc0fb85531e..c48b7287989 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{georgian}
+\InheritGlossFile{georgian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
index 1ea7dfce332..97941ff1902 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
@@ -1,5 +1,5 @@
%% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+%% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%%
%% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
%% Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -53,12 +53,20 @@
\def\tmp@western{Western}
\newif\ifkannada@numerals
\kannada@numeralstrue
-
-\define@key{kannada}{numerals}[Kannada]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western
- \kannada@numeralsfalse
- \fi}
+
+\DeclareKeys[polyglossia/gloss/kannada]
+ {
+ numerals.choice:,
+ numerals / kannada.code =
+ {%
+ \kannada@numeralstrue
+ },
+ numerals / western.code =
+ {%
+ \kannada@numeralsfalse
+ },
+ numerals.default:n = kannada
+ }
\def\captionskannada{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf
index 9c9ec53f328..0a8656b4c50 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
@@ -19,18 +19,24 @@
\newif\if@khmer@numerals
\def\tmp@khmer{khmer}
-\define@key{khmer}{numerals}[arabic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@khmer%
- \@khmer@numeralstrue%
- \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
- \else%
- \@khmer@numeralsfalse%
- \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
- \fi%
-}
-\setkeys{khmer}{numerals}
+\DeclareKeys[polyglossia/gloss/khmer]
+ {
+ numerals.choice:,
+ numerals / khmer.code =
+ {%
+ \@khmer@numeralstrue
+ \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
+ },
+ numerals / arabic.code =
+ {%
+ \@khmer@numeralsfalse
+ \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = arabic
+ }
+
+\SetGlossOptions{khmer}{numerals}
\def\captionskhmer{%
\def\prefacename{អារម្ភកថា}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf
index b37d1706ab6..f2af014aef5 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{khmer}
+\InheritGlossFile{khmer}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf
index 523a68916e4..63807f6320b 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf
index dfc34ce7ee9..64bb99df246 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf
index a908ee2d815..254d0d846ca 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf
index 66c45035a90..3c311112a86 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kannada}
+\InheritGlossFile{kannada}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf
index bf767b7cda9..c4b68924c06 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{korean}
+\InheritGlossFile{korean}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
index 48464c50d25..fd464294356 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
@@ -18,40 +18,48 @@
% BCP-47 compliant aliases
\setlanguagealias*{korean}{ko}
-% variant : plain (0), classic (1), or modern (2)
-\define@choicekey{korean}{variant}[\xpg@val\xpg@nr]{plain,classic,modern}[plain]{%
- \let\xpg@korean@variant\xpg@nr
-}
-% captions : hangul (0) or hanja (1)
-\define@choicekey{korean}{captions}[\xpg@val\xpg@nr]{hangul,hanja}[hangul]{%
- \let\xpg@korean@captions\xpg@nr
-}
-% swapstrings: all (0), headings (1), headers (2), or none (3)
\newif\if@korean@swapheadings
\newif\if@korean@swapheaders
-\define@choicekey*+{korean}{swapstrings}[\xpg@val\xpg@nr]{all,headings,headers,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \@korean@swapheadingstrue%
- \@korean@swapheaderstrue%
- \or
- % headings:
- \@korean@swapheadingstrue%
- \@korean@swapheadersfalse%
- \or
- % headers:
- \@korean@swapheadingsfalse%
- \@korean@swapheaderstrue%
- \or
- % none:
- \@korean@swapheadingsfalse%
- \@korean@swapheadersfalse%
- \fi
- \xpg@info{Option: Korean, swapstrings=\xpg@val}%
-}{\xpg@warning{Unknown Korean swapstrings value `#1'}}
+
+\DeclareKeys[polyglossia/gloss/korean]
+ {
+ variant.choices:nn = { plain, classic, modern }
+ {%
+ \edef\xpg@korean@variant{\the\numexpr\UseName{l_keys_choice_int}-1\relax}
+ },
+ variant.default:n = plain,
+ captions.choices:nn = { hangul, hanja }
+ {%
+ \edef\xpg@korean@captions{\the\numexpr\UseName{l_keys_choice_int}-1\relax}
+ },
+ captions.default:n = hangul,
+ swapstrings.choice:,
+ swapstrings / all.code =
+ {%
+ \@korean@swapheadingstrue
+ \@korean@swapheaderstrue
+ },
+ swapstrings / headings.code =
+ {%
+ \@korean@swapheadingstrue
+ \@korean@swapheadersfalse
+ },
+ swapstrings / headers.code =
+ {%
+ \@korean@swapheadingsfalse
+ \@korean@swapheaderstrue
+ },
+ swapstrings / none.code =
+ {%
+ \@korean@swapheadingsfalse
+ \@korean@swapheadersfalse
+ },
+ swapstrings.default:n = all,
+ swapstrings/unknown.code = \xpg@warning{Unknown Korean swapstrings value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{korean}{variant=plain,swapstrings=all,captions=hangul}
+\InitializeGlossOptions{korean}{variant=plain,swapstrings=all,captions=hangul}
\def\captionskorean{%
\ifcase\xpg@korean@captions\relax
@@ -113,60 +121,48 @@
% change chapter and part headings
\if@korean@swapheadings
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part
- \patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
- {}%
- {\xpg@warning{Failed to patch part for Korean}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part
- \patchcmd{\@part}%
+ \@ifundefined{titleformat}{%
+ % With KOMA
+ \@ifundefined{sectionformat}{%
+ % With memoir
+ \@ifundefined{@memptsize}{%
+ % With standard classes
+ \@ifundefined{@makechapterhead}{}{%
+ \let\xpg@save@chap@format\@makechapterhead
+ \patchcmd{\@makechapterhead}%
+ {\@chapapp\space \thechapter}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\space \thechapter
+ \else
+ \koreanTHEname\space \thechapter\space \@chapapp
+ \fi
+ }%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Korean}}%
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \ifpatchable{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for Korean}}}}%
+ {}%
+ }% (end \ifdefined\@part)
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
{}%
{\xpg@warning{Failed to patch part for Korean}}%
- }{}%
- }
- \ifcsdef{chapter}{%
- \titleformat\chapter[display]%
- {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \appendixname\space \thechapter
- \else
- \koreanTHEname\space \thechapter\space \@chapapp
- \fi
- }{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
- }{}%
- }{% (not \ifdefined\titleformat)
- % With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat
- \renewcommand*{\partformat}{\koreanTHEname~\thepart~\partname}%
- }{}%
- \ifcsdef{chapterformat}{%
- \let\xpg@save@chap@format\chapterformat
- \renewcommand*{\chapterformat}{\mbox{%
- \IfChapterUsesPrefixLine
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \chapapp\nobreakspace \thechapter\autodot
- \else
- \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapapp\autodot
- \fi
- }%
- {\thechapter\autodot\enskip}%
- }}%
- }{}%
- }{% (not \ifdefined\sectionformat)
- % With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{@makechapterhead}{%
+ }% (end not hyperref)
+ }{% (\ifdefined\@memptsize)
+ \@ifundefined{@makechapterhead}{}{%
\let\xpg@save@chap@format\@makechapterhead
\patchcmd{\@makechapterhead}%
{\printchaptername \chapternamenum \printchapternum}%
@@ -184,19 +180,9 @@
\ifpatchable\printchaptername\@chapapp
{\chapnamefont\koreanTHEname\chapternamenum}{}}%
\fi
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part
- \patchcmd{\NR@part}%
- {\printpartname \partnamenum \printpartnum}%
- {\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Korean}}%
- \ifdefined\printkoreanpartthe\else
- \def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
- \fi
- }{% not hyperref
- \ifcsdef{@part}{%
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
\let\xpg@save@part@format\@part
\patchcmd{\@part}%
{\printpartname \partnamenum \printpartnum}%
@@ -206,84 +192,77 @@
\ifdefined\printkoreanpartthe\else
\def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
\fi
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
- % With standard classes
- \ifcsdef{@makechapterhead}{%
- \let\xpg@save@chap@format\@makechapterhead
- \patchcmd{\@makechapterhead}%
- {\@chapapp\space \thechapter}%
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \appendixname\space \thechapter
- \else
- \koreanTHEname\space \thechapter\space \@chapapp
- \fi
- }%
- {}%
- {\xpg@warning{Failed to patch chapter for Korean}}%
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
+ }%
+ }{% Hyperref (nameref)
\let\xpg@save@part@format\NR@part
\patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {\printpartname \partnamenum \printpartnum}%
+ {\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
{}%
{\xpg@warning{Failed to patch part for Korean}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \ifpatchable{\@part}%
- {\partname\nobreakspace\thepart}%
- {\let\xpg@save@part@format\@part
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for Korean}}{}}}%
- {}%
- }{}% (end \ifdefined\@part)
- }% (end not hyperref)
+ \ifdefined\printkoreanpartthe\else
+ \def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
+ \fi
+ }%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat
+ \renewcommand*{\partformat}{\koreanTHEname~\thepart~\partname}%
+ }%
+ \@ifundefined{chapterformat}{}{%
+ \let\xpg@save@chap@format\chapterformat
+ \renewcommand*{\chapterformat}{\mbox{%
+ \IfChapterUsesPrefixLine
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \chapapp\nobreakspace \thechapter\autodot
+ \else
+ \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapapp\autodot
+ \fi
+ }%
+ {\thechapter\autodot\enskip}%
+ }}%
+ }%
}% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ }%
+ \@ifundefined{chapter}{}{%
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\space \thechapter
+ \else
+ \koreanTHEname\space \thechapter\space \@chapapp
+ \fi
+ }{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
+ }%
}% (end \ifdefined\titleformat)
\fi % (end \if@korean@swapheadings)
%
% Change running headers
\if@korean@swapheaders
- \ifcsdef{chapterformat}{%
- % With KOMA
- \let\xpg@save@chaptermark@format\chaptermarkformat
- \renewcommand*\chaptermarkformat{%
- \IfChapterUsesPrefixLine
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \chapapp\ \thechapter\autodot
- \else
- \koreanTHEname\ \thechapter\ \chapapp\autodot
- \fi
- }%
- {\thechapter\autodot}%
- \enskip
- }%
- }{% (not \ifdefined\chapterformat)
- \ifcsdef{@memptsize}{%
- % With memoir
- \let\xpg@save@chaptermark@format\chaptermark
- \patchcmd{\chaptermark}%
- {\@chapapp\ \@nameuse{thechapter}}%
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \appendixname\ \@nameuse{thechapter}%
- \else
- \koreanTHEname\ \@nameuse{thechapter}\ \@chapapp
- \fi
- }%
- {}%
- {\xpg@warning{Failed to patch chaptermark for Korean}}%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{chapterformat}{%
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermark}{}{%
\ifpatchable{\chaptermark}%
{\@chapapp\ \thechapter}%
{\let\xpg@save@chaptermark@format\chaptermark
@@ -299,65 +278,94 @@
{}%
{\xpg@warning{Failed to patch chaptermark for Korean}}}%
{}%
- }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\chaptermark)
+ }{% (\ifdefined\@memptsize)
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark
+ \patchcmd{\chaptermark}%
+ {\@chapapp\ \@nameuse{thechapter}}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\ \@nameuse{thechapter}%
+ \else
+ \koreanTHEname\ \@nameuse{thechapter}\ \@chapapp
+ \fi
+ }%
+ {}%
+ {\xpg@warning{Failed to patch chaptermark for Korean}}%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\chapterformat)
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat
+ \renewcommand*\chaptermarkformat{%
+ \IfChapterUsesPrefixLine
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \chapapp\ \thechapter\autodot
+ \else
+ \koreanTHEname\ \thechapter\ \chapapp\autodot
+ \fi
+ }%
+ {\thechapter\autodot}%
+ \enskip
+ }%
}% (end \ifdefined\chapterformat)
\fi % (end \if@korean@swapheaders)
}
\def\nokorean@headingsformat{%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
+ % With memoir and standard classes
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
+ \let\@part\xpg@save@part@format
+ }{%
+ \let\NR@part\xpg@save@part@format
+ }%
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\@makechapterhead\xpg@save@chap@format
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\chapterformat\xpg@save@chap@format
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
% With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
\let\@part\xpg@save@part@format
+ }{%
+ \let\NR@part\xpg@save@part@format
}%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\chapterformat\xpg@save@chap@format
- }{}%
- }{%
- % With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format
- }{%
- \let\@part\xpg@save@part@format
- }%
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\@makechapterhead\xpg@save@chap@format
- }{}%
- }% (end \ifdefined\sectionformat)
+ }%
}% (end \ifdefined\titleformat)
%
% Reset headers
- \ifcsdef{chaptermarkformat}{%
- % With KOMA
- \ifcsdef{xpg@save@chaptermark@format}{%
- \let\chaptermarkformat\xpg@save@chaptermark@format
- }{}%
- }{%
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermarkformat}{%
+ \@ifundefined{chaptermark}{}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@chaptermark@format}{%
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
\let\chaptermark\xpg@save@chaptermark@format
- }{}%
- }{}% (end \ifdefined\chaptermark)
+ }%
+ }% (end \ifdefined\chaptermark)
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
+ \let\chaptermarkformat\xpg@save@chaptermark@format
+ }%
}% (end \ifdefined\chapterformat)
}
@@ -421,13 +429,13 @@
\XeTeXinterchartokenstate\z@
\XeTeXlinebreakpenalty\z@
\XeTeXlinebreakskip\z@skip
- \XeTeXlinebreaklocale "en"
+ \XeTeXlinebreaklocale ""
\noextras@korean@common
}
\else % luatex
- \def\inlineextras@korean{\xpg@attr@korean\xpg@korean@variant\relax}
+ \def\inlineextras@korean{\xpg@attr@cjkspacing\xpg@korean@variant\relax}
\def\noextras@korean{%
- \unsetattribute\xpg@attr@korean
+ \unsetattribute\xpg@attr@cjkspacing
\noextras@korean@common
}
\fi
@@ -447,7 +455,7 @@
\let\newattribute\newluatexattribute
\let\unsetattribute\unsetluatexattribute
\fi
-\newattribute\xpg@attr@korean
+\newattribute\xpg@attr@cjkspacing
\newattribute\xpg@attr@autojosa
% user commands for Josa
% Josa : particles in Korean grammar that immediately follow a noun or pronoun.
@@ -468,7 +476,7 @@
\protected\def\로{\으 로}
\def\xpg@reset@josa {\global\let\xpg@josa@zwang\z@}\xpg@reset@josa
% load lua file for korean
-\directlua{ require "polyglossia-korean" }
+\directlua{ require "polyglossia-cjk-spacing" }
\endinput\fi
% XeTeX
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf
index 339368062c8..f25b8d53397 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf
index 31f0b817406..ba7b6a32954 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf
index 59805fb6261..b261cbc0df6 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf
index e114fd118aa..3b69d39e010 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Created on September 1, 2019
% Last updated on May 17, 2020
@@ -41,36 +41,9 @@
\newif\if@kurdish@kurmanji
\def\kurdish@variant{sorani}
-\define@choicekey*+{kurdish}{variant}[\xpg@val\xpg@nr]{sorani,kurmanji}[sorani]{%
- \ifcase\xpg@nr\relax
- % sorani:
- \def\kurdish@variant{sorani}%
- \@kurdish@kurmanjifalse%
- \or
- % kurmanji:
- \def\kurdish@variant{kurmanji}%
- \@kurdish@kurmanjitrue%
- \fi
- \kurdish@set@variety%
- \xpg@info{Option: kurdish, variant=\xpg@val}%
-}{\xpg@warning{Unknown Kurdish variant `#1'}}
\newif\if@kurdish@latin
\newif\if@kurdish@arabic
-\define@choicekey*+{kurdish}{script}[\xpg@val\xpg@nr]{arabic,latin}{%
- \ifcase\xpg@nr\relax
- % arabic:
- \@kurdish@latinfalse%
- \@kurdish@arabictrue%
- \or
- % latin:
- \@kurdish@latintrue%
- \@kurdish@arabicfalse%
- \fi
- \kurdish@set@variety%
- \xpg@info{Option: kurdish, script=\xpg@val}%
-}{\xpg@warning{Unknown Kurdish script `#1'}}
-
\newif\if@western@numerals
\newif\if@force@western@numerals
@@ -87,7 +60,7 @@
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\def\kurdish@script{latin}
- \xpg@fontsetup@latin{kurdish}%
+ \SetupLatinPolyglossiaFont{kurdish}%
\else
\if@kurdish@arabic% arabic explicitly set
\if@kurdish@kurmanji
@@ -97,61 +70,84 @@
\else
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
- \xpg@fontsetup@nonlatin{kurdish}%
+ \SetupNonLatinPolyglossiaFont{kurdish}%
\else% sorani=arabic, kurmanji=latin
\if@kurdish@kurmanji
\@western@numeralstrue%
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
- \xpg@fontsetup@latin{kurdish}%
+ \SetupLatinPolyglossiaFont{kurdish}%
\def\kurdish@script{latin}
\else
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
- \xpg@fontsetup@nonlatin{kurdish}%
+ \SetupNonLatinPolyglossiaFont{kurdish}%
\fi
\fi
\fi
}
\newif\if@western@numerals
-\define@choicekey*+{kurdish}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@western@numeralsfalse%
- \or
- % western:
- \@western@numeralstrue%
- \@force@western@numeralstrue%
- \fi
- \xpg@info{Option: Kurdish, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Kurdish numerals option `#1'}}
\newif\ifkurdish@customsep\kurdish@customsepfalse
\def\xpg@sepmark{}
-\define@key{kurdish}{sectionsep}[.]{%
- \kurdish@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{kurdish}[kurdish@]{abjadjimnotail}[true]{%
- \ifkurdish@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi%
-}
-
-% NOT YET USED
-\define@key{kurdish}{locale}[default]{%
- \def\@kurdish@locale{#1}}
%TODO add option for CALENDAR
+\DeclareKeys[polyglossia/gloss/kurdish]
+ {
+ variant.choice:,
+ variant / sorani.code =
+ {%
+ \def\kurdish@variant{sorani}%
+ \@kurdish@kurmanjifalse
+ \kurdish@set@variety
+ },
+ variant / kurmanji.code =
+ {%
+ \def\kurdish@variant{kurmanji}%
+ \@kurdish@kurmanjitrue
+ \kurdish@set@variety
+ },
+ variant.default:n = sorani,
+ variant/unknown.code = \xpg@warning{Unknown Kurdish variant `#1'},
+ script.choice:,
+ script / arabic.code =
+ {%
+ \@kurdish@latinfalse
+ \@kurdish@arabictrue
+ \kurdish@set@variety
+ },
+ script / latin.code =
+ {%
+ \@kurdish@latintrue
+ \@kurdish@arabicfalse
+ \kurdish@set@variety
+ },
+ script.default:n = sorani,
+ script/unknown.code = \xpg@warning{Unknown Kurdish script `#1'},
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@western@numeralsfalse
+ },
+ numerals / western.code =
+ {%
+ \@western@numeralstrue
+ \@force@western@numeralstrue
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Kurdish numerals value `#1'},
+ sectionsep.code = \gdef\xpg@sepmark{#1}\kurdish@customseptrue,
+ sectionsep.default:n = .,
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ locale.store = \@kurdish@locale
+ }
+
% Register default options
-\xpg@initialize@gloss@options{kurdish}{variant=sorani,locale=default,script=arabic,abjadjimnotail=false,numerals=eastern}
+\InitializeGlossOptions{kurdish}{variant=sorani,locale=default,script=arabic,abjadjimnotail=false,numerals=eastern}
\def\kurdish@language{%
- \polyglossia@setup@language@patterns{\kurdish@pattern}%
+ \SetupPolyglossiaLangPatterns{\kurdish@pattern}%
}%
\def\kurdishNativemonth#1{\ifcase#1%
@@ -404,16 +400,16 @@
}
\def\nokurdish@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\kurdish@luatex@capsformat{%
%
% change chapter and part headings
\ifkurdish@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -425,7 +421,7 @@
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -440,30 +436,30 @@
}
\def\nokurdish@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@kurdish{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf
index db4eabba41d..79deb39afc7 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
% We provide this gloss for babel compatibility.
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf
index abb9bc4bf2f..b4091d70014 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf
index b00755c8ace..8eec40dbd49 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf
index 0d75aaf005a..029ad4a9168 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf
index c1e3e26ece0..99e36c42bf0 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
index 4d979bb93c1..41a6817e115 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
@@ -22,14 +22,23 @@
\newif\if@lao@numerals
\def\tmp@lao{lao}
-\define@key{lao}{numerals}[arabic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@lao\@lao@numeralstrue\else
- \@lao@numeralsfalse\fi
-}
+
+\DeclareKeys[polyglossia/gloss/lao]
+ {
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \@lao@numeralsfalse
+ },
+ numerals / lao.code =
+ {%
+ \@lao@numeralstrue
+ },
+ numerals.default:n = arabic
+ }
% Register default options
-\xpg@initialize@gloss@options{lao}{numerals=arabic}
+\InitializeGlossOptions{lao}{numerals=arabic}
% Translations provided by Brian Wilson <bountonw at gmail.com>
\def\captionslao{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf
index 18d83e92114..8479fbaa42a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-latex.ldf}[polyglossia: module for default language]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
index 2fc092c0638..d1211a83cb2 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
@@ -33,6 +33,9 @@
\bool_new:N \l_polyglossia_latin_use_v_bool
\bool_new:N \l_polyglossia_latin_use_ligatures_bool
\bool_new:N \l_polyglossia_latin_capitalize_month_bool
+\bool_new:N \l_polyglossia_latin_babelshorthands_bool
+\bool_new:N \l_polyglossia_latin_prosodic_shorthands_bool
+\bool_new:N \l_polyglossia_latin_ecclesiastic_footnotes_bool
\cs_new:Npn \polyglossia_latin_classical_character_codes:
{
@@ -68,11 +71,11 @@
\cs_new:Npn \polyglossia_latin_use_modern_patterns:
{
- \xpg@ifdefined {latin}
+ \IfLanguageDefinedTF {latin}
{
\def \latin@language
{
- \polyglossia@setup@language@patterns {latin}
+ \SetupPolyglossiaLangPatterns {latin}
\str_case:Vn \l_polyglossia_latin_variant_str
{
{classic} { \adddialect \l@classiclatin \l@latin }
@@ -96,11 +99,11 @@
\cs_new:Npn \polyglossia_latin_set_patterns:n #1
% #1 may be "classiclatin" or "liturgicallatin"
{
- \xpg@ifdefined {#1}
+ \IfLanguageDefinedTF {#1}
{
\def \latin@language
{
- \polyglossia@setup@language@patterns {#1}
+ \SetupPolyglossiaLangPatterns {#1}
\str_case:Vn \l_polyglossia_latin_variant_str
{
{classic} {
@@ -316,7 +319,8 @@
% Save original footnote definition
% Do this at the end of the preamble to catch other
% packages' footnote changes (#391)
-\AtEndPreamble{%
+\hook_gput_code:nnn { begindocument / before } {.}
+{
\cs_if_exist:NT \@makefntext
{
\cs_set_eq:NN \polyglossia_latin_original_footnote:n \@makefntext
@@ -340,40 +344,27 @@
\cs_new:Npn \polyglossia_latin_apply_footnote_option:
{
- \str_if_eq:VnTF \xpg@main@language {latin}
+ \IfMainLanguageTF {latin}
{
\cs_if_exist:NT \@makefntext
{
- \iflatin@ecclesiasticfootnotes
+ \bool_if:NTF \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ {
\let \@makefntext \polyglossia_latin_variant_footnote:n
- \else
+ }
+ {
\let \@makefntext \polyglossia_latin_original_footnote:n
- \fi
+ }
}
}
{
- \iflatin@ecclesiasticfootnotes
- \msg_warning:nn {polyglossia} {latin / ineffective footnote option}
- \fi
- }
- }
-
-\define@boolkey {latin} [latin@] {ecclesiasticfootnotes} [true]
- {
- \token_if_eq_meaning:NNTF \@onlypreamble \@notprerr
- {
- % within the document
- \polyglossia_latin_apply_footnote_option:
- }
- {
- % within the preamble
- % The application of the option has to be postponed as the main
- % language may be undefined when the option is called.
- \AtBeginDocument { \polyglossia_latin_apply_footnote_option: }
+ \bool_if:NT \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ {
+ \msg_warning:nn {polyglossia} {latin / ineffective footnote option}
+ }
}
}
-
%%%%% Language variants: classic, medieval, modern, and ecclesiastic
\str_new:N \l_polyglossia_latin_variant_str
@@ -436,58 +427,6 @@
\polyglossia_latin_use_modern_patterns:
}
-\define@key{latin}{variant}
- {
- \str_case:nnF {#1}
- {
- {classic}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {classic}
- \polyglossia_latin_classic_settings:
- }
- {medieval}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {medieval}
- \polyglossia_latin_medieval_settings:
- }
- {modern}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {modern}
- \polyglossia_latin_modern_settings:
- }
- {ecclesiastic}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {ecclesiastic}
- \polyglossia_latin_ecclesiastic_settings:
- }
- }
- {
- \msg_warning:nnn {polyglossia} {latin / illegal language variant} {#1}
- }
- }
-
-
-%%%%% Boolean options concerning spelling
-
-\define@boolkey{latin}[latin@]{usej}[true]
- {
- \iflatin@usej
- \bool_set_true:N \l_polyglossia_latin_use_j_bool
- \else
- \bool_set_false:N \l_polyglossia_latin_use_j_bool
- \fi
- }
-
-\define@boolkey{latin}[latin@]{capitalizemonth}[true]
- {
- \iflatin@capitalizemonth
- \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
- \else
- \bool_set_false:N \l_polyglossia_latin_capitalize_month_bool
- \fi
- }
-
-
%%%%% Hyphenation variants: classic, liturgical, and modern
\msg_new:nnn {polyglossia} {latin / hyphenation variant}
@@ -500,23 +439,6 @@
The~Latin~hyphenation~variant~"#1"~is~undefined~\msg_line_context:.
}
-\define@key {latin} {hyphenation}
- {
- \str_case:nnTF {#1}
- {
- {classic} { \polyglossia_latin_set_patterns:n {classiclatin} }
- {liturgical} { \polyglossia_latin_set_patterns:n {liturgicallatin} }
- {modern} { \polyglossia_latin_use_modern_patterns: }
- }
- {
- \msg_info:nnn {polyglossia} {latin / hyphenation variant} {#1}
- }
- {
- \msg_warning:nnn {polyglossia} {latin / illegal hyphenation variant} {#1}
- }
- }
-
-
%%%%% Latin captions and date
\def \captionslatin
@@ -588,30 +510,89 @@
}
}
-
-%%%%% Latin shorthands
-
-\define@boolkey{latin}[latin@]{babelshorthands}[true]
- {
- }
-
-\define@boolkey{latin}[latin@]{prosodicshorthands}[true]
+\DeclareKeys[polyglossia/gloss/latin]
{
+ babelshorthands.bool_set:N = \l_polyglossia_latin_babelshorthands_bool,
+ babelshorthands.default:n = true,
+ prosodicshorthands.bool_set:N = \l_polyglossia_latin_prosodic_shorthands_bool,
+ prosodicshorthands.default:n = true,
+ usej.bool_set:N = \l_polyglossia_latin_use_j_bool,
+ capitalizemonth.bool_set:N = \l_polyglossia_latin_capitalize_month_bool,
+ hyphenation.code =
+ \str_case:nnTF {#1}
+ {
+ {classic} { \polyglossia_latin_set_patterns:n {classiclatin} }
+ {liturgical} { \polyglossia_latin_set_patterns:n {liturgicallatin} }
+ {modern} { \polyglossia_latin_use_modern_patterns: }
+ }
+ {
+ \msg_info:nnn {polyglossia} {latin / hyphenation variant} {#1}
+ }
+ {
+ \msg_warning:nnn {polyglossia} {latin / illegal hyphenation variant} {#1}
+ },
+ variant.code =
+ \str_case:nnF {#1}
+ {
+ {classic}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {classic}
+ \polyglossia_latin_classic_settings:
+ }
+ {medieval}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {medieval}
+ \polyglossia_latin_medieval_settings:
+ }
+ {modern}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {modern}
+ \polyglossia_latin_modern_settings:
+ }
+ {ecclesiastic}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {ecclesiastic}
+ \polyglossia_latin_ecclesiastic_settings:
+ }
+ }
+ {
+ \msg_warning:nnn {polyglossia} {latin / illegal language variant} {#1}
+ },
+ ecclesiasticfootnotes.choices:nn = { true, false }
+ {
+ \ifcase\UseName{l_keys_choice_int}\or
+ \bool_set_true:N \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ \else
+ \bool_set_false:N \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ \fi
+ \xpg_if_in_preamble:TF
+ {
+ % within the preamble
+ % The application of the option has to be postponed as the main
+ % language may be undefined when the option is called.
+ \AtBeginDocument { \polyglossia_latin_apply_footnote_option: }
+ }
+ {
+ % within the document
+ \polyglossia_latin_apply_footnote_option:
+ }
+ },
+ ecclesiasticfootnotes.default:n = true
}
% Register default options
-\xpg@initialize@gloss@options{latin}{variant=modern,hyphenation=modern,babelshorthands=false,
+\InitializeGlossOptions{latin}{variant=modern,hyphenation=modern,babelshorthands=false,
prosodicshorthands=false,ecclesiasticfootnotes=false,
usej=false,capitalizemonth=true}
\ifsystem@babelshorthands
- \setkeys{latin}{babelshorthands=true}
+ \SetGlossOptions{latin}{babelshorthands=true}
\else
- \setkeys{latin}{babelshorthands=false}
+ \SetGlossOptions{latin}{babelshorthands=false}
\fi
\ExplSyntaxOff % babelsh.def does not support expl3 syntax
-\ifcsundef{initiate@active@char}{\input{babelsh.def}}{}
+\@ifundefined{initiate@active@char}{\input{babelsh.def}}{}
\ExplSyntaxOn
\initiate@active@char {"}
@@ -643,13 +624,13 @@
\AtBeginDocument
{
- \str_if_eq:VnTF \xpg@main@language {latin}
+ \IfMainLanguageTF {latin}
{
- \iflatin@prosodicshorthands
- \else
+ \bool_if:NF \l_polyglossia_latin_prosodic_shorthands_bool
+ {
\shorthandoff {=}
\shorthandoff* {^}
- \fi
+ }
}
{
% The following command should not be called if the main language
@@ -1011,7 +992,7 @@
\let \xpgla@savedvalues \empty
-\AtEndPreamble
+\hook_gput_code:nnn { begindocument / before } {.}
{
\edef \xpgla@savedvalues
{
@@ -1024,12 +1005,14 @@
\def \noextras@latin
{
- \iflatin@babelshorthands
+ \bool_if:NT \l_polyglossia_latin_babelshorthands_bool
+ {
\polyglossia_latin_no_shorthands:
- \fi
- \iflatin@prosodicshorthands
+ }
+ \bool_if:NT \l_polyglossia_latin_prosodic_shorthands_bool
+ {
\polyglossia_latin_no_prosodic_shorthands:
- \fi
+ }
\xpgla@savedvalues
\polyglossia_latin_no_punctuation_spacing:
\polyglossia_latin_modern_character_codes:
@@ -1045,16 +1028,20 @@
{
\polyglossia_latin_punctuation_spacing:
}
- \iflatin@babelshorthands
+ \bool_if:NTF \l_polyglossia_latin_babelshorthands_bool
+ {
\polyglossia_latin_shorthands:
- \else
+ }
+ {
\polyglossia_latin_no_shorthands:
- \fi
- \iflatin@prosodicshorthands
+ }
+ \bool_if:NTF \l_polyglossia_latin_prosodic_shorthands_bool
+ {
\polyglossia_latin_prosodic_shorthands:
- \else
+ }
+ {
\polyglossia_latin_no_prosodic_shorthands:
- \fi
+ }
}
\def \blockextras@latin
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf
deleted file mode 100644
index 496d8356dde..00000000000
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf
+++ /dev/null
@@ -1,9 +0,0 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
-%
-\ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
-
-% We provide this as a babel alias
-
-\xpg@load@master@language{latin}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf
deleted file mode 100644
index aab9c456d44..00000000000
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf
+++ /dev/null
@@ -1,9 +0,0 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
-%
-\ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
-
-% We provide this as a babel alias
-
-\xpg@load@master@language{latin}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf
deleted file mode 100644
index 1f76e51ba2b..00000000000
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf
+++ /dev/null
@@ -1,9 +0,0 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
-%
-\ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
-
-% We provide this as a babel alias
-
-\xpg@load@master@language{latin}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
index 495a2384b07..a0e938f3c5a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
\PolyglossiaSetup{latvian}{
@@ -25,12 +25,12 @@
\def\contentsname{Saturs}%
\def\listfigurename{Attēlu saraksts}%
\def\listtablename{Tabulu saraksts}%
- \def\indexname{Index}%
+ \def\indexname{Priekšmetu rādītājs}%
\def\figurename{Att.}%
\def\tablename{Tabula}%
\def\partname{Daļa}%
- \def\enclname{encl}%
- \def\ccname{cc}%
+ \def\enclname{Pielikumā}%
+ \def\ccname{Kopija(s)}%
\def\headtoname{To}%
\def\pagename{lpp.}%
\def\seename{sk.}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
index c3f389702bb..c120f8394f7 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translated by Paulius Sladkevičius <komsas@gmail.com>
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf
index dbb6a3406a2..d74145d09a8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{lao}
+\InheritGlossFile{lao}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf
index a754a11e9e2..a4927b4f86a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
% We provide this as a babel alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
index 4f054727f6e..96cd05cede4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
% We only provide this gloss for babel compatibility. Since lsorbian is
% a sorbian variety, we use 'sorbian' with variant 'lower' now.
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf
index a229c22f599..c01d7f9cae3 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{lithuanian}
+\InheritGlossFile{lithuanian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf
index 872db3d41eb..88932fe434d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latvian}
+\InheritGlossFile{latvian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf
index 7d1465ee3d5..e1c8534b2a3 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
\PolyglossiaSetup{macedonian}{
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
index 034802242c0..9533a325b4a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
% We only provide this gloss for babel compatibility.
-\xpg@load@master@language{hungarian}
+\InheritGlossFile{hungarian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf
index c890ffcd2b9..451ed329b8f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
@@ -26,65 +26,44 @@
% Backwards compat. alias
\setlanguagealias[variant=malaysian]{malay}{bahasam}
-\providebool{malay@melayu}
+\@ifundefined{ifmalay@melayu}%
+ {\newif\ifmalay@melayu}{}
\malay@melayufalse
\def\malay@variant{malay}
-\define@choicekey*+{malay}{variant}[\xpg@val\xpg@nr]{indonesian,malaysian}[malaysian]{%
- \ifcase\xpg@nr\relax
- % indonesian:
- \def\malay@variant{indonesian}%
- \malay@melayufalse
- \or
- % malaysian:
- \def\malay@variant{malay}%
- \malay@melayutrue
- \fi
- \ifmalay@melayu
- \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
- \xpg@fontsetup@latin{malay}%
- % Check if \l@malay is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{malay}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@malay}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{melayu,bahasam,bahasai,indonesian,indon,bahasa}
- \xpg@ifdefined{malay}{}{%
- \xpg@warning{No hyphenation patterns for Malay (Malaysian) found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@malay0%
- }%
- }%
- \else
- \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
- \xpg@fontsetup@latin{malay}%
- % Check if \l@indonesian is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{indonesian}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@indonesian}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{indon,bahasai,bahasam,malay,melayu,bahasa}
- \xpg@ifdefined{indonesian}{}{%
- \xpg@warning{No hyphenation patterns for Malay (Indonesian) found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@indonesian0
- }%
- }%
- \fi
- \xpg@info{Option: malay, variant=\xpg@val}%
-}{\xpg@warning{Unknown malay variant `#1'}}
+
+\DeclareKeys[polyglossia/gloss/malay]
+ {
+ variant.choice:,
+ variant / indonesian.code =
+ {%
+ \def\malay@variant{indonesian}%
+ \malay@melayufalse
+ \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
+ \SetupLatinPolyglossiaFont{malay}%
+ % Check if \l@indonesian is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{indonesian}{indon,bahasai,bahasam,malay,melayu,bahasa}%
+ },
+ variant / malaysian.code =
+ {%
+ \def\malay@variant{malay}%
+ \malay@melayutrue
+ \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
+ \SetupLatinPolyglossiaFont{malay}%
+ % Check if \l@malay is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{malay}{melayu,bahasam,bahasai,indonesian,indon,bahasa}%
+ },
+ variant.default:n = malaysian,
+ variant/unknown.code = \xpg@warning{Unknown malay variant `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{malay}{variant=malaysian}
+\InitializeGlossOptions{malay}{variant=malaysian}
\def\malay@language{%
- \polyglossia@setup@language@patterns{\malay@variant}%
+ \SetupPolyglossiaLangPatterns{\malay@variant}%
}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
index 44def596e77..84524dac5ce 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
index 79b48a24c5a..cbb0dce0cbb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translations provided by Abhijit Navale <abhi_navale@live.in>
% Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019
@@ -28,21 +28,25 @@
\newif\ifmarathi@devanagari@numerals
\marathi@devanagari@numeralstrue
-\define@choicekey*+{marathi}{numerals}[\xpg@val\xpg@nr]{Western,Devanagari}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Western:
- \marathi@devanagari@numeralsfalse%
- \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
- \or
- % Devanagari:
- \marathi@devanagari@numeralstrue%
- \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
- \fi
- \xpg@info{Option: Marathi, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Marathi numerals value `#1'}}
+\DeclareKeys[polyglossia/gloss/marathi]
+ {
+ numerals.choice:,
+ numerals / western.code =
+ {%
+ \marathi@devanagari@numeralsfalse
+ \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / devanagari.code =
+ {%
+ \marathi@devanagari@numeralstrue
+ \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Marathi numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{marathi}{numerals=Devanagari}
+\InitializeGlossOptions{marathi}{numerals=Devanagari}
\newcommand{\marathinumerals}[2]{\marathinumber{#2}}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-medievallatin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-medievallatin.ldf
new file mode 100644
index 00000000000..f718bde8fa3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-medievallatin.ldf
@@ -0,0 +1,9 @@
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
+%
+\ProvidesFile{gloss-medievallatin.ldf}[polyglossia: module for medieval Latin]
+
+% We provide this as a babel alias
+
+\InheritGlossFile{latin}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf
index d5795bc39d3..dd2fbe301bd 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{macedonian}
+\InheritGlossFile{macedonian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf
index 74ebd5902fa..175a75bee7f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{malayalam}
+\InheritGlossFile{malayalam}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf
index f19bfb63f24..985d73b69d8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{mongolian}
+\InheritGlossFile{mongolian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf
index 04d4fe1e4da..d8eca6721d5 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
@@ -30,43 +30,46 @@
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{mongolian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \fi
- \xpg@info{Option: Mongolian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Mongolian numerals value `#1'}}
-\define@boolkey{mongolian}[mongolian@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/mongolian]
+ {
+ babelshorthands.if = mongolian@babelshorthands,
+ babelshorthands.default:n = true,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Mongolian numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{mongolian}{babelshorthands=false,numerals=arabic}
+\InitializeGlossOptions{mongolian}{babelshorthands=false,numerals=arabic}
\ifsystem@babelshorthands
- \setkeys{mongolian}{babelshorthands=true}
+ \SetGlossOptions{mongolian}{babelshorthands=true}
\else
- \setkeys{mongolian}{babelshorthands=false}
+ \SetGlossOptions{mongolian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\mongolian@shorthands{%
\xpg@activate@shorthands%
@@ -119,7 +122,7 @@
\def\bibname{Номзүй}%
\def\chaptername{Бүлэг}%
\def\appendixname{Хавсралт}%
- \ifcsundef{thechapter}%
+ \@ifundefined{thechapter}%
{\def\contentsname{Агуулга}}%
{\def\contentsname{Гарчиг}}%
\def\listfigurename{Зургийн жагсаалт}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf
index fa37ee180c0..7a56186cb25 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{marathi}
+\InheritGlossFile{marathi}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf
index 01cb9a28833..32524dab4fe 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf
index 715d6a22841..34bfbbce49a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{norwegian}
+\InheritGlossFile{norwegian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf
index 298913ccb8d..baf56a91398 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf
index cb77aa6be8d..7bacbf2b423 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf
index a7b7712520d..196b55d48ee 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
\PolyglossiaSetup{nko}{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
index d000c9c1e38..95121a64502 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
@@ -1,11 +1,11 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
% We only provide this gloss for babel compatibility. Since norsk is
% actually norwegian bokmal, we use 'norwegian' with variant 'bokmal' now.
-\xpg@load@master@language{norwegian}
+\InheritGlossFile{norwegian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf
index 544c8b7df79..ba7b7aca46d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
\PolyglossiaSetup{norwegian}{
@@ -20,28 +20,32 @@
\setlanguagealias[variant=nynorsk]{norwegian}{nynorsk}
\def\norwegian@variant{nynorsk}
-\define@choicekey*+{norwegian}{variant}[\xpg@val\xpg@nr]{nynorsk,bokmal}[nynorsk]{%
- \ifcase\xpg@nr\relax
- % nynorsk:
- \def\norwegian@variant{nynorsk}%
- \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
- \xpg@fontsetup@latin{norwegian}%
- \or
- % bokmal:
- \def\norwegian@variant{norsk}%
- \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
- \xpg@fontsetup@latin{norwegian}%
- \fi
- \xpg@info{Option: norwegian, variant=\xpg@val}%
-}{\xpg@warning{Unknown norwegian variant `#1'}}
+\DeclareKeys[polyglossia/gloss/norwegian]
+ {
+ variant.choice:,
+ variant / nynorsk.code =
+ {%
+ \def\norwegian@variant{nynorsk}%
+ \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
+ \SetupLatinPolyglossiaFont{norwegian}%
+ },
+ variant / bokmal.code =
+ {%
+ \def\norwegian@variant{norsk}%
+ \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
+ \SetupLatinPolyglossiaFont{norwegian}%
+ },
+ variant.default:n = nynorsk,
+ variant/unknown.code = \xpg@warning{Unknown norwegian variant `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{norwegian}{variant=nynorsk}
+\InitializeGlossOptions{norwegian}{variant=nynorsk}
\def\norwegian@language{%
- \polyglossia@setup@language@patterns{\norwegian@variant}%
+ \SetupPolyglossiaLangPatterns{\norwegian@variant}%
}%
\def\captionsnorwegian@nynorsk{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf
index 5fa656d2a50..19d45a3143c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
index 648d2b346d4..5a44bced302 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
@@ -1,11 +1,11 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
% We only provide this gloss for babel compatibility. Since nynorsk is
% a norwegian variety, we use 'norwegian' with variant 'nynorsk' now.
-\xpg@load@master@language{norwegian}
+\InheritGlossFile{norwegian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
index a383b92b28f..163fd7dc576 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
%%
%% This is file `gloss-occitan.ldf',
@@ -34,19 +34,19 @@
% BCP-47 compliant aliases
\setlanguagealias*{occitan}{oc}
-\define@boolkey{occitan}[occitan@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/occitan]
+ {
+ babelshorthands.if = occitan@babelshorthands,
+ babelshorthands.default:n = true
+ }
\ifsystem@babelshorthands
- \setkeys{occitan}{babelshorthands=true}
+ \SetGlossOptions{occitan}{babelshorthands=true}
\else
- \setkeys{occitan}{babelshorthands=false}
+ \SetGlossOptions{occitan}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\occitan@shorthands{%
\xpg@activate@shorthands%
@@ -138,7 +138,7 @@
\def\today{\occitanday\space \occitanmonth\space de~\number\year}%
}
\let\xpgoc@savedvalues\empty
-\AtEndPreamble{% the user or the class might define different values
+\AddToHook{begindocument/before}{% the user or the class might define different values
\edef\xpgoc@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf
index 7efbd533912..7101033d02e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translations provided by ଅଶୋକ ଦାସ୍ <das@pas.rochester.edu> and ଅଭିଷେକ ଜେନା <avisekjena@gmail.com>
% TODO implement Odia calendar
@@ -30,32 +30,37 @@
\newif\ifodia@devanagari@numerals
\newif\ifodia@odia@numerals
-\define@choicekey*+{odia}{numerals}[\xpg@val\xpg@nr]{Devanagari,Odia,Western}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Devanagari:
- \odia@odia@numeralsfalse%
- \odia@devanagari@numeralstrue%
- \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-deva}%
- \or
- % Odia:
- \odia@odia@numeralstrue%
- \odia@devanagari@numeralsfalse%
- \or
- % Western:
- \odia@odia@numeralsfalse%
- \odia@devanagari@numeralsfalse%
- \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Odia, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Odia numeral `#1'}}
-
\def\extras@odia{}
\def\noextras@odia{}
-\define@boolkey{odia}[odia@]{changecounternumbering}[true]{}
+\DeclareKeys[polyglossia/gloss/odia]
+ {
+ changecounternumbering.if = odia@changecounternumbering,
+ changecounternumbering.default:n = true,
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \odia@odia@numeralsfalse
+ \odia@devanagari@numeralstrue
+ \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-deva}%
+ },
+ numerals / odia.code =
+ {%
+ \odia@odia@numeralstrue
+ \odia@devanagari@numeralsfalse
+ },
+ numerals / western.code =
+ {%
+ \odia@odia@numeralsfalse
+ \odia@devanagari@numeralsfalse
+ \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Odia numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{odia}{changecounternumbering=false,numerals=Devanagari}
+\InitializeGlossOptions{odia}{changecounternumbering=false,numerals=Devanagari}
\def\captionsodia{%
\def\refname{ସନ୍ଦର୍ଭ}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf
index a864d2040e0..7f9cee9b542 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-odia.ldf}[polyglossia: module for or (Odia)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{odia}
+\InheritGlossFile{odia}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf
index c54ec572b9c..9f56ed05039 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{punjabi}
+\InheritGlossFile{punjabi}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf
index ae1a9b0d288..6018964b451 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
@@ -27,42 +27,36 @@
\setlanguagealias{persian}{farsi}
\newif\if@western@numerals
-\define@choicekey*+{persian}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@western@numeralsfalse%
- \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
- \or
- % western:
- \@western@numeralstrue%
- \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Persian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Persian numerals option `#1'}}
-
\newif\ifpersian@customsep\persian@customsepfalse
\def\xpg@sepmark{}
-\define@key{persian}{sectionsep}[.]{%
- \persian@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{persian}[persian@]{abjadjimnotail}[true]{%
- \ifpersian@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi}
-
-% NOT YET USED
-\define@key{persian}{locale}[default]{%
- \def\@persian@locale{#1}}
%TODO add option for CALENDAR
+\DeclareKeys[polyglossia/gloss/persian]
+ {
+ sectionsep.code = \gdef\xpg@sepmark{#1}\persian@customseptrue,
+ sectionsep.default:n = .,
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ locale.store = \@persian@locale,
+ locale.default:n = default,
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@western@numeralsfalse
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
+ },
+ numerals / western.code =
+ {%
+ \@western@numeralstrue
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Persian numerals option `#1'}
+ }
+
% Register default options
-\xpg@initialize@gloss@options{persian}{locale=default,numerals=eastern,abjadjimnotail=false}
+\InitializeGlossOptions{persian}{locale=default,numerals=eastern,abjadjimnotail=false}
\def\farsigregmonth#1{\ifcase#1%
\or ژانویه\or فوریه\or مارس\or آوریل\or مه\or ژوئن\or ژوئیه\or اوت\or سپتامبر\or اکتبر\or نوامبر\or دسامبر\fi}
@@ -147,16 +141,16 @@
}
\def\nopersian@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\persian@luatex@capsformat{%
%
% change chapter and part headings
\ifpersian@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -168,7 +162,7 @@
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -183,30 +177,30 @@
}
\def\nopersian@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@persian{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
index 1b6b9b537d1..214182ba500 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
@@ -1,5 +1,5 @@
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
\makeatletter
@@ -17,19 +17,19 @@
% BCP-47 compliant aliases
\setlanguagealias*{piedmontese}{pms}
-\define@boolkey{piedmontese}[piedmontese@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/piedmontese]
+ {
+ babelshorthands.if = piedmontese@babelshorthands,
+ babelshorthands.default:n = true
+ }
\ifsystem@babelshorthands
- \setkeys{piedmontese}{babelshorthands=true}
+ \SetGlossOptions{piedmontese}{babelshorthands=true}
\else
- \setkeys{piedmontese}{babelshorthands=false}
+ \SetGlossOptions{piedmontese}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\piedmontese@shorthands{%
\xpg@activate@shorthands%
@@ -93,7 +93,7 @@
ëd luj\or d'agost\or dë stèmber\or d'otóber\or ëd novèmber\or dë dzèmber%
\fi\space dal\space\number\year}}
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\edef\xpgpms@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
index 48ceed5bbb6..bc48e3e4b1e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
@@ -20,26 +20,26 @@
\RequirePackage{luavlna}
\fi
-\define@boolkey{polish}[polish@]{babelshorthands}[true]{}
-
-\define@boolkey{polish}[polish@]{splithyphens}[true]{}
-
-\define@boolkey{polish}[polish@]{vlna}[true]{}
+\DeclareKeys[polyglossia/gloss/polish]
+ {
+ babelshorthands.if = polish@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = polish@splithyphens,
+ splithyphens.default:n = true,
+ vlna.if = polish@vlna,
+ vlna.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{polish}{babelshorthands=false,splithyphens=true,vlna=true}
+\InitializeGlossOptions{polish}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
- \setkeys{polish}{babelshorthands=true}
+ \SetGlossOptions{polish}{babelshorthands=true}
\else
- \setkeys{polish}{babelshorthands=false}
+ \SetGlossOptions{polish}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\polish@@splhyphen#1{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf
index 68f53eb1f22..e8f541e486c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
% We provide this as a babel alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
index 6111b581193..d635007377a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
@@ -7,6 +7,6 @@
% introduced it in 8.3 filename times). Since polyglossia uses full
% English language names, we use 'portuguese' now.
-\xpg@load@master@language{portuguese}
+\InheritGlossFile{portuguese}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf
index bb03525be7e..e58233056a1 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
@@ -28,41 +28,42 @@
\fi
\def\portuguese@variant{portuges}
-\define@choicekey*+{portuguese}{variant}[\xpg@val\xpg@nr]{portuguese,brazilian}[portuguese]{%
- \ifcase\xpg@nr\relax
- % portuguese:
- \def\portuguese@variant{portuges}%
- \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
- \or
- % brazilian:
- \def\portuguese@variant{brazil}%
- \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
- % There are no specific brazil patterns
- \adddialect\l@brazil\l@portuges\relax%
- \fi
- \xpg@info{Option: portuguese, variant=\xpg@val}%
-}{\xpg@warning{Unknown portuguese variant `#1'}}
-
-\define@boolkey{portuguese}[portuguese@]{babelshorthands}[true]{}
-
-\define@boolkey{portuguese}[portuguese@]{splithyphens}[true]{}
+
+\DeclareKeys[polyglossia/gloss/portuguese]
+ {
+ babelshorthands.if = portuguese@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = portuguese@splithyphens,
+ splithyphens.default:n = true,
+ variant.choice:,
+ variant / portuguese.code =
+ {%
+ \def\portuguese@variant{portuges}%
+ \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
+ },
+ variant / brazilian.code =
+ {%
+ \def\portuguese@variant{brazil}%
+ \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
+ % There are no specific brazil patterns
+ \adddialect\l@brazil\l@portuges\relax
+ },
+ variant.default:n = portuguese,
+ variant/unknown.code = \xpg@warning{Unknown portuguese variant `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{portuguese}{variant=portuguese,
+\InitializeGlossOptions{portuguese}{variant=portuguese,
babelshorthands=false,
splithyphens=true}
\ifsystem@babelshorthands
- \setkeys{portuguese}{babelshorthands=true}
+ \SetGlossOptions{portuguese}{babelshorthands=true}
\else
- \setkeys{portuguese}{babelshorthands=false}
+ \SetGlossOptions{portuguese}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\portuguese@@splhyphen#1{%
@@ -131,7 +132,7 @@
}
\def\portuguese@language{%
- \polyglossia@setup@language@patterns{\portuguese@variant}%
+ \SetupPolyglossiaLangPatterns{\portuguese@variant}%
}%
\def\captionsportuguese@portuges{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf
index 48eacd30e7f..e150176c02d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% UTF-8 strings kindly provided by
% Arvinder Singh Kang, <17-11-2022>
@@ -25,26 +25,31 @@
\def\punjabi@language{%
% patterns are spelled panjabi
- \polyglossia@setup@language@patterns{panjabi}%
+ \SetupPolyglossiaLangPatterns{panjabi}%
}
\newif\ifpunjabi@gurmukhi@numerals
\punjabi@gurmukhi@numeralstrue
-\define@choicekey*+{punjabi}{numerals}[\xpg@val\xpg@nr]{Gurmukhi,Western}[Gurmukhi]{%
- \ifcase\xpg@nr\relax
- % Gurmukhi:
- \punjabi@gurmukhi@numeralstrue%
- \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
- \or
- % Western:
- \punjabi@gurmukhi@numeralsfalse%
- \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Punjabi, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Punjabi numeral `#1'}}
+
+\DeclareKeys[polyglossia/gloss/punjabi]
+ {
+ numerals.choice:,
+ numerals / gurmukhi.code =
+ {%
+ \punjabi@gurmukhi@numeralstrue
+ \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
+ },
+ numerals / western.code =
+ {%
+ \punjabi@gurmukhi@numeralsfalse
+ \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = gurmukhi,
+ numerals/unknown.code = \xpg@warning{Unknown Punjabi numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{punjabi}{numerals=gurmukhi}
+\InitializeGlossOptions{punjabi}{numerals=gurmukhi}
\newcommand{\punjabinumerals}[2]{\punjabinumber{#2}}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
index 290dad9c71b..0051613ac77 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
index aa50a200003..b8c9d628e01 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
\makeatletter
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
index 8dcf535ebf5..34b2abd2445 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
@@ -27,11 +27,6 @@
\setlanguagealias*[spelling=old]{russian}{ru-petr1708}
\newif\if@russian@modern
-\define@key{russian}{spelling}[modern]{%
- \ifstrequal{#1}{old}%
- {\@russian@modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}}%
- {\@russian@moderntrue\SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}}%
-}
\def\captionsrussian{%
\if@russian@modern\captionsrussian@modern\else\captionsrussian@old\fi%
@@ -43,49 +38,68 @@
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{russian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
- \fi
- \xpg@info{Option: Russian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Russian numerals value `#1'}}
-
-\define@boolkey{russian}[russian@]{indentfirst}[true]{%
- \ifrussian@indentfirst
- \SetLanguageKeys{russian}{indentfirst=true}%
- \else
- \SetLanguageKeys{russian}{indentfirst=false}%
- \fi%
-}
-
-\define@boolkey{russian}[russian@]{babelshorthands}[true]{}
-
-% Force punctuation after heading number
-\define@boolkey{russian}[russian@]{forceheadingpunctuation}[true]{}
-% Define some math functions
-\define@boolkey{russian}[russian@]{mathfunctions}[true]{}
+\DeclareKeys[polyglossia/gloss/russian]
+ {
+ babelshorthands.if = russian@babelshorthands,
+ babelshorthands.default:n = true,
+ forceheadingpunctuation.if = russian@forceheadingpunctuation,
+ forceheadingpunctuation.default:n = true,
+ mathfunctions.if = russian@mathfunctions,
+ mathfunctions.default:n = true,
+ spelling.choice:,
+ spelling / modern.code =
+ {%
+ \@russian@moderntrue
+ \SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}%
+ },
+ spelling / old.code =
+ {%
+ \@russian@modernfalse
+ \SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}%
+ },
+ spelling.default:n = modern,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Russian numerals value `#1'},
+ indentfirst.choice:,
+ indentfirst / true.code =
+ {%
+ \SetLanguageKeys{russian}{indentfirst=true}%
+ },
+ indentfirst / false.code =
+ {%
+ \SetLanguageKeys{russian}{indentfirst=false}%
+ },
+ indentfirst.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{russian}{babelshorthands=false,
+\InitializeGlossOptions{russian}{babelshorthands=false,
spelling=modern,
numerals=arabic,
indentfirst=true,
@@ -94,16 +108,12 @@
\ifsystem@babelshorthands
- \setkeys{russian}{babelshorthands=true}
+ \SetGlossOptions{russian}{babelshorthands=true}
\else
- \setkeys{russian}{babelshorthands=false}
+ \SetGlossOptions{russian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\russian@shorthands{%
\xpg@activate@shorthands%
@@ -155,7 +165,7 @@
\def\bibname{Литература}%
\def\chaptername{Глава}%
\def\appendixname{Приложение}%
- \ifcsundef{thechapter}%
+ \@ifundefined{thechapter}%
{\def\contentsname{Содержание}}%
{\def\contentsname{Оглавление}}%
\def\listfigurename{Список иллюстраций}%
@@ -198,7 +208,7 @@
\def\bibname{Библіографія}%
\def\chaptername{Глава}%
\def\appendixname{Приложеніе}%
- \ifcsundef{thechapter}%
+ \@ifundefined{thechapter}%
{\def\contentsname{Содержаніе}}%
{\def\contentsname{Оглавленіе}}%
\def\listfigurename{Списокъ иллюстрацій}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf
index 9efe055865f..802718dbc47 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
@@ -28,19 +28,19 @@
% % northern:
% \def\sami@variant{samin}%
% \SetLanguageKeys{sami}{language=Northern Sami,langtag=NSM}%
-% \xpg@fontsetup@latin{sami}%
+% \SetupLatinPolyglossiaFont{sami}%
% \or
% % other:
% \def\sami@variant{}%
% \SetLanguageKeys{sami}{language= Sami,langtag=}%
-% \xpg@fontsetup@latin{sami}%
+% \SetupLatinPolyglossiaFont{sami}%
% \fi
% \xpg@info{Option: sami, variant=\xpg@val}%
%}{\xpg@warning{Unknown sami variant `#1'}}
%\def\sami@language{%
-% \polyglossia@setup@language@patterns{\sami@variant}%
+% \SetupPolyglossiaLangPatterns{\sami@variant}%
%}%
\def\captionssami@northern{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
index 0801e7423ab..e15a05b2430 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
% We only provide this gloss for babel compatibility. Since samin is
% a sami variety, we use 'sami' with variant 'northern' now.
-\xpg@load@master@language{sami}
+\InheritGlossFile{sami}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
index 094c6f6691d..1c9901082c9 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
@@ -27,56 +27,55 @@
\setlanguagealias*[script=gujarati]{sanskrit}{sa-Gujr}
\setlanguagealias*[script=latin]{sanskrit}{sa-Latn}
-\define@key{sanskrit}{Script}[devanagari]{%
- \ifcsdef{fontsetup@sanskrit@#1}%
- {\csname fontsetup@sanskrit@#1\endcsname}%
- {\xpg@error{`#1' is not a valid script for Sanskrit}%
- }%
-}
-
-\define@key{sanskrit}{script}[devanagari]{\setkeys{sanskrit}{Script=#1}}
-
\def\fontsetup@sanskrit@devanagari{%
\SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@gujarati{%
\SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@malayalam{%
\SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@bengali{%
\SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@kannada{%
\SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@telugu{%
\SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@latin{%
\SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
- \xpg@fontsetup@latin{sanskrit}}
+ \SetupLatinPolyglossiaFont{sanskrit}}
\newif\ifsanskrit@devanagari@numerals
\sanskrit@devanagari@numeralstrue
-\define@choicekey*+{sanskrit}{numerals}[\xpg@val\xpg@nr]{devanagari,western}[devanagari]{%
- \ifcase\xpg@nr\relax
- % devanagari:
- \sanskrit@devanagari@numeralstrue%
- \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
- \or
- % western:
- \sanskrit@devanagari@numeralsfalse%
- \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Sanskrit, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Sanskrit numeral `#1'}}
+\DeclareKeys[polyglossia/gloss/sanskrit]
+ {
+ script.code = \@ifundefined{fontsetup@sanskrit@#1}%
+ {\xpg@error{`#1' is not a valid script for Sanskrit}}%
+ {\csname fontsetup@sanskrit@#1\endcsname},
+ script.default:n = devanagari,
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \sanskrit@devanagari@numeralstrue
+ \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
+ },
+ numerals / western.code =
+ {%
+ \sanskrit@devanagari@numeralsfalse
+ \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Sanskrit numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{sanskrit}{script=devanagari,numerals=devanagari}
+\InitializeGlossOptions{sanskrit}{script=devanagari,numerals=devanagari}
% Use \providecommand here as the ldf file might
% be reloaded via BCP.
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
index a53cd0c6d3f..562e7358a5e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
% We only provide this gloss for babel compatibility. Since scottish is
% a gaelic variety, we use 'gaelic' with variant 'scottish' now.
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
index 3a80bdd1370..3bc4740ebb4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -39,67 +39,10 @@
\fi
\newif\if@serbian@cyr
-\define@choicekey*+{serbian}{Script}[\xpg@val\xpg@nr]{cyrillic,latin}[cyrillic]{%
- \ifcase\xpg@nr\relax
- % cyrillic:
- \@serbian@cyrtrue
- \xpg@fontsetup@nonlatin{serbian}%
- \or
- % latin:
- \@serbian@cyrfalse
- \xpg@fontsetup@latin{serbian}%
- %TODO \def\serbian@language{\language=\l@serbianlat}%
- % or should we use Croatian patterns as a fallback for the time being???
- \fi
- \serbian@set@languagekeys%
- \xpg@info{Option: Serbian, script=\xpg@val}%
-}{\xpg@warning{Unknown Serbian script `#1'}}
-
-\define@key{serbian}{script}[cyrillic]{\setkeys{serbian}{Script=#1}}
-
\newif\if@serbian@ijekavian
-\define@choicekey*+{serbian}{variant}[\xpg@val\xpg@nr]{ekavian,ijekavian}[ekavian]{%
- \ifcase\xpg@nr\relax
- % ekavian:
- \@serbian@ijekavianfalse%
- \or
- % ijekavian:
- \@serbian@ijekaviantrue%
- \fi
- \serbian@set@languagekeys%
- \xpg@info{Option: Serbian, variant=\xpg@val}%
-}{\xpg@warning{Unknown Serbian variant `#1'}}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{serbian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
- \fi
- \xpg@info{Option: Serbian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Serbian numerals value `#1'}}
-
-\define@boolkey{serbian}[serbian@]{splithyphens}[true]{}
-
-\define@boolkey{serbian}[serbian@]{datei}[true]{}
\def\serbian@set@languagekeys{%
\if@serbian@cyr
@@ -117,10 +60,75 @@
\fi%
}
-\setkeys{serbian}{Script,numerals}
+\DeclareKeys[polyglossia/gloss/serbian]
+ {
+ splithyphens.if = serbian@splithyphens,
+ splithyphens.default:n = true,
+ datei.if = serbian@datei,
+ datei.default:n = true,
+ variant.choice:,
+ variant / ekavian.code =
+ {%
+ \@serbian@ijekavianfalse
+ \serbian@set@languagekeys
+ },
+ variant / ijekavian.code =
+ {%
+ \@serbian@ijekaviantrue
+ \serbian@set@languagekeys
+ },
+ variant.default:n = ekavian,
+ variant/unknown.code = \xpg@warning{Unknown Serbian variant `#1'},
+ script.choice:,
+ script / cyrillic.code =
+ {%
+ \@serbian@cyrtrue
+ \SetupNonLatinPolyglossiaFont{serbian}%
+ \serbian@set@languagekeys
+ },
+ script / latin.code =
+ {%
+ \@serbian@cyrfalse
+ \SetupLatinPolyglossiaFont{serbian}%
+ %TODO \def\serbian@language{\language=\l@serbianlat}%
+ % or should we use Croatian patterns as a fallback for the time being???
+ \serbian@set@languagekeys
+ },
+ script.default:n = cyrillic,
+ script/unknown.code = \xpg@warning{Unknown Serbian script `#1'},
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Serbian numerals value `#1'}
+ }
+
+\SetGlossOptions{serbian}{script,numerals}
% Register default options
-\xpg@initialize@gloss@options{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
+\InitializeGlossOptions{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf
index 7e395fbb602..5493765d9b6 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
% We provide this as a babel alias
-\xpg@load@master@language{serbian}
+\InheritGlossFile{serbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
index 863b9babde3..b08d84335ed 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
@@ -19,26 +19,26 @@
\RequirePackage{luavlna}
\fi
-\define@boolkey{slovak}[slovak@]{babelshorthands}[true]{}
-
-\define@boolkey{slovak}[slovak@]{splithyphens}[true]{}
-
-\define@boolkey{slovak}[slovak@]{vlna}[true]{}
+\DeclareKeys[polyglossia/gloss/slovak]
+ {
+ babelshorthands.if = slovak@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = slovak@splithyphens,
+ splithyphens.default:n = true,
+ vlna.if = slovak@vlna,
+ vlna.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{slovak}{babelshorthands=false,splithyphens=true,vlna=true}
+\InitializeGlossOptions{slovak}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
- \setkeys{slovak}{babelshorthands=true}
+ \SetGlossOptions{slovak}{babelshorthands=true}
\else
- \setkeys{slovak}{babelshorthands=false}
+ \SetGlossOptions{slovak}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\slovak@@splhyphen#1{%
@@ -214,7 +214,7 @@
\def\contentsname{Obsah}%
\def\listfigurename{Zoznam obrázkov}%
\def\listtablename{Zoznam tabuliek}%
- \def\indexname{Index}%
+ \def\indexname{Register}%
\def\figurename{Obrázok}%
\def\tablename{Tabuľka}%
%\def\thepart{}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf
index 4b932a45446..ce2de8083c9 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
% We provide this as a babel alias
-\xpg@load@master@language{slovenian}
+\InheritGlossFile{slovenian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
index 2b574559ead..5a08442e3f0 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
@@ -19,10 +19,14 @@
% Babel aliases
\setlanguagealias{slovenian}{slovene}
-\define@boolkey{slovenian}[slovenian@]{localalph}[true]{}
+\DeclareKeys[polyglossia/gloss/slovenian]
+ {
+ localalph.if = slovenian@localalph,
+ localalph.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{slovenian}{localalph=false}
+\InitializeGlossOptions{slovenian}{localalph=false}
\def\captionsslovenian{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf
index 27b0274d218..c7b0a1c0ce8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
@@ -26,60 +26,40 @@
\setlanguagealias[variant=upper]{sorbian}{uppersorbian}
\def\sorbian@variant{usorbian}
-\define@choicekey*+{sorbian}{variant}[\xpg@val\xpg@nr]{upper,lower}[upper]{%
- \ifcase\xpg@nr\relax
- % upper:
- \def\sorbian@variant{usorbian}%
- \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
- \xpg@fontsetup@latin{sorbian}%
- % Check if \l@usorbian is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{usorbian}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@usorbian}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{uppersorbian}
- \xpg@ifdefined{usorbian}{}{%
- \xpg@warning{No hyphenation patterns for Upper Sorbian found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@usorbian0%
- }
- }%
- \or
- % lower:
- \def\sorbian@variant{lsorbian}%
- \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
- \xpg@fontsetup@latin{sorbian}%
- % Check if \l@lsorbian is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{lsorbian}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@lsorbian}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{lowersorbian,Lsorbian,usorbian,uppersorbian}
- \xpg@ifdefined{lsorbian}{}{%
- \xpg@warning{No hyphenation patterns for Lower Sorbian found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@lsorbian0%
- }
- }%
- \fi
- \xpg@info{Option: sorbian, variant=\xpg@val}%
-}{\xpg@warning{Unknown sorbian variant `#1'}}
-
-
-\define@boolkey{sorbian}[sorbian@]{olddate}[true]{}
+
+\DeclareKeys[polyglossia/gloss/sorbian]
+ {
+ olddate.if = sorbian@olddate,
+ olddate.default:n = true,
+ variant.choice:,
+ variant / upper.code =
+ {%
+ \def\sorbian@variant{usorbian}%
+ \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
+ \SetupLatinPolyglossiaFont{sorbian}%
+ % Check if \l@usorbian is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{usorbian}{uppersorbian}%
+ },
+ variant / lower.code =
+ {%
+ \def\sorbian@variant{lsorbian}%
+ \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
+ \SetupLatinPolyglossiaFont{sorbian}%
+ % Check if \l@lsorbian is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{lsorbian}{lowersorbian,Lsorbian,usorbian,uppersorbian}%
+ },
+ variant.default:n = upper,
+ variant/unknown.code = \xpg@warning{Unknown sorbian variant `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{sorbian}{variant=upper,olddate=false}
+\InitializeGlossOptions{sorbian}{variant=upper,olddate=false}
\def\sorbian@language{%
- \polyglossia@setup@language@patterns{\sorbian@variant}%
+ \SetupPolyglossiaLangPatterns{\sorbian@variant}%
}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
index c7f6358f047..0b5b128ae2a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
@@ -27,52 +27,58 @@
\newif\if@spanish@mexico
\@spanish@mexicofalse
-\define@choicekey*+{spanish}{variant}[\xpg@val\xpg@nr]{spanish,mexican}[spanish]{%
- \ifcase\xpg@nr\relax
- % spanish:
- \@spanish@mexicofalse%
- \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
- \or
- % mexican:
- \@spanish@mexicotrue%
- \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
- \fi
- \xpg@info{Option: spanish, variant=\xpg@val}%
-}{\xpg@warning{Unknown spanish variant `#1'}}
% Localized math operators à la babel
\newif\ifspanish@accentedoperators
\newif\ifspanish@spacedoperators
\newif\ifspanish@locoperators
-\define@choicekey*+{spanish}{spanishoperators}[\xpg@val\xpg@nr]{all,accented,spaced,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \spanish@locoperatorstrue%
- \spanish@accentedoperatorstrue%
- \spanish@spacedoperatorstrue%
- \or
- % accented:
- \spanish@locoperatorsfalse%
- \spanish@accentedoperatorstrue%
- \spanish@spacedoperatorsfalse%
- \or
- % spaced:
- \spanish@locoperatorsfalse%
- \spanish@accentedoperatorsfalse%
- \spanish@spacedoperatorstrue%
- \or
- % none:
- \spanish@locoperatorsfalse%
- \spanish@accentedoperatorsfalse%
- \spanish@spacedoperatorsfalse%
- \fi
- \xpg@info{Option: Spanish, spanishoperators=\xpg@val}%
-}{\xpg@warning{Unknown spanishoperators value `#1'}}
-
+\DeclareKeys[polyglossia/gloss/spanish]
+ {
+ variant.choice:,
+ variant / spanish.code =
+ {%
+ \@spanish@mexicofalse
+ \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
+ },
+ variant / mexican.code =
+ {%
+ \@spanish@mexicotrue
+ \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
+ },
+ variant.default:n = spanish,
+ variant/unknown.code = \xpg@warning{Unknown spanish variant `#1'},
+ spanishoperators.choice:,
+ spanishoperators / all.code =
+ {%
+ \spanish@locoperatorstrue
+ \spanish@accentedoperatorstrue
+ \spanish@spacedoperatorstrue
+ },
+ spanishoperators / accented.code =
+ {%
+ \spanish@locoperatorsfalse
+ \spanish@accentedoperatorstrue
+ \spanish@spacedoperatorsfalse
+ },
+ spanishoperators / spaced.code =
+ {%
+ \spanish@locoperatorsfalse
+ \spanish@accentedoperatorsfalse
+ \spanish@spacedoperatorstrue
+ },
+ spanishoperators / none.code =
+ {%
+ \spanish@locoperatorsfalse
+ \spanish@accentedoperatorsfalse
+ \spanish@spacedoperatorsfalse
+ },
+ spanishoperators.default:n = all,
+ spanishoperators/unknown.code = \xpg@warning{Unknown spanishoperators value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{spanish}{variant=spanish,spanishoperators=none}
+\InitializeGlossOptions{spanish}{variant=spanish,spanishoperators=none}
\let\xpg@save@lim\lim
\let\xpg@save@limsup\limsup
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf
index 850f5564ec5..4c0e71b0235 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
% We provide this as a babel alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
index a47304f1291..142a4b2d795 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf
index fe679140556..9ab9f7e8d57 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
index 7bd32c3ddcd..e93148da005 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
@@ -22,34 +22,37 @@
% BCP-47 compliant aliases
\setlanguagealias*{syriac}{syr}
-\def\syriacnumber#1{\@syriacnumber{#1}}%
+\def\syriacnumber#1{\@syriacnumber{#1}}
\newif\if@eastern@numerals
-\define@choicekey*+{syriac}{numerals}[\xpg@val\xpg@nr]{eastern,western,abjad}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@eastern@numeralstrue
- \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
- \or
- % western:
- \@eastern@numeralsfalse
- \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
- \or
- % abjad:
- \let\syriacnumber\abjadsyriac%
- \fi
- \xpg@info{Option: Syriac, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Syriac numerals option `#1'}}
-
\newif\ifsyriac@customsep\syriac@customsepfalse
\def\xpg@sepmark{}
-\define@key{syriac}{sectionsep}[.]{%
- \syriac@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
+
+\DeclareKeys[polyglossia/gloss/syriac]
+ {
+ sectionsep.code = \gdef\xpg@sepmark{#1}\syriac@customseptrue,
+ sectionsep.default:n = .,
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@eastern@numeralstrue
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
+ },
+ numerals / western.code =
+ {%
+ \@eastern@numeralsfalse
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / abjad.code =
+ {%
+ \let\syriacnumber\abjadsyriac
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Syriac numerals option `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{syriac}{numerals=western}
+\InitializeGlossOptions{syriac}{numerals=western}
%\define@key{polyglossia}{syriaclocale}[default]{%
% \def\@syriac@locale{#1}}
@@ -136,13 +139,13 @@
\IfCharIsAvailableTF{0661}%
{\@ensure@LTR{\protect\arabicdigits{\number#1}}}%
{\@ensure@LTR{\arabicdigits{\number#1}}
- \ifcsdef{arabicfont}%
- {\@ensure@LTR{\protect\arabicdigits{\number#1}}%
- \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
- I am using \string\arabicfont instead}}%
+ \@ifundefined{arabicfont}%
{\number#1%%% <---changed from \RL{\protect\reset@font\protect\number#1}%
\xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
since \string\arabicfont is not defined, we'll use Western numerals instead}}%
+ {\@ensure@LTR{\protect\arabicdigits{\number#1}}%
+ \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
+ I am using \string\arabicfont instead}}%
}%
\else
%%\RL{\protect\reset@font\number#1}%
@@ -180,16 +183,16 @@
}
\def\nosyriac@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\syriac@luatex@capsformat{%
%
% change chapter and part headings
\ifsyriac@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -201,7 +204,7 @@
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -216,30 +219,30 @@
}
\def\nosyriac@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@syriac{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
index 3d737cfe785..38b4a1e7ba9 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
index 25f4b29971f..dfe53caabd4 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
index ed530fbac5c..bfaa96cb1ed 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
%% This is partly based on thai-latex for Babel:
@@ -29,19 +29,25 @@
\newif\if@thai@numerals
\def\tmp@thai{thai}
-\define@key{thai}{numerals}[arabic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@thai
- \@thai@numeralstrue%
- \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
- \else
- \@thai@numeralsfalse%
- \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
- \fi
-}
+
+\DeclareKeys[polyglossia/gloss/thai]
+ {
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \@thai@numeralsfalse
+ \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / thai.code =
+ {%
+ \@thai@numeralstrue
+ \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
+ },
+ numerals.default:n = arabic,
+ }
% Register default options
-\xpg@initialize@gloss@options{thai}{numerals=arabic}
+\InitializeGlossOptions{thai}{numerals=arabic}
\def\captionsthai{%
\def\refname{หนังสืออ้างอิง}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
index 70de9a9ac24..b8223fe8458 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
%% Copyright 2013 Elie Roux
@@ -24,20 +24,18 @@
\setlanguagealias*{tibetan}{bo}
\newif\if@tibetan@numerals
-\def\tmp@tibetan{tibetan}
-\define@key{tibetan}{numerals}[tibetan]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@tibetan
- \@tibetan@numeralstrue%
- \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt}%
- \else
- \@tibetan@numeralsfalse%
- \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn}%
- \fi%
-}
+\DeclareKeys[polyglossia/gloss/tibetan]
+ {
+ numerals.choice:,
+ numerals/tibetan.code = \@tibetan@numeralstrue
+ \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt},
+ numerals/arabic.code = \@tibetan@numeralsfalse
+ \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn},
+ numerals.default:n = tibetan
+ }
\ifluatex
- \newluatexattribute\xpg@tibteol %
+ \newattribute\xpg@tibteol %
\directlua{polyglossia.load_tibt_eol()}%
\fi
@@ -62,7 +60,7 @@
}
% Register default options
-\xpg@initialize@gloss@options{tibetan}{numerals=tibetan}
+\InitializeGlossOptions{tibetan}{numerals=tibetan}
% some are known, but very few
% a few come from "Standardizing Tibetan Terms of Information Technology"
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
index a6784ae276b..da46f8a6dda 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
\RequirePackage{hijrical}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
index 9ec398470e3..af159166235 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
index 8093324dd00..65faa3e0795 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
@@ -1,8 +1,8 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
% BCP 47 tag for Uyghur
-\xpg@load@master@language{uyghur}
+\InheritGlossFile{uyghur}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
index bf09149725d..4a9674f2feb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
% Strings taken from Babel
@@ -26,51 +26,52 @@
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{ukrainian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
- \fi
- \xpg@info{Option: Ukrainian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Ukrainian numerals value `#1'}}
-
-% Define some math functions
-\define@boolkey{ukrainian}[ukrainian@]{mathfunctions}[true]{}
+\DeclareKeys[polyglossia/gloss/ukrainian]
+ {
+ babelshorthands.if = ukrainian@babelshorthands,
+ babelshorthands.default:n = true,
+ mathfunctions.if = ukrainian@mathfunctions,
+ mathfunctions.default:n = true,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Ukrainian numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{ukrainian}{numerals=arabic,mathfunctions=true}
-
-\define@boolkey{ukrainian}[ukrainian@]{babelshorthands}[true]{}
+\InitializeGlossOptions{ukrainian}{numerals=arabic,mathfunctions=true}
\ifsystem@babelshorthands
- \setkeys{ukrainian}{babelshorthands=true}
+ \SetGlossOptions{ukrainian}{babelshorthands=true}
\else
- \setkeys{ukrainian}{babelshorthands=false}
+ \SetGlossOptions{ukrainian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\ukrainian@shorthands{%
\xpg@activate@shorthands%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf
index 9ca440a885c..418551d25f3 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
% We provide this as a babel alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
index f95459e7d5b..47af125a2b7 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
%%% Adapted from a file contributed by Kamal Abdali
\ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -25,52 +25,46 @@
\setlanguagealias*{urdu}{ur}
\newif\if@western@numerals
-\define@choicekey*+{urdu}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@western@numeralsfalse%
- \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
- \or
- % western:
- \@western@numeralstrue%
- \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Urdu, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Urdu numerals option `#1'}}
-
\newif\ifurdu@customsep\urdu@customsepfalse
\def\xpg@sepmark{}
-\define@key{urdu}{sectionsep}[.]{%
- \urdu@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{urdu}[urdu@]{abjadjimnotail}[true]{%
- \ifurdu@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi%
-}
-
\newif\if@hijrical
-\define@choicekey*+{urdu}{calendar}[\xpg@val\xpg@nr]{gregorian,hijri}[gregorian]{%
- \ifcase\xpg@nr\relax
- % gregorian:
- \@hijricalfalse
- \or
- % hijri:
- \@hijricaltrue
- \fi
- \xpg@info{Option: Urdu, calendar=\xpg@val}%
-}{\xpg@warning{Unknown Urdu calendar option `#1'}}
-\define@key{urdu}{hijricorrection}[0]{%
- \gdef\urdu@hijri@correction{#1}}%
+\DeclareKeys[polyglossia/gloss/urdu]
+ {
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ sectionsep.code = \gdef\xpg@sepmark{#1}\urdu@customseptrue,
+ sectionsep.default:n = .,
+ hijricorrection.code = \gdef\urdu@hijri@correction{#1},
+ hijricorrection.default:n = 0,
+ calendar.choice:,
+ calendar / gregorian.code =
+ {%
+ \@hijricalfalse
+ },
+ calendar / hijri.code =
+ {%
+ \@hijricaltrue
+ },
+ calendar.default:n = gregorian,
+ calendar/unknown.code = \xpg@warning{Unknown Urdu calendar option `#1'},
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@western@numeralsfalse
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
+ },
+ numerals / western.code =
+ {%
+ \@western@numeralstrue
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Urdu numerals option `#1'}
+ }
% This should set the defaults
-\setkeys{urdu}{calendar,numerals,hijricorrection}
+\SetGlossOptions{urdu}{calendar,numerals,hijricorrection}
\def\urdugregmonth#1{\ifcase#1%
\or جنوری\or فروری\or مارچ\or اپریل\or مئی\or جون\or جولائی\or اگست\or ستمبر\or اکتوبر\or نومبر\or دسمبر\fi}
@@ -157,16 +151,16 @@
}
\def\nourdu@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\urdu@luatex@capsformat{%
%
% change chapter and part headings
\ifurdu@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -178,7 +172,7 @@
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -193,30 +187,30 @@
}
\def\nourdu@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@urdu{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
index 028f7987e0d..9c33a8be580 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
@@ -1,10 +1,10 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
% We only provide this gloss for babel compatibility. Since usorbian is
% a sorbian variety, we use 'sorbian' with variant 'upper' now.
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
index 4d2c0bde96b..b96e21cda77 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
%% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -22,62 +22,72 @@
\newif\if@uyghur@swapcaptions
\newif\if@uyghur@swapheadings
\newif\if@uyghur@swapheaders
-\define@choicekey*+{uyghur}{swapstrings}[\xpg@val\xpg@nr]{all,captions,headings,headers,hheaders,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \@uyghur@swapcaptionstrue%
- \@uyghur@swapheadingstrue%
- \@uyghur@swapheaderstrue%
- \or
- % captions:
- \@uyghur@swapcaptionstrue%
- \@uyghur@swapheadingsfalse%
- \@uyghur@swapheadersfalse%
- \or
- % headings:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingstrue%
- \@uyghur@swapheadersfalse%
- \or
- % headers:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingsfalse%
- \@uyghur@swapheaderstrue%
- \or
- % hheaders:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingstrue%
- \@uyghur@swapheaderstrue%
- \or
- % none:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingsfalse%
- \@uyghur@swapheadersfalse%
- \fi
- \xpg@info{Option: Uyghur, swapstrings=\xpg@val}%
-}{\xpg@warning{Unknown Uyghur swapstrings value `#1'}}
-
\newif\if@uyghur@ordchapter
\newif\if@uyghur@romchapter
-\define@choicekey*+{uyghur}{chapterformat}[\xpg@val\xpg@nr]{ordinal,roman,arabic}[ordinal]{%
- \ifcase\xpg@nr\relax
- % ordinal:
- \@uyghur@ordchaptertrue%
- \@uyghur@romchapterfalse%
- \or
- % roman:
- \@uyghur@ordchapterfalse%
- \@uyghur@romchaptertrue%
- \or
- % arabic:
- \@uyghur@ordchapterfalse%
- \@uyghur@romchapterfalse%
- \fi
- \xpg@info{Option: Uyghur, chapterformat=\xpg@val}%
-}{\xpg@warning{Unknown Uyghur chapterformat value `#1'}}
+
+\DeclareKeys[polyglossia/gloss/uyghur]
+ {
+ chapterformat.choice:,
+ chapterformat / ordinal.code =
+ {%
+ \@uyghur@ordchaptertrue
+ \@uyghur@romchapterfalse
+ },
+ chapterformat / roman.code =
+ {%
+ \@uyghur@ordchapterfalse
+ \@uyghur@romchaptertrue
+ },
+ chapterformat / arabic.code =
+ {%
+ \@uyghur@ordchapterfalse
+ \@uyghur@romchapterfalse
+ },
+ chapterformat.default:n = ordinal,
+ chapterformat/unknown.code = \xpg@warning{Unknown Uyghur chapterformat value `#1'},
+ swapstrings.choice:,
+ swapstrings / all.code =
+ {%
+ \@uyghur@swapcaptionstrue
+ \@uyghur@swapheadingstrue
+ \@uyghur@swapheaderstrue
+ },
+ swapstrings / captions.code =
+ {%
+ \@uyghur@swapcaptionstrue
+ \@uyghur@swapheadingsfalse
+ \@uyghur@swapheadersfalse
+ },
+ swapstrings / headings.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingstrue
+ \@uyghur@swapheadersfalse
+ },
+ swapstrings / headers.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingsfalse
+ \@uyghur@swapheaderstrue
+ },
+ swapstrings / hheaders.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingstrue
+ \@uyghur@swapheaderstrue
+ },
+ swapstrings / none.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingsfalse
+ \@uyghur@swapheadersfalse
+ },
+ swapstrings.default:n = all,
+ swapstrings/unknown.code = \xpg@warning{Unknown Uyghur swapstrings value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{uyghur}{swapstrings=all,chapterformat=ordinal}
+\InitializeGlossOptions{uyghur}{swapstrings=all,chapterformat=ordinal}
\def\captionsuyghur{%
@@ -125,120 +135,104 @@
% change chapter and part headings
\if@uyghur@swapheadings
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part%
- \patchcmd{\H@old@part}%
- {\partname\nobreakspace\thepart}%
- {\the@uyghur@part\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\the@uyghur@part\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{}%
- }
- \ifcsdef{chapter}{%
- \titleformat\chapter[display]%
- {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
- {\the@uyghur@chapter\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
+ \@ifundefined{titleformat}{%
% With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat%
- \renewcommand{\partformat}{\the@uyghur@part~\partname}%
- }{}%
- \ifcsdef{chapterformat}{%
- \let\xpg@save@chap@format\chapterformat%
- \renewcommand{\chapterformat}{\mbox{\the@uyghur@chapter%
- \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
- }{}%
- }{% (not \ifdefined\sectionformat)
+ \@ifundefined{sectionformat}{%
% With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{@makechapterhead}{%
- \let\xpg@save@chap@format\@makechapterhead%
- \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
- {\chapnumfont\the@uyghur@chapter\chapternamenum\printchaptername}%
- {}%
- {\xpg@warning{Failed to patch chapter for Uyghur}}%
- }{}%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part%
- \patchcmd{\H@old@part}{\printpartname \partnamenum \printpartnum}%
- {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
- {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{@makechapterhead}{%
+ \@ifundefined{@makechapterhead}{}{%
\let\xpg@save@chap@format\@makechapterhead%
\patchcmd{\@makechapterhead}%
{\@chapapp\space \thechapter}%
{\the@uyghur@chapter\space \@chapapp}%
{}%
{\xpg@warning{Failed to patch chapter for Uyghur}}%
- }{}%
- \ifcsdef{H@old@part}{% Hyperref
+ }%
+ \@ifundefined{H@old@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\the@uyghur@part\nobreakspace\partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for Uyghur}}}%
+ }% (end \ifdefined\@part)
+ }{% Hyperref
\let\xpg@save@part@format\H@old@part%
\patchcmd{\H@old@part}%
{\partname\nobreakspace\thepart}%
{\the@uyghur@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for Uyghur}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\the@uyghur@part\nobreakspace\partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for Uyghur}}{}}%
- }{}% (end \ifdefined\@part)
}% (end not hyperref)
- }% (end \ifdefined\@memptsize)
- }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\@memptsize)
+ \@ifundefined{@makechapterhead}{}{%
+ \let\xpg@save@chap@format\@makechapterhead%
+ \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
+ {\chapnumfont\the@uyghur@chapter\chapternamenum\printchaptername}%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Uyghur}}%
+ }%
+ \@ifundefined{H@old@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ }{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}{\printpartname \partnamenum \printpartnum}%
+ {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ }% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat%
+ \renewcommand{\partformat}{\the@uyghur@part~\partname}%
+ }%
+ \@ifundefined{chapterformat}{}{%
+ \let\xpg@save@chap@format\chapterformat%
+ \renewcommand{\chapterformat}{\mbox{\the@uyghur@chapter%
+ \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{H@old@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\the@uyghur@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ }{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}%
+ {\partname\nobreakspace\thepart}%
+ {\the@uyghur@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ \@ifundefined{chapter}{}{%
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
+ {\the@uyghur@chapter\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
+ }%
}% (end \ifdefined\titleformat)
\fi% (end \if@uyghur@swapheadings)
%
% Change running headers
\if@uyghur@swapheaders
- \ifcsdef{chapterformat}{%
- % With KOMA
- \let\xpg@save@chaptermark@format\chaptermarkformat%
- \renewcommand*\chaptermarkformat{%
- \the@uyghur@chapter\ \IfChapterUsesPrefixLine{\chapapp\enskip}{}}
- }{% (not \ifdefined\chapterformat)
- \ifcsdef{@memptsize}{%
- % With memoir
- \let\xpg@save@chaptermark@format\chaptermark%
- \renewcommand*\chaptermark[1]{%
- \markboth{\memUChead{%
- \ifnum \c@secnumdepth >\m@ne
- \ifbool{@mainmatter}{%
- \the@uyghur@chapter\ \@chapapp\ %
- }{}%
- \fi
- ##1}}{}}%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{chapterformat}{%
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermark}{}{%
\ifpatchable{\chaptermark}%
{\@chapapp\ \thechapter.}%
{\let\xpg@save@chaptermark@format\chaptermark%
@@ -248,21 +242,38 @@
{}%
{\xpg@warning{Failed to patch chaptermark for Uyghur}}}%
{}%
- }{}% (end \ifdefined\sectionmark)
- \ifcsdef{sectionmark}{%
- \ifpatchable{\sectionmark}%
- {\thesection.}%
- {\let\xpg@save@sectionmark@format\sectionmark%
- \patchcmd{\sectionmark}%
- {\thesection.}%
- {\thesection}%
- {}%
- {\xpg@warning{Failed to patch sectionmark for Uyghur}}}%
- {}%
- }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\sectionmark)
+ \@ifundefined{sectionmark}{}{%
+ \ifpatchable{\sectionmark}%
+ {\thesection.}%
+ {\let\xpg@save@sectionmark@format\sectionmark%
+ \patchcmd{\sectionmark}%
+ {\thesection.}%
+ {\thesection}%
+ {}%
+ {\xpg@warning{Failed to patch sectionmark for Uyghur}}%
+ }%
+ {}%
+ }% (end \ifdefined\chaptermark)
+ }{% (\ifdefined\@memptsize)
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark%
+ \renewcommand*\chaptermark[1]{%
+ \markboth{\memUChead{%
+ \ifnum \c@secnumdepth >\m@ne
+ \ifbool{@mainmatter}{%
+ \the@uyghur@chapter\ \@chapapp\ %
+ }{}%
+ \fi
+ ##1}}{}}%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\chapterformat)
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat%
+ \renewcommand*\chaptermarkformat{%
+ \the@uyghur@chapter\ \IfChapterUsesPrefixLine{\chapapp\enskip}{}}
}% (end \ifdefined\chapterformat)
- \fi% (end \if@uyghur@swapheaders)
+ \fi% (end \if@uyghur@swapheaders)
}
\def\nouyghur@capsformat{%
@@ -272,62 +283,62 @@
\let\fnum@figure\xpg@save@fnum@figure%
%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
+ % With memoir and standard classes
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{H@old@part}{%
+ \let\@part\xpg@save@part@format%
+ }{%
+ \let\H@old@part\xpg@save@part@format%
+ }%
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\@makechapterhead\xpg@save@chap@format
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\chapterformat\xpg@save@chap@format
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
% With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{H@old@part}{%
- \let\H@old@part\xpg@save@part@format%
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{H@old@part}{%
\let\@part\xpg@save@part@format%
+ }{%
+ \let\H@old@part\xpg@save@part@format%
}%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\chapterformat\xpg@save@chap@format
- }{}%
- }{%
- % With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{H@old@part}{%
- \let\H@old@part\xpg@save@part@format%
- }{%
- \let\@part\xpg@save@part@format%
- }%
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\@makechapterhead\xpg@save@chap@format
- }{}%
- }% (end \ifdefined\sectionformat)
+ }%
}% (end \ifdefined\titleformat)
%
% Reset headers
- \ifcsdef{chaptermarkformat}{%
- % With KOMA
- \ifcsdef{xpg@save@chaptermark@format}{%
- \let\chaptermarkformat\xpg@save@chaptermark@format%
- }{}%
- }{%
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermarkformat}{%
+ \@ifundefined{chaptermark}{}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@chaptermark@format}{%
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
\let\chaptermark\xpg@save@chaptermark@format%
- }{}%
- }{}% (end \ifdefined\chaptermark)
- \ifcsdef{sectionmark}{%
- \ifcsdef{xpg@save@sectionmark@format}{%
+ }%
+ }% (end \ifdefined\chaptermark)
+ \@ifundefined{sectionmark}{}{%
+ \@ifundefined{xpg@save@sectionmark@format}{}{%
\let\sectionmark\xpg@save@sectionmark@format%
- }{}%
- }{}% (end \ifdefined\sectionmark)
+ }%
+ }% (end \ifdefined\sectionmark)
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
+ \let\chaptermarkformat\xpg@save@chaptermark@format%
+ }%
}% (end \ifdefined\chapterformat)
}
@@ -363,22 +374,22 @@
\let\the@uyghur@chapter\thechapter
\def\uyghur@chapterformat{%
- \ifcsdef{part}{%
+ \@ifundefined{part}{}{%
\if@uyghur@ordchapter%
\renewcommand{\the@uyghur@part}{\uyghurord{part}}%
\fi%
\if@uyghur@romchapter%
\renewcommand{\the@uyghur@part}{\Roman{part}}%
\fi%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\if@uyghur@ordchapter%
\renewcommand{\the@uyghur@chapter}{\uyghurord{chapter}}%
\fi%
\if@uyghur@romchapter%
\renewcommand{\the@uyghur@chapter}{\Roman{chapter}}%
\fi%
- }{}%
+ }%
}
\def\uyghur@numbers{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
index d223d38d3a2..3689b48112f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
index 5b68cfa9d9c..81174769141 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
@@ -15,21 +15,26 @@
% BCP-47 compliant aliases
\setlanguagealias*{welsh}{cy}
-\providebool{welsh@formaldate}
+\@ifundefined{ifwelsh@formaldate}%
+ {\newif\ifwelsh@formaldate}{}
-\define@choicekey*+{welsh}{date}[\xpg@val\xpg@nr]{long,short}[short]{%
- \ifcase\xpg@nr\relax
- % long:
- \welsh@formaldatetrue
- \or
- % accented:
- \welsh@formaldatefalse
- \fi
- \xpg@info{Option: Welsh, date=\xpg@val}%
-}{\xpg@warning{Unknown date value `#1'}}
+\DeclareKeys[polyglossia/gloss/welsh]
+ {
+ date.choice:,
+ date / long.code =
+ {%
+ \welsh@formaldatetrue
+ },
+ date / short.code =
+ {%
+ \welsh@formaldatefalse
+ },
+ date.default:n = short,
+ date/unknown.code = \xpg@warning{Unknown date value `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{welsh}{date=short}
+\InitializeGlossOptions{welsh}{date=short}
\def\captionswelsh{%
\def\refname{Cyfeiriadau}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf
index 13a85e1f67e..2e99abca24d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{chinese}
+\InheritGlossFile{chinese}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf
index 10792a0d386..0b907e2a4e1 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf
@@ -1,9 +1,9 @@
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{chinese}
+\InheritGlossFile{chinese}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty b/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
index c949624724e..679d2bfe6dd 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
@@ -73,7 +73,7 @@
\ifnum#1<5000
\Hebrewnumeral{#1}%
\else
- \ifnum#1<6000 % current millenium, print without thousands
+ \ifnum#1<6000 % current millennium, print without thousands
\@tempcnta=#1\relax
\if@xpg@hebrew@fullyear\else\advance\@tempcnta by -5000\fi
\Hebrewnumeral{\@tempcnta}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/hijrical.sty b/Master/texmf-dist/tex/latex/polyglossia/hijrical.sty
index 79da8d0020b..2d396f5f71c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/hijrical.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/hijrical.sty
@@ -16,7 +16,7 @@ l3calc. Please update expl3!
\@ifundefined{@Remainder}{\input{cal-util.def}}{}
%% The following functions are straightforward implementation
-%% of Reingold & Dershowitz, Calendrical Calculations, The Millenium Edition
+%% of Reingold & Dershowitz, Calendrical Calculations, The Millennium Edition
%%
\def\@FixedFromHijri#1#2#3#4{% year,month,day,counter
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-cjk-spacing.lua
index 59ec736b49d..7102dc0cf37 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-cjk-spacing.lua
@@ -1,6 +1,6 @@
--
--- polyglossia-korean.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- polyglossia-cjk-spacing.lua
+-- part of polyglossia v2.2 -- 2024/07/15
--
local glyph_id = node.id"glyph"
@@ -8,13 +8,17 @@ local hbox_id = node.id"hlist"
local vbox_id = node.id"vlist"
local glue_id = node.id"glue"
local penalty_id = node.id"penalty"
-local disc_id = node.id"disc"
+local whatsit_id = node.id"whatsit"
+local math_id = node.id"math"
--
--- attr_korean: variant = plain (0), classic (1), modern (2)
+-- attr_cjk: variant = plain: 0, JP/classic: 1, KR/modern: 2, SC: 3, TC: 4
--
-local attr_korean = luatexbase.attributes["xpg@attr@korean"]
-local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
+local attr_cjk = luatexbase.attributes["xpg@attr@cjkspacing"]
+--
+-- attr_josa: ONLY For Korean. DO NOT declare \newattribute for other langs
+--
+local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
--
-- characters after which linebreak is not allowed
@@ -63,9 +67,9 @@ local nobr_after = {
-- characters before which linebreak is not allowed
-- (currently, not much differences among the followings)
-- 1: normal chars
--- 2: hangul jamo vowels and trailing consonants
+-- 2: hangul jamo vowels and trailing consonants plus combinings
-- 3: kana small letters
--- 0: dashes (supress visible spacing)
+-- 0: dashes (suppress visible spacing after this char)
--
local nobr_before = setmetatable({
[0x21] = 1, -- ! EXCLAMATION MARK
@@ -76,7 +80,7 @@ local nobr_before = setmetatable({
[0x2D] = 0, -- - HYPHEN-MINUS
[0x2E] = 1, -- . FULL STOP
[0x2F] = 0, -- / SOLIDUS
- [0x3A] = 0, -- : COLON
+ [0x3A] = 1, -- : COLON
[0x3B] = 1, -- ; SEMICOLON
[0x3E] = 1, -- > GREATER-THAN SIGN
[0x3F] = 1, -- ? QUESTION MARK
@@ -88,11 +92,11 @@ local nobr_before = setmetatable({
[0xBB] = 1, -- » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
[0x2013] = 0, -- – EN DASH
[0x2014] = 0, -- — EM DASH
- [0x2015] = 1, -- ― HORIZONTAL BAR
+ [0x2015] = 0, -- ― HORIZONTAL BAR
[0x2019] = 1, -- ’ RIGHT SINGLE QUOTATION MARK
[0x201D] = 1, -- ” RIGHT DOUBLE QUOTATION MARK
- [0x2025] = 1, -- ‥ TWO DOT LEADER
- [0x2026] = 1, -- … HORIZONTAL ELLIPSIS
+ [0x2025] = 0, -- ‥ TWO DOT LEADER
+ [0x2026] = 0, -- … HORIZONTAL ELLIPSIS
[0x232A] = 1, -- 〉 RIGHT-POINTING ANGLE BRACKET
[0x3001] = 1, -- 、 IDEOGRAPHIC COMMA
[0x3002] = 1, -- 。 IDEOGRAPHIC FULL STOP
@@ -124,10 +128,10 @@ local nobr_before = setmetatable({
[0x308E] = 3, -- ゎ HIRAGANA LETTER SMALL WA
[0x3095] = 3, -- ゕ HIRAGANA LETTER SMALL KA
[0x3096] = 3, -- ゖ HIRAGANA LETTER SMALL KE
- [0x3099] = 1, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
- [0x309A] = 1, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
- [0x309B] = 1, -- ゛ KATAKANA-HIRAGANA VOICED SOUND MARK
- [0x309C] = 1, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x3099] = 2, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309A] = 2, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x309B] = 2, -- ゛ KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309C] = 2, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
[0x309D] = 1, -- ゝ HIRAGANA ITERATION MARK
[0x309E] = 1, -- ゞ HIRAGANA VOICED ITERATION MARK
[0x30A0] = 1, -- ゠ KATAKANA-HIRAGANA DOUBLE HYPHEN
@@ -147,9 +151,9 @@ local nobr_before = setmetatable({
[0x30FC] = 1, -- ー KATAKANA-HIRAGANA PROLONGED SOUND MARK
[0x30FD] = 1, -- ヽ KATAKANA ITERATION MARK
[0x30FE] = 1, -- ヾ KATAKANA VOICED ITERATION MARK
- [0xFE30] = 1, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
- [0xFE31] = 1, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
- [0xFE32] = 1, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
+ [0xFE30] = 0, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+ [0xFE31] = 0, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
+ [0xFE32] = 0, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
[0xFE36] = 1, -- ︶ PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
[0xFE38] = 1, -- ︸ PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
[0xFE3A] = 1, -- ︺ PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
@@ -176,18 +180,18 @@ local nobr_before = setmetatable({
[0xFF63] = 1, -- 」 HALFWIDTH RIGHT CORNER BRACKET
[0xFF64] = 1, -- 、 HALFWIDTH IDEOGRAPHIC COMMA
[0xFF65] = 1, -- ・ HALFWIDTH KATAKANA MIDDLE DOT
- [0xFF9E] = 1, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
- [0xFF9F] = 1, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+ [0xFF9E] = 2, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
+ [0xFF9F] = 2, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
}, { __index = function(_,c)
if c >= 0x1160 and c <= 0x11FF then return 2 end
if c >= 0xD7B0 and c <= 0xD7FF then return 2 end
- if c >= 0x302A and c <= 0x302F then return 1 end
+ if c >= 0x302A and c <= 0x302F then return 2 end -- tone marks
if c >= 0x31F0 and c <= 0x31FF then return 3 end
if c >= 0xFF67 and c <= 0xFF70 then return 3 end
- if c >= 0xFE00 and c <= 0xFE0F then return 1 end
+ if c >= 0xFE00 and c <= 0xFE0F then return 2 end -- variation selectors
if c >= 0xFE10 and c <= 0xFE19 and not (c == 0xFE17) then return 1 end
if c >= 0xFE50 and c <= 0xFE58 then return 1 end
- if c >= 0xE0100 and c <= 0xE01EF then return 1 end
+ if c >= 0xE0100 and c <= 0xE01EF then return 2 end -- variation selecters
end
})
@@ -205,6 +209,7 @@ local function is_cjk (c)
or c >= 0xFF00 and c <= 0xFFEF
or c >= 0x1F100 and c <= 0x1F2FF
or c >= 0x20000 and c <= 0x2FA1F
+ or c >= 0x30000 and c <= 0x323AF
or nobr_after[c] and c > 0x2014
or nobr_before[c] and c > 0x2014
end
@@ -244,8 +249,28 @@ local charclass = setmetatable({
}, { __index = function() return 0 end })
--
+-- get character class
+-- var : variant = plain, JP/classic, KR/modern, SC, TC
+-- c : codepoint
+--
+local function get_charclass (var, c)
+ if var < 3 then
+ return charclass[c]
+ elseif var == 3 then
+ -- SC : these are left aligned
+ return (c == 0xFF01 or c == 0xFF1F) and 4 -- FULLWIDTH EXCLAMATION/QUESTION MARK
+ or (c == 0xFF1A or c == 0xFF1B) and 2 -- FULLWIDTH COLON/SEMICOLON
+ or charclass[c]
+ end
+ -- TC : these are center aligned
+ return (c == 0x3001 or c == 0xFF0C) and 3 -- IDEOGRAPHIC/FULLWIDTH COMMA
+ or (c == 0x3002 or c == 0xFF0E) and 3 -- IDEOGRAPHIC/FULLWIDTH FULL STOP -- 5 ?
+ or charclass[c]
+end
+
+--
-- table for spacing between char classes
--- 1 stands for 0.5*fontsize when variant=classic
+-- 1 stands for 0.5*fontsize when variant = JP/classic or SC or TC
--
local intercharclass = { [0] =
{ [0] = nil, {1,1}, nil, {.5,.5} },
@@ -277,7 +302,7 @@ end
--
-- return 0.5*fontsize of given fontid
--- space: true if variant=modern; then 0.5*interword_space
+-- space: true if variant=KR/modern; then 0.5*interword_space
--
local function get_font_size (fid, space)
local size = font.getparameters(fid)
@@ -291,7 +316,7 @@ end
--
-- charclass 1 thru 4 will be packed in \hbox to 0.5em{\hss? curr \hss?}
--- when variant=classic/modern
+-- when variant ~= plain
--
local function glyph_to_box (head, curr, class)
local g, h = curr
@@ -320,7 +345,7 @@ end
--
-- insert spacing defined as charclass[a][b] between a and b
-- f: fontid
--- var: variant = plain, classic, modern
+-- var: variant = plain, JP/classic, KR/modern, SC, TC
-- cc: charclass of current char
-- nc: charclass of next char
-- nobr: linebreak is not allowed
@@ -339,12 +364,16 @@ end
--
-- insert inter-character spacing in other normal cases
--- f: fontid
--- var: variant = plain, classic, modern
--- x: true between cjk and non-cjk (a little more spacing)
+-- f: fontid
+-- var: variant = plain, JP/classic, KR/modern, SC, TC
+-- nobr: no linebreak
+-- x: true between cjk and non-cjk (a little more spacing)
--
-local function insert_penalty_glue (head, curr, f, var, x)
- if var ~= 1 then
+local function insert_penalty_glue (head, curr, f, var, nobr, x)
+ if nobr then
+ local penalty = get_new_penalty(10000)
+ head, curr = node.insert_after(head, curr, penalty)
+ elseif var == 0 or var == 2 then
local penalty = get_new_penalty(50)
head, curr = node.insert_after(head, curr, penalty)
end
@@ -360,53 +389,64 @@ end
--
-- main process for linebreak and inter-character spacing
--- lb: true if pre_linebreak_filter
--
-local function korean_break (head, lb)
+local function cjk_break (head)
local curr = head
while curr do
- if curr.id == glyph_id then
- local var = node.has_attribute(curr, attr_korean)
+ if attr_cjk and (curr.id == glyph_id or curr.id == math_id and curr.subtype == 1) then
+ local var = node.has_attribute(curr, attr_cjk)
if var then
- local c, f = curr.char or 0, curr.font or 0
- local cc, cjkc = charclass[c], is_cjk(c)
+ local c, f = curr.char or 0, curr.font
+ local cc, cjkc = get_charclass(var, c), is_cjk(c)
-- compress cjk punctuations when charclass is 1 thru 4
if var > 0 and cc > 0 and cc < 5 then
head, curr = glyph_to_box(head, curr, cc)
end
- local next = curr.next
- if next and next.id == glyph_id then
+ local next = node.getnext(curr)
+ while next and next.id == whatsit_id do -- skip whatsit nodes
+ curr, next = next, node.getnext(next)
+ end
+
+ if next and (next.id == glyph_id or next.id == math_id and next.subtype == 0) then
local n = next.char or 0
- local nc = charclass[n]
+ f = f or next.font or 0 -- in case of curr == math_off
+
+ -- skip combining. or dash+dash case to suppress stretching
+ if nobr_before[n] == 2 or (nobr_before[c] == 0 and nobr_before[n] == 0) then
+ goto skip_combining
+ end
+
+ local nc = get_charclass(var, n)
local nobr = nobr_before[n] or nobr_after[c]
-- insert spacing as of intercharclass
if var > 0 and intercharclass[cc][nc] then
head, curr = insert_cjk_penalty_glue(head, curr, f, var, cc, nc, nobr)
- -- or insert spacing when linebreak is allowed
- elseif not nobr then
+ else
local cjkn = is_cjk(n)
-- if curr or next is cjk char
if cjkc or cjkn then
- -- if between cjk and non-cjk
- if var > 0 and not (cjkc and cjkn) and nobr_before[c] ~= 0 then
- head, curr = insert_penalty_glue(head, curr, f, var, true)
+ -- plain variant / cjk+cjk / nobr cjk+noncjk / after dash
+ -- : insert a 0pt glue
+ if var == 0 or (cjkc and cjkn) or nobr or nobr_before[c] == 0 then
+ head, curr = insert_penalty_glue(head, curr, f, var, nobr)
- -- or under pre_linebreak_filter
- elseif lb then
- head, curr = insert_penalty_glue(head, curr, f, var)
+ -- other cases: insert a small glue
+ else
+ head, curr = insert_penalty_glue(head, curr, f, var, nobr, true)
end
end
end
end
end
end
- curr = curr.next
+ ::skip_combining::
+ curr = node.getnext(curr)
end
return head
end
@@ -420,7 +460,7 @@ end
local function reorder_tm (head)
local curr, tone = node.slide(head)
while curr do
- if curr.id == glyph_id and node.has_attribute(curr, attr_korean) then
+ if curr.id == glyph_id and node.has_attribute(curr, attr_cjk) then
local f = font.getfont(curr.font) or font.fonts[curr.font]
if f and f.hb then -- harfbuzz do the right thing
tone = nil
@@ -436,7 +476,7 @@ local function reorder_tm (head)
end
end
end
- curr = curr.prev
+ curr = node.getprev(curr)
end
return head
end
@@ -523,7 +563,7 @@ local function get_prev_char (p)
local pc = get_prev_char(node.slide(p.head))
if pc then return pc end
end
- p = p.prev
+ p = node.getprev(p)
end
end
@@ -538,10 +578,10 @@ local function auto_josa (head)
if josa then
local cc = curr.char or 0
if josa == 0 then
- josa = josa_code[get_prev_char(curr.prev) or 0x30]
+ josa = josa_code[get_prev_char(node.getprev(curr)) or 0x30]
end
if cc == 0xC774 then
- local n = curr.next
+ local n = node.getnext(curr)
if n and n.char and n.char >= 0xAC00 and n.char <= 0xD7A3 then
else
cc = 0xAC00
@@ -560,7 +600,7 @@ local function auto_josa (head)
node.unset_attribute(curr, attr_josa)
end
end
- curr = curr.next
+ curr = node.getnext(curr)
end
for _,v in ipairs(tofree) do node.free(v) end
return head
@@ -571,39 +611,13 @@ end
-- As char value of glyphs can be changed by opentype GSUB process,
-- we have to occupy the first position among callback functions.
--
-local prepend_to_callback
-if luatexbase.base_add_to_callback then
- prepend_to_callback = function(name, func, desc)
- luatexbase.add_to_callback(name, func, desc, 1)
- end
-else
- prepend_to_callback = function(name, func, desc)
- local t = { {func, desc} }
- for _,v in ipairs(luatexbase.callback_descriptions(name)) do
- table.insert(t, {luatexbase.remove_from_callback(name, v)})
- end
- for _,v in ipairs(t) do
- luatexbase.add_to_callback(name, v[1], v[2])
- end
- end
-end
-
-prepend_to_callback ("pre_linebreak_filter",
- function(head)
- head = auto_josa(head)
- head = korean_break(head, true)
- head = reorder_tm(head)
- return head
- end,
- "polyglossia.lang_korean")
-
-prepend_to_callback ("hpack_filter",
- function(head)
- head = auto_josa(head)
- head = korean_break(head)
- head = reorder_tm(head)
- return head
- end,
- "polyglossia.lang_korean")
+luatexbase.add_to_callback( "pre_shaping_filter",
+function(head)
+ if attr_josa then head = auto_josa(head) end
+ head = cjk_break(head)
+ if attr_josa then head = reorder_tm(head) end
+ return head
+end,
+"polyglossia.lang_cjk_spacing")
-- vim:ft=lua:tw=0:sw=4:ts=4:expandtab
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua
index c2a1a27bebe..d0257e93720 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua
@@ -1,6 +1,6 @@
--
-- polyglossia-punct.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua
index 982f6ba8d4f..844d11cb5ac 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua
@@ -1,6 +1,6 @@
--
-- polyglossia-latin.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua
index 99e538b1613..d8cfa89e5fa 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua
@@ -1,13 +1,12 @@
--
-- polyglossia-punct.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia') -- just in case...
local add_to_callback = luatexbase.add_to_callback
-local remove_from_callback = luatexbase.remove_from_callback
-local priority_in_callback = luatexbase.priority_in_callback
+local declare_callback_rule = luatexbase.declare_callback_rule
local new_attribute = luatexbase.new_attribute
local node = node
@@ -331,13 +330,16 @@ local function activate(lang)
-- important to be able to intermix languages with different spacings
-- in one paragraph.
tex.setattribute(punct_attr, id)
- for _, callback_name in ipairs{ "pre_linebreak_filter", "hpack_filter" } do
- if not priority_in_callback(callback_name, "polyglossia-punct.process") then
- add_to_callback(callback_name, process, "polyglossia-punct.process", 1)
- end
- end
end
+add_to_callback("pre_linebreak_filter",process,"polyglossia-punct.process")
+add_to_callback("hpack_filter",process,"polyglossia-punct.process")
+declare_callback_rule("pre_linebreak_filter",
+ "polyglossia-punct.process", "before", "luaotfload.node_processor")
+declare_callback_rule("hpack_filter",
+ "polyglossia-punct.process", "before", "luaotfload.node_processor")
+
+
local function deactivate()
tex.setattribute(punct_attr, -0x7FFFFFFF) -- this value means "unset"
-- Though it would make compilation slightly faster, it is not possible to
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua
index 61b891ac283..7a2b84270db 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua
@@ -1,6 +1,6 @@
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua
index 8247e2deb33..d51a594de3f 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua
@@ -1,30 +1,28 @@
--
-- polyglossia-tibt.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia') -- just in case...
local add_to_callback = luatexbase.add_to_callback
local remove_from_callback = luatexbase.remove_from_callback
+local declare_callback_rule = luatexbase.declare_callback_rule
local priority_in_callback = luatexbase.priority_in_callback
local next, type = next, type
-
-local nodes, fonts, node = nodes, fonts, node
-
-local nodecodes = nodes.nodecodes --- <= preloaded node.types()
+local node = node
local insert_node_before = node.insert_before
local insert_node_after = node.insert_after
-local remove_node = nodes.remove
+local remove_node = node.remove
local copy_node = node.copy
local has_attribute = node.has_attribute
local end_of_math = node.end_of_math
if not end_of_math then -- luatex < .76
local traverse_nodes = node.traverse_id
- local math_code = nodecodes.math
+ local math_code = node.id('math_char')
local end_of_math = function (n)
for n in traverse_nodes(math_code, n.next) do
return n
@@ -32,10 +30,10 @@ if not end_of_math then -- luatex < .76
end
end
--- node types as of April 2013
-local glyph_code = nodecodes.glyph
-local penalty_code = nodecodes.penalty
-local kern_code = nodecodes.kern
+-- node types as of April 2024
+local glyph_code = node.id('glyph')
+local penalty_code = node.id('penalty')
+local kern_code = node.id('kern')
-- we make a new node, so that we can copy it later on
local penalty_node = node.new(penalty_code)
@@ -66,7 +64,6 @@ local function process(head)
end
end
elseif id == math_code then
- -- warning: this is a feature of luatex > 0.76
start = end_of_math(start) -- weird, can return nil .. no math end?
end
if start then
@@ -79,15 +76,13 @@ end
local callback_name = "pre_linebreak_filter"
local function activate()
- if not priority_in_callback (callback_name, "polyglossia-tibt.process") then
- add_to_callback(callback_name, process, "polyglossia-tibt.process", 1)
- end
+ add_to_callback(callback_name, process, "polyglossia-tibt.process")
+ declare_callback_rule(callback_name,
+ "polyglossia-tibt.process", "before", "luaotfload.node_processor")
end
local function desactivate()
- if priority_in_callback (callback_name, "polyglossia-tibt.process") then
- remove_from_callback(callback_name, "polyglossia-tibt.process")
- end
+ remove_from_callback(callback_name, "polyglossia-tibt.process")
end
polyglossia.activate_tibt_eol = activate
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
index c07d8d9ac49..5f346bef767 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
@@ -1,6 +1,6 @@
--
-- polyglossia.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
local module_name = "polyglossia"
@@ -76,7 +76,7 @@ local function newloader(langentry)
end
-- language info will be written into the .log file
- local s = { "Language data for " .. langentry }
+ local s = { }
for k, v in pairs(langdata) do
if type(v) == 'table' then -- for 'synonyms'
s[#s+1] = k .. "\t" .. table.concat(v,',')
@@ -84,7 +84,10 @@ local function newloader(langentry)
s[#s+1] = k .. "\t" .. tostring(v)
end
end
- log_info(table.concat(s,"\n"))
+ local a = {}
+ for _,n in pairs(s) do table.insert(a, n) end
+ table.sort(a)
+ log_info("Language data for " .. langentry .. "\n" .. table.concat(a,"\n"))
--
-- LaTeX's \newlanguage increases language register (count19),
@@ -94,7 +97,7 @@ local function newloader(langentry)
-- this possible situation, our newloader() function will
-- unfortunately overwrite the language \lang@xyz.
--
- -- Threfore here we will compare LaTeX's \newlanguage number with
+ -- Therefore here we will compare LaTeX's \newlanguage number with
-- LuaTeX's lang.new() id and select the bigger one for our new
-- language object. Also we will update LaTeX's language register
-- by this new id, so that another possible \newlanguage should not
@@ -109,7 +112,7 @@ local function newloader(langentry)
local newlangid = math.max(langcnt, langid)
-- set language register for possible \newlanguage
tex.setcount('global', lang_register, newlangid)
- -- get new lang object if needeed
+ -- get new lang object if needed
if langid ~= newlangid then
langobject = lang.new(newlangid)
end
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
index 20f6538d448..a8d0c57b540 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
@@ -1,32 +1,27 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage
- {polyglossia} {2024/03/07} {v2.1}
+ {polyglossia} {2024/07/15} {v2.2}
{Modern multilingual typesetting with XeLaTeX and LuaLaTeX}
+% TODO Handle remaining uses in the gloss files (\patchcmd)
+% and remove package call afterwards
\RequirePackage{etoolbox}
-\RequirePackage{xkeyval}[2008/08/13]
% Will raise error if used with anything else than XeTeX or LuaTeX
\RequirePackage{fontspec}[2010/06/08]% v2.0
\RequirePackage{iftex}
\prg_generate_conditional_variant:Nnn \clist_if_in:Nn {Ne} {TF, T, F} % check if needed
-% correct a bug in tracklang
-\AddToHook{package/tracklang/after}{%
- \IfPackageAtLeastTF{tracklang}{2019/08/30}
- {}
- {\cs_gset_eq:NN \AddTrackedLangage \AddTrackedLanguage}
-}
-
%% The following is for compatibility with Babel-aware package:
% \languageshorthands is provided by babelsh.def, which is
% only loaded by some glosses, but some classes presuppose
% it is there generally. So let's provide a stub:
\ProvideDocumentCommand \languageshorthands { m } {}
% These have to be provided at the end of the preamble
-\AddToHook{begindocument/before}{
- \cs_gset_eq:NN \bbl@set@language \xpg@set@language@aux % for biblatex
- \cs_gset_eq:NN \bbl@main@language \xpg@main@language % for biblatex
+\hook_gput_code:nnn {begindocument/before} {.}
+{
+ \cs_gset_eq:NN \bbl@set@language \xpg_set_language_aux:nn % for biblatex
+ \cs_gset_eq:NN \bbl@main@language \xpg_main_language_tl % for biblatex
\ProvideDocumentCommand \texorpdfstring { m m } { #1 } % dummy command if hyperref is not loaded
}
@@ -35,16 +30,15 @@
%% \l@nohyphenation is defined in polyglossia.lua
\sys_if_engine_luatex:TF
{
- \RequirePackage{luatexbase} % already included by fontspec, but needed here
- \RequireLuaModule{polyglossia}
+ \lua_load_module:n{polyglossia}
}{
\cs_if_free:cT { l@nohyphenation }
{ \chardef\l@nohyphenation=255 }
}
-% Which version of XeTeX do we use? What is the boudary class? 4095 or 255
+% Which version of XeTeX do we use? What is the boundary class? 4095 or 255
\cs_if_exist:cTF { e@alloc@intercharclass@top }
- { \let\xpg@boundaryclass=\e@alloc@intercharclass@top }
+ { \cs_gset_eq:NN \xpg@boundaryclass \e@alloc@intercharclass@top }
{ \chardef\xpg@boundaryclass=\@cclv }
% Useful for getting list of loaded languages and variants. Like babel's bbl@loaded
@@ -80,18 +74,18 @@
\cs_new_nopar:Nn \__xpg_at_begin_document:
{
% save various command
- \let\latin@alph\@alph % TODO rename when we have the C locale
- \let\latin@Alph\@Alph % TODO rename when we have the C locale
+ \cs_gset_eq:cc{latin@alph}{@alph}% TODO rename when we have the C locale
+ \cs_gset_eq:cc{latin@Alph}{@Alph}% TODO rename when we have the C locale
% push to C language gloss
- \let\polyglossia@Clang@@arabic\@arabic
- \let\polyglossia@Clang@arabic\arabic
+ \cs_gset_eq:cc{xpg_Clang_arabic}{@arabic}
\xpg_initial_setup:
% apply \familydefault changes
- \xpg@set@familydefault
+ \xpg_set_familydefault:
}
-\AddToHook{begindocument}{
+\hook_gput_code:nnn {begindocument} {.}
+{
\__xpg_at_begin_document:
}
@@ -99,7 +93,8 @@
% loaded after \set[main|other]language
% Track whether the main language has been set
\bool_new:N \g_xpg_main_lang_set_bool
-\AddToHook{begindocument/end}{
+\hook_gput_code:nnn {begindocument/end} {.}
+{
% now we have the C locale definition: select the language
\__xpg_at_begin_document_selectlanguage:
\bool_gset_true:N \g_xpg_main_lang_set_bool
@@ -107,99 +102,177 @@
\__xpg_at_begin_document_hyphenation:
}
-%% custom message macros
-\providecommand*{\xpg@error}[1]{
- \PackageError{polyglossia}{#1}{}
+%
+% MESSAGES
+%
+
+% message templates
+\msg_new:nnn { polyglossia } { general } { #1 }
+
+\msg_new:nnn { polyglossia } { languagenotloaded }
+{
+ The~ language~ #1~ is~ not~ loaded.~ You~ must~ load~ it~ in~ order~ to~ use~ it.
}
+\msg_redirect_name:nnn { polyglossia } { languagenotloaded } { critical }
-\providecommand*{\xpg@warning}[1]{
- \PackageWarning{polyglossia}{#1}
+\msg_new:nnn { polyglossia } { languagenolongerloaded }
+{
+ The~ language~ #1~ is~ no~ longer~ loaded.~ Please~ rerun~ LaTeX.
}
+\msg_redirect_name:nnn { polyglossia } { languagenolongerloaded } { warning }
-\providecommand*{\xpg@info}[1]{
- \PackageInfo{polyglossia}
- {#1\@gobble}
-} %% the \@gobble is to prevent displaying the line nr
+\msg_new:nnn { polyglossia } { unknownlocalnumeral }
+{
+ Unknown~ key~ "#1"~ in~ \string\localnumeral.
+}
-%TODO change all instances of \xpg@nopatterns in gloss-*.ldf files
-\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{
- \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#2'\MessageBreak
- I~ will~ use~ \string\language=\string\l@ #1\space instead}
- \expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax}
+\msg_new:nnn { polyglossia } { localnumeralemptyvalue }
+{
+ Keys~ of~ \string\localnumeral~ must~ have~ a~ value.
+}
-\providecommand*{\xpg@nopatterns}[1]{
- \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak
- I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}
- %%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
- }
+\msg_new:nnn { polyglossia } { illvalue }
+{
+ Illegal~ value~ (#1)~ for~ #2!
+}
-\def\xpg@ill@value#1#2{
- \xpg@warning{Illegal~ value~ (#1)~ for~ #2}}
+\msg_new:nnn { polyglossia } { illarg }
+{
+ Invalid~ argument~ (#1)~ for~ #2!
+}
-% error out if lang is not loaded
-\cs_new_nopar:Nn \xpg_error_if_lang_not_loaded:n
+\msg_new:nnn { polyglossia } { nopatterns }
{
- \seq_if_in:NeF \__xpg_langs_loaded {#1}
- {
- \xpg@error{language~ #1~ is~ not~ loaded.~ Please~ load~ it~ before~ using~ it.}
- }
+ No~ hyphenation~ patterns~ were~ loaded~ for~ `#2' \iow_newline:
+ I~ will~ use~ \string\language=\string\l@ #1\space instead.
}
-\msg_new:nnn { polyglossia } { languagenotloaded }
+\msg_new:nnn { polyglossia } { undefcmd }
{
- The~ language~ #1~ is~ not~ loaded.~ You~ should~ load~ it.
+ \tl_to_str:N {#1} ~ is~ not~ defined!
}
-\msg_redirect_name:nnn { polyglossia } { languagenotloaded } { critical }
-\msg_new:nnn { polyglossia } { languagenolongerloaded }
+%% custom message macros
+\cs_new_nopar:Nn \xpg_error_msg:n
{
- The~ language~ #1~ is~ no~ longer~ loaded.~ Please~ rerun~ LaTeX.
+ \exp_args:Nnne \msg_error:nnn { polyglossia } { general } { #1 }
}
-\msg_redirect_name:nnn { polyglossia } { languagenolongerloaded } { warning }
-\msg_new:nnn { polyglossia } { unknownlocalnumeral }
+\cs_new_nopar:Nn \xpg_warning_msg:n
{
- Unknown~ key~ "#1"~ in~ \string\localnumeral.
+ \exp_args:Nnne \msg_warning:nnn { polyglossia } { general } { #1 }
}
-\msg_new:nnn { polyglossia } { localnumeralemptyvalue }
+\cs_new_nopar:Nn \xpg_info_msg:n
{
- Keys~ of~ \string\localnumeral~ must~ have~ value.
+ \exp_args:Nnne \msg_info:nnn { polyglossia } { general } { #1 }
}
+\cs_new_nopar:Nn \xpg_no_patterns_msg:n
+{
+ \msg_warning:nnnn { polyglossia } { nopatterns } { nohyphenation } { #1 }
+}
+
+\cs_new_nopar:Nn \xpg_ill_value_msg:nn
+{
+ \msg_warning:nnnn { polyglossia } { illvalue } { #1 } { #2 }
+}
+
+\cs_new_nopar:Nn \xpg_ill_arg_msg:nn
+{
+ \msg_error:nnnn { polyglossia } { illarg } { #1 } { #2 }
+}
+
+% error out if lang is not loaded
+\cs_new_nopar:Nn \xpg_error_if_lang_not_loaded:n
+{
+ \seq_if_in:NeF \__xpg_langs_loaded {#1}
+ {
+ \msg_error:nnn { polyglossia } { languagenotloaded } { #1 }
+ }
+}
%% use macro if defined, else warn that it is not
\cs_new_nopar:Nn \__xpg_use_or_warn:N
{
\cs_if_exist_use:NF {#1}
{
- \xpg@warning { \tl_to_str:N {#1} ~ is~ not~ defined }
+ \msg_error:nnn { polyglossia } { undefcmd } { #1 }
}
}
\cs_generate_variant:Nn \__xpg_use_or_warn:N {c}
+% gloss message interface
+\cs_set_eq:cc { xpg@error } { xpg_error_msg:n }
+\cs_set_eq:cc { xpg@warning } { xpg_warning_msg:n }
+\cs_set_eq:cc { xpg@info } { xpg_info_msg:n }
+\cs_set_eq:cc { xpg@ill@value } { xpg_ill_value_msg:nn }
+
+
+\NewDocumentCommand \XPGNoPatternsFallback { O{ nohyphenation } m }
+{
+ \msg_warning:nnnn { polyglossia } { nopatterns } { #1 } { #2 }
+ \exp_args:Ncc \adddialect {l@#2} {l@#1}
+}
+
+\NewDocumentCommand \CheckHyphenationPatterns { m }
+{
+ \xpg_if_language_defined:nF {#1}
+ {
+ \XPGNoPatternsFallback{#1}
+ }
+}
+
+%
+% END MESSAGES
+
%% ensure directionality if bidi is loaded, else ignore
-\def\@@ensure@dir#1{\ifcsundef{@ensure@dir}{#1}{\@ensure@dir{#1}}}
-\def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}}
+%%% FIXME still used?
+\cs_new_nopar:Npn \@@ensure@dir #1
+{
+ \cs_if_exist_use:c{@ensure@dir}{#1}
+}
-%% Used by the language definitions files for right-to-left languages
-\NewDocumentCommand \RequireBidi {}
+\cs_new_nopar:Npn \@@ensure@maindir #1
+{
+ \cs_if_exist_use:c{@ensure@maindir}{#1}
+}
+
+% if we are in the document preamble run T else F
+\prg_set_conditional:Nnn \xpg_if_in_preamble: {T, F, TF}
{
- \sys_if_engine_luatex:TF
- {\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi}
- {\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi}
+ \cs_if_eq:NNTF { \@onlypreamble } { \@notprerr }
+ {
+ \prg_return_false:
+ }
+ {
+ \prg_return_true:
+ }
}
-% if #1 is LR run #2 else #3
+%% Used by the language definitions files for right-to-left languages
+\DeclareDocumentCommand \RequireBidi {}
+ {
+ \xpg_if_in_preamble:T
+ {
+ \sys_if_engine_luatex:TF
+ { \RequirePackage{luabidi} }
+ { \RequirePackage{bidi} }
+ }
+ \DeclareDocumentCommand \RequireBidi {} {}
+ }
+
+% if #1 is LR run T else F
\prg_set_conditional:Nnn \__xpg_if_LR_str:n {p, T, F, TF}
{
- \str_case_e:nnF{#1}{
+ \str_case_e:nnF{#1}
+ {
{LR}{\prg_return_true:}
{RL}{\prg_return_false:}
}
{
- \xpg@error{Unknown~ direction~#1}
+ \xpg_error_msg:n {Unknown~ direction~#1}
\prg_return_false:
}
}
@@ -212,17 +285,18 @@
{
\__xpg_if_LR_str:nF {#1}
{
- \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
+ \xpg_error_msg:n {right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
}
}
\cs_new_nopar:Nn \__xpg_set_text_direction:n
{
\__xpg_if_LR_str:nF {#1}
{
- \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
+ \xpg_error_msg:n {right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
}
}
-\AddToHook{package/bidi/after}{
+\hook_gput_code:nnn {package/bidi/after} {.}
+{
\cs_gset_nopar:Nn \__xpg_set_par_direction:n
{
\__xpg_if_LR_str:nTF{#1}
@@ -244,7 +318,8 @@
}
}
}
-\AddToHook{package/luabidi/after}{
+\hook_gput_code:nnn {package/luabidi/after} {.}
+{
\cs_gset_nopar:Nn \__xpg_set_par_direction:n
{
\__xpg_if_LR_str:nTF{#1}
@@ -273,13 +348,21 @@
{ \cs_new_nopar:Nn \__xpg_setRTLmain: { \@RTLmaintrue\setnonlatin } }
%% compatibility with babel
-\let\addto\gappto % gappto is defined in etoolbox
+\cs_set:Npn \addto #1 #2
+{
+ \cs_if_exist:NF { #1 }
+ { \cs_new:Npn { #1 } {} }
+ \tl_gput_right:Nn { #1 } { #2 }
+}
-%% NEW EXPERIMENTAL SETUP INTERFACE FOR GLOSS FILES
+%% SETUP INTERFACE FOR GLOSS FILES
%% options currently available:
%% language : the name of the language (as understood by fontspec)
%% hyphennames : the different hyphenation patterns to try (comma separated list)
-%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback, with \xpg@nopatterns@fallback - i.e. with a warning: e.g. sanskrit for hindi, or catalan for asturian. – Also for languages with variants! (English and German, etc.)
+%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback,
+%%%% with \CheckHyphenationPatterns - i.e. with a warning: e.g. sanskrit for hindi,
+%%%% or catalan for asturian. – Also for languages with variants!
+%%%% (English and German, etc.)
%% script : the name of the script (as understood by fontspec) – default is Latin
%% scripttag : the OpenType tag for the script
%% langtag : the OpenType tag for the language
@@ -287,19 +370,20 @@
%% frenchspacing : boolean
%% indentfirst : boolean
%% fontsetup : boolean
-%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have no concept of uppercase/lowercase)
+%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have
+%% no concept of uppercase/lowercase)
%% TODO: localalph = {<alph_csname>,<Alph_csname>}
%% TODO: localnumeral = <csname>
%% or even better localdigits = {0123456789} for fully automatic setup
-\newcommand*\PolyglossiaSetup[2]{
+\NewDocumentCommand \PolyglossiaSetup { m m }
+{
\__xpg_keys_define_lang:n{#1}
\keys_set:nn { polyglossia / #1 } { #2 }
\__xpg_setup_hyphen:n {#1}
%define booleans etoolbox style and set defaults
%% TODO ? \providetoggle{#1@setup@done}%
- % we initialize these so that we can use \gappto below
- \csgdef{init@extras@#1}{}
- \csgdef{init@noextras@#1}{} % we don't use this yet: remove?
+ % we initialize this so that we can append below
+ \cs_gset:cpn {init@extras@#1} {}
% here we do the fontsetup:
\__xpg_auto_setupfont:n { #1 }
%% TODO? \toggletrue{#1@setup@done}
@@ -318,35 +402,41 @@
\clist_map_inline:nn { #1 } { \keys_set:nn { polyglossia / ##1 } { #2 } }
}
-
+\bool_new:N \l__xpg_have_hyphen_bool
% setup hyphennames from a str list of hyphen
\cs_new:Nn \__xpg_setup_hyphen:n
{
- \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphennames}}
- \providebool{havehyphen}
- \boolfalse{havehyphen}
+ \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \l_xpg_langsetup_prop {#1 / hyphennames}}
+ \bool_set_false:N \l__xpg_have_hyphen_bool
% for each hyphen in the set until we find one that works
- \clist_map_inline:Nn \l_tmpa_clist {
- \ifbool{havehyphen}{}{
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \bool_if:NF \l__xpg_have_hyphen_bool
+ {
% check if language hyphenname is defined
- \__xpg_check_if_exist_l@:nF{#1}{
+ \__xpg_pattern_check_if_exists:nF{#1}
+ {
% if not, first consider nohyphenation
\str_if_eq:nnTF{##1}{nohyphenation}
{
\cs_gset_eq:cc{l@#1}{l@##1}
- \global\booltrue{havehyphen}
- }{
+ \bool_gset_true:N \l__xpg_have_hyphen_bool
+ }
+ {
% then test if hyphenation is defined
- \xpg@ifdefined{##1}{
+ \xpg_if_language_defined:nT {##1}
+ {
% test if language hyphenation is nohyphenation
- \cs_if_eq:cNF{l@#1}{\l@nohyphenation}{\global\booltrue{havehyphen}}{%
+ \cs_if_eq:cNTF{l@#1}{\l@nohyphenation}
+ { \bool_gset_true:N \l__xpg_have_hyphen_bool }
+ {
% if false define language to hyphenation if it is not equal...
\str_if_eq:nnF{#1}{##1}{\cs_gset_eq:cc{l@#1}{l@##1}}
% ...and load
- \xpg@set@hyphenation@patterns{##1}
- \global\booltrue{havehyphen}
- }
- }{}
+ \xpg_set_hyphenation_patterns:n {##1}
+ \bool_gset_true:N \l__xpg_have_hyphen_bool
+ }
+ }
}
}
}
@@ -354,19 +444,17 @@
% if l@#1 does not yet exist,
% we assign it to nohyphenation
% we do this here in case and if the hyphennames key was omitted
- \ifbool{havehyphen}{}{
- \xpg@ifdefined{#1}{}
- {
- \xpg@nopatterns{#1}
- \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
- }
+ \bool_if:NF \l__xpg_have_hyphen_bool
+ {
+ \CheckHyphenationPatterns{#1}
}
- \csdef{#1@language}{
- \polyglossia@setup@language@patterns{#1}
+ \cs_gset:cpn {#1@language}
+ {
+ \SetupPolyglossiaLangPatterns{#1}
}
% setup hyphenmins
\clist_set:Ne \l_tmpa_clist
- { \prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphenmins} }
+ { \prop_item:Nn \l_xpg_langsetup_prop {#1 / hyphenmins} }
\cs_if_eq:cNF {l@#1} \l@nohyphenation
{
\use:x
@@ -378,7 +466,8 @@
}
}
-\newcommand*\polyglossia@setup@language@patterns[1]{
+\NewDocumentCommand \SetupPolyglossiaLangPatterns { m }
+{
\bool_if:NTF \g__xpg_hyphenation_disabled_bool
{
\tl_gset:Ne \g__xpg_lastlanguage_tl {\the\csname l@#1\endcsname}
@@ -392,32 +481,29 @@
\language=\l@nohyphenation
}
{
- \xpg@set@hyphenation@patterns{#1}
+ \xpg_set_hyphenation_patterns:n {#1}
}
}
{
% Since this function is sometimes called from the gloss files
% directly, we need to check whether the requested hyphenname exists.
- \xpg@ifdefined{#1}{}
- {
- \xpg@nopatterns{#1}
- \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax%
- }
- \xpg@set@hyphenation@patterns{#1}
+ \CheckHyphenationPatterns{#1}
+ \xpg_set_hyphenation_patterns:n {#1}
}
}
}
-\prop_new:N \g_xpg_langsetup_prop
+\prop_new_linked:N \l_xpg_langsetup_prop
\cs_new_protected:Npn \__xpg_keys_define_lang:n #1
{
- \keys_define:nn {polyglossia}{
+ \keys_define:nn {polyglossia}
+ {
% the script font
#1 / script
.code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/script}{##1}
- \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/lcscript}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/script}{##1}
+ \prop_put:Nne \l_xpg_langsetup_prop {#1/lcscript}
{\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}}
},
#1 / script
@@ -426,84 +512,89 @@
.initial:n = latin,
% the opentype script tag
#1 / scripttag
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/scripttag}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/scripttag}{##1}},
#1 / scripttag
.default:n = {},
#1 / scripttag
.initial:n = {},
% the language full name
#1 / language
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/language}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/language}{##1}},
#1 / language
.value_required:n = true,
#1 / language
.initial:x = {\str_uppercase:n#1},
% the language tag
#1 / langtag
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/langtag}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/langtag}{##1}},
#1 / langtag
.value_required:n = true,
#1 / langtag
.initial:n = {},
% the BCP-47 tag
#1 / bcp47
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47}{##1}},
#1 / bcp47
.value_required:n = true,
#1 / bcp47
.initial:n = {},
% the BCP-47 language tag
#1 / bcp47-language
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-language}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-language}{##1}},
#1 / bcp47-language
.value_required:n = true,
#1 / bcp47-language
.initial:n = {},
% the BCP-47 region tag
#1 / bcp47-region
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-region}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-region}{##1}},
#1 / bcp47-region
.value_required:n = false,
#1 / bcp47-region
.initial:n = {},
% the BCP-47 script tag
#1 / bcp47-script
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-script}{##1}},
+ .code:n =
+ {
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-script}{##1}
+ \prop_put:Nne \l_xpg_langsetup_prop {#1/lc-bcp47-script}
+ {\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}}
+ },
#1 / bcp47-script
.value_required:n = true,
#1 / bcp47-script
- .initial:n = {},
+ .initial:n = {Latn},
% the BCP-47 variant tag
#1 / bcp47-variant
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-variant}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-variant}{##1}},
#1 / bcp47-variant
.value_required:n = false,
#1 / bcp47-variant
.initial:n = {},
% the BCP-47 extension-t tag
#1 / bcp47-extension-t
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-t}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-extension-t}{##1}},
#1 / bcp47-extension-t
.value_required:n = false,
#1 / bcp47-extension-t
.initial:n = {},
% the BCP-47 extension-u tag
#1 / bcp47-extension-u
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-u}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-extension-u}{##1}},
#1 / bcp47-extension-u
.value_required:n = false,
#1 / bcp47-extension-u
.initial:n = {},
% the BCP-47 extension-x tag
#1 / bcp47-extension-x
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-x}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-extension-x}{##1}},
#1 / bcp47-extension-x
.value_required:n = false,
#1 / bcp47-extension-x
.initial:n = {},
% the BCP-47 casing alias
#1 / bcp47-casing
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-casing}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-casing}{##1}},
#1 / bcp47-casing
.value_required:n = false,
#1 / bcp47-casing
@@ -512,7 +603,7 @@
#1 / hyphennames
.code:n = {
\clist_set:Nn{\l_tmpa_clist}{##1}
- \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
+ \prop_put:Nne \l_xpg_langsetup_prop {#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
},
#1 / hyphennames
.value_required:n = true,
@@ -525,8 +616,8 @@
{LR}{}
{RL}{\RequireBidi}
}
- {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/direction}{##1}}
- {\xpg@error{Unknown~ direction~ "##1"~ for~ language~ "#1"}}
+ { \prop_put:Nnn \l_xpg_langsetup_prop {#1/direction}{##1} }
+ { \xpg_error_msg:n {Unknown~ direction~ "##1"~ for~ language~ "#1"} }
},
#1 / direction
.value_required:n = true,
@@ -537,9 +628,9 @@
.code:n = {
% check syntax
\int_compare:nNnF { \clist_count:n {##1} } = {2}
- {\xpg@error{hypenmins~should~be~a~list~of~two~entries,~got~"##1"}}
+ { \xpg_error_msg:n {hypenmins~should~be~a~list~of~two~entries,~got~"##1"} }
% set prop
- \prop_gput:Nnn \g_xpg_langsetup_prop {#1/hyphenmins} {##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/hyphenmins} {##1}
},
#1 / hyphenmins
.value_required:n = true,
@@ -550,9 +641,9 @@
.code:n = {
% check syntax
\int_compare:nNnF { \clist_count:n {##1} } = {1}
- {\xpg@error{totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"}}
+ { \xpg_error_msg:n {totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"} }
% set prop
- \prop_gput:Nnn \g_xpg_langsetup_prop {#1/totalhyphenmin} {##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/totalhyphenmin} {##1}
},
#1 / totalhyphenmin
.value_required:n = false,
@@ -571,35 +662,35 @@
% environment name
#1 / envname
.code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/envname}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/envname}{##1}
},
#1/ envname.value_required:n = true,
#1/ envname.initial:n = {#1},
% babel name
#1 / babelname
.code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/babelname}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/babelname}{##1}
},
#1/ babelname.value_required:n = true,
#1/ babelname.initial:n = {#1},
% default numerals
#1 / localnumeral
. code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/localnumeral}{##1}
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/localnumeral}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/Localnumeral}{##1}
},
#1 / localnumeral.value_required:n = true,
- #1 / localnumeral.initial:n = {polyglossia@C@localnumeral},
+ #1 / localnumeral.initial:n = {xpg_C_localnumeral:nn},
% uppercased
#1 / Localnumeral
. code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/Localnumeral}{##1}
},
#1 / Localnumeral.value_required:n = true,
- #1 / Localnumeral.initial:n = {polyglossia@C@localnumeral},
+ #1 / Localnumeral.initial:n = {xpg_C_localnumeral:nn},
% environment define command (by default create the environment)
#1 / DefineCommandsCmd
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/DefineCommandsCmd}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/DefineCommandsCmd}{##1}},
#1 / DefineCommandsCmd
.value_required:n = true,
#1 / DefineCommandsCmd
@@ -607,9 +698,20 @@
}
}
+\DeclareExpandableDocumentCommand \babelname { }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / babelname }
+ }
+
+\DeclareExpandableDocumentCommand \mainbabelname { }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / babelname }
+ }
+
% TODO move to C module
-\newcommand*{\polyglossia@C@localnumeral}[2]{
- \polyglossia@Clang@@arabic{#2}
+\cs_new:Nn \xpg_C_localnumeral:nn
+{
+ \xpg_Clang_arabic{#2}
}
\cs_new:Npn \__xpg_localnumeral_parse:nn #1 #2
@@ -633,7 +735,7 @@
\__xpg_localnumeral_parse:nn
} { #2 }
}
- { \use:c { \prop_item:Ne \g_xpg_langsetup_prop
+ { \use:c { \prop_item:Ne \l_xpg_langsetup_prop
{ \languagename / #3 } } { } { #1 } }
}
@@ -668,31 +770,31 @@
\cs_new_nopar:Npn \__xpg_indent_first:n #1
{
\bool_if:cTF { g__xpg_#1_if_bool }
- { \french@indent } { \nofrench@indent }
+ { \__xpg_french_indent: } { \__xpg_no_french_indent: }
}
\cs_new:Nn \__xpg_lang_set_par_direction:n
{
- \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
+ \prop_get:NeNTF \l_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
{
\__xpg_set_par_direction:n{\l_tmpa_tl}
}
{
- \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
- \prop_show:N{\g_xpg_langsetup_prop}
+ \xpg_error_msg:n {Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
+ \prop_show:N{\l_xpg_langsetup_prop}
}
}
\cs_new:Nn \__xpg_lang_set_text_direction:nn
{
- \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
+ \prop_get:NeNTF \l_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
{
\__xpg_set_text_direction:n{\l_tmpa_tl}{#2}
}
{
- \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
- \prop_show:N{\g_xpg_langsetup_prop}
+ \xpg_error_msg:n {Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
+ \prop_show:N{\l_xpg_langsetup_prop}
}
}
@@ -723,7 +825,7 @@
{
\bool_gset_true:N \g__xpg_hyphenation_disabled_bool
\tl_gset:Ne \g__xpg_lastlanguage_tl { \the\language }
- % We do not call \xpg@set@hyphenation@patterns here to avoid a warning message.
+ % We do not call \xpg_set_hyphenation_patterns:n here to avoid a warning message.
% "nohyphenation" is not listed in language.dat.lua.
\language=\l@nohyphenation
}
@@ -735,19 +837,19 @@
{
\bool_gset_false:N \g__xpg_hyphenation_disabled_bool
\language=\tl_use:N{\g__xpg_lastlanguage_tl}
- }%
+ }
}
\cs_new:Npn \__xpg_auto_setupfont:n #1
{
\bool_if:cTF { g__xpg_#1_fontsetup_bool }
{
- \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin}
- {\xpg@fontsetup@latin{#1}}
- {\xpg@fontsetup@nonlatin{#1}}
+ \str_if_eq:eeTF{\prop_item:Nn{\l_xpg_langsetup_prop}{#1/lcscript}}{latin}
+ {\SetupLatinPolyglossiaFont{#1}}
+ {\SetupNonLatinPolyglossiaFont{#1}}
}
{
- \xpg@info{Skipping~ automatic~ font~ setup~ for~ language~ #1}
+ \xpg_info_msg:n{Skipping~ automatic~ font~ setup~ for~ language~ #1}
}
}
@@ -759,40 +861,40 @@
\bool_if:nTF{\tl_if_empty_p:n{#1} || \tl_if_empty_p:n{#2}}
{
% maybe an error ?
- \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font~
+ \xpg_warning_msg:n{Asking~ to~ add~ empty~ feature~to~ main~ font~
(Language="#2"~ to~ langtag~ "#1")}
}
{
- \str_if_eq:nnTF{#2}{Turkish}{
+ \str_if_eq:nnTF{#2}{Turkish}
+ {
\fontspec_if_language:nTF {TRK}
{
\addfontfeature{Language=Turkish}
}
{
- \fontspec_if_language:nTF {TUR}
+ \fontspec_if_language:nT {TUR}
{
\addfontfeature{Language=Turkish}
- }{}
+ }
}
}{
- \fontspec_if_language:nTF{#1}
+ \fontspec_if_language:nT{#1}
{
\addfontfeature{Language=#2}
}
- {}
}
}
}
-\cs_generate_variant:Nn \__xpg_add_font_feature_language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx}
+\cs_generate_variant:Nn \__xpg_add_font_feature_language:nn { ee }
-% add fontfeature Script=#2 to scripttag #1
-% do nothing if #1 or #2 is empty
+% add fontfeature Script=#3 to scripttag #2 for family #1
+% do nothing if #2 or #3 is empty
\cs_new:Nn \__xpg_add_font_feature_script:nnn
{
\bool_if:nTF{\tl_if_empty_p:n{#2} || \tl_if_empty_p:n{#3}}
{
% maybe an error ?
- \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font
+ \xpg_warning_msg:n{Asking~ to~ add~ empty~ feature~to~ main~ font
(Script="#3"~ to~ scripttag~ "#2")}
}
{
@@ -828,118 +930,58 @@
\regex_replace_once:nnN { \.[^\.]* \Z } { } \xpg_fname_str
% ... and, finally, quotation marks
\regex_replace_once:nnN { " } { } \xpg_fname_str
- \xpg@error{
- The~ current~ main ~ \xpg_ffamily_tl\space font,~ \xpg_fname_str,~ does~ not~ contain~ the~"#3"~ script!\MessageBreak
- Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n{#3}}font\xpg_ffamilysh_tl\endcsname~
- with~ \string\newfontfamily\space command
+ \xpg_error_msg:n
+ {
+ The~ current~ main ~ \xpg_ffamily_tl\space font,~ \xpg_fname_str,~ does~ not~ contain~ the~"#3"~ script! \iow_newline:
+ Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n{#3}}font\xpg_ffamilysh_tl\endcsname~
+ with~ \string\newfontfamily\space command
}
}
}
}
-\cs_generate_variant:Nn \__xpg_add_font_feature_script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx}
+\cs_generate_variant:Nn \__xpg_add_font_feature_script:nnn { nee }
-\def\xpg@fontsetup@latin#1{
- \begingroup
- \csgdef{#1@font@rm}{
- \cs_if_exist_use:cF{#1font}{
- \rmfamilylatin
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }
- }
- \csgdef{#1@font@sf}{
- \cs_if_exist_use:cF{#1fontsf}{
- \sffamilylatin
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }
- }
- \csgdef{#1@font@tt}{
- \cs_if_exist_use:cF{#1fonttt}{
- \ttfamilylatin
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }
- }
- \endgroup
-}
-
-\def\xpg@fontsetup@nonlatin#1{
- \begingroup
- \csgdef{#1@font@rm}{
- \cs_if_exist_use:cF{#1font}
- {
- \providetoggle{#1@use@script@font}
- \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- {\rmfamilylatin}
- {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} font}
- {
- \toggletrue{#1@use@script@font}
- }
- {
- \rmfamilylatin
- }
- }
- \iftoggle{#1@use@script@font}{}{
- \__xpg_add_font_feature_script:nxx{rm}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}
- }%
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }%
- \def\familytype{rm}
- }%
- \csgdef{#1@font@sf}{
- \cs_if_exist_use:cF{#1fontsf}
+%% TODO: probably can be cleaned a little more
+\cs_new_protected:Npn \__xpg_setup_font:nnnnn #1 #2 #3 #4 #5 % #1 = lang, #2 = family, #3 = family, #4 = gobble, #5 gobble
+ {
+ \cs_set_protected_nopar:cpn { #1@font@#2 }
{
- \providetoggle{#1@use@script@fontsf}
- \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- {\sffamilylatin}
- {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fontsf}
+ \cs_if_exist_use:cF{ #1font#3 }
{
- \toggletrue{#1@use@script@fontsf}
- }
- {
- \sffamilylatin
- }
- }
- \iftoggle{#1@use@script@fontsf}{}{
- \__xpg_add_font_feature_script:nxx{sf}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}
- }%
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }%
- \def\familytype{sf}
- }%
- \csgdef{#1@font@tt}{
- \cs_if_exist_use:cF{#1fonttt}
- {
- \providetoggle{#1@use@script@fonttt}
- \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- {\ttfamilylatin}
- {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fonttt}
- {
- \toggletrue{#1@use@script@fonttt}
- }
- {
- \ttfamilylatin
- }
- }
- \iftoggle{#1@use@script@fonttt}{}{
- \__xpg_add_font_feature_script:nxx{tt}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}
- }
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
+ \cs_if_exist_use:cF { \prop_item:Nn \l_xpg_langsetup_prop { #1 / lc-bcp47-script } font#3 }
+ {
+ #4 { \prop_item:Nn \l_xpg_langsetup_prop { #1 / lcscript } font#3 }
+ {
+ \use:c { #2familylatin }
+ #5
+ {
+ \__xpg_add_font_feature_script:nee { #2 }
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / scripttag } }
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / script } }
+ }
+ }
+ }
+ \__xpg_add_font_feature_language:ee
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / langtag } }
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / language } }
+ }
+ \tl_set:Nn \familytype { #2 }
}
- \def\familytype{tt}
}
- \endgroup
-}
+
+\NewDocumentCommand \SetupLatinPolyglossiaFont { m }
+ {
+ \__xpg_setup_font:nnnnn { #1 } { rm } { } { \use_ii:nn } { \use_none:n }
+ \__xpg_setup_font:nnnnn { #1 } { sf } { sf } { \use_ii:nn } { \use_none:n }
+ \__xpg_setup_font:nnnnn { #1 } { tt } { tt } { \use_ii:nn } { \use_none:n }
+ }
+
+\NewDocumentCommand \SetupNonLatinPolyglossiaFont { m }
+ {
+ \__xpg_setup_font:nnnnn { #1 } { rm } { } { \cs_if_exist_use:cF } { \use:n }
+ \__xpg_setup_font:nnnnn { #1 } { sf } { sf } { \cs_if_exist_use:cF } { \use:n }
+ \__xpg_setup_font:nnnnn { #1 } { tt } { tt } { \cs_if_exist_use:cF } { \use:n }
+ }
%%% END OF PolyglossiaSetup
@@ -948,40 +990,53 @@
\cs_new_nopar:Nn \__xpg_local_marks:n { }
\cs_new_nopar:Nn \__xpg_enable_local_marks:
{
- \xpg@info{Option:~ localmarks}
+ \xpg_info_msg:n{Option:~ localmarks}
\cs_gset_nopar:Nn \__xpg_local_marks:n
{
- \def\xpg@tmp@lang{##1}
- \DeclareRobustCommand\markboth[2]{
- \begingroup
- \let\label\relax \let\index\relax \let\glossary\relax
- \unrestored@protected@xdef\@themark
- {
- {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}
- {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}}
- }
- \@temptokena \expandafter{\@themark}
- \mark{\the\@temptokena}
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi
- }
- \DeclareRobustCommand\markright[1]{
- \begingroup
- \let\label\relax \let\index\relax \let\glossary\relax
- \expandafter\@markright\@themark
- {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}
- \@temptokena \expandafter{\@themark}
- \mark{\the\@temptokena}
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi
- }
+ \DeclareDocumentCommand \markboth { m m }
+ {
+ \group_begin:
+ \cs_set_eq:cc { label } { relax }
+ \cs_set_eq:cc { index } { relax }
+ \cs_set_eq:cc { glossary } { relax }
+ \unrestored@protected@xdef\@themark
+ {
+ {\foreignlanguage{##1}{\protect\@@ensure@maindir{####1}}}
+ {\foreignlanguage{##1}{\protect\@@ensure@maindir{####2}}}
+ }
+ \@temptokena \expandafter{\@themark}
+ \mark_insert:nn{2e-left}{####1}
+ \mark_insert:nn{2e-right}{####2}
+ \tl_if_empty:nF{####2}{ \mark_insert:nn{2e-right-nonempty}{####2} }
+ \mark{\the\@temptokena}
+ \group_end:
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+ \DeclareDocumentCommand \markright { m }
+ {
+ \group_begin:
+ \cs_set_eq:cc { label } { relax }
+ \cs_set_eq:cc { index } { relax }
+ \cs_set_eq:cc { glossary } { relax }
+ \expandafter\@markright\@themark
+ {\foreignlanguage{##1}{\protect\@@ensure@maindir{####1}}}
+ \@temptokena \expandafter{\@themark}
+ \mark_insert:nn{2e-right}{####1}
+ \tl_if_empty:nF{####1}{ \mark_insert:nn{2e-right-nonempty}{####1} }
+ \mark{\the\@temptokena}
+ \group_end:
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
}
}
%we call this macro when a gloss file is not found for a given language
-\def\xpg@nogloss#1{
- \xpg@warning{File~ gloss-#1.ldf~ do~ not~ exists!\MessageBreak
- I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}
+\cs_new_nopar:Nn \__xpg_no_gloss:n
+{
+ \xpg_warning_msg:n
+ {File~ gloss-#1.ldf~ do~ not~ exists! \iow_newline:
+ I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}
+
\PolyglossiaSetup{#1}{hyphenmins={2,3},hyphennames={#1},fontsetup=true}
% the above amounts to:
%\ifcsundef{l@#1}%
@@ -990,59 +1045,64 @@
%\csdef{#1@language}{\language=\csname l@#1\endcsname}%
}
-\newcommand{\xpg@input}[1]{
+\cs_new_nopar:Nn \xpg_input:n
+{
% Store catcode of @ before making at letter
- \chardef\xpg@saved@at@catcode\catcode`\@
- \makeatletter
- \input{#1}
+ \cs_set_protected_nopar:Npx \__xpg_restore_at_catcode:
+ { \char_set_catcode:nn { `@ } { \char_value_catcode:n {`\@ } } }
+ \char_set_catcode_letter:N @
+ \file_input:n { #1 }
% restore former @ catcode
- \catcode`\@=\xpg@saved@at@catcode
+ \__xpg_restore_at_catcode:
}
% try to load a language file
-\cs_new:Nn \__xpg_load_lang_definition:nn {
- \file_if_exist:nTF{gloss-#2.ldf}
+\cs_new:Nn \__xpg_load_lang_definition:nn
+{
+ \file_if_exist:nTF{gloss-#2.ldf}
{
- % Temporarily force catcode of ~ to 13 since babelsh.def
+ \tl_set:Nn \xpg__tmp_default_options_tl { #1 }
+ % Temporarily force catcode of ~ to 13 (active) since babelsh.def
% requires it. This is needed particularly with LaTeX3
% packages which force \ExplSyntaxOn (#425)
- \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax}
- \catcode 126 = 13
- \xpg@input{gloss-#2.ldf}
- \setkeys{#2}{#1}
+ \cs_gset_protected:Npx \__xpg_restore_tilde_catcode:
+ { \char_set_catcode:nn { 126 } { \char_value_catcode:n { 126 } } }
+ \char_set_catcode_active:n { 126 }
+ \xpg_input:n {gloss-#2.ldf}
% restore former ~ catcode
- \xpg@restore@tilde@catcode
+ \__xpg_restore_tilde_catcode:
}
{
- \xpg@nogloss{#2}
+ \__xpg_no_gloss:n {#2}
}
}
\cs_generate_variant:Nn \__xpg_load_lang_definition:nn { ee }
% load a master language from an alias file
-\newcommand*\xpg@load@master@language[1] {
- \xpg@input{gloss-#1.ldf}
+\NewDocumentCommand \InheritGlossFile { m }
+{
\seq_if_in:NeF \__xpg_langs_loaded {#1}
{
+ \xpg_input:n {gloss-#1.ldf}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} {
- \use:c{\prop_item:Nn{\g_xpg_langsetup_prop}
+ \use:c{\prop_item:Nn{\l_xpg_langsetup_prop}
{#1/DefineCommandsCmd}}
{#1}
}
+ \seq_gput_right:Nn \__xpg_langs_loaded {#1}
}
\__xpg_register_language:nn{}{#1}
- \seq_gput_right:Nn \__xpg_langs_loaded {#1}
}
-\prop_new:N \__xpg_alias
+\prop_new_linked:N \__xpg_alias
% define environment and command if not alias
\cs_new:Nn \xpg_define_language_commands:n {
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1}
{
\exp_args:Ne
- \NewDocumentEnvironment {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/envname}} { O{} }
+ \NewDocumentEnvironment {\prop_item:Nn{\l_xpg_langsetup_prop}{#1/envname}} { O{} }
{
\otherlanguage [ ##1 ] { #1 }
}
@@ -1070,7 +1130,7 @@
% target to self fall back to language table
\str_if_eq:eeTF { \prop_item:Ne \__xpg_alias {#1/target} } { #1 }
{
- \prop_item:Nn{\g_xpg_langsetup_prop} {#1/#2}
+ \prop_item:Nn{\l_xpg_langsetup_prop} {#1/#2}
}
% load alias by recursion
{
@@ -1193,20 +1253,29 @@
\clist_if_in:NeF \xpg@loaded {#2}{
\clist_gput_right:Ne \xpg@loaded {#2}
}
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant}
+ \group_begin:
+ % set language options
+ \__xpg_set_language_options:nn {#2} {#1}
% register babelname
- \prop_get:NeN \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl
+ \prop_get:NeN \l_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl
\clist_if_in:NeF \xpg@bloaded {\l_tmpa_tl}{
\clist_gput_right:Ne \xpg@bloaded {\l_tmpa_tl}
}
% register BCP-47 ID
- \prop_get:NeN \g_xpg_langsetup_prop {#2/bcp47} \l_tmpa_tl
+ \prop_get:NeN \l_xpg_langsetup_prop {#2/bcp47} \l_tmpa_tl
\clist_if_in:NeF \xpg@bcp@loaded {\l_tmpa_tl}{
\clist_gput_right:Ne \xpg@bcp@loaded {\l_tmpa_tl}
}
+ % register variant
+ \prop_get:NnNT \l_xpg_curropt_prop {#2/variant} \l_tmpa_tl {
+ \clist_if_in:NeF \xpg@vloaded {\l_tmpa_tl}{
+ \clist_gput_right:Ne \xpg@vloaded {\l_tmpa_tl}
+ }}
+ \group_end:
}
+\prop_new_linked:N \l_xpg_curropt_prop
+
\DeclareDocumentCommand \setdefaultlanguage { O{} m }
{
% latex is an internal language, so do not record
@@ -1221,12 +1290,13 @@
\__xpg_load_lang_definition:nn{#1}{#2}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Ne{\g_xpg_langsetup_prop}
+ \use:c{\prop_item:Ne{\l_xpg_langsetup_prop}
{#2/DefineCommandsCmd}}
{#2}
}
\seq_gput_right:Ne \__xpg_langs_loaded {#2}
}
+ \cs_set_nopar:Npe \mainlanguagevariant { \prop_item:Ne \l_xpg_curropt_prop { \xpg_alias_base_lang:n{#2} / variant } }
\exp_args:Nee \__xpg_set_default_language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}
}
@@ -1234,70 +1304,22 @@
\cs_new:Nn \__xpg_set_default_language:nn
{
- \gdef\xpg@main@language{#2}
- \tl_if_blank:nTF {#1}
- {
- \cs_gset_nopar:Npn \mainlanguagevariant {}
- }
- {
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant}
- }
- \csgdef{#2@gvar}{\mainlanguagevariant}
+ \tl_gset:Nn \xpg_main_language_tl {#2}
%% The following settings are for the default language and script
% this tells bidi.sty or luabidi.sty that the document is RTL
- \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}}
+ \__xpg_if_LR_str:eF{\prop_item:Nn{\l_xpg_langsetup_prop}{#2/direction}}
{
\__xpg_setRTLmain:
}
\cs_gset_nopar:Nn \__xpg_at_begin_document_selectlanguage: {
\selectbackgroundlanguage{#2}
- \selectlanguage[#1]{#2}%
+ \selectlanguage[#1]{#2}
}
- \xpg@info{Default~ language~ is~ #2}
- \polyglossia@set@language@name[#1]{#2}
+ \str_if_eq:eeF { #2 } { latex }
+ { \xpg_info_msg:n{Default~ language~ is~ #2} }
+ \xpg_set_language_name:n { #2 }
\cs_gset_nopar:Npn \mainlanguagename {#2}
- % Store babelname of main language (for external packages such as biblatex)
- \cs_gset_nopar:Npe \mainbabelname { \prop_item:Nn \g_xpg_langsetup_prop {#2/babelname} }
- % Store babelname of current language (for external packages such as biblatex)
- \cs_gset_eq:NN \babelname \mainbabelname
- \cs_gset_eq:cc{#2@gbabelname}{babelname}%
- % Store BCP-47 ID and subtags of main language:
- % 1. store main.* (sub)tags
- \cs_gset_nopar:cpe {bcp47.main.tag} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47 } }
- \cs_gset_nopar:cpe {bcp47.main.language} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-language } }
- \cs_gset_nopar:cpe {bcp47.main.region} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-region } }
- \cs_gset_nopar:cpe {bcp47.main.script} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-script } }
- \cs_gset_nopar:cpe {bcp47.main.variant} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-variant } }
- \cs_gset_nopar:cpe {bcp47.main.extension.t} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47extension-t } }
- \cs_gset_nopar:cpe {bcp47.main.extension.u} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-u } }
- \cs_gset_nopar:cpe {bcp47.main.extension.x} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-x } }
- % For casing, we fall back to language if bcp47-casing is not explicitly set
- \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } }
- \str_if_empty:NTF \tmpcasing
- { \cs_gset_nopar:cpe {bcp47.main.casing} { \prop_item:Nn \g_xpg_langsetup_prop {#2 / bcp47-language} } }
- { \cs_gset_nopar:cpe {bcp47.main.casing} { \tmpcasing } }
- % 2. Store lang (sub)tags
- \cs_gset_eq:cc {bcp47.tag} {bcp47.main.tag}
- \cs_gset_eq:cc {bcp47.language} {bcp47.main.language}
- \cs_gset_eq:cc {bcp47.region} {bcp47.main.region}
- \cs_gset_eq:cc {bcp47.script} {bcp47.main.script}
- \cs_gset_eq:cc {bcp47.variant} {bcp47.main.variant}
- \cs_gset_eq:cc {bcp47.extension.t} {bcp47.main.extension.t}
- \cs_gset_eq:cc {bcp47.extension.u} {bcp47.main.extension.u}
- \cs_gset_eq:cc {bcp47.extension.x} {bcp47.main.extension.x}
- \cs_gset_eq:cc {bcp47.casing} {bcp47.main.casing}
- % 3. Store global language BCP47 settings (with default subtags as set by main language options)
- \cs_gset_eq:cc{#2@g.bcp47.tag}{bcp47.tag}
- \cs_gset_eq:cc{#2@g.bcp47.language}{bcp47.language}
- \cs_gset_eq:cc{#2@g.bcp47.region}{bcp47.region}
- \cs_gset_eq:cc{#2@g.bcp47.script}{bcp47.script}
- \cs_gset_eq:cc{#2@g.bcp47.variant}{bcp47.variant}
- \cs_gset_eq:cc{#2@g.bcp47.extension.t}{bcp47.extension.t}
- \cs_gset_eq:cc{#2@g.bcp47.extension.u}{bcp47.extension.u}
- \cs_gset_eq:cc{#2@g.bcp47.extension.x}{bcp47.extension.x}
- \cs_gset_eq:cc{#2@g.bcp47.casing}{bcp47.casing}
}
\DeclareCommandCopy \setmainlanguage \setdefaultlanguage
@@ -1308,11 +1330,11 @@
{
\str_case:nnF {#1}
{
- {bcp-47} { \csuse{bcp47.tag} }
- {bcp47} { \csuse{bcp47.tag} }
+ {bcp-47} { \use:c{bcp47.tag} }
+ {bcp47} { \use:c{bcp47.tag} }
}
{
- \xpg@error{Invalid~ \string\languageid\space argument:~ #1}
+ \xpg_ill_arg_msg:nn { #1 } { \languageid }
}
}
@@ -1322,11 +1344,11 @@
{
\str_case:nnF {#1}
{
- {bcp-47} { \csuse{bcp47.main.tag} }
- {bcp47} { \csuse{bcp47.main.tag} }
+ {bcp-47} { \use:c{bcp47.main.tag} }
+ {bcp47} { \use:c{bcp47.main.tag} }
}
{
- \xpg@error{Invalid~ \string\mainlanguageid\space argument:~ #1}
+ \xpg_ill_arg_msg:nn { #1 } { \mainlanguageid }
}
}
% Kernel command to access to BCP-47 data.
@@ -1346,281 +1368,205 @@
% and main.* variants thereof
% See https://github.com/latex3/latex2e/issues/1035
\DeclareExpandableDocumentCommand \BCPdata {m}
+ {
+ \cs_if_exist_use:cF{bcp47.#1}
+ { \xpg_ill_arg_msg:nn { #1 } { \BCPdata } }
+ }
+
+\clist_map_inline:nn
+ {
+ language, region, script, variant,
+ extension.t, extension.u, extension.x
+ }{
+ \tl_set:Nn \l_tmpa_tl { #1 }
+ \tl_replace_once:Nnn \l_tmpa_tl { . } { - }
+ \cs_gset_nopar:cpe { bcp47.#1 }
+ {
+ \exp_not:n { \prop_item:Ne \l_xpg_langsetup_prop } { \exp_not:N \languagename / bcp47-\l_tmpa_tl }
+ }
+ \cs_gset_nopar:cpe { bcp47.main.#1 }
+ {
+ \exp_not:n { \prop_item:Ne \l_xpg_langsetup_prop } { \exp_not:N \mainlanguagename / bcp47-\l_tmpa_tl }
+ }
+ }
+\cs_gset_nopar:cpn { bcp47.casing }
+ {
+ \tl_if_empty:eTF { \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47-casing } }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47-language }
+ }{
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47-casing }
+ }
+ }
+\cs_gset_nopar:cpn { bcp47.main.casing }
+ {
+ \tl_if_empty:eTF { \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47-casing } }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47-language }
+ }{
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47-casing }
+ }
+ }
+\cs_gset_nopar:cpn { bcp47.tag }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47 }
+ }
+\cs_gset_nopar:cpn { bcp47.main.tag }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47 }
+ }
+
+\cs_new_nopar:Npn \languagevariant
+ {
+ \prop_item:Ne \l_xpg_curropt_prop { \languagename / variant }
+ }
+
+\cs_new:Nn \xpg_set_language_name:n
{
- \cs_if_exist_use:cF{bcp47.#1}
- { \xpg@error{Invalid~ \string\BCPdata\space argument:~ #1} }
-}
-
-% main babel name
-\cs_new_nopar:Npn \mainlanguagename {}
-\cs_new_nopar:Npn \mainbabelname {}
-\cs_new_nopar:cpn {bcp47.main.tag} {}
-\cs_new_nopar:cpn {bcp47.main.language} {}
-\cs_new_nopar:cpn {bcp47.main.region} {}
-\cs_new_nopar:cpn {bcp47.main.script} {}
-\cs_new_nopar:cpn {bcp47.main.variant} {}
-\cs_new_nopar:cpn {bcp47.main.extension.t} {}
-\cs_new_nopar:cpn {bcp47.main.extension.u} {}
-\cs_new_nopar:cpn {bcp47.main.extension.x} {}
-\cs_new_nopar:cpn {bcp47.main.casing} {}
-\cs_new_nopar:Npn \mainlanguagevariant {}%
-% Store main language variant for external packages
-\define@key{xpg@main@langvariant}{variant}{
- \cs_gset_nopar:Npn \mainlanguagevariant {#1}
-}
-
-\cs_new_nopar:Npn \babelname {}
-\def\languagevariant{}
-% Store current language variant for external packages
-\define@key{xpg@set@langvariant}{variant}{
- \def\languagevariant{#1}
-}
-
-\newcommand*\polyglossia@set@language@name[2][]{
- \def\languagename{#2}
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@gvar}{\def\languagevariant{}}{\def\languagevariant{\csuse{#2@gvar}}}
- }{
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant}
- \cs_set_eq:cc{#2@var}{languagevariant}
- }%
+ \cs_set:Npn \languagename { #1 }
}
-
-\newcommand*{\resetdefaultlanguage}[2][]{
+\NewDocumentCommand \resetdefaultlanguage { O{} m }
+{
\__xpg_reset_default_language:nn
{\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}
}
-\cs_new:Nn \__xpg_store_bcp_info:nn
-{
- % Store BCP-47 ID and subtags of current language
- \tl_if_blank:nTF {#1}{
- % tag (e.g., en-US)
- \ifcsundef{#2@g.bcp47.tag}{
- \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } }
- }{
- \csedef{bcp47.tag}{\csuse{#2@g.bcp47.tag}}
- }
- % language (e.g., en)
- \ifcsundef{#2@g.bcp47.language}{
- \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } }
- }{
- \csedef{bcp47.language}{\csuse{#2@g.bcp47.language}}
- }
- % region (e.g., US)
- \ifcsundef{#2@g.bcp47.region}{%
- \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } }
- }{
- \csedef{bcp47.region}{\csuse{#2@g.bcp47.region}}%
- }
- % script (e.g., Latn)
- \ifcsundef{#2@g.bcp47.script}{
- \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } }
- }{
- \csedef{bcp47.script}{\csuse{#2@g.bcp47.script}}
- }
- % variant (e.g., 1996)
- \ifcsundef{#2@g.bcp47.variant}{
- \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } }
- }{
- \csedef{bcp47.variant}{\csuse{#2@g.bcp47.variant}}
- }
- % extension.t (tranformation)
- \ifcsundef{#2@g.bcp47.extension.t}{%
- \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } }
- }{
- \csedef{bcp47.extension.t}{\csuse{#2@g.bcp47.extension.t}}
- }
- % extension.u (additional locale information)
- \ifcsundef{#2@g.bcp47.extension.u}{%
- \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } }
- }{
- \csedef{bcp47.extension.u}{\csuse{#2@g.bcp47.extension.u}}
- }
- % extension.x (private use area)
- \ifcsundef{#2@g.bcp47.extension.x}{
- \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } }
- }{
- \csedef{bcp47.extension.x}{\csuse{#2@g.bcp47.extension.x}}
- }
- % casing
- \ifcsundef{#2@g.bcp47.casing}{
- % For casing, we fall back to language if bcp47-casing is not explicitly set
- \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } }
- \str_if_empty:NTF \tmpcasing
- { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} }
- { \csedef{bcp47.casing}{ \tmpcasing } }
- }{
- \csedef{bcp47.casing}{\csuse{#2@g.bcp47.casing}}
- }
- }{
- \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } }
- \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } }
- \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } }
- \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } }
- \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } }
- \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } }
- \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } }
- \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } }
- % For casing, we fall back to language if bcp47-casing is not explicitly set
- \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } }
- \str_if_empty:NTF \tmpcasing
- { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} }
- { \csedef{bcp47.casing}{ \tmpcasing } }
- }
-}
-
\cs_new:Nn \__xpg_reset_default_language:nn
{
\xpg_error_if_lang_not_loaded:n{#2}
% disable globalnumbers of previously defined default language
- \csuse{no\xpg@main@language @globalnumbers}
- \csuse{noextras@\xpg@main@language}%
+ \use:c{no\xpg_main_language_tl @globalnumbers}
+ \use:c{noextras@\xpg_main_language_tl}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
- \cs_if_exist_use:c{noextras@bbl@\mainbabelname}%
- \csuse{init@noextras@\xpg@main@language}%
- \polyglossia@set@language@name[#1]{#2}%
- \__xpg_if_LR_str:eF{\prop_item:Ne{\g_xpg_langsetup_prop}{#2/direction}}
+ \cs_if_exist_use:c{noextras@bbl@\mainbabelname}
+ \use:c{init@noextras@\xpg_main_language_tl}
+ \xpg_set_language_name:n { #2 }
+ \__xpg_if_LR_str:eF{\prop_item:Ne{\l_xpg_langsetup_prop}{#2/direction}}
{
\@rlmaintrue\@rl@footnotetrue
}
- \selectlanguage[#1]{#2}%
- \selectbackgroundlanguage{#2}%
- % Store babelname of current language (for external packages such as biblatex)
- \tl_if_blank:nTF {#1}{%
- \ifcsundef{#2@gbabelname}{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }{
- \edef\babelname{\csuse{#2@gbabelname}}
- }
- }{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }
- % Store variant
- \tl_if_blank:nTF {#1}
- {
- \cs_gset_nopar:Npn \mainlanguagevariant {}
- }
- {
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant}
- }
- \csgdef{#2@gvar}{\mainlanguagevariant}
- % Store BCP-47 id of current language
- \__xpg_store_bcp_info:nn {#1}{#2}
+ \selectlanguage[#1]{#2}
+ \selectbackgroundlanguage{#2}
+ \cs_set_nopar:Npe \mainlanguagevariant { \prop_item:Ne \l_xpg_curropt_prop { \xpg_alias_base_lang:n{#2} / variant } }
}
% This saves the normalfont for the latin script since we may change normalfont in other scripts
-\let\normalfontlatin=\normalfont
+\cs_set_eq:cc { normalfontlatin } { normalfont }
% Provide default fonts (as set with \setmainfont, \setsansfont and \setmonofont)
% for Latin scripts and as a fallback for non-Latin scripts.
-\DeclareRobustCommand\xpg@defaultfont@rm{
+\cs_set_protected:Nn \xpg_defaultfont_rm:
+{
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}
\fontfamily\rmdefault
- \ifdefined\UseHook\UseHook{rmfamily}\fi
+ \hook_use:n { rmfamily }
\selectfont
}
-\DeclareRobustCommand\xpg@defaultfont@sf{
+
+\cs_set_protected:Nn \xpg_defaultfont_sf:
+{
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}
\fontfamily\sfdefault
- \ifdefined\UseHook\UseHook{sffamily}\fi
+ \hook_use:n { sffamily }
\selectfont
}
-\DeclareRobustCommand\xpg@defaultfont@tt{
+
+\cs_set_protected:Nn \xpg_defaultfont_tt:
+{
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}
\fontfamily\ttdefault
- \ifdefined\UseHook\UseHook{ttfamily}\fi
+ \hook_use:n { ttfamily }
\selectfont
}
-\def\xpg@patch@fontfamilies{
+\cs_new:Nn \__xpg_patch_fontfamilies:
+{
% This robustifies the redefinitions of \<xx>family (suggestion by Enrico Gregorio)
% e.g. to prevent expansion of the \familytype redefinition in auxiliary files
- \csgappto{rmfamily~}{\def\familytype{rm}}
- \csgappto{sffamily~}{\def\familytype{sf}}
- \csgappto{ttfamily~}{\def\familytype{tt}}
+ \tl_put_right:cn {rmfamily~} {\tl_set:Nn \familytype {rm}}
+ \tl_put_right:cn {sffamily~} {\tl_set:Nn \familytype {sf}}
+ \tl_put_right:cn {ttfamily~} {\tl_set:Nn \familytype {tt}}
}
% These switches activate the default fonts
% Note that a simple \let\rmfamilylatin=\rmfamily
% does not work reliably (see #24)
-\cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}
-\cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}
-\cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}
-
-\def\xpg@set@familydefault{
- % We need the \edef route here in order
- % to detect both \renewcommand and \let
- % changes.
- \edef\tempa{\familydefault}
- \edef\tempb{\sfdefault}
- \ifcsequal{tempa}{tempb}
- {\def\familytype{sf}}
- {\edef\tempb{\ttdefault}
- \ifcsequal{tempa}{tempb}
- {\def\familytype{tt}}
- {\def\familytype{rm}}}
- \xpg@patch@fontfamilies
+\cs_set_eq:cc{rmfamilylatin}{xpg_defaultfont_rm:}
+\cs_set_eq:cc{sffamilylatin}{xpg_defaultfont_sf:}
+\cs_set_eq:cc{ttfamilylatin}{xpg_defaultfont_tt:}
+
+\cs_new:Nn \xpg_set_familydefault:
+{
+ \tl_set:Ne \l_tmpa_tl { \familydefault }
+ \tl_set:Ne \l_tmpb_tl { \sfdefault }
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {sf} }
+ { \tl_set_eq:NN \l_tmpb_tl \ttdefault
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {tt} }
+ { \tl_set:Nn \familytype {rm} }
+ }
+ \__xpg_patch_fontfamilies:
% This (re-)saves the normalfont for the latin script since we may
% change normalfont in other scripts
- \let\normalfontlatin=\normalfont
+ \cs_set_eq:cc{ normalfontlatin }{ normalfont }
% And for all cases, we also reset \<xx>familylatin
- \cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}
- \cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}
- \cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}
-}
-
-\def\resetfontlatin{
- \DeclareRobustCommand\rmfamily{\xpg@defaultfont@rm}
- \DeclareRobustCommand\sffamily{\xpg@defaultfont@sf}
- \DeclareRobustCommand\ttfamily{\xpg@defaultfont@tt}
- \xpg@patch@fontfamilies
- \global\let\normalfont=\normalfontlatin
-}
-
-\def\selectfontfamilylatin{
- \def\tmp@tt{tt}\def\tmp@sf{sf}
- \ifx\familytype\tmp@tt
- \ttfamilylatin
- \else\ifx\familytype\tmp@sf
- \sffamilylatin
- \else\rmfamilylatin\fi\fi}
-
-\def\xpg@select@fontfamily#1{
- \def\tmp@tt{tt}\def\tmp@sf{sf}
- \ifx\familytype\tmp@tt
- \__xpg_use_or_warn:c{#1@font@tt}
- \else\ifx\familytype\tmp@sf
- \__xpg_use_or_warn:c{#1@font@sf}
- \else\__xpg_use_or_warn:c{#1@font@rm}\fi\fi}
-
-\def\xpg@set@normalfont#1{
- \letcs{\rmfamily}{#1@font@rm}
- \letcs{\sffamily}{#1@font@sf}
- \letcs{\ttfamily}{#1@font@tt}
- \robustify\rmfamily
- \robustify\sffamily
- \robustify\ttfamily
- \gdef\normalfont{\protect\xpg@select@fontfamily{#1}
- \fontseries{\seriesdefault}\selectfont
- \fontshape{\shapedefault}
- \ifdefined\UseHook\UseHook{normalfont}\fi
- \selectfont}
- \gdef\reset@font{\protect\normalfont}
-}
-
-\let\@@fterindentfalse\@afterindentfalse
-\def\french@indent{
- \let\@afterindentfalse\@afterindenttrue
+ \cs_set_eq:cc{ rmfamilylatin }{ xpg_defaultfont_rm: }
+ \cs_set_eq:cc{ sffamilylatin }{ xpg_defaultfont_sf: }
+ \cs_set_eq:cc{ ttfamilylatin }{ xpg_defaultfont_tt: }
+}
+
+\cs_set_nopar:Nn \xpg_select_fontfamily:n
+{
+ \str_if_eq:VnTF \familytype { tt }
+ { \__xpg_use_or_warn:c { #1@font@tt } }
+ { \str_if_eq:VnTF \familytype { sf }
+ { \__xpg_use_or_warn:c { #1@font@sf } }
+ { \__xpg_use_or_warn:c { #1@font@rm } }
+ }
+}
+
+\cs_set_protected:Npn \xpg_select_default_fontfamily:n #1
+ {
+ \tl_set:Ne \l_tmpa_tl { \familydefault }
+ \tl_set:Ne \l_tmpb_tl { \sfdefault }
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {sf} }
+ { \tl_set_eq:NN \l_tmpb_tl \ttdefault
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {tt} }
+ { \tl_set:Nn \familytype {rm} }
+ }
+ \xpg_select_fontfamily:n{#1}
+ }
+
+\cs_new_nopar:Nn \xpg_set_normalfont:n
+{
+ \cs_set_eq:cc { rmfamily } { #1@font@rm }
+ \cs_set_eq:cc { sffamily } { #1@font@sf }
+ \cs_set_eq:cc { ttfamily } { #1@font@tt }
+ \cs_set_nopar:Npn \normalfont
+ { \xpg_select_default_fontfamily:n {#1}
+ \fontseries{\seriesdefault}\selectfont
+ \fontshape{\shapedefault}
+ \hook_use:n { normalfont }
+ \selectfont
+ }
+ \cs_set_nopar:Npn \reset@font {\protect\normalfont}
+}
+
+\cs_gset_eq:cc { @@fterindentfalse } { @afterindentfalse }
+\cs_new_nopar:Nn \__xpg_french_indent:
+{
+ \cs_set_eq:cc { @afterindentfalse } { @afterindenttrue }
\@afterindenttrue
}
-\def\nofrench@indent{
- \let\@afterindentfalse\@@fterindentfalse
+\cs_new_nopar:Nn \__xpg_no_french_indent:
+{
+ \cs_set_eq:cc { @afterindentfalse } { @@fterindentfalse }
\@afterindentfalse
}
@@ -1631,10 +1577,10 @@
\cs_new:Nn \__xpg_select_background_language:n
{
- \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin}
+ \str_if_eq:eeTF { \prop_item:Nn{\l_xpg_langsetup_prop}{#1/lcscript} } { latin }
{}
- {\xpg@set@normalfont{#1}}
- \csuse{#1@globalnumbers}
+ { \xpg_set_normalfont:n{#1} }
+ \use:c{#1@globalnumbers}
}
\cs_generate_variant:Nn \__xpg_select_background_language:n {e}
% Declare secondary language #2 with language options #1
@@ -1645,7 +1591,7 @@
\__xpg_load_lang_definition:ee {#1} {#2}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Ne{\g_xpg_langsetup_prop}
+ \use:c{\prop_item:Ne{\l_xpg_langsetup_prop}
{#2/DefineCommandsCmd}}
{#2}
}
@@ -1658,28 +1604,13 @@
\cs_new:Nn \__xpg_set_otherlanguage:nn
{
\__xpg_register_language:nn{#1}{#2}
- % If a variant is set, store it.
- \gdef\otherlanguagevariant{}
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@other@langvariant}
-
- \csgdef{#2@gvar}{\otherlanguagevariant}
- \prop_get:NeNT \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl
- { \xdef\otherlanguagebabelname{\l_tmpa_tl} }
- \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname}
}
\cs_generate_variant:Nn \__xpg_set_otherlanguage:nn { ee }
-
-% Store main language variant for external packages
-\define@key{xpg@other@langvariant}{variant}{
- \gdef\otherlanguagevariant{#1}
-}
-
\NewDocumentCommand \setotherlanguages { m }
- {
+{
\clist_map_function:eN { #1 } \setotherlanguage
- }
+}
\cs_set:Nn \xpg_common_language:
{% FIXME is this really needed???
@@ -1702,7 +1633,8 @@
% for specific (esp. tag-based) aliases
% where \text<alias> would cause clashes
% (e.g., \textit)
-\newcommand\textlang[3][]{
+\NewDocumentCommand \textlang { O{} m +m }
+{
\__xpg_textlanguage:een {#1} {#2} {#3}
}
@@ -1711,45 +1643,20 @@
% inside case changing commands (e.g. \MakeUppercase)
\tl_put_right:Nn \l_text_case_exclude_arg_tl { \textlang }
-% Alias to {<lang>}, but more suitable
-% for specific (esp. tag-based) aliases
-% where {<alias>} would cause clashes
-% (e.g., \fi)
-\DeclareEnvironmentCopy { lang } { otherlanguage }
-
% wrapper for foreignlanguage and otherlanguage*
-\newcommand*\polyglossia@setforeignlanguage[2][]{
- \select@@language[#1]{#2}
+\cs_new_nopar:Nn \xpg_set_foreign_language:nn
+{
+ \xpg_select_language:nn { #1 } { #2 }
\__xpg_register_language:nn{#1}{#2}
- % Store babelname of current language (for external packages such as biblatex)
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@gbabelname}{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }{
- \edef\babelname{\csuse{#2@gbabelname}}
- }
- }{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }
- % Store BCP-47 id of current language
- \__xpg_store_bcp_info:nn {#1}{#2}
-}
-
-% Expandable lowercasing. We use this to assure keyval
-% options are lowercased (also when used in \MakeUppercase
-% contexts e.g. in headings)
-% Macro adapted from tudscr.sty
-\newcommand*\xpg@str@lowercase[2]{
- \protected@edef#1{
- \lowercase{\def\noexpand#1{#2}}
- }#1
}
% lowercase options before passing to setkeys
-\cs_new:Nn \__xpg_set_keys:nn
+\NewDocumentCommand \SetGlossOptions { m m }
{
- \xpg@str@lowercase{\xpg@tmp@opts}{#2}
- \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts}
+ % \text_lowercase:n fully expands
+ % (as opposed to \str_lowercase:n)
+ \use:c { xpg_#1_default_options_tl }
+ \exp_args:Ne \keys_set:ne{ polyglossia / gloss / #1 }{ \text_lowercase:n {#2} }
}
% joint code of \foreignlanguage, otherlanguage*
@@ -1759,54 +1666,30 @@
\cs_new:Nn \xpg_otherlanguage:nn
{
\xpg_error_if_lang_not_loaded:n{#2}
- \__xpg_set_keys:nn{#2}{#1}
- \polyglossia@setforeignlanguage[#1]{#2}
+ \SetGlossOptions{#2}{#1}
+ \xpg_set_foreign_language:nn { #1 } { #2 }
% Hook for external packages such as biblatex
\polyglossia@language@switched
% buggy restoration heure
- \csuse{inlineextras@#2}
+ \use:c{inlineextras@#2}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
\cs_if_exist_use:c{inlineextras@bbl@\babelname}
}
\DeclareDocumentCommand { \foreignlanguage } { O{} m +m }
- {
+{
\__xpg_foreignlanguage:eeen {#1} {#2} {\xpg_alias_base_lang:n{#2}} {#3}
- }
+}
% prevent case changing of language name in \foreignlanguage
\tl_put_right:Nn \l_text_case_exclude_arg_tl { \foreignlanguage }
-% Direct access to polyglossia@setforeignlanguage
+% Direct access to \xpg_set_foreign_language:nn
% used in captions
-\newcommand{\setforeignlanguage}[2][]
-{
- \polyglossia@setforeignlanguage[#1]{#2}
-}
-
-% Stack to store matrix languages
-\seq_new:N \__xpg_current_matrixlang_stack
-
-% Store embedding language when an embedded language is switched to
-\cs_new_nopar:Nn \__xpg_store_matrixlang:
+\NewDocumentCommand \setforeignlanguage { O{} m }
{
- \seq_gput_left:Nn \__xpg_current_matrixlang_stack \languagename
-}
-
-% When an embedded language is closed, reset to the embedding language
-% and remove stored matrix language from stack
-\cs_new_nopar:Nn \__xpg_reset_to_matrixlang:
-{
- % if stack is empty, use main language
- \seq_gpop_left:NNTF \__xpg_current_matrixlang_stack \l_tmpa_tl
- { \cs_set_eq:NN \__xpg_current_matrixlang \l_tmpa_tl }
- { \cs_set_eq:NN \__xpg_current_matrixlang \mainlanguagename }
- % Reset the language's/script's font families if the embedding script is latin
- \str_if_eq:eeT{\prop_item:Ne{\g_xpg_langsetup_prop}{\__xpg_current_matrixlang/lcscript}}{latin}
- {\resetfontlatin}
- % In case a \<lang>font is defined, re-activate that
- \exp_args:Ne \xpg@set@normalfont{\__xpg_current_matrixlang}
+ \xpg_set_foreign_language:nn { #1 } { #2 }
}
% internal wrapper for foreign language
@@ -1820,12 +1703,10 @@
{
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}{
- \__xpg_store_matrixlang:
\group_begin:
\xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 }
\__xpg_lang_set_text_direction:nn{#3}{#4}
\group_end:
- \__xpg_reset_to_matrixlang:
}
}
\cs_generate_variant:Nn \__xpg_foreignlanguage:nnnn {eeen}
@@ -1834,11 +1715,9 @@
% otherlanguage* is the environment equivalent of \foreignlanguage
\DeclareDocumentEnvironment { otherlanguage* } { O{} m }
{
- \__xpg_store_matrixlang:
\__xpg_otherlanguage:eee { #1 } { #2 } { \xpg_alias_base_lang:n { #2 } }
}{
- \egroup% \group_end: does not work here!
- \__xpg_reset_to_matrixlang:
+ \c_group_end_token% \group_end: does not work here!
}
% internal wrapper
@@ -1853,7 +1732,7 @@
}{
\xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 }
\__xpg_lang_set_text_direction:nn{#3}%
- \bgroup% \group_begin: does not work here!
+ \c_group_begin_token% \group_begin: does not work here!
}
}
\cs_generate_variant:Nn \__xpg_otherlanguage:nnn { eee }
@@ -1869,9 +1748,6 @@
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnn {een}
-% Track whether we are in an inline lang (\text...) switch
-\bool_new:N \l__xpg_inline_lang_bool
-
% use by \text<lang> and \textlang. Equivalent to \foreignlanguage,
% except that dates are localized.
% #1: option
@@ -1885,41 +1761,43 @@
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}
{
- \__xpg_store_matrixlang:
\group_begin:
- \bool_set_true:N \l__xpg_inline_lang_bool
\xpg_otherlanguage:nn{#1}{#3}
- \csuse{date#3}
+ \use:c{date#3}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
\cs_if_exist_use:c{date@bbl@\babelname}
\__xpg_lang_set_text_direction:nn{#3}{#4}
\group_end:
- \__xpg_reset_to_matrixlang:
}
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
% Define language-specific hyphenation exceptions
-\newcommand\pghyphenation[3][]{
- \bgroup
- \xpg_error_if_lang_not_loaded:n{#2}
- \setkeys{#2}{#1}
- \select@@language[#1]{#2}
+\NewDocumentCommand \pghyphenation {O{} m m}
+{
+ \c_group_begin_token
+ \xpg_error_if_lang_not_loaded:n { #2 }
+ \SetGlossOptions{#2}{#1}
+ \xpg_select_language:nn { #1 } { #2 }
\hyphenation{#3}
- \egroup
+ \c_group_end_token
}
% Hook that other package authors can use
% (for instance biblatex):
% Do not rename!
-\newcommand*{\xpg@hook@setlanguage}{}
+\cs_set_nopar:Npn \xpg@hook@setlanguage {}
-\def\xpg@pop@language@i#1#2{
- \xpg@set@language@aux[#1]{#2}
+\cs_set_nopar:Nn \__xpg_pop_language:nn
+{
+ \xpg_set_language_aux:nn { #1 } { #2 }
\xpg@hook@setlanguage
- \let\emp@langname\@undefined}
+% FIXME This seems to be a very old relict.
+% The macro is nowhere used. Probably remove.
+% \let\emp@langname\@undefined
+}
\DeclareDocumentCommand \selectlanguage {s O{} m}
{
@@ -1938,131 +1816,124 @@
\cs_new:Nn \__xpg_select_language:nnn
{
% Register the language options
- \__xpg_set_language_options:nnn {#3} {#2} {@xpg@set@langvariant}
+ \__xpg_set_language_options:nn {#3} {#2}
\IfBooleanTF { #1 } % The starred variant does not write to the aux
{
- \xpg@set@language@nonaux[#2]{#3}
+ \xpg_set_language_nonaux:nn { #2 } { #3 }
}{
- \cs_set_nopar:Npe \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} }
- \group_insert_after:N \xpg@pop@language
- \xpg@set@language@aux[#2]{#3}
+ \cs_set_nopar:Ne \xpg_pop_language: { \exp_not:N \__xpg_pop_language:nn { #2 } { #3 } }
+ \group_insert_after:N \xpg_pop_language:
+ \xpg_set_language_aux:nn { #2 } { #3 }
}
- \__xpg_register_language:nn{#2}{#3}
+ \__xpg_register_language:nn { #2 } { #3 }
}
\cs_generate_variant:Nn \__xpg_select_language:nnn { nee, nne }
-
% set lang option #2 for lang #1
-\cs_new:Nn \__xpg_set_language_options:nnn
+\cs_new:Nn \__xpg_set_language_options:nn
{
- \tl_if_blank:nF {#2}
+ \cs_if_exist:cT { xpg_#1_default_options_prop }
{
- % If the optional argument sets a value for the key “variant”, copy it to xpg@langvariant
- \clist_map_inline:nn { #2 } {
- \xpg@parsevariantkeyvalue##1=#3:#1\relax
- }%
- \__xpg_set_keys:nn{#1}{#2}
+ \prop_concat:ccc { l_xpg_curropt_prop } { l_xpg_curropt_prop }
+ { xpg_#1_default_options_prop }
}
+ \xpg__keyval_parser:eeN { #2 } { #1 } \l_xpg_curropt_prop
+ \SetGlossOptions{#1}{#2}
}
% Initialize default language options, so that
% \iflanguageoption has the info it needs also
% for default settings
-\newcommand*\xpg@initialize@gloss@options[2]{
- \__xpg_set_language_options:nnn {#1} {#2} {@xpg@set@langvariant}
-}
+\NewDocumentCommand \InitializeGlossOptions { m m }
+{
+ \tl_new:c { xpg_#1_default_options_tl }
+ \prop_new:c { xpg_#1_default_options_prop }
+ \keys_precompile:nec { polyglossia / gloss / #1 }
+ { \text_lowercase:n { #2, \xpg__tmp_default_options_tl } }
+ { xpg_#1_default_options_tl }
+ \xpg__keyval_parser:enc { #2, \xpg__tmp_default_options_tl } { #1 }
+ { xpg_#1_default_options_prop }
+ \prop_concat:ccc { l_xpg_curropt_prop } { l_xpg_curropt_prop }
+ { xpg_#1_default_options_prop }
+ \use:c { xpg_#1_default_options_tl }
+ \__xpg_set_language_options:nn {#1} {#2}
+}
+\tl_new:N \xpg__tmp_default_options_tl
+\cs_generate_variant:Nn \keys_precompile:nnN { nec }
% Record synonymous keyvals such as variant=us and variant=american
-% Syntax: \xpg@set@alias@values{<lang>}{<key>}{<val>}{<alias vals, comma-separated>}
-\newcommand*\xpg@set@alias@values[4]{%
- \prop_if_exist:cF { xpg@alias@keyvals@#1@#3 }
- { \prop_new:c {xpg@alias@keyvals@#1@#3} }
- \prop_put:cnn { xpg@alias@keyvals@#1@#3 }
- {#2}{#4}
- \prop_if_exist:cF { xpg@alias@keyvals@#1@#4 }
- { \prop_new:c {xpg@alias@keyvals@#1@#4} }
- \prop_put:cnn { xpg@alias@keyvals@#1@#4 }
- {#2}{#3}
-}
-
-% Patch xkeyval to record default values of keys
-\pretocmd{\XKV@define@default}{%
- \csgdef{xpg@default@opt@\XKV@header #1}{#2}
-}{}{\xpg@warning{Patching xkeyval failed!}}
-
-% Helper to get and register option keyvals
-\def\xpg@parsevariantkeyvalue#1=#2@#3:#4\relax{
- \def\@tmpa{#1}
- \def\@tmpb{variant}
- % variant values are stored in specific macros
- % (\xpg@main@langvariant, \xpg@other@langvariant
- % and \xpg@set@langvariant)
- \ifx\@tmpa\@tmpb\setkeys{#3}{#1=#2}\fi
- \tl_if_empty:nTF{#2}
- {
- \ifcsdef{xpg@default@opt@KV@#4@#1}
- {\xpg@store@opt@keyval#1:\csuse{xpg@default@opt@KV@#4@#1}=:#4\relax}
- {}%
- }
- { \xpg@store@opt@keyval#1:#2:#4\relax }
-}%
-
-% Store option keys and values
-% This strips trailing '=' from values.
-\def\xpg@store@opt@keyval#1:#2=:#3\relax{
- \prop_if_exist:cF { xpg@current@options@#3 }
- { \prop_new:c {xpg@current@options@#3} }
- \prop_put:cnn { xpg@current@options@#3 }
- {#1}{#2}
+% Syntax: \SetLanguageAliasValues{<lang>}{<key>}{<alias vals, comma-separated>}
+\int_new:N \l_xpg_alias_keyvals_int
+\int_set:Nn \l_xpg_alias_keyvals_int { 2 }
+\NewDocumentCommand \SetLanguageAliasValues { m m m }
+{
+ \clist_map_inline:nn { #3 }
+ {
+ \int_const:cn { c_xpg_alias_keyvals_#1_#2_##1_int } { \l_xpg_alias_keyvals_int }
+ }
+ \int_incr:N \l_xpg_alias_keyvals_int
}
+\cs_new:Npn \xpg__keyval_parser:nnN #1 #2 #3 % #1 = key-vals, #2 = language, #3 = prop
+ {
+ \keyval_parse:nnn
+ { \xpg__keyval_parser_default:nnn { #2 } { #3 } }
+ { \xpg__keyval_parser_nondefault:nnnn { #2 } { #3 } }
+ { #1 }
+ }
+\cs_generate_variant:Nn \xpg__keyval_parser:nnN { eeN, enc }
+
+\cs_new:Npn \xpg__keyval_parser_default:nnn #1 #2 #3 % #1 = lang, #2 = prop, #3 = key
+ {
+ \str_set:Nn \l_tempa_str { #1 / #3 }
+ \str_concat:NNN \l_tempa_str \c__keys_default_root_str \l_tempa_str
+ \prop_put:Nne #2 { #1 / #3 } { \use:c { \l_tempa_str } }
+ }
+
+\cs_new:Npn \xpg__keyval_parser_nondefault:nnnn #1 #2 #3 #4 % #1 = lang, #2 = prop, #3 = key, #4 = value
+ {
+ \prop_put:Nnn #2 { #1 / #3 } { #4 }
+ }
\prg_set_conditional:Npnn \__xpg_check_option_value:NNN #1#2#3 { p , T , F , TF }
-{
- \prop_get:cnNTF {xpg@current@options@#1} {#2} \l_tmpa_tl
- {
- \str_if_eq:eeTF{\l_tmpa_tl}{#3}
- {\prg_return_true:}
+ {
+ \bool_lazy_or:nnTF
+ {
+ \str_if_eq_p:ee { \prop_item:Nn \l_xpg_curropt_prop { #1 / #2 } } { #3 }
+ } {
+ \int_compare_p:nNn
{
- \prop_get:cnNTF {xpg@alias@keyvals@#1@#3} {#2} \l_tmpb_tl
- {
- \clist_set:Ne{\l_tmpa_clist}{\l_tmpb_tl}
- \providetoggle{xpgvalfound}
- \togglefalse{xpgvalfound}
- \clist_map_inline:Nn \l_tmpa_clist {
- \str_if_eq:eeT{##1}{\l_tmpa_tl}
- { \toggletrue{xpgvalfound} }
- }
- \iftoggle{xpgvalfound}{\prg_return_true:}{\prg_return_false:}
- }
- {
- \prg_return_false:
- }
- }
- }
- {
- \prg_return_false:
- }
+ \cs_if_exist_use:cF { c_xpg_alias_keyvals_#1_#2_#3_int } { 0 }
+ } = {
+ \cs_if_exist_use:cF { c_xpg_alias_keyvals_#1_#2_\prop_item:Nn \l_xpg_curropt_prop { #1 / #2 }_int } { 1 }
+ }
+ } { \prg_return_true: } { \prg_return_false: }
+ }
+
+\prg_set_conditional:Npnn \xpg_if_main_language:n #1 { T, F, TF }
+{
+ \str_if_eq:VnTF \xpg_main_language_tl { #1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
}
+\cs_set_eq:NN \IfMainLanguageTF \xpg_if_main_language:nTF
+
+\cs_set_eq:NN \IfMainLanguageT \xpg_if_main_language:nT
+
+\cs_set_eq:NN \IfMainLanguageF \xpg_if_main_language:nF
+
% Test if option value is set
\DeclareDocumentCommand \iflanguageoption { m m m m m }
{
\__xpg_check_option_value:NNNTF{#1}{#2}{#3}{#4}{#5}
}
-
-% Append any variant to csv list of variants
-\define@key{xpg@langvariant}{variant}{
- \clist_if_in:NeF \xpg@vloaded {#1}{
- \clist_gput_right:Ne \xpg@vloaded {#1}
- }
-}
-
% Test if language is loaded
\DeclareDocumentCommand \iflanguageloaded { m m m }
{
- \AddToHook{begindocument/end}{
+ \hook_gput_code:nnn {begindocument/end} {.}
+ {
\clist_if_in:NeTF \xpg@loaded{#1}{#2}{#3}
}
}
@@ -2070,7 +1941,8 @@
% Same for babellanguage is loaded
\DeclareDocumentCommand \ifbabellanguageloaded { m m m }
{
- \AddToHook{begindocument/end}{
+ \hook_gput_code:nnn {begindocument/end} {.}
+ {
\clist_if_in:NeTF \xpg@bloaded{#1}{#2}{#3}
}
}
@@ -2078,7 +1950,8 @@
% Same for languageid
\DeclareDocumentCommand \iflanguageidloaded { m m m m }
{
- \AddToHook{begindocument/end}{
+ \hook_gput_code:nnn {begindocument/end} {.}
+ {
\str_case:nnTF {#1}
{
{bcp-47} { \clist_if_in:NeTF \xpg@bcp@loaded{#2}{#3}{#4} }
@@ -2086,7 +1959,7 @@
}
{}
{
- \xpg@error{Invalid~ \string\iflanguageidloaded\space argument:~ #1}
+ \xpg_ill_arg_msg:nn { #1 } { \iflanguageidloaded }
}
}%
}
@@ -2116,53 +1989,46 @@
}
-\newcommand*{\xpg@set@language@nonaux}[2][]{
- \@select@language[#1]{#2}
+\cs_new_nopar:Nn \xpg_set_language_nonaux:nn
+{
+ \__xpg_start_language:nn { #1 } { #2 }
}
-\newcommand*{\xpg@set@language@aux}[2][]{
- % Store babelname of current language (for external packages such as biblatex)
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@gbabelname}{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }{
- \edef\babelname{\csuse{#2@gbabelname}}
- }
- }{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }
- % Store BCP-47 id of current language
- \__xpg_store_bcp_info:nn {#1}{#2}
- \@select@language[#1]{#2}
+\cs_new_nopar:Nn \xpg_set_language_aux:nn
+{
+ \__xpg_start_language:nn { #1 } { #2 }
% Write to the aux
- \xpg@set@language@only@aux[#1]{#2}
+ \xpg_set_language_only_aux:nn { #1 } { #2 }
}
-\newcommand*{\xpg@set@language@only@aux}[2][]{
+\cs_new_nopar:Nn \xpg_set_language_only_aux:nn
+{
% Write to the aux (toc files)
\if@filesw
\addtocontents{toc}{\selectlanguage*[#1]{#2}}
\fi
}
-\AtBeginDocument{
+\hook_gput_code:nnn {begindocument} {.}
+{
\if@filesw
- \immediate\write\@mainaux
- {\ProvideDocumentCommand\selectlanguage{sO{}m}{}}
+ \immediate\write\@mainaux
+ {\ProvideDocumentCommand\selectlanguage{sO{}m}{}}
\fi
}
% Since captions might float to other language regions,
% we need to change the language here (#542)
-\AddToHook{cmd/caption/before}{
+\hook_gput_code:nnn {cmd/caption/before} {.}
+{
\ifhmode\unskip\fi
\addtocontents{lof}{\protect\setforeignlanguage{\languagename}}
\addtocontents{lot}{\protect\setforeignlanguage{\languagename}}
}
% check if language is defined
-\prg_set_conditional:Npnn \__xpg_check_if_exist_l@:n #1 { F, TF }
+\prg_set_conditional:Npnn \__xpg_pattern_check_if_exists:n #1 { F, TF }
{
\bool_lazy_and:nnTF
{ \cs_if_exist_p:c { l@#1 } }
@@ -2171,82 +2037,125 @@
{ \prg_return_false: }
}
-\def\polyglossia@luatex@load@lang#1{
+\cs_new_nopar:Nn \__xpg_luatex_load_lang:n
+{
% if \l@#1 is not properly defined, call lua function newloader(#1),
% and assign the returned number to \l@#1
- \__xpg_check_if_exist_l@:nF {#1}
+ \__xpg_pattern_check_if_exists:nF {#1}
{
\directlua { token.set_char('l@#1', polyglossia.newloader'#1') }
}
}
-% This check is also used by biblatex, so don't
-% rename silently.
-\newcommand\xpg@ifdefined[3]{
+% check if language is defined
+\prg_set_conditional:Npnn \xpg_if_language_defined:n #1 { T, F, TF }
+{
% With luatex, we first need to define \l@#1.
\sys_if_engine_luatex:T
{
- \polyglossia@luatex@load@lang{#1}
+ \__xpg_luatex_load_lang:n {#1}
}
- \__xpg_check_if_exist_l@:nTF{#1}{#2}{#3}
+ \__xpg_pattern_check_if_exists:nTF{#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+}
+
+% Aliases for gloss files
+\cs_gset_eq:cc { IfLanguageDefinedTF } { xpg_if_language_defined:nTF }
+\cs_gset_eq:cc { IfLanguageDefinedT } { xpg_if_language_defined:nT }
+\cs_gset_eq:cc { IfLanguageDefinedF } { xpg_if_language_defined:nF }
+
+% Check if patterns for language #1 is defined. If not, try
+% the comma-separated list of fallbacks in #2
+\NewDocumentCommand \TryPatternWithFallback { m m }
+{
+ \xpg_if_language_defined:nF { #1 }
+ {
+ \clist_clear_new:N \l_xpg_lang_patterns
+ \clist_set:Ne \l_xpg_lang_patterns { #2 }
+ \bool_set_false:N \l_tmpa_bool
+ \clist_map_inline:Nn \l_xpg_lang_patterns
+ {
+ \xpg_if_language_defined:nT { ##1 }
+ {
+ \cs_gset_eq:cc { l@#1 } { l@##1 }
+ \bool_set_true:N \l_tmpa_bool
+ \clist_map_break:
+ }
+ }
+ \bool_if:NF \l_tmpa_bool
+ {
+ \xpg_warning_msg:n
+ {No~ hyphenation~ patterns~ for~ #1~ found \iow_newline:
+ Falling~ back~ to~ the~ default~ patterns~ (=~English)!}
+ \exp_args:Nc \adddialect {l@#1} 0
+ }
+ }
}
+% This old term is used by biblatex, so don't drop!
+\cs_gset_eq:cc { xpg@ifdefined } { xpg_if_language_defined:nTF }
+
% Set \bbl@hyphendata@\the\language, which is (lua)babel's
% hyphenation pattern hook
% FIXME Clarifiy why/when this is needed.
-\newcommand*\xpg@set@bbl@hyphendata[1]{
+\cs_new:Nn \xpg_set_bbl_hyphendata:n
+{
\sys_if_engine_luatex:T
{
- \ifcsdef{bbl@hyphendata@#1}{}{
- \global\@namedef{bbl@hyphendata@\the\language}{}
+ \cs_if_exist:cF {bbl@hyphendata@#1}
+ {
+ \cs_gset:cpn {bbl@hyphendata@\the\language} {}
}
}
}
% Set hyphenation patterns for a given language. This does the right
% thing both for XeTeX and LuaTeX
-\newcommand*\xpg@set@hyphenation@patterns[1]{
- \sys_if_engine_luatex:T { \polyglossia@luatex@load@lang{#1} }
+\cs_new:Nn \xpg_set_hyphenation_patterns:n
+{
+ \sys_if_engine_luatex:T { \__xpg_luatex_load_lang:n {#1} }
\language=\csname l@#1\endcsname
}
-\newcommand*\@select@language[2][]{
+\cs_new:Nn \__xpg_start_language:nn
+{
% hook for compatibility with biblatex
- \select@language{#2}
- \xpg@set@bbl@hyphendata{\the\language}
+ \select@language { #2 }
+ \xpg_set_bbl_hyphendata:n {\the\language}
\xpg_initial_setup:
- \select@@language[#1]{#2}%
+ \xpg_select_language:nn { #1 } { #2 }
% Hook for external packages such as biblatex
- \polyglossia@language@switched%
- \__xpg_lang_set_par_direction:n{#2}
- \csuse{captions#2}%
- \csuse{date#2}%
+ \polyglossia@language@switched
+ \__xpg_lang_set_par_direction:n {#2}
+ \use:c {captions#2}
+ \use:c {date#2}
% These are hooks for external packages which want to access variants
% via babelname (such as biblatex)
- \cs_if_exist_use:c{captions@bbl@\babelname}
- \cs_if_exist_use:c{date@bbl@\babelname}
- \__xpg_local_marks:n{#2}
- \csuse{init@extras@#2}%
+ \cs_if_exist_use:c {captions@bbl@\babelname}
+ \cs_if_exist_use:c {date@bbl@\babelname}
+ \__xpg_local_marks:n {#2}
+ \use:c {init@extras@#2}
\__xpg_indent_first:n { #2 }
- \csuse{blockextras@#2}%
+ \cs_if_exist_use:c {blockextras@#2}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
- \cs_if_exist_use:c{blockextras@bbl@\babelname}
- }
+ \cs_if_exist_use:c {blockextras@bbl@\babelname}
+}
% hook for compatibility with biblatex
% (probably no longer used due to the
% more general hook that follows, but
% we keep it for backwards comp.)
-\def\select@language#1{}
+\cs_set:Npn \select@language #1 {}
% Hook for external packages such as biblatex
% do not rename!
-\def\polyglossia@language@switched{}
+\cs_new:Npn \polyglossia@language@switched {}
-% remove all custumization for language #1
+% remove all customization for language #1
\cs_new:Npn \noextrascurrent #1
-{%
+{
\cs_if_exist_use:c{noextras@#1}%
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
@@ -2254,160 +2163,105 @@
}
% Common code for `\select@language' and `\foreignlanguage'.
-\newcommand{\select@@language}[2][]{%
+\cs_new:Nn \xpg_select_language:nn
+{
% disable the extras and number settings of the previous language
\cs_if_exist:cT{languagename}
{
\noextrascurrent{\languagename}
\cs_if_exist_use:c{no\languagename @numbers}
\sys_if_engine_xetex:T{
- \__xpg_if_LR_str:eTF{\prop_item:Ne{\g_xpg_langsetup_prop}{\languagename/direction}}
+ \__xpg_if_LR_str:eTF{\prop_item:Ne{\l_xpg_langsetup_prop}{\languagename/direction}}
{
- \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}}
+ \__xpg_if_LR_str:eF{\prop_item:Nn{\l_xpg_langsetup_prop}{#2/direction}}
{\setnonlatin} % LTR -> RTL
}
{
- \__xpg_if_LR_str:eT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}}
+ \__xpg_if_LR_str:eT{\prop_item:Nn{\l_xpg_langsetup_prop}{#2/direction}}
{\setlatin} % RTL -> LTR
}
}
}
- \polyglossia@set@language@name[#1]{#2}
- % Set the language's/script's font families
- \str_if_eq:eeT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/lcscript}} {latin}
- {
- \resetfontlatin
- }
- \bool_if:NF \l__xpg_inline_lang_bool
- { % This for non-inline font switches
- % in case a \<lang>font is defined
- \xpg@set@normalfont{#2}
- }
- \xpg@select@fontfamily{#2}
+ \xpg_set_language_name:n { #2 }
+ \xpg_set_normalfont:n { #2 }
+ \xpg_select_fontfamily:n { #2 }
\__xpg_use_or_warn:c{#2@language}
\cs_if_exist_use:c{#2@numbers}
- \use@localhyphenmins[#1]{#2}
+ \__xpg_use_localhyphenmins:nn { #1 } { #2 }
\__xpg_french_spacing:n { #2 }
}
-\let\xpg@pop@language\relax
+\cs_undefine:N \xpg_pop_language:
-%
-% Keep track of the active (nested) languages and options
-%
-\clist_new:N \l_xpg_lang_stack
-
-\cs_new:Nn \__xpg_stack_language:nn
-{
- \clist_gpush:Nn \l_xpg_lang_stack {#1:#2}
-}
+\DeclareDocumentEnvironment { otherlanguage } { O{} m }
+ {
+ \selectlanguage[#1]{#2}
+ } { }
-\cs_generate_variant:Nn \__xpg_stack_language:nn {nx}
+% Alias to {<lang>}, but more suitable
+% for specific (esp. tag-based) aliases
+% where {<alias>} would cause clashes
+% (e.g., \fi)
+\DeclareEnvironmentCopy { lang } { otherlanguage }
-\cs_new:Nn \__xpg_unstack_language:n
+\NewDocumentCommand \setlocalhyphenmins { m m m }
{
- \clist_gpop:NNTF \l_xpg_lang_stack \l_tmpa_tl {
- % Stored format = options:language => split:
- \seq_set_split:Nne \l_tmpa_seq {:} \l_tmpa_tl
- \seq_get_left:NN \l_tmpa_seq \l_tmpb_tl
- \seq_get_right:NN \l_tmpa_seq \l_tmpc_tl
- % Execute passed command with language and maybe options
- % and re-set stored language's keys
- \tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
- {\__xpg_set_keys:nn{\l_tmpc_tl}{\l_tmpb_tl}
- \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
- }
- }
- {}
-}
-
-\DeclareDocumentEnvironment { otherlanguage } { O{} m }
- {
- % Get real current (pre-switch) options (incl. defaults)
- \clist_clear_new:N \l_xpg_current_options
- \prop_if_exist:cF { xpg@current@options@\languagename }
- { \prop_new:c {xpg@current@options@\languagename} }
- \prop_map_inline:cn {xpg@current@options@\languagename}
+ \xpg_if_language_defined:nTF{#1}
+ {
+ \cs_if_eq:ccTF { l@#1 } { l@nohyphenation }
{
- \clist_put_right:Nn \l_xpg_current_options {##1=##2}
+ \xpg_warning_msg:n {\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}
+ }{
+ \providehyphenmins{#1}{#2#3}
}
- % Store current (pre-switch) options and language on stack
- \__xpg_stack_language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}
- \selectlanguage[#1]{#2}
- }
- {
- % restore previous language in aux file and remove closed one from stack
- \__xpg_unstack_language:n{xpg@set@language@only@aux}
- }
-
-\newcommand{\setlocalhyphenmins}[3]{
- \xpg@ifdefined{#1}{
- \expandafter\ifx\csname l@#1\endcsname\l@nohyphenation
- \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}
- \else
- \providehyphenmins{#1}{#2#3}
- \fi
}{
- \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}
+ \xpg_warning_msg:n {\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}
}
}
% \setlanghyphenmins[options]{lang}{l}{r}
-\newcommand*\setlanghyphenmins[4][]{%
+\NewDocumentCommand \setlanghyphenmins { O{} m m m }
+{
% Check for real language name and options
- \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}}
- \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
- \bgroup
- \xpg_error_if_lang_not_loaded:n{\xpg@tmp@lang}
- \__xpg_set_keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts}
+ \tl_set:Nx \l_tmp_opts_tl { \xpg_alias_add_to_option_i:nn{#2}{#1} }
+ \tl_set:Nx \l_tmp_lang_tl { \xpg_alias_base_lang:n{#2} }
+ \c_group_begin_token
+ \xpg_error_if_lang_not_loaded:n{\l_tmp_lang_tl}
+ \SetGlossOptions{\l_tmp_lang_tl}{ \l_tmp_opts_tl }
% Store bcp47.tag@hypenmins
- \tl_if_blank:nTF {\xpg@tmp@opts}{%
- \ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{
- \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }}
- }{
- \csedef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}}
- }
- }{
- \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }}
- }
- \csgdef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{{#3}{#4}}
- \egroup
+ \cs_set_nopar:cpe {tmp@bcp47.tag} { \prop_item:Ne{\l_xpg_langsetup_prop}{ \l_tmp_lang_tl / bcp47 } }
+ \cs_gset:cpn {\csname tmp@bcp47.tag\endcsname @hyphenmins} {{#3}{#4}}
+ \c_group_end_token
}
-% \use@localhypenmins[options]{lang}
-\newcommand*\use@localhyphenmins[2][]{
- \bgroup
- \xpg_error_if_lang_not_loaded:n{#2}
- \__xpg_set_keys:nn{#2}{#1}
+% \__xpg_use_localhyphenmins:nn {options}{lang}
+\cs_new_nopar:Nn \__xpg_use_localhyphenmins:nn
+{
+ \c_group_begin_token
+ \xpg_error_if_lang_not_loaded:n {#2}
+ \SetGlossOptions {#2} {#1}
% Use bcp47.tag@hypenmins
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@g.bcp47.tag}{
- \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }}
- }{
- \csxdef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}}
- }
- }{
- \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }}
- }
- \egroup
- \ifcsundef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{
- \ifcsundef{#2hyphenmins}{}
+ \cs_gset_nopar:cpe {tmp@bcp47.tag} { \prop_item:Nn{\l_xpg_langsetup_prop}{ #2 / bcp47 } }
+ \c_group_end_token
+ \cs_if_exist:cTF {\csname tmp@bcp47.tag\endcsname @hyphenmins}
+ {
+ \tl_set:Ne \l_tmpa_tl { \use:c{\csname tmp@bcp47.tag\endcsname @hyphenmins} }
+ \expandafter \set@hyphenmins \l_tmpa_tl
+ }{
+ \cs_if_exist:cT{#2hyphenmins}
{
\expandafter\expandafter\expandafter\set@hyphenmins\csname #2hyphenmins\endcsname\relax
}
- }{
- \edef\tmpa{\csuse{\csname tmp@bcp47.tag\endcsname @hyphenmins}}
- \expandafter\expandafter\expandafter\set@hyphenmins\tmpa\relax
}
- \sys_if_engine_luatex:T{
+ \sys_if_engine_luatex:T
+ {
% Set \totalhyphenmin if specified
- \prop_get:NeNTF \g_xpg_langsetup_prop {#2/totalhyphenmin} \l_tmpa_tl
+ \prop_get:NeNT \l_xpg_langsetup_prop {#2/totalhyphenmin} \l_tmpb_tl
{
- \xpg@info{totalhyphenmin: '\l_tmpa_tl'}
- \expandafter\hyphenationmin \l_tmpa_tl
+ \xpg_info_msg:n {totalhyphenmin: '\l_tmpb_tl'}
+ \expandafter\hyphenationmin \l_tmpb_tl
}
- {}
}
}
@@ -2419,23 +2273,26 @@
\DeclareDocumentEnvironment { hyphenrules } { O{} m }
{
% Check for real language name and options
- \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}}
- \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
+ \tl_set:Nx \l_tmp_opts_tl { \xpg_alias_add_to_option_i:nn{#2}{#1} }
+ \tl_set:Nx \l_tmp_lang_tl { \xpg_alias_base_lang:n{#2} }
% Register the language options
- \__xpg_set_language_options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant}
+ \__xpg_set_language_options:nn { \l_tmp_lang_tl } { \l_tmp_opts_tl }
% Now switch patterns
- \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language}
+ \__xpg_use_or_warn:c{\use:c{l_tmp_lang_tl}@language}
% And activate hyphenmins
- \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang}
+ \__xpg_use_localhyphenmins:nn { \l_tmp_opts_tl } { \l_tmp_lang_tl }
}
{ }
-\AddToHook{begindocument/before}{
- \IfPackageLoadedTF{bidi}{
- \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}
+\hook_gput_code:nnn {begindocument/before} {.}
+{
+ \IfPackageLoadedTF{bidi}
+ {
+ \ProvideDocumentCommand \aemph { m } { $\overline{\hboxR{#1}}$ }
}{}
- \IfPackageLoadedTF{luabidi}{
- \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$}
+ \IfPackageLoadedTF{luabidi}
+ {
+ \ProvideDocumentCommand \aemph { m } { $\overline{\hbox{\RL{#1}}}$ }
}{}
}
@@ -2469,7 +2326,8 @@
.value_required:n = true,
}
-\keys_set:nn { polyglossia } {
+\keys_set:nn { polyglossia }
+{
localmarks = false,
verbose = true,
babelshorthands = false,
@@ -2486,23 +2344,35 @@
\sys_if_engine_luatex:T{
\str_if_eq:eeF{\g_xpg_luatex_renderer_str}{none}
{
- \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \g_xpg_luatex_renderer_str}
+ \xpg_info_msg:n{Setting~ LuaTeX~ font~ renderer~ to~ \g_xpg_luatex_renderer_str}
\exp_args:Ne \defaultfontfeatures{Renderer=\g_xpg_luatex_renderer_str}
}
}
-\bool_if:nF \g_xpg_verbose_bool {
- \gdef\@latex@info#1{\relax} % no latex info
- \gdef\@font@info#1{\relax} % no latex font info
- \gdef\@font@warning#1{\relax} % no latex font warnings
- \gdef\zf@PackageInfo#1{\relax} % no fontspec info
- \gdef\xpg@info#1{\relax} % no polyglossia info
+\bool_if:nF \g_xpg_verbose_bool
+{
+ \cs_gset_nopar:Npn \@latex@info #1 { \relax } % no latex info
+ \cs_gset_nopar:Npn \@font@info #1 { \relax } % no latex font info
+ \cs_gset_nopar:Npn \@font@warning #1 { \relax } % no latex font warnings
+ \msg_redirect_module:nnn { fontspec } { info } { none } % no fontspec info
+ \msg_redirect_module:nnn { polyglossia } { info } { none } % no polyglossia info
}
\bool_if:nT \g_xpg_localmarks_bool {
\__xpg_enable_local_marks:
}
+% common code to initiate babelshordhands in glosses
+\cs_new:Npn \InitializeBabelShorthands
+{
+ \cs_if_exist:cF {initiate@active@char}
+ {
+ \file_input:n {babelsh.def}
+ \initiate@active@char{"}
+ \shorthandoff{"}
+ }
+}
+
% Control shorthand (de-)activation
% This checks that the shorthand char is only deactivated
% if we have activated it ourselves and hence keeps
@@ -2530,21 +2400,22 @@
% Inherit shorthands in other languages
\NewDocumentCommand \inheritbabelshorthands { m m }
{
- \AddToHook{begindocument/before}{
+ \hook_gput_code:nnn {begindocument/before} {.}
+ {
% Load the involved languages if necessary
% Error if they do not exist
\tl_set:Nn \l__xpg_tmpa_lang_tl { \xpg_alias_base_lang:n{#1} }
\clist_if_in:NeF \xpg@loaded {\l__xpg_tmpa_lang_tl}{
\file_if_exist:nTF{gloss-\l__xpg_tmpa_lang_tl .ldf}
{ \setotherlanguage{#1} }
- { \xpg@error{ Source~ language~ #1,~ used~ in~
+ { \xpg_error_msg:n { Source~ language~ #1,~ used~ in~
\string\inheritbabelshorthands,~ does~ not~ exist } }
}
\tl_set:Nn \l__xpg_tmpb_lang_tl { \xpg_alias_base_lang:n{#2} }
\clist_if_in:NeF \xpg@loaded {\l__xpg_tmpb_lang_tl}{
\file_if_exist:nTF{gloss-\l__xpg_tmpb_lang_tl .ldf}
{ \setotherlanguage{#2} }
- { \xpg@error{ Target~ language~ #2,~ used~ in~
+ { \xpg_error_msg:n { Target~ language~ #2,~ used~ in~
\string\inheritbabelshorthands,~ does~ not~ exist } }
}
% Test whether the requested shorthands exist
@@ -2556,7 +2427,7 @@
{ \bool_set_true:N \l__xpg_no_shorthands_bool }
\bool_if:nT { \l__xpg_no_shorthands_bool }
{
- \xpg@error{ No~ babel~ shorthands~ exist~ for~ language~ #1 }
+ \xpg_error_msg:n { No~ babel~ shorthands~ exist~ for~ language~ #1 }
}
% If so, apply:
\bool_if:nF { \l__xpg_no_shorthands_bool }
@@ -2581,7 +2452,7 @@
\iflanguageloaded{\l__xpg_tmpa_lang_tl}{
\use:c{\l__xpg_tmpa_lang_tl @shorthands}
}{
- \xpg@error{ Language~ #1,~ requested~ in~
+ \xpg_error_msg:n { Language~ #1,~ requested~ in~
\string\startbabelshorthands,~ is~ not~ loaded }
}
}
diff --git a/Master/texmf-dist/tex/latex/preview/prauctex.cfg b/Master/texmf-dist/tex/latex/preview/prauctex.cfg
index 39922c989a8..f9273829b11 100644
--- a/Master/texmf-dist/tex/latex/preview/prauctex.cfg
+++ b/Master/texmf-dist/tex/latex/preview/prauctex.cfg
@@ -26,11 +26,17 @@
\PreviewMacro*[?[{@{[]}}{}][#1]\item
\PreviewMacro*\emph
\PreviewMacro*\textrm
+\PreviewMacro*\textbf
\PreviewMacro*\textit
\PreviewMacro*\textsc
\PreviewMacro*\textsf
\PreviewMacro*\textsl
\PreviewMacro*\texttt
+\PreviewMacro*\textulc
+\PreviewMacro*\textmd
+\PreviewMacro*\textnormal
+\PreviewMacro*\textup
+\PreviewMacro*\textsw
\PreviewMacro*\textcolor
\PreviewMacro*\mbox
\PreviewMacro*[][#1{}]\author
diff --git a/Master/texmf-dist/tex/latex/preview/preview.sty b/Master/texmf-dist/tex/latex/preview/preview.sty
index 1002230ffb0..39895bea005 100644
--- a/Master/texmf-dist/tex/latex/preview/preview.sty
+++ b/Master/texmf-dist/tex/latex/preview/preview.sty
@@ -24,8 +24,8 @@
%% The preview style for extracting previews from LaTeX documents.
%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
\NeedsTeXFormat{LaTeX2e}
-\def\pr@version{13.3}
-\def\pr@date{2024/01/17}
+\def\pr@version{14.0.6}
+\def\pr@date{2024/06/30}
\ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)]
\let\ifPreview\iffalse
\let\preview@delay=\@gobble
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex b/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex
new file mode 100644
index 00000000000..4113ae9a278
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex
@@ -0,0 +1,543 @@
+%%%
+% Arbre de calculs
+%%%
+\newtoks\toklistearbre%
+\newtoks\toklistearbrefractions%
+\newtoks\toklistearbreexpressions%
+
+\def\UpdatetoksArbreCalcul#1\nil{\IfDecimal{#1}{\addtotok\toklistearbre{#1,}}{\addtotok\toklistearbre{"#1",}}}%
+\def\UpdatetoksArbreFractions#1\nil{\addtotok\toklistearbrefractions{"#1",}}%
+\def\UpdatetoksArbreExpressions#1\nil{\addtotok\toklistearbreexpressions{"#1",}}%
+
+\setKVdefault[ArbreCalcul]{Correction=false,Couleur=LightSteelBlue,Substitue=7,Litteral=false,Largeur=8mm,LargeurC=8mm,Ecart=1.5cm,Hauteur=10mm,Lettre="x",CouleurDepart=LightGreen,Fractions=false,Nombres={},Expressions={},Etape=infinity}%
+\defKV[ArbreCalcul]{Fraction=\setKV[ArbreCalcul]{Fractions}}%
+
+\NewDocumentCommand\ArbreCalcul{om}{%
+ \useKVdefault[ArbreCalcul]%
+ \setKV[ArbreCalcul]{#1}%
+ \toklistearbre{}%
+ \toklistearbrefractions{}%
+ \toklistearbreexpressions{}%
+ \infixtoRPN{#2}%
+ \setsepchar{ }\ignoreemptyitems%
+ \readlist*\ListeNombres{\RPN}%
+ \reademptyitems%
+ \foreachitem\compteur\in\ListeNombres{\expandafter\UpdatetoksArbreCalcul\compteur\nil}%
+ \ifboolKV[ArbreCalcul]{Fractions}{%
+ \xdef\Foo{\useKV[ArbreCalcul]{Nombres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFractions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeFractions{\expandafter\UpdatetoksArbreFractions\compteur\nil}%
+ \BuildArbreCalculFraction{\the\toklistearbre}{\the\toklistearbrefractions}%
+ }{%
+ \ifboolKV[ArbreCalcul]{Litteral}{
+ \xdef\Foo{\useKV[ArbreCalcul]{Nombres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFractions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeFractions{\expandafter\UpdatetoksArbreFractions\compteur\nil}%
+ \xdef\Foo{\useKV[ArbreCalcul]{Expressions}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeExpressions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeExpressions{\expandafter\UpdatetoksArbreExpressions\compteur\nil}%
+% listarbre : \the\toklistearbre%
+%
+% listfracions : \the\toklistearbrefractions
+%
+% listexpressions : \the\toklistearbreexpressions
+ \BuildArbreCalculLitteral{\the\toklistearbre}{\the\toklistearbrefractions}{\the\toklistearbreexpressions}%
+ }{%
+ \BuildArbreCalcul{\the\toklistearbre}%
+ }%
+ }%
+}%
+
+\NewDocumentCommand\BuildArbreCalcul{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Litteral,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+ Litteral=\useKV[ArbreCalcul]{Litteral};
+
+ NombreSubstitue=\useKV[ArbreCalcul]{Substitue};
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled 5mm;
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled 5mm;
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-0.75);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$"),Bc);
+ ValeurPile[numeropoint-1]:=cha*chb;
+ elseif op="add":
+ label(TEX("$+$"),Bc);
+ ValeurPile[numeropoint-1]:=cha+chb;
+ elseif op="sub":
+ label(TEX("$\_$"),Bc);
+ ValeurPile[numeropoint-1]:=cha-chb;
+ elseif op="div":
+ label(TEX("$\div$"),Bc);
+ ValeurPile[numeropoint-1]:=cha/chb;
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("\num{"&decimal(ValeurPile[numeropoint-1])&"}"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ numeric Valeursa[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ numeric ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]=0;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[k]:=NombreSubstitue else: Valeursa[k]=Valeurs[k] fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart; if Litteral:
+ label(TEX("$\useKV[ArbreCalcul]{Lettre}$"),A[numeropoint]);
+ else:
+ label(TEX("\num{"&decimal(-Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(-Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=-Valeursa[k];
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;if Litteral:
+ label(TEX("$\useKV[ArbreCalcul]{Lettre}$"),A[numeropoint]);
+ else:
+ label(TEX("\num{"&decimal(Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[k];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildArbreCalculFraction{mm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+
+ string Fraction;
+ Fraction=\useKV[ArbreCalcul]{Fraction};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled \useKV[ArbreCalcul]{Hauteur};
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled \useKV[ArbreCalcul]{Hauteur};
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-1.25);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$\MulFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatMul]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatMul";
+ elseif op="add":
+ label(TEX("$+$\AddFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatAdd]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatAdd";
+ elseif op="sub":
+ label(TEX("$\_$\SousFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatSous]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatSous";
+ elseif op="div":
+ label(TEX("$\div$\DivFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatDiv]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatDiv";
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("$\displaystyle\tofrac{"&ValeurPile[numeropoint-1]&"}$"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ string Valeursa[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ string ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]="0";
+ endfor;
+ enddef;
+
+ vardef RecupFractions(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursa[n]=p_;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+ RecupFractions(#2);
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[Valeurs[k]]:=\useKV[ArbreCalcul]{Fraction} fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$\displaystyle\tofrac{"&-Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ else:
+ label(TEX("$\displaystyle\tofrac{"&-Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=decimal(-Valeursa[Valeurs[k]]);
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$\displaystyle\tofrac{"&Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ else:
+ label(TEX("$\displaystyle\tofrac{"&Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[Valeurs[k]];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildArbreCalculLitteral{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled \useKV[ArbreCalcul]{Hauteur};
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled \useKV[ArbreCalcul]{Hauteur};
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-1.25);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="add":
+ label(TEX("$+$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="sub":
+ label(TEX("$\_$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="div":
+ label(TEX("$\div$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("$"&Valeursc[etape]&"$"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ string Valeursa[];
+ string Valeursc[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ string ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]="0";
+ endfor;
+ enddef;
+
+ vardef RecupFractions(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursa[n]=p_;
+ endfor;
+ enddef;
+
+ vardef RecupCorrections(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursc[n]=p_;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+ RecupFractions(#2);
+ RecupCorrections(#3);
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[Valeurs[k]]:=\useKV[ArbreCalcul]{Lettre} fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$"&-Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ else:
+ label(TEX("$"&-Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=decimal(-Valeursa[Valeurs[k]]);
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$"&Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ else:
+ label(TEX("$"&Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[Valeurs[k]];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex
index fdf037ef818..e3660cff1e1 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex
@@ -1,4 +1,4 @@
-\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false}%
+\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false,Seul=false}%
\defKV[CalculsFractions]{Couleur=\setKV[CalculsFractions]{Couleurs}\setKV[ClesSimplification]{Couleur=#1}}%
\NewDocumentCommand\tofrac{m}{%
@@ -50,7 +50,7 @@
\xdef\PfCNumD{1}%
}{%
\StrCut{#5}{/}\PfCNumC\PfCNumD%
- }
+ }%
\xdef\PfCAddFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}%
\setsepchar[*]{,*/}\ignoreemptyitems%
\readlist*\ListeFractions{\PfCAddFoo}%
@@ -69,6 +69,7 @@
\xdef\PfCAddDenoSimp{\fpeval{\PfCAddDenoFin/\PfCAddPgcd}}%
\xdef\PfCAddSumSimp{\PfCAddNumSimp/\PfCAddDenoSimp}%
\IfValueT{#6}{\xdef#6{\PfCAddSumSimp}}%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
% Partie affichage
\ensuremath{%
\IfValueTF{#3}{%
@@ -103,6 +104,7 @@
}{\tofrac{#4}\PfCFractionOp\tofrac{#5}
}%
}%
+ }%
}%
\NewDocumentCommand\SousFraction{oommo}{%
@@ -127,17 +129,18 @@
\xdef\PfCMulFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}%
\setsepchar[*]{,*/}\ignoreemptyitems%
\readlist*\ListeFractions{\PfCMulFoo}%
- \reademptyitems
+ \reademptyitems%
\setsepchar{,}%
% Calculs
- \xdef\PfCMulNumFin{\fpeval{(\ListeFractions[1,1])*(\ListeFractions[2,1])}}
- \xdef\PfCMulDenoFin{\fpeval{\ListeFractions[1,2]*\ListeFractions[2,2]}}
+ \xdef\PfCMulNumFin{\fpeval{(\ListeFractions[1,1])*(\ListeFractions[2,1])}}%
+ \xdef\PfCMulDenoFin{\fpeval{\ListeFractions[1,2]*\ListeFractions[2,2]}}%
\PGCD{\fpeval{abs(\PfCMulNumFin)}}{\fpeval{abs(\PfCMulDenoFin)}}\xdef\PfCMulPgcd{\pgcd}%
\xdef\PfCMulNumSimp{\fpeval{\PfCMulNumFin/\PfCMulPgcd}}%
\xdef\PfCMulDenoSimp{\fpeval{\PfCMulDenoFin/\PfCMulPgcd}}%
\xdef\PfCMulPdtSimp{\PfCMulNumSimp/\PfCMulDenoSimp}%
\IfValueT{#5}{\xdef#5{\PfCMulPdtSimp}}%
- \ensuremath{%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
+ \ensuremath{%
\IfValueTF{#2}{%
\ifnum#2=3\relax
\ifboolKV[CalculsFractions]{Negatif}{%
@@ -154,7 +157,8 @@
\fi
\fi
}{\tofrac{#3}\times\tofrac{#4}
- }
+ }%
+ }%
}%
}%
@@ -186,6 +190,7 @@
\xdef\PfCDivDenoSimp{\fpeval{\PfCDivDenoFin/\PfCDivPgcd}}%
\xdef\PfCDivPdtSimp{\PfCDivNumSimp/\PfCDivDenoSimp}%
\IfValueT{#5}{\xdef#5{\PfCDivPdtSimp}}%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
\ensuremath{%
\IfValueTF{#2}{%
\ifnum#2=4\relax
@@ -207,4 +212,5 @@
}{\tofrac{#3}\div\tofrac{#4}
}
}%
+ }%
}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex
index 2b5ef28fbc2..e23001bbcca 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex
@@ -1,7 +1,7 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1}
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1,Maillage=false}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
@@ -13,8 +13,8 @@
\useKVdefault[Cartographie]%
\setKV[Cartographie]{#1}%
\mplibforcehmode%
+ \mplibnumbersystem{double}%
\ifboolKV[Cartographie]{Projection}{%
- \mplibnumbersystem{double}%
\begin{mplibcode}
input PfCMonde;
string arborescence;
@@ -217,9 +217,8 @@
Villes(\useKV[Cartographie]{VillesI});
fi;
\end{mplibcode}
- \mplibnumbersystem{scaled}%
}{%
-% \mplibforcehmode
+ % \mplibforcehmode
\begin{mplibcode}
input PfCMonde;
@@ -253,9 +252,11 @@
fi;
else:
couleurfond:=\useKV[Cartographie]{CouleurFond};
+ color couleurimpression;
+ couleurimpression:=Cornsilk;
if Impression:
noncolore:=true;
- payscolor:=0.85white;
+ payscolor:=couleurimpression;%0.85white
couleurfond:=white;
couleurfleuve:=couleurfond;
fi;
@@ -314,8 +315,7 @@
elseif t=8:lrt
fi
enddef;
-
-
+
if Carte:
Echelle:=\useKV[Cartographie]{AfficheEchelle};
figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
@@ -365,11 +365,53 @@
fi;
else:
- draw(0,0)--(50,50);
- mappemonde(#2,#3);
+ boolean maillagecoord;
+ maillagecoord=\useKV[Cartographie]{Maillage};
+ if VillesSupI:
+ lacs:=false;
+ fi;
+
+ mappemonde(#2,#3);
+
+ vardef Villes(text t)=
+ pair CoordVille;
+ string NomVille;
+ n:=0;
+ for p_:=t:
+ n:=n+1;
+ if n=1:
+ %nblec:=p;
+ else:
+ if pair p_:
+ CoordVille:=Projgeo(rayon*(cosd(ypart(p_))*cosd(xpart(p_)),cosd(ypart(p_))*sind(xpart(p_)),sind(ypart(p_))));
+ elseif string p_:
+ NomVille:=p_;
+ else:
+ marque_p:="croix";
+ pointe(CoordVille);
+ label.position(p_)(TEX(""&NomVille&""),CoordVille);
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ enddef;
+
+
+ if Codes:
+ \useKV[Cartographie]{Traces};
+ fi;
+ if VillesSupI:
+ Villes(\useKV[Cartographie]{VillesI});
+ label.ulft(TEX("\tiny\ang{0}"),Projgeo(rayon*(1,0,0)));
+ label.ulft(TEX("\tiny\ang{10}"),Projgeo(rayon*(cosd(10),0,sind(10))));
+ fill (fullcircle scaled 0.75mm) shifted Projgeo(rayon*(cosd(10),0,sind(10)));
+ label.llft(TEX("\tiny\ang{10}"),Projgeo(rayon*(cosd(10),sind(10),0)));
+ fill (fullcircle scaled 0.75mm) shifted Projgeo(rayon*(cosd(10),sind(10),0));
+ fi;
fi;
\end{mplibcode}
}
+ \mplibnumbersystem{scaled}%
\else
\PackageWarning{ProfCollege}{"La commande Cartographie n'est compatible qu'avec LuaLaTeX."}
\fi
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex
index 6fc7a945935..f39b93ea469 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex
@@ -1,7 +1,7 @@
%%%
% QCM
%%%
-\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false}%
+\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false,ACompleter=false}%
\newlength{\LargeurQCM}%
\newlength{\PfCLargeurQCM}%
\newcounter{QuestionQCM}%
@@ -12,6 +12,8 @@
\setcounter{TotalQCMSeul}{0}%
\setcounter{TotalQCMSeulSol}{0}%
%
+\def\PfCTexteReponseEleve{Ma réponse}%
+%
\setKVdefault[QCMSeul]{Melange=false,Solution=false,EnColonne=false,LabelLettre=false}%
\defKV[QCMSeul]{Colonnes=\setKV[QCMSeul]{EnColonne}}%
%
@@ -90,150 +92,162 @@
%
\ifdef{\QCM}{%
\PackageWarning{ProfCollege}{La commande \noexpand\QCM étant définie par la classe du document, ProfCollege modifie sa commande \noexpand\QCM en \noexpand\QCMPfC.}%
- \newcommand\QCMPfC[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \ifboolKV[ClesQCM]{Seul}{%
- \QCMSeul[#1]{#2}%
+\newcommand\QCMPfC[2][]{%
+ \useKVdefault[ClesQCM]%
+ \setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{Seul}{%
+ \QCMSeul[#1]{#2}%
+ }{%
+ \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \setcounter{TitreQCM}{0}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
+ \ifboolKV[ClesQCM]{Multiple}{%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
+ \setsepchar[*]{/}%
+ \readlist*\ListeNomsMul{\ListeNom}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ \cline{2-\NBcases}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ListeNomsMul[##2]}%
+ \\
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
+ }%
+ \hline%
+ \end{tabular}%
+ \renewcommand{\arraystretch}{1}%
}{%
- \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
+ \ifboolKV[ClesQCM]{VF}{%
+ \setKV[ClesQCM]{Reponses=2}%
+ \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
+ \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
\begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
+ \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
}%
\hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
+ \end{tabular}
}{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- % \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
+ \ifboolKV[ClesQCM]{ACompleter}{%
+ \xdef\PfCTotalCases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\useKV[ClesQCM]{Reponses}*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,##2+1]%
- }\\
- }%
- \hline%
- \end{tabular}%
+ \xdef\PfCTotalCases{\useKV[ClesQCM]{Reponses}}%
}%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\PfCTotalCases*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\PfCTotalCases}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ % \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
+ \ifboolKV[ClesQCM]{Titre}{\cline{2-\fpeval{\PfCTotalCases+1}}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\PfCTexteReponseEleve\fi%
+ \\
+ }{}%
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]
+ }\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\fi\\
+ }%
+ \hline%
+ \end{tabular}%
}%
- \renewcommand{\arraystretch}{1}%
}%
+ \renewcommand{\arraystretch}{1}%
}%
+}%
}{%
- \newcommand\QCM[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \ifboolKV[ClesQCM]{Seul}{%
- \QCMSeul[#1]{#2}%
+\newcommand\QCM[2][]{%
+ \useKVdefault[ClesQCM]%
+ \setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{Seul}{%
+ \QCMSeul[#1]{#2}%
+ }{%
+ \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \setcounter{TitreQCM}{0}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
+ \ifboolKV[ClesQCM]{Multiple}{%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
+ \setsepchar[*]{/}%
+ \readlist*\ListeNomsMul{\ListeNom}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ \cline{2-\NBcases}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ListeNomsMul[##2]}%
+ \\
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
+ }%
+ \hline%
+ \end{tabular}%
+ \renewcommand{\arraystretch}{1}%
}{%
- \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
+ \ifboolKV[ClesQCM]{VF}{%
+ \setKV[ClesQCM]{Reponses=2}%
+ \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
+ \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
\begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
+ \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
}%
\hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
+ \end{tabular}
}{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
+ \ifboolKV[ClesQCM]{ACompleter}{%
+ \xdef\PfCTotalCases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\useKV[ClesQCM]{Reponses}*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}%
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]%
- }\\
- }%
- \hline%
- \end{tabular}%
+ \xdef\PfCTotalCases{\useKV[ClesQCM]{Reponses}}%
}%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\PfCTotalCases*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\PfCTotalCases}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ % \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
+ \ifboolKV[ClesQCM]{Titre}{\cline{2-\fpeval{\PfCTotalCases+1}}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\PfCTexteReponseEleve\fi%
+ \\
+ }{}%
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]
+ }\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\fi\\
+ }%
+ \hline%
+ \end{tabular}%
}%
- \renewcommand{\arraystretch}{1}%
}%
+ \renewcommand{\arraystretch}{1}%
}%
}%
+}%
\NewDocumentCommand\PfCSolCellColor{mm}{%
\xdef\PfCFooSolColor{\ListeQCM[#1,\NumeroReponse]}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex
index df5743e4399..fc1674d37ff 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex
@@ -4,25 +4,27 @@
\newtoks\tokPfCEngrenages%
\def\UpdatetoksEngrenages#1/#2\nil{\addtotok\tokPfCEngrenages{#1,#2,}}%
-\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={LightSteelBlue}}
+\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={?}}%
+%\defKV[Engrenages]{Couleur=\setKV[Engrenages]{ListeCouleurs=#1}}%
\NewDocumentCommand\Engrenages{o m}{%
\newtoks\toklistecouleur%
\toklistecouleur{}%
- \tokPfCEngrenages{}
+ \tokPfCEngrenages{}%
\useKVdefault[Engrenages]%
\setKV[Engrenages]{#1}%
\setsepchar[*]{,*/}%
\ignoreemptyitems
\readlist*\ListePfCEngrenages{#2}%
- \setsepchar{,}
- \xdef\PfCFooEngrenages{}
+ \setsepchar{,}%
+ \xdef\PfCFooEngrenages{}%
\foreachitem\compteur\in\ListePfCEngrenages{%
\xdef\PfCFooEngrenages{\PfCFooEngrenages \ListePfCEngrenages[\compteurcnt,1],\ListePfCEngrenages[\compteurcnt,2],}%
}%
\xdef\ListeAvantCouleurs{\useKV[Engrenages]{ListeCouleurs}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
+ %\setKV[Engrenages]{Couleurs=\ListeCouleur[1]}%
\BuildEngrenages{\PfCFooEngrenages}{\the\toklistecouleur}%
}%
@@ -102,19 +104,19 @@
fi;
endfor;
);
-}
+}%
\NewDocumentCommand\BuildEngrenages{mm}{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
+ \ifluatex%
+ \mplibforcehmode%
+ \begin{mplibcode}%
input PfCEngrenages;
\BuildEngrenagesCode{#1}{#2}
trace EngrenageFinal;
- \end{mplibcode}
- \else
+ \end{mplibcode}%
+ \else%
\begin{mpost}[mpsettings={input PfCEngrenages;\BuildEngrenagesCode{#1}{#2}}]
trace EngrenageFinal;
- \end{mpost}
- \fi
+ \end{mpost}%
+ \fi%
}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex
index 77c683b1486..5b95ddb02ec 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex
@@ -58,24 +58,30 @@
}%
}{%
\ifboolKV[ClesAffine]{Retrouve}{%
- On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\useKV[ClesAffine]{CoefDir}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}\]
- Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements :
+ \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}%%
+ On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\useKV[ClesAffine]{CoefDir}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}.\]
+ Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. \ifnum\fpeval{#3-#5}=0
+ Les images de \num{#2} et \num{#4} sont égales à \num{#3}. La fonction affine cherchée est donc constante et s'écrit :
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\num{\OrdOrigine}.\]
+ \else
+ Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements :
\begin{align*}
\useKV[ClesAffine]{CoefDir}&=\frac{\useKV[ClesAffine]{Nom}(\num{#2})-\useKV[ClesAffine]{Nom}(\num{#4})}{\num{#2}-\xintifboolexpr{#4<0}{(\num{#4})}{\num{#4}}}\\
\useKV[ClesAffine]{CoefDir}&=\frac{\num{#3}-\xintifboolexpr{#5<0}{(\num{#5})}{\num{#5}}}{\num{\fpeval{#2-#4}}}\\
\useKV[ClesAffine]{CoefDir}&=\frac{\num{\fpeval{#3-#5}}}{\num{\fpeval{#2-#4}}}%\\
\SSimpliTest{\fpeval{#3-#5}}{\fpeval{#2-#4}}\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesAffine]{CoefDir}&=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}}{}%
\end{align*}
- La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}$.
+ \def\PfCQuotientAffine{\fpeval{(#3-#5)/(#2-#4)}}%
+ La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\ifnum\fpeval{abs(\PfCQuotientAffine)}=1\relax\Affichage[Lettre={\useKV[ClesAffine]{Variable}}]{0}{\PfCQuotientAffine}{0}\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\fi+\useKV[ClesAffine]{OrdoOrig}$.
\\De plus, comme $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$, alors :
\begin{align*}
- \SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+\useKV[ClesAffine]{OrdoOrig}&=\num{#3}\\
+ \ifnum\PfCQuotientAffine=1\relax\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+\useKV[ClesAffine]{OrdoOrig}\uppercase{&}=\num{#3}\\\fi
\SSimplifie{\fpeval{(#3-#5)*#2}}{\fpeval{#2-#4}}+\useKV[ClesAffine]{OrdoOrig}&=\num{#3}\\
\useKV[ClesAffine]{OrdoOrig}&=\num{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
\end{align*}
- \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
La fonction affine $\useKV[ClesAffine]{Nom}$ cherch\'ee est :
- \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\]
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\ifnum\fpeval{abs(\PfCQuotientAffine)}=1\relax\Affichage[Lettre={\useKV[ClesAffine]{Variable}}]{0}{\PfCQuotientAffine}{\OrdOrigine}\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\fi.\]
+ \fi
}{%
%
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCInfixRPN.sty b/Master/texmf-dist/tex/latex/profcollege/PfCInfixRPN.sty
new file mode 100644
index 00000000000..a0851a5dd5e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCInfixRPN.sty
@@ -0,0 +1,538 @@
+%%
+%% This is file `infix-RPN.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `infix-RPN.tex'
+%%
+%% Main code:
+%% Jean-Côme Charpentier <jean-come.charpentier@wanadoo.fr>
+%%
+%% Contributions by
+%% Christophe Jorssen <christophe.jorssen@libre.fr.invalid>
+%% `libre' is the french word for `free' :-)
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory CTAN:/macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `infix-RPN' is a package to convert infix expressions to
+%% Reverse Polish Notation
+%%
+%%
+\def\RCS$#1: #2 ${\expandafter\def\csname RCS#1\endcsname{#2}}
+\RCS$Revision: 1.7 $
+\RCS$Date: 2004-07-06 23:41:52+02 $
+
+\def\fileversion{0.11}
+\csname infixRPNLoaded\endcsname
+\let\infixRPNLoaded\endinput
+\message{`infix-RPN' v\fileversion\space (Rev \RCSRevision, \RCSDate), J.-C.Charpentier/C.Jorssen}
+
+\edef\PfCopAtCode{\the\catcode`\@}
+\edef\PfCopHatCode{\the\catcode`\^}
+\edef\PfCopUnderscoreCode{\the\catcode`\_}
+\catcode`\@=11\relax
+\catcode`\^=12\relax
+\catcode`\_=11\relax
+
+\def\s@pow{exp}
+\def\s@lpar{(}
+\def\s@rpar{)}
+\def\s@comma{,}
+
+\def\DeclareNewPSOperator{%
+ \bgroup
+ \catcode`\_=11\relax
+ \DeclareNewPSOperator@i
+}
+
+\def\DeclareNewPSOperator@i#1{%
+ \expandafter\ifx\csname PS@operator@list\endcsname\relax
+ \gdef\PS@operator@list{#1}%
+ \else
+ \xdef\PS@operator@list{#1,\PS@operator@list}%
+ \fi
+ \expandafter\gdef\csname s@#1\endcsname{#1}%
+ \egroup
+}
+
+\DeclareNewPSOperator{add}
+\DeclareNewPSOperator{sub}
+\DeclareNewPSOperator{mul}
+\DeclareNewPSOperator{div}
+\DeclareNewPSOperator{exp}
+\DeclareNewPSOperator{abs}
+\DeclareNewPSOperator{sin}
+\DeclareNewPSOperator{cos}
+\DeclareNewPSOperator{atan}
+\DeclareNewPSOperator{neg}
+\DeclareNewPSOperator{ceiling}
+\DeclareNewPSOperator{floor}
+\DeclareNewPSOperator{truncate}
+\DeclareNewPSOperator{sqrt}
+\DeclareNewPSOperator{ln}
+\DeclareNewPSOperator{log}
+
+
+\newcount\@parenthesis
+\newcount\token@cpt
+\newif\if@begin@token
+\newif\if@in@number
+\newif\if@in@decimal
+\newif\if@in@name
+\newif\if@sign
+\def\@tokencreate#1{%
+ \expandafter\xdef\csname PfCop@token\the\token@cpt\endcsname{#1}%
+ \global\advance\token@cpt\@ne
+ \expandafter\global
+ \expandafter\let\csname PfCop@token\the\token@cpt\endcsname\relax
+ \global\advance\token@cpt\m@ne
+}
+\def\@tokenappend#1{%
+ \expandafter\xdef\csname PfCop@token\the\token@cpt\endcsname
+ {\csname PfCop@token\the\token@cpt\endcsname#1}%
+}
+\def\@tokensingle#1{%
+ \edef\@arg{#1}%
+ \if@in@name
+ \global\advance\token@cpt\@ne
+ \@in@namefalse
+ \fi
+ \if@in@number
+ \global\advance\token@cpt\@ne
+ \@in@numberfalse
+ \@in@decimalfalse
+ \fi
+ \ifx\@arg\s@add
+ \if@sign
+ % ignore + sign
+ \global\advance\token@cpt\m@ne
+ \else
+ \@tokencreate{#1}%
+ \fi
+ \else\ifx\@arg\s@sub
+ \if@sign
+ \@tokencreate{\s@neg}%
+ \else
+ \@tokencreate{#1}%
+ \fi
+ \else
+ \@tokencreate{#1}%
+ \fi\fi
+ \global\advance\token@cpt\@ne
+}
+\def\@tokenuse#1{%
+ \expandafter\ifx\csname PfCop@token#1\endcsname\s@comma%
+ \else
+ \xdef\RPN{\RPN\space\csname PfCop@token#1\endcsname}%
+ \fi
+}
+
+\let\endscanline\relax
+\def\scan@line{%
+ \begingroup
+ \catcode`\ =12
+ \@parenthesis=\z@
+ \@in@numberfalse
+ \@in@decimalfalse
+ \@in@namefalse
+ \global\token@cpt=\@ne
+ \global\@signtrue
+ \scan@@line
+}
+\def\scan@@line#1{\scan@@@line#1\endscanline\endgroup}
+\def\scan@@@line#1#2\endscanline{%
+ \PfCop@testchar{#1}%
+ \ifPfCop@isdigit
+ \global\@signfalse
+ \if@in@number
+ \@tokenappend{#1}%
+ \else \if@in@name
+ \@in@namefalse
+ \@in@numbertrue
+ \@tokenappend{#1}%
+ \else
+ \@in@numbertrue
+ \@tokencreate{#1}%
+ \fi\fi
+ \fi
+ \ifPfCop@isplus
+ \@tokensingle{\s@add}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isminus
+ \@tokensingle{\s@sub}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@ismultiply
+ \@tokensingle{\s@mul}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isdivide
+ \@tokensingle{\s@div}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@ispower
+ \@tokensingle{\s@pow}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isdecimalsep
+ \global\@signfalse
+ \if@in@decimal
+ \errmessage{Syntax error: number with multiple separators!}%
+ \else \if@in@number
+ \@in@decimaltrue
+ \@tokenappend{.}%
+ \else
+ \@tokencreate{.}%
+ \@in@numbertrue
+ \@in@decimaltrue
+ \fi\fi
+ \fi
+ \ifPfCop@iscomma
+ \@tokensingle{,}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@islparenthesis
+ \@tokensingle{(}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isrparenthesis
+ \global\@signfalse
+ \@tokensingle{)}%
+ \fi
+ \ifPfCop@isspace
+ \if@in@number
+ \@in@numberfalse
+ \@in@decimalfalse
+ \global\advance\token@cpt\@ne
+ \else \if@in@name
+ \@in@namefalse
+ \global\advance\token@cpt\@ne
+ \fi\fi
+ \fi
+ \ifPfCop@isother
+ \global\@signfalse
+ \if@in@name
+ \@tokenappend{#1}%
+ \else \if@in@number
+ \@in@numberfalse
+ \@in@decimalfalse
+ \@in@nametrue
+ \@tokenappend{#1}%
+ \else
+ \@in@nametrue
+ \@tokencreate{#1}%
+ \fi\fi
+ \fi
+ \def\arg{#2}%
+ \ifx\empty\arg
+ \let\next\relax
+ \else
+ \let\next\scan@@@line
+ \fi
+ \expandafter\next\arg\endscanline
+}
+\count255=`\0 \edef\PfCop@numbegin{\the\count255}
+\count255=`\9 \edef\PfCop@numend{\the\count255}
+\count255=`\+ \edef\PfCop@plus{\the\count255}
+\count255=`\- \edef\PfCop@minus{\the\count255}
+\count255=`\* \edef\PfCop@multiply{\the\count255}
+\count255=`\/ \edef\PfCop@divide{\the\count255}
+\count255=`\^ \edef\PfCop@power{\the\count255}
+\count255=`\. \edef\PfCop@dot{\the\count255}
+\count255=`\, \edef\PfCop@comma{\the\count255}
+\count255=`\( \edef\PfCop@lparenthesis{\the\count255}
+\count255=`\) \edef\PfCop@rparenthesis{\the\count255}
+\edef\PfCop@space{32}
+\newif\ifPfCop@isdigit
+\newif\ifPfCop@isplus
+\newif\ifPfCop@isminus
+\newif\ifPfCop@ismultiply
+\newif\ifPfCop@isdivide
+\newif\ifPfCop@ispower
+\newif\ifPfCop@isdecimalsep
+\newif\ifPfCop@iscomma
+\newif\ifPfCop@islparenthesis
+\newif\ifPfCop@isrparenthesis
+\newif\ifPfCop@isspace
+\newif\ifPfCop@isother
+\def\PfCop@testchar#1{%
+ \PfCop@isdigitfalse
+ \PfCop@isplusfalse
+ \PfCop@isminusfalse
+ \PfCop@ismultiplyfalse
+ \PfCop@isdividefalse
+ \PfCop@ispowerfalse
+ \PfCop@isdecimalsepfalse
+ \PfCop@iscommafalse
+ \PfCop@islparenthesisfalse
+ \PfCop@isrparenthesisfalse
+ \PfCop@isspacefalse
+ \PfCop@isotherfalse
+ \count255=`#1\relax
+ \ifnum\count255=\PfCop@plus \relax
+ \PfCop@isplustrue
+ \else \ifnum\count255=\PfCop@minus \relax
+ \PfCop@isminustrue
+ \else \ifnum\count255=\PfCop@multiply \relax
+ \PfCop@ismultiplytrue
+ \else \ifnum\count255=\PfCop@divide \relax
+ \PfCop@isdividetrue
+ \else \ifnum\count255=\PfCop@power \relax
+ \PfCop@ispowertrue
+ \else \ifnum\count255=\PfCop@dot \relax
+ \PfCop@isdecimalseptrue
+ \else \ifnum\count255=\PfCop@comma \relax
+ \PfCop@iscommatrue
+ \else \ifnum\count255=\PfCop@lparenthesis \relax
+ \PfCop@islparenthesistrue
+ \else \ifnum\count255=\PfCop@rparenthesis \relax
+ \PfCop@isrparenthesistrue
+ \else \ifnum\count255=\PfCop@space \relax
+ \PfCop@isspacetrue
+ \else \ifnum\count255<\PfCop@numbegin \relax
+ \PfCop@isothertrue
+ \else \ifnum\count255>\PfCop@numend \relax
+ \PfCop@isothertrue
+ \else \PfCop@isdigittrue
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+\def\search@term#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@add\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@sub\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@comma\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@factor{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: unbalanced parenthesis!}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@term{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@term{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@factor#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{\the\count1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@mul\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@div\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@power{\the\count1}{\the\count255}%
+ \else
+ \errmessage{! Syntax error: unbalanced parenthesis}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@factor{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@factor{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@power#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@pow\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@primary{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: unbalanced parenthesis}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@power{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@power{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@primary#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \edef\current@cnt{#1}%
+ \expandafter\compare@PS@operator\PS@operator@list,\@nil
+ \expandafter\ifx\csname PfCop@token#1\endcsname\s@lpar\relax
+ \expandafter\ifx\csname PfCop@token#2\endcsname\s@rpar\relax
+ \advance\count1\@ne
+ \advance\count255\m@ne
+ \search@term{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: Garbage after parenthesis
+ (tokens '#1' to '#2')}%
+ \fi
+ \fi
+ \fi
+ \endgroup
+}
+
+%\let\@nil\relax
+%\let\@nil\@empty
+
+%\def\compare@PS@operator#1,#2\@nil{%
+% \def\@tempa{#1}%
+% \def\@tempb{#2}%
+% \expandafter\ifx\csname PfCop@token\current@cnt\endcsname\@tempa%
+% \advance\count1\@ne
+% \search@primary{\the\count1}{\the\count255}%
+% \advance\count1\m@ne
+% \@tokenuse{\the\count1}%
+% \fi
+% \ifx\@tempb\empty
+% \let\next\relax
+% \let\@tempb\relax
+% \else
+% \let\next\compare@PS@operator
+% \fi
+% \expandafter\next\@tempb\@nil
+%}
+
+\let\@nil\undefined
+
+\def\compare@PS@operator#1,#2\@nil{%
+ \def\@tempa{#1}%
+ \def\@tempb{#2}%
+ \expandafter\ifx\csname PfCop@token\current@cnt\endcsname\@tempa%
+ \advance\count1\@ne
+ \search@primary{\the\count1}{\the\count255}%
+ \advance\count1\m@ne
+ \@tokenuse{\the\count1}%
+ \fi
+ \ifx\@tempb\empty
+ \let\next\@gobble
+ \else
+ \let\next\compare@PS@operator
+ \fi
+ \expandafter\next\@tempb\@nil
+}
+
+
+\def\infixtoRPN{%
+ \begingroup
+ \catcode`\ =12
+ \catcode`\^=12
+ \infixt@RPN
+}
+\def\infixt@RPN#1{%
+ \xdef\@expression{#1}%
+ \endgroup
+ \def\RPN{}%
+ \expandafter\scan@line\expandafter{\@expression}%
+ \expandafter\ifx\csname PfCop@token\the\token@cpt\endcsname\relax
+ \advance\token@cpt\m@ne
+ \fi
+ \search@term{1}{\the\token@cpt}%
+}
+
+\catcode`\@=\PfCopAtCode\relax
+\catcode`\^=\PfCopHatCode\relax
+\catcode`\_=\PfCopUnderscoreCode\relax
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex
index e0457471e18..bdb59526f0c 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex
@@ -229,5 +229,6 @@
endfor;
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex
index 56a7ad6943b..7851f36ba79 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex
@@ -6,7 +6,7 @@
\def\UpdatetoksPuzzleA#1\nil{\addtotok\toklistepuzzlea{"#1",}}%
-\setKVdefault[ClesPuzzleMul]{Solution=false,Unite=1cm,Couleur=LightSteelBlue}
+\setKVdefault[ClesPuzzleMul]{Solution=false,Unite=1cm,Couleur=LightSteelBlue,Cube=false}
\NewDocumentCommand\PuzzleMul{om}{%
\useKVdefault[ClesPuzzleMul]%
@@ -17,8 +17,12 @@
\xdef\HauteurPuzzle{\PfCListePuzzlelen}%
\toklistepuzzlea{}%
\foreachitem\compteur\in\PfCListePuzzle{\expandafter\UpdatetoksPuzzleA\compteur\nil}%
- \BuildPuzzle{\the\toklistepuzzlea}%
-}
+ \ifboolKV[ClesPuzzleMul]{Cube}{%
+ \BuildPuzzleEspace{\the\toklistepuzzlea}%
+ }{%
+ \BuildPuzzle{\the\toklistepuzzlea}%
+ }%
+}%
\def\BuildPuzzleCode{%
def PreDrawPuzzle ( expr ww, hh, uu ) =
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex b/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex
index 117c2a09059..4fe05bc4d04 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex
@@ -22,18 +22,20 @@
\setKV[TraceG]{#1}%
\tokPfCListeDesFonctions{}%
\tokPfCListeDesNomsFonctions{}%
- \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}
- \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}
+ \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}%
+ \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}%
\ifx\bla\PfCFooFn\bla%
- \else
- \readlist*\ListeDesFonctions{\PfCFooFn}
+ \else%
+ \setsepchar{,}\ignoreemptyitems
+ \readlist*\ListeDesFonctions{\PfCFooFn}%
+ \reademptyitems
\foreachitem\compteur\in\ListeDesFonctions{\expandafter\UpdatePfCListeDesFonctions\compteur\nil}%
- \fi
- \ifx\bla\PfCFooNomFn\bla
- \else
- \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}
+ \fi%
+ \ifx\bla\PfCFooNomFn\bla%
+ \else%
+ \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}%
\foreachitem\compteur\in\ListeDesNomsFonctions{\expandafter\UpdatePfCListeDesNomsFonctions\compteur\nil}%
- \fi
+ \fi%
\tokPfCLabelX{}%
\tokPfCLabelY{}%
\addtotok\tokPfCLabelX{"\useKV[TraceG]{LabelX}"}%
@@ -79,7 +81,7 @@
\MPCourbeNew{\PfCFooListePoints}%
}%
}%
- }
+ }%
}{%
\setsepchar{,}\ignoreemptyitems%
\readlist*\ListeFonction{#2}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex
index dfbd3a5d233..6628d3d505a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex
@@ -1,7 +1,9 @@
%%%
% Patrons de pavés droits et cubes
%%%
-\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false}%
+\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false,AColorier=false}%
+%EcartColorier est en nombre de parts pour le cube, en mm pour le pavé.
+\defKV[ClesPatron]{EcartColorier=\setKV[ClesPatron]{AColorier}}%
\defKV[ClesPatron]{Traces=\setKV[ClesPatron]{Codes}}%
\newtoks\toklistepatron%
@@ -30,7 +32,7 @@
}%
}%
-\setsepchar{,}\ignoreemptyitems
+\setsepchar{,}\ignoreemptyitems%
\readlist*\ListePatronsCube{%
{ooxo,xxxx,ooxo},%
{oxoo,xxxx,xooo},%
@@ -78,7 +80,7 @@
{poho,lpho,poho,lohp},%
{poho,loho,plhl,loho},%
{poho,loho,plho,lohp},%
- {poho,loho,poho,lphp},%
+ {poho,loho,poho,lphp},%20
{phlh,holo,polo,holo},%
{phlo,holp,polo,holo},%
{phlo,holo,polh,holo},%
@@ -88,17 +90,17 @@
{polo,hplo,polo,holp},%
{polo,holo,phlh,holo},%
{polo,holo,phlo,holp},%
- {polo,holo,polo,hplp},%
+ {polo,holo,polo,hplp},%30
{hlpo,lopo,hopl,pool},%
{hopo,lhpo,hopl,pool},%
{hopo,lopo,hlph,pool},%
{lhpo,hopo,loph,pooh},%
{lopo,hlpo,loph,pooh},%
- {lopo,hopo,lhoh,pooh},%
+ {lopo,hopo,lhph,pooh},%
{plho,loho,pohl,hool},%
{poho,lpho,pohl,hool},%
{poho,loho,plhl,hool},%
- {lpho,poho,lohp,hoop},%
+ {lpho,poho,lohp,hoop},%40
{loho,plho,lohp,hoop},%
{loho,poho,lphp,hoop},%
{phlo,holo,polh,looh},%
@@ -108,23 +110,23 @@
{holo,phlo,holp,loop},%
{holo,polo,hplp,loop},%
{hpo,lpo,hpl,pol,hol},%
- {lpo,hpo,lph,poh,loh},%
- {pho,plo,phl,hol,pol},%
+ {lpo,hpo,lph,poh,loh},%50
+ {pho,lho,phl,hol,pol},%
{hpoo,lpho,pohl,hool},%
{lpoo,hplo,polh,looh},%
- {phoo,lhpo,hopl,pool}
-}
+ {phoo,lhpo,hopl,pool}%
+}%
\readlist*\ListePatronsPaveCouleurs{%
- {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},
- {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},
- {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},
- {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},
- {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},
- {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},
- {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},
- {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},
- {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},
+ {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},%
+ {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},%
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
{Crimson,LightGreen,Crimson,Orange,LightGreen,Orange},%10
{LightGreen,Crimson,LightGreen,Orange,Crimson,Orange},%
{LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
@@ -169,9 +171,277 @@
{Crimson,Orange,Crimson,LightGreen,Orange,LightGreen},%
{Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
{LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
- {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+}%
+\reademptyitems%
+
+\def\MPPatronPaveCode{%
+ Largeur=\useKV[ClesPatron]{Largeur};
+ Hauteur=\useKV[ClesPatron]{Hauteur};
+ Profondeur=\useKV[ClesPatron]{Profondeur};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
+ boolean Codes,Allume[][],AColorier;
+ Codes=\useKV[ClesPatron]{Codes};
+ AColorier=\useKV[ClesPatron]{AColorier};
+ if AColorier:
+ EcartColorier=\useKV[ClesPatron]{EcartColorier}*1mm;
+ fi;
+ %
+ numeric DecalCol[];
+ %
+ vardef Allumage(text t)=
+ nblignes:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ for k=0 upto Long-1:
+ Allume[nblignes][k]=false;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef LectureLargeur(text t)=
+ for p_=t:
+ Long:=length p_;
+ endfor;
+ for k=1 upto Long-1:
+ for p_=t:
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ fi;
+ elseif substring(k,k+1) of p_="l":
+ DecalCol[k]:=Largeur;
+ elseif substring(k,k+1) of p_="h":
+ DecalCol[k]:=Hauteur;
+ elseif substring(k,k+1) of p_="p":
+ DecalCol[k]:=Profondeur;
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef Patron(text t)=
+ path PathPave;
+ nblignes:=-1;
+ NBLignes:=0;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nbcolonnes:=0;
+ NBColonnes:=0;
+ if substring(0,1) of p_="h":
+ YEchelle:=Hauteur;
+ elseif substring(0,1) of p_="l":
+ YEchelle:=Largeur;
+ elseif substring(0,1) of p_="p":
+ YEchelle:=Profondeur;
+ fi;
+ nblignes:=nblignes-YEchelle;
+ NBLignes:=NBLignes+1;
+ for k=1 upto Long-1:
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ PathPave:=(unitsquare scaled 0) shifted ((0,-1));
+ fi;
+ elseif substring(k,k+1) of p_="l":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Largeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="h":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Hauteur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="p":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Profondeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ fi;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ if AColorier=false:
+ fill PathPave withcolor Col[nbcol];
+ fi;
+ fi;
+ fi;
+ if nbfaces>0:
+ trace M[nbfaces]--P[nbfaces];
+ trace N[nbfaces]--O[nbfaces];
+ trace P[nbfaces]--O[nbfaces];
+ trace M[nbfaces]--N[nbfaces];
+ fi;
+ nbcolonnes:=nbcolonnes+DecalCol[k];
+ NBColonnes:=NBColonnes+1;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronPave#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronPaveCode
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Allumage(#1);
+ if AColorier:
+ drawoptions(dashed evenly);
+ fi;
+ Patron(#1);
+ if AColorier:
+ drawoptions();
+ toto:=0;
+ for l=1 upto NBLignes:
+ for k=0 upto NBColonnes-1:
+ if Allume[l][k]:
+ toto:=toto+1;
+ % trait vertical gauche
+ if k=0:
+% trace M[toto]--P[toto];
+ tpoints:=floor(abs(M[toto]-P[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],P[toto]])--((t/tpoints)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l][k-1]=false:
+ % trace M[toto]--P[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-P[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],P[toto]])--((t/tpoints)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+% % trait vertical droit
+ if k=Long-1:
+ % trace N[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(N[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[N[toto],O[toto]])--((t/tpoints)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ else:
+ if Allume[l][k+1]=false:
+ %% trace N[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(N[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[N[toto],O[toto]])--((t/tpoints)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ fi;
+ fi;
+% % trait horizontal haut
+ if l=1:
+ % trace P[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(P[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[P[toto],O[toto]])--((t/tpoints)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l-1][k]=false:
+ % trace P[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(P[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[P[toto],O[toto]])--((t/tpoints)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+% % trait horizontal bas
+ if l=NBLignes:
+ %% trace M[toto]--N[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-N[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],N[toto]])--((t/tpoints)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l+1][k]=false:
+ %% trace M[toto]--N[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-N[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],N[toto]])--((t/tpoints)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+ fi;
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronPaveCode;}]
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
}%
-\reademptyitems
\def\MPPatronCubeCode{%
Arete=\useKV[ClesPatron]{Arete};
@@ -181,6 +451,185 @@
color Col[],CoulDefaut;
CoulDefaut=white;
%
+ boolean Codes,Allume[][],AColorier;
+ Codes=\useKV[ClesPatron]{Codes};
+ AColorier=\useKV[ClesPatron]{AColorier};
+ if AColorier:
+ EcartColorier=\useKV[ClesPatron]{EcartColorier};
+ fi;
+ %
+ vardef Allumage(text t)=
+ nblignes:=-1;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ for k=0 upto Long-1:
+ Allume[nblignes][k]=false;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef Patron(text t)=
+ nblignes:=-1;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ nbcolonnes:=0;
+ for k=0 upto Long-1:
+ nbcolonnes:=nbcolonnes+1;
+ if substring(k,k+1) of p_="x":
+ Allume[nblignes][k]:=true;
+ nbfaces:=nbfaces+1;
+ nbcol:=nbcol+1;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ if AColorier=false:
+ fill ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes))) withcolor Col[nbcol];
+ fi;
+ fi;
+ fi;
+ C[nbfaces]=(center unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes));
+ M[nbfaces]=point(0) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ N[nbfaces]=point(1) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ O[nbfaces]=point(2) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ P[nbfaces]=point(3) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ trace M[nbfaces]--P[nbfaces];
+ trace N[nbfaces]--O[nbfaces];
+ trace P[nbfaces]--O[nbfaces];
+ trace M[nbfaces]--N[nbfaces];
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronCube#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronCubeCode
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Allumage(#1);
+ if AColorier:
+ drawoptions(dashed withdots scaled 0.5);
+ fi;
+ Patron(#1);
+ if AColorier:
+ drawoptions();
+ toto:=0;
+ for l=0 upto nblignes:
+ for k=0 upto Long-1:
+ if Allume[l][k]:
+ toto:=toto+1;
+ % trait vertical gauche
+ if k=0:
+% trace M[toto]--P[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],P[toto]])--((t/EcartColorier)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l][k-1]=false:
+% trace M[toto]--P[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],P[toto]])--((t/EcartColorier)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ % trait vertical droit
+ if k=Long-1:
+ % trace N[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[N[toto],O[toto]])--((t/EcartColorier)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ else:
+ if Allume[l][k+1]=false:
+% trace N[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[N[toto],O[toto]])--((t/EcartColorier)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ fi;
+ fi;
+ % trait horizontal haut
+ if l=0:
+% trace P[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[P[toto],O[toto]])--((t/EcartColorier)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l-1][k]=false:
+% trace P[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[P[toto],O[toto]])--((t/EcartColorier)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ % trait horizontal bas
+ if l=nblignes:
+% trace M[toto]--N[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],N[toto]])--((t/EcartColorier)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l+1][k]=false:
+% trace M[toto]--N[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],N[toto]])--((t/EcartColorier)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+ fi;
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronCubeCode;}]
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
+}
+
+\def\MPPatronCubeCodeold{%
+ Arete=\useKV[ClesPatron]{Arete};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
boolean Codes;
Codes=\useKV[ClesPatron]{Codes};
vardef Patron(text t)=
@@ -221,7 +670,7 @@
enddef;
}%
-\def\MPPatronCube#1#2{%
+\def\MPPatronCubeold#1#2{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -259,7 +708,7 @@
\fi
}
-\def\MPPatronPaveCode{%
+\def\MPPatronPaveCodeold{%
Largeur=\useKV[ClesPatron]{Largeur};
Hauteur=\useKV[ClesPatron]{Hauteur};
Profondeur=\useKV[ClesPatron]{Profondeur};
@@ -330,7 +779,7 @@
for k=1 upto Long-1:
if substring(k,k+1) of p_="o":
if k=1:
- PathPave:=(unitsquare scaled 0);
+ PathPave:=(unitsquare scaled 0) shifted ((0,-1));
fi;
elseif substring(k,k+1) of p_="l":
nbcol:=nbcol+1;
@@ -380,7 +829,7 @@
enddef;
}%
-\def\MPPatronPave#1#2{%
+\def\MPPatronPaveold#1#2{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -397,7 +846,7 @@
%
LectureLargeur(#1);
Patron(#1);
- EffectuerTraces;
+ %EffectuerTraces;
\end{mplibcode}
\else
\begin{mpost}[mpsettings={\MPPatronPaveCode;}]
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex
index 77eecfcb428..df380d48ee4 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex
@@ -26,9 +26,11 @@
}%
}%
}{%
- \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
- \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
-% quotient = \the\intquotient -- remainder = \the\remainder :
+% \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+% \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+ \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}}}%
+ \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}}}%
+% quotient = \the\intquotient -- remainder = \the\remainder :\\
\BuildPixelArtGeant{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}{\the\intquotient}{\the\remainder}%
}%
}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex b/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex
new file mode 100644
index 00000000000..dc6a39b7a57
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex
@@ -0,0 +1,185 @@
+%%%
+% Probabilité et fréquence
+%%%
+\setKVdefault[PfCFrequence]{Couleur=false,Lancers=1,Legende=false}%
+\defKV[PfCFrequence]{ListeCouleurs=\setKV[PfCFrequence]{Couleur}}%
+\defKV[PfCFrequence]{Legendes=\setKV[PfCFrequence]{Legende}\setsepchar{,}\reademptyitems\readlist*\PfMListeLegendes{#1}\reademptyitems}%
+
+\newtoks\tokPfMListeObjets%
+\newtoks\tokPfMListeLegendes%
+\def\UpdatetoksObj#1\nil{\addtotok\tokPfMListeObjets{#1,}}%
+\def\UpdatetoksLegendes#1\nil{\addtotok\tokPfMListeLegendes{"#1",}}%
+
+\NewDocumentCommand\ProbaFrequence{om}{%
+ % #1 options
+ % #2 répartition
+ \tokPfMListeObjets{}%
+ \tokPfMListeLegendes{}%
+ \useKVdefault[PfCFrequence]%
+ \setKV[PfCFrequence]{#1}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfMListeObjets{#2}%
+ \reademptyitems%
+ \foreachitem\compteur\in\PfMListeObjets{\expandafter\UpdatetoksObj\compteur\nil}%
+ \ifboolKV[PfCFrequence]{Legende}{%
+ \foreachitem\compteur\in\PfMListeLegendes{\expandafter\UpdatetoksLegendes\compteur\nil}%
+ }{}%
+ \BuildFrequence{\the\tokPfMListeObjets}{\the\tokPfMListeLegendes}%
+}%
+
+\NewDocumentCommand\BuildFrequence{mm}{%
+ \ifluatex
+ \mplibnumbersystem{decimal}%
+ \begin{Geometrie}[CoinBG={u*(-5,0)},CoinHD={u*(7.5,7.5)}]%6 en ordonnee
+ Lancers = \useKV[PfCFrequence]{Lancers};
+ LegendeVide=0;
+ %
+ color Col[];
+ if \useKV[PfCFrequence]{Couleur}:
+ n:=0;
+ for p_=\useKV[PfCFrequence]{ListeCouleurs}:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ LegendeVide:=n;
+ fi;
+ endfor;
+ fi;
+ %
+ string Legende[];
+ vardef EcrireLegendes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if p_="":
+ LegendeVide:=n;
+ else:
+ Legende[n]=p_;
+ fi;
+ endfor;
+ n:=0;
+ enddef;
+ %
+ vardef LectureDonnees(text t)=
+ numeric A[];
+ numeric SommeTotale;
+ SommeTotale=0;
+ n:=0;
+ for p_=t:
+ n:=incr(n);
+ A[n]=p_;
+ SommeTotale:=SommeTotale+p_;
+ endfor;
+ total:=n;
+ enddef;
+ %
+ LectureDonnees(#1);
+ if \useKV[PfCFrequence]{Legende}:
+ EcrireLegendes(#2);
+ fi;
+ %
+ numeric borne[];
+ borne0=0;
+ for k=1 upto total:
+ borne[k]=borne[k-1]+A[k];
+ endfor;
+ %
+ x.u:=5mm;
+ y.u:=5mm;
+ quad.u:=5mm;
+ unites(1/(170*Lancers),5);
+ origine((1,4));
+ % grille
+ for k=1 upto 11:
+ draw (pp(0,0)--pp(0,1.1)) shifted(pp(k*Lancers*100,0)-pp(0,0)) withcolor gris;
+ draw (pp(0,0)--pp(Lancers*(1000+100),0)) shifted(pp(0,k/10)-pp(0,0)) withcolor gris;
+ endfor;
+ % axe
+ drawarrow pp(0,0)--pp(0,1.1);
+ drawarrow pp(0,0)--pp(Lancers*(1000+100),0);
+ % tiret
+ for k=1 upto 10:
+ draw (pp(k*Lancers*100,0)+u*(0,-0.05))--(pp(k*Lancers*100,0)+u*(0,0.05));
+ endfor;
+ numeric nb[],freq[];
+ pair Freq[][];
+ for k=1 upto total:
+ nb[k]:=0;
+ freq[k]=0;
+ endfor;
+ %
+ for k=1 upto (Lancers*1000):
+ nn:=floor(uniformdeviate(SommeTotale))+1;
+ if nn=0:
+ message("il est nul...");
+ fi;
+ for l=1 upto total:
+ if (nn>borne[l-1]) and (nn<borne[l]+1):
+ nb[l]:=nb[l]+1;
+ fi;
+ freq[l]:=nb[l]/k;
+ Freq[l][k]=pp(k,freq[l]);
+ endfor;
+ endfor;
+ %
+ def Style=enddef;
+ def Stylea=dashed evenly enddef;
+ def Styleb=dashed withdots scaled 1/2 enddef;
+ def Stylec=dashed dashpattern(on 1 off 1) enddef;
+ def Styled=dashed withdots scaled 1/4 enddef;
+ def Stylee=dashed dashpattern(on 6 off2) enddef;
+ parc:=0;
+ for l=1 upto total:
+ if \useKV[PfCFrequence]{Couleur}=false:
+ if (l mod 6)=1:
+ elseif (l mod 6)=2:
+ drawoptions(Stylea);
+ elseif (l mod 6)=3:
+ drawoptions(Styleb);
+ elseif (l mod 6)=4:
+ drawoptions(Stylec);
+ elseif (l mod 6)=5:
+ drawoptions(Styled);
+ else:
+ drawoptions(Stylee);
+ fi;
+ if \useKV[PfCFrequence]{Legende}:
+ parc:=incr(parc);
+ if l<>LegendeVide:
+ draw pp(Lancers*400*((parc-1) mod 3),-0.25-0.1*((parc-1) div 3))--pp(Lancers*400*((parc-1) mod 3)+125,-0.25-0.1*((parc-1) div 3));
+ label.rt(TEX(Legende[l]),pp(Lancers*400*((parc-1) mod 3)+125,-0.25-0.1*((parc-1) div 3)));
+ else:
+ parc:=parc-1;
+ fi;
+ fi;
+ fi;
+ %
+ if l<>LegendeVide:
+ if Lancers<1:
+ trace Freq[l][1]
+ for k=2 upto (1000*Lancers):
+ --Freq[l][k]
+ endfor withcolor if unknown Col[l]:black else:Col[l] fi;
+ else:
+ trace Freq[l][1]
+ for k=5 step 4 until (1000*Lancers):
+ --Freq[l][k]
+ endfor withcolor if unknown Col[l]:black else:Col[l] fi;
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ for k=1 upto 10 :
+ label.bot(TEX("\scriptsize\num{"&decimal((100*k)*Lancers)&"}"),pp(Lancers*100k,0));
+ endfor;
+ for k=2 step 2 until 10:
+ label.lft(TEX("\scriptsize\num{"&decimal(k/10)&"}"),pp(0,k/10));
+ endfor;
+ label.llft(TEX("\scriptsize 0"),pp(0,0));
+ label.urt(TEX("Fréquence"),pp(0,1));
+ label.bot(TEX("Nombre de lancers"),pp(0.5*Lancers*(1000+200),-0.075));
+ \end{Geometrie}
+ \mplibnumbersystem{scaled}
+ \fi
+}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex b/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex
index 9745bb144c1..aaf9a67f20b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex
@@ -4,6 +4,9 @@
\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}%
\defKV[ClesRelie]{Graine=\PfCGraineAlea{#1}}%
+\newcounter{NbRelie}%
+\newcounter{NbRelieD}
+
\NewDocumentCommand\Relie{som}{%
\useKVdefault[ClesRelie]%
\setKV[ClesRelie]{#2}%
@@ -33,7 +36,13 @@
\itemtomacro\ListeRelie[##1,1]\untest%
\ifx\bla\untest\bla%
\else%
- \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
+ \itemtomacro\ListeRelie[##1,3]\Foo
+ \setsepchar{-}\ignoreemptyitems%
+ \readlist*\ListeRelieReponses{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeRelieReponses{%
+ \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelieReponses[\compteurcnt]);}%
+ }
\fi
}%
}{%
@@ -41,49 +50,39 @@
}%
}%
-\newcommand\Relieold[2][]{%
- \useKVdefault[ClesRelie]%
- \setKV[ClesRelie]{#1}%
- \setsepchar[*]{,*/}\reademptyitems%
- \readlist*\ListeRelie{#2}%
- \ignoreemptyitems
- \buildtabrelie%
- \ifboolKV[ClesRelie]{Solution}{%
- \colorlet{PfCRelieCouleurTrace}{\useKV[ClesRelie]{Couleur}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
- \itemtomacro\ListeRelie[##1,1]\untest
- \ifx\bla\untest\bla%
- \else
- \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
- \fi
- }%
- }{%
- }%
-}%
-
-\newcounter{NbRelie}%
-
\def\buildtabrelie{%
\setcounter{NbRelie}{0}%
+ \setcounter{NbRelieD}{0}%
\renewcommand{\arraystretch}{\useKV[ClesRelie]{Stretch}}%
- \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}>{\tikz[remember
- picture]{\node[name=RelieD-\theNbRelie,inner
- sep=0pt]{};\fill[] (RelieD-\theNbRelie) circle[radius=1.5pt]}}cp{\useKV[ClesRelie]{LargeurD}}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{\ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
-\ifx\bla\untest\bla%
+ \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}cp{\useKV[ClesRelie]{LargeurD}}}%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
+ \ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
+ \ifx\bla\untest\bla%
\uppercase{&}\stepcounter{NbRelie}%
\else
\uppercase{&}\stepcounter{NbRelie}\tikz[remember
picture,overlay]{\node[name=RelieG-\theNbRelie,inner
sep=0pt]{};\fill[]
(RelieG-\theNbRelie) circle[radius=1.5pt];}
-\fi&&&\ListeRelie[##1,2]\\}%
+ \fi&&
+ \itemtomacro\ListeRelie[##1,2]\untest
+ \ifx\bla\untest\bla\else\stepcounter{NbRelieD}\tikz[remember
+ picture]{\node[name=RelieD-\theNbRelieD,inner
+ sep=0pt]{};\fill[] (RelieD-\theNbRelieD) circle[radius=1.5pt]}
+ \fi
+ &\itemtomacro\ListeRelie[##1,2]\untest%
+ \ifx\bla\untest\bla
+ \else
+ \ListeRelie[##1,2]
+ \fi\\}%
\end{tabular}%
- \setcounter{NbRelie}{0}%
+ %\setcounter{NbRelie}{0}%
+ %\setcounter{NbRelieD}{0}%
}%
\def\buildtabrelieauto{%
\setcounter{NbRelie}{0}%
+ \setcounter{NbRelieD}{0}%
\xdef\PfCFooListeNbQ{1}%
\xintFor* ##1 in{\xintSeq{2}{\ListeRelielen}}\do{%
\xdef\PfCFooListeNbQ{\PfCFooListeNbQ,##1}%
@@ -110,4 +109,5 @@
\fi&&&\itemtomacro\PfCListeReponsesMelangees[##1]\PfCNumReponses\ListeRelie[\PfCNumReponses,2]\\}%
\end{tabular}%
\setcounter{NbRelie}{0}%
-}% \ No newline at end of file
+}%
+
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex b/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex
index 9da7bce2594..037b80e50f0 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex
@@ -1,11 +1,118 @@
%%%
% Solide et sections
%%%
-\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,RayonCone=1,HauteurCone=2,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
+\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,Arete=1,RayonCone=1,HauteurCone=2,HauteurPrisme=2,SommetsPrisme=6,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
\defKV[ClesSolides]{Traces=\setKV[ClesSolides]{Code}}%
\defKV[ClesSolides]{Section=\setKV[ClesSolides]{Sections}}%
\defKV[ClesSolides]{CouleurSection=\setKV[ClesSolides]{RemplisSection}}%
+\newcommand\MPSolidePrisme[4]{%
+ \ifluatex
+ \mplibnumbersystem{double}
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ boolean Pointilles,TraceArete,NommeSommets,Code,AutoLabel,Sections,RemplisSection;
+ AutoLabel:=\useKV[ClesSolides]{AutoLabel};
+ Pointilles=\useKV[ClesSolides]{Pointilles};
+ TraceArete=\useKV[ClesSolides]{Aretes};
+ NommeSommets=\useKV[ClesSolides]{Sommets};
+ Code=\useKV[ClesSolides]{Code};
+ Sections:=\useKV[ClesSolides]{Sections};
+ RemplisSection=\useKV[ClesSolides]{RemplisSection};
+ if RemplisSection:color CouleurSection;CouleurSection=\useKV[ClesSolides]{CouleurSection};fi;
+
+ color PfCOutColor;
+ PfCOutColor=Cornsilk;%\useKV[ClesSolides]{Couleur};
+
+ string Section;
+ if Sections:Section=\useKV[ClesSolides]{Section};fi;
+
+ %Initialisation
+ PfCRho=\useKV[ClesSolides]{Rho};
+ PfCPhi=\useKV[ClesSolides]{Phi};
+ PfCTheta=\useKV[ClesSolides]{Theta};
+ PfCDistance=\useKV[ClesSolides]{Distance};
+ anglerotationx=\useKV[ClesSolides]{Anglex};
+ hauteurprisme=\useKV[ClesSolides]{HauteurPrisme};
+ nombresommets=\useKV[ClesSolides]{SommetsPrisme};
+ Initialisation(PfCRho,PfCPhi,PfCTheta,PfCDistance);
+ typetrace:="3D";
+ typerepre:="persp";
+ eclairage:=false;
+ incolor:=white;
+ outcolor:=white;
+ if Pointilles=false:
+ pointilles:="non";
+ fi;
+
+ Ferme1:=true;
+
+ color A,B,C,D,E,F,G,H;
+ color Sommet[];
+
+ NbS:=nombresommets;
+
+ color TS[];
+
+ ecartangle=360/(NbS/2);
+ for k=1 upto (NbS/2):
+ repereangle:=(k-2)*ecartangle+(ecartangle*0.25+uniformdeviate(floor(ecartangle/2)));
+ TS[k]:=(cosd(repereangle),-sind(repereangle),0);
+ endfor;
+ TS[NbS/2+1]:=TS[1];
+
+ for k=1 upto (NbS/2):
+ TS[NbS/2+1+k]:=TS[k]+(0,0,hauteurprisme);
+ endfor;
+ TS[NbS+2]:=TS[NbS/2+2];
+
+ angx:=anglerotationx;
+ for k=1 upto (NbS+2):
+ TS[k]:=RotXYZ(TS[k]);
+ endfor;
+ angx:=0;
+
+ ObjetNew1(%
+ TS1, for k=2 upto (NbS+1):TS[k], endfor TS[NbS+2]
+ )(%
+ NbS/2, for p_=1 upto NbS/2:p_, endfor
+ NbS/2, for p_=NbS/2+1 downto NbS+2:p_, endfor
+ for p=1 upto NbS/2:
+ 4,p,p+1,NbS/2+1+p+1,NbS/2+1+p,%
+ endfor
+ );
+ %AffichageObjet1;
+
+ NF:=(NbS/2+2);
+ Fc[100*(NbS/2+1)]:=NbS/2;
+ for k=1 upto NbS/2:
+ Fc[100*(NbS/2+1)+k]:=k;
+ endfor;
+ Fc[100*(NbS/2+2)]:=NbS/2;
+ for k=1 upto NbS/2:
+ Fc[100*(NbS/2+2)+k]:=NbS+2-k;
+ endfor;
+ for l=1 upto NbS/2:
+ Fc[l*100]:=4;
+ %for k=1 upto 4:
+ Fc[l*100+1]:=l;Fc[l*100+4]:=l+1;Fc[l*100+3]:=NbS/2+1+l+1;Fc[l*100+2]:=NbS/2+1+l;
+ %Fc[101]:=1;Fc[102]:=2;Fc[103]:=6;Fc[104]:=5;
+ %endfor;
+ endfor;
+ DessineObjet;
+% picture Depart;
+% Depart=currentpicture;
+% currentpicture:=nullpicture;
+% for k=1 upto 8:
+% dotlabel.top(decimal(k),Projette(TS[k]));
+% endfor;
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \fi
+}
+
\newcommand\MPSolideCylindre[3]{%
\ifluatex
\mplibnumbersystem{double}
@@ -927,7 +1034,7 @@
\foreachitem\compteur\in\ListeNomSommet{\expandafter\UpdatetoksSolide\compteur\nil}%\the\toksolidelistesommets%
\IfStrEqCase{\useKV[ClesSolides]{Nom}}{%
{cube}{%
- \MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{1,1,1}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
+ \MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{Arete},\useKV[ClesSolides]{Arete},\useKV[ClesSolides]{Arete}}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
}%
{pave}{%
\MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{Profondeur},\useKV[ClesSolides]{Largeur},\useKV[ClesSolides]{Hauteur}}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
@@ -935,6 +1042,9 @@
{cone}{%
\MPSolideCone{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{PointsSection}}%
}%
+ {prisme}{%
+ \MPSolidePrisme{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{}{\useKV[ClesSolides]{PointsSection}}%
+ }%
{pyramide}{%
\MPSolidePyramide{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{DecalageSommet}}{\useKV[ClesSolides]{PointsSection}}%
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex
index 949c781ce78..461a42fb717 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex
@@ -18,9 +18,10 @@
Axes=false,%Affichage des axes ou pas
Origine={(0,0)},%Origine des axes
Cases=false,%Se déplace-t-on sur des cases ?
+ Trace=false%
}
\defKV[Tortue]{Etape=\setKV[Tortue]{Etapes}}%choix de l'étape d'arrêt
-
+\defKV[Tortue]{Traces=\setKV[Tortue]{Trace}}%
\newcounter{PfCTortue}
\setcounter{PfCTortue}{0}
@@ -178,6 +179,9 @@
\ifboolKV[Tortue]{Etapes}{%
\immediate\write\turtle@out{drawoptions(withcolor DarkGreen);label(btex \noexpand\Large\noexpand\ding{40} etex rotated RetiensAngle[Total] scaled 1.5,A[Total]);}%
}{\ifboolKV[Tortue]{TortueF}{\immediate\write\turtle@out{drawoptions(withcolor DarkGreen);label(btex \noexpand\Large\noexpand\ding{40} etex rotated RetiensAngle[k] scaled 1.5,A[k]);}}{}}%
+ \ifboolKV[Tortue]{Trace}{%
+ \immediate\write\turtle@out{\useKV[Tortue]{Traces}}%
+ }{}%
\immediate\closeout\turtle@out%
\restorecomparemode%
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex b/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex
new file mode 100644
index 00000000000..895f96136c2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex
@@ -0,0 +1,928 @@
+%%%
+% Urne et probabilités
+%%%
+\newtoks\tokUrneListeCouleurs%
+\newtoks\tokUrneListeColonnes%
+\newtoks\tokUrneListeNombres%
+
+\def\UpdatetoksUrneCouleurs#1\nil{\addtotok\tokUrneListeCouleurs{#1,}}%
+\def\UpdatetoksUrneNombres#1\nil{\addtotok\tokUrneListeNombres{"#1",}}%
+\def\UpdatetoksUrneColonnes#1\nil{\addtotok\tokUrneListeColonnes{"#1",}}%
+
+\setKVdefault[PfCUrne]{Couleurs=false,Nombres=false,Pas=4,Echelle=1,Repartition={1,2,3},Double=false,RepartitionC={1,2,3},RepartitionN={1,2,3},Roue=false,Rayon=3,Tableau=false,SansRemise=false,Solution=false,Codes=false,CouleurLigne=0.85white,CouleurColonne=0.85white,Different=false,RepartitionLigne={1,2,3},RepartitionColonne={1,2,3},Impression,Casino=false}%
+\defKV[PfCUrne]{Traces=\setKV[PfCUrne]{Codes}}%
+\defKV[PfCUrne]{ListeCouleurs=\setKV[PfCUrne]{Couleurs}\setsepchar{,}\ignoreemptyitems\readlist*\ListeCouleursAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeNombres=\setKV[PfCUrne]{Nombres}\setsepchar{,}\ignoreemptyitems\readlist*\ListeNombresAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeColonne=\setsepchar{,}\ignoreemptyitems\readlist*\ListeCouleursAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeLigne=\setsepchar{,}\ignoreemptyitems\readlist*\ListeNombresAv{#1}\reademptyitems}%
+
+\NewDocumentCommand\BuildRoulette{}{%
+ \ifluatex
+ \begin{Geometrie}[Cadre="aucun"]
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+
+ color colzero,colrouge,coltoura,coltourb,colbarre;
+
+ boolean Impression;
+ Impression=\useKV[PfCUrne]{Impression};
+
+ if Impression=false:
+ colzero=green;
+ colrouge=red;
+ coltoura=(179,103,0)/256;
+ coltourb=(179,111,48)/256;%(184,114,50)/256;
+ colbarre=0.7529white;
+ else:
+ colzero=white;
+ colrouge=white;
+ coltoura=black;
+ coltourb=black;
+ colbarre=black;
+ fi;
+ pair O,A[],B[],C[],D[];
+ path cc[];
+ O=(0,0);
+ cc1=cercles(O,2u);
+ cc2=cercles(O,2.75u);
+ cc3=cercles(O,3.5u);
+ cc4=cercles(O,3.7u);
+ cc5=cercles(O,4u);
+ cc6=cercles(O,3.125u);
+ cc7=cercles(O,2.375u);
+ if Impression=false:
+ fill cc5 withcolor coltoura;
+ fill cc4 withcolor coltourb;
+ fill cc1 withcolor coltoura;
+ trace cc1 withpen pencircle scaled 1.05;
+ trace cc5 withpen pencircle scaled 1.05;
+ trace cc4 withpen pencircle scaled 1.05;
+ trace cc3 withpen pencircle scaled 1.05;
+ else:
+ fill cc5;
+ fill cc4 withcolor white;
+ trace cc1;
+ trace cc3;
+ fi;
+ for k=0 upto 38:
+ A[k]=pointarc(cc3,90-k*(360/37));
+ B[k]=pointarc(cc1,90-k*(360/37));
+ endfor;
+ na:=1;
+ for p_=32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26,0:
+ if (na mod 2)=0:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle;
+ drawoptions(withcolor white);
+ label(TEX("\textbf{"&decimal(p_)&"}") rotated (-na*(360/37)),pointarc(cc6,90+0.5*(360/37)-na*(360/37)));
+ drawoptions();
+ else:
+ if p_=0:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle withcolor colzero;
+ else:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle withcolor colrouge;
+ fi;
+ if Impression=false:
+ drawoptions(withcolor white);
+ fi;
+ label(TEX("\textbf{"&decimal(p_)&"}") rotated (-na*(360/37)),pointarc(cc6,90+0.5*(360/37)-na*(360/37)));
+ if Impression=false:
+ drawoptions();
+ fi;
+ fi;
+ trace arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle;
+ na:=na+1;
+ endfor;
+ trace cc2;
+ fill cercles(pointarc(cc7,90+0.5*(360/37)),0.125u);%dotlabel("",);
+ % barre
+ cc8=cercles(O,1.5u);
+ cc9=cercles(O,0.25u);
+ fill cc9 withcolor colbarre;
+ pair E[];
+ anglebase=floor(uniformdeviate(360));
+ E1=pointarc(cc8,anglebase);
+ E4=pointarc(cc8,anglebase+6);
+ E3=symetrie(E1,O);
+ E2=symetrie(E4,O);
+ E5=pointarc(cc8,anglebase+90);
+ E8=pointarc(cc8,anglebase+6+90);
+ E7=symetrie(E5,O);
+ E6=symetrie(E8,O);
+ fill polygone(E1,E2,E3,E4) withcolor colbarre;
+ fill polygone(E5,E6,E7,E8) withcolor colbarre;
+ pair F[];
+ F1=(E1--iso(E1,E2)) intersectionpoint cc9;
+ F2=(E4--iso(E3,E4)) intersectionpoint cc9;
+ F3=(E5--iso(E6,E5)) intersectionpoint cc9;
+ F4=(E8--iso(E7,E8)) intersectionpoint cc9;
+ F5=(E3--iso(E4,E3)) intersectionpoint cc9;
+ F6=(E2--iso(E2,E1)) intersectionpoint cc9;
+ F7=(E7--iso(E8,E7)) intersectionpoint cc9;
+ F8=(E6--iso(E6,E5)) intersectionpoint cc9;
+ trace E1--E4--F2--arccercle(F2,F3,O)--E5--E8--F4--arccercle(F4,F5,O)--E3--E2--F6--arccercle(F6,F7,O)--E7--E6--F8--arccercle(F8,F1,O)--cycle;
+ \end{Geometrie}
+ \fi
+}%
+
+\NewDocumentCommand\BuildTableauDoubleEntreeDifferent{mmmm}{%
+ % #1 : les labels en colonne
+ % #2 : les labels en ligne
+ % #3 : la répartition en colonne
+ % #4 : la répartition en ligne
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNumC[],RetiensNumL[];
+ %
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNumL[n]=p_;
+ n:=n+1;
+ endfor;
+ totallignes=n;
+ enddef;
+ %
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNumC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalcolonnes=n;
+ enddef;
+ %
+ string Colonnes[];
+ vardef RecuperationColonnes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Colonnes[n]=p_;
+ endfor;
+ enddef;
+ %
+ string Lignes[];
+ vardef RecuperationLignes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Lignes[n]=p_;
+ endfor;
+ enddef;
+ %
+ boolean Solution, Codes;
+ Solution=\useKV[PfCUrne]{Solution};
+ Codes=\useKV[PfCUrne]{Codes};
+ %
+ color ColLigne,ColColonne;
+ ColLigne=\useKV[PfCUrne]{CouleurLigne};
+ ColColonne=\useKV[PfCUrne]{CouleurColonne};
+ %
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationColonnes(#1);
+ RecuperationLignes(#2);
+
+ pair A[][],C[][];
+ for k=0 upto totallignes+1:
+ for l=0 upto totalcolonnes+1:
+ A[k][l]=(0,0) shifted(u*(l,-k));
+ C[k][l]=A[k][l] shifted(u*(0.5,-0.5));
+ endfor;
+ endfor;
+
+ fill polygone(A[0][1],A[0][totalcolonnes+1],A[1][totalcolonnes+1],A[1][1]) withcolor ColLigne;
+ fill polygone(A[1][0],A[totallignes+1][0],A[totallignes+1][1],A[1][1]) withcolor ColColonne;
+ for k=1 upto totalcolonnes:
+ label(TEX(Colonnes[RetiensNumC[k-1]]),iso(A[1][k],A[0][k+1]));
+ endfor;
+ for k=1 upto totallignes:
+ label(TEX(Lignes[RetiensNumL[k-1]]),iso(A[k][0],A[k+1][1]));
+ endfor;
+ %
+ for k=1 upto totallignes:
+ trace segment(A[k][0],A[k][totalcolonnes+1]);
+ endfor;
+ for k=1 upto totalcolonnes:
+ trace segment(A[0][k],A[totallignes+1][k]);
+ endfor;
+ trace A[1][0]--A[totallignes+1][0]--A[totallignes+1][totalcolonnes+1]--A[0][totalcolonnes+1]--A[0][1];
+ labeloffset:=labeloffset*4;
+ label.top(TEX("Tirage 1"),iso(A[0][1],A[0][totalcolonnes+1]));
+ label.lft(TEX("Tirage 2") rotated 90,iso(A[totallignes+1][0],A[1][0]));
+ labeloffset:=labeloffset/4;
+
+ path ccsol[][];
+
+ if Solution:
+ for k=1 upto totallignes:
+ for l=1 upto totalcolonnes:
+ label(TEX(Colonnes[RetiensNumC[l-1]]&"--"&Lignes[RetiensNumL[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ endfor;
+ endfor;
+ fi;
+
+ if Codes:
+ \useKV[PfCUrne]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildTableauDoubleEntree{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNum[];
+ %
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+ %
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+ %
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+ %
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+ %
+ boolean Couleurs, Nombres, Roue, Solution, SansRemise, Codes;
+ Couleurs=\useKV[PfCUrne]{Couleurs};
+ Nombres=\useKV[PfCUrne]{Nombres};
+ Roue=\useKV[PfCUrne]{Roue};
+ Solution=\useKV[PfCUrne]{Solution};
+ SansRemise=\useKV[PfCUrne]{SansRemise};
+ Codes=\useKV[PfCUrne]{Codes};
+
+ color ColLigne,ColColonne;
+ ColLigne=\useKV[PfCUrne]{CouleurLigne};
+ ColColonne=\useKV[PfCUrne]{CouleurColonne};
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair O;
+ pair A[][],C[][];
+ for k=0 upto totalboules+1:
+ for l=0 upto totalboules+1:
+ A[k][l]:=(0,0) shifted(u*(l,-k));
+ endfor;
+ endfor;
+
+ for k=0 upto totalboules:
+ for l=0 upto totalboules:
+ C[k][l]=A[k][l] shifted(u*(0.5,-0.5));
+ endfor;
+ endfor;
+
+ if Couleurs:
+ drawoptions(withpen pencircle scaled 0.75);
+ for k=1 upto totalboules:
+ fill cercles(iso(A[1][k],A[0][k+1]),0.35u) withcolor Col[RetiensNum[k-1]];
+ fill cercles(iso(A[k][0],A[k+1][1]),0.35u) withcolor Col[RetiensNum[k-1]];
+ trace cercles(iso(A[1][k],A[0][k+1]),0.35u);
+ trace cercles(iso(A[k][0],A[k+1][1]),0.35u);
+ endfor;
+ drawoptions();
+ else:
+ fill polygone(A[0][1],A[0][totalboules+1],A[1][totalboules+1],A[1][1]) withcolor ColLigne;
+ fill polygone(A[1][0],A[totalboules+1][0],A[totalboules+1][1],A[1][1]) withcolor ColColonne;
+ for k=1 upto totalboules:
+ label(TEX(Nombres[RetiensNum[k-1]]),iso(A[1][k],A[0][k+1]));
+ label(TEX(Nombres[RetiensNum[k-1]]),iso(A[k][0],A[k+1][1]));
+ endfor;
+ fi;
+ if SansRemise:
+ for k=1 upto totalboules:
+ draw 1/8[A[k][k],A[k+1][k+1]]--7/8[A[k][k],A[k+1][k+1]];
+ draw 1/8[A[k+1][k],A[k][k+1]]--7/8[A[k+1][k],A[k][k+1]];
+ endfor;
+ fi;
+ for k=1 upto totalboules:
+ trace segment(A[k][0],A[k][totalboules+1]);
+ trace segment(A[0][k],A[totalboules+1][k]);
+ endfor;
+ trace A[1][0]--A[totalboules+1][0]--A[totalboules+1][totalboules+1]--A[0][totalboules+1]--A[0][1];
+ labeloffset:=labeloffset*4;
+ label.top(TEX("Tirage 1"),iso(A[0][1],A[0][totalboules+1]));
+ label.lft(TEX("Tirage 2") rotated 90,iso(A[totalboules+1][0],A[1][0]));
+ labeloffset:=labeloffset/4;
+
+ path ccsol[][];
+
+ if Solution:
+ if Couleurs:
+ drawoptions(withpen pencircle scaled 0.75);
+ for k=1 upto totalboules:
+ for l=1 upto totalboules:
+ ccsol[k][l]=cercles(iso(A[k][l],A[k+1][l+1]),0.25u);
+ if SansRemise:
+ if k<>l:
+ fill arccercle(pointarc(ccsol[k][l],315),pointarc(ccsol[k][l],135),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[l-1]];
+ fill arccercle(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[k-1]];
+ trace segment(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315));
+ trace ccsol[k][l];
+ fi;
+ else:
+ fill arccercle(pointarc(ccsol[k][l],315),pointarc(ccsol[k][l],135),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[l-1]];
+ fill arccercle(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[k-1]];
+ trace segment(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315));
+ trace ccsol[k][l];
+ fi;
+ endfor;
+ endfor;
+ drawoptions();
+ else:
+ for k=1 upto totalboules:
+ for l=1 upto totalboules:
+ if SansRemise:
+ if k<>l:
+ label(TEX(Nombres[RetiensNum[l-1]]&"--"&Nombres[RetiensNum[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ fi;
+ else:
+ label(TEX(Nombres[RetiensNum[l-1]]&"--"&Nombres[RetiensNum[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ fi;
+ endfor;
+ endfor;
+ fi;
+ fi;
+
+ if Codes:
+ \useKV[PfCUrne]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildUrne{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNum[];
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+
+ boolean Couleurs, Nombres, Roue;
+ Couleurs=\useKV[PfCUrne]{Couleurs};
+ Nombres=\useKV[PfCUrne]{Nombres};
+ Roue=\useKV[PfCUrne]{Roue};
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*u);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ drawarrow rotation((O+u*(0,1.35*Rayon))--(O+u*(0,1.1*Rayon)),O,angd);
+ % trace cc;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ if Couleurs:
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensNum[k-1]]:white else: Col[RetiensNum[k-1]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[k-1]]),A[k]);
+ fi;
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[k*Pas+l],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[(totalboules div Pas)*Pas+k],0.5u);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[PfCUrne]{Echelle}*1cm;numeric Pas;Pas=\useKV[PfCUrne]{Pas}; boolean Couleurs, Nombres; Couleurs=\useKV[PfCUrne]{Couleurs}; Nombres=\useKV[PfCUrne]{Nombres};}]
+ numeric RetiensNum[];
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair A[];
+
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[k*Pas+l],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[(totalboules div Pas)*Pas+k],0.5u);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\BuildUrneDouble{mmmm}{%
+ % #1 Liste Couleurs
+ % #2 Liste Nombres
+ % #3 Repartition des couleurs
+ % #4 Repartition des nombres
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensC[],RetiensNum[];
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+
+ boolean Roue;
+ Roue=\useKV[PfCUrne]{Roue};
+
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationCouleurs(#1);
+ RecuperationNombres(#2);
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*u);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensC[k-1]]:white else: Col[RetiensC[k-1]] fi;
+ label(TEX(Nombres[RetiensNum[k-1]]),A[k]);
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ drawarrow rotation((O+u*(0,1.35*Rayon))--(O+u*(0,1.1*Rayon)),O,angd);
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[PfCUrne]{Echelle}*1cm;numeric RetiensC[],RetiensNum[];numeric Pas,Rayon;Pas=\useKV[PfCUrne]{Pas};Rayon=\useKV[PfCUrne]{Rayon};boolean Roue;Roue=\useKV[PfCUrne]{Roue};}]
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationCouleurs(#1);
+ RecuperationNombres(#2);
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*1cm);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensC[k-1]]:white else: Col[RetiensC[k-1]] fi;
+ label(LATEX(Nombres[RetiensNum[k-1]]),A[k]);
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\SchemaProba{o}{%
+ \useKVdefault[PfCUrne]%
+ \setKV[PfCUrne]{#1}%
+ \tokUrneListeCouleurs{}%
+ \tokUrneListeNombres{}%
+ \tokUrneListeColonnes{}%
+ \ifboolKV[PfCUrne]{Casino}{%
+ \BuildRoulette%
+ }{%
+ \ifboolKV[PfCUrne]{Tableau}{%
+ \ifboolKV[PfCUrne]{Different}{%
+ \xdef\PfCFooRepartitionC{\useKV[PfCUrne]{RepartitionColonne}}%
+ \xdef\PfCFooRepartitionL{\useKV[PfCUrne]{RepartitionLigne}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionCAv{\PfCFooRepartitionC}%
+ \readlist*\ListeRepartitionLAv{\PfCFooRepartitionL}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartitionC{}%
+ \xdef\PfCFooListeRepartitionL{}%
+ \xdef\PfCTotalC{0}%
+ \xdef\PfCTotalL{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionCAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionCAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionC{\PfCFooListeRepartitionC,##1}%
+ \xdef\PfCTotalC{\fpeval{\PfCTotalC+1}}%
+ }%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionLAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionLAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionL{\PfCFooListeRepartitionL,##1}%
+ \xdef\PfCTotalL{\fpeval{\PfCTotalL+1}}%
+ }%
+ }%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneColonnes\compteur\nil}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildTableauDoubleEntreeDifferent{\the\tokUrneListeColonnes}{\the\tokUrneListeNombres}{\PfCFooListeRepartitionC}{\PfCFooListeRepartitionL}%
+ }{%
+ \xdef\PfCFooRepartition{\useKV[PfCUrne]{Repartition}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionAv{\PfCFooRepartition}%
+ \xdef\PfCFooListeRepartition{}%
+ \xdef\PfCTotal{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartition{\PfCFooListeRepartition,##1}%
+ \xdef\PfCTotal{\fpeval{\PfCTotal+1}}%
+ }%
+ }%
+ \ifboolKV[PfCUrne]{Couleurs}{%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ \BuildTableauDoubleEntree{\the\tokUrneListeCouleurs}{}{\PfCFooListeRepartition}%
+ }{%
+ \ifboolKV[PfCUrne]{Nombres}{%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildTableauDoubleEntree{}{\the\tokUrneListeNombres}{\PfCFooListeRepartition}%
+ }{}%
+ }%
+ }%
+ }{%
+ \ifboolKV[PfCUrne]{Double}{%
+ \xdef\PfCFooRepartitionC{\useKV[PfCUrne]{RepartitionC}}%
+ \xdef\PfCFooRepartitionN{\useKV[PfCUrne]{RepartitionN}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionCAv{\PfCFooRepartitionC}%
+ \readlist*\ListeRepartitionNAv{\PfCFooRepartitionN}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartitionC{}%
+ \xdef\PfCFooListeRepartitionN{}%
+ \xdef\PfCTotalC{0}%
+ \xdef\PfCTotalN{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionCAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionCAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionC{\PfCFooListeRepartitionC,##1}%
+ \xdef\PfCTotalC{\fpeval{\PfCTotalC+1}}%
+ }%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionNAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionNAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionN{\PfCFooListeRepartitionN,##1}%
+ \xdef\PfCTotalN{\fpeval{\PfCTotalN+1}}%
+ }%
+ }%
+ \MelangeListe{\PfCFooListeRepartitionC}{\PfCTotalC}%
+ \xdef\ListeRepartitionCouleurs{\faa}%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ \MelangeListe{\PfCFooListeRepartitionN}{\PfCTotalN}%
+ \xdef\ListeRepartitionNombres{\faa}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildUrneDouble{\the\tokUrneListeCouleurs}{\the\tokUrneListeNombres}{\ListeRepartitionCouleurs}{\ListeRepartitionNombres}%
+ }{%
+ \xdef\PfCFooRepartition{\useKV[PfCUrne]{Repartition}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionAv{\PfCFooRepartition}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartition{}%
+ \xdef\PfCTotal{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartition{\PfCFooListeRepartition,##1}%
+ \xdef\PfCTotal{\fpeval{\PfCTotal+1}}%
+ }%
+ }%
+ \ifboolKV[PfCUrne]{Couleurs}{%
+ \MelangeListe{\PfCFooListeRepartition}{\PfCTotal}%
+ \xdef\ListeRepartitionCouleurs{\faa}%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ % Couleurs :\\
+ % La répartition est : \ListeRepartitionCouleurs\\
+ % Les couleurs sont : \the\tokUrneListeCouleurs.\\
+ \BuildUrne{\the\tokUrneListeCouleurs}{}{\ListeRepartitionCouleurs}%
+ }{%
+ \ifboolKV[PfCUrne]{Nombres}{%
+ \MelangeListe{\PfCFooListeRepartition}{\PfCTotal}%
+ \xdef\ListeRepartitionNombres{\faa}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ % Nombres :\\
+ % La répartition est : \ListeRepartitionNombres\\
+ % Les nombres sont : \the\tokUrneListeNombres.\\
+ \BuildUrne{}{\the\tokUrneListeNombres}{\ListeRepartitionNombres}%
+ }{}%
+ }%
+ }%
+}%
+}%
+}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty b/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
index ca3b52ba9ad..a6b767a3bf1 100644
--- a/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
+++ b/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2024/05/18}%
+\def\filedate{2024/07/03}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-A-f}%
+\def\fileversion{0.99-A-g}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -124,7 +124,6 @@
\RequirePackage{listofitems}%
\RequirePackage{datatool}%
\RequirePackage{multido}%
-
\RequirePackage{xlop}%
\RequirePackage{tcolorbox}%
@@ -637,18 +636,18 @@
\tikzset{face/.style={shape=circle,minimum size=4ex,shading=radial,outer sep=0pt, inner color=white!50!yellow,outer color= yellow!70!orange}}
\newcommand\emoticon[2][]{%
-\scalebox{.5}{\begin{tikzpicture}
-\node[face,#1,draw,thick] (emoticon) {};
+\scalebox{.5}{\begin{tikzpicture}%
+\node[face,#1,draw,thick] (emoticon) {};%
%% The eyes are fixed.
\draw[fill=white] (-1ex,0ex) ..controls (-0.5ex,0.2ex)and(0.5ex,0.2ex)..(1ex,0.0ex) ..controls ( 1.5ex,1.5ex)and( 0.2ex,1.7ex)..(0ex,0.4ex) ..controls (-0.2ex,1.7ex)and(-1.5ex,1.5ex)..(-1ex,0ex)--cycle;
#2%
\end{tikzpicture}}%
-}
+}%
-\newcommand\pupils{
+\newcommand\pupils{%
%% standard pupils
-\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
-\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}
+\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);%
+\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}%
\def\RKsmallsmile{%
\emoticon{%
@@ -656,14 +655,14 @@
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
}%\emoticon
-}
+}%
\def\RKsmile{%
\emoticon{%
\pupils
\draw[thick] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
-}
+}%
\def\RKbigsmile{%
\emoticon{%
@@ -671,7 +670,7 @@
%% mouth
\draw[thick] (-1.5ex,-0.5ex)..controls (-0.7ex,-1.7ex)and(0.7ex,-1.7ex)..(1.5ex,-0.5ex);
}%\emoticon
-}
+}%
\def\RKsad{%
\emoticon{%
@@ -681,7 +680,7 @@
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
}%\emoticon
-}
+}%
\def\RKneutral{%
\emoticon{%
@@ -691,7 +690,7 @@
%% mouth
\draw[thick] (-0.5ex,-1ex)--(0.5ex,-1ex);
}%\emoticon
-}
+}%
\def\RKconfused{%
\emoticon{%
@@ -716,19 +715,19 @@
(-1.00ex,1.00ex)--(-1.20ex,1.10ex)
(-0.35ex,1.15ex)--(-0.25ex,1.35ex);
}%\emoticon
-}
+}%
\def\RKangry{%
\emoticon{%
%% pupils
-\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
-\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
+\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);%
+\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);%
%% mouth
-\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
+\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);%
%% eyebrows
-\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);
+\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);%
}%\emoticon
-}
+}%
\def\RKlookup{%
\emoticon{%
@@ -826,6 +825,8 @@
\def\PfCSymbolTimes{\times}%
\def\PfCSymbolDiv{\div}%
+\input{PfCUrneProba}
+\input{PfCProbaFrequence}
\input{PfCVisualisationMulDeci}
\input{PfCArbreChiffre}
\input{PfCAssemblagesSolides}
@@ -971,4 +972,11 @@
\input{PfCDomino}
\input{PfCProgrammeCalcul}
\input{PfCPapiers}
-\input{PfCScratch} \ No newline at end of file
+\input{PfCScratch}
+
+\RequirePackage{PfCInfixRPN}
+%\makeatletter
+%\let\@nil\@empty
+%\makeatother
+
+\input{PfCArbreCalcul} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
index f6222383099..e37ce44eeb0 100644
--- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
+++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
@@ -3,7 +3,9 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2024/05/09 3.04b Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2024/07/13 3.04d Aide pour l'utilisation de LaTeX en lycee]
+% 3.04d PitonInputFile et styles
+% 3.04c Max et min pour des fonctions
% 3.04b Travail sur la loi binomiale + Ajout de clés pour les environnements graphiques
% 3.04a Améliorations de la partie graphiques tikz (intégrales, axes) + Factorielle
% 3.03d Page de garde type BAC
@@ -146,7 +148,6 @@
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{decorations.pathmorphing}
%tcolorbox
-%\RequirePackage[most]{tcolorbox}
\RequirePackage{tcolorbox}%
\tcbuselibrary{breakable,fitting,skins,listings,listingsutf8,hooks}
%divers
diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex
index ade88434c2c..1581688cb1f 100644
--- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex
+++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex
@@ -996,4 +996,15 @@
}%
}
+%----max/min
+\NewDocumentCommand\DetermineMax{ O{0.01} m m m O{\tmpmax} O{\tmpmaxvalx} }{%
+ \xdef#5{\xintfloateval{max(seq(#2,x=#3..[#1]..#4,#4))}}%
+ \xdef#6{\xintfloateval{first(seq((#2 == #5)?{x}{},x=#3..[#1]..#4,#4))}}%
+}
+
+\NewDocumentCommand\DetermineMin{ O{0.01} m m m O{\tmpmin} O{\tmpminvalx} }{%
+ \xdef#5{\xintfloateval{min(seq(#2,x=#3..[#1]..#4,#4))}}%
+ \xdef#6{\xintfloateval{first(seq((#2 == #5)?{x}{},x=#3..[#1]..#4,#4))}}%
+}
+
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex
index 418c5aa8cca..0cb6600617a 100644
--- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex
+++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex
@@ -2,6 +2,7 @@
% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+%3.04d PitonInputFile et styles, pour compatibilité pfm
%3.03c Thonny via piton + modification clé gobble ?
%3.01f PseudoCode via piton (?)
%3.01e Correction du comportement de la console repl piton/pyluatex
@@ -220,6 +221,57 @@
\endtcolorbox%
}
+%inputfile
+\NewDocumentCommand\CodePitonFichier{ O{} m D<>{} }{%
+ {\tcbset{reset}
+ \useKVdefault[envpiton]%
+ \setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
+ \SetPitonStyle{ Number = \color{\CODPITcolnb} }
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=0.75em,line-numbers,line-numbers={skip-empty-lines=false,label-empty-lines=true,#3}}}%left-margin=auto,
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines,continuation-symbol={\;}}%,numbers-sep=0.65em}%language=Python}
+ %------les styles tcbox
+ \IfEq{\CODPITstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{cadre/.style={}}
+ \tcbset{titre/.style={}}
+ \tcbset{stylebase/.style={stylepiton,colframe=CouleurVertForet,colback=CouleurVertForet!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign,leftupper=0.75em}}
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ }
+ {}%
+ \IfEq{\CODPITstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\tcbset{stylebase/.style={thonnystylelineos,leftupper=0.75em,width=\CODPITlargeur,colframe=darkgray!50!black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}}}%
+ {\tcbset{stylebase/.style={thonnystyle,leftupper=0.4em,width=\CODPITlargeur,colframe=darkgray!50!black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}}}%
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ \ifboolKV[envpiton]{BarreTitre}%
+ {%
+ \ifboolKV[envpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}%
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}%
+ \tcbset{titre/.style={lefttitle=0.4em,title={\CODPITtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=darkgray!50!black}}
+ }%
+ {%
+ \tcbset{titre/.style={notitle}}
+ \ifboolKV[envpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \tcolorbox[stylebase,filigrane,cadre,titre]
+ \PitonInputFile{#2}
+ \endtcolorbox}%
+}
+
%piton >= 2.4
\NewPitonEnvironment{PseudoCodePiton}{ O{} m D<>{} }%
{%
@@ -317,6 +369,86 @@
\endtcolorbox%
}
+%--inputfile
+\NewDocumentCommand\PseudoCodePitonFichier{ O{} m D<>{} }{%
+ {\tcbset{reset}
+ \useKVdefault[envpcpiton]%
+ \setKV[envpcpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
+ \ifboolKV[envpcpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=0.75em,all-line-numbers}}%left-margin=auto,
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines,language=minimal,continuation-symbol={\;}}%,numbers-sep=0.65em}%
+ \SetPitonStyle{ Number = }
+ \ifboolKV[envpcpiton]{Couleurs}%
+ {%
+ \SetPitonIdentifier[minimal]{Algorithme,Fonction,Début,Paramètre,Paramètres,Faire,Fin,Si,Pour,Tant,Que,que,alors,Alors,Sinon,SinonSi,FinSi,FinPour,FinTantQue,TantQue,Variable,Variables,Procédure}{\color{MotsClesPseudoCodeA}}
+ \SetPitonIdentifier[minimal]{Afficher,Renvoyer,Saisir}{\color{MotsClesPseudoCodeB}}
+ % \PitonOptions{
+ % identifiers =
+ % {
+ % names = {Algorithme,Fonction,Début,Paramètre,Paramètres,allant,Faire,Fin,Si,Pour,Tant,Que,que,alors,Alors,Sinon,SinonSi,FinSi,FinPour,FinTantQue,TantQue,Variable,Variables,Procédure},
+ % style = \color{MotsClesPseudoCodeA}
+ % } ,
+ % identifiers =
+ % {
+ % names = {Afficher,Retourner,Saisir},
+ % style = \color{MotsClesPseudoCodeB}
+ % }
+ % }%
+ \SetPitonStyle
+ {
+ String = \color{MotsClesPseudoCodeChaine},
+ Comment = \itshape\color{gray},
+ }
+ }%
+ {%
+ \SetPitonStyle
+ {
+ String = ,
+ Comment = \itshape
+ }
+ }%
+ %------les styles tcbox
+ \IfEq{\CODPITPCstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{cadre/.style={}}
+ \tcbset{titre/.style={}}
+ \tcbset{stylebase/.style={stylepcpiton,colframe=CouleurVertForet,colback=CouleurVertForet!5,width=\CODPITPClargeur,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign,leftupper=0.75em}}
+ \ifboolKV[envpcpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faCode},watermark opacity=0.175,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ }
+ {}%
+ \IfEq{\CODPITPCstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpcpiton]{Lignes}%si lignes=true
+ {\tcbset{stylebase/.style={thonnypcstylelineos,leftupper=0.75em,width=\CODPITPClargeur,colframe=darkgray!50!black,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign}}}%
+ {\tcbset{stylebase/.style={thonnypcstyle,leftupper=0.4em,width=\CODPITPClargeur,colframe=darkgray!50!black,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign}}}%
+ \ifboolKV[envpcpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faCode},watermark opacity=0.25,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ \ifboolKV[envpcpiton]{BarreTitre}%
+ {%
+ \ifboolKV[envpcpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}%
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}%
+ \tcbset{titre/.style={lefttitle=0.4em,title={\CODPITPCtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=darkgray!50!black}}
+ }%
+ {%
+ \tcbset{titre/.style={notitle}}
+ \ifboolKV[envpcpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \tcolorbox[stylebase,filigrane,cadre,titre]
+ \PitonInputFile{#2}%
+ \endtcolorbox}%
+}
+
%======CONSOLE PYLUATEX (package à charger manuellement !!)
\tcbset{consolepylua/.style={%base de la boîte
enhanced,colback=white,colframe=CouleurVertForet,sharp corners,boxrule=1pt,%
@@ -428,6 +560,18 @@
\endtcolorbox%
}%
+\NewDocumentCommand\PitonThonnyEditorFichier{ D<>{} O{\linewidth} m }{%
+ {\restoreKV[pitonthonny]%
+ \setKV[pitonthonny]{#1}%
+ \settowidth{\LargeurNumbersThonny}{\footnotesize\texttt{00}}%
+ \PitonOptions{left-margin=\LargeurNumbersThonny+1mm,line-numbers,line-numbers={skip-empty-lines=false,label-empty-lines=true},break-lines,indent-broken-lines,continuation-symbol={}}%
+ \tcbset{tcbthonnypiton/.style={title=\vphantom{pf}\thonnypitonfilename\:\textcolor{gray}{×}},before skip=0.33\baselineskip,after skip=0.33\baselineskip}%
+ \tcolorbox[sharp corners=all,enhanced,size=small,width=#2,colframe=gray,colback=lightgray!5,tcbthonnypiton,fonttitle=\scriptsize\sffamily,coltitle=black,
+ attach boxed title to top left={yshift*=-0.4pt},fontupper=\footnotesize,bottom=-0.25mm,boxed title style={size=tight,colback=lightgray!15,sharp corners=all,boxrule=0.4pt,boxsep=2pt},boxrule=0.4pt,overlay={\begin{tcbclipinterior}\fill[draw=none,gray!25] ([shift={(0.4pt,0.4pt)}]frame.south west) rectangle ([shift={(\LargeurNumbersThonny+1mm+0.8pt,-0.4pt)}]frame.north west) ;\end{tcbclipinterior}}]%
+ \PitonInputFile{#3}
+ \endtcolorbox}%
+}%
+
\NewDocumentEnvironment{PitonThonnyConsole}{ D<>{} O{} m }%
{
\restoreKV[pitonthonny]%
diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex
index cd01f4393b3..89fe8945032 100644
--- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex
+++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex
@@ -75,6 +75,69 @@
\expandafter\def\csname\RegLinCoeffrd\endcsname{\fpeval{\csname\RegLinCoeffr\endcsname*\csname\RegLinCoeffr\endcsname}}
}
+\defKV[coeffregquad]{%
+ NomCoeffa=\def\RegQuadCoeffa{#1},%
+ NomCoeffb=\def\RegQuadCoeffb{#1},%
+ NomCoeffc=\def\RegQuadCoeffc{#1},%
+ NomXmin=\def\RegQuadCoeffXmin{#1},%
+ NomXmax=\def\RegQuadCoeffXmax{#1}
+}
+
+\setKVdefault[coeffregquad]{%
+ NomCoeffa=COEFFa,%
+ NomCoeffb=COEFFb,%
+ NomCoeffc=COEFFc,%
+ NomXmin=LXmin,%
+ NomXmax=LXmax
+}
+
+\newcommand\CalculsRegQuad[3][]{%
+ \useKVdefault[coeffregquad]%
+ \setKV[coeffregquad]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %xmin et xmax
+ \expandafter\def\csname\RegQuadCoeffXmin\endcsname{\xintfloateval{min(#2)}}%
+ \expandafter\def\csname\RegQuadCoeffXmax\endcsname{\xintfloateval{max(#2)}}%
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[\i]}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[\i])^2}}%
+ }%
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[\i]}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[\i]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[\i]-\LXmoy)*(\LY[\i]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[\i]-\LXmoy)*((\LX[\i])*(\LX[\i])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[\i])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[\i])^2-\LXCmoy)*(\LY[\i]-\LYmoy)}}%
+ }%
+ %COEFFS OK
+ \expandafter\def\csname\RegQuadCoeffb\endcsname{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \expandafter\def\csname\RegQuadCoeffa\endcsname{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \expandafter\def\csname\RegQuadCoeffc\endcsname{\xintfloateval{\LYmoy-\csname\RegQuadCoeffb\endcsname*\LXmoy-\csname\RegQuadCoeffa\endcsname*\LXCmoy}}%
+}
+
%pour un nuage en TiKz
\defKV[nuagereglin]{%
Couleur=\def\RegLinNuageCouleur{#1},%
diff --git a/Master/texmf-dist/tex/latex/prtec/prtec.cls b/Master/texmf-dist/tex/latex/prtec/prtec.cls
index 9bd3af2237a..9bd46e5ba1c 100644
--- a/Master/texmf-dist/tex/latex/prtec/prtec.cls
+++ b/Master/texmf-dist/tex/latex/prtec/prtec.cls
@@ -1,12 +1,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the prtec class for formatting conference papers according to
-%% the Pacific Rim Thermal Engineering Conference (PRTEC) requirements as of April 2019.
+%% the Pacific Rim Thermal Engineering Conference (PRTEC) requirements as of July 2024.
%%
%% The prtec.cls file should be used with the files prtec.bst (for citations) and prtec-template.tex.
%%
%%
-%% This file is version 1.06 dated 2019/08/20.
+%% This file is version and date:
+ \def\versionno{1.07}
+ \def\versiondate{2024/07/07\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -34,7 +36,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2019 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -54,33 +56,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{prtec}[2019/08/20 PRTEC paper format]
+\ProvidesClass{prtec}[\versiondate\ PRTEC paper format]
-\LoadClass[twoside,11pt]{article}
-% Two-sided layout not used in PRTEC's specs, but is included anyway.
+\LoadClass[11pt]{article}
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ifthen}
-\newboolean{DefaultSups}
-\setboolean{DefaultSups}{true}
-
-\RequirePackage{kvoptions}
-\RequirePackage{kvsetkeys}
-\SetupKeyvalOptions{
- family=prtec,
- prefix=prtec@,
- setkeys=\kvsetkeys,
-}
-
-%%% set key nodefaultsups to obtain newtx superiors font for footnotes.
-\define@key{prtec}{nodefaultsups}[false]{%
- \setboolean{DefaultSups}{#1}
-}
-
-\ProcessKeyvalOptions*
-
%% option to omit PRTEC footer and header
\DeclareOption{nofoot}{%
@@ -96,13 +79,10 @@
%% Access many options from newtxmath
%% See newtxmath documentation for details
-\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces}{\PassOptionsToPackage{}{newtxmath}}
+\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces,subscriptcorrection}{\PassOptionsToPackage{}{newtxmath}}
%% Option for slightly larger small capitals font
-\DeclareOption{largesc}{\PassOptionsToPackage{}{newtxtext}}
-
-%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
-\ifthenelse{\boolean{DefaultSups}}{\PassOptionsToPackage{defaultsups}{newtxtext}}{\relax}
+\DeclareOption{largesc}{\PassOptionsToPackage{largesc=true}{newtxtext}}
%% Suppress warnings about any omitted keys as unused global options
\DeclareOption*{}
@@ -112,8 +92,8 @@
%%%%%%%%%%%%% end options %%%%%%%%%%%%%%%%%%%
-\RequirePackage[a4paper, left=20mm, right=20mm, top=20mm, bottom = 20mm, footskip=10mm, includefoot, headsep=2mm]{geometry}
-% conforms to PRTEC 19 required margins
+\RequirePackage[a4paper, left=20mm, right=20mm, top=20mm, bottom=20mm, headsep=3mm, includefoot ]{geometry}
+% conforms to PRTEC24 required margins
\RequirePackage{parskip}
@@ -122,8 +102,9 @@
\renewcommand*{\bibfont}{\footnotesize}
\RequirePackage{graphicx}
-\RequirePackage[hyperref,fixpdftex,dvipsnames,svgnames,x11names]{xcolor}
-\RequirePackage{xparse}
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
+
+\ifdefined\NewDocumentCommand\else\RequirePackage{xparse}\fi
%%%%%%%%%%%%%%%%%%%%%%%%
@@ -136,14 +117,10 @@
%%%% FONT related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{mathtools} % extends amsmath
-\RequirePackage[utf8]{inputenc}
\RequirePackage[]{newtxtext}
\RequirePackage[]{newtxmath}
% See package documentation
-%% override \textsu if using default superiors
-\ifthenelse{\boolean{DefaultSups}}{\let\textsu\textsuperscript}{\relax}
-
\RequirePackage{bm} % load after all other math packages, to give greater access to bold math
@@ -163,19 +140,19 @@
\RequirePackage{fancyhdr}
\pagestyle{fancy}
-\setlength{\headheight}{22.53pt}
+\setlength{\headheight}{24pt}
\fancyfoot{}
-\fancyfoot[CE,CO]{\thepage}
-\fancyfoot[RO,LE]{}
+\fancyfoot[C,C]{\thepage}
+\fancyfoot[R,L]{}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{title}{%
\fancyhf{} % clear all header and footer fields
-\fancyfoot[LO,RE]{Copyright~\textcopyright~\the\year\ The Author(s). Distributed by JSME, KSME, and ASTFE with permission.}
-\fancyfoot[LE,RO]{\thepage}
-\fancyhead[LE,RO]{\bfseries\sffamily \HeaderConfName}
+\fancyfoot[L]{Copyright~\textcopyright~\the\year\ The Author(s). Distributed by JSME, KSME, and ASTFE with permission.}
+\fancyfoot[R]{\thepage}
+\fancyhead[R]{\bfseries\sffamily \HeaderConfName}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
@@ -196,10 +173,9 @@
\noindent\makebox[2ex][r]{\@makefnmark}#1}
-
%%%%%%%%% CAPTION RELATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
+\RequirePackage[labelfont={bf},hypcap=false]{caption}
\RequirePackage[hypcap=false,list=true]{subcaption}
\captionsetup[figure]{name=Fig.,labelfont={bf},textfont={}, labelsep=quad} %textformat=period,
@@ -207,15 +183,12 @@
%%%%%%%%%%%%%%%%%% Section headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% wish to accommodate hyperref
-
-\RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
\RequirePackage[raggedright,indentafter]{titlesec}
% PRTEC specifies 12 pt headings
-\titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{\thesection.}{0.5em}{\MakeTextUppercase}
-\titleformat{name=\section,numberless}{\bfseries\mathversion{bold}\large\centering}{}{0em}{\MakeTextUppercase}
+\titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{\thesection.}{0.5em}{\MakeUppercase}
+\titleformat{name=\section,numberless}{\bfseries\mathversion{bold}\large\centering}{}{0em}{\MakeUppercase}
\titleformat{\subsection}[runin]{\bfseries}{\thesubsection}{0.5em}{\mathversion{bold}\noindent}[\hspace*{0.5em}]
\titleformat{\subsubsection}[runin]{\itshape}{}{0em}{\noindent\underline}[.\hspace*{0.5em}]
@@ -230,88 +203,81 @@
\setcounter{section}{0}
\pdfbookmark[0]{Appendices}{appendices}
\renewcommand\thesection{\Alph{section}}
- \titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{APPENDIX \thesection:}{0.5em}{\MakeTextUppercase}
+ \titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{APPENDIX \thesection:}{0.5em}{\MakeUppercase}
}
%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%%
-\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
-
-\RequirePackage[%
- unicode, % Unicode encoded PDF strings
- psdextra, % additional support for math in pdf bookmarks
- pdfborder={0 0 0},%
- bookmarks=true, %
- bookmarksnumbered=true,%
- bookmarksopen=true,%
- bookmarksopenlevel=1,%
- colorlinks=true,%%% <=== set false to get black type, but do so in .tex file
+\RequirePackage[psdextra]{hyperref}
+
+\hypersetup{
+ colorlinks=true,
+ pdfborder={0 0 0},
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=1,
+ pdfpagelayout=SinglePage,
+ pdfdisplaydoctitle=true,
+ pdfstartview=Fit,
+ pdfnewwindow=true,
linkcolor=blue, %
- citecolor=blue, % SeaGreen4,%
- urlcolor=blue, % Red3,%
- breaklinks=true,%
- pdftitle={}, % <=== add in .tex file
- pdfkeywords={}, % <=== add in .tex file
- pdfnewwindow=true,%
- pdfpagelayout=TwoPageRight,%
- pdfauthor={}, % <=== add in .tex file
- pdfdisplaydoctitle=true%
- ]{hyperref}
-
+ citecolor=blue, %
+ urlcolor=blue, %
+ filecolor=violet,%
+}
\urlstyle{same} % don't switch to typewriter font
\RequirePackage{doi} % provides hyperlinks for doi in bibliography
\renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for PRTEC specification
-%% Since \bm is useful in headings, this fix will reduce frequency with which
-%% alternate pdfstrings must be given in section command as \section[pdfstring]{texstring}
+%% Since \bm may be useful in headings, this fix will reduce frequency with which
+%% alternate pdfstrings must be given in revised section command as \section[pdfstring]{texstring}
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
}
-%% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
+% Let's disable \( and \) in pdf bookmarks
+\pdfstringdefDisableCommands{%
+ \def\({\relax}%
+ \def\){\relax}%
+}
+
+% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
\pdfstringdefDisableCommands{%
\let\NoCaseChange\relax%
}
-%% Let's just remove citations from pdf bookmarks
+% Let's just remove citations from pdf bookmarks
\pdfstringdefDisableCommands{%
\def\cite{\@gobble}%
}
-%% Let's make sure footnotes in section headings don't break pdf bookmarks.
+%% Ensure that tag color does not follow \eqref into bookmarks
+\pdfstringdefDisableCommands{%
+ \def\eqref#1{(\ref{#1})}%
+}
+
+% Let's make sure footnotes in section headings don't break pdf bookmarks.
+% Revised footnote command above is already robust
+
\RequirePackage{etoolbox}
-\robustify{\footnote}
+\robustify\footnote
\pdfstringdefDisableCommands{%
\def\footnote#1{}%
}
-
%% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized
-%% if given in section headings
-\RequirePackage{xpatch}
-\xpatchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{}{}
-
-
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-%%% There should not be errors for $$, \cite, \ref, \label, \footnote, or \bm with current construction.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3} }
- {\addcontentsline{toc}{section}{#2} }
- }
- }
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}
- }
-}
+%% if given in section headings. Ditto for \eqref
+%
+\ifx\AddToNoCaseChangeList\@undefined % see https://github.com/John02139/asmeconf/issues/5
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{\typeout{PRTEC patched textcase nonchangecase to include footnote.}}{}
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\eqref}{\typeout{PRTEC patched textcase nonchangecase to include eqref.}}{}
+\else
+ \AddToNoCaseChangeList{\eqref \footnote}
+\fi
+
+%%% There should be no errors for section headings with \(, \), \cite, \ref, \eqref, \label, \footnote, \NoCaseChange, or \bm
%%%%%%%%%%%%% Define special environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -321,7 +287,7 @@
\providecommand{\@keywords}{\relax}
-\DeclareDocumentCommand{\keywords}{m}{%
+\NewDocumentCommand{\keywords}{m}{%
\IfNoValueTF{#1}{%
\relax}{%
\long\def\@keywords{\par\medskip\noindent{\bfseries\small KEYWORDS: }{\small #1}}%
@@ -331,7 +297,7 @@
\DeclareDocumentEnvironment{abstract}{}{%
\section*{Abstract}%
}
- {\@keywords\bigskip%
+ {\@keywords\ignorespacesafterend%
}
@@ -347,7 +313,7 @@
%% If the second argument of \entry is omitted, a bold section heading is produced, e.g. \entry{Greek Letters}
-\DeclareDocumentCommand{\entry}{m g}{%
+\NewDocumentCommand{\entry}{m g}{%
\IfNoValueTF{#2}{%
\item[\itshape#1\hfill]\smallskip
}{%
@@ -388,7 +354,7 @@
\providecommand\@ConfCity{\hbox{ }}
\newcommand{\HeaderConfName}{%
-\parbox{\linewidth}{\raggedleft\bfseries\sffamily%
+\parbox{\linewidth}{\raggedleft\bfseries\sffamily\small%
\@ConfName\linebreak[4]%\par%
\@ConfDate\@CDsep\@ConfCity%
}%
@@ -400,7 +366,7 @@
\newcommand{\PaperNo}{%
\vspace*{-4.7mm}%
\parbox{\linewidth}{\raggedleft\bfseries\sffamily\Large%
-\MakeTextUppercase{\@paperno}%
+\MakeUppercase{\@paperno}%
}%
}
@@ -410,7 +376,7 @@
\newcommand{\PaperTitle}{%
\par\vspace*{6mm}%
\parbox{\linewidth}{\centering{\bfseries\Large%
-\MakeTextUppercase{\@papertitle}%
+\MakeUppercase{\@papertitle}%
\thispagestyle{title}\par} %% <=== \par gets the font leading to stick so that lines space properly
}%
}
@@ -429,13 +395,13 @@
\NewCoffin{\AffiliationsBlock}
\SetHorizontalCoffin\AffiliationsBlock{}
-\DeclareDocumentCommand{\SetAuthors}{m}{%
+\NewDocumentCommand{\SetAuthors}{m}{%
\SetHorizontalCoffin\AuthorBlock{%
\parbox{\linewidth}{\centering\bfseries\ignorespaces#1\ignorespaces}%
}
}
-\DeclareDocumentCommand{\SetAffiliation}{m m}{%
+\NewDocumentCommand{\SetAffiliation}{m m}{%
\SetVerticalCoffin\AffiliationBlock{\textwidth}{%
\centering\footnotemark[#1]#2\ignorespaces%
}
@@ -448,7 +414,7 @@
\newif\ifCA\CAfalse
\newcommand{\CAemail}[1]{\gdef\@CAemail{#1}}
-\DeclareDocumentCommand{\CorrespondingAuthor}{m}{%
+\NewDocumentCommand{\CorrespondingAuthor}{m}{%
\global\CAtrue%
\CAemail{#1}%
$^\ast$%
@@ -457,13 +423,13 @@
%%% flag for joint first authors (two or more)
\newif\ifJA\JAfalse
-\DeclareDocumentCommand{\JointFirstAuthor}{}{%
+\NewDocumentCommand{\JointFirstAuthor}{}{%
\global\JAtrue%
$^\dagger$%
}
%%% Affiliation mark
-\DeclareDocumentCommand{\affil}{m}{%
+\NewDocumentCommand{\affil}{m}{%
{\mdseries\footnotemark[#1]}%
}
@@ -475,11 +441,11 @@
\oldaffil{#1}\futurelet\nextToken\isOthernote}
\newcommand\isOthernote{%
- \ifx\CorrespondingAuthor\nextToken\textsu{\mdseries,}%
+ \ifx\CorrespondingAuthor\nextToken\textsuperscript{\mdseries,}%
\else%
- \ifx\JointFirstAuthor\nextToken\textsu{\mdseries,}%
+ \ifx\JointFirstAuthor\nextToken\textsuperscript{\mdseries,}%
\else
- \ifx\affil\nextToken\textsu{\mdseries,}%
+ \ifx\affil\nextToken\textsuperscript{\mdseries,}%
\fi%
\fi%
\fi%
@@ -494,7 +460,7 @@
\renewcommand\JointFirstAuthor{%
\oldJointFirstAuthor\futurelet\nextToken\isOthernote}
-\DeclareDocumentCommand{\SetAuthorBlock}{}{%
+\NewDocumentCommand{\SetAuthorBlock}{}{%
\let\savethefootnote\thefootnote
\JoinCoffins\AuthorBlock[hc,b]\AffiliationsBlock[hc,t](0pt,-\baselineskip)
\centerline{\TypesetCoffin\AuthorBlock}
@@ -511,7 +477,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Make the title section
-\DeclareDocumentCommand{\MakeTitlePage}{}{%
+\NewDocumentCommand{\MakeTitlePage}{}{%
\PaperNo
\PaperTitle
\vspace*{2\baselineskip}
diff --git a/Master/texmf-dist/tex/latex/pst-diffraction/pst-diffraction.sty b/Master/texmf-dist/tex/latex/pst-diffraction/pst-diffraction.sty
index ab4962f6bce..35e81216447 100644
--- a/Master/texmf-dist/tex/latex/pst-diffraction/pst-diffraction.sty
+++ b/Master/texmf-dist/tex/latex/pst-diffraction/pst-diffraction.sty
@@ -1,7 +1,7 @@
\RequirePackage{pstricks}
\RequirePackage{pst-3dplot}
\RequirePackage{pst-xkey}
-\ProvidesPackage{pst-diffraction}[2009/09/04 package wrapper for
+\ProvidesPackage{pst-diffraction}[2024/06/29 package wrapper for
pst-diffraction.tex (hv)]
\input{pst-diffraction.tex}
\ProvidesFile{pst-diffraction.tex}
diff --git a/Master/texmf-dist/tex/latex/pst-node/pst-node.sty b/Master/texmf-dist/tex/latex/pst-node/pst-node.sty
index 43edb5aa2b0..4fe6a63aa2c 100644
--- a/Master/texmf-dist/tex/latex/pst-node/pst-node.sty
+++ b/Master/texmf-dist/tex/latex/pst-node/pst-node.sty
@@ -1,10 +1,10 @@
-% $Id: pst-node.sty 438 2022-01-31 17:45:26Z herbert $
+% $Id: pst-node.sty 919 2024-07-10 18:31:27Z herbert $
%%
%% This is file `pst-node.sty'.
%%
%% IMPORTANT NOTICE:
%%
-%% pst-node.sty Copyright (C) 2004-2017 Herbert Voss <voss@perce.de>
+%% pst-node.sty Copyright (C) 2004-2024 Herbert Voss <voss@perce.de>
%% Rolf Niepraschk <Rolf.Niepraschk@ptb.de>
%%
%% This package may be distributed under the terms of the LaTeX Project
@@ -14,7 +14,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pst-node}
- [2012/09/18 v1.01 LaTeX wrapper for `pst-node' (HV)]
+ [2024/07/10 v1.02 LaTeX wrapper for `pst-node' (HV)]
%
\newif\ifpst@OldVersion\pst@OldVersionfalse
\DeclareOption{97}{\pst@OldVersiontrue}
@@ -32,13 +32,14 @@
\@addtofilelist{pst-node97.pro}}{}%
\else
\RequirePackage{pstricks}
-\ProvidesPackage{pst-node}[2010/04/22 package wrapper for pst-node.tex]
+\ProvidesPackage{pst-node}[2024/07/10 package wrapper for pst-node.tex]
\input{pst-node.tex}
\ProvidesFile{pst-node.tex}
[\filedate\space \fileversion\space `pst-node' (tvz,hv)]
\IfFileExists{pst-node.pro}{%
\ProvidesFile{pst-node.pro}
- [2011/09/18 v. 1.14, PostScript prologue file (hv)]
+ [2024/07/10 v. 1.15a, PostScript prologue file (hv)]
\@addtofilelist{pst-node.pro}}{}%
\fi
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/randexam/randexam.cls b/Master/texmf-dist/tex/latex/randexam/randexam.cls
index ec5d1c43c27..dacc079cb0a 100644
--- a/Master/texmf-dist/tex/latex/randexam/randexam.cls
+++ b/Master/texmf-dist/tex/latex/randexam/randexam.cls
@@ -6,7 +6,7 @@
% ----------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{randexam}[2024-02-18 v2024E Make an exam paper and its randomized variants]
+\ProvidesClass{randexam}[2024-07-09 v2024F Make an exam paper and its randomized variants]
%% Old LaTeX release could not recognize date format like 2022-11-01
%\@ifl@t@r\fmtversion{2022-11-01}{}{
@@ -786,7 +786,8 @@
\UseExamTemplate{examdata}{default}
}
-\preto{\@enddocumenthook}{\printquestions\rdxm@stop@random}
+%% this equals to \AddToHook{enddocument}[randexam]{...}
+\AtEndDocument{\printquestions\rdxm@stop@random}
\newcommand\ignorepars{\@ifnextchar\par{\expandafter\ignorepars\@gobble}{}}
@@ -1228,6 +1229,11 @@
\mbox{}\nobreak\hfill$\cdots\cdots$\solutionpointstext{#1}
\par\noindent\ignorespaces
}
+
+%% \eqno would cause extra space after a $$...$$ equation
+%% this bug was fixed in latex release 2023-06-01
+%% see https://github.com/latex3/latex2e/issues/1059
+%% \tag is used in a \[...\] equation hence no problem with it
\newcommand{\pointseqno}[1]{\eqno{\cdots\cdots\text{\solutionpointstext{#1}}}}
\newcommand{\pointstag}[1]{\tag*{$\cdots\cdots$\solutionpointstext{#1}}}
@@ -1374,6 +1380,9 @@
\RequirePackage{extarrows}
\newcommand{\e}{\mathrm{e}}
\newcommand{\R}{\mathbb{R}}
+ \newcommand{\jacobi}[2]{{\left(\frac{##1}{##2}\right)}}
+ \newcommand{\ii}{\mathrm{i}}
+ \newcommand{\Zi}{\mathbb{Z}[\ii]}
\DeclareMathOperator{\arccot}{arccot}
\DeclareMathOperator{\Corr}{\rho}
\DeclareMathOperator{\Cov}{Cov}
diff --git a/Master/texmf-dist/tex/latex/resolsysteme/ResolSysteme.sty b/Master/texmf-dist/tex/latex/resolsysteme/ResolSysteme.sty
index 025ea98cfe2..5a8d27b31c6 100644
--- a/Master/texmf-dist/tex/latex/resolsysteme/ResolSysteme.sty
+++ b/Master/texmf-dist/tex/latex/resolsysteme/ResolSysteme.sty
@@ -2,7 +2,9 @@
% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ResolSysteme}[2024/04/02 v0.1.6 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+\ProvidesPackage{ResolSysteme}[2024/07/04 v0.1.8 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+% 0.1.8 Correction de bugs dans certains calculs, amélioration de la documentation
+% 0.1.7 Correction de bugs dans certains calculs
% 0.1.6 Correction de bugs dans certains calculs
% 0.1.5 Inverse d'une matrice en 4x4 (même en normal !) + Système 4x4 (en normal !)
% 0.1.4 Travail sur graphe probabiliste (2x2/3x3/4x4 en python, ou 2x2 en normal...) + Calculs 4x4 en normal
@@ -612,40 +614,40 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
{%
\IfBooleanTF{#1}%
{%
- \def\MatInvA{\ConvVersFrac*[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac*[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac*[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac*[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac*[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac*[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvJ{\ConvVersFrac*[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvK{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}}%
- \def\MatInvL{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}}%
- \def\MatInvM{\ConvVersFrac*[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvN{\ConvVersFrac*[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvO{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}}%
- \def\MatInvP{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac*[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac*[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac*[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvJ{\ConvVersFrac*[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvK{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvL{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/(\DETMATRICE)}}%
+ \def\MatInvM{\ConvVersFrac*[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvN{\ConvVersFrac*[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvO{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvP{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/(\DETMATRICE)}}%
}%
{%
- \def\MatInvA{\ConvVersFrac[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvJ{\ConvVersFrac[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvK{\ConvVersFrac[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}}%
- \def\MatInvL{\ConvVersFrac[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}}%
- \def\MatInvM{\ConvVersFrac[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvN{\ConvVersFrac[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvO{\ConvVersFrac[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}}%
- \def\MatInvP{\ConvVersFrac[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvJ{\ConvVersFrac[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvK{\ConvVersFrac[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvL{\ConvVersFrac[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/(\DETMATRICE)}}%
+ \def\MatInvM{\ConvVersFrac[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvN{\ConvVersFrac[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvO{\ConvVersFrac[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvP{\ConvVersFrac[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/(\DETMATRICE)}}%
}%
\IfStrEq{#5}{Aff}%si matrice
{%
@@ -693,26 +695,26 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
{%
\IfBooleanTF{#1}%
{%
- \def\MatInvA{\ConvVersFrac*[#2]{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac*[#2]{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac*[#2]{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac*[#2]{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac*[#2]{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac*[#2]{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac*[#2]{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatE*\MatI-\MatH*\MatF)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB*\MatI+\MatC*\MatH)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatF-\MatC*\MatE)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(-\MatD*\MatI+\MatF*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac*[#2]{(\MatA*\MatI-\MatC*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac*[#2]{(-\MatA*\MatF+\MatD*\MatC)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac*[#2]{(\MatD*\MatH-\MatE*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac*[#2]{(-\MatA*\MatH+\MatB*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac*[#2]{(\MatA*\MatE-\MatB*\MatD)/(\DETMATRICE)}}%
}%
{%
- \def\MatInvA{\ConvVersFrac[#2]{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac[#2]{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac[#2]{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac[#2]{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac[#2]{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac[#2]{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac[#2]{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac[#2]{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatE*\MatI-\MatH*\MatF)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(-\MatB*\MatI+\MatC*\MatH)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatF-\MatC*\MatE)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(-\MatD*\MatI+\MatF*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac[#2]{(\MatA*\MatI-\MatC*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac[#2]{(-\MatA*\MatF+\MatD*\MatC)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac[#2]{(\MatD*\MatH-\MatE*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac[#2]{(-\MatA*\MatH+\MatB*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac[#2]{(\MatA*\MatE-\MatB*\MatD)/(\DETMATRICE)}}%
}%
\IfStrEq{#5}{Aff}%si matrice
{%
@@ -752,16 +754,16 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
{%
\IfBooleanTF{#1}%
{%
- \def\MatInvA{\ConvVersFrac*[#2]{(\MatD)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac*[#2]{(-\MatC)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac*[#2]{(\MatA)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatD)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(-\MatC)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(\MatA)/(\DETMATRICE)}}%
}%
{%
- \def\MatInvA{\ConvVersFrac[#2]{(\MatD)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac[#2]{(-\MatB)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac[#2]{(-\MatC)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac[#2]{(\MatA)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatD)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(-\MatB)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(-\MatC)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(\MatA)/(\DETMATRICE)}}%
}%
\IfStrEq{#5}{Aff}%si matrice
{%
@@ -889,22 +891,22 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\xintifboolexpr{\DETMATRICE == 0}%
{\text{Matrice non inversible}}%
{%
- \def\MatInvA{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}%
- \def\MatInvB{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}%
- \def\MatInvC{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}%
- \def\MatInvD{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}%
- \def\MatInvE{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}%
- \def\MatInvF{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}%
- \def\MatInvG{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}%
- \def\MatInvH{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}%
- \def\MatInvI{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}%
- \def\MatInvJ{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}%
- \def\MatInvK{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}%
- \def\MatInvL{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}%
- \def\MatInvM{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}%
- \def\MatInvN{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}%
- \def\MatInvO{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}%
- \def\MatInvP{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}%
+ \def\MatInvA{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/(\DETMATRICE)}%
+ \def\MatInvB{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/(\DETMATRICE)}%
+ \def\MatInvC{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/(\DETMATRICE)}%
+ \def\MatInvD{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/(\DETMATRICE)}%
+ \def\MatInvE{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/(\DETMATRICE)}%
+ \def\MatInvF{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/(\DETMATRICE)}%
+ \def\MatInvG{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/(\DETMATRICE)}%
+ \def\MatInvH{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/(\DETMATRICE)}%
+ \def\MatInvI{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/(\DETMATRICE)}%
+ \def\MatInvJ{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/(\DETMATRICE)}%
+ \def\MatInvK{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/(\DETMATRICE)}%
+ \def\MatInvL{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/(\DETMATRICE)}%
+ \def\MatInvM{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/(\DETMATRICE)}%
+ \def\MatInvN{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/(\DETMATRICE)}%
+ \def\MatInvO{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/(\DETMATRICE)}%
+ \def\MatInvP{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/(\DETMATRICE)}%
%
\IfBooleanTF{#1}%version étoilée := moinsdevant
{%
@@ -944,7 +946,7 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\itemtomacro\MAMATRICEA[3,2]\MatH
\itemtomacro\MAMATRICEA[3,3]\MatI
%le déterminant
- \def\DETMATRICE{\xinteval{\MatA*\MatE*\MatI+\MatD*\MatH*\MatC+\MatB*\MatF*\MatG-\MatG*\MatE*\MatC-\MatD*\MatB*\MatI-\MatA*\MatH*\MatF}}%
+ \def\DETMATRICE{\xinteval{(\MatA)*(\MatE)*(\MatI)+(\MatD)*(\MatH)*(\MatC)+(\MatB)*(\MatF)*(\MatG)-(\MatG)*(\MatE)*(\MatC)-(\MatD)*(\MatB)*(\MatI)-(\MatA)*(\MatH)*(\MatF)}}%
%les coeffs de B
\itemtomacro\MAMATRICEB[1]\MatBA
\itemtomacro\MAMATRICEB[2]\MatBB
@@ -953,15 +955,15 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\xintifboolexpr{\DETMATRICE == 0}%
{\text{Matrice non inversible}}%
{%
- \def\MatInvA{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}%
- \def\MatInvB{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}%
- \def\MatInvC{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}%
- \def\MatInvD{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}%
- \def\MatInvE{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}%
- \def\MatInvF{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}%
- \def\MatInvG{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}%
- \def\MatInvH{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}%
- \def\MatInvI{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}%
+ \def\MatInvA{(\MatE*\MatI-\MatH*\MatF)/(\DETMATRICE)}%
+ \def\MatInvB{(-\MatB*\MatI+\MatC*\MatH)/(\DETMATRICE)}%
+ \def\MatInvC{(\MatB*\MatF-\MatC*\MatE)/(\DETMATRICE)}%
+ \def\MatInvD{(-\MatD*\MatI+\MatF*\MatG)/(\DETMATRICE)}%
+ \def\MatInvE{(\MatA*\MatI-\MatC*\MatG)/(\DETMATRICE)}%
+ \def\MatInvF{(-\MatA*\MatF+\MatD*\MatC)/(\DETMATRICE)}%
+ \def\MatInvG{(\MatD*\MatH-\MatE*\MatG)/(\DETMATRICE)}%
+ \def\MatInvH{(-\MatA*\MatH+\MatB*\MatG)/(\DETMATRICE)}%
+ \def\MatInvI{(\MatA*\MatE-\MatB*\MatD)/(\DETMATRICE)}%
%
\IfBooleanTF{#1}%version étoilée := moinsdevant
{%
@@ -993,7 +995,7 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\itemtomacro\MAMATRICEA[2,1]\MatC
\itemtomacro\MAMATRICEA[2,2]\MatD
%le déterminant
- \def\DETMATRICE{\xinteval{\MatA*\MatD-\MatB*\MatC}}%
+ \def\DETMATRICE{\xinteval{(\MatA)*(\MatD)-(\MatB)*(\MatC)}}%
%les coeffs de B
\itemtomacro\MAMATRICEB[1]\MatBA
\itemtomacro\MAMATRICEB[2]\MatBB
@@ -1001,19 +1003,19 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\xintifboolexpr{\DETMATRICE == 0}%
{\text{Matrice non inversible}}%
{%
- \def\MatInvA{(\MatD)/\DETMATRICE}%
- \def\MatInvB{(-\MatB)/\DETMATRICE}%
- \def\MatInvC{(-\MatC)/\DETMATRICE}%
- \def\MatInvD{(\MatA)/\DETMATRICE}%
+ \def\MatInvA{(\MatD)/(\DETMATRICE)}%
+ \def\MatInvB{(-\MatB)/(\DETMATRICE)}%
+ \def\MatInvC{(-\MatC)/(\DETMATRICE)}%
+ \def\MatInvD{(\MatA)/(\DETMATRICE)}%
%
\IfBooleanTF{#1}%
{%
- \def\MatResA{\ConvVersFrac*[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB}}%
- \def\MatResB{\ConvVersFrac*[#2]{\MatInvC*\MatBA+\MatInvD*\MatBB}}%
+ \def\MatResA{\ConvVersFrac*[#2]{(\MatInvA)*(\MatBA)+(\MatInvB)*(\MatBB)}}%
+ \def\MatResB{\ConvVersFrac*[#2]{(\MatInvC)*(\MatBA)+(\MatInvD)*(\MatBB)}}%
}%
{%
- \def\MatResA{\ConvVersFrac[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB}}%
- \def\MatResB{\ConvVersFrac[#2]{\MatInvC*\MatBA+\MatInvD*\MatBB}}%
+ \def\MatResA{\ConvVersFrac[#2]{(\MatInvA)*(\MatBA)+(\MatInvB)*(\MatBB)}}%
+ \def\MatResB{\ConvVersFrac[#2]{(\MatInvC)*(\MatBA)+(\MatInvD)*(\MatBB)}}%
}%
\IfStrEq{#6}{Matrice}%si matrice
{%
@@ -1442,7 +1444,7 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
}%
}{}%
\begin{pNiceMatrix}[#3]
- \MatResA & \MatResB & \MatResC \\ \MatResD & \MatResE & \MatResF \\ \MatResG & \MatResH & \MatResI
+ \MatResA & \MatResB & \MatResC \\ \MatResD & \MatResE & \MatResF \\ \MatResG & \MatResH & \MatResI
\end{pNiceMatrix}%
}{}%fin 3,3*3,3
\xintifboolexpr{\NbLigMatA==1 'and' \NbColMatA==4 'and' \NbLigMatB==4 'and' \NbColMatB==1}% (1,4)*(4,1)
diff --git a/Master/texmf-dist/tex/latex/responsive/responsive.sty b/Master/texmf-dist/tex/latex/responsive/responsive.sty
index 65e5061f455..289f04ca8bb 100644
--- a/Master/texmf-dist/tex/latex/responsive/responsive.sty
+++ b/Master/texmf-dist/tex/latex/responsive/responsive.sty
@@ -3,7 +3,7 @@
\RequirePackage{expl3,l3keys2e}
\RequirePackage{kvoptions}
\ProvidesExplPackage{responsive}
-{2023-12-15}{0.1}{Responsive design for LaTeX}
+{2024-07-14}{v0.1a}{Responsive design for LaTeX}
%%%%%%%%%%%%%%%%%%%%%%
% keyval processing %
@@ -168,6 +168,10 @@
\@setfontsize#1{\resp_multiply_note:nnn\resp_font_size{#2}{1}}{\resp_multiply_note:nnn\resp_line_skip{#2}{\l_resp_lineheight_multiplier}}
}
+% This is a dummy definition. It should restore page dimensions using the Geometry package if it is loaded.
+% The correct definition is added in \AtBeginDocument
+\cs_set:Npn\resp_reset_geometry{}
+
% recalculate \textheight and \headheight with the changed font size
% this is necessary to prevent the underfull \vbox messages from the output rutine
\cs_set:Npn\resp_textheight:n {
@@ -182,6 +186,9 @@
\setlength\headheight{\resp_font_size}
\setlength\headsep {1.5\resp_font_size}
\setlength\footskip{\fp_to_dim:n{2*\resp_font_size+1}}
+ \setlength\topmargin{\fp_to_dim:n{(\paperheight-\textheight -\headheight-\headsep-\footskip)/2 - 1in}}
+ \resp_reset_geometry
+ % \addtolength\topmargin{\topskip}
}
% the functionality to fix the textheight should be available as a document command
@@ -355,6 +362,9 @@
% setup font sizes at the begin document, in order to support Geometry etc.
\AtBeginDocument{
+ \@ifpackageloaded{geometry}{
+ \cs_set:Npn\resp_reset_geometry{\Gm@process}
+ }{}
% set the default font size, based on numbers of characters we want to show on a line of text
% \fonttobox[32]\textwidth{\tl_range:Nnn\l_resp_charlist_tl{1}{\l_resp_charlines_int}}%
\bool_if:NTF\l_resp_no_execute {}{
diff --git a/Master/texmf-dist/tex/latex/rub-kunstgeschichte/rub-kunstgeschichte.cls b/Master/texmf-dist/tex/latex/rub-kunstgeschichte/rub-kunstgeschichte.cls
new file mode 100644
index 00000000000..ce7e04a509a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/rub-kunstgeschichte/rub-kunstgeschichte.cls
@@ -0,0 +1,45 @@
+%%
+%% This is file `rub-kunstgeschichte.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% rub-kunstgeschichte.dtx (with options: `class')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>.
+%%
+%% This work consists of the files rub-kunstgeschichte.dtx
+%% rub-kunstgeschichte.ins
+%% and the derived files rub-kunstgeschichte.cls
+%% rub-kunstgeschichte-example.tex
+%%
+
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesClass{rub-kunstgeschichte}
+ [2024-05-26 v0.1.0 RUB KGI class]
+%% Load base class with 12pt base font size
+\LoadClass[12pt]{article}
+%% Set 1.5 times line spacing
+\RequirePackage[onehalfspacing]{setspace}
+%% Set a4 paper size and margins
+\RequirePackage[
+ a4paper,
+ top=2cm,left=2cm,bottom=2cm,right=4cm
+]{geometry}
+\endinput
+%%
+%% End of file `rub-kunstgeschichte.cls'.
diff --git a/Master/texmf-dist/tex/latex/scontents/scontents.sty b/Master/texmf-dist/tex/latex/scontents/scontents.sty
index af503554a91..90c73f93acd 100644
--- a/Master/texmf-dist/tex/latex/scontents/scontents.sty
+++ b/Master/texmf-dist/tex/latex/scontents/scontents.sty
@@ -6,13 +6,13 @@
%%
%% scontents.dtx (with options: `loader,latex')
%%
-%% Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl>
+%% Copyright (C) 2019-2024 by Pablo González L <pablgonz@educarchile.cl>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
%% your option) any later version. The latest version of this license is in
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3c or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
@@ -27,10 +27,18 @@
%% t-scontents.mkiv and
%% scontents-code.tex.
%%
-\def\ScontentsFileDate{2022-04-04}%
-\def\ScontentsFileVersion{2.0}%
+\def\ScontentsFileDate{2024-06-14}%
+\def\ScontentsFileVersion{2.1}%
\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
-\RequirePackage{l3keys2e}[2020/02/08]
+\IfFormatAtLeastTF { 2022-06-01 }
+ { }
+ {
+ \RequirePackage{l3keys2e}[2020/02/08]
+ \PackageWarning { scontents }
+ {
+ The next update removes compatibility with versions prior to 2024.
+ }
+ }
\ProvidesExplPackage
{scontents} {\ScontentsFileDate} {\ScontentsFileVersion} {\ScontentsFileDescription}
\tl_new:N \g__scontents_end_verbatimsc_tl
@@ -55,7 +63,11 @@
{#1} % LaTeX
\keys_define:nn { scontents }
{ verb-font .initial:n = \ttfamily }
-\ProcessKeysOptions { scontents }
+\IfFormatAtLeastTF { 2022-06-01 }
+ {
+ \ProcessKeyOptions [ scontents ]
+ }
+ { \ProcessKeysOptions { scontents } }
\NewDocumentCommand \newenvsc { m O{} }
{
\cs_if_exist:cTF { #1 }
@@ -89,6 +101,8 @@
{ \__scontents_foreachsc_internal:nn {#1} {#2} }
\NewDocumentCommand \typestored { o m }
{ \__scontents_typestored_internal:nn {#1} {#2} }
+\NewDocumentCommand \mergesc { o m }
+ { \__scontents_mergesc_internal:nn {#1} {#2} }
\use:x
{
\cs_new_protected:Npn \exp_not:N \__scontents_xverb:w
@@ -112,7 +126,7 @@
\NewExpandableDocumentCommand \countsc { m }
{ \seq_count:c { g__scontents_name_#1_seq } }
\NewDocumentCommand \cleanseqsc { m }
- { \seq_clear_new:c { g__scontents_name_#1_seq } }
+ { \seq_gclear_new:c { g__scontents_name_#1_seq } }
\endinput
%%
%% End of file `scontents.sty'.
diff --git a/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty b/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty
index 8b1c97adcfb..a11d6f6325c 100644
--- a/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty
+++ b/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty
@@ -48,7 +48,7 @@
\endinput
}%
\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
-\ProvidesExplPackage {se2colors} {2024-05-17} {4.0.1}
+\ProvidesExplPackage {se2colors} {2024-06-25} {4.2.0}
{A colour support package for the se2thesis bundle}
\keys_define:nn { seiicolors }
{
diff --git a/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty b/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty
index 7a709b44c18..adaf3be8b75 100644
--- a/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty
+++ b/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty
@@ -48,7 +48,7 @@
\endinput
}%
\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
-\ProvidesExplPackage {se2fonts} {2024-05-17} {4.0.1}
+\ProvidesExplPackage {se2fonts} {2024-06-25} {4.2.0}
{A font-selection support package for the se2thesis bundle}
\msg_new:nnnn { seiifonts } { pdflatex-used }
{ You~ are~ using~ pdfLaTeX~ with~ the~ se2fonts~ packages.}
diff --git a/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty b/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty
index 8e99934acca..0b93beca7d5 100644
--- a/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty
+++ b/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty
@@ -48,7 +48,7 @@
\endinput
}%
\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
-\ProvidesExplPackage {se2packages} {2024-05-17} {4.0.1}
+\ProvidesExplPackage {se2packages} {2024-06-25} {4.2.0}
{Supporting packages for the se2thesis bundle}
\bool_new:N \l__slcd_packages_csquotes_bool
\bool_new:N \l__slcd_packages_booktabs_bool
@@ -145,13 +145,14 @@
\msg_info:nnn { seiipackages } { load-package } { siunitx }
\RequirePackage[
add-integer-zero=false,
- free-standing-units,
+ free-standing-units=true,
group-minimum-digits=4,
- list-final-separator={, and },
+ list-final-separator={,~ and~ },
round-mode=figures,
round-precision=3,
separate-uncertainty=true,
uncertainty-mode=separate,
+ mode=match,
]{siunitx}
}
\bool_if:NT \l__slcd_packages_minted_bool
diff --git a/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls b/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls
index 4d31a28a979..9ce66446581 100644
--- a/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls
+++ b/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls
@@ -48,7 +48,7 @@
\endinput
}%
\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
-\ProvidesExplClass {se2thesis} {2024-05-17} {4.0.1}
+\ProvidesExplClass {se2thesis} {2024-06-25} {4.2.0}
{A thesis class for the Chair of Software Engineering II}
\prg_new_conditional:Nnn \slcd_package_if_loaded:n { p, T, F, TF }
{
@@ -134,7 +134,7 @@
},
thesistype .initial:n = master,
- colormode .choices:nn = {cmyk,rgb,bw}{
+ colormode .choices:nn = {4C,CMYK,cmyk,RGB,rgb,BW,bw,gray}{
\tl_gset_eq:NN \l__slcd_colormode_tl \l_keys_choice_tl
},
colormode .initial:n = cmyk,
@@ -459,7 +459,7 @@
\tl_if_eq:NnTF \l__slcd_thesis_type_tl { phdphil }
{
Dissertation~ zur~ Erlangung~ des~ Doktorgrades\\
- der~ Philosophie~ (Dr.\,phil.)\\
+ der~ Naturphilosophie~ (Dr.\,phil.\,nat.)\\
eingereicht~ an~ der~ Fakultät~ für~ Informatik~ und~ Mathematik\\
der~ Universität~ Passau\\
\rule{\textwidth}{.1pt}\\
@@ -467,7 +467,7 @@
the~ Faculty~ of~ Computer~ Science~ and~ Mathematics\\
of~ the~ University~ of~ Passau\\
in~ partial~ fulfillment~ of~ obtaining\\
- the~ degree~ of~ a~ Doctor~ of~ Philosophy
+ the~ degree~ of~ a~ Doctor~ of~ Natural~ Philosophy
} {
\tl_if_eq:NnT \l__slcd_thesis_type_tl { bachelor }
{ \GetTranslation{Bachelor-thesis} }
@@ -683,6 +683,24 @@
\newtheorem{resq}{Research~ Question}
\newtheorem{hyp}{Hypothesis}
\RequirePackage{tcolorbox}
-\NewDocumentEnvironment { summary } { m }
- { \begin{tcolorbox}[title={Summary~ (#1)}] }
- { \end{tcolorbox} }
+\ExplSyntaxOff
+\NewDocumentEnvironment { summary } { m +b }
+ {%
+ \begin{tcolorbox}[%
+ size=fbox,%
+ rounded corners=all,%
+ attach title to upper,%
+ coltitle=black,%
+ fonttitle=\bfseries,%
+ title={Summary #1},
+ after title={:\ },
+ ]
+ #2
+ } {%
+ \end{tcolorbox}%
+ }
+\ExplSyntaxOn
+\NewDocumentCommand { \summarybox } { m m }
+ {
+ \begin{summary}{#1} #2 \end{summary}
+ }
diff --git a/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl b/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl
index 71c43269465..0a68a9ef062 100644
--- a/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl
+++ b/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl
@@ -32,7 +32,7 @@
%% se2packages.sty,
%% se2thesis-master-thesis-example.bib, and
%% se2thesis-master-thesis-example.pdf
-\ProvideDictionaryFor{English}{se2translations}[2024/05/17]
+\ProvideDictionaryFor{English}{se2translations}[2024/06/25]
\ProvideDictTranslation{abstract}{abstract}
\ProvideDictTranslation{Abstract}{Abstract}
\ProvideDictTranslation{acknowledgement}{acknowledgement}
diff --git a/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl b/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl
index 367137aece4..c4b8dda368f 100644
--- a/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl
+++ b/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl
@@ -32,7 +32,7 @@
%% se2packages.sty,
%% se2thesis-master-thesis-example.bib, and
%% se2thesis-master-thesis-example.pdf
-\ProvideDictionaryFor{German}{se2translations}[2024/05/17]
+\ProvideDictionaryFor{German}{se2translations}[2024/06/25]
\ProvideDictTranslation{abstract}{Zusammenfassung}
\ProvideDictTranslation{Abstract}{Zusammenfassung}
\ProvideDictTranslation{acknowledgement}{Danksagung}
diff --git a/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty b/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty
index d953d300226..f99b9770c0a 100644
--- a/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty
+++ b/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty
@@ -1,4 +1,4 @@
-%% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+%% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -11,19 +11,23 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat {LaTeX2e} [1996/06/01]
-\ProvidesPackage {sepfootnotes} [2016/07/18 v0.3c Footnotes in separate file]
+\ProvidesPackage {sepfootnotes} [2024/07/05 v0.3d Footnotes in separate file]
\newcommand\sep@packagename{sepfootnotes}
+%{% options
+
\DeclareOption {quiet} {\sep@opt@quiettrue}
\DeclareOption {warn} {\sep@opt@warntrue}
\DeclareOption {error} {\sep@opt@errortrue}
\DeclareOption {global} {\sep@opt@globaltrue}
+\DeclareOption {after} {\sep@opt@aftertrue}
\newif \ifsep@opt@quiet
\newif \ifsep@opt@warn
\newif \ifsep@opt@error
\newif \ifsep@opt@global
+\newif \ifsep@opt@after
\sep@opt@warntrue
@@ -38,10 +42,10 @@
\sep@opt@warnfalse
\fi
+%}%
+%{% public
-% ********************************* Public ************************************
-
-% ==================== shared by footnotes and endnotes =======================
+%{% footnotes and endnotes
\newcommand\sep@new [1]
{\newcounter{#1note}%
@@ -52,7 +56,8 @@
\expandafter\newcommand\csname #1quicknote\endcsname [1] {\sep@namereplace {#1} {sepfootnotes@tmp@quick} {##1}\csname #1note\endcsname{sepfootnotes@tmp@quick}}\relax
}
-% -------------------------------- footnotes ----------------------------------
+%}%
+%{% footnotes
\newcommand\newfootnotes{\@ifstar\sep@newfootnotesfree\sep@newfootnotes}
@@ -73,7 +78,8 @@
\@addtoreset {#2note} {#1}%
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% -------------------------------- endnotes -----------------------------------
+%}%
+%{% endnotes
\newcommand\newendnotes [1]
{\sep@new {#1}%
@@ -88,8 +94,8 @@
\expandafter\newcommand\csname #1notesize\endcsname {\footnotesize}%
\newenvironment {#1notes} {\csname #1notesize\endcsname\setlength\parskip\footnotesep} {}}
-
-% ------------------------------ commentnotes --------------------------------
+%}%
+%{% commentnotes
\newcommand\newcommentnotes [1]
{\newfootnotes*{#1}\relax
@@ -107,62 +113,114 @@
\@addtoreset {#2note} {#1}\relax
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% ********************************* Private ***********************************
+%}%
+
+%}%
+%{% private
-% ---------------------------------- files ------------------------------------
+%{% files
\newcommand\sep@filename [1] {\jobname.ent-#1}
\newcommand\sep@openout [1] {\expandafter \newwrite\csname sep@fileout#1\endcsname\immediate\expandafter\openout\csname sep@fileout#1\endcsname=\sep@filename#1\relax}
\newcommand\sep@write [2] {\immediate \write\csname sep@fileout#1\endcsname {#2}}
\newcommand\sep@close [1] {\immediate\expandafter\closeout\csname sep@fileout#1\endcsname\relax}
-% ---------------------------------- table ------------------------------------
+%}%
+%{% names
+
+%{% \sep@nameuse <prefix> <key>
\newcommand\sep@nameuse [2]
{\@ifundefined{sepfootnotes@text@#1@#2}
- {\ifsep@opt@error
- \PackageError {\sep@packagename} {`#2' has not been assigned a content}
- {`#2' has not been assigned a content.\MessageBreak
- Solution: Define `#2'\MessageBreak
- Try: \@backslashchar #1notecontent{#2}{<content>}}\relax
- \fi
- \ifsep@opt@warn
- \PackageWarning {\sep@packagename} {`#2' has not been assigned a content}\relax
- \fi}
+ {\sep@warning@undefined{#1}{#2}}
{\@nameuse{sepfootnotes@text@#1@#2}}}
+%}%
+%{% \sep@namedef <prefix> <key> <content>
+
\newcommand\sep@namedef [3]
-{\@ifundefined{sepfootnotes@text@#1@#2}
+{\ifsep@opt@after\sep@namereplace{#1}{#2}{#3}\else
+ \@ifundefined{sepfootnotes@text@#1@#2}
{\ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}}
- {\ifsep@opt@error
- \PackageError {\sep@packagename} {`#2' is already in use}
- {`#2' is already in use.\MessageBreak
- Solution: Use another key.\MessageBreak
- Try: \@backslashchar #1notecontent{<key>}{<content>}}\relax
- \fi
- \ifsep@opt@warn
- \PackageWarning {\sep@packagename} {`#2' is already in use}
- \fi}}
+ {\sep@warning@already{#1}{#2}}\fi}
+
+%}%
+%{% \sep@namereplace <prefix> <key> <content>
+
+\newcommand\sep@namereplace [3]
+{%
+ \ifsep@opt@after
+ \global\@namedef{sepfootnotes@text@#1@#2}{#3}%
+ \write\@auxout{\expandafter\unexpanded\expandafter{\global\@namedef {sepfootnotes@text@#1@#2}{#3}}}%
+ \else
+ \ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}%
+ \fi
+}
+
+%}%
+
+%{% \sep@warning@undefined <prefix> <key>
+
+\newcommand \sep@warning@undefined [2]
+{\ifsep@opt@error
+ \PackageError
+ {\sep@packagename}
+ {`#2' has not been assigned a content}
+ {`#2' has not been assigned a content.\MessageBreak
+ Solution: Define `#2'\MessageBreak
+ Try: \@backslashchar #1notecontent{#2}{<content>}}%
+ \fi
+ \ifsep@opt@warn
+ \PackageWarning
+ {\sep@packagename}
+ {`#2' has not been assigned a content}%
+ \fi
+}
-\newcommand\sep@namereplace [3] {\ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}}
+%}%
+%{% \sep@warning@already <prefix> <key>
+
+\newcommand \sep@warning@already [2]
+{\ifsep@opt@error
+ \PackageError
+ {\sep@packagename}
+ {`#2' is already in use}
+ {`#2' is already in use.\MessageBreak
+ Solution: Use another key.\MessageBreak
+ Try: \@backslashchar #1notecontent{<key>}{<content>}}%
+ \fi
+ \ifsep@opt@warn
+ \PackageWarning
+ {\sep@packagename}
+ {`#2' is already in use}%
+ \fi
+}
-% ---------------------------------- marks ------------------------------------
+%}%
+
+%}%
+%{% marks
\newcommand\sep@markset [1] {\protected@xdef\@thefnmark{\csname the#1mark\endcsname}}
\newcommand\sep@mark [2] {\stepcounter {#1note}\sep@markset {#1}\@footnotemark}
-% ---------------------- cross-references and counters ------------------------
+%}%
+%{% cross-references and counters
\newcommand\sep@refsetcounter [2] {\setcounter{#1}{#2}\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
\newcommand\sep@refstepcounter [1] {\stepcounter {#1}\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
-% ********************************* Default ***********************************
+%}%
+
+%}%
+%{% default
-% ------------------------- footnotes: \sepfootnote ---------------------------
+%% The default \sepfootnote apparatus relies on \footnote
-%% Default: The default \sepfootnote family relies on \footnote
\newfootnotes{sepfoot}
+%}%
+
\endinput
%%
%% End of file `sepfootnotes.sty'.
diff --git a/Master/texmf-dist/tex/latex/simpleicons/simpleicons.sty b/Master/texmf-dist/tex/latex/simpleicons/simpleicons.sty
index 5a4ecc8d52b..bcbe536096d 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/simpleicons.sty
+++ b/Master/texmf-dist/tex/latex/simpleicons/simpleicons.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{simpleicons}[2024/04/12 11.12.0 Simple Icons 11.12.0 Logos]
+\ProvidesPackage{simpleicons}[2024/07/12 13.1.0 Simple Icons 13.1.0 Logos]
\RequirePackage{iftex}
diff --git a/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-pdftex.tex b/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-pdftex.tex
index e0384d08476..e0ea8e79ccc 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-pdftex.tex
+++ b/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-pdftex.tex
@@ -1,3116 +1,3154 @@
\expandafter\def\csname simpleicon@1001tracklistsicon\endcsname {\simpleiconsmapone\symbol{0}}
- \expandafter\def\csname simpleicon@1passwordicon\endcsname {\simpleiconsmapone\symbol{1}}
- \expandafter\def\csname simpleicon@2kicon\endcsname {\simpleiconsmapone\symbol{2}}
- \expandafter\def\csname simpleicon@365datascienceicon\endcsname {\simpleiconsmapone\symbol{3}}
- \expandafter\def\csname simpleicon@3micon\endcsname {\simpleiconsmapone\symbol{4}}
- \expandafter\def\csname simpleicon@42icon\endcsname {\simpleiconsmapone\symbol{5}}
- \expandafter\def\csname simpleicon@4chanicon\endcsname {\simpleiconsmapone\symbol{6}}
- \expandafter\def\csname simpleicon@4dicon\endcsname {\simpleiconsmapone\symbol{7}}
- \expandafter\def\csname simpleicon@500pxicon\endcsname {\simpleiconsmapone\symbol{8}}
- \expandafter\def\csname simpleicon@7zipicon\endcsname {\simpleiconsmapone\symbol{9}}
- \expandafter\def\csname simpleicon@99designsicon\endcsname {\simpleiconsmapone\symbol{10}}
- \expandafter\def\csname simpleicon@9gagicon\endcsname {\simpleiconsmapone\symbol{11}}
- \expandafter\def\csname simpleicon@abbotticon\endcsname {\simpleiconsmapone\symbol{12}}
- \expandafter\def\csname simpleicon@abbrobotstudioicon\endcsname {\simpleiconsmapone\symbol{13}}
- \expandafter\def\csname simpleicon@abbvieicon\endcsname {\simpleiconsmapone\symbol{14}}
- \expandafter\def\csname simpleicon@aboutdotmeicon\endcsname {\simpleiconsmapone\symbol{15}}
- \expandafter\def\csname simpleicon@abstracticon\endcsname {\simpleiconsmapone\symbol{16}}
- \expandafter\def\csname simpleicon@abusedotchicon\endcsname {\simpleiconsmapone\symbol{17}}
- \expandafter\def\csname simpleicon@academiaicon\endcsname {\simpleiconsmapone\symbol{18}}
- \expandafter\def\csname simpleicon@accentureicon\endcsname {\simpleiconsmapone\symbol{19}}
- \expandafter\def\csname simpleicon@accusofticon\endcsname {\simpleiconsmapone\symbol{20}}
- \expandafter\def\csname simpleicon@acericon\endcsname {\simpleiconsmapone\symbol{21}}
- \expandafter\def\csname simpleicon@acmicon\endcsname {\simpleiconsmapone\symbol{22}}
- \expandafter\def\csname simpleicon@actigraphicon\endcsname {\simpleiconsmapone\symbol{23}}
- \expandafter\def\csname simpleicon@activisionicon\endcsname {\simpleiconsmapone\symbol{24}}
- \expandafter\def\csname simpleicon@activitypubicon\endcsname {\simpleiconsmapone\symbol{25}}
- \expandafter\def\csname simpleicon@actixicon\endcsname {\simpleiconsmapone\symbol{26}}
- \expandafter\def\csname simpleicon@acuraicon\endcsname {\simpleiconsmapone\symbol{27}}
- \expandafter\def\csname simpleicon@adafruiticon\endcsname {\simpleiconsmapone\symbol{28}}
- \expandafter\def\csname simpleicon@adblockicon\endcsname {\simpleiconsmapone\symbol{29}}
- \expandafter\def\csname simpleicon@adblockplusicon\endcsname {\simpleiconsmapone\symbol{30}}
- \expandafter\def\csname simpleicon@adguardicon\endcsname {\simpleiconsmapone\symbol{31}}
- \expandafter\def\csname simpleicon@adidasicon\endcsname {\simpleiconsmapone\symbol{32}}
- \expandafter\def\csname simpleicon@adminericon\endcsname {\simpleiconsmapone\symbol{33}}
- \expandafter\def\csname simpleicon@adobeicon\endcsname {\simpleiconsmapone\symbol{34}}
- \expandafter\def\csname simpleicon@adobeacrobatreadericon\endcsname {\simpleiconsmapone\symbol{35}}
- \expandafter\def\csname simpleicon@adobeaftereffectsicon\endcsname {\simpleiconsmapone\symbol{36}}
- \expandafter\def\csname simpleicon@adobeauditionicon\endcsname {\simpleiconsmapone\symbol{37}}
- \expandafter\def\csname simpleicon@adobecreativecloudicon\endcsname {\simpleiconsmapone\symbol{38}}
- \expandafter\def\csname simpleicon@adobedreamweavericon\endcsname {\simpleiconsmapone\symbol{39}}
- \expandafter\def\csname simpleicon@adobefontsicon\endcsname {\simpleiconsmapone\symbol{40}}
- \expandafter\def\csname simpleicon@adobeillustratoricon\endcsname {\simpleiconsmapone\symbol{41}}
- \expandafter\def\csname simpleicon@adobeindesignicon\endcsname {\simpleiconsmapone\symbol{42}}
- \expandafter\def\csname simpleicon@adobelightroomicon\endcsname {\simpleiconsmapone\symbol{43}}
- \expandafter\def\csname simpleicon@adobelightroomclassicicon\endcsname {\simpleiconsmapone\symbol{44}}
- \expandafter\def\csname simpleicon@adobephotoshopicon\endcsname {\simpleiconsmapone\symbol{45}}
- \expandafter\def\csname simpleicon@adobepremiereproicon\endcsname {\simpleiconsmapone\symbol{46}}
- \expandafter\def\csname simpleicon@adobexdicon\endcsname {\simpleiconsmapone\symbol{47}}
- \expandafter\def\csname simpleicon@adonisjsicon\endcsname {\simpleiconsmapone\symbol{48}}
- \expandafter\def\csname simpleicon@adpicon\endcsname {\simpleiconsmapone\symbol{49}}
- \expandafter\def\csname simpleicon@adrollicon\endcsname {\simpleiconsmapone\symbol{50}}
- \expandafter\def\csname simpleicon@adventofcodeicon\endcsname {\simpleiconsmapone\symbol{51}}
- \expandafter\def\csname simpleicon@adyenicon\endcsname {\simpleiconsmapone\symbol{52}}
- \expandafter\def\csname simpleicon@aerlingusicon\endcsname {\simpleiconsmapone\symbol{53}}
- \expandafter\def\csname simpleicon@aerofloticon\endcsname {\simpleiconsmapone\symbol{54}}
- \expandafter\def\csname simpleicon@aeromexicoicon\endcsname {\simpleiconsmapone\symbol{55}}
- \expandafter\def\csname simpleicon@aerospikeicon\endcsname {\simpleiconsmapone\symbol{56}}
- \expandafter\def\csname simpleicon@aewicon\endcsname {\simpleiconsmapone\symbol{57}}
- \expandafter\def\csname simpleicon@affineicon\endcsname {\simpleiconsmapone\symbol{58}}
- \expandafter\def\csname simpleicon@affinityicon\endcsname {\simpleiconsmapone\symbol{59}}
- \expandafter\def\csname simpleicon@affinitydesignericon\endcsname {\simpleiconsmapone\symbol{60}}
- \expandafter\def\csname simpleicon@affinityphotoicon\endcsname {\simpleiconsmapone\symbol{61}}
- \expandafter\def\csname simpleicon@affinitypublishericon\endcsname {\simpleiconsmapone\symbol{62}}
- \expandafter\def\csname simpleicon@aframeicon\endcsname {\simpleiconsmapone\symbol{63}}
- \expandafter\def\csname simpleicon@afterpayicon\endcsname {\simpleiconsmapone\symbol{64}}
- \expandafter\def\csname simpleicon@agoraicon\endcsname {\simpleiconsmapone\symbol{65}}
- \expandafter\def\csname simpleicon@aibicon\endcsname {\simpleiconsmapone\symbol{66}}
- \expandafter\def\csname simpleicon@aidungeonicon\endcsname {\simpleiconsmapone\symbol{67}}
- \expandafter\def\csname simpleicon@aiohttpicon\endcsname {\simpleiconsmapone\symbol{68}}
- \expandafter\def\csname simpleicon@aiqfomeicon\endcsname {\simpleiconsmapone\symbol{69}}
- \expandafter\def\csname simpleicon@airasiaicon\endcsname {\simpleiconsmapone\symbol{70}}
- \expandafter\def\csname simpleicon@airbnbicon\endcsname {\simpleiconsmapone\symbol{71}}
- \expandafter\def\csname simpleicon@airbrakedotioicon\endcsname {\simpleiconsmapone\symbol{72}}
- \expandafter\def\csname simpleicon@airbusicon\endcsname {\simpleiconsmapone\symbol{73}}
- \expandafter\def\csname simpleicon@airbyteicon\endcsname {\simpleiconsmapone\symbol{74}}
- \expandafter\def\csname simpleicon@aircallicon\endcsname {\simpleiconsmapone\symbol{75}}
- \expandafter\def\csname simpleicon@aircanadaicon\endcsname {\simpleiconsmapone\symbol{76}}
- \expandafter\def\csname simpleicon@airchinaicon\endcsname {\simpleiconsmapone\symbol{77}}
- \expandafter\def\csname simpleicon@airfranceicon\endcsname {\simpleiconsmapone\symbol{78}}
- \expandafter\def\csname simpleicon@airindiaicon\endcsname {\simpleiconsmapone\symbol{79}}
- \expandafter\def\csname simpleicon@airplayaudioicon\endcsname {\simpleiconsmapone\symbol{80}}
- \expandafter\def\csname simpleicon@airplayvideoicon\endcsname {\simpleiconsmapone\symbol{81}}
- \expandafter\def\csname simpleicon@airtableicon\endcsname {\simpleiconsmapone\symbol{82}}
- \expandafter\def\csname simpleicon@airtelicon\endcsname {\simpleiconsmapone\symbol{83}}
- \expandafter\def\csname simpleicon@airtransaticon\endcsname {\simpleiconsmapone\symbol{84}}
- \expandafter\def\csname simpleicon@ajvicon\endcsname {\simpleiconsmapone\symbol{85}}
- \expandafter\def\csname simpleicon@akamaiicon\endcsname {\simpleiconsmapone\symbol{86}}
- \expandafter\def\csname simpleicon@akauntingicon\endcsname {\simpleiconsmapone\symbol{87}}
- \expandafter\def\csname simpleicon@akiflowicon\endcsname {\simpleiconsmapone\symbol{88}}
- \expandafter\def\csname simpleicon@alacrittyicon\endcsname {\simpleiconsmapone\symbol{89}}
- \expandafter\def\csname simpleicon@alamyicon\endcsname {\simpleiconsmapone\symbol{90}}
- \expandafter\def\csname simpleicon@albertheijnicon\endcsname {\simpleiconsmapone\symbol{91}}
- \expandafter\def\csname simpleicon@albyicon\endcsname {\simpleiconsmapone\symbol{92}}
- \expandafter\def\csname simpleicon@alchemyicon\endcsname {\simpleiconsmapone\symbol{93}}
- \expandafter\def\csname simpleicon@aldinordicon\endcsname {\simpleiconsmapone\symbol{94}}
- \expandafter\def\csname simpleicon@aldisudicon\endcsname {\simpleiconsmapone\symbol{95}}
- \expandafter\def\csname simpleicon@alfaromeoicon\endcsname {\simpleiconsmapone\symbol{96}}
- \expandafter\def\csname simpleicon@alfredicon\endcsname {\simpleiconsmapone\symbol{97}}
- \expandafter\def\csname simpleicon@algoliaicon\endcsname {\simpleiconsmapone\symbol{98}}
- \expandafter\def\csname simpleicon@algorandicon\endcsname {\simpleiconsmapone\symbol{99}}
- \expandafter\def\csname simpleicon@alibabacloudicon\endcsname {\simpleiconsmapone\symbol{100}}
- \expandafter\def\csname simpleicon@alibabadotcomicon\endcsname {\simpleiconsmapone\symbol{101}}
- \expandafter\def\csname simpleicon@alienwareicon\endcsname {\simpleiconsmapone\symbol{102}}
- \expandafter\def\csname simpleicon@aliexpressicon\endcsname {\simpleiconsmapone\symbol{103}}
- \expandafter\def\csname simpleicon@alipayicon\endcsname {\simpleiconsmapone\symbol{104}}
- \expandafter\def\csname simpleicon@allegroicon\endcsname {\simpleiconsmapone\symbol{105}}
- \expandafter\def\csname simpleicon@alliedmoddersicon\endcsname {\simpleiconsmapone\symbol{106}}
- \expandafter\def\csname simpleicon@allocineicon\endcsname {\simpleiconsmapone\symbol{107}}
- \expandafter\def\csname simpleicon@alltrailsicon\endcsname {\simpleiconsmapone\symbol{108}}
- \expandafter\def\csname simpleicon@almalinuxicon\endcsname {\simpleiconsmapone\symbol{109}}
- \expandafter\def\csname simpleicon@alpinedotjsicon\endcsname {\simpleiconsmapone\symbol{110}}
- \expandafter\def\csname simpleicon@alpinelinuxicon\endcsname {\simpleiconsmapone\symbol{111}}
- \expandafter\def\csname simpleicon@alteryxicon\endcsname {\simpleiconsmapone\symbol{112}}
- \expandafter\def\csname simpleicon@altiumdesignericon\endcsname {\simpleiconsmapone\symbol{113}}
- \expandafter\def\csname simpleicon@alwaysdataicon\endcsname {\simpleiconsmapone\symbol{114}}
- \expandafter\def\csname simpleicon@alxicon\endcsname {\simpleiconsmapone\symbol{115}}
- \expandafter\def\csname simpleicon@amazonicon\endcsname {\simpleiconsmapone\symbol{116}}
- \expandafter\def\csname simpleicon@amazonalexaicon\endcsname {\simpleiconsmapone\symbol{117}}
- \expandafter\def\csname simpleicon@amazonapigatewayicon\endcsname {\simpleiconsmapone\symbol{118}}
- \expandafter\def\csname simpleicon@amazonawsicon\endcsname {\simpleiconsmapone\symbol{119}}
- \expandafter\def\csname simpleicon@amazoncloudwatchicon\endcsname {\simpleiconsmapone\symbol{120}}
- \expandafter\def\csname simpleicon@amazoncognitoicon\endcsname {\simpleiconsmapone\symbol{121}}
- \expandafter\def\csname simpleicon@amazondocumentdbicon\endcsname {\simpleiconsmapone\symbol{122}}
- \expandafter\def\csname simpleicon@amazondynamodbicon\endcsname {\simpleiconsmapone\symbol{123}}
- \expandafter\def\csname simpleicon@amazonec2icon\endcsname {\simpleiconsmapone\symbol{124}}
- \expandafter\def\csname simpleicon@amazonecsicon\endcsname {\simpleiconsmapone\symbol{125}}
- \expandafter\def\csname simpleicon@amazoneksicon\endcsname {\simpleiconsmapone\symbol{126}}
- \expandafter\def\csname simpleicon@amazonelasticacheicon\endcsname {\simpleiconsmapone\symbol{127}}
- \expandafter\def\csname simpleicon@amazonfiretvicon\endcsname {\simpleiconsmapone\symbol{128}}
- \expandafter\def\csname simpleicon@amazongamesicon\endcsname {\simpleiconsmapone\symbol{129}}
- \expandafter\def\csname simpleicon@amazoniamicon\endcsname {\simpleiconsmapone\symbol{130}}
- \expandafter\def\csname simpleicon@amazonlumberyardicon\endcsname {\simpleiconsmapone\symbol{131}}
- \expandafter\def\csname simpleicon@amazonlunaicon\endcsname {\simpleiconsmapone\symbol{132}}
- \expandafter\def\csname simpleicon@amazonmusicicon\endcsname {\simpleiconsmapone\symbol{133}}
- \expandafter\def\csname simpleicon@amazonpayicon\endcsname {\simpleiconsmapone\symbol{134}}
- \expandafter\def\csname simpleicon@amazonprimeicon\endcsname {\simpleiconsmapone\symbol{135}}
- \expandafter\def\csname simpleicon@amazonrdsicon\endcsname {\simpleiconsmapone\symbol{136}}
- \expandafter\def\csname simpleicon@amazonredshifticon\endcsname {\simpleiconsmapone\symbol{137}}
- \expandafter\def\csname simpleicon@amazonroute53icon\endcsname {\simpleiconsmapone\symbol{138}}
- \expandafter\def\csname simpleicon@amazons3icon\endcsname {\simpleiconsmapone\symbol{139}}
- \expandafter\def\csname simpleicon@amazonsimpleemailserviceicon\endcsname {\simpleiconsmapone\symbol{140}}
- \expandafter\def\csname simpleicon@amazonsqsicon\endcsname {\simpleiconsmapone\symbol{141}}
- \expandafter\def\csname simpleicon@amdicon\endcsname {\simpleiconsmapone\symbol{142}}
- \expandafter\def\csname simpleicon@amebaicon\endcsname {\simpleiconsmapone\symbol{143}}
- \expandafter\def\csname simpleicon@americanairlinesicon\endcsname {\simpleiconsmapone\symbol{144}}
- \expandafter\def\csname simpleicon@americanexpressicon\endcsname {\simpleiconsmapone\symbol{145}}
- \expandafter\def\csname simpleicon@amgicon\endcsname {\simpleiconsmapone\symbol{146}}
- \expandafter\def\csname simpleicon@ampicon\endcsname {\simpleiconsmapone\symbol{147}}
- \expandafter\def\csname simpleicon@amulicon\endcsname {\simpleiconsmapone\symbol{148}}
- \expandafter\def\csname simpleicon@anaicon\endcsname {\simpleiconsmapone\symbol{149}}
- \expandafter\def\csname simpleicon@anacondaicon\endcsname {\simpleiconsmapone\symbol{150}}
- \expandafter\def\csname simpleicon@analogueicon\endcsname {\simpleiconsmapone\symbol{151}}
- \expandafter\def\csname simpleicon@andelaicon\endcsname {\simpleiconsmapone\symbol{152}}
- \expandafter\def\csname simpleicon@androidicon\endcsname {\simpleiconsmapone\symbol{153}}
- \expandafter\def\csname simpleicon@androidautoicon\endcsname {\simpleiconsmapone\symbol{154}}
- \expandafter\def\csname simpleicon@androidstudioicon\endcsname {\simpleiconsmapone\symbol{155}}
- \expandafter\def\csname simpleicon@angularicon\endcsname {\simpleiconsmapone\symbol{156}}
- \expandafter\def\csname simpleicon@anilisticon\endcsname {\simpleiconsmapone\symbol{157}}
- \expandafter\def\csname simpleicon@animalplaneticon\endcsname {\simpleiconsmapone\symbol{158}}
- \expandafter\def\csname simpleicon@ankermakeicon\endcsname {\simpleiconsmapone\symbol{159}}
- \expandafter\def\csname simpleicon@ansibleicon\endcsname {\simpleiconsmapone\symbol{160}}
- \expandafter\def\csname simpleicon@answericon\endcsname {\simpleiconsmapone\symbol{161}}
- \expandafter\def\csname simpleicon@ansysicon\endcsname {\simpleiconsmapone\symbol{162}}
- \expandafter\def\csname simpleicon@antaicon\endcsname {\simpleiconsmapone\symbol{163}}
- \expandafter\def\csname simpleicon@antdesignicon\endcsname {\simpleiconsmapone\symbol{164}}
- \expandafter\def\csname simpleicon@antena3icon\endcsname {\simpleiconsmapone\symbol{165}}
- \expandafter\def\csname simpleicon@anthropicicon\endcsname {\simpleiconsmapone\symbol{166}}
- \expandafter\def\csname simpleicon@anycubicicon\endcsname {\simpleiconsmapone\symbol{167}}
- \expandafter\def\csname simpleicon@anydeskicon\endcsname {\simpleiconsmapone\symbol{168}}
- \expandafter\def\csname simpleicon@anytypeicon\endcsname {\simpleiconsmapone\symbol{169}}
- \expandafter\def\csname simpleicon@aolicon\endcsname {\simpleiconsmapone\symbol{170}}
- \expandafter\def\csname simpleicon@apacheicon\endcsname {\simpleiconsmapone\symbol{171}}
- \expandafter\def\csname simpleicon@apacheairflowicon\endcsname {\simpleiconsmapone\symbol{172}}
- \expandafter\def\csname simpleicon@apacheanticon\endcsname {\simpleiconsmapone\symbol{173}}
- \expandafter\def\csname simpleicon@apachecassandraicon\endcsname {\simpleiconsmapone\symbol{174}}
- \expandafter\def\csname simpleicon@apachecloudstackicon\endcsname {\simpleiconsmapone\symbol{175}}
- \expandafter\def\csname simpleicon@apachecordovaicon\endcsname {\simpleiconsmapone\symbol{176}}
- \expandafter\def\csname simpleicon@apachecouchdbicon\endcsname {\simpleiconsmapone\symbol{177}}
- \expandafter\def\csname simpleicon@apachedruidicon\endcsname {\simpleiconsmapone\symbol{178}}
- \expandafter\def\csname simpleicon@apacheechartsicon\endcsname {\simpleiconsmapone\symbol{179}}
- \expandafter\def\csname simpleicon@apacheflinkicon\endcsname {\simpleiconsmapone\symbol{180}}
- \expandafter\def\csname simpleicon@apachefreemarkericon\endcsname {\simpleiconsmapone\symbol{181}}
- \expandafter\def\csname simpleicon@apachegroovyicon\endcsname {\simpleiconsmapone\symbol{182}}
- \expandafter\def\csname simpleicon@apacheguacamoleicon\endcsname {\simpleiconsmapone\symbol{183}}
- \expandafter\def\csname simpleicon@apachehadoopicon\endcsname {\simpleiconsmapone\symbol{184}}
- \expandafter\def\csname simpleicon@apachehiveicon\endcsname {\simpleiconsmapone\symbol{185}}
- \expandafter\def\csname simpleicon@apachejmetericon\endcsname {\simpleiconsmapone\symbol{186}}
- \expandafter\def\csname simpleicon@apachekafkaicon\endcsname {\simpleiconsmapone\symbol{187}}
- \expandafter\def\csname simpleicon@apachekylinicon\endcsname {\simpleiconsmapone\symbol{188}}
- \expandafter\def\csname simpleicon@apachemavenicon\endcsname {\simpleiconsmapone\symbol{189}}
- \expandafter\def\csname simpleicon@apachenetbeansideicon\endcsname {\simpleiconsmapone\symbol{190}}
- \expandafter\def\csname simpleicon@apacheopenofficeicon\endcsname {\simpleiconsmapone\symbol{191}}
- \expandafter\def\csname simpleicon@apacheparqueticon\endcsname {\simpleiconsmapone\symbol{192}}
- \expandafter\def\csname simpleicon@apachepulsaricon\endcsname {\simpleiconsmapone\symbol{193}}
- \expandafter\def\csname simpleicon@apacherocketmqicon\endcsname {\simpleiconsmapone\symbol{194}}
- \expandafter\def\csname simpleicon@apachesolricon\endcsname {\simpleiconsmapone\symbol{195}}
- \expandafter\def\csname simpleicon@apachesparkicon\endcsname {\simpleiconsmapone\symbol{196}}
- \expandafter\def\csname simpleicon@apachestormicon\endcsname {\simpleiconsmapone\symbol{197}}
- \expandafter\def\csname simpleicon@apachetomcaticon\endcsname {\simpleiconsmapone\symbol{198}}
- \expandafter\def\csname simpleicon@aparaticon\endcsname {\simpleiconsmapone\symbol{199}}
- \expandafter\def\csname simpleicon@apifoxicon\endcsname {\simpleiconsmapone\symbol{200}}
- \expandafter\def\csname simpleicon@apmterminalsicon\endcsname {\simpleiconsmapone\symbol{201}}
- \expandafter\def\csname simpleicon@apollographqlicon\endcsname {\simpleiconsmapone\symbol{202}}
- \expandafter\def\csname simpleicon@apostropheicon\endcsname {\simpleiconsmapone\symbol{203}}
- \expandafter\def\csname simpleicon@appianicon\endcsname {\simpleiconsmapone\symbol{204}}
- \expandafter\def\csname simpleicon@appiumicon\endcsname {\simpleiconsmapone\symbol{205}}
- \expandafter\def\csname simpleicon@appleicon\endcsname {\simpleiconsmapone\symbol{206}}
- \expandafter\def\csname simpleicon@applearcadeicon\endcsname {\simpleiconsmapone\symbol{207}}
- \expandafter\def\csname simpleicon@applemusicicon\endcsname {\simpleiconsmapone\symbol{208}}
- \expandafter\def\csname simpleicon@applenewsicon\endcsname {\simpleiconsmapone\symbol{209}}
- \expandafter\def\csname simpleicon@applepayicon\endcsname {\simpleiconsmapone\symbol{210}}
- \expandafter\def\csname simpleicon@applepodcastsicon\endcsname {\simpleiconsmapone\symbol{211}}
- \expandafter\def\csname simpleicon@appletvicon\endcsname {\simpleiconsmapone\symbol{212}}
- \expandafter\def\csname simpleicon@appsignalicon\endcsname {\simpleiconsmapone\symbol{213}}
- \expandafter\def\csname simpleicon@appsmithicon\endcsname {\simpleiconsmapone\symbol{214}}
- \expandafter\def\csname simpleicon@appstoreicon\endcsname {\simpleiconsmapone\symbol{215}}
- \expandafter\def\csname simpleicon@appveyoricon\endcsname {\simpleiconsmapone\symbol{216}}
- \expandafter\def\csname simpleicon@appwriteicon\endcsname {\simpleiconsmapone\symbol{217}}
- \expandafter\def\csname simpleicon@aquaicon\endcsname {\simpleiconsmapone\symbol{218}}
- \expandafter\def\csname simpleicon@aralicon\endcsname {\simpleiconsmapone\symbol{219}}
- \expandafter\def\csname simpleicon@arangodbicon\endcsname {\simpleiconsmapone\symbol{220}}
- \expandafter\def\csname simpleicon@arcicon\endcsname {\simpleiconsmapone\symbol{221}}
- \expandafter\def\csname simpleicon@arcgisicon\endcsname {\simpleiconsmapone\symbol{222}}
- \expandafter\def\csname simpleicon@archicadicon\endcsname {\simpleiconsmapone\symbol{223}}
- \expandafter\def\csname simpleicon@archiveofourownicon\endcsname {\simpleiconsmapone\symbol{224}}
- \expandafter\def\csname simpleicon@archlinuxicon\endcsname {\simpleiconsmapone\symbol{225}}
- \expandafter\def\csname simpleicon@ardouricon\endcsname {\simpleiconsmapone\symbol{226}}
- \expandafter\def\csname simpleicon@arduinoicon\endcsname {\simpleiconsmapone\symbol{227}}
- \expandafter\def\csname simpleicon@argoicon\endcsname {\simpleiconsmapone\symbol{228}}
- \expandafter\def\csname simpleicon@argosicon\endcsname {\simpleiconsmapone\symbol{229}}
- \expandafter\def\csname simpleicon@ariakiticon\endcsname {\simpleiconsmapone\symbol{230}}
- \expandafter\def\csname simpleicon@arkecosystemicon\endcsname {\simpleiconsmapone\symbol{231}}
- \expandafter\def\csname simpleicon@arloicon\endcsname {\simpleiconsmapone\symbol{232}}
- \expandafter\def\csname simpleicon@armicon\endcsname {\simpleiconsmapone\symbol{233}}
- \expandafter\def\csname simpleicon@armkeilicon\endcsname {\simpleiconsmapone\symbol{234}}
- \expandafter\def\csname simpleicon@arstechnicaicon\endcsname {\simpleiconsmapone\symbol{235}}
- \expandafter\def\csname simpleicon@artifacthubicon\endcsname {\simpleiconsmapone\symbol{236}}
- \expandafter\def\csname simpleicon@artixlinuxicon\endcsname {\simpleiconsmapone\symbol{237}}
- \expandafter\def\csname simpleicon@artstationicon\endcsname {\simpleiconsmapone\symbol{238}}
- \expandafter\def\csname simpleicon@arxivicon\endcsname {\simpleiconsmapone\symbol{239}}
- \expandafter\def\csname simpleicon@asahilinuxicon\endcsname {\simpleiconsmapone\symbol{240}}
- \expandafter\def\csname simpleicon@asanaicon\endcsname {\simpleiconsmapone\symbol{241}}
- \expandafter\def\csname simpleicon@asciidoctoricon\endcsname {\simpleiconsmapone\symbol{242}}
- \expandafter\def\csname simpleicon@asciinemaicon\endcsname {\simpleiconsmapone\symbol{243}}
- \expandafter\def\csname simpleicon@asdaicon\endcsname {\simpleiconsmapone\symbol{244}}
- \expandafter\def\csname simpleicon@asepriteicon\endcsname {\simpleiconsmapone\symbol{245}}
- \expandafter\def\csname simpleicon@askfmicon\endcsname {\simpleiconsmapone\symbol{246}}
- \expandafter\def\csname simpleicon@assemblyscripticon\endcsname {\simpleiconsmapone\symbol{247}}
- \expandafter\def\csname simpleicon@astonmartinicon\endcsname {\simpleiconsmapone\symbol{248}}
- \expandafter\def\csname simpleicon@astroicon\endcsname {\simpleiconsmapone\symbol{249}}
- \expandafter\def\csname simpleicon@asusicon\endcsname {\simpleiconsmapone\symbol{250}}
- \expandafter\def\csname simpleicon@atandticon\endcsname {\simpleiconsmapone\symbol{251}}
- \expandafter\def\csname simpleicon@atariicon\endcsname {\simpleiconsmapone\symbol{252}}
- \expandafter\def\csname simpleicon@atlassianicon\endcsname {\simpleiconsmapone\symbol{253}}
- \expandafter\def\csname simpleicon@auchanicon\endcsname {\simpleiconsmapone\symbol{254}}
- \expandafter\def\csname simpleicon@audacityicon\endcsname {\simpleiconsmapone\symbol{255}}
- \expandafter\def\csname simpleicon@audiicon\endcsname {\simpleiconsmaptwo\symbol{0}}
- \expandafter\def\csname simpleicon@audibleicon\endcsname {\simpleiconsmaptwo\symbol{1}}
- \expandafter\def\csname simpleicon@audioboomicon\endcsname {\simpleiconsmaptwo\symbol{2}}
- \expandafter\def\csname simpleicon@audiomackicon\endcsname {\simpleiconsmaptwo\symbol{3}}
- \expandafter\def\csname simpleicon@audiotechnicaicon\endcsname {\simpleiconsmaptwo\symbol{4}}
- \expandafter\def\csname simpleicon@aureliaicon\endcsname {\simpleiconsmaptwo\symbol{5}}
- \expandafter\def\csname simpleicon@auth0icon\endcsname {\simpleiconsmaptwo\symbol{6}}
- \expandafter\def\csname simpleicon@autheliaicon\endcsname {\simpleiconsmaptwo\symbol{7}}
- \expandafter\def\csname simpleicon@authyicon\endcsname {\simpleiconsmaptwo\symbol{8}}
- \expandafter\def\csname simpleicon@autocadicon\endcsname {\simpleiconsmaptwo\symbol{9}}
- \expandafter\def\csname simpleicon@autodeskicon\endcsname {\simpleiconsmaptwo\symbol{10}}
- \expandafter\def\csname simpleicon@autodeskmayaicon\endcsname {\simpleiconsmaptwo\symbol{11}}
- \expandafter\def\csname simpleicon@autodeskreviticon\endcsname {\simpleiconsmaptwo\symbol{12}}
- \expandafter\def\csname simpleicon@autohotkeyicon\endcsname {\simpleiconsmaptwo\symbol{13}}
- \expandafter\def\csname simpleicon@autoiticon\endcsname {\simpleiconsmaptwo\symbol{14}}
- \expandafter\def\csname simpleicon@automatticicon\endcsname {\simpleiconsmaptwo\symbol{15}}
- \expandafter\def\csname simpleicon@autoprefixericon\endcsname {\simpleiconsmaptwo\symbol{16}}
- \expandafter\def\csname simpleicon@autozoneicon\endcsname {\simpleiconsmaptwo\symbol{17}}
- \expandafter\def\csname simpleicon@avajsicon\endcsname {\simpleiconsmaptwo\symbol{18}}
- \expandafter\def\csname simpleicon@avasticon\endcsname {\simpleiconsmaptwo\symbol{19}}
- \expandafter\def\csname simpleicon@aviancaicon\endcsname {\simpleiconsmaptwo\symbol{20}}
- \expandafter\def\csname simpleicon@aviraicon\endcsname {\simpleiconsmaptwo\symbol{21}}
- \expandafter\def\csname simpleicon@awesomelistsicon\endcsname {\simpleiconsmaptwo\symbol{22}}
- \expandafter\def\csname simpleicon@awesomewmicon\endcsname {\simpleiconsmaptwo\symbol{23}}
- \expandafter\def\csname simpleicon@awsamplifyicon\endcsname {\simpleiconsmaptwo\symbol{24}}
- \expandafter\def\csname simpleicon@awselasticloadbalancingicon\endcsname {\simpleiconsmaptwo\symbol{25}}
- \expandafter\def\csname simpleicon@awsfargateicon\endcsname {\simpleiconsmaptwo\symbol{26}}
- \expandafter\def\csname simpleicon@awslambdaicon\endcsname {\simpleiconsmaptwo\symbol{27}}
- \expandafter\def\csname simpleicon@awsorganizationsicon\endcsname {\simpleiconsmaptwo\symbol{28}}
- \expandafter\def\csname simpleicon@awssecretsmanagericon\endcsname {\simpleiconsmaptwo\symbol{29}}
- \expandafter\def\csname simpleicon@axiosicon\endcsname {\simpleiconsmaptwo\symbol{30}}
- \expandafter\def\csname simpleicon@azureartifactsicon\endcsname {\simpleiconsmaptwo\symbol{31}}
- \expandafter\def\csname simpleicon@azuredataexplorericon\endcsname {\simpleiconsmaptwo\symbol{32}}
- \expandafter\def\csname simpleicon@azuredevopsicon\endcsname {\simpleiconsmaptwo\symbol{33}}
- \expandafter\def\csname simpleicon@azurefunctionsicon\endcsname {\simpleiconsmaptwo\symbol{34}}
- \expandafter\def\csname simpleicon@azurepipelinesicon\endcsname {\simpleiconsmaptwo\symbol{35}}
- \expandafter\def\csname simpleicon@babelicon\endcsname {\simpleiconsmaptwo\symbol{36}}
- \expandafter\def\csname simpleicon@babelioicon\endcsname {\simpleiconsmaptwo\symbol{37}}
- \expandafter\def\csname simpleicon@backblazeicon\endcsname {\simpleiconsmaptwo\symbol{38}}
- \expandafter\def\csname simpleicon@backbonedotjsicon\endcsname {\simpleiconsmaptwo\symbol{39}}
- \expandafter\def\csname simpleicon@backendlessicon\endcsname {\simpleiconsmaptwo\symbol{40}}
- \expandafter\def\csname simpleicon@backstageicon\endcsname {\simpleiconsmaptwo\symbol{41}}
- \expandafter\def\csname simpleicon@badooicon\endcsname {\simpleiconsmaptwo\symbol{42}}
- \expandafter\def\csname simpleicon@baiduicon\endcsname {\simpleiconsmaptwo\symbol{43}}
- \expandafter\def\csname simpleicon@bakalariicon\endcsname {\simpleiconsmaptwo\symbol{44}}
- \expandafter\def\csname simpleicon@bambooicon\endcsname {\simpleiconsmaptwo\symbol{45}}
- \expandafter\def\csname simpleicon@bandcampicon\endcsname {\simpleiconsmaptwo\symbol{46}}
- \expandafter\def\csname simpleicon@bandlabicon\endcsname {\simpleiconsmaptwo\symbol{47}}
- \expandafter\def\csname simpleicon@bandrautomationicon\endcsname {\simpleiconsmaptwo\symbol{48}}
- \expandafter\def\csname simpleicon@bandsintownicon\endcsname {\simpleiconsmaptwo\symbol{49}}
- \expandafter\def\csname simpleicon@bankofamericaicon\endcsname {\simpleiconsmaptwo\symbol{50}}
- \expandafter\def\csname simpleicon@barclaysicon\endcsname {\simpleiconsmaptwo\symbol{51}}
- \expandafter\def\csname simpleicon@baremetricsicon\endcsname {\simpleiconsmaptwo\symbol{52}}
- \expandafter\def\csname simpleicon@barmeniaicon\endcsname {\simpleiconsmaptwo\symbol{53}}
- \expandafter\def\csname simpleicon@basecampicon\endcsname {\simpleiconsmaptwo\symbol{54}}
- \expandafter\def\csname simpleicon@basicattentiontokenicon\endcsname {\simpleiconsmaptwo\symbol{55}}
- \expandafter\def\csname simpleicon@bastyonicon\endcsname {\simpleiconsmaptwo\symbol{56}}
- \expandafter\def\csname simpleicon@baticon\endcsname {\simpleiconsmaptwo\symbol{57}}
- \expandafter\def\csname simpleicon@bataicon\endcsname {\simpleiconsmaptwo\symbol{58}}
- \expandafter\def\csname simpleicon@battledotneticon\endcsname {\simpleiconsmaptwo\symbol{59}}
- \expandafter\def\csname simpleicon@bazelicon\endcsname {\simpleiconsmaptwo\symbol{60}}
- \expandafter\def\csname simpleicon@beatporticon\endcsname {\simpleiconsmaptwo\symbol{61}}
- \expandafter\def\csname simpleicon@beatsicon\endcsname {\simpleiconsmaptwo\symbol{62}}
- \expandafter\def\csname simpleicon@beatsbydreicon\endcsname {\simpleiconsmaptwo\symbol{63}}
- \expandafter\def\csname simpleicon@beatstarsicon\endcsname {\simpleiconsmaptwo\symbol{64}}
- \expandafter\def\csname simpleicon@behanceicon\endcsname {\simpleiconsmaptwo\symbol{65}}
- \expandafter\def\csname simpleicon@beijingsubwayicon\endcsname {\simpleiconsmaptwo\symbol{66}}
- \expandafter\def\csname simpleicon@bemicon\endcsname {\simpleiconsmaptwo\symbol{67}}
- \expandafter\def\csname simpleicon@bentleyicon\endcsname {\simpleiconsmaptwo\symbol{68}}
- \expandafter\def\csname simpleicon@bentoicon\endcsname {\simpleiconsmaptwo\symbol{69}}
- \expandafter\def\csname simpleicon@bentoboxicon\endcsname {\simpleiconsmaptwo\symbol{70}}
- \expandafter\def\csname simpleicon@bentomlicon\endcsname {\simpleiconsmaptwo\symbol{71}}
- \expandafter\def\csname simpleicon@berealicon\endcsname {\simpleiconsmaptwo\symbol{72}}
- \expandafter\def\csname simpleicon@betfairicon\endcsname {\simpleiconsmaptwo\symbol{73}}
- \expandafter\def\csname simpleicon@betterstackicon\endcsname {\simpleiconsmaptwo\symbol{74}}
- \expandafter\def\csname simpleicon@bevyicon\endcsname {\simpleiconsmaptwo\symbol{75}}
- \expandafter\def\csname simpleicon@bigbasketicon\endcsname {\simpleiconsmaptwo\symbol{76}}
- \expandafter\def\csname simpleicon@bigbluebuttonicon\endcsname {\simpleiconsmaptwo\symbol{77}}
- \expandafter\def\csname simpleicon@bigcartelicon\endcsname {\simpleiconsmaptwo\symbol{78}}
- \expandafter\def\csname simpleicon@bigcommerceicon\endcsname {\simpleiconsmaptwo\symbol{79}}
- \expandafter\def\csname simpleicon@bilibiliicon\endcsname {\simpleiconsmaptwo\symbol{80}}
- \expandafter\def\csname simpleicon@billboardicon\endcsname {\simpleiconsmaptwo\symbol{81}}
- \expandafter\def\csname simpleicon@bimicon\endcsname {\simpleiconsmaptwo\symbol{82}}
- \expandafter\def\csname simpleicon@binanceicon\endcsname {\simpleiconsmaptwo\symbol{83}}
- \expandafter\def\csname simpleicon@biolinkicon\endcsname {\simpleiconsmaptwo\symbol{84}}
- \expandafter\def\csname simpleicon@biomeicon\endcsname {\simpleiconsmaptwo\symbol{85}}
- \expandafter\def\csname simpleicon@bisecthostingicon\endcsname {\simpleiconsmaptwo\symbol{86}}
- \expandafter\def\csname simpleicon@biticon\endcsname {\simpleiconsmaptwo\symbol{87}}
- \expandafter\def\csname simpleicon@bitbucketicon\endcsname {\simpleiconsmaptwo\symbol{88}}
- \expandafter\def\csname simpleicon@bitcoinicon\endcsname {\simpleiconsmaptwo\symbol{89}}
- \expandafter\def\csname simpleicon@bitcoincashicon\endcsname {\simpleiconsmaptwo\symbol{90}}
- \expandafter\def\csname simpleicon@bitcoinsvicon\endcsname {\simpleiconsmaptwo\symbol{91}}
- \expandafter\def\csname simpleicon@bitcometicon\endcsname {\simpleiconsmaptwo\symbol{92}}
- \expandafter\def\csname simpleicon@bitdefendericon\endcsname {\simpleiconsmaptwo\symbol{93}}
- \expandafter\def\csname simpleicon@bitlyicon\endcsname {\simpleiconsmaptwo\symbol{94}}
- \expandafter\def\csname simpleicon@bitriseicon\endcsname {\simpleiconsmaptwo\symbol{95}}
- \expandafter\def\csname simpleicon@bittorrenticon\endcsname {\simpleiconsmaptwo\symbol{96}}
- \expandafter\def\csname simpleicon@bitwardenicon\endcsname {\simpleiconsmaptwo\symbol{97}}
- \expandafter\def\csname simpleicon@bitwigicon\endcsname {\simpleiconsmaptwo\symbol{98}}
- \expandafter\def\csname simpleicon@blackberryicon\endcsname {\simpleiconsmaptwo\symbol{99}}
- \expandafter\def\csname simpleicon@blackmagicdesignicon\endcsname {\simpleiconsmaptwo\symbol{100}}
- \expandafter\def\csname simpleicon@blazemetericon\endcsname {\simpleiconsmaptwo\symbol{101}}
- \expandafter\def\csname simpleicon@blazoricon\endcsname {\simpleiconsmaptwo\symbol{102}}
- \expandafter\def\csname simpleicon@blendericon\endcsname {\simpleiconsmaptwo\symbol{103}}
- \expandafter\def\csname simpleicon@blockbenchicon\endcsname {\simpleiconsmaptwo\symbol{104}}
- \expandafter\def\csname simpleicon@blockchaindotcomicon\endcsname {\simpleiconsmaptwo\symbol{105}}
- \expandafter\def\csname simpleicon@bloggericon\endcsname {\simpleiconsmaptwo\symbol{106}}
- \expandafter\def\csname simpleicon@bloglovinicon\endcsname {\simpleiconsmaptwo\symbol{107}}
- \expandafter\def\csname simpleicon@blueprinticon\endcsname {\simpleiconsmaptwo\symbol{108}}
- \expandafter\def\csname simpleicon@blueskyicon\endcsname {\simpleiconsmaptwo\symbol{109}}
- \expandafter\def\csname simpleicon@bluesoundicon\endcsname {\simpleiconsmaptwo\symbol{110}}
- \expandafter\def\csname simpleicon@bluetoothicon\endcsname {\simpleiconsmaptwo\symbol{111}}
- \expandafter\def\csname simpleicon@bmcsoftwareicon\endcsname {\simpleiconsmaptwo\symbol{112}}
- \expandafter\def\csname simpleicon@bmwicon\endcsname {\simpleiconsmaptwo\symbol{113}}
- \expandafter\def\csname simpleicon@bnbchainicon\endcsname {\simpleiconsmaptwo\symbol{114}}
- \expandafter\def\csname simpleicon@boardgamegeekicon\endcsname {\simpleiconsmaptwo\symbol{115}}
- \expandafter\def\csname simpleicon@boaticon\endcsname {\simpleiconsmaptwo\symbol{116}}
- \expandafter\def\csname simpleicon@boehringeringelheimicon\endcsname {\simpleiconsmaptwo\symbol{117}}
- \expandafter\def\csname simpleicon@boeingicon\endcsname {\simpleiconsmaptwo\symbol{118}}
- \expandafter\def\csname simpleicon@bombardiericon\endcsname {\simpleiconsmaptwo\symbol{119}}
- \expandafter\def\csname simpleicon@bookalopeicon\endcsname {\simpleiconsmaptwo\symbol{120}}
- \expandafter\def\csname simpleicon@bookbubicon\endcsname {\simpleiconsmaptwo\symbol{121}}
- \expandafter\def\csname simpleicon@bookmetericon\endcsname {\simpleiconsmaptwo\symbol{122}}
- \expandafter\def\csname simpleicon@bookmyshowicon\endcsname {\simpleiconsmaptwo\symbol{123}}
- \expandafter\def\csname simpleicon@bookstackicon\endcsname {\simpleiconsmaptwo\symbol{124}}
- \expandafter\def\csname simpleicon@boosticon\endcsname {\simpleiconsmaptwo\symbol{125}}
- \expandafter\def\csname simpleicon@boostyicon\endcsname {\simpleiconsmaptwo\symbol{126}}
- \expandafter\def\csname simpleicon@bootsicon\endcsname {\simpleiconsmaptwo\symbol{127}}
- \expandafter\def\csname simpleicon@bootstrapicon\endcsname {\simpleiconsmaptwo\symbol{128}}
- \expandafter\def\csname simpleicon@borgbackupicon\endcsname {\simpleiconsmaptwo\symbol{129}}
- \expandafter\def\csname simpleicon@boschicon\endcsname {\simpleiconsmaptwo\symbol{130}}
- \expandafter\def\csname simpleicon@boseicon\endcsname {\simpleiconsmaptwo\symbol{131}}
- \expandafter\def\csname simpleicon@botblecmsicon\endcsname {\simpleiconsmaptwo\symbol{132}}
- \expandafter\def\csname simpleicon@boulangericon\endcsname {\simpleiconsmaptwo\symbol{133}}
- \expandafter\def\csname simpleicon@bowericon\endcsname {\simpleiconsmaptwo\symbol{134}}
- \expandafter\def\csname simpleicon@boxicon\endcsname {\simpleiconsmaptwo\symbol{135}}
- \expandafter\def\csname simpleicon@boxysvgicon\endcsname {\simpleiconsmaptwo\symbol{136}}
- \expandafter\def\csname simpleicon@braintreeicon\endcsname {\simpleiconsmaptwo\symbol{137}}
- \expandafter\def\csname simpleicon@brandfoldericon\endcsname {\simpleiconsmaptwo\symbol{138}}
- \expandafter\def\csname simpleicon@braveicon\endcsname {\simpleiconsmaptwo\symbol{139}}
- \expandafter\def\csname simpleicon@breakericon\endcsname {\simpleiconsmaptwo\symbol{140}}
- \expandafter\def\csname simpleicon@brenntagicon\endcsname {\simpleiconsmaptwo\symbol{141}}
- \expandafter\def\csname simpleicon@brevoicon\endcsname {\simpleiconsmaptwo\symbol{142}}
- \expandafter\def\csname simpleicon@brexicon\endcsname {\simpleiconsmaptwo\symbol{143}}
- \expandafter\def\csname simpleicon@bricksicon\endcsname {\simpleiconsmaptwo\symbol{144}}
- \expandafter\def\csname simpleicon@britishairwaysicon\endcsname {\simpleiconsmaptwo\symbol{145}}
- \expandafter\def\csname simpleicon@broadcomicon\endcsname {\simpleiconsmaptwo\symbol{146}}
- \expandafter\def\csname simpleicon@bsdicon\endcsname {\simpleiconsmaptwo\symbol{147}}
- \expandafter\def\csname simpleicon@bspwmicon\endcsname {\simpleiconsmaptwo\symbol{148}}
- \expandafter\def\csname simpleicon@bticon\endcsname {\simpleiconsmaptwo\symbol{149}}
- \expandafter\def\csname simpleicon@buddyicon\endcsname {\simpleiconsmaptwo\symbol{150}}
- \expandafter\def\csname simpleicon@budibaseicon\endcsname {\simpleiconsmaptwo\symbol{151}}
- \expandafter\def\csname simpleicon@buefyicon\endcsname {\simpleiconsmaptwo\symbol{152}}
- \expandafter\def\csname simpleicon@buffericon\endcsname {\simpleiconsmaptwo\symbol{153}}
- \expandafter\def\csname simpleicon@bugattiicon\endcsname {\simpleiconsmaptwo\symbol{154}}
- \expandafter\def\csname simpleicon@bugcrowdicon\endcsname {\simpleiconsmaptwo\symbol{155}}
- \expandafter\def\csname simpleicon@bugsnagicon\endcsname {\simpleiconsmaptwo\symbol{156}}
- \expandafter\def\csname simpleicon@buildkiteicon\endcsname {\simpleiconsmaptwo\symbol{157}}
- \expandafter\def\csname simpleicon@bukalapakicon\endcsname {\simpleiconsmaptwo\symbol{158}}
- \expandafter\def\csname simpleicon@bulmaicon\endcsname {\simpleiconsmaptwo\symbol{159}}
- \expandafter\def\csname simpleicon@bunicon\endcsname {\simpleiconsmaptwo\symbol{160}}
- \expandafter\def\csname simpleicon@bungieicon\endcsname {\simpleiconsmaptwo\symbol{161}}
- \expandafter\def\csname simpleicon@bunqicon\endcsname {\simpleiconsmaptwo\symbol{162}}
- \expandafter\def\csname simpleicon@burgerkingicon\endcsname {\simpleiconsmaptwo\symbol{163}}
- \expandafter\def\csname simpleicon@burpsuiteicon\endcsname {\simpleiconsmaptwo\symbol{164}}
- \expandafter\def\csname simpleicon@burtonicon\endcsname {\simpleiconsmaptwo\symbol{165}}
- \expandafter\def\csname simpleicon@buymeacoffeeicon\endcsname {\simpleiconsmaptwo\symbol{166}}
- \expandafter\def\csname simpleicon@buyselladsicon\endcsname {\simpleiconsmaptwo\symbol{167}}
- \expandafter\def\csname simpleicon@buzzfeedicon\endcsname {\simpleiconsmaptwo\symbol{168}}
- \expandafter\def\csname simpleicon@bvgicon\endcsname {\simpleiconsmaptwo\symbol{169}}
- \expandafter\def\csname simpleicon@byjusicon\endcsname {\simpleiconsmaptwo\symbol{170}}
- \expandafter\def\csname simpleicon@bytedanceicon\endcsname {\simpleiconsmaptwo\symbol{171}}
- \expandafter\def\csname simpleicon@cicon\endcsname {\simpleiconsmaptwo\symbol{172}}
- \expandafter\def\csname simpleicon@cacheticon\endcsname {\simpleiconsmaptwo\symbol{173}}
- \expandafter\def\csname simpleicon@caddyicon\endcsname {\simpleiconsmaptwo\symbol{174}}
- \expandafter\def\csname simpleicon@cadillacicon\endcsname {\simpleiconsmaptwo\symbol{175}}
- \expandafter\def\csname simpleicon@cafepressicon\endcsname {\simpleiconsmaptwo\symbol{176}}
- \expandafter\def\csname simpleicon@caffeineicon\endcsname {\simpleiconsmaptwo\symbol{177}}
- \expandafter\def\csname simpleicon@cairographicsicon\endcsname {\simpleiconsmaptwo\symbol{178}}
- \expandafter\def\csname simpleicon@cairometroicon\endcsname {\simpleiconsmaptwo\symbol{179}}
- \expandafter\def\csname simpleicon@cakephpicon\endcsname {\simpleiconsmaptwo\symbol{180}}
- \expandafter\def\csname simpleicon@calendlyicon\endcsname {\simpleiconsmaptwo\symbol{181}}
- \expandafter\def\csname simpleicon@campaignmonitoricon\endcsname {\simpleiconsmaptwo\symbol{182}}
- \expandafter\def\csname simpleicon@camundaicon\endcsname {\simpleiconsmaptwo\symbol{183}}
- \expandafter\def\csname simpleicon@canonicalicon\endcsname {\simpleiconsmaptwo\symbol{184}}
- \expandafter\def\csname simpleicon@canvaicon\endcsname {\simpleiconsmaptwo\symbol{185}}
- \expandafter\def\csname simpleicon@canvasicon\endcsname {\simpleiconsmaptwo\symbol{186}}
- \expandafter\def\csname simpleicon@capacitoricon\endcsname {\simpleiconsmaptwo\symbol{187}}
- \expandafter\def\csname simpleicon@cardanoicon\endcsname {\simpleiconsmaptwo\symbol{188}}
- \expandafter\def\csname simpleicon@carlsberggroupicon\endcsname {\simpleiconsmaptwo\symbol{189}}
- \expandafter\def\csname simpleicon@carrdicon\endcsname {\simpleiconsmaptwo\symbol{190}}
- \expandafter\def\csname simpleicon@carrefouricon\endcsname {\simpleiconsmaptwo\symbol{191}}
- \expandafter\def\csname simpleicon@carthrottleicon\endcsname {\simpleiconsmaptwo\symbol{192}}
- \expandafter\def\csname simpleicon@cartoicon\endcsname {\simpleiconsmaptwo\symbol{193}}
- \expandafter\def\csname simpleicon@cashappicon\endcsname {\simpleiconsmaptwo\symbol{194}}
- \expandafter\def\csname simpleicon@castboxicon\endcsname {\simpleiconsmaptwo\symbol{195}}
- \expandafter\def\csname simpleicon@castoramaicon\endcsname {\simpleiconsmaptwo\symbol{196}}
- \expandafter\def\csname simpleicon@castroicon\endcsname {\simpleiconsmaptwo\symbol{197}}
- \expandafter\def\csname simpleicon@caterpillaricon\endcsname {\simpleiconsmaptwo\symbol{198}}
- \expandafter\def\csname simpleicon@cbcicon\endcsname {\simpleiconsmaptwo\symbol{199}}
- \expandafter\def\csname simpleicon@cbsicon\endcsname {\simpleiconsmaptwo\symbol{200}}
- \expandafter\def\csname simpleicon@ccleanericon\endcsname {\simpleiconsmaptwo\symbol{201}}
- \expandafter\def\csname simpleicon@cdprojekticon\endcsname {\simpleiconsmaptwo\symbol{202}}
- \expandafter\def\csname simpleicon@celeryicon\endcsname {\simpleiconsmaptwo\symbol{203}}
- \expandafter\def\csname simpleicon@celestronicon\endcsname {\simpleiconsmaptwo\symbol{204}}
- \expandafter\def\csname simpleicon@centosicon\endcsname {\simpleiconsmaptwo\symbol{205}}
- \expandafter\def\csname simpleicon@cephicon\endcsname {\simpleiconsmaptwo\symbol{206}}
- \expandafter\def\csname simpleicon@cesiumicon\endcsname {\simpleiconsmaptwo\symbol{207}}
- \expandafter\def\csname simpleicon@chaiicon\endcsname {\simpleiconsmaptwo\symbol{208}}
- \expandafter\def\csname simpleicon@chainguardicon\endcsname {\simpleiconsmaptwo\symbol{209}}
- \expandafter\def\csname simpleicon@chainlinkicon\endcsname {\simpleiconsmaptwo\symbol{210}}
- \expandafter\def\csname simpleicon@chakrauiicon\endcsname {\simpleiconsmaptwo\symbol{211}}
- \expandafter\def\csname simpleicon@channel4icon\endcsname {\simpleiconsmaptwo\symbol{212}}
- \expandafter\def\csname simpleicon@charlesicon\endcsname {\simpleiconsmaptwo\symbol{213}}
- \expandafter\def\csname simpleicon@chartdotjsicon\endcsname {\simpleiconsmaptwo\symbol{214}}
- \expandafter\def\csname simpleicon@chartmogulicon\endcsname {\simpleiconsmaptwo\symbol{215}}
- \expandafter\def\csname simpleicon@chaseicon\endcsname {\simpleiconsmaptwo\symbol{216}}
- \expandafter\def\csname simpleicon@chatboticon\endcsname {\simpleiconsmaptwo\symbol{217}}
- \expandafter\def\csname simpleicon@chatwooticon\endcsname {\simpleiconsmaptwo\symbol{218}}
- \expandafter\def\csname simpleicon@checkioicon\endcsname {\simpleiconsmaptwo\symbol{219}}
- \expandafter\def\csname simpleicon@checkmarxicon\endcsname {\simpleiconsmaptwo\symbol{220}}
- \expandafter\def\csname simpleicon@checkmkicon\endcsname {\simpleiconsmaptwo\symbol{221}}
- \expandafter\def\csname simpleicon@chedrauiicon\endcsname {\simpleiconsmaptwo\symbol{222}}
- \expandafter\def\csname simpleicon@cheerioicon\endcsname {\simpleiconsmaptwo\symbol{223}}
- \expandafter\def\csname simpleicon@cheficon\endcsname {\simpleiconsmaptwo\symbol{224}}
- \expandafter\def\csname simpleicon@chemexicon\endcsname {\simpleiconsmaptwo\symbol{225}}
- \expandafter\def\csname simpleicon@chessdotcomicon\endcsname {\simpleiconsmaptwo\symbol{226}}
- \expandafter\def\csname simpleicon@chevroleticon\endcsname {\simpleiconsmaptwo\symbol{227}}
- \expandafter\def\csname simpleicon@chianetworkicon\endcsname {\simpleiconsmaptwo\symbol{228}}
- \expandafter\def\csname simpleicon@chinaeasternairlinesicon\endcsname {\simpleiconsmaptwo\symbol{229}}
- \expandafter\def\csname simpleicon@chinasouthernairlinesicon\endcsname {\simpleiconsmaptwo\symbol{230}}
- \expandafter\def\csname simpleicon@chocolateyicon\endcsname {\simpleiconsmaptwo\symbol{231}}
- \expandafter\def\csname simpleicon@chromaticicon\endcsname {\simpleiconsmaptwo\symbol{232}}
- \expandafter\def\csname simpleicon@chromecasticon\endcsname {\simpleiconsmaptwo\symbol{233}}
- \expandafter\def\csname simpleicon@chryslericon\endcsname {\simpleiconsmaptwo\symbol{234}}
- \expandafter\def\csname simpleicon@chupachupsicon\endcsname {\simpleiconsmaptwo\symbol{235}}
- \expandafter\def\csname simpleicon@ciliumicon\endcsname {\simpleiconsmaptwo\symbol{236}}
- \expandafter\def\csname simpleicon@cinema4dicon\endcsname {\simpleiconsmaptwo\symbol{237}}
- \expandafter\def\csname simpleicon@circleicon\endcsname {\simpleiconsmaptwo\symbol{238}}
- \expandafter\def\csname simpleicon@circleciicon\endcsname {\simpleiconsmaptwo\symbol{239}}
- \expandafter\def\csname simpleicon@circuitverseicon\endcsname {\simpleiconsmaptwo\symbol{240}}
- \expandafter\def\csname simpleicon@cirrusciicon\endcsname {\simpleiconsmaptwo\symbol{241}}
- \expandafter\def\csname simpleicon@ciscoicon\endcsname {\simpleiconsmaptwo\symbol{242}}
- \expandafter\def\csname simpleicon@citrixicon\endcsname {\simpleiconsmaptwo\symbol{243}}
- \expandafter\def\csname simpleicon@citroenicon\endcsname {\simpleiconsmaptwo\symbol{244}}
- \expandafter\def\csname simpleicon@civicrmicon\endcsname {\simpleiconsmaptwo\symbol{245}}
- \expandafter\def\csname simpleicon@civoicon\endcsname {\simpleiconsmaptwo\symbol{246}}
- \expandafter\def\csname simpleicon@ckeditor4icon\endcsname {\simpleiconsmaptwo\symbol{247}}
- \expandafter\def\csname simpleicon@clarifaiicon\endcsname {\simpleiconsmaptwo\symbol{248}}
- \expandafter\def\csname simpleicon@clarisicon\endcsname {\simpleiconsmaptwo\symbol{249}}
- \expandafter\def\csname simpleicon@clarivateicon\endcsname {\simpleiconsmaptwo\symbol{250}}
- \expandafter\def\csname simpleicon@clerkicon\endcsname {\simpleiconsmaptwo\symbol{251}}
- \expandafter\def\csname simpleicon@clevercloudicon\endcsname {\simpleiconsmaptwo\symbol{252}}
- \expandafter\def\csname simpleicon@clickhouseicon\endcsname {\simpleiconsmaptwo\symbol{253}}
- \expandafter\def\csname simpleicon@clickupicon\endcsname {\simpleiconsmaptwo\symbol{254}}
- \expandafter\def\csname simpleicon@clionicon\endcsname {\simpleiconsmaptwo\symbol{255}}
- \expandafter\def\csname simpleicon@cliqzicon\endcsname {\simpleiconsmapthree\symbol{0}}
- \expandafter\def\csname simpleicon@clockifyicon\endcsname {\simpleiconsmapthree\symbol{1}}
- \expandafter\def\csname simpleicon@clojureicon\endcsname {\simpleiconsmapthree\symbol{2}}
- \expandafter\def\csname simpleicon@cloud66icon\endcsname {\simpleiconsmapthree\symbol{3}}
- \expandafter\def\csname simpleicon@cloudbeesicon\endcsname {\simpleiconsmapthree\symbol{4}}
- \expandafter\def\csname simpleicon@cloudcannonicon\endcsname {\simpleiconsmapthree\symbol{5}}
- \expandafter\def\csname simpleicon@clouderaicon\endcsname {\simpleiconsmapthree\symbol{6}}
- \expandafter\def\csname simpleicon@cloudflareicon\endcsname {\simpleiconsmapthree\symbol{7}}
- \expandafter\def\csname simpleicon@cloudflarepagesicon\endcsname {\simpleiconsmapthree\symbol{8}}
- \expandafter\def\csname simpleicon@cloudflareworkersicon\endcsname {\simpleiconsmapthree\symbol{9}}
- \expandafter\def\csname simpleicon@cloudfoundryicon\endcsname {\simpleiconsmapthree\symbol{10}}
- \expandafter\def\csname simpleicon@cloudinaryicon\endcsname {\simpleiconsmapthree\symbol{11}}
- \expandafter\def\csname simpleicon@cloudronicon\endcsname {\simpleiconsmapthree\symbol{12}}
- \expandafter\def\csname simpleicon@cloudsmithicon\endcsname {\simpleiconsmapthree\symbol{13}}
- \expandafter\def\csname simpleicon@cloudwaysicon\endcsname {\simpleiconsmapthree\symbol{14}}
- \expandafter\def\csname simpleicon@clubforceicon\endcsname {\simpleiconsmapthree\symbol{15}}
- \expandafter\def\csname simpleicon@clubhouseicon\endcsname {\simpleiconsmapthree\symbol{16}}
- \expandafter\def\csname simpleicon@clypicon\endcsname {\simpleiconsmapthree\symbol{17}}
- \expandafter\def\csname simpleicon@cmakeicon\endcsname {\simpleiconsmapthree\symbol{18}}
- \expandafter\def\csname simpleicon@cncficon\endcsname {\simpleiconsmapthree\symbol{19}}
- \expandafter\def\csname simpleicon@cneticon\endcsname {\simpleiconsmapthree\symbol{20}}
- \expandafter\def\csname simpleicon@cnnicon\endcsname {\simpleiconsmapthree\symbol{21}}
- \expandafter\def\csname simpleicon@cocacolaicon\endcsname {\simpleiconsmapthree\symbol{22}}
- \expandafter\def\csname simpleicon@cockpiticon\endcsname {\simpleiconsmapthree\symbol{23}}
- \expandafter\def\csname simpleicon@cockroachlabsicon\endcsname {\simpleiconsmapthree\symbol{24}}
- \expandafter\def\csname simpleicon@cocoapodsicon\endcsname {\simpleiconsmapthree\symbol{25}}
- \expandafter\def\csname simpleicon@cocosicon\endcsname {\simpleiconsmapthree\symbol{26}}
- \expandafter\def\csname simpleicon@codaicon\endcsname {\simpleiconsmapthree\symbol{27}}
- \expandafter\def\csname simpleicon@codacyicon\endcsname {\simpleiconsmapthree\symbol{28}}
- \expandafter\def\csname simpleicon@codebergicon\endcsname {\simpleiconsmapthree\symbol{29}}
- \expandafter\def\csname simpleicon@codeblocksicon\endcsname {\simpleiconsmapthree\symbol{30}}
- \expandafter\def\csname simpleicon@codecademyicon\endcsname {\simpleiconsmapthree\symbol{31}}
- \expandafter\def\csname simpleicon@codeceptjsicon\endcsname {\simpleiconsmapthree\symbol{32}}
- \expandafter\def\csname simpleicon@codecheficon\endcsname {\simpleiconsmapthree\symbol{33}}
- \expandafter\def\csname simpleicon@codeclimateicon\endcsname {\simpleiconsmapthree\symbol{34}}
- \expandafter\def\csname simpleicon@codecovicon\endcsname {\simpleiconsmapthree\symbol{35}}
- \expandafter\def\csname simpleicon@codefactoricon\endcsname {\simpleiconsmapthree\symbol{36}}
- \expandafter\def\csname simpleicon@codeforcesicon\endcsname {\simpleiconsmapthree\symbol{37}}
- \expandafter\def\csname simpleicon@codefreshicon\endcsname {\simpleiconsmapthree\symbol{38}}
- \expandafter\def\csname simpleicon@codeignitericon\endcsname {\simpleiconsmapthree\symbol{39}}
- \expandafter\def\csname simpleicon@codeiumicon\endcsname {\simpleiconsmapthree\symbol{40}}
- \expandafter\def\csname simpleicon@codemagicicon\endcsname {\simpleiconsmapthree\symbol{41}}
- \expandafter\def\csname simpleicon@codementoricon\endcsname {\simpleiconsmapthree\symbol{42}}
- \expandafter\def\csname simpleicon@codemirroricon\endcsname {\simpleiconsmapthree\symbol{43}}
- \expandafter\def\csname simpleicon@codenewbieicon\endcsname {\simpleiconsmapthree\symbol{44}}
- \expandafter\def\csname simpleicon@codepenicon\endcsname {\simpleiconsmapthree\symbol{45}}
- \expandafter\def\csname simpleicon@codeprojecticon\endcsname {\simpleiconsmapthree\symbol{46}}
- \expandafter\def\csname simpleicon@codersrankicon\endcsname {\simpleiconsmapthree\symbol{47}}
- \expandafter\def\csname simpleicon@coderwallicon\endcsname {\simpleiconsmapthree\symbol{48}}
- \expandafter\def\csname simpleicon@codesandboxicon\endcsname {\simpleiconsmapthree\symbol{49}}
- \expandafter\def\csname simpleicon@codeshipicon\endcsname {\simpleiconsmapthree\symbol{50}}
- \expandafter\def\csname simpleicon@codesignalicon\endcsname {\simpleiconsmapthree\symbol{51}}
- \expandafter\def\csname simpleicon@codestreamicon\endcsname {\simpleiconsmapthree\symbol{52}}
- \expandafter\def\csname simpleicon@codewarsicon\endcsname {\simpleiconsmapthree\symbol{53}}
- \expandafter\def\csname simpleicon@codingameicon\endcsname {\simpleiconsmapthree\symbol{54}}
- \expandafter\def\csname simpleicon@codingninjasicon\endcsname {\simpleiconsmapthree\symbol{55}}
- \expandafter\def\csname simpleicon@codioicon\endcsname {\simpleiconsmapthree\symbol{56}}
- \expandafter\def\csname simpleicon@coffeescripticon\endcsname {\simpleiconsmapthree\symbol{57}}
- \expandafter\def\csname simpleicon@coggleicon\endcsname {\simpleiconsmapthree\symbol{58}}
- \expandafter\def\csname simpleicon@cognizanticon\endcsname {\simpleiconsmapthree\symbol{59}}
- \expandafter\def\csname simpleicon@coilicon\endcsname {\simpleiconsmapthree\symbol{60}}
- \expandafter\def\csname simpleicon@coinbaseicon\endcsname {\simpleiconsmapthree\symbol{61}}
- \expandafter\def\csname simpleicon@coinmarketcapicon\endcsname {\simpleiconsmapthree\symbol{62}}
- \expandafter\def\csname simpleicon@comicfuryicon\endcsname {\simpleiconsmapthree\symbol{63}}
- \expandafter\def\csname simpleicon@commerzbankicon\endcsname {\simpleiconsmapthree\symbol{64}}
- \expandafter\def\csname simpleicon@commitlinticon\endcsname {\simpleiconsmapthree\symbol{65}}
- \expandafter\def\csname simpleicon@commodoreicon\endcsname {\simpleiconsmapthree\symbol{66}}
- \expandafter\def\csname simpleicon@commonworkflowlanguageicon\endcsname {\simpleiconsmapthree\symbol{67}}
- \expandafter\def\csname simpleicon@compilerexplorericon\endcsname {\simpleiconsmapthree\symbol{68}}
- \expandafter\def\csname simpleicon@composericon\endcsname {\simpleiconsmapthree\symbol{69}}
- \expandafter\def\csname simpleicon@comptiaicon\endcsname {\simpleiconsmapthree\symbol{70}}
- \expandafter\def\csname simpleicon@comsolicon\endcsname {\simpleiconsmapthree\symbol{71}}
- \expandafter\def\csname simpleicon@conanicon\endcsname {\simpleiconsmapthree\symbol{72}}
- \expandafter\def\csname simpleicon@concourseicon\endcsname {\simpleiconsmapthree\symbol{73}}
- \expandafter\def\csname simpleicon@condaforgeicon\endcsname {\simpleiconsmapthree\symbol{74}}
- \expandafter\def\csname simpleicon@conektaicon\endcsname {\simpleiconsmapthree\symbol{75}}
- \expandafter\def\csname simpleicon@confluenceicon\endcsname {\simpleiconsmapthree\symbol{76}}
- \expandafter\def\csname simpleicon@construct3icon\endcsname {\simpleiconsmapthree\symbol{77}}
- \expandafter\def\csname simpleicon@consulicon\endcsname {\simpleiconsmapthree\symbol{78}}
- \expandafter\def\csname simpleicon@contactlesspaymenticon\endcsname {\simpleiconsmapthree\symbol{79}}
- \expandafter\def\csname simpleicon@containerdicon\endcsname {\simpleiconsmapthree\symbol{80}}
- \expandafter\def\csname simpleicon@contaoicon\endcsname {\simpleiconsmapthree\symbol{81}}
- \expandafter\def\csname simpleicon@contentfulicon\endcsname {\simpleiconsmapthree\symbol{82}}
- \expandafter\def\csname simpleicon@contentstackicon\endcsname {\simpleiconsmapthree\symbol{83}}
- \expandafter\def\csname simpleicon@contributorcovenanticon\endcsname {\simpleiconsmapthree\symbol{84}}
- \expandafter\def\csname simpleicon@conventionalcommitsicon\endcsname {\simpleiconsmapthree\symbol{85}}
- \expandafter\def\csname simpleicon@convertioicon\endcsname {\simpleiconsmapthree\symbol{86}}
- \expandafter\def\csname simpleicon@cookiecuttericon\endcsname {\simpleiconsmapthree\symbol{87}}
- \expandafter\def\csname simpleicon@coolermastericon\endcsname {\simpleiconsmapthree\symbol{88}}
- \expandafter\def\csname simpleicon@coopicon\endcsname {\simpleiconsmapthree\symbol{89}}
- \expandafter\def\csname simpleicon@copaairlinesicon\endcsname {\simpleiconsmapthree\symbol{90}}
- \expandafter\def\csname simpleicon@coppelicon\endcsname {\simpleiconsmapthree\symbol{91}}
- \expandafter\def\csname simpleicon@coraicon\endcsname {\simpleiconsmapthree\symbol{92}}
- \expandafter\def\csname simpleicon@coreldrawicon\endcsname {\simpleiconsmapthree\symbol{93}}
- \expandafter\def\csname simpleicon@coronaengineicon\endcsname {\simpleiconsmapthree\symbol{94}}
- \expandafter\def\csname simpleicon@coronarenderericon\endcsname {\simpleiconsmapthree\symbol{95}}
- \expandafter\def\csname simpleicon@corsairicon\endcsname {\simpleiconsmapthree\symbol{96}}
- \expandafter\def\csname simpleicon@couchbaseicon\endcsname {\simpleiconsmapthree\symbol{97}}
- \expandafter\def\csname simpleicon@counterstrikeicon\endcsname {\simpleiconsmapthree\symbol{98}}
- \expandafter\def\csname simpleicon@countingworksproicon\endcsname {\simpleiconsmapthree\symbol{99}}
- \expandafter\def\csname simpleicon@courseraicon\endcsname {\simpleiconsmapthree\symbol{100}}
- \expandafter\def\csname simpleicon@coverallsicon\endcsname {\simpleiconsmapthree\symbol{101}}
- \expandafter\def\csname simpleicon@cpanelicon\endcsname {\simpleiconsmapthree\symbol{102}}
- \expandafter\def\csname simpleicon@cplusplusicon\endcsname {\simpleiconsmapthree\symbol{103}}
- \expandafter\def\csname simpleicon@cplusplusbuildericon\endcsname {\simpleiconsmapthree\symbol{104}}
- \expandafter\def\csname simpleicon@craftcmsicon\endcsname {\simpleiconsmapthree\symbol{105}}
- \expandafter\def\csname simpleicon@craftsmanicon\endcsname {\simpleiconsmapthree\symbol{106}}
- \expandafter\def\csname simpleicon@cratedbicon\endcsname {\simpleiconsmapthree\symbol{107}}
- \expandafter\def\csname simpleicon@crayonicon\endcsname {\simpleiconsmapthree\symbol{108}}
- \expandafter\def\csname simpleicon@crealityicon\endcsname {\simpleiconsmapthree\symbol{109}}
- \expandafter\def\csname simpleicon@createreactappicon\endcsname {\simpleiconsmapthree\symbol{110}}
- \expandafter\def\csname simpleicon@creativecommonsicon\endcsname {\simpleiconsmapthree\symbol{111}}
- \expandafter\def\csname simpleicon@creativetechnologyicon\endcsname {\simpleiconsmapthree\symbol{112}}
- \expandafter\def\csname simpleicon@credlyicon\endcsname {\simpleiconsmapthree\symbol{113}}
- \expandafter\def\csname simpleicon@crehanaicon\endcsname {\simpleiconsmapthree\symbol{114}}
- \expandafter\def\csname simpleicon@crewunitedicon\endcsname {\simpleiconsmapthree\symbol{115}}
- \expandafter\def\csname simpleicon@criticalroleicon\endcsname {\simpleiconsmapthree\symbol{116}}
- \expandafter\def\csname simpleicon@crowdinicon\endcsname {\simpleiconsmapthree\symbol{117}}
- \expandafter\def\csname simpleicon@crowdsourceicon\endcsname {\simpleiconsmapthree\symbol{118}}
- \expandafter\def\csname simpleicon@crunchbaseicon\endcsname {\simpleiconsmapthree\symbol{119}}
- \expandafter\def\csname simpleicon@crunchyrollicon\endcsname {\simpleiconsmapthree\symbol{120}}
- \expandafter\def\csname simpleicon@cryengineicon\endcsname {\simpleiconsmapthree\symbol{121}}
- \expandafter\def\csname simpleicon@cryptpadicon\endcsname {\simpleiconsmapthree\symbol{122}}
- \expandafter\def\csname simpleicon@crystalicon\endcsname {\simpleiconsmapthree\symbol{123}}
- \expandafter\def\csname simpleicon@csharpicon\endcsname {\simpleiconsmapthree\symbol{124}}
- \expandafter\def\csname simpleicon@css3icon\endcsname {\simpleiconsmapthree\symbol{125}}
- \expandafter\def\csname simpleicon@cssmodulesicon\endcsname {\simpleiconsmapthree\symbol{126}}
- \expandafter\def\csname simpleicon@csswizardryicon\endcsname {\simpleiconsmapthree\symbol{127}}
- \expandafter\def\csname simpleicon@ctsicon\endcsname {\simpleiconsmapthree\symbol{128}}
- \expandafter\def\csname simpleicon@cucumbericon\endcsname {\simpleiconsmapthree\symbol{129}}
- \expandafter\def\csname simpleicon@culturaicon\endcsname {\simpleiconsmapthree\symbol{130}}
- \expandafter\def\csname simpleicon@curlicon\endcsname {\simpleiconsmapthree\symbol{131}}
- \expandafter\def\csname simpleicon@curseforgeicon\endcsname {\simpleiconsmapthree\symbol{132}}
- \expandafter\def\csname simpleicon@custominkicon\endcsname {\simpleiconsmapthree\symbol{133}}
- \expandafter\def\csname simpleicon@cyberdefendersicon\endcsname {\simpleiconsmapthree\symbol{134}}
- \expandafter\def\csname simpleicon@cycling74icon\endcsname {\simpleiconsmapthree\symbol{135}}
- \expandafter\def\csname simpleicon@cypressicon\endcsname {\simpleiconsmapthree\symbol{136}}
- \expandafter\def\csname simpleicon@cytoscapedotjsicon\endcsname {\simpleiconsmapthree\symbol{137}}
- \expandafter\def\csname simpleicon@dicon\endcsname {\simpleiconsmapthree\symbol{138}}
- \expandafter\def\csname simpleicon@d3dotjsicon\endcsname {\simpleiconsmapthree\symbol{139}}
- \expandafter\def\csname simpleicon@daciaicon\endcsname {\simpleiconsmapthree\symbol{140}}
- \expandafter\def\csname simpleicon@daficon\endcsname {\simpleiconsmapthree\symbol{141}}
- \expandafter\def\csname simpleicon@dailydotdevicon\endcsname {\simpleiconsmapthree\symbol{142}}
- \expandafter\def\csname simpleicon@dailymotionicon\endcsname {\simpleiconsmapthree\symbol{143}}
- \expandafter\def\csname simpleicon@daimlericon\endcsname {\simpleiconsmapthree\symbol{144}}
- \expandafter\def\csname simpleicon@daisyuiicon\endcsname {\simpleiconsmapthree\symbol{145}}
- \expandafter\def\csname simpleicon@dapricon\endcsname {\simpleiconsmapthree\symbol{146}}
- \expandafter\def\csname simpleicon@darkreadericon\endcsname {\simpleiconsmapthree\symbol{147}}
- \expandafter\def\csname simpleicon@darticon\endcsname {\simpleiconsmapthree\symbol{148}}
- \expandafter\def\csname simpleicon@dartyicon\endcsname {\simpleiconsmapthree\symbol{149}}
- \expandafter\def\csname simpleicon@dasersteicon\endcsname {\simpleiconsmapthree\symbol{150}}
- \expandafter\def\csname simpleicon@dashicon\endcsname {\simpleiconsmapthree\symbol{151}}
- \expandafter\def\csname simpleicon@dashlaneicon\endcsname {\simpleiconsmapthree\symbol{152}}
- \expandafter\def\csname simpleicon@daskicon\endcsname {\simpleiconsmapthree\symbol{153}}
- \expandafter\def\csname simpleicon@dassaultsystemesicon\endcsname {\simpleiconsmapthree\symbol{154}}
- \expandafter\def\csname simpleicon@databricksicon\endcsname {\simpleiconsmapthree\symbol{155}}
- \expandafter\def\csname simpleicon@datacampicon\endcsname {\simpleiconsmapthree\symbol{156}}
- \expandafter\def\csname simpleicon@datadogicon\endcsname {\simpleiconsmapthree\symbol{157}}
- \expandafter\def\csname simpleicon@datadotaiicon\endcsname {\simpleiconsmapthree\symbol{158}}
- \expandafter\def\csname simpleicon@datagripicon\endcsname {\simpleiconsmapthree\symbol{159}}
- \expandafter\def\csname simpleicon@dataikuicon\endcsname {\simpleiconsmapthree\symbol{160}}
- \expandafter\def\csname simpleicon@datastaxicon\endcsname {\simpleiconsmapthree\symbol{161}}
- \expandafter\def\csname simpleicon@dataverseicon\endcsname {\simpleiconsmapthree\symbol{162}}
- \expandafter\def\csname simpleicon@datefnsicon\endcsname {\simpleiconsmapthree\symbol{163}}
- \expandafter\def\csname simpleicon@datocmsicon\endcsname {\simpleiconsmapthree\symbol{164}}
- \expandafter\def\csname simpleicon@dattoicon\endcsname {\simpleiconsmapthree\symbol{165}}
- \expandafter\def\csname simpleicon@davinciresolveicon\endcsname {\simpleiconsmapthree\symbol{166}}
- \expandafter\def\csname simpleicon@dazhongdianpingicon\endcsname {\simpleiconsmapthree\symbol{167}}
- \expandafter\def\csname simpleicon@daznicon\endcsname {\simpleiconsmapthree\symbol{168}}
- \expandafter\def\csname simpleicon@dbeavericon\endcsname {\simpleiconsmapthree\symbol{169}}
- \expandafter\def\csname simpleicon@dblpicon\endcsname {\simpleiconsmapthree\symbol{170}}
- \expandafter\def\csname simpleicon@dbticon\endcsname {\simpleiconsmapthree\symbol{171}}
- \expandafter\def\csname simpleicon@dcentertainmenticon\endcsname {\simpleiconsmapthree\symbol{172}}
- \expandafter\def\csname simpleicon@debianicon\endcsname {\simpleiconsmapthree\symbol{173}}
- \expandafter\def\csname simpleicon@decapcmsicon\endcsname {\simpleiconsmapthree\symbol{174}}
- \expandafter\def\csname simpleicon@decentralandicon\endcsname {\simpleiconsmapthree\symbol{175}}
- \expandafter\def\csname simpleicon@dedgeicon\endcsname {\simpleiconsmapthree\symbol{176}}
- \expandafter\def\csname simpleicon@deepcoolicon\endcsname {\simpleiconsmapthree\symbol{177}}
- \expandafter\def\csname simpleicon@deepgramicon\endcsname {\simpleiconsmapthree\symbol{178}}
- \expandafter\def\csname simpleicon@deepinicon\endcsname {\simpleiconsmapthree\symbol{179}}
- \expandafter\def\csname simpleicon@deeplicon\endcsname {\simpleiconsmapthree\symbol{180}}
- \expandafter\def\csname simpleicon@deepnoteicon\endcsname {\simpleiconsmapthree\symbol{181}}
- \expandafter\def\csname simpleicon@deliciousicon\endcsname {\simpleiconsmapthree\symbol{182}}
- \expandafter\def\csname simpleicon@deliverooicon\endcsname {\simpleiconsmapthree\symbol{183}}
- \expandafter\def\csname simpleicon@dellicon\endcsname {\simpleiconsmapthree\symbol{184}}
- \expandafter\def\csname simpleicon@delonghiicon\endcsname {\simpleiconsmapthree\symbol{185}}
- \expandafter\def\csname simpleicon@delphiicon\endcsname {\simpleiconsmapthree\symbol{186}}
- \expandafter\def\csname simpleicon@deltaicon\endcsname {\simpleiconsmapthree\symbol{187}}
- \expandafter\def\csname simpleicon@delugeicon\endcsname {\simpleiconsmapthree\symbol{188}}
- \expandafter\def\csname simpleicon@denoicon\endcsname {\simpleiconsmapthree\symbol{189}}
- \expandafter\def\csname simpleicon@denonicon\endcsname {\simpleiconsmapthree\symbol{190}}
- \expandafter\def\csname simpleicon@dependaboticon\endcsname {\simpleiconsmapthree\symbol{191}}
- \expandafter\def\csname simpleicon@dependencycheckicon\endcsname {\simpleiconsmapthree\symbol{192}}
- \expandafter\def\csname simpleicon@depositphotosicon\endcsname {\simpleiconsmapthree\symbol{193}}
- \expandafter\def\csname simpleicon@derspiegelicon\endcsname {\simpleiconsmapthree\symbol{194}}
- \expandafter\def\csname simpleicon@designernewsicon\endcsname {\simpleiconsmapthree\symbol{195}}
- \expandafter\def\csname simpleicon@deutschebahnicon\endcsname {\simpleiconsmapthree\symbol{196}}
- \expandafter\def\csname simpleicon@deutschebankicon\endcsname {\simpleiconsmapthree\symbol{197}}
- \expandafter\def\csname simpleicon@deutscheposticon\endcsname {\simpleiconsmapthree\symbol{198}}
- \expandafter\def\csname simpleicon@devdottoicon\endcsname {\simpleiconsmapthree\symbol{199}}
- \expandafter\def\csname simpleicon@devexpressicon\endcsname {\simpleiconsmapthree\symbol{200}}
- \expandafter\def\csname simpleicon@deviantarticon\endcsname {\simpleiconsmapthree\symbol{201}}
- \expandafter\def\csname simpleicon@devposticon\endcsname {\simpleiconsmapthree\symbol{202}}
- \expandafter\def\csname simpleicon@devranticon\endcsname {\simpleiconsmapthree\symbol{203}}
- \expandafter\def\csname simpleicon@dgraphicon\endcsname {\simpleiconsmapthree\symbol{204}}
- \expandafter\def\csname simpleicon@dhlicon\endcsname {\simpleiconsmapthree\symbol{205}}
- \expandafter\def\csname simpleicon@diagramsdotneticon\endcsname {\simpleiconsmapthree\symbol{206}}
- \expandafter\def\csname simpleicon@dialogflowicon\endcsname {\simpleiconsmapthree\symbol{207}}
- \expandafter\def\csname simpleicon@diasporaicon\endcsname {\simpleiconsmapthree\symbol{208}}
- \expandafter\def\csname simpleicon@diggicon\endcsname {\simpleiconsmapthree\symbol{209}}
- \expandafter\def\csname simpleicon@digikeyelectronicsicon\endcsname {\simpleiconsmapthree\symbol{210}}
- \expandafter\def\csname simpleicon@digitaloceanicon\endcsname {\simpleiconsmapthree\symbol{211}}
- \expandafter\def\csname simpleicon@dinersclubicon\endcsname {\simpleiconsmapthree\symbol{212}}
- \expandafter\def\csname simpleicon@dioricon\endcsname {\simpleiconsmapthree\symbol{213}}
- \expandafter\def\csname simpleicon@directusicon\endcsname {\simpleiconsmapthree\symbol{214}}
- \expandafter\def\csname simpleicon@discogsicon\endcsname {\simpleiconsmapthree\symbol{215}}
- \expandafter\def\csname simpleicon@discordicon\endcsname {\simpleiconsmapthree\symbol{216}}
- \expandafter\def\csname simpleicon@discourseicon\endcsname {\simpleiconsmapthree\symbol{217}}
- \expandafter\def\csname simpleicon@discovericon\endcsname {\simpleiconsmapthree\symbol{218}}
- \expandafter\def\csname simpleicon@disqusicon\endcsname {\simpleiconsmapthree\symbol{219}}
- \expandafter\def\csname simpleicon@disrooticon\endcsname {\simpleiconsmapthree\symbol{220}}
- \expandafter\def\csname simpleicon@distrokidicon\endcsname {\simpleiconsmapthree\symbol{221}}
- \expandafter\def\csname simpleicon@djangoicon\endcsname {\simpleiconsmapthree\symbol{222}}
- \expandafter\def\csname simpleicon@djiicon\endcsname {\simpleiconsmapthree\symbol{223}}
- \expandafter\def\csname simpleicon@dlibicon\endcsname {\simpleiconsmapthree\symbol{224}}
- \expandafter\def\csname simpleicon@dlnaicon\endcsname {\simpleiconsmapthree\symbol{225}}
- \expandafter\def\csname simpleicon@dmicon\endcsname {\simpleiconsmapthree\symbol{226}}
- \expandafter\def\csname simpleicon@dockericon\endcsname {\simpleiconsmapthree\symbol{227}}
- \expandafter\def\csname simpleicon@docsdotrsicon\endcsname {\simpleiconsmapthree\symbol{228}}
- \expandafter\def\csname simpleicon@docsifyicon\endcsname {\simpleiconsmapthree\symbol{229}}
- \expandafter\def\csname simpleicon@docusaurusicon\endcsname {\simpleiconsmapthree\symbol{230}}
- \expandafter\def\csname simpleicon@docusignicon\endcsname {\simpleiconsmapthree\symbol{231}}
- \expandafter\def\csname simpleicon@dogecoinicon\endcsname {\simpleiconsmapthree\symbol{232}}
- \expandafter\def\csname simpleicon@doiicon\endcsname {\simpleiconsmapthree\symbol{233}}
- \expandafter\def\csname simpleicon@dolbyicon\endcsname {\simpleiconsmapthree\symbol{234}}
- \expandafter\def\csname simpleicon@doordashicon\endcsname {\simpleiconsmapthree\symbol{235}}
- \expandafter\def\csname simpleicon@dotenvicon\endcsname {\simpleiconsmapthree\symbol{236}}
- \expandafter\def\csname simpleicon@dotneticon\endcsname {\simpleiconsmapthree\symbol{237}}
- \expandafter\def\csname simpleicon@doubanicon\endcsname {\simpleiconsmapthree\symbol{238}}
- \expandafter\def\csname simpleicon@doubanreadicon\endcsname {\simpleiconsmapthree\symbol{239}}
- \expandafter\def\csname simpleicon@dovecoticon\endcsname {\simpleiconsmapthree\symbol{240}}
- \expandafter\def\csname simpleicon@doxygenicon\endcsname {\simpleiconsmapthree\symbol{241}}
- \expandafter\def\csname simpleicon@dpdicon\endcsname {\simpleiconsmapthree\symbol{242}}
- \expandafter\def\csname simpleicon@dragonframeicon\endcsname {\simpleiconsmapthree\symbol{243}}
- \expandafter\def\csname simpleicon@draugiemdotlvicon\endcsname {\simpleiconsmapthree\symbol{244}}
- \expandafter\def\csname simpleicon@dreamstimeicon\endcsname {\simpleiconsmapthree\symbol{245}}
- \expandafter\def\csname simpleicon@dribbbleicon\endcsname {\simpleiconsmapthree\symbol{246}}
- \expandafter\def\csname simpleicon@drizzleicon\endcsname {\simpleiconsmapthree\symbol{247}}
- \expandafter\def\csname simpleicon@droneicon\endcsname {\simpleiconsmapthree\symbol{248}}
- \expandafter\def\csname simpleicon@droobleicon\endcsname {\simpleiconsmapthree\symbol{249}}
- \expandafter\def\csname simpleicon@dropboxicon\endcsname {\simpleiconsmapthree\symbol{250}}
- \expandafter\def\csname simpleicon@drupalicon\endcsname {\simpleiconsmapthree\symbol{251}}
- \expandafter\def\csname simpleicon@dsautomobilesicon\endcsname {\simpleiconsmapthree\symbol{252}}
- \expandafter\def\csname simpleicon@dtsicon\endcsname {\simpleiconsmapthree\symbol{253}}
- \expandafter\def\csname simpleicon@dtubeicon\endcsname {\simpleiconsmapthree\symbol{254}}
- \expandafter\def\csname simpleicon@ducatiicon\endcsname {\simpleiconsmapthree\symbol{255}}
- \expandafter\def\csname simpleicon@duckdbicon\endcsname {\simpleiconsmapfour\symbol{0}}
- \expandafter\def\csname simpleicon@duckduckgoicon\endcsname {\simpleiconsmapfour\symbol{1}}
- \expandafter\def\csname simpleicon@dungeonsanddragonsicon\endcsname {\simpleiconsmapfour\symbol{2}}
- \expandafter\def\csname simpleicon@dunkedicon\endcsname {\simpleiconsmapfour\symbol{3}}
- \expandafter\def\csname simpleicon@dunzoicon\endcsname {\simpleiconsmapfour\symbol{4}}
- \expandafter\def\csname simpleicon@duolingoicon\endcsname {\simpleiconsmapfour\symbol{5}}
- \expandafter\def\csname simpleicon@dvcicon\endcsname {\simpleiconsmapfour\symbol{6}}
- \expandafter\def\csname simpleicon@dwavesystemsicon\endcsname {\simpleiconsmapfour\symbol{7}}
- \expandafter\def\csname simpleicon@dwmicon\endcsname {\simpleiconsmapfour\symbol{8}}
- \expandafter\def\csname simpleicon@dynamics365icon\endcsname {\simpleiconsmapfour\symbol{9}}
- \expandafter\def\csname simpleicon@dynatraceicon\endcsname {\simpleiconsmapfour\symbol{10}}
- \expandafter\def\csname simpleicon@eicon\endcsname {\simpleiconsmapfour\symbol{11}}
- \expandafter\def\csname simpleicon@e3icon\endcsname {\simpleiconsmapfour\symbol{12}}
- \expandafter\def\csname simpleicon@eaicon\endcsname {\simpleiconsmapfour\symbol{13}}
- \expandafter\def\csname simpleicon@eagleicon\endcsname {\simpleiconsmapfour\symbol{14}}
- \expandafter\def\csname simpleicon@easyedaicon\endcsname {\simpleiconsmapfour\symbol{15}}
- \expandafter\def\csname simpleicon@easyjeticon\endcsname {\simpleiconsmapfour\symbol{16}}
- \expandafter\def\csname simpleicon@ebayicon\endcsname {\simpleiconsmapfour\symbol{17}}
- \expandafter\def\csname simpleicon@eboxicon\endcsname {\simpleiconsmapfour\symbol{18}}
- \expandafter\def\csname simpleicon@eclipseadoptiumicon\endcsname {\simpleiconsmapfour\symbol{19}}
- \expandafter\def\csname simpleicon@eclipsecheicon\endcsname {\simpleiconsmapfour\symbol{20}}
- \expandafter\def\csname simpleicon@eclipseideicon\endcsname {\simpleiconsmapfour\symbol{21}}
- \expandafter\def\csname simpleicon@eclipsejettyicon\endcsname {\simpleiconsmapfour\symbol{22}}
- \expandafter\def\csname simpleicon@eclipsemosquittoicon\endcsname {\simpleiconsmapfour\symbol{23}}
- \expandafter\def\csname simpleicon@eclipsevertdotxicon\endcsname {\simpleiconsmapfour\symbol{24}}
- \expandafter\def\csname simpleicon@ecovacsicon\endcsname {\simpleiconsmapfour\symbol{25}}
- \expandafter\def\csname simpleicon@edekaicon\endcsname {\simpleiconsmapfour\symbol{26}}
- \expandafter\def\csname simpleicon@edgeimpulseicon\endcsname {\simpleiconsmapfour\symbol{27}}
- \expandafter\def\csname simpleicon@editorconfigicon\endcsname {\simpleiconsmapfour\symbol{28}}
- \expandafter\def\csname simpleicon@edotleclercicon\endcsname {\simpleiconsmapfour\symbol{29}}
- \expandafter\def\csname simpleicon@educativeicon\endcsname {\simpleiconsmapfour\symbol{30}}
- \expandafter\def\csname simpleicon@edxicon\endcsname {\simpleiconsmapfour\symbol{31}}
- \expandafter\def\csname simpleicon@eggheadicon\endcsname {\simpleiconsmapfour\symbol{32}}
- \expandafter\def\csname simpleicon@egnyteicon\endcsname {\simpleiconsmapfour\symbol{33}}
- \expandafter\def\csname simpleicon@eighticon\endcsname {\simpleiconsmapfour\symbol{34}}
- \expandafter\def\csname simpleicon@eightsleepicon\endcsname {\simpleiconsmapfour\symbol{35}}
- \expandafter\def\csname simpleicon@ejsicon\endcsname {\simpleiconsmapfour\symbol{36}}
- \expandafter\def\csname simpleicon@elasticicon\endcsname {\simpleiconsmapfour\symbol{37}}
- \expandafter\def\csname simpleicon@elasticcloudicon\endcsname {\simpleiconsmapfour\symbol{38}}
- \expandafter\def\csname simpleicon@elasticsearchicon\endcsname {\simpleiconsmapfour\symbol{39}}
- \expandafter\def\csname simpleicon@elasticstackicon\endcsname {\simpleiconsmapfour\symbol{40}}
- \expandafter\def\csname simpleicon@elavonicon\endcsname {\simpleiconsmapfour\symbol{41}}
- \expandafter\def\csname simpleicon@electronicon\endcsname {\simpleiconsmapfour\symbol{42}}
- \expandafter\def\csname simpleicon@electronbuildericon\endcsname {\simpleiconsmapfour\symbol{43}}
- \expandafter\def\csname simpleicon@electronfiddleicon\endcsname {\simpleiconsmapfour\symbol{44}}
- \expandafter\def\csname simpleicon@elegooicon\endcsname {\simpleiconsmapfour\symbol{45}}
- \expandafter\def\csname simpleicon@elementicon\endcsname {\simpleiconsmapfour\symbol{46}}
- \expandafter\def\csname simpleicon@elementaryicon\endcsname {\simpleiconsmapfour\symbol{47}}
- \expandafter\def\csname simpleicon@elementoricon\endcsname {\simpleiconsmapfour\symbol{48}}
- \expandafter\def\csname simpleicon@eleventyicon\endcsname {\simpleiconsmapfour\symbol{49}}
- \expandafter\def\csname simpleicon@elgatoicon\endcsname {\simpleiconsmapfour\symbol{50}}
- \expandafter\def\csname simpleicon@elixiricon\endcsname {\simpleiconsmapfour\symbol{51}}
- \expandafter\def\csname simpleicon@eljuevesicon\endcsname {\simpleiconsmapfour\symbol{52}}
- \expandafter\def\csname simpleicon@elloicon\endcsname {\simpleiconsmapfour\symbol{53}}
- \expandafter\def\csname simpleicon@elmicon\endcsname {\simpleiconsmapfour\symbol{54}}
- \expandafter\def\csname simpleicon@elseviericon\endcsname {\simpleiconsmapfour\symbol{55}}
- \expandafter\def\csname simpleicon@embarcaderoicon\endcsname {\simpleiconsmapfour\symbol{56}}
- \expandafter\def\csname simpleicon@embarkicon\endcsname {\simpleiconsmapfour\symbol{57}}
- \expandafter\def\csname simpleicon@emberdotjsicon\endcsname {\simpleiconsmapfour\symbol{58}}
- \expandafter\def\csname simpleicon@embyicon\endcsname {\simpleiconsmapfour\symbol{59}}
- \expandafter\def\csname simpleicon@emiratesicon\endcsname {\simpleiconsmapfour\symbol{60}}
- \expandafter\def\csname simpleicon@emlakjeticon\endcsname {\simpleiconsmapfour\symbol{61}}
- \expandafter\def\csname simpleicon@empirekredicon\endcsname {\simpleiconsmapfour\symbol{62}}
- \expandafter\def\csname simpleicon@endeavourosicon\endcsname {\simpleiconsmapfour\symbol{63}}
- \expandafter\def\csname simpleicon@engadgeticon\endcsname {\simpleiconsmapfour\symbol{64}}
- \expandafter\def\csname simpleicon@enpassicon\endcsname {\simpleiconsmapfour\symbol{65}}
- \expandafter\def\csname simpleicon@enterprisedbicon\endcsname {\simpleiconsmapfour\symbol{66}}
- \expandafter\def\csname simpleicon@envatoicon\endcsname {\simpleiconsmapfour\symbol{67}}
- \expandafter\def\csname simpleicon@envoyproxyicon\endcsname {\simpleiconsmapfour\symbol{68}}
- \expandafter\def\csname simpleicon@epelicon\endcsname {\simpleiconsmapfour\symbol{69}}
- \expandafter\def\csname simpleicon@epicgamesicon\endcsname {\simpleiconsmapfour\symbol{70}}
- \expandafter\def\csname simpleicon@epsonicon\endcsname {\simpleiconsmapfour\symbol{71}}
- \expandafter\def\csname simpleicon@equinixmetalicon\endcsname {\simpleiconsmapfour\symbol{72}}
- \expandafter\def\csname simpleicon@ericssonicon\endcsname {\simpleiconsmapfour\symbol{73}}
- \expandafter\def\csname simpleicon@erlangicon\endcsname {\simpleiconsmapfour\symbol{74}}
- \expandafter\def\csname simpleicon@erpnexticon\endcsname {\simpleiconsmapfour\symbol{75}}
- \expandafter\def\csname simpleicon@esbuildicon\endcsname {\simpleiconsmapfour\symbol{76}}
- \expandafter\def\csname simpleicon@eseaicon\endcsname {\simpleiconsmapfour\symbol{77}}
- \expandafter\def\csname simpleicon@eslgamingicon\endcsname {\simpleiconsmapfour\symbol{78}}
- \expandafter\def\csname simpleicon@eslinticon\endcsname {\simpleiconsmapfour\symbol{79}}
- \expandafter\def\csname simpleicon@esotericsoftwareicon\endcsname {\simpleiconsmapfour\symbol{80}}
- \expandafter\def\csname simpleicon@esphomeicon\endcsname {\simpleiconsmapfour\symbol{81}}
- \expandafter\def\csname simpleicon@espressificon\endcsname {\simpleiconsmapfour\symbol{82}}
- \expandafter\def\csname simpleicon@esriicon\endcsname {\simpleiconsmapfour\symbol{83}}
- \expandafter\def\csname simpleicon@etcdicon\endcsname {\simpleiconsmapfour\symbol{84}}
- \expandafter\def\csname simpleicon@ethereumicon\endcsname {\simpleiconsmapfour\symbol{85}}
- \expandafter\def\csname simpleicon@ethersicon\endcsname {\simpleiconsmapfour\symbol{86}}
- \expandafter\def\csname simpleicon@ethiopianairlinesicon\endcsname {\simpleiconsmapfour\symbol{87}}
- \expandafter\def\csname simpleicon@etihadairwaysicon\endcsname {\simpleiconsmapfour\symbol{88}}
- \expandafter\def\csname simpleicon@etsyicon\endcsname {\simpleiconsmapfour\symbol{89}}
- \expandafter\def\csname simpleicon@eventbriteicon\endcsname {\simpleiconsmapfour\symbol{90}}
- \expandafter\def\csname simpleicon@eventstoreicon\endcsname {\simpleiconsmapfour\symbol{91}}
- \expandafter\def\csname simpleicon@evernoteicon\endcsname {\simpleiconsmapfour\symbol{92}}
- \expandafter\def\csname simpleicon@excalidrawicon\endcsname {\simpleiconsmapfour\symbol{93}}
- \expandafter\def\csname simpleicon@exercismicon\endcsname {\simpleiconsmapfour\symbol{94}}
- \expandafter\def\csname simpleicon@exordoicon\endcsname {\simpleiconsmapfour\symbol{95}}
- \expandafter\def\csname simpleicon@exoscaleicon\endcsname {\simpleiconsmapfour\symbol{96}}
- \expandafter\def\csname simpleicon@expediaicon\endcsname {\simpleiconsmapfour\symbol{97}}
- \expandafter\def\csname simpleicon@expensifyicon\endcsname {\simpleiconsmapfour\symbol{98}}
- \expandafter\def\csname simpleicon@expertsexchangeicon\endcsname {\simpleiconsmapfour\symbol{99}}
- \expandafter\def\csname simpleicon@expoicon\endcsname {\simpleiconsmapfour\symbol{100}}
- \expandafter\def\csname simpleicon@expressicon\endcsname {\simpleiconsmapfour\symbol{101}}
- \expandafter\def\csname simpleicon@expressvpnicon\endcsname {\simpleiconsmapfour\symbol{102}}
- \expandafter\def\csname simpleicon@eyeemicon\endcsname {\simpleiconsmapfour\symbol{103}}
- \expandafter\def\csname simpleicon@f1icon\endcsname {\simpleiconsmapfour\symbol{104}}
- \expandafter\def\csname simpleicon@f5icon\endcsname {\simpleiconsmapfour\symbol{105}}
- \expandafter\def\csname simpleicon@facebookicon\endcsname {\simpleiconsmapfour\symbol{106}}
- \expandafter\def\csname simpleicon@facebookgamingicon\endcsname {\simpleiconsmapfour\symbol{107}}
- \expandafter\def\csname simpleicon@facebookliveicon\endcsname {\simpleiconsmapfour\symbol{108}}
- \expandafter\def\csname simpleicon@faceiticon\endcsname {\simpleiconsmapfour\symbol{109}}
- \expandafter\def\csname simpleicon@facepunchicon\endcsname {\simpleiconsmapfour\symbol{110}}
- \expandafter\def\csname simpleicon@fairphoneicon\endcsname {\simpleiconsmapfour\symbol{111}}
- \expandafter\def\csname simpleicon@falcoicon\endcsname {\simpleiconsmapfour\symbol{112}}
- \expandafter\def\csname simpleicon@falconicon\endcsname {\simpleiconsmapfour\symbol{113}}
- \expandafter\def\csname simpleicon@fampayicon\endcsname {\simpleiconsmapfour\symbol{114}}
- \expandafter\def\csname simpleicon@fandangoicon\endcsname {\simpleiconsmapfour\symbol{115}}
- \expandafter\def\csname simpleicon@fandomicon\endcsname {\simpleiconsmapfour\symbol{116}}
- \expandafter\def\csname simpleicon@fanfouicon\endcsname {\simpleiconsmapfour\symbol{117}}
- \expandafter\def\csname simpleicon@fantomicon\endcsname {\simpleiconsmapfour\symbol{118}}
- \expandafter\def\csname simpleicon@farcastericon\endcsname {\simpleiconsmapfour\symbol{119}}
- \expandafter\def\csname simpleicon@fareharboricon\endcsname {\simpleiconsmapfour\symbol{120}}
- \expandafter\def\csname simpleicon@farfetchicon\endcsname {\simpleiconsmapfour\symbol{121}}
- \expandafter\def\csname simpleicon@fastapiicon\endcsname {\simpleiconsmapfour\symbol{122}}
- \expandafter\def\csname simpleicon@fastifyicon\endcsname {\simpleiconsmapfour\symbol{123}}
- \expandafter\def\csname simpleicon@fastlaneicon\endcsname {\simpleiconsmapfour\symbol{124}}
- \expandafter\def\csname simpleicon@fastlyicon\endcsname {\simpleiconsmapfour\symbol{125}}
- \expandafter\def\csname simpleicon@fathomicon\endcsname {\simpleiconsmapfour\symbol{126}}
- \expandafter\def\csname simpleicon@faunaicon\endcsname {\simpleiconsmapfour\symbol{127}}
- \expandafter\def\csname simpleicon@favroicon\endcsname {\simpleiconsmapfour\symbol{128}}
- \expandafter\def\csname simpleicon@fdroidicon\endcsname {\simpleiconsmapfour\symbol{129}}
- \expandafter\def\csname simpleicon@feathubicon\endcsname {\simpleiconsmapfour\symbol{130}}
- \expandafter\def\csname simpleicon@fedexicon\endcsname {\simpleiconsmapfour\symbol{131}}
- \expandafter\def\csname simpleicon@fedoraicon\endcsname {\simpleiconsmapfour\symbol{132}}
- \expandafter\def\csname simpleicon@feedlyicon\endcsname {\simpleiconsmapfour\symbol{133}}
- \expandafter\def\csname simpleicon@ferrariicon\endcsname {\simpleiconsmapfour\symbol{134}}
- \expandafter\def\csname simpleicon@ferrarinvicon\endcsname {\simpleiconsmapfour\symbol{135}}
- \expandafter\def\csname simpleicon@ferretdbicon\endcsname {\simpleiconsmapfour\symbol{136}}
- \expandafter\def\csname simpleicon@ffmpegicon\endcsname {\simpleiconsmapfour\symbol{137}}
- \expandafter\def\csname simpleicon@fiicon\endcsname {\simpleiconsmapfour\symbol{138}}
- \expandafter\def\csname simpleicon@fiaticon\endcsname {\simpleiconsmapfour\symbol{139}}
- \expandafter\def\csname simpleicon@fidoallianceicon\endcsname {\simpleiconsmapfour\symbol{140}}
- \expandafter\def\csname simpleicon@fifaicon\endcsname {\simpleiconsmapfour\symbol{141}}
- \expandafter\def\csname simpleicon@figicon\endcsname {\simpleiconsmapfour\symbol{142}}
- \expandafter\def\csname simpleicon@figmaicon\endcsname {\simpleiconsmapfour\symbol{143}}
- \expandafter\def\csname simpleicon@figshareicon\endcsname {\simpleiconsmapfour\symbol{144}}
- \expandafter\def\csname simpleicon@filaicon\endcsname {\simpleiconsmapfour\symbol{145}}
- \expandafter\def\csname simpleicon@filedotioicon\endcsname {\simpleiconsmapfour\symbol{146}}
- \expandafter\def\csname simpleicon@filesicon\endcsname {\simpleiconsmapfour\symbol{147}}
- \expandafter\def\csname simpleicon@filezillaicon\endcsname {\simpleiconsmapfour\symbol{148}}
- \expandafter\def\csname simpleicon@finecoicon\endcsname {\simpleiconsmapfour\symbol{149}}
- \expandafter\def\csname simpleicon@fingicon\endcsname {\simpleiconsmapfour\symbol{150}}
- \expandafter\def\csname simpleicon@firebaseicon\endcsname {\simpleiconsmapfour\symbol{151}}
- \expandafter\def\csname simpleicon@firefishicon\endcsname {\simpleiconsmapfour\symbol{152}}
- \expandafter\def\csname simpleicon@fireflyiiiicon\endcsname {\simpleiconsmapfour\symbol{153}}
- \expandafter\def\csname simpleicon@firefoxicon\endcsname {\simpleiconsmapfour\symbol{154}}
- \expandafter\def\csname simpleicon@firefoxbrowsericon\endcsname {\simpleiconsmapfour\symbol{155}}
- \expandafter\def\csname simpleicon@fireshipicon\endcsname {\simpleiconsmapfour\symbol{156}}
- \expandafter\def\csname simpleicon@firewallaicon\endcsname {\simpleiconsmapfour\symbol{157}}
- \expandafter\def\csname simpleicon@firsticon\endcsname {\simpleiconsmapfour\symbol{158}}
- \expandafter\def\csname simpleicon@fishshellicon\endcsname {\simpleiconsmapfour\symbol{159}}
- \expandafter\def\csname simpleicon@fitbiticon\endcsname {\simpleiconsmapfour\symbol{160}}
- \expandafter\def\csname simpleicon@fiteicon\endcsname {\simpleiconsmapfour\symbol{161}}
- \expandafter\def\csname simpleicon@fivemicon\endcsname {\simpleiconsmapfour\symbol{162}}
- \expandafter\def\csname simpleicon@fiverricon\endcsname {\simpleiconsmapfour\symbol{163}}
- \expandafter\def\csname simpleicon@flashforgeicon\endcsname {\simpleiconsmapfour\symbol{164}}
- \expandafter\def\csname simpleicon@flaskicon\endcsname {\simpleiconsmapfour\symbol{165}}
- \expandafter\def\csname simpleicon@flaticon\endcsname {\simpleiconsmapfour\symbol{166}}
- \expandafter\def\csname simpleicon@flathubicon\endcsname {\simpleiconsmapfour\symbol{167}}
- \expandafter\def\csname simpleicon@flatpakicon\endcsname {\simpleiconsmapfour\symbol{168}}
- \expandafter\def\csname simpleicon@flattricon\endcsname {\simpleiconsmapfour\symbol{169}}
- \expandafter\def\csname simpleicon@flickricon\endcsname {\simpleiconsmapfour\symbol{170}}
- \expandafter\def\csname simpleicon@flightawareicon\endcsname {\simpleiconsmapfour\symbol{171}}
- \expandafter\def\csname simpleicon@flipboardicon\endcsname {\simpleiconsmapfour\symbol{172}}
- \expandafter\def\csname simpleicon@flipkarticon\endcsname {\simpleiconsmapfour\symbol{173}}
- \expandafter\def\csname simpleicon@floatplaneicon\endcsname {\simpleiconsmapfour\symbol{174}}
- \expandafter\def\csname simpleicon@floodicon\endcsname {\simpleiconsmapfour\symbol{175}}
- \expandafter\def\csname simpleicon@fluentbiticon\endcsname {\simpleiconsmapfour\symbol{176}}
- \expandafter\def\csname simpleicon@fluentdicon\endcsname {\simpleiconsmapfour\symbol{177}}
- \expandafter\def\csname simpleicon@flukeicon\endcsname {\simpleiconsmapfour\symbol{178}}
- \expandafter\def\csname simpleicon@fluttericon\endcsname {\simpleiconsmapfour\symbol{179}}
- \expandafter\def\csname simpleicon@fluxicon\endcsname {\simpleiconsmapfour\symbol{180}}
- \expandafter\def\csname simpleicon@fluxusicon\endcsname {\simpleiconsmapfour\symbol{181}}
- \expandafter\def\csname simpleicon@flywayicon\endcsname {\simpleiconsmapfour\symbol{182}}
- \expandafter\def\csname simpleicon@fmodicon\endcsname {\simpleiconsmapfour\symbol{183}}
- \expandafter\def\csname simpleicon@fnacicon\endcsname {\simpleiconsmapfour\symbol{184}}
- \expandafter\def\csname simpleicon@foliumicon\endcsname {\simpleiconsmapfour\symbol{185}}
- \expandafter\def\csname simpleicon@fonomaicon\endcsname {\simpleiconsmapfour\symbol{186}}
- \expandafter\def\csname simpleicon@fontawesomeicon\endcsname {\simpleiconsmapfour\symbol{187}}
- \expandafter\def\csname simpleicon@fontbaseicon\endcsname {\simpleiconsmapfour\symbol{188}}
- \expandafter\def\csname simpleicon@fontforgeicon\endcsname {\simpleiconsmapfour\symbol{189}}
- \expandafter\def\csname simpleicon@foobar2000icon\endcsname {\simpleiconsmapfour\symbol{190}}
- \expandafter\def\csname simpleicon@foodpandaicon\endcsname {\simpleiconsmapfour\symbol{191}}
- \expandafter\def\csname simpleicon@fordicon\endcsname {\simpleiconsmapfour\symbol{192}}
- \expandafter\def\csname simpleicon@forgejoicon\endcsname {\simpleiconsmapfour\symbol{193}}
- \expandafter\def\csname simpleicon@formspreeicon\endcsname {\simpleiconsmapfour\symbol{194}}
- \expandafter\def\csname simpleicon@formstackicon\endcsname {\simpleiconsmapfour\symbol{195}}
- \expandafter\def\csname simpleicon@fortineticon\endcsname {\simpleiconsmapfour\symbol{196}}
- \expandafter\def\csname simpleicon@fortranicon\endcsname {\simpleiconsmapfour\symbol{197}}
- \expandafter\def\csname simpleicon@fossaicon\endcsname {\simpleiconsmapfour\symbol{198}}
- \expandafter\def\csname simpleicon@fossilscmicon\endcsname {\simpleiconsmapfour\symbol{199}}
- \expandafter\def\csname simpleicon@foursquareicon\endcsname {\simpleiconsmapfour\symbol{200}}
- \expandafter\def\csname simpleicon@foursquarecityguideicon\endcsname {\simpleiconsmapfour\symbol{201}}
- \expandafter\def\csname simpleicon@foxicon\endcsname {\simpleiconsmapfour\symbol{202}}
- \expandafter\def\csname simpleicon@foxtelicon\endcsname {\simpleiconsmapfour\symbol{203}}
- \expandafter\def\csname simpleicon@fozzyicon\endcsname {\simpleiconsmapfour\symbol{204}}
- \expandafter\def\csname simpleicon@framericon\endcsname {\simpleiconsmapfour\symbol{205}}
- \expandafter\def\csname simpleicon@frameworkicon\endcsname {\simpleiconsmapfour\symbol{206}}
- \expandafter\def\csname simpleicon@framework7icon\endcsname {\simpleiconsmapfour\symbol{207}}
- \expandafter\def\csname simpleicon@franprixicon\endcsname {\simpleiconsmapfour\symbol{208}}
- \expandafter\def\csname simpleicon@frappeicon\endcsname {\simpleiconsmapfour\symbol{209}}
- \expandafter\def\csname simpleicon@fraunhofergesellschafticon\endcsname {\simpleiconsmapfour\symbol{210}}
- \expandafter\def\csname simpleicon@freebsdicon\endcsname {\simpleiconsmapfour\symbol{211}}
- \expandafter\def\csname simpleicon@freecodecampicon\endcsname {\simpleiconsmapfour\symbol{212}}
- \expandafter\def\csname simpleicon@freedesktopdotorgicon\endcsname {\simpleiconsmapfour\symbol{213}}
- \expandafter\def\csname simpleicon@freelancericon\endcsname {\simpleiconsmapfour\symbol{214}}
- \expandafter\def\csname simpleicon@freenasicon\endcsname {\simpleiconsmapfour\symbol{215}}
- \expandafter\def\csname simpleicon@freepikicon\endcsname {\simpleiconsmapfour\symbol{216}}
- \expandafter\def\csname simpleicon@frontendmentoricon\endcsname {\simpleiconsmapfour\symbol{217}}
- \expandafter\def\csname simpleicon@frontifyicon\endcsname {\simpleiconsmapfour\symbol{218}}
- \expandafter\def\csname simpleicon@fsecureicon\endcsname {\simpleiconsmapfour\symbol{219}}
- \expandafter\def\csname simpleicon@fsharpicon\endcsname {\simpleiconsmapfour\symbol{220}}
- \expandafter\def\csname simpleicon@fuboicon\endcsname {\simpleiconsmapfour\symbol{221}}
- \expandafter\def\csname simpleicon@fuelericon\endcsname {\simpleiconsmapfour\symbol{222}}
- \expandafter\def\csname simpleicon@fugacloudicon\endcsname {\simpleiconsmapfour\symbol{223}}
- \expandafter\def\csname simpleicon@fujifilmicon\endcsname {\simpleiconsmapfour\symbol{224}}
- \expandafter\def\csname simpleicon@fujitsuicon\endcsname {\simpleiconsmapfour\symbol{225}}
- \expandafter\def\csname simpleicon@funimationicon\endcsname {\simpleiconsmapfour\symbol{226}}
- \expandafter\def\csname simpleicon@furaffinityicon\endcsname {\simpleiconsmapfour\symbol{227}}
- \expandafter\def\csname simpleicon@furrynetworkicon\endcsname {\simpleiconsmapfour\symbol{228}}
- \expandafter\def\csname simpleicon@futurelearnicon\endcsname {\simpleiconsmapfour\symbol{229}}
- \expandafter\def\csname simpleicon@g2icon\endcsname {\simpleiconsmapfour\symbol{230}}
- \expandafter\def\csname simpleicon@g2aicon\endcsname {\simpleiconsmapfour\symbol{231}}
- \expandafter\def\csname simpleicon@g2gicon\endcsname {\simpleiconsmapfour\symbol{232}}
- \expandafter\def\csname simpleicon@galaxusicon\endcsname {\simpleiconsmapfour\symbol{233}}
- \expandafter\def\csname simpleicon@gameandwatchicon\endcsname {\simpleiconsmapfour\symbol{234}}
- \expandafter\def\csname simpleicon@gamebananaicon\endcsname {\simpleiconsmapfour\symbol{235}}
- \expandafter\def\csname simpleicon@gamedevelopericon\endcsname {\simpleiconsmapfour\symbol{236}}
- \expandafter\def\csname simpleicon@gamejolticon\endcsname {\simpleiconsmapfour\symbol{237}}
- \expandafter\def\csname simpleicon@gamelofticon\endcsname {\simpleiconsmapfour\symbol{238}}
- \expandafter\def\csname simpleicon@gamemakericon\endcsname {\simpleiconsmapfour\symbol{239}}
- \expandafter\def\csname simpleicon@garminicon\endcsname {\simpleiconsmapfour\symbol{240}}
- \expandafter\def\csname simpleicon@gatlingicon\endcsname {\simpleiconsmapfour\symbol{241}}
- \expandafter\def\csname simpleicon@gatsbyicon\endcsname {\simpleiconsmapfour\symbol{242}}
- \expandafter\def\csname simpleicon@gdalicon\endcsname {\simpleiconsmapfour\symbol{243}}
- \expandafter\def\csname simpleicon@geanticon\endcsname {\simpleiconsmapfour\symbol{244}}
- \expandafter\def\csname simpleicon@geeksforgeeksicon\endcsname {\simpleiconsmapfour\symbol{245}}
- \expandafter\def\csname simpleicon@generalelectricicon\endcsname {\simpleiconsmapfour\symbol{246}}
- \expandafter\def\csname simpleicon@generalmotorsicon\endcsname {\simpleiconsmapfour\symbol{247}}
- \expandafter\def\csname simpleicon@geniusicon\endcsname {\simpleiconsmapfour\symbol{248}}
- \expandafter\def\csname simpleicon@gentooicon\endcsname {\simpleiconsmapfour\symbol{249}}
- \expandafter\def\csname simpleicon@geocachingicon\endcsname {\simpleiconsmapfour\symbol{250}}
- \expandafter\def\csname simpleicon@geopandasicon\endcsname {\simpleiconsmapfour\symbol{251}}
- \expandafter\def\csname simpleicon@gerriticon\endcsname {\simpleiconsmapfour\symbol{252}}
- \expandafter\def\csname simpleicon@getxicon\endcsname {\simpleiconsmapfour\symbol{253}}
- \expandafter\def\csname simpleicon@ghosticon\endcsname {\simpleiconsmapfour\symbol{254}}
- \expandafter\def\csname simpleicon@ghosteryicon\endcsname {\simpleiconsmapfour\symbol{255}}
- \expandafter\def\csname simpleicon@gimpicon\endcsname {\simpleiconsmapfive\symbol{0}}
- \expandafter\def\csname simpleicon@ginicon\endcsname {\simpleiconsmapfive\symbol{1}}
- \expandafter\def\csname simpleicon@giphyicon\endcsname {\simpleiconsmapfive\symbol{2}}
- \expandafter\def\csname simpleicon@giticon\endcsname {\simpleiconsmapfive\symbol{3}}
- \expandafter\def\csname simpleicon@gitbookicon\endcsname {\simpleiconsmapfive\symbol{4}}
- \expandafter\def\csname simpleicon@gitconnectedicon\endcsname {\simpleiconsmapfive\symbol{5}}
- \expandafter\def\csname simpleicon@giteaicon\endcsname {\simpleiconsmapfive\symbol{6}}
- \expandafter\def\csname simpleicon@giteeicon\endcsname {\simpleiconsmapfive\symbol{7}}
- \expandafter\def\csname simpleicon@gitextensionsicon\endcsname {\simpleiconsmapfive\symbol{8}}
- \expandafter\def\csname simpleicon@githubicon\endcsname {\simpleiconsmapfive\symbol{9}}
- \expandafter\def\csname simpleicon@githubactionsicon\endcsname {\simpleiconsmapfive\symbol{10}}
- \expandafter\def\csname simpleicon@githubcopiloticon\endcsname {\simpleiconsmapfive\symbol{11}}
- \expandafter\def\csname simpleicon@githubpagesicon\endcsname {\simpleiconsmapfive\symbol{12}}
- \expandafter\def\csname simpleicon@githubsponsorsicon\endcsname {\simpleiconsmapfive\symbol{13}}
- \expandafter\def\csname simpleicon@gitignoredotioicon\endcsname {\simpleiconsmapfive\symbol{14}}
- \expandafter\def\csname simpleicon@gitkrakenicon\endcsname {\simpleiconsmapfive\symbol{15}}
- \expandafter\def\csname simpleicon@gitlabicon\endcsname {\simpleiconsmapfive\symbol{16}}
- \expandafter\def\csname simpleicon@gitlfsicon\endcsname {\simpleiconsmapfive\symbol{17}}
- \expandafter\def\csname simpleicon@gitpodicon\endcsname {\simpleiconsmapfive\symbol{18}}
- \expandafter\def\csname simpleicon@gittericon\endcsname {\simpleiconsmapfive\symbol{19}}
- \expandafter\def\csname simpleicon@glassdooricon\endcsname {\simpleiconsmapfive\symbol{20}}
- \expandafter\def\csname simpleicon@glideicon\endcsname {\simpleiconsmapfive\symbol{21}}
- \expandafter\def\csname simpleicon@glitchicon\endcsname {\simpleiconsmapfive\symbol{22}}
- \expandafter\def\csname simpleicon@globusicon\endcsname {\simpleiconsmapfive\symbol{23}}
- \expandafter\def\csname simpleicon@glovoicon\endcsname {\simpleiconsmapfive\symbol{24}}
- \expandafter\def\csname simpleicon@gmailicon\endcsname {\simpleiconsmapfive\symbol{25}}
- \expandafter\def\csname simpleicon@gnomeicon\endcsname {\simpleiconsmapfive\symbol{26}}
- \expandafter\def\csname simpleicon@gnometerminalicon\endcsname {\simpleiconsmapfive\symbol{27}}
- \expandafter\def\csname simpleicon@gnuicon\endcsname {\simpleiconsmapfive\symbol{28}}
- \expandafter\def\csname simpleicon@gnubashicon\endcsname {\simpleiconsmapfive\symbol{29}}
- \expandafter\def\csname simpleicon@gnuemacsicon\endcsname {\simpleiconsmapfive\symbol{30}}
- \expandafter\def\csname simpleicon@gnuicecaticon\endcsname {\simpleiconsmapfive\symbol{31}}
- \expandafter\def\csname simpleicon@gnuprivacyguardicon\endcsname {\simpleiconsmapfive\symbol{32}}
- \expandafter\def\csname simpleicon@gnusocialicon\endcsname {\simpleiconsmapfive\symbol{33}}
- \expandafter\def\csname simpleicon@goicon\endcsname {\simpleiconsmapfive\symbol{34}}
- \expandafter\def\csname simpleicon@gocdicon\endcsname {\simpleiconsmapfive\symbol{35}}
- \expandafter\def\csname simpleicon@godaddyicon\endcsname {\simpleiconsmapfive\symbol{36}}
- \expandafter\def\csname simpleicon@godotengineicon\endcsname {\simpleiconsmapfive\symbol{37}}
- \expandafter\def\csname simpleicon@gofundmeicon\endcsname {\simpleiconsmapfive\symbol{38}}
- \expandafter\def\csname simpleicon@gogdotcomicon\endcsname {\simpleiconsmapfive\symbol{39}}
- \expandafter\def\csname simpleicon@gojekicon\endcsname {\simpleiconsmapfive\symbol{40}}
- \expandafter\def\csname simpleicon@golandicon\endcsname {\simpleiconsmapfive\symbol{41}}
- \expandafter\def\csname simpleicon@goldenlineicon\endcsname {\simpleiconsmapfive\symbol{42}}
- \expandafter\def\csname simpleicon@goldmansachsicon\endcsname {\simpleiconsmapfive\symbol{43}}
- \expandafter\def\csname simpleicon@goodreadsicon\endcsname {\simpleiconsmapfive\symbol{44}}
- \expandafter\def\csname simpleicon@googleicon\endcsname {\simpleiconsmapfive\symbol{45}}
- \expandafter\def\csname simpleicon@googleadmobicon\endcsname {\simpleiconsmapfive\symbol{46}}
- \expandafter\def\csname simpleicon@googleadsicon\endcsname {\simpleiconsmapfive\symbol{47}}
- \expandafter\def\csname simpleicon@googleadsenseicon\endcsname {\simpleiconsmapfive\symbol{48}}
- \expandafter\def\csname simpleicon@googleanalyticsicon\endcsname {\simpleiconsmapfive\symbol{49}}
- \expandafter\def\csname simpleicon@googleappsscripticon\endcsname {\simpleiconsmapfive\symbol{50}}
- \expandafter\def\csname simpleicon@googleassistanticon\endcsname {\simpleiconsmapfive\symbol{51}}
- \expandafter\def\csname simpleicon@googleauthenticatoricon\endcsname {\simpleiconsmapfive\symbol{52}}
- \expandafter\def\csname simpleicon@googlebardicon\endcsname {\simpleiconsmapfive\symbol{53}}
- \expandafter\def\csname simpleicon@googlebigqueryicon\endcsname {\simpleiconsmapfive\symbol{54}}
- \expandafter\def\csname simpleicon@googlebigtableicon\endcsname {\simpleiconsmapfive\symbol{55}}
- \expandafter\def\csname simpleicon@googlecalendaricon\endcsname {\simpleiconsmapfive\symbol{56}}
- \expandafter\def\csname simpleicon@googlecampaignmanager360icon\endcsname {\simpleiconsmapfive\symbol{57}}
- \expandafter\def\csname simpleicon@googlecardboardicon\endcsname {\simpleiconsmapfive\symbol{58}}
- \expandafter\def\csname simpleicon@googlechaticon\endcsname {\simpleiconsmapfive\symbol{59}}
- \expandafter\def\csname simpleicon@googlechromeicon\endcsname {\simpleiconsmapfive\symbol{60}}
- \expandafter\def\csname simpleicon@googlechronicleicon\endcsname {\simpleiconsmapfive\symbol{61}}
- \expandafter\def\csname simpleicon@googleclassroomicon\endcsname {\simpleiconsmapfive\symbol{62}}
- \expandafter\def\csname simpleicon@googlecloudicon\endcsname {\simpleiconsmapfive\symbol{63}}
- \expandafter\def\csname simpleicon@googlecloudcomposericon\endcsname {\simpleiconsmapfive\symbol{64}}
- \expandafter\def\csname simpleicon@googlecloudspannericon\endcsname {\simpleiconsmapfive\symbol{65}}
- \expandafter\def\csname simpleicon@googlecloudstorageicon\endcsname {\simpleiconsmapfive\symbol{66}}
- \expandafter\def\csname simpleicon@googlecolabicon\endcsname {\simpleiconsmapfive\symbol{67}}
- \expandafter\def\csname simpleicon@googlecontaineroptimizedosicon\endcsname {\simpleiconsmapfive\symbol{68}}
- \expandafter\def\csname simpleicon@googledataflowicon\endcsname {\simpleiconsmapfive\symbol{69}}
- \expandafter\def\csname simpleicon@googledataprocicon\endcsname {\simpleiconsmapfive\symbol{70}}
- \expandafter\def\csname simpleicon@googledatastudioicon\endcsname {\simpleiconsmapfive\symbol{71}}
- \expandafter\def\csname simpleicon@googledisplayandvideo360icon\endcsname {\simpleiconsmapfive\symbol{72}}
- \expandafter\def\csname simpleicon@googledocsicon\endcsname {\simpleiconsmapfive\symbol{73}}
- \expandafter\def\csname simpleicon@googledomainsicon\endcsname {\simpleiconsmapfive\symbol{74}}
- \expandafter\def\csname simpleicon@googledriveicon\endcsname {\simpleiconsmapfive\symbol{75}}
- \expandafter\def\csname simpleicon@googleearthicon\endcsname {\simpleiconsmapfive\symbol{76}}
- \expandafter\def\csname simpleicon@googleearthengineicon\endcsname {\simpleiconsmapfive\symbol{77}}
- \expandafter\def\csname simpleicon@googlefiticon\endcsname {\simpleiconsmapfive\symbol{78}}
- \expandafter\def\csname simpleicon@googlefontsicon\endcsname {\simpleiconsmapfive\symbol{79}}
- \expandafter\def\csname simpleicon@googleformsicon\endcsname {\simpleiconsmapfive\symbol{80}}
- \expandafter\def\csname simpleicon@googlegeminiicon\endcsname {\simpleiconsmapfive\symbol{81}}
- \expandafter\def\csname simpleicon@googlehangoutsicon\endcsname {\simpleiconsmapfive\symbol{82}}
- \expandafter\def\csname simpleicon@googlehomeicon\endcsname {\simpleiconsmapfive\symbol{83}}
- \expandafter\def\csname simpleicon@googlekeepicon\endcsname {\simpleiconsmapfive\symbol{84}}
- \expandafter\def\csname simpleicon@googlelensicon\endcsname {\simpleiconsmapfive\symbol{85}}
- \expandafter\def\csname simpleicon@googlemapsicon\endcsname {\simpleiconsmapfive\symbol{86}}
- \expandafter\def\csname simpleicon@googlemarketingplatformicon\endcsname {\simpleiconsmapfive\symbol{87}}
- \expandafter\def\csname simpleicon@googlemeeticon\endcsname {\simpleiconsmapfive\symbol{88}}
- \expandafter\def\csname simpleicon@googlemessagesicon\endcsname {\simpleiconsmapfive\symbol{89}}
- \expandafter\def\csname simpleicon@googlemybusinessicon\endcsname {\simpleiconsmapfive\symbol{90}}
- \expandafter\def\csname simpleicon@googlenearbyicon\endcsname {\simpleiconsmapfive\symbol{91}}
- \expandafter\def\csname simpleicon@googlenewsicon\endcsname {\simpleiconsmapfive\symbol{92}}
- \expandafter\def\csname simpleicon@googleoptimizeicon\endcsname {\simpleiconsmapfive\symbol{93}}
- \expandafter\def\csname simpleicon@googlepayicon\endcsname {\simpleiconsmapfive\symbol{94}}
- \expandafter\def\csname simpleicon@googlephotosicon\endcsname {\simpleiconsmapfive\symbol{95}}
- \expandafter\def\csname simpleicon@googleplayicon\endcsname {\simpleiconsmapfive\symbol{96}}
- \expandafter\def\csname simpleicon@googlepodcastsicon\endcsname {\simpleiconsmapfive\symbol{97}}
- \expandafter\def\csname simpleicon@googlepubsubicon\endcsname {\simpleiconsmapfive\symbol{98}}
- \expandafter\def\csname simpleicon@googlescholaricon\endcsname {\simpleiconsmapfive\symbol{99}}
- \expandafter\def\csname simpleicon@googlesearchconsoleicon\endcsname {\simpleiconsmapfive\symbol{100}}
- \expandafter\def\csname simpleicon@googlesheetsicon\endcsname {\simpleiconsmapfive\symbol{101}}
- \expandafter\def\csname simpleicon@googleslidesicon\endcsname {\simpleiconsmapfive\symbol{102}}
- \expandafter\def\csname simpleicon@googlestreetviewicon\endcsname {\simpleiconsmapfive\symbol{103}}
- \expandafter\def\csname simpleicon@googletagmanagericon\endcsname {\simpleiconsmapfive\symbol{104}}
- \expandafter\def\csname simpleicon@googletasksicon\endcsname {\simpleiconsmapfive\symbol{105}}
- \expandafter\def\csname simpleicon@googletranslateicon\endcsname {\simpleiconsmapfive\symbol{106}}
- \expandafter\def\csname simpleicon@gotomeetingicon\endcsname {\simpleiconsmapfive\symbol{107}}
- \expandafter\def\csname simpleicon@grabicon\endcsname {\simpleiconsmapfive\symbol{108}}
- \expandafter\def\csname simpleicon@gradleicon\endcsname {\simpleiconsmapfive\symbol{109}}
- \expandafter\def\csname simpleicon@gradleplaypublishericon\endcsname {\simpleiconsmapfive\symbol{110}}
- \expandafter\def\csname simpleicon@grafanaicon\endcsname {\simpleiconsmapfive\symbol{111}}
- \expandafter\def\csname simpleicon@grammarlyicon\endcsname {\simpleiconsmapfive\symbol{112}}
- \expandafter\def\csname simpleicon@grandfraisicon\endcsname {\simpleiconsmapfive\symbol{113}}
- \expandafter\def\csname simpleicon@grapheneosicon\endcsname {\simpleiconsmapfive\symbol{114}}
- \expandafter\def\csname simpleicon@graphiteicon\endcsname {\simpleiconsmapfive\symbol{115}}
- \expandafter\def\csname simpleicon@graphqlicon\endcsname {\simpleiconsmapfive\symbol{116}}
- \expandafter\def\csname simpleicon@gravicon\endcsname {\simpleiconsmapfive\symbol{117}}
- \expandafter\def\csname simpleicon@gravataricon\endcsname {\simpleiconsmapfive\symbol{118}}
- \expandafter\def\csname simpleicon@graylogicon\endcsname {\simpleiconsmapfive\symbol{119}}
- \expandafter\def\csname simpleicon@greasyforkicon\endcsname {\simpleiconsmapfive\symbol{120}}
- \expandafter\def\csname simpleicon@greatlearningicon\endcsname {\simpleiconsmapfive\symbol{121}}
- \expandafter\def\csname simpleicon@greenhouseicon\endcsname {\simpleiconsmapfive\symbol{122}}
- \expandafter\def\csname simpleicon@greensockicon\endcsname {\simpleiconsmapfive\symbol{123}}
- \expandafter\def\csname simpleicon@griddotaiicon\endcsname {\simpleiconsmapfive\symbol{124}}
- \expandafter\def\csname simpleicon@gridsomeicon\endcsname {\simpleiconsmapfive\symbol{125}}
- \expandafter\def\csname simpleicon@groupmeicon\endcsname {\simpleiconsmapfive\symbol{126}}
- \expandafter\def\csname simpleicon@grouponicon\endcsname {\simpleiconsmapfive\symbol{127}}
- \expandafter\def\csname simpleicon@grubhubicon\endcsname {\simpleiconsmapfive\symbol{128}}
- \expandafter\def\csname simpleicon@grunticon\endcsname {\simpleiconsmapfive\symbol{129}}
- \expandafter\def\csname simpleicon@gskicon\endcsname {\simpleiconsmapfive\symbol{130}}
- \expandafter\def\csname simpleicon@gsmarenadotcomicon\endcsname {\simpleiconsmapfive\symbol{131}}
- \expandafter\def\csname simpleicon@gstreamericon\endcsname {\simpleiconsmapfive\symbol{132}}
- \expandafter\def\csname simpleicon@gtkicon\endcsname {\simpleiconsmapfive\symbol{133}}
- \expandafter\def\csname simpleicon@guangzhoumetroicon\endcsname {\simpleiconsmapfive\symbol{134}}
- \expandafter\def\csname simpleicon@guildedicon\endcsname {\simpleiconsmapfive\symbol{135}}
- \expandafter\def\csname simpleicon@gulpicon\endcsname {\simpleiconsmapfive\symbol{136}}
- \expandafter\def\csname simpleicon@gumroadicon\endcsname {\simpleiconsmapfive\symbol{137}}
- \expandafter\def\csname simpleicon@gumtreeicon\endcsname {\simpleiconsmapfive\symbol{138}}
- \expandafter\def\csname simpleicon@gunicornicon\endcsname {\simpleiconsmapfive\symbol{139}}
- \expandafter\def\csname simpleicon@gurobiicon\endcsname {\simpleiconsmapfive\symbol{140}}
- \expandafter\def\csname simpleicon@gutenbergicon\endcsname {\simpleiconsmapfive\symbol{141}}
- \expandafter\def\csname simpleicon@h3icon\endcsname {\simpleiconsmapfive\symbol{142}}
- \expandafter\def\csname simpleicon@habricon\endcsname {\simpleiconsmapfive\symbol{143}}
- \expandafter\def\csname simpleicon@hackadayicon\endcsname {\simpleiconsmapfive\symbol{144}}
- \expandafter\def\csname simpleicon@hackclubicon\endcsname {\simpleiconsmapfive\symbol{145}}
- \expandafter\def\csname simpleicon@hackerearthicon\endcsname {\simpleiconsmapfive\symbol{146}}
- \expandafter\def\csname simpleicon@hackernoonicon\endcsname {\simpleiconsmapfive\symbol{147}}
- \expandafter\def\csname simpleicon@hackeroneicon\endcsname {\simpleiconsmapfive\symbol{148}}
- \expandafter\def\csname simpleicon@hackerrankicon\endcsname {\simpleiconsmapfive\symbol{149}}
- \expandafter\def\csname simpleicon@hackstericon\endcsname {\simpleiconsmapfive\symbol{150}}
- \expandafter\def\csname simpleicon@hacktheboxicon\endcsname {\simpleiconsmapfive\symbol{151}}
- \expandafter\def\csname simpleicon@halicon\endcsname {\simpleiconsmapfive\symbol{152}}
- \expandafter\def\csname simpleicon@handlebarsdotjsicon\endcsname {\simpleiconsmapfive\symbol{153}}
- \expandafter\def\csname simpleicon@handmicon\endcsname {\simpleiconsmapfive\symbol{154}}
- \expandafter\def\csname simpleicon@handshakeicon\endcsname {\simpleiconsmapfive\symbol{155}}
- \expandafter\def\csname simpleicon@handshakeprotocolicon\endcsname {\simpleiconsmapfive\symbol{156}}
- \expandafter\def\csname simpleicon@happycowicon\endcsname {\simpleiconsmapfive\symbol{157}}
- \expandafter\def\csname simpleicon@harboricon\endcsname {\simpleiconsmapfive\symbol{158}}
- \expandafter\def\csname simpleicon@harmonyosicon\endcsname {\simpleiconsmapfive\symbol{159}}
- \expandafter\def\csname simpleicon@hashicorpicon\endcsname {\simpleiconsmapfive\symbol{160}}
- \expandafter\def\csname simpleicon@hashnodeicon\endcsname {\simpleiconsmapfive\symbol{161}}
- \expandafter\def\csname simpleicon@haskellicon\endcsname {\simpleiconsmapfive\symbol{162}}
- \expandafter\def\csname simpleicon@hasuraicon\endcsname {\simpleiconsmapfive\symbol{163}}
- \expandafter\def\csname simpleicon@hatenabookmarkicon\endcsname {\simpleiconsmapfive\symbol{164}}
- \expandafter\def\csname simpleicon@haveibeenpwnedicon\endcsname {\simpleiconsmapfive\symbol{165}}
- \expandafter\def\csname simpleicon@haxeicon\endcsname {\simpleiconsmapfive\symbol{166}}
- \expandafter\def\csname simpleicon@hboicon\endcsname {\simpleiconsmapfive\symbol{167}}
- \expandafter\def\csname simpleicon@hclicon\endcsname {\simpleiconsmapfive\symbol{168}}
- \expandafter\def\csname simpleicon@hdfcbankicon\endcsname {\simpleiconsmapfive\symbol{169}}
- \expandafter\def\csname simpleicon@headlessuiicon\endcsname {\simpleiconsmapfive\symbol{170}}
- \expandafter\def\csname simpleicon@headphonezoneicon\endcsname {\simpleiconsmapfive\symbol{171}}
- \expandafter\def\csname simpleicon@headspaceicon\endcsname {\simpleiconsmapfive\symbol{172}}
- \expandafter\def\csname simpleicon@hearthicon\endcsname {\simpleiconsmapfive\symbol{173}}
- \expandafter\def\csname simpleicon@hearthisdotaticon\endcsname {\simpleiconsmapfive\symbol{174}}
- \expandafter\def\csname simpleicon@hederaicon\endcsname {\simpleiconsmapfive\symbol{175}}
- \expandafter\def\csname simpleicon@heliumicon\endcsname {\simpleiconsmapfive\symbol{176}}
- \expandafter\def\csname simpleicon@hellofreshicon\endcsname {\simpleiconsmapfive\symbol{177}}
- \expandafter\def\csname simpleicon@hellyhansenicon\endcsname {\simpleiconsmapfive\symbol{178}}
- \expandafter\def\csname simpleicon@helmicon\endcsname {\simpleiconsmapfive\symbol{179}}
- \expandafter\def\csname simpleicon@helpdeskicon\endcsname {\simpleiconsmapfive\symbol{180}}
- \expandafter\def\csname simpleicon@helpscouticon\endcsname {\simpleiconsmapfive\symbol{181}}
- \expandafter\def\csname simpleicon@hepsiemlakicon\endcsname {\simpleiconsmapfive\symbol{182}}
- \expandafter\def\csname simpleicon@hereicon\endcsname {\simpleiconsmapfive\symbol{183}}
- \expandafter\def\csname simpleicon@herokuicon\endcsname {\simpleiconsmapfive\symbol{184}}
- \expandafter\def\csname simpleicon@hetznericon\endcsname {\simpleiconsmapfive\symbol{185}}
- \expandafter\def\csname simpleicon@hevyicon\endcsname {\simpleiconsmapfive\symbol{186}}
- \expandafter\def\csname simpleicon@hexleticon\endcsname {\simpleiconsmapfive\symbol{187}}
- \expandafter\def\csname simpleicon@hexoicon\endcsname {\simpleiconsmapfive\symbol{188}}
- \expandafter\def\csname simpleicon@heyicon\endcsname {\simpleiconsmapfive\symbol{189}}
- \expandafter\def\csname simpleicon@hibernateicon\endcsname {\simpleiconsmapfive\symbol{190}}
- \expandafter\def\csname simpleicon@hibobicon\endcsname {\simpleiconsmapfive\symbol{191}}
- \expandafter\def\csname simpleicon@hiltonicon\endcsname {\simpleiconsmapfive\symbol{192}}
- \expandafter\def\csname simpleicon@hiltonhotelsandresortsicon\endcsname {\simpleiconsmapfive\symbol{193}}
- \expandafter\def\csname simpleicon@hitachiicon\endcsname {\simpleiconsmapfive\symbol{194}}
- \expandafter\def\csname simpleicon@hiveicon\endcsname {\simpleiconsmapfive\symbol{195}}
- \expandafter\def\csname simpleicon@hiveblockchainicon\endcsname {\simpleiconsmapfive\symbol{196}}
- \expandafter\def\csname simpleicon@hivemqicon\endcsname {\simpleiconsmapfive\symbol{197}}
- \expandafter\def\csname simpleicon@homeadvisoricon\endcsname {\simpleiconsmapfive\symbol{198}}
- \expandafter\def\csname simpleicon@homeassistanticon\endcsname {\simpleiconsmapfive\symbol{199}}
- \expandafter\def\csname simpleicon@homeassistantcommunitystoreicon\endcsname {\simpleiconsmapfive\symbol{200}}
- \expandafter\def\csname simpleicon@homebrewicon\endcsname {\simpleiconsmapfive\symbol{201}}
- \expandafter\def\csname simpleicon@homebridgeicon\endcsname {\simpleiconsmapfive\symbol{202}}
- \expandafter\def\csname simpleicon@homifyicon\endcsname {\simpleiconsmapfive\symbol{203}}
- \expandafter\def\csname simpleicon@hondaicon\endcsname {\simpleiconsmapfive\symbol{204}}
- \expandafter\def\csname simpleicon@honeyicon\endcsname {\simpleiconsmapfive\symbol{205}}
- \expandafter\def\csname simpleicon@honoicon\endcsname {\simpleiconsmapfive\symbol{206}}
- \expandafter\def\csname simpleicon@honoricon\endcsname {\simpleiconsmapfive\symbol{207}}
- \expandafter\def\csname simpleicon@hootsuiteicon\endcsname {\simpleiconsmapfive\symbol{208}}
- \expandafter\def\csname simpleicon@hoppscotchicon\endcsname {\simpleiconsmapfive\symbol{209}}
- \expandafter\def\csname simpleicon@hostingericon\endcsname {\simpleiconsmapfive\symbol{210}}
- \expandafter\def\csname simpleicon@hotelsdotcomicon\endcsname {\simpleiconsmapfive\symbol{211}}
- \expandafter\def\csname simpleicon@hotjaricon\endcsname {\simpleiconsmapfive\symbol{212}}
- \expandafter\def\csname simpleicon@hotwireicon\endcsname {\simpleiconsmapfive\symbol{213}}
- \expandafter\def\csname simpleicon@houdiniicon\endcsname {\simpleiconsmapfive\symbol{214}}
- \expandafter\def\csname simpleicon@houzzicon\endcsname {\simpleiconsmapfive\symbol{215}}
- \expandafter\def\csname simpleicon@hpicon\endcsname {\simpleiconsmapfive\symbol{216}}
- \expandafter\def\csname simpleicon@hsbcicon\endcsname {\simpleiconsmapfive\symbol{217}}
- \expandafter\def\csname simpleicon@html5icon\endcsname {\simpleiconsmapfive\symbol{218}}
- \expandafter\def\csname simpleicon@htmlacademyicon\endcsname {\simpleiconsmapfive\symbol{219}}
- \expandafter\def\csname simpleicon@htmxicon\endcsname {\simpleiconsmapfive\symbol{220}}
- \expandafter\def\csname simpleicon@htopicon\endcsname {\simpleiconsmapfive\symbol{221}}
- \expandafter\def\csname simpleicon@httpieicon\endcsname {\simpleiconsmapfive\symbol{222}}
- \expandafter\def\csname simpleicon@huaweiicon\endcsname {\simpleiconsmapfive\symbol{223}}
- \expandafter\def\csname simpleicon@hubspoticon\endcsname {\simpleiconsmapfive\symbol{224}}
- \expandafter\def\csname simpleicon@hugoicon\endcsname {\simpleiconsmapfive\symbol{225}}
- \expandafter\def\csname simpleicon@humblebundleicon\endcsname {\simpleiconsmapfive\symbol{226}}
- \expandafter\def\csname simpleicon@hungryjacksicon\endcsname {\simpleiconsmapfive\symbol{227}}
- \expandafter\def\csname simpleicon@husqvarnaicon\endcsname {\simpleiconsmapfive\symbol{228}}
- \expandafter\def\csname simpleicon@hypericon\endcsname {\simpleiconsmapfive\symbol{229}}
- \expandafter\def\csname simpleicon@hyperskillicon\endcsname {\simpleiconsmapfive\symbol{230}}
- \expandafter\def\csname simpleicon@hypothesisicon\endcsname {\simpleiconsmapfive\symbol{231}}
- \expandafter\def\csname simpleicon@hyundaiicon\endcsname {\simpleiconsmapfive\symbol{232}}
- \expandafter\def\csname simpleicon@i18nexticon\endcsname {\simpleiconsmapfive\symbol{233}}
- \expandafter\def\csname simpleicon@i3icon\endcsname {\simpleiconsmapfive\symbol{234}}
- \expandafter\def\csname simpleicon@iataicon\endcsname {\simpleiconsmapfive\symbol{235}}
- \expandafter\def\csname simpleicon@ibeaconicon\endcsname {\simpleiconsmapfive\symbol{236}}
- \expandafter\def\csname simpleicon@iberiaicon\endcsname {\simpleiconsmapfive\symbol{237}}
- \expandafter\def\csname simpleicon@ibmicon\endcsname {\simpleiconsmapfive\symbol{238}}
- \expandafter\def\csname simpleicon@ibmcloudicon\endcsname {\simpleiconsmapfive\symbol{239}}
- \expandafter\def\csname simpleicon@ibmwatsonicon\endcsname {\simpleiconsmapfive\symbol{240}}
- \expandafter\def\csname simpleicon@icedicon\endcsname {\simpleiconsmapfive\symbol{241}}
- \expandafter\def\csname simpleicon@icelandicon\endcsname {\simpleiconsmapfive\symbol{242}}
- \expandafter\def\csname simpleicon@icicibankicon\endcsname {\simpleiconsmapfive\symbol{243}}
- \expandafter\def\csname simpleicon@icingaicon\endcsname {\simpleiconsmapfive\symbol{244}}
- \expandafter\def\csname simpleicon@icloudicon\endcsname {\simpleiconsmapfive\symbol{245}}
- \expandafter\def\csname simpleicon@icomoonicon\endcsname {\simpleiconsmapfive\symbol{246}}
- \expandafter\def\csname simpleicon@iconicon\endcsname {\simpleiconsmapfive\symbol{247}}
- \expandafter\def\csname simpleicon@iconfindericon\endcsname {\simpleiconsmapfive\symbol{248}}
- \expandafter\def\csname simpleicon@iconifyicon\endcsname {\simpleiconsmapfive\symbol{249}}
- \expandafter\def\csname simpleicon@iconjaricon\endcsname {\simpleiconsmapfive\symbol{250}}
- \expandafter\def\csname simpleicon@icons8icon\endcsname {\simpleiconsmapfive\symbol{251}}
- \expandafter\def\csname simpleicon@icqicon\endcsname {\simpleiconsmapfive\symbol{252}}
- \expandafter\def\csname simpleicon@ieeeicon\endcsname {\simpleiconsmapfive\symbol{253}}
- \expandafter\def\csname simpleicon@ifixiticon\endcsname {\simpleiconsmapfive\symbol{254}}
- \expandafter\def\csname simpleicon@ifoodicon\endcsname {\simpleiconsmapfive\symbol{255}}
- \expandafter\def\csname simpleicon@ifttticon\endcsname {\simpleiconsmapsix\symbol{0}}
- \expandafter\def\csname simpleicon@igdbicon\endcsname {\simpleiconsmapsix\symbol{1}}
- \expandafter\def\csname simpleicon@ignicon\endcsname {\simpleiconsmapsix\symbol{2}}
- \expandafter\def\csname simpleicon@iheartradioicon\endcsname {\simpleiconsmapsix\symbol{3}}
- \expandafter\def\csname simpleicon@ikeaicon\endcsname {\simpleiconsmapsix\symbol{4}}
- \expandafter\def\csname simpleicon@iledefrancemobilitesicon\endcsname {\simpleiconsmapsix\symbol{5}}
- \expandafter\def\csname simpleicon@imagedotscicon\endcsname {\simpleiconsmapsix\symbol{6}}
- \expandafter\def\csname simpleicon@imagejicon\endcsname {\simpleiconsmapsix\symbol{7}}
- \expandafter\def\csname simpleicon@imdbicon\endcsname {\simpleiconsmapsix\symbol{8}}
- \expandafter\def\csname simpleicon@imessageicon\endcsname {\simpleiconsmapsix\symbol{9}}
- \expandafter\def\csname simpleicon@imguricon\endcsname {\simpleiconsmapsix\symbol{10}}
- \expandafter\def\csname simpleicon@immericon\endcsname {\simpleiconsmapsix\symbol{11}}
- \expandafter\def\csname simpleicon@immichicon\endcsname {\simpleiconsmapsix\symbol{12}}
- \expandafter\def\csname simpleicon@imouicon\endcsname {\simpleiconsmapsix\symbol{13}}
- \expandafter\def\csname simpleicon@improvmxicon\endcsname {\simpleiconsmapsix\symbol{14}}
- \expandafter\def\csname simpleicon@indeedicon\endcsname {\simpleiconsmapsix\symbol{15}}
- \expandafter\def\csname simpleicon@indiansuperleagueicon\endcsname {\simpleiconsmapsix\symbol{16}}
- \expandafter\def\csname simpleicon@indiehackersicon\endcsname {\simpleiconsmapsix\symbol{17}}
- \expandafter\def\csname simpleicon@indigoicon\endcsname {\simpleiconsmapsix\symbol{18}}
- \expandafter\def\csname simpleicon@inertiaicon\endcsname {\simpleiconsmapsix\symbol{19}}
- \expandafter\def\csname simpleicon@infinitiicon\endcsname {\simpleiconsmapsix\symbol{20}}
- \expandafter\def\csname simpleicon@influxdbicon\endcsname {\simpleiconsmapsix\symbol{21}}
- \expandafter\def\csname simpleicon@infoqicon\endcsname {\simpleiconsmapsix\symbol{22}}
- \expandafter\def\csname simpleicon@informaticaicon\endcsname {\simpleiconsmapsix\symbol{23}}
- \expandafter\def\csname simpleicon@infosysicon\endcsname {\simpleiconsmapsix\symbol{24}}
- \expandafter\def\csname simpleicon@infracosticon\endcsname {\simpleiconsmapsix\symbol{25}}
- \expandafter\def\csname simpleicon@ingressicon\endcsname {\simpleiconsmapsix\symbol{26}}
- \expandafter\def\csname simpleicon@inkdropicon\endcsname {\simpleiconsmapsix\symbol{27}}
- \expandafter\def\csname simpleicon@inkscapeicon\endcsname {\simpleiconsmapsix\symbol{28}}
- \expandafter\def\csname simpleicon@inoreadericon\endcsname {\simpleiconsmapsix\symbol{29}}
- \expandafter\def\csname simpleicon@insomniaicon\endcsname {\simpleiconsmapsix\symbol{30}}
- \expandafter\def\csname simpleicon@inspireicon\endcsname {\simpleiconsmapsix\symbol{31}}
- \expandafter\def\csname simpleicon@insta360icon\endcsname {\simpleiconsmapsix\symbol{32}}
- \expandafter\def\csname simpleicon@instacarticon\endcsname {\simpleiconsmapsix\symbol{33}}
- \expandafter\def\csname simpleicon@instagramicon\endcsname {\simpleiconsmapsix\symbol{34}}
- \expandafter\def\csname simpleicon@instapapericon\endcsname {\simpleiconsmapsix\symbol{35}}
- \expandafter\def\csname simpleicon@instatusicon\endcsname {\simpleiconsmapsix\symbol{36}}
- \expandafter\def\csname simpleicon@instructablesicon\endcsname {\simpleiconsmapsix\symbol{37}}
- \expandafter\def\csname simpleicon@instructureicon\endcsname {\simpleiconsmapsix\symbol{38}}
- \expandafter\def\csname simpleicon@integromaticon\endcsname {\simpleiconsmapsix\symbol{39}}
- \expandafter\def\csname simpleicon@intelicon\endcsname {\simpleiconsmapsix\symbol{40}}
- \expandafter\def\csname simpleicon@intellijideaicon\endcsname {\simpleiconsmapsix\symbol{41}}
- \expandafter\def\csname simpleicon@interactiondesignfoundationicon\endcsname {\simpleiconsmapsix\symbol{42}}
- \expandafter\def\csname simpleicon@interactjsicon\endcsname {\simpleiconsmapsix\symbol{43}}
- \expandafter\def\csname simpleicon@interbaseicon\endcsname {\simpleiconsmapsix\symbol{44}}
- \expandafter\def\csname simpleicon@intercomicon\endcsname {\simpleiconsmapsix\symbol{45}}
- \expandafter\def\csname simpleicon@intermarcheicon\endcsname {\simpleiconsmapsix\symbol{46}}
- \expandafter\def\csname simpleicon@internetarchiveicon\endcsname {\simpleiconsmapsix\symbol{47}}
- \expandafter\def\csname simpleicon@internetcomputericon\endcsname {\simpleiconsmapsix\symbol{48}}
- \expandafter\def\csname simpleicon@internetexplorericon\endcsname {\simpleiconsmapsix\symbol{49}}
- \expandafter\def\csname simpleicon@intigritiicon\endcsname {\simpleiconsmapsix\symbol{50}}
- \expandafter\def\csname simpleicon@intuiticon\endcsname {\simpleiconsmapsix\symbol{51}}
- \expandafter\def\csname simpleicon@invisionicon\endcsname {\simpleiconsmapsix\symbol{52}}
- \expandafter\def\csname simpleicon@invoiceninjaicon\endcsname {\simpleiconsmapsix\symbol{53}}
- \expandafter\def\csname simpleicon@iobrokericon\endcsname {\simpleiconsmapsix\symbol{54}}
- \expandafter\def\csname simpleicon@ionicicon\endcsname {\simpleiconsmapsix\symbol{55}}
- \expandafter\def\csname simpleicon@ionosicon\endcsname {\simpleiconsmapsix\symbol{56}}
- \expandafter\def\csname simpleicon@iosicon\endcsname {\simpleiconsmapsix\symbol{57}}
- \expandafter\def\csname simpleicon@iotaicon\endcsname {\simpleiconsmapsix\symbol{58}}
- \expandafter\def\csname simpleicon@ipfsicon\endcsname {\simpleiconsmapsix\symbol{59}}
- \expandafter\def\csname simpleicon@irisicon\endcsname {\simpleiconsmapsix\symbol{60}}
- \expandafter\def\csname simpleicon@iroboticon\endcsname {\simpleiconsmapsix\symbol{61}}
- \expandafter\def\csname simpleicon@isc2icon\endcsname {\simpleiconsmapsix\symbol{62}}
- \expandafter\def\csname simpleicon@issuuicon\endcsname {\simpleiconsmapsix\symbol{63}}
- \expandafter\def\csname simpleicon@istioicon\endcsname {\simpleiconsmapsix\symbol{64}}
- \expandafter\def\csname simpleicon@itchdotioicon\endcsname {\simpleiconsmapsix\symbol{65}}
- \expandafter\def\csname simpleicon@iterm2icon\endcsname {\simpleiconsmapsix\symbol{66}}
- \expandafter\def\csname simpleicon@itunesicon\endcsname {\simpleiconsmapsix\symbol{67}}
- \expandafter\def\csname simpleicon@itvxicon\endcsname {\simpleiconsmapsix\symbol{68}}
- \expandafter\def\csname simpleicon@ivecoicon\endcsname {\simpleiconsmapsix\symbol{69}}
- \expandafter\def\csname simpleicon@jabbericon\endcsname {\simpleiconsmapsix\symbol{70}}
- \expandafter\def\csname simpleicon@jaegericon\endcsname {\simpleiconsmapsix\symbol{71}}
- \expandafter\def\csname simpleicon@jaguaricon\endcsname {\simpleiconsmapsix\symbol{72}}
- \expandafter\def\csname simpleicon@jamboardicon\endcsname {\simpleiconsmapsix\symbol{73}}
- \expandafter\def\csname simpleicon@jamesonicon\endcsname {\simpleiconsmapsix\symbol{74}}
- \expandafter\def\csname simpleicon@jamstackicon\endcsname {\simpleiconsmapsix\symbol{75}}
- \expandafter\def\csname simpleicon@jasmineicon\endcsname {\simpleiconsmapsix\symbol{76}}
- \expandafter\def\csname simpleicon@javascripticon\endcsname {\simpleiconsmapsix\symbol{77}}
- \expandafter\def\csname simpleicon@jblicon\endcsname {\simpleiconsmapsix\symbol{78}}
- \expandafter\def\csname simpleicon@jcbicon\endcsname {\simpleiconsmapsix\symbol{79}}
- \expandafter\def\csname simpleicon@jeepicon\endcsname {\simpleiconsmapsix\symbol{80}}
- \expandafter\def\csname simpleicon@jekyllicon\endcsname {\simpleiconsmapsix\symbol{81}}
- \expandafter\def\csname simpleicon@jellyfinicon\endcsname {\simpleiconsmapsix\symbol{82}}
- \expandafter\def\csname simpleicon@jenkinsicon\endcsname {\simpleiconsmapsix\symbol{83}}
- \expandafter\def\csname simpleicon@jesticon\endcsname {\simpleiconsmapsix\symbol{84}}
- \expandafter\def\csname simpleicon@jeticon\endcsname {\simpleiconsmapsix\symbol{85}}
- \expandafter\def\csname simpleicon@jetblueicon\endcsname {\simpleiconsmapsix\symbol{86}}
- \expandafter\def\csname simpleicon@jetbrainsicon\endcsname {\simpleiconsmapsix\symbol{87}}
- \expandafter\def\csname simpleicon@jetpackcomposeicon\endcsname {\simpleiconsmapsix\symbol{88}}
- \expandafter\def\csname simpleicon@jfrogicon\endcsname {\simpleiconsmapsix\symbol{89}}
- \expandafter\def\csname simpleicon@jfrogpipelinesicon\endcsname {\simpleiconsmapsix\symbol{90}}
- \expandafter\def\csname simpleicon@jhipstericon\endcsname {\simpleiconsmapsix\symbol{91}}
- \expandafter\def\csname simpleicon@jinjaicon\endcsname {\simpleiconsmapsix\symbol{92}}
- \expandafter\def\csname simpleicon@jiraicon\endcsname {\simpleiconsmapsix\symbol{93}}
- \expandafter\def\csname simpleicon@jirasoftwareicon\endcsname {\simpleiconsmapsix\symbol{94}}
- \expandafter\def\csname simpleicon@jitpackicon\endcsname {\simpleiconsmapsix\symbol{95}}
- \expandafter\def\csname simpleicon@jitsiicon\endcsname {\simpleiconsmapsix\symbol{96}}
- \expandafter\def\csname simpleicon@johndeereicon\endcsname {\simpleiconsmapsix\symbol{97}}
- \expandafter\def\csname simpleicon@joomlaicon\endcsname {\simpleiconsmapsix\symbol{98}}
- \expandafter\def\csname simpleicon@joplinicon\endcsname {\simpleiconsmapsix\symbol{99}}
- \expandafter\def\csname simpleicon@jordanicon\endcsname {\simpleiconsmapsix\symbol{100}}
- \expandafter\def\csname simpleicon@jouavicon\endcsname {\simpleiconsmapsix\symbol{101}}
- \expandafter\def\csname simpleicon@jovianicon\endcsname {\simpleiconsmapsix\symbol{102}}
- \expandafter\def\csname simpleicon@jpegicon\endcsname {\simpleiconsmapsix\symbol{103}}
- \expandafter\def\csname simpleicon@jqueryicon\endcsname {\simpleiconsmapsix\symbol{104}}
- \expandafter\def\csname simpleicon@jrgroupicon\endcsname {\simpleiconsmapsix\symbol{105}}
- \expandafter\def\csname simpleicon@jsdelivricon\endcsname {\simpleiconsmapsix\symbol{106}}
- \expandafter\def\csname simpleicon@jsfiddleicon\endcsname {\simpleiconsmapsix\symbol{107}}
- \expandafter\def\csname simpleicon@jsonicon\endcsname {\simpleiconsmapsix\symbol{108}}
- \expandafter\def\csname simpleicon@jsonwebtokensicon\endcsname {\simpleiconsmapsix\symbol{109}}
- \expandafter\def\csname simpleicon@jssicon\endcsname {\simpleiconsmapsix\symbol{110}}
- \expandafter\def\csname simpleicon@juceicon\endcsname {\simpleiconsmapsix\symbol{111}}
- \expandafter\def\csname simpleicon@juejinicon\endcsname {\simpleiconsmapsix\symbol{112}}
- \expandafter\def\csname simpleicon@jukeicon\endcsname {\simpleiconsmapsix\symbol{113}}
- \expandafter\def\csname simpleicon@juliaicon\endcsname {\simpleiconsmapsix\symbol{114}}
- \expandafter\def\csname simpleicon@junipernetworksicon\endcsname {\simpleiconsmapsix\symbol{115}}
- \expandafter\def\csname simpleicon@junit5icon\endcsname {\simpleiconsmapsix\symbol{116}}
- \expandafter\def\csname simpleicon@jupytericon\endcsname {\simpleiconsmapsix\symbol{117}}
- \expandafter\def\csname simpleicon@justeaticon\endcsname {\simpleiconsmapsix\symbol{118}}
- \expandafter\def\csname simpleicon@justgivingicon\endcsname {\simpleiconsmapsix\symbol{119}}
- \expandafter\def\csname simpleicon@k3sicon\endcsname {\simpleiconsmapsix\symbol{120}}
- \expandafter\def\csname simpleicon@k6icon\endcsname {\simpleiconsmapsix\symbol{121}}
- \expandafter\def\csname simpleicon@kaggleicon\endcsname {\simpleiconsmapsix\symbol{122}}
- \expandafter\def\csname simpleicon@kahooticon\endcsname {\simpleiconsmapsix\symbol{123}}
- \expandafter\def\csname simpleicon@kaiosicon\endcsname {\simpleiconsmapsix\symbol{124}}
- \expandafter\def\csname simpleicon@kakaoicon\endcsname {\simpleiconsmapsix\symbol{125}}
- \expandafter\def\csname simpleicon@kakaotalkicon\endcsname {\simpleiconsmapsix\symbol{126}}
- \expandafter\def\csname simpleicon@kalilinuxicon\endcsname {\simpleiconsmapsix\symbol{127}}
- \expandafter\def\csname simpleicon@kamailioicon\endcsname {\simpleiconsmapsix\symbol{128}}
- \expandafter\def\csname simpleicon@kanikoicon\endcsname {\simpleiconsmapsix\symbol{129}}
- \expandafter\def\csname simpleicon@karlsruherverkehrsverbundicon\endcsname {\simpleiconsmapsix\symbol{130}}
- \expandafter\def\csname simpleicon@kasasmarticon\endcsname {\simpleiconsmapsix\symbol{131}}
- \expandafter\def\csname simpleicon@kashflowicon\endcsname {\simpleiconsmapsix\symbol{132}}
- \expandafter\def\csname simpleicon@kasperskyicon\endcsname {\simpleiconsmapsix\symbol{133}}
- \expandafter\def\csname simpleicon@katacodaicon\endcsname {\simpleiconsmapsix\symbol{134}}
- \expandafter\def\csname simpleicon@katanaicon\endcsname {\simpleiconsmapsix\symbol{135}}
- \expandafter\def\csname simpleicon@kauflandicon\endcsname {\simpleiconsmapsix\symbol{136}}
- \expandafter\def\csname simpleicon@kdeicon\endcsname {\simpleiconsmapsix\symbol{137}}
- \expandafter\def\csname simpleicon@kdenliveicon\endcsname {\simpleiconsmapsix\symbol{138}}
- \expandafter\def\csname simpleicon@kedroicon\endcsname {\simpleiconsmapsix\symbol{139}}
- \expandafter\def\csname simpleicon@keeneticicon\endcsname {\simpleiconsmapsix\symbol{140}}
- \expandafter\def\csname simpleicon@keepachangelogicon\endcsname {\simpleiconsmapsix\symbol{141}}
- \expandafter\def\csname simpleicon@keepassxcicon\endcsname {\simpleiconsmapsix\symbol{142}}
- \expandafter\def\csname simpleicon@kenticoicon\endcsname {\simpleiconsmapsix\symbol{143}}
- \expandafter\def\csname simpleicon@kerasicon\endcsname {\simpleiconsmapsix\symbol{144}}
- \expandafter\def\csname simpleicon@keybaseicon\endcsname {\simpleiconsmapsix\symbol{145}}
- \expandafter\def\csname simpleicon@keycdnicon\endcsname {\simpleiconsmapsix\symbol{146}}
- \expandafter\def\csname simpleicon@keycloakicon\endcsname {\simpleiconsmapsix\symbol{147}}
- \expandafter\def\csname simpleicon@keystoneicon\endcsname {\simpleiconsmapsix\symbol{148}}
- \expandafter\def\csname simpleicon@kfcicon\endcsname {\simpleiconsmapsix\symbol{149}}
- \expandafter\def\csname simpleicon@khanacademyicon\endcsname {\simpleiconsmapsix\symbol{150}}
- \expandafter\def\csname simpleicon@khronosgroupicon\endcsname {\simpleiconsmapsix\symbol{151}}
- \expandafter\def\csname simpleicon@kiaicon\endcsname {\simpleiconsmapsix\symbol{152}}
- \expandafter\def\csname simpleicon@kibanaicon\endcsname {\simpleiconsmapsix\symbol{153}}
- \expandafter\def\csname simpleicon@kicadicon\endcsname {\simpleiconsmapsix\symbol{154}}
- \expandafter\def\csname simpleicon@kickicon\endcsname {\simpleiconsmapsix\symbol{155}}
- \expandafter\def\csname simpleicon@kickstartericon\endcsname {\simpleiconsmapsix\symbol{156}}
- \expandafter\def\csname simpleicon@kikicon\endcsname {\simpleiconsmapsix\symbol{157}}
- \expandafter\def\csname simpleicon@kingstontechnologyicon\endcsname {\simpleiconsmapsix\symbol{158}}
- \expandafter\def\csname simpleicon@kinopoiskicon\endcsname {\simpleiconsmapsix\symbol{159}}
- \expandafter\def\csname simpleicon@kinstaicon\endcsname {\simpleiconsmapsix\symbol{160}}
- \expandafter\def\csname simpleicon@kirbyicon\endcsname {\simpleiconsmapsix\symbol{161}}
- \expandafter\def\csname simpleicon@kiticon\endcsname {\simpleiconsmapsix\symbol{162}}
- \expandafter\def\csname simpleicon@kitsuicon\endcsname {\simpleiconsmapsix\symbol{163}}
- \expandafter\def\csname simpleicon@klarnaicon\endcsname {\simpleiconsmapsix\symbol{164}}
- \expandafter\def\csname simpleicon@klmicon\endcsname {\simpleiconsmapsix\symbol{165}}
- \expandafter\def\csname simpleicon@klookicon\endcsname {\simpleiconsmapsix\symbol{166}}
- \expandafter\def\csname simpleicon@knativeicon\endcsname {\simpleiconsmapsix\symbol{167}}
- \expandafter\def\csname simpleicon@knexdotjsicon\endcsname {\simpleiconsmapsix\symbol{168}}
- \expandafter\def\csname simpleicon@knimeicon\endcsname {\simpleiconsmapsix\symbol{169}}
- \expandafter\def\csname simpleicon@knowledgebaseicon\endcsname {\simpleiconsmapsix\symbol{170}}
- \expandafter\def\csname simpleicon@knownicon\endcsname {\simpleiconsmapsix\symbol{171}}
- \expandafter\def\csname simpleicon@koaicon\endcsname {\simpleiconsmapsix\symbol{172}}
- \expandafter\def\csname simpleicon@kocicon\endcsname {\simpleiconsmapsix\symbol{173}}
- \expandafter\def\csname simpleicon@kodakicon\endcsname {\simpleiconsmapsix\symbol{174}}
- \expandafter\def\csname simpleicon@kodiicon\endcsname {\simpleiconsmapsix\symbol{175}}
- \expandafter\def\csname simpleicon@kofaxicon\endcsname {\simpleiconsmapsix\symbol{176}}
- \expandafter\def\csname simpleicon@kofiicon\endcsname {\simpleiconsmapsix\symbol{177}}
- \expandafter\def\csname simpleicon@komooticon\endcsname {\simpleiconsmapsix\symbol{178}}
- \expandafter\def\csname simpleicon@konamiicon\endcsname {\simpleiconsmapsix\symbol{179}}
- \expandafter\def\csname simpleicon@kongicon\endcsname {\simpleiconsmapsix\symbol{180}}
- \expandafter\def\csname simpleicon@kongregateicon\endcsname {\simpleiconsmapsix\symbol{181}}
- \expandafter\def\csname simpleicon@konvaicon\endcsname {\simpleiconsmapsix\symbol{182}}
- \expandafter\def\csname simpleicon@kotlinicon\endcsname {\simpleiconsmapsix\symbol{183}}
- \expandafter\def\csname simpleicon@koyebicon\endcsname {\simpleiconsmapsix\symbol{184}}
- \expandafter\def\csname simpleicon@kritaicon\endcsname {\simpleiconsmapsix\symbol{185}}
- \expandafter\def\csname simpleicon@ktmicon\endcsname {\simpleiconsmapsix\symbol{186}}
- \expandafter\def\csname simpleicon@ktoricon\endcsname {\simpleiconsmapsix\symbol{187}}
- \expandafter\def\csname simpleicon@kuaishouicon\endcsname {\simpleiconsmapsix\symbol{188}}
- \expandafter\def\csname simpleicon@kubernetesicon\endcsname {\simpleiconsmapsix\symbol{189}}
- \expandafter\def\csname simpleicon@kubuntuicon\endcsname {\simpleiconsmapsix\symbol{190}}
- \expandafter\def\csname simpleicon@kucoinicon\endcsname {\simpleiconsmapsix\symbol{191}}
- \expandafter\def\csname simpleicon@kumaicon\endcsname {\simpleiconsmapsix\symbol{192}}
- \expandafter\def\csname simpleicon@kununuicon\endcsname {\simpleiconsmapsix\symbol{193}}
- \expandafter\def\csname simpleicon@kuulaicon\endcsname {\simpleiconsmapsix\symbol{194}}
- \expandafter\def\csname simpleicon@kxicon\endcsname {\simpleiconsmapsix\symbol{195}}
- \expandafter\def\csname simpleicon@kyoceraicon\endcsname {\simpleiconsmapsix\symbol{196}}
- \expandafter\def\csname simpleicon@labviewicon\endcsname {\simpleiconsmapsix\symbol{197}}
- \expandafter\def\csname simpleicon@ladaicon\endcsname {\simpleiconsmapsix\symbol{198}}
- \expandafter\def\csname simpleicon@lamborghiniicon\endcsname {\simpleiconsmapsix\symbol{199}}
- \expandafter\def\csname simpleicon@landrovericon\endcsname {\simpleiconsmapsix\symbol{200}}
- \expandafter\def\csname simpleicon@lapceicon\endcsname {\simpleiconsmapsix\symbol{201}}
- \expandafter\def\csname simpleicon@laragonicon\endcsname {\simpleiconsmapsix\symbol{202}}
- \expandafter\def\csname simpleicon@laravelicon\endcsname {\simpleiconsmapsix\symbol{203}}
- \expandafter\def\csname simpleicon@laravelhorizonicon\endcsname {\simpleiconsmapsix\symbol{204}}
- \expandafter\def\csname simpleicon@laravelnovaicon\endcsname {\simpleiconsmapsix\symbol{205}}
- \expandafter\def\csname simpleicon@lastdotfmicon\endcsname {\simpleiconsmapsix\symbol{206}}
- \expandafter\def\csname simpleicon@lastpassicon\endcsname {\simpleiconsmapsix\symbol{207}}
- \expandafter\def\csname simpleicon@latexicon\endcsname {\simpleiconsmapsix\symbol{208}}
- \expandafter\def\csname simpleicon@launchpadicon\endcsname {\simpleiconsmapsix\symbol{209}}
- \expandafter\def\csname simpleicon@lazarusicon\endcsname {\simpleiconsmapsix\symbol{210}}
- \expandafter\def\csname simpleicon@lbryicon\endcsname {\simpleiconsmapsix\symbol{211}}
- \expandafter\def\csname simpleicon@leaderpriceicon\endcsname {\simpleiconsmapsix\symbol{212}}
- \expandafter\def\csname simpleicon@leafleticon\endcsname {\simpleiconsmapsix\symbol{213}}
- \expandafter\def\csname simpleicon@leagueoflegendsicon\endcsname {\simpleiconsmapsix\symbol{214}}
- \expandafter\def\csname simpleicon@leanpubicon\endcsname {\simpleiconsmapsix\symbol{215}}
- \expandafter\def\csname simpleicon@leetcodeicon\endcsname {\simpleiconsmapsix\symbol{216}}
- \expandafter\def\csname simpleicon@legacygamesicon\endcsname {\simpleiconsmapsix\symbol{217}}
- \expandafter\def\csname simpleicon@leicaicon\endcsname {\simpleiconsmapsix\symbol{218}}
- \expandafter\def\csname simpleicon@lemmyicon\endcsname {\simpleiconsmapsix\symbol{219}}
- \expandafter\def\csname simpleicon@lenovoicon\endcsname {\simpleiconsmapsix\symbol{220}}
- \expandafter\def\csname simpleicon@lensicon\endcsname {\simpleiconsmapsix\symbol{221}}
- \expandafter\def\csname simpleicon@leptosicon\endcsname {\simpleiconsmapsix\symbol{222}}
- \expandafter\def\csname simpleicon@lequipeicon\endcsname {\simpleiconsmapsix\symbol{223}}
- \expandafter\def\csname simpleicon@lernaicon\endcsname {\simpleiconsmapsix\symbol{224}}
- \expandafter\def\csname simpleicon@leroymerlinicon\endcsname {\simpleiconsmapsix\symbol{225}}
- \expandafter\def\csname simpleicon@leslibrairesicon\endcsname {\simpleiconsmapsix\symbol{226}}
- \expandafter\def\csname simpleicon@lessicon\endcsname {\simpleiconsmapsix\symbol{227}}
- \expandafter\def\csname simpleicon@letsencrypticon\endcsname {\simpleiconsmapsix\symbol{228}}
- \expandafter\def\csname simpleicon@letterboxdicon\endcsname {\simpleiconsmapsix\symbol{229}}
- \expandafter\def\csname simpleicon@levelsdotfyiicon\endcsname {\simpleiconsmapsix\symbol{230}}
- \expandafter\def\csname simpleicon@lgicon\endcsname {\simpleiconsmapsix\symbol{231}}
- \expandafter\def\csname simpleicon@liberadotchaticon\endcsname {\simpleiconsmapsix\symbol{232}}
- \expandafter\def\csname simpleicon@liberapayicon\endcsname {\simpleiconsmapsix\symbol{233}}
- \expandafter\def\csname simpleicon@librariesdotioicon\endcsname {\simpleiconsmapsix\symbol{234}}
- \expandafter\def\csname simpleicon@librarythingicon\endcsname {\simpleiconsmapsix\symbol{235}}
- \expandafter\def\csname simpleicon@libreofficeicon\endcsname {\simpleiconsmapsix\symbol{236}}
- \expandafter\def\csname simpleicon@libreofficebaseicon\endcsname {\simpleiconsmapsix\symbol{237}}
- \expandafter\def\csname simpleicon@libreofficecalcicon\endcsname {\simpleiconsmapsix\symbol{238}}
- \expandafter\def\csname simpleicon@libreofficedrawicon\endcsname {\simpleiconsmapsix\symbol{239}}
- \expandafter\def\csname simpleicon@libreofficeimpressicon\endcsname {\simpleiconsmapsix\symbol{240}}
- \expandafter\def\csname simpleicon@libreofficemathicon\endcsname {\simpleiconsmapsix\symbol{241}}
- \expandafter\def\csname simpleicon@libreofficewritericon\endcsname {\simpleiconsmapsix\symbol{242}}
- \expandafter\def\csname simpleicon@libuvicon\endcsname {\simpleiconsmapsix\symbol{243}}
- \expandafter\def\csname simpleicon@lichessicon\endcsname {\simpleiconsmapsix\symbol{244}}
- \expandafter\def\csname simpleicon@lidlicon\endcsname {\simpleiconsmapsix\symbol{245}}
- \expandafter\def\csname simpleicon@lifxicon\endcsname {\simpleiconsmapsix\symbol{246}}
- \expandafter\def\csname simpleicon@lightburnicon\endcsname {\simpleiconsmapsix\symbol{247}}
- \expandafter\def\csname simpleicon@lighthouseicon\endcsname {\simpleiconsmapsix\symbol{248}}
- \expandafter\def\csname simpleicon@lightningicon\endcsname {\simpleiconsmapsix\symbol{249}}
- \expandafter\def\csname simpleicon@lineicon\endcsname {\simpleiconsmapsix\symbol{250}}
- \expandafter\def\csname simpleicon@lineageosicon\endcsname {\simpleiconsmapsix\symbol{251}}
- \expandafter\def\csname simpleicon@linearicon\endcsname {\simpleiconsmapsix\symbol{252}}
- \expandafter\def\csname simpleicon@liningicon\endcsname {\simpleiconsmapsix\symbol{253}}
- \expandafter\def\csname simpleicon@linkedinicon\endcsname {\simpleiconsmapsix\symbol{254}}
- \expandafter\def\csname simpleicon@linkerdicon\endcsname {\simpleiconsmapsix\symbol{255}}
- \expandafter\def\csname simpleicon@linkfireicon\endcsname {\simpleiconsmapseven\symbol{0}}
- \expandafter\def\csname simpleicon@linksysicon\endcsname {\simpleiconsmapseven\symbol{1}}
- \expandafter\def\csname simpleicon@linktreeicon\endcsname {\simpleiconsmapseven\symbol{2}}
- \expandafter\def\csname simpleicon@lintcodeicon\endcsname {\simpleiconsmapseven\symbol{3}}
- \expandafter\def\csname simpleicon@linuxicon\endcsname {\simpleiconsmapseven\symbol{4}}
- \expandafter\def\csname simpleicon@linuxcontainersicon\endcsname {\simpleiconsmapseven\symbol{5}}
- \expandafter\def\csname simpleicon@linuxfoundationicon\endcsname {\simpleiconsmapseven\symbol{6}}
- \expandafter\def\csname simpleicon@linuxminticon\endcsname {\simpleiconsmapseven\symbol{7}}
- \expandafter\def\csname simpleicon@linuxprofessionalinstituteicon\endcsname {\simpleiconsmapseven\symbol{8}}
- \expandafter\def\csname simpleicon@linuxservericon\endcsname {\simpleiconsmapseven\symbol{9}}
- \expandafter\def\csname simpleicon@lionairicon\endcsname {\simpleiconsmapseven\symbol{10}}
- \expandafter\def\csname simpleicon@liquibaseicon\endcsname {\simpleiconsmapseven\symbol{11}}
- \expandafter\def\csname simpleicon@liticon\endcsname {\simpleiconsmapseven\symbol{12}}
- \expandafter\def\csname simpleicon@litecoinicon\endcsname {\simpleiconsmapseven\symbol{13}}
- \expandafter\def\csname simpleicon@litiengineicon\endcsname {\simpleiconsmapseven\symbol{14}}
- \expandafter\def\csname simpleicon@livechaticon\endcsname {\simpleiconsmapseven\symbol{15}}
- \expandafter\def\csname simpleicon@livejournalicon\endcsname {\simpleiconsmapseven\symbol{16}}
- \expandafter\def\csname simpleicon@livewireicon\endcsname {\simpleiconsmapseven\symbol{17}}
- \expandafter\def\csname simpleicon@llvmicon\endcsname {\simpleiconsmapseven\symbol{18}}
- \expandafter\def\csname simpleicon@lmmsicon\endcsname {\simpleiconsmapseven\symbol{19}}
- \expandafter\def\csname simpleicon@localicon\endcsname {\simpleiconsmapseven\symbol{20}}
- \expandafter\def\csname simpleicon@lodashicon\endcsname {\simpleiconsmapseven\symbol{21}}
- \expandafter\def\csname simpleicon@logitechicon\endcsname {\simpleiconsmapseven\symbol{22}}
- \expandafter\def\csname simpleicon@logitechgicon\endcsname {\simpleiconsmapseven\symbol{23}}
- \expandafter\def\csname simpleicon@logmeinicon\endcsname {\simpleiconsmapseven\symbol{24}}
- \expandafter\def\csname simpleicon@logseqicon\endcsname {\simpleiconsmapseven\symbol{25}}
- \expandafter\def\csname simpleicon@logstashicon\endcsname {\simpleiconsmapseven\symbol{26}}
- \expandafter\def\csname simpleicon@lookericon\endcsname {\simpleiconsmapseven\symbol{27}}
- \expandafter\def\csname simpleicon@loomicon\endcsname {\simpleiconsmapseven\symbol{28}}
- \expandafter\def\csname simpleicon@loopicon\endcsname {\simpleiconsmapseven\symbol{29}}
- \expandafter\def\csname simpleicon@loopbackicon\endcsname {\simpleiconsmapseven\symbol{30}}
- \expandafter\def\csname simpleicon@lootcrateicon\endcsname {\simpleiconsmapseven\symbol{31}}
- \expandafter\def\csname simpleicon@lospecicon\endcsname {\simpleiconsmapseven\symbol{32}}
- \expandafter\def\csname simpleicon@lotpolishairlinesicon\endcsname {\simpleiconsmapseven\symbol{33}}
- \expandafter\def\csname simpleicon@ltspiceicon\endcsname {\simpleiconsmapseven\symbol{34}}
- \expandafter\def\csname simpleicon@luaicon\endcsname {\simpleiconsmapseven\symbol{35}}
- \expandafter\def\csname simpleicon@lubuntuicon\endcsname {\simpleiconsmapseven\symbol{36}}
- \expandafter\def\csname simpleicon@luciaicon\endcsname {\simpleiconsmapseven\symbol{37}}
- \expandafter\def\csname simpleicon@lucidicon\endcsname {\simpleiconsmapseven\symbol{38}}
- \expandafter\def\csname simpleicon@ludwigicon\endcsname {\simpleiconsmapseven\symbol{39}}
- \expandafter\def\csname simpleicon@lufthansaicon\endcsname {\simpleiconsmapseven\symbol{40}}
- \expandafter\def\csname simpleicon@lumenicon\endcsname {\simpleiconsmapseven\symbol{41}}
- \expandafter\def\csname simpleicon@lunacyicon\endcsname {\simpleiconsmapseven\symbol{42}}
- \expandafter\def\csname simpleicon@lutrisicon\endcsname {\simpleiconsmapseven\symbol{43}}
- \expandafter\def\csname simpleicon@lydiaicon\endcsname {\simpleiconsmapseven\symbol{44}}
- \expandafter\def\csname simpleicon@lyfticon\endcsname {\simpleiconsmapseven\symbol{45}}
- \expandafter\def\csname simpleicon@maasicon\endcsname {\simpleiconsmapseven\symbol{46}}
- \expandafter\def\csname simpleicon@macosicon\endcsname {\simpleiconsmapseven\symbol{47}}
- \expandafter\def\csname simpleicon@macpawicon\endcsname {\simpleiconsmapseven\symbol{48}}
- \expandafter\def\csname simpleicon@macysicon\endcsname {\simpleiconsmapseven\symbol{49}}
- \expandafter\def\csname simpleicon@magasinsuicon\endcsname {\simpleiconsmapseven\symbol{50}}
- \expandafter\def\csname simpleicon@magentoicon\endcsname {\simpleiconsmapseven\symbol{51}}
- \expandafter\def\csname simpleicon@magicicon\endcsname {\simpleiconsmapseven\symbol{52}}
- \expandafter\def\csname simpleicon@magiskicon\endcsname {\simpleiconsmapseven\symbol{53}}
- \expandafter\def\csname simpleicon@mahindraicon\endcsname {\simpleiconsmapseven\symbol{54}}
- \expandafter\def\csname simpleicon@mailchimpicon\endcsname {\simpleiconsmapseven\symbol{55}}
- \expandafter\def\csname simpleicon@maildotcomicon\endcsname {\simpleiconsmapseven\symbol{56}}
- \expandafter\def\csname simpleicon@maildotruicon\endcsname {\simpleiconsmapseven\symbol{57}}
- \expandafter\def\csname simpleicon@mailgunicon\endcsname {\simpleiconsmapseven\symbol{58}}
- \expandafter\def\csname simpleicon@mailtrapicon\endcsname {\simpleiconsmapseven\symbol{59}}
- \expandafter\def\csname simpleicon@majorleaguehackingicon\endcsname {\simpleiconsmapseven\symbol{60}}
- \expandafter\def\csname simpleicon@makeicon\endcsname {\simpleiconsmapseven\symbol{61}}
- \expandafter\def\csname simpleicon@makerboticon\endcsname {\simpleiconsmapseven\symbol{62}}
- \expandafter\def\csname simpleicon@malticon\endcsname {\simpleiconsmapseven\symbol{63}}
- \expandafter\def\csname simpleicon@malwarebytesicon\endcsname {\simpleiconsmapseven\symbol{64}}
- \expandafter\def\csname simpleicon@mambauiicon\endcsname {\simpleiconsmapseven\symbol{65}}
- \expandafter\def\csname simpleicon@mampicon\endcsname {\simpleiconsmapseven\symbol{66}}
- \expandafter\def\csname simpleicon@manicon\endcsname {\simpleiconsmapseven\symbol{67}}
- \expandafter\def\csname simpleicon@manageiqicon\endcsname {\simpleiconsmapseven\symbol{68}}
- \expandafter\def\csname simpleicon@manjaroicon\endcsname {\simpleiconsmapseven\symbol{69}}
- \expandafter\def\csname simpleicon@mantineicon\endcsname {\simpleiconsmapseven\symbol{70}}
- \expandafter\def\csname simpleicon@mapboxicon\endcsname {\simpleiconsmapseven\symbol{71}}
- \expandafter\def\csname simpleicon@maplibreicon\endcsname {\simpleiconsmapseven\symbol{72}}
- \expandafter\def\csname simpleicon@mariadbicon\endcsname {\simpleiconsmapseven\symbol{73}}
- \expandafter\def\csname simpleicon@mariadbfoundationicon\endcsname {\simpleiconsmapseven\symbol{74}}
- \expandafter\def\csname simpleicon@markdownicon\endcsname {\simpleiconsmapseven\symbol{75}}
- \expandafter\def\csname simpleicon@marketoicon\endcsname {\simpleiconsmapseven\symbol{76}}
- \expandafter\def\csname simpleicon@markoicon\endcsname {\simpleiconsmapseven\symbol{77}}
- \expandafter\def\csname simpleicon@marriotticon\endcsname {\simpleiconsmapseven\symbol{78}}
- \expandafter\def\csname simpleicon@marvelappicon\endcsname {\simpleiconsmapseven\symbol{79}}
- \expandafter\def\csname simpleicon@maseratiicon\endcsname {\simpleiconsmapseven\symbol{80}}
- \expandafter\def\csname simpleicon@mastercardicon\endcsname {\simpleiconsmapseven\symbol{81}}
- \expandafter\def\csname simpleicon@mastercomfigicon\endcsname {\simpleiconsmapseven\symbol{82}}
- \expandafter\def\csname simpleicon@mastodonicon\endcsname {\simpleiconsmapseven\symbol{83}}
- \expandafter\def\csname simpleicon@materialdesignicon\endcsname {\simpleiconsmapseven\symbol{84}}
- \expandafter\def\csname simpleicon@materialdesigniconsicon\endcsname {\simpleiconsmapseven\symbol{85}}
- \expandafter\def\csname simpleicon@materialformkdocsicon\endcsname {\simpleiconsmapseven\symbol{86}}
- \expandafter\def\csname simpleicon@matillionicon\endcsname {\simpleiconsmapseven\symbol{87}}
- \expandafter\def\csname simpleicon@matomoicon\endcsname {\simpleiconsmapseven\symbol{88}}
- \expandafter\def\csname simpleicon@matrixicon\endcsname {\simpleiconsmapseven\symbol{89}}
- \expandafter\def\csname simpleicon@matterdotjsicon\endcsname {\simpleiconsmapseven\symbol{90}}
- \expandafter\def\csname simpleicon@mattermosticon\endcsname {\simpleiconsmapseven\symbol{91}}
- \expandafter\def\csname simpleicon@matterneticon\endcsname {\simpleiconsmapseven\symbol{92}}
- \expandafter\def\csname simpleicon@mauticicon\endcsname {\simpleiconsmapseven\symbol{93}}
- \expandafter\def\csname simpleicon@maxicon\endcsname {\simpleiconsmapseven\symbol{94}}
- \expandafter\def\csname simpleicon@maxplanckgesellschafticon\endcsname {\simpleiconsmapseven\symbol{95}}
- \expandafter\def\csname simpleicon@maytagicon\endcsname {\simpleiconsmapseven\symbol{96}}
- \expandafter\def\csname simpleicon@mazdaicon\endcsname {\simpleiconsmapseven\symbol{97}}
- \expandafter\def\csname simpleicon@mcafeeicon\endcsname {\simpleiconsmapseven\symbol{98}}
- \expandafter\def\csname simpleicon@mcdonaldsicon\endcsname {\simpleiconsmapseven\symbol{99}}
- \expandafter\def\csname simpleicon@mclarenicon\endcsname {\simpleiconsmapseven\symbol{100}}
- \expandafter\def\csname simpleicon@mdbookicon\endcsname {\simpleiconsmapseven\symbol{101}}
- \expandafter\def\csname simpleicon@mdnwebdocsicon\endcsname {\simpleiconsmapseven\symbol{102}}
- \expandafter\def\csname simpleicon@mdxicon\endcsname {\simpleiconsmapseven\symbol{103}}
- \expandafter\def\csname simpleicon@mediafireicon\endcsname {\simpleiconsmapseven\symbol{104}}
- \expandafter\def\csname simpleicon@mediamarkticon\endcsname {\simpleiconsmapseven\symbol{105}}
- \expandafter\def\csname simpleicon@mediatekicon\endcsname {\simpleiconsmapseven\symbol{106}}
- \expandafter\def\csname simpleicon@medibangpainticon\endcsname {\simpleiconsmapseven\symbol{107}}
- \expandafter\def\csname simpleicon@mediumicon\endcsname {\simpleiconsmapseven\symbol{108}}
- \expandafter\def\csname simpleicon@medusaicon\endcsname {\simpleiconsmapseven\symbol{109}}
- \expandafter\def\csname simpleicon@meetupicon\endcsname {\simpleiconsmapseven\symbol{110}}
- \expandafter\def\csname simpleicon@megaicon\endcsname {\simpleiconsmapseven\symbol{111}}
- \expandafter\def\csname simpleicon@meilisearchicon\endcsname {\simpleiconsmapseven\symbol{112}}
- \expandafter\def\csname simpleicon@meituanicon\endcsname {\simpleiconsmapseven\symbol{113}}
- \expandafter\def\csname simpleicon@meizuicon\endcsname {\simpleiconsmapseven\symbol{114}}
- \expandafter\def\csname simpleicon@mendeleyicon\endcsname {\simpleiconsmapseven\symbol{115}}
- \expandafter\def\csname simpleicon@mentorcruiseicon\endcsname {\simpleiconsmapseven\symbol{116}}
- \expandafter\def\csname simpleicon@mercadopagoicon\endcsname {\simpleiconsmapseven\symbol{117}}
- \expandafter\def\csname simpleicon@mercedesicon\endcsname {\simpleiconsmapseven\symbol{118}}
- \expandafter\def\csname simpleicon@merckicon\endcsname {\simpleiconsmapseven\symbol{119}}
- \expandafter\def\csname simpleicon@mercurialicon\endcsname {\simpleiconsmapseven\symbol{120}}
- \expandafter\def\csname simpleicon@mermaidicon\endcsname {\simpleiconsmapseven\symbol{121}}
- \expandafter\def\csname simpleicon@messengericon\endcsname {\simpleiconsmapseven\symbol{122}}
- \expandafter\def\csname simpleicon@metaicon\endcsname {\simpleiconsmapseven\symbol{123}}
- \expandafter\def\csname simpleicon@metabaseicon\endcsname {\simpleiconsmapseven\symbol{124}}
- \expandafter\def\csname simpleicon@metacriticicon\endcsname {\simpleiconsmapseven\symbol{125}}
- \expandafter\def\csname simpleicon@metafiltericon\endcsname {\simpleiconsmapseven\symbol{126}}
- \expandafter\def\csname simpleicon@metasploiticon\endcsname {\simpleiconsmapseven\symbol{127}}
- \expandafter\def\csname simpleicon@meteoricon\endcsname {\simpleiconsmapseven\symbol{128}}
- \expandafter\def\csname simpleicon@metroicon\endcsname {\simpleiconsmapseven\symbol{129}}
- \expandafter\def\csname simpleicon@metrodelaciudaddemexicoicon\endcsname {\simpleiconsmapseven\symbol{130}}
- \expandafter\def\csname simpleicon@metrodemadridicon\endcsname {\simpleiconsmapseven\symbol{131}}
- \expandafter\def\csname simpleicon@metrodeparisicon\endcsname {\simpleiconsmapseven\symbol{132}}
- \expandafter\def\csname simpleicon@meweicon\endcsname {\simpleiconsmapseven\symbol{133}}
- \expandafter\def\csname simpleicon@mgicon\endcsname {\simpleiconsmapseven\symbol{134}}
- \expandafter\def\csname simpleicon@microbiticon\endcsname {\simpleiconsmapseven\symbol{135}}
- \expandafter\def\csname simpleicon@microdotblogicon\endcsname {\simpleiconsmapseven\symbol{136}}
- \expandafter\def\csname simpleicon@microeditoricon\endcsname {\simpleiconsmapseven\symbol{137}}
- \expandafter\def\csname simpleicon@microgeneticsicon\endcsname {\simpleiconsmapseven\symbol{138}}
- \expandafter\def\csname simpleicon@micropythonicon\endcsname {\simpleiconsmapseven\symbol{139}}
- \expandafter\def\csname simpleicon@microsofticon\endcsname {\simpleiconsmapseven\symbol{140}}
- \expandafter\def\csname simpleicon@microsoftacademicicon\endcsname {\simpleiconsmapseven\symbol{141}}
- \expandafter\def\csname simpleicon@microsoftaccessicon\endcsname {\simpleiconsmapseven\symbol{142}}
- \expandafter\def\csname simpleicon@microsoftazureicon\endcsname {\simpleiconsmapseven\symbol{143}}
- \expandafter\def\csname simpleicon@microsoftbingicon\endcsname {\simpleiconsmapseven\symbol{144}}
- \expandafter\def\csname simpleicon@microsoftedgeicon\endcsname {\simpleiconsmapseven\symbol{145}}
- \expandafter\def\csname simpleicon@microsoftexcelicon\endcsname {\simpleiconsmapseven\symbol{146}}
- \expandafter\def\csname simpleicon@microsoftexchangeicon\endcsname {\simpleiconsmapseven\symbol{147}}
- \expandafter\def\csname simpleicon@microsoftonedriveicon\endcsname {\simpleiconsmapseven\symbol{148}}
- \expandafter\def\csname simpleicon@microsoftonenoteicon\endcsname {\simpleiconsmapseven\symbol{149}}
- \expandafter\def\csname simpleicon@microsoftoutlookicon\endcsname {\simpleiconsmapseven\symbol{150}}
- \expandafter\def\csname simpleicon@microsoftpowerpointicon\endcsname {\simpleiconsmapseven\symbol{151}}
- \expandafter\def\csname simpleicon@microsoftsharepointicon\endcsname {\simpleiconsmapseven\symbol{152}}
- \expandafter\def\csname simpleicon@microsoftsqlservericon\endcsname {\simpleiconsmapseven\symbol{153}}
- \expandafter\def\csname simpleicon@microsoftstoreicon\endcsname {\simpleiconsmapseven\symbol{154}}
- \expandafter\def\csname simpleicon@microsoftteamsicon\endcsname {\simpleiconsmapseven\symbol{155}}
- \expandafter\def\csname simpleicon@microsofttranslatoricon\endcsname {\simpleiconsmapseven\symbol{156}}
- \expandafter\def\csname simpleicon@microsoftvisioicon\endcsname {\simpleiconsmapseven\symbol{157}}
- \expandafter\def\csname simpleicon@microsoftwordicon\endcsname {\simpleiconsmapseven\symbol{158}}
- \expandafter\def\csname simpleicon@microstationicon\endcsname {\simpleiconsmapseven\symbol{159}}
- \expandafter\def\csname simpleicon@microstrategyicon\endcsname {\simpleiconsmapseven\symbol{160}}
- \expandafter\def\csname simpleicon@midiicon\endcsname {\simpleiconsmapseven\symbol{161}}
- \expandafter\def\csname simpleicon@migaduicon\endcsname {\simpleiconsmapseven\symbol{162}}
- \expandafter\def\csname simpleicon@mikrotikicon\endcsname {\simpleiconsmapseven\symbol{163}}
- \expandafter\def\csname simpleicon@milanoteicon\endcsname {\simpleiconsmapseven\symbol{164}}
- \expandafter\def\csname simpleicon@milvusicon\endcsname {\simpleiconsmapseven\symbol{165}}
- \expandafter\def\csname simpleicon@mindsicon\endcsname {\simpleiconsmapseven\symbol{166}}
- \expandafter\def\csname simpleicon@minecrafticon\endcsname {\simpleiconsmapseven\symbol{167}}
- \expandafter\def\csname simpleicon@minetesticon\endcsname {\simpleiconsmapseven\symbol{168}}
- \expandafter\def\csname simpleicon@miniicon\endcsname {\simpleiconsmapseven\symbol{169}}
- \expandafter\def\csname simpleicon@minioicon\endcsname {\simpleiconsmapseven\symbol{170}}
- \expandafter\def\csname simpleicon@minutemailericon\endcsname {\simpleiconsmapseven\symbol{171}}
- \expandafter\def\csname simpleicon@mirahezeicon\endcsname {\simpleiconsmapseven\symbol{172}}
- \expandafter\def\csname simpleicon@miroicon\endcsname {\simpleiconsmapseven\symbol{173}}
- \expandafter\def\csname simpleicon@misskeyicon\endcsname {\simpleiconsmapseven\symbol{174}}
- \expandafter\def\csname simpleicon@mitsubishiicon\endcsname {\simpleiconsmapseven\symbol{175}}
- \expandafter\def\csname simpleicon@mixicon\endcsname {\simpleiconsmapseven\symbol{176}}
- \expandafter\def\csname simpleicon@mixcloudicon\endcsname {\simpleiconsmapseven\symbol{177}}
- \expandafter\def\csname simpleicon@mixpanelicon\endcsname {\simpleiconsmapseven\symbol{178}}
- \expandafter\def\csname simpleicon@mlbicon\endcsname {\simpleiconsmapseven\symbol{179}}
- \expandafter\def\csname simpleicon@mlflowicon\endcsname {\simpleiconsmapseven\symbol{180}}
- \expandafter\def\csname simpleicon@mobxicon\endcsname {\simpleiconsmapseven\symbol{181}}
- \expandafter\def\csname simpleicon@mobxstatetreeicon\endcsname {\simpleiconsmapseven\symbol{182}}
- \expandafter\def\csname simpleicon@mochaicon\endcsname {\simpleiconsmapseven\symbol{183}}
- \expandafter\def\csname simpleicon@mockserviceworkericon\endcsname {\simpleiconsmapseven\symbol{184}}
- \expandafter\def\csname simpleicon@modinicon\endcsname {\simpleiconsmapseven\symbol{185}}
- \expandafter\def\csname simpleicon@modrinthicon\endcsname {\simpleiconsmapseven\symbol{186}}
- \expandafter\def\csname simpleicon@modxicon\endcsname {\simpleiconsmapseven\symbol{187}}
- \expandafter\def\csname simpleicon@mojangstudiosicon\endcsname {\simpleiconsmapseven\symbol{188}}
- \expandafter\def\csname simpleicon@moleculericon\endcsname {\simpleiconsmapseven\symbol{189}}
- \expandafter\def\csname simpleicon@momenteoicon\endcsname {\simpleiconsmapseven\symbol{190}}
- \expandafter\def\csname simpleicon@moneroicon\endcsname {\simpleiconsmapseven\symbol{191}}
- \expandafter\def\csname simpleicon@moneygramicon\endcsname {\simpleiconsmapseven\symbol{192}}
- \expandafter\def\csname simpleicon@mongodbicon\endcsname {\simpleiconsmapseven\symbol{193}}
- \expandafter\def\csname simpleicon@mongooseicon\endcsname {\simpleiconsmapseven\symbol{194}}
- \expandafter\def\csname simpleicon@mongoosedotwsicon\endcsname {\simpleiconsmapseven\symbol{195}}
- \expandafter\def\csname simpleicon@monicaicon\endcsname {\simpleiconsmapseven\symbol{196}}
- \expandafter\def\csname simpleicon@monkeytieicon\endcsname {\simpleiconsmapseven\symbol{197}}
- \expandafter\def\csname simpleicon@monkeytypeicon\endcsname {\simpleiconsmapseven\symbol{198}}
- \expandafter\def\csname simpleicon@monogameicon\endcsname {\simpleiconsmapseven\symbol{199}}
- \expandafter\def\csname simpleicon@monoprixicon\endcsname {\simpleiconsmapseven\symbol{200}}
- \expandafter\def\csname simpleicon@monstericon\endcsname {\simpleiconsmapseven\symbol{201}}
- \expandafter\def\csname simpleicon@monzoicon\endcsname {\simpleiconsmapseven\symbol{202}}
- \expandafter\def\csname simpleicon@mooicon\endcsname {\simpleiconsmapseven\symbol{203}}
- \expandafter\def\csname simpleicon@moodleicon\endcsname {\simpleiconsmapseven\symbol{204}}
- \expandafter\def\csname simpleicon@moonrepoicon\endcsname {\simpleiconsmapseven\symbol{205}}
- \expandafter\def\csname simpleicon@moqupsicon\endcsname {\simpleiconsmapseven\symbol{206}}
- \expandafter\def\csname simpleicon@morrisonsicon\endcsname {\simpleiconsmapseven\symbol{207}}
- \expandafter\def\csname simpleicon@moscowmetroicon\endcsname {\simpleiconsmapseven\symbol{208}}
- \expandafter\def\csname simpleicon@motorolaicon\endcsname {\simpleiconsmapseven\symbol{209}}
- \expandafter\def\csname simpleicon@mozillaicon\endcsname {\simpleiconsmapseven\symbol{210}}
- \expandafter\def\csname simpleicon@mpvicon\endcsname {\simpleiconsmapseven\symbol{211}}
- \expandafter\def\csname simpleicon@mqtticon\endcsname {\simpleiconsmapseven\symbol{212}}
- \expandafter\def\csname simpleicon@msiicon\endcsname {\simpleiconsmapseven\symbol{213}}
- \expandafter\def\csname simpleicon@msibusinessicon\endcsname {\simpleiconsmapseven\symbol{214}}
- \expandafter\def\csname simpleicon@mtaicon\endcsname {\simpleiconsmapseven\symbol{215}}
- \expandafter\def\csname simpleicon@mtricon\endcsname {\simpleiconsmapseven\symbol{216}}
- \expandafter\def\csname simpleicon@mubiicon\endcsname {\simpleiconsmapseven\symbol{217}}
- \expandafter\def\csname simpleicon@muiicon\endcsname {\simpleiconsmapseven\symbol{218}}
- \expandafter\def\csname simpleicon@mulesofticon\endcsname {\simpleiconsmapseven\symbol{219}}
- \expandafter\def\csname simpleicon@mullericon\endcsname {\simpleiconsmapseven\symbol{220}}
- \expandafter\def\csname simpleicon@multisimicon\endcsname {\simpleiconsmapseven\symbol{221}}
- \expandafter\def\csname simpleicon@mumbleicon\endcsname {\simpleiconsmapseven\symbol{222}}
- \expandafter\def\csname simpleicon@muoicon\endcsname {\simpleiconsmapseven\symbol{223}}
- \expandafter\def\csname simpleicon@muralicon\endcsname {\simpleiconsmapseven\symbol{224}}
- \expandafter\def\csname simpleicon@musescoreicon\endcsname {\simpleiconsmapseven\symbol{225}}
- \expandafter\def\csname simpleicon@musicbrainzicon\endcsname {\simpleiconsmapseven\symbol{226}}
- \expandafter\def\csname simpleicon@mxlinuxicon\endcsname {\simpleiconsmapseven\symbol{227}}
- \expandafter\def\csname simpleicon@myanimelisticon\endcsname {\simpleiconsmapseven\symbol{228}}
- \expandafter\def\csname simpleicon@mygeticon\endcsname {\simpleiconsmapseven\symbol{229}}
- \expandafter\def\csname simpleicon@myobicon\endcsname {\simpleiconsmapseven\symbol{230}}
- \expandafter\def\csname simpleicon@myspaceicon\endcsname {\simpleiconsmapseven\symbol{231}}
- \expandafter\def\csname simpleicon@mysqlicon\endcsname {\simpleiconsmapseven\symbol{232}}
- \expandafter\def\csname simpleicon@n26icon\endcsname {\simpleiconsmapseven\symbol{233}}
- \expandafter\def\csname simpleicon@namebaseicon\endcsname {\simpleiconsmapseven\symbol{234}}
- \expandafter\def\csname simpleicon@namecheapicon\endcsname {\simpleiconsmapseven\symbol{235}}
- \expandafter\def\csname simpleicon@namemcicon\endcsname {\simpleiconsmapseven\symbol{236}}
- \expandafter\def\csname simpleicon@namesiloicon\endcsname {\simpleiconsmapseven\symbol{237}}
- \expandafter\def\csname simpleicon@namuwikiicon\endcsname {\simpleiconsmapseven\symbol{238}}
- \expandafter\def\csname simpleicon@nanoicon\endcsname {\simpleiconsmapseven\symbol{239}}
- \expandafter\def\csname simpleicon@nasaicon\endcsname {\simpleiconsmapseven\symbol{240}}
- \expandafter\def\csname simpleicon@nationalgridicon\endcsname {\simpleiconsmapseven\symbol{241}}
- \expandafter\def\csname simpleicon@nationalrailicon\endcsname {\simpleiconsmapseven\symbol{242}}
- \expandafter\def\csname simpleicon@nativescripticon\endcsname {\simpleiconsmapseven\symbol{243}}
- \expandafter\def\csname simpleicon@natsdotioicon\endcsname {\simpleiconsmapseven\symbol{244}}
- \expandafter\def\csname simpleicon@navericon\endcsname {\simpleiconsmapseven\symbol{245}}
- \expandafter\def\csname simpleicon@nbaicon\endcsname {\simpleiconsmapseven\symbol{246}}
- \expandafter\def\csname simpleicon@nbbicon\endcsname {\simpleiconsmapseven\symbol{247}}
- \expandafter\def\csname simpleicon@nbcicon\endcsname {\simpleiconsmapseven\symbol{248}}
- \expandafter\def\csname simpleicon@ndricon\endcsname {\simpleiconsmapseven\symbol{249}}
- \expandafter\def\csname simpleicon@nearicon\endcsname {\simpleiconsmapseven\symbol{250}}
- \expandafter\def\csname simpleicon@necicon\endcsname {\simpleiconsmapseven\symbol{251}}
- \expandafter\def\csname simpleicon@neo4jicon\endcsname {\simpleiconsmapseven\symbol{252}}
- \expandafter\def\csname simpleicon@neovimicon\endcsname {\simpleiconsmapseven\symbol{253}}
- \expandafter\def\csname simpleicon@neptuneicon\endcsname {\simpleiconsmapseven\symbol{254}}
- \expandafter\def\csname simpleicon@nestjsicon\endcsname {\simpleiconsmapseven\symbol{255}}
- \expandafter\def\csname simpleicon@netappicon\endcsname {\simpleiconsmapeight\symbol{0}}
- \expandafter\def\csname simpleicon@netbsdicon\endcsname {\simpleiconsmapeight\symbol{1}}
- \expandafter\def\csname simpleicon@netcupicon\endcsname {\simpleiconsmapeight\symbol{2}}
- \expandafter\def\csname simpleicon@netdataicon\endcsname {\simpleiconsmapeight\symbol{3}}
- \expandafter\def\csname simpleicon@neteasecloudmusicicon\endcsname {\simpleiconsmapeight\symbol{4}}
- \expandafter\def\csname simpleicon@netflixicon\endcsname {\simpleiconsmapeight\symbol{5}}
- \expandafter\def\csname simpleicon@netgearicon\endcsname {\simpleiconsmapeight\symbol{6}}
- \expandafter\def\csname simpleicon@netlifyicon\endcsname {\simpleiconsmapeight\symbol{7}}
- \expandafter\def\csname simpleicon@netteicon\endcsname {\simpleiconsmapeight\symbol{8}}
- \expandafter\def\csname simpleicon@nettoicon\endcsname {\simpleiconsmapeight\symbol{9}}
- \expandafter\def\csname simpleicon@neutralinojsicon\endcsname {\simpleiconsmapeight\symbol{10}}
- \expandafter\def\csname simpleicon@newbalanceicon\endcsname {\simpleiconsmapeight\symbol{11}}
- \expandafter\def\csname simpleicon@neweggicon\endcsname {\simpleiconsmapeight\symbol{12}}
- \expandafter\def\csname simpleicon@newjapanprowrestlingicon\endcsname {\simpleiconsmapeight\symbol{13}}
- \expandafter\def\csname simpleicon@newrelicicon\endcsname {\simpleiconsmapeight\symbol{14}}
- \expandafter\def\csname simpleicon@newyorktimesicon\endcsname {\simpleiconsmapeight\symbol{15}}
- \expandafter\def\csname simpleicon@nextbilliondotaiicon\endcsname {\simpleiconsmapeight\symbol{16}}
- \expandafter\def\csname simpleicon@nextcloudicon\endcsname {\simpleiconsmapeight\symbol{17}}
- \expandafter\def\csname simpleicon@nextdnsicon\endcsname {\simpleiconsmapeight\symbol{18}}
- \expandafter\def\csname simpleicon@nextdooricon\endcsname {\simpleiconsmapeight\symbol{19}}
- \expandafter\def\csname simpleicon@nextdotjsicon\endcsname {\simpleiconsmapeight\symbol{20}}
- \expandafter\def\csname simpleicon@nextraicon\endcsname {\simpleiconsmapeight\symbol{21}}
- \expandafter\def\csname simpleicon@nextuiicon\endcsname {\simpleiconsmapeight\symbol{22}}
- \expandafter\def\csname simpleicon@nexusmodsicon\endcsname {\simpleiconsmapeight\symbol{23}}
- \expandafter\def\csname simpleicon@nfcicon\endcsname {\simpleiconsmapeight\symbol{24}}
- \expandafter\def\csname simpleicon@nginxicon\endcsname {\simpleiconsmapeight\symbol{25}}
- \expandafter\def\csname simpleicon@nginxproxymanagericon\endcsname {\simpleiconsmapeight\symbol{26}}
- \expandafter\def\csname simpleicon@ngrokicon\endcsname {\simpleiconsmapeight\symbol{27}}
- \expandafter\def\csname simpleicon@ngrxicon\endcsname {\simpleiconsmapeight\symbol{28}}
- \expandafter\def\csname simpleicon@nhlicon\endcsname {\simpleiconsmapeight\symbol{29}}
- \expandafter\def\csname simpleicon@nianticicon\endcsname {\simpleiconsmapeight\symbol{30}}
- \expandafter\def\csname simpleicon@niconicoicon\endcsname {\simpleiconsmapeight\symbol{31}}
- \expandafter\def\csname simpleicon@nikeicon\endcsname {\simpleiconsmapeight\symbol{32}}
- \expandafter\def\csname simpleicon@nikonicon\endcsname {\simpleiconsmapeight\symbol{33}}
- \expandafter\def\csname simpleicon@nimicon\endcsname {\simpleiconsmapeight\symbol{34}}
- \expandafter\def\csname simpleicon@nintendoicon\endcsname {\simpleiconsmapeight\symbol{35}}
- \expandafter\def\csname simpleicon@nintendo3dsicon\endcsname {\simpleiconsmapeight\symbol{36}}
- \expandafter\def\csname simpleicon@nintendogamecubeicon\endcsname {\simpleiconsmapeight\symbol{37}}
- \expandafter\def\csname simpleicon@nintendonetworkicon\endcsname {\simpleiconsmapeight\symbol{38}}
- \expandafter\def\csname simpleicon@nintendoswitchicon\endcsname {\simpleiconsmapeight\symbol{39}}
- \expandafter\def\csname simpleicon@nissanicon\endcsname {\simpleiconsmapeight\symbol{40}}
- \expandafter\def\csname simpleicon@nixosicon\endcsname {\simpleiconsmapeight\symbol{41}}
- \expandafter\def\csname simpleicon@nodedotjsicon\endcsname {\simpleiconsmapeight\symbol{42}}
- \expandafter\def\csname simpleicon@nodemonicon\endcsname {\simpleiconsmapeight\symbol{43}}
- \expandafter\def\csname simpleicon@noderedicon\endcsname {\simpleiconsmapeight\symbol{44}}
- \expandafter\def\csname simpleicon@nokiaicon\endcsname {\simpleiconsmapeight\symbol{45}}
- \expandafter\def\csname simpleicon@nomadicon\endcsname {\simpleiconsmapeight\symbol{46}}
- \expandafter\def\csname simpleicon@norcoicon\endcsname {\simpleiconsmapeight\symbol{47}}
- \expandafter\def\csname simpleicon@nordicsemiconductoricon\endcsname {\simpleiconsmapeight\symbol{48}}
- \expandafter\def\csname simpleicon@nordvpnicon\endcsname {\simpleiconsmapeight\symbol{49}}
- \expandafter\def\csname simpleicon@normalizedotcssicon\endcsname {\simpleiconsmapeight\symbol{50}}
- \expandafter\def\csname simpleicon@nortonicon\endcsname {\simpleiconsmapeight\symbol{51}}
- \expandafter\def\csname simpleicon@norwegianicon\endcsname {\simpleiconsmapeight\symbol{52}}
- \expandafter\def\csname simpleicon@notepadplusplusicon\endcsname {\simpleiconsmapeight\symbol{53}}
- \expandafter\def\csname simpleicon@notionicon\endcsname {\simpleiconsmapeight\symbol{54}}
- \expandafter\def\csname simpleicon@notisticon\endcsname {\simpleiconsmapeight\symbol{55}}
- \expandafter\def\csname simpleicon@nounprojecticon\endcsname {\simpleiconsmapeight\symbol{56}}
- \expandafter\def\csname simpleicon@novuicon\endcsname {\simpleiconsmapeight\symbol{57}}
- \expandafter\def\csname simpleicon@nowicon\endcsname {\simpleiconsmapeight\symbol{58}}
- \expandafter\def\csname simpleicon@npmicon\endcsname {\simpleiconsmapeight\symbol{59}}
- \expandafter\def\csname simpleicon@nrwlicon\endcsname {\simpleiconsmapeight\symbol{60}}
- \expandafter\def\csname simpleicon@nsisicon\endcsname {\simpleiconsmapeight\symbol{61}}
- \expandafter\def\csname simpleicon@nubankicon\endcsname {\simpleiconsmapeight\symbol{62}}
- \expandafter\def\csname simpleicon@nucleoicon\endcsname {\simpleiconsmapeight\symbol{63}}
- \expandafter\def\csname simpleicon@nugeticon\endcsname {\simpleiconsmapeight\symbol{64}}
- \expandafter\def\csname simpleicon@nukeicon\endcsname {\simpleiconsmapeight\symbol{65}}
- \expandafter\def\csname simpleicon@numbaicon\endcsname {\simpleiconsmapeight\symbol{66}}
- \expandafter\def\csname simpleicon@numpyicon\endcsname {\simpleiconsmapeight\symbol{67}}
- \expandafter\def\csname simpleicon@nunjucksicon\endcsname {\simpleiconsmapeight\symbol{68}}
- \expandafter\def\csname simpleicon@nushellicon\endcsname {\simpleiconsmapeight\symbol{69}}
- \expandafter\def\csname simpleicon@nutanixicon\endcsname {\simpleiconsmapeight\symbol{70}}
- \expandafter\def\csname simpleicon@nuxtdotjsicon\endcsname {\simpleiconsmapeight\symbol{71}}
- \expandafter\def\csname simpleicon@nvidiaicon\endcsname {\simpleiconsmapeight\symbol{72}}
- \expandafter\def\csname simpleicon@nxicon\endcsname {\simpleiconsmapeight\symbol{73}}
- \expandafter\def\csname simpleicon@nxpicon\endcsname {\simpleiconsmapeight\symbol{74}}
- \expandafter\def\csname simpleicon@nzxticon\endcsname {\simpleiconsmapeight\symbol{75}}
- \expandafter\def\csname simpleicon@observableicon\endcsname {\simpleiconsmapeight\symbol{76}}
- \expandafter\def\csname simpleicon@obsidianicon\endcsname {\simpleiconsmapeight\symbol{77}}
- \expandafter\def\csname simpleicon@obsstudioicon\endcsname {\simpleiconsmapeight\symbol{78}}
- \expandafter\def\csname simpleicon@ocamlicon\endcsname {\simpleiconsmapeight\symbol{79}}
- \expandafter\def\csname simpleicon@oclificon\endcsname {\simpleiconsmapeight\symbol{80}}
- \expandafter\def\csname simpleicon@octanerendericon\endcsname {\simpleiconsmapeight\symbol{81}}
- \expandafter\def\csname simpleicon@octaveicon\endcsname {\simpleiconsmapeight\symbol{82}}
- \expandafter\def\csname simpleicon@octobercmsicon\endcsname {\simpleiconsmapeight\symbol{83}}
- \expandafter\def\csname simpleicon@octoprinticon\endcsname {\simpleiconsmapeight\symbol{84}}
- \expandafter\def\csname simpleicon@octopusdeployicon\endcsname {\simpleiconsmapeight\symbol{85}}
- \expandafter\def\csname simpleicon@oculusicon\endcsname {\simpleiconsmapeight\symbol{86}}
- \expandafter\def\csname simpleicon@odnoklassnikiicon\endcsname {\simpleiconsmapeight\symbol{87}}
- \expandafter\def\csname simpleicon@odooicon\endcsname {\simpleiconsmapeight\symbol{88}}
- \expandafter\def\csname simpleicon@odyseeicon\endcsname {\simpleiconsmapeight\symbol{89}}
- \expandafter\def\csname simpleicon@ohdearicon\endcsname {\simpleiconsmapeight\symbol{90}}
- \expandafter\def\csname simpleicon@okcupidicon\endcsname {\simpleiconsmapeight\symbol{91}}
- \expandafter\def\csname simpleicon@oktaicon\endcsname {\simpleiconsmapeight\symbol{92}}
- \expandafter\def\csname simpleicon@oneplusicon\endcsname {\simpleiconsmapeight\symbol{93}}
- \expandafter\def\csname simpleicon@onlyfansicon\endcsname {\simpleiconsmapeight\symbol{94}}
- \expandafter\def\csname simpleicon@onlyofficeicon\endcsname {\simpleiconsmapeight\symbol{95}}
- \expandafter\def\csname simpleicon@onnxicon\endcsname {\simpleiconsmapeight\symbol{96}}
- \expandafter\def\csname simpleicon@onstaricon\endcsname {\simpleiconsmapeight\symbol{97}}
- \expandafter\def\csname simpleicon@opelicon\endcsname {\simpleiconsmapeight\symbol{98}}
- \expandafter\def\csname simpleicon@openaccessicon\endcsname {\simpleiconsmapeight\symbol{99}}
- \expandafter\def\csname simpleicon@openaiicon\endcsname {\simpleiconsmapeight\symbol{100}}
- \expandafter\def\csname simpleicon@openaigymicon\endcsname {\simpleiconsmapeight\symbol{101}}
- \expandafter\def\csname simpleicon@openapiinitiativeicon\endcsname {\simpleiconsmapeight\symbol{102}}
- \expandafter\def\csname simpleicon@openbadgesicon\endcsname {\simpleiconsmapeight\symbol{103}}
- \expandafter\def\csname simpleicon@openbsdicon\endcsname {\simpleiconsmapeight\symbol{104}}
- \expandafter\def\csname simpleicon@openbugbountyicon\endcsname {\simpleiconsmapeight\symbol{105}}
- \expandafter\def\csname simpleicon@opencollectiveicon\endcsname {\simpleiconsmapeight\symbol{106}}
- \expandafter\def\csname simpleicon@opencontainersinitiativeicon\endcsname {\simpleiconsmapeight\symbol{107}}
- \expandafter\def\csname simpleicon@opencvicon\endcsname {\simpleiconsmapeight\symbol{108}}
- \expandafter\def\csname simpleicon@openfaasicon\endcsname {\simpleiconsmapeight\symbol{109}}
- \expandafter\def\csname simpleicon@openglicon\endcsname {\simpleiconsmapeight\symbol{110}}
- \expandafter\def\csname simpleicon@openhabicon\endcsname {\simpleiconsmapeight\symbol{111}}
- \expandafter\def\csname simpleicon@openidicon\endcsname {\simpleiconsmapeight\symbol{112}}
- \expandafter\def\csname simpleicon@openjdkicon\endcsname {\simpleiconsmapeight\symbol{113}}
- \expandafter\def\csname simpleicon@openlayersicon\endcsname {\simpleiconsmapeight\symbol{114}}
- \expandafter\def\csname simpleicon@openminedicon\endcsname {\simpleiconsmapeight\symbol{115}}
- \expandafter\def\csname simpleicon@opennebulaicon\endcsname {\simpleiconsmapeight\symbol{116}}
- \expandafter\def\csname simpleicon@openprojecticon\endcsname {\simpleiconsmapeight\symbol{117}}
- \expandafter\def\csname simpleicon@openscadicon\endcsname {\simpleiconsmapeight\symbol{118}}
- \expandafter\def\csname simpleicon@openseaicon\endcsname {\simpleiconsmapeight\symbol{119}}
- \expandafter\def\csname simpleicon@opensearchicon\endcsname {\simpleiconsmapeight\symbol{120}}
- \expandafter\def\csname simpleicon@opensourcehardwareicon\endcsname {\simpleiconsmapeight\symbol{121}}
- \expandafter\def\csname simpleicon@opensourceinitiativeicon\endcsname {\simpleiconsmapeight\symbol{122}}
- \expandafter\def\csname simpleicon@opensslicon\endcsname {\simpleiconsmapeight\symbol{123}}
- \expandafter\def\csname simpleicon@openstackicon\endcsname {\simpleiconsmapeight\symbol{124}}
- \expandafter\def\csname simpleicon@openstreetmapicon\endcsname {\simpleiconsmapeight\symbol{125}}
- \expandafter\def\csname simpleicon@opensuseicon\endcsname {\simpleiconsmapeight\symbol{126}}
- \expandafter\def\csname simpleicon@opentelemetryicon\endcsname {\simpleiconsmapeight\symbol{127}}
- \expandafter\def\csname simpleicon@opentexticon\endcsname {\simpleiconsmapeight\symbol{128}}
- \expandafter\def\csname simpleicon@opentofuicon\endcsname {\simpleiconsmapeight\symbol{129}}
- \expandafter\def\csname simpleicon@openverseicon\endcsname {\simpleiconsmapeight\symbol{130}}
- \expandafter\def\csname simpleicon@openvpnicon\endcsname {\simpleiconsmapeight\symbol{131}}
- \expandafter\def\csname simpleicon@openwrticon\endcsname {\simpleiconsmapeight\symbol{132}}
- \expandafter\def\csname simpleicon@openzeppelinicon\endcsname {\simpleiconsmapeight\symbol{133}}
- \expandafter\def\csname simpleicon@openzfsicon\endcsname {\simpleiconsmapeight\symbol{134}}
- \expandafter\def\csname simpleicon@operaicon\endcsname {\simpleiconsmapeight\symbol{135}}
- \expandafter\def\csname simpleicon@operagxicon\endcsname {\simpleiconsmapeight\symbol{136}}
- \expandafter\def\csname simpleicon@opnsenseicon\endcsname {\simpleiconsmapeight\symbol{137}}
- \expandafter\def\csname simpleicon@oppoicon\endcsname {\simpleiconsmapeight\symbol{138}}
- \expandafter\def\csname simpleicon@opsgenieicon\endcsname {\simpleiconsmapeight\symbol{139}}
- \expandafter\def\csname simpleicon@opslevelicon\endcsname {\simpleiconsmapeight\symbol{140}}
- \expandafter\def\csname simpleicon@oracleicon\endcsname {\simpleiconsmapeight\symbol{141}}
- \expandafter\def\csname simpleicon@orangeicon\endcsname {\simpleiconsmapeight\symbol{142}}
- \expandafter\def\csname simpleicon@orcidicon\endcsname {\simpleiconsmapeight\symbol{143}}
- \expandafter\def\csname simpleicon@oreillyicon\endcsname {\simpleiconsmapeight\symbol{144}}
- \expandafter\def\csname simpleicon@orgicon\endcsname {\simpleiconsmapeight\symbol{145}}
- \expandafter\def\csname simpleicon@originicon\endcsname {\simpleiconsmapeight\symbol{146}}
- \expandafter\def\csname simpleicon@osanoicon\endcsname {\simpleiconsmapeight\symbol{147}}
- \expandafter\def\csname simpleicon@osficon\endcsname {\simpleiconsmapeight\symbol{148}}
- \expandafter\def\csname simpleicon@osgeoicon\endcsname {\simpleiconsmapeight\symbol{149}}
- \expandafter\def\csname simpleicon@oshkoshicon\endcsname {\simpleiconsmapeight\symbol{150}}
- \expandafter\def\csname simpleicon@osmcicon\endcsname {\simpleiconsmapeight\symbol{151}}
- \expandafter\def\csname simpleicon@osuicon\endcsname {\simpleiconsmapeight\symbol{152}}
- \expandafter\def\csname simpleicon@ottoicon\endcsname {\simpleiconsmapeight\symbol{153}}
- \expandafter\def\csname simpleicon@overcasticon\endcsname {\simpleiconsmapeight\symbol{154}}
- \expandafter\def\csname simpleicon@overleaficon\endcsname {\simpleiconsmapeight\symbol{155}}
- \expandafter\def\csname simpleicon@ovhicon\endcsname {\simpleiconsmapeight\symbol{156}}
- \expandafter\def\csname simpleicon@owaspicon\endcsname {\simpleiconsmapeight\symbol{157}}
- \expandafter\def\csname simpleicon@owncloudicon\endcsname {\simpleiconsmapeight\symbol{158}}
- \expandafter\def\csname simpleicon@oxygenicon\endcsname {\simpleiconsmapeight\symbol{159}}
- \expandafter\def\csname simpleicon@oyoicon\endcsname {\simpleiconsmapeight\symbol{160}}
- \expandafter\def\csname simpleicon@p5dotjsicon\endcsname {\simpleiconsmapeight\symbol{161}}
- \expandafter\def\csname simpleicon@packagisticon\endcsname {\simpleiconsmapeight\symbol{162}}
- \expandafter\def\csname simpleicon@packericon\endcsname {\simpleiconsmapeight\symbol{163}}
- \expandafter\def\csname simpleicon@packticon\endcsname {\simpleiconsmapeight\symbol{164}}
- \expandafter\def\csname simpleicon@paddleicon\endcsname {\simpleiconsmapeight\symbol{165}}
- \expandafter\def\csname simpleicon@paddlepaddleicon\endcsname {\simpleiconsmapeight\symbol{166}}
- \expandafter\def\csname simpleicon@paddypowericon\endcsname {\simpleiconsmapeight\symbol{167}}
- \expandafter\def\csname simpleicon@pagekiticon\endcsname {\simpleiconsmapeight\symbol{168}}
- \expandafter\def\csname simpleicon@pagerdutyicon\endcsname {\simpleiconsmapeight\symbol{169}}
- \expandafter\def\csname simpleicon@pagespeedinsightsicon\endcsname {\simpleiconsmapeight\symbol{170}}
- \expandafter\def\csname simpleicon@pagseguroicon\endcsname {\simpleiconsmapeight\symbol{171}}
- \expandafter\def\csname simpleicon@palantiricon\endcsname {\simpleiconsmapeight\symbol{172}}
- \expandafter\def\csname simpleicon@paloaltonetworksicon\endcsname {\simpleiconsmapeight\symbol{173}}
- \expandafter\def\csname simpleicon@paloaltosoftwareicon\endcsname {\simpleiconsmapeight\symbol{174}}
- \expandafter\def\csname simpleicon@panasonicicon\endcsname {\simpleiconsmapeight\symbol{175}}
- \expandafter\def\csname simpleicon@pandasicon\endcsname {\simpleiconsmapeight\symbol{176}}
- \expandafter\def\csname simpleicon@pandoraicon\endcsname {\simpleiconsmapeight\symbol{177}}
- \expandafter\def\csname simpleicon@pantheonicon\endcsname {\simpleiconsmapeight\symbol{178}}
- \expandafter\def\csname simpleicon@paperlessngxicon\endcsname {\simpleiconsmapeight\symbol{179}}
- \expandafter\def\csname simpleicon@paperspaceicon\endcsname {\simpleiconsmapeight\symbol{180}}
- \expandafter\def\csname simpleicon@paperswithcodeicon\endcsname {\simpleiconsmapeight\symbol{181}}
- \expandafter\def\csname simpleicon@paramountplusicon\endcsname {\simpleiconsmapeight\symbol{182}}
- \expandafter\def\csname simpleicon@paritysubstrateicon\endcsname {\simpleiconsmapeight\symbol{183}}
- \expandafter\def\csname simpleicon@parrotsecurityicon\endcsname {\simpleiconsmapeight\symbol{184}}
- \expandafter\def\csname simpleicon@parsedotlyicon\endcsname {\simpleiconsmapeight\symbol{185}}
- \expandafter\def\csname simpleicon@passporticon\endcsname {\simpleiconsmapeight\symbol{186}}
- \expandafter\def\csname simpleicon@pastebinicon\endcsname {\simpleiconsmapeight\symbol{187}}
- \expandafter\def\csname simpleicon@patreonicon\endcsname {\simpleiconsmapeight\symbol{188}}
- \expandafter\def\csname simpleicon@paychexicon\endcsname {\simpleiconsmapeight\symbol{189}}
- \expandafter\def\csname simpleicon@payhipicon\endcsname {\simpleiconsmapeight\symbol{190}}
- \expandafter\def\csname simpleicon@payloadcmsicon\endcsname {\simpleiconsmapeight\symbol{191}}
- \expandafter\def\csname simpleicon@payoneericon\endcsname {\simpleiconsmapeight\symbol{192}}
- \expandafter\def\csname simpleicon@paypalicon\endcsname {\simpleiconsmapeight\symbol{193}}
- \expandafter\def\csname simpleicon@paytmicon\endcsname {\simpleiconsmapeight\symbol{194}}
- \expandafter\def\csname simpleicon@pcgamingwikiicon\endcsname {\simpleiconsmapeight\symbol{195}}
- \expandafter\def\csname simpleicon@pdmicon\endcsname {\simpleiconsmapeight\symbol{196}}
- \expandafter\def\csname simpleicon@pdqicon\endcsname {\simpleiconsmapeight\symbol{197}}
- \expandafter\def\csname simpleicon@peakdesignicon\endcsname {\simpleiconsmapeight\symbol{198}}
- \expandafter\def\csname simpleicon@pearsonicon\endcsname {\simpleiconsmapeight\symbol{199}}
- \expandafter\def\csname simpleicon@peerlisticon\endcsname {\simpleiconsmapeight\symbol{200}}
- \expandafter\def\csname simpleicon@peertubeicon\endcsname {\simpleiconsmapeight\symbol{201}}
- \expandafter\def\csname simpleicon@pegasusairlinesicon\endcsname {\simpleiconsmapeight\symbol{202}}
- \expandafter\def\csname simpleicon@pelicanicon\endcsname {\simpleiconsmapeight\symbol{203}}
- \expandafter\def\csname simpleicon@pelotonicon\endcsname {\simpleiconsmapeight\symbol{204}}
- \expandafter\def\csname simpleicon@pennyicon\endcsname {\simpleiconsmapeight\symbol{205}}
- \expandafter\def\csname simpleicon@penpoticon\endcsname {\simpleiconsmapeight\symbol{206}}
- \expandafter\def\csname simpleicon@percyicon\endcsname {\simpleiconsmapeight\symbol{207}}
- \expandafter\def\csname simpleicon@perforceicon\endcsname {\simpleiconsmapeight\symbol{208}}
- \expandafter\def\csname simpleicon@perlicon\endcsname {\simpleiconsmapeight\symbol{209}}
- \expandafter\def\csname simpleicon@perplexityicon\endcsname {\simpleiconsmapeight\symbol{210}}
- \expandafter\def\csname simpleicon@persistenticon\endcsname {\simpleiconsmapeight\symbol{211}}
- \expandafter\def\csname simpleicon@personioicon\endcsname {\simpleiconsmapeight\symbol{212}}
- \expandafter\def\csname simpleicon@petsathomeicon\endcsname {\simpleiconsmapeight\symbol{213}}
- \expandafter\def\csname simpleicon@peugeoticon\endcsname {\simpleiconsmapeight\symbol{214}}
- \expandafter\def\csname simpleicon@pexelsicon\endcsname {\simpleiconsmapeight\symbol{215}}
- \expandafter\def\csname simpleicon@pfsenseicon\endcsname {\simpleiconsmapeight\symbol{216}}
- \expandafter\def\csname simpleicon@phabricatoricon\endcsname {\simpleiconsmapeight\symbol{217}}
- \expandafter\def\csname simpleicon@philipshueicon\endcsname {\simpleiconsmapeight\symbol{218}}
- \expandafter\def\csname simpleicon@phoenixframeworkicon\endcsname {\simpleiconsmapeight\symbol{219}}
- \expandafter\def\csname simpleicon@phonepeicon\endcsname {\simpleiconsmapeight\symbol{220}}
- \expandafter\def\csname simpleicon@phosphoriconsicon\endcsname {\simpleiconsmapeight\symbol{221}}
- \expandafter\def\csname simpleicon@photobucketicon\endcsname {\simpleiconsmapeight\symbol{222}}
- \expandafter\def\csname simpleicon@photocrowdicon\endcsname {\simpleiconsmapeight\symbol{223}}
- \expandafter\def\csname simpleicon@photonicon\endcsname {\simpleiconsmapeight\symbol{224}}
- \expandafter\def\csname simpleicon@photopeaicon\endcsname {\simpleiconsmapeight\symbol{225}}
- \expandafter\def\csname simpleicon@phpicon\endcsname {\simpleiconsmapeight\symbol{226}}
- \expandafter\def\csname simpleicon@phpmyadminicon\endcsname {\simpleiconsmapeight\symbol{227}}
- \expandafter\def\csname simpleicon@phpstormicon\endcsname {\simpleiconsmapeight\symbol{228}}
- \expandafter\def\csname simpleicon@piaggiogroupicon\endcsname {\simpleiconsmapeight\symbol{229}}
- \expandafter\def\csname simpleicon@piaproicon\endcsname {\simpleiconsmapeight\symbol{230}}
- \expandafter\def\csname simpleicon@picardsurgelesicon\endcsname {\simpleiconsmapeight\symbol{231}}
- \expandafter\def\csname simpleicon@picartodottvicon\endcsname {\simpleiconsmapeight\symbol{232}}
- \expandafter\def\csname simpleicon@picnicicon\endcsname {\simpleiconsmapeight\symbol{233}}
- \expandafter\def\csname simpleicon@picpayicon\endcsname {\simpleiconsmapeight\symbol{234}}
- \expandafter\def\csname simpleicon@picxyicon\endcsname {\simpleiconsmapeight\symbol{235}}
- \expandafter\def\csname simpleicon@piholeicon\endcsname {\simpleiconsmapeight\symbol{236}}
- \expandafter\def\csname simpleicon@pimcoreicon\endcsname {\simpleiconsmapeight\symbol{237}}
- \expandafter\def\csname simpleicon@pinboardicon\endcsname {\simpleiconsmapeight\symbol{238}}
- \expandafter\def\csname simpleicon@pinescripticon\endcsname {\simpleiconsmapeight\symbol{239}}
- \expandafter\def\csname simpleicon@pinetworkicon\endcsname {\simpleiconsmapeight\symbol{240}}
- \expandafter\def\csname simpleicon@pingdomicon\endcsname {\simpleiconsmapeight\symbol{241}}
- \expandafter\def\csname simpleicon@pinteresticon\endcsname {\simpleiconsmapeight\symbol{242}}
- \expandafter\def\csname simpleicon@pioneerdjicon\endcsname {\simpleiconsmapeight\symbol{243}}
- \expandafter\def\csname simpleicon@pipedicon\endcsname {\simpleiconsmapeight\symbol{244}}
- \expandafter\def\csname simpleicon@pipxicon\endcsname {\simpleiconsmapeight\symbol{245}}
- \expandafter\def\csname simpleicon@pivotaltrackericon\endcsname {\simpleiconsmapeight\symbol{246}}
- \expandafter\def\csname simpleicon@piwigoicon\endcsname {\simpleiconsmapeight\symbol{247}}
- \expandafter\def\csname simpleicon@pixicon\endcsname {\simpleiconsmapeight\symbol{248}}
- \expandafter\def\csname simpleicon@pixabayicon\endcsname {\simpleiconsmapeight\symbol{249}}
- \expandafter\def\csname simpleicon@pixelfedicon\endcsname {\simpleiconsmapeight\symbol{250}}
- \expandafter\def\csname simpleicon@pixivicon\endcsname {\simpleiconsmapeight\symbol{251}}
- \expandafter\def\csname simpleicon@pixlricon\endcsname {\simpleiconsmapeight\symbol{252}}
- \expandafter\def\csname simpleicon@pkgsrcicon\endcsname {\simpleiconsmapeight\symbol{253}}
- \expandafter\def\csname simpleicon@planeticon\endcsname {\simpleiconsmapeight\symbol{254}}
- \expandafter\def\csname simpleicon@planetscaleicon\endcsname {\simpleiconsmapeight\symbol{255}}
- \expandafter\def\csname simpleicon@plangridicon\endcsname {\simpleiconsmapnine\symbol{0}}
- \expandafter\def\csname simpleicon@platformdotshicon\endcsname {\simpleiconsmapnine\symbol{1}}
- \expandafter\def\csname simpleicon@platformioicon\endcsname {\simpleiconsmapnine\symbol{2}}
- \expandafter\def\csname simpleicon@platziicon\endcsname {\simpleiconsmapnine\symbol{3}}
- \expandafter\def\csname simpleicon@plausibleanalyticsicon\endcsname {\simpleiconsmapnine\symbol{4}}
- \expandafter\def\csname simpleicon@playcanvasicon\endcsname {\simpleiconsmapnine\symbol{5}}
- \expandafter\def\csname simpleicon@playerdotmeicon\endcsname {\simpleiconsmapnine\symbol{6}}
- \expandafter\def\csname simpleicon@playerfmicon\endcsname {\simpleiconsmapnine\symbol{7}}
- \expandafter\def\csname simpleicon@playstationicon\endcsname {\simpleiconsmapnine\symbol{8}}
- \expandafter\def\csname simpleicon@playstation2icon\endcsname {\simpleiconsmapnine\symbol{9}}
- \expandafter\def\csname simpleicon@playstation3icon\endcsname {\simpleiconsmapnine\symbol{10}}
- \expandafter\def\csname simpleicon@playstation4icon\endcsname {\simpleiconsmapnine\symbol{11}}
- \expandafter\def\csname simpleicon@playstation5icon\endcsname {\simpleiconsmapnine\symbol{12}}
- \expandafter\def\csname simpleicon@playstationvitaicon\endcsname {\simpleiconsmapnine\symbol{13}}
- \expandafter\def\csname simpleicon@playwrighticon\endcsname {\simpleiconsmapnine\symbol{14}}
- \expandafter\def\csname simpleicon@pleromaicon\endcsname {\simpleiconsmapnine\symbol{15}}
- \expandafter\def\csname simpleicon@pleskicon\endcsname {\simpleiconsmapnine\symbol{16}}
- \expandafter\def\csname simpleicon@plexicon\endcsname {\simpleiconsmapnine\symbol{17}}
- \expandafter\def\csname simpleicon@plotlyicon\endcsname {\simpleiconsmapnine\symbol{18}}
- \expandafter\def\csname simpleicon@pluralsighticon\endcsname {\simpleiconsmapnine\symbol{19}}
- \expandafter\def\csname simpleicon@plurkicon\endcsname {\simpleiconsmapnine\symbol{20}}
- \expandafter\def\csname simpleicon@pluscodesicon\endcsname {\simpleiconsmapnine\symbol{21}}
- \expandafter\def\csname simpleicon@pm2icon\endcsname {\simpleiconsmapnine\symbol{22}}
- \expandafter\def\csname simpleicon@pnpmicon\endcsname {\simpleiconsmapnine\symbol{23}}
- \expandafter\def\csname simpleicon@pocketicon\endcsname {\simpleiconsmapnine\symbol{24}}
- \expandafter\def\csname simpleicon@pocketbaseicon\endcsname {\simpleiconsmapnine\symbol{25}}
- \expandafter\def\csname simpleicon@pocketcastsicon\endcsname {\simpleiconsmapnine\symbol{26}}
- \expandafter\def\csname simpleicon@podcastaddicticon\endcsname {\simpleiconsmapnine\symbol{27}}
- \expandafter\def\csname simpleicon@podcastindexicon\endcsname {\simpleiconsmapnine\symbol{28}}
- \expandafter\def\csname simpleicon@podmanicon\endcsname {\simpleiconsmapnine\symbol{29}}
- \expandafter\def\csname simpleicon@poeicon\endcsname {\simpleiconsmapnine\symbol{30}}
- \expandafter\def\csname simpleicon@poetryicon\endcsname {\simpleiconsmapnine\symbol{31}}
- \expandafter\def\csname simpleicon@pointyicon\endcsname {\simpleiconsmapnine\symbol{32}}
- \expandafter\def\csname simpleicon@pokemonicon\endcsname {\simpleiconsmapnine\symbol{33}}
- \expandafter\def\csname simpleicon@polarsicon\endcsname {\simpleiconsmapnine\symbol{34}}
- \expandafter\def\csname simpleicon@polestaricon\endcsname {\simpleiconsmapnine\symbol{35}}
- \expandafter\def\csname simpleicon@polkadoticon\endcsname {\simpleiconsmapnine\symbol{36}}
- \expandafter\def\csname simpleicon@polyicon\endcsname {\simpleiconsmapnine\symbol{37}}
- \expandafter\def\csname simpleicon@polygonicon\endcsname {\simpleiconsmapnine\symbol{38}}
- \expandafter\def\csname simpleicon@polymerprojecticon\endcsname {\simpleiconsmapnine\symbol{39}}
- \expandafter\def\csname simpleicon@polyworkicon\endcsname {\simpleiconsmapnine\symbol{40}}
- \expandafter\def\csname simpleicon@pond5icon\endcsname {\simpleiconsmapnine\symbol{41}}
- \expandafter\def\csname simpleicon@poposicon\endcsname {\simpleiconsmapnine\symbol{42}}
- \expandafter\def\csname simpleicon@porkbunicon\endcsname {\simpleiconsmapnine\symbol{43}}
- \expandafter\def\csname simpleicon@porscheicon\endcsname {\simpleiconsmapnine\symbol{44}}
- \expandafter\def\csname simpleicon@portainericon\endcsname {\simpleiconsmapnine\symbol{45}}
- \expandafter\def\csname simpleicon@portswiggericon\endcsname {\simpleiconsmapnine\symbol{46}}
- \expandafter\def\csname simpleicon@postcssicon\endcsname {\simpleiconsmapnine\symbol{47}}
- \expandafter\def\csname simpleicon@postgresqlicon\endcsname {\simpleiconsmapnine\symbol{48}}
- \expandafter\def\csname simpleicon@posthogicon\endcsname {\simpleiconsmapnine\symbol{49}}
- \expandafter\def\csname simpleicon@postmanicon\endcsname {\simpleiconsmapnine\symbol{50}}
- \expandafter\def\csname simpleicon@postmatesicon\endcsname {\simpleiconsmapnine\symbol{51}}
- \expandafter\def\csname simpleicon@powerappsicon\endcsname {\simpleiconsmapnine\symbol{52}}
- \expandafter\def\csname simpleicon@powerautomateicon\endcsname {\simpleiconsmapnine\symbol{53}}
- \expandafter\def\csname simpleicon@powerbiicon\endcsname {\simpleiconsmapnine\symbol{54}}
- \expandafter\def\csname simpleicon@powerfxicon\endcsname {\simpleiconsmapnine\symbol{55}}
- \expandafter\def\csname simpleicon@powerpagesicon\endcsname {\simpleiconsmapnine\symbol{56}}
- \expandafter\def\csname simpleicon@powersicon\endcsname {\simpleiconsmapnine\symbol{57}}
- \expandafter\def\csname simpleicon@powershellicon\endcsname {\simpleiconsmapnine\symbol{58}}
- \expandafter\def\csname simpleicon@powervirtualagentsicon\endcsname {\simpleiconsmapnine\symbol{59}}
- \expandafter\def\csname simpleicon@prdotcoicon\endcsname {\simpleiconsmapnine\symbol{60}}
- \expandafter\def\csname simpleicon@preacticon\endcsname {\simpleiconsmapnine\symbol{61}}
- \expandafter\def\csname simpleicon@precommiticon\endcsname {\simpleiconsmapnine\symbol{62}}
- \expandafter\def\csname simpleicon@prefecticon\endcsname {\simpleiconsmapnine\symbol{63}}
- \expandafter\def\csname simpleicon@premierleagueicon\endcsname {\simpleiconsmapnine\symbol{64}}
- \expandafter\def\csname simpleicon@prepbytesicon\endcsname {\simpleiconsmapnine\symbol{65}}
- \expandafter\def\csname simpleicon@prestashopicon\endcsname {\simpleiconsmapnine\symbol{66}}
- \expandafter\def\csname simpleicon@prestoicon\endcsname {\simpleiconsmapnine\symbol{67}}
- \expandafter\def\csname simpleicon@prettiericon\endcsname {\simpleiconsmapnine\symbol{68}}
- \expandafter\def\csname simpleicon@pretzelicon\endcsname {\simpleiconsmapnine\symbol{69}}
- \expandafter\def\csname simpleicon@preventionicon\endcsname {\simpleiconsmapnine\symbol{70}}
- \expandafter\def\csname simpleicon@preziicon\endcsname {\simpleiconsmapnine\symbol{71}}
- \expandafter\def\csname simpleicon@primeicon\endcsname {\simpleiconsmapnine\symbol{72}}
- \expandafter\def\csname simpleicon@primevideoicon\endcsname {\simpleiconsmapnine\symbol{73}}
- \expandafter\def\csname simpleicon@printablesicon\endcsname {\simpleiconsmapnine\symbol{74}}
- \expandafter\def\csname simpleicon@prismaicon\endcsname {\simpleiconsmapnine\symbol{75}}
- \expandafter\def\csname simpleicon@prismicicon\endcsname {\simpleiconsmapnine\symbol{76}}
- \expandafter\def\csname simpleicon@privatedivisionicon\endcsname {\simpleiconsmapnine\symbol{77}}
- \expandafter\def\csname simpleicon@privateinternetaccessicon\endcsname {\simpleiconsmapnine\symbol{78}}
- \expandafter\def\csname simpleicon@proboticon\endcsname {\simpleiconsmapnine\symbol{79}}
- \expandafter\def\csname simpleicon@processingfoundationicon\endcsname {\simpleiconsmapnine\symbol{80}}
- \expandafter\def\csname simpleicon@processwireicon\endcsname {\simpleiconsmapnine\symbol{81}}
- \expandafter\def\csname simpleicon@producthunticon\endcsname {\simpleiconsmapnine\symbol{82}}
- \expandafter\def\csname simpleicon@progateicon\endcsname {\simpleiconsmapnine\symbol{83}}
- \expandafter\def\csname simpleicon@progressicon\endcsname {\simpleiconsmapnine\symbol{84}}
- \expandafter\def\csname simpleicon@prometheusicon\endcsname {\simpleiconsmapnine\symbol{85}}
- \expandafter\def\csname simpleicon@prosiebenicon\endcsname {\simpleiconsmapnine\symbol{86}}
- \expandafter\def\csname simpleicon@proteusicon\endcsname {\simpleiconsmapnine\symbol{87}}
- \expandafter\def\csname simpleicon@protocolsdotioicon\endcsname {\simpleiconsmapnine\symbol{88}}
- \expandafter\def\csname simpleicon@protodotioicon\endcsname {\simpleiconsmapnine\symbol{89}}
- \expandafter\def\csname simpleicon@protonicon\endcsname {\simpleiconsmapnine\symbol{90}}
- \expandafter\def\csname simpleicon@protoncalendaricon\endcsname {\simpleiconsmapnine\symbol{91}}
- \expandafter\def\csname simpleicon@protondbicon\endcsname {\simpleiconsmapnine\symbol{92}}
- \expandafter\def\csname simpleicon@protondriveicon\endcsname {\simpleiconsmapnine\symbol{93}}
- \expandafter\def\csname simpleicon@protonmailicon\endcsname {\simpleiconsmapnine\symbol{94}}
- \expandafter\def\csname simpleicon@protonvpnicon\endcsname {\simpleiconsmapnine\symbol{95}}
- \expandafter\def\csname simpleicon@protoolsicon\endcsname {\simpleiconsmapnine\symbol{96}}
- \expandafter\def\csname simpleicon@protractoricon\endcsname {\simpleiconsmapnine\symbol{97}}
- \expandafter\def\csname simpleicon@proxmoxicon\endcsname {\simpleiconsmapnine\symbol{98}}
- \expandafter\def\csname simpleicon@pterodactylicon\endcsname {\simpleiconsmapnine\symbol{99}}
- \expandafter\def\csname simpleicon@pubgicon\endcsname {\simpleiconsmapnine\symbol{100}}
- \expandafter\def\csname simpleicon@publonsicon\endcsname {\simpleiconsmapnine\symbol{101}}
- \expandafter\def\csname simpleicon@pubmedicon\endcsname {\simpleiconsmapnine\symbol{102}}
- \expandafter\def\csname simpleicon@pugicon\endcsname {\simpleiconsmapnine\symbol{103}}
- \expandafter\def\csname simpleicon@pulumiicon\endcsname {\simpleiconsmapnine\symbol{104}}
- \expandafter\def\csname simpleicon@pumaicon\endcsname {\simpleiconsmapnine\symbol{105}}
- \expandafter\def\csname simpleicon@puppeticon\endcsname {\simpleiconsmapnine\symbol{106}}
- \expandafter\def\csname simpleicon@puppeteericon\endcsname {\simpleiconsmapnine\symbol{107}}
- \expandafter\def\csname simpleicon@purescripticon\endcsname {\simpleiconsmapnine\symbol{108}}
- \expandafter\def\csname simpleicon@purgecssicon\endcsname {\simpleiconsmapnine\symbol{109}}
- \expandafter\def\csname simpleicon@purismicon\endcsname {\simpleiconsmapnine\symbol{110}}
- \expandafter\def\csname simpleicon@pushbulleticon\endcsname {\simpleiconsmapnine\symbol{111}}
- \expandafter\def\csname simpleicon@pushericon\endcsname {\simpleiconsmapnine\symbol{112}}
- \expandafter\def\csname simpleicon@pwaicon\endcsname {\simpleiconsmapnine\symbol{113}}
- \expandafter\def\csname simpleicon@pycharmicon\endcsname {\simpleiconsmapnine\symbol{114}}
- \expandafter\def\csname simpleicon@pycqaicon\endcsname {\simpleiconsmapnine\symbol{115}}
- \expandafter\def\csname simpleicon@pydanticicon\endcsname {\simpleiconsmapnine\symbol{116}}
- \expandafter\def\csname simpleicon@pygicon\endcsname {\simpleiconsmapnine\symbol{117}}
- \expandafter\def\csname simpleicon@pypiicon\endcsname {\simpleiconsmapnine\symbol{118}}
- \expandafter\def\csname simpleicon@pypyicon\endcsname {\simpleiconsmapnine\symbol{119}}
- \expandafter\def\csname simpleicon@pyscaffoldicon\endcsname {\simpleiconsmapnine\symbol{120}}
- \expandafter\def\csname simpleicon@pysyfticon\endcsname {\simpleiconsmapnine\symbol{121}}
- \expandafter\def\csname simpleicon@pytesticon\endcsname {\simpleiconsmapnine\symbol{122}}
- \expandafter\def\csname simpleicon@pythonicon\endcsname {\simpleiconsmapnine\symbol{123}}
- \expandafter\def\csname simpleicon@pythonanywhereicon\endcsname {\simpleiconsmapnine\symbol{124}}
- \expandafter\def\csname simpleicon@pytorchicon\endcsname {\simpleiconsmapnine\symbol{125}}
- \expandafter\def\csname simpleicon@pyupicon\endcsname {\simpleiconsmapnine\symbol{126}}
- \expandafter\def\csname simpleicon@qantasicon\endcsname {\simpleiconsmapnine\symbol{127}}
- \expandafter\def\csname simpleicon@qaseicon\endcsname {\simpleiconsmapnine\symbol{128}}
- \expandafter\def\csname simpleicon@qatarairwaysicon\endcsname {\simpleiconsmapnine\symbol{129}}
- \expandafter\def\csname simpleicon@qbittorrenticon\endcsname {\simpleiconsmapnine\symbol{130}}
- \expandafter\def\csname simpleicon@qemuicon\endcsname {\simpleiconsmapnine\symbol{131}}
- \expandafter\def\csname simpleicon@qgisicon\endcsname {\simpleiconsmapnine\symbol{132}}
- \expandafter\def\csname simpleicon@qiicon\endcsname {\simpleiconsmapnine\symbol{133}}
- \expandafter\def\csname simpleicon@qiitaicon\endcsname {\simpleiconsmapnine\symbol{134}}
- \expandafter\def\csname simpleicon@qiskiticon\endcsname {\simpleiconsmapnine\symbol{135}}
- \expandafter\def\csname simpleicon@qiwiicon\endcsname {\simpleiconsmapnine\symbol{136}}
- \expandafter\def\csname simpleicon@qlikicon\endcsname {\simpleiconsmapnine\symbol{137}}
- \expandafter\def\csname simpleicon@qmkicon\endcsname {\simpleiconsmapnine\symbol{138}}
- \expandafter\def\csname simpleicon@qnapicon\endcsname {\simpleiconsmapnine\symbol{139}}
- \expandafter\def\csname simpleicon@qticon\endcsname {\simpleiconsmapnine\symbol{140}}
- \expandafter\def\csname simpleicon@qualcommicon\endcsname {\simpleiconsmapnine\symbol{141}}
- \expandafter\def\csname simpleicon@qualtricsicon\endcsname {\simpleiconsmapnine\symbol{142}}
- \expandafter\def\csname simpleicon@qualysicon\endcsname {\simpleiconsmapnine\symbol{143}}
- \expandafter\def\csname simpleicon@quantcasticon\endcsname {\simpleiconsmapnine\symbol{144}}
- \expandafter\def\csname simpleicon@quantconnecticon\endcsname {\simpleiconsmapnine\symbol{145}}
- \expandafter\def\csname simpleicon@quarkusicon\endcsname {\simpleiconsmapnine\symbol{146}}
- \expandafter\def\csname simpleicon@quasaricon\endcsname {\simpleiconsmapnine\symbol{147}}
- \expandafter\def\csname simpleicon@qubesosicon\endcsname {\simpleiconsmapnine\symbol{148}}
- \expandafter\def\csname simpleicon@questicon\endcsname {\simpleiconsmapnine\symbol{149}}
- \expandafter\def\csname simpleicon@quickbooksicon\endcsname {\simpleiconsmapnine\symbol{150}}
- \expandafter\def\csname simpleicon@quicklookicon\endcsname {\simpleiconsmapnine\symbol{151}}
- \expandafter\def\csname simpleicon@quicktimeicon\endcsname {\simpleiconsmapnine\symbol{152}}
- \expandafter\def\csname simpleicon@quicktypeicon\endcsname {\simpleiconsmapnine\symbol{153}}
- \expandafter\def\csname simpleicon@quipicon\endcsname {\simpleiconsmapnine\symbol{154}}
- \expandafter\def\csname simpleicon@quoraicon\endcsname {\simpleiconsmapnine\symbol{155}}
- \expandafter\def\csname simpleicon@qwanticon\endcsname {\simpleiconsmapnine\symbol{156}}
- \expandafter\def\csname simpleicon@qwikicon\endcsname {\simpleiconsmapnine\symbol{157}}
- \expandafter\def\csname simpleicon@qwiklabsicon\endcsname {\simpleiconsmapnine\symbol{158}}
- \expandafter\def\csname simpleicon@qzoneicon\endcsname {\simpleiconsmapnine\symbol{159}}
- \expandafter\def\csname simpleicon@ricon\endcsname {\simpleiconsmapnine\symbol{160}}
- \expandafter\def\csname simpleicon@r3icon\endcsname {\simpleiconsmapnine\symbol{161}}
- \expandafter\def\csname simpleicon@rabbitmqicon\endcsname {\simpleiconsmapnine\symbol{162}}
- \expandafter\def\csname simpleicon@racketicon\endcsname {\simpleiconsmapnine\symbol{163}}
- \expandafter\def\csname simpleicon@radaricon\endcsname {\simpleiconsmapnine\symbol{164}}
- \expandafter\def\csname simpleicon@radarricon\endcsname {\simpleiconsmapnine\symbol{165}}
- \expandafter\def\csname simpleicon@radiopublicicon\endcsname {\simpleiconsmapnine\symbol{166}}
- \expandafter\def\csname simpleicon@radixuiicon\endcsname {\simpleiconsmapnine\symbol{167}}
- \expandafter\def\csname simpleicon@radstudioicon\endcsname {\simpleiconsmapnine\symbol{168}}
- \expandafter\def\csname simpleicon@railwayicon\endcsname {\simpleiconsmapnine\symbol{169}}
- \expandafter\def\csname simpleicon@rainmetericon\endcsname {\simpleiconsmapnine\symbol{170}}
- \expandafter\def\csname simpleicon@rakutenicon\endcsname {\simpleiconsmapnine\symbol{171}}
- \expandafter\def\csname simpleicon@ramicon\endcsname {\simpleiconsmapnine\symbol{172}}
- \expandafter\def\csname simpleicon@ranchericon\endcsname {\simpleiconsmapnine\symbol{173}}
- \expandafter\def\csname simpleicon@rapidicon\endcsname {\simpleiconsmapnine\symbol{174}}
- \expandafter\def\csname simpleicon@raribleicon\endcsname {\simpleiconsmapnine\symbol{175}}
- \expandafter\def\csname simpleicon@rasaicon\endcsname {\simpleiconsmapnine\symbol{176}}
- \expandafter\def\csname simpleicon@raspberrypiicon\endcsname {\simpleiconsmapnine\symbol{177}}
- \expandafter\def\csname simpleicon@ravelryicon\endcsname {\simpleiconsmapnine\symbol{178}}
- \expandafter\def\csname simpleicon@rayicon\endcsname {\simpleiconsmapnine\symbol{179}}
- \expandafter\def\csname simpleicon@raycasticon\endcsname {\simpleiconsmapnine\symbol{180}}
- \expandafter\def\csname simpleicon@raylibicon\endcsname {\simpleiconsmapnine\symbol{181}}
- \expandafter\def\csname simpleicon@razericon\endcsname {\simpleiconsmapnine\symbol{182}}
- \expandafter\def\csname simpleicon@razorpayicon\endcsname {\simpleiconsmapnine\symbol{183}}
- \expandafter\def\csname simpleicon@reacticon\endcsname {\simpleiconsmapnine\symbol{184}}
- \expandafter\def\csname simpleicon@reacthookformicon\endcsname {\simpleiconsmapnine\symbol{185}}
- \expandafter\def\csname simpleicon@reactiveresumeicon\endcsname {\simpleiconsmapnine\symbol{186}}
- \expandafter\def\csname simpleicon@reactivexicon\endcsname {\simpleiconsmapnine\symbol{187}}
- \expandafter\def\csname simpleicon@reactosicon\endcsname {\simpleiconsmapnine\symbol{188}}
- \expandafter\def\csname simpleicon@reactqueryicon\endcsname {\simpleiconsmapnine\symbol{189}}
- \expandafter\def\csname simpleicon@reactroutericon\endcsname {\simpleiconsmapnine\symbol{190}}
- \expandafter\def\csname simpleicon@reacttableicon\endcsname {\simpleiconsmapnine\symbol{191}}
- \expandafter\def\csname simpleicon@readdotcvicon\endcsname {\simpleiconsmapnine\symbol{192}}
- \expandafter\def\csname simpleicon@readmeicon\endcsname {\simpleiconsmapnine\symbol{193}}
- \expandafter\def\csname simpleicon@readthedocsicon\endcsname {\simpleiconsmapnine\symbol{194}}
- \expandafter\def\csname simpleicon@realmicon\endcsname {\simpleiconsmapnine\symbol{195}}
- \expandafter\def\csname simpleicon@reasonicon\endcsname {\simpleiconsmapnine\symbol{196}}
- \expandafter\def\csname simpleicon@reasonstudiosicon\endcsname {\simpleiconsmapnine\symbol{197}}
- \expandafter\def\csname simpleicon@recoilicon\endcsname {\simpleiconsmapnine\symbol{198}}
- \expandafter\def\csname simpleicon@redicon\endcsname {\simpleiconsmapnine\symbol{199}}
- \expandafter\def\csname simpleicon@redashicon\endcsname {\simpleiconsmapnine\symbol{200}}
- \expandafter\def\csname simpleicon@redbubbleicon\endcsname {\simpleiconsmapnine\symbol{201}}
- \expandafter\def\csname simpleicon@redbullicon\endcsname {\simpleiconsmapnine\symbol{202}}
- \expandafter\def\csname simpleicon@redditicon\endcsname {\simpleiconsmapnine\symbol{203}}
- \expandafter\def\csname simpleicon@redhaticon\endcsname {\simpleiconsmapnine\symbol{204}}
- \expandafter\def\csname simpleicon@redhatopenshifticon\endcsname {\simpleiconsmapnine\symbol{205}}
- \expandafter\def\csname simpleicon@redisicon\endcsname {\simpleiconsmapnine\symbol{206}}
- \expandafter\def\csname simpleicon@redmineicon\endcsname {\simpleiconsmapnine\symbol{207}}
- \expandafter\def\csname simpleicon@redoxicon\endcsname {\simpleiconsmapnine\symbol{208}}
- \expandafter\def\csname simpleicon@reduxicon\endcsname {\simpleiconsmapnine\symbol{209}}
- \expandafter\def\csname simpleicon@reduxsagaicon\endcsname {\simpleiconsmapnine\symbol{210}}
- \expandafter\def\csname simpleicon@redwoodjsicon\endcsname {\simpleiconsmapnine\symbol{211}}
- \expandafter\def\csname simpleicon@reebokicon\endcsname {\simpleiconsmapnine\symbol{212}}
- \expandafter\def\csname simpleicon@refineicon\endcsname {\simpleiconsmapnine\symbol{213}}
- \expandafter\def\csname simpleicon@relayicon\endcsname {\simpleiconsmapnine\symbol{214}}
- \expandafter\def\csname simpleicon@relianceindustrieslimitedicon\endcsname {\simpleiconsmapnine\symbol{215}}
- \expandafter\def\csname simpleicon@remarkicon\endcsname {\simpleiconsmapnine\symbol{216}}
- \expandafter\def\csname simpleicon@remedyentertainmenticon\endcsname {\simpleiconsmapnine\symbol{217}}
- \expandafter\def\csname simpleicon@remixicon\endcsname {\simpleiconsmapnine\symbol{218}}
- \expandafter\def\csname simpleicon@renaulticon\endcsname {\simpleiconsmapnine\symbol{219}}
- \expandafter\def\csname simpleicon@rendericon\endcsname {\simpleiconsmapnine\symbol{220}}
- \expandafter\def\csname simpleicon@renovateboticon\endcsname {\simpleiconsmapnine\symbol{221}}
- \expandafter\def\csname simpleicon@renpyicon\endcsname {\simpleiconsmapnine\symbol{222}}
- \expandafter\def\csname simpleicon@renrenicon\endcsname {\simpleiconsmapnine\symbol{223}}
- \expandafter\def\csname simpleicon@repliticon\endcsname {\simpleiconsmapnine\symbol{224}}
- \expandafter\def\csname simpleicon@republicofgamersicon\endcsname {\simpleiconsmapnine\symbol{225}}
- \expandafter\def\csname simpleicon@rescripticon\endcsname {\simpleiconsmapnine\symbol{226}}
- \expandafter\def\csname simpleicon@rescuetimeicon\endcsname {\simpleiconsmapnine\symbol{227}}
- \expandafter\def\csname simpleicon@researchgateicon\endcsname {\simpleiconsmapnine\symbol{228}}
- \expandafter\def\csname simpleicon@resendicon\endcsname {\simpleiconsmapnine\symbol{229}}
- \expandafter\def\csname simpleicon@resharpericon\endcsname {\simpleiconsmapnine\symbol{230}}
- \expandafter\def\csname simpleicon@resurrectionremixosicon\endcsname {\simpleiconsmapnine\symbol{231}}
- \expandafter\def\csname simpleicon@retoolicon\endcsname {\simpleiconsmapnine\symbol{232}}
- \expandafter\def\csname simpleicon@retroarchicon\endcsname {\simpleiconsmapnine\symbol{233}}
- \expandafter\def\csname simpleicon@retropieicon\endcsname {\simpleiconsmapnine\symbol{234}}
- \expandafter\def\csname simpleicon@revancedicon\endcsname {\simpleiconsmapnine\symbol{235}}
- \expandafter\def\csname simpleicon@revealdotjsicon\endcsname {\simpleiconsmapnine\symbol{236}}
- \expandafter\def\csname simpleicon@reverbnationicon\endcsname {\simpleiconsmapnine\symbol{237}}
- \expandafter\def\csname simpleicon@revoltdotchaticon\endcsname {\simpleiconsmapnine\symbol{238}}
- \expandafter\def\csname simpleicon@revoluticon\endcsname {\simpleiconsmapnine\symbol{239}}
- \expandafter\def\csname simpleicon@revueicon\endcsname {\simpleiconsmapnine\symbol{240}}
- \expandafter\def\csname simpleicon@reweicon\endcsname {\simpleiconsmapnine\symbol{241}}
- \expandafter\def\csname simpleicon@rezgoicon\endcsname {\simpleiconsmapnine\symbol{242}}
- \expandafter\def\csname simpleicon@rhinocerosicon\endcsname {\simpleiconsmapnine\symbol{243}}
- \expandafter\def\csname simpleicon@richicon\endcsname {\simpleiconsmapnine\symbol{244}}
- \expandafter\def\csname simpleicon@ridericon\endcsname {\simpleiconsmapnine\symbol{245}}
- \expandafter\def\csname simpleicon@rimacautomobiliicon\endcsname {\simpleiconsmapnine\symbol{246}}
- \expandafter\def\csname simpleicon@ringicon\endcsname {\simpleiconsmapnine\symbol{247}}
- \expandafter\def\csname simpleicon@riotgamesicon\endcsname {\simpleiconsmapnine\symbol{248}}
- \expandafter\def\csname simpleicon@rippleicon\endcsname {\simpleiconsmapnine\symbol{249}}
- \expandafter\def\csname simpleicon@riscvicon\endcsname {\simpleiconsmapnine\symbol{250}}
- \expandafter\def\csname simpleicon@riseupicon\endcsname {\simpleiconsmapnine\symbol{251}}
- \expandafter\def\csname simpleicon@ritzcarltonicon\endcsname {\simpleiconsmapnine\symbol{252}}
- \expandafter\def\csname simpleicon@riveicon\endcsname {\simpleiconsmapnine\symbol{253}}
- \expandafter\def\csname simpleicon@roadmapdotshicon\endcsname {\simpleiconsmapnine\symbol{254}}
- \expandafter\def\csname simpleicon@roamresearchicon\endcsname {\simpleiconsmapnine\symbol{255}}
- \expandafter\def\csname simpleicon@robinhoodicon\endcsname {\simpleiconsmaponezero\symbol{0}}
- \expandafter\def\csname simpleicon@robloxicon\endcsname {\simpleiconsmaponezero\symbol{1}}
- \expandafter\def\csname simpleicon@robloxstudioicon\endcsname {\simpleiconsmaponezero\symbol{2}}
- \expandafter\def\csname simpleicon@robotframeworkicon\endcsname {\simpleiconsmaponezero\symbol{3}}
- \expandafter\def\csname simpleicon@rocketicon\endcsname {\simpleiconsmaponezero\symbol{4}}
- \expandafter\def\csname simpleicon@rocketdotchaticon\endcsname {\simpleiconsmaponezero\symbol{5}}
- \expandafter\def\csname simpleicon@rocksdbicon\endcsname {\simpleiconsmaponezero\symbol{6}}
- \expandafter\def\csname simpleicon@rockstargamesicon\endcsname {\simpleiconsmaponezero\symbol{7}}
- \expandafter\def\csname simpleicon@rockwellautomationicon\endcsname {\simpleiconsmaponezero\symbol{8}}
- \expandafter\def\csname simpleicon@rockylinuxicon\endcsname {\simpleiconsmaponezero\symbol{9}}
- \expandafter\def\csname simpleicon@rokuicon\endcsname {\simpleiconsmaponezero\symbol{10}}
- \expandafter\def\csname simpleicon@roll20icon\endcsname {\simpleiconsmaponezero\symbol{11}}
- \expandafter\def\csname simpleicon@rollsroyceicon\endcsname {\simpleiconsmaponezero\symbol{12}}
- \expandafter\def\csname simpleicon@rollupdotjsicon\endcsname {\simpleiconsmaponezero\symbol{13}}
- \expandafter\def\csname simpleicon@romeicon\endcsname {\simpleiconsmaponezero\symbol{14}}
- \expandafter\def\csname simpleicon@roonicon\endcsname {\simpleiconsmaponezero\symbol{15}}
- \expandafter\def\csname simpleicon@rootmeicon\endcsname {\simpleiconsmaponezero\symbol{16}}
- \expandafter\def\csname simpleicon@rootsicon\endcsname {\simpleiconsmaponezero\symbol{17}}
- \expandafter\def\csname simpleicon@rootsbedrockicon\endcsname {\simpleiconsmaponezero\symbol{18}}
- \expandafter\def\csname simpleicon@rootssageicon\endcsname {\simpleiconsmaponezero\symbol{19}}
- \expandafter\def\csname simpleicon@rosicon\endcsname {\simpleiconsmaponezero\symbol{20}}
- \expandafter\def\csname simpleicon@rossmannicon\endcsname {\simpleiconsmaponezero\symbol{21}}
- \expandafter\def\csname simpleicon@rotaryinternationalicon\endcsname {\simpleiconsmaponezero\symbol{22}}
- \expandafter\def\csname simpleicon@rottentomatoesicon\endcsname {\simpleiconsmaponezero\symbol{23}}
- \expandafter\def\csname simpleicon@roundcubeicon\endcsname {\simpleiconsmaponezero\symbol{24}}
- \expandafter\def\csname simpleicon@rsocketicon\endcsname {\simpleiconsmaponezero\symbol{25}}
- \expandafter\def\csname simpleicon@rssicon\endcsname {\simpleiconsmaponezero\symbol{26}}
- \expandafter\def\csname simpleicon@rstudioicon\endcsname {\simpleiconsmaponezero\symbol{27}}
- \expandafter\def\csname simpleicon@rteicon\endcsname {\simpleiconsmaponezero\symbol{28}}
- \expandafter\def\csname simpleicon@rtlicon\endcsname {\simpleiconsmaponezero\symbol{29}}
- \expandafter\def\csname simpleicon@rtlzweiicon\endcsname {\simpleiconsmaponezero\symbol{30}}
- \expandafter\def\csname simpleicon@rtmicon\endcsname {\simpleiconsmaponezero\symbol{31}}
- \expandafter\def\csname simpleicon@rubocopicon\endcsname {\simpleiconsmaponezero\symbol{32}}
- \expandafter\def\csname simpleicon@rubyicon\endcsname {\simpleiconsmaponezero\symbol{33}}
- \expandafter\def\csname simpleicon@rubygemsicon\endcsname {\simpleiconsmaponezero\symbol{34}}
- \expandafter\def\csname simpleicon@rubyonrailsicon\endcsname {\simpleiconsmaponezero\symbol{35}}
- \expandafter\def\csname simpleicon@rubysinatraicon\endcsname {\simpleiconsmaponezero\symbol{36}}
- \expandafter\def\csname simpleicon@rufficon\endcsname {\simpleiconsmaponezero\symbol{37}}
- \expandafter\def\csname simpleicon@rumahwebicon\endcsname {\simpleiconsmaponezero\symbol{38}}
- \expandafter\def\csname simpleicon@rumbleicon\endcsname {\simpleiconsmaponezero\symbol{39}}
- \expandafter\def\csname simpleicon@rundeckicon\endcsname {\simpleiconsmaponezero\symbol{40}}
- \expandafter\def\csname simpleicon@runkeepericon\endcsname {\simpleiconsmaponezero\symbol{41}}
- \expandafter\def\csname simpleicon@runkiticon\endcsname {\simpleiconsmaponezero\symbol{42}}
- \expandafter\def\csname simpleicon@runrundotiticon\endcsname {\simpleiconsmaponezero\symbol{43}}
- \expandafter\def\csname simpleicon@rusticon\endcsname {\simpleiconsmaponezero\symbol{44}}
- \expandafter\def\csname simpleicon@rustdeskicon\endcsname {\simpleiconsmaponezero\symbol{45}}
- \expandafter\def\csname simpleicon@rxdbicon\endcsname {\simpleiconsmaponezero\symbol{46}}
- \expandafter\def\csname simpleicon@ryanairicon\endcsname {\simpleiconsmaponezero\symbol{47}}
- \expandafter\def\csname simpleicon@ryeicon\endcsname {\simpleiconsmaponezero\symbol{48}}
- \expandafter\def\csname simpleicon@s7airlinesicon\endcsname {\simpleiconsmaponezero\symbol{49}}
- \expandafter\def\csname simpleicon@sabanciicon\endcsname {\simpleiconsmaponezero\symbol{50}}
- \expandafter\def\csname simpleicon@safariicon\endcsname {\simpleiconsmaponezero\symbol{51}}
- \expandafter\def\csname simpleicon@sageicon\endcsname {\simpleiconsmaponezero\symbol{52}}
- \expandafter\def\csname simpleicon@sahibindenicon\endcsname {\simpleiconsmaponezero\symbol{53}}
- \expandafter\def\csname simpleicon@sailfishosicon\endcsname {\simpleiconsmaponezero\symbol{54}}
- \expandafter\def\csname simpleicon@sailsdotjsicon\endcsname {\simpleiconsmaponezero\symbol{55}}
- \expandafter\def\csname simpleicon@salesforceicon\endcsname {\simpleiconsmaponezero\symbol{56}}
- \expandafter\def\csname simpleicon@sallaicon\endcsname {\simpleiconsmaponezero\symbol{57}}
- \expandafter\def\csname simpleicon@saltprojecticon\endcsname {\simpleiconsmaponezero\symbol{58}}
- \expandafter\def\csname simpleicon@samsclubicon\endcsname {\simpleiconsmaponezero\symbol{59}}
- \expandafter\def\csname simpleicon@samsungicon\endcsname {\simpleiconsmaponezero\symbol{60}}
- \expandafter\def\csname simpleicon@samsungpayicon\endcsname {\simpleiconsmaponezero\symbol{61}}
- \expandafter\def\csname simpleicon@sandiskicon\endcsname {\simpleiconsmaponezero\symbol{62}}
- \expandafter\def\csname simpleicon@sanfranciscomunicipalrailwayicon\endcsname {\simpleiconsmaponezero\symbol{63}}
- \expandafter\def\csname simpleicon@sanicicon\endcsname {\simpleiconsmaponezero\symbol{64}}
- \expandafter\def\csname simpleicon@sanityicon\endcsname {\simpleiconsmaponezero\symbol{65}}
- \expandafter\def\csname simpleicon@saopaulometroicon\endcsname {\simpleiconsmaponezero\symbol{66}}
- \expandafter\def\csname simpleicon@sapicon\endcsname {\simpleiconsmaponezero\symbol{67}}
- \expandafter\def\csname simpleicon@sassicon\endcsname {\simpleiconsmaponezero\symbol{68}}
- \expandafter\def\csname simpleicon@sat1icon\endcsname {\simpleiconsmaponezero\symbol{69}}
- \expandafter\def\csname simpleicon@satelliteicon\endcsname {\simpleiconsmaponezero\symbol{70}}
- \expandafter\def\csname simpleicon@saturnicon\endcsname {\simpleiconsmaponezero\symbol{71}}
- \expandafter\def\csname simpleicon@saucelabsicon\endcsname {\simpleiconsmaponezero\symbol{72}}
- \expandafter\def\csname simpleicon@saudiaicon\endcsname {\simpleiconsmaponezero\symbol{73}}
- \expandafter\def\csname simpleicon@scalaicon\endcsname {\simpleiconsmaponezero\symbol{74}}
- \expandafter\def\csname simpleicon@scalewayicon\endcsname {\simpleiconsmaponezero\symbol{75}}
- \expandafter\def\csname simpleicon@scaniaicon\endcsname {\simpleiconsmaponezero\symbol{76}}
- \expandafter\def\csname simpleicon@schneiderelectricicon\endcsname {\simpleiconsmaponezero\symbol{77}}
- \expandafter\def\csname simpleicon@scikitlearnicon\endcsname {\simpleiconsmaponezero\symbol{78}}
- \expandafter\def\csname simpleicon@scipyicon\endcsname {\simpleiconsmaponezero\symbol{79}}
- \expandafter\def\csname simpleicon@scopusicon\endcsname {\simpleiconsmaponezero\symbol{80}}
- \expandafter\def\csname simpleicon@scpfoundationicon\endcsname {\simpleiconsmaponezero\symbol{81}}
- \expandafter\def\csname simpleicon@scrapboxicon\endcsname {\simpleiconsmaponezero\symbol{82}}
- \expandafter\def\csname simpleicon@scrapyicon\endcsname {\simpleiconsmaponezero\symbol{83}}
- \expandafter\def\csname simpleicon@scratchicon\endcsname {\simpleiconsmaponezero\symbol{84}}
- \expandafter\def\csname simpleicon@screencastifyicon\endcsname {\simpleiconsmaponezero\symbol{85}}
- \expandafter\def\csname simpleicon@scribdicon\endcsname {\simpleiconsmaponezero\symbol{86}}
- \expandafter\def\csname simpleicon@scrimbaicon\endcsname {\simpleiconsmaponezero\symbol{87}}
- \expandafter\def\csname simpleicon@scrollrevealicon\endcsname {\simpleiconsmaponezero\symbol{88}}
- \expandafter\def\csname simpleicon@scrumallianceicon\endcsname {\simpleiconsmaponezero\symbol{89}}
- \expandafter\def\csname simpleicon@scrutinizerciicon\endcsname {\simpleiconsmaponezero\symbol{90}}
- \expandafter\def\csname simpleicon@scylladbicon\endcsname {\simpleiconsmaponezero\symbol{91}}
- \expandafter\def\csname simpleicon@seagateicon\endcsname {\simpleiconsmaponezero\symbol{92}}
- \expandafter\def\csname simpleicon@searxngicon\endcsname {\simpleiconsmaponezero\symbol{93}}
- \expandafter\def\csname simpleicon@seaticon\endcsname {\simpleiconsmaponezero\symbol{94}}
- \expandafter\def\csname simpleicon@seatgeekicon\endcsname {\simpleiconsmaponezero\symbol{95}}
- \expandafter\def\csname simpleicon@securityscorecardicon\endcsname {\simpleiconsmaponezero\symbol{96}}
- \expandafter\def\csname simpleicon@sefariaicon\endcsname {\simpleiconsmaponezero\symbol{97}}
- \expandafter\def\csname simpleicon@segaicon\endcsname {\simpleiconsmaponezero\symbol{98}}
- \expandafter\def\csname simpleicon@seleniumicon\endcsname {\simpleiconsmaponezero\symbol{99}}
- \expandafter\def\csname simpleicon@sellfyicon\endcsname {\simpleiconsmaponezero\symbol{100}}
- \expandafter\def\csname simpleicon@semanticreleaseicon\endcsname {\simpleiconsmaponezero\symbol{101}}
- \expandafter\def\csname simpleicon@semanticscholaricon\endcsname {\simpleiconsmaponezero\symbol{102}}
- \expandafter\def\csname simpleicon@semanticuiicon\endcsname {\simpleiconsmaponezero\symbol{103}}
- \expandafter\def\csname simpleicon@semanticuireacticon\endcsname {\simpleiconsmaponezero\symbol{104}}
- \expandafter\def\csname simpleicon@semanticwebicon\endcsname {\simpleiconsmaponezero\symbol{105}}
- \expandafter\def\csname simpleicon@semaphoreciicon\endcsname {\simpleiconsmaponezero\symbol{106}}
- \expandafter\def\csname simpleicon@semrushicon\endcsname {\simpleiconsmaponezero\symbol{107}}
- \expandafter\def\csname simpleicon@semvericon\endcsname {\simpleiconsmaponezero\symbol{108}}
- \expandafter\def\csname simpleicon@senchaicon\endcsname {\simpleiconsmaponezero\symbol{109}}
- \expandafter\def\csname simpleicon@sennheisericon\endcsname {\simpleiconsmaponezero\symbol{110}}
- \expandafter\def\csname simpleicon@sensuicon\endcsname {\simpleiconsmaponezero\symbol{111}}
- \expandafter\def\csname simpleicon@sentryicon\endcsname {\simpleiconsmaponezero\symbol{112}}
- \expandafter\def\csname simpleicon@sepaicon\endcsname {\simpleiconsmaponezero\symbol{113}}
- \expandafter\def\csname simpleicon@sequelizeicon\endcsname {\simpleiconsmaponezero\symbol{114}}
- \expandafter\def\csname simpleicon@serverfaulticon\endcsname {\simpleiconsmaponezero\symbol{115}}
- \expandafter\def\csname simpleicon@serverlessicon\endcsname {\simpleiconsmaponezero\symbol{116}}
- \expandafter\def\csname simpleicon@sessionicon\endcsname {\simpleiconsmaponezero\symbol{117}}
- \expandafter\def\csname simpleicon@sessionizeicon\endcsname {\simpleiconsmaponezero\symbol{118}}
- \expandafter\def\csname simpleicon@setappicon\endcsname {\simpleiconsmaponezero\symbol{119}}
- \expandafter\def\csname simpleicon@sfmlicon\endcsname {\simpleiconsmaponezero\symbol{120}}
- \expandafter\def\csname simpleicon@shadcnuiicon\endcsname {\simpleiconsmaponezero\symbol{121}}
- \expandafter\def\csname simpleicon@shadowicon\endcsname {\simpleiconsmaponezero\symbol{122}}
- \expandafter\def\csname simpleicon@shanghaimetroicon\endcsname {\simpleiconsmaponezero\symbol{123}}
- \expandafter\def\csname simpleicon@sharexicon\endcsname {\simpleiconsmaponezero\symbol{124}}
- \expandafter\def\csname simpleicon@sharpicon\endcsname {\simpleiconsmaponezero\symbol{125}}
- \expandafter\def\csname simpleicon@shazamicon\endcsname {\simpleiconsmaponezero\symbol{126}}
- \expandafter\def\csname simpleicon@shellicon\endcsname {\simpleiconsmaponezero\symbol{127}}
- \expandafter\def\csname simpleicon@shellyicon\endcsname {\simpleiconsmaponezero\symbol{128}}
- \expandafter\def\csname simpleicon@shenzhenmetroicon\endcsname {\simpleiconsmaponezero\symbol{129}}
- \expandafter\def\csname simpleicon@shieldsdotioicon\endcsname {\simpleiconsmaponezero\symbol{130}}
- \expandafter\def\csname simpleicon@shikimoriicon\endcsname {\simpleiconsmaponezero\symbol{131}}
- \expandafter\def\csname simpleicon@shopeeicon\endcsname {\simpleiconsmaponezero\symbol{132}}
- \expandafter\def\csname simpleicon@shopifyicon\endcsname {\simpleiconsmaponezero\symbol{133}}
- \expandafter\def\csname simpleicon@shopwareicon\endcsname {\simpleiconsmaponezero\symbol{134}}
- \expandafter\def\csname simpleicon@shortcuticon\endcsname {\simpleiconsmaponezero\symbol{135}}
- \expandafter\def\csname simpleicon@shotcuticon\endcsname {\simpleiconsmaponezero\symbol{136}}
- \expandafter\def\csname simpleicon@showpadicon\endcsname {\simpleiconsmaponezero\symbol{137}}
- \expandafter\def\csname simpleicon@showtimeicon\endcsname {\simpleiconsmaponezero\symbol{138}}
- \expandafter\def\csname simpleicon@showwcaseicon\endcsname {\simpleiconsmaponezero\symbol{139}}
- \expandafter\def\csname simpleicon@shutterstockicon\endcsname {\simpleiconsmaponezero\symbol{140}}
- \expandafter\def\csname simpleicon@sidekiqicon\endcsname {\simpleiconsmaponezero\symbol{141}}
- \expandafter\def\csname simpleicon@sidequesticon\endcsname {\simpleiconsmaponezero\symbol{142}}
- \expandafter\def\csname simpleicon@siemensicon\endcsname {\simpleiconsmaponezero\symbol{143}}
- \expandafter\def\csname simpleicon@sifiveicon\endcsname {\simpleiconsmaponezero\symbol{144}}
- \expandafter\def\csname simpleicon@signalicon\endcsname {\simpleiconsmaponezero\symbol{145}}
- \expandafter\def\csname simpleicon@similarwebicon\endcsname {\simpleiconsmaponezero\symbol{146}}
- \expandafter\def\csname simpleicon@simklicon\endcsname {\simpleiconsmaponezero\symbol{147}}
- \expandafter\def\csname simpleicon@simpleanalyticsicon\endcsname {\simpleiconsmaponezero\symbol{148}}
- \expandafter\def\csname simpleicon@simpleiconsicon\endcsname {\simpleiconsmaponezero\symbol{149}}
- \expandafter\def\csname simpleicon@simpleloginicon\endcsname {\simpleiconsmaponezero\symbol{150}}
- \expandafter\def\csname simpleicon@simplenoteicon\endcsname {\simpleiconsmaponezero\symbol{151}}
- \expandafter\def\csname simpleicon@sinaweiboicon\endcsname {\simpleiconsmaponezero\symbol{152}}
- \expandafter\def\csname simpleicon@singaporeairlinesicon\endcsname {\simpleiconsmaponezero\symbol{153}}
- \expandafter\def\csname simpleicon@singlestoreicon\endcsname {\simpleiconsmaponezero\symbol{154}}
- \expandafter\def\csname simpleicon@sitecoreicon\endcsname {\simpleiconsmaponezero\symbol{155}}
- \expandafter\def\csname simpleicon@sitepointicon\endcsname {\simpleiconsmaponezero\symbol{156}}
- \expandafter\def\csname simpleicon@siyuanicon\endcsname {\simpleiconsmaponezero\symbol{157}}
- \expandafter\def\csname simpleicon@skaffoldicon\endcsname {\simpleiconsmaponezero\symbol{158}}
- \expandafter\def\csname simpleicon@sketchicon\endcsname {\simpleiconsmaponezero\symbol{159}}
- \expandafter\def\csname simpleicon@sketchfabicon\endcsname {\simpleiconsmaponezero\symbol{160}}
- \expandafter\def\csname simpleicon@sketchupicon\endcsname {\simpleiconsmaponezero\symbol{161}}
- \expandafter\def\csname simpleicon@skillshareicon\endcsname {\simpleiconsmaponezero\symbol{162}}
- \expandafter\def\csname simpleicon@skodaicon\endcsname {\simpleiconsmaponezero\symbol{163}}
- \expandafter\def\csname simpleicon@skyicon\endcsname {\simpleiconsmaponezero\symbol{164}}
- \expandafter\def\csname simpleicon@skyneticon\endcsname {\simpleiconsmaponezero\symbol{165}}
- \expandafter\def\csname simpleicon@skypackicon\endcsname {\simpleiconsmaponezero\symbol{166}}
- \expandafter\def\csname simpleicon@skypeicon\endcsname {\simpleiconsmaponezero\symbol{167}}
- \expandafter\def\csname simpleicon@skypeforbusinessicon\endcsname {\simpleiconsmaponezero\symbol{168}}
- \expandafter\def\csname simpleicon@skyrockicon\endcsname {\simpleiconsmaponezero\symbol{169}}
- \expandafter\def\csname simpleicon@slackicon\endcsname {\simpleiconsmaponezero\symbol{170}}
- \expandafter\def\csname simpleicon@slackwareicon\endcsname {\simpleiconsmaponezero\symbol{171}}
- \expandafter\def\csname simpleicon@slashdoticon\endcsname {\simpleiconsmaponezero\symbol{172}}
- \expandafter\def\csname simpleicon@slickpicicon\endcsname {\simpleiconsmaponezero\symbol{173}}
- \expandafter\def\csname simpleicon@slidesicon\endcsname {\simpleiconsmaponezero\symbol{174}}
- \expandafter\def\csname simpleicon@slideshareicon\endcsname {\simpleiconsmaponezero\symbol{175}}
- \expandafter\def\csname simpleicon@slinticon\endcsname {\simpleiconsmaponezero\symbol{176}}
- \expandafter\def\csname simpleicon@smarticon\endcsname {\simpleiconsmaponezero\symbol{177}}
- \expandafter\def\csname simpleicon@smartthingsicon\endcsname {\simpleiconsmaponezero\symbol{178}}
- \expandafter\def\csname simpleicon@smashdotggicon\endcsname {\simpleiconsmaponezero\symbol{179}}
- \expandafter\def\csname simpleicon@smashingmagazineicon\endcsname {\simpleiconsmaponezero\symbol{180}}
- \expandafter\def\csname simpleicon@smrticon\endcsname {\simpleiconsmaponezero\symbol{181}}
- \expandafter\def\csname simpleicon@smugmugicon\endcsname {\simpleiconsmaponezero\symbol{182}}
- \expandafter\def\csname simpleicon@snapchaticon\endcsname {\simpleiconsmaponezero\symbol{183}}
- \expandafter\def\csname simpleicon@snapcrafticon\endcsname {\simpleiconsmaponezero\symbol{184}}
- \expandafter\def\csname simpleicon@sncficon\endcsname {\simpleiconsmaponezero\symbol{185}}
- \expandafter\def\csname simpleicon@snowflakeicon\endcsname {\simpleiconsmaponezero\symbol{186}}
- \expandafter\def\csname simpleicon@snowpackicon\endcsname {\simpleiconsmaponezero\symbol{187}}
- \expandafter\def\csname simpleicon@snykicon\endcsname {\simpleiconsmaponezero\symbol{188}}
- \expandafter\def\csname simpleicon@socialbladeicon\endcsname {\simpleiconsmaponezero\symbol{189}}
- \expandafter\def\csname simpleicon@society6icon\endcsname {\simpleiconsmaponezero\symbol{190}}
- \expandafter\def\csname simpleicon@socketdotioicon\endcsname {\simpleiconsmaponezero\symbol{191}}
- \expandafter\def\csname simpleicon@softpediaicon\endcsname {\simpleiconsmaponezero\symbol{192}}
- \expandafter\def\csname simpleicon@sogouicon\endcsname {\simpleiconsmaponezero\symbol{193}}
- \expandafter\def\csname simpleicon@solanaicon\endcsname {\simpleiconsmaponezero\symbol{194}}
- \expandafter\def\csname simpleicon@solidicon\endcsname {\simpleiconsmaponezero\symbol{195}}
- \expandafter\def\csname simpleicon@solidityicon\endcsname {\simpleiconsmaponezero\symbol{196}}
- \expandafter\def\csname simpleicon@sololearnicon\endcsname {\simpleiconsmaponezero\symbol{197}}
- \expandafter\def\csname simpleicon@solusicon\endcsname {\simpleiconsmaponezero\symbol{198}}
- \expandafter\def\csname simpleicon@sonaricon\endcsname {\simpleiconsmaponezero\symbol{199}}
- \expandafter\def\csname simpleicon@sonarcloudicon\endcsname {\simpleiconsmaponezero\symbol{200}}
- \expandafter\def\csname simpleicon@sonarlinticon\endcsname {\simpleiconsmaponezero\symbol{201}}
- \expandafter\def\csname simpleicon@sonarqubeicon\endcsname {\simpleiconsmaponezero\symbol{202}}
- \expandafter\def\csname simpleicon@sonarricon\endcsname {\simpleiconsmaponezero\symbol{203}}
- \expandafter\def\csname simpleicon@sonatypeicon\endcsname {\simpleiconsmaponezero\symbol{204}}
- \expandafter\def\csname simpleicon@songkickicon\endcsname {\simpleiconsmaponezero\symbol{205}}
- \expandafter\def\csname simpleicon@songodaicon\endcsname {\simpleiconsmaponezero\symbol{206}}
- \expandafter\def\csname simpleicon@sonicwallicon\endcsname {\simpleiconsmaponezero\symbol{207}}
- \expandafter\def\csname simpleicon@sonosicon\endcsname {\simpleiconsmaponezero\symbol{208}}
- \expandafter\def\csname simpleicon@sonyicon\endcsname {\simpleiconsmaponezero\symbol{209}}
- \expandafter\def\csname simpleicon@sorianaicon\endcsname {\simpleiconsmaponezero\symbol{210}}
- \expandafter\def\csname simpleicon@soundchartsicon\endcsname {\simpleiconsmaponezero\symbol{211}}
- \expandafter\def\csname simpleicon@soundcloudicon\endcsname {\simpleiconsmaponezero\symbol{212}}
- \expandafter\def\csname simpleicon@sourceengineicon\endcsname {\simpleiconsmaponezero\symbol{213}}
- \expandafter\def\csname simpleicon@sourceforgeicon\endcsname {\simpleiconsmaponezero\symbol{214}}
- \expandafter\def\csname simpleicon@sourcehuticon\endcsname {\simpleiconsmaponezero\symbol{215}}
- \expandafter\def\csname simpleicon@sourcetreeicon\endcsname {\simpleiconsmaponezero\symbol{216}}
- \expandafter\def\csname simpleicon@southwestairlinesicon\endcsname {\simpleiconsmaponezero\symbol{217}}
- \expandafter\def\csname simpleicon@spacemacsicon\endcsname {\simpleiconsmaponezero\symbol{218}}
- \expandafter\def\csname simpleicon@spaceshipicon\endcsname {\simpleiconsmaponezero\symbol{219}}
- \expandafter\def\csname simpleicon@spacexicon\endcsname {\simpleiconsmaponezero\symbol{220}}
- \expandafter\def\csname simpleicon@spacyicon\endcsname {\simpleiconsmaponezero\symbol{221}}
- \expandafter\def\csname simpleicon@sparkaricon\endcsname {\simpleiconsmaponezero\symbol{222}}
- \expandafter\def\csname simpleicon@sparkasseicon\endcsname {\simpleiconsmaponezero\symbol{223}}
- \expandafter\def\csname simpleicon@sparkfunicon\endcsname {\simpleiconsmaponezero\symbol{224}}
- \expandafter\def\csname simpleicon@sparkposticon\endcsname {\simpleiconsmaponezero\symbol{225}}
- \expandafter\def\csname simpleicon@spdxicon\endcsname {\simpleiconsmaponezero\symbol{226}}
- \expandafter\def\csname simpleicon@speakerdeckicon\endcsname {\simpleiconsmaponezero\symbol{227}}
- \expandafter\def\csname simpleicon@spectrumicon\endcsname {\simpleiconsmaponezero\symbol{228}}
- \expandafter\def\csname simpleicon@speedtesticon\endcsname {\simpleiconsmaponezero\symbol{229}}
- \expandafter\def\csname simpleicon@speedypageicon\endcsname {\simpleiconsmaponezero\symbol{230}}
- \expandafter\def\csname simpleicon@sphinxicon\endcsname {\simpleiconsmaponezero\symbol{231}}
- \expandafter\def\csname simpleicon@spigotmcicon\endcsname {\simpleiconsmaponezero\symbol{232}}
- \expandafter\def\csname simpleicon@spineicon\endcsname {\simpleiconsmaponezero\symbol{233}}
- \expandafter\def\csname simpleicon@spinnakericon\endcsname {\simpleiconsmaponezero\symbol{234}}
- \expandafter\def\csname simpleicon@spinrillaicon\endcsname {\simpleiconsmaponezero\symbol{235}}
- \expandafter\def\csname simpleicon@splunkicon\endcsname {\simpleiconsmaponezero\symbol{236}}
- \expandafter\def\csname simpleicon@spojicon\endcsname {\simpleiconsmaponezero\symbol{237}}
- \expandafter\def\csname simpleicon@spondicon\endcsname {\simpleiconsmaponezero\symbol{238}}
- \expandafter\def\csname simpleicon@spotifyicon\endcsname {\simpleiconsmaponezero\symbol{239}}
- \expandafter\def\csname simpleicon@spotlighticon\endcsname {\simpleiconsmaponezero\symbol{240}}
- \expandafter\def\csname simpleicon@spreadshirticon\endcsname {\simpleiconsmaponezero\symbol{241}}
- \expandafter\def\csname simpleicon@spreakericon\endcsname {\simpleiconsmaponezero\symbol{242}}
- \expandafter\def\csname simpleicon@springicon\endcsname {\simpleiconsmaponezero\symbol{243}}
- \expandafter\def\csname simpleicon@springcreatorsicon\endcsname {\simpleiconsmaponezero\symbol{244}}
- \expandafter\def\csname simpleicon@springbooticon\endcsname {\simpleiconsmaponezero\symbol{245}}
- \expandafter\def\csname simpleicon@springsecurityicon\endcsname {\simpleiconsmaponezero\symbol{246}}
- \expandafter\def\csname simpleicon@spyderideicon\endcsname {\simpleiconsmaponezero\symbol{247}}
- \expandafter\def\csname simpleicon@sqlalchemyicon\endcsname {\simpleiconsmaponezero\symbol{248}}
- \expandafter\def\csname simpleicon@sqliteicon\endcsname {\simpleiconsmaponezero\symbol{249}}
- \expandafter\def\csname simpleicon@squareicon\endcsname {\simpleiconsmaponezero\symbol{250}}
- \expandafter\def\csname simpleicon@squareenixicon\endcsname {\simpleiconsmaponezero\symbol{251}}
- \expandafter\def\csname simpleicon@squarespaceicon\endcsname {\simpleiconsmaponezero\symbol{252}}
- \expandafter\def\csname simpleicon@srgssricon\endcsname {\simpleiconsmaponezero\symbol{253}}
- \expandafter\def\csname simpleicon@ssrnicon\endcsname {\simpleiconsmaponezero\symbol{254}}
- \expandafter\def\csname simpleicon@ssticon\endcsname {\simpleiconsmaponezero\symbol{255}}
- \expandafter\def\csname simpleicon@stackbiticon\endcsname {\simpleiconsmaponeone\symbol{0}}
- \expandafter\def\csname simpleicon@stackblitzicon\endcsname {\simpleiconsmaponeone\symbol{1}}
- \expandafter\def\csname simpleicon@stackediticon\endcsname {\simpleiconsmaponeone\symbol{2}}
- \expandafter\def\csname simpleicon@stackexchangeicon\endcsname {\simpleiconsmaponeone\symbol{3}}
- \expandafter\def\csname simpleicon@stackhawkicon\endcsname {\simpleiconsmaponeone\symbol{4}}
- \expandafter\def\csname simpleicon@stackoverflowicon\endcsname {\simpleiconsmaponeone\symbol{5}}
- \expandafter\def\csname simpleicon@stackpathicon\endcsname {\simpleiconsmaponeone\symbol{6}}
- \expandafter\def\csname simpleicon@stackshareicon\endcsname {\simpleiconsmaponeone\symbol{7}}
- \expandafter\def\csname simpleicon@stadiaicon\endcsname {\simpleiconsmaponeone\symbol{8}}
- \expandafter\def\csname simpleicon@staffbaseicon\endcsname {\simpleiconsmaponeone\symbol{9}}
- \expandafter\def\csname simpleicon@stagetimericon\endcsname {\simpleiconsmaponeone\symbol{10}}
- \expandafter\def\csname simpleicon@standardjsicon\endcsname {\simpleiconsmaponeone\symbol{11}}
- \expandafter\def\csname simpleicon@standardresumeicon\endcsname {\simpleiconsmaponeone\symbol{12}}
- \expandafter\def\csname simpleicon@starbucksicon\endcsname {\simpleiconsmaponeone\symbol{13}}
- \expandafter\def\csname simpleicon@stardockicon\endcsname {\simpleiconsmaponeone\symbol{14}}
- \expandafter\def\csname simpleicon@starlingbankicon\endcsname {\simpleiconsmaponeone\symbol{15}}
- \expandafter\def\csname simpleicon@starshipicon\endcsname {\simpleiconsmaponeone\symbol{16}}
- \expandafter\def\csname simpleicon@startrekicon\endcsname {\simpleiconsmaponeone\symbol{17}}
- \expandafter\def\csname simpleicon@starzicon\endcsname {\simpleiconsmaponeone\symbol{18}}
- \expandafter\def\csname simpleicon@statamicicon\endcsname {\simpleiconsmaponeone\symbol{19}}
- \expandafter\def\csname simpleicon@statuspageicon\endcsname {\simpleiconsmaponeone\symbol{20}}
- \expandafter\def\csname simpleicon@statuspalicon\endcsname {\simpleiconsmaponeone\symbol{21}}
- \expandafter\def\csname simpleicon@steamicon\endcsname {\simpleiconsmaponeone\symbol{22}}
- \expandafter\def\csname simpleicon@steamdbicon\endcsname {\simpleiconsmaponeone\symbol{23}}
- \expandafter\def\csname simpleicon@steamdeckicon\endcsname {\simpleiconsmaponeone\symbol{24}}
- \expandafter\def\csname simpleicon@steamworksicon\endcsname {\simpleiconsmaponeone\symbol{25}}
- \expandafter\def\csname simpleicon@steelseriesicon\endcsname {\simpleiconsmaponeone\symbol{26}}
- \expandafter\def\csname simpleicon@steemicon\endcsname {\simpleiconsmaponeone\symbol{27}}
- \expandafter\def\csname simpleicon@steemiticon\endcsname {\simpleiconsmaponeone\symbol{28}}
- \expandafter\def\csname simpleicon@steinbergicon\endcsname {\simpleiconsmaponeone\symbol{29}}
- \expandafter\def\csname simpleicon@stellaricon\endcsname {\simpleiconsmaponeone\symbol{30}}
- \expandafter\def\csname simpleicon@stencilicon\endcsname {\simpleiconsmaponeone\symbol{31}}
- \expandafter\def\csname simpleicon@stencylicon\endcsname {\simpleiconsmaponeone\symbol{32}}
- \expandafter\def\csname simpleicon@stimulusicon\endcsname {\simpleiconsmaponeone\symbol{33}}
- \expandafter\def\csname simpleicon@stitchericon\endcsname {\simpleiconsmaponeone\symbol{34}}
- \expandafter\def\csname simpleicon@stmicroelectronicsicon\endcsname {\simpleiconsmaponeone\symbol{35}}
- \expandafter\def\csname simpleicon@stockxicon\endcsname {\simpleiconsmaponeone\symbol{36}}
- \expandafter\def\csname simpleicon@stopstalkicon\endcsname {\simpleiconsmaponeone\symbol{37}}
- \expandafter\def\csname simpleicon@storyblokicon\endcsname {\simpleiconsmaponeone\symbol{38}}
- \expandafter\def\csname simpleicon@storybookicon\endcsname {\simpleiconsmaponeone\symbol{39}}
- \expandafter\def\csname simpleicon@strapiicon\endcsname {\simpleiconsmaponeone\symbol{40}}
- \expandafter\def\csname simpleicon@stravaicon\endcsname {\simpleiconsmaponeone\symbol{41}}
- \expandafter\def\csname simpleicon@streamlabsicon\endcsname {\simpleiconsmaponeone\symbol{42}}
- \expandafter\def\csname simpleicon@streamliticon\endcsname {\simpleiconsmaponeone\symbol{43}}
- \expandafter\def\csname simpleicon@streamrunnersicon\endcsname {\simpleiconsmaponeone\symbol{44}}
- \expandafter\def\csname simpleicon@stripeicon\endcsname {\simpleiconsmaponeone\symbol{45}}
- \expandafter\def\csname simpleicon@strongswanicon\endcsname {\simpleiconsmaponeone\symbol{46}}
- \expandafter\def\csname simpleicon@strykericon\endcsname {\simpleiconsmaponeone\symbol{47}}
- \expandafter\def\csname simpleicon@stubhubicon\endcsname {\simpleiconsmaponeone\symbol{48}}
- \expandafter\def\csname simpleicon@studio3ticon\endcsname {\simpleiconsmaponeone\symbol{49}}
- \expandafter\def\csname simpleicon@studyverseicon\endcsname {\simpleiconsmaponeone\symbol{50}}
- \expandafter\def\csname simpleicon@styledcomponentsicon\endcsname {\simpleiconsmaponeone\symbol{51}}
- \expandafter\def\csname simpleicon@stylelinticon\endcsname {\simpleiconsmaponeone\symbol{52}}
- \expandafter\def\csname simpleicon@styleshareicon\endcsname {\simpleiconsmaponeone\symbol{53}}
- \expandafter\def\csname simpleicon@stylusicon\endcsname {\simpleiconsmaponeone\symbol{54}}
- \expandafter\def\csname simpleicon@subaruicon\endcsname {\simpleiconsmaponeone\symbol{55}}
- \expandafter\def\csname simpleicon@sublimetexticon\endcsname {\simpleiconsmaponeone\symbol{56}}
- \expandafter\def\csname simpleicon@substackicon\endcsname {\simpleiconsmaponeone\symbol{57}}
- \expandafter\def\csname simpleicon@subtitleediticon\endcsname {\simpleiconsmaponeone\symbol{58}}
- \expandafter\def\csname simpleicon@subversionicon\endcsname {\simpleiconsmaponeone\symbol{59}}
- \expandafter\def\csname simpleicon@sucklessicon\endcsname {\simpleiconsmaponeone\symbol{60}}
- \expandafter\def\csname simpleicon@sumologicicon\endcsname {\simpleiconsmaponeone\symbol{61}}
- \expandafter\def\csname simpleicon@supabaseicon\endcsname {\simpleiconsmaponeone\symbol{62}}
- \expandafter\def\csname simpleicon@supercreaseicon\endcsname {\simpleiconsmaponeone\symbol{63}}
- \expandafter\def\csname simpleicon@supermicroicon\endcsname {\simpleiconsmaponeone\symbol{64}}
- \expandafter\def\csname simpleicon@superusericon\endcsname {\simpleiconsmaponeone\symbol{65}}
- \expandafter\def\csname simpleicon@surrealdbicon\endcsname {\simpleiconsmaponeone\symbol{66}}
- \expandafter\def\csname simpleicon@surveymonkeyicon\endcsname {\simpleiconsmaponeone\symbol{67}}
- \expandafter\def\csname simpleicon@suseicon\endcsname {\simpleiconsmaponeone\symbol{68}}
- \expandafter\def\csname simpleicon@suzukiicon\endcsname {\simpleiconsmaponeone\symbol{69}}
- \expandafter\def\csname simpleicon@svelteicon\endcsname {\simpleiconsmaponeone\symbol{70}}
- \expandafter\def\csname simpleicon@svgicon\endcsname {\simpleiconsmaponeone\symbol{71}}
- \expandafter\def\csname simpleicon@svgdotjsicon\endcsname {\simpleiconsmaponeone\symbol{72}}
- \expandafter\def\csname simpleicon@svgoicon\endcsname {\simpleiconsmaponeone\symbol{73}}
- \expandafter\def\csname simpleicon@swaggericon\endcsname {\simpleiconsmaponeone\symbol{74}}
- \expandafter\def\csname simpleicon@swarmicon\endcsname {\simpleiconsmaponeone\symbol{75}}
- \expandafter\def\csname simpleicon@swcicon\endcsname {\simpleiconsmaponeone\symbol{76}}
- \expandafter\def\csname simpleicon@swifticon\endcsname {\simpleiconsmaponeone\symbol{77}}
- \expandafter\def\csname simpleicon@swiggyicon\endcsname {\simpleiconsmaponeone\symbol{78}}
- \expandafter\def\csname simpleicon@swipericon\endcsname {\simpleiconsmaponeone\symbol{79}}
- \expandafter\def\csname simpleicon@swricon\endcsname {\simpleiconsmaponeone\symbol{80}}
- \expandafter\def\csname simpleicon@symantecicon\endcsname {\simpleiconsmaponeone\symbol{81}}
- \expandafter\def\csname simpleicon@symbolabicon\endcsname {\simpleiconsmaponeone\symbol{82}}
- \expandafter\def\csname simpleicon@symfonyicon\endcsname {\simpleiconsmaponeone\symbol{83}}
- \expandafter\def\csname simpleicon@symphonyicon\endcsname {\simpleiconsmaponeone\symbol{84}}
- \expandafter\def\csname simpleicon@sympyicon\endcsname {\simpleiconsmaponeone\symbol{85}}
- \expandafter\def\csname simpleicon@syncthingicon\endcsname {\simpleiconsmaponeone\symbol{86}}
- \expandafter\def\csname simpleicon@synologyicon\endcsname {\simpleiconsmaponeone\symbol{87}}
- \expandafter\def\csname simpleicon@system76icon\endcsname {\simpleiconsmaponeone\symbol{88}}
- \expandafter\def\csname simpleicon@tabelogicon\endcsname {\simpleiconsmaponeone\symbol{89}}
- \expandafter\def\csname simpleicon@tableauicon\endcsname {\simpleiconsmaponeone\symbol{90}}
- \expandafter\def\csname simpleicon@tablecheckicon\endcsname {\simpleiconsmaponeone\symbol{91}}
- \expandafter\def\csname simpleicon@tacobellicon\endcsname {\simpleiconsmaponeone\symbol{92}}
- \expandafter\def\csname simpleicon@tadoicon\endcsname {\simpleiconsmaponeone\symbol{93}}
- \expandafter\def\csname simpleicon@taichigraphicsicon\endcsname {\simpleiconsmaponeone\symbol{94}}
- \expandafter\def\csname simpleicon@taichilangicon\endcsname {\simpleiconsmaponeone\symbol{95}}
- \expandafter\def\csname simpleicon@tailsicon\endcsname {\simpleiconsmaponeone\symbol{96}}
- \expandafter\def\csname simpleicon@tailwindcssicon\endcsname {\simpleiconsmaponeone\symbol{97}}
- \expandafter\def\csname simpleicon@taketwointeractivesoftwareicon\endcsname {\simpleiconsmaponeone\symbol{98}}
- \expandafter\def\csname simpleicon@talendicon\endcsname {\simpleiconsmaponeone\symbol{99}}
- \expandafter\def\csname simpleicon@talenthouseicon\endcsname {\simpleiconsmaponeone\symbol{100}}
- \expandafter\def\csname simpleicon@talosicon\endcsname {\simpleiconsmaponeone\symbol{101}}
- \expandafter\def\csname simpleicon@tamiyaicon\endcsname {\simpleiconsmaponeone\symbol{102}}
- \expandafter\def\csname simpleicon@tampermonkeyicon\endcsname {\simpleiconsmaponeone\symbol{103}}
- \expandafter\def\csname simpleicon@taobaoicon\endcsname {\simpleiconsmaponeone\symbol{104}}
- \expandafter\def\csname simpleicon@tapasicon\endcsname {\simpleiconsmaponeone\symbol{105}}
- \expandafter\def\csname simpleicon@targeticon\endcsname {\simpleiconsmaponeone\symbol{106}}
- \expandafter\def\csname simpleicon@taskicon\endcsname {\simpleiconsmaponeone\symbol{107}}
- \expandafter\def\csname simpleicon@tasmotaicon\endcsname {\simpleiconsmaponeone\symbol{108}}
- \expandafter\def\csname simpleicon@tataicon\endcsname {\simpleiconsmaponeone\symbol{109}}
- \expandafter\def\csname simpleicon@tauriicon\endcsname {\simpleiconsmaponeone\symbol{110}}
- \expandafter\def\csname simpleicon@taxbuzzicon\endcsname {\simpleiconsmaponeone\symbol{111}}
- \expandafter\def\csname simpleicon@tcsicon\endcsname {\simpleiconsmaponeone\symbol{112}}
- \expandafter\def\csname simpleicon@tealicon\endcsname {\simpleiconsmaponeone\symbol{113}}
- \expandafter\def\csname simpleicon@teamcityicon\endcsname {\simpleiconsmaponeone\symbol{114}}
- \expandafter\def\csname simpleicon@teamspeakicon\endcsname {\simpleiconsmaponeone\symbol{115}}
- \expandafter\def\csname simpleicon@teamviewericon\endcsname {\simpleiconsmaponeone\symbol{116}}
- \expandafter\def\csname simpleicon@tedicon\endcsname {\simpleiconsmaponeone\symbol{117}}
- \expandafter\def\csname simpleicon@teepublicicon\endcsname {\simpleiconsmaponeone\symbol{118}}
- \expandafter\def\csname simpleicon@teespringicon\endcsname {\simpleiconsmaponeone\symbol{119}}
- \expandafter\def\csname simpleicon@tektonicon\endcsname {\simpleiconsmaponeone\symbol{120}}
- \expandafter\def\csname simpleicon@tele5icon\endcsname {\simpleiconsmaponeone\symbol{121}}
- \expandafter\def\csname simpleicon@telegramicon\endcsname {\simpleiconsmaponeone\symbol{122}}
- \expandafter\def\csname simpleicon@telegraphicon\endcsname {\simpleiconsmaponeone\symbol{123}}
- \expandafter\def\csname simpleicon@telequebecicon\endcsname {\simpleiconsmaponeone\symbol{124}}
- \expandafter\def\csname simpleicon@temporalicon\endcsname {\simpleiconsmaponeone\symbol{125}}
- \expandafter\def\csname simpleicon@tencentqqicon\endcsname {\simpleiconsmaponeone\symbol{126}}
- \expandafter\def\csname simpleicon@tensorflowicon\endcsname {\simpleiconsmaponeone\symbol{127}}
- \expandafter\def\csname simpleicon@teradataicon\endcsname {\simpleiconsmaponeone\symbol{128}}
- \expandafter\def\csname simpleicon@teratailicon\endcsname {\simpleiconsmaponeone\symbol{129}}
- \expandafter\def\csname simpleicon@termiusicon\endcsname {\simpleiconsmaponeone\symbol{130}}
- \expandafter\def\csname simpleicon@terraformicon\endcsname {\simpleiconsmaponeone\symbol{131}}
- \expandafter\def\csname simpleicon@tescoicon\endcsname {\simpleiconsmaponeone\symbol{132}}
- \expandafter\def\csname simpleicon@teslaicon\endcsname {\simpleiconsmaponeone\symbol{133}}
- \expandafter\def\csname simpleicon@testcafeicon\endcsname {\simpleiconsmaponeone\symbol{134}}
- \expandafter\def\csname simpleicon@testinicon\endcsname {\simpleiconsmaponeone\symbol{135}}
- \expandafter\def\csname simpleicon@testinglibraryicon\endcsname {\simpleiconsmaponeone\symbol{136}}
- \expandafter\def\csname simpleicon@testrailicon\endcsname {\simpleiconsmaponeone\symbol{137}}
- \expandafter\def\csname simpleicon@tethericon\endcsname {\simpleiconsmaponeone\symbol{138}}
- \expandafter\def\csname simpleicon@textpatternicon\endcsname {\simpleiconsmaponeone\symbol{139}}
- \expandafter\def\csname simpleicon@tgaicon\endcsname {\simpleiconsmaponeone\symbol{140}}
- \expandafter\def\csname simpleicon@thangsicon\endcsname {\simpleiconsmaponeone\symbol{141}}
- \expandafter\def\csname simpleicon@thealgorithmsicon\endcsname {\simpleiconsmaponeone\symbol{142}}
- \expandafter\def\csname simpleicon@theboringcompanyicon\endcsname {\simpleiconsmaponeone\symbol{143}}
- \expandafter\def\csname simpleicon@theconversationicon\endcsname {\simpleiconsmaponeone\symbol{144}}
- \expandafter\def\csname simpleicon@thefinalsicon\endcsname {\simpleiconsmaponeone\symbol{145}}
- \expandafter\def\csname simpleicon@theirishtimesicon\endcsname {\simpleiconsmaponeone\symbol{146}}
- \expandafter\def\csname simpleicon@themightyicon\endcsname {\simpleiconsmaponeone\symbol{147}}
- \expandafter\def\csname simpleicon@themodelsresourceicon\endcsname {\simpleiconsmaponeone\symbol{148}}
- \expandafter\def\csname simpleicon@themoviedatabaseicon\endcsname {\simpleiconsmaponeone\symbol{149}}
- \expandafter\def\csname simpleicon@thenorthfaceicon\endcsname {\simpleiconsmaponeone\symbol{150}}
- \expandafter\def\csname simpleicon@theodinprojecticon\endcsname {\simpleiconsmaponeone\symbol{151}}
- \expandafter\def\csname simpleicon@theregistericon\endcsname {\simpleiconsmaponeone\symbol{152}}
- \expandafter\def\csname simpleicon@thesoundsresourceicon\endcsname {\simpleiconsmaponeone\symbol{153}}
- \expandafter\def\csname simpleicon@thespritersresourceicon\endcsname {\simpleiconsmaponeone\symbol{154}}
- \expandafter\def\csname simpleicon@thewashingtonposticon\endcsname {\simpleiconsmaponeone\symbol{155}}
- \expandafter\def\csname simpleicon@thingiverseicon\endcsname {\simpleiconsmaponeone\symbol{156}}
- \expandafter\def\csname simpleicon@thinkpadicon\endcsname {\simpleiconsmaponeone\symbol{157}}
- \expandafter\def\csname simpleicon@thirdwebicon\endcsname {\simpleiconsmaponeone\symbol{158}}
- \expandafter\def\csname simpleicon@threadlessicon\endcsname {\simpleiconsmaponeone\symbol{159}}
- \expandafter\def\csname simpleicon@threadsicon\endcsname {\simpleiconsmaponeone\symbol{160}}
- \expandafter\def\csname simpleicon@threedotjsicon\endcsname {\simpleiconsmaponeone\symbol{161}}
- \expandafter\def\csname simpleicon@threemaicon\endcsname {\simpleiconsmaponeone\symbol{162}}
- \expandafter\def\csname simpleicon@thumbtackicon\endcsname {\simpleiconsmaponeone\symbol{163}}
- \expandafter\def\csname simpleicon@thunderbirdicon\endcsname {\simpleiconsmaponeone\symbol{164}}
- \expandafter\def\csname simpleicon@thunderstoreicon\endcsname {\simpleiconsmaponeone\symbol{165}}
- \expandafter\def\csname simpleicon@thurgauerkantonalbankicon\endcsname {\simpleiconsmaponeone\symbol{166}}
- \expandafter\def\csname simpleicon@thymeleaficon\endcsname {\simpleiconsmaponeone\symbol{167}}
- \expandafter\def\csname simpleicon@ticketmastericon\endcsname {\simpleiconsmaponeone\symbol{168}}
- \expandafter\def\csname simpleicon@ticktickicon\endcsname {\simpleiconsmaponeone\symbol{169}}
- \expandafter\def\csname simpleicon@tidalicon\endcsname {\simpleiconsmaponeone\symbol{170}}
- \expandafter\def\csname simpleicon@tiddlywikiicon\endcsname {\simpleiconsmaponeone\symbol{171}}
- \expandafter\def\csname simpleicon@tideicon\endcsname {\simpleiconsmaponeone\symbol{172}}
- \expandafter\def\csname simpleicon@tidyverseicon\endcsname {\simpleiconsmaponeone\symbol{173}}
- \expandafter\def\csname simpleicon@tietoevryicon\endcsname {\simpleiconsmaponeone\symbol{174}}
- \expandafter\def\csname simpleicon@tiktokicon\endcsname {\simpleiconsmaponeone\symbol{175}}
- \expandafter\def\csname simpleicon@tildapublishingicon\endcsname {\simpleiconsmaponeone\symbol{176}}
- \expandafter\def\csname simpleicon@tileicon\endcsname {\simpleiconsmaponeone\symbol{177}}
- \expandafter\def\csname simpleicon@timescaleicon\endcsname {\simpleiconsmaponeone\symbol{178}}
- \expandafter\def\csname simpleicon@tinaicon\endcsname {\simpleiconsmaponeone\symbol{179}}
- \expandafter\def\csname simpleicon@tindericon\endcsname {\simpleiconsmaponeone\symbol{180}}
- \expandafter\def\csname simpleicon@tindieicon\endcsname {\simpleiconsmaponeone\symbol{181}}
- \expandafter\def\csname simpleicon@tinkercadicon\endcsname {\simpleiconsmaponeone\symbol{182}}
- \expandafter\def\csname simpleicon@tinylettericon\endcsname {\simpleiconsmaponeone\symbol{183}}
- \expandafter\def\csname simpleicon@tistoryicon\endcsname {\simpleiconsmaponeone\symbol{184}}
- \expandafter\def\csname simpleicon@tldrawicon\endcsname {\simpleiconsmaponeone\symbol{185}}
- \expandafter\def\csname simpleicon@tmobileicon\endcsname {\simpleiconsmaponeone\symbol{186}}
- \expandafter\def\csname simpleicon@tmuxicon\endcsname {\simpleiconsmaponeone\symbol{187}}
- \expandafter\def\csname simpleicon@todoisticon\endcsname {\simpleiconsmaponeone\symbol{188}}
- \expandafter\def\csname simpleicon@togglicon\endcsname {\simpleiconsmaponeone\symbol{189}}
- \expandafter\def\csname simpleicon@toggltrackicon\endcsname {\simpleiconsmaponeone\symbol{190}}
- \expandafter\def\csname simpleicon@tokyometroicon\endcsname {\simpleiconsmaponeone\symbol{191}}
- \expandafter\def\csname simpleicon@tollicon\endcsname {\simpleiconsmaponeone\symbol{192}}
- \expandafter\def\csname simpleicon@tomlicon\endcsname {\simpleiconsmaponeone\symbol{193}}
- \expandafter\def\csname simpleicon@tomorrowlandicon\endcsname {\simpleiconsmaponeone\symbol{194}}
- \expandafter\def\csname simpleicon@tonicon\endcsname {\simpleiconsmaponeone\symbol{195}}
- \expandafter\def\csname simpleicon@topcodericon\endcsname {\simpleiconsmaponeone\symbol{196}}
- \expandafter\def\csname simpleicon@topdotggicon\endcsname {\simpleiconsmaponeone\symbol{197}}
- \expandafter\def\csname simpleicon@toptalicon\endcsname {\simpleiconsmaponeone\symbol{198}}
- \expandafter\def\csname simpleicon@torbrowsericon\endcsname {\simpleiconsmaponeone\symbol{199}}
- \expandafter\def\csname simpleicon@torprojecticon\endcsname {\simpleiconsmaponeone\symbol{200}}
- \expandafter\def\csname simpleicon@toshibaicon\endcsname {\simpleiconsmaponeone\symbol{201}}
- \expandafter\def\csname simpleicon@totvsicon\endcsname {\simpleiconsmaponeone\symbol{202}}
- \expandafter\def\csname simpleicon@tourboxicon\endcsname {\simpleiconsmaponeone\symbol{203}}
- \expandafter\def\csname simpleicon@toyotaicon\endcsname {\simpleiconsmaponeone\symbol{204}}
- \expandafter\def\csname simpleicon@tplinkicon\endcsname {\simpleiconsmaponeone\symbol{205}}
- \expandafter\def\csname simpleicon@tqdmicon\endcsname {\simpleiconsmaponeone\symbol{206}}
- \expandafter\def\csname simpleicon@tradingviewicon\endcsname {\simpleiconsmaponeone\symbol{207}}
- \expandafter\def\csname simpleicon@traefikmeshicon\endcsname {\simpleiconsmaponeone\symbol{208}}
- \expandafter\def\csname simpleicon@traefikproxyicon\endcsname {\simpleiconsmaponeone\symbol{209}}
- \expandafter\def\csname simpleicon@trailforksicon\endcsname {\simpleiconsmaponeone\symbol{210}}
- \expandafter\def\csname simpleicon@trainerroadicon\endcsname {\simpleiconsmaponeone\symbol{211}}
- \expandafter\def\csname simpleicon@trakticon\endcsname {\simpleiconsmaponeone\symbol{212}}
- \expandafter\def\csname simpleicon@transifexicon\endcsname {\simpleiconsmaponeone\symbol{213}}
- \expandafter\def\csname simpleicon@transmissionicon\endcsname {\simpleiconsmaponeone\symbol{214}}
- \expandafter\def\csname simpleicon@transportforirelandicon\endcsname {\simpleiconsmaponeone\symbol{215}}
- \expandafter\def\csname simpleicon@transportforlondonicon\endcsname {\simpleiconsmaponeone\symbol{216}}
- \expandafter\def\csname simpleicon@travisciicon\endcsname {\simpleiconsmaponeone\symbol{217}}
- \expandafter\def\csname simpleicon@treehouseicon\endcsname {\simpleiconsmaponeone\symbol{218}}
- \expandafter\def\csname simpleicon@trelloicon\endcsname {\simpleiconsmaponeone\symbol{219}}
- \expandafter\def\csname simpleicon@trendmicroicon\endcsname {\simpleiconsmaponeone\symbol{220}}
- \expandafter\def\csname simpleicon@treyarchicon\endcsname {\simpleiconsmaponeone\symbol{221}}
- \expandafter\def\csname simpleicon@tricentisicon\endcsname {\simpleiconsmaponeone\symbol{222}}
- \expandafter\def\csname simpleicon@triliumicon\endcsname {\simpleiconsmaponeone\symbol{223}}
- \expandafter\def\csname simpleicon@trillericon\endcsname {\simpleiconsmaponeone\symbol{224}}
- \expandafter\def\csname simpleicon@trillertvicon\endcsname {\simpleiconsmaponeone\symbol{225}}
- \expandafter\def\csname simpleicon@trinoicon\endcsname {\simpleiconsmaponeone\symbol{226}}
- \expandafter\def\csname simpleicon@tripadvisoricon\endcsname {\simpleiconsmaponeone\symbol{227}}
- \expandafter\def\csname simpleicon@tripdotcomicon\endcsname {\simpleiconsmaponeone\symbol{228}}
- \expandafter\def\csname simpleicon@trivyicon\endcsname {\simpleiconsmaponeone\symbol{229}}
- \expandafter\def\csname simpleicon@troveicon\endcsname {\simpleiconsmaponeone\symbol{230}}
- \expandafter\def\csname simpleicon@trpcicon\endcsname {\simpleiconsmaponeone\symbol{231}}
- \expandafter\def\csname simpleicon@truenasicon\endcsname {\simpleiconsmaponeone\symbol{232}}
- \expandafter\def\csname simpleicon@trueupicon\endcsname {\simpleiconsmaponeone\symbol{233}}
- \expandafter\def\csname simpleicon@truliaicon\endcsname {\simpleiconsmaponeone\symbol{234}}
- \expandafter\def\csname simpleicon@trustedshopsicon\endcsname {\simpleiconsmaponeone\symbol{235}}
- \expandafter\def\csname simpleicon@trustpiloticon\endcsname {\simpleiconsmaponeone\symbol{236}}
- \expandafter\def\csname simpleicon@tryhackmeicon\endcsname {\simpleiconsmaponeone\symbol{237}}
- \expandafter\def\csname simpleicon@tryitonlineicon\endcsname {\simpleiconsmaponeone\symbol{238}}
- \expandafter\def\csname simpleicon@tsnodeicon\endcsname {\simpleiconsmaponeone\symbol{239}}
- \expandafter\def\csname simpleicon@tubiicon\endcsname {\simpleiconsmaponeone\symbol{240}}
- \expandafter\def\csname simpleicon@tuiicon\endcsname {\simpleiconsmaponeone\symbol{241}}
- \expandafter\def\csname simpleicon@tumblricon\endcsname {\simpleiconsmaponeone\symbol{242}}
- \expandafter\def\csname simpleicon@tuneinicon\endcsname {\simpleiconsmaponeone\symbol{243}}
- \expandafter\def\csname simpleicon@turboicon\endcsname {\simpleiconsmaponeone\symbol{244}}
- \expandafter\def\csname simpleicon@turborepoicon\endcsname {\simpleiconsmaponeone\symbol{245}}
- \expandafter\def\csname simpleicon@turbosquidicon\endcsname {\simpleiconsmaponeone\symbol{246}}
- \expandafter\def\csname simpleicon@turkishairlinesicon\endcsname {\simpleiconsmaponeone\symbol{247}}
- \expandafter\def\csname simpleicon@tursoicon\endcsname {\simpleiconsmaponeone\symbol{248}}
- \expandafter\def\csname simpleicon@tutanotaicon\endcsname {\simpleiconsmaponeone\symbol{249}}
- \expandafter\def\csname simpleicon@tv4playicon\endcsname {\simpleiconsmaponeone\symbol{250}}
- \expandafter\def\csname simpleicon@tvtimeicon\endcsname {\simpleiconsmaponeone\symbol{251}}
- \expandafter\def\csname simpleicon@twilioicon\endcsname {\simpleiconsmaponeone\symbol{252}}
- \expandafter\def\csname simpleicon@twinklyicon\endcsname {\simpleiconsmaponeone\symbol{253}}
- \expandafter\def\csname simpleicon@twitchicon\endcsname {\simpleiconsmaponeone\symbol{254}}
- \expandafter\def\csname simpleicon@twittericon\endcsname {\simpleiconsmaponeone\symbol{255}}
- \expandafter\def\csname simpleicon@typeformicon\endcsname {\simpleiconsmaponetwo\symbol{0}}
- \expandafter\def\csname simpleicon@typericon\endcsname {\simpleiconsmaponetwo\symbol{1}}
- \expandafter\def\csname simpleicon@typescripticon\endcsname {\simpleiconsmaponetwo\symbol{2}}
- \expandafter\def\csname simpleicon@typo3icon\endcsname {\simpleiconsmaponetwo\symbol{3}}
- \expandafter\def\csname simpleicon@typsticon\endcsname {\simpleiconsmaponetwo\symbol{4}}
- \expandafter\def\csname simpleicon@ubericon\endcsname {\simpleiconsmaponetwo\symbol{5}}
- \expandafter\def\csname simpleicon@ubereatsicon\endcsname {\simpleiconsmaponetwo\symbol{6}}
- \expandafter\def\csname simpleicon@ubiquitiicon\endcsname {\simpleiconsmaponetwo\symbol{7}}
- \expandafter\def\csname simpleicon@ubisofticon\endcsname {\simpleiconsmaponetwo\symbol{8}}
- \expandafter\def\csname simpleicon@ublockoriginicon\endcsname {\simpleiconsmaponetwo\symbol{9}}
- \expandafter\def\csname simpleicon@ubuntuicon\endcsname {\simpleiconsmaponetwo\symbol{10}}
- \expandafter\def\csname simpleicon@ubuntumateicon\endcsname {\simpleiconsmaponetwo\symbol{11}}
- \expandafter\def\csname simpleicon@udacityicon\endcsname {\simpleiconsmaponetwo\symbol{12}}
- \expandafter\def\csname simpleicon@udemyicon\endcsname {\simpleiconsmaponetwo\symbol{13}}
- \expandafter\def\csname simpleicon@ufcicon\endcsname {\simpleiconsmaponetwo\symbol{14}}
- \expandafter\def\csname simpleicon@uikiticon\endcsname {\simpleiconsmaponetwo\symbol{15}}
- \expandafter\def\csname simpleicon@ululeicon\endcsname {\simpleiconsmaponetwo\symbol{16}}
- \expandafter\def\csname simpleicon@umamiicon\endcsname {\simpleiconsmaponetwo\symbol{17}}
- \expandafter\def\csname simpleicon@umbracoicon\endcsname {\simpleiconsmaponetwo\symbol{18}}
- \expandafter\def\csname simpleicon@umlicon\endcsname {\simpleiconsmaponetwo\symbol{19}}
- \expandafter\def\csname simpleicon@unacademyicon\endcsname {\simpleiconsmaponetwo\symbol{20}}
- \expandafter\def\csname simpleicon@underarmouricon\endcsname {\simpleiconsmaponetwo\symbol{21}}
- \expandafter\def\csname simpleicon@underscoredotjsicon\endcsname {\simpleiconsmaponetwo\symbol{22}}
- \expandafter\def\csname simpleicon@undertaleicon\endcsname {\simpleiconsmaponetwo\symbol{23}}
- \expandafter\def\csname simpleicon@unicodeicon\endcsname {\simpleiconsmaponetwo\symbol{24}}
- \expandafter\def\csname simpleicon@unilevericon\endcsname {\simpleiconsmaponetwo\symbol{25}}
- \expandafter\def\csname simpleicon@uniqloicon\endcsname {\simpleiconsmaponetwo\symbol{26}}
- \expandafter\def\csname simpleicon@uniqlojaicon\endcsname {\simpleiconsmaponetwo\symbol{27}}
- \expandafter\def\csname simpleicon@unitedairlinesicon\endcsname {\simpleiconsmaponetwo\symbol{28}}
- \expandafter\def\csname simpleicon@unitednationsicon\endcsname {\simpleiconsmaponetwo\symbol{29}}
- \expandafter\def\csname simpleicon@unityicon\endcsname {\simpleiconsmaponetwo\symbol{30}}
- \expandafter\def\csname simpleicon@unlicenseicon\endcsname {\simpleiconsmaponetwo\symbol{31}}
- \expandafter\def\csname simpleicon@unocssicon\endcsname {\simpleiconsmaponetwo\symbol{32}}
- \expandafter\def\csname simpleicon@unraidicon\endcsname {\simpleiconsmaponetwo\symbol{33}}
- \expandafter\def\csname simpleicon@unrealengineicon\endcsname {\simpleiconsmaponetwo\symbol{34}}
- \expandafter\def\csname simpleicon@unsplashicon\endcsname {\simpleiconsmaponetwo\symbol{35}}
- \expandafter\def\csname simpleicon@untappdicon\endcsname {\simpleiconsmaponetwo\symbol{36}}
- \expandafter\def\csname simpleicon@upcloudicon\endcsname {\simpleiconsmaponetwo\symbol{37}}
- \expandafter\def\csname simpleicon@upholdicon\endcsname {\simpleiconsmaponetwo\symbol{38}}
- \expandafter\def\csname simpleicon@uplabsicon\endcsname {\simpleiconsmaponetwo\symbol{39}}
- \expandafter\def\csname simpleicon@upptimeicon\endcsname {\simpleiconsmaponetwo\symbol{40}}
- \expandafter\def\csname simpleicon@upsicon\endcsname {\simpleiconsmaponetwo\symbol{41}}
- \expandafter\def\csname simpleicon@upstashicon\endcsname {\simpleiconsmaponetwo\symbol{42}}
- \expandafter\def\csname simpleicon@uptimekumaicon\endcsname {\simpleiconsmaponetwo\symbol{43}}
- \expandafter\def\csname simpleicon@uptoboxicon\endcsname {\simpleiconsmaponetwo\symbol{44}}
- \expandafter\def\csname simpleicon@upworkicon\endcsname {\simpleiconsmaponetwo\symbol{45}}
- \expandafter\def\csname simpleicon@uspsicon\endcsname {\simpleiconsmaponetwo\symbol{46}}
- \expandafter\def\csname simpleicon@utorrenticon\endcsname {\simpleiconsmaponetwo\symbol{47}}
- \expandafter\def\csname simpleicon@vicon\endcsname {\simpleiconsmaponetwo\symbol{48}}
- \expandafter\def\csname simpleicon@v2exicon\endcsname {\simpleiconsmaponetwo\symbol{49}}
- \expandafter\def\csname simpleicon@v8icon\endcsname {\simpleiconsmaponetwo\symbol{50}}
- \expandafter\def\csname simpleicon@vaadinicon\endcsname {\simpleiconsmaponetwo\symbol{51}}
- \expandafter\def\csname simpleicon@vagranticon\endcsname {\simpleiconsmaponetwo\symbol{52}}
- \expandafter\def\csname simpleicon@valaicon\endcsname {\simpleiconsmaponetwo\symbol{53}}
- \expandafter\def\csname simpleicon@valoranticon\endcsname {\simpleiconsmaponetwo\symbol{54}}
- \expandafter\def\csname simpleicon@valveicon\endcsname {\simpleiconsmaponetwo\symbol{55}}
- \expandafter\def\csname simpleicon@vaporicon\endcsname {\simpleiconsmaponetwo\symbol{56}}
- \expandafter\def\csname simpleicon@vaulticon\endcsname {\simpleiconsmaponetwo\symbol{57}}
- \expandafter\def\csname simpleicon@vaultwardenicon\endcsname {\simpleiconsmaponetwo\symbol{58}}
- \expandafter\def\csname simpleicon@vauxhallicon\endcsname {\simpleiconsmaponetwo\symbol{59}}
- \expandafter\def\csname simpleicon@vbulletinicon\endcsname {\simpleiconsmaponetwo\symbol{60}}
- \expandafter\def\csname simpleicon@vectaryicon\endcsname {\simpleiconsmaponetwo\symbol{61}}
- \expandafter\def\csname simpleicon@vectorlogozoneicon\endcsname {\simpleiconsmaponetwo\symbol{62}}
- \expandafter\def\csname simpleicon@vectorworksicon\endcsname {\simpleiconsmaponetwo\symbol{63}}
- \expandafter\def\csname simpleicon@veeamicon\endcsname {\simpleiconsmaponetwo\symbol{64}}
- \expandafter\def\csname simpleicon@veepeeicon\endcsname {\simpleiconsmaponetwo\symbol{65}}
- \expandafter\def\csname simpleicon@vegaicon\endcsname {\simpleiconsmaponetwo\symbol{66}}
- \expandafter\def\csname simpleicon@vegasicon\endcsname {\simpleiconsmaponetwo\symbol{67}}
- \expandafter\def\csname simpleicon@velogicon\endcsname {\simpleiconsmaponetwo\symbol{68}}
- \expandafter\def\csname simpleicon@venmoicon\endcsname {\simpleiconsmaponetwo\symbol{69}}
- \expandafter\def\csname simpleicon@vercelicon\endcsname {\simpleiconsmaponetwo\symbol{70}}
- \expandafter\def\csname simpleicon@verdaccioicon\endcsname {\simpleiconsmaponetwo\symbol{71}}
- \expandafter\def\csname simpleicon@veritasicon\endcsname {\simpleiconsmaponetwo\symbol{72}}
- \expandafter\def\csname simpleicon@verizonicon\endcsname {\simpleiconsmaponetwo\symbol{73}}
- \expandafter\def\csname simpleicon@vespaicon\endcsname {\simpleiconsmaponetwo\symbol{74}}
- \expandafter\def\csname simpleicon@vexxhosticon\endcsname {\simpleiconsmaponetwo\symbol{75}}
- \expandafter\def\csname simpleicon@vfairsicon\endcsname {\simpleiconsmaponetwo\symbol{76}}
- \expandafter\def\csname simpleicon@viadeoicon\endcsname {\simpleiconsmaponetwo\symbol{77}}
- \expandafter\def\csname simpleicon@viaplayicon\endcsname {\simpleiconsmaponetwo\symbol{78}}
- \expandafter\def\csname simpleicon@vibericon\endcsname {\simpleiconsmaponetwo\symbol{79}}
- \expandafter\def\csname simpleicon@vibloicon\endcsname {\simpleiconsmaponetwo\symbol{80}}
- \expandafter\def\csname simpleicon@victoriametricsicon\endcsname {\simpleiconsmaponetwo\symbol{81}}
- \expandafter\def\csname simpleicon@victronenergyicon\endcsname {\simpleiconsmaponetwo\symbol{82}}
- \expandafter\def\csname simpleicon@vimicon\endcsname {\simpleiconsmaponetwo\symbol{83}}
- \expandafter\def\csname simpleicon@vimeoicon\endcsname {\simpleiconsmaponetwo\symbol{84}}
- \expandafter\def\csname simpleicon@vimeolivestreamicon\endcsname {\simpleiconsmaponetwo\symbol{85}}
- \expandafter\def\csname simpleicon@virginicon\endcsname {\simpleiconsmaponetwo\symbol{86}}
- \expandafter\def\csname simpleicon@virginatlanticicon\endcsname {\simpleiconsmaponetwo\symbol{87}}
- \expandafter\def\csname simpleicon@virginmediaicon\endcsname {\simpleiconsmaponetwo\symbol{88}}
- \expandafter\def\csname simpleicon@virtualboxicon\endcsname {\simpleiconsmaponetwo\symbol{89}}
- \expandafter\def\csname simpleicon@virustotalicon\endcsname {\simpleiconsmaponetwo\symbol{90}}
- \expandafter\def\csname simpleicon@visaicon\endcsname {\simpleiconsmaponetwo\symbol{91}}
- \expandafter\def\csname simpleicon@visualbasicicon\endcsname {\simpleiconsmaponetwo\symbol{92}}
- \expandafter\def\csname simpleicon@visualstudioicon\endcsname {\simpleiconsmaponetwo\symbol{93}}
- \expandafter\def\csname simpleicon@visualstudioappcentericon\endcsname {\simpleiconsmaponetwo\symbol{94}}
- \expandafter\def\csname simpleicon@visualstudiocodeicon\endcsname {\simpleiconsmaponetwo\symbol{95}}
- \expandafter\def\csname simpleicon@viteicon\endcsname {\simpleiconsmaponetwo\symbol{96}}
- \expandafter\def\csname simpleicon@vitepressicon\endcsname {\simpleiconsmaponetwo\symbol{97}}
- \expandafter\def\csname simpleicon@vitessicon\endcsname {\simpleiconsmaponetwo\symbol{98}}
- \expandafter\def\csname simpleicon@vitesticon\endcsname {\simpleiconsmaponetwo\symbol{99}}
- \expandafter\def\csname simpleicon@vivaldiicon\endcsname {\simpleiconsmaponetwo\symbol{100}}
- \expandafter\def\csname simpleicon@vivawalleticon\endcsname {\simpleiconsmaponetwo\symbol{101}}
- \expandafter\def\csname simpleicon@vivinoicon\endcsname {\simpleiconsmaponetwo\symbol{102}}
- \expandafter\def\csname simpleicon@vivinticon\endcsname {\simpleiconsmaponetwo\symbol{103}}
- \expandafter\def\csname simpleicon@vivoicon\endcsname {\simpleiconsmaponetwo\symbol{104}}
- \expandafter\def\csname simpleicon@vkicon\endcsname {\simpleiconsmaponetwo\symbol{105}}
- \expandafter\def\csname simpleicon@vlcmediaplayericon\endcsname {\simpleiconsmaponetwo\symbol{106}}
- \expandafter\def\csname simpleicon@vmwareicon\endcsname {\simpleiconsmaponetwo\symbol{107}}
- \expandafter\def\csname simpleicon@vodafoneicon\endcsname {\simpleiconsmaponetwo\symbol{108}}
- \expandafter\def\csname simpleicon@voidlinuxicon\endcsname {\simpleiconsmaponetwo\symbol{109}}
- \expandafter\def\csname simpleicon@voipdotmsicon\endcsname {\simpleiconsmaponetwo\symbol{110}}
- \expandafter\def\csname simpleicon@volkswagenicon\endcsname {\simpleiconsmaponetwo\symbol{111}}
- \expandafter\def\csname simpleicon@volvoicon\endcsname {\simpleiconsmaponetwo\symbol{112}}
- \expandafter\def\csname simpleicon@vonageicon\endcsname {\simpleiconsmaponetwo\symbol{113}}
- \expandafter\def\csname simpleicon@vorondesignicon\endcsname {\simpleiconsmaponetwo\symbol{114}}
- \expandafter\def\csname simpleicon@vowpalwabbiticon\endcsname {\simpleiconsmaponetwo\symbol{115}}
- \expandafter\def\csname simpleicon@voxicon\endcsname {\simpleiconsmaponetwo\symbol{116}}
- \expandafter\def\csname simpleicon@vscoicon\endcsname {\simpleiconsmaponetwo\symbol{117}}
- \expandafter\def\csname simpleicon@vscodiumicon\endcsname {\simpleiconsmaponetwo\symbol{118}}
- \expandafter\def\csname simpleicon@vtexicon\endcsname {\simpleiconsmaponetwo\symbol{119}}
- \expandafter\def\csname simpleicon@vuedotjsicon\endcsname {\simpleiconsmaponetwo\symbol{120}}
- \expandafter\def\csname simpleicon@vuetifyicon\endcsname {\simpleiconsmaponetwo\symbol{121}}
- \expandafter\def\csname simpleicon@vulkanicon\endcsname {\simpleiconsmaponetwo\symbol{122}}
- \expandafter\def\csname simpleicon@vultricon\endcsname {\simpleiconsmaponetwo\symbol{123}}
- \expandafter\def\csname simpleicon@vyondicon\endcsname {\simpleiconsmaponetwo\symbol{124}}
- \expandafter\def\csname simpleicon@w3schoolsicon\endcsname {\simpleiconsmaponetwo\symbol{125}}
- \expandafter\def\csname simpleicon@wacomicon\endcsname {\simpleiconsmaponetwo\symbol{126}}
- \expandafter\def\csname simpleicon@wagtailicon\endcsname {\simpleiconsmaponetwo\symbol{127}}
- \expandafter\def\csname simpleicon@wailsicon\endcsname {\simpleiconsmaponetwo\symbol{128}}
- \expandafter\def\csname simpleicon@wakatimeicon\endcsname {\simpleiconsmaponetwo\symbol{129}}
- \expandafter\def\csname simpleicon@walkmanicon\endcsname {\simpleiconsmaponetwo\symbol{130}}
- \expandafter\def\csname simpleicon@wallabagicon\endcsname {\simpleiconsmaponetwo\symbol{131}}
- \expandafter\def\csname simpleicon@walletconnecticon\endcsname {\simpleiconsmaponetwo\symbol{132}}
- \expandafter\def\csname simpleicon@walmarticon\endcsname {\simpleiconsmaponetwo\symbol{133}}
- \expandafter\def\csname simpleicon@wantedlyicon\endcsname {\simpleiconsmaponetwo\symbol{134}}
- \expandafter\def\csname simpleicon@wappalyzericon\endcsname {\simpleiconsmaponetwo\symbol{135}}
- \expandafter\def\csname simpleicon@warnerbrosicon\endcsname {\simpleiconsmaponetwo\symbol{136}}
- \expandafter\def\csname simpleicon@warpicon\endcsname {\simpleiconsmaponetwo\symbol{137}}
- \expandafter\def\csname simpleicon@wasabiicon\endcsname {\simpleiconsmaponetwo\symbol{138}}
- \expandafter\def\csname simpleicon@wasmcloudicon\endcsname {\simpleiconsmaponetwo\symbol{139}}
- \expandafter\def\csname simpleicon@wasmericon\endcsname {\simpleiconsmaponetwo\symbol{140}}
- \expandafter\def\csname simpleicon@watchtowericon\endcsname {\simpleiconsmaponetwo\symbol{141}}
- \expandafter\def\csname simpleicon@wattpadicon\endcsname {\simpleiconsmaponetwo\symbol{142}}
- \expandafter\def\csname simpleicon@waylandicon\endcsname {\simpleiconsmaponetwo\symbol{143}}
- \expandafter\def\csname simpleicon@wazeicon\endcsname {\simpleiconsmaponetwo\symbol{144}}
- \expandafter\def\csname simpleicon@wazirxicon\endcsname {\simpleiconsmaponetwo\symbol{145}}
- \expandafter\def\csname simpleicon@wearosicon\endcsname {\simpleiconsmaponetwo\symbol{146}}
- \expandafter\def\csname simpleicon@weasylicon\endcsname {\simpleiconsmaponetwo\symbol{147}}
- \expandafter\def\csname simpleicon@web3dotjsicon\endcsname {\simpleiconsmaponetwo\symbol{148}}
- \expandafter\def\csname simpleicon@webassemblyicon\endcsname {\simpleiconsmaponetwo\symbol{149}}
- \expandafter\def\csname simpleicon@webauthnicon\endcsname {\simpleiconsmaponetwo\symbol{150}}
- \expandafter\def\csname simpleicon@webcomponentsdotorgicon\endcsname {\simpleiconsmaponetwo\symbol{151}}
- \expandafter\def\csname simpleicon@webdriverioicon\endcsname {\simpleiconsmaponetwo\symbol{152}}
- \expandafter\def\csname simpleicon@webexicon\endcsname {\simpleiconsmaponetwo\symbol{153}}
- \expandafter\def\csname simpleicon@webflowicon\endcsname {\simpleiconsmaponetwo\symbol{154}}
- \expandafter\def\csname simpleicon@webglicon\endcsname {\simpleiconsmaponetwo\symbol{155}}
- \expandafter\def\csname simpleicon@weblateicon\endcsname {\simpleiconsmaponetwo\symbol{156}}
- \expandafter\def\csname simpleicon@webminicon\endcsname {\simpleiconsmaponetwo\symbol{157}}
- \expandafter\def\csname simpleicon@webmoneyicon\endcsname {\simpleiconsmaponetwo\symbol{158}}
- \expandafter\def\csname simpleicon@webpackicon\endcsname {\simpleiconsmaponetwo\symbol{159}}
- \expandafter\def\csname simpleicon@webrtcicon\endcsname {\simpleiconsmaponetwo\symbol{160}}
- \expandafter\def\csname simpleicon@webstormicon\endcsname {\simpleiconsmaponetwo\symbol{161}}
- \expandafter\def\csname simpleicon@webtoonicon\endcsname {\simpleiconsmaponetwo\symbol{162}}
- \expandafter\def\csname simpleicon@webtreesicon\endcsname {\simpleiconsmaponetwo\symbol{163}}
- \expandafter\def\csname simpleicon@wechaticon\endcsname {\simpleiconsmaponetwo\symbol{164}}
- \expandafter\def\csname simpleicon@wegameicon\endcsname {\simpleiconsmaponetwo\symbol{165}}
- \expandafter\def\csname simpleicon@weightsandbiasesicon\endcsname {\simpleiconsmaponetwo\symbol{166}}
- \expandafter\def\csname simpleicon@welcometothejungleicon\endcsname {\simpleiconsmaponetwo\symbol{167}}
- \expandafter\def\csname simpleicon@wellfoundicon\endcsname {\simpleiconsmaponetwo\symbol{168}}
- \expandafter\def\csname simpleicon@wellsfargoicon\endcsname {\simpleiconsmaponetwo\symbol{169}}
- \expandafter\def\csname simpleicon@wemoicon\endcsname {\simpleiconsmaponetwo\symbol{170}}
- \expandafter\def\csname simpleicon@westerndigitalicon\endcsname {\simpleiconsmaponetwo\symbol{171}}
- \expandafter\def\csname simpleicon@westernunionicon\endcsname {\simpleiconsmaponetwo\symbol{172}}
- \expandafter\def\csname simpleicon@wetransfericon\endcsname {\simpleiconsmaponetwo\symbol{173}}
- \expandafter\def\csname simpleicon@weztermicon\endcsname {\simpleiconsmaponetwo\symbol{174}}
- \expandafter\def\csname simpleicon@whatsappicon\endcsname {\simpleiconsmaponetwo\symbol{175}}
- \expandafter\def\csname simpleicon@wheniworkicon\endcsname {\simpleiconsmaponetwo\symbol{176}}
- \expandafter\def\csname simpleicon@wiiicon\endcsname {\simpleiconsmaponetwo\symbol{177}}
- \expandafter\def\csname simpleicon@wiiuicon\endcsname {\simpleiconsmaponetwo\symbol{178}}
- \expandafter\def\csname simpleicon@wikidataicon\endcsname {\simpleiconsmaponetwo\symbol{179}}
- \expandafter\def\csname simpleicon@wikidotggicon\endcsname {\simpleiconsmaponetwo\symbol{180}}
- \expandafter\def\csname simpleicon@wikidotjsicon\endcsname {\simpleiconsmaponetwo\symbol{181}}
- \expandafter\def\csname simpleicon@wikimediacommonsicon\endcsname {\simpleiconsmaponetwo\symbol{182}}
- \expandafter\def\csname simpleicon@wikimediafoundationicon\endcsname {\simpleiconsmaponetwo\symbol{183}}
- \expandafter\def\csname simpleicon@wikipediaicon\endcsname {\simpleiconsmaponetwo\symbol{184}}
- \expandafter\def\csname simpleicon@wikiquoteicon\endcsname {\simpleiconsmaponetwo\symbol{185}}
- \expandafter\def\csname simpleicon@wikivoyageicon\endcsname {\simpleiconsmaponetwo\symbol{186}}
- \expandafter\def\csname simpleicon@winampicon\endcsname {\simpleiconsmaponetwo\symbol{187}}
- \expandafter\def\csname simpleicon@windowsicon\endcsname {\simpleiconsmaponetwo\symbol{188}}
- \expandafter\def\csname simpleicon@windows10icon\endcsname {\simpleiconsmaponetwo\symbol{189}}
- \expandafter\def\csname simpleicon@windows95icon\endcsname {\simpleiconsmaponetwo\symbol{190}}
- \expandafter\def\csname simpleicon@windowsterminalicon\endcsname {\simpleiconsmaponetwo\symbol{191}}
- \expandafter\def\csname simpleicon@windowsxpicon\endcsname {\simpleiconsmaponetwo\symbol{192}}
- \expandafter\def\csname simpleicon@wiproicon\endcsname {\simpleiconsmaponetwo\symbol{193}}
- \expandafter\def\csname simpleicon@wireicon\endcsname {\simpleiconsmaponetwo\symbol{194}}
- \expandafter\def\csname simpleicon@wireguardicon\endcsname {\simpleiconsmaponetwo\symbol{195}}
- \expandafter\def\csname simpleicon@wiresharkicon\endcsname {\simpleiconsmaponetwo\symbol{196}}
- \expandafter\def\csname simpleicon@wiseicon\endcsname {\simpleiconsmaponetwo\symbol{197}}
- \expandafter\def\csname simpleicon@wishicon\endcsname {\simpleiconsmaponetwo\symbol{198}}
- \expandafter\def\csname simpleicon@wistiaicon\endcsname {\simpleiconsmaponetwo\symbol{199}}
- \expandafter\def\csname simpleicon@wixicon\endcsname {\simpleiconsmaponetwo\symbol{200}}
- \expandafter\def\csname simpleicon@wizzairicon\endcsname {\simpleiconsmaponetwo\symbol{201}}
- \expandafter\def\csname simpleicon@wolframicon\endcsname {\simpleiconsmaponetwo\symbol{202}}
- \expandafter\def\csname simpleicon@wolframlanguageicon\endcsname {\simpleiconsmaponetwo\symbol{203}}
- \expandafter\def\csname simpleicon@wolframmathematicaicon\endcsname {\simpleiconsmaponetwo\symbol{204}}
- \expandafter\def\csname simpleicon@wondershareicon\endcsname {\simpleiconsmaponetwo\symbol{205}}
- \expandafter\def\csname simpleicon@wondersharefilmoraicon\endcsname {\simpleiconsmaponetwo\symbol{206}}
- \expandafter\def\csname simpleicon@wooicon\endcsname {\simpleiconsmaponetwo\symbol{207}}
- \expandafter\def\csname simpleicon@woocommerceicon\endcsname {\simpleiconsmaponetwo\symbol{208}}
- \expandafter\def\csname simpleicon@wordpressicon\endcsname {\simpleiconsmaponetwo\symbol{209}}
- \expandafter\def\csname simpleicon@workplaceicon\endcsname {\simpleiconsmaponetwo\symbol{210}}
- \expandafter\def\csname simpleicon@worldhealthorganizationicon\endcsname {\simpleiconsmaponetwo\symbol{211}}
- \expandafter\def\csname simpleicon@wpengineicon\endcsname {\simpleiconsmaponetwo\symbol{212}}
- \expandafter\def\csname simpleicon@wpexplorericon\endcsname {\simpleiconsmaponetwo\symbol{213}}
- \expandafter\def\csname simpleicon@wprocketicon\endcsname {\simpleiconsmaponetwo\symbol{214}}
- \expandafter\def\csname simpleicon@writedotasicon\endcsname {\simpleiconsmaponetwo\symbol{215}}
- \expandafter\def\csname simpleicon@wweicon\endcsname {\simpleiconsmaponetwo\symbol{216}}
- \expandafter\def\csname simpleicon@wwiseicon\endcsname {\simpleiconsmaponetwo\symbol{217}}
- \expandafter\def\csname simpleicon@wyzeicon\endcsname {\simpleiconsmaponetwo\symbol{218}}
- \expandafter\def\csname simpleicon@xicon\endcsname {\simpleiconsmaponetwo\symbol{219}}
- \expandafter\def\csname simpleicon@xamarinicon\endcsname {\simpleiconsmaponetwo\symbol{220}}
- \expandafter\def\csname simpleicon@xamlicon\endcsname {\simpleiconsmaponetwo\symbol{221}}
- \expandafter\def\csname simpleicon@xamppicon\endcsname {\simpleiconsmaponetwo\symbol{222}}
- \expandafter\def\csname simpleicon@xboxicon\endcsname {\simpleiconsmaponetwo\symbol{223}}
- \expandafter\def\csname simpleicon@xcodeicon\endcsname {\simpleiconsmaponetwo\symbol{224}}
- \expandafter\def\csname simpleicon@xdadevelopersicon\endcsname {\simpleiconsmaponetwo\symbol{225}}
- \expandafter\def\csname simpleicon@xdotorgicon\endcsname {\simpleiconsmaponetwo\symbol{226}}
- \expandafter\def\csname simpleicon@xenditicon\endcsname {\simpleiconsmaponetwo\symbol{227}}
- \expandafter\def\csname simpleicon@xeroicon\endcsname {\simpleiconsmaponetwo\symbol{228}}
- \expandafter\def\csname simpleicon@xfceicon\endcsname {\simpleiconsmaponetwo\symbol{229}}
- \expandafter\def\csname simpleicon@xiaohongshuicon\endcsname {\simpleiconsmaponetwo\symbol{230}}
- \expandafter\def\csname simpleicon@xiaomiicon\endcsname {\simpleiconsmaponetwo\symbol{231}}
- \expandafter\def\csname simpleicon@xingicon\endcsname {\simpleiconsmaponetwo\symbol{232}}
- \expandafter\def\csname simpleicon@xmppicon\endcsname {\simpleiconsmaponetwo\symbol{233}}
- \expandafter\def\csname simpleicon@xoicon\endcsname {\simpleiconsmaponetwo\symbol{234}}
- \expandafter\def\csname simpleicon@xrpicon\endcsname {\simpleiconsmaponetwo\symbol{235}}
- \expandafter\def\csname simpleicon@xspliticon\endcsname {\simpleiconsmaponetwo\symbol{236}}
- \expandafter\def\csname simpleicon@xstateicon\endcsname {\simpleiconsmaponetwo\symbol{237}}
- \expandafter\def\csname simpleicon@yaleicon\endcsname {\simpleiconsmaponetwo\symbol{238}}
- \expandafter\def\csname simpleicon@yamahacorporationicon\endcsname {\simpleiconsmaponetwo\symbol{239}}
- \expandafter\def\csname simpleicon@yamahamotorcorporationicon\endcsname {\simpleiconsmaponetwo\symbol{240}}
- \expandafter\def\csname simpleicon@yamlicon\endcsname {\simpleiconsmaponetwo\symbol{241}}
- \expandafter\def\csname simpleicon@yammericon\endcsname {\simpleiconsmaponetwo\symbol{242}}
- \expandafter\def\csname simpleicon@yandexcloudicon\endcsname {\simpleiconsmaponetwo\symbol{243}}
- \expandafter\def\csname simpleicon@yarnicon\endcsname {\simpleiconsmaponetwo\symbol{244}}
- \expandafter\def\csname simpleicon@ycombinatoricon\endcsname {\simpleiconsmaponetwo\symbol{245}}
- \expandafter\def\csname simpleicon@yelpicon\endcsname {\simpleiconsmaponetwo\symbol{246}}
- \expandafter\def\csname simpleicon@yetiicon\endcsname {\simpleiconsmaponetwo\symbol{247}}
- \expandafter\def\csname simpleicon@yoasticon\endcsname {\simpleiconsmaponetwo\symbol{248}}
- \expandafter\def\csname simpleicon@youtubeicon\endcsname {\simpleiconsmaponetwo\symbol{249}}
- \expandafter\def\csname simpleicon@youtubegamingicon\endcsname {\simpleiconsmaponetwo\symbol{250}}
- \expandafter\def\csname simpleicon@youtubekidsicon\endcsname {\simpleiconsmaponetwo\symbol{251}}
- \expandafter\def\csname simpleicon@youtubemusicicon\endcsname {\simpleiconsmaponetwo\symbol{252}}
- \expandafter\def\csname simpleicon@youtubeshortsicon\endcsname {\simpleiconsmaponetwo\symbol{253}}
- \expandafter\def\csname simpleicon@youtubestudioicon\endcsname {\simpleiconsmaponetwo\symbol{254}}
- \expandafter\def\csname simpleicon@youtubetvicon\endcsname {\simpleiconsmaponetwo\symbol{255}}
- \expandafter\def\csname simpleicon@yricon\endcsname {\simpleiconsmaponethree\symbol{0}}
- \expandafter\def\csname simpleicon@yubicoicon\endcsname {\simpleiconsmaponethree\symbol{1}}
- \expandafter\def\csname simpleicon@zabkaicon\endcsname {\simpleiconsmaponethree\symbol{2}}
- \expandafter\def\csname simpleicon@zaimicon\endcsname {\simpleiconsmaponethree\symbol{3}}
- \expandafter\def\csname simpleicon@zalandoicon\endcsname {\simpleiconsmaponethree\symbol{4}}
- \expandafter\def\csname simpleicon@zaloicon\endcsname {\simpleiconsmaponethree\symbol{5}}
- \expandafter\def\csname simpleicon@zapicon\endcsname {\simpleiconsmaponethree\symbol{6}}
- \expandafter\def\csname simpleicon@zapiericon\endcsname {\simpleiconsmaponethree\symbol{7}}
- \expandafter\def\csname simpleicon@zaraicon\endcsname {\simpleiconsmaponethree\symbol{8}}
- \expandafter\def\csname simpleicon@zazzleicon\endcsname {\simpleiconsmaponethree\symbol{9}}
- \expandafter\def\csname simpleicon@zcashicon\endcsname {\simpleiconsmaponethree\symbol{10}}
- \expandafter\def\csname simpleicon@zcoolicon\endcsname {\simpleiconsmaponethree\symbol{11}}
- \expandafter\def\csname simpleicon@zdficon\endcsname {\simpleiconsmaponethree\symbol{12}}
- \expandafter\def\csname simpleicon@zebpayicon\endcsname {\simpleiconsmaponethree\symbol{13}}
- \expandafter\def\csname simpleicon@zebratechnologiesicon\endcsname {\simpleiconsmaponethree\symbol{14}}
- \expandafter\def\csname simpleicon@zedindustriesicon\endcsname {\simpleiconsmaponethree\symbol{15}}
- \expandafter\def\csname simpleicon@zelleicon\endcsname {\simpleiconsmaponethree\symbol{16}}
- \expandafter\def\csname simpleicon@zendicon\endcsname {\simpleiconsmaponethree\symbol{17}}
- \expandafter\def\csname simpleicon@zendeskicon\endcsname {\simpleiconsmaponethree\symbol{18}}
- \expandafter\def\csname simpleicon@zennicon\endcsname {\simpleiconsmaponethree\symbol{19}}
- \expandafter\def\csname simpleicon@zenodoicon\endcsname {\simpleiconsmaponethree\symbol{20}}
- \expandafter\def\csname simpleicon@zensaricon\endcsname {\simpleiconsmaponethree\symbol{21}}
- \expandafter\def\csname simpleicon@zerodhaicon\endcsname {\simpleiconsmaponethree\symbol{22}}
- \expandafter\def\csname simpleicon@zerplyicon\endcsname {\simpleiconsmaponethree\symbol{23}}
- \expandafter\def\csname simpleicon@zettlricon\endcsname {\simpleiconsmaponethree\symbol{24}}
- \expandafter\def\csname simpleicon@zhihuicon\endcsname {\simpleiconsmaponethree\symbol{25}}
- \expandafter\def\csname simpleicon@zigicon\endcsname {\simpleiconsmaponethree\symbol{26}}
- \expandafter\def\csname simpleicon@zigbeeicon\endcsname {\simpleiconsmaponethree\symbol{27}}
- \expandafter\def\csname simpleicon@ziggoicon\endcsname {\simpleiconsmaponethree\symbol{28}}
- \expandafter\def\csname simpleicon@zilchicon\endcsname {\simpleiconsmaponethree\symbol{29}}
- \expandafter\def\csname simpleicon@zillowicon\endcsname {\simpleiconsmaponethree\symbol{30}}
- \expandafter\def\csname simpleicon@zincsearchicon\endcsname {\simpleiconsmaponethree\symbol{31}}
- \expandafter\def\csname simpleicon@zingaticon\endcsname {\simpleiconsmaponethree\symbol{32}}
- \expandafter\def\csname simpleicon@zodicon\endcsname {\simpleiconsmaponethree\symbol{33}}
- \expandafter\def\csname simpleicon@zohoicon\endcsname {\simpleiconsmaponethree\symbol{34}}
- \expandafter\def\csname simpleicon@zoipericon\endcsname {\simpleiconsmaponethree\symbol{35}}
- \expandafter\def\csname simpleicon@zomatoicon\endcsname {\simpleiconsmaponethree\symbol{36}}
- \expandafter\def\csname simpleicon@zoomicon\endcsname {\simpleiconsmaponethree\symbol{37}}
- \expandafter\def\csname simpleicon@zorinicon\endcsname {\simpleiconsmaponethree\symbol{38}}
- \expandafter\def\csname simpleicon@zoteroicon\endcsname {\simpleiconsmaponethree\symbol{39}}
- \expandafter\def\csname simpleicon@zshicon\endcsname {\simpleiconsmaponethree\symbol{40}}
- \expandafter\def\csname simpleicon@zulipicon\endcsname {\simpleiconsmaponethree\symbol{41}}
- \expandafter\def\csname simpleicon@zyteicon\endcsname {\simpleiconsmaponethree\symbol{42}} \ No newline at end of file
+ \expandafter\def\csname simpleicon@1dot1dot1dot1icon\endcsname {\simpleiconsmapone\symbol{1}}
+ \expandafter\def\csname simpleicon@1panelicon\endcsname {\simpleiconsmapone\symbol{2}}
+ \expandafter\def\csname simpleicon@1passwordicon\endcsname {\simpleiconsmapone\symbol{3}}
+ \expandafter\def\csname simpleicon@2fasicon\endcsname {\simpleiconsmapone\symbol{4}}
+ \expandafter\def\csname simpleicon@2kicon\endcsname {\simpleiconsmapone\symbol{5}}
+ \expandafter\def\csname simpleicon@365datascienceicon\endcsname {\simpleiconsmapone\symbol{6}}
+ \expandafter\def\csname simpleicon@3micon\endcsname {\simpleiconsmapone\symbol{7}}
+ \expandafter\def\csname simpleicon@42icon\endcsname {\simpleiconsmapone\symbol{8}}
+ \expandafter\def\csname simpleicon@4chanicon\endcsname {\simpleiconsmapone\symbol{9}}
+ \expandafter\def\csname simpleicon@4dicon\endcsname {\simpleiconsmapone\symbol{10}}
+ \expandafter\def\csname simpleicon@500pxicon\endcsname {\simpleiconsmapone\symbol{11}}
+ \expandafter\def\csname simpleicon@7zipicon\endcsname {\simpleiconsmapone\symbol{12}}
+ \expandafter\def\csname simpleicon@99designsicon\endcsname {\simpleiconsmapone\symbol{13}}
+ \expandafter\def\csname simpleicon@9gagicon\endcsname {\simpleiconsmapone\symbol{14}}
+ \expandafter\def\csname simpleicon@abbotticon\endcsname {\simpleiconsmapone\symbol{15}}
+ \expandafter\def\csname simpleicon@abbrobotstudioicon\endcsname {\simpleiconsmapone\symbol{16}}
+ \expandafter\def\csname simpleicon@abbvieicon\endcsname {\simpleiconsmapone\symbol{17}}
+ \expandafter\def\csname simpleicon@aboutdotmeicon\endcsname {\simpleiconsmapone\symbol{18}}
+ \expandafter\def\csname simpleicon@abstracticon\endcsname {\simpleiconsmapone\symbol{19}}
+ \expandafter\def\csname simpleicon@abusedotchicon\endcsname {\simpleiconsmapone\symbol{20}}
+ \expandafter\def\csname simpleicon@academiaicon\endcsname {\simpleiconsmapone\symbol{21}}
+ \expandafter\def\csname simpleicon@accentureicon\endcsname {\simpleiconsmapone\symbol{22}}
+ \expandafter\def\csname simpleicon@accusofticon\endcsname {\simpleiconsmapone\symbol{23}}
+ \expandafter\def\csname simpleicon@acericon\endcsname {\simpleiconsmapone\symbol{24}}
+ \expandafter\def\csname simpleicon@acmicon\endcsname {\simpleiconsmapone\symbol{25}}
+ \expandafter\def\csname simpleicon@actigraphicon\endcsname {\simpleiconsmapone\symbol{26}}
+ \expandafter\def\csname simpleicon@activisionicon\endcsname {\simpleiconsmapone\symbol{27}}
+ \expandafter\def\csname simpleicon@activitypubicon\endcsname {\simpleiconsmapone\symbol{28}}
+ \expandafter\def\csname simpleicon@actixicon\endcsname {\simpleiconsmapone\symbol{29}}
+ \expandafter\def\csname simpleicon@acuraicon\endcsname {\simpleiconsmapone\symbol{30}}
+ \expandafter\def\csname simpleicon@adafruiticon\endcsname {\simpleiconsmapone\symbol{31}}
+ \expandafter\def\csname simpleicon@adblockicon\endcsname {\simpleiconsmapone\symbol{32}}
+ \expandafter\def\csname simpleicon@adblockplusicon\endcsname {\simpleiconsmapone\symbol{33}}
+ \expandafter\def\csname simpleicon@adguardicon\endcsname {\simpleiconsmapone\symbol{34}}
+ \expandafter\def\csname simpleicon@adidasicon\endcsname {\simpleiconsmapone\symbol{35}}
+ \expandafter\def\csname simpleicon@adminericon\endcsname {\simpleiconsmapone\symbol{36}}
+ \expandafter\def\csname simpleicon@adobeicon\endcsname {\simpleiconsmapone\symbol{37}}
+ \expandafter\def\csname simpleicon@adobeacrobatreadericon\endcsname {\simpleiconsmapone\symbol{38}}
+ \expandafter\def\csname simpleicon@adobeaftereffectsicon\endcsname {\simpleiconsmapone\symbol{39}}
+ \expandafter\def\csname simpleicon@adobeauditionicon\endcsname {\simpleiconsmapone\symbol{40}}
+ \expandafter\def\csname simpleicon@adobecreativecloudicon\endcsname {\simpleiconsmapone\symbol{41}}
+ \expandafter\def\csname simpleicon@adobedreamweavericon\endcsname {\simpleiconsmapone\symbol{42}}
+ \expandafter\def\csname simpleicon@adobefontsicon\endcsname {\simpleiconsmapone\symbol{43}}
+ \expandafter\def\csname simpleicon@adobeillustratoricon\endcsname {\simpleiconsmapone\symbol{44}}
+ \expandafter\def\csname simpleicon@adobeindesignicon\endcsname {\simpleiconsmapone\symbol{45}}
+ \expandafter\def\csname simpleicon@adobelightroomicon\endcsname {\simpleiconsmapone\symbol{46}}
+ \expandafter\def\csname simpleicon@adobelightroomclassicicon\endcsname {\simpleiconsmapone\symbol{47}}
+ \expandafter\def\csname simpleicon@adobephotoshopicon\endcsname {\simpleiconsmapone\symbol{48}}
+ \expandafter\def\csname simpleicon@adobepremiereproicon\endcsname {\simpleiconsmapone\symbol{49}}
+ \expandafter\def\csname simpleicon@adobexdicon\endcsname {\simpleiconsmapone\symbol{50}}
+ \expandafter\def\csname simpleicon@adonisjsicon\endcsname {\simpleiconsmapone\symbol{51}}
+ \expandafter\def\csname simpleicon@adpicon\endcsname {\simpleiconsmapone\symbol{52}}
+ \expandafter\def\csname simpleicon@adrollicon\endcsname {\simpleiconsmapone\symbol{53}}
+ \expandafter\def\csname simpleicon@adventofcodeicon\endcsname {\simpleiconsmapone\symbol{54}}
+ \expandafter\def\csname simpleicon@adyenicon\endcsname {\simpleiconsmapone\symbol{55}}
+ \expandafter\def\csname simpleicon@aegisauthenticatoricon\endcsname {\simpleiconsmapone\symbol{56}}
+ \expandafter\def\csname simpleicon@aerlingusicon\endcsname {\simpleiconsmapone\symbol{57}}
+ \expandafter\def\csname simpleicon@aerofloticon\endcsname {\simpleiconsmapone\symbol{58}}
+ \expandafter\def\csname simpleicon@aeromexicoicon\endcsname {\simpleiconsmapone\symbol{59}}
+ \expandafter\def\csname simpleicon@aerospikeicon\endcsname {\simpleiconsmapone\symbol{60}}
+ \expandafter\def\csname simpleicon@aewicon\endcsname {\simpleiconsmapone\symbol{61}}
+ \expandafter\def\csname simpleicon@affineicon\endcsname {\simpleiconsmapone\symbol{62}}
+ \expandafter\def\csname simpleicon@affinityicon\endcsname {\simpleiconsmapone\symbol{63}}
+ \expandafter\def\csname simpleicon@affinitydesignericon\endcsname {\simpleiconsmapone\symbol{64}}
+ \expandafter\def\csname simpleicon@affinityphotoicon\endcsname {\simpleiconsmapone\symbol{65}}
+ \expandafter\def\csname simpleicon@affinitypublishericon\endcsname {\simpleiconsmapone\symbol{66}}
+ \expandafter\def\csname simpleicon@aframeicon\endcsname {\simpleiconsmapone\symbol{67}}
+ \expandafter\def\csname simpleicon@afterpayicon\endcsname {\simpleiconsmapone\symbol{68}}
+ \expandafter\def\csname simpleicon@agoraicon\endcsname {\simpleiconsmapone\symbol{69}}
+ \expandafter\def\csname simpleicon@aibicon\endcsname {\simpleiconsmapone\symbol{70}}
+ \expandafter\def\csname simpleicon@aidungeonicon\endcsname {\simpleiconsmapone\symbol{71}}
+ \expandafter\def\csname simpleicon@aiohttpicon\endcsname {\simpleiconsmapone\symbol{72}}
+ \expandafter\def\csname simpleicon@aiqfomeicon\endcsname {\simpleiconsmapone\symbol{73}}
+ \expandafter\def\csname simpleicon@airasiaicon\endcsname {\simpleiconsmapone\symbol{74}}
+ \expandafter\def\csname simpleicon@airbnbicon\endcsname {\simpleiconsmapone\symbol{75}}
+ \expandafter\def\csname simpleicon@airbrakeicon\endcsname {\simpleiconsmapone\symbol{76}}
+ \expandafter\def\csname simpleicon@airbusicon\endcsname {\simpleiconsmapone\symbol{77}}
+ \expandafter\def\csname simpleicon@airbyteicon\endcsname {\simpleiconsmapone\symbol{78}}
+ \expandafter\def\csname simpleicon@aircallicon\endcsname {\simpleiconsmapone\symbol{79}}
+ \expandafter\def\csname simpleicon@aircanadaicon\endcsname {\simpleiconsmapone\symbol{80}}
+ \expandafter\def\csname simpleicon@airchinaicon\endcsname {\simpleiconsmapone\symbol{81}}
+ \expandafter\def\csname simpleicon@airfranceicon\endcsname {\simpleiconsmapone\symbol{82}}
+ \expandafter\def\csname simpleicon@airindiaicon\endcsname {\simpleiconsmapone\symbol{83}}
+ \expandafter\def\csname simpleicon@airplayaudioicon\endcsname {\simpleiconsmapone\symbol{84}}
+ \expandafter\def\csname simpleicon@airplayvideoicon\endcsname {\simpleiconsmapone\symbol{85}}
+ \expandafter\def\csname simpleicon@airtableicon\endcsname {\simpleiconsmapone\symbol{86}}
+ \expandafter\def\csname simpleicon@airtelicon\endcsname {\simpleiconsmapone\symbol{87}}
+ \expandafter\def\csname simpleicon@airtransaticon\endcsname {\simpleiconsmapone\symbol{88}}
+ \expandafter\def\csname simpleicon@ajvicon\endcsname {\simpleiconsmapone\symbol{89}}
+ \expandafter\def\csname simpleicon@akamaiicon\endcsname {\simpleiconsmapone\symbol{90}}
+ \expandafter\def\csname simpleicon@akauntingicon\endcsname {\simpleiconsmapone\symbol{91}}
+ \expandafter\def\csname simpleicon@akiflowicon\endcsname {\simpleiconsmapone\symbol{92}}
+ \expandafter\def\csname simpleicon@alacrittyicon\endcsname {\simpleiconsmapone\symbol{93}}
+ \expandafter\def\csname simpleicon@alamyicon\endcsname {\simpleiconsmapone\symbol{94}}
+ \expandafter\def\csname simpleicon@albertheijnicon\endcsname {\simpleiconsmapone\symbol{95}}
+ \expandafter\def\csname simpleicon@albyicon\endcsname {\simpleiconsmapone\symbol{96}}
+ \expandafter\def\csname simpleicon@alchemyicon\endcsname {\simpleiconsmapone\symbol{97}}
+ \expandafter\def\csname simpleicon@aldinordicon\endcsname {\simpleiconsmapone\symbol{98}}
+ \expandafter\def\csname simpleicon@aldisudicon\endcsname {\simpleiconsmapone\symbol{99}}
+ \expandafter\def\csname simpleicon@alfaromeoicon\endcsname {\simpleiconsmapone\symbol{100}}
+ \expandafter\def\csname simpleicon@alfredicon\endcsname {\simpleiconsmapone\symbol{101}}
+ \expandafter\def\csname simpleicon@algoliaicon\endcsname {\simpleiconsmapone\symbol{102}}
+ \expandafter\def\csname simpleicon@algorandicon\endcsname {\simpleiconsmapone\symbol{103}}
+ \expandafter\def\csname simpleicon@alibabacloudicon\endcsname {\simpleiconsmapone\symbol{104}}
+ \expandafter\def\csname simpleicon@alibabadotcomicon\endcsname {\simpleiconsmapone\symbol{105}}
+ \expandafter\def\csname simpleicon@alienwareicon\endcsname {\simpleiconsmapone\symbol{106}}
+ \expandafter\def\csname simpleicon@aliexpressicon\endcsname {\simpleiconsmapone\symbol{107}}
+ \expandafter\def\csname simpleicon@alipayicon\endcsname {\simpleiconsmapone\symbol{108}}
+ \expandafter\def\csname simpleicon@allegroicon\endcsname {\simpleiconsmapone\symbol{109}}
+ \expandafter\def\csname simpleicon@alliedmoddersicon\endcsname {\simpleiconsmapone\symbol{110}}
+ \expandafter\def\csname simpleicon@allocineicon\endcsname {\simpleiconsmapone\symbol{111}}
+ \expandafter\def\csname simpleicon@alltrailsicon\endcsname {\simpleiconsmapone\symbol{112}}
+ \expandafter\def\csname simpleicon@almalinuxicon\endcsname {\simpleiconsmapone\symbol{113}}
+ \expandafter\def\csname simpleicon@alpinedotjsicon\endcsname {\simpleiconsmapone\symbol{114}}
+ \expandafter\def\csname simpleicon@alpinelinuxicon\endcsname {\simpleiconsmapone\symbol{115}}
+ \expandafter\def\csname simpleicon@alteryxicon\endcsname {\simpleiconsmapone\symbol{116}}
+ \expandafter\def\csname simpleicon@altiumdesignericon\endcsname {\simpleiconsmapone\symbol{117}}
+ \expandafter\def\csname simpleicon@alwaysdataicon\endcsname {\simpleiconsmapone\symbol{118}}
+ \expandafter\def\csname simpleicon@alxicon\endcsname {\simpleiconsmapone\symbol{119}}
+ \expandafter\def\csname simpleicon@amazonicon\endcsname {\simpleiconsmapone\symbol{120}}
+ \expandafter\def\csname simpleicon@amazonalexaicon\endcsname {\simpleiconsmapone\symbol{121}}
+ \expandafter\def\csname simpleicon@amazonapigatewayicon\endcsname {\simpleiconsmapone\symbol{122}}
+ \expandafter\def\csname simpleicon@amazoncloudwatchicon\endcsname {\simpleiconsmapone\symbol{123}}
+ \expandafter\def\csname simpleicon@amazoncognitoicon\endcsname {\simpleiconsmapone\symbol{124}}
+ \expandafter\def\csname simpleicon@amazondocumentdbicon\endcsname {\simpleiconsmapone\symbol{125}}
+ \expandafter\def\csname simpleicon@amazondynamodbicon\endcsname {\simpleiconsmapone\symbol{126}}
+ \expandafter\def\csname simpleicon@amazonec2icon\endcsname {\simpleiconsmapone\symbol{127}}
+ \expandafter\def\csname simpleicon@amazonecsicon\endcsname {\simpleiconsmapone\symbol{128}}
+ \expandafter\def\csname simpleicon@amazoneksicon\endcsname {\simpleiconsmapone\symbol{129}}
+ \expandafter\def\csname simpleicon@amazonelasticacheicon\endcsname {\simpleiconsmapone\symbol{130}}
+ \expandafter\def\csname simpleicon@amazonfiretvicon\endcsname {\simpleiconsmapone\symbol{131}}
+ \expandafter\def\csname simpleicon@amazongamesicon\endcsname {\simpleiconsmapone\symbol{132}}
+ \expandafter\def\csname simpleicon@amazoniamicon\endcsname {\simpleiconsmapone\symbol{133}}
+ \expandafter\def\csname simpleicon@amazonlumberyardicon\endcsname {\simpleiconsmapone\symbol{134}}
+ \expandafter\def\csname simpleicon@amazonlunaicon\endcsname {\simpleiconsmapone\symbol{135}}
+ \expandafter\def\csname simpleicon@amazonmusicicon\endcsname {\simpleiconsmapone\symbol{136}}
+ \expandafter\def\csname simpleicon@amazonpayicon\endcsname {\simpleiconsmapone\symbol{137}}
+ \expandafter\def\csname simpleicon@amazonprimeicon\endcsname {\simpleiconsmapone\symbol{138}}
+ \expandafter\def\csname simpleicon@amazonrdsicon\endcsname {\simpleiconsmapone\symbol{139}}
+ \expandafter\def\csname simpleicon@amazonredshifticon\endcsname {\simpleiconsmapone\symbol{140}}
+ \expandafter\def\csname simpleicon@amazonroute53icon\endcsname {\simpleiconsmapone\symbol{141}}
+ \expandafter\def\csname simpleicon@amazons3icon\endcsname {\simpleiconsmapone\symbol{142}}
+ \expandafter\def\csname simpleicon@amazonsimpleemailserviceicon\endcsname {\simpleiconsmapone\symbol{143}}
+ \expandafter\def\csname simpleicon@amazonsqsicon\endcsname {\simpleiconsmapone\symbol{144}}
+ \expandafter\def\csname simpleicon@amazonwebservicesicon\endcsname {\simpleiconsmapone\symbol{145}}
+ \expandafter\def\csname simpleicon@amdicon\endcsname {\simpleiconsmapone\symbol{146}}
+ \expandafter\def\csname simpleicon@amebaicon\endcsname {\simpleiconsmapone\symbol{147}}
+ \expandafter\def\csname simpleicon@americanairlinesicon\endcsname {\simpleiconsmapone\symbol{148}}
+ \expandafter\def\csname simpleicon@americanexpressicon\endcsname {\simpleiconsmapone\symbol{149}}
+ \expandafter\def\csname simpleicon@amgicon\endcsname {\simpleiconsmapone\symbol{150}}
+ \expandafter\def\csname simpleicon@ampicon\endcsname {\simpleiconsmapone\symbol{151}}
+ \expandafter\def\csname simpleicon@amulicon\endcsname {\simpleiconsmapone\symbol{152}}
+ \expandafter\def\csname simpleicon@anaicon\endcsname {\simpleiconsmapone\symbol{153}}
+ \expandafter\def\csname simpleicon@anacondaicon\endcsname {\simpleiconsmapone\symbol{154}}
+ \expandafter\def\csname simpleicon@analogueicon\endcsname {\simpleiconsmapone\symbol{155}}
+ \expandafter\def\csname simpleicon@andelaicon\endcsname {\simpleiconsmapone\symbol{156}}
+ \expandafter\def\csname simpleicon@androidicon\endcsname {\simpleiconsmapone\symbol{157}}
+ \expandafter\def\csname simpleicon@androidautoicon\endcsname {\simpleiconsmapone\symbol{158}}
+ \expandafter\def\csname simpleicon@androidstudioicon\endcsname {\simpleiconsmapone\symbol{159}}
+ \expandafter\def\csname simpleicon@angularicon\endcsname {\simpleiconsmapone\symbol{160}}
+ \expandafter\def\csname simpleicon@anilisticon\endcsname {\simpleiconsmapone\symbol{161}}
+ \expandafter\def\csname simpleicon@animalplaneticon\endcsname {\simpleiconsmapone\symbol{162}}
+ \expandafter\def\csname simpleicon@ankermakeicon\endcsname {\simpleiconsmapone\symbol{163}}
+ \expandafter\def\csname simpleicon@ankiicon\endcsname {\simpleiconsmapone\symbol{164}}
+ \expandafter\def\csname simpleicon@ansibleicon\endcsname {\simpleiconsmapone\symbol{165}}
+ \expandafter\def\csname simpleicon@answericon\endcsname {\simpleiconsmapone\symbol{166}}
+ \expandafter\def\csname simpleicon@ansysicon\endcsname {\simpleiconsmapone\symbol{167}}
+ \expandafter\def\csname simpleicon@antaicon\endcsname {\simpleiconsmapone\symbol{168}}
+ \expandafter\def\csname simpleicon@antdesignicon\endcsname {\simpleiconsmapone\symbol{169}}
+ \expandafter\def\csname simpleicon@antena3icon\endcsname {\simpleiconsmapone\symbol{170}}
+ \expandafter\def\csname simpleicon@anthropicicon\endcsname {\simpleiconsmapone\symbol{171}}
+ \expandafter\def\csname simpleicon@anycubicicon\endcsname {\simpleiconsmapone\symbol{172}}
+ \expandafter\def\csname simpleicon@anydeskicon\endcsname {\simpleiconsmapone\symbol{173}}
+ \expandafter\def\csname simpleicon@anytypeicon\endcsname {\simpleiconsmapone\symbol{174}}
+ \expandafter\def\csname simpleicon@aolicon\endcsname {\simpleiconsmapone\symbol{175}}
+ \expandafter\def\csname simpleicon@apacheicon\endcsname {\simpleiconsmapone\symbol{176}}
+ \expandafter\def\csname simpleicon@apacheairflowicon\endcsname {\simpleiconsmapone\symbol{177}}
+ \expandafter\def\csname simpleicon@apacheanticon\endcsname {\simpleiconsmapone\symbol{178}}
+ \expandafter\def\csname simpleicon@apachecassandraicon\endcsname {\simpleiconsmapone\symbol{179}}
+ \expandafter\def\csname simpleicon@apachecloudstackicon\endcsname {\simpleiconsmapone\symbol{180}}
+ \expandafter\def\csname simpleicon@apachecordovaicon\endcsname {\simpleiconsmapone\symbol{181}}
+ \expandafter\def\csname simpleicon@apachecouchdbicon\endcsname {\simpleiconsmapone\symbol{182}}
+ \expandafter\def\csname simpleicon@apachedruidicon\endcsname {\simpleiconsmapone\symbol{183}}
+ \expandafter\def\csname simpleicon@apacheechartsicon\endcsname {\simpleiconsmapone\symbol{184}}
+ \expandafter\def\csname simpleicon@apacheflinkicon\endcsname {\simpleiconsmapone\symbol{185}}
+ \expandafter\def\csname simpleicon@apachefreemarkericon\endcsname {\simpleiconsmapone\symbol{186}}
+ \expandafter\def\csname simpleicon@apachegroovyicon\endcsname {\simpleiconsmapone\symbol{187}}
+ \expandafter\def\csname simpleicon@apacheguacamoleicon\endcsname {\simpleiconsmapone\symbol{188}}
+ \expandafter\def\csname simpleicon@apachehadoopicon\endcsname {\simpleiconsmapone\symbol{189}}
+ \expandafter\def\csname simpleicon@apachehbaseicon\endcsname {\simpleiconsmapone\symbol{190}}
+ \expandafter\def\csname simpleicon@apachehiveicon\endcsname {\simpleiconsmapone\symbol{191}}
+ \expandafter\def\csname simpleicon@apachejmetericon\endcsname {\simpleiconsmapone\symbol{192}}
+ \expandafter\def\csname simpleicon@apachekafkaicon\endcsname {\simpleiconsmapone\symbol{193}}
+ \expandafter\def\csname simpleicon@apachekylinicon\endcsname {\simpleiconsmapone\symbol{194}}
+ \expandafter\def\csname simpleicon@apachemavenicon\endcsname {\simpleiconsmapone\symbol{195}}
+ \expandafter\def\csname simpleicon@apachenetbeansideicon\endcsname {\simpleiconsmapone\symbol{196}}
+ \expandafter\def\csname simpleicon@apacheopenofficeicon\endcsname {\simpleiconsmapone\symbol{197}}
+ \expandafter\def\csname simpleicon@apacheparqueticon\endcsname {\simpleiconsmapone\symbol{198}}
+ \expandafter\def\csname simpleicon@apachepulsaricon\endcsname {\simpleiconsmapone\symbol{199}}
+ \expandafter\def\csname simpleicon@apacherocketmqicon\endcsname {\simpleiconsmapone\symbol{200}}
+ \expandafter\def\csname simpleicon@apachesolricon\endcsname {\simpleiconsmapone\symbol{201}}
+ \expandafter\def\csname simpleicon@apachesparkicon\endcsname {\simpleiconsmapone\symbol{202}}
+ \expandafter\def\csname simpleicon@apachestormicon\endcsname {\simpleiconsmapone\symbol{203}}
+ \expandafter\def\csname simpleicon@apachesuperseticon\endcsname {\simpleiconsmapone\symbol{204}}
+ \expandafter\def\csname simpleicon@apachetomcaticon\endcsname {\simpleiconsmapone\symbol{205}}
+ \expandafter\def\csname simpleicon@aparaticon\endcsname {\simpleiconsmapone\symbol{206}}
+ \expandafter\def\csname simpleicon@apifoxicon\endcsname {\simpleiconsmapone\symbol{207}}
+ \expandafter\def\csname simpleicon@apmterminalsicon\endcsname {\simpleiconsmapone\symbol{208}}
+ \expandafter\def\csname simpleicon@apollographqlicon\endcsname {\simpleiconsmapone\symbol{209}}
+ \expandafter\def\csname simpleicon@apostropheicon\endcsname {\simpleiconsmapone\symbol{210}}
+ \expandafter\def\csname simpleicon@appianicon\endcsname {\simpleiconsmapone\symbol{211}}
+ \expandafter\def\csname simpleicon@appiumicon\endcsname {\simpleiconsmapone\symbol{212}}
+ \expandafter\def\csname simpleicon@appleicon\endcsname {\simpleiconsmapone\symbol{213}}
+ \expandafter\def\csname simpleicon@applearcadeicon\endcsname {\simpleiconsmapone\symbol{214}}
+ \expandafter\def\csname simpleicon@applemusicicon\endcsname {\simpleiconsmapone\symbol{215}}
+ \expandafter\def\csname simpleicon@applenewsicon\endcsname {\simpleiconsmapone\symbol{216}}
+ \expandafter\def\csname simpleicon@applepayicon\endcsname {\simpleiconsmapone\symbol{217}}
+ \expandafter\def\csname simpleicon@applepodcastsicon\endcsname {\simpleiconsmapone\symbol{218}}
+ \expandafter\def\csname simpleicon@appletvicon\endcsname {\simpleiconsmapone\symbol{219}}
+ \expandafter\def\csname simpleicon@appsignalicon\endcsname {\simpleiconsmapone\symbol{220}}
+ \expandafter\def\csname simpleicon@appsmithicon\endcsname {\simpleiconsmapone\symbol{221}}
+ \expandafter\def\csname simpleicon@appstoreicon\endcsname {\simpleiconsmapone\symbol{222}}
+ \expandafter\def\csname simpleicon@appveyoricon\endcsname {\simpleiconsmapone\symbol{223}}
+ \expandafter\def\csname simpleicon@appwriteicon\endcsname {\simpleiconsmapone\symbol{224}}
+ \expandafter\def\csname simpleicon@aquaicon\endcsname {\simpleiconsmapone\symbol{225}}
+ \expandafter\def\csname simpleicon@aralicon\endcsname {\simpleiconsmapone\symbol{226}}
+ \expandafter\def\csname simpleicon@arangodbicon\endcsname {\simpleiconsmapone\symbol{227}}
+ \expandafter\def\csname simpleicon@arcicon\endcsname {\simpleiconsmapone\symbol{228}}
+ \expandafter\def\csname simpleicon@arcgisicon\endcsname {\simpleiconsmapone\symbol{229}}
+ \expandafter\def\csname simpleicon@archicadicon\endcsname {\simpleiconsmapone\symbol{230}}
+ \expandafter\def\csname simpleicon@archiveofourownicon\endcsname {\simpleiconsmapone\symbol{231}}
+ \expandafter\def\csname simpleicon@archlinuxicon\endcsname {\simpleiconsmapone\symbol{232}}
+ \expandafter\def\csname simpleicon@ardouricon\endcsname {\simpleiconsmapone\symbol{233}}
+ \expandafter\def\csname simpleicon@arduinoicon\endcsname {\simpleiconsmapone\symbol{234}}
+ \expandafter\def\csname simpleicon@argoicon\endcsname {\simpleiconsmapone\symbol{235}}
+ \expandafter\def\csname simpleicon@argosicon\endcsname {\simpleiconsmapone\symbol{236}}
+ \expandafter\def\csname simpleicon@ariakiticon\endcsname {\simpleiconsmapone\symbol{237}}
+ \expandafter\def\csname simpleicon@arkecosystemicon\endcsname {\simpleiconsmapone\symbol{238}}
+ \expandafter\def\csname simpleicon@arloicon\endcsname {\simpleiconsmapone\symbol{239}}
+ \expandafter\def\csname simpleicon@armicon\endcsname {\simpleiconsmapone\symbol{240}}
+ \expandafter\def\csname simpleicon@armkeilicon\endcsname {\simpleiconsmapone\symbol{241}}
+ \expandafter\def\csname simpleicon@arstechnicaicon\endcsname {\simpleiconsmapone\symbol{242}}
+ \expandafter\def\csname simpleicon@artifacthubicon\endcsname {\simpleiconsmapone\symbol{243}}
+ \expandafter\def\csname simpleicon@artixlinuxicon\endcsname {\simpleiconsmapone\symbol{244}}
+ \expandafter\def\csname simpleicon@artstationicon\endcsname {\simpleiconsmapone\symbol{245}}
+ \expandafter\def\csname simpleicon@arxivicon\endcsname {\simpleiconsmapone\symbol{246}}
+ \expandafter\def\csname simpleicon@asahilinuxicon\endcsname {\simpleiconsmapone\symbol{247}}
+ \expandafter\def\csname simpleicon@asanaicon\endcsname {\simpleiconsmapone\symbol{248}}
+ \expandafter\def\csname simpleicon@asciidoctoricon\endcsname {\simpleiconsmapone\symbol{249}}
+ \expandafter\def\csname simpleicon@asciinemaicon\endcsname {\simpleiconsmapone\symbol{250}}
+ \expandafter\def\csname simpleicon@asdaicon\endcsname {\simpleiconsmapone\symbol{251}}
+ \expandafter\def\csname simpleicon@asepriteicon\endcsname {\simpleiconsmapone\symbol{252}}
+ \expandafter\def\csname simpleicon@askfmicon\endcsname {\simpleiconsmapone\symbol{253}}
+ \expandafter\def\csname simpleicon@assemblyscripticon\endcsname {\simpleiconsmapone\symbol{254}}
+ \expandafter\def\csname simpleicon@asteriskicon\endcsname {\simpleiconsmapone\symbol{255}}
+ \expandafter\def\csname simpleicon@astonmartinicon\endcsname {\simpleiconsmaptwo\symbol{0}}
+ \expandafter\def\csname simpleicon@astraicon\endcsname {\simpleiconsmaptwo\symbol{1}}
+ \expandafter\def\csname simpleicon@astralicon\endcsname {\simpleiconsmaptwo\symbol{2}}
+ \expandafter\def\csname simpleicon@astroicon\endcsname {\simpleiconsmaptwo\symbol{3}}
+ \expandafter\def\csname simpleicon@asusicon\endcsname {\simpleiconsmaptwo\symbol{4}}
+ \expandafter\def\csname simpleicon@atandticon\endcsname {\simpleiconsmaptwo\symbol{5}}
+ \expandafter\def\csname simpleicon@atariicon\endcsname {\simpleiconsmaptwo\symbol{6}}
+ \expandafter\def\csname simpleicon@atlassianicon\endcsname {\simpleiconsmaptwo\symbol{7}}
+ \expandafter\def\csname simpleicon@auchanicon\endcsname {\simpleiconsmaptwo\symbol{8}}
+ \expandafter\def\csname simpleicon@audacityicon\endcsname {\simpleiconsmaptwo\symbol{9}}
+ \expandafter\def\csname simpleicon@audiicon\endcsname {\simpleiconsmaptwo\symbol{10}}
+ \expandafter\def\csname simpleicon@audibleicon\endcsname {\simpleiconsmaptwo\symbol{11}}
+ \expandafter\def\csname simpleicon@audiobookshelficon\endcsname {\simpleiconsmaptwo\symbol{12}}
+ \expandafter\def\csname simpleicon@audioboomicon\endcsname {\simpleiconsmaptwo\symbol{13}}
+ \expandafter\def\csname simpleicon@audiomackicon\endcsname {\simpleiconsmaptwo\symbol{14}}
+ \expandafter\def\csname simpleicon@audiotechnicaicon\endcsname {\simpleiconsmaptwo\symbol{15}}
+ \expandafter\def\csname simpleicon@aureliaicon\endcsname {\simpleiconsmaptwo\symbol{16}}
+ \expandafter\def\csname simpleicon@auth0icon\endcsname {\simpleiconsmaptwo\symbol{17}}
+ \expandafter\def\csname simpleicon@autheliaicon\endcsname {\simpleiconsmaptwo\symbol{18}}
+ \expandafter\def\csname simpleicon@authentikicon\endcsname {\simpleiconsmaptwo\symbol{19}}
+ \expandafter\def\csname simpleicon@authyicon\endcsname {\simpleiconsmaptwo\symbol{20}}
+ \expandafter\def\csname simpleicon@autocadicon\endcsname {\simpleiconsmaptwo\symbol{21}}
+ \expandafter\def\csname simpleicon@autocannonicon\endcsname {\simpleiconsmaptwo\symbol{22}}
+ \expandafter\def\csname simpleicon@autodeskicon\endcsname {\simpleiconsmaptwo\symbol{23}}
+ \expandafter\def\csname simpleicon@autodeskmayaicon\endcsname {\simpleiconsmaptwo\symbol{24}}
+ \expandafter\def\csname simpleicon@autodeskreviticon\endcsname {\simpleiconsmaptwo\symbol{25}}
+ \expandafter\def\csname simpleicon@autohotkeyicon\endcsname {\simpleiconsmaptwo\symbol{26}}
+ \expandafter\def\csname simpleicon@autoiticon\endcsname {\simpleiconsmaptwo\symbol{27}}
+ \expandafter\def\csname simpleicon@automatticicon\endcsname {\simpleiconsmaptwo\symbol{28}}
+ \expandafter\def\csname simpleicon@autoprefixericon\endcsname {\simpleiconsmaptwo\symbol{29}}
+ \expandafter\def\csname simpleicon@autozoneicon\endcsname {\simpleiconsmaptwo\symbol{30}}
+ \expandafter\def\csname simpleicon@avajsicon\endcsname {\simpleiconsmaptwo\symbol{31}}
+ \expandafter\def\csname simpleicon@avasticon\endcsname {\simpleiconsmaptwo\symbol{32}}
+ \expandafter\def\csname simpleicon@aviancaicon\endcsname {\simpleiconsmaptwo\symbol{33}}
+ \expandafter\def\csname simpleicon@aviraicon\endcsname {\simpleiconsmaptwo\symbol{34}}
+ \expandafter\def\csname simpleicon@awesomelistsicon\endcsname {\simpleiconsmaptwo\symbol{35}}
+ \expandafter\def\csname simpleicon@awesomewmicon\endcsname {\simpleiconsmaptwo\symbol{36}}
+ \expandafter\def\csname simpleicon@awsamplifyicon\endcsname {\simpleiconsmaptwo\symbol{37}}
+ \expandafter\def\csname simpleicon@awselasticloadbalancingicon\endcsname {\simpleiconsmaptwo\symbol{38}}
+ \expandafter\def\csname simpleicon@awsfargateicon\endcsname {\simpleiconsmaptwo\symbol{39}}
+ \expandafter\def\csname simpleicon@awslambdaicon\endcsname {\simpleiconsmaptwo\symbol{40}}
+ \expandafter\def\csname simpleicon@awsorganizationsicon\endcsname {\simpleiconsmaptwo\symbol{41}}
+ \expandafter\def\csname simpleicon@awssecretsmanagericon\endcsname {\simpleiconsmaptwo\symbol{42}}
+ \expandafter\def\csname simpleicon@awwwardsicon\endcsname {\simpleiconsmaptwo\symbol{43}}
+ \expandafter\def\csname simpleicon@axiosicon\endcsname {\simpleiconsmaptwo\symbol{44}}
+ \expandafter\def\csname simpleicon@babelicon\endcsname {\simpleiconsmaptwo\symbol{45}}
+ \expandafter\def\csname simpleicon@babelioicon\endcsname {\simpleiconsmaptwo\symbol{46}}
+ \expandafter\def\csname simpleicon@babylondotjsicon\endcsname {\simpleiconsmaptwo\symbol{47}}
+ \expandafter\def\csname simpleicon@backblazeicon\endcsname {\simpleiconsmaptwo\symbol{48}}
+ \expandafter\def\csname simpleicon@backbonedotjsicon\endcsname {\simpleiconsmaptwo\symbol{49}}
+ \expandafter\def\csname simpleicon@backendlessicon\endcsname {\simpleiconsmaptwo\symbol{50}}
+ \expandafter\def\csname simpleicon@backstageicon\endcsname {\simpleiconsmaptwo\symbol{51}}
+ \expandafter\def\csname simpleicon@badooicon\endcsname {\simpleiconsmaptwo\symbol{52}}
+ \expandafter\def\csname simpleicon@baiduicon\endcsname {\simpleiconsmaptwo\symbol{53}}
+ \expandafter\def\csname simpleicon@bakalariicon\endcsname {\simpleiconsmaptwo\symbol{54}}
+ \expandafter\def\csname simpleicon@bambooicon\endcsname {\simpleiconsmaptwo\symbol{55}}
+ \expandafter\def\csname simpleicon@bambulabicon\endcsname {\simpleiconsmaptwo\symbol{56}}
+ \expandafter\def\csname simpleicon@bandcampicon\endcsname {\simpleiconsmaptwo\symbol{57}}
+ \expandafter\def\csname simpleicon@bandlabicon\endcsname {\simpleiconsmaptwo\symbol{58}}
+ \expandafter\def\csname simpleicon@bandrautomationicon\endcsname {\simpleiconsmaptwo\symbol{59}}
+ \expandafter\def\csname simpleicon@bandsintownicon\endcsname {\simpleiconsmaptwo\symbol{60}}
+ \expandafter\def\csname simpleicon@bankofamericaicon\endcsname {\simpleiconsmaptwo\symbol{61}}
+ \expandafter\def\csname simpleicon@barclaysicon\endcsname {\simpleiconsmaptwo\symbol{62}}
+ \expandafter\def\csname simpleicon@baremetricsicon\endcsname {\simpleiconsmaptwo\symbol{63}}
+ \expandafter\def\csname simpleicon@barmeniaicon\endcsname {\simpleiconsmaptwo\symbol{64}}
+ \expandafter\def\csname simpleicon@basecampicon\endcsname {\simpleiconsmaptwo\symbol{65}}
+ \expandafter\def\csname simpleicon@basicattentiontokenicon\endcsname {\simpleiconsmaptwo\symbol{66}}
+ \expandafter\def\csname simpleicon@bastyonicon\endcsname {\simpleiconsmaptwo\symbol{67}}
+ \expandafter\def\csname simpleicon@baticon\endcsname {\simpleiconsmaptwo\symbol{68}}
+ \expandafter\def\csname simpleicon@bataicon\endcsname {\simpleiconsmaptwo\symbol{69}}
+ \expandafter\def\csname simpleicon@battledotneticon\endcsname {\simpleiconsmaptwo\symbol{70}}
+ \expandafter\def\csname simpleicon@bazelicon\endcsname {\simpleiconsmaptwo\symbol{71}}
+ \expandafter\def\csname simpleicon@beatporticon\endcsname {\simpleiconsmaptwo\symbol{72}}
+ \expandafter\def\csname simpleicon@beatsicon\endcsname {\simpleiconsmaptwo\symbol{73}}
+ \expandafter\def\csname simpleicon@beatsbydreicon\endcsname {\simpleiconsmaptwo\symbol{74}}
+ \expandafter\def\csname simpleicon@beatstarsicon\endcsname {\simpleiconsmaptwo\symbol{75}}
+ \expandafter\def\csname simpleicon@beekeeperstudioicon\endcsname {\simpleiconsmaptwo\symbol{76}}
+ \expandafter\def\csname simpleicon@behanceicon\endcsname {\simpleiconsmaptwo\symbol{77}}
+ \expandafter\def\csname simpleicon@beijingsubwayicon\endcsname {\simpleiconsmaptwo\symbol{78}}
+ \expandafter\def\csname simpleicon@bemicon\endcsname {\simpleiconsmaptwo\symbol{79}}
+ \expandafter\def\csname simpleicon@bentleyicon\endcsname {\simpleiconsmaptwo\symbol{80}}
+ \expandafter\def\csname simpleicon@bentoicon\endcsname {\simpleiconsmaptwo\symbol{81}}
+ \expandafter\def\csname simpleicon@bentoboxicon\endcsname {\simpleiconsmaptwo\symbol{82}}
+ \expandafter\def\csname simpleicon@bentomlicon\endcsname {\simpleiconsmaptwo\symbol{83}}
+ \expandafter\def\csname simpleicon@berealicon\endcsname {\simpleiconsmaptwo\symbol{84}}
+ \expandafter\def\csname simpleicon@betfairicon\endcsname {\simpleiconsmaptwo\symbol{85}}
+ \expandafter\def\csname simpleicon@betterstackicon\endcsname {\simpleiconsmaptwo\symbol{86}}
+ \expandafter\def\csname simpleicon@bevyicon\endcsname {\simpleiconsmaptwo\symbol{87}}
+ \expandafter\def\csname simpleicon@bigbasketicon\endcsname {\simpleiconsmaptwo\symbol{88}}
+ \expandafter\def\csname simpleicon@bigbluebuttonicon\endcsname {\simpleiconsmaptwo\symbol{89}}
+ \expandafter\def\csname simpleicon@bigcartelicon\endcsname {\simpleiconsmaptwo\symbol{90}}
+ \expandafter\def\csname simpleicon@bigcommerceicon\endcsname {\simpleiconsmaptwo\symbol{91}}
+ \expandafter\def\csname simpleicon@bilibiliicon\endcsname {\simpleiconsmaptwo\symbol{92}}
+ \expandafter\def\csname simpleicon@billboardicon\endcsname {\simpleiconsmaptwo\symbol{93}}
+ \expandafter\def\csname simpleicon@bimicon\endcsname {\simpleiconsmaptwo\symbol{94}}
+ \expandafter\def\csname simpleicon@binanceicon\endcsname {\simpleiconsmaptwo\symbol{95}}
+ \expandafter\def\csname simpleicon@biolinkicon\endcsname {\simpleiconsmaptwo\symbol{96}}
+ \expandafter\def\csname simpleicon@biomeicon\endcsname {\simpleiconsmaptwo\symbol{97}}
+ \expandafter\def\csname simpleicon@bisecthostingicon\endcsname {\simpleiconsmaptwo\symbol{98}}
+ \expandafter\def\csname simpleicon@biticon\endcsname {\simpleiconsmaptwo\symbol{99}}
+ \expandafter\def\csname simpleicon@bitbucketicon\endcsname {\simpleiconsmaptwo\symbol{100}}
+ \expandafter\def\csname simpleicon@bitcoinicon\endcsname {\simpleiconsmaptwo\symbol{101}}
+ \expandafter\def\csname simpleicon@bitcoincashicon\endcsname {\simpleiconsmaptwo\symbol{102}}
+ \expandafter\def\csname simpleicon@bitcoinsvicon\endcsname {\simpleiconsmaptwo\symbol{103}}
+ \expandafter\def\csname simpleicon@bitcometicon\endcsname {\simpleiconsmaptwo\symbol{104}}
+ \expandafter\def\csname simpleicon@bitdefendericon\endcsname {\simpleiconsmaptwo\symbol{105}}
+ \expandafter\def\csname simpleicon@bitlyicon\endcsname {\simpleiconsmaptwo\symbol{106}}
+ \expandafter\def\csname simpleicon@bitriseicon\endcsname {\simpleiconsmaptwo\symbol{107}}
+ \expandafter\def\csname simpleicon@bittorrenticon\endcsname {\simpleiconsmaptwo\symbol{108}}
+ \expandafter\def\csname simpleicon@bitwardenicon\endcsname {\simpleiconsmaptwo\symbol{109}}
+ \expandafter\def\csname simpleicon@bitwigicon\endcsname {\simpleiconsmaptwo\symbol{110}}
+ \expandafter\def\csname simpleicon@blackberryicon\endcsname {\simpleiconsmaptwo\symbol{111}}
+ \expandafter\def\csname simpleicon@blackmagicdesignicon\endcsname {\simpleiconsmaptwo\symbol{112}}
+ \expandafter\def\csname simpleicon@blazemetericon\endcsname {\simpleiconsmaptwo\symbol{113}}
+ \expandafter\def\csname simpleicon@blazoricon\endcsname {\simpleiconsmaptwo\symbol{114}}
+ \expandafter\def\csname simpleicon@blendericon\endcsname {\simpleiconsmaptwo\symbol{115}}
+ \expandafter\def\csname simpleicon@blockbenchicon\endcsname {\simpleiconsmaptwo\symbol{116}}
+ \expandafter\def\csname simpleicon@blockchaindotcomicon\endcsname {\simpleiconsmaptwo\symbol{117}}
+ \expandafter\def\csname simpleicon@bloggericon\endcsname {\simpleiconsmaptwo\symbol{118}}
+ \expandafter\def\csname simpleicon@bloglovinicon\endcsname {\simpleiconsmaptwo\symbol{119}}
+ \expandafter\def\csname simpleicon@blueprinticon\endcsname {\simpleiconsmaptwo\symbol{120}}
+ \expandafter\def\csname simpleicon@blueskyicon\endcsname {\simpleiconsmaptwo\symbol{121}}
+ \expandafter\def\csname simpleicon@bluesoundicon\endcsname {\simpleiconsmaptwo\symbol{122}}
+ \expandafter\def\csname simpleicon@bluetoothicon\endcsname {\simpleiconsmaptwo\symbol{123}}
+ \expandafter\def\csname simpleicon@bmcsoftwareicon\endcsname {\simpleiconsmaptwo\symbol{124}}
+ \expandafter\def\csname simpleicon@bmwicon\endcsname {\simpleiconsmaptwo\symbol{125}}
+ \expandafter\def\csname simpleicon@bnbchainicon\endcsname {\simpleiconsmaptwo\symbol{126}}
+ \expandafter\def\csname simpleicon@boardgamegeekicon\endcsname {\simpleiconsmaptwo\symbol{127}}
+ \expandafter\def\csname simpleicon@boaticon\endcsname {\simpleiconsmaptwo\symbol{128}}
+ \expandafter\def\csname simpleicon@boehringeringelheimicon\endcsname {\simpleiconsmaptwo\symbol{129}}
+ \expandafter\def\csname simpleicon@boeingicon\endcsname {\simpleiconsmaptwo\symbol{130}}
+ \expandafter\def\csname simpleicon@bombardiericon\endcsname {\simpleiconsmaptwo\symbol{131}}
+ \expandafter\def\csname simpleicon@bookalopeicon\endcsname {\simpleiconsmaptwo\symbol{132}}
+ \expandafter\def\csname simpleicon@bookbubicon\endcsname {\simpleiconsmaptwo\symbol{133}}
+ \expandafter\def\csname simpleicon@bookmetericon\endcsname {\simpleiconsmaptwo\symbol{134}}
+ \expandafter\def\csname simpleicon@bookmyshowicon\endcsname {\simpleiconsmaptwo\symbol{135}}
+ \expandafter\def\csname simpleicon@bookstackicon\endcsname {\simpleiconsmaptwo\symbol{136}}
+ \expandafter\def\csname simpleicon@boosticon\endcsname {\simpleiconsmaptwo\symbol{137}}
+ \expandafter\def\csname simpleicon@boostyicon\endcsname {\simpleiconsmaptwo\symbol{138}}
+ \expandafter\def\csname simpleicon@bootsicon\endcsname {\simpleiconsmaptwo\symbol{139}}
+ \expandafter\def\csname simpleicon@bootstrapicon\endcsname {\simpleiconsmaptwo\symbol{140}}
+ \expandafter\def\csname simpleicon@borgbackupicon\endcsname {\simpleiconsmaptwo\symbol{141}}
+ \expandafter\def\csname simpleicon@boschicon\endcsname {\simpleiconsmaptwo\symbol{142}}
+ \expandafter\def\csname simpleicon@boseicon\endcsname {\simpleiconsmaptwo\symbol{143}}
+ \expandafter\def\csname simpleicon@botblecmsicon\endcsname {\simpleiconsmaptwo\symbol{144}}
+ \expandafter\def\csname simpleicon@boulangericon\endcsname {\simpleiconsmaptwo\symbol{145}}
+ \expandafter\def\csname simpleicon@bowericon\endcsname {\simpleiconsmaptwo\symbol{146}}
+ \expandafter\def\csname simpleicon@boxicon\endcsname {\simpleiconsmaptwo\symbol{147}}
+ \expandafter\def\csname simpleicon@boxysvgicon\endcsname {\simpleiconsmaptwo\symbol{148}}
+ \expandafter\def\csname simpleicon@braintreeicon\endcsname {\simpleiconsmaptwo\symbol{149}}
+ \expandafter\def\csname simpleicon@brandfoldericon\endcsname {\simpleiconsmaptwo\symbol{150}}
+ \expandafter\def\csname simpleicon@braveicon\endcsname {\simpleiconsmaptwo\symbol{151}}
+ \expandafter\def\csname simpleicon@breakericon\endcsname {\simpleiconsmaptwo\symbol{152}}
+ \expandafter\def\csname simpleicon@brenntagicon\endcsname {\simpleiconsmaptwo\symbol{153}}
+ \expandafter\def\csname simpleicon@brevoicon\endcsname {\simpleiconsmaptwo\symbol{154}}
+ \expandafter\def\csname simpleicon@brexicon\endcsname {\simpleiconsmaptwo\symbol{155}}
+ \expandafter\def\csname simpleicon@bricksicon\endcsname {\simpleiconsmaptwo\symbol{156}}
+ \expandafter\def\csname simpleicon@britishairwaysicon\endcsname {\simpleiconsmaptwo\symbol{157}}
+ \expandafter\def\csname simpleicon@broadcomicon\endcsname {\simpleiconsmaptwo\symbol{158}}
+ \expandafter\def\csname simpleicon@brunoicon\endcsname {\simpleiconsmaptwo\symbol{159}}
+ \expandafter\def\csname simpleicon@bsdicon\endcsname {\simpleiconsmaptwo\symbol{160}}
+ \expandafter\def\csname simpleicon@bspwmicon\endcsname {\simpleiconsmaptwo\symbol{161}}
+ \expandafter\def\csname simpleicon@bticon\endcsname {\simpleiconsmaptwo\symbol{162}}
+ \expandafter\def\csname simpleicon@buddyicon\endcsname {\simpleiconsmaptwo\symbol{163}}
+ \expandafter\def\csname simpleicon@budibaseicon\endcsname {\simpleiconsmaptwo\symbol{164}}
+ \expandafter\def\csname simpleicon@buefyicon\endcsname {\simpleiconsmaptwo\symbol{165}}
+ \expandafter\def\csname simpleicon@buffericon\endcsname {\simpleiconsmaptwo\symbol{166}}
+ \expandafter\def\csname simpleicon@bugattiicon\endcsname {\simpleiconsmaptwo\symbol{167}}
+ \expandafter\def\csname simpleicon@bugcrowdicon\endcsname {\simpleiconsmaptwo\symbol{168}}
+ \expandafter\def\csname simpleicon@bugsnagicon\endcsname {\simpleiconsmaptwo\symbol{169}}
+ \expandafter\def\csname simpleicon@buhlicon\endcsname {\simpleiconsmaptwo\symbol{170}}
+ \expandafter\def\csname simpleicon@buildkiteicon\endcsname {\simpleiconsmaptwo\symbol{171}}
+ \expandafter\def\csname simpleicon@bukalapakicon\endcsname {\simpleiconsmaptwo\symbol{172}}
+ \expandafter\def\csname simpleicon@bulmaicon\endcsname {\simpleiconsmaptwo\symbol{173}}
+ \expandafter\def\csname simpleicon@bunicon\endcsname {\simpleiconsmaptwo\symbol{174}}
+ \expandafter\def\csname simpleicon@bungieicon\endcsname {\simpleiconsmaptwo\symbol{175}}
+ \expandafter\def\csname simpleicon@bunqicon\endcsname {\simpleiconsmaptwo\symbol{176}}
+ \expandafter\def\csname simpleicon@burgerkingicon\endcsname {\simpleiconsmaptwo\symbol{177}}
+ \expandafter\def\csname simpleicon@burpsuiteicon\endcsname {\simpleiconsmaptwo\symbol{178}}
+ \expandafter\def\csname simpleicon@burtonicon\endcsname {\simpleiconsmaptwo\symbol{179}}
+ \expandafter\def\csname simpleicon@buymeacoffeeicon\endcsname {\simpleiconsmaptwo\symbol{180}}
+ \expandafter\def\csname simpleicon@buyselladsicon\endcsname {\simpleiconsmaptwo\symbol{181}}
+ \expandafter\def\csname simpleicon@buzzfeedicon\endcsname {\simpleiconsmaptwo\symbol{182}}
+ \expandafter\def\csname simpleicon@bvgicon\endcsname {\simpleiconsmaptwo\symbol{183}}
+ \expandafter\def\csname simpleicon@byjusicon\endcsname {\simpleiconsmaptwo\symbol{184}}
+ \expandafter\def\csname simpleicon@bytedanceicon\endcsname {\simpleiconsmaptwo\symbol{185}}
+ \expandafter\def\csname simpleicon@cicon\endcsname {\simpleiconsmaptwo\symbol{186}}
+ \expandafter\def\csname simpleicon@cacheticon\endcsname {\simpleiconsmaptwo\symbol{187}}
+ \expandafter\def\csname simpleicon@caddyicon\endcsname {\simpleiconsmaptwo\symbol{188}}
+ \expandafter\def\csname simpleicon@cadillacicon\endcsname {\simpleiconsmaptwo\symbol{189}}
+ \expandafter\def\csname simpleicon@cafepressicon\endcsname {\simpleiconsmaptwo\symbol{190}}
+ \expandafter\def\csname simpleicon@caffeineicon\endcsname {\simpleiconsmaptwo\symbol{191}}
+ \expandafter\def\csname simpleicon@cairographicsicon\endcsname {\simpleiconsmaptwo\symbol{192}}
+ \expandafter\def\csname simpleicon@cairometroicon\endcsname {\simpleiconsmaptwo\symbol{193}}
+ \expandafter\def\csname simpleicon@cakephpicon\endcsname {\simpleiconsmaptwo\symbol{194}}
+ \expandafter\def\csname simpleicon@caldotcomicon\endcsname {\simpleiconsmaptwo\symbol{195}}
+ \expandafter\def\csname simpleicon@calendlyicon\endcsname {\simpleiconsmaptwo\symbol{196}}
+ \expandafter\def\csname simpleicon@calibrewebicon\endcsname {\simpleiconsmaptwo\symbol{197}}
+ \expandafter\def\csname simpleicon@campaignmonitoricon\endcsname {\simpleiconsmaptwo\symbol{198}}
+ \expandafter\def\csname simpleicon@camundaicon\endcsname {\simpleiconsmaptwo\symbol{199}}
+ \expandafter\def\csname simpleicon@canonicalicon\endcsname {\simpleiconsmaptwo\symbol{200}}
+ \expandafter\def\csname simpleicon@canvaicon\endcsname {\simpleiconsmaptwo\symbol{201}}
+ \expandafter\def\csname simpleicon@canvasicon\endcsname {\simpleiconsmaptwo\symbol{202}}
+ \expandafter\def\csname simpleicon@capacitoricon\endcsname {\simpleiconsmaptwo\symbol{203}}
+ \expandafter\def\csname simpleicon@cardanoicon\endcsname {\simpleiconsmaptwo\symbol{204}}
+ \expandafter\def\csname simpleicon@carlsberggroupicon\endcsname {\simpleiconsmaptwo\symbol{205}}
+ \expandafter\def\csname simpleicon@carrdicon\endcsname {\simpleiconsmaptwo\symbol{206}}
+ \expandafter\def\csname simpleicon@carrefouricon\endcsname {\simpleiconsmaptwo\symbol{207}}
+ \expandafter\def\csname simpleicon@carthrottleicon\endcsname {\simpleiconsmaptwo\symbol{208}}
+ \expandafter\def\csname simpleicon@cartoicon\endcsname {\simpleiconsmaptwo\symbol{209}}
+ \expandafter\def\csname simpleicon@cashappicon\endcsname {\simpleiconsmaptwo\symbol{210}}
+ \expandafter\def\csname simpleicon@castboxicon\endcsname {\simpleiconsmaptwo\symbol{211}}
+ \expandafter\def\csname simpleicon@castoramaicon\endcsname {\simpleiconsmaptwo\symbol{212}}
+ \expandafter\def\csname simpleicon@castroicon\endcsname {\simpleiconsmaptwo\symbol{213}}
+ \expandafter\def\csname simpleicon@caterpillaricon\endcsname {\simpleiconsmaptwo\symbol{214}}
+ \expandafter\def\csname simpleicon@cbcicon\endcsname {\simpleiconsmaptwo\symbol{215}}
+ \expandafter\def\csname simpleicon@cbsicon\endcsname {\simpleiconsmaptwo\symbol{216}}
+ \expandafter\def\csname simpleicon@ccleanericon\endcsname {\simpleiconsmaptwo\symbol{217}}
+ \expandafter\def\csname simpleicon@cdprojekticon\endcsname {\simpleiconsmaptwo\symbol{218}}
+ \expandafter\def\csname simpleicon@celeryicon\endcsname {\simpleiconsmaptwo\symbol{219}}
+ \expandafter\def\csname simpleicon@celestronicon\endcsname {\simpleiconsmaptwo\symbol{220}}
+ \expandafter\def\csname simpleicon@centosicon\endcsname {\simpleiconsmaptwo\symbol{221}}
+ \expandafter\def\csname simpleicon@cephicon\endcsname {\simpleiconsmaptwo\symbol{222}}
+ \expandafter\def\csname simpleicon@cesiumicon\endcsname {\simpleiconsmaptwo\symbol{223}}
+ \expandafter\def\csname simpleicon@chaiicon\endcsname {\simpleiconsmaptwo\symbol{224}}
+ \expandafter\def\csname simpleicon@chainguardicon\endcsname {\simpleiconsmaptwo\symbol{225}}
+ \expandafter\def\csname simpleicon@chainlinkicon\endcsname {\simpleiconsmaptwo\symbol{226}}
+ \expandafter\def\csname simpleicon@chakrauiicon\endcsname {\simpleiconsmaptwo\symbol{227}}
+ \expandafter\def\csname simpleicon@channel4icon\endcsname {\simpleiconsmaptwo\symbol{228}}
+ \expandafter\def\csname simpleicon@charlesicon\endcsname {\simpleiconsmaptwo\symbol{229}}
+ \expandafter\def\csname simpleicon@chartdotjsicon\endcsname {\simpleiconsmaptwo\symbol{230}}
+ \expandafter\def\csname simpleicon@chartmogulicon\endcsname {\simpleiconsmaptwo\symbol{231}}
+ \expandafter\def\csname simpleicon@chaseicon\endcsname {\simpleiconsmaptwo\symbol{232}}
+ \expandafter\def\csname simpleicon@chatboticon\endcsname {\simpleiconsmaptwo\symbol{233}}
+ \expandafter\def\csname simpleicon@chatwooticon\endcsname {\simpleiconsmaptwo\symbol{234}}
+ \expandafter\def\csname simpleicon@checkioicon\endcsname {\simpleiconsmaptwo\symbol{235}}
+ \expandafter\def\csname simpleicon@checkmarxicon\endcsname {\simpleiconsmaptwo\symbol{236}}
+ \expandafter\def\csname simpleicon@checkmkicon\endcsname {\simpleiconsmaptwo\symbol{237}}
+ \expandafter\def\csname simpleicon@chedrauiicon\endcsname {\simpleiconsmaptwo\symbol{238}}
+ \expandafter\def\csname simpleicon@cheerioicon\endcsname {\simpleiconsmaptwo\symbol{239}}
+ \expandafter\def\csname simpleicon@cheficon\endcsname {\simpleiconsmaptwo\symbol{240}}
+ \expandafter\def\csname simpleicon@chemexicon\endcsname {\simpleiconsmaptwo\symbol{241}}
+ \expandafter\def\csname simpleicon@chessdotcomicon\endcsname {\simpleiconsmaptwo\symbol{242}}
+ \expandafter\def\csname simpleicon@chevroleticon\endcsname {\simpleiconsmaptwo\symbol{243}}
+ \expandafter\def\csname simpleicon@chianetworkicon\endcsname {\simpleiconsmaptwo\symbol{244}}
+ \expandafter\def\csname simpleicon@chinaeasternairlinesicon\endcsname {\simpleiconsmaptwo\symbol{245}}
+ \expandafter\def\csname simpleicon@chinasouthernairlinesicon\endcsname {\simpleiconsmaptwo\symbol{246}}
+ \expandafter\def\csname simpleicon@chocolateyicon\endcsname {\simpleiconsmaptwo\symbol{247}}
+ \expandafter\def\csname simpleicon@chromaticicon\endcsname {\simpleiconsmaptwo\symbol{248}}
+ \expandafter\def\csname simpleicon@chromecasticon\endcsname {\simpleiconsmaptwo\symbol{249}}
+ \expandafter\def\csname simpleicon@chromewebstoreicon\endcsname {\simpleiconsmaptwo\symbol{250}}
+ \expandafter\def\csname simpleicon@chryslericon\endcsname {\simpleiconsmaptwo\symbol{251}}
+ \expandafter\def\csname simpleicon@chupachupsicon\endcsname {\simpleiconsmaptwo\symbol{252}}
+ \expandafter\def\csname simpleicon@ciliumicon\endcsname {\simpleiconsmaptwo\symbol{253}}
+ \expandafter\def\csname simpleicon@cinema4dicon\endcsname {\simpleiconsmaptwo\symbol{254}}
+ \expandafter\def\csname simpleicon@circleicon\endcsname {\simpleiconsmaptwo\symbol{255}}
+ \expandafter\def\csname simpleicon@circleciicon\endcsname {\simpleiconsmapthree\symbol{0}}
+ \expandafter\def\csname simpleicon@circuitverseicon\endcsname {\simpleiconsmapthree\symbol{1}}
+ \expandafter\def\csname simpleicon@cirrusciicon\endcsname {\simpleiconsmapthree\symbol{2}}
+ \expandafter\def\csname simpleicon@ciscoicon\endcsname {\simpleiconsmapthree\symbol{3}}
+ \expandafter\def\csname simpleicon@citrixicon\endcsname {\simpleiconsmapthree\symbol{4}}
+ \expandafter\def\csname simpleicon@citroenicon\endcsname {\simpleiconsmapthree\symbol{5}}
+ \expandafter\def\csname simpleicon@civicrmicon\endcsname {\simpleiconsmapthree\symbol{6}}
+ \expandafter\def\csname simpleicon@civoicon\endcsname {\simpleiconsmapthree\symbol{7}}
+ \expandafter\def\csname simpleicon@ckeditor4icon\endcsname {\simpleiconsmapthree\symbol{8}}
+ \expandafter\def\csname simpleicon@clarifaiicon\endcsname {\simpleiconsmapthree\symbol{9}}
+ \expandafter\def\csname simpleicon@clarisicon\endcsname {\simpleiconsmapthree\symbol{10}}
+ \expandafter\def\csname simpleicon@clarivateicon\endcsname {\simpleiconsmapthree\symbol{11}}
+ \expandafter\def\csname simpleicon@clerkicon\endcsname {\simpleiconsmapthree\symbol{12}}
+ \expandafter\def\csname simpleicon@clevercloudicon\endcsname {\simpleiconsmapthree\symbol{13}}
+ \expandafter\def\csname simpleicon@clickhouseicon\endcsname {\simpleiconsmapthree\symbol{14}}
+ \expandafter\def\csname simpleicon@clickupicon\endcsname {\simpleiconsmapthree\symbol{15}}
+ \expandafter\def\csname simpleicon@clionicon\endcsname {\simpleiconsmapthree\symbol{16}}
+ \expandafter\def\csname simpleicon@cliqzicon\endcsname {\simpleiconsmapthree\symbol{17}}
+ \expandafter\def\csname simpleicon@clockifyicon\endcsname {\simpleiconsmapthree\symbol{18}}
+ \expandafter\def\csname simpleicon@clojureicon\endcsname {\simpleiconsmapthree\symbol{19}}
+ \expandafter\def\csname simpleicon@cloud66icon\endcsname {\simpleiconsmapthree\symbol{20}}
+ \expandafter\def\csname simpleicon@cloudbeesicon\endcsname {\simpleiconsmapthree\symbol{21}}
+ \expandafter\def\csname simpleicon@cloudcannonicon\endcsname {\simpleiconsmapthree\symbol{22}}
+ \expandafter\def\csname simpleicon@clouderaicon\endcsname {\simpleiconsmapthree\symbol{23}}
+ \expandafter\def\csname simpleicon@cloudflareicon\endcsname {\simpleiconsmapthree\symbol{24}}
+ \expandafter\def\csname simpleicon@cloudflarepagesicon\endcsname {\simpleiconsmapthree\symbol{25}}
+ \expandafter\def\csname simpleicon@cloudflareworkersicon\endcsname {\simpleiconsmapthree\symbol{26}}
+ \expandafter\def\csname simpleicon@cloudfoundryicon\endcsname {\simpleiconsmapthree\symbol{27}}
+ \expandafter\def\csname simpleicon@cloudinaryicon\endcsname {\simpleiconsmapthree\symbol{28}}
+ \expandafter\def\csname simpleicon@cloudronicon\endcsname {\simpleiconsmapthree\symbol{29}}
+ \expandafter\def\csname simpleicon@cloudsmithicon\endcsname {\simpleiconsmapthree\symbol{30}}
+ \expandafter\def\csname simpleicon@cloudwaysicon\endcsname {\simpleiconsmapthree\symbol{31}}
+ \expandafter\def\csname simpleicon@clubforceicon\endcsname {\simpleiconsmapthree\symbol{32}}
+ \expandafter\def\csname simpleicon@clubhouseicon\endcsname {\simpleiconsmapthree\symbol{33}}
+ \expandafter\def\csname simpleicon@clypicon\endcsname {\simpleiconsmapthree\symbol{34}}
+ \expandafter\def\csname simpleicon@cmakeicon\endcsname {\simpleiconsmapthree\symbol{35}}
+ \expandafter\def\csname simpleicon@cncficon\endcsname {\simpleiconsmapthree\symbol{36}}
+ \expandafter\def\csname simpleicon@cneticon\endcsname {\simpleiconsmapthree\symbol{37}}
+ \expandafter\def\csname simpleicon@cnnicon\endcsname {\simpleiconsmapthree\symbol{38}}
+ \expandafter\def\csname simpleicon@cocacolaicon\endcsname {\simpleiconsmapthree\symbol{39}}
+ \expandafter\def\csname simpleicon@cockpiticon\endcsname {\simpleiconsmapthree\symbol{40}}
+ \expandafter\def\csname simpleicon@cockroachlabsicon\endcsname {\simpleiconsmapthree\symbol{41}}
+ \expandafter\def\csname simpleicon@cocoapodsicon\endcsname {\simpleiconsmapthree\symbol{42}}
+ \expandafter\def\csname simpleicon@cocosicon\endcsname {\simpleiconsmapthree\symbol{43}}
+ \expandafter\def\csname simpleicon@codaicon\endcsname {\simpleiconsmapthree\symbol{44}}
+ \expandafter\def\csname simpleicon@codacyicon\endcsname {\simpleiconsmapthree\symbol{45}}
+ \expandafter\def\csname simpleicon@codebergicon\endcsname {\simpleiconsmapthree\symbol{46}}
+ \expandafter\def\csname simpleicon@codeblocksicon\endcsname {\simpleiconsmapthree\symbol{47}}
+ \expandafter\def\csname simpleicon@codecademyicon\endcsname {\simpleiconsmapthree\symbol{48}}
+ \expandafter\def\csname simpleicon@codeceptjsicon\endcsname {\simpleiconsmapthree\symbol{49}}
+ \expandafter\def\csname simpleicon@codecheficon\endcsname {\simpleiconsmapthree\symbol{50}}
+ \expandafter\def\csname simpleicon@codeclimateicon\endcsname {\simpleiconsmapthree\symbol{51}}
+ \expandafter\def\csname simpleicon@codecovicon\endcsname {\simpleiconsmapthree\symbol{52}}
+ \expandafter\def\csname simpleicon@codefactoricon\endcsname {\simpleiconsmapthree\symbol{53}}
+ \expandafter\def\csname simpleicon@codeforcesicon\endcsname {\simpleiconsmapthree\symbol{54}}
+ \expandafter\def\csname simpleicon@codefreshicon\endcsname {\simpleiconsmapthree\symbol{55}}
+ \expandafter\def\csname simpleicon@codeignitericon\endcsname {\simpleiconsmapthree\symbol{56}}
+ \expandafter\def\csname simpleicon@codeiumicon\endcsname {\simpleiconsmapthree\symbol{57}}
+ \expandafter\def\csname simpleicon@codemagicicon\endcsname {\simpleiconsmapthree\symbol{58}}
+ \expandafter\def\csname simpleicon@codementoricon\endcsname {\simpleiconsmapthree\symbol{59}}
+ \expandafter\def\csname simpleicon@codemirroricon\endcsname {\simpleiconsmapthree\symbol{60}}
+ \expandafter\def\csname simpleicon@codenewbieicon\endcsname {\simpleiconsmapthree\symbol{61}}
+ \expandafter\def\csname simpleicon@codepenicon\endcsname {\simpleiconsmapthree\symbol{62}}
+ \expandafter\def\csname simpleicon@codeprojecticon\endcsname {\simpleiconsmapthree\symbol{63}}
+ \expandafter\def\csname simpleicon@codericon\endcsname {\simpleiconsmapthree\symbol{64}}
+ \expandafter\def\csname simpleicon@codersrankicon\endcsname {\simpleiconsmapthree\symbol{65}}
+ \expandafter\def\csname simpleicon@coderwallicon\endcsname {\simpleiconsmapthree\symbol{66}}
+ \expandafter\def\csname simpleicon@codesandboxicon\endcsname {\simpleiconsmapthree\symbol{67}}
+ \expandafter\def\csname simpleicon@codeshipicon\endcsname {\simpleiconsmapthree\symbol{68}}
+ \expandafter\def\csname simpleicon@codesignalicon\endcsname {\simpleiconsmapthree\symbol{69}}
+ \expandafter\def\csname simpleicon@codestreamicon\endcsname {\simpleiconsmapthree\symbol{70}}
+ \expandafter\def\csname simpleicon@codewarsicon\endcsname {\simpleiconsmapthree\symbol{71}}
+ \expandafter\def\csname simpleicon@codingameicon\endcsname {\simpleiconsmapthree\symbol{72}}
+ \expandafter\def\csname simpleicon@codingninjasicon\endcsname {\simpleiconsmapthree\symbol{73}}
+ \expandafter\def\csname simpleicon@codioicon\endcsname {\simpleiconsmapthree\symbol{74}}
+ \expandafter\def\csname simpleicon@coffeescripticon\endcsname {\simpleiconsmapthree\symbol{75}}
+ \expandafter\def\csname simpleicon@coggleicon\endcsname {\simpleiconsmapthree\symbol{76}}
+ \expandafter\def\csname simpleicon@cognizanticon\endcsname {\simpleiconsmapthree\symbol{77}}
+ \expandafter\def\csname simpleicon@coilicon\endcsname {\simpleiconsmapthree\symbol{78}}
+ \expandafter\def\csname simpleicon@coinbaseicon\endcsname {\simpleiconsmapthree\symbol{79}}
+ \expandafter\def\csname simpleicon@coinmarketcapicon\endcsname {\simpleiconsmapthree\symbol{80}}
+ \expandafter\def\csname simpleicon@comicfuryicon\endcsname {\simpleiconsmapthree\symbol{81}}
+ \expandafter\def\csname simpleicon@commaicon\endcsname {\simpleiconsmapthree\symbol{82}}
+ \expandafter\def\csname simpleicon@commerzbankicon\endcsname {\simpleiconsmapthree\symbol{83}}
+ \expandafter\def\csname simpleicon@commitlinticon\endcsname {\simpleiconsmapthree\symbol{84}}
+ \expandafter\def\csname simpleicon@commodoreicon\endcsname {\simpleiconsmapthree\symbol{85}}
+ \expandafter\def\csname simpleicon@commonworkflowlanguageicon\endcsname {\simpleiconsmapthree\symbol{86}}
+ \expandafter\def\csname simpleicon@compilerexplorericon\endcsname {\simpleiconsmapthree\symbol{87}}
+ \expandafter\def\csname simpleicon@composericon\endcsname {\simpleiconsmapthree\symbol{88}}
+ \expandafter\def\csname simpleicon@comptiaicon\endcsname {\simpleiconsmapthree\symbol{89}}
+ \expandafter\def\csname simpleicon@comsolicon\endcsname {\simpleiconsmapthree\symbol{90}}
+ \expandafter\def\csname simpleicon@conanicon\endcsname {\simpleiconsmapthree\symbol{91}}
+ \expandafter\def\csname simpleicon@concourseicon\endcsname {\simpleiconsmapthree\symbol{92}}
+ \expandafter\def\csname simpleicon@condaforgeicon\endcsname {\simpleiconsmapthree\symbol{93}}
+ \expandafter\def\csname simpleicon@conektaicon\endcsname {\simpleiconsmapthree\symbol{94}}
+ \expandafter\def\csname simpleicon@confluenceicon\endcsname {\simpleiconsmapthree\symbol{95}}
+ \expandafter\def\csname simpleicon@construct3icon\endcsname {\simpleiconsmapthree\symbol{96}}
+ \expandafter\def\csname simpleicon@consulicon\endcsname {\simpleiconsmapthree\symbol{97}}
+ \expandafter\def\csname simpleicon@contactlesspaymenticon\endcsname {\simpleiconsmapthree\symbol{98}}
+ \expandafter\def\csname simpleicon@containerdicon\endcsname {\simpleiconsmapthree\symbol{99}}
+ \expandafter\def\csname simpleicon@contaoicon\endcsname {\simpleiconsmapthree\symbol{100}}
+ \expandafter\def\csname simpleicon@contentfulicon\endcsname {\simpleiconsmapthree\symbol{101}}
+ \expandafter\def\csname simpleicon@contentstackicon\endcsname {\simpleiconsmapthree\symbol{102}}
+ \expandafter\def\csname simpleicon@contributorcovenanticon\endcsname {\simpleiconsmapthree\symbol{103}}
+ \expandafter\def\csname simpleicon@conventionalcommitsicon\endcsname {\simpleiconsmapthree\symbol{104}}
+ \expandafter\def\csname simpleicon@convertioicon\endcsname {\simpleiconsmapthree\symbol{105}}
+ \expandafter\def\csname simpleicon@cookiecuttericon\endcsname {\simpleiconsmapthree\symbol{106}}
+ \expandafter\def\csname simpleicon@coolermastericon\endcsname {\simpleiconsmapthree\symbol{107}}
+ \expandafter\def\csname simpleicon@coopicon\endcsname {\simpleiconsmapthree\symbol{108}}
+ \expandafter\def\csname simpleicon@copaairlinesicon\endcsname {\simpleiconsmapthree\symbol{109}}
+ \expandafter\def\csname simpleicon@coppelicon\endcsname {\simpleiconsmapthree\symbol{110}}
+ \expandafter\def\csname simpleicon@coraicon\endcsname {\simpleiconsmapthree\symbol{111}}
+ \expandafter\def\csname simpleicon@coreldrawicon\endcsname {\simpleiconsmapthree\symbol{112}}
+ \expandafter\def\csname simpleicon@coronaengineicon\endcsname {\simpleiconsmapthree\symbol{113}}
+ \expandafter\def\csname simpleicon@coronarenderericon\endcsname {\simpleiconsmapthree\symbol{114}}
+ \expandafter\def\csname simpleicon@corsairicon\endcsname {\simpleiconsmapthree\symbol{115}}
+ \expandafter\def\csname simpleicon@couchbaseicon\endcsname {\simpleiconsmapthree\symbol{116}}
+ \expandafter\def\csname simpleicon@counterstrikeicon\endcsname {\simpleiconsmapthree\symbol{117}}
+ \expandafter\def\csname simpleicon@countingworksproicon\endcsname {\simpleiconsmapthree\symbol{118}}
+ \expandafter\def\csname simpleicon@courseraicon\endcsname {\simpleiconsmapthree\symbol{119}}
+ \expandafter\def\csname simpleicon@coverallsicon\endcsname {\simpleiconsmapthree\symbol{120}}
+ \expandafter\def\csname simpleicon@cpanelicon\endcsname {\simpleiconsmapthree\symbol{121}}
+ \expandafter\def\csname simpleicon@cplusplusicon\endcsname {\simpleiconsmapthree\symbol{122}}
+ \expandafter\def\csname simpleicon@cplusplusbuildericon\endcsname {\simpleiconsmapthree\symbol{123}}
+ \expandafter\def\csname simpleicon@craftcmsicon\endcsname {\simpleiconsmapthree\symbol{124}}
+ \expandafter\def\csname simpleicon@craftsmanicon\endcsname {\simpleiconsmapthree\symbol{125}}
+ \expandafter\def\csname simpleicon@cratedbicon\endcsname {\simpleiconsmapthree\symbol{126}}
+ \expandafter\def\csname simpleicon@crayonicon\endcsname {\simpleiconsmapthree\symbol{127}}
+ \expandafter\def\csname simpleicon@crealityicon\endcsname {\simpleiconsmapthree\symbol{128}}
+ \expandafter\def\csname simpleicon@createreactappicon\endcsname {\simpleiconsmapthree\symbol{129}}
+ \expandafter\def\csname simpleicon@creativecommonsicon\endcsname {\simpleiconsmapthree\symbol{130}}
+ \expandafter\def\csname simpleicon@creativetechnologyicon\endcsname {\simpleiconsmapthree\symbol{131}}
+ \expandafter\def\csname simpleicon@credlyicon\endcsname {\simpleiconsmapthree\symbol{132}}
+ \expandafter\def\csname simpleicon@crehanaicon\endcsname {\simpleiconsmapthree\symbol{133}}
+ \expandafter\def\csname simpleicon@crewunitedicon\endcsname {\simpleiconsmapthree\symbol{134}}
+ \expandafter\def\csname simpleicon@criticalroleicon\endcsname {\simpleiconsmapthree\symbol{135}}
+ \expandafter\def\csname simpleicon@crowdinicon\endcsname {\simpleiconsmapthree\symbol{136}}
+ \expandafter\def\csname simpleicon@crowdsourceicon\endcsname {\simpleiconsmapthree\symbol{137}}
+ \expandafter\def\csname simpleicon@crunchbaseicon\endcsname {\simpleiconsmapthree\symbol{138}}
+ \expandafter\def\csname simpleicon@crunchyrollicon\endcsname {\simpleiconsmapthree\symbol{139}}
+ \expandafter\def\csname simpleicon@cryengineicon\endcsname {\simpleiconsmapthree\symbol{140}}
+ \expandafter\def\csname simpleicon@cryptpadicon\endcsname {\simpleiconsmapthree\symbol{141}}
+ \expandafter\def\csname simpleicon@crystalicon\endcsname {\simpleiconsmapthree\symbol{142}}
+ \expandafter\def\csname simpleicon@css3icon\endcsname {\simpleiconsmapthree\symbol{143}}
+ \expandafter\def\csname simpleicon@cssdesignawardsicon\endcsname {\simpleiconsmapthree\symbol{144}}
+ \expandafter\def\csname simpleicon@cssmodulesicon\endcsname {\simpleiconsmapthree\symbol{145}}
+ \expandafter\def\csname simpleicon@csswizardryicon\endcsname {\simpleiconsmapthree\symbol{146}}
+ \expandafter\def\csname simpleicon@ctsicon\endcsname {\simpleiconsmapthree\symbol{147}}
+ \expandafter\def\csname simpleicon@cucumbericon\endcsname {\simpleiconsmapthree\symbol{148}}
+ \expandafter\def\csname simpleicon@culturaicon\endcsname {\simpleiconsmapthree\symbol{149}}
+ \expandafter\def\csname simpleicon@curlicon\endcsname {\simpleiconsmapthree\symbol{150}}
+ \expandafter\def\csname simpleicon@curseforgeicon\endcsname {\simpleiconsmapthree\symbol{151}}
+ \expandafter\def\csname simpleicon@custominkicon\endcsname {\simpleiconsmapthree\symbol{152}}
+ \expandafter\def\csname simpleicon@cyberdefendersicon\endcsname {\simpleiconsmapthree\symbol{153}}
+ \expandafter\def\csname simpleicon@cycling74icon\endcsname {\simpleiconsmapthree\symbol{154}}
+ \expandafter\def\csname simpleicon@cypressicon\endcsname {\simpleiconsmapthree\symbol{155}}
+ \expandafter\def\csname simpleicon@cytoscapedotjsicon\endcsname {\simpleiconsmapthree\symbol{156}}
+ \expandafter\def\csname simpleicon@dicon\endcsname {\simpleiconsmapthree\symbol{157}}
+ \expandafter\def\csname simpleicon@d3dotjsicon\endcsname {\simpleiconsmapthree\symbol{158}}
+ \expandafter\def\csname simpleicon@daciaicon\endcsname {\simpleiconsmapthree\symbol{159}}
+ \expandafter\def\csname simpleicon@daficon\endcsname {\simpleiconsmapthree\symbol{160}}
+ \expandafter\def\csname simpleicon@dailydotdevicon\endcsname {\simpleiconsmapthree\symbol{161}}
+ \expandafter\def\csname simpleicon@dailymotionicon\endcsname {\simpleiconsmapthree\symbol{162}}
+ \expandafter\def\csname simpleicon@daisyuiicon\endcsname {\simpleiconsmapthree\symbol{163}}
+ \expandafter\def\csname simpleicon@dapricon\endcsname {\simpleiconsmapthree\symbol{164}}
+ \expandafter\def\csname simpleicon@darkreadericon\endcsname {\simpleiconsmapthree\symbol{165}}
+ \expandafter\def\csname simpleicon@darticon\endcsname {\simpleiconsmapthree\symbol{166}}
+ \expandafter\def\csname simpleicon@dartyicon\endcsname {\simpleiconsmapthree\symbol{167}}
+ \expandafter\def\csname simpleicon@dasersteicon\endcsname {\simpleiconsmapthree\symbol{168}}
+ \expandafter\def\csname simpleicon@dashicon\endcsname {\simpleiconsmapthree\symbol{169}}
+ \expandafter\def\csname simpleicon@dashlaneicon\endcsname {\simpleiconsmapthree\symbol{170}}
+ \expandafter\def\csname simpleicon@daskicon\endcsname {\simpleiconsmapthree\symbol{171}}
+ \expandafter\def\csname simpleicon@dassaultsystemesicon\endcsname {\simpleiconsmapthree\symbol{172}}
+ \expandafter\def\csname simpleicon@databricksicon\endcsname {\simpleiconsmapthree\symbol{173}}
+ \expandafter\def\csname simpleicon@datacampicon\endcsname {\simpleiconsmapthree\symbol{174}}
+ \expandafter\def\csname simpleicon@datadogicon\endcsname {\simpleiconsmapthree\symbol{175}}
+ \expandafter\def\csname simpleicon@datadotaiicon\endcsname {\simpleiconsmapthree\symbol{176}}
+ \expandafter\def\csname simpleicon@datagripicon\endcsname {\simpleiconsmapthree\symbol{177}}
+ \expandafter\def\csname simpleicon@dataikuicon\endcsname {\simpleiconsmapthree\symbol{178}}
+ \expandafter\def\csname simpleicon@datastaxicon\endcsname {\simpleiconsmapthree\symbol{179}}
+ \expandafter\def\csname simpleicon@datefnsicon\endcsname {\simpleiconsmapthree\symbol{180}}
+ \expandafter\def\csname simpleicon@datevicon\endcsname {\simpleiconsmapthree\symbol{181}}
+ \expandafter\def\csname simpleicon@datocmsicon\endcsname {\simpleiconsmapthree\symbol{182}}
+ \expandafter\def\csname simpleicon@dattoicon\endcsname {\simpleiconsmapthree\symbol{183}}
+ \expandafter\def\csname simpleicon@davinciresolveicon\endcsname {\simpleiconsmapthree\symbol{184}}
+ \expandafter\def\csname simpleicon@dazhongdianpingicon\endcsname {\simpleiconsmapthree\symbol{185}}
+ \expandafter\def\csname simpleicon@daznicon\endcsname {\simpleiconsmapthree\symbol{186}}
+ \expandafter\def\csname simpleicon@dbeavericon\endcsname {\simpleiconsmapthree\symbol{187}}
+ \expandafter\def\csname simpleicon@dblpicon\endcsname {\simpleiconsmapthree\symbol{188}}
+ \expandafter\def\csname simpleicon@dbticon\endcsname {\simpleiconsmapthree\symbol{189}}
+ \expandafter\def\csname simpleicon@dcentertainmenticon\endcsname {\simpleiconsmapthree\symbol{190}}
+ \expandafter\def\csname simpleicon@debianicon\endcsname {\simpleiconsmapthree\symbol{191}}
+ \expandafter\def\csname simpleicon@decapcmsicon\endcsname {\simpleiconsmapthree\symbol{192}}
+ \expandafter\def\csname simpleicon@decentralandicon\endcsname {\simpleiconsmapthree\symbol{193}}
+ \expandafter\def\csname simpleicon@dedgeicon\endcsname {\simpleiconsmapthree\symbol{194}}
+ \expandafter\def\csname simpleicon@deepcoolicon\endcsname {\simpleiconsmapthree\symbol{195}}
+ \expandafter\def\csname simpleicon@deepgramicon\endcsname {\simpleiconsmapthree\symbol{196}}
+ \expandafter\def\csname simpleicon@deepinicon\endcsname {\simpleiconsmapthree\symbol{197}}
+ \expandafter\def\csname simpleicon@deeplicon\endcsname {\simpleiconsmapthree\symbol{198}}
+ \expandafter\def\csname simpleicon@deepnoteicon\endcsname {\simpleiconsmapthree\symbol{199}}
+ \expandafter\def\csname simpleicon@deliciousicon\endcsname {\simpleiconsmapthree\symbol{200}}
+ \expandafter\def\csname simpleicon@deliverooicon\endcsname {\simpleiconsmapthree\symbol{201}}
+ \expandafter\def\csname simpleicon@dellicon\endcsname {\simpleiconsmapthree\symbol{202}}
+ \expandafter\def\csname simpleicon@delonghiicon\endcsname {\simpleiconsmapthree\symbol{203}}
+ \expandafter\def\csname simpleicon@delphiicon\endcsname {\simpleiconsmapthree\symbol{204}}
+ \expandafter\def\csname simpleicon@deltaicon\endcsname {\simpleiconsmapthree\symbol{205}}
+ \expandafter\def\csname simpleicon@delugeicon\endcsname {\simpleiconsmapthree\symbol{206}}
+ \expandafter\def\csname simpleicon@denoicon\endcsname {\simpleiconsmapthree\symbol{207}}
+ \expandafter\def\csname simpleicon@denonicon\endcsname {\simpleiconsmapthree\symbol{208}}
+ \expandafter\def\csname simpleicon@dependaboticon\endcsname {\simpleiconsmapthree\symbol{209}}
+ \expandafter\def\csname simpleicon@dependencycheckicon\endcsname {\simpleiconsmapthree\symbol{210}}
+ \expandafter\def\csname simpleicon@depositphotosicon\endcsname {\simpleiconsmapthree\symbol{211}}
+ \expandafter\def\csname simpleicon@derspiegelicon\endcsname {\simpleiconsmapthree\symbol{212}}
+ \expandafter\def\csname simpleicon@deutschebahnicon\endcsname {\simpleiconsmapthree\symbol{213}}
+ \expandafter\def\csname simpleicon@deutschebankicon\endcsname {\simpleiconsmapthree\symbol{214}}
+ \expandafter\def\csname simpleicon@deutscheposticon\endcsname {\simpleiconsmapthree\symbol{215}}
+ \expandafter\def\csname simpleicon@devdottoicon\endcsname {\simpleiconsmapthree\symbol{216}}
+ \expandafter\def\csname simpleicon@devexpressicon\endcsname {\simpleiconsmapthree\symbol{217}}
+ \expandafter\def\csname simpleicon@deviantarticon\endcsname {\simpleiconsmapthree\symbol{218}}
+ \expandafter\def\csname simpleicon@devposticon\endcsname {\simpleiconsmapthree\symbol{219}}
+ \expandafter\def\csname simpleicon@devranticon\endcsname {\simpleiconsmapthree\symbol{220}}
+ \expandafter\def\csname simpleicon@dgraphicon\endcsname {\simpleiconsmapthree\symbol{221}}
+ \expandafter\def\csname simpleicon@dhlicon\endcsname {\simpleiconsmapthree\symbol{222}}
+ \expandafter\def\csname simpleicon@diagramsdotneticon\endcsname {\simpleiconsmapthree\symbol{223}}
+ \expandafter\def\csname simpleicon@dialogflowicon\endcsname {\simpleiconsmapthree\symbol{224}}
+ \expandafter\def\csname simpleicon@diasporaicon\endcsname {\simpleiconsmapthree\symbol{225}}
+ \expandafter\def\csname simpleicon@dictionarydotcomicon\endcsname {\simpleiconsmapthree\symbol{226}}
+ \expandafter\def\csname simpleicon@diggicon\endcsname {\simpleiconsmapthree\symbol{227}}
+ \expandafter\def\csname simpleicon@digikeyelectronicsicon\endcsname {\simpleiconsmapthree\symbol{228}}
+ \expandafter\def\csname simpleicon@digitaloceanicon\endcsname {\simpleiconsmapthree\symbol{229}}
+ \expandafter\def\csname simpleicon@dinersclubicon\endcsname {\simpleiconsmapthree\symbol{230}}
+ \expandafter\def\csname simpleicon@dioricon\endcsname {\simpleiconsmapthree\symbol{231}}
+ \expandafter\def\csname simpleicon@directusicon\endcsname {\simpleiconsmapthree\symbol{232}}
+ \expandafter\def\csname simpleicon@discogsicon\endcsname {\simpleiconsmapthree\symbol{233}}
+ \expandafter\def\csname simpleicon@discordicon\endcsname {\simpleiconsmapthree\symbol{234}}
+ \expandafter\def\csname simpleicon@discourseicon\endcsname {\simpleiconsmapthree\symbol{235}}
+ \expandafter\def\csname simpleicon@discovericon\endcsname {\simpleiconsmapthree\symbol{236}}
+ \expandafter\def\csname simpleicon@disqusicon\endcsname {\simpleiconsmapthree\symbol{237}}
+ \expandafter\def\csname simpleicon@disrooticon\endcsname {\simpleiconsmapthree\symbol{238}}
+ \expandafter\def\csname simpleicon@distrokidicon\endcsname {\simpleiconsmapthree\symbol{239}}
+ \expandafter\def\csname simpleicon@djangoicon\endcsname {\simpleiconsmapthree\symbol{240}}
+ \expandafter\def\csname simpleicon@djiicon\endcsname {\simpleiconsmapthree\symbol{241}}
+ \expandafter\def\csname simpleicon@dlibicon\endcsname {\simpleiconsmapthree\symbol{242}}
+ \expandafter\def\csname simpleicon@dlnaicon\endcsname {\simpleiconsmapthree\symbol{243}}
+ \expandafter\def\csname simpleicon@dmicon\endcsname {\simpleiconsmapthree\symbol{244}}
+ \expandafter\def\csname simpleicon@dockericon\endcsname {\simpleiconsmapthree\symbol{245}}
+ \expandafter\def\csname simpleicon@docsdotrsicon\endcsname {\simpleiconsmapthree\symbol{246}}
+ \expandafter\def\csname simpleicon@docsifyicon\endcsname {\simpleiconsmapthree\symbol{247}}
+ \expandafter\def\csname simpleicon@doctrineicon\endcsname {\simpleiconsmapthree\symbol{248}}
+ \expandafter\def\csname simpleicon@docusaurusicon\endcsname {\simpleiconsmapthree\symbol{249}}
+ \expandafter\def\csname simpleicon@dogecoinicon\endcsname {\simpleiconsmapthree\symbol{250}}
+ \expandafter\def\csname simpleicon@doiicon\endcsname {\simpleiconsmapthree\symbol{251}}
+ \expandafter\def\csname simpleicon@dolbyicon\endcsname {\simpleiconsmapthree\symbol{252}}
+ \expandafter\def\csname simpleicon@doordashicon\endcsname {\simpleiconsmapthree\symbol{253}}
+ \expandafter\def\csname simpleicon@dota2icon\endcsname {\simpleiconsmapthree\symbol{254}}
+ \expandafter\def\csname simpleicon@dotenvicon\endcsname {\simpleiconsmapthree\symbol{255}}
+ \expandafter\def\csname simpleicon@dotneticon\endcsname {\simpleiconsmapfour\symbol{0}}
+ \expandafter\def\csname simpleicon@doubanicon\endcsname {\simpleiconsmapfour\symbol{1}}
+ \expandafter\def\csname simpleicon@doubanreadicon\endcsname {\simpleiconsmapfour\symbol{2}}
+ \expandafter\def\csname simpleicon@dovecoticon\endcsname {\simpleiconsmapfour\symbol{3}}
+ \expandafter\def\csname simpleicon@dovetailicon\endcsname {\simpleiconsmapfour\symbol{4}}
+ \expandafter\def\csname simpleicon@doxygenicon\endcsname {\simpleiconsmapfour\symbol{5}}
+ \expandafter\def\csname simpleicon@dpdicon\endcsname {\simpleiconsmapfour\symbol{6}}
+ \expandafter\def\csname simpleicon@dragonframeicon\endcsname {\simpleiconsmapfour\symbol{7}}
+ \expandafter\def\csname simpleicon@draugiemdotlvicon\endcsname {\simpleiconsmapfour\symbol{8}}
+ \expandafter\def\csname simpleicon@dreamstimeicon\endcsname {\simpleiconsmapfour\symbol{9}}
+ \expandafter\def\csname simpleicon@dribbbleicon\endcsname {\simpleiconsmapfour\symbol{10}}
+ \expandafter\def\csname simpleicon@drizzleicon\endcsname {\simpleiconsmapfour\symbol{11}}
+ \expandafter\def\csname simpleicon@droneicon\endcsname {\simpleiconsmapfour\symbol{12}}
+ \expandafter\def\csname simpleicon@droobleicon\endcsname {\simpleiconsmapfour\symbol{13}}
+ \expandafter\def\csname simpleicon@dropboxicon\endcsname {\simpleiconsmapfour\symbol{14}}
+ \expandafter\def\csname simpleicon@drupalicon\endcsname {\simpleiconsmapfour\symbol{15}}
+ \expandafter\def\csname simpleicon@dsautomobilesicon\endcsname {\simpleiconsmapfour\symbol{16}}
+ \expandafter\def\csname simpleicon@dtsicon\endcsname {\simpleiconsmapfour\symbol{17}}
+ \expandafter\def\csname simpleicon@dtubeicon\endcsname {\simpleiconsmapfour\symbol{18}}
+ \expandafter\def\csname simpleicon@ducatiicon\endcsname {\simpleiconsmapfour\symbol{19}}
+ \expandafter\def\csname simpleicon@duckdbicon\endcsname {\simpleiconsmapfour\symbol{20}}
+ \expandafter\def\csname simpleicon@duckduckgoicon\endcsname {\simpleiconsmapfour\symbol{21}}
+ \expandafter\def\csname simpleicon@dungeonsanddragonsicon\endcsname {\simpleiconsmapfour\symbol{22}}
+ \expandafter\def\csname simpleicon@dunkedicon\endcsname {\simpleiconsmapfour\symbol{23}}
+ \expandafter\def\csname simpleicon@dunzoicon\endcsname {\simpleiconsmapfour\symbol{24}}
+ \expandafter\def\csname simpleicon@duolingoicon\endcsname {\simpleiconsmapfour\symbol{25}}
+ \expandafter\def\csname simpleicon@duplicatiicon\endcsname {\simpleiconsmapfour\symbol{26}}
+ \expandafter\def\csname simpleicon@dvcicon\endcsname {\simpleiconsmapfour\symbol{27}}
+ \expandafter\def\csname simpleicon@dwavesystemsicon\endcsname {\simpleiconsmapfour\symbol{28}}
+ \expandafter\def\csname simpleicon@dwmicon\endcsname {\simpleiconsmapfour\symbol{29}}
+ \expandafter\def\csname simpleicon@dynatraceicon\endcsname {\simpleiconsmapfour\symbol{30}}
+ \expandafter\def\csname simpleicon@eicon\endcsname {\simpleiconsmapfour\symbol{31}}
+ \expandafter\def\csname simpleicon@e3icon\endcsname {\simpleiconsmapfour\symbol{32}}
+ \expandafter\def\csname simpleicon@eaicon\endcsname {\simpleiconsmapfour\symbol{33}}
+ \expandafter\def\csname simpleicon@eagleicon\endcsname {\simpleiconsmapfour\symbol{34}}
+ \expandafter\def\csname simpleicon@easyedaicon\endcsname {\simpleiconsmapfour\symbol{35}}
+ \expandafter\def\csname simpleicon@easyjeticon\endcsname {\simpleiconsmapfour\symbol{36}}
+ \expandafter\def\csname simpleicon@ebayicon\endcsname {\simpleiconsmapfour\symbol{37}}
+ \expandafter\def\csname simpleicon@eboxicon\endcsname {\simpleiconsmapfour\symbol{38}}
+ \expandafter\def\csname simpleicon@eclipseadoptiumicon\endcsname {\simpleiconsmapfour\symbol{39}}
+ \expandafter\def\csname simpleicon@eclipsecheicon\endcsname {\simpleiconsmapfour\symbol{40}}
+ \expandafter\def\csname simpleicon@eclipseideicon\endcsname {\simpleiconsmapfour\symbol{41}}
+ \expandafter\def\csname simpleicon@eclipsejettyicon\endcsname {\simpleiconsmapfour\symbol{42}}
+ \expandafter\def\csname simpleicon@eclipsemosquittoicon\endcsname {\simpleiconsmapfour\symbol{43}}
+ \expandafter\def\csname simpleicon@eclipsevertdotxicon\endcsname {\simpleiconsmapfour\symbol{44}}
+ \expandafter\def\csname simpleicon@ecovacsicon\endcsname {\simpleiconsmapfour\symbol{45}}
+ \expandafter\def\csname simpleicon@edekaicon\endcsname {\simpleiconsmapfour\symbol{46}}
+ \expandafter\def\csname simpleicon@edgeimpulseicon\endcsname {\simpleiconsmapfour\symbol{47}}
+ \expandafter\def\csname simpleicon@editorconfigicon\endcsname {\simpleiconsmapfour\symbol{48}}
+ \expandafter\def\csname simpleicon@edotleclercicon\endcsname {\simpleiconsmapfour\symbol{49}}
+ \expandafter\def\csname simpleicon@educativeicon\endcsname {\simpleiconsmapfour\symbol{50}}
+ \expandafter\def\csname simpleicon@edxicon\endcsname {\simpleiconsmapfour\symbol{51}}
+ \expandafter\def\csname simpleicon@eggheadicon\endcsname {\simpleiconsmapfour\symbol{52}}
+ \expandafter\def\csname simpleicon@egnyteicon\endcsname {\simpleiconsmapfour\symbol{53}}
+ \expandafter\def\csname simpleicon@eighticon\endcsname {\simpleiconsmapfour\symbol{54}}
+ \expandafter\def\csname simpleicon@eightsleepicon\endcsname {\simpleiconsmapfour\symbol{55}}
+ \expandafter\def\csname simpleicon@ejsicon\endcsname {\simpleiconsmapfour\symbol{56}}
+ \expandafter\def\csname simpleicon@elasticicon\endcsname {\simpleiconsmapfour\symbol{57}}
+ \expandafter\def\csname simpleicon@elasticcloudicon\endcsname {\simpleiconsmapfour\symbol{58}}
+ \expandafter\def\csname simpleicon@elasticsearchicon\endcsname {\simpleiconsmapfour\symbol{59}}
+ \expandafter\def\csname simpleicon@elasticstackicon\endcsname {\simpleiconsmapfour\symbol{60}}
+ \expandafter\def\csname simpleicon@elavonicon\endcsname {\simpleiconsmapfour\symbol{61}}
+ \expandafter\def\csname simpleicon@electronicon\endcsname {\simpleiconsmapfour\symbol{62}}
+ \expandafter\def\csname simpleicon@electronbuildericon\endcsname {\simpleiconsmapfour\symbol{63}}
+ \expandafter\def\csname simpleicon@electronfiddleicon\endcsname {\simpleiconsmapfour\symbol{64}}
+ \expandafter\def\csname simpleicon@elegooicon\endcsname {\simpleiconsmapfour\symbol{65}}
+ \expandafter\def\csname simpleicon@elementicon\endcsname {\simpleiconsmapfour\symbol{66}}
+ \expandafter\def\csname simpleicon@elementaryicon\endcsname {\simpleiconsmapfour\symbol{67}}
+ \expandafter\def\csname simpleicon@elementoricon\endcsname {\simpleiconsmapfour\symbol{68}}
+ \expandafter\def\csname simpleicon@eleventyicon\endcsname {\simpleiconsmapfour\symbol{69}}
+ \expandafter\def\csname simpleicon@elgatoicon\endcsname {\simpleiconsmapfour\symbol{70}}
+ \expandafter\def\csname simpleicon@elixiricon\endcsname {\simpleiconsmapfour\symbol{71}}
+ \expandafter\def\csname simpleicon@eljuevesicon\endcsname {\simpleiconsmapfour\symbol{72}}
+ \expandafter\def\csname simpleicon@elloicon\endcsname {\simpleiconsmapfour\symbol{73}}
+ \expandafter\def\csname simpleicon@elmicon\endcsname {\simpleiconsmapfour\symbol{74}}
+ \expandafter\def\csname simpleicon@elseviericon\endcsname {\simpleiconsmapfour\symbol{75}}
+ \expandafter\def\csname simpleicon@embarcaderoicon\endcsname {\simpleiconsmapfour\symbol{76}}
+ \expandafter\def\csname simpleicon@embarkicon\endcsname {\simpleiconsmapfour\symbol{77}}
+ \expandafter\def\csname simpleicon@emberdotjsicon\endcsname {\simpleiconsmapfour\symbol{78}}
+ \expandafter\def\csname simpleicon@embyicon\endcsname {\simpleiconsmapfour\symbol{79}}
+ \expandafter\def\csname simpleicon@emiratesicon\endcsname {\simpleiconsmapfour\symbol{80}}
+ \expandafter\def\csname simpleicon@emlakjeticon\endcsname {\simpleiconsmapfour\symbol{81}}
+ \expandafter\def\csname simpleicon@empirekredicon\endcsname {\simpleiconsmapfour\symbol{82}}
+ \expandafter\def\csname simpleicon@endeavourosicon\endcsname {\simpleiconsmapfour\symbol{83}}
+ \expandafter\def\csname simpleicon@engadgeticon\endcsname {\simpleiconsmapfour\symbol{84}}
+ \expandafter\def\csname simpleicon@enpassicon\endcsname {\simpleiconsmapfour\symbol{85}}
+ \expandafter\def\csname simpleicon@enterprisedbicon\endcsname {\simpleiconsmapfour\symbol{86}}
+ \expandafter\def\csname simpleicon@envatoicon\endcsname {\simpleiconsmapfour\symbol{87}}
+ \expandafter\def\csname simpleicon@envoyproxyicon\endcsname {\simpleiconsmapfour\symbol{88}}
+ \expandafter\def\csname simpleicon@epelicon\endcsname {\simpleiconsmapfour\symbol{89}}
+ \expandafter\def\csname simpleicon@epicgamesicon\endcsname {\simpleiconsmapfour\symbol{90}}
+ \expandafter\def\csname simpleicon@epsonicon\endcsname {\simpleiconsmapfour\symbol{91}}
+ \expandafter\def\csname simpleicon@equinixmetalicon\endcsname {\simpleiconsmapfour\symbol{92}}
+ \expandafter\def\csname simpleicon@erasericon\endcsname {\simpleiconsmapfour\symbol{93}}
+ \expandafter\def\csname simpleicon@ericssonicon\endcsname {\simpleiconsmapfour\symbol{94}}
+ \expandafter\def\csname simpleicon@erlangicon\endcsname {\simpleiconsmapfour\symbol{95}}
+ \expandafter\def\csname simpleicon@erpnexticon\endcsname {\simpleiconsmapfour\symbol{96}}
+ \expandafter\def\csname simpleicon@esbuildicon\endcsname {\simpleiconsmapfour\symbol{97}}
+ \expandafter\def\csname simpleicon@eseaicon\endcsname {\simpleiconsmapfour\symbol{98}}
+ \expandafter\def\csname simpleicon@eslgamingicon\endcsname {\simpleiconsmapfour\symbol{99}}
+ \expandafter\def\csname simpleicon@eslinticon\endcsname {\simpleiconsmapfour\symbol{100}}
+ \expandafter\def\csname simpleicon@esotericsoftwareicon\endcsname {\simpleiconsmapfour\symbol{101}}
+ \expandafter\def\csname simpleicon@esphomeicon\endcsname {\simpleiconsmapfour\symbol{102}}
+ \expandafter\def\csname simpleicon@espressificon\endcsname {\simpleiconsmapfour\symbol{103}}
+ \expandafter\def\csname simpleicon@esriicon\endcsname {\simpleiconsmapfour\symbol{104}}
+ \expandafter\def\csname simpleicon@etcdicon\endcsname {\simpleiconsmapfour\symbol{105}}
+ \expandafter\def\csname simpleicon@ethereumicon\endcsname {\simpleiconsmapfour\symbol{106}}
+ \expandafter\def\csname simpleicon@ethersicon\endcsname {\simpleiconsmapfour\symbol{107}}
+ \expandafter\def\csname simpleicon@ethiopianairlinesicon\endcsname {\simpleiconsmapfour\symbol{108}}
+ \expandafter\def\csname simpleicon@etihadairwaysicon\endcsname {\simpleiconsmapfour\symbol{109}}
+ \expandafter\def\csname simpleicon@etsyicon\endcsname {\simpleiconsmapfour\symbol{110}}
+ \expandafter\def\csname simpleicon@eventbriteicon\endcsname {\simpleiconsmapfour\symbol{111}}
+ \expandafter\def\csname simpleicon@eventstoreicon\endcsname {\simpleiconsmapfour\symbol{112}}
+ \expandafter\def\csname simpleicon@evernoteicon\endcsname {\simpleiconsmapfour\symbol{113}}
+ \expandafter\def\csname simpleicon@excalidrawicon\endcsname {\simpleiconsmapfour\symbol{114}}
+ \expandafter\def\csname simpleicon@exercismicon\endcsname {\simpleiconsmapfour\symbol{115}}
+ \expandafter\def\csname simpleicon@exordoicon\endcsname {\simpleiconsmapfour\symbol{116}}
+ \expandafter\def\csname simpleicon@exoscaleicon\endcsname {\simpleiconsmapfour\symbol{117}}
+ \expandafter\def\csname simpleicon@expediaicon\endcsname {\simpleiconsmapfour\symbol{118}}
+ \expandafter\def\csname simpleicon@expensifyicon\endcsname {\simpleiconsmapfour\symbol{119}}
+ \expandafter\def\csname simpleicon@expertsexchangeicon\endcsname {\simpleiconsmapfour\symbol{120}}
+ \expandafter\def\csname simpleicon@expoicon\endcsname {\simpleiconsmapfour\symbol{121}}
+ \expandafter\def\csname simpleicon@expressicon\endcsname {\simpleiconsmapfour\symbol{122}}
+ \expandafter\def\csname simpleicon@expressvpnicon\endcsname {\simpleiconsmapfour\symbol{123}}
+ \expandafter\def\csname simpleicon@eyeemicon\endcsname {\simpleiconsmapfour\symbol{124}}
+ \expandafter\def\csname simpleicon@f1icon\endcsname {\simpleiconsmapfour\symbol{125}}
+ \expandafter\def\csname simpleicon@f5icon\endcsname {\simpleiconsmapfour\symbol{126}}
+ \expandafter\def\csname simpleicon@facebookicon\endcsname {\simpleiconsmapfour\symbol{127}}
+ \expandafter\def\csname simpleicon@facebookgamingicon\endcsname {\simpleiconsmapfour\symbol{128}}
+ \expandafter\def\csname simpleicon@facebookliveicon\endcsname {\simpleiconsmapfour\symbol{129}}
+ \expandafter\def\csname simpleicon@faceiticon\endcsname {\simpleiconsmapfour\symbol{130}}
+ \expandafter\def\csname simpleicon@facepunchicon\endcsname {\simpleiconsmapfour\symbol{131}}
+ \expandafter\def\csname simpleicon@fairphoneicon\endcsname {\simpleiconsmapfour\symbol{132}}
+ \expandafter\def\csname simpleicon@falcoicon\endcsname {\simpleiconsmapfour\symbol{133}}
+ \expandafter\def\csname simpleicon@falconicon\endcsname {\simpleiconsmapfour\symbol{134}}
+ \expandafter\def\csname simpleicon@fampayicon\endcsname {\simpleiconsmapfour\symbol{135}}
+ \expandafter\def\csname simpleicon@fandangoicon\endcsname {\simpleiconsmapfour\symbol{136}}
+ \expandafter\def\csname simpleicon@fandomicon\endcsname {\simpleiconsmapfour\symbol{137}}
+ \expandafter\def\csname simpleicon@fanfouicon\endcsname {\simpleiconsmapfour\symbol{138}}
+ \expandafter\def\csname simpleicon@fantomicon\endcsname {\simpleiconsmapfour\symbol{139}}
+ \expandafter\def\csname simpleicon@farcastericon\endcsname {\simpleiconsmapfour\symbol{140}}
+ \expandafter\def\csname simpleicon@fareharboricon\endcsname {\simpleiconsmapfour\symbol{141}}
+ \expandafter\def\csname simpleicon@farfetchicon\endcsname {\simpleiconsmapfour\symbol{142}}
+ \expandafter\def\csname simpleicon@fastapiicon\endcsname {\simpleiconsmapfour\symbol{143}}
+ \expandafter\def\csname simpleicon@fastifyicon\endcsname {\simpleiconsmapfour\symbol{144}}
+ \expandafter\def\csname simpleicon@fastlaneicon\endcsname {\simpleiconsmapfour\symbol{145}}
+ \expandafter\def\csname simpleicon@fastlyicon\endcsname {\simpleiconsmapfour\symbol{146}}
+ \expandafter\def\csname simpleicon@fathomicon\endcsname {\simpleiconsmapfour\symbol{147}}
+ \expandafter\def\csname simpleicon@faunaicon\endcsname {\simpleiconsmapfour\symbol{148}}
+ \expandafter\def\csname simpleicon@favroicon\endcsname {\simpleiconsmapfour\symbol{149}}
+ \expandafter\def\csname simpleicon@fdroidicon\endcsname {\simpleiconsmapfour\symbol{150}}
+ \expandafter\def\csname simpleicon@feathubicon\endcsname {\simpleiconsmapfour\symbol{151}}
+ \expandafter\def\csname simpleicon@fedexicon\endcsname {\simpleiconsmapfour\symbol{152}}
+ \expandafter\def\csname simpleicon@fedoraicon\endcsname {\simpleiconsmapfour\symbol{153}}
+ \expandafter\def\csname simpleicon@feedlyicon\endcsname {\simpleiconsmapfour\symbol{154}}
+ \expandafter\def\csname simpleicon@ferrariicon\endcsname {\simpleiconsmapfour\symbol{155}}
+ \expandafter\def\csname simpleicon@ferrarinvicon\endcsname {\simpleiconsmapfour\symbol{156}}
+ \expandafter\def\csname simpleicon@ferretdbicon\endcsname {\simpleiconsmapfour\symbol{157}}
+ \expandafter\def\csname simpleicon@ffmpegicon\endcsname {\simpleiconsmapfour\symbol{158}}
+ \expandafter\def\csname simpleicon@fiicon\endcsname {\simpleiconsmapfour\symbol{159}}
+ \expandafter\def\csname simpleicon@fiaticon\endcsname {\simpleiconsmapfour\symbol{160}}
+ \expandafter\def\csname simpleicon@fidoallianceicon\endcsname {\simpleiconsmapfour\symbol{161}}
+ \expandafter\def\csname simpleicon@fifaicon\endcsname {\simpleiconsmapfour\symbol{162}}
+ \expandafter\def\csname simpleicon@figicon\endcsname {\simpleiconsmapfour\symbol{163}}
+ \expandafter\def\csname simpleicon@figmaicon\endcsname {\simpleiconsmapfour\symbol{164}}
+ \expandafter\def\csname simpleicon@figshareicon\endcsname {\simpleiconsmapfour\symbol{165}}
+ \expandafter\def\csname simpleicon@filaicon\endcsname {\simpleiconsmapfour\symbol{166}}
+ \expandafter\def\csname simpleicon@filedotioicon\endcsname {\simpleiconsmapfour\symbol{167}}
+ \expandafter\def\csname simpleicon@filesicon\endcsname {\simpleiconsmapfour\symbol{168}}
+ \expandafter\def\csname simpleicon@filezillaicon\endcsname {\simpleiconsmapfour\symbol{169}}
+ \expandafter\def\csname simpleicon@finecoicon\endcsname {\simpleiconsmapfour\symbol{170}}
+ \expandafter\def\csname simpleicon@fingicon\endcsname {\simpleiconsmapfour\symbol{171}}
+ \expandafter\def\csname simpleicon@firebaseicon\endcsname {\simpleiconsmapfour\symbol{172}}
+ \expandafter\def\csname simpleicon@firefishicon\endcsname {\simpleiconsmapfour\symbol{173}}
+ \expandafter\def\csname simpleicon@fireflyiiiicon\endcsname {\simpleiconsmapfour\symbol{174}}
+ \expandafter\def\csname simpleicon@firefoxicon\endcsname {\simpleiconsmapfour\symbol{175}}
+ \expandafter\def\csname simpleicon@firefoxbrowsericon\endcsname {\simpleiconsmapfour\symbol{176}}
+ \expandafter\def\csname simpleicon@fireshipicon\endcsname {\simpleiconsmapfour\symbol{177}}
+ \expandafter\def\csname simpleicon@firewallaicon\endcsname {\simpleiconsmapfour\symbol{178}}
+ \expandafter\def\csname simpleicon@firsticon\endcsname {\simpleiconsmapfour\symbol{179}}
+ \expandafter\def\csname simpleicon@fishshellicon\endcsname {\simpleiconsmapfour\symbol{180}}
+ \expandafter\def\csname simpleicon@fitbiticon\endcsname {\simpleiconsmapfour\symbol{181}}
+ \expandafter\def\csname simpleicon@fivemicon\endcsname {\simpleiconsmapfour\symbol{182}}
+ \expandafter\def\csname simpleicon@fiverricon\endcsname {\simpleiconsmapfour\symbol{183}}
+ \expandafter\def\csname simpleicon@fizzicon\endcsname {\simpleiconsmapfour\symbol{184}}
+ \expandafter\def\csname simpleicon@flashforgeicon\endcsname {\simpleiconsmapfour\symbol{185}}
+ \expandafter\def\csname simpleicon@flaskicon\endcsname {\simpleiconsmapfour\symbol{186}}
+ \expandafter\def\csname simpleicon@flaticon\endcsname {\simpleiconsmapfour\symbol{187}}
+ \expandafter\def\csname simpleicon@flathubicon\endcsname {\simpleiconsmapfour\symbol{188}}
+ \expandafter\def\csname simpleicon@flatpakicon\endcsname {\simpleiconsmapfour\symbol{189}}
+ \expandafter\def\csname simpleicon@flickricon\endcsname {\simpleiconsmapfour\symbol{190}}
+ \expandafter\def\csname simpleicon@flightawareicon\endcsname {\simpleiconsmapfour\symbol{191}}
+ \expandafter\def\csname simpleicon@flipboardicon\endcsname {\simpleiconsmapfour\symbol{192}}
+ \expandafter\def\csname simpleicon@flipkarticon\endcsname {\simpleiconsmapfour\symbol{193}}
+ \expandafter\def\csname simpleicon@floatplaneicon\endcsname {\simpleiconsmapfour\symbol{194}}
+ \expandafter\def\csname simpleicon@floodicon\endcsname {\simpleiconsmapfour\symbol{195}}
+ \expandafter\def\csname simpleicon@fluentbiticon\endcsname {\simpleiconsmapfour\symbol{196}}
+ \expandafter\def\csname simpleicon@fluentdicon\endcsname {\simpleiconsmapfour\symbol{197}}
+ \expandafter\def\csname simpleicon@flukeicon\endcsname {\simpleiconsmapfour\symbol{198}}
+ \expandafter\def\csname simpleicon@fluttericon\endcsname {\simpleiconsmapfour\symbol{199}}
+ \expandafter\def\csname simpleicon@fluxicon\endcsname {\simpleiconsmapfour\symbol{200}}
+ \expandafter\def\csname simpleicon@fluxusicon\endcsname {\simpleiconsmapfour\symbol{201}}
+ \expandafter\def\csname simpleicon@flywayicon\endcsname {\simpleiconsmapfour\symbol{202}}
+ \expandafter\def\csname simpleicon@fmodicon\endcsname {\simpleiconsmapfour\symbol{203}}
+ \expandafter\def\csname simpleicon@fnacicon\endcsname {\simpleiconsmapfour\symbol{204}}
+ \expandafter\def\csname simpleicon@foliumicon\endcsname {\simpleiconsmapfour\symbol{205}}
+ \expandafter\def\csname simpleicon@fonomaicon\endcsname {\simpleiconsmapfour\symbol{206}}
+ \expandafter\def\csname simpleicon@fontawesomeicon\endcsname {\simpleiconsmapfour\symbol{207}}
+ \expandafter\def\csname simpleicon@fontbaseicon\endcsname {\simpleiconsmapfour\symbol{208}}
+ \expandafter\def\csname simpleicon@fontforgeicon\endcsname {\simpleiconsmapfour\symbol{209}}
+ \expandafter\def\csname simpleicon@foobar2000icon\endcsname {\simpleiconsmapfour\symbol{210}}
+ \expandafter\def\csname simpleicon@foodpandaicon\endcsname {\simpleiconsmapfour\symbol{211}}
+ \expandafter\def\csname simpleicon@fordicon\endcsname {\simpleiconsmapfour\symbol{212}}
+ \expandafter\def\csname simpleicon@forgejoicon\endcsname {\simpleiconsmapfour\symbol{213}}
+ \expandafter\def\csname simpleicon@formikicon\endcsname {\simpleiconsmapfour\symbol{214}}
+ \expandafter\def\csname simpleicon@formspreeicon\endcsname {\simpleiconsmapfour\symbol{215}}
+ \expandafter\def\csname simpleicon@formstackicon\endcsname {\simpleiconsmapfour\symbol{216}}
+ \expandafter\def\csname simpleicon@fortineticon\endcsname {\simpleiconsmapfour\symbol{217}}
+ \expandafter\def\csname simpleicon@fortranicon\endcsname {\simpleiconsmapfour\symbol{218}}
+ \expandafter\def\csname simpleicon@fossaicon\endcsname {\simpleiconsmapfour\symbol{219}}
+ \expandafter\def\csname simpleicon@fossilscmicon\endcsname {\simpleiconsmapfour\symbol{220}}
+ \expandafter\def\csname simpleicon@foundryvirtualtabletopicon\endcsname {\simpleiconsmapfour\symbol{221}}
+ \expandafter\def\csname simpleicon@foursquareicon\endcsname {\simpleiconsmapfour\symbol{222}}
+ \expandafter\def\csname simpleicon@foursquarecityguideicon\endcsname {\simpleiconsmapfour\symbol{223}}
+ \expandafter\def\csname simpleicon@foxicon\endcsname {\simpleiconsmapfour\symbol{224}}
+ \expandafter\def\csname simpleicon@foxtelicon\endcsname {\simpleiconsmapfour\symbol{225}}
+ \expandafter\def\csname simpleicon@fozzyicon\endcsname {\simpleiconsmapfour\symbol{226}}
+ \expandafter\def\csname simpleicon@framericon\endcsname {\simpleiconsmapfour\symbol{227}}
+ \expandafter\def\csname simpleicon@frameworkicon\endcsname {\simpleiconsmapfour\symbol{228}}
+ \expandafter\def\csname simpleicon@framework7icon\endcsname {\simpleiconsmapfour\symbol{229}}
+ \expandafter\def\csname simpleicon@franprixicon\endcsname {\simpleiconsmapfour\symbol{230}}
+ \expandafter\def\csname simpleicon@frappeicon\endcsname {\simpleiconsmapfour\symbol{231}}
+ \expandafter\def\csname simpleicon@fraunhofergesellschafticon\endcsname {\simpleiconsmapfour\symbol{232}}
+ \expandafter\def\csname simpleicon@freebsdicon\endcsname {\simpleiconsmapfour\symbol{233}}
+ \expandafter\def\csname simpleicon@freecadicon\endcsname {\simpleiconsmapfour\symbol{234}}
+ \expandafter\def\csname simpleicon@freecodecampicon\endcsname {\simpleiconsmapfour\symbol{235}}
+ \expandafter\def\csname simpleicon@freedesktopdotorgicon\endcsname {\simpleiconsmapfour\symbol{236}}
+ \expandafter\def\csname simpleicon@freelancericon\endcsname {\simpleiconsmapfour\symbol{237}}
+ \expandafter\def\csname simpleicon@freelancermapicon\endcsname {\simpleiconsmapfour\symbol{238}}
+ \expandafter\def\csname simpleicon@freenasicon\endcsname {\simpleiconsmapfour\symbol{239}}
+ \expandafter\def\csname simpleicon@freepikicon\endcsname {\simpleiconsmapfour\symbol{240}}
+ \expandafter\def\csname simpleicon@frontendmentoricon\endcsname {\simpleiconsmapfour\symbol{241}}
+ \expandafter\def\csname simpleicon@frontifyicon\endcsname {\simpleiconsmapfour\symbol{242}}
+ \expandafter\def\csname simpleicon@fsecureicon\endcsname {\simpleiconsmapfour\symbol{243}}
+ \expandafter\def\csname simpleicon@fsharpicon\endcsname {\simpleiconsmapfour\symbol{244}}
+ \expandafter\def\csname simpleicon@fuboicon\endcsname {\simpleiconsmapfour\symbol{245}}
+ \expandafter\def\csname simpleicon@fuelericon\endcsname {\simpleiconsmapfour\symbol{246}}
+ \expandafter\def\csname simpleicon@fugacloudicon\endcsname {\simpleiconsmapfour\symbol{247}}
+ \expandafter\def\csname simpleicon@fujifilmicon\endcsname {\simpleiconsmapfour\symbol{248}}
+ \expandafter\def\csname simpleicon@fujitsuicon\endcsname {\simpleiconsmapfour\symbol{249}}
+ \expandafter\def\csname simpleicon@funimationicon\endcsname {\simpleiconsmapfour\symbol{250}}
+ \expandafter\def\csname simpleicon@furaffinityicon\endcsname {\simpleiconsmapfour\symbol{251}}
+ \expandafter\def\csname simpleicon@furrynetworkicon\endcsname {\simpleiconsmapfour\symbol{252}}
+ \expandafter\def\csname simpleicon@fusionauthicon\endcsname {\simpleiconsmapfour\symbol{253}}
+ \expandafter\def\csname simpleicon@futurelearnicon\endcsname {\simpleiconsmapfour\symbol{254}}
+ \expandafter\def\csname simpleicon@g2icon\endcsname {\simpleiconsmapfour\symbol{255}}
+ \expandafter\def\csname simpleicon@g2aicon\endcsname {\simpleiconsmapfive\symbol{0}}
+ \expandafter\def\csname simpleicon@g2gicon\endcsname {\simpleiconsmapfive\symbol{1}}
+ \expandafter\def\csname simpleicon@galaxusicon\endcsname {\simpleiconsmapfive\symbol{2}}
+ \expandafter\def\csname simpleicon@gameandwatchicon\endcsname {\simpleiconsmapfive\symbol{3}}
+ \expandafter\def\csname simpleicon@gamebananaicon\endcsname {\simpleiconsmapfive\symbol{4}}
+ \expandafter\def\csname simpleicon@gamedevelopericon\endcsname {\simpleiconsmapfive\symbol{5}}
+ \expandafter\def\csname simpleicon@gamejolticon\endcsname {\simpleiconsmapfive\symbol{6}}
+ \expandafter\def\csname simpleicon@gamelofticon\endcsname {\simpleiconsmapfive\symbol{7}}
+ \expandafter\def\csname simpleicon@gamemakericon\endcsname {\simpleiconsmapfive\symbol{8}}
+ \expandafter\def\csname simpleicon@garminicon\endcsname {\simpleiconsmapfive\symbol{9}}
+ \expandafter\def\csname simpleicon@gatlingicon\endcsname {\simpleiconsmapfive\symbol{10}}
+ \expandafter\def\csname simpleicon@gatsbyicon\endcsname {\simpleiconsmapfive\symbol{11}}
+ \expandafter\def\csname simpleicon@gcoreicon\endcsname {\simpleiconsmapfive\symbol{12}}
+ \expandafter\def\csname simpleicon@gdalicon\endcsname {\simpleiconsmapfive\symbol{13}}
+ \expandafter\def\csname simpleicon@geanticon\endcsname {\simpleiconsmapfive\symbol{14}}
+ \expandafter\def\csname simpleicon@geeksforgeeksicon\endcsname {\simpleiconsmapfive\symbol{15}}
+ \expandafter\def\csname simpleicon@generalelectricicon\endcsname {\simpleiconsmapfive\symbol{16}}
+ \expandafter\def\csname simpleicon@generalmotorsicon\endcsname {\simpleiconsmapfive\symbol{17}}
+ \expandafter\def\csname simpleicon@geniusicon\endcsname {\simpleiconsmapfive\symbol{18}}
+ \expandafter\def\csname simpleicon@gentooicon\endcsname {\simpleiconsmapfive\symbol{19}}
+ \expandafter\def\csname simpleicon@geocachingicon\endcsname {\simpleiconsmapfive\symbol{20}}
+ \expandafter\def\csname simpleicon@geodeicon\endcsname {\simpleiconsmapfive\symbol{21}}
+ \expandafter\def\csname simpleicon@geopandasicon\endcsname {\simpleiconsmapfive\symbol{22}}
+ \expandafter\def\csname simpleicon@gerriticon\endcsname {\simpleiconsmapfive\symbol{23}}
+ \expandafter\def\csname simpleicon@getxicon\endcsname {\simpleiconsmapfive\symbol{24}}
+ \expandafter\def\csname simpleicon@ghosticon\endcsname {\simpleiconsmapfive\symbol{25}}
+ \expandafter\def\csname simpleicon@ghosteryicon\endcsname {\simpleiconsmapfive\symbol{26}}
+ \expandafter\def\csname simpleicon@gimpicon\endcsname {\simpleiconsmapfive\symbol{27}}
+ \expandafter\def\csname simpleicon@ginicon\endcsname {\simpleiconsmapfive\symbol{28}}
+ \expandafter\def\csname simpleicon@giphyicon\endcsname {\simpleiconsmapfive\symbol{29}}
+ \expandafter\def\csname simpleicon@giticon\endcsname {\simpleiconsmapfive\symbol{30}}
+ \expandafter\def\csname simpleicon@gitbookicon\endcsname {\simpleiconsmapfive\symbol{31}}
+ \expandafter\def\csname simpleicon@gitconnectedicon\endcsname {\simpleiconsmapfive\symbol{32}}
+ \expandafter\def\csname simpleicon@giteaicon\endcsname {\simpleiconsmapfive\symbol{33}}
+ \expandafter\def\csname simpleicon@giteeicon\endcsname {\simpleiconsmapfive\symbol{34}}
+ \expandafter\def\csname simpleicon@gitextensionsicon\endcsname {\simpleiconsmapfive\symbol{35}}
+ \expandafter\def\csname simpleicon@gitforwindowsicon\endcsname {\simpleiconsmapfive\symbol{36}}
+ \expandafter\def\csname simpleicon@githubicon\endcsname {\simpleiconsmapfive\symbol{37}}
+ \expandafter\def\csname simpleicon@githubactionsicon\endcsname {\simpleiconsmapfive\symbol{38}}
+ \expandafter\def\csname simpleicon@githubcopiloticon\endcsname {\simpleiconsmapfive\symbol{39}}
+ \expandafter\def\csname simpleicon@githubpagesicon\endcsname {\simpleiconsmapfive\symbol{40}}
+ \expandafter\def\csname simpleicon@githubsponsorsicon\endcsname {\simpleiconsmapfive\symbol{41}}
+ \expandafter\def\csname simpleicon@gitignoredotioicon\endcsname {\simpleiconsmapfive\symbol{42}}
+ \expandafter\def\csname simpleicon@gitkrakenicon\endcsname {\simpleiconsmapfive\symbol{43}}
+ \expandafter\def\csname simpleicon@gitlabicon\endcsname {\simpleiconsmapfive\symbol{44}}
+ \expandafter\def\csname simpleicon@gitlfsicon\endcsname {\simpleiconsmapfive\symbol{45}}
+ \expandafter\def\csname simpleicon@gitpodicon\endcsname {\simpleiconsmapfive\symbol{46}}
+ \expandafter\def\csname simpleicon@gittericon\endcsname {\simpleiconsmapfive\symbol{47}}
+ \expandafter\def\csname simpleicon@glassdooricon\endcsname {\simpleiconsmapfive\symbol{48}}
+ \expandafter\def\csname simpleicon@glideicon\endcsname {\simpleiconsmapfive\symbol{49}}
+ \expandafter\def\csname simpleicon@glitchicon\endcsname {\simpleiconsmapfive\symbol{50}}
+ \expandafter\def\csname simpleicon@globusicon\endcsname {\simpleiconsmapfive\symbol{51}}
+ \expandafter\def\csname simpleicon@glovoicon\endcsname {\simpleiconsmapfive\symbol{52}}
+ \expandafter\def\csname simpleicon@gmailicon\endcsname {\simpleiconsmapfive\symbol{53}}
+ \expandafter\def\csname simpleicon@gnomeicon\endcsname {\simpleiconsmapfive\symbol{54}}
+ \expandafter\def\csname simpleicon@gnometerminalicon\endcsname {\simpleiconsmapfive\symbol{55}}
+ \expandafter\def\csname simpleicon@gnuicon\endcsname {\simpleiconsmapfive\symbol{56}}
+ \expandafter\def\csname simpleicon@gnubashicon\endcsname {\simpleiconsmapfive\symbol{57}}
+ \expandafter\def\csname simpleicon@gnuemacsicon\endcsname {\simpleiconsmapfive\symbol{58}}
+ \expandafter\def\csname simpleicon@gnuicecaticon\endcsname {\simpleiconsmapfive\symbol{59}}
+ \expandafter\def\csname simpleicon@gnuprivacyguardicon\endcsname {\simpleiconsmapfive\symbol{60}}
+ \expandafter\def\csname simpleicon@gnusocialicon\endcsname {\simpleiconsmapfive\symbol{61}}
+ \expandafter\def\csname simpleicon@goicon\endcsname {\simpleiconsmapfive\symbol{62}}
+ \expandafter\def\csname simpleicon@gocdicon\endcsname {\simpleiconsmapfive\symbol{63}}
+ \expandafter\def\csname simpleicon@godaddyicon\endcsname {\simpleiconsmapfive\symbol{64}}
+ \expandafter\def\csname simpleicon@godotengineicon\endcsname {\simpleiconsmapfive\symbol{65}}
+ \expandafter\def\csname simpleicon@gofundmeicon\endcsname {\simpleiconsmapfive\symbol{66}}
+ \expandafter\def\csname simpleicon@gogdotcomicon\endcsname {\simpleiconsmapfive\symbol{67}}
+ \expandafter\def\csname simpleicon@gojekicon\endcsname {\simpleiconsmapfive\symbol{68}}
+ \expandafter\def\csname simpleicon@golandicon\endcsname {\simpleiconsmapfive\symbol{69}}
+ \expandafter\def\csname simpleicon@goldenlineicon\endcsname {\simpleiconsmapfive\symbol{70}}
+ \expandafter\def\csname simpleicon@goldmansachsicon\endcsname {\simpleiconsmapfive\symbol{71}}
+ \expandafter\def\csname simpleicon@goodreadsicon\endcsname {\simpleiconsmapfive\symbol{72}}
+ \expandafter\def\csname simpleicon@googleicon\endcsname {\simpleiconsmapfive\symbol{73}}
+ \expandafter\def\csname simpleicon@googleadmobicon\endcsname {\simpleiconsmapfive\symbol{74}}
+ \expandafter\def\csname simpleicon@googleadsicon\endcsname {\simpleiconsmapfive\symbol{75}}
+ \expandafter\def\csname simpleicon@googleadsenseicon\endcsname {\simpleiconsmapfive\symbol{76}}
+ \expandafter\def\csname simpleicon@googleanalyticsicon\endcsname {\simpleiconsmapfive\symbol{77}}
+ \expandafter\def\csname simpleicon@googleappsscripticon\endcsname {\simpleiconsmapfive\symbol{78}}
+ \expandafter\def\csname simpleicon@googleassistanticon\endcsname {\simpleiconsmapfive\symbol{79}}
+ \expandafter\def\csname simpleicon@googleauthenticatoricon\endcsname {\simpleiconsmapfive\symbol{80}}
+ \expandafter\def\csname simpleicon@googlebigqueryicon\endcsname {\simpleiconsmapfive\symbol{81}}
+ \expandafter\def\csname simpleicon@googlebigtableicon\endcsname {\simpleiconsmapfive\symbol{82}}
+ \expandafter\def\csname simpleicon@googlecalendaricon\endcsname {\simpleiconsmapfive\symbol{83}}
+ \expandafter\def\csname simpleicon@googlecampaignmanager360icon\endcsname {\simpleiconsmapfive\symbol{84}}
+ \expandafter\def\csname simpleicon@googlecardboardicon\endcsname {\simpleiconsmapfive\symbol{85}}
+ \expandafter\def\csname simpleicon@googlechaticon\endcsname {\simpleiconsmapfive\symbol{86}}
+ \expandafter\def\csname simpleicon@googlechromeicon\endcsname {\simpleiconsmapfive\symbol{87}}
+ \expandafter\def\csname simpleicon@googlechronicleicon\endcsname {\simpleiconsmapfive\symbol{88}}
+ \expandafter\def\csname simpleicon@googleclassroomicon\endcsname {\simpleiconsmapfive\symbol{89}}
+ \expandafter\def\csname simpleicon@googlecloudicon\endcsname {\simpleiconsmapfive\symbol{90}}
+ \expandafter\def\csname simpleicon@googlecloudcomposericon\endcsname {\simpleiconsmapfive\symbol{91}}
+ \expandafter\def\csname simpleicon@googlecloudspannericon\endcsname {\simpleiconsmapfive\symbol{92}}
+ \expandafter\def\csname simpleicon@googlecloudstorageicon\endcsname {\simpleiconsmapfive\symbol{93}}
+ \expandafter\def\csname simpleicon@googlecolabicon\endcsname {\simpleiconsmapfive\symbol{94}}
+ \expandafter\def\csname simpleicon@googlecontaineroptimizedosicon\endcsname {\simpleiconsmapfive\symbol{95}}
+ \expandafter\def\csname simpleicon@googledataflowicon\endcsname {\simpleiconsmapfive\symbol{96}}
+ \expandafter\def\csname simpleicon@googledataprocicon\endcsname {\simpleiconsmapfive\symbol{97}}
+ \expandafter\def\csname simpleicon@googledatastudioicon\endcsname {\simpleiconsmapfive\symbol{98}}
+ \expandafter\def\csname simpleicon@googledisplayandvideo360icon\endcsname {\simpleiconsmapfive\symbol{99}}
+ \expandafter\def\csname simpleicon@googledocsicon\endcsname {\simpleiconsmapfive\symbol{100}}
+ \expandafter\def\csname simpleicon@googledriveicon\endcsname {\simpleiconsmapfive\symbol{101}}
+ \expandafter\def\csname simpleicon@googleearthicon\endcsname {\simpleiconsmapfive\symbol{102}}
+ \expandafter\def\csname simpleicon@googleearthengineicon\endcsname {\simpleiconsmapfive\symbol{103}}
+ \expandafter\def\csname simpleicon@googlefiticon\endcsname {\simpleiconsmapfive\symbol{104}}
+ \expandafter\def\csname simpleicon@googlefontsicon\endcsname {\simpleiconsmapfive\symbol{105}}
+ \expandafter\def\csname simpleicon@googleformsicon\endcsname {\simpleiconsmapfive\symbol{106}}
+ \expandafter\def\csname simpleicon@googlegeminiicon\endcsname {\simpleiconsmapfive\symbol{107}}
+ \expandafter\def\csname simpleicon@googlehomeicon\endcsname {\simpleiconsmapfive\symbol{108}}
+ \expandafter\def\csname simpleicon@googlekeepicon\endcsname {\simpleiconsmapfive\symbol{109}}
+ \expandafter\def\csname simpleicon@googlelensicon\endcsname {\simpleiconsmapfive\symbol{110}}
+ \expandafter\def\csname simpleicon@googlemapsicon\endcsname {\simpleiconsmapfive\symbol{111}}
+ \expandafter\def\csname simpleicon@googlemarketingplatformicon\endcsname {\simpleiconsmapfive\symbol{112}}
+ \expandafter\def\csname simpleicon@googlemeeticon\endcsname {\simpleiconsmapfive\symbol{113}}
+ \expandafter\def\csname simpleicon@googlemessagesicon\endcsname {\simpleiconsmapfive\symbol{114}}
+ \expandafter\def\csname simpleicon@googlenearbyicon\endcsname {\simpleiconsmapfive\symbol{115}}
+ \expandafter\def\csname simpleicon@googlenewsicon\endcsname {\simpleiconsmapfive\symbol{116}}
+ \expandafter\def\csname simpleicon@googlepayicon\endcsname {\simpleiconsmapfive\symbol{117}}
+ \expandafter\def\csname simpleicon@googlephotosicon\endcsname {\simpleiconsmapfive\symbol{118}}
+ \expandafter\def\csname simpleicon@googleplayicon\endcsname {\simpleiconsmapfive\symbol{119}}
+ \expandafter\def\csname simpleicon@googlepubsubicon\endcsname {\simpleiconsmapfive\symbol{120}}
+ \expandafter\def\csname simpleicon@googlescholaricon\endcsname {\simpleiconsmapfive\symbol{121}}
+ \expandafter\def\csname simpleicon@googlesearchconsoleicon\endcsname {\simpleiconsmapfive\symbol{122}}
+ \expandafter\def\csname simpleicon@googlesheetsicon\endcsname {\simpleiconsmapfive\symbol{123}}
+ \expandafter\def\csname simpleicon@googleslidesicon\endcsname {\simpleiconsmapfive\symbol{124}}
+ \expandafter\def\csname simpleicon@googlestreetviewicon\endcsname {\simpleiconsmapfive\symbol{125}}
+ \expandafter\def\csname simpleicon@googletagmanagericon\endcsname {\simpleiconsmapfive\symbol{126}}
+ \expandafter\def\csname simpleicon@googletasksicon\endcsname {\simpleiconsmapfive\symbol{127}}
+ \expandafter\def\csname simpleicon@googletranslateicon\endcsname {\simpleiconsmapfive\symbol{128}}
+ \expandafter\def\csname simpleicon@gotomeetingicon\endcsname {\simpleiconsmapfive\symbol{129}}
+ \expandafter\def\csname simpleicon@grabicon\endcsname {\simpleiconsmapfive\symbol{130}}
+ \expandafter\def\csname simpleicon@gradleicon\endcsname {\simpleiconsmapfive\symbol{131}}
+ \expandafter\def\csname simpleicon@gradleplaypublishericon\endcsname {\simpleiconsmapfive\symbol{132}}
+ \expandafter\def\csname simpleicon@grafanaicon\endcsname {\simpleiconsmapfive\symbol{133}}
+ \expandafter\def\csname simpleicon@grammarlyicon\endcsname {\simpleiconsmapfive\symbol{134}}
+ \expandafter\def\csname simpleicon@grandfraisicon\endcsname {\simpleiconsmapfive\symbol{135}}
+ \expandafter\def\csname simpleicon@grapheneosicon\endcsname {\simpleiconsmapfive\symbol{136}}
+ \expandafter\def\csname simpleicon@graphiteicon\endcsname {\simpleiconsmapfive\symbol{137}}
+ \expandafter\def\csname simpleicon@graphqlicon\endcsname {\simpleiconsmapfive\symbol{138}}
+ \expandafter\def\csname simpleicon@gravicon\endcsname {\simpleiconsmapfive\symbol{139}}
+ \expandafter\def\csname simpleicon@gravataricon\endcsname {\simpleiconsmapfive\symbol{140}}
+ \expandafter\def\csname simpleicon@graylogicon\endcsname {\simpleiconsmapfive\symbol{141}}
+ \expandafter\def\csname simpleicon@greasyforkicon\endcsname {\simpleiconsmapfive\symbol{142}}
+ \expandafter\def\csname simpleicon@greatlearningicon\endcsname {\simpleiconsmapfive\symbol{143}}
+ \expandafter\def\csname simpleicon@greenhouseicon\endcsname {\simpleiconsmapfive\symbol{144}}
+ \expandafter\def\csname simpleicon@greensockicon\endcsname {\simpleiconsmapfive\symbol{145}}
+ \expandafter\def\csname simpleicon@griddotaiicon\endcsname {\simpleiconsmapfive\symbol{146}}
+ \expandafter\def\csname simpleicon@gridsomeicon\endcsname {\simpleiconsmapfive\symbol{147}}
+ \expandafter\def\csname simpleicon@groupmeicon\endcsname {\simpleiconsmapfive\symbol{148}}
+ \expandafter\def\csname simpleicon@grouponicon\endcsname {\simpleiconsmapfive\symbol{149}}
+ \expandafter\def\csname simpleicon@grubhubicon\endcsname {\simpleiconsmapfive\symbol{150}}
+ \expandafter\def\csname simpleicon@grunticon\endcsname {\simpleiconsmapfive\symbol{151}}
+ \expandafter\def\csname simpleicon@gskicon\endcsname {\simpleiconsmapfive\symbol{152}}
+ \expandafter\def\csname simpleicon@gsmarenadotcomicon\endcsname {\simpleiconsmapfive\symbol{153}}
+ \expandafter\def\csname simpleicon@gstreamericon\endcsname {\simpleiconsmapfive\symbol{154}}
+ \expandafter\def\csname simpleicon@gtkicon\endcsname {\simpleiconsmapfive\symbol{155}}
+ \expandafter\def\csname simpleicon@guangzhoumetroicon\endcsname {\simpleiconsmapfive\symbol{156}}
+ \expandafter\def\csname simpleicon@guildedicon\endcsname {\simpleiconsmapfive\symbol{157}}
+ \expandafter\def\csname simpleicon@gulpicon\endcsname {\simpleiconsmapfive\symbol{158}}
+ \expandafter\def\csname simpleicon@gumroadicon\endcsname {\simpleiconsmapfive\symbol{159}}
+ \expandafter\def\csname simpleicon@gumtreeicon\endcsname {\simpleiconsmapfive\symbol{160}}
+ \expandafter\def\csname simpleicon@gunicornicon\endcsname {\simpleiconsmapfive\symbol{161}}
+ \expandafter\def\csname simpleicon@gurobiicon\endcsname {\simpleiconsmapfive\symbol{162}}
+ \expandafter\def\csname simpleicon@gustoicon\endcsname {\simpleiconsmapfive\symbol{163}}
+ \expandafter\def\csname simpleicon@gutenbergicon\endcsname {\simpleiconsmapfive\symbol{164}}
+ \expandafter\def\csname simpleicon@h3icon\endcsname {\simpleiconsmapfive\symbol{165}}
+ \expandafter\def\csname simpleicon@habricon\endcsname {\simpleiconsmapfive\symbol{166}}
+ \expandafter\def\csname simpleicon@hackadayicon\endcsname {\simpleiconsmapfive\symbol{167}}
+ \expandafter\def\csname simpleicon@hackclubicon\endcsname {\simpleiconsmapfive\symbol{168}}
+ \expandafter\def\csname simpleicon@hackerearthicon\endcsname {\simpleiconsmapfive\symbol{169}}
+ \expandafter\def\csname simpleicon@hackernoonicon\endcsname {\simpleiconsmapfive\symbol{170}}
+ \expandafter\def\csname simpleicon@hackeroneicon\endcsname {\simpleiconsmapfive\symbol{171}}
+ \expandafter\def\csname simpleicon@hackerrankicon\endcsname {\simpleiconsmapfive\symbol{172}}
+ \expandafter\def\csname simpleicon@hackstericon\endcsname {\simpleiconsmapfive\symbol{173}}
+ \expandafter\def\csname simpleicon@hacktheboxicon\endcsname {\simpleiconsmapfive\symbol{174}}
+ \expandafter\def\csname simpleicon@halicon\endcsname {\simpleiconsmapfive\symbol{175}}
+ \expandafter\def\csname simpleicon@handlebarsdotjsicon\endcsname {\simpleiconsmapfive\symbol{176}}
+ \expandafter\def\csname simpleicon@handmicon\endcsname {\simpleiconsmapfive\symbol{177}}
+ \expandafter\def\csname simpleicon@handshakeicon\endcsname {\simpleiconsmapfive\symbol{178}}
+ \expandafter\def\csname simpleicon@handshakeprotocolicon\endcsname {\simpleiconsmapfive\symbol{179}}
+ \expandafter\def\csname simpleicon@happycowicon\endcsname {\simpleiconsmapfive\symbol{180}}
+ \expandafter\def\csname simpleicon@harboricon\endcsname {\simpleiconsmapfive\symbol{181}}
+ \expandafter\def\csname simpleicon@harmonyosicon\endcsname {\simpleiconsmapfive\symbol{182}}
+ \expandafter\def\csname simpleicon@hashicorpicon\endcsname {\simpleiconsmapfive\symbol{183}}
+ \expandafter\def\csname simpleicon@hashnodeicon\endcsname {\simpleiconsmapfive\symbol{184}}
+ \expandafter\def\csname simpleicon@haskellicon\endcsname {\simpleiconsmapfive\symbol{185}}
+ \expandafter\def\csname simpleicon@hasuraicon\endcsname {\simpleiconsmapfive\symbol{186}}
+ \expandafter\def\csname simpleicon@hatenabookmarkicon\endcsname {\simpleiconsmapfive\symbol{187}}
+ \expandafter\def\csname simpleicon@haveibeenpwnedicon\endcsname {\simpleiconsmapfive\symbol{188}}
+ \expandafter\def\csname simpleicon@haxeicon\endcsname {\simpleiconsmapfive\symbol{189}}
+ \expandafter\def\csname simpleicon@hboicon\endcsname {\simpleiconsmapfive\symbol{190}}
+ \expandafter\def\csname simpleicon@hclicon\endcsname {\simpleiconsmapfive\symbol{191}}
+ \expandafter\def\csname simpleicon@hdfcbankicon\endcsname {\simpleiconsmapfive\symbol{192}}
+ \expandafter\def\csname simpleicon@headlessuiicon\endcsname {\simpleiconsmapfive\symbol{193}}
+ \expandafter\def\csname simpleicon@headphonezoneicon\endcsname {\simpleiconsmapfive\symbol{194}}
+ \expandafter\def\csname simpleicon@headspaceicon\endcsname {\simpleiconsmapfive\symbol{195}}
+ \expandafter\def\csname simpleicon@hearthicon\endcsname {\simpleiconsmapfive\symbol{196}}
+ \expandafter\def\csname simpleicon@hearthisdotaticon\endcsname {\simpleiconsmapfive\symbol{197}}
+ \expandafter\def\csname simpleicon@hederaicon\endcsname {\simpleiconsmapfive\symbol{198}}
+ \expandafter\def\csname simpleicon@heliumicon\endcsname {\simpleiconsmapfive\symbol{199}}
+ \expandafter\def\csname simpleicon@hellofreshicon\endcsname {\simpleiconsmapfive\symbol{200}}
+ \expandafter\def\csname simpleicon@hellyhansenicon\endcsname {\simpleiconsmapfive\symbol{201}}
+ \expandafter\def\csname simpleicon@helmicon\endcsname {\simpleiconsmapfive\symbol{202}}
+ \expandafter\def\csname simpleicon@helpdeskicon\endcsname {\simpleiconsmapfive\symbol{203}}
+ \expandafter\def\csname simpleicon@helpscouticon\endcsname {\simpleiconsmapfive\symbol{204}}
+ \expandafter\def\csname simpleicon@hepsiemlakicon\endcsname {\simpleiconsmapfive\symbol{205}}
+ \expandafter\def\csname simpleicon@hereicon\endcsname {\simpleiconsmapfive\symbol{206}}
+ \expandafter\def\csname simpleicon@herokuicon\endcsname {\simpleiconsmapfive\symbol{207}}
+ \expandafter\def\csname simpleicon@hetznericon\endcsname {\simpleiconsmapfive\symbol{208}}
+ \expandafter\def\csname simpleicon@hevyicon\endcsname {\simpleiconsmapfive\symbol{209}}
+ \expandafter\def\csname simpleicon@hexleticon\endcsname {\simpleiconsmapfive\symbol{210}}
+ \expandafter\def\csname simpleicon@hexoicon\endcsname {\simpleiconsmapfive\symbol{211}}
+ \expandafter\def\csname simpleicon@heyicon\endcsname {\simpleiconsmapfive\symbol{212}}
+ \expandafter\def\csname simpleicon@hibernateicon\endcsname {\simpleiconsmapfive\symbol{213}}
+ \expandafter\def\csname simpleicon@hibobicon\endcsname {\simpleiconsmapfive\symbol{214}}
+ \expandafter\def\csname simpleicon@hiltonicon\endcsname {\simpleiconsmapfive\symbol{215}}
+ \expandafter\def\csname simpleicon@hiltonhotelsandresortsicon\endcsname {\simpleiconsmapfive\symbol{216}}
+ \expandafter\def\csname simpleicon@hitachiicon\endcsname {\simpleiconsmapfive\symbol{217}}
+ \expandafter\def\csname simpleicon@hiveicon\endcsname {\simpleiconsmapfive\symbol{218}}
+ \expandafter\def\csname simpleicon@hiveblockchainicon\endcsname {\simpleiconsmapfive\symbol{219}}
+ \expandafter\def\csname simpleicon@hivemqicon\endcsname {\simpleiconsmapfive\symbol{220}}
+ \expandafter\def\csname simpleicon@homarricon\endcsname {\simpleiconsmapfive\symbol{221}}
+ \expandafter\def\csname simpleicon@homeadvisoricon\endcsname {\simpleiconsmapfive\symbol{222}}
+ \expandafter\def\csname simpleicon@homeassistanticon\endcsname {\simpleiconsmapfive\symbol{223}}
+ \expandafter\def\csname simpleicon@homeassistantcommunitystoreicon\endcsname {\simpleiconsmapfive\symbol{224}}
+ \expandafter\def\csname simpleicon@homebrewicon\endcsname {\simpleiconsmapfive\symbol{225}}
+ \expandafter\def\csname simpleicon@homebridgeicon\endcsname {\simpleiconsmapfive\symbol{226}}
+ \expandafter\def\csname simpleicon@homepageicon\endcsname {\simpleiconsmapfive\symbol{227}}
+ \expandafter\def\csname simpleicon@homifyicon\endcsname {\simpleiconsmapfive\symbol{228}}
+ \expandafter\def\csname simpleicon@hondaicon\endcsname {\simpleiconsmapfive\symbol{229}}
+ \expandafter\def\csname simpleicon@honeyicon\endcsname {\simpleiconsmapfive\symbol{230}}
+ \expandafter\def\csname simpleicon@honoicon\endcsname {\simpleiconsmapfive\symbol{231}}
+ \expandafter\def\csname simpleicon@honoricon\endcsname {\simpleiconsmapfive\symbol{232}}
+ \expandafter\def\csname simpleicon@hootsuiteicon\endcsname {\simpleiconsmapfive\symbol{233}}
+ \expandafter\def\csname simpleicon@hoppscotchicon\endcsname {\simpleiconsmapfive\symbol{234}}
+ \expandafter\def\csname simpleicon@hostingericon\endcsname {\simpleiconsmapfive\symbol{235}}
+ \expandafter\def\csname simpleicon@hotelsdotcomicon\endcsname {\simpleiconsmapfive\symbol{236}}
+ \expandafter\def\csname simpleicon@hotjaricon\endcsname {\simpleiconsmapfive\symbol{237}}
+ \expandafter\def\csname simpleicon@hotwireicon\endcsname {\simpleiconsmapfive\symbol{238}}
+ \expandafter\def\csname simpleicon@houdiniicon\endcsname {\simpleiconsmapfive\symbol{239}}
+ \expandafter\def\csname simpleicon@houzzicon\endcsname {\simpleiconsmapfive\symbol{240}}
+ \expandafter\def\csname simpleicon@hpicon\endcsname {\simpleiconsmapfive\symbol{241}}
+ \expandafter\def\csname simpleicon@hsbcicon\endcsname {\simpleiconsmapfive\symbol{242}}
+ \expandafter\def\csname simpleicon@html5icon\endcsname {\simpleiconsmapfive\symbol{243}}
+ \expandafter\def\csname simpleicon@htmlacademyicon\endcsname {\simpleiconsmapfive\symbol{244}}
+ \expandafter\def\csname simpleicon@htmxicon\endcsname {\simpleiconsmapfive\symbol{245}}
+ \expandafter\def\csname simpleicon@htopicon\endcsname {\simpleiconsmapfive\symbol{246}}
+ \expandafter\def\csname simpleicon@httpieicon\endcsname {\simpleiconsmapfive\symbol{247}}
+ \expandafter\def\csname simpleicon@huaweiicon\endcsname {\simpleiconsmapfive\symbol{248}}
+ \expandafter\def\csname simpleicon@hubspoticon\endcsname {\simpleiconsmapfive\symbol{249}}
+ \expandafter\def\csname simpleicon@huggingfaceicon\endcsname {\simpleiconsmapfive\symbol{250}}
+ \expandafter\def\csname simpleicon@hugoicon\endcsname {\simpleiconsmapfive\symbol{251}}
+ \expandafter\def\csname simpleicon@humblebundleicon\endcsname {\simpleiconsmapfive\symbol{252}}
+ \expandafter\def\csname simpleicon@hungryjacksicon\endcsname {\simpleiconsmapfive\symbol{253}}
+ \expandafter\def\csname simpleicon@husqvarnaicon\endcsname {\simpleiconsmapfive\symbol{254}}
+ \expandafter\def\csname simpleicon@hypericon\endcsname {\simpleiconsmapfive\symbol{255}}
+ \expandafter\def\csname simpleicon@hyperskillicon\endcsname {\simpleiconsmapsix\symbol{0}}
+ \expandafter\def\csname simpleicon@hypothesisicon\endcsname {\simpleiconsmapsix\symbol{1}}
+ \expandafter\def\csname simpleicon@hyprlandicon\endcsname {\simpleiconsmapsix\symbol{2}}
+ \expandafter\def\csname simpleicon@hyundaiicon\endcsname {\simpleiconsmapsix\symbol{3}}
+ \expandafter\def\csname simpleicon@i18nexticon\endcsname {\simpleiconsmapsix\symbol{4}}
+ \expandafter\def\csname simpleicon@i3icon\endcsname {\simpleiconsmapsix\symbol{5}}
+ \expandafter\def\csname simpleicon@iataicon\endcsname {\simpleiconsmapsix\symbol{6}}
+ \expandafter\def\csname simpleicon@ibeaconicon\endcsname {\simpleiconsmapsix\symbol{7}}
+ \expandafter\def\csname simpleicon@iberiaicon\endcsname {\simpleiconsmapsix\symbol{8}}
+ \expandafter\def\csname simpleicon@icedicon\endcsname {\simpleiconsmapsix\symbol{9}}
+ \expandafter\def\csname simpleicon@icelandicon\endcsname {\simpleiconsmapsix\symbol{10}}
+ \expandafter\def\csname simpleicon@icicibankicon\endcsname {\simpleiconsmapsix\symbol{11}}
+ \expandafter\def\csname simpleicon@icingaicon\endcsname {\simpleiconsmapsix\symbol{12}}
+ \expandafter\def\csname simpleicon@icloudicon\endcsname {\simpleiconsmapsix\symbol{13}}
+ \expandafter\def\csname simpleicon@icomoonicon\endcsname {\simpleiconsmapsix\symbol{14}}
+ \expandafter\def\csname simpleicon@iconicon\endcsname {\simpleiconsmapsix\symbol{15}}
+ \expandafter\def\csname simpleicon@iconfindericon\endcsname {\simpleiconsmapsix\symbol{16}}
+ \expandafter\def\csname simpleicon@iconifyicon\endcsname {\simpleiconsmapsix\symbol{17}}
+ \expandafter\def\csname simpleicon@iconjaricon\endcsname {\simpleiconsmapsix\symbol{18}}
+ \expandafter\def\csname simpleicon@icons8icon\endcsname {\simpleiconsmapsix\symbol{19}}
+ \expandafter\def\csname simpleicon@icqicon\endcsname {\simpleiconsmapsix\symbol{20}}
+ \expandafter\def\csname simpleicon@ieeeicon\endcsname {\simpleiconsmapsix\symbol{21}}
+ \expandafter\def\csname simpleicon@ifixiticon\endcsname {\simpleiconsmapsix\symbol{22}}
+ \expandafter\def\csname simpleicon@ifoodicon\endcsname {\simpleiconsmapsix\symbol{23}}
+ \expandafter\def\csname simpleicon@ifttticon\endcsname {\simpleiconsmapsix\symbol{24}}
+ \expandafter\def\csname simpleicon@igdbicon\endcsname {\simpleiconsmapsix\symbol{25}}
+ \expandafter\def\csname simpleicon@ignicon\endcsname {\simpleiconsmapsix\symbol{26}}
+ \expandafter\def\csname simpleicon@iheartradioicon\endcsname {\simpleiconsmapsix\symbol{27}}
+ \expandafter\def\csname simpleicon@ikeaicon\endcsname {\simpleiconsmapsix\symbol{28}}
+ \expandafter\def\csname simpleicon@iledefrancemobilitesicon\endcsname {\simpleiconsmapsix\symbol{29}}
+ \expandafter\def\csname simpleicon@imagedotscicon\endcsname {\simpleiconsmapsix\symbol{30}}
+ \expandafter\def\csname simpleicon@imagejicon\endcsname {\simpleiconsmapsix\symbol{31}}
+ \expandafter\def\csname simpleicon@imdbicon\endcsname {\simpleiconsmapsix\symbol{32}}
+ \expandafter\def\csname simpleicon@imessageicon\endcsname {\simpleiconsmapsix\symbol{33}}
+ \expandafter\def\csname simpleicon@imguricon\endcsname {\simpleiconsmapsix\symbol{34}}
+ \expandafter\def\csname simpleicon@immericon\endcsname {\simpleiconsmapsix\symbol{35}}
+ \expandafter\def\csname simpleicon@immichicon\endcsname {\simpleiconsmapsix\symbol{36}}
+ \expandafter\def\csname simpleicon@imouicon\endcsname {\simpleiconsmapsix\symbol{37}}
+ \expandafter\def\csname simpleicon@improvmxicon\endcsname {\simpleiconsmapsix\symbol{38}}
+ \expandafter\def\csname simpleicon@indeedicon\endcsname {\simpleiconsmapsix\symbol{39}}
+ \expandafter\def\csname simpleicon@indiansuperleagueicon\endcsname {\simpleiconsmapsix\symbol{40}}
+ \expandafter\def\csname simpleicon@indiehackersicon\endcsname {\simpleiconsmapsix\symbol{41}}
+ \expandafter\def\csname simpleicon@indigoicon\endcsname {\simpleiconsmapsix\symbol{42}}
+ \expandafter\def\csname simpleicon@inertiaicon\endcsname {\simpleiconsmapsix\symbol{43}}
+ \expandafter\def\csname simpleicon@infinitiicon\endcsname {\simpleiconsmapsix\symbol{44}}
+ \expandafter\def\csname simpleicon@influxdbicon\endcsname {\simpleiconsmapsix\symbol{45}}
+ \expandafter\def\csname simpleicon@infomaniakicon\endcsname {\simpleiconsmapsix\symbol{46}}
+ \expandafter\def\csname simpleicon@infoqicon\endcsname {\simpleiconsmapsix\symbol{47}}
+ \expandafter\def\csname simpleicon@informaticaicon\endcsname {\simpleiconsmapsix\symbol{48}}
+ \expandafter\def\csname simpleicon@infosysicon\endcsname {\simpleiconsmapsix\symbol{49}}
+ \expandafter\def\csname simpleicon@infracosticon\endcsname {\simpleiconsmapsix\symbol{50}}
+ \expandafter\def\csname simpleicon@ingressicon\endcsname {\simpleiconsmapsix\symbol{51}}
+ \expandafter\def\csname simpleicon@inkdropicon\endcsname {\simpleiconsmapsix\symbol{52}}
+ \expandafter\def\csname simpleicon@inkscapeicon\endcsname {\simpleiconsmapsix\symbol{53}}
+ \expandafter\def\csname simpleicon@inoreadericon\endcsname {\simpleiconsmapsix\symbol{54}}
+ \expandafter\def\csname simpleicon@insomniaicon\endcsname {\simpleiconsmapsix\symbol{55}}
+ \expandafter\def\csname simpleicon@inspireicon\endcsname {\simpleiconsmapsix\symbol{56}}
+ \expandafter\def\csname simpleicon@insta360icon\endcsname {\simpleiconsmapsix\symbol{57}}
+ \expandafter\def\csname simpleicon@instacarticon\endcsname {\simpleiconsmapsix\symbol{58}}
+ \expandafter\def\csname simpleicon@instagramicon\endcsname {\simpleiconsmapsix\symbol{59}}
+ \expandafter\def\csname simpleicon@instapapericon\endcsname {\simpleiconsmapsix\symbol{60}}
+ \expandafter\def\csname simpleicon@instatusicon\endcsname {\simpleiconsmapsix\symbol{61}}
+ \expandafter\def\csname simpleicon@instructablesicon\endcsname {\simpleiconsmapsix\symbol{62}}
+ \expandafter\def\csname simpleicon@instructureicon\endcsname {\simpleiconsmapsix\symbol{63}}
+ \expandafter\def\csname simpleicon@intelicon\endcsname {\simpleiconsmapsix\symbol{64}}
+ \expandafter\def\csname simpleicon@intellijideaicon\endcsname {\simpleiconsmapsix\symbol{65}}
+ \expandafter\def\csname simpleicon@interactiondesignfoundationicon\endcsname {\simpleiconsmapsix\symbol{66}}
+ \expandafter\def\csname simpleicon@interactjsicon\endcsname {\simpleiconsmapsix\symbol{67}}
+ \expandafter\def\csname simpleicon@interbaseicon\endcsname {\simpleiconsmapsix\symbol{68}}
+ \expandafter\def\csname simpleicon@intercomicon\endcsname {\simpleiconsmapsix\symbol{69}}
+ \expandafter\def\csname simpleicon@intermarcheicon\endcsname {\simpleiconsmapsix\symbol{70}}
+ \expandafter\def\csname simpleicon@internetarchiveicon\endcsname {\simpleiconsmapsix\symbol{71}}
+ \expandafter\def\csname simpleicon@internetcomputericon\endcsname {\simpleiconsmapsix\symbol{72}}
+ \expandafter\def\csname simpleicon@intigritiicon\endcsname {\simpleiconsmapsix\symbol{73}}
+ \expandafter\def\csname simpleicon@intuiticon\endcsname {\simpleiconsmapsix\symbol{74}}
+ \expandafter\def\csname simpleicon@invisionicon\endcsname {\simpleiconsmapsix\symbol{75}}
+ \expandafter\def\csname simpleicon@invoiceninjaicon\endcsname {\simpleiconsmapsix\symbol{76}}
+ \expandafter\def\csname simpleicon@iobrokericon\endcsname {\simpleiconsmapsix\symbol{77}}
+ \expandafter\def\csname simpleicon@ionicicon\endcsname {\simpleiconsmapsix\symbol{78}}
+ \expandafter\def\csname simpleicon@ionosicon\endcsname {\simpleiconsmapsix\symbol{79}}
+ \expandafter\def\csname simpleicon@iosicon\endcsname {\simpleiconsmapsix\symbol{80}}
+ \expandafter\def\csname simpleicon@iotaicon\endcsname {\simpleiconsmapsix\symbol{81}}
+ \expandafter\def\csname simpleicon@ipfsicon\endcsname {\simpleiconsmapsix\symbol{82}}
+ \expandafter\def\csname simpleicon@irisicon\endcsname {\simpleiconsmapsix\symbol{83}}
+ \expandafter\def\csname simpleicon@iroboticon\endcsname {\simpleiconsmapsix\symbol{84}}
+ \expandafter\def\csname simpleicon@isc2icon\endcsname {\simpleiconsmapsix\symbol{85}}
+ \expandafter\def\csname simpleicon@issuuicon\endcsname {\simpleiconsmapsix\symbol{86}}
+ \expandafter\def\csname simpleicon@istioicon\endcsname {\simpleiconsmapsix\symbol{87}}
+ \expandafter\def\csname simpleicon@itchdotioicon\endcsname {\simpleiconsmapsix\symbol{88}}
+ \expandafter\def\csname simpleicon@iterm2icon\endcsname {\simpleiconsmapsix\symbol{89}}
+ \expandafter\def\csname simpleicon@itunesicon\endcsname {\simpleiconsmapsix\symbol{90}}
+ \expandafter\def\csname simpleicon@itvxicon\endcsname {\simpleiconsmapsix\symbol{91}}
+ \expandafter\def\csname simpleicon@ivecoicon\endcsname {\simpleiconsmapsix\symbol{92}}
+ \expandafter\def\csname simpleicon@jabbericon\endcsname {\simpleiconsmapsix\symbol{93}}
+ \expandafter\def\csname simpleicon@jaegericon\endcsname {\simpleiconsmapsix\symbol{94}}
+ \expandafter\def\csname simpleicon@jaguaricon\endcsname {\simpleiconsmapsix\symbol{95}}
+ \expandafter\def\csname simpleicon@jamboardicon\endcsname {\simpleiconsmapsix\symbol{96}}
+ \expandafter\def\csname simpleicon@jamesonicon\endcsname {\simpleiconsmapsix\symbol{97}}
+ \expandafter\def\csname simpleicon@jamstackicon\endcsname {\simpleiconsmapsix\symbol{98}}
+ \expandafter\def\csname simpleicon@jasmineicon\endcsname {\simpleiconsmapsix\symbol{99}}
+ \expandafter\def\csname simpleicon@javascripticon\endcsname {\simpleiconsmapsix\symbol{100}}
+ \expandafter\def\csname simpleicon@jblicon\endcsname {\simpleiconsmapsix\symbol{101}}
+ \expandafter\def\csname simpleicon@jcbicon\endcsname {\simpleiconsmapsix\symbol{102}}
+ \expandafter\def\csname simpleicon@jeepicon\endcsname {\simpleiconsmapsix\symbol{103}}
+ \expandafter\def\csname simpleicon@jekyllicon\endcsname {\simpleiconsmapsix\symbol{104}}
+ \expandafter\def\csname simpleicon@jellyfinicon\endcsname {\simpleiconsmapsix\symbol{105}}
+ \expandafter\def\csname simpleicon@jenkinsicon\endcsname {\simpleiconsmapsix\symbol{106}}
+ \expandafter\def\csname simpleicon@jesticon\endcsname {\simpleiconsmapsix\symbol{107}}
+ \expandafter\def\csname simpleicon@jeticon\endcsname {\simpleiconsmapsix\symbol{108}}
+ \expandafter\def\csname simpleicon@jetblueicon\endcsname {\simpleiconsmapsix\symbol{109}}
+ \expandafter\def\csname simpleicon@jetbrainsicon\endcsname {\simpleiconsmapsix\symbol{110}}
+ \expandafter\def\csname simpleicon@jetpackcomposeicon\endcsname {\simpleiconsmapsix\symbol{111}}
+ \expandafter\def\csname simpleicon@jfrogicon\endcsname {\simpleiconsmapsix\symbol{112}}
+ \expandafter\def\csname simpleicon@jfrogpipelinesicon\endcsname {\simpleiconsmapsix\symbol{113}}
+ \expandafter\def\csname simpleicon@jhipstericon\endcsname {\simpleiconsmapsix\symbol{114}}
+ \expandafter\def\csname simpleicon@jinjaicon\endcsname {\simpleiconsmapsix\symbol{115}}
+ \expandafter\def\csname simpleicon@jiraicon\endcsname {\simpleiconsmapsix\symbol{116}}
+ \expandafter\def\csname simpleicon@jirasoftwareicon\endcsname {\simpleiconsmapsix\symbol{117}}
+ \expandafter\def\csname simpleicon@jitpackicon\endcsname {\simpleiconsmapsix\symbol{118}}
+ \expandafter\def\csname simpleicon@jitsiicon\endcsname {\simpleiconsmapsix\symbol{119}}
+ \expandafter\def\csname simpleicon@johndeereicon\endcsname {\simpleiconsmapsix\symbol{120}}
+ \expandafter\def\csname simpleicon@joomlaicon\endcsname {\simpleiconsmapsix\symbol{121}}
+ \expandafter\def\csname simpleicon@joplinicon\endcsname {\simpleiconsmapsix\symbol{122}}
+ \expandafter\def\csname simpleicon@jordanicon\endcsname {\simpleiconsmapsix\symbol{123}}
+ \expandafter\def\csname simpleicon@jouavicon\endcsname {\simpleiconsmapsix\symbol{124}}
+ \expandafter\def\csname simpleicon@jovianicon\endcsname {\simpleiconsmapsix\symbol{125}}
+ \expandafter\def\csname simpleicon@jpegicon\endcsname {\simpleiconsmapsix\symbol{126}}
+ \expandafter\def\csname simpleicon@jqueryicon\endcsname {\simpleiconsmapsix\symbol{127}}
+ \expandafter\def\csname simpleicon@jrgroupicon\endcsname {\simpleiconsmapsix\symbol{128}}
+ \expandafter\def\csname simpleicon@jsdelivricon\endcsname {\simpleiconsmapsix\symbol{129}}
+ \expandafter\def\csname simpleicon@jsfiddleicon\endcsname {\simpleiconsmapsix\symbol{130}}
+ \expandafter\def\csname simpleicon@jsonicon\endcsname {\simpleiconsmapsix\symbol{131}}
+ \expandafter\def\csname simpleicon@jsonwebtokensicon\endcsname {\simpleiconsmapsix\symbol{132}}
+ \expandafter\def\csname simpleicon@jsricon\endcsname {\simpleiconsmapsix\symbol{133}}
+ \expandafter\def\csname simpleicon@jssicon\endcsname {\simpleiconsmapsix\symbol{134}}
+ \expandafter\def\csname simpleicon@juceicon\endcsname {\simpleiconsmapsix\symbol{135}}
+ \expandafter\def\csname simpleicon@juejinicon\endcsname {\simpleiconsmapsix\symbol{136}}
+ \expandafter\def\csname simpleicon@jukeicon\endcsname {\simpleiconsmapsix\symbol{137}}
+ \expandafter\def\csname simpleicon@juliaicon\endcsname {\simpleiconsmapsix\symbol{138}}
+ \expandafter\def\csname simpleicon@junipernetworksicon\endcsname {\simpleiconsmapsix\symbol{139}}
+ \expandafter\def\csname simpleicon@junit5icon\endcsname {\simpleiconsmapsix\symbol{140}}
+ \expandafter\def\csname simpleicon@jupytericon\endcsname {\simpleiconsmapsix\symbol{141}}
+ \expandafter\def\csname simpleicon@justeaticon\endcsname {\simpleiconsmapsix\symbol{142}}
+ \expandafter\def\csname simpleicon@justgivingicon\endcsname {\simpleiconsmapsix\symbol{143}}
+ \expandafter\def\csname simpleicon@k3sicon\endcsname {\simpleiconsmapsix\symbol{144}}
+ \expandafter\def\csname simpleicon@k6icon\endcsname {\simpleiconsmapsix\symbol{145}}
+ \expandafter\def\csname simpleicon@kaggleicon\endcsname {\simpleiconsmapsix\symbol{146}}
+ \expandafter\def\csname simpleicon@kagiicon\endcsname {\simpleiconsmapsix\symbol{147}}
+ \expandafter\def\csname simpleicon@kahooticon\endcsname {\simpleiconsmapsix\symbol{148}}
+ \expandafter\def\csname simpleicon@kaiosicon\endcsname {\simpleiconsmapsix\symbol{149}}
+ \expandafter\def\csname simpleicon@kakaoicon\endcsname {\simpleiconsmapsix\symbol{150}}
+ \expandafter\def\csname simpleicon@kakaotalkicon\endcsname {\simpleiconsmapsix\symbol{151}}
+ \expandafter\def\csname simpleicon@kalilinuxicon\endcsname {\simpleiconsmapsix\symbol{152}}
+ \expandafter\def\csname simpleicon@kamailioicon\endcsname {\simpleiconsmapsix\symbol{153}}
+ \expandafter\def\csname simpleicon@kanikoicon\endcsname {\simpleiconsmapsix\symbol{154}}
+ \expandafter\def\csname simpleicon@karlsruherverkehrsverbundicon\endcsname {\simpleiconsmapsix\symbol{155}}
+ \expandafter\def\csname simpleicon@kasasmarticon\endcsname {\simpleiconsmapsix\symbol{156}}
+ \expandafter\def\csname simpleicon@kashflowicon\endcsname {\simpleiconsmapsix\symbol{157}}
+ \expandafter\def\csname simpleicon@kasperskyicon\endcsname {\simpleiconsmapsix\symbol{158}}
+ \expandafter\def\csname simpleicon@katacodaicon\endcsname {\simpleiconsmapsix\symbol{159}}
+ \expandafter\def\csname simpleicon@katanaicon\endcsname {\simpleiconsmapsix\symbol{160}}
+ \expandafter\def\csname simpleicon@kauflandicon\endcsname {\simpleiconsmapsix\symbol{161}}
+ \expandafter\def\csname simpleicon@kdeicon\endcsname {\simpleiconsmapsix\symbol{162}}
+ \expandafter\def\csname simpleicon@kdenliveicon\endcsname {\simpleiconsmapsix\symbol{163}}
+ \expandafter\def\csname simpleicon@kedroicon\endcsname {\simpleiconsmapsix\symbol{164}}
+ \expandafter\def\csname simpleicon@keeneticicon\endcsname {\simpleiconsmapsix\symbol{165}}
+ \expandafter\def\csname simpleicon@keepachangelogicon\endcsname {\simpleiconsmapsix\symbol{166}}
+ \expandafter\def\csname simpleicon@keepassxcicon\endcsname {\simpleiconsmapsix\symbol{167}}
+ \expandafter\def\csname simpleicon@kenticoicon\endcsname {\simpleiconsmapsix\symbol{168}}
+ \expandafter\def\csname simpleicon@kerasicon\endcsname {\simpleiconsmapsix\symbol{169}}
+ \expandafter\def\csname simpleicon@keybaseicon\endcsname {\simpleiconsmapsix\symbol{170}}
+ \expandafter\def\csname simpleicon@keycdnicon\endcsname {\simpleiconsmapsix\symbol{171}}
+ \expandafter\def\csname simpleicon@keycloakicon\endcsname {\simpleiconsmapsix\symbol{172}}
+ \expandafter\def\csname simpleicon@keystoneicon\endcsname {\simpleiconsmapsix\symbol{173}}
+ \expandafter\def\csname simpleicon@kfcicon\endcsname {\simpleiconsmapsix\symbol{174}}
+ \expandafter\def\csname simpleicon@khanacademyicon\endcsname {\simpleiconsmapsix\symbol{175}}
+ \expandafter\def\csname simpleicon@khronosgroupicon\endcsname {\simpleiconsmapsix\symbol{176}}
+ \expandafter\def\csname simpleicon@kiaicon\endcsname {\simpleiconsmapsix\symbol{177}}
+ \expandafter\def\csname simpleicon@kibanaicon\endcsname {\simpleiconsmapsix\symbol{178}}
+ \expandafter\def\csname simpleicon@kicadicon\endcsname {\simpleiconsmapsix\symbol{179}}
+ \expandafter\def\csname simpleicon@kickicon\endcsname {\simpleiconsmapsix\symbol{180}}
+ \expandafter\def\csname simpleicon@kickstartericon\endcsname {\simpleiconsmapsix\symbol{181}}
+ \expandafter\def\csname simpleicon@kikicon\endcsname {\simpleiconsmapsix\symbol{182}}
+ \expandafter\def\csname simpleicon@kingstontechnologyicon\endcsname {\simpleiconsmapsix\symbol{183}}
+ \expandafter\def\csname simpleicon@kinopoiskicon\endcsname {\simpleiconsmapsix\symbol{184}}
+ \expandafter\def\csname simpleicon@kinstaicon\endcsname {\simpleiconsmapsix\symbol{185}}
+ \expandafter\def\csname simpleicon@kirbyicon\endcsname {\simpleiconsmapsix\symbol{186}}
+ \expandafter\def\csname simpleicon@kiticon\endcsname {\simpleiconsmapsix\symbol{187}}
+ \expandafter\def\csname simpleicon@kitsuicon\endcsname {\simpleiconsmapsix\symbol{188}}
+ \expandafter\def\csname simpleicon@klarnaicon\endcsname {\simpleiconsmapsix\symbol{189}}
+ \expandafter\def\csname simpleicon@klmicon\endcsname {\simpleiconsmapsix\symbol{190}}
+ \expandafter\def\csname simpleicon@klookicon\endcsname {\simpleiconsmapsix\symbol{191}}
+ \expandafter\def\csname simpleicon@knativeicon\endcsname {\simpleiconsmapsix\symbol{192}}
+ \expandafter\def\csname simpleicon@knexdotjsicon\endcsname {\simpleiconsmapsix\symbol{193}}
+ \expandafter\def\csname simpleicon@knimeicon\endcsname {\simpleiconsmapsix\symbol{194}}
+ \expandafter\def\csname simpleicon@knipicon\endcsname {\simpleiconsmapsix\symbol{195}}
+ \expandafter\def\csname simpleicon@knowledgebaseicon\endcsname {\simpleiconsmapsix\symbol{196}}
+ \expandafter\def\csname simpleicon@knownicon\endcsname {\simpleiconsmapsix\symbol{197}}
+ \expandafter\def\csname simpleicon@koaicon\endcsname {\simpleiconsmapsix\symbol{198}}
+ \expandafter\def\csname simpleicon@kocicon\endcsname {\simpleiconsmapsix\symbol{199}}
+ \expandafter\def\csname simpleicon@kodakicon\endcsname {\simpleiconsmapsix\symbol{200}}
+ \expandafter\def\csname simpleicon@kodiicon\endcsname {\simpleiconsmapsix\symbol{201}}
+ \expandafter\def\csname simpleicon@koenigseggicon\endcsname {\simpleiconsmapsix\symbol{202}}
+ \expandafter\def\csname simpleicon@kofaxicon\endcsname {\simpleiconsmapsix\symbol{203}}
+ \expandafter\def\csname simpleicon@kofiicon\endcsname {\simpleiconsmapsix\symbol{204}}
+ \expandafter\def\csname simpleicon@komooticon\endcsname {\simpleiconsmapsix\symbol{205}}
+ \expandafter\def\csname simpleicon@konamiicon\endcsname {\simpleiconsmapsix\symbol{206}}
+ \expandafter\def\csname simpleicon@kongicon\endcsname {\simpleiconsmapsix\symbol{207}}
+ \expandafter\def\csname simpleicon@kongregateicon\endcsname {\simpleiconsmapsix\symbol{208}}
+ \expandafter\def\csname simpleicon@konvaicon\endcsname {\simpleiconsmapsix\symbol{209}}
+ \expandafter\def\csname simpleicon@kotlinicon\endcsname {\simpleiconsmapsix\symbol{210}}
+ \expandafter\def\csname simpleicon@koyebicon\endcsname {\simpleiconsmapsix\symbol{211}}
+ \expandafter\def\csname simpleicon@kritaicon\endcsname {\simpleiconsmapsix\symbol{212}}
+ \expandafter\def\csname simpleicon@ktmicon\endcsname {\simpleiconsmapsix\symbol{213}}
+ \expandafter\def\csname simpleicon@ktoricon\endcsname {\simpleiconsmapsix\symbol{214}}
+ \expandafter\def\csname simpleicon@kuaishouicon\endcsname {\simpleiconsmapsix\symbol{215}}
+ \expandafter\def\csname simpleicon@kubernetesicon\endcsname {\simpleiconsmapsix\symbol{216}}
+ \expandafter\def\csname simpleicon@kubuntuicon\endcsname {\simpleiconsmapsix\symbol{217}}
+ \expandafter\def\csname simpleicon@kucoinicon\endcsname {\simpleiconsmapsix\symbol{218}}
+ \expandafter\def\csname simpleicon@kumaicon\endcsname {\simpleiconsmapsix\symbol{219}}
+ \expandafter\def\csname simpleicon@kununuicon\endcsname {\simpleiconsmapsix\symbol{220}}
+ \expandafter\def\csname simpleicon@kuulaicon\endcsname {\simpleiconsmapsix\symbol{221}}
+ \expandafter\def\csname simpleicon@kxicon\endcsname {\simpleiconsmapsix\symbol{222}}
+ \expandafter\def\csname simpleicon@kyoceraicon\endcsname {\simpleiconsmapsix\symbol{223}}
+ \expandafter\def\csname simpleicon@labviewicon\endcsname {\simpleiconsmapsix\symbol{224}}
+ \expandafter\def\csname simpleicon@ladaicon\endcsname {\simpleiconsmapsix\symbol{225}}
+ \expandafter\def\csname simpleicon@lamborghiniicon\endcsname {\simpleiconsmapsix\symbol{226}}
+ \expandafter\def\csname simpleicon@landrovericon\endcsname {\simpleiconsmapsix\symbol{227}}
+ \expandafter\def\csname simpleicon@langchainicon\endcsname {\simpleiconsmapsix\symbol{228}}
+ \expandafter\def\csname simpleicon@lapceicon\endcsname {\simpleiconsmapsix\symbol{229}}
+ \expandafter\def\csname simpleicon@laragonicon\endcsname {\simpleiconsmapsix\symbol{230}}
+ \expandafter\def\csname simpleicon@laravelicon\endcsname {\simpleiconsmapsix\symbol{231}}
+ \expandafter\def\csname simpleicon@laravelhorizonicon\endcsname {\simpleiconsmapsix\symbol{232}}
+ \expandafter\def\csname simpleicon@laravelnovaicon\endcsname {\simpleiconsmapsix\symbol{233}}
+ \expandafter\def\csname simpleicon@lastdotfmicon\endcsname {\simpleiconsmapsix\symbol{234}}
+ \expandafter\def\csname simpleicon@lastpassicon\endcsname {\simpleiconsmapsix\symbol{235}}
+ \expandafter\def\csname simpleicon@latexicon\endcsname {\simpleiconsmapsix\symbol{236}}
+ \expandafter\def\csname simpleicon@launchpadicon\endcsname {\simpleiconsmapsix\symbol{237}}
+ \expandafter\def\csname simpleicon@lazarusicon\endcsname {\simpleiconsmapsix\symbol{238}}
+ \expandafter\def\csname simpleicon@lazyvimicon\endcsname {\simpleiconsmapsix\symbol{239}}
+ \expandafter\def\csname simpleicon@lbryicon\endcsname {\simpleiconsmapsix\symbol{240}}
+ \expandafter\def\csname simpleicon@leaderpriceicon\endcsname {\simpleiconsmapsix\symbol{241}}
+ \expandafter\def\csname simpleicon@leafleticon\endcsname {\simpleiconsmapsix\symbol{242}}
+ \expandafter\def\csname simpleicon@leagueoflegendsicon\endcsname {\simpleiconsmapsix\symbol{243}}
+ \expandafter\def\csname simpleicon@leanpubicon\endcsname {\simpleiconsmapsix\symbol{244}}
+ \expandafter\def\csname simpleicon@leetcodeicon\endcsname {\simpleiconsmapsix\symbol{245}}
+ \expandafter\def\csname simpleicon@legacygamesicon\endcsname {\simpleiconsmapsix\symbol{246}}
+ \expandafter\def\csname simpleicon@leicaicon\endcsname {\simpleiconsmapsix\symbol{247}}
+ \expandafter\def\csname simpleicon@lemmyicon\endcsname {\simpleiconsmapsix\symbol{248}}
+ \expandafter\def\csname simpleicon@lemonsqueezyicon\endcsname {\simpleiconsmapsix\symbol{249}}
+ \expandafter\def\csname simpleicon@lenovoicon\endcsname {\simpleiconsmapsix\symbol{250}}
+ \expandafter\def\csname simpleicon@lensicon\endcsname {\simpleiconsmapsix\symbol{251}}
+ \expandafter\def\csname simpleicon@leptosicon\endcsname {\simpleiconsmapsix\symbol{252}}
+ \expandafter\def\csname simpleicon@lequipeicon\endcsname {\simpleiconsmapsix\symbol{253}}
+ \expandafter\def\csname simpleicon@lernaicon\endcsname {\simpleiconsmapsix\symbol{254}}
+ \expandafter\def\csname simpleicon@leroymerlinicon\endcsname {\simpleiconsmapsix\symbol{255}}
+ \expandafter\def\csname simpleicon@leslibrairesicon\endcsname {\simpleiconsmapseven\symbol{0}}
+ \expandafter\def\csname simpleicon@lessicon\endcsname {\simpleiconsmapseven\symbol{1}}
+ \expandafter\def\csname simpleicon@letsencrypticon\endcsname {\simpleiconsmapseven\symbol{2}}
+ \expandafter\def\csname simpleicon@letterboxdicon\endcsname {\simpleiconsmapseven\symbol{3}}
+ \expandafter\def\csname simpleicon@levelsdotfyiicon\endcsname {\simpleiconsmapseven\symbol{4}}
+ \expandafter\def\csname simpleicon@lgicon\endcsname {\simpleiconsmapseven\symbol{5}}
+ \expandafter\def\csname simpleicon@liberadotchaticon\endcsname {\simpleiconsmapseven\symbol{6}}
+ \expandafter\def\csname simpleicon@liberapayicon\endcsname {\simpleiconsmapseven\symbol{7}}
+ \expandafter\def\csname simpleicon@librariesdotioicon\endcsname {\simpleiconsmapseven\symbol{8}}
+ \expandafter\def\csname simpleicon@librarythingicon\endcsname {\simpleiconsmapseven\symbol{9}}
+ \expandafter\def\csname simpleicon@libreofficeicon\endcsname {\simpleiconsmapseven\symbol{10}}
+ \expandafter\def\csname simpleicon@libreofficebaseicon\endcsname {\simpleiconsmapseven\symbol{11}}
+ \expandafter\def\csname simpleicon@libreofficecalcicon\endcsname {\simpleiconsmapseven\symbol{12}}
+ \expandafter\def\csname simpleicon@libreofficedrawicon\endcsname {\simpleiconsmapseven\symbol{13}}
+ \expandafter\def\csname simpleicon@libreofficeimpressicon\endcsname {\simpleiconsmapseven\symbol{14}}
+ \expandafter\def\csname simpleicon@libreofficemathicon\endcsname {\simpleiconsmapseven\symbol{15}}
+ \expandafter\def\csname simpleicon@libreofficewritericon\endcsname {\simpleiconsmapseven\symbol{16}}
+ \expandafter\def\csname simpleicon@librewolficon\endcsname {\simpleiconsmapseven\symbol{17}}
+ \expandafter\def\csname simpleicon@libuvicon\endcsname {\simpleiconsmapseven\symbol{18}}
+ \expandafter\def\csname simpleicon@lichessicon\endcsname {\simpleiconsmapseven\symbol{19}}
+ \expandafter\def\csname simpleicon@lidlicon\endcsname {\simpleiconsmapseven\symbol{20}}
+ \expandafter\def\csname simpleicon@lifxicon\endcsname {\simpleiconsmapseven\symbol{21}}
+ \expandafter\def\csname simpleicon@lightburnicon\endcsname {\simpleiconsmapseven\symbol{22}}
+ \expandafter\def\csname simpleicon@lighthouseicon\endcsname {\simpleiconsmapseven\symbol{23}}
+ \expandafter\def\csname simpleicon@lightningicon\endcsname {\simpleiconsmapseven\symbol{24}}
+ \expandafter\def\csname simpleicon@limesurveyicon\endcsname {\simpleiconsmapseven\symbol{25}}
+ \expandafter\def\csname simpleicon@lineicon\endcsname {\simpleiconsmapseven\symbol{26}}
+ \expandafter\def\csname simpleicon@lineageosicon\endcsname {\simpleiconsmapseven\symbol{27}}
+ \expandafter\def\csname simpleicon@linearicon\endcsname {\simpleiconsmapseven\symbol{28}}
+ \expandafter\def\csname simpleicon@liningicon\endcsname {\simpleiconsmapseven\symbol{29}}
+ \expandafter\def\csname simpleicon@linkedinicon\endcsname {\simpleiconsmapseven\symbol{30}}
+ \expandafter\def\csname simpleicon@linkerdicon\endcsname {\simpleiconsmapseven\symbol{31}}
+ \expandafter\def\csname simpleicon@linkfireicon\endcsname {\simpleiconsmapseven\symbol{32}}
+ \expandafter\def\csname simpleicon@linksysicon\endcsname {\simpleiconsmapseven\symbol{33}}
+ \expandafter\def\csname simpleicon@linktreeicon\endcsname {\simpleiconsmapseven\symbol{34}}
+ \expandafter\def\csname simpleicon@lintcodeicon\endcsname {\simpleiconsmapseven\symbol{35}}
+ \expandafter\def\csname simpleicon@linuxicon\endcsname {\simpleiconsmapseven\symbol{36}}
+ \expandafter\def\csname simpleicon@linuxcontainersicon\endcsname {\simpleiconsmapseven\symbol{37}}
+ \expandafter\def\csname simpleicon@linuxfoundationicon\endcsname {\simpleiconsmapseven\symbol{38}}
+ \expandafter\def\csname simpleicon@linuxminticon\endcsname {\simpleiconsmapseven\symbol{39}}
+ \expandafter\def\csname simpleicon@linuxprofessionalinstituteicon\endcsname {\simpleiconsmapseven\symbol{40}}
+ \expandafter\def\csname simpleicon@linuxservericon\endcsname {\simpleiconsmapseven\symbol{41}}
+ \expandafter\def\csname simpleicon@lionairicon\endcsname {\simpleiconsmapseven\symbol{42}}
+ \expandafter\def\csname simpleicon@liquibaseicon\endcsname {\simpleiconsmapseven\symbol{43}}
+ \expandafter\def\csname simpleicon@listmonkicon\endcsname {\simpleiconsmapseven\symbol{44}}
+ \expandafter\def\csname simpleicon@liticon\endcsname {\simpleiconsmapseven\symbol{45}}
+ \expandafter\def\csname simpleicon@litecoinicon\endcsname {\simpleiconsmapseven\symbol{46}}
+ \expandafter\def\csname simpleicon@litiengineicon\endcsname {\simpleiconsmapseven\symbol{47}}
+ \expandafter\def\csname simpleicon@livechaticon\endcsname {\simpleiconsmapseven\symbol{48}}
+ \expandafter\def\csname simpleicon@livejournalicon\endcsname {\simpleiconsmapseven\symbol{49}}
+ \expandafter\def\csname simpleicon@livewireicon\endcsname {\simpleiconsmapseven\symbol{50}}
+ \expandafter\def\csname simpleicon@llvmicon\endcsname {\simpleiconsmapseven\symbol{51}}
+ \expandafter\def\csname simpleicon@lmmsicon\endcsname {\simpleiconsmapseven\symbol{52}}
+ \expandafter\def\csname simpleicon@localicon\endcsname {\simpleiconsmapseven\symbol{53}}
+ \expandafter\def\csname simpleicon@lodashicon\endcsname {\simpleiconsmapseven\symbol{54}}
+ \expandafter\def\csname simpleicon@logitechicon\endcsname {\simpleiconsmapseven\symbol{55}}
+ \expandafter\def\csname simpleicon@logitechgicon\endcsname {\simpleiconsmapseven\symbol{56}}
+ \expandafter\def\csname simpleicon@logmeinicon\endcsname {\simpleiconsmapseven\symbol{57}}
+ \expandafter\def\csname simpleicon@logseqicon\endcsname {\simpleiconsmapseven\symbol{58}}
+ \expandafter\def\csname simpleicon@logstashicon\endcsname {\simpleiconsmapseven\symbol{59}}
+ \expandafter\def\csname simpleicon@lookericon\endcsname {\simpleiconsmapseven\symbol{60}}
+ \expandafter\def\csname simpleicon@loomicon\endcsname {\simpleiconsmapseven\symbol{61}}
+ \expandafter\def\csname simpleicon@loopicon\endcsname {\simpleiconsmapseven\symbol{62}}
+ \expandafter\def\csname simpleicon@loopbackicon\endcsname {\simpleiconsmapseven\symbol{63}}
+ \expandafter\def\csname simpleicon@lootcrateicon\endcsname {\simpleiconsmapseven\symbol{64}}
+ \expandafter\def\csname simpleicon@lospecicon\endcsname {\simpleiconsmapseven\symbol{65}}
+ \expandafter\def\csname simpleicon@lotpolishairlinesicon\endcsname {\simpleiconsmapseven\symbol{66}}
+ \expandafter\def\csname simpleicon@ltspiceicon\endcsname {\simpleiconsmapseven\symbol{67}}
+ \expandafter\def\csname simpleicon@luaicon\endcsname {\simpleiconsmapseven\symbol{68}}
+ \expandafter\def\csname simpleicon@lubuntuicon\endcsname {\simpleiconsmapseven\symbol{69}}
+ \expandafter\def\csname simpleicon@luciaicon\endcsname {\simpleiconsmapseven\symbol{70}}
+ \expandafter\def\csname simpleicon@lucidicon\endcsname {\simpleiconsmapseven\symbol{71}}
+ \expandafter\def\csname simpleicon@ludwigicon\endcsname {\simpleiconsmapseven\symbol{72}}
+ \expandafter\def\csname simpleicon@lufthansaicon\endcsname {\simpleiconsmapseven\symbol{73}}
+ \expandafter\def\csname simpleicon@lumenicon\endcsname {\simpleiconsmapseven\symbol{74}}
+ \expandafter\def\csname simpleicon@lunacyicon\endcsname {\simpleiconsmapseven\symbol{75}}
+ \expandafter\def\csname simpleicon@lutrisicon\endcsname {\simpleiconsmapseven\symbol{76}}
+ \expandafter\def\csname simpleicon@lydiaicon\endcsname {\simpleiconsmapseven\symbol{77}}
+ \expandafter\def\csname simpleicon@lyfticon\endcsname {\simpleiconsmapseven\symbol{78}}
+ \expandafter\def\csname simpleicon@maasicon\endcsname {\simpleiconsmapseven\symbol{79}}
+ \expandafter\def\csname simpleicon@macosicon\endcsname {\simpleiconsmapseven\symbol{80}}
+ \expandafter\def\csname simpleicon@macpawicon\endcsname {\simpleiconsmapseven\symbol{81}}
+ \expandafter\def\csname simpleicon@macysicon\endcsname {\simpleiconsmapseven\symbol{82}}
+ \expandafter\def\csname simpleicon@magasinsuicon\endcsname {\simpleiconsmapseven\symbol{83}}
+ \expandafter\def\csname simpleicon@magentoicon\endcsname {\simpleiconsmapseven\symbol{84}}
+ \expandafter\def\csname simpleicon@magicicon\endcsname {\simpleiconsmapseven\symbol{85}}
+ \expandafter\def\csname simpleicon@magiskicon\endcsname {\simpleiconsmapseven\symbol{86}}
+ \expandafter\def\csname simpleicon@mahindraicon\endcsname {\simpleiconsmapseven\symbol{87}}
+ \expandafter\def\csname simpleicon@mailchimpicon\endcsname {\simpleiconsmapseven\symbol{88}}
+ \expandafter\def\csname simpleicon@maildotcomicon\endcsname {\simpleiconsmapseven\symbol{89}}
+ \expandafter\def\csname simpleicon@maildotruicon\endcsname {\simpleiconsmapseven\symbol{90}}
+ \expandafter\def\csname simpleicon@mailgunicon\endcsname {\simpleiconsmapseven\symbol{91}}
+ \expandafter\def\csname simpleicon@mailtrapicon\endcsname {\simpleiconsmapseven\symbol{92}}
+ \expandafter\def\csname simpleicon@mainwpicon\endcsname {\simpleiconsmapseven\symbol{93}}
+ \expandafter\def\csname simpleicon@majorleaguehackingicon\endcsname {\simpleiconsmapseven\symbol{94}}
+ \expandafter\def\csname simpleicon@makeicon\endcsname {\simpleiconsmapseven\symbol{95}}
+ \expandafter\def\csname simpleicon@makerboticon\endcsname {\simpleiconsmapseven\symbol{96}}
+ \expandafter\def\csname simpleicon@malticon\endcsname {\simpleiconsmapseven\symbol{97}}
+ \expandafter\def\csname simpleicon@malwarebytesicon\endcsname {\simpleiconsmapseven\symbol{98}}
+ \expandafter\def\csname simpleicon@mambauiicon\endcsname {\simpleiconsmapseven\symbol{99}}
+ \expandafter\def\csname simpleicon@mampicon\endcsname {\simpleiconsmapseven\symbol{100}}
+ \expandafter\def\csname simpleicon@manicon\endcsname {\simpleiconsmapseven\symbol{101}}
+ \expandafter\def\csname simpleicon@manageiqicon\endcsname {\simpleiconsmapseven\symbol{102}}
+ \expandafter\def\csname simpleicon@manjaroicon\endcsname {\simpleiconsmapseven\symbol{103}}
+ \expandafter\def\csname simpleicon@mantineicon\endcsname {\simpleiconsmapseven\symbol{104}}
+ \expandafter\def\csname simpleicon@mapboxicon\endcsname {\simpleiconsmapseven\symbol{105}}
+ \expandafter\def\csname simpleicon@maplibreicon\endcsname {\simpleiconsmapseven\symbol{106}}
+ \expandafter\def\csname simpleicon@mariadbicon\endcsname {\simpleiconsmapseven\symbol{107}}
+ \expandafter\def\csname simpleicon@mariadbfoundationicon\endcsname {\simpleiconsmapseven\symbol{108}}
+ \expandafter\def\csname simpleicon@markdownicon\endcsname {\simpleiconsmapseven\symbol{109}}
+ \expandafter\def\csname simpleicon@marketoicon\endcsname {\simpleiconsmapseven\symbol{110}}
+ \expandafter\def\csname simpleicon@markoicon\endcsname {\simpleiconsmapseven\symbol{111}}
+ \expandafter\def\csname simpleicon@marriotticon\endcsname {\simpleiconsmapseven\symbol{112}}
+ \expandafter\def\csname simpleicon@marvelappicon\endcsname {\simpleiconsmapseven\symbol{113}}
+ \expandafter\def\csname simpleicon@maseratiicon\endcsname {\simpleiconsmapseven\symbol{114}}
+ \expandafter\def\csname simpleicon@mastercardicon\endcsname {\simpleiconsmapseven\symbol{115}}
+ \expandafter\def\csname simpleicon@mastercomfigicon\endcsname {\simpleiconsmapseven\symbol{116}}
+ \expandafter\def\csname simpleicon@mastodonicon\endcsname {\simpleiconsmapseven\symbol{117}}
+ \expandafter\def\csname simpleicon@materialdesignicon\endcsname {\simpleiconsmapseven\symbol{118}}
+ \expandafter\def\csname simpleicon@materialdesigniconsicon\endcsname {\simpleiconsmapseven\symbol{119}}
+ \expandafter\def\csname simpleicon@materialformkdocsicon\endcsname {\simpleiconsmapseven\symbol{120}}
+ \expandafter\def\csname simpleicon@matillionicon\endcsname {\simpleiconsmapseven\symbol{121}}
+ \expandafter\def\csname simpleicon@matomoicon\endcsname {\simpleiconsmapseven\symbol{122}}
+ \expandafter\def\csname simpleicon@matrixicon\endcsname {\simpleiconsmapseven\symbol{123}}
+ \expandafter\def\csname simpleicon@matterdotjsicon\endcsname {\simpleiconsmapseven\symbol{124}}
+ \expandafter\def\csname simpleicon@mattermosticon\endcsname {\simpleiconsmapseven\symbol{125}}
+ \expandafter\def\csname simpleicon@matterneticon\endcsname {\simpleiconsmapseven\symbol{126}}
+ \expandafter\def\csname simpleicon@mauticicon\endcsname {\simpleiconsmapseven\symbol{127}}
+ \expandafter\def\csname simpleicon@maxicon\endcsname {\simpleiconsmapseven\symbol{128}}
+ \expandafter\def\csname simpleicon@maxplanckgesellschafticon\endcsname {\simpleiconsmapseven\symbol{129}}
+ \expandafter\def\csname simpleicon@maytagicon\endcsname {\simpleiconsmapseven\symbol{130}}
+ \expandafter\def\csname simpleicon@mazdaicon\endcsname {\simpleiconsmapseven\symbol{131}}
+ \expandafter\def\csname simpleicon@mcafeeicon\endcsname {\simpleiconsmapseven\symbol{132}}
+ \expandafter\def\csname simpleicon@mcdonaldsicon\endcsname {\simpleiconsmapseven\symbol{133}}
+ \expandafter\def\csname simpleicon@mclarenicon\endcsname {\simpleiconsmapseven\symbol{134}}
+ \expandafter\def\csname simpleicon@mdbookicon\endcsname {\simpleiconsmapseven\symbol{135}}
+ \expandafter\def\csname simpleicon@mdnwebdocsicon\endcsname {\simpleiconsmapseven\symbol{136}}
+ \expandafter\def\csname simpleicon@mdxicon\endcsname {\simpleiconsmapseven\symbol{137}}
+ \expandafter\def\csname simpleicon@mediafireicon\endcsname {\simpleiconsmapseven\symbol{138}}
+ \expandafter\def\csname simpleicon@mediamarkticon\endcsname {\simpleiconsmapseven\symbol{139}}
+ \expandafter\def\csname simpleicon@mediatekicon\endcsname {\simpleiconsmapseven\symbol{140}}
+ \expandafter\def\csname simpleicon@medibangpainticon\endcsname {\simpleiconsmapseven\symbol{141}}
+ \expandafter\def\csname simpleicon@mediumicon\endcsname {\simpleiconsmapseven\symbol{142}}
+ \expandafter\def\csname simpleicon@medusaicon\endcsname {\simpleiconsmapseven\symbol{143}}
+ \expandafter\def\csname simpleicon@meetupicon\endcsname {\simpleiconsmapseven\symbol{144}}
+ \expandafter\def\csname simpleicon@megaicon\endcsname {\simpleiconsmapseven\symbol{145}}
+ \expandafter\def\csname simpleicon@meilisearchicon\endcsname {\simpleiconsmapseven\symbol{146}}
+ \expandafter\def\csname simpleicon@meituanicon\endcsname {\simpleiconsmapseven\symbol{147}}
+ \expandafter\def\csname simpleicon@meizuicon\endcsname {\simpleiconsmapseven\symbol{148}}
+ \expandafter\def\csname simpleicon@mendeleyicon\endcsname {\simpleiconsmapseven\symbol{149}}
+ \expandafter\def\csname simpleicon@mentorcruiseicon\endcsname {\simpleiconsmapseven\symbol{150}}
+ \expandafter\def\csname simpleicon@mercadopagoicon\endcsname {\simpleiconsmapseven\symbol{151}}
+ \expandafter\def\csname simpleicon@mercedesicon\endcsname {\simpleiconsmapseven\symbol{152}}
+ \expandafter\def\csname simpleicon@merckicon\endcsname {\simpleiconsmapseven\symbol{153}}
+ \expandafter\def\csname simpleicon@mercurialicon\endcsname {\simpleiconsmapseven\symbol{154}}
+ \expandafter\def\csname simpleicon@mermaidicon\endcsname {\simpleiconsmapseven\symbol{155}}
+ \expandafter\def\csname simpleicon@messengericon\endcsname {\simpleiconsmapseven\symbol{156}}
+ \expandafter\def\csname simpleicon@metaicon\endcsname {\simpleiconsmapseven\symbol{157}}
+ \expandafter\def\csname simpleicon@metabaseicon\endcsname {\simpleiconsmapseven\symbol{158}}
+ \expandafter\def\csname simpleicon@metacriticicon\endcsname {\simpleiconsmapseven\symbol{159}}
+ \expandafter\def\csname simpleicon@metafiltericon\endcsname {\simpleiconsmapseven\symbol{160}}
+ \expandafter\def\csname simpleicon@metasploiticon\endcsname {\simpleiconsmapseven\symbol{161}}
+ \expandafter\def\csname simpleicon@meteoricon\endcsname {\simpleiconsmapseven\symbol{162}}
+ \expandafter\def\csname simpleicon@metroicon\endcsname {\simpleiconsmapseven\symbol{163}}
+ \expandafter\def\csname simpleicon@metrodelaciudaddemexicoicon\endcsname {\simpleiconsmapseven\symbol{164}}
+ \expandafter\def\csname simpleicon@metrodemadridicon\endcsname {\simpleiconsmapseven\symbol{165}}
+ \expandafter\def\csname simpleicon@metrodeparisicon\endcsname {\simpleiconsmapseven\symbol{166}}
+ \expandafter\def\csname simpleicon@meweicon\endcsname {\simpleiconsmapseven\symbol{167}}
+ \expandafter\def\csname simpleicon@mgicon\endcsname {\simpleiconsmapseven\symbol{168}}
+ \expandafter\def\csname simpleicon@microbiticon\endcsname {\simpleiconsmapseven\symbol{169}}
+ \expandafter\def\csname simpleicon@microdotblogicon\endcsname {\simpleiconsmapseven\symbol{170}}
+ \expandafter\def\csname simpleicon@microeditoricon\endcsname {\simpleiconsmapseven\symbol{171}}
+ \expandafter\def\csname simpleicon@microgeneticsicon\endcsname {\simpleiconsmapseven\symbol{172}}
+ \expandafter\def\csname simpleicon@micropythonicon\endcsname {\simpleiconsmapseven\symbol{173}}
+ \expandafter\def\csname simpleicon@microstationicon\endcsname {\simpleiconsmapseven\symbol{174}}
+ \expandafter\def\csname simpleicon@microstrategyicon\endcsname {\simpleiconsmapseven\symbol{175}}
+ \expandafter\def\csname simpleicon@midiicon\endcsname {\simpleiconsmapseven\symbol{176}}
+ \expandafter\def\csname simpleicon@migaduicon\endcsname {\simpleiconsmapseven\symbol{177}}
+ \expandafter\def\csname simpleicon@mikrotikicon\endcsname {\simpleiconsmapseven\symbol{178}}
+ \expandafter\def\csname simpleicon@milanoteicon\endcsname {\simpleiconsmapseven\symbol{179}}
+ \expandafter\def\csname simpleicon@milvusicon\endcsname {\simpleiconsmapseven\symbol{180}}
+ \expandafter\def\csname simpleicon@mindsicon\endcsname {\simpleiconsmapseven\symbol{181}}
+ \expandafter\def\csname simpleicon@minetesticon\endcsname {\simpleiconsmapseven\symbol{182}}
+ \expandafter\def\csname simpleicon@miniicon\endcsname {\simpleiconsmapseven\symbol{183}}
+ \expandafter\def\csname simpleicon@minioicon\endcsname {\simpleiconsmapseven\symbol{184}}
+ \expandafter\def\csname simpleicon@mintlifyicon\endcsname {\simpleiconsmapseven\symbol{185}}
+ \expandafter\def\csname simpleicon@minutemailericon\endcsname {\simpleiconsmapseven\symbol{186}}
+ \expandafter\def\csname simpleicon@mirahezeicon\endcsname {\simpleiconsmapseven\symbol{187}}
+ \expandafter\def\csname simpleicon@miroicon\endcsname {\simpleiconsmapseven\symbol{188}}
+ \expandafter\def\csname simpleicon@misskeyicon\endcsname {\simpleiconsmapseven\symbol{189}}
+ \expandafter\def\csname simpleicon@mitsubishiicon\endcsname {\simpleiconsmapseven\symbol{190}}
+ \expandafter\def\csname simpleicon@mixicon\endcsname {\simpleiconsmapseven\symbol{191}}
+ \expandafter\def\csname simpleicon@mixcloudicon\endcsname {\simpleiconsmapseven\symbol{192}}
+ \expandafter\def\csname simpleicon@mixpanelicon\endcsname {\simpleiconsmapseven\symbol{193}}
+ \expandafter\def\csname simpleicon@mlbicon\endcsname {\simpleiconsmapseven\symbol{194}}
+ \expandafter\def\csname simpleicon@mlflowicon\endcsname {\simpleiconsmapseven\symbol{195}}
+ \expandafter\def\csname simpleicon@mobxicon\endcsname {\simpleiconsmapseven\symbol{196}}
+ \expandafter\def\csname simpleicon@mobxstatetreeicon\endcsname {\simpleiconsmapseven\symbol{197}}
+ \expandafter\def\csname simpleicon@mochaicon\endcsname {\simpleiconsmapseven\symbol{198}}
+ \expandafter\def\csname simpleicon@mockserviceworkericon\endcsname {\simpleiconsmapseven\symbol{199}}
+ \expandafter\def\csname simpleicon@modalicon\endcsname {\simpleiconsmapseven\symbol{200}}
+ \expandafter\def\csname simpleicon@modinicon\endcsname {\simpleiconsmapseven\symbol{201}}
+ \expandafter\def\csname simpleicon@modrinthicon\endcsname {\simpleiconsmapseven\symbol{202}}
+ \expandafter\def\csname simpleicon@modxicon\endcsname {\simpleiconsmapseven\symbol{203}}
+ \expandafter\def\csname simpleicon@moleculericon\endcsname {\simpleiconsmapseven\symbol{204}}
+ \expandafter\def\csname simpleicon@momenteoicon\endcsname {\simpleiconsmapseven\symbol{205}}
+ \expandafter\def\csname simpleicon@moneroicon\endcsname {\simpleiconsmapseven\symbol{206}}
+ \expandafter\def\csname simpleicon@moneygramicon\endcsname {\simpleiconsmapseven\symbol{207}}
+ \expandafter\def\csname simpleicon@mongodbicon\endcsname {\simpleiconsmapseven\symbol{208}}
+ \expandafter\def\csname simpleicon@mongooseicon\endcsname {\simpleiconsmapseven\symbol{209}}
+ \expandafter\def\csname simpleicon@mongoosedotwsicon\endcsname {\simpleiconsmapseven\symbol{210}}
+ \expandafter\def\csname simpleicon@monicaicon\endcsname {\simpleiconsmapseven\symbol{211}}
+ \expandafter\def\csname simpleicon@monkeytieicon\endcsname {\simpleiconsmapseven\symbol{212}}
+ \expandafter\def\csname simpleicon@monkeytypeicon\endcsname {\simpleiconsmapseven\symbol{213}}
+ \expandafter\def\csname simpleicon@monogameicon\endcsname {\simpleiconsmapseven\symbol{214}}
+ \expandafter\def\csname simpleicon@monoprixicon\endcsname {\simpleiconsmapseven\symbol{215}}
+ \expandafter\def\csname simpleicon@monstericon\endcsname {\simpleiconsmapseven\symbol{216}}
+ \expandafter\def\csname simpleicon@monzoicon\endcsname {\simpleiconsmapseven\symbol{217}}
+ \expandafter\def\csname simpleicon@mooicon\endcsname {\simpleiconsmapseven\symbol{218}}
+ \expandafter\def\csname simpleicon@moodleicon\endcsname {\simpleiconsmapseven\symbol{219}}
+ \expandafter\def\csname simpleicon@moonrepoicon\endcsname {\simpleiconsmapseven\symbol{220}}
+ \expandafter\def\csname simpleicon@moqicon\endcsname {\simpleiconsmapseven\symbol{221}}
+ \expandafter\def\csname simpleicon@moqupsicon\endcsname {\simpleiconsmapseven\symbol{222}}
+ \expandafter\def\csname simpleicon@morrisonsicon\endcsname {\simpleiconsmapseven\symbol{223}}
+ \expandafter\def\csname simpleicon@moscowmetroicon\endcsname {\simpleiconsmapseven\symbol{224}}
+ \expandafter\def\csname simpleicon@motorolaicon\endcsname {\simpleiconsmapseven\symbol{225}}
+ \expandafter\def\csname simpleicon@mozillaicon\endcsname {\simpleiconsmapseven\symbol{226}}
+ \expandafter\def\csname simpleicon@mpvicon\endcsname {\simpleiconsmapseven\symbol{227}}
+ \expandafter\def\csname simpleicon@mqtticon\endcsname {\simpleiconsmapseven\symbol{228}}
+ \expandafter\def\csname simpleicon@msiicon\endcsname {\simpleiconsmapseven\symbol{229}}
+ \expandafter\def\csname simpleicon@msibusinessicon\endcsname {\simpleiconsmapseven\symbol{230}}
+ \expandafter\def\csname simpleicon@mtaicon\endcsname {\simpleiconsmapseven\symbol{231}}
+ \expandafter\def\csname simpleicon@mtricon\endcsname {\simpleiconsmapseven\symbol{232}}
+ \expandafter\def\csname simpleicon@mubiicon\endcsname {\simpleiconsmapseven\symbol{233}}
+ \expandafter\def\csname simpleicon@muiicon\endcsname {\simpleiconsmapseven\symbol{234}}
+ \expandafter\def\csname simpleicon@mulesofticon\endcsname {\simpleiconsmapseven\symbol{235}}
+ \expandafter\def\csname simpleicon@mullericon\endcsname {\simpleiconsmapseven\symbol{236}}
+ \expandafter\def\csname simpleicon@multisimicon\endcsname {\simpleiconsmapseven\symbol{237}}
+ \expandafter\def\csname simpleicon@mumbleicon\endcsname {\simpleiconsmapseven\symbol{238}}
+ \expandafter\def\csname simpleicon@muoicon\endcsname {\simpleiconsmapseven\symbol{239}}
+ \expandafter\def\csname simpleicon@muralicon\endcsname {\simpleiconsmapseven\symbol{240}}
+ \expandafter\def\csname simpleicon@musescoreicon\endcsname {\simpleiconsmapseven\symbol{241}}
+ \expandafter\def\csname simpleicon@musicbrainzicon\endcsname {\simpleiconsmapseven\symbol{242}}
+ \expandafter\def\csname simpleicon@mxlinuxicon\endcsname {\simpleiconsmapseven\symbol{243}}
+ \expandafter\def\csname simpleicon@myanimelisticon\endcsname {\simpleiconsmapseven\symbol{244}}
+ \expandafter\def\csname simpleicon@mygeticon\endcsname {\simpleiconsmapseven\symbol{245}}
+ \expandafter\def\csname simpleicon@myobicon\endcsname {\simpleiconsmapseven\symbol{246}}
+ \expandafter\def\csname simpleicon@myspaceicon\endcsname {\simpleiconsmapseven\symbol{247}}
+ \expandafter\def\csname simpleicon@mysqlicon\endcsname {\simpleiconsmapseven\symbol{248}}
+ \expandafter\def\csname simpleicon@n26icon\endcsname {\simpleiconsmapseven\symbol{249}}
+ \expandafter\def\csname simpleicon@n8nicon\endcsname {\simpleiconsmapseven\symbol{250}}
+ \expandafter\def\csname simpleicon@namebaseicon\endcsname {\simpleiconsmapseven\symbol{251}}
+ \expandafter\def\csname simpleicon@namecheapicon\endcsname {\simpleiconsmapseven\symbol{252}}
+ \expandafter\def\csname simpleicon@namemcicon\endcsname {\simpleiconsmapseven\symbol{253}}
+ \expandafter\def\csname simpleicon@namesiloicon\endcsname {\simpleiconsmapseven\symbol{254}}
+ \expandafter\def\csname simpleicon@namuwikiicon\endcsname {\simpleiconsmapseven\symbol{255}}
+ \expandafter\def\csname simpleicon@nanoicon\endcsname {\simpleiconsmapeight\symbol{0}}
+ \expandafter\def\csname simpleicon@nasaicon\endcsname {\simpleiconsmapeight\symbol{1}}
+ \expandafter\def\csname simpleicon@nationalgridicon\endcsname {\simpleiconsmapeight\symbol{2}}
+ \expandafter\def\csname simpleicon@nationalrailicon\endcsname {\simpleiconsmapeight\symbol{3}}
+ \expandafter\def\csname simpleicon@nativescripticon\endcsname {\simpleiconsmapeight\symbol{4}}
+ \expandafter\def\csname simpleicon@natsdotioicon\endcsname {\simpleiconsmapeight\symbol{5}}
+ \expandafter\def\csname simpleicon@navericon\endcsname {\simpleiconsmapeight\symbol{6}}
+ \expandafter\def\csname simpleicon@nbaicon\endcsname {\simpleiconsmapeight\symbol{7}}
+ \expandafter\def\csname simpleicon@nbbicon\endcsname {\simpleiconsmapeight\symbol{8}}
+ \expandafter\def\csname simpleicon@nbcicon\endcsname {\simpleiconsmapeight\symbol{9}}
+ \expandafter\def\csname simpleicon@ndricon\endcsname {\simpleiconsmapeight\symbol{10}}
+ \expandafter\def\csname simpleicon@nearicon\endcsname {\simpleiconsmapeight\symbol{11}}
+ \expandafter\def\csname simpleicon@necicon\endcsname {\simpleiconsmapeight\symbol{12}}
+ \expandafter\def\csname simpleicon@neo4jicon\endcsname {\simpleiconsmapeight\symbol{13}}
+ \expandafter\def\csname simpleicon@neovimicon\endcsname {\simpleiconsmapeight\symbol{14}}
+ \expandafter\def\csname simpleicon@neptuneicon\endcsname {\simpleiconsmapeight\symbol{15}}
+ \expandafter\def\csname simpleicon@nestjsicon\endcsname {\simpleiconsmapeight\symbol{16}}
+ \expandafter\def\csname simpleicon@netappicon\endcsname {\simpleiconsmapeight\symbol{17}}
+ \expandafter\def\csname simpleicon@netbsdicon\endcsname {\simpleiconsmapeight\symbol{18}}
+ \expandafter\def\csname simpleicon@netcupicon\endcsname {\simpleiconsmapeight\symbol{19}}
+ \expandafter\def\csname simpleicon@netdataicon\endcsname {\simpleiconsmapeight\symbol{20}}
+ \expandafter\def\csname simpleicon@neteasecloudmusicicon\endcsname {\simpleiconsmapeight\symbol{21}}
+ \expandafter\def\csname simpleicon@netflixicon\endcsname {\simpleiconsmapeight\symbol{22}}
+ \expandafter\def\csname simpleicon@netgearicon\endcsname {\simpleiconsmapeight\symbol{23}}
+ \expandafter\def\csname simpleicon@netlifyicon\endcsname {\simpleiconsmapeight\symbol{24}}
+ \expandafter\def\csname simpleicon@netteicon\endcsname {\simpleiconsmapeight\symbol{25}}
+ \expandafter\def\csname simpleicon@nettoicon\endcsname {\simpleiconsmapeight\symbol{26}}
+ \expandafter\def\csname simpleicon@neutralinojsicon\endcsname {\simpleiconsmapeight\symbol{27}}
+ \expandafter\def\csname simpleicon@newbalanceicon\endcsname {\simpleiconsmapeight\symbol{28}}
+ \expandafter\def\csname simpleicon@neweggicon\endcsname {\simpleiconsmapeight\symbol{29}}
+ \expandafter\def\csname simpleicon@newjapanprowrestlingicon\endcsname {\simpleiconsmapeight\symbol{30}}
+ \expandafter\def\csname simpleicon@newrelicicon\endcsname {\simpleiconsmapeight\symbol{31}}
+ \expandafter\def\csname simpleicon@newyorktimesicon\endcsname {\simpleiconsmapeight\symbol{32}}
+ \expandafter\def\csname simpleicon@nextbilliondotaiicon\endcsname {\simpleiconsmapeight\symbol{33}}
+ \expandafter\def\csname simpleicon@nextcloudicon\endcsname {\simpleiconsmapeight\symbol{34}}
+ \expandafter\def\csname simpleicon@nextdnsicon\endcsname {\simpleiconsmapeight\symbol{35}}
+ \expandafter\def\csname simpleicon@nextdooricon\endcsname {\simpleiconsmapeight\symbol{36}}
+ \expandafter\def\csname simpleicon@nextdotjsicon\endcsname {\simpleiconsmapeight\symbol{37}}
+ \expandafter\def\csname simpleicon@nextraicon\endcsname {\simpleiconsmapeight\symbol{38}}
+ \expandafter\def\csname simpleicon@nextuiicon\endcsname {\simpleiconsmapeight\symbol{39}}
+ \expandafter\def\csname simpleicon@nexusmodsicon\endcsname {\simpleiconsmapeight\symbol{40}}
+ \expandafter\def\csname simpleicon@nfcicon\endcsname {\simpleiconsmapeight\symbol{41}}
+ \expandafter\def\csname simpleicon@nginxicon\endcsname {\simpleiconsmapeight\symbol{42}}
+ \expandafter\def\csname simpleicon@nginxproxymanagericon\endcsname {\simpleiconsmapeight\symbol{43}}
+ \expandafter\def\csname simpleicon@ngrokicon\endcsname {\simpleiconsmapeight\symbol{44}}
+ \expandafter\def\csname simpleicon@ngrxicon\endcsname {\simpleiconsmapeight\symbol{45}}
+ \expandafter\def\csname simpleicon@nhlicon\endcsname {\simpleiconsmapeight\symbol{46}}
+ \expandafter\def\csname simpleicon@nicehashicon\endcsname {\simpleiconsmapeight\symbol{47}}
+ \expandafter\def\csname simpleicon@niconicoicon\endcsname {\simpleiconsmapeight\symbol{48}}
+ \expandafter\def\csname simpleicon@nikeicon\endcsname {\simpleiconsmapeight\symbol{49}}
+ \expandafter\def\csname simpleicon@nikonicon\endcsname {\simpleiconsmapeight\symbol{50}}
+ \expandafter\def\csname simpleicon@nimicon\endcsname {\simpleiconsmapeight\symbol{51}}
+ \expandafter\def\csname simpleicon@nintendoicon\endcsname {\simpleiconsmapeight\symbol{52}}
+ \expandafter\def\csname simpleicon@nintendo3dsicon\endcsname {\simpleiconsmapeight\symbol{53}}
+ \expandafter\def\csname simpleicon@nintendogamecubeicon\endcsname {\simpleiconsmapeight\symbol{54}}
+ \expandafter\def\csname simpleicon@nintendoswitchicon\endcsname {\simpleiconsmapeight\symbol{55}}
+ \expandafter\def\csname simpleicon@nissanicon\endcsname {\simpleiconsmapeight\symbol{56}}
+ \expandafter\def\csname simpleicon@nixosicon\endcsname {\simpleiconsmapeight\symbol{57}}
+ \expandafter\def\csname simpleicon@nodedotjsicon\endcsname {\simpleiconsmapeight\symbol{58}}
+ \expandafter\def\csname simpleicon@nodemonicon\endcsname {\simpleiconsmapeight\symbol{59}}
+ \expandafter\def\csname simpleicon@noderedicon\endcsname {\simpleiconsmapeight\symbol{60}}
+ \expandafter\def\csname simpleicon@nokiaicon\endcsname {\simpleiconsmapeight\symbol{61}}
+ \expandafter\def\csname simpleicon@nomadicon\endcsname {\simpleiconsmapeight\symbol{62}}
+ \expandafter\def\csname simpleicon@norcoicon\endcsname {\simpleiconsmapeight\symbol{63}}
+ \expandafter\def\csname simpleicon@nordicsemiconductoricon\endcsname {\simpleiconsmapeight\symbol{64}}
+ \expandafter\def\csname simpleicon@nordvpnicon\endcsname {\simpleiconsmapeight\symbol{65}}
+ \expandafter\def\csname simpleicon@normalizedotcssicon\endcsname {\simpleiconsmapeight\symbol{66}}
+ \expandafter\def\csname simpleicon@nortonicon\endcsname {\simpleiconsmapeight\symbol{67}}
+ \expandafter\def\csname simpleicon@norwegianicon\endcsname {\simpleiconsmapeight\symbol{68}}
+ \expandafter\def\csname simpleicon@notepadplusplusicon\endcsname {\simpleiconsmapeight\symbol{69}}
+ \expandafter\def\csname simpleicon@notionicon\endcsname {\simpleiconsmapeight\symbol{70}}
+ \expandafter\def\csname simpleicon@notisticon\endcsname {\simpleiconsmapeight\symbol{71}}
+ \expandafter\def\csname simpleicon@nounprojecticon\endcsname {\simpleiconsmapeight\symbol{72}}
+ \expandafter\def\csname simpleicon@novuicon\endcsname {\simpleiconsmapeight\symbol{73}}
+ \expandafter\def\csname simpleicon@nowicon\endcsname {\simpleiconsmapeight\symbol{74}}
+ \expandafter\def\csname simpleicon@npmicon\endcsname {\simpleiconsmapeight\symbol{75}}
+ \expandafter\def\csname simpleicon@nrwlicon\endcsname {\simpleiconsmapeight\symbol{76}}
+ \expandafter\def\csname simpleicon@nsisicon\endcsname {\simpleiconsmapeight\symbol{77}}
+ \expandafter\def\csname simpleicon@ntfyicon\endcsname {\simpleiconsmapeight\symbol{78}}
+ \expandafter\def\csname simpleicon@nubankicon\endcsname {\simpleiconsmapeight\symbol{79}}
+ \expandafter\def\csname simpleicon@nucleoicon\endcsname {\simpleiconsmapeight\symbol{80}}
+ \expandafter\def\csname simpleicon@nugeticon\endcsname {\simpleiconsmapeight\symbol{81}}
+ \expandafter\def\csname simpleicon@nukeicon\endcsname {\simpleiconsmapeight\symbol{82}}
+ \expandafter\def\csname simpleicon@numbaicon\endcsname {\simpleiconsmapeight\symbol{83}}
+ \expandafter\def\csname simpleicon@numpyicon\endcsname {\simpleiconsmapeight\symbol{84}}
+ \expandafter\def\csname simpleicon@nunjucksicon\endcsname {\simpleiconsmapeight\symbol{85}}
+ \expandafter\def\csname simpleicon@nushellicon\endcsname {\simpleiconsmapeight\symbol{86}}
+ \expandafter\def\csname simpleicon@nutanixicon\endcsname {\simpleiconsmapeight\symbol{87}}
+ \expandafter\def\csname simpleicon@nuxtdotjsicon\endcsname {\simpleiconsmapeight\symbol{88}}
+ \expandafter\def\csname simpleicon@nvidiaicon\endcsname {\simpleiconsmapeight\symbol{89}}
+ \expandafter\def\csname simpleicon@nvmicon\endcsname {\simpleiconsmapeight\symbol{90}}
+ \expandafter\def\csname simpleicon@nxicon\endcsname {\simpleiconsmapeight\symbol{91}}
+ \expandafter\def\csname simpleicon@nxpicon\endcsname {\simpleiconsmapeight\symbol{92}}
+ \expandafter\def\csname simpleicon@nzxticon\endcsname {\simpleiconsmapeight\symbol{93}}
+ \expandafter\def\csname simpleicon@observableicon\endcsname {\simpleiconsmapeight\symbol{94}}
+ \expandafter\def\csname simpleicon@obsidianicon\endcsname {\simpleiconsmapeight\symbol{95}}
+ \expandafter\def\csname simpleicon@obsstudioicon\endcsname {\simpleiconsmapeight\symbol{96}}
+ \expandafter\def\csname simpleicon@ocamlicon\endcsname {\simpleiconsmapeight\symbol{97}}
+ \expandafter\def\csname simpleicon@oclificon\endcsname {\simpleiconsmapeight\symbol{98}}
+ \expandafter\def\csname simpleicon@octanerendericon\endcsname {\simpleiconsmapeight\symbol{99}}
+ \expandafter\def\csname simpleicon@octaveicon\endcsname {\simpleiconsmapeight\symbol{100}}
+ \expandafter\def\csname simpleicon@octobercmsicon\endcsname {\simpleiconsmapeight\symbol{101}}
+ \expandafter\def\csname simpleicon@octoprinticon\endcsname {\simpleiconsmapeight\symbol{102}}
+ \expandafter\def\csname simpleicon@octopusdeployicon\endcsname {\simpleiconsmapeight\symbol{103}}
+ \expandafter\def\csname simpleicon@oculusicon\endcsname {\simpleiconsmapeight\symbol{104}}
+ \expandafter\def\csname simpleicon@odnoklassnikiicon\endcsname {\simpleiconsmapeight\symbol{105}}
+ \expandafter\def\csname simpleicon@odooicon\endcsname {\simpleiconsmapeight\symbol{106}}
+ \expandafter\def\csname simpleicon@odyseeicon\endcsname {\simpleiconsmapeight\symbol{107}}
+ \expandafter\def\csname simpleicon@ohdearicon\endcsname {\simpleiconsmapeight\symbol{108}}
+ \expandafter\def\csname simpleicon@okcupidicon\endcsname {\simpleiconsmapeight\symbol{109}}
+ \expandafter\def\csname simpleicon@oktaicon\endcsname {\simpleiconsmapeight\symbol{110}}
+ \expandafter\def\csname simpleicon@oneplusicon\endcsname {\simpleiconsmapeight\symbol{111}}
+ \expandafter\def\csname simpleicon@onlyfansicon\endcsname {\simpleiconsmapeight\symbol{112}}
+ \expandafter\def\csname simpleicon@onlyofficeicon\endcsname {\simpleiconsmapeight\symbol{113}}
+ \expandafter\def\csname simpleicon@onnxicon\endcsname {\simpleiconsmapeight\symbol{114}}
+ \expandafter\def\csname simpleicon@onstaricon\endcsname {\simpleiconsmapeight\symbol{115}}
+ \expandafter\def\csname simpleicon@opelicon\endcsname {\simpleiconsmapeight\symbol{116}}
+ \expandafter\def\csname simpleicon@openaccessicon\endcsname {\simpleiconsmapeight\symbol{117}}
+ \expandafter\def\csname simpleicon@openaiicon\endcsname {\simpleiconsmapeight\symbol{118}}
+ \expandafter\def\csname simpleicon@openaigymicon\endcsname {\simpleiconsmapeight\symbol{119}}
+ \expandafter\def\csname simpleicon@openapiinitiativeicon\endcsname {\simpleiconsmapeight\symbol{120}}
+ \expandafter\def\csname simpleicon@openbadgesicon\endcsname {\simpleiconsmapeight\symbol{121}}
+ \expandafter\def\csname simpleicon@openbsdicon\endcsname {\simpleiconsmapeight\symbol{122}}
+ \expandafter\def\csname simpleicon@openbugbountyicon\endcsname {\simpleiconsmapeight\symbol{123}}
+ \expandafter\def\csname simpleicon@opencollectiveicon\endcsname {\simpleiconsmapeight\symbol{124}}
+ \expandafter\def\csname simpleicon@opencontainersinitiativeicon\endcsname {\simpleiconsmapeight\symbol{125}}
+ \expandafter\def\csname simpleicon@opencvicon\endcsname {\simpleiconsmapeight\symbol{126}}
+ \expandafter\def\csname simpleicon@openfaasicon\endcsname {\simpleiconsmapeight\symbol{127}}
+ \expandafter\def\csname simpleicon@openglicon\endcsname {\simpleiconsmapeight\symbol{128}}
+ \expandafter\def\csname simpleicon@openhabicon\endcsname {\simpleiconsmapeight\symbol{129}}
+ \expandafter\def\csname simpleicon@openidicon\endcsname {\simpleiconsmapeight\symbol{130}}
+ \expandafter\def\csname simpleicon@openjdkicon\endcsname {\simpleiconsmapeight\symbol{131}}
+ \expandafter\def\csname simpleicon@openjsfoundationicon\endcsname {\simpleiconsmapeight\symbol{132}}
+ \expandafter\def\csname simpleicon@openlayersicon\endcsname {\simpleiconsmapeight\symbol{133}}
+ \expandafter\def\csname simpleicon@openmediavaulticon\endcsname {\simpleiconsmapeight\symbol{134}}
+ \expandafter\def\csname simpleicon@openminedicon\endcsname {\simpleiconsmapeight\symbol{135}}
+ \expandafter\def\csname simpleicon@opennebulaicon\endcsname {\simpleiconsmapeight\symbol{136}}
+ \expandafter\def\csname simpleicon@openprojecticon\endcsname {\simpleiconsmapeight\symbol{137}}
+ \expandafter\def\csname simpleicon@openscadicon\endcsname {\simpleiconsmapeight\symbol{138}}
+ \expandafter\def\csname simpleicon@openseaicon\endcsname {\simpleiconsmapeight\symbol{139}}
+ \expandafter\def\csname simpleicon@opensearchicon\endcsname {\simpleiconsmapeight\symbol{140}}
+ \expandafter\def\csname simpleicon@opensourcehardwareicon\endcsname {\simpleiconsmapeight\symbol{141}}
+ \expandafter\def\csname simpleicon@opensourceinitiativeicon\endcsname {\simpleiconsmapeight\symbol{142}}
+ \expandafter\def\csname simpleicon@opensslicon\endcsname {\simpleiconsmapeight\symbol{143}}
+ \expandafter\def\csname simpleicon@openstackicon\endcsname {\simpleiconsmapeight\symbol{144}}
+ \expandafter\def\csname simpleicon@openstreetmapicon\endcsname {\simpleiconsmapeight\symbol{145}}
+ \expandafter\def\csname simpleicon@opensuseicon\endcsname {\simpleiconsmapeight\symbol{146}}
+ \expandafter\def\csname simpleicon@opentelemetryicon\endcsname {\simpleiconsmapeight\symbol{147}}
+ \expandafter\def\csname simpleicon@opentexticon\endcsname {\simpleiconsmapeight\symbol{148}}
+ \expandafter\def\csname simpleicon@opentofuicon\endcsname {\simpleiconsmapeight\symbol{149}}
+ \expandafter\def\csname simpleicon@openverseicon\endcsname {\simpleiconsmapeight\symbol{150}}
+ \expandafter\def\csname simpleicon@openvpnicon\endcsname {\simpleiconsmapeight\symbol{151}}
+ \expandafter\def\csname simpleicon@openwrticon\endcsname {\simpleiconsmapeight\symbol{152}}
+ \expandafter\def\csname simpleicon@openzeppelinicon\endcsname {\simpleiconsmapeight\symbol{153}}
+ \expandafter\def\csname simpleicon@openzfsicon\endcsname {\simpleiconsmapeight\symbol{154}}
+ \expandafter\def\csname simpleicon@operaicon\endcsname {\simpleiconsmapeight\symbol{155}}
+ \expandafter\def\csname simpleicon@operagxicon\endcsname {\simpleiconsmapeight\symbol{156}}
+ \expandafter\def\csname simpleicon@opnsenseicon\endcsname {\simpleiconsmapeight\symbol{157}}
+ \expandafter\def\csname simpleicon@oppoicon\endcsname {\simpleiconsmapeight\symbol{158}}
+ \expandafter\def\csname simpleicon@opsgenieicon\endcsname {\simpleiconsmapeight\symbol{159}}
+ \expandafter\def\csname simpleicon@opslevelicon\endcsname {\simpleiconsmapeight\symbol{160}}
+ \expandafter\def\csname simpleicon@optimismicon\endcsname {\simpleiconsmapeight\symbol{161}}
+ \expandafter\def\csname simpleicon@oracleicon\endcsname {\simpleiconsmapeight\symbol{162}}
+ \expandafter\def\csname simpleicon@orangeicon\endcsname {\simpleiconsmapeight\symbol{163}}
+ \expandafter\def\csname simpleicon@orcidicon\endcsname {\simpleiconsmapeight\symbol{164}}
+ \expandafter\def\csname simpleicon@oreillyicon\endcsname {\simpleiconsmapeight\symbol{165}}
+ \expandafter\def\csname simpleicon@orgicon\endcsname {\simpleiconsmapeight\symbol{166}}
+ \expandafter\def\csname simpleicon@organicmapsicon\endcsname {\simpleiconsmapeight\symbol{167}}
+ \expandafter\def\csname simpleicon@originicon\endcsname {\simpleiconsmapeight\symbol{168}}
+ \expandafter\def\csname simpleicon@osanoicon\endcsname {\simpleiconsmapeight\symbol{169}}
+ \expandafter\def\csname simpleicon@osficon\endcsname {\simpleiconsmapeight\symbol{170}}
+ \expandafter\def\csname simpleicon@osgeoicon\endcsname {\simpleiconsmapeight\symbol{171}}
+ \expandafter\def\csname simpleicon@oshkoshicon\endcsname {\simpleiconsmapeight\symbol{172}}
+ \expandafter\def\csname simpleicon@osmcicon\endcsname {\simpleiconsmapeight\symbol{173}}
+ \expandafter\def\csname simpleicon@osuicon\endcsname {\simpleiconsmapeight\symbol{174}}
+ \expandafter\def\csname simpleicon@ottoicon\endcsname {\simpleiconsmapeight\symbol{175}}
+ \expandafter\def\csname simpleicon@overcasticon\endcsname {\simpleiconsmapeight\symbol{176}}
+ \expandafter\def\csname simpleicon@overleaficon\endcsname {\simpleiconsmapeight\symbol{177}}
+ \expandafter\def\csname simpleicon@ovhicon\endcsname {\simpleiconsmapeight\symbol{178}}
+ \expandafter\def\csname simpleicon@owaspicon\endcsname {\simpleiconsmapeight\symbol{179}}
+ \expandafter\def\csname simpleicon@owncloudicon\endcsname {\simpleiconsmapeight\symbol{180}}
+ \expandafter\def\csname simpleicon@oxygenicon\endcsname {\simpleiconsmapeight\symbol{181}}
+ \expandafter\def\csname simpleicon@oyoicon\endcsname {\simpleiconsmapeight\symbol{182}}
+ \expandafter\def\csname simpleicon@p5dotjsicon\endcsname {\simpleiconsmapeight\symbol{183}}
+ \expandafter\def\csname simpleicon@packagisticon\endcsname {\simpleiconsmapeight\symbol{184}}
+ \expandafter\def\csname simpleicon@packericon\endcsname {\simpleiconsmapeight\symbol{185}}
+ \expandafter\def\csname simpleicon@packticon\endcsname {\simpleiconsmapeight\symbol{186}}
+ \expandafter\def\csname simpleicon@paddleicon\endcsname {\simpleiconsmapeight\symbol{187}}
+ \expandafter\def\csname simpleicon@paddlepaddleicon\endcsname {\simpleiconsmapeight\symbol{188}}
+ \expandafter\def\csname simpleicon@paddypowericon\endcsname {\simpleiconsmapeight\symbol{189}}
+ \expandafter\def\csname simpleicon@pagekiticon\endcsname {\simpleiconsmapeight\symbol{190}}
+ \expandafter\def\csname simpleicon@pagerdutyicon\endcsname {\simpleiconsmapeight\symbol{191}}
+ \expandafter\def\csname simpleicon@pagespeedinsightsicon\endcsname {\simpleiconsmapeight\symbol{192}}
+ \expandafter\def\csname simpleicon@pagseguroicon\endcsname {\simpleiconsmapeight\symbol{193}}
+ \expandafter\def\csname simpleicon@palantiricon\endcsname {\simpleiconsmapeight\symbol{194}}
+ \expandafter\def\csname simpleicon@paloaltonetworksicon\endcsname {\simpleiconsmapeight\symbol{195}}
+ \expandafter\def\csname simpleicon@paloaltosoftwareicon\endcsname {\simpleiconsmapeight\symbol{196}}
+ \expandafter\def\csname simpleicon@panasonicicon\endcsname {\simpleiconsmapeight\symbol{197}}
+ \expandafter\def\csname simpleicon@pandasicon\endcsname {\simpleiconsmapeight\symbol{198}}
+ \expandafter\def\csname simpleicon@pandoraicon\endcsname {\simpleiconsmapeight\symbol{199}}
+ \expandafter\def\csname simpleicon@pantheonicon\endcsname {\simpleiconsmapeight\symbol{200}}
+ \expandafter\def\csname simpleicon@paperlessngxicon\endcsname {\simpleiconsmapeight\symbol{201}}
+ \expandafter\def\csname simpleicon@paperspaceicon\endcsname {\simpleiconsmapeight\symbol{202}}
+ \expandafter\def\csname simpleicon@paperswithcodeicon\endcsname {\simpleiconsmapeight\symbol{203}}
+ \expandafter\def\csname simpleicon@paramountplusicon\endcsname {\simpleiconsmapeight\symbol{204}}
+ \expandafter\def\csname simpleicon@paritysubstrateicon\endcsname {\simpleiconsmapeight\symbol{205}}
+ \expandafter\def\csname simpleicon@parrotsecurityicon\endcsname {\simpleiconsmapeight\symbol{206}}
+ \expandafter\def\csname simpleicon@parsedotlyicon\endcsname {\simpleiconsmapeight\symbol{207}}
+ \expandafter\def\csname simpleicon@passporticon\endcsname {\simpleiconsmapeight\symbol{208}}
+ \expandafter\def\csname simpleicon@pastebinicon\endcsname {\simpleiconsmapeight\symbol{209}}
+ \expandafter\def\csname simpleicon@patreonicon\endcsname {\simpleiconsmapeight\symbol{210}}
+ \expandafter\def\csname simpleicon@paychexicon\endcsname {\simpleiconsmapeight\symbol{211}}
+ \expandafter\def\csname simpleicon@payhipicon\endcsname {\simpleiconsmapeight\symbol{212}}
+ \expandafter\def\csname simpleicon@payloadcmsicon\endcsname {\simpleiconsmapeight\symbol{213}}
+ \expandafter\def\csname simpleicon@payoneericon\endcsname {\simpleiconsmapeight\symbol{214}}
+ \expandafter\def\csname simpleicon@paypalicon\endcsname {\simpleiconsmapeight\symbol{215}}
+ \expandafter\def\csname simpleicon@paytmicon\endcsname {\simpleiconsmapeight\symbol{216}}
+ \expandafter\def\csname simpleicon@pcgamingwikiicon\endcsname {\simpleiconsmapeight\symbol{217}}
+ \expandafter\def\csname simpleicon@pdmicon\endcsname {\simpleiconsmapeight\symbol{218}}
+ \expandafter\def\csname simpleicon@pdqicon\endcsname {\simpleiconsmapeight\symbol{219}}
+ \expandafter\def\csname simpleicon@peakdesignicon\endcsname {\simpleiconsmapeight\symbol{220}}
+ \expandafter\def\csname simpleicon@pearsonicon\endcsname {\simpleiconsmapeight\symbol{221}}
+ \expandafter\def\csname simpleicon@peerlisticon\endcsname {\simpleiconsmapeight\symbol{222}}
+ \expandafter\def\csname simpleicon@peertubeicon\endcsname {\simpleiconsmapeight\symbol{223}}
+ \expandafter\def\csname simpleicon@pegasusairlinesicon\endcsname {\simpleiconsmapeight\symbol{224}}
+ \expandafter\def\csname simpleicon@pelicanicon\endcsname {\simpleiconsmapeight\symbol{225}}
+ \expandafter\def\csname simpleicon@pelotonicon\endcsname {\simpleiconsmapeight\symbol{226}}
+ \expandafter\def\csname simpleicon@pennyicon\endcsname {\simpleiconsmapeight\symbol{227}}
+ \expandafter\def\csname simpleicon@penpoticon\endcsname {\simpleiconsmapeight\symbol{228}}
+ \expandafter\def\csname simpleicon@percyicon\endcsname {\simpleiconsmapeight\symbol{229}}
+ \expandafter\def\csname simpleicon@perforceicon\endcsname {\simpleiconsmapeight\symbol{230}}
+ \expandafter\def\csname simpleicon@perlicon\endcsname {\simpleiconsmapeight\symbol{231}}
+ \expandafter\def\csname simpleicon@perplexityicon\endcsname {\simpleiconsmapeight\symbol{232}}
+ \expandafter\def\csname simpleicon@persistenticon\endcsname {\simpleiconsmapeight\symbol{233}}
+ \expandafter\def\csname simpleicon@personioicon\endcsname {\simpleiconsmapeight\symbol{234}}
+ \expandafter\def\csname simpleicon@petsathomeicon\endcsname {\simpleiconsmapeight\symbol{235}}
+ \expandafter\def\csname simpleicon@peugeoticon\endcsname {\simpleiconsmapeight\symbol{236}}
+ \expandafter\def\csname simpleicon@pexelsicon\endcsname {\simpleiconsmapeight\symbol{237}}
+ \expandafter\def\csname simpleicon@pfsenseicon\endcsname {\simpleiconsmapeight\symbol{238}}
+ \expandafter\def\csname simpleicon@phabricatoricon\endcsname {\simpleiconsmapeight\symbol{239}}
+ \expandafter\def\csname simpleicon@philipshueicon\endcsname {\simpleiconsmapeight\symbol{240}}
+ \expandafter\def\csname simpleicon@phoenixframeworkicon\endcsname {\simpleiconsmapeight\symbol{241}}
+ \expandafter\def\csname simpleicon@phonepeicon\endcsname {\simpleiconsmapeight\symbol{242}}
+ \expandafter\def\csname simpleicon@phosphoriconsicon\endcsname {\simpleiconsmapeight\symbol{243}}
+ \expandafter\def\csname simpleicon@photobucketicon\endcsname {\simpleiconsmapeight\symbol{244}}
+ \expandafter\def\csname simpleicon@photocrowdicon\endcsname {\simpleiconsmapeight\symbol{245}}
+ \expandafter\def\csname simpleicon@photonicon\endcsname {\simpleiconsmapeight\symbol{246}}
+ \expandafter\def\csname simpleicon@photopeaicon\endcsname {\simpleiconsmapeight\symbol{247}}
+ \expandafter\def\csname simpleicon@phpicon\endcsname {\simpleiconsmapeight\symbol{248}}
+ \expandafter\def\csname simpleicon@phpmyadminicon\endcsname {\simpleiconsmapeight\symbol{249}}
+ \expandafter\def\csname simpleicon@phpstormicon\endcsname {\simpleiconsmapeight\symbol{250}}
+ \expandafter\def\csname simpleicon@piaggiogroupicon\endcsname {\simpleiconsmapeight\symbol{251}}
+ \expandafter\def\csname simpleicon@piaproicon\endcsname {\simpleiconsmapeight\symbol{252}}
+ \expandafter\def\csname simpleicon@picardsurgelesicon\endcsname {\simpleiconsmapeight\symbol{253}}
+ \expandafter\def\csname simpleicon@picartodottvicon\endcsname {\simpleiconsmapeight\symbol{254}}
+ \expandafter\def\csname simpleicon@picnicicon\endcsname {\simpleiconsmapeight\symbol{255}}
+ \expandafter\def\csname simpleicon@picpayicon\endcsname {\simpleiconsmapnine\symbol{0}}
+ \expandafter\def\csname simpleicon@picrewicon\endcsname {\simpleiconsmapnine\symbol{1}}
+ \expandafter\def\csname simpleicon@picxyicon\endcsname {\simpleiconsmapnine\symbol{2}}
+ \expandafter\def\csname simpleicon@piholeicon\endcsname {\simpleiconsmapnine\symbol{3}}
+ \expandafter\def\csname simpleicon@pimcoreicon\endcsname {\simpleiconsmapnine\symbol{4}}
+ \expandafter\def\csname simpleicon@pinboardicon\endcsname {\simpleiconsmapnine\symbol{5}}
+ \expandafter\def\csname simpleicon@pinescripticon\endcsname {\simpleiconsmapnine\symbol{6}}
+ \expandafter\def\csname simpleicon@pinetworkicon\endcsname {\simpleiconsmapnine\symbol{7}}
+ \expandafter\def\csname simpleicon@pingdomicon\endcsname {\simpleiconsmapnine\symbol{8}}
+ \expandafter\def\csname simpleicon@pinoicon\endcsname {\simpleiconsmapnine\symbol{9}}
+ \expandafter\def\csname simpleicon@pinteresticon\endcsname {\simpleiconsmapnine\symbol{10}}
+ \expandafter\def\csname simpleicon@pioneerdjicon\endcsname {\simpleiconsmapnine\symbol{11}}
+ \expandafter\def\csname simpleicon@pipedicon\endcsname {\simpleiconsmapnine\symbol{12}}
+ \expandafter\def\csname simpleicon@pipxicon\endcsname {\simpleiconsmapnine\symbol{13}}
+ \expandafter\def\csname simpleicon@pivotaltrackericon\endcsname {\simpleiconsmapnine\symbol{14}}
+ \expandafter\def\csname simpleicon@piwigoicon\endcsname {\simpleiconsmapnine\symbol{15}}
+ \expandafter\def\csname simpleicon@pixicon\endcsname {\simpleiconsmapnine\symbol{16}}
+ \expandafter\def\csname simpleicon@pixabayicon\endcsname {\simpleiconsmapnine\symbol{17}}
+ \expandafter\def\csname simpleicon@pixelfedicon\endcsname {\simpleiconsmapnine\symbol{18}}
+ \expandafter\def\csname simpleicon@pixivicon\endcsname {\simpleiconsmapnine\symbol{19}}
+ \expandafter\def\csname simpleicon@pixlricon\endcsname {\simpleiconsmapnine\symbol{20}}
+ \expandafter\def\csname simpleicon@pkgsrcicon\endcsname {\simpleiconsmapnine\symbol{21}}
+ \expandafter\def\csname simpleicon@planeticon\endcsname {\simpleiconsmapnine\symbol{22}}
+ \expandafter\def\csname simpleicon@planetscaleicon\endcsname {\simpleiconsmapnine\symbol{23}}
+ \expandafter\def\csname simpleicon@plangridicon\endcsname {\simpleiconsmapnine\symbol{24}}
+ \expandafter\def\csname simpleicon@platformdotshicon\endcsname {\simpleiconsmapnine\symbol{25}}
+ \expandafter\def\csname simpleicon@platformioicon\endcsname {\simpleiconsmapnine\symbol{26}}
+ \expandafter\def\csname simpleicon@platziicon\endcsname {\simpleiconsmapnine\symbol{27}}
+ \expandafter\def\csname simpleicon@plausibleanalyticsicon\endcsname {\simpleiconsmapnine\symbol{28}}
+ \expandafter\def\csname simpleicon@playcanvasicon\endcsname {\simpleiconsmapnine\symbol{29}}
+ \expandafter\def\csname simpleicon@playerdotmeicon\endcsname {\simpleiconsmapnine\symbol{30}}
+ \expandafter\def\csname simpleicon@playerfmicon\endcsname {\simpleiconsmapnine\symbol{31}}
+ \expandafter\def\csname simpleicon@playstationicon\endcsname {\simpleiconsmapnine\symbol{32}}
+ \expandafter\def\csname simpleicon@playstation2icon\endcsname {\simpleiconsmapnine\symbol{33}}
+ \expandafter\def\csname simpleicon@playstation3icon\endcsname {\simpleiconsmapnine\symbol{34}}
+ \expandafter\def\csname simpleicon@playstation4icon\endcsname {\simpleiconsmapnine\symbol{35}}
+ \expandafter\def\csname simpleicon@playstation5icon\endcsname {\simpleiconsmapnine\symbol{36}}
+ \expandafter\def\csname simpleicon@playstationportableicon\endcsname {\simpleiconsmapnine\symbol{37}}
+ \expandafter\def\csname simpleicon@playstationvitaicon\endcsname {\simpleiconsmapnine\symbol{38}}
+ \expandafter\def\csname simpleicon@pleromaicon\endcsname {\simpleiconsmapnine\symbol{39}}
+ \expandafter\def\csname simpleicon@pleskicon\endcsname {\simpleiconsmapnine\symbol{40}}
+ \expandafter\def\csname simpleicon@plexicon\endcsname {\simpleiconsmapnine\symbol{41}}
+ \expandafter\def\csname simpleicon@plotlyicon\endcsname {\simpleiconsmapnine\symbol{42}}
+ \expandafter\def\csname simpleicon@plumeicon\endcsname {\simpleiconsmapnine\symbol{43}}
+ \expandafter\def\csname simpleicon@pluralsighticon\endcsname {\simpleiconsmapnine\symbol{44}}
+ \expandafter\def\csname simpleicon@plurkicon\endcsname {\simpleiconsmapnine\symbol{45}}
+ \expandafter\def\csname simpleicon@pluscodesicon\endcsname {\simpleiconsmapnine\symbol{46}}
+ \expandafter\def\csname simpleicon@pm2icon\endcsname {\simpleiconsmapnine\symbol{47}}
+ \expandafter\def\csname simpleicon@pnpmicon\endcsname {\simpleiconsmapnine\symbol{48}}
+ \expandafter\def\csname simpleicon@pocketicon\endcsname {\simpleiconsmapnine\symbol{49}}
+ \expandafter\def\csname simpleicon@pocketbaseicon\endcsname {\simpleiconsmapnine\symbol{50}}
+ \expandafter\def\csname simpleicon@pocketcastsicon\endcsname {\simpleiconsmapnine\symbol{51}}
+ \expandafter\def\csname simpleicon@podcastaddicticon\endcsname {\simpleiconsmapnine\symbol{52}}
+ \expandafter\def\csname simpleicon@podcastindexicon\endcsname {\simpleiconsmapnine\symbol{53}}
+ \expandafter\def\csname simpleicon@podmanicon\endcsname {\simpleiconsmapnine\symbol{54}}
+ \expandafter\def\csname simpleicon@poeicon\endcsname {\simpleiconsmapnine\symbol{55}}
+ \expandafter\def\csname simpleicon@poetryicon\endcsname {\simpleiconsmapnine\symbol{56}}
+ \expandafter\def\csname simpleicon@pointyicon\endcsname {\simpleiconsmapnine\symbol{57}}
+ \expandafter\def\csname simpleicon@pokemonicon\endcsname {\simpleiconsmapnine\symbol{58}}
+ \expandafter\def\csname simpleicon@polarsicon\endcsname {\simpleiconsmapnine\symbol{59}}
+ \expandafter\def\csname simpleicon@polestaricon\endcsname {\simpleiconsmapnine\symbol{60}}
+ \expandafter\def\csname simpleicon@polkadoticon\endcsname {\simpleiconsmapnine\symbol{61}}
+ \expandafter\def\csname simpleicon@polyicon\endcsname {\simpleiconsmapnine\symbol{62}}
+ \expandafter\def\csname simpleicon@polygonicon\endcsname {\simpleiconsmapnine\symbol{63}}
+ \expandafter\def\csname simpleicon@polymerprojecticon\endcsname {\simpleiconsmapnine\symbol{64}}
+ \expandafter\def\csname simpleicon@polyworkicon\endcsname {\simpleiconsmapnine\symbol{65}}
+ \expandafter\def\csname simpleicon@pond5icon\endcsname {\simpleiconsmapnine\symbol{66}}
+ \expandafter\def\csname simpleicon@poposicon\endcsname {\simpleiconsmapnine\symbol{67}}
+ \expandafter\def\csname simpleicon@porkbunicon\endcsname {\simpleiconsmapnine\symbol{68}}
+ \expandafter\def\csname simpleicon@porscheicon\endcsname {\simpleiconsmapnine\symbol{69}}
+ \expandafter\def\csname simpleicon@portainericon\endcsname {\simpleiconsmapnine\symbol{70}}
+ \expandafter\def\csname simpleicon@portswiggericon\endcsname {\simpleiconsmapnine\symbol{71}}
+ \expandafter\def\csname simpleicon@positicon\endcsname {\simpleiconsmapnine\symbol{72}}
+ \expandafter\def\csname simpleicon@postcssicon\endcsname {\simpleiconsmapnine\symbol{73}}
+ \expandafter\def\csname simpleicon@postgresqlicon\endcsname {\simpleiconsmapnine\symbol{74}}
+ \expandafter\def\csname simpleicon@posthogicon\endcsname {\simpleiconsmapnine\symbol{75}}
+ \expandafter\def\csname simpleicon@postmanicon\endcsname {\simpleiconsmapnine\symbol{76}}
+ \expandafter\def\csname simpleicon@postmatesicon\endcsname {\simpleiconsmapnine\symbol{77}}
+ \expandafter\def\csname simpleicon@powersicon\endcsname {\simpleiconsmapnine\symbol{78}}
+ \expandafter\def\csname simpleicon@prdotcoicon\endcsname {\simpleiconsmapnine\symbol{79}}
+ \expandafter\def\csname simpleicon@preacticon\endcsname {\simpleiconsmapnine\symbol{80}}
+ \expandafter\def\csname simpleicon@precommiticon\endcsname {\simpleiconsmapnine\symbol{81}}
+ \expandafter\def\csname simpleicon@prefecticon\endcsname {\simpleiconsmapnine\symbol{82}}
+ \expandafter\def\csname simpleicon@premierleagueicon\endcsname {\simpleiconsmapnine\symbol{83}}
+ \expandafter\def\csname simpleicon@prepbytesicon\endcsname {\simpleiconsmapnine\symbol{84}}
+ \expandafter\def\csname simpleicon@prestashopicon\endcsname {\simpleiconsmapnine\symbol{85}}
+ \expandafter\def\csname simpleicon@prestoicon\endcsname {\simpleiconsmapnine\symbol{86}}
+ \expandafter\def\csname simpleicon@prettiericon\endcsname {\simpleiconsmapnine\symbol{87}}
+ \expandafter\def\csname simpleicon@pretzelicon\endcsname {\simpleiconsmapnine\symbol{88}}
+ \expandafter\def\csname simpleicon@preventionicon\endcsname {\simpleiconsmapnine\symbol{89}}
+ \expandafter\def\csname simpleicon@preziicon\endcsname {\simpleiconsmapnine\symbol{90}}
+ \expandafter\def\csname simpleicon@primeicon\endcsname {\simpleiconsmapnine\symbol{91}}
+ \expandafter\def\csname simpleicon@primengicon\endcsname {\simpleiconsmapnine\symbol{92}}
+ \expandafter\def\csname simpleicon@primereacticon\endcsname {\simpleiconsmapnine\symbol{93}}
+ \expandafter\def\csname simpleicon@primevideoicon\endcsname {\simpleiconsmapnine\symbol{94}}
+ \expandafter\def\csname simpleicon@printablesicon\endcsname {\simpleiconsmapnine\symbol{95}}
+ \expandafter\def\csname simpleicon@prismaicon\endcsname {\simpleiconsmapnine\symbol{96}}
+ \expandafter\def\csname simpleicon@prismicicon\endcsname {\simpleiconsmapnine\symbol{97}}
+ \expandafter\def\csname simpleicon@privatedivisionicon\endcsname {\simpleiconsmapnine\symbol{98}}
+ \expandafter\def\csname simpleicon@privateinternetaccessicon\endcsname {\simpleiconsmapnine\symbol{99}}
+ \expandafter\def\csname simpleicon@proboticon\endcsname {\simpleiconsmapnine\symbol{100}}
+ \expandafter\def\csname simpleicon@processingfoundationicon\endcsname {\simpleiconsmapnine\symbol{101}}
+ \expandafter\def\csname simpleicon@processwireicon\endcsname {\simpleiconsmapnine\symbol{102}}
+ \expandafter\def\csname simpleicon@producthunticon\endcsname {\simpleiconsmapnine\symbol{103}}
+ \expandafter\def\csname simpleicon@progateicon\endcsname {\simpleiconsmapnine\symbol{104}}
+ \expandafter\def\csname simpleicon@progressicon\endcsname {\simpleiconsmapnine\symbol{105}}
+ \expandafter\def\csname simpleicon@prometheusicon\endcsname {\simpleiconsmapnine\symbol{106}}
+ \expandafter\def\csname simpleicon@pronounsdotpageicon\endcsname {\simpleiconsmapnine\symbol{107}}
+ \expandafter\def\csname simpleicon@prosiebenicon\endcsname {\simpleiconsmapnine\symbol{108}}
+ \expandafter\def\csname simpleicon@proteusicon\endcsname {\simpleiconsmapnine\symbol{109}}
+ \expandafter\def\csname simpleicon@protocolsdotioicon\endcsname {\simpleiconsmapnine\symbol{110}}
+ \expandafter\def\csname simpleicon@protodotioicon\endcsname {\simpleiconsmapnine\symbol{111}}
+ \expandafter\def\csname simpleicon@protonicon\endcsname {\simpleiconsmapnine\symbol{112}}
+ \expandafter\def\csname simpleicon@protoncalendaricon\endcsname {\simpleiconsmapnine\symbol{113}}
+ \expandafter\def\csname simpleicon@protondbicon\endcsname {\simpleiconsmapnine\symbol{114}}
+ \expandafter\def\csname simpleicon@protondriveicon\endcsname {\simpleiconsmapnine\symbol{115}}
+ \expandafter\def\csname simpleicon@protonmailicon\endcsname {\simpleiconsmapnine\symbol{116}}
+ \expandafter\def\csname simpleicon@protonvpnicon\endcsname {\simpleiconsmapnine\symbol{117}}
+ \expandafter\def\csname simpleicon@protoolsicon\endcsname {\simpleiconsmapnine\symbol{118}}
+ \expandafter\def\csname simpleicon@protractoricon\endcsname {\simpleiconsmapnine\symbol{119}}
+ \expandafter\def\csname simpleicon@proxmoxicon\endcsname {\simpleiconsmapnine\symbol{120}}
+ \expandafter\def\csname simpleicon@pterodactylicon\endcsname {\simpleiconsmapnine\symbol{121}}
+ \expandafter\def\csname simpleicon@pubgicon\endcsname {\simpleiconsmapnine\symbol{122}}
+ \expandafter\def\csname simpleicon@publonsicon\endcsname {\simpleiconsmapnine\symbol{123}}
+ \expandafter\def\csname simpleicon@pubmedicon\endcsname {\simpleiconsmapnine\symbol{124}}
+ \expandafter\def\csname simpleicon@pugicon\endcsname {\simpleiconsmapnine\symbol{125}}
+ \expandafter\def\csname simpleicon@pulumiicon\endcsname {\simpleiconsmapnine\symbol{126}}
+ \expandafter\def\csname simpleicon@pumaicon\endcsname {\simpleiconsmapnine\symbol{127}}
+ \expandafter\def\csname simpleicon@puppeticon\endcsname {\simpleiconsmapnine\symbol{128}}
+ \expandafter\def\csname simpleicon@puppeteericon\endcsname {\simpleiconsmapnine\symbol{129}}
+ \expandafter\def\csname simpleicon@purescripticon\endcsname {\simpleiconsmapnine\symbol{130}}
+ \expandafter\def\csname simpleicon@purgecssicon\endcsname {\simpleiconsmapnine\symbol{131}}
+ \expandafter\def\csname simpleicon@purismicon\endcsname {\simpleiconsmapnine\symbol{132}}
+ \expandafter\def\csname simpleicon@pushbulleticon\endcsname {\simpleiconsmapnine\symbol{133}}
+ \expandafter\def\csname simpleicon@pushericon\endcsname {\simpleiconsmapnine\symbol{134}}
+ \expandafter\def\csname simpleicon@pwaicon\endcsname {\simpleiconsmapnine\symbol{135}}
+ \expandafter\def\csname simpleicon@pycharmicon\endcsname {\simpleiconsmapnine\symbol{136}}
+ \expandafter\def\csname simpleicon@pycqaicon\endcsname {\simpleiconsmapnine\symbol{137}}
+ \expandafter\def\csname simpleicon@pydanticicon\endcsname {\simpleiconsmapnine\symbol{138}}
+ \expandafter\def\csname simpleicon@pygicon\endcsname {\simpleiconsmapnine\symbol{139}}
+ \expandafter\def\csname simpleicon@pypiicon\endcsname {\simpleiconsmapnine\symbol{140}}
+ \expandafter\def\csname simpleicon@pypyicon\endcsname {\simpleiconsmapnine\symbol{141}}
+ \expandafter\def\csname simpleicon@pyscaffoldicon\endcsname {\simpleiconsmapnine\symbol{142}}
+ \expandafter\def\csname simpleicon@pysyfticon\endcsname {\simpleiconsmapnine\symbol{143}}
+ \expandafter\def\csname simpleicon@pytesticon\endcsname {\simpleiconsmapnine\symbol{144}}
+ \expandafter\def\csname simpleicon@pythonicon\endcsname {\simpleiconsmapnine\symbol{145}}
+ \expandafter\def\csname simpleicon@pythonanywhereicon\endcsname {\simpleiconsmapnine\symbol{146}}
+ \expandafter\def\csname simpleicon@pytorchicon\endcsname {\simpleiconsmapnine\symbol{147}}
+ \expandafter\def\csname simpleicon@pyupicon\endcsname {\simpleiconsmapnine\symbol{148}}
+ \expandafter\def\csname simpleicon@qantasicon\endcsname {\simpleiconsmapnine\symbol{149}}
+ \expandafter\def\csname simpleicon@qaseicon\endcsname {\simpleiconsmapnine\symbol{150}}
+ \expandafter\def\csname simpleicon@qatarairwaysicon\endcsname {\simpleiconsmapnine\symbol{151}}
+ \expandafter\def\csname simpleicon@qbittorrenticon\endcsname {\simpleiconsmapnine\symbol{152}}
+ \expandafter\def\csname simpleicon@qemuicon\endcsname {\simpleiconsmapnine\symbol{153}}
+ \expandafter\def\csname simpleicon@qgisicon\endcsname {\simpleiconsmapnine\symbol{154}}
+ \expandafter\def\csname simpleicon@qiicon\endcsname {\simpleiconsmapnine\symbol{155}}
+ \expandafter\def\csname simpleicon@qiitaicon\endcsname {\simpleiconsmapnine\symbol{156}}
+ \expandafter\def\csname simpleicon@qiskiticon\endcsname {\simpleiconsmapnine\symbol{157}}
+ \expandafter\def\csname simpleicon@qiwiicon\endcsname {\simpleiconsmapnine\symbol{158}}
+ \expandafter\def\csname simpleicon@qlikicon\endcsname {\simpleiconsmapnine\symbol{159}}
+ \expandafter\def\csname simpleicon@qmkicon\endcsname {\simpleiconsmapnine\symbol{160}}
+ \expandafter\def\csname simpleicon@qnapicon\endcsname {\simpleiconsmapnine\symbol{161}}
+ \expandafter\def\csname simpleicon@qticon\endcsname {\simpleiconsmapnine\symbol{162}}
+ \expandafter\def\csname simpleicon@qualcommicon\endcsname {\simpleiconsmapnine\symbol{163}}
+ \expandafter\def\csname simpleicon@qualtricsicon\endcsname {\simpleiconsmapnine\symbol{164}}
+ \expandafter\def\csname simpleicon@qualysicon\endcsname {\simpleiconsmapnine\symbol{165}}
+ \expandafter\def\csname simpleicon@quantcasticon\endcsname {\simpleiconsmapnine\symbol{166}}
+ \expandafter\def\csname simpleicon@quantconnecticon\endcsname {\simpleiconsmapnine\symbol{167}}
+ \expandafter\def\csname simpleicon@quarkusicon\endcsname {\simpleiconsmapnine\symbol{168}}
+ \expandafter\def\csname simpleicon@quartoicon\endcsname {\simpleiconsmapnine\symbol{169}}
+ \expandafter\def\csname simpleicon@quasaricon\endcsname {\simpleiconsmapnine\symbol{170}}
+ \expandafter\def\csname simpleicon@qubesosicon\endcsname {\simpleiconsmapnine\symbol{171}}
+ \expandafter\def\csname simpleicon@questicon\endcsname {\simpleiconsmapnine\symbol{172}}
+ \expandafter\def\csname simpleicon@quickbooksicon\endcsname {\simpleiconsmapnine\symbol{173}}
+ \expandafter\def\csname simpleicon@quicklookicon\endcsname {\simpleiconsmapnine\symbol{174}}
+ \expandafter\def\csname simpleicon@quicktimeicon\endcsname {\simpleiconsmapnine\symbol{175}}
+ \expandafter\def\csname simpleicon@quicktypeicon\endcsname {\simpleiconsmapnine\symbol{176}}
+ \expandafter\def\csname simpleicon@quipicon\endcsname {\simpleiconsmapnine\symbol{177}}
+ \expandafter\def\csname simpleicon@quizleticon\endcsname {\simpleiconsmapnine\symbol{178}}
+ \expandafter\def\csname simpleicon@quoraicon\endcsname {\simpleiconsmapnine\symbol{179}}
+ \expandafter\def\csname simpleicon@qwanticon\endcsname {\simpleiconsmapnine\symbol{180}}
+ \expandafter\def\csname simpleicon@qwikicon\endcsname {\simpleiconsmapnine\symbol{181}}
+ \expandafter\def\csname simpleicon@qwiklabsicon\endcsname {\simpleiconsmapnine\symbol{182}}
+ \expandafter\def\csname simpleicon@qzoneicon\endcsname {\simpleiconsmapnine\symbol{183}}
+ \expandafter\def\csname simpleicon@ricon\endcsname {\simpleiconsmapnine\symbol{184}}
+ \expandafter\def\csname simpleicon@r3icon\endcsname {\simpleiconsmapnine\symbol{185}}
+ \expandafter\def\csname simpleicon@rabbitmqicon\endcsname {\simpleiconsmapnine\symbol{186}}
+ \expandafter\def\csname simpleicon@racketicon\endcsname {\simpleiconsmapnine\symbol{187}}
+ \expandafter\def\csname simpleicon@radaricon\endcsname {\simpleiconsmapnine\symbol{188}}
+ \expandafter\def\csname simpleicon@radarricon\endcsname {\simpleiconsmapnine\symbol{189}}
+ \expandafter\def\csname simpleicon@radiopublicicon\endcsname {\simpleiconsmapnine\symbol{190}}
+ \expandafter\def\csname simpleicon@radixuiicon\endcsname {\simpleiconsmapnine\symbol{191}}
+ \expandafter\def\csname simpleicon@radstudioicon\endcsname {\simpleiconsmapnine\symbol{192}}
+ \expandafter\def\csname simpleicon@railwayicon\endcsname {\simpleiconsmapnine\symbol{193}}
+ \expandafter\def\csname simpleicon@rainmetericon\endcsname {\simpleiconsmapnine\symbol{194}}
+ \expandafter\def\csname simpleicon@rakutenicon\endcsname {\simpleiconsmapnine\symbol{195}}
+ \expandafter\def\csname simpleicon@ramicon\endcsname {\simpleiconsmapnine\symbol{196}}
+ \expandafter\def\csname simpleicon@ranchericon\endcsname {\simpleiconsmapnine\symbol{197}}
+ \expandafter\def\csname simpleicon@rapidicon\endcsname {\simpleiconsmapnine\symbol{198}}
+ \expandafter\def\csname simpleicon@raribleicon\endcsname {\simpleiconsmapnine\symbol{199}}
+ \expandafter\def\csname simpleicon@rasaicon\endcsname {\simpleiconsmapnine\symbol{200}}
+ \expandafter\def\csname simpleicon@raspberrypiicon\endcsname {\simpleiconsmapnine\symbol{201}}
+ \expandafter\def\csname simpleicon@ravelryicon\endcsname {\simpleiconsmapnine\symbol{202}}
+ \expandafter\def\csname simpleicon@rayicon\endcsname {\simpleiconsmapnine\symbol{203}}
+ \expandafter\def\csname simpleicon@raycasticon\endcsname {\simpleiconsmapnine\symbol{204}}
+ \expandafter\def\csname simpleicon@raylibicon\endcsname {\simpleiconsmapnine\symbol{205}}
+ \expandafter\def\csname simpleicon@razericon\endcsname {\simpleiconsmapnine\symbol{206}}
+ \expandafter\def\csname simpleicon@razorpayicon\endcsname {\simpleiconsmapnine\symbol{207}}
+ \expandafter\def\csname simpleicon@rcloneicon\endcsname {\simpleiconsmapnine\symbol{208}}
+ \expandafter\def\csname simpleicon@reacticon\endcsname {\simpleiconsmapnine\symbol{209}}
+ \expandafter\def\csname simpleicon@reactbootstrapicon\endcsname {\simpleiconsmapnine\symbol{210}}
+ \expandafter\def\csname simpleicon@reacthookformicon\endcsname {\simpleiconsmapnine\symbol{211}}
+ \expandafter\def\csname simpleicon@reactiveresumeicon\endcsname {\simpleiconsmapnine\symbol{212}}
+ \expandafter\def\csname simpleicon@reactivexicon\endcsname {\simpleiconsmapnine\symbol{213}}
+ \expandafter\def\csname simpleicon@reactosicon\endcsname {\simpleiconsmapnine\symbol{214}}
+ \expandafter\def\csname simpleicon@reactqueryicon\endcsname {\simpleiconsmapnine\symbol{215}}
+ \expandafter\def\csname simpleicon@reactroutericon\endcsname {\simpleiconsmapnine\symbol{216}}
+ \expandafter\def\csname simpleicon@reacttableicon\endcsname {\simpleiconsmapnine\symbol{217}}
+ \expandafter\def\csname simpleicon@readdotcvicon\endcsname {\simpleiconsmapnine\symbol{218}}
+ \expandafter\def\csname simpleicon@readmeicon\endcsname {\simpleiconsmapnine\symbol{219}}
+ \expandafter\def\csname simpleicon@readthedocsicon\endcsname {\simpleiconsmapnine\symbol{220}}
+ \expandafter\def\csname simpleicon@realmicon\endcsname {\simpleiconsmapnine\symbol{221}}
+ \expandafter\def\csname simpleicon@reasonicon\endcsname {\simpleiconsmapnine\symbol{222}}
+ \expandafter\def\csname simpleicon@reasonstudiosicon\endcsname {\simpleiconsmapnine\symbol{223}}
+ \expandafter\def\csname simpleicon@recoilicon\endcsname {\simpleiconsmapnine\symbol{224}}
+ \expandafter\def\csname simpleicon@redicon\endcsname {\simpleiconsmapnine\symbol{225}}
+ \expandafter\def\csname simpleicon@redashicon\endcsname {\simpleiconsmapnine\symbol{226}}
+ \expandafter\def\csname simpleicon@redbubbleicon\endcsname {\simpleiconsmapnine\symbol{227}}
+ \expandafter\def\csname simpleicon@redbullicon\endcsname {\simpleiconsmapnine\symbol{228}}
+ \expandafter\def\csname simpleicon@redditicon\endcsname {\simpleiconsmapnine\symbol{229}}
+ \expandafter\def\csname simpleicon@redhaticon\endcsname {\simpleiconsmapnine\symbol{230}}
+ \expandafter\def\csname simpleicon@redhatopenshifticon\endcsname {\simpleiconsmapnine\symbol{231}}
+ \expandafter\def\csname simpleicon@redisicon\endcsname {\simpleiconsmapnine\symbol{232}}
+ \expandafter\def\csname simpleicon@redmineicon\endcsname {\simpleiconsmapnine\symbol{233}}
+ \expandafter\def\csname simpleicon@redoxicon\endcsname {\simpleiconsmapnine\symbol{234}}
+ \expandafter\def\csname simpleicon@redsysicon\endcsname {\simpleiconsmapnine\symbol{235}}
+ \expandafter\def\csname simpleicon@reduxicon\endcsname {\simpleiconsmapnine\symbol{236}}
+ \expandafter\def\csname simpleicon@reduxsagaicon\endcsname {\simpleiconsmapnine\symbol{237}}
+ \expandafter\def\csname simpleicon@redwoodjsicon\endcsname {\simpleiconsmapnine\symbol{238}}
+ \expandafter\def\csname simpleicon@reebokicon\endcsname {\simpleiconsmapnine\symbol{239}}
+ \expandafter\def\csname simpleicon@refineicon\endcsname {\simpleiconsmapnine\symbol{240}}
+ \expandafter\def\csname simpleicon@relayicon\endcsname {\simpleiconsmapnine\symbol{241}}
+ \expandafter\def\csname simpleicon@relianceindustrieslimitedicon\endcsname {\simpleiconsmapnine\symbol{242}}
+ \expandafter\def\csname simpleicon@remarkicon\endcsname {\simpleiconsmapnine\symbol{243}}
+ \expandafter\def\csname simpleicon@remedyentertainmenticon\endcsname {\simpleiconsmapnine\symbol{244}}
+ \expandafter\def\csname simpleicon@remixicon\endcsname {\simpleiconsmapnine\symbol{245}}
+ \expandafter\def\csname simpleicon@removedotbgicon\endcsname {\simpleiconsmapnine\symbol{246}}
+ \expandafter\def\csname simpleicon@renaulticon\endcsname {\simpleiconsmapnine\symbol{247}}
+ \expandafter\def\csname simpleicon@rendericon\endcsname {\simpleiconsmapnine\symbol{248}}
+ \expandafter\def\csname simpleicon@renovateicon\endcsname {\simpleiconsmapnine\symbol{249}}
+ \expandafter\def\csname simpleicon@renpyicon\endcsname {\simpleiconsmapnine\symbol{250}}
+ \expandafter\def\csname simpleicon@renrenicon\endcsname {\simpleiconsmapnine\symbol{251}}
+ \expandafter\def\csname simpleicon@repliticon\endcsname {\simpleiconsmapnine\symbol{252}}
+ \expandafter\def\csname simpleicon@republicofgamersicon\endcsname {\simpleiconsmapnine\symbol{253}}
+ \expandafter\def\csname simpleicon@rescripticon\endcsname {\simpleiconsmapnine\symbol{254}}
+ \expandafter\def\csname simpleicon@rescuetimeicon\endcsname {\simpleiconsmapnine\symbol{255}}
+ \expandafter\def\csname simpleicon@researchgateicon\endcsname {\simpleiconsmaponezero\symbol{0}}
+ \expandafter\def\csname simpleicon@resendicon\endcsname {\simpleiconsmaponezero\symbol{1}}
+ \expandafter\def\csname simpleicon@resharpericon\endcsname {\simpleiconsmaponezero\symbol{2}}
+ \expandafter\def\csname simpleicon@resurrectionremixosicon\endcsname {\simpleiconsmaponezero\symbol{3}}
+ \expandafter\def\csname simpleicon@retoolicon\endcsname {\simpleiconsmaponezero\symbol{4}}
+ \expandafter\def\csname simpleicon@retroarchicon\endcsname {\simpleiconsmaponezero\symbol{5}}
+ \expandafter\def\csname simpleicon@retropieicon\endcsname {\simpleiconsmaponezero\symbol{6}}
+ \expandafter\def\csname simpleicon@revancedicon\endcsname {\simpleiconsmaponezero\symbol{7}}
+ \expandafter\def\csname simpleicon@revealdotjsicon\endcsname {\simpleiconsmaponezero\symbol{8}}
+ \expandafter\def\csname simpleicon@reverbnationicon\endcsname {\simpleiconsmaponezero\symbol{9}}
+ \expandafter\def\csname simpleicon@revoltdotchaticon\endcsname {\simpleiconsmaponezero\symbol{10}}
+ \expandafter\def\csname simpleicon@revoluticon\endcsname {\simpleiconsmaponezero\symbol{11}}
+ \expandafter\def\csname simpleicon@revueicon\endcsname {\simpleiconsmaponezero\symbol{12}}
+ \expandafter\def\csname simpleicon@reweicon\endcsname {\simpleiconsmaponezero\symbol{13}}
+ \expandafter\def\csname simpleicon@rezgoicon\endcsname {\simpleiconsmaponezero\symbol{14}}
+ \expandafter\def\csname simpleicon@rhinocerosicon\endcsname {\simpleiconsmaponezero\symbol{15}}
+ \expandafter\def\csname simpleicon@richicon\endcsname {\simpleiconsmaponezero\symbol{16}}
+ \expandafter\def\csname simpleicon@ridericon\endcsname {\simpleiconsmaponezero\symbol{17}}
+ \expandafter\def\csname simpleicon@rimacautomobiliicon\endcsname {\simpleiconsmaponezero\symbol{18}}
+ \expandafter\def\csname simpleicon@rimeicon\endcsname {\simpleiconsmaponezero\symbol{19}}
+ \expandafter\def\csname simpleicon@ringicon\endcsname {\simpleiconsmaponezero\symbol{20}}
+ \expandafter\def\csname simpleicon@riotgamesicon\endcsname {\simpleiconsmaponezero\symbol{21}}
+ \expandafter\def\csname simpleicon@rippleicon\endcsname {\simpleiconsmaponezero\symbol{22}}
+ \expandafter\def\csname simpleicon@riscvicon\endcsname {\simpleiconsmaponezero\symbol{23}}
+ \expandafter\def\csname simpleicon@riseupicon\endcsname {\simpleiconsmaponezero\symbol{24}}
+ \expandafter\def\csname simpleicon@ritzcarltonicon\endcsname {\simpleiconsmaponezero\symbol{25}}
+ \expandafter\def\csname simpleicon@riveicon\endcsname {\simpleiconsmaponezero\symbol{26}}
+ \expandafter\def\csname simpleicon@roadmapdotshicon\endcsname {\simpleiconsmaponezero\symbol{27}}
+ \expandafter\def\csname simpleicon@roamresearchicon\endcsname {\simpleiconsmaponezero\symbol{28}}
+ \expandafter\def\csname simpleicon@robinhoodicon\endcsname {\simpleiconsmaponezero\symbol{29}}
+ \expandafter\def\csname simpleicon@robloxicon\endcsname {\simpleiconsmaponezero\symbol{30}}
+ \expandafter\def\csname simpleicon@robloxstudioicon\endcsname {\simpleiconsmaponezero\symbol{31}}
+ \expandafter\def\csname simpleicon@robotframeworkicon\endcsname {\simpleiconsmaponezero\symbol{32}}
+ \expandafter\def\csname simpleicon@rocketicon\endcsname {\simpleiconsmaponezero\symbol{33}}
+ \expandafter\def\csname simpleicon@rocketdotchaticon\endcsname {\simpleiconsmaponezero\symbol{34}}
+ \expandafter\def\csname simpleicon@rocksdbicon\endcsname {\simpleiconsmaponezero\symbol{35}}
+ \expandafter\def\csname simpleicon@rockstargamesicon\endcsname {\simpleiconsmaponezero\symbol{36}}
+ \expandafter\def\csname simpleicon@rockwellautomationicon\endcsname {\simpleiconsmaponezero\symbol{37}}
+ \expandafter\def\csname simpleicon@rockylinuxicon\endcsname {\simpleiconsmaponezero\symbol{38}}
+ \expandafter\def\csname simpleicon@rokuicon\endcsname {\simpleiconsmaponezero\symbol{39}}
+ \expandafter\def\csname simpleicon@roll20icon\endcsname {\simpleiconsmaponezero\symbol{40}}
+ \expandafter\def\csname simpleicon@rollsroyceicon\endcsname {\simpleiconsmaponezero\symbol{41}}
+ \expandafter\def\csname simpleicon@rollupdotjsicon\endcsname {\simpleiconsmaponezero\symbol{42}}
+ \expandafter\def\csname simpleicon@roonicon\endcsname {\simpleiconsmaponezero\symbol{43}}
+ \expandafter\def\csname simpleicon@rootmeicon\endcsname {\simpleiconsmaponezero\symbol{44}}
+ \expandafter\def\csname simpleicon@rootsicon\endcsname {\simpleiconsmaponezero\symbol{45}}
+ \expandafter\def\csname simpleicon@rootsbedrockicon\endcsname {\simpleiconsmaponezero\symbol{46}}
+ \expandafter\def\csname simpleicon@rootssageicon\endcsname {\simpleiconsmaponezero\symbol{47}}
+ \expandafter\def\csname simpleicon@rosicon\endcsname {\simpleiconsmaponezero\symbol{48}}
+ \expandafter\def\csname simpleicon@rossmannicon\endcsname {\simpleiconsmaponezero\symbol{49}}
+ \expandafter\def\csname simpleicon@rotaryinternationalicon\endcsname {\simpleiconsmaponezero\symbol{50}}
+ \expandafter\def\csname simpleicon@rottentomatoesicon\endcsname {\simpleiconsmaponezero\symbol{51}}
+ \expandafter\def\csname simpleicon@roundcubeicon\endcsname {\simpleiconsmaponezero\symbol{52}}
+ \expandafter\def\csname simpleicon@rsocketicon\endcsname {\simpleiconsmaponezero\symbol{53}}
+ \expandafter\def\csname simpleicon@rssicon\endcsname {\simpleiconsmaponezero\symbol{54}}
+ \expandafter\def\csname simpleicon@rstudioideicon\endcsname {\simpleiconsmaponezero\symbol{55}}
+ \expandafter\def\csname simpleicon@rteicon\endcsname {\simpleiconsmaponezero\symbol{56}}
+ \expandafter\def\csname simpleicon@rtlicon\endcsname {\simpleiconsmaponezero\symbol{57}}
+ \expandafter\def\csname simpleicon@rtlzweiicon\endcsname {\simpleiconsmaponezero\symbol{58}}
+ \expandafter\def\csname simpleicon@rtmicon\endcsname {\simpleiconsmaponezero\symbol{59}}
+ \expandafter\def\csname simpleicon@rubocopicon\endcsname {\simpleiconsmaponezero\symbol{60}}
+ \expandafter\def\csname simpleicon@rubyicon\endcsname {\simpleiconsmaponezero\symbol{61}}
+ \expandafter\def\csname simpleicon@rubygemsicon\endcsname {\simpleiconsmaponezero\symbol{62}}
+ \expandafter\def\csname simpleicon@rubymineicon\endcsname {\simpleiconsmaponezero\symbol{63}}
+ \expandafter\def\csname simpleicon@rubyonrailsicon\endcsname {\simpleiconsmaponezero\symbol{64}}
+ \expandafter\def\csname simpleicon@rubysinatraicon\endcsname {\simpleiconsmaponezero\symbol{65}}
+ \expandafter\def\csname simpleicon@rufficon\endcsname {\simpleiconsmaponezero\symbol{66}}
+ \expandafter\def\csname simpleicon@rumahwebicon\endcsname {\simpleiconsmaponezero\symbol{67}}
+ \expandafter\def\csname simpleicon@rumbleicon\endcsname {\simpleiconsmaponezero\symbol{68}}
+ \expandafter\def\csname simpleicon@rundeckicon\endcsname {\simpleiconsmaponezero\symbol{69}}
+ \expandafter\def\csname simpleicon@runkeepericon\endcsname {\simpleiconsmaponezero\symbol{70}}
+ \expandafter\def\csname simpleicon@runkiticon\endcsname {\simpleiconsmaponezero\symbol{71}}
+ \expandafter\def\csname simpleicon@runrundotiticon\endcsname {\simpleiconsmaponezero\symbol{72}}
+ \expandafter\def\csname simpleicon@rusticon\endcsname {\simpleiconsmaponezero\symbol{73}}
+ \expandafter\def\csname simpleicon@rustdeskicon\endcsname {\simpleiconsmaponezero\symbol{74}}
+ \expandafter\def\csname simpleicon@rxdbicon\endcsname {\simpleiconsmaponezero\symbol{75}}
+ \expandafter\def\csname simpleicon@ryanairicon\endcsname {\simpleiconsmaponezero\symbol{76}}
+ \expandafter\def\csname simpleicon@ryeicon\endcsname {\simpleiconsmaponezero\symbol{77}}
+ \expandafter\def\csname simpleicon@s7airlinesicon\endcsname {\simpleiconsmaponezero\symbol{78}}
+ \expandafter\def\csname simpleicon@sabanciicon\endcsname {\simpleiconsmaponezero\symbol{79}}
+ \expandafter\def\csname simpleicon@safariicon\endcsname {\simpleiconsmaponezero\symbol{80}}
+ \expandafter\def\csname simpleicon@sageicon\endcsname {\simpleiconsmaponezero\symbol{81}}
+ \expandafter\def\csname simpleicon@sahibindenicon\endcsname {\simpleiconsmaponezero\symbol{82}}
+ \expandafter\def\csname simpleicon@sailfishosicon\endcsname {\simpleiconsmaponezero\symbol{83}}
+ \expandafter\def\csname simpleicon@sailsdotjsicon\endcsname {\simpleiconsmaponezero\symbol{84}}
+ \expandafter\def\csname simpleicon@salesforceicon\endcsname {\simpleiconsmaponezero\symbol{85}}
+ \expandafter\def\csname simpleicon@sallaicon\endcsname {\simpleiconsmaponezero\symbol{86}}
+ \expandafter\def\csname simpleicon@saltprojecticon\endcsname {\simpleiconsmaponezero\symbol{87}}
+ \expandafter\def\csname simpleicon@samsclubicon\endcsname {\simpleiconsmaponezero\symbol{88}}
+ \expandafter\def\csname simpleicon@samsungicon\endcsname {\simpleiconsmaponezero\symbol{89}}
+ \expandafter\def\csname simpleicon@samsungpayicon\endcsname {\simpleiconsmaponezero\symbol{90}}
+ \expandafter\def\csname simpleicon@sandiskicon\endcsname {\simpleiconsmaponezero\symbol{91}}
+ \expandafter\def\csname simpleicon@sanfranciscomunicipalrailwayicon\endcsname {\simpleiconsmaponezero\symbol{92}}
+ \expandafter\def\csname simpleicon@sanicicon\endcsname {\simpleiconsmaponezero\symbol{93}}
+ \expandafter\def\csname simpleicon@sanityicon\endcsname {\simpleiconsmaponezero\symbol{94}}
+ \expandafter\def\csname simpleicon@saopaulometroicon\endcsname {\simpleiconsmaponezero\symbol{95}}
+ \expandafter\def\csname simpleicon@sapicon\endcsname {\simpleiconsmaponezero\symbol{96}}
+ \expandafter\def\csname simpleicon@sartoriusicon\endcsname {\simpleiconsmaponezero\symbol{97}}
+ \expandafter\def\csname simpleicon@sassicon\endcsname {\simpleiconsmaponezero\symbol{98}}
+ \expandafter\def\csname simpleicon@sat1icon\endcsname {\simpleiconsmaponezero\symbol{99}}
+ \expandafter\def\csname simpleicon@satelliteicon\endcsname {\simpleiconsmaponezero\symbol{100}}
+ \expandafter\def\csname simpleicon@saturnicon\endcsname {\simpleiconsmaponezero\symbol{101}}
+ \expandafter\def\csname simpleicon@saucelabsicon\endcsname {\simpleiconsmaponezero\symbol{102}}
+ \expandafter\def\csname simpleicon@saudiaicon\endcsname {\simpleiconsmaponezero\symbol{103}}
+ \expandafter\def\csname simpleicon@scalaicon\endcsname {\simpleiconsmaponezero\symbol{104}}
+ \expandafter\def\csname simpleicon@scalewayicon\endcsname {\simpleiconsmaponezero\symbol{105}}
+ \expandafter\def\csname simpleicon@scaniaicon\endcsname {\simpleiconsmaponezero\symbol{106}}
+ \expandafter\def\csname simpleicon@schneiderelectricicon\endcsname {\simpleiconsmaponezero\symbol{107}}
+ \expandafter\def\csname simpleicon@scikitlearnicon\endcsname {\simpleiconsmaponezero\symbol{108}}
+ \expandafter\def\csname simpleicon@scilabicon\endcsname {\simpleiconsmaponezero\symbol{109}}
+ \expandafter\def\csname simpleicon@scipyicon\endcsname {\simpleiconsmaponezero\symbol{110}}
+ \expandafter\def\csname simpleicon@scopusicon\endcsname {\simpleiconsmaponezero\symbol{111}}
+ \expandafter\def\csname simpleicon@scpfoundationicon\endcsname {\simpleiconsmaponezero\symbol{112}}
+ \expandafter\def\csname simpleicon@scrapboxicon\endcsname {\simpleiconsmaponezero\symbol{113}}
+ \expandafter\def\csname simpleicon@scrapyicon\endcsname {\simpleiconsmaponezero\symbol{114}}
+ \expandafter\def\csname simpleicon@scratchicon\endcsname {\simpleiconsmaponezero\symbol{115}}
+ \expandafter\def\csname simpleicon@screencastifyicon\endcsname {\simpleiconsmaponezero\symbol{116}}
+ \expandafter\def\csname simpleicon@scribdicon\endcsname {\simpleiconsmaponezero\symbol{117}}
+ \expandafter\def\csname simpleicon@scrimbaicon\endcsname {\simpleiconsmaponezero\symbol{118}}
+ \expandafter\def\csname simpleicon@scrollrevealicon\endcsname {\simpleiconsmaponezero\symbol{119}}
+ \expandafter\def\csname simpleicon@scrumallianceicon\endcsname {\simpleiconsmaponezero\symbol{120}}
+ \expandafter\def\csname simpleicon@scrutinizerciicon\endcsname {\simpleiconsmaponezero\symbol{121}}
+ \expandafter\def\csname simpleicon@scylladbicon\endcsname {\simpleiconsmaponezero\symbol{122}}
+ \expandafter\def\csname simpleicon@seagateicon\endcsname {\simpleiconsmaponezero\symbol{123}}
+ \expandafter\def\csname simpleicon@searxngicon\endcsname {\simpleiconsmaponezero\symbol{124}}
+ \expandafter\def\csname simpleicon@seaticon\endcsname {\simpleiconsmaponezero\symbol{125}}
+ \expandafter\def\csname simpleicon@seatgeekicon\endcsname {\simpleiconsmaponezero\symbol{126}}
+ \expandafter\def\csname simpleicon@securityscorecardicon\endcsname {\simpleiconsmaponezero\symbol{127}}
+ \expandafter\def\csname simpleicon@sefariaicon\endcsname {\simpleiconsmaponezero\symbol{128}}
+ \expandafter\def\csname simpleicon@segaicon\endcsname {\simpleiconsmaponezero\symbol{129}}
+ \expandafter\def\csname simpleicon@seleniumicon\endcsname {\simpleiconsmaponezero\symbol{130}}
+ \expandafter\def\csname simpleicon@sellfyicon\endcsname {\simpleiconsmaponezero\symbol{131}}
+ \expandafter\def\csname simpleicon@semanticreleaseicon\endcsname {\simpleiconsmaponezero\symbol{132}}
+ \expandafter\def\csname simpleicon@semanticscholaricon\endcsname {\simpleiconsmaponezero\symbol{133}}
+ \expandafter\def\csname simpleicon@semanticuiicon\endcsname {\simpleiconsmaponezero\symbol{134}}
+ \expandafter\def\csname simpleicon@semanticuireacticon\endcsname {\simpleiconsmaponezero\symbol{135}}
+ \expandafter\def\csname simpleicon@semanticwebicon\endcsname {\simpleiconsmaponezero\symbol{136}}
+ \expandafter\def\csname simpleicon@semaphoreciicon\endcsname {\simpleiconsmaponezero\symbol{137}}
+ \expandafter\def\csname simpleicon@semrushicon\endcsname {\simpleiconsmaponezero\symbol{138}}
+ \expandafter\def\csname simpleicon@semvericon\endcsname {\simpleiconsmaponezero\symbol{139}}
+ \expandafter\def\csname simpleicon@senchaicon\endcsname {\simpleiconsmaponezero\symbol{140}}
+ \expandafter\def\csname simpleicon@sennheisericon\endcsname {\simpleiconsmaponezero\symbol{141}}
+ \expandafter\def\csname simpleicon@sensuicon\endcsname {\simpleiconsmaponezero\symbol{142}}
+ \expandafter\def\csname simpleicon@sentryicon\endcsname {\simpleiconsmaponezero\symbol{143}}
+ \expandafter\def\csname simpleicon@sepaicon\endcsname {\simpleiconsmaponezero\symbol{144}}
+ \expandafter\def\csname simpleicon@sequelizeicon\endcsname {\simpleiconsmaponezero\symbol{145}}
+ \expandafter\def\csname simpleicon@serverfaulticon\endcsname {\simpleiconsmaponezero\symbol{146}}
+ \expandafter\def\csname simpleicon@serverlessicon\endcsname {\simpleiconsmaponezero\symbol{147}}
+ \expandafter\def\csname simpleicon@sessionicon\endcsname {\simpleiconsmaponezero\symbol{148}}
+ \expandafter\def\csname simpleicon@sessionizeicon\endcsname {\simpleiconsmaponezero\symbol{149}}
+ \expandafter\def\csname simpleicon@setappicon\endcsname {\simpleiconsmaponezero\symbol{150}}
+ \expandafter\def\csname simpleicon@sfmlicon\endcsname {\simpleiconsmaponezero\symbol{151}}
+ \expandafter\def\csname simpleicon@shadcnuiicon\endcsname {\simpleiconsmaponezero\symbol{152}}
+ \expandafter\def\csname simpleicon@shadowicon\endcsname {\simpleiconsmaponezero\symbol{153}}
+ \expandafter\def\csname simpleicon@shanghaimetroicon\endcsname {\simpleiconsmaponezero\symbol{154}}
+ \expandafter\def\csname simpleicon@sharexicon\endcsname {\simpleiconsmaponezero\symbol{155}}
+ \expandafter\def\csname simpleicon@sharpicon\endcsname {\simpleiconsmaponezero\symbol{156}}
+ \expandafter\def\csname simpleicon@shazamicon\endcsname {\simpleiconsmaponezero\symbol{157}}
+ \expandafter\def\csname simpleicon@shellicon\endcsname {\simpleiconsmaponezero\symbol{158}}
+ \expandafter\def\csname simpleicon@shellyicon\endcsname {\simpleiconsmaponezero\symbol{159}}
+ \expandafter\def\csname simpleicon@shenzhenmetroicon\endcsname {\simpleiconsmaponezero\symbol{160}}
+ \expandafter\def\csname simpleicon@shieldsdotioicon\endcsname {\simpleiconsmaponezero\symbol{161}}
+ \expandafter\def\csname simpleicon@shikimoriicon\endcsname {\simpleiconsmaponezero\symbol{162}}
+ \expandafter\def\csname simpleicon@shopeeicon\endcsname {\simpleiconsmaponezero\symbol{163}}
+ \expandafter\def\csname simpleicon@shopifyicon\endcsname {\simpleiconsmaponezero\symbol{164}}
+ \expandafter\def\csname simpleicon@shopwareicon\endcsname {\simpleiconsmaponezero\symbol{165}}
+ \expandafter\def\csname simpleicon@shortcuticon\endcsname {\simpleiconsmaponezero\symbol{166}}
+ \expandafter\def\csname simpleicon@showpadicon\endcsname {\simpleiconsmaponezero\symbol{167}}
+ \expandafter\def\csname simpleicon@showtimeicon\endcsname {\simpleiconsmaponezero\symbol{168}}
+ \expandafter\def\csname simpleicon@showwcaseicon\endcsname {\simpleiconsmaponezero\symbol{169}}
+ \expandafter\def\csname simpleicon@shutterstockicon\endcsname {\simpleiconsmaponezero\symbol{170}}
+ \expandafter\def\csname simpleicon@sidekiqicon\endcsname {\simpleiconsmaponezero\symbol{171}}
+ \expandafter\def\csname simpleicon@sidequesticon\endcsname {\simpleiconsmaponezero\symbol{172}}
+ \expandafter\def\csname simpleicon@siemensicon\endcsname {\simpleiconsmaponezero\symbol{173}}
+ \expandafter\def\csname simpleicon@sifiveicon\endcsname {\simpleiconsmaponezero\symbol{174}}
+ \expandafter\def\csname simpleicon@signalicon\endcsname {\simpleiconsmaponezero\symbol{175}}
+ \expandafter\def\csname simpleicon@similarwebicon\endcsname {\simpleiconsmaponezero\symbol{176}}
+ \expandafter\def\csname simpleicon@simklicon\endcsname {\simpleiconsmaponezero\symbol{177}}
+ \expandafter\def\csname simpleicon@simpleanalyticsicon\endcsname {\simpleiconsmaponezero\symbol{178}}
+ \expandafter\def\csname simpleicon@simpleiconsicon\endcsname {\simpleiconsmaponezero\symbol{179}}
+ \expandafter\def\csname simpleicon@simpleloginicon\endcsname {\simpleiconsmaponezero\symbol{180}}
+ \expandafter\def\csname simpleicon@simplenoteicon\endcsname {\simpleiconsmaponezero\symbol{181}}
+ \expandafter\def\csname simpleicon@sinaweiboicon\endcsname {\simpleiconsmaponezero\symbol{182}}
+ \expandafter\def\csname simpleicon@singaporeairlinesicon\endcsname {\simpleiconsmaponezero\symbol{183}}
+ \expandafter\def\csname simpleicon@singlestoreicon\endcsname {\simpleiconsmaponezero\symbol{184}}
+ \expandafter\def\csname simpleicon@sitecoreicon\endcsname {\simpleiconsmaponezero\symbol{185}}
+ \expandafter\def\csname simpleicon@sitepointicon\endcsname {\simpleiconsmaponezero\symbol{186}}
+ \expandafter\def\csname simpleicon@siyuanicon\endcsname {\simpleiconsmaponezero\symbol{187}}
+ \expandafter\def\csname simpleicon@skaffoldicon\endcsname {\simpleiconsmaponezero\symbol{188}}
+ \expandafter\def\csname simpleicon@sketchicon\endcsname {\simpleiconsmaponezero\symbol{189}}
+ \expandafter\def\csname simpleicon@sketchfabicon\endcsname {\simpleiconsmaponezero\symbol{190}}
+ \expandafter\def\csname simpleicon@sketchupicon\endcsname {\simpleiconsmaponezero\symbol{191}}
+ \expandafter\def\csname simpleicon@skillshareicon\endcsname {\simpleiconsmaponezero\symbol{192}}
+ \expandafter\def\csname simpleicon@skodaicon\endcsname {\simpleiconsmaponezero\symbol{193}}
+ \expandafter\def\csname simpleicon@skyicon\endcsname {\simpleiconsmaponezero\symbol{194}}
+ \expandafter\def\csname simpleicon@skypackicon\endcsname {\simpleiconsmaponezero\symbol{195}}
+ \expandafter\def\csname simpleicon@skyrockicon\endcsname {\simpleiconsmaponezero\symbol{196}}
+ \expandafter\def\csname simpleicon@slackicon\endcsname {\simpleiconsmaponezero\symbol{197}}
+ \expandafter\def\csname simpleicon@slackwareicon\endcsname {\simpleiconsmaponezero\symbol{198}}
+ \expandafter\def\csname simpleicon@slashdoticon\endcsname {\simpleiconsmaponezero\symbol{199}}
+ \expandafter\def\csname simpleicon@slickpicicon\endcsname {\simpleiconsmaponezero\symbol{200}}
+ \expandafter\def\csname simpleicon@slidesicon\endcsname {\simpleiconsmaponezero\symbol{201}}
+ \expandafter\def\csname simpleicon@slideshareicon\endcsname {\simpleiconsmaponezero\symbol{202}}
+ \expandafter\def\csname simpleicon@slinticon\endcsname {\simpleiconsmaponezero\symbol{203}}
+ \expandafter\def\csname simpleicon@smarticon\endcsname {\simpleiconsmaponezero\symbol{204}}
+ \expandafter\def\csname simpleicon@smartthingsicon\endcsname {\simpleiconsmaponezero\symbol{205}}
+ \expandafter\def\csname simpleicon@smashdotggicon\endcsname {\simpleiconsmaponezero\symbol{206}}
+ \expandafter\def\csname simpleicon@smashingmagazineicon\endcsname {\simpleiconsmaponezero\symbol{207}}
+ \expandafter\def\csname simpleicon@smrticon\endcsname {\simpleiconsmaponezero\symbol{208}}
+ \expandafter\def\csname simpleicon@smugmugicon\endcsname {\simpleiconsmaponezero\symbol{209}}
+ \expandafter\def\csname simpleicon@snapchaticon\endcsname {\simpleiconsmaponezero\symbol{210}}
+ \expandafter\def\csname simpleicon@snapcrafticon\endcsname {\simpleiconsmaponezero\symbol{211}}
+ \expandafter\def\csname simpleicon@sncficon\endcsname {\simpleiconsmaponezero\symbol{212}}
+ \expandafter\def\csname simpleicon@snorticon\endcsname {\simpleiconsmaponezero\symbol{213}}
+ \expandafter\def\csname simpleicon@snowflakeicon\endcsname {\simpleiconsmaponezero\symbol{214}}
+ \expandafter\def\csname simpleicon@snowpackicon\endcsname {\simpleiconsmaponezero\symbol{215}}
+ \expandafter\def\csname simpleicon@snykicon\endcsname {\simpleiconsmaponezero\symbol{216}}
+ \expandafter\def\csname simpleicon@socialbladeicon\endcsname {\simpleiconsmaponezero\symbol{217}}
+ \expandafter\def\csname simpleicon@society6icon\endcsname {\simpleiconsmaponezero\symbol{218}}
+ \expandafter\def\csname simpleicon@socketdotioicon\endcsname {\simpleiconsmaponezero\symbol{219}}
+ \expandafter\def\csname simpleicon@softpediaicon\endcsname {\simpleiconsmaponezero\symbol{220}}
+ \expandafter\def\csname simpleicon@sogouicon\endcsname {\simpleiconsmaponezero\symbol{221}}
+ \expandafter\def\csname simpleicon@solanaicon\endcsname {\simpleiconsmaponezero\symbol{222}}
+ \expandafter\def\csname simpleicon@solidicon\endcsname {\simpleiconsmaponezero\symbol{223}}
+ \expandafter\def\csname simpleicon@solidityicon\endcsname {\simpleiconsmaponezero\symbol{224}}
+ \expandafter\def\csname simpleicon@sololearnicon\endcsname {\simpleiconsmaponezero\symbol{225}}
+ \expandafter\def\csname simpleicon@solusicon\endcsname {\simpleiconsmaponezero\symbol{226}}
+ \expandafter\def\csname simpleicon@sonaricon\endcsname {\simpleiconsmaponezero\symbol{227}}
+ \expandafter\def\csname simpleicon@sonarcloudicon\endcsname {\simpleiconsmaponezero\symbol{228}}
+ \expandafter\def\csname simpleicon@sonarlinticon\endcsname {\simpleiconsmaponezero\symbol{229}}
+ \expandafter\def\csname simpleicon@sonarqubeicon\endcsname {\simpleiconsmaponezero\symbol{230}}
+ \expandafter\def\csname simpleicon@sonarricon\endcsname {\simpleiconsmaponezero\symbol{231}}
+ \expandafter\def\csname simpleicon@sonatypeicon\endcsname {\simpleiconsmaponezero\symbol{232}}
+ \expandafter\def\csname simpleicon@songkickicon\endcsname {\simpleiconsmaponezero\symbol{233}}
+ \expandafter\def\csname simpleicon@songodaicon\endcsname {\simpleiconsmaponezero\symbol{234}}
+ \expandafter\def\csname simpleicon@sonicwallicon\endcsname {\simpleiconsmaponezero\symbol{235}}
+ \expandafter\def\csname simpleicon@sonosicon\endcsname {\simpleiconsmaponezero\symbol{236}}
+ \expandafter\def\csname simpleicon@sonyicon\endcsname {\simpleiconsmaponezero\symbol{237}}
+ \expandafter\def\csname simpleicon@sorianaicon\endcsname {\simpleiconsmaponezero\symbol{238}}
+ \expandafter\def\csname simpleicon@soundchartsicon\endcsname {\simpleiconsmaponezero\symbol{239}}
+ \expandafter\def\csname simpleicon@soundcloudicon\endcsname {\simpleiconsmaponezero\symbol{240}}
+ \expandafter\def\csname simpleicon@sourceengineicon\endcsname {\simpleiconsmaponezero\symbol{241}}
+ \expandafter\def\csname simpleicon@sourceforgeicon\endcsname {\simpleiconsmaponezero\symbol{242}}
+ \expandafter\def\csname simpleicon@sourcehuticon\endcsname {\simpleiconsmaponezero\symbol{243}}
+ \expandafter\def\csname simpleicon@sourcetreeicon\endcsname {\simpleiconsmaponezero\symbol{244}}
+ \expandafter\def\csname simpleicon@southwestairlinesicon\endcsname {\simpleiconsmaponezero\symbol{245}}
+ \expandafter\def\csname simpleicon@spacemacsicon\endcsname {\simpleiconsmaponezero\symbol{246}}
+ \expandafter\def\csname simpleicon@spaceshipicon\endcsname {\simpleiconsmaponezero\symbol{247}}
+ \expandafter\def\csname simpleicon@spacexicon\endcsname {\simpleiconsmaponezero\symbol{248}}
+ \expandafter\def\csname simpleicon@spacyicon\endcsname {\simpleiconsmaponezero\symbol{249}}
+ \expandafter\def\csname simpleicon@sparkaricon\endcsname {\simpleiconsmaponezero\symbol{250}}
+ \expandafter\def\csname simpleicon@sparkasseicon\endcsname {\simpleiconsmaponezero\symbol{251}}
+ \expandafter\def\csname simpleicon@sparkfunicon\endcsname {\simpleiconsmaponezero\symbol{252}}
+ \expandafter\def\csname simpleicon@sparkposticon\endcsname {\simpleiconsmaponezero\symbol{253}}
+ \expandafter\def\csname simpleicon@spdxicon\endcsname {\simpleiconsmaponezero\symbol{254}}
+ \expandafter\def\csname simpleicon@speakerdeckicon\endcsname {\simpleiconsmaponezero\symbol{255}}
+ \expandafter\def\csname simpleicon@spectrumicon\endcsname {\simpleiconsmaponeone\symbol{0}}
+ \expandafter\def\csname simpleicon@speedtesticon\endcsname {\simpleiconsmaponeone\symbol{1}}
+ \expandafter\def\csname simpleicon@speedypageicon\endcsname {\simpleiconsmaponeone\symbol{2}}
+ \expandafter\def\csname simpleicon@sphinxicon\endcsname {\simpleiconsmaponeone\symbol{3}}
+ \expandafter\def\csname simpleicon@spigotmcicon\endcsname {\simpleiconsmaponeone\symbol{4}}
+ \expandafter\def\csname simpleicon@spineicon\endcsname {\simpleiconsmaponeone\symbol{5}}
+ \expandafter\def\csname simpleicon@spinnakericon\endcsname {\simpleiconsmaponeone\symbol{6}}
+ \expandafter\def\csname simpleicon@spinrillaicon\endcsname {\simpleiconsmaponeone\symbol{7}}
+ \expandafter\def\csname simpleicon@splunkicon\endcsname {\simpleiconsmaponeone\symbol{8}}
+ \expandafter\def\csname simpleicon@spojicon\endcsname {\simpleiconsmaponeone\symbol{9}}
+ \expandafter\def\csname simpleicon@spondicon\endcsname {\simpleiconsmaponeone\symbol{10}}
+ \expandafter\def\csname simpleicon@spotifyicon\endcsname {\simpleiconsmaponeone\symbol{11}}
+ \expandafter\def\csname simpleicon@spotlighticon\endcsname {\simpleiconsmaponeone\symbol{12}}
+ \expandafter\def\csname simpleicon@spreadshirticon\endcsname {\simpleiconsmaponeone\symbol{13}}
+ \expandafter\def\csname simpleicon@spreakericon\endcsname {\simpleiconsmaponeone\symbol{14}}
+ \expandafter\def\csname simpleicon@springicon\endcsname {\simpleiconsmaponeone\symbol{15}}
+ \expandafter\def\csname simpleicon@springcreatorsicon\endcsname {\simpleiconsmaponeone\symbol{16}}
+ \expandafter\def\csname simpleicon@springbooticon\endcsname {\simpleiconsmaponeone\symbol{17}}
+ \expandafter\def\csname simpleicon@springsecurityicon\endcsname {\simpleiconsmaponeone\symbol{18}}
+ \expandafter\def\csname simpleicon@spyderideicon\endcsname {\simpleiconsmaponeone\symbol{19}}
+ \expandafter\def\csname simpleicon@sqlalchemyicon\endcsname {\simpleiconsmaponeone\symbol{20}}
+ \expandafter\def\csname simpleicon@sqliteicon\endcsname {\simpleiconsmaponeone\symbol{21}}
+ \expandafter\def\csname simpleicon@squareicon\endcsname {\simpleiconsmaponeone\symbol{22}}
+ \expandafter\def\csname simpleicon@squareenixicon\endcsname {\simpleiconsmaponeone\symbol{23}}
+ \expandafter\def\csname simpleicon@squarespaceicon\endcsname {\simpleiconsmaponeone\symbol{24}}
+ \expandafter\def\csname simpleicon@srgssricon\endcsname {\simpleiconsmaponeone\symbol{25}}
+ \expandafter\def\csname simpleicon@ssrnicon\endcsname {\simpleiconsmaponeone\symbol{26}}
+ \expandafter\def\csname simpleicon@ssticon\endcsname {\simpleiconsmaponeone\symbol{27}}
+ \expandafter\def\csname simpleicon@stackbiticon\endcsname {\simpleiconsmaponeone\symbol{28}}
+ \expandafter\def\csname simpleicon@stackblitzicon\endcsname {\simpleiconsmaponeone\symbol{29}}
+ \expandafter\def\csname simpleicon@stackediticon\endcsname {\simpleiconsmaponeone\symbol{30}}
+ \expandafter\def\csname simpleicon@stackexchangeicon\endcsname {\simpleiconsmaponeone\symbol{31}}
+ \expandafter\def\csname simpleicon@stackhawkicon\endcsname {\simpleiconsmaponeone\symbol{32}}
+ \expandafter\def\csname simpleicon@stackoverflowicon\endcsname {\simpleiconsmaponeone\symbol{33}}
+ \expandafter\def\csname simpleicon@stackpathicon\endcsname {\simpleiconsmaponeone\symbol{34}}
+ \expandafter\def\csname simpleicon@stackshareicon\endcsname {\simpleiconsmaponeone\symbol{35}}
+ \expandafter\def\csname simpleicon@stadiaicon\endcsname {\simpleiconsmaponeone\symbol{36}}
+ \expandafter\def\csname simpleicon@staffbaseicon\endcsname {\simpleiconsmaponeone\symbol{37}}
+ \expandafter\def\csname simpleicon@stagetimericon\endcsname {\simpleiconsmaponeone\symbol{38}}
+ \expandafter\def\csname simpleicon@standardjsicon\endcsname {\simpleiconsmaponeone\symbol{39}}
+ \expandafter\def\csname simpleicon@standardresumeicon\endcsname {\simpleiconsmaponeone\symbol{40}}
+ \expandafter\def\csname simpleicon@starbucksicon\endcsname {\simpleiconsmaponeone\symbol{41}}
+ \expandafter\def\csname simpleicon@stardockicon\endcsname {\simpleiconsmaponeone\symbol{42}}
+ \expandafter\def\csname simpleicon@starlingbankicon\endcsname {\simpleiconsmaponeone\symbol{43}}
+ \expandafter\def\csname simpleicon@starshipicon\endcsname {\simpleiconsmaponeone\symbol{44}}
+ \expandafter\def\csname simpleicon@startrekicon\endcsname {\simpleiconsmaponeone\symbol{45}}
+ \expandafter\def\csname simpleicon@starzicon\endcsname {\simpleiconsmaponeone\symbol{46}}
+ \expandafter\def\csname simpleicon@statamicicon\endcsname {\simpleiconsmaponeone\symbol{47}}
+ \expandafter\def\csname simpleicon@statistaicon\endcsname {\simpleiconsmaponeone\symbol{48}}
+ \expandafter\def\csname simpleicon@statuspageicon\endcsname {\simpleiconsmaponeone\symbol{49}}
+ \expandafter\def\csname simpleicon@statuspalicon\endcsname {\simpleiconsmaponeone\symbol{50}}
+ \expandafter\def\csname simpleicon@steamicon\endcsname {\simpleiconsmaponeone\symbol{51}}
+ \expandafter\def\csname simpleicon@steamdbicon\endcsname {\simpleiconsmaponeone\symbol{52}}
+ \expandafter\def\csname simpleicon@steamdeckicon\endcsname {\simpleiconsmaponeone\symbol{53}}
+ \expandafter\def\csname simpleicon@steamworksicon\endcsname {\simpleiconsmaponeone\symbol{54}}
+ \expandafter\def\csname simpleicon@steelseriesicon\endcsname {\simpleiconsmaponeone\symbol{55}}
+ \expandafter\def\csname simpleicon@steemicon\endcsname {\simpleiconsmaponeone\symbol{56}}
+ \expandafter\def\csname simpleicon@steemiticon\endcsname {\simpleiconsmaponeone\symbol{57}}
+ \expandafter\def\csname simpleicon@steinbergicon\endcsname {\simpleiconsmaponeone\symbol{58}}
+ \expandafter\def\csname simpleicon@stellaricon\endcsname {\simpleiconsmaponeone\symbol{59}}
+ \expandafter\def\csname simpleicon@stencilicon\endcsname {\simpleiconsmaponeone\symbol{60}}
+ \expandafter\def\csname simpleicon@stencylicon\endcsname {\simpleiconsmaponeone\symbol{61}}
+ \expandafter\def\csname simpleicon@stimulusicon\endcsname {\simpleiconsmaponeone\symbol{62}}
+ \expandafter\def\csname simpleicon@stitchericon\endcsname {\simpleiconsmaponeone\symbol{63}}
+ \expandafter\def\csname simpleicon@stmicroelectronicsicon\endcsname {\simpleiconsmaponeone\symbol{64}}
+ \expandafter\def\csname simpleicon@stockxicon\endcsname {\simpleiconsmaponeone\symbol{65}}
+ \expandafter\def\csname simpleicon@stopstalkicon\endcsname {\simpleiconsmaponeone\symbol{66}}
+ \expandafter\def\csname simpleicon@storyblokicon\endcsname {\simpleiconsmaponeone\symbol{67}}
+ \expandafter\def\csname simpleicon@storybookicon\endcsname {\simpleiconsmaponeone\symbol{68}}
+ \expandafter\def\csname simpleicon@strapiicon\endcsname {\simpleiconsmaponeone\symbol{69}}
+ \expandafter\def\csname simpleicon@stravaicon\endcsname {\simpleiconsmaponeone\symbol{70}}
+ \expandafter\def\csname simpleicon@streamlabsicon\endcsname {\simpleiconsmaponeone\symbol{71}}
+ \expandafter\def\csname simpleicon@streamliticon\endcsname {\simpleiconsmaponeone\symbol{72}}
+ \expandafter\def\csname simpleicon@streamrunnersicon\endcsname {\simpleiconsmaponeone\symbol{73}}
+ \expandafter\def\csname simpleicon@stripeicon\endcsname {\simpleiconsmaponeone\symbol{74}}
+ \expandafter\def\csname simpleicon@strongswanicon\endcsname {\simpleiconsmaponeone\symbol{75}}
+ \expandafter\def\csname simpleicon@strykericon\endcsname {\simpleiconsmaponeone\symbol{76}}
+ \expandafter\def\csname simpleicon@stubhubicon\endcsname {\simpleiconsmaponeone\symbol{77}}
+ \expandafter\def\csname simpleicon@studio3ticon\endcsname {\simpleiconsmaponeone\symbol{78}}
+ \expandafter\def\csname simpleicon@studyverseicon\endcsname {\simpleiconsmaponeone\symbol{79}}
+ \expandafter\def\csname simpleicon@styledcomponentsicon\endcsname {\simpleiconsmaponeone\symbol{80}}
+ \expandafter\def\csname simpleicon@stylelinticon\endcsname {\simpleiconsmaponeone\symbol{81}}
+ \expandafter\def\csname simpleicon@styleshareicon\endcsname {\simpleiconsmaponeone\symbol{82}}
+ \expandafter\def\csname simpleicon@stylusicon\endcsname {\simpleiconsmaponeone\symbol{83}}
+ \expandafter\def\csname simpleicon@subaruicon\endcsname {\simpleiconsmaponeone\symbol{84}}
+ \expandafter\def\csname simpleicon@sublimetexticon\endcsname {\simpleiconsmaponeone\symbol{85}}
+ \expandafter\def\csname simpleicon@substackicon\endcsname {\simpleiconsmaponeone\symbol{86}}
+ \expandafter\def\csname simpleicon@subtitleediticon\endcsname {\simpleiconsmaponeone\symbol{87}}
+ \expandafter\def\csname simpleicon@subversionicon\endcsname {\simpleiconsmaponeone\symbol{88}}
+ \expandafter\def\csname simpleicon@sucklessicon\endcsname {\simpleiconsmaponeone\symbol{89}}
+ \expandafter\def\csname simpleicon@sumologicicon\endcsname {\simpleiconsmaponeone\symbol{90}}
+ \expandafter\def\csname simpleicon@sunoicon\endcsname {\simpleiconsmaponeone\symbol{91}}
+ \expandafter\def\csname simpleicon@sunriseicon\endcsname {\simpleiconsmaponeone\symbol{92}}
+ \expandafter\def\csname simpleicon@supabaseicon\endcsname {\simpleiconsmaponeone\symbol{93}}
+ \expandafter\def\csname simpleicon@supercreaseicon\endcsname {\simpleiconsmaponeone\symbol{94}}
+ \expandafter\def\csname simpleicon@supermicroicon\endcsname {\simpleiconsmaponeone\symbol{95}}
+ \expandafter\def\csname simpleicon@superusericon\endcsname {\simpleiconsmaponeone\symbol{96}}
+ \expandafter\def\csname simpleicon@surrealdbicon\endcsname {\simpleiconsmaponeone\symbol{97}}
+ \expandafter\def\csname simpleicon@surveymonkeyicon\endcsname {\simpleiconsmaponeone\symbol{98}}
+ \expandafter\def\csname simpleicon@suseicon\endcsname {\simpleiconsmaponeone\symbol{99}}
+ \expandafter\def\csname simpleicon@suzukiicon\endcsname {\simpleiconsmaponeone\symbol{100}}
+ \expandafter\def\csname simpleicon@svelteicon\endcsname {\simpleiconsmaponeone\symbol{101}}
+ \expandafter\def\csname simpleicon@svgicon\endcsname {\simpleiconsmaponeone\symbol{102}}
+ \expandafter\def\csname simpleicon@svgdotjsicon\endcsname {\simpleiconsmaponeone\symbol{103}}
+ \expandafter\def\csname simpleicon@svgoicon\endcsname {\simpleiconsmaponeone\symbol{104}}
+ \expandafter\def\csname simpleicon@swaggericon\endcsname {\simpleiconsmaponeone\symbol{105}}
+ \expandafter\def\csname simpleicon@swarmicon\endcsname {\simpleiconsmaponeone\symbol{106}}
+ \expandafter\def\csname simpleicon@swcicon\endcsname {\simpleiconsmaponeone\symbol{107}}
+ \expandafter\def\csname simpleicon@swifticon\endcsname {\simpleiconsmaponeone\symbol{108}}
+ \expandafter\def\csname simpleicon@swiggyicon\endcsname {\simpleiconsmaponeone\symbol{109}}
+ \expandafter\def\csname simpleicon@swipericon\endcsname {\simpleiconsmaponeone\symbol{110}}
+ \expandafter\def\csname simpleicon@swricon\endcsname {\simpleiconsmaponeone\symbol{111}}
+ \expandafter\def\csname simpleicon@symantecicon\endcsname {\simpleiconsmaponeone\symbol{112}}
+ \expandafter\def\csname simpleicon@symbolabicon\endcsname {\simpleiconsmaponeone\symbol{113}}
+ \expandafter\def\csname simpleicon@symfonyicon\endcsname {\simpleiconsmaponeone\symbol{114}}
+ \expandafter\def\csname simpleicon@symphonyicon\endcsname {\simpleiconsmaponeone\symbol{115}}
+ \expandafter\def\csname simpleicon@sympyicon\endcsname {\simpleiconsmaponeone\symbol{116}}
+ \expandafter\def\csname simpleicon@syncthingicon\endcsname {\simpleiconsmaponeone\symbol{117}}
+ \expandafter\def\csname simpleicon@synologyicon\endcsname {\simpleiconsmaponeone\symbol{118}}
+ \expandafter\def\csname simpleicon@system76icon\endcsname {\simpleiconsmaponeone\symbol{119}}
+ \expandafter\def\csname simpleicon@tabelogicon\endcsname {\simpleiconsmaponeone\symbol{120}}
+ \expandafter\def\csname simpleicon@tableauicon\endcsname {\simpleiconsmaponeone\symbol{121}}
+ \expandafter\def\csname simpleicon@tablecheckicon\endcsname {\simpleiconsmaponeone\symbol{122}}
+ \expandafter\def\csname simpleicon@tacobellicon\endcsname {\simpleiconsmaponeone\symbol{123}}
+ \expandafter\def\csname simpleicon@tadoicon\endcsname {\simpleiconsmaponeone\symbol{124}}
+ \expandafter\def\csname simpleicon@taichigraphicsicon\endcsname {\simpleiconsmaponeone\symbol{125}}
+ \expandafter\def\csname simpleicon@taichilangicon\endcsname {\simpleiconsmaponeone\symbol{126}}
+ \expandafter\def\csname simpleicon@tailsicon\endcsname {\simpleiconsmaponeone\symbol{127}}
+ \expandafter\def\csname simpleicon@tailscaleicon\endcsname {\simpleiconsmaponeone\symbol{128}}
+ \expandafter\def\csname simpleicon@tailwindcssicon\endcsname {\simpleiconsmaponeone\symbol{129}}
+ \expandafter\def\csname simpleicon@taipyicon\endcsname {\simpleiconsmaponeone\symbol{130}}
+ \expandafter\def\csname simpleicon@taketwointeractivesoftwareicon\endcsname {\simpleiconsmaponeone\symbol{131}}
+ \expandafter\def\csname simpleicon@talendicon\endcsname {\simpleiconsmaponeone\symbol{132}}
+ \expandafter\def\csname simpleicon@talenthouseicon\endcsname {\simpleiconsmaponeone\symbol{133}}
+ \expandafter\def\csname simpleicon@talosicon\endcsname {\simpleiconsmaponeone\symbol{134}}
+ \expandafter\def\csname simpleicon@tamiyaicon\endcsname {\simpleiconsmaponeone\symbol{135}}
+ \expandafter\def\csname simpleicon@tampermonkeyicon\endcsname {\simpleiconsmaponeone\symbol{136}}
+ \expandafter\def\csname simpleicon@taobaoicon\endcsname {\simpleiconsmaponeone\symbol{137}}
+ \expandafter\def\csname simpleicon@tapasicon\endcsname {\simpleiconsmaponeone\symbol{138}}
+ \expandafter\def\csname simpleicon@targeticon\endcsname {\simpleiconsmaponeone\symbol{139}}
+ \expandafter\def\csname simpleicon@taskicon\endcsname {\simpleiconsmaponeone\symbol{140}}
+ \expandafter\def\csname simpleicon@tasmotaicon\endcsname {\simpleiconsmaponeone\symbol{141}}
+ \expandafter\def\csname simpleicon@tataicon\endcsname {\simpleiconsmaponeone\symbol{142}}
+ \expandafter\def\csname simpleicon@tauriicon\endcsname {\simpleiconsmaponeone\symbol{143}}
+ \expandafter\def\csname simpleicon@taxbuzzicon\endcsname {\simpleiconsmaponeone\symbol{144}}
+ \expandafter\def\csname simpleicon@tcsicon\endcsname {\simpleiconsmaponeone\symbol{145}}
+ \expandafter\def\csname simpleicon@tealicon\endcsname {\simpleiconsmaponeone\symbol{146}}
+ \expandafter\def\csname simpleicon@teamcityicon\endcsname {\simpleiconsmaponeone\symbol{147}}
+ \expandafter\def\csname simpleicon@teamspeakicon\endcsname {\simpleiconsmaponeone\symbol{148}}
+ \expandafter\def\csname simpleicon@teamviewericon\endcsname {\simpleiconsmaponeone\symbol{149}}
+ \expandafter\def\csname simpleicon@techcrunchicon\endcsname {\simpleiconsmaponeone\symbol{150}}
+ \expandafter\def\csname simpleicon@tedicon\endcsname {\simpleiconsmaponeone\symbol{151}}
+ \expandafter\def\csname simpleicon@teepublicicon\endcsname {\simpleiconsmaponeone\symbol{152}}
+ \expandafter\def\csname simpleicon@teespringicon\endcsname {\simpleiconsmaponeone\symbol{153}}
+ \expandafter\def\csname simpleicon@tektonicon\endcsname {\simpleiconsmaponeone\symbol{154}}
+ \expandafter\def\csname simpleicon@tele5icon\endcsname {\simpleiconsmaponeone\symbol{155}}
+ \expandafter\def\csname simpleicon@telegramicon\endcsname {\simpleiconsmaponeone\symbol{156}}
+ \expandafter\def\csname simpleicon@telegraphicon\endcsname {\simpleiconsmaponeone\symbol{157}}
+ \expandafter\def\csname simpleicon@telequebecicon\endcsname {\simpleiconsmaponeone\symbol{158}}
+ \expandafter\def\csname simpleicon@temporalicon\endcsname {\simpleiconsmaponeone\symbol{159}}
+ \expandafter\def\csname simpleicon@tencentqqicon\endcsname {\simpleiconsmaponeone\symbol{160}}
+ \expandafter\def\csname simpleicon@tensorflowicon\endcsname {\simpleiconsmaponeone\symbol{161}}
+ \expandafter\def\csname simpleicon@teradataicon\endcsname {\simpleiconsmaponeone\symbol{162}}
+ \expandafter\def\csname simpleicon@teratailicon\endcsname {\simpleiconsmaponeone\symbol{163}}
+ \expandafter\def\csname simpleicon@termiusicon\endcsname {\simpleiconsmaponeone\symbol{164}}
+ \expandafter\def\csname simpleicon@terraformicon\endcsname {\simpleiconsmaponeone\symbol{165}}
+ \expandafter\def\csname simpleicon@tescoicon\endcsname {\simpleiconsmaponeone\symbol{166}}
+ \expandafter\def\csname simpleicon@teslaicon\endcsname {\simpleiconsmaponeone\symbol{167}}
+ \expandafter\def\csname simpleicon@testcafeicon\endcsname {\simpleiconsmaponeone\symbol{168}}
+ \expandafter\def\csname simpleicon@testinicon\endcsname {\simpleiconsmaponeone\symbol{169}}
+ \expandafter\def\csname simpleicon@testinglibraryicon\endcsname {\simpleiconsmaponeone\symbol{170}}
+ \expandafter\def\csname simpleicon@testrailicon\endcsname {\simpleiconsmaponeone\symbol{171}}
+ \expandafter\def\csname simpleicon@tethericon\endcsname {\simpleiconsmaponeone\symbol{172}}
+ \expandafter\def\csname simpleicon@textpatternicon\endcsname {\simpleiconsmaponeone\symbol{173}}
+ \expandafter\def\csname simpleicon@tgaicon\endcsname {\simpleiconsmaponeone\symbol{174}}
+ \expandafter\def\csname simpleicon@thangsicon\endcsname {\simpleiconsmaponeone\symbol{175}}
+ \expandafter\def\csname simpleicon@thealgorithmsicon\endcsname {\simpleiconsmaponeone\symbol{176}}
+ \expandafter\def\csname simpleicon@theboringcompanyicon\endcsname {\simpleiconsmaponeone\symbol{177}}
+ \expandafter\def\csname simpleicon@theconversationicon\endcsname {\simpleiconsmaponeone\symbol{178}}
+ \expandafter\def\csname simpleicon@thefinalsicon\endcsname {\simpleiconsmaponeone\symbol{179}}
+ \expandafter\def\csname simpleicon@theirishtimesicon\endcsname {\simpleiconsmaponeone\symbol{180}}
+ \expandafter\def\csname simpleicon@themightyicon\endcsname {\simpleiconsmaponeone\symbol{181}}
+ \expandafter\def\csname simpleicon@themodelsresourceicon\endcsname {\simpleiconsmaponeone\symbol{182}}
+ \expandafter\def\csname simpleicon@themoviedatabaseicon\endcsname {\simpleiconsmaponeone\symbol{183}}
+ \expandafter\def\csname simpleicon@thenorthfaceicon\endcsname {\simpleiconsmaponeone\symbol{184}}
+ \expandafter\def\csname simpleicon@theodinprojecticon\endcsname {\simpleiconsmaponeone\symbol{185}}
+ \expandafter\def\csname simpleicon@theregistericon\endcsname {\simpleiconsmaponeone\symbol{186}}
+ \expandafter\def\csname simpleicon@thesoundsresourceicon\endcsname {\simpleiconsmaponeone\symbol{187}}
+ \expandafter\def\csname simpleicon@thespritersresourceicon\endcsname {\simpleiconsmaponeone\symbol{188}}
+ \expandafter\def\csname simpleicon@thewashingtonposticon\endcsname {\simpleiconsmaponeone\symbol{189}}
+ \expandafter\def\csname simpleicon@thingiverseicon\endcsname {\simpleiconsmaponeone\symbol{190}}
+ \expandafter\def\csname simpleicon@thinkpadicon\endcsname {\simpleiconsmaponeone\symbol{191}}
+ \expandafter\def\csname simpleicon@thirdwebicon\endcsname {\simpleiconsmaponeone\symbol{192}}
+ \expandafter\def\csname simpleicon@threadlessicon\endcsname {\simpleiconsmaponeone\symbol{193}}
+ \expandafter\def\csname simpleicon@threadsicon\endcsname {\simpleiconsmaponeone\symbol{194}}
+ \expandafter\def\csname simpleicon@threedotjsicon\endcsname {\simpleiconsmaponeone\symbol{195}}
+ \expandafter\def\csname simpleicon@threemaicon\endcsname {\simpleiconsmaponeone\symbol{196}}
+ \expandafter\def\csname simpleicon@thumbtackicon\endcsname {\simpleiconsmaponeone\symbol{197}}
+ \expandafter\def\csname simpleicon@thunderbirdicon\endcsname {\simpleiconsmaponeone\symbol{198}}
+ \expandafter\def\csname simpleicon@thunderstoreicon\endcsname {\simpleiconsmaponeone\symbol{199}}
+ \expandafter\def\csname simpleicon@thurgauerkantonalbankicon\endcsname {\simpleiconsmaponeone\symbol{200}}
+ \expandafter\def\csname simpleicon@thymeleaficon\endcsname {\simpleiconsmaponeone\symbol{201}}
+ \expandafter\def\csname simpleicon@ticketmastericon\endcsname {\simpleiconsmaponeone\symbol{202}}
+ \expandafter\def\csname simpleicon@ticktickicon\endcsname {\simpleiconsmaponeone\symbol{203}}
+ \expandafter\def\csname simpleicon@tidalicon\endcsname {\simpleiconsmaponeone\symbol{204}}
+ \expandafter\def\csname simpleicon@tiddlywikiicon\endcsname {\simpleiconsmaponeone\symbol{205}}
+ \expandafter\def\csname simpleicon@tideicon\endcsname {\simpleiconsmaponeone\symbol{206}}
+ \expandafter\def\csname simpleicon@tidyverseicon\endcsname {\simpleiconsmaponeone\symbol{207}}
+ \expandafter\def\csname simpleicon@tietoevryicon\endcsname {\simpleiconsmaponeone\symbol{208}}
+ \expandafter\def\csname simpleicon@tiktokicon\endcsname {\simpleiconsmaponeone\symbol{209}}
+ \expandafter\def\csname simpleicon@tildapublishingicon\endcsname {\simpleiconsmaponeone\symbol{210}}
+ \expandafter\def\csname simpleicon@tileicon\endcsname {\simpleiconsmaponeone\symbol{211}}
+ \expandafter\def\csname simpleicon@timescaleicon\endcsname {\simpleiconsmaponeone\symbol{212}}
+ \expandafter\def\csname simpleicon@tinaicon\endcsname {\simpleiconsmaponeone\symbol{213}}
+ \expandafter\def\csname simpleicon@tindericon\endcsname {\simpleiconsmaponeone\symbol{214}}
+ \expandafter\def\csname simpleicon@tindieicon\endcsname {\simpleiconsmaponeone\symbol{215}}
+ \expandafter\def\csname simpleicon@tinkercadicon\endcsname {\simpleiconsmaponeone\symbol{216}}
+ \expandafter\def\csname simpleicon@tinygradicon\endcsname {\simpleiconsmaponeone\symbol{217}}
+ \expandafter\def\csname simpleicon@tinylettericon\endcsname {\simpleiconsmaponeone\symbol{218}}
+ \expandafter\def\csname simpleicon@tistoryicon\endcsname {\simpleiconsmaponeone\symbol{219}}
+ \expandafter\def\csname simpleicon@tldrawicon\endcsname {\simpleiconsmaponeone\symbol{220}}
+ \expandafter\def\csname simpleicon@tmobileicon\endcsname {\simpleiconsmaponeone\symbol{221}}
+ \expandafter\def\csname simpleicon@tmuxicon\endcsname {\simpleiconsmaponeone\symbol{222}}
+ \expandafter\def\csname simpleicon@todoisticon\endcsname {\simpleiconsmaponeone\symbol{223}}
+ \expandafter\def\csname simpleicon@togglicon\endcsname {\simpleiconsmaponeone\symbol{224}}
+ \expandafter\def\csname simpleicon@toggltrackicon\endcsname {\simpleiconsmaponeone\symbol{225}}
+ \expandafter\def\csname simpleicon@tokyometroicon\endcsname {\simpleiconsmaponeone\symbol{226}}
+ \expandafter\def\csname simpleicon@tollicon\endcsname {\simpleiconsmaponeone\symbol{227}}
+ \expandafter\def\csname simpleicon@tomlicon\endcsname {\simpleiconsmaponeone\symbol{228}}
+ \expandafter\def\csname simpleicon@tomorrowlandicon\endcsname {\simpleiconsmaponeone\symbol{229}}
+ \expandafter\def\csname simpleicon@tonicon\endcsname {\simpleiconsmaponeone\symbol{230}}
+ \expandafter\def\csname simpleicon@topcodericon\endcsname {\simpleiconsmaponeone\symbol{231}}
+ \expandafter\def\csname simpleicon@topdotggicon\endcsname {\simpleiconsmaponeone\symbol{232}}
+ \expandafter\def\csname simpleicon@toptalicon\endcsname {\simpleiconsmaponeone\symbol{233}}
+ \expandafter\def\csname simpleicon@torbrowsericon\endcsname {\simpleiconsmaponeone\symbol{234}}
+ \expandafter\def\csname simpleicon@torprojecticon\endcsname {\simpleiconsmaponeone\symbol{235}}
+ \expandafter\def\csname simpleicon@toshibaicon\endcsname {\simpleiconsmaponeone\symbol{236}}
+ \expandafter\def\csname simpleicon@totvsicon\endcsname {\simpleiconsmaponeone\symbol{237}}
+ \expandafter\def\csname simpleicon@tourboxicon\endcsname {\simpleiconsmaponeone\symbol{238}}
+ \expandafter\def\csname simpleicon@towericon\endcsname {\simpleiconsmaponeone\symbol{239}}
+ \expandafter\def\csname simpleicon@toyotaicon\endcsname {\simpleiconsmaponeone\symbol{240}}
+ \expandafter\def\csname simpleicon@tplinkicon\endcsname {\simpleiconsmaponeone\symbol{241}}
+ \expandafter\def\csname simpleicon@tqdmicon\endcsname {\simpleiconsmaponeone\symbol{242}}
+ \expandafter\def\csname simpleicon@traccaricon\endcsname {\simpleiconsmaponeone\symbol{243}}
+ \expandafter\def\csname simpleicon@tradingviewicon\endcsname {\simpleiconsmaponeone\symbol{244}}
+ \expandafter\def\csname simpleicon@traefikmeshicon\endcsname {\simpleiconsmaponeone\symbol{245}}
+ \expandafter\def\csname simpleicon@traefikproxyicon\endcsname {\simpleiconsmaponeone\symbol{246}}
+ \expandafter\def\csname simpleicon@trailforksicon\endcsname {\simpleiconsmaponeone\symbol{247}}
+ \expandafter\def\csname simpleicon@trainerroadicon\endcsname {\simpleiconsmaponeone\symbol{248}}
+ \expandafter\def\csname simpleicon@trakticon\endcsname {\simpleiconsmaponeone\symbol{249}}
+ \expandafter\def\csname simpleicon@transifexicon\endcsname {\simpleiconsmaponeone\symbol{250}}
+ \expandafter\def\csname simpleicon@transmissionicon\endcsname {\simpleiconsmaponeone\symbol{251}}
+ \expandafter\def\csname simpleicon@transportforirelandicon\endcsname {\simpleiconsmaponeone\symbol{252}}
+ \expandafter\def\csname simpleicon@transportforlondonicon\endcsname {\simpleiconsmaponeone\symbol{253}}
+ \expandafter\def\csname simpleicon@travisciicon\endcsname {\simpleiconsmaponeone\symbol{254}}
+ \expandafter\def\csname simpleicon@treehouseicon\endcsname {\simpleiconsmaponeone\symbol{255}}
+ \expandafter\def\csname simpleicon@trelloicon\endcsname {\simpleiconsmaponetwo\symbol{0}}
+ \expandafter\def\csname simpleicon@trendmicroicon\endcsname {\simpleiconsmaponetwo\symbol{1}}
+ \expandafter\def\csname simpleicon@treyarchicon\endcsname {\simpleiconsmaponetwo\symbol{2}}
+ \expandafter\def\csname simpleicon@tricentisicon\endcsname {\simpleiconsmaponetwo\symbol{3}}
+ \expandafter\def\csname simpleicon@triliumicon\endcsname {\simpleiconsmaponetwo\symbol{4}}
+ \expandafter\def\csname simpleicon@trillericon\endcsname {\simpleiconsmaponetwo\symbol{5}}
+ \expandafter\def\csname simpleicon@trillertvicon\endcsname {\simpleiconsmaponetwo\symbol{6}}
+ \expandafter\def\csname simpleicon@trinoicon\endcsname {\simpleiconsmaponetwo\symbol{7}}
+ \expandafter\def\csname simpleicon@tripadvisoricon\endcsname {\simpleiconsmaponetwo\symbol{8}}
+ \expandafter\def\csname simpleicon@tripdotcomicon\endcsname {\simpleiconsmaponetwo\symbol{9}}
+ \expandafter\def\csname simpleicon@trivagoicon\endcsname {\simpleiconsmaponetwo\symbol{10}}
+ \expandafter\def\csname simpleicon@trivyicon\endcsname {\simpleiconsmaponetwo\symbol{11}}
+ \expandafter\def\csname simpleicon@troveicon\endcsname {\simpleiconsmaponetwo\symbol{12}}
+ \expandafter\def\csname simpleicon@trpcicon\endcsname {\simpleiconsmaponetwo\symbol{13}}
+ \expandafter\def\csname simpleicon@truenasicon\endcsname {\simpleiconsmaponetwo\symbol{14}}
+ \expandafter\def\csname simpleicon@trueupicon\endcsname {\simpleiconsmaponetwo\symbol{15}}
+ \expandafter\def\csname simpleicon@truliaicon\endcsname {\simpleiconsmaponetwo\symbol{16}}
+ \expandafter\def\csname simpleicon@trustedshopsicon\endcsname {\simpleiconsmaponetwo\symbol{17}}
+ \expandafter\def\csname simpleicon@trustpiloticon\endcsname {\simpleiconsmaponetwo\symbol{18}}
+ \expandafter\def\csname simpleicon@tryhackmeicon\endcsname {\simpleiconsmaponetwo\symbol{19}}
+ \expandafter\def\csname simpleicon@tryitonlineicon\endcsname {\simpleiconsmaponetwo\symbol{20}}
+ \expandafter\def\csname simpleicon@tsnodeicon\endcsname {\simpleiconsmaponetwo\symbol{21}}
+ \expandafter\def\csname simpleicon@tubiicon\endcsname {\simpleiconsmaponetwo\symbol{22}}
+ \expandafter\def\csname simpleicon@tuiicon\endcsname {\simpleiconsmaponetwo\symbol{23}}
+ \expandafter\def\csname simpleicon@tumblricon\endcsname {\simpleiconsmaponetwo\symbol{24}}
+ \expandafter\def\csname simpleicon@tuneinicon\endcsname {\simpleiconsmaponetwo\symbol{25}}
+ \expandafter\def\csname simpleicon@turboicon\endcsname {\simpleiconsmaponetwo\symbol{26}}
+ \expandafter\def\csname simpleicon@turborepoicon\endcsname {\simpleiconsmaponetwo\symbol{27}}
+ \expandafter\def\csname simpleicon@turbosquidicon\endcsname {\simpleiconsmaponetwo\symbol{28}}
+ \expandafter\def\csname simpleicon@turkishairlinesicon\endcsname {\simpleiconsmaponetwo\symbol{29}}
+ \expandafter\def\csname simpleicon@tursoicon\endcsname {\simpleiconsmaponetwo\symbol{30}}
+ \expandafter\def\csname simpleicon@tutanotaicon\endcsname {\simpleiconsmaponetwo\symbol{31}}
+ \expandafter\def\csname simpleicon@tv4playicon\endcsname {\simpleiconsmaponetwo\symbol{32}}
+ \expandafter\def\csname simpleicon@tvtimeicon\endcsname {\simpleiconsmaponetwo\symbol{33}}
+ \expandafter\def\csname simpleicon@twilioicon\endcsname {\simpleiconsmaponetwo\symbol{34}}
+ \expandafter\def\csname simpleicon@twinklyicon\endcsname {\simpleiconsmaponetwo\symbol{35}}
+ \expandafter\def\csname simpleicon@twinmotionicon\endcsname {\simpleiconsmaponetwo\symbol{36}}
+ \expandafter\def\csname simpleicon@twitchicon\endcsname {\simpleiconsmaponetwo\symbol{37}}
+ \expandafter\def\csname simpleicon@typeformicon\endcsname {\simpleiconsmaponetwo\symbol{38}}
+ \expandafter\def\csname simpleicon@typeormicon\endcsname {\simpleiconsmaponetwo\symbol{39}}
+ \expandafter\def\csname simpleicon@typericon\endcsname {\simpleiconsmaponetwo\symbol{40}}
+ \expandafter\def\csname simpleicon@typescripticon\endcsname {\simpleiconsmaponetwo\symbol{41}}
+ \expandafter\def\csname simpleicon@typo3icon\endcsname {\simpleiconsmaponetwo\symbol{42}}
+ \expandafter\def\csname simpleicon@typsticon\endcsname {\simpleiconsmaponetwo\symbol{43}}
+ \expandafter\def\csname simpleicon@ubericon\endcsname {\simpleiconsmaponetwo\symbol{44}}
+ \expandafter\def\csname simpleicon@ubereatsicon\endcsname {\simpleiconsmaponetwo\symbol{45}}
+ \expandafter\def\csname simpleicon@ubiquitiicon\endcsname {\simpleiconsmaponetwo\symbol{46}}
+ \expandafter\def\csname simpleicon@ubisofticon\endcsname {\simpleiconsmaponetwo\symbol{47}}
+ \expandafter\def\csname simpleicon@ublockoriginicon\endcsname {\simpleiconsmaponetwo\symbol{48}}
+ \expandafter\def\csname simpleicon@ubuntuicon\endcsname {\simpleiconsmaponetwo\symbol{49}}
+ \expandafter\def\csname simpleicon@ubuntumateicon\endcsname {\simpleiconsmaponetwo\symbol{50}}
+ \expandafter\def\csname simpleicon@udacityicon\endcsname {\simpleiconsmaponetwo\symbol{51}}
+ \expandafter\def\csname simpleicon@udemyicon\endcsname {\simpleiconsmaponetwo\symbol{52}}
+ \expandafter\def\csname simpleicon@ufcicon\endcsname {\simpleiconsmaponetwo\symbol{53}}
+ \expandafter\def\csname simpleicon@uikiticon\endcsname {\simpleiconsmaponetwo\symbol{54}}
+ \expandafter\def\csname simpleicon@uipathicon\endcsname {\simpleiconsmaponetwo\symbol{55}}
+ \expandafter\def\csname simpleicon@ululeicon\endcsname {\simpleiconsmaponetwo\symbol{56}}
+ \expandafter\def\csname simpleicon@umamiicon\endcsname {\simpleiconsmaponetwo\symbol{57}}
+ \expandafter\def\csname simpleicon@umbracoicon\endcsname {\simpleiconsmaponetwo\symbol{58}}
+ \expandafter\def\csname simpleicon@umlicon\endcsname {\simpleiconsmaponetwo\symbol{59}}
+ \expandafter\def\csname simpleicon@unacademyicon\endcsname {\simpleiconsmaponetwo\symbol{60}}
+ \expandafter\def\csname simpleicon@underarmouricon\endcsname {\simpleiconsmaponetwo\symbol{61}}
+ \expandafter\def\csname simpleicon@underscoredotjsicon\endcsname {\simpleiconsmaponetwo\symbol{62}}
+ \expandafter\def\csname simpleicon@undertaleicon\endcsname {\simpleiconsmaponetwo\symbol{63}}
+ \expandafter\def\csname simpleicon@unicodeicon\endcsname {\simpleiconsmaponetwo\symbol{64}}
+ \expandafter\def\csname simpleicon@unilevericon\endcsname {\simpleiconsmaponetwo\symbol{65}}
+ \expandafter\def\csname simpleicon@uniqloicon\endcsname {\simpleiconsmaponetwo\symbol{66}}
+ \expandafter\def\csname simpleicon@uniqlojaicon\endcsname {\simpleiconsmaponetwo\symbol{67}}
+ \expandafter\def\csname simpleicon@unitedairlinesicon\endcsname {\simpleiconsmaponetwo\symbol{68}}
+ \expandafter\def\csname simpleicon@unitednationsicon\endcsname {\simpleiconsmaponetwo\symbol{69}}
+ \expandafter\def\csname simpleicon@unityicon\endcsname {\simpleiconsmaponetwo\symbol{70}}
+ \expandafter\def\csname simpleicon@unjsicon\endcsname {\simpleiconsmaponetwo\symbol{71}}
+ \expandafter\def\csname simpleicon@unlicenseicon\endcsname {\simpleiconsmaponetwo\symbol{72}}
+ \expandafter\def\csname simpleicon@unocssicon\endcsname {\simpleiconsmaponetwo\symbol{73}}
+ \expandafter\def\csname simpleicon@unpkgicon\endcsname {\simpleiconsmaponetwo\symbol{74}}
+ \expandafter\def\csname simpleicon@unraidicon\endcsname {\simpleiconsmaponetwo\symbol{75}}
+ \expandafter\def\csname simpleicon@unrealengineicon\endcsname {\simpleiconsmaponetwo\symbol{76}}
+ \expandafter\def\csname simpleicon@unsplashicon\endcsname {\simpleiconsmaponetwo\symbol{77}}
+ \expandafter\def\csname simpleicon@untappdicon\endcsname {\simpleiconsmaponetwo\symbol{78}}
+ \expandafter\def\csname simpleicon@upcloudicon\endcsname {\simpleiconsmaponetwo\symbol{79}}
+ \expandafter\def\csname simpleicon@upholdicon\endcsname {\simpleiconsmaponetwo\symbol{80}}
+ \expandafter\def\csname simpleicon@uplabsicon\endcsname {\simpleiconsmaponetwo\symbol{81}}
+ \expandafter\def\csname simpleicon@upptimeicon\endcsname {\simpleiconsmaponetwo\symbol{82}}
+ \expandafter\def\csname simpleicon@upsicon\endcsname {\simpleiconsmaponetwo\symbol{83}}
+ \expandafter\def\csname simpleicon@upstashicon\endcsname {\simpleiconsmaponetwo\symbol{84}}
+ \expandafter\def\csname simpleicon@uptimekumaicon\endcsname {\simpleiconsmaponetwo\symbol{85}}
+ \expandafter\def\csname simpleicon@uptoboxicon\endcsname {\simpleiconsmaponetwo\symbol{86}}
+ \expandafter\def\csname simpleicon@upworkicon\endcsname {\simpleiconsmaponetwo\symbol{87}}
+ \expandafter\def\csname simpleicon@uspsicon\endcsname {\simpleiconsmaponetwo\symbol{88}}
+ \expandafter\def\csname simpleicon@utorrenticon\endcsname {\simpleiconsmaponetwo\symbol{89}}
+ \expandafter\def\csname simpleicon@vicon\endcsname {\simpleiconsmaponetwo\symbol{90}}
+ \expandafter\def\csname simpleicon@v2exicon\endcsname {\simpleiconsmaponetwo\symbol{91}}
+ \expandafter\def\csname simpleicon@v8icon\endcsname {\simpleiconsmaponetwo\symbol{92}}
+ \expandafter\def\csname simpleicon@vaadinicon\endcsname {\simpleiconsmaponetwo\symbol{93}}
+ \expandafter\def\csname simpleicon@vagranticon\endcsname {\simpleiconsmaponetwo\symbol{94}}
+ \expandafter\def\csname simpleicon@valaicon\endcsname {\simpleiconsmaponetwo\symbol{95}}
+ \expandafter\def\csname simpleicon@valoranticon\endcsname {\simpleiconsmaponetwo\symbol{96}}
+ \expandafter\def\csname simpleicon@valveicon\endcsname {\simpleiconsmaponetwo\symbol{97}}
+ \expandafter\def\csname simpleicon@vaporicon\endcsname {\simpleiconsmaponetwo\symbol{98}}
+ \expandafter\def\csname simpleicon@vaulticon\endcsname {\simpleiconsmaponetwo\symbol{99}}
+ \expandafter\def\csname simpleicon@vaultwardenicon\endcsname {\simpleiconsmaponetwo\symbol{100}}
+ \expandafter\def\csname simpleicon@vauxhallicon\endcsname {\simpleiconsmaponetwo\symbol{101}}
+ \expandafter\def\csname simpleicon@vbulletinicon\endcsname {\simpleiconsmaponetwo\symbol{102}}
+ \expandafter\def\csname simpleicon@vectaryicon\endcsname {\simpleiconsmaponetwo\symbol{103}}
+ \expandafter\def\csname simpleicon@vectorlogozoneicon\endcsname {\simpleiconsmaponetwo\symbol{104}}
+ \expandafter\def\csname simpleicon@vectorworksicon\endcsname {\simpleiconsmaponetwo\symbol{105}}
+ \expandafter\def\csname simpleicon@veeamicon\endcsname {\simpleiconsmaponetwo\symbol{106}}
+ \expandafter\def\csname simpleicon@veedicon\endcsname {\simpleiconsmaponetwo\symbol{107}}
+ \expandafter\def\csname simpleicon@veepeeicon\endcsname {\simpleiconsmaponetwo\symbol{108}}
+ \expandafter\def\csname simpleicon@vegaicon\endcsname {\simpleiconsmaponetwo\symbol{109}}
+ \expandafter\def\csname simpleicon@vegasicon\endcsname {\simpleiconsmaponetwo\symbol{110}}
+ \expandafter\def\csname simpleicon@velogicon\endcsname {\simpleiconsmaponetwo\symbol{111}}
+ \expandafter\def\csname simpleicon@venmoicon\endcsname {\simpleiconsmaponetwo\symbol{112}}
+ \expandafter\def\csname simpleicon@vercelicon\endcsname {\simpleiconsmaponetwo\symbol{113}}
+ \expandafter\def\csname simpleicon@verdaccioicon\endcsname {\simpleiconsmaponetwo\symbol{114}}
+ \expandafter\def\csname simpleicon@veritasicon\endcsname {\simpleiconsmaponetwo\symbol{115}}
+ \expandafter\def\csname simpleicon@verizonicon\endcsname {\simpleiconsmaponetwo\symbol{116}}
+ \expandafter\def\csname simpleicon@vespaicon\endcsname {\simpleiconsmaponetwo\symbol{117}}
+ \expandafter\def\csname simpleicon@vexxhosticon\endcsname {\simpleiconsmaponetwo\symbol{118}}
+ \expandafter\def\csname simpleicon@vfairsicon\endcsname {\simpleiconsmaponetwo\symbol{119}}
+ \expandafter\def\csname simpleicon@viadeoicon\endcsname {\simpleiconsmaponetwo\symbol{120}}
+ \expandafter\def\csname simpleicon@viaplayicon\endcsname {\simpleiconsmaponetwo\symbol{121}}
+ \expandafter\def\csname simpleicon@vibericon\endcsname {\simpleiconsmaponetwo\symbol{122}}
+ \expandafter\def\csname simpleicon@vibloicon\endcsname {\simpleiconsmaponetwo\symbol{123}}
+ \expandafter\def\csname simpleicon@victoriametricsicon\endcsname {\simpleiconsmaponetwo\symbol{124}}
+ \expandafter\def\csname simpleicon@victronenergyicon\endcsname {\simpleiconsmaponetwo\symbol{125}}
+ \expandafter\def\csname simpleicon@vimicon\endcsname {\simpleiconsmaponetwo\symbol{126}}
+ \expandafter\def\csname simpleicon@vimeoicon\endcsname {\simpleiconsmaponetwo\symbol{127}}
+ \expandafter\def\csname simpleicon@vimeolivestreamicon\endcsname {\simpleiconsmaponetwo\symbol{128}}
+ \expandafter\def\csname simpleicon@virginicon\endcsname {\simpleiconsmaponetwo\symbol{129}}
+ \expandafter\def\csname simpleicon@virginatlanticicon\endcsname {\simpleiconsmaponetwo\symbol{130}}
+ \expandafter\def\csname simpleicon@virginmediaicon\endcsname {\simpleiconsmaponetwo\symbol{131}}
+ \expandafter\def\csname simpleicon@virtualboxicon\endcsname {\simpleiconsmaponetwo\symbol{132}}
+ \expandafter\def\csname simpleicon@virustotalicon\endcsname {\simpleiconsmaponetwo\symbol{133}}
+ \expandafter\def\csname simpleicon@visaicon\endcsname {\simpleiconsmaponetwo\symbol{134}}
+ \expandafter\def\csname simpleicon@visxicon\endcsname {\simpleiconsmaponetwo\symbol{135}}
+ \expandafter\def\csname simpleicon@viteicon\endcsname {\simpleiconsmaponetwo\symbol{136}}
+ \expandafter\def\csname simpleicon@vitepressicon\endcsname {\simpleiconsmaponetwo\symbol{137}}
+ \expandafter\def\csname simpleicon@vitessicon\endcsname {\simpleiconsmaponetwo\symbol{138}}
+ \expandafter\def\csname simpleicon@vitesticon\endcsname {\simpleiconsmaponetwo\symbol{139}}
+ \expandafter\def\csname simpleicon@vivaldiicon\endcsname {\simpleiconsmaponetwo\symbol{140}}
+ \expandafter\def\csname simpleicon@vivawalleticon\endcsname {\simpleiconsmaponetwo\symbol{141}}
+ \expandafter\def\csname simpleicon@vivinoicon\endcsname {\simpleiconsmaponetwo\symbol{142}}
+ \expandafter\def\csname simpleicon@vivinticon\endcsname {\simpleiconsmaponetwo\symbol{143}}
+ \expandafter\def\csname simpleicon@vivoicon\endcsname {\simpleiconsmaponetwo\symbol{144}}
+ \expandafter\def\csname simpleicon@vkicon\endcsname {\simpleiconsmaponetwo\symbol{145}}
+ \expandafter\def\csname simpleicon@vlcmediaplayericon\endcsname {\simpleiconsmaponetwo\symbol{146}}
+ \expandafter\def\csname simpleicon@vmwareicon\endcsname {\simpleiconsmaponetwo\symbol{147}}
+ \expandafter\def\csname simpleicon@vodafoneicon\endcsname {\simpleiconsmaponetwo\symbol{148}}
+ \expandafter\def\csname simpleicon@voidlinuxicon\endcsname {\simpleiconsmaponetwo\symbol{149}}
+ \expandafter\def\csname simpleicon@voipdotmsicon\endcsname {\simpleiconsmaponetwo\symbol{150}}
+ \expandafter\def\csname simpleicon@volkswagenicon\endcsname {\simpleiconsmaponetwo\symbol{151}}
+ \expandafter\def\csname simpleicon@volvoicon\endcsname {\simpleiconsmaponetwo\symbol{152}}
+ \expandafter\def\csname simpleicon@vonageicon\endcsname {\simpleiconsmaponetwo\symbol{153}}
+ \expandafter\def\csname simpleicon@vorondesignicon\endcsname {\simpleiconsmaponetwo\symbol{154}}
+ \expandafter\def\csname simpleicon@vowpalwabbiticon\endcsname {\simpleiconsmaponetwo\symbol{155}}
+ \expandafter\def\csname simpleicon@voxicon\endcsname {\simpleiconsmaponetwo\symbol{156}}
+ \expandafter\def\csname simpleicon@vscoicon\endcsname {\simpleiconsmaponetwo\symbol{157}}
+ \expandafter\def\csname simpleicon@vscodiumicon\endcsname {\simpleiconsmaponetwo\symbol{158}}
+ \expandafter\def\csname simpleicon@vtexicon\endcsname {\simpleiconsmaponetwo\symbol{159}}
+ \expandafter\def\csname simpleicon@vuedotjsicon\endcsname {\simpleiconsmaponetwo\symbol{160}}
+ \expandafter\def\csname simpleicon@vuetifyicon\endcsname {\simpleiconsmaponetwo\symbol{161}}
+ \expandafter\def\csname simpleicon@vulkanicon\endcsname {\simpleiconsmaponetwo\symbol{162}}
+ \expandafter\def\csname simpleicon@vultricon\endcsname {\simpleiconsmaponetwo\symbol{163}}
+ \expandafter\def\csname simpleicon@vyondicon\endcsname {\simpleiconsmaponetwo\symbol{164}}
+ \expandafter\def\csname simpleicon@w3schoolsicon\endcsname {\simpleiconsmaponetwo\symbol{165}}
+ \expandafter\def\csname simpleicon@wacomicon\endcsname {\simpleiconsmaponetwo\symbol{166}}
+ \expandafter\def\csname simpleicon@wagmiicon\endcsname {\simpleiconsmaponetwo\symbol{167}}
+ \expandafter\def\csname simpleicon@wagtailicon\endcsname {\simpleiconsmaponetwo\symbol{168}}
+ \expandafter\def\csname simpleicon@wailsicon\endcsname {\simpleiconsmaponetwo\symbol{169}}
+ \expandafter\def\csname simpleicon@wakatimeicon\endcsname {\simpleiconsmaponetwo\symbol{170}}
+ \expandafter\def\csname simpleicon@walkmanicon\endcsname {\simpleiconsmaponetwo\symbol{171}}
+ \expandafter\def\csname simpleicon@wallabagicon\endcsname {\simpleiconsmaponetwo\symbol{172}}
+ \expandafter\def\csname simpleicon@walletconnecticon\endcsname {\simpleiconsmaponetwo\symbol{173}}
+ \expandafter\def\csname simpleicon@walmarticon\endcsname {\simpleiconsmaponetwo\symbol{174}}
+ \expandafter\def\csname simpleicon@wantedlyicon\endcsname {\simpleiconsmaponetwo\symbol{175}}
+ \expandafter\def\csname simpleicon@wappalyzericon\endcsname {\simpleiconsmaponetwo\symbol{176}}
+ \expandafter\def\csname simpleicon@warnerbrosicon\endcsname {\simpleiconsmaponetwo\symbol{177}}
+ \expandafter\def\csname simpleicon@warpicon\endcsname {\simpleiconsmaponetwo\symbol{178}}
+ \expandafter\def\csname simpleicon@wasabiicon\endcsname {\simpleiconsmaponetwo\symbol{179}}
+ \expandafter\def\csname simpleicon@wasmcloudicon\endcsname {\simpleiconsmaponetwo\symbol{180}}
+ \expandafter\def\csname simpleicon@wasmericon\endcsname {\simpleiconsmaponetwo\symbol{181}}
+ \expandafter\def\csname simpleicon@watchtowericon\endcsname {\simpleiconsmaponetwo\symbol{182}}
+ \expandafter\def\csname simpleicon@wattpadicon\endcsname {\simpleiconsmaponetwo\symbol{183}}
+ \expandafter\def\csname simpleicon@waylandicon\endcsname {\simpleiconsmaponetwo\symbol{184}}
+ \expandafter\def\csname simpleicon@wazeicon\endcsname {\simpleiconsmaponetwo\symbol{185}}
+ \expandafter\def\csname simpleicon@wazirxicon\endcsname {\simpleiconsmaponetwo\symbol{186}}
+ \expandafter\def\csname simpleicon@wearosicon\endcsname {\simpleiconsmaponetwo\symbol{187}}
+ \expandafter\def\csname simpleicon@weasylicon\endcsname {\simpleiconsmaponetwo\symbol{188}}
+ \expandafter\def\csname simpleicon@web3dotjsicon\endcsname {\simpleiconsmaponetwo\symbol{189}}
+ \expandafter\def\csname simpleicon@webassemblyicon\endcsname {\simpleiconsmaponetwo\symbol{190}}
+ \expandafter\def\csname simpleicon@webauthnicon\endcsname {\simpleiconsmaponetwo\symbol{191}}
+ \expandafter\def\csname simpleicon@webcomponentsdotorgicon\endcsname {\simpleiconsmaponetwo\symbol{192}}
+ \expandafter\def\csname simpleicon@webdriverioicon\endcsname {\simpleiconsmaponetwo\symbol{193}}
+ \expandafter\def\csname simpleicon@webexicon\endcsname {\simpleiconsmaponetwo\symbol{194}}
+ \expandafter\def\csname simpleicon@webflowicon\endcsname {\simpleiconsmaponetwo\symbol{195}}
+ \expandafter\def\csname simpleicon@webglicon\endcsname {\simpleiconsmaponetwo\symbol{196}}
+ \expandafter\def\csname simpleicon@webgpuicon\endcsname {\simpleiconsmaponetwo\symbol{197}}
+ \expandafter\def\csname simpleicon@weblateicon\endcsname {\simpleiconsmaponetwo\symbol{198}}
+ \expandafter\def\csname simpleicon@webminicon\endcsname {\simpleiconsmaponetwo\symbol{199}}
+ \expandafter\def\csname simpleicon@webmoneyicon\endcsname {\simpleiconsmaponetwo\symbol{200}}
+ \expandafter\def\csname simpleicon@webpackicon\endcsname {\simpleiconsmaponetwo\symbol{201}}
+ \expandafter\def\csname simpleicon@webrtcicon\endcsname {\simpleiconsmaponetwo\symbol{202}}
+ \expandafter\def\csname simpleicon@webstormicon\endcsname {\simpleiconsmaponetwo\symbol{203}}
+ \expandafter\def\csname simpleicon@webtoonicon\endcsname {\simpleiconsmaponetwo\symbol{204}}
+ \expandafter\def\csname simpleicon@webtreesicon\endcsname {\simpleiconsmaponetwo\symbol{205}}
+ \expandafter\def\csname simpleicon@wechaticon\endcsname {\simpleiconsmaponetwo\symbol{206}}
+ \expandafter\def\csname simpleicon@wegameicon\endcsname {\simpleiconsmaponetwo\symbol{207}}
+ \expandafter\def\csname simpleicon@weightsandbiasesicon\endcsname {\simpleiconsmaponetwo\symbol{208}}
+ \expandafter\def\csname simpleicon@welcometothejungleicon\endcsname {\simpleiconsmaponetwo\symbol{209}}
+ \expandafter\def\csname simpleicon@wellfoundicon\endcsname {\simpleiconsmaponetwo\symbol{210}}
+ \expandafter\def\csname simpleicon@wellsfargoicon\endcsname {\simpleiconsmaponetwo\symbol{211}}
+ \expandafter\def\csname simpleicon@wemoicon\endcsname {\simpleiconsmaponetwo\symbol{212}}
+ \expandafter\def\csname simpleicon@westerndigitalicon\endcsname {\simpleiconsmaponetwo\symbol{213}}
+ \expandafter\def\csname simpleicon@westernunionicon\endcsname {\simpleiconsmaponetwo\symbol{214}}
+ \expandafter\def\csname simpleicon@wetransfericon\endcsname {\simpleiconsmaponetwo\symbol{215}}
+ \expandafter\def\csname simpleicon@weztermicon\endcsname {\simpleiconsmaponetwo\symbol{216}}
+ \expandafter\def\csname simpleicon@wgpuicon\endcsname {\simpleiconsmaponetwo\symbol{217}}
+ \expandafter\def\csname simpleicon@whatsappicon\endcsname {\simpleiconsmaponetwo\symbol{218}}
+ \expandafter\def\csname simpleicon@wheniworkicon\endcsname {\simpleiconsmaponetwo\symbol{219}}
+ \expandafter\def\csname simpleicon@wiiicon\endcsname {\simpleiconsmaponetwo\symbol{220}}
+ \expandafter\def\csname simpleicon@wiiuicon\endcsname {\simpleiconsmaponetwo\symbol{221}}
+ \expandafter\def\csname simpleicon@wikidataicon\endcsname {\simpleiconsmaponetwo\symbol{222}}
+ \expandafter\def\csname simpleicon@wikidotggicon\endcsname {\simpleiconsmaponetwo\symbol{223}}
+ \expandafter\def\csname simpleicon@wikidotjsicon\endcsname {\simpleiconsmaponetwo\symbol{224}}
+ \expandafter\def\csname simpleicon@wikimediacommonsicon\endcsname {\simpleiconsmaponetwo\symbol{225}}
+ \expandafter\def\csname simpleicon@wikimediafoundationicon\endcsname {\simpleiconsmaponetwo\symbol{226}}
+ \expandafter\def\csname simpleicon@wikipediaicon\endcsname {\simpleiconsmaponetwo\symbol{227}}
+ \expandafter\def\csname simpleicon@wikiquoteicon\endcsname {\simpleiconsmaponetwo\symbol{228}}
+ \expandafter\def\csname simpleicon@wikivoyageicon\endcsname {\simpleiconsmaponetwo\symbol{229}}
+ \expandafter\def\csname simpleicon@winampicon\endcsname {\simpleiconsmaponetwo\symbol{230}}
+ \expandafter\def\csname simpleicon@wiproicon\endcsname {\simpleiconsmaponetwo\symbol{231}}
+ \expandafter\def\csname simpleicon@wireicon\endcsname {\simpleiconsmaponetwo\symbol{232}}
+ \expandafter\def\csname simpleicon@wireguardicon\endcsname {\simpleiconsmaponetwo\symbol{233}}
+ \expandafter\def\csname simpleicon@wiresharkicon\endcsname {\simpleiconsmaponetwo\symbol{234}}
+ \expandafter\def\csname simpleicon@wiseicon\endcsname {\simpleiconsmaponetwo\symbol{235}}
+ \expandafter\def\csname simpleicon@wishicon\endcsname {\simpleiconsmaponetwo\symbol{236}}
+ \expandafter\def\csname simpleicon@wistiaicon\endcsname {\simpleiconsmaponetwo\symbol{237}}
+ \expandafter\def\csname simpleicon@wixicon\endcsname {\simpleiconsmaponetwo\symbol{238}}
+ \expandafter\def\csname simpleicon@wizzairicon\endcsname {\simpleiconsmaponetwo\symbol{239}}
+ \expandafter\def\csname simpleicon@wolframicon\endcsname {\simpleiconsmaponetwo\symbol{240}}
+ \expandafter\def\csname simpleicon@wolframlanguageicon\endcsname {\simpleiconsmaponetwo\symbol{241}}
+ \expandafter\def\csname simpleicon@wolframmathematicaicon\endcsname {\simpleiconsmaponetwo\symbol{242}}
+ \expandafter\def\csname simpleicon@wondershareicon\endcsname {\simpleiconsmaponetwo\symbol{243}}
+ \expandafter\def\csname simpleicon@wondersharefilmoraicon\endcsname {\simpleiconsmaponetwo\symbol{244}}
+ \expandafter\def\csname simpleicon@wooicon\endcsname {\simpleiconsmaponetwo\symbol{245}}
+ \expandafter\def\csname simpleicon@woocommerceicon\endcsname {\simpleiconsmaponetwo\symbol{246}}
+ \expandafter\def\csname simpleicon@wordpressicon\endcsname {\simpleiconsmaponetwo\symbol{247}}
+ \expandafter\def\csname simpleicon@workplaceicon\endcsname {\simpleiconsmaponetwo\symbol{248}}
+ \expandafter\def\csname simpleicon@worldhealthorganizationicon\endcsname {\simpleiconsmaponetwo\symbol{249}}
+ \expandafter\def\csname simpleicon@wpengineicon\endcsname {\simpleiconsmaponetwo\symbol{250}}
+ \expandafter\def\csname simpleicon@wpexplorericon\endcsname {\simpleiconsmaponetwo\symbol{251}}
+ \expandafter\def\csname simpleicon@wprocketicon\endcsname {\simpleiconsmaponetwo\symbol{252}}
+ \expandafter\def\csname simpleicon@writedotasicon\endcsname {\simpleiconsmaponetwo\symbol{253}}
+ \expandafter\def\csname simpleicon@wweicon\endcsname {\simpleiconsmaponetwo\symbol{254}}
+ \expandafter\def\csname simpleicon@wwiseicon\endcsname {\simpleiconsmaponetwo\symbol{255}}
+ \expandafter\def\csname simpleicon@wykopicon\endcsname {\simpleiconsmaponethree\symbol{0}}
+ \expandafter\def\csname simpleicon@wyzeicon\endcsname {\simpleiconsmaponethree\symbol{1}}
+ \expandafter\def\csname simpleicon@xicon\endcsname {\simpleiconsmaponethree\symbol{2}}
+ \expandafter\def\csname simpleicon@xamppicon\endcsname {\simpleiconsmaponethree\symbol{3}}
+ \expandafter\def\csname simpleicon@xcodeicon\endcsname {\simpleiconsmaponethree\symbol{4}}
+ \expandafter\def\csname simpleicon@xdadevelopersicon\endcsname {\simpleiconsmaponethree\symbol{5}}
+ \expandafter\def\csname simpleicon@xdotorgicon\endcsname {\simpleiconsmaponethree\symbol{6}}
+ \expandafter\def\csname simpleicon@xenditicon\endcsname {\simpleiconsmaponethree\symbol{7}}
+ \expandafter\def\csname simpleicon@xeroicon\endcsname {\simpleiconsmaponethree\symbol{8}}
+ \expandafter\def\csname simpleicon@xfceicon\endcsname {\simpleiconsmaponethree\symbol{9}}
+ \expandafter\def\csname simpleicon@xiaohongshuicon\endcsname {\simpleiconsmaponethree\symbol{10}}
+ \expandafter\def\csname simpleicon@xiaomiicon\endcsname {\simpleiconsmaponethree\symbol{11}}
+ \expandafter\def\csname simpleicon@xingicon\endcsname {\simpleiconsmaponethree\symbol{12}}
+ \expandafter\def\csname simpleicon@xmppicon\endcsname {\simpleiconsmaponethree\symbol{13}}
+ \expandafter\def\csname simpleicon@xoicon\endcsname {\simpleiconsmaponethree\symbol{14}}
+ \expandafter\def\csname simpleicon@xrpicon\endcsname {\simpleiconsmaponethree\symbol{15}}
+ \expandafter\def\csname simpleicon@xspliticon\endcsname {\simpleiconsmaponethree\symbol{16}}
+ \expandafter\def\csname simpleicon@xstateicon\endcsname {\simpleiconsmaponethree\symbol{17}}
+ \expandafter\def\csname simpleicon@yabaiicon\endcsname {\simpleiconsmaponethree\symbol{18}}
+ \expandafter\def\csname simpleicon@yaleicon\endcsname {\simpleiconsmaponethree\symbol{19}}
+ \expandafter\def\csname simpleicon@yamahacorporationicon\endcsname {\simpleiconsmaponethree\symbol{20}}
+ \expandafter\def\csname simpleicon@yamahamotorcorporationicon\endcsname {\simpleiconsmaponethree\symbol{21}}
+ \expandafter\def\csname simpleicon@yamlicon\endcsname {\simpleiconsmaponethree\symbol{22}}
+ \expandafter\def\csname simpleicon@yandexcloudicon\endcsname {\simpleiconsmaponethree\symbol{23}}
+ \expandafter\def\csname simpleicon@yarnicon\endcsname {\simpleiconsmaponethree\symbol{24}}
+ \expandafter\def\csname simpleicon@ycombinatoricon\endcsname {\simpleiconsmaponethree\symbol{25}}
+ \expandafter\def\csname simpleicon@yelpicon\endcsname {\simpleiconsmaponethree\symbol{26}}
+ \expandafter\def\csname simpleicon@yetiicon\endcsname {\simpleiconsmaponethree\symbol{27}}
+ \expandafter\def\csname simpleicon@yoasticon\endcsname {\simpleiconsmaponethree\symbol{28}}
+ \expandafter\def\csname simpleicon@youtubeicon\endcsname {\simpleiconsmaponethree\symbol{29}}
+ \expandafter\def\csname simpleicon@youtubegamingicon\endcsname {\simpleiconsmaponethree\symbol{30}}
+ \expandafter\def\csname simpleicon@youtubekidsicon\endcsname {\simpleiconsmaponethree\symbol{31}}
+ \expandafter\def\csname simpleicon@youtubemusicicon\endcsname {\simpleiconsmaponethree\symbol{32}}
+ \expandafter\def\csname simpleicon@youtubeshortsicon\endcsname {\simpleiconsmaponethree\symbol{33}}
+ \expandafter\def\csname simpleicon@youtubestudioicon\endcsname {\simpleiconsmaponethree\symbol{34}}
+ \expandafter\def\csname simpleicon@youtubetvicon\endcsname {\simpleiconsmaponethree\symbol{35}}
+ \expandafter\def\csname simpleicon@yricon\endcsname {\simpleiconsmaponethree\symbol{36}}
+ \expandafter\def\csname simpleicon@yubicoicon\endcsname {\simpleiconsmaponethree\symbol{37}}
+ \expandafter\def\csname simpleicon@yunohosticon\endcsname {\simpleiconsmaponethree\symbol{38}}
+ \expandafter\def\csname simpleicon@zabkaicon\endcsname {\simpleiconsmaponethree\symbol{39}}
+ \expandafter\def\csname simpleicon@zaimicon\endcsname {\simpleiconsmaponethree\symbol{40}}
+ \expandafter\def\csname simpleicon@zalandoicon\endcsname {\simpleiconsmaponethree\symbol{41}}
+ \expandafter\def\csname simpleicon@zaloicon\endcsname {\simpleiconsmaponethree\symbol{42}}
+ \expandafter\def\csname simpleicon@zapicon\endcsname {\simpleiconsmaponethree\symbol{43}}
+ \expandafter\def\csname simpleicon@zapiericon\endcsname {\simpleiconsmaponethree\symbol{44}}
+ \expandafter\def\csname simpleicon@zaraicon\endcsname {\simpleiconsmaponethree\symbol{45}}
+ \expandafter\def\csname simpleicon@zazzleicon\endcsname {\simpleiconsmaponethree\symbol{46}}
+ \expandafter\def\csname simpleicon@zcashicon\endcsname {\simpleiconsmaponethree\symbol{47}}
+ \expandafter\def\csname simpleicon@zcoolicon\endcsname {\simpleiconsmaponethree\symbol{48}}
+ \expandafter\def\csname simpleicon@zdficon\endcsname {\simpleiconsmaponethree\symbol{49}}
+ \expandafter\def\csname simpleicon@zebpayicon\endcsname {\simpleiconsmaponethree\symbol{50}}
+ \expandafter\def\csname simpleicon@zebratechnologiesicon\endcsname {\simpleiconsmaponethree\symbol{51}}
+ \expandafter\def\csname simpleicon@zedindustriesicon\endcsname {\simpleiconsmaponethree\symbol{52}}
+ \expandafter\def\csname simpleicon@zelleicon\endcsname {\simpleiconsmaponethree\symbol{53}}
+ \expandafter\def\csname simpleicon@zendicon\endcsname {\simpleiconsmaponethree\symbol{54}}
+ \expandafter\def\csname simpleicon@zendeskicon\endcsname {\simpleiconsmaponethree\symbol{55}}
+ \expandafter\def\csname simpleicon@zennicon\endcsname {\simpleiconsmaponethree\symbol{56}}
+ \expandafter\def\csname simpleicon@zenodoicon\endcsname {\simpleiconsmaponethree\symbol{57}}
+ \expandafter\def\csname simpleicon@zensaricon\endcsname {\simpleiconsmaponethree\symbol{58}}
+ \expandafter\def\csname simpleicon@zerodhaicon\endcsname {\simpleiconsmaponethree\symbol{59}}
+ \expandafter\def\csname simpleicon@zerplyicon\endcsname {\simpleiconsmaponethree\symbol{60}}
+ \expandafter\def\csname simpleicon@zettlricon\endcsname {\simpleiconsmaponethree\symbol{61}}
+ \expandafter\def\csname simpleicon@zhihuicon\endcsname {\simpleiconsmaponethree\symbol{62}}
+ \expandafter\def\csname simpleicon@zigicon\endcsname {\simpleiconsmaponethree\symbol{63}}
+ \expandafter\def\csname simpleicon@zigbeeicon\endcsname {\simpleiconsmaponethree\symbol{64}}
+ \expandafter\def\csname simpleicon@zigbee2mqtticon\endcsname {\simpleiconsmaponethree\symbol{65}}
+ \expandafter\def\csname simpleicon@ziggoicon\endcsname {\simpleiconsmaponethree\symbol{66}}
+ \expandafter\def\csname simpleicon@zilchicon\endcsname {\simpleiconsmaponethree\symbol{67}}
+ \expandafter\def\csname simpleicon@zillowicon\endcsname {\simpleiconsmaponethree\symbol{68}}
+ \expandafter\def\csname simpleicon@zincsearchicon\endcsname {\simpleiconsmaponethree\symbol{69}}
+ \expandafter\def\csname simpleicon@zingaticon\endcsname {\simpleiconsmaponethree\symbol{70}}
+ \expandafter\def\csname simpleicon@zodicon\endcsname {\simpleiconsmaponethree\symbol{71}}
+ \expandafter\def\csname simpleicon@zohoicon\endcsname {\simpleiconsmaponethree\symbol{72}}
+ \expandafter\def\csname simpleicon@zoipericon\endcsname {\simpleiconsmaponethree\symbol{73}}
+ \expandafter\def\csname simpleicon@zomatoicon\endcsname {\simpleiconsmaponethree\symbol{74}}
+ \expandafter\def\csname simpleicon@zoomicon\endcsname {\simpleiconsmaponethree\symbol{75}}
+ \expandafter\def\csname simpleicon@zorinicon\endcsname {\simpleiconsmaponethree\symbol{76}}
+ \expandafter\def\csname simpleicon@zoteroicon\endcsname {\simpleiconsmaponethree\symbol{77}}
+ \expandafter\def\csname simpleicon@zshicon\endcsname {\simpleiconsmaponethree\symbol{78}}
+ \expandafter\def\csname simpleicon@zulipicon\endcsname {\simpleiconsmaponethree\symbol{79}}
+ \expandafter\def\csname simpleicon@zyteicon\endcsname {\simpleiconsmaponethree\symbol{80}} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-xeluatex.tex b/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-xeluatex.tex
index 1d7cf78271c..7ff9b4ef295 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-xeluatex.tex
+++ b/Master/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-xeluatex.tex
@@ -1,3116 +1,3154 @@
\expandafter\def\csname simpleicon@1001tracklistsicon\endcsname {\simpleiconsmap\symbol{"EA01}}
- \expandafter\def\csname simpleicon@1passwordicon\endcsname {\simpleiconsmap\symbol{"EA02}}
- \expandafter\def\csname simpleicon@2kicon\endcsname {\simpleiconsmap\symbol{"EA03}}
- \expandafter\def\csname simpleicon@365datascienceicon\endcsname {\simpleiconsmap\symbol{"EA04}}
- \expandafter\def\csname simpleicon@3micon\endcsname {\simpleiconsmap\symbol{"EA05}}
- \expandafter\def\csname simpleicon@42icon\endcsname {\simpleiconsmap\symbol{"EA06}}
- \expandafter\def\csname simpleicon@4chanicon\endcsname {\simpleiconsmap\symbol{"EA07}}
- \expandafter\def\csname simpleicon@4dicon\endcsname {\simpleiconsmap\symbol{"EA08}}
- \expandafter\def\csname simpleicon@500pxicon\endcsname {\simpleiconsmap\symbol{"EA09}}
- \expandafter\def\csname simpleicon@7zipicon\endcsname {\simpleiconsmap\symbol{"EA0A}}
- \expandafter\def\csname simpleicon@99designsicon\endcsname {\simpleiconsmap\symbol{"EA0B}}
- \expandafter\def\csname simpleicon@9gagicon\endcsname {\simpleiconsmap\symbol{"EA0C}}
- \expandafter\def\csname simpleicon@abbotticon\endcsname {\simpleiconsmap\symbol{"EA0D}}
- \expandafter\def\csname simpleicon@abbrobotstudioicon\endcsname {\simpleiconsmap\symbol{"EA0E}}
- \expandafter\def\csname simpleicon@abbvieicon\endcsname {\simpleiconsmap\symbol{"EA0F}}
- \expandafter\def\csname simpleicon@aboutdotmeicon\endcsname {\simpleiconsmap\symbol{"EA10}}
- \expandafter\def\csname simpleicon@abstracticon\endcsname {\simpleiconsmap\symbol{"EA11}}
- \expandafter\def\csname simpleicon@abusedotchicon\endcsname {\simpleiconsmap\symbol{"EA12}}
- \expandafter\def\csname simpleicon@academiaicon\endcsname {\simpleiconsmap\symbol{"EA13}}
- \expandafter\def\csname simpleicon@accentureicon\endcsname {\simpleiconsmap\symbol{"EA14}}
- \expandafter\def\csname simpleicon@accusofticon\endcsname {\simpleiconsmap\symbol{"EA15}}
- \expandafter\def\csname simpleicon@acericon\endcsname {\simpleiconsmap\symbol{"EA16}}
- \expandafter\def\csname simpleicon@acmicon\endcsname {\simpleiconsmap\symbol{"EA17}}
- \expandafter\def\csname simpleicon@actigraphicon\endcsname {\simpleiconsmap\symbol{"EA18}}
- \expandafter\def\csname simpleicon@activisionicon\endcsname {\simpleiconsmap\symbol{"EA19}}
- \expandafter\def\csname simpleicon@activitypubicon\endcsname {\simpleiconsmap\symbol{"EA1A}}
- \expandafter\def\csname simpleicon@actixicon\endcsname {\simpleiconsmap\symbol{"EA1B}}
- \expandafter\def\csname simpleicon@acuraicon\endcsname {\simpleiconsmap\symbol{"EA1C}}
- \expandafter\def\csname simpleicon@adafruiticon\endcsname {\simpleiconsmap\symbol{"EA1D}}
- \expandafter\def\csname simpleicon@adblockicon\endcsname {\simpleiconsmap\symbol{"EA1E}}
- \expandafter\def\csname simpleicon@adblockplusicon\endcsname {\simpleiconsmap\symbol{"EA1F}}
- \expandafter\def\csname simpleicon@adguardicon\endcsname {\simpleiconsmap\symbol{"EA20}}
- \expandafter\def\csname simpleicon@adidasicon\endcsname {\simpleiconsmap\symbol{"EA21}}
- \expandafter\def\csname simpleicon@adminericon\endcsname {\simpleiconsmap\symbol{"EA22}}
- \expandafter\def\csname simpleicon@adobeicon\endcsname {\simpleiconsmap\symbol{"EA23}}
- \expandafter\def\csname simpleicon@adobeacrobatreadericon\endcsname {\simpleiconsmap\symbol{"EA24}}
- \expandafter\def\csname simpleicon@adobeaftereffectsicon\endcsname {\simpleiconsmap\symbol{"EA25}}
- \expandafter\def\csname simpleicon@adobeauditionicon\endcsname {\simpleiconsmap\symbol{"EA26}}
- \expandafter\def\csname simpleicon@adobecreativecloudicon\endcsname {\simpleiconsmap\symbol{"EA27}}
- \expandafter\def\csname simpleicon@adobedreamweavericon\endcsname {\simpleiconsmap\symbol{"EA28}}
- \expandafter\def\csname simpleicon@adobefontsicon\endcsname {\simpleiconsmap\symbol{"EA29}}
- \expandafter\def\csname simpleicon@adobeillustratoricon\endcsname {\simpleiconsmap\symbol{"EA2A}}
- \expandafter\def\csname simpleicon@adobeindesignicon\endcsname {\simpleiconsmap\symbol{"EA2B}}
- \expandafter\def\csname simpleicon@adobelightroomicon\endcsname {\simpleiconsmap\symbol{"EA2C}}
- \expandafter\def\csname simpleicon@adobelightroomclassicicon\endcsname {\simpleiconsmap\symbol{"EA2D}}
- \expandafter\def\csname simpleicon@adobephotoshopicon\endcsname {\simpleiconsmap\symbol{"EA2E}}
- \expandafter\def\csname simpleicon@adobepremiereproicon\endcsname {\simpleiconsmap\symbol{"EA2F}}
- \expandafter\def\csname simpleicon@adobexdicon\endcsname {\simpleiconsmap\symbol{"EA30}}
- \expandafter\def\csname simpleicon@adonisjsicon\endcsname {\simpleiconsmap\symbol{"EA31}}
- \expandafter\def\csname simpleicon@adpicon\endcsname {\simpleiconsmap\symbol{"EA32}}
- \expandafter\def\csname simpleicon@adrollicon\endcsname {\simpleiconsmap\symbol{"EA33}}
- \expandafter\def\csname simpleicon@adventofcodeicon\endcsname {\simpleiconsmap\symbol{"EA34}}
- \expandafter\def\csname simpleicon@adyenicon\endcsname {\simpleiconsmap\symbol{"EA35}}
- \expandafter\def\csname simpleicon@aerlingusicon\endcsname {\simpleiconsmap\symbol{"EA36}}
- \expandafter\def\csname simpleicon@aerofloticon\endcsname {\simpleiconsmap\symbol{"EA37}}
- \expandafter\def\csname simpleicon@aeromexicoicon\endcsname {\simpleiconsmap\symbol{"EA38}}
- \expandafter\def\csname simpleicon@aerospikeicon\endcsname {\simpleiconsmap\symbol{"EA39}}
- \expandafter\def\csname simpleicon@aewicon\endcsname {\simpleiconsmap\symbol{"EA3A}}
- \expandafter\def\csname simpleicon@affineicon\endcsname {\simpleiconsmap\symbol{"EA3B}}
- \expandafter\def\csname simpleicon@affinityicon\endcsname {\simpleiconsmap\symbol{"EA3C}}
- \expandafter\def\csname simpleicon@affinitydesignericon\endcsname {\simpleiconsmap\symbol{"EA3D}}
- \expandafter\def\csname simpleicon@affinityphotoicon\endcsname {\simpleiconsmap\symbol{"EA3E}}
- \expandafter\def\csname simpleicon@affinitypublishericon\endcsname {\simpleiconsmap\symbol{"EA3F}}
- \expandafter\def\csname simpleicon@aframeicon\endcsname {\simpleiconsmap\symbol{"EA40}}
- \expandafter\def\csname simpleicon@afterpayicon\endcsname {\simpleiconsmap\symbol{"EA41}}
- \expandafter\def\csname simpleicon@agoraicon\endcsname {\simpleiconsmap\symbol{"EA42}}
- \expandafter\def\csname simpleicon@aibicon\endcsname {\simpleiconsmap\symbol{"EA43}}
- \expandafter\def\csname simpleicon@aidungeonicon\endcsname {\simpleiconsmap\symbol{"EA44}}
- \expandafter\def\csname simpleicon@aiohttpicon\endcsname {\simpleiconsmap\symbol{"EA45}}
- \expandafter\def\csname simpleicon@aiqfomeicon\endcsname {\simpleiconsmap\symbol{"EA46}}
- \expandafter\def\csname simpleicon@airasiaicon\endcsname {\simpleiconsmap\symbol{"EA47}}
- \expandafter\def\csname simpleicon@airbnbicon\endcsname {\simpleiconsmap\symbol{"EA48}}
- \expandafter\def\csname simpleicon@airbrakedotioicon\endcsname {\simpleiconsmap\symbol{"EA49}}
- \expandafter\def\csname simpleicon@airbusicon\endcsname {\simpleiconsmap\symbol{"EA4A}}
- \expandafter\def\csname simpleicon@airbyteicon\endcsname {\simpleiconsmap\symbol{"EA4B}}
- \expandafter\def\csname simpleicon@aircallicon\endcsname {\simpleiconsmap\symbol{"EA4C}}
- \expandafter\def\csname simpleicon@aircanadaicon\endcsname {\simpleiconsmap\symbol{"EA4D}}
- \expandafter\def\csname simpleicon@airchinaicon\endcsname {\simpleiconsmap\symbol{"EA4E}}
- \expandafter\def\csname simpleicon@airfranceicon\endcsname {\simpleiconsmap\symbol{"EA4F}}
- \expandafter\def\csname simpleicon@airindiaicon\endcsname {\simpleiconsmap\symbol{"EA50}}
- \expandafter\def\csname simpleicon@airplayaudioicon\endcsname {\simpleiconsmap\symbol{"EA51}}
- \expandafter\def\csname simpleicon@airplayvideoicon\endcsname {\simpleiconsmap\symbol{"EA52}}
- \expandafter\def\csname simpleicon@airtableicon\endcsname {\simpleiconsmap\symbol{"EA53}}
- \expandafter\def\csname simpleicon@airtelicon\endcsname {\simpleiconsmap\symbol{"EA54}}
- \expandafter\def\csname simpleicon@airtransaticon\endcsname {\simpleiconsmap\symbol{"EA55}}
- \expandafter\def\csname simpleicon@ajvicon\endcsname {\simpleiconsmap\symbol{"EA56}}
- \expandafter\def\csname simpleicon@akamaiicon\endcsname {\simpleiconsmap\symbol{"EA57}}
- \expandafter\def\csname simpleicon@akauntingicon\endcsname {\simpleiconsmap\symbol{"EA58}}
- \expandafter\def\csname simpleicon@akiflowicon\endcsname {\simpleiconsmap\symbol{"EA59}}
- \expandafter\def\csname simpleicon@alacrittyicon\endcsname {\simpleiconsmap\symbol{"EA5A}}
- \expandafter\def\csname simpleicon@alamyicon\endcsname {\simpleiconsmap\symbol{"EA5B}}
- \expandafter\def\csname simpleicon@albertheijnicon\endcsname {\simpleiconsmap\symbol{"EA5C}}
- \expandafter\def\csname simpleicon@albyicon\endcsname {\simpleiconsmap\symbol{"EA5D}}
- \expandafter\def\csname simpleicon@alchemyicon\endcsname {\simpleiconsmap\symbol{"EA5E}}
- \expandafter\def\csname simpleicon@aldinordicon\endcsname {\simpleiconsmap\symbol{"EA5F}}
- \expandafter\def\csname simpleicon@aldisudicon\endcsname {\simpleiconsmap\symbol{"EA60}}
- \expandafter\def\csname simpleicon@alfaromeoicon\endcsname {\simpleiconsmap\symbol{"EA61}}
- \expandafter\def\csname simpleicon@alfredicon\endcsname {\simpleiconsmap\symbol{"EA62}}
- \expandafter\def\csname simpleicon@algoliaicon\endcsname {\simpleiconsmap\symbol{"EA63}}
- \expandafter\def\csname simpleicon@algorandicon\endcsname {\simpleiconsmap\symbol{"EA64}}
- \expandafter\def\csname simpleicon@alibabacloudicon\endcsname {\simpleiconsmap\symbol{"EA65}}
- \expandafter\def\csname simpleicon@alibabadotcomicon\endcsname {\simpleiconsmap\symbol{"EA66}}
- \expandafter\def\csname simpleicon@alienwareicon\endcsname {\simpleiconsmap\symbol{"EA67}}
- \expandafter\def\csname simpleicon@aliexpressicon\endcsname {\simpleiconsmap\symbol{"EA68}}
- \expandafter\def\csname simpleicon@alipayicon\endcsname {\simpleiconsmap\symbol{"EA69}}
- \expandafter\def\csname simpleicon@allegroicon\endcsname {\simpleiconsmap\symbol{"EA6A}}
- \expandafter\def\csname simpleicon@alliedmoddersicon\endcsname {\simpleiconsmap\symbol{"EA6B}}
- \expandafter\def\csname simpleicon@allocineicon\endcsname {\simpleiconsmap\symbol{"EA6C}}
- \expandafter\def\csname simpleicon@alltrailsicon\endcsname {\simpleiconsmap\symbol{"EA6D}}
- \expandafter\def\csname simpleicon@almalinuxicon\endcsname {\simpleiconsmap\symbol{"EA6E}}
- \expandafter\def\csname simpleicon@alpinedotjsicon\endcsname {\simpleiconsmap\symbol{"EA6F}}
- \expandafter\def\csname simpleicon@alpinelinuxicon\endcsname {\simpleiconsmap\symbol{"EA70}}
- \expandafter\def\csname simpleicon@alteryxicon\endcsname {\simpleiconsmap\symbol{"EA71}}
- \expandafter\def\csname simpleicon@altiumdesignericon\endcsname {\simpleiconsmap\symbol{"EA72}}
- \expandafter\def\csname simpleicon@alwaysdataicon\endcsname {\simpleiconsmap\symbol{"EA73}}
- \expandafter\def\csname simpleicon@alxicon\endcsname {\simpleiconsmap\symbol{"EA74}}
- \expandafter\def\csname simpleicon@amazonicon\endcsname {\simpleiconsmap\symbol{"EA75}}
- \expandafter\def\csname simpleicon@amazonalexaicon\endcsname {\simpleiconsmap\symbol{"EA76}}
- \expandafter\def\csname simpleicon@amazonapigatewayicon\endcsname {\simpleiconsmap\symbol{"EA77}}
- \expandafter\def\csname simpleicon@amazonawsicon\endcsname {\simpleiconsmap\symbol{"EA78}}
- \expandafter\def\csname simpleicon@amazoncloudwatchicon\endcsname {\simpleiconsmap\symbol{"EA79}}
- \expandafter\def\csname simpleicon@amazoncognitoicon\endcsname {\simpleiconsmap\symbol{"EA7A}}
- \expandafter\def\csname simpleicon@amazondocumentdbicon\endcsname {\simpleiconsmap\symbol{"EA7B}}
- \expandafter\def\csname simpleicon@amazondynamodbicon\endcsname {\simpleiconsmap\symbol{"EA7C}}
- \expandafter\def\csname simpleicon@amazonec2icon\endcsname {\simpleiconsmap\symbol{"EA7D}}
- \expandafter\def\csname simpleicon@amazonecsicon\endcsname {\simpleiconsmap\symbol{"EA7E}}
- \expandafter\def\csname simpleicon@amazoneksicon\endcsname {\simpleiconsmap\symbol{"EA7F}}
- \expandafter\def\csname simpleicon@amazonelasticacheicon\endcsname {\simpleiconsmap\symbol{"EA80}}
- \expandafter\def\csname simpleicon@amazonfiretvicon\endcsname {\simpleiconsmap\symbol{"EA81}}
- \expandafter\def\csname simpleicon@amazongamesicon\endcsname {\simpleiconsmap\symbol{"EA82}}
- \expandafter\def\csname simpleicon@amazoniamicon\endcsname {\simpleiconsmap\symbol{"EA83}}
- \expandafter\def\csname simpleicon@amazonlumberyardicon\endcsname {\simpleiconsmap\symbol{"EA84}}
- \expandafter\def\csname simpleicon@amazonlunaicon\endcsname {\simpleiconsmap\symbol{"EA85}}
- \expandafter\def\csname simpleicon@amazonmusicicon\endcsname {\simpleiconsmap\symbol{"EA86}}
- \expandafter\def\csname simpleicon@amazonpayicon\endcsname {\simpleiconsmap\symbol{"EA87}}
- \expandafter\def\csname simpleicon@amazonprimeicon\endcsname {\simpleiconsmap\symbol{"EA88}}
- \expandafter\def\csname simpleicon@amazonrdsicon\endcsname {\simpleiconsmap\symbol{"EA89}}
- \expandafter\def\csname simpleicon@amazonredshifticon\endcsname {\simpleiconsmap\symbol{"EA8A}}
- \expandafter\def\csname simpleicon@amazonroute53icon\endcsname {\simpleiconsmap\symbol{"EA8B}}
- \expandafter\def\csname simpleicon@amazons3icon\endcsname {\simpleiconsmap\symbol{"EA8C}}
- \expandafter\def\csname simpleicon@amazonsimpleemailserviceicon\endcsname {\simpleiconsmap\symbol{"EA8D}}
- \expandafter\def\csname simpleicon@amazonsqsicon\endcsname {\simpleiconsmap\symbol{"EA8E}}
- \expandafter\def\csname simpleicon@amdicon\endcsname {\simpleiconsmap\symbol{"EA8F}}
- \expandafter\def\csname simpleicon@amebaicon\endcsname {\simpleiconsmap\symbol{"EA90}}
- \expandafter\def\csname simpleicon@americanairlinesicon\endcsname {\simpleiconsmap\symbol{"EA91}}
- \expandafter\def\csname simpleicon@americanexpressicon\endcsname {\simpleiconsmap\symbol{"EA92}}
- \expandafter\def\csname simpleicon@amgicon\endcsname {\simpleiconsmap\symbol{"EA93}}
- \expandafter\def\csname simpleicon@ampicon\endcsname {\simpleiconsmap\symbol{"EA94}}
- \expandafter\def\csname simpleicon@amulicon\endcsname {\simpleiconsmap\symbol{"EA95}}
- \expandafter\def\csname simpleicon@anaicon\endcsname {\simpleiconsmap\symbol{"EA96}}
- \expandafter\def\csname simpleicon@anacondaicon\endcsname {\simpleiconsmap\symbol{"EA97}}
- \expandafter\def\csname simpleicon@analogueicon\endcsname {\simpleiconsmap\symbol{"EA98}}
- \expandafter\def\csname simpleicon@andelaicon\endcsname {\simpleiconsmap\symbol{"EA99}}
- \expandafter\def\csname simpleicon@androidicon\endcsname {\simpleiconsmap\symbol{"EA9A}}
- \expandafter\def\csname simpleicon@androidautoicon\endcsname {\simpleiconsmap\symbol{"EA9B}}
- \expandafter\def\csname simpleicon@androidstudioicon\endcsname {\simpleiconsmap\symbol{"EA9C}}
- \expandafter\def\csname simpleicon@angularicon\endcsname {\simpleiconsmap\symbol{"EA9D}}
- \expandafter\def\csname simpleicon@anilisticon\endcsname {\simpleiconsmap\symbol{"EA9E}}
- \expandafter\def\csname simpleicon@animalplaneticon\endcsname {\simpleiconsmap\symbol{"EA9F}}
- \expandafter\def\csname simpleicon@ankermakeicon\endcsname {\simpleiconsmap\symbol{"EAA0}}
- \expandafter\def\csname simpleicon@ansibleicon\endcsname {\simpleiconsmap\symbol{"EAA1}}
- \expandafter\def\csname simpleicon@answericon\endcsname {\simpleiconsmap\symbol{"EAA2}}
- \expandafter\def\csname simpleicon@ansysicon\endcsname {\simpleiconsmap\symbol{"EAA3}}
- \expandafter\def\csname simpleicon@antaicon\endcsname {\simpleiconsmap\symbol{"EAA4}}
- \expandafter\def\csname simpleicon@antdesignicon\endcsname {\simpleiconsmap\symbol{"EAA5}}
- \expandafter\def\csname simpleicon@antena3icon\endcsname {\simpleiconsmap\symbol{"EAA6}}
- \expandafter\def\csname simpleicon@anthropicicon\endcsname {\simpleiconsmap\symbol{"EAA7}}
- \expandafter\def\csname simpleicon@anycubicicon\endcsname {\simpleiconsmap\symbol{"EAA8}}
- \expandafter\def\csname simpleicon@anydeskicon\endcsname {\simpleiconsmap\symbol{"EAA9}}
- \expandafter\def\csname simpleicon@anytypeicon\endcsname {\simpleiconsmap\symbol{"EAAA}}
- \expandafter\def\csname simpleicon@aolicon\endcsname {\simpleiconsmap\symbol{"EAAB}}
- \expandafter\def\csname simpleicon@apacheicon\endcsname {\simpleiconsmap\symbol{"EAAC}}
- \expandafter\def\csname simpleicon@apacheairflowicon\endcsname {\simpleiconsmap\symbol{"EAAD}}
- \expandafter\def\csname simpleicon@apacheanticon\endcsname {\simpleiconsmap\symbol{"EAAE}}
- \expandafter\def\csname simpleicon@apachecassandraicon\endcsname {\simpleiconsmap\symbol{"EAAF}}
- \expandafter\def\csname simpleicon@apachecloudstackicon\endcsname {\simpleiconsmap\symbol{"EAB0}}
- \expandafter\def\csname simpleicon@apachecordovaicon\endcsname {\simpleiconsmap\symbol{"EAB1}}
- \expandafter\def\csname simpleicon@apachecouchdbicon\endcsname {\simpleiconsmap\symbol{"EAB2}}
- \expandafter\def\csname simpleicon@apachedruidicon\endcsname {\simpleiconsmap\symbol{"EAB3}}
- \expandafter\def\csname simpleicon@apacheechartsicon\endcsname {\simpleiconsmap\symbol{"EAB4}}
- \expandafter\def\csname simpleicon@apacheflinkicon\endcsname {\simpleiconsmap\symbol{"EAB5}}
- \expandafter\def\csname simpleicon@apachefreemarkericon\endcsname {\simpleiconsmap\symbol{"EAB6}}
- \expandafter\def\csname simpleicon@apachegroovyicon\endcsname {\simpleiconsmap\symbol{"EAB7}}
- \expandafter\def\csname simpleicon@apacheguacamoleicon\endcsname {\simpleiconsmap\symbol{"EAB8}}
- \expandafter\def\csname simpleicon@apachehadoopicon\endcsname {\simpleiconsmap\symbol{"EAB9}}
- \expandafter\def\csname simpleicon@apachehiveicon\endcsname {\simpleiconsmap\symbol{"EABA}}
- \expandafter\def\csname simpleicon@apachejmetericon\endcsname {\simpleiconsmap\symbol{"EABB}}
- \expandafter\def\csname simpleicon@apachekafkaicon\endcsname {\simpleiconsmap\symbol{"EABC}}
- \expandafter\def\csname simpleicon@apachekylinicon\endcsname {\simpleiconsmap\symbol{"EABD}}
- \expandafter\def\csname simpleicon@apachemavenicon\endcsname {\simpleiconsmap\symbol{"EABE}}
- \expandafter\def\csname simpleicon@apachenetbeansideicon\endcsname {\simpleiconsmap\symbol{"EABF}}
- \expandafter\def\csname simpleicon@apacheopenofficeicon\endcsname {\simpleiconsmap\symbol{"EAC0}}
- \expandafter\def\csname simpleicon@apacheparqueticon\endcsname {\simpleiconsmap\symbol{"EAC1}}
- \expandafter\def\csname simpleicon@apachepulsaricon\endcsname {\simpleiconsmap\symbol{"EAC2}}
- \expandafter\def\csname simpleicon@apacherocketmqicon\endcsname {\simpleiconsmap\symbol{"EAC3}}
- \expandafter\def\csname simpleicon@apachesolricon\endcsname {\simpleiconsmap\symbol{"EAC4}}
- \expandafter\def\csname simpleicon@apachesparkicon\endcsname {\simpleiconsmap\symbol{"EAC5}}
- \expandafter\def\csname simpleicon@apachestormicon\endcsname {\simpleiconsmap\symbol{"EAC6}}
- \expandafter\def\csname simpleicon@apachetomcaticon\endcsname {\simpleiconsmap\symbol{"EAC7}}
- \expandafter\def\csname simpleicon@aparaticon\endcsname {\simpleiconsmap\symbol{"EAC8}}
- \expandafter\def\csname simpleicon@apifoxicon\endcsname {\simpleiconsmap\symbol{"EAC9}}
- \expandafter\def\csname simpleicon@apmterminalsicon\endcsname {\simpleiconsmap\symbol{"EACA}}
- \expandafter\def\csname simpleicon@apollographqlicon\endcsname {\simpleiconsmap\symbol{"EACB}}
- \expandafter\def\csname simpleicon@apostropheicon\endcsname {\simpleiconsmap\symbol{"EACC}}
- \expandafter\def\csname simpleicon@appianicon\endcsname {\simpleiconsmap\symbol{"EACD}}
- \expandafter\def\csname simpleicon@appiumicon\endcsname {\simpleiconsmap\symbol{"EACE}}
- \expandafter\def\csname simpleicon@appleicon\endcsname {\simpleiconsmap\symbol{"EACF}}
- \expandafter\def\csname simpleicon@applearcadeicon\endcsname {\simpleiconsmap\symbol{"EAD0}}
- \expandafter\def\csname simpleicon@applemusicicon\endcsname {\simpleiconsmap\symbol{"EAD1}}
- \expandafter\def\csname simpleicon@applenewsicon\endcsname {\simpleiconsmap\symbol{"EAD2}}
- \expandafter\def\csname simpleicon@applepayicon\endcsname {\simpleiconsmap\symbol{"EAD3}}
- \expandafter\def\csname simpleicon@applepodcastsicon\endcsname {\simpleiconsmap\symbol{"EAD4}}
- \expandafter\def\csname simpleicon@appletvicon\endcsname {\simpleiconsmap\symbol{"EAD5}}
- \expandafter\def\csname simpleicon@appsignalicon\endcsname {\simpleiconsmap\symbol{"EAD6}}
- \expandafter\def\csname simpleicon@appsmithicon\endcsname {\simpleiconsmap\symbol{"EAD7}}
- \expandafter\def\csname simpleicon@appstoreicon\endcsname {\simpleiconsmap\symbol{"EAD8}}
- \expandafter\def\csname simpleicon@appveyoricon\endcsname {\simpleiconsmap\symbol{"EAD9}}
- \expandafter\def\csname simpleicon@appwriteicon\endcsname {\simpleiconsmap\symbol{"EADA}}
- \expandafter\def\csname simpleicon@aquaicon\endcsname {\simpleiconsmap\symbol{"EADB}}
- \expandafter\def\csname simpleicon@aralicon\endcsname {\simpleiconsmap\symbol{"EADC}}
- \expandafter\def\csname simpleicon@arangodbicon\endcsname {\simpleiconsmap\symbol{"EADD}}
- \expandafter\def\csname simpleicon@arcicon\endcsname {\simpleiconsmap\symbol{"EADE}}
- \expandafter\def\csname simpleicon@arcgisicon\endcsname {\simpleiconsmap\symbol{"EADF}}
- \expandafter\def\csname simpleicon@archicadicon\endcsname {\simpleiconsmap\symbol{"EAE0}}
- \expandafter\def\csname simpleicon@archiveofourownicon\endcsname {\simpleiconsmap\symbol{"EAE1}}
- \expandafter\def\csname simpleicon@archlinuxicon\endcsname {\simpleiconsmap\symbol{"EAE2}}
- \expandafter\def\csname simpleicon@ardouricon\endcsname {\simpleiconsmap\symbol{"EAE3}}
- \expandafter\def\csname simpleicon@arduinoicon\endcsname {\simpleiconsmap\symbol{"EAE4}}
- \expandafter\def\csname simpleicon@argoicon\endcsname {\simpleiconsmap\symbol{"EAE5}}
- \expandafter\def\csname simpleicon@argosicon\endcsname {\simpleiconsmap\symbol{"EAE6}}
- \expandafter\def\csname simpleicon@ariakiticon\endcsname {\simpleiconsmap\symbol{"EAE7}}
- \expandafter\def\csname simpleicon@arkecosystemicon\endcsname {\simpleiconsmap\symbol{"EAE8}}
- \expandafter\def\csname simpleicon@arloicon\endcsname {\simpleiconsmap\symbol{"EAE9}}
- \expandafter\def\csname simpleicon@armicon\endcsname {\simpleiconsmap\symbol{"EAEA}}
- \expandafter\def\csname simpleicon@armkeilicon\endcsname {\simpleiconsmap\symbol{"EAEB}}
- \expandafter\def\csname simpleicon@arstechnicaicon\endcsname {\simpleiconsmap\symbol{"EAEC}}
- \expandafter\def\csname simpleicon@artifacthubicon\endcsname {\simpleiconsmap\symbol{"EAED}}
- \expandafter\def\csname simpleicon@artixlinuxicon\endcsname {\simpleiconsmap\symbol{"EAEE}}
- \expandafter\def\csname simpleicon@artstationicon\endcsname {\simpleiconsmap\symbol{"EAEF}}
- \expandafter\def\csname simpleicon@arxivicon\endcsname {\simpleiconsmap\symbol{"EAF0}}
- \expandafter\def\csname simpleicon@asahilinuxicon\endcsname {\simpleiconsmap\symbol{"EAF1}}
- \expandafter\def\csname simpleicon@asanaicon\endcsname {\simpleiconsmap\symbol{"EAF2}}
- \expandafter\def\csname simpleicon@asciidoctoricon\endcsname {\simpleiconsmap\symbol{"EAF3}}
- \expandafter\def\csname simpleicon@asciinemaicon\endcsname {\simpleiconsmap\symbol{"EAF4}}
- \expandafter\def\csname simpleicon@asdaicon\endcsname {\simpleiconsmap\symbol{"EAF5}}
- \expandafter\def\csname simpleicon@asepriteicon\endcsname {\simpleiconsmap\symbol{"EAF6}}
- \expandafter\def\csname simpleicon@askfmicon\endcsname {\simpleiconsmap\symbol{"EAF7}}
- \expandafter\def\csname simpleicon@assemblyscripticon\endcsname {\simpleiconsmap\symbol{"EAF8}}
- \expandafter\def\csname simpleicon@astonmartinicon\endcsname {\simpleiconsmap\symbol{"EAF9}}
- \expandafter\def\csname simpleicon@astroicon\endcsname {\simpleiconsmap\symbol{"EAFA}}
- \expandafter\def\csname simpleicon@asusicon\endcsname {\simpleiconsmap\symbol{"EAFB}}
- \expandafter\def\csname simpleicon@atandticon\endcsname {\simpleiconsmap\symbol{"EAFC}}
- \expandafter\def\csname simpleicon@atariicon\endcsname {\simpleiconsmap\symbol{"EAFD}}
- \expandafter\def\csname simpleicon@atlassianicon\endcsname {\simpleiconsmap\symbol{"EAFE}}
- \expandafter\def\csname simpleicon@auchanicon\endcsname {\simpleiconsmap\symbol{"EAFF}}
- \expandafter\def\csname simpleicon@audacityicon\endcsname {\simpleiconsmap\symbol{"EB00}}
- \expandafter\def\csname simpleicon@audiicon\endcsname {\simpleiconsmap\symbol{"EB01}}
- \expandafter\def\csname simpleicon@audibleicon\endcsname {\simpleiconsmap\symbol{"EB02}}
- \expandafter\def\csname simpleicon@audioboomicon\endcsname {\simpleiconsmap\symbol{"EB03}}
- \expandafter\def\csname simpleicon@audiomackicon\endcsname {\simpleiconsmap\symbol{"EB04}}
- \expandafter\def\csname simpleicon@audiotechnicaicon\endcsname {\simpleiconsmap\symbol{"EB05}}
- \expandafter\def\csname simpleicon@aureliaicon\endcsname {\simpleiconsmap\symbol{"EB06}}
- \expandafter\def\csname simpleicon@auth0icon\endcsname {\simpleiconsmap\symbol{"EB07}}
- \expandafter\def\csname simpleicon@autheliaicon\endcsname {\simpleiconsmap\symbol{"EB08}}
- \expandafter\def\csname simpleicon@authyicon\endcsname {\simpleiconsmap\symbol{"EB09}}
- \expandafter\def\csname simpleicon@autocadicon\endcsname {\simpleiconsmap\symbol{"EB0A}}
- \expandafter\def\csname simpleicon@autodeskicon\endcsname {\simpleiconsmap\symbol{"EB0B}}
- \expandafter\def\csname simpleicon@autodeskmayaicon\endcsname {\simpleiconsmap\symbol{"EB0C}}
- \expandafter\def\csname simpleicon@autodeskreviticon\endcsname {\simpleiconsmap\symbol{"EB0D}}
- \expandafter\def\csname simpleicon@autohotkeyicon\endcsname {\simpleiconsmap\symbol{"EB0E}}
- \expandafter\def\csname simpleicon@autoiticon\endcsname {\simpleiconsmap\symbol{"EB0F}}
- \expandafter\def\csname simpleicon@automatticicon\endcsname {\simpleiconsmap\symbol{"EB10}}
- \expandafter\def\csname simpleicon@autoprefixericon\endcsname {\simpleiconsmap\symbol{"EB11}}
- \expandafter\def\csname simpleicon@autozoneicon\endcsname {\simpleiconsmap\symbol{"EB12}}
- \expandafter\def\csname simpleicon@avajsicon\endcsname {\simpleiconsmap\symbol{"EB13}}
- \expandafter\def\csname simpleicon@avasticon\endcsname {\simpleiconsmap\symbol{"EB14}}
- \expandafter\def\csname simpleicon@aviancaicon\endcsname {\simpleiconsmap\symbol{"EB15}}
- \expandafter\def\csname simpleicon@aviraicon\endcsname {\simpleiconsmap\symbol{"EB16}}
- \expandafter\def\csname simpleicon@awesomelistsicon\endcsname {\simpleiconsmap\symbol{"EB17}}
- \expandafter\def\csname simpleicon@awesomewmicon\endcsname {\simpleiconsmap\symbol{"EB18}}
- \expandafter\def\csname simpleicon@awsamplifyicon\endcsname {\simpleiconsmap\symbol{"EB19}}
- \expandafter\def\csname simpleicon@awselasticloadbalancingicon\endcsname {\simpleiconsmap\symbol{"EB1A}}
- \expandafter\def\csname simpleicon@awsfargateicon\endcsname {\simpleiconsmap\symbol{"EB1B}}
- \expandafter\def\csname simpleicon@awslambdaicon\endcsname {\simpleiconsmap\symbol{"EB1C}}
- \expandafter\def\csname simpleicon@awsorganizationsicon\endcsname {\simpleiconsmap\symbol{"EB1D}}
- \expandafter\def\csname simpleicon@awssecretsmanagericon\endcsname {\simpleiconsmap\symbol{"EB1E}}
- \expandafter\def\csname simpleicon@axiosicon\endcsname {\simpleiconsmap\symbol{"EB1F}}
- \expandafter\def\csname simpleicon@azureartifactsicon\endcsname {\simpleiconsmap\symbol{"EB20}}
- \expandafter\def\csname simpleicon@azuredataexplorericon\endcsname {\simpleiconsmap\symbol{"EB21}}
- \expandafter\def\csname simpleicon@azuredevopsicon\endcsname {\simpleiconsmap\symbol{"EB22}}
- \expandafter\def\csname simpleicon@azurefunctionsicon\endcsname {\simpleiconsmap\symbol{"EB23}}
- \expandafter\def\csname simpleicon@azurepipelinesicon\endcsname {\simpleiconsmap\symbol{"EB24}}
- \expandafter\def\csname simpleicon@babelicon\endcsname {\simpleiconsmap\symbol{"EB25}}
- \expandafter\def\csname simpleicon@babelioicon\endcsname {\simpleiconsmap\symbol{"EB26}}
- \expandafter\def\csname simpleicon@backblazeicon\endcsname {\simpleiconsmap\symbol{"EB27}}
- \expandafter\def\csname simpleicon@backbonedotjsicon\endcsname {\simpleiconsmap\symbol{"EB28}}
- \expandafter\def\csname simpleicon@backendlessicon\endcsname {\simpleiconsmap\symbol{"EB29}}
- \expandafter\def\csname simpleicon@backstageicon\endcsname {\simpleiconsmap\symbol{"EB2A}}
- \expandafter\def\csname simpleicon@badooicon\endcsname {\simpleiconsmap\symbol{"EB2B}}
- \expandafter\def\csname simpleicon@baiduicon\endcsname {\simpleiconsmap\symbol{"EB2C}}
- \expandafter\def\csname simpleicon@bakalariicon\endcsname {\simpleiconsmap\symbol{"EB2D}}
- \expandafter\def\csname simpleicon@bambooicon\endcsname {\simpleiconsmap\symbol{"EB2E}}
- \expandafter\def\csname simpleicon@bandcampicon\endcsname {\simpleiconsmap\symbol{"EB2F}}
- \expandafter\def\csname simpleicon@bandlabicon\endcsname {\simpleiconsmap\symbol{"EB30}}
- \expandafter\def\csname simpleicon@bandrautomationicon\endcsname {\simpleiconsmap\symbol{"EB31}}
- \expandafter\def\csname simpleicon@bandsintownicon\endcsname {\simpleiconsmap\symbol{"EB32}}
- \expandafter\def\csname simpleicon@bankofamericaicon\endcsname {\simpleiconsmap\symbol{"EB33}}
- \expandafter\def\csname simpleicon@barclaysicon\endcsname {\simpleiconsmap\symbol{"EB34}}
- \expandafter\def\csname simpleicon@baremetricsicon\endcsname {\simpleiconsmap\symbol{"EB35}}
- \expandafter\def\csname simpleicon@barmeniaicon\endcsname {\simpleiconsmap\symbol{"EB36}}
- \expandafter\def\csname simpleicon@basecampicon\endcsname {\simpleiconsmap\symbol{"EB37}}
- \expandafter\def\csname simpleicon@basicattentiontokenicon\endcsname {\simpleiconsmap\symbol{"EB38}}
- \expandafter\def\csname simpleicon@bastyonicon\endcsname {\simpleiconsmap\symbol{"EB39}}
- \expandafter\def\csname simpleicon@baticon\endcsname {\simpleiconsmap\symbol{"EB3A}}
- \expandafter\def\csname simpleicon@bataicon\endcsname {\simpleiconsmap\symbol{"EB3B}}
- \expandafter\def\csname simpleicon@battledotneticon\endcsname {\simpleiconsmap\symbol{"EB3C}}
- \expandafter\def\csname simpleicon@bazelicon\endcsname {\simpleiconsmap\symbol{"EB3D}}
- \expandafter\def\csname simpleicon@beatporticon\endcsname {\simpleiconsmap\symbol{"EB3E}}
- \expandafter\def\csname simpleicon@beatsicon\endcsname {\simpleiconsmap\symbol{"EB3F}}
- \expandafter\def\csname simpleicon@beatsbydreicon\endcsname {\simpleiconsmap\symbol{"EB40}}
- \expandafter\def\csname simpleicon@beatstarsicon\endcsname {\simpleiconsmap\symbol{"EB41}}
- \expandafter\def\csname simpleicon@behanceicon\endcsname {\simpleiconsmap\symbol{"EB42}}
- \expandafter\def\csname simpleicon@beijingsubwayicon\endcsname {\simpleiconsmap\symbol{"EB43}}
- \expandafter\def\csname simpleicon@bemicon\endcsname {\simpleiconsmap\symbol{"EB44}}
- \expandafter\def\csname simpleicon@bentleyicon\endcsname {\simpleiconsmap\symbol{"EB45}}
- \expandafter\def\csname simpleicon@bentoicon\endcsname {\simpleiconsmap\symbol{"EB46}}
- \expandafter\def\csname simpleicon@bentoboxicon\endcsname {\simpleiconsmap\symbol{"EB47}}
- \expandafter\def\csname simpleicon@bentomlicon\endcsname {\simpleiconsmap\symbol{"EB48}}
- \expandafter\def\csname simpleicon@berealicon\endcsname {\simpleiconsmap\symbol{"EB49}}
- \expandafter\def\csname simpleicon@betfairicon\endcsname {\simpleiconsmap\symbol{"EB4A}}
- \expandafter\def\csname simpleicon@betterstackicon\endcsname {\simpleiconsmap\symbol{"EB4B}}
- \expandafter\def\csname simpleicon@bevyicon\endcsname {\simpleiconsmap\symbol{"EB4C}}
- \expandafter\def\csname simpleicon@bigbasketicon\endcsname {\simpleiconsmap\symbol{"EB4D}}
- \expandafter\def\csname simpleicon@bigbluebuttonicon\endcsname {\simpleiconsmap\symbol{"EB4E}}
- \expandafter\def\csname simpleicon@bigcartelicon\endcsname {\simpleiconsmap\symbol{"EB4F}}
- \expandafter\def\csname simpleicon@bigcommerceicon\endcsname {\simpleiconsmap\symbol{"EB50}}
- \expandafter\def\csname simpleicon@bilibiliicon\endcsname {\simpleiconsmap\symbol{"EB51}}
- \expandafter\def\csname simpleicon@billboardicon\endcsname {\simpleiconsmap\symbol{"EB52}}
- \expandafter\def\csname simpleicon@bimicon\endcsname {\simpleiconsmap\symbol{"EB53}}
- \expandafter\def\csname simpleicon@binanceicon\endcsname {\simpleiconsmap\symbol{"EB54}}
- \expandafter\def\csname simpleicon@biolinkicon\endcsname {\simpleiconsmap\symbol{"EB55}}
- \expandafter\def\csname simpleicon@biomeicon\endcsname {\simpleiconsmap\symbol{"EB56}}
- \expandafter\def\csname simpleicon@bisecthostingicon\endcsname {\simpleiconsmap\symbol{"EB57}}
- \expandafter\def\csname simpleicon@biticon\endcsname {\simpleiconsmap\symbol{"EB58}}
- \expandafter\def\csname simpleicon@bitbucketicon\endcsname {\simpleiconsmap\symbol{"EB59}}
- \expandafter\def\csname simpleicon@bitcoinicon\endcsname {\simpleiconsmap\symbol{"EB5A}}
- \expandafter\def\csname simpleicon@bitcoincashicon\endcsname {\simpleiconsmap\symbol{"EB5B}}
- \expandafter\def\csname simpleicon@bitcoinsvicon\endcsname {\simpleiconsmap\symbol{"EB5C}}
- \expandafter\def\csname simpleicon@bitcometicon\endcsname {\simpleiconsmap\symbol{"EB5D}}
- \expandafter\def\csname simpleicon@bitdefendericon\endcsname {\simpleiconsmap\symbol{"EB5E}}
- \expandafter\def\csname simpleicon@bitlyicon\endcsname {\simpleiconsmap\symbol{"EB5F}}
- \expandafter\def\csname simpleicon@bitriseicon\endcsname {\simpleiconsmap\symbol{"EB60}}
- \expandafter\def\csname simpleicon@bittorrenticon\endcsname {\simpleiconsmap\symbol{"EB61}}
- \expandafter\def\csname simpleicon@bitwardenicon\endcsname {\simpleiconsmap\symbol{"EB62}}
- \expandafter\def\csname simpleicon@bitwigicon\endcsname {\simpleiconsmap\symbol{"EB63}}
- \expandafter\def\csname simpleicon@blackberryicon\endcsname {\simpleiconsmap\symbol{"EB64}}
- \expandafter\def\csname simpleicon@blackmagicdesignicon\endcsname {\simpleiconsmap\symbol{"EB65}}
- \expandafter\def\csname simpleicon@blazemetericon\endcsname {\simpleiconsmap\symbol{"EB66}}
- \expandafter\def\csname simpleicon@blazoricon\endcsname {\simpleiconsmap\symbol{"EB67}}
- \expandafter\def\csname simpleicon@blendericon\endcsname {\simpleiconsmap\symbol{"EB68}}
- \expandafter\def\csname simpleicon@blockbenchicon\endcsname {\simpleiconsmap\symbol{"EB69}}
- \expandafter\def\csname simpleicon@blockchaindotcomicon\endcsname {\simpleiconsmap\symbol{"EB6A}}
- \expandafter\def\csname simpleicon@bloggericon\endcsname {\simpleiconsmap\symbol{"EB6B}}
- \expandafter\def\csname simpleicon@bloglovinicon\endcsname {\simpleiconsmap\symbol{"EB6C}}
- \expandafter\def\csname simpleicon@blueprinticon\endcsname {\simpleiconsmap\symbol{"EB6D}}
- \expandafter\def\csname simpleicon@blueskyicon\endcsname {\simpleiconsmap\symbol{"EB6E}}
- \expandafter\def\csname simpleicon@bluesoundicon\endcsname {\simpleiconsmap\symbol{"EB6F}}
- \expandafter\def\csname simpleicon@bluetoothicon\endcsname {\simpleiconsmap\symbol{"EB70}}
- \expandafter\def\csname simpleicon@bmcsoftwareicon\endcsname {\simpleiconsmap\symbol{"EB71}}
- \expandafter\def\csname simpleicon@bmwicon\endcsname {\simpleiconsmap\symbol{"EB72}}
- \expandafter\def\csname simpleicon@bnbchainicon\endcsname {\simpleiconsmap\symbol{"EB73}}
- \expandafter\def\csname simpleicon@boardgamegeekicon\endcsname {\simpleiconsmap\symbol{"EB74}}
- \expandafter\def\csname simpleicon@boaticon\endcsname {\simpleiconsmap\symbol{"EB75}}
- \expandafter\def\csname simpleicon@boehringeringelheimicon\endcsname {\simpleiconsmap\symbol{"EB76}}
- \expandafter\def\csname simpleicon@boeingicon\endcsname {\simpleiconsmap\symbol{"EB77}}
- \expandafter\def\csname simpleicon@bombardiericon\endcsname {\simpleiconsmap\symbol{"EB78}}
- \expandafter\def\csname simpleicon@bookalopeicon\endcsname {\simpleiconsmap\symbol{"EB79}}
- \expandafter\def\csname simpleicon@bookbubicon\endcsname {\simpleiconsmap\symbol{"EB7A}}
- \expandafter\def\csname simpleicon@bookmetericon\endcsname {\simpleiconsmap\symbol{"EB7B}}
- \expandafter\def\csname simpleicon@bookmyshowicon\endcsname {\simpleiconsmap\symbol{"EB7C}}
- \expandafter\def\csname simpleicon@bookstackicon\endcsname {\simpleiconsmap\symbol{"EB7D}}
- \expandafter\def\csname simpleicon@boosticon\endcsname {\simpleiconsmap\symbol{"EB7E}}
- \expandafter\def\csname simpleicon@boostyicon\endcsname {\simpleiconsmap\symbol{"EB7F}}
- \expandafter\def\csname simpleicon@bootsicon\endcsname {\simpleiconsmap\symbol{"EB80}}
- \expandafter\def\csname simpleicon@bootstrapicon\endcsname {\simpleiconsmap\symbol{"EB81}}
- \expandafter\def\csname simpleicon@borgbackupicon\endcsname {\simpleiconsmap\symbol{"EB82}}
- \expandafter\def\csname simpleicon@boschicon\endcsname {\simpleiconsmap\symbol{"EB83}}
- \expandafter\def\csname simpleicon@boseicon\endcsname {\simpleiconsmap\symbol{"EB84}}
- \expandafter\def\csname simpleicon@botblecmsicon\endcsname {\simpleiconsmap\symbol{"EB85}}
- \expandafter\def\csname simpleicon@boulangericon\endcsname {\simpleiconsmap\symbol{"EB86}}
- \expandafter\def\csname simpleicon@bowericon\endcsname {\simpleiconsmap\symbol{"EB87}}
- \expandafter\def\csname simpleicon@boxicon\endcsname {\simpleiconsmap\symbol{"EB88}}
- \expandafter\def\csname simpleicon@boxysvgicon\endcsname {\simpleiconsmap\symbol{"EB89}}
- \expandafter\def\csname simpleicon@braintreeicon\endcsname {\simpleiconsmap\symbol{"EB8A}}
- \expandafter\def\csname simpleicon@brandfoldericon\endcsname {\simpleiconsmap\symbol{"EB8B}}
- \expandafter\def\csname simpleicon@braveicon\endcsname {\simpleiconsmap\symbol{"EB8C}}
- \expandafter\def\csname simpleicon@breakericon\endcsname {\simpleiconsmap\symbol{"EB8D}}
- \expandafter\def\csname simpleicon@brenntagicon\endcsname {\simpleiconsmap\symbol{"EB8E}}
- \expandafter\def\csname simpleicon@brevoicon\endcsname {\simpleiconsmap\symbol{"EB8F}}
- \expandafter\def\csname simpleicon@brexicon\endcsname {\simpleiconsmap\symbol{"EB90}}
- \expandafter\def\csname simpleicon@bricksicon\endcsname {\simpleiconsmap\symbol{"EB91}}
- \expandafter\def\csname simpleicon@britishairwaysicon\endcsname {\simpleiconsmap\symbol{"EB92}}
- \expandafter\def\csname simpleicon@broadcomicon\endcsname {\simpleiconsmap\symbol{"EB93}}
- \expandafter\def\csname simpleicon@bsdicon\endcsname {\simpleiconsmap\symbol{"EB94}}
- \expandafter\def\csname simpleicon@bspwmicon\endcsname {\simpleiconsmap\symbol{"EB95}}
- \expandafter\def\csname simpleicon@bticon\endcsname {\simpleiconsmap\symbol{"EB96}}
- \expandafter\def\csname simpleicon@buddyicon\endcsname {\simpleiconsmap\symbol{"EB97}}
- \expandafter\def\csname simpleicon@budibaseicon\endcsname {\simpleiconsmap\symbol{"EB98}}
- \expandafter\def\csname simpleicon@buefyicon\endcsname {\simpleiconsmap\symbol{"EB99}}
- \expandafter\def\csname simpleicon@buffericon\endcsname {\simpleiconsmap\symbol{"EB9A}}
- \expandafter\def\csname simpleicon@bugattiicon\endcsname {\simpleiconsmap\symbol{"EB9B}}
- \expandafter\def\csname simpleicon@bugcrowdicon\endcsname {\simpleiconsmap\symbol{"EB9C}}
- \expandafter\def\csname simpleicon@bugsnagicon\endcsname {\simpleiconsmap\symbol{"EB9D}}
- \expandafter\def\csname simpleicon@buildkiteicon\endcsname {\simpleiconsmap\symbol{"EB9E}}
- \expandafter\def\csname simpleicon@bukalapakicon\endcsname {\simpleiconsmap\symbol{"EB9F}}
- \expandafter\def\csname simpleicon@bulmaicon\endcsname {\simpleiconsmap\symbol{"EBA0}}
- \expandafter\def\csname simpleicon@bunicon\endcsname {\simpleiconsmap\symbol{"EBA1}}
- \expandafter\def\csname simpleicon@bungieicon\endcsname {\simpleiconsmap\symbol{"EBA2}}
- \expandafter\def\csname simpleicon@bunqicon\endcsname {\simpleiconsmap\symbol{"EBA3}}
- \expandafter\def\csname simpleicon@burgerkingicon\endcsname {\simpleiconsmap\symbol{"EBA4}}
- \expandafter\def\csname simpleicon@burpsuiteicon\endcsname {\simpleiconsmap\symbol{"EBA5}}
- \expandafter\def\csname simpleicon@burtonicon\endcsname {\simpleiconsmap\symbol{"EBA6}}
- \expandafter\def\csname simpleicon@buymeacoffeeicon\endcsname {\simpleiconsmap\symbol{"EBA7}}
- \expandafter\def\csname simpleicon@buyselladsicon\endcsname {\simpleiconsmap\symbol{"EBA8}}
- \expandafter\def\csname simpleicon@buzzfeedicon\endcsname {\simpleiconsmap\symbol{"EBA9}}
- \expandafter\def\csname simpleicon@bvgicon\endcsname {\simpleiconsmap\symbol{"EBAA}}
- \expandafter\def\csname simpleicon@byjusicon\endcsname {\simpleiconsmap\symbol{"EBAB}}
- \expandafter\def\csname simpleicon@bytedanceicon\endcsname {\simpleiconsmap\symbol{"EBAC}}
- \expandafter\def\csname simpleicon@cicon\endcsname {\simpleiconsmap\symbol{"EBAD}}
- \expandafter\def\csname simpleicon@cacheticon\endcsname {\simpleiconsmap\symbol{"EBAE}}
- \expandafter\def\csname simpleicon@caddyicon\endcsname {\simpleiconsmap\symbol{"EBAF}}
- \expandafter\def\csname simpleicon@cadillacicon\endcsname {\simpleiconsmap\symbol{"EBB0}}
- \expandafter\def\csname simpleicon@cafepressicon\endcsname {\simpleiconsmap\symbol{"EBB1}}
- \expandafter\def\csname simpleicon@caffeineicon\endcsname {\simpleiconsmap\symbol{"EBB2}}
- \expandafter\def\csname simpleicon@cairographicsicon\endcsname {\simpleiconsmap\symbol{"EBB3}}
- \expandafter\def\csname simpleicon@cairometroicon\endcsname {\simpleiconsmap\symbol{"EBB4}}
- \expandafter\def\csname simpleicon@cakephpicon\endcsname {\simpleiconsmap\symbol{"EBB5}}
- \expandafter\def\csname simpleicon@calendlyicon\endcsname {\simpleiconsmap\symbol{"EBB6}}
- \expandafter\def\csname simpleicon@campaignmonitoricon\endcsname {\simpleiconsmap\symbol{"EBB7}}
- \expandafter\def\csname simpleicon@camundaicon\endcsname {\simpleiconsmap\symbol{"EBB8}}
- \expandafter\def\csname simpleicon@canonicalicon\endcsname {\simpleiconsmap\symbol{"EBB9}}
- \expandafter\def\csname simpleicon@canvaicon\endcsname {\simpleiconsmap\symbol{"EBBA}}
- \expandafter\def\csname simpleicon@canvasicon\endcsname {\simpleiconsmap\symbol{"EBBB}}
- \expandafter\def\csname simpleicon@capacitoricon\endcsname {\simpleiconsmap\symbol{"EBBC}}
- \expandafter\def\csname simpleicon@cardanoicon\endcsname {\simpleiconsmap\symbol{"EBBD}}
- \expandafter\def\csname simpleicon@carlsberggroupicon\endcsname {\simpleiconsmap\symbol{"EBBE}}
- \expandafter\def\csname simpleicon@carrdicon\endcsname {\simpleiconsmap\symbol{"EBBF}}
- \expandafter\def\csname simpleicon@carrefouricon\endcsname {\simpleiconsmap\symbol{"EBC0}}
- \expandafter\def\csname simpleicon@carthrottleicon\endcsname {\simpleiconsmap\symbol{"EBC1}}
- \expandafter\def\csname simpleicon@cartoicon\endcsname {\simpleiconsmap\symbol{"EBC2}}
- \expandafter\def\csname simpleicon@cashappicon\endcsname {\simpleiconsmap\symbol{"EBC3}}
- \expandafter\def\csname simpleicon@castboxicon\endcsname {\simpleiconsmap\symbol{"EBC4}}
- \expandafter\def\csname simpleicon@castoramaicon\endcsname {\simpleiconsmap\symbol{"EBC5}}
- \expandafter\def\csname simpleicon@castroicon\endcsname {\simpleiconsmap\symbol{"EBC6}}
- \expandafter\def\csname simpleicon@caterpillaricon\endcsname {\simpleiconsmap\symbol{"EBC7}}
- \expandafter\def\csname simpleicon@cbcicon\endcsname {\simpleiconsmap\symbol{"EBC8}}
- \expandafter\def\csname simpleicon@cbsicon\endcsname {\simpleiconsmap\symbol{"EBC9}}
- \expandafter\def\csname simpleicon@ccleanericon\endcsname {\simpleiconsmap\symbol{"EBCA}}
- \expandafter\def\csname simpleicon@cdprojekticon\endcsname {\simpleiconsmap\symbol{"EBCB}}
- \expandafter\def\csname simpleicon@celeryicon\endcsname {\simpleiconsmap\symbol{"EBCC}}
- \expandafter\def\csname simpleicon@celestronicon\endcsname {\simpleiconsmap\symbol{"EBCD}}
- \expandafter\def\csname simpleicon@centosicon\endcsname {\simpleiconsmap\symbol{"EBCE}}
- \expandafter\def\csname simpleicon@cephicon\endcsname {\simpleiconsmap\symbol{"EBCF}}
- \expandafter\def\csname simpleicon@cesiumicon\endcsname {\simpleiconsmap\symbol{"EBD0}}
- \expandafter\def\csname simpleicon@chaiicon\endcsname {\simpleiconsmap\symbol{"EBD1}}
- \expandafter\def\csname simpleicon@chainguardicon\endcsname {\simpleiconsmap\symbol{"EBD2}}
- \expandafter\def\csname simpleicon@chainlinkicon\endcsname {\simpleiconsmap\symbol{"EBD3}}
- \expandafter\def\csname simpleicon@chakrauiicon\endcsname {\simpleiconsmap\symbol{"EBD4}}
- \expandafter\def\csname simpleicon@channel4icon\endcsname {\simpleiconsmap\symbol{"EBD5}}
- \expandafter\def\csname simpleicon@charlesicon\endcsname {\simpleiconsmap\symbol{"EBD6}}
- \expandafter\def\csname simpleicon@chartdotjsicon\endcsname {\simpleiconsmap\symbol{"EBD7}}
- \expandafter\def\csname simpleicon@chartmogulicon\endcsname {\simpleiconsmap\symbol{"EBD8}}
- \expandafter\def\csname simpleicon@chaseicon\endcsname {\simpleiconsmap\symbol{"EBD9}}
- \expandafter\def\csname simpleicon@chatboticon\endcsname {\simpleiconsmap\symbol{"EBDA}}
- \expandafter\def\csname simpleicon@chatwooticon\endcsname {\simpleiconsmap\symbol{"EBDB}}
- \expandafter\def\csname simpleicon@checkioicon\endcsname {\simpleiconsmap\symbol{"EBDC}}
- \expandafter\def\csname simpleicon@checkmarxicon\endcsname {\simpleiconsmap\symbol{"EBDD}}
- \expandafter\def\csname simpleicon@checkmkicon\endcsname {\simpleiconsmap\symbol{"EBDE}}
- \expandafter\def\csname simpleicon@chedrauiicon\endcsname {\simpleiconsmap\symbol{"EBDF}}
- \expandafter\def\csname simpleicon@cheerioicon\endcsname {\simpleiconsmap\symbol{"EBE0}}
- \expandafter\def\csname simpleicon@cheficon\endcsname {\simpleiconsmap\symbol{"EBE1}}
- \expandafter\def\csname simpleicon@chemexicon\endcsname {\simpleiconsmap\symbol{"EBE2}}
- \expandafter\def\csname simpleicon@chessdotcomicon\endcsname {\simpleiconsmap\symbol{"EBE3}}
- \expandafter\def\csname simpleicon@chevroleticon\endcsname {\simpleiconsmap\symbol{"EBE4}}
- \expandafter\def\csname simpleicon@chianetworkicon\endcsname {\simpleiconsmap\symbol{"EBE5}}
- \expandafter\def\csname simpleicon@chinaeasternairlinesicon\endcsname {\simpleiconsmap\symbol{"EBE6}}
- \expandafter\def\csname simpleicon@chinasouthernairlinesicon\endcsname {\simpleiconsmap\symbol{"EBE7}}
- \expandafter\def\csname simpleicon@chocolateyicon\endcsname {\simpleiconsmap\symbol{"EBE8}}
- \expandafter\def\csname simpleicon@chromaticicon\endcsname {\simpleiconsmap\symbol{"EBE9}}
- \expandafter\def\csname simpleicon@chromecasticon\endcsname {\simpleiconsmap\symbol{"EBEA}}
- \expandafter\def\csname simpleicon@chryslericon\endcsname {\simpleiconsmap\symbol{"EBEB}}
- \expandafter\def\csname simpleicon@chupachupsicon\endcsname {\simpleiconsmap\symbol{"EBEC}}
- \expandafter\def\csname simpleicon@ciliumicon\endcsname {\simpleiconsmap\symbol{"EBED}}
- \expandafter\def\csname simpleicon@cinema4dicon\endcsname {\simpleiconsmap\symbol{"EBEE}}
- \expandafter\def\csname simpleicon@circleicon\endcsname {\simpleiconsmap\symbol{"EBEF}}
- \expandafter\def\csname simpleicon@circleciicon\endcsname {\simpleiconsmap\symbol{"EBF0}}
- \expandafter\def\csname simpleicon@circuitverseicon\endcsname {\simpleiconsmap\symbol{"EBF1}}
- \expandafter\def\csname simpleicon@cirrusciicon\endcsname {\simpleiconsmap\symbol{"EBF2}}
- \expandafter\def\csname simpleicon@ciscoicon\endcsname {\simpleiconsmap\symbol{"EBF3}}
- \expandafter\def\csname simpleicon@citrixicon\endcsname {\simpleiconsmap\symbol{"EBF4}}
- \expandafter\def\csname simpleicon@citroenicon\endcsname {\simpleiconsmap\symbol{"EBF5}}
- \expandafter\def\csname simpleicon@civicrmicon\endcsname {\simpleiconsmap\symbol{"EBF6}}
- \expandafter\def\csname simpleicon@civoicon\endcsname {\simpleiconsmap\symbol{"EBF7}}
- \expandafter\def\csname simpleicon@ckeditor4icon\endcsname {\simpleiconsmap\symbol{"EBF8}}
- \expandafter\def\csname simpleicon@clarifaiicon\endcsname {\simpleiconsmap\symbol{"EBF9}}
- \expandafter\def\csname simpleicon@clarisicon\endcsname {\simpleiconsmap\symbol{"EBFA}}
- \expandafter\def\csname simpleicon@clarivateicon\endcsname {\simpleiconsmap\symbol{"EBFB}}
- \expandafter\def\csname simpleicon@clerkicon\endcsname {\simpleiconsmap\symbol{"EBFC}}
- \expandafter\def\csname simpleicon@clevercloudicon\endcsname {\simpleiconsmap\symbol{"EBFD}}
- \expandafter\def\csname simpleicon@clickhouseicon\endcsname {\simpleiconsmap\symbol{"EBFE}}
- \expandafter\def\csname simpleicon@clickupicon\endcsname {\simpleiconsmap\symbol{"EBFF}}
- \expandafter\def\csname simpleicon@clionicon\endcsname {\simpleiconsmap\symbol{"EC00}}
- \expandafter\def\csname simpleicon@cliqzicon\endcsname {\simpleiconsmap\symbol{"EC01}}
- \expandafter\def\csname simpleicon@clockifyicon\endcsname {\simpleiconsmap\symbol{"EC02}}
- \expandafter\def\csname simpleicon@clojureicon\endcsname {\simpleiconsmap\symbol{"EC03}}
- \expandafter\def\csname simpleicon@cloud66icon\endcsname {\simpleiconsmap\symbol{"EC04}}
- \expandafter\def\csname simpleicon@cloudbeesicon\endcsname {\simpleiconsmap\symbol{"EC05}}
- \expandafter\def\csname simpleicon@cloudcannonicon\endcsname {\simpleiconsmap\symbol{"EC06}}
- \expandafter\def\csname simpleicon@clouderaicon\endcsname {\simpleiconsmap\symbol{"EC07}}
- \expandafter\def\csname simpleicon@cloudflareicon\endcsname {\simpleiconsmap\symbol{"EC08}}
- \expandafter\def\csname simpleicon@cloudflarepagesicon\endcsname {\simpleiconsmap\symbol{"EC09}}
- \expandafter\def\csname simpleicon@cloudflareworkersicon\endcsname {\simpleiconsmap\symbol{"EC0A}}
- \expandafter\def\csname simpleicon@cloudfoundryicon\endcsname {\simpleiconsmap\symbol{"EC0B}}
- \expandafter\def\csname simpleicon@cloudinaryicon\endcsname {\simpleiconsmap\symbol{"EC0C}}
- \expandafter\def\csname simpleicon@cloudronicon\endcsname {\simpleiconsmap\symbol{"EC0D}}
- \expandafter\def\csname simpleicon@cloudsmithicon\endcsname {\simpleiconsmap\symbol{"EC0E}}
- \expandafter\def\csname simpleicon@cloudwaysicon\endcsname {\simpleiconsmap\symbol{"EC0F}}
- \expandafter\def\csname simpleicon@clubforceicon\endcsname {\simpleiconsmap\symbol{"EC10}}
- \expandafter\def\csname simpleicon@clubhouseicon\endcsname {\simpleiconsmap\symbol{"EC11}}
- \expandafter\def\csname simpleicon@clypicon\endcsname {\simpleiconsmap\symbol{"EC12}}
- \expandafter\def\csname simpleicon@cmakeicon\endcsname {\simpleiconsmap\symbol{"EC13}}
- \expandafter\def\csname simpleicon@cncficon\endcsname {\simpleiconsmap\symbol{"EC14}}
- \expandafter\def\csname simpleicon@cneticon\endcsname {\simpleiconsmap\symbol{"EC15}}
- \expandafter\def\csname simpleicon@cnnicon\endcsname {\simpleiconsmap\symbol{"EC16}}
- \expandafter\def\csname simpleicon@cocacolaicon\endcsname {\simpleiconsmap\symbol{"EC17}}
- \expandafter\def\csname simpleicon@cockpiticon\endcsname {\simpleiconsmap\symbol{"EC18}}
- \expandafter\def\csname simpleicon@cockroachlabsicon\endcsname {\simpleiconsmap\symbol{"EC19}}
- \expandafter\def\csname simpleicon@cocoapodsicon\endcsname {\simpleiconsmap\symbol{"EC1A}}
- \expandafter\def\csname simpleicon@cocosicon\endcsname {\simpleiconsmap\symbol{"EC1B}}
- \expandafter\def\csname simpleicon@codaicon\endcsname {\simpleiconsmap\symbol{"EC1C}}
- \expandafter\def\csname simpleicon@codacyicon\endcsname {\simpleiconsmap\symbol{"EC1D}}
- \expandafter\def\csname simpleicon@codebergicon\endcsname {\simpleiconsmap\symbol{"EC1E}}
- \expandafter\def\csname simpleicon@codeblocksicon\endcsname {\simpleiconsmap\symbol{"EC1F}}
- \expandafter\def\csname simpleicon@codecademyicon\endcsname {\simpleiconsmap\symbol{"EC20}}
- \expandafter\def\csname simpleicon@codeceptjsicon\endcsname {\simpleiconsmap\symbol{"EC21}}
- \expandafter\def\csname simpleicon@codecheficon\endcsname {\simpleiconsmap\symbol{"EC22}}
- \expandafter\def\csname simpleicon@codeclimateicon\endcsname {\simpleiconsmap\symbol{"EC23}}
- \expandafter\def\csname simpleicon@codecovicon\endcsname {\simpleiconsmap\symbol{"EC24}}
- \expandafter\def\csname simpleicon@codefactoricon\endcsname {\simpleiconsmap\symbol{"EC25}}
- \expandafter\def\csname simpleicon@codeforcesicon\endcsname {\simpleiconsmap\symbol{"EC26}}
- \expandafter\def\csname simpleicon@codefreshicon\endcsname {\simpleiconsmap\symbol{"EC27}}
- \expandafter\def\csname simpleicon@codeignitericon\endcsname {\simpleiconsmap\symbol{"EC28}}
- \expandafter\def\csname simpleicon@codeiumicon\endcsname {\simpleiconsmap\symbol{"EC29}}
- \expandafter\def\csname simpleicon@codemagicicon\endcsname {\simpleiconsmap\symbol{"EC2A}}
- \expandafter\def\csname simpleicon@codementoricon\endcsname {\simpleiconsmap\symbol{"EC2B}}
- \expandafter\def\csname simpleicon@codemirroricon\endcsname {\simpleiconsmap\symbol{"EC2C}}
- \expandafter\def\csname simpleicon@codenewbieicon\endcsname {\simpleiconsmap\symbol{"EC2D}}
- \expandafter\def\csname simpleicon@codepenicon\endcsname {\simpleiconsmap\symbol{"EC2E}}
- \expandafter\def\csname simpleicon@codeprojecticon\endcsname {\simpleiconsmap\symbol{"EC2F}}
- \expandafter\def\csname simpleicon@codersrankicon\endcsname {\simpleiconsmap\symbol{"EC30}}
- \expandafter\def\csname simpleicon@coderwallicon\endcsname {\simpleiconsmap\symbol{"EC31}}
- \expandafter\def\csname simpleicon@codesandboxicon\endcsname {\simpleiconsmap\symbol{"EC32}}
- \expandafter\def\csname simpleicon@codeshipicon\endcsname {\simpleiconsmap\symbol{"EC33}}
- \expandafter\def\csname simpleicon@codesignalicon\endcsname {\simpleiconsmap\symbol{"EC34}}
- \expandafter\def\csname simpleicon@codestreamicon\endcsname {\simpleiconsmap\symbol{"EC35}}
- \expandafter\def\csname simpleicon@codewarsicon\endcsname {\simpleiconsmap\symbol{"EC36}}
- \expandafter\def\csname simpleicon@codingameicon\endcsname {\simpleiconsmap\symbol{"EC37}}
- \expandafter\def\csname simpleicon@codingninjasicon\endcsname {\simpleiconsmap\symbol{"EC38}}
- \expandafter\def\csname simpleicon@codioicon\endcsname {\simpleiconsmap\symbol{"EC39}}
- \expandafter\def\csname simpleicon@coffeescripticon\endcsname {\simpleiconsmap\symbol{"EC3A}}
- \expandafter\def\csname simpleicon@coggleicon\endcsname {\simpleiconsmap\symbol{"EC3B}}
- \expandafter\def\csname simpleicon@cognizanticon\endcsname {\simpleiconsmap\symbol{"EC3C}}
- \expandafter\def\csname simpleicon@coilicon\endcsname {\simpleiconsmap\symbol{"EC3D}}
- \expandafter\def\csname simpleicon@coinbaseicon\endcsname {\simpleiconsmap\symbol{"EC3E}}
- \expandafter\def\csname simpleicon@coinmarketcapicon\endcsname {\simpleiconsmap\symbol{"EC3F}}
- \expandafter\def\csname simpleicon@comicfuryicon\endcsname {\simpleiconsmap\symbol{"EC40}}
- \expandafter\def\csname simpleicon@commerzbankicon\endcsname {\simpleiconsmap\symbol{"EC41}}
- \expandafter\def\csname simpleicon@commitlinticon\endcsname {\simpleiconsmap\symbol{"EC42}}
- \expandafter\def\csname simpleicon@commodoreicon\endcsname {\simpleiconsmap\symbol{"EC43}}
- \expandafter\def\csname simpleicon@commonworkflowlanguageicon\endcsname {\simpleiconsmap\symbol{"EC44}}
- \expandafter\def\csname simpleicon@compilerexplorericon\endcsname {\simpleiconsmap\symbol{"EC45}}
- \expandafter\def\csname simpleicon@composericon\endcsname {\simpleiconsmap\symbol{"EC46}}
- \expandafter\def\csname simpleicon@comptiaicon\endcsname {\simpleiconsmap\symbol{"EC47}}
- \expandafter\def\csname simpleicon@comsolicon\endcsname {\simpleiconsmap\symbol{"EC48}}
- \expandafter\def\csname simpleicon@conanicon\endcsname {\simpleiconsmap\symbol{"EC49}}
- \expandafter\def\csname simpleicon@concourseicon\endcsname {\simpleiconsmap\symbol{"EC4A}}
- \expandafter\def\csname simpleicon@condaforgeicon\endcsname {\simpleiconsmap\symbol{"EC4B}}
- \expandafter\def\csname simpleicon@conektaicon\endcsname {\simpleiconsmap\symbol{"EC4C}}
- \expandafter\def\csname simpleicon@confluenceicon\endcsname {\simpleiconsmap\symbol{"EC4D}}
- \expandafter\def\csname simpleicon@construct3icon\endcsname {\simpleiconsmap\symbol{"EC4E}}
- \expandafter\def\csname simpleicon@consulicon\endcsname {\simpleiconsmap\symbol{"EC4F}}
- \expandafter\def\csname simpleicon@contactlesspaymenticon\endcsname {\simpleiconsmap\symbol{"EC50}}
- \expandafter\def\csname simpleicon@containerdicon\endcsname {\simpleiconsmap\symbol{"EC51}}
- \expandafter\def\csname simpleicon@contaoicon\endcsname {\simpleiconsmap\symbol{"EC52}}
- \expandafter\def\csname simpleicon@contentfulicon\endcsname {\simpleiconsmap\symbol{"EC53}}
- \expandafter\def\csname simpleicon@contentstackicon\endcsname {\simpleiconsmap\symbol{"EC54}}
- \expandafter\def\csname simpleicon@contributorcovenanticon\endcsname {\simpleiconsmap\symbol{"EC55}}
- \expandafter\def\csname simpleicon@conventionalcommitsicon\endcsname {\simpleiconsmap\symbol{"EC56}}
- \expandafter\def\csname simpleicon@convertioicon\endcsname {\simpleiconsmap\symbol{"EC57}}
- \expandafter\def\csname simpleicon@cookiecuttericon\endcsname {\simpleiconsmap\symbol{"EC58}}
- \expandafter\def\csname simpleicon@coolermastericon\endcsname {\simpleiconsmap\symbol{"EC59}}
- \expandafter\def\csname simpleicon@coopicon\endcsname {\simpleiconsmap\symbol{"EC5A}}
- \expandafter\def\csname simpleicon@copaairlinesicon\endcsname {\simpleiconsmap\symbol{"EC5B}}
- \expandafter\def\csname simpleicon@coppelicon\endcsname {\simpleiconsmap\symbol{"EC5C}}
- \expandafter\def\csname simpleicon@coraicon\endcsname {\simpleiconsmap\symbol{"EC5D}}
- \expandafter\def\csname simpleicon@coreldrawicon\endcsname {\simpleiconsmap\symbol{"EC5E}}
- \expandafter\def\csname simpleicon@coronaengineicon\endcsname {\simpleiconsmap\symbol{"EC5F}}
- \expandafter\def\csname simpleicon@coronarenderericon\endcsname {\simpleiconsmap\symbol{"EC60}}
- \expandafter\def\csname simpleicon@corsairicon\endcsname {\simpleiconsmap\symbol{"EC61}}
- \expandafter\def\csname simpleicon@couchbaseicon\endcsname {\simpleiconsmap\symbol{"EC62}}
- \expandafter\def\csname simpleicon@counterstrikeicon\endcsname {\simpleiconsmap\symbol{"EC63}}
- \expandafter\def\csname simpleicon@countingworksproicon\endcsname {\simpleiconsmap\symbol{"EC64}}
- \expandafter\def\csname simpleicon@courseraicon\endcsname {\simpleiconsmap\symbol{"EC65}}
- \expandafter\def\csname simpleicon@coverallsicon\endcsname {\simpleiconsmap\symbol{"EC66}}
- \expandafter\def\csname simpleicon@cpanelicon\endcsname {\simpleiconsmap\symbol{"EC67}}
- \expandafter\def\csname simpleicon@cplusplusicon\endcsname {\simpleiconsmap\symbol{"EC68}}
- \expandafter\def\csname simpleicon@cplusplusbuildericon\endcsname {\simpleiconsmap\symbol{"EC69}}
- \expandafter\def\csname simpleicon@craftcmsicon\endcsname {\simpleiconsmap\symbol{"EC6A}}
- \expandafter\def\csname simpleicon@craftsmanicon\endcsname {\simpleiconsmap\symbol{"EC6B}}
- \expandafter\def\csname simpleicon@cratedbicon\endcsname {\simpleiconsmap\symbol{"EC6C}}
- \expandafter\def\csname simpleicon@crayonicon\endcsname {\simpleiconsmap\symbol{"EC6D}}
- \expandafter\def\csname simpleicon@crealityicon\endcsname {\simpleiconsmap\symbol{"EC6E}}
- \expandafter\def\csname simpleicon@createreactappicon\endcsname {\simpleiconsmap\symbol{"EC6F}}
- \expandafter\def\csname simpleicon@creativecommonsicon\endcsname {\simpleiconsmap\symbol{"EC70}}
- \expandafter\def\csname simpleicon@creativetechnologyicon\endcsname {\simpleiconsmap\symbol{"EC71}}
- \expandafter\def\csname simpleicon@credlyicon\endcsname {\simpleiconsmap\symbol{"EC72}}
- \expandafter\def\csname simpleicon@crehanaicon\endcsname {\simpleiconsmap\symbol{"EC73}}
- \expandafter\def\csname simpleicon@crewunitedicon\endcsname {\simpleiconsmap\symbol{"EC74}}
- \expandafter\def\csname simpleicon@criticalroleicon\endcsname {\simpleiconsmap\symbol{"EC75}}
- \expandafter\def\csname simpleicon@crowdinicon\endcsname {\simpleiconsmap\symbol{"EC76}}
- \expandafter\def\csname simpleicon@crowdsourceicon\endcsname {\simpleiconsmap\symbol{"EC77}}
- \expandafter\def\csname simpleicon@crunchbaseicon\endcsname {\simpleiconsmap\symbol{"EC78}}
- \expandafter\def\csname simpleicon@crunchyrollicon\endcsname {\simpleiconsmap\symbol{"EC79}}
- \expandafter\def\csname simpleicon@cryengineicon\endcsname {\simpleiconsmap\symbol{"EC7A}}
- \expandafter\def\csname simpleicon@cryptpadicon\endcsname {\simpleiconsmap\symbol{"EC7B}}
- \expandafter\def\csname simpleicon@crystalicon\endcsname {\simpleiconsmap\symbol{"EC7C}}
- \expandafter\def\csname simpleicon@csharpicon\endcsname {\simpleiconsmap\symbol{"EC7D}}
- \expandafter\def\csname simpleicon@css3icon\endcsname {\simpleiconsmap\symbol{"EC7E}}
- \expandafter\def\csname simpleicon@cssmodulesicon\endcsname {\simpleiconsmap\symbol{"EC7F}}
- \expandafter\def\csname simpleicon@csswizardryicon\endcsname {\simpleiconsmap\symbol{"EC80}}
- \expandafter\def\csname simpleicon@ctsicon\endcsname {\simpleiconsmap\symbol{"EC81}}
- \expandafter\def\csname simpleicon@cucumbericon\endcsname {\simpleiconsmap\symbol{"EC82}}
- \expandafter\def\csname simpleicon@culturaicon\endcsname {\simpleiconsmap\symbol{"EC83}}
- \expandafter\def\csname simpleicon@curlicon\endcsname {\simpleiconsmap\symbol{"EC84}}
- \expandafter\def\csname simpleicon@curseforgeicon\endcsname {\simpleiconsmap\symbol{"EC85}}
- \expandafter\def\csname simpleicon@custominkicon\endcsname {\simpleiconsmap\symbol{"EC86}}
- \expandafter\def\csname simpleicon@cyberdefendersicon\endcsname {\simpleiconsmap\symbol{"EC87}}
- \expandafter\def\csname simpleicon@cycling74icon\endcsname {\simpleiconsmap\symbol{"EC88}}
- \expandafter\def\csname simpleicon@cypressicon\endcsname {\simpleiconsmap\symbol{"EC89}}
- \expandafter\def\csname simpleicon@cytoscapedotjsicon\endcsname {\simpleiconsmap\symbol{"EC8A}}
- \expandafter\def\csname simpleicon@dicon\endcsname {\simpleiconsmap\symbol{"EC8B}}
- \expandafter\def\csname simpleicon@d3dotjsicon\endcsname {\simpleiconsmap\symbol{"EC8C}}
- \expandafter\def\csname simpleicon@daciaicon\endcsname {\simpleiconsmap\symbol{"EC8D}}
- \expandafter\def\csname simpleicon@daficon\endcsname {\simpleiconsmap\symbol{"EC8E}}
- \expandafter\def\csname simpleicon@dailydotdevicon\endcsname {\simpleiconsmap\symbol{"EC8F}}
- \expandafter\def\csname simpleicon@dailymotionicon\endcsname {\simpleiconsmap\symbol{"EC90}}
- \expandafter\def\csname simpleicon@daimlericon\endcsname {\simpleiconsmap\symbol{"EC91}}
- \expandafter\def\csname simpleicon@daisyuiicon\endcsname {\simpleiconsmap\symbol{"EC92}}
- \expandafter\def\csname simpleicon@dapricon\endcsname {\simpleiconsmap\symbol{"EC93}}
- \expandafter\def\csname simpleicon@darkreadericon\endcsname {\simpleiconsmap\symbol{"EC94}}
- \expandafter\def\csname simpleicon@darticon\endcsname {\simpleiconsmap\symbol{"EC95}}
- \expandafter\def\csname simpleicon@dartyicon\endcsname {\simpleiconsmap\symbol{"EC96}}
- \expandafter\def\csname simpleicon@dasersteicon\endcsname {\simpleiconsmap\symbol{"EC97}}
- \expandafter\def\csname simpleicon@dashicon\endcsname {\simpleiconsmap\symbol{"EC98}}
- \expandafter\def\csname simpleicon@dashlaneicon\endcsname {\simpleiconsmap\symbol{"EC99}}
- \expandafter\def\csname simpleicon@daskicon\endcsname {\simpleiconsmap\symbol{"EC9A}}
- \expandafter\def\csname simpleicon@dassaultsystemesicon\endcsname {\simpleiconsmap\symbol{"EC9B}}
- \expandafter\def\csname simpleicon@databricksicon\endcsname {\simpleiconsmap\symbol{"EC9C}}
- \expandafter\def\csname simpleicon@datacampicon\endcsname {\simpleiconsmap\symbol{"EC9D}}
- \expandafter\def\csname simpleicon@datadogicon\endcsname {\simpleiconsmap\symbol{"EC9E}}
- \expandafter\def\csname simpleicon@datadotaiicon\endcsname {\simpleiconsmap\symbol{"EC9F}}
- \expandafter\def\csname simpleicon@datagripicon\endcsname {\simpleiconsmap\symbol{"ECA0}}
- \expandafter\def\csname simpleicon@dataikuicon\endcsname {\simpleiconsmap\symbol{"ECA1}}
- \expandafter\def\csname simpleicon@datastaxicon\endcsname {\simpleiconsmap\symbol{"ECA2}}
- \expandafter\def\csname simpleicon@dataverseicon\endcsname {\simpleiconsmap\symbol{"ECA3}}
- \expandafter\def\csname simpleicon@datefnsicon\endcsname {\simpleiconsmap\symbol{"ECA4}}
- \expandafter\def\csname simpleicon@datocmsicon\endcsname {\simpleiconsmap\symbol{"ECA5}}
- \expandafter\def\csname simpleicon@dattoicon\endcsname {\simpleiconsmap\symbol{"ECA6}}
- \expandafter\def\csname simpleicon@davinciresolveicon\endcsname {\simpleiconsmap\symbol{"ECA7}}
- \expandafter\def\csname simpleicon@dazhongdianpingicon\endcsname {\simpleiconsmap\symbol{"ECA8}}
- \expandafter\def\csname simpleicon@daznicon\endcsname {\simpleiconsmap\symbol{"ECA9}}
- \expandafter\def\csname simpleicon@dbeavericon\endcsname {\simpleiconsmap\symbol{"ECAA}}
- \expandafter\def\csname simpleicon@dblpicon\endcsname {\simpleiconsmap\symbol{"ECAB}}
- \expandafter\def\csname simpleicon@dbticon\endcsname {\simpleiconsmap\symbol{"ECAC}}
- \expandafter\def\csname simpleicon@dcentertainmenticon\endcsname {\simpleiconsmap\symbol{"ECAD}}
- \expandafter\def\csname simpleicon@debianicon\endcsname {\simpleiconsmap\symbol{"ECAE}}
- \expandafter\def\csname simpleicon@decapcmsicon\endcsname {\simpleiconsmap\symbol{"ECAF}}
- \expandafter\def\csname simpleicon@decentralandicon\endcsname {\simpleiconsmap\symbol{"ECB0}}
- \expandafter\def\csname simpleicon@dedgeicon\endcsname {\simpleiconsmap\symbol{"ECB1}}
- \expandafter\def\csname simpleicon@deepcoolicon\endcsname {\simpleiconsmap\symbol{"ECB2}}
- \expandafter\def\csname simpleicon@deepgramicon\endcsname {\simpleiconsmap\symbol{"ECB3}}
- \expandafter\def\csname simpleicon@deepinicon\endcsname {\simpleiconsmap\symbol{"ECB4}}
- \expandafter\def\csname simpleicon@deeplicon\endcsname {\simpleiconsmap\symbol{"ECB5}}
- \expandafter\def\csname simpleicon@deepnoteicon\endcsname {\simpleiconsmap\symbol{"ECB6}}
- \expandafter\def\csname simpleicon@deliciousicon\endcsname {\simpleiconsmap\symbol{"ECB7}}
- \expandafter\def\csname simpleicon@deliverooicon\endcsname {\simpleiconsmap\symbol{"ECB8}}
- \expandafter\def\csname simpleicon@dellicon\endcsname {\simpleiconsmap\symbol{"ECB9}}
- \expandafter\def\csname simpleicon@delonghiicon\endcsname {\simpleiconsmap\symbol{"ECBA}}
- \expandafter\def\csname simpleicon@delphiicon\endcsname {\simpleiconsmap\symbol{"ECBB}}
- \expandafter\def\csname simpleicon@deltaicon\endcsname {\simpleiconsmap\symbol{"ECBC}}
- \expandafter\def\csname simpleicon@delugeicon\endcsname {\simpleiconsmap\symbol{"ECBD}}
- \expandafter\def\csname simpleicon@denoicon\endcsname {\simpleiconsmap\symbol{"ECBE}}
- \expandafter\def\csname simpleicon@denonicon\endcsname {\simpleiconsmap\symbol{"ECBF}}
- \expandafter\def\csname simpleicon@dependaboticon\endcsname {\simpleiconsmap\symbol{"ECC0}}
- \expandafter\def\csname simpleicon@dependencycheckicon\endcsname {\simpleiconsmap\symbol{"ECC1}}
- \expandafter\def\csname simpleicon@depositphotosicon\endcsname {\simpleiconsmap\symbol{"ECC2}}
- \expandafter\def\csname simpleicon@derspiegelicon\endcsname {\simpleiconsmap\symbol{"ECC3}}
- \expandafter\def\csname simpleicon@designernewsicon\endcsname {\simpleiconsmap\symbol{"ECC4}}
- \expandafter\def\csname simpleicon@deutschebahnicon\endcsname {\simpleiconsmap\symbol{"ECC5}}
- \expandafter\def\csname simpleicon@deutschebankicon\endcsname {\simpleiconsmap\symbol{"ECC6}}
- \expandafter\def\csname simpleicon@deutscheposticon\endcsname {\simpleiconsmap\symbol{"ECC7}}
- \expandafter\def\csname simpleicon@devdottoicon\endcsname {\simpleiconsmap\symbol{"ECC8}}
- \expandafter\def\csname simpleicon@devexpressicon\endcsname {\simpleiconsmap\symbol{"ECC9}}
- \expandafter\def\csname simpleicon@deviantarticon\endcsname {\simpleiconsmap\symbol{"ECCA}}
- \expandafter\def\csname simpleicon@devposticon\endcsname {\simpleiconsmap\symbol{"ECCB}}
- \expandafter\def\csname simpleicon@devranticon\endcsname {\simpleiconsmap\symbol{"ECCC}}
- \expandafter\def\csname simpleicon@dgraphicon\endcsname {\simpleiconsmap\symbol{"ECCD}}
- \expandafter\def\csname simpleicon@dhlicon\endcsname {\simpleiconsmap\symbol{"ECCE}}
- \expandafter\def\csname simpleicon@diagramsdotneticon\endcsname {\simpleiconsmap\symbol{"ECCF}}
- \expandafter\def\csname simpleicon@dialogflowicon\endcsname {\simpleiconsmap\symbol{"ECD0}}
- \expandafter\def\csname simpleicon@diasporaicon\endcsname {\simpleiconsmap\symbol{"ECD1}}
- \expandafter\def\csname simpleicon@diggicon\endcsname {\simpleiconsmap\symbol{"ECD2}}
- \expandafter\def\csname simpleicon@digikeyelectronicsicon\endcsname {\simpleiconsmap\symbol{"ECD3}}
- \expandafter\def\csname simpleicon@digitaloceanicon\endcsname {\simpleiconsmap\symbol{"ECD4}}
- \expandafter\def\csname simpleicon@dinersclubicon\endcsname {\simpleiconsmap\symbol{"ECD5}}
- \expandafter\def\csname simpleicon@dioricon\endcsname {\simpleiconsmap\symbol{"ECD6}}
- \expandafter\def\csname simpleicon@directusicon\endcsname {\simpleiconsmap\symbol{"ECD7}}
- \expandafter\def\csname simpleicon@discogsicon\endcsname {\simpleiconsmap\symbol{"ECD8}}
- \expandafter\def\csname simpleicon@discordicon\endcsname {\simpleiconsmap\symbol{"ECD9}}
- \expandafter\def\csname simpleicon@discourseicon\endcsname {\simpleiconsmap\symbol{"ECDA}}
- \expandafter\def\csname simpleicon@discovericon\endcsname {\simpleiconsmap\symbol{"ECDB}}
- \expandafter\def\csname simpleicon@disqusicon\endcsname {\simpleiconsmap\symbol{"ECDC}}
- \expandafter\def\csname simpleicon@disrooticon\endcsname {\simpleiconsmap\symbol{"ECDD}}
- \expandafter\def\csname simpleicon@distrokidicon\endcsname {\simpleiconsmap\symbol{"ECDE}}
- \expandafter\def\csname simpleicon@djangoicon\endcsname {\simpleiconsmap\symbol{"ECDF}}
- \expandafter\def\csname simpleicon@djiicon\endcsname {\simpleiconsmap\symbol{"ECE0}}
- \expandafter\def\csname simpleicon@dlibicon\endcsname {\simpleiconsmap\symbol{"ECE1}}
- \expandafter\def\csname simpleicon@dlnaicon\endcsname {\simpleiconsmap\symbol{"ECE2}}
- \expandafter\def\csname simpleicon@dmicon\endcsname {\simpleiconsmap\symbol{"ECE3}}
- \expandafter\def\csname simpleicon@dockericon\endcsname {\simpleiconsmap\symbol{"ECE4}}
- \expandafter\def\csname simpleicon@docsdotrsicon\endcsname {\simpleiconsmap\symbol{"ECE5}}
- \expandafter\def\csname simpleicon@docsifyicon\endcsname {\simpleiconsmap\symbol{"ECE6}}
- \expandafter\def\csname simpleicon@docusaurusicon\endcsname {\simpleiconsmap\symbol{"ECE7}}
- \expandafter\def\csname simpleicon@docusignicon\endcsname {\simpleiconsmap\symbol{"ECE8}}
- \expandafter\def\csname simpleicon@dogecoinicon\endcsname {\simpleiconsmap\symbol{"ECE9}}
- \expandafter\def\csname simpleicon@doiicon\endcsname {\simpleiconsmap\symbol{"ECEA}}
- \expandafter\def\csname simpleicon@dolbyicon\endcsname {\simpleiconsmap\symbol{"ECEB}}
- \expandafter\def\csname simpleicon@doordashicon\endcsname {\simpleiconsmap\symbol{"ECEC}}
- \expandafter\def\csname simpleicon@dotenvicon\endcsname {\simpleiconsmap\symbol{"ECED}}
- \expandafter\def\csname simpleicon@dotneticon\endcsname {\simpleiconsmap\symbol{"ECEE}}
- \expandafter\def\csname simpleicon@doubanicon\endcsname {\simpleiconsmap\symbol{"ECEF}}
- \expandafter\def\csname simpleicon@doubanreadicon\endcsname {\simpleiconsmap\symbol{"ECF0}}
- \expandafter\def\csname simpleicon@dovecoticon\endcsname {\simpleiconsmap\symbol{"ECF1}}
- \expandafter\def\csname simpleicon@doxygenicon\endcsname {\simpleiconsmap\symbol{"ECF2}}
- \expandafter\def\csname simpleicon@dpdicon\endcsname {\simpleiconsmap\symbol{"ECF3}}
- \expandafter\def\csname simpleicon@dragonframeicon\endcsname {\simpleiconsmap\symbol{"ECF4}}
- \expandafter\def\csname simpleicon@draugiemdotlvicon\endcsname {\simpleiconsmap\symbol{"ECF5}}
- \expandafter\def\csname simpleicon@dreamstimeicon\endcsname {\simpleiconsmap\symbol{"ECF6}}
- \expandafter\def\csname simpleicon@dribbbleicon\endcsname {\simpleiconsmap\symbol{"ECF7}}
- \expandafter\def\csname simpleicon@drizzleicon\endcsname {\simpleiconsmap\symbol{"ECF8}}
- \expandafter\def\csname simpleicon@droneicon\endcsname {\simpleiconsmap\symbol{"ECF9}}
- \expandafter\def\csname simpleicon@droobleicon\endcsname {\simpleiconsmap\symbol{"ECFA}}
- \expandafter\def\csname simpleicon@dropboxicon\endcsname {\simpleiconsmap\symbol{"ECFB}}
- \expandafter\def\csname simpleicon@drupalicon\endcsname {\simpleiconsmap\symbol{"ECFC}}
- \expandafter\def\csname simpleicon@dsautomobilesicon\endcsname {\simpleiconsmap\symbol{"ECFD}}
- \expandafter\def\csname simpleicon@dtsicon\endcsname {\simpleiconsmap\symbol{"ECFE}}
- \expandafter\def\csname simpleicon@dtubeicon\endcsname {\simpleiconsmap\symbol{"ECFF}}
- \expandafter\def\csname simpleicon@ducatiicon\endcsname {\simpleiconsmap\symbol{"ED00}}
- \expandafter\def\csname simpleicon@duckdbicon\endcsname {\simpleiconsmap\symbol{"ED01}}
- \expandafter\def\csname simpleicon@duckduckgoicon\endcsname {\simpleiconsmap\symbol{"ED02}}
- \expandafter\def\csname simpleicon@dungeonsanddragonsicon\endcsname {\simpleiconsmap\symbol{"ED03}}
- \expandafter\def\csname simpleicon@dunkedicon\endcsname {\simpleiconsmap\symbol{"ED04}}
- \expandafter\def\csname simpleicon@dunzoicon\endcsname {\simpleiconsmap\symbol{"ED05}}
- \expandafter\def\csname simpleicon@duolingoicon\endcsname {\simpleiconsmap\symbol{"ED06}}
- \expandafter\def\csname simpleicon@dvcicon\endcsname {\simpleiconsmap\symbol{"ED07}}
- \expandafter\def\csname simpleicon@dwavesystemsicon\endcsname {\simpleiconsmap\symbol{"ED08}}
- \expandafter\def\csname simpleicon@dwmicon\endcsname {\simpleiconsmap\symbol{"ED09}}
- \expandafter\def\csname simpleicon@dynamics365icon\endcsname {\simpleiconsmap\symbol{"ED0A}}
- \expandafter\def\csname simpleicon@dynatraceicon\endcsname {\simpleiconsmap\symbol{"ED0B}}
- \expandafter\def\csname simpleicon@eicon\endcsname {\simpleiconsmap\symbol{"ED0C}}
- \expandafter\def\csname simpleicon@e3icon\endcsname {\simpleiconsmap\symbol{"ED0D}}
- \expandafter\def\csname simpleicon@eaicon\endcsname {\simpleiconsmap\symbol{"ED0E}}
- \expandafter\def\csname simpleicon@eagleicon\endcsname {\simpleiconsmap\symbol{"ED0F}}
- \expandafter\def\csname simpleicon@easyedaicon\endcsname {\simpleiconsmap\symbol{"ED10}}
- \expandafter\def\csname simpleicon@easyjeticon\endcsname {\simpleiconsmap\symbol{"ED11}}
- \expandafter\def\csname simpleicon@ebayicon\endcsname {\simpleiconsmap\symbol{"ED12}}
- \expandafter\def\csname simpleicon@eboxicon\endcsname {\simpleiconsmap\symbol{"ED13}}
- \expandafter\def\csname simpleicon@eclipseadoptiumicon\endcsname {\simpleiconsmap\symbol{"ED14}}
- \expandafter\def\csname simpleicon@eclipsecheicon\endcsname {\simpleiconsmap\symbol{"ED15}}
- \expandafter\def\csname simpleicon@eclipseideicon\endcsname {\simpleiconsmap\symbol{"ED16}}
- \expandafter\def\csname simpleicon@eclipsejettyicon\endcsname {\simpleiconsmap\symbol{"ED17}}
- \expandafter\def\csname simpleicon@eclipsemosquittoicon\endcsname {\simpleiconsmap\symbol{"ED18}}
- \expandafter\def\csname simpleicon@eclipsevertdotxicon\endcsname {\simpleiconsmap\symbol{"ED19}}
- \expandafter\def\csname simpleicon@ecovacsicon\endcsname {\simpleiconsmap\symbol{"ED1A}}
- \expandafter\def\csname simpleicon@edekaicon\endcsname {\simpleiconsmap\symbol{"ED1B}}
- \expandafter\def\csname simpleicon@edgeimpulseicon\endcsname {\simpleiconsmap\symbol{"ED1C}}
- \expandafter\def\csname simpleicon@editorconfigicon\endcsname {\simpleiconsmap\symbol{"ED1D}}
- \expandafter\def\csname simpleicon@edotleclercicon\endcsname {\simpleiconsmap\symbol{"ED1E}}
- \expandafter\def\csname simpleicon@educativeicon\endcsname {\simpleiconsmap\symbol{"ED1F}}
- \expandafter\def\csname simpleicon@edxicon\endcsname {\simpleiconsmap\symbol{"ED20}}
- \expandafter\def\csname simpleicon@eggheadicon\endcsname {\simpleiconsmap\symbol{"ED21}}
- \expandafter\def\csname simpleicon@egnyteicon\endcsname {\simpleiconsmap\symbol{"ED22}}
- \expandafter\def\csname simpleicon@eighticon\endcsname {\simpleiconsmap\symbol{"ED23}}
- \expandafter\def\csname simpleicon@eightsleepicon\endcsname {\simpleiconsmap\symbol{"ED24}}
- \expandafter\def\csname simpleicon@ejsicon\endcsname {\simpleiconsmap\symbol{"ED25}}
- \expandafter\def\csname simpleicon@elasticicon\endcsname {\simpleiconsmap\symbol{"ED26}}
- \expandafter\def\csname simpleicon@elasticcloudicon\endcsname {\simpleiconsmap\symbol{"ED27}}
- \expandafter\def\csname simpleicon@elasticsearchicon\endcsname {\simpleiconsmap\symbol{"ED28}}
- \expandafter\def\csname simpleicon@elasticstackicon\endcsname {\simpleiconsmap\symbol{"ED29}}
- \expandafter\def\csname simpleicon@elavonicon\endcsname {\simpleiconsmap\symbol{"ED2A}}
- \expandafter\def\csname simpleicon@electronicon\endcsname {\simpleiconsmap\symbol{"ED2B}}
- \expandafter\def\csname simpleicon@electronbuildericon\endcsname {\simpleiconsmap\symbol{"ED2C}}
- \expandafter\def\csname simpleicon@electronfiddleicon\endcsname {\simpleiconsmap\symbol{"ED2D}}
- \expandafter\def\csname simpleicon@elegooicon\endcsname {\simpleiconsmap\symbol{"ED2E}}
- \expandafter\def\csname simpleicon@elementicon\endcsname {\simpleiconsmap\symbol{"ED2F}}
- \expandafter\def\csname simpleicon@elementaryicon\endcsname {\simpleiconsmap\symbol{"ED30}}
- \expandafter\def\csname simpleicon@elementoricon\endcsname {\simpleiconsmap\symbol{"ED31}}
- \expandafter\def\csname simpleicon@eleventyicon\endcsname {\simpleiconsmap\symbol{"ED32}}
- \expandafter\def\csname simpleicon@elgatoicon\endcsname {\simpleiconsmap\symbol{"ED33}}
- \expandafter\def\csname simpleicon@elixiricon\endcsname {\simpleiconsmap\symbol{"ED34}}
- \expandafter\def\csname simpleicon@eljuevesicon\endcsname {\simpleiconsmap\symbol{"ED35}}
- \expandafter\def\csname simpleicon@elloicon\endcsname {\simpleiconsmap\symbol{"ED36}}
- \expandafter\def\csname simpleicon@elmicon\endcsname {\simpleiconsmap\symbol{"ED37}}
- \expandafter\def\csname simpleicon@elseviericon\endcsname {\simpleiconsmap\symbol{"ED38}}
- \expandafter\def\csname simpleicon@embarcaderoicon\endcsname {\simpleiconsmap\symbol{"ED39}}
- \expandafter\def\csname simpleicon@embarkicon\endcsname {\simpleiconsmap\symbol{"ED3A}}
- \expandafter\def\csname simpleicon@emberdotjsicon\endcsname {\simpleiconsmap\symbol{"ED3B}}
- \expandafter\def\csname simpleicon@embyicon\endcsname {\simpleiconsmap\symbol{"ED3C}}
- \expandafter\def\csname simpleicon@emiratesicon\endcsname {\simpleiconsmap\symbol{"ED3D}}
- \expandafter\def\csname simpleicon@emlakjeticon\endcsname {\simpleiconsmap\symbol{"ED3E}}
- \expandafter\def\csname simpleicon@empirekredicon\endcsname {\simpleiconsmap\symbol{"ED3F}}
- \expandafter\def\csname simpleicon@endeavourosicon\endcsname {\simpleiconsmap\symbol{"ED40}}
- \expandafter\def\csname simpleicon@engadgeticon\endcsname {\simpleiconsmap\symbol{"ED41}}
- \expandafter\def\csname simpleicon@enpassicon\endcsname {\simpleiconsmap\symbol{"ED42}}
- \expandafter\def\csname simpleicon@enterprisedbicon\endcsname {\simpleiconsmap\symbol{"ED43}}
- \expandafter\def\csname simpleicon@envatoicon\endcsname {\simpleiconsmap\symbol{"ED44}}
- \expandafter\def\csname simpleicon@envoyproxyicon\endcsname {\simpleiconsmap\symbol{"ED45}}
- \expandafter\def\csname simpleicon@epelicon\endcsname {\simpleiconsmap\symbol{"ED46}}
- \expandafter\def\csname simpleicon@epicgamesicon\endcsname {\simpleiconsmap\symbol{"ED47}}
- \expandafter\def\csname simpleicon@epsonicon\endcsname {\simpleiconsmap\symbol{"ED48}}
- \expandafter\def\csname simpleicon@equinixmetalicon\endcsname {\simpleiconsmap\symbol{"ED49}}
- \expandafter\def\csname simpleicon@ericssonicon\endcsname {\simpleiconsmap\symbol{"ED4A}}
- \expandafter\def\csname simpleicon@erlangicon\endcsname {\simpleiconsmap\symbol{"ED4B}}
- \expandafter\def\csname simpleicon@erpnexticon\endcsname {\simpleiconsmap\symbol{"ED4C}}
- \expandafter\def\csname simpleicon@esbuildicon\endcsname {\simpleiconsmap\symbol{"ED4D}}
- \expandafter\def\csname simpleicon@eseaicon\endcsname {\simpleiconsmap\symbol{"ED4E}}
- \expandafter\def\csname simpleicon@eslgamingicon\endcsname {\simpleiconsmap\symbol{"ED4F}}
- \expandafter\def\csname simpleicon@eslinticon\endcsname {\simpleiconsmap\symbol{"ED50}}
- \expandafter\def\csname simpleicon@esotericsoftwareicon\endcsname {\simpleiconsmap\symbol{"ED51}}
- \expandafter\def\csname simpleicon@esphomeicon\endcsname {\simpleiconsmap\symbol{"ED52}}
- \expandafter\def\csname simpleicon@espressificon\endcsname {\simpleiconsmap\symbol{"ED53}}
- \expandafter\def\csname simpleicon@esriicon\endcsname {\simpleiconsmap\symbol{"ED54}}
- \expandafter\def\csname simpleicon@etcdicon\endcsname {\simpleiconsmap\symbol{"ED55}}
- \expandafter\def\csname simpleicon@ethereumicon\endcsname {\simpleiconsmap\symbol{"ED56}}
- \expandafter\def\csname simpleicon@ethersicon\endcsname {\simpleiconsmap\symbol{"ED57}}
- \expandafter\def\csname simpleicon@ethiopianairlinesicon\endcsname {\simpleiconsmap\symbol{"ED58}}
- \expandafter\def\csname simpleicon@etihadairwaysicon\endcsname {\simpleiconsmap\symbol{"ED59}}
- \expandafter\def\csname simpleicon@etsyicon\endcsname {\simpleiconsmap\symbol{"ED5A}}
- \expandafter\def\csname simpleicon@eventbriteicon\endcsname {\simpleiconsmap\symbol{"ED5B}}
- \expandafter\def\csname simpleicon@eventstoreicon\endcsname {\simpleiconsmap\symbol{"ED5C}}
- \expandafter\def\csname simpleicon@evernoteicon\endcsname {\simpleiconsmap\symbol{"ED5D}}
- \expandafter\def\csname simpleicon@excalidrawicon\endcsname {\simpleiconsmap\symbol{"ED5E}}
- \expandafter\def\csname simpleicon@exercismicon\endcsname {\simpleiconsmap\symbol{"ED5F}}
- \expandafter\def\csname simpleicon@exordoicon\endcsname {\simpleiconsmap\symbol{"ED60}}
- \expandafter\def\csname simpleicon@exoscaleicon\endcsname {\simpleiconsmap\symbol{"ED61}}
- \expandafter\def\csname simpleicon@expediaicon\endcsname {\simpleiconsmap\symbol{"ED62}}
- \expandafter\def\csname simpleicon@expensifyicon\endcsname {\simpleiconsmap\symbol{"ED63}}
- \expandafter\def\csname simpleicon@expertsexchangeicon\endcsname {\simpleiconsmap\symbol{"ED64}}
- \expandafter\def\csname simpleicon@expoicon\endcsname {\simpleiconsmap\symbol{"ED65}}
- \expandafter\def\csname simpleicon@expressicon\endcsname {\simpleiconsmap\symbol{"ED66}}
- \expandafter\def\csname simpleicon@expressvpnicon\endcsname {\simpleiconsmap\symbol{"ED67}}
- \expandafter\def\csname simpleicon@eyeemicon\endcsname {\simpleiconsmap\symbol{"ED68}}
- \expandafter\def\csname simpleicon@f1icon\endcsname {\simpleiconsmap\symbol{"ED69}}
- \expandafter\def\csname simpleicon@f5icon\endcsname {\simpleiconsmap\symbol{"ED6A}}
- \expandafter\def\csname simpleicon@facebookicon\endcsname {\simpleiconsmap\symbol{"ED6B}}
- \expandafter\def\csname simpleicon@facebookgamingicon\endcsname {\simpleiconsmap\symbol{"ED6C}}
- \expandafter\def\csname simpleicon@facebookliveicon\endcsname {\simpleiconsmap\symbol{"ED6D}}
- \expandafter\def\csname simpleicon@faceiticon\endcsname {\simpleiconsmap\symbol{"ED6E}}
- \expandafter\def\csname simpleicon@facepunchicon\endcsname {\simpleiconsmap\symbol{"ED6F}}
- \expandafter\def\csname simpleicon@fairphoneicon\endcsname {\simpleiconsmap\symbol{"ED70}}
- \expandafter\def\csname simpleicon@falcoicon\endcsname {\simpleiconsmap\symbol{"ED71}}
- \expandafter\def\csname simpleicon@falconicon\endcsname {\simpleiconsmap\symbol{"ED72}}
- \expandafter\def\csname simpleicon@fampayicon\endcsname {\simpleiconsmap\symbol{"ED73}}
- \expandafter\def\csname simpleicon@fandangoicon\endcsname {\simpleiconsmap\symbol{"ED74}}
- \expandafter\def\csname simpleicon@fandomicon\endcsname {\simpleiconsmap\symbol{"ED75}}
- \expandafter\def\csname simpleicon@fanfouicon\endcsname {\simpleiconsmap\symbol{"ED76}}
- \expandafter\def\csname simpleicon@fantomicon\endcsname {\simpleiconsmap\symbol{"ED77}}
- \expandafter\def\csname simpleicon@farcastericon\endcsname {\simpleiconsmap\symbol{"ED78}}
- \expandafter\def\csname simpleicon@fareharboricon\endcsname {\simpleiconsmap\symbol{"ED79}}
- \expandafter\def\csname simpleicon@farfetchicon\endcsname {\simpleiconsmap\symbol{"ED7A}}
- \expandafter\def\csname simpleicon@fastapiicon\endcsname {\simpleiconsmap\symbol{"ED7B}}
- \expandafter\def\csname simpleicon@fastifyicon\endcsname {\simpleiconsmap\symbol{"ED7C}}
- \expandafter\def\csname simpleicon@fastlaneicon\endcsname {\simpleiconsmap\symbol{"ED7D}}
- \expandafter\def\csname simpleicon@fastlyicon\endcsname {\simpleiconsmap\symbol{"ED7E}}
- \expandafter\def\csname simpleicon@fathomicon\endcsname {\simpleiconsmap\symbol{"ED7F}}
- \expandafter\def\csname simpleicon@faunaicon\endcsname {\simpleiconsmap\symbol{"ED80}}
- \expandafter\def\csname simpleicon@favroicon\endcsname {\simpleiconsmap\symbol{"ED81}}
- \expandafter\def\csname simpleicon@fdroidicon\endcsname {\simpleiconsmap\symbol{"ED82}}
- \expandafter\def\csname simpleicon@feathubicon\endcsname {\simpleiconsmap\symbol{"ED83}}
- \expandafter\def\csname simpleicon@fedexicon\endcsname {\simpleiconsmap\symbol{"ED84}}
- \expandafter\def\csname simpleicon@fedoraicon\endcsname {\simpleiconsmap\symbol{"ED85}}
- \expandafter\def\csname simpleicon@feedlyicon\endcsname {\simpleiconsmap\symbol{"ED86}}
- \expandafter\def\csname simpleicon@ferrariicon\endcsname {\simpleiconsmap\symbol{"ED87}}
- \expandafter\def\csname simpleicon@ferrarinvicon\endcsname {\simpleiconsmap\symbol{"ED88}}
- \expandafter\def\csname simpleicon@ferretdbicon\endcsname {\simpleiconsmap\symbol{"ED89}}
- \expandafter\def\csname simpleicon@ffmpegicon\endcsname {\simpleiconsmap\symbol{"ED8A}}
- \expandafter\def\csname simpleicon@fiicon\endcsname {\simpleiconsmap\symbol{"ED8B}}
- \expandafter\def\csname simpleicon@fiaticon\endcsname {\simpleiconsmap\symbol{"ED8C}}
- \expandafter\def\csname simpleicon@fidoallianceicon\endcsname {\simpleiconsmap\symbol{"ED8D}}
- \expandafter\def\csname simpleicon@fifaicon\endcsname {\simpleiconsmap\symbol{"ED8E}}
- \expandafter\def\csname simpleicon@figicon\endcsname {\simpleiconsmap\symbol{"ED8F}}
- \expandafter\def\csname simpleicon@figmaicon\endcsname {\simpleiconsmap\symbol{"ED90}}
- \expandafter\def\csname simpleicon@figshareicon\endcsname {\simpleiconsmap\symbol{"ED91}}
- \expandafter\def\csname simpleicon@filaicon\endcsname {\simpleiconsmap\symbol{"ED92}}
- \expandafter\def\csname simpleicon@filedotioicon\endcsname {\simpleiconsmap\symbol{"ED93}}
- \expandafter\def\csname simpleicon@filesicon\endcsname {\simpleiconsmap\symbol{"ED94}}
- \expandafter\def\csname simpleicon@filezillaicon\endcsname {\simpleiconsmap\symbol{"ED95}}
- \expandafter\def\csname simpleicon@finecoicon\endcsname {\simpleiconsmap\symbol{"ED96}}
- \expandafter\def\csname simpleicon@fingicon\endcsname {\simpleiconsmap\symbol{"ED97}}
- \expandafter\def\csname simpleicon@firebaseicon\endcsname {\simpleiconsmap\symbol{"ED98}}
- \expandafter\def\csname simpleicon@firefishicon\endcsname {\simpleiconsmap\symbol{"ED99}}
- \expandafter\def\csname simpleicon@fireflyiiiicon\endcsname {\simpleiconsmap\symbol{"ED9A}}
- \expandafter\def\csname simpleicon@firefoxicon\endcsname {\simpleiconsmap\symbol{"ED9B}}
- \expandafter\def\csname simpleicon@firefoxbrowsericon\endcsname {\simpleiconsmap\symbol{"ED9C}}
- \expandafter\def\csname simpleicon@fireshipicon\endcsname {\simpleiconsmap\symbol{"ED9D}}
- \expandafter\def\csname simpleicon@firewallaicon\endcsname {\simpleiconsmap\symbol{"ED9E}}
- \expandafter\def\csname simpleicon@firsticon\endcsname {\simpleiconsmap\symbol{"ED9F}}
- \expandafter\def\csname simpleicon@fishshellicon\endcsname {\simpleiconsmap\symbol{"EDA0}}
- \expandafter\def\csname simpleicon@fitbiticon\endcsname {\simpleiconsmap\symbol{"EDA1}}
- \expandafter\def\csname simpleicon@fiteicon\endcsname {\simpleiconsmap\symbol{"EDA2}}
- \expandafter\def\csname simpleicon@fivemicon\endcsname {\simpleiconsmap\symbol{"EDA3}}
- \expandafter\def\csname simpleicon@fiverricon\endcsname {\simpleiconsmap\symbol{"EDA4}}
- \expandafter\def\csname simpleicon@flashforgeicon\endcsname {\simpleiconsmap\symbol{"EDA5}}
- \expandafter\def\csname simpleicon@flaskicon\endcsname {\simpleiconsmap\symbol{"EDA6}}
- \expandafter\def\csname simpleicon@flaticon\endcsname {\simpleiconsmap\symbol{"EDA7}}
- \expandafter\def\csname simpleicon@flathubicon\endcsname {\simpleiconsmap\symbol{"EDA8}}
- \expandafter\def\csname simpleicon@flatpakicon\endcsname {\simpleiconsmap\symbol{"EDA9}}
- \expandafter\def\csname simpleicon@flattricon\endcsname {\simpleiconsmap\symbol{"EDAA}}
- \expandafter\def\csname simpleicon@flickricon\endcsname {\simpleiconsmap\symbol{"EDAB}}
- \expandafter\def\csname simpleicon@flightawareicon\endcsname {\simpleiconsmap\symbol{"EDAC}}
- \expandafter\def\csname simpleicon@flipboardicon\endcsname {\simpleiconsmap\symbol{"EDAD}}
- \expandafter\def\csname simpleicon@flipkarticon\endcsname {\simpleiconsmap\symbol{"EDAE}}
- \expandafter\def\csname simpleicon@floatplaneicon\endcsname {\simpleiconsmap\symbol{"EDAF}}
- \expandafter\def\csname simpleicon@floodicon\endcsname {\simpleiconsmap\symbol{"EDB0}}
- \expandafter\def\csname simpleicon@fluentbiticon\endcsname {\simpleiconsmap\symbol{"EDB1}}
- \expandafter\def\csname simpleicon@fluentdicon\endcsname {\simpleiconsmap\symbol{"EDB2}}
- \expandafter\def\csname simpleicon@flukeicon\endcsname {\simpleiconsmap\symbol{"EDB3}}
- \expandafter\def\csname simpleicon@fluttericon\endcsname {\simpleiconsmap\symbol{"EDB4}}
- \expandafter\def\csname simpleicon@fluxicon\endcsname {\simpleiconsmap\symbol{"EDB5}}
- \expandafter\def\csname simpleicon@fluxusicon\endcsname {\simpleiconsmap\symbol{"EDB6}}
- \expandafter\def\csname simpleicon@flywayicon\endcsname {\simpleiconsmap\symbol{"EDB7}}
- \expandafter\def\csname simpleicon@fmodicon\endcsname {\simpleiconsmap\symbol{"EDB8}}
- \expandafter\def\csname simpleicon@fnacicon\endcsname {\simpleiconsmap\symbol{"EDB9}}
- \expandafter\def\csname simpleicon@foliumicon\endcsname {\simpleiconsmap\symbol{"EDBA}}
- \expandafter\def\csname simpleicon@fonomaicon\endcsname {\simpleiconsmap\symbol{"EDBB}}
- \expandafter\def\csname simpleicon@fontawesomeicon\endcsname {\simpleiconsmap\symbol{"EDBC}}
- \expandafter\def\csname simpleicon@fontbaseicon\endcsname {\simpleiconsmap\symbol{"EDBD}}
- \expandafter\def\csname simpleicon@fontforgeicon\endcsname {\simpleiconsmap\symbol{"EDBE}}
- \expandafter\def\csname simpleicon@foobar2000icon\endcsname {\simpleiconsmap\symbol{"EDBF}}
- \expandafter\def\csname simpleicon@foodpandaicon\endcsname {\simpleiconsmap\symbol{"EDC0}}
- \expandafter\def\csname simpleicon@fordicon\endcsname {\simpleiconsmap\symbol{"EDC1}}
- \expandafter\def\csname simpleicon@forgejoicon\endcsname {\simpleiconsmap\symbol{"EDC2}}
- \expandafter\def\csname simpleicon@formspreeicon\endcsname {\simpleiconsmap\symbol{"EDC3}}
- \expandafter\def\csname simpleicon@formstackicon\endcsname {\simpleiconsmap\symbol{"EDC4}}
- \expandafter\def\csname simpleicon@fortineticon\endcsname {\simpleiconsmap\symbol{"EDC5}}
- \expandafter\def\csname simpleicon@fortranicon\endcsname {\simpleiconsmap\symbol{"EDC6}}
- \expandafter\def\csname simpleicon@fossaicon\endcsname {\simpleiconsmap\symbol{"EDC7}}
- \expandafter\def\csname simpleicon@fossilscmicon\endcsname {\simpleiconsmap\symbol{"EDC8}}
- \expandafter\def\csname simpleicon@foursquareicon\endcsname {\simpleiconsmap\symbol{"EDC9}}
- \expandafter\def\csname simpleicon@foursquarecityguideicon\endcsname {\simpleiconsmap\symbol{"EDCA}}
- \expandafter\def\csname simpleicon@foxicon\endcsname {\simpleiconsmap\symbol{"EDCB}}
- \expandafter\def\csname simpleicon@foxtelicon\endcsname {\simpleiconsmap\symbol{"EDCC}}
- \expandafter\def\csname simpleicon@fozzyicon\endcsname {\simpleiconsmap\symbol{"EDCD}}
- \expandafter\def\csname simpleicon@framericon\endcsname {\simpleiconsmap\symbol{"EDCE}}
- \expandafter\def\csname simpleicon@frameworkicon\endcsname {\simpleiconsmap\symbol{"EDCF}}
- \expandafter\def\csname simpleicon@framework7icon\endcsname {\simpleiconsmap\symbol{"EDD0}}
- \expandafter\def\csname simpleicon@franprixicon\endcsname {\simpleiconsmap\symbol{"EDD1}}
- \expandafter\def\csname simpleicon@frappeicon\endcsname {\simpleiconsmap\symbol{"EDD2}}
- \expandafter\def\csname simpleicon@fraunhofergesellschafticon\endcsname {\simpleiconsmap\symbol{"EDD3}}
- \expandafter\def\csname simpleicon@freebsdicon\endcsname {\simpleiconsmap\symbol{"EDD4}}
- \expandafter\def\csname simpleicon@freecodecampicon\endcsname {\simpleiconsmap\symbol{"EDD5}}
- \expandafter\def\csname simpleicon@freedesktopdotorgicon\endcsname {\simpleiconsmap\symbol{"EDD6}}
- \expandafter\def\csname simpleicon@freelancericon\endcsname {\simpleiconsmap\symbol{"EDD7}}
- \expandafter\def\csname simpleicon@freenasicon\endcsname {\simpleiconsmap\symbol{"EDD8}}
- \expandafter\def\csname simpleicon@freepikicon\endcsname {\simpleiconsmap\symbol{"EDD9}}
- \expandafter\def\csname simpleicon@frontendmentoricon\endcsname {\simpleiconsmap\symbol{"EDDA}}
- \expandafter\def\csname simpleicon@frontifyicon\endcsname {\simpleiconsmap\symbol{"EDDB}}
- \expandafter\def\csname simpleicon@fsecureicon\endcsname {\simpleiconsmap\symbol{"EDDC}}
- \expandafter\def\csname simpleicon@fsharpicon\endcsname {\simpleiconsmap\symbol{"EDDD}}
- \expandafter\def\csname simpleicon@fuboicon\endcsname {\simpleiconsmap\symbol{"EDDE}}
- \expandafter\def\csname simpleicon@fuelericon\endcsname {\simpleiconsmap\symbol{"EDDF}}
- \expandafter\def\csname simpleicon@fugacloudicon\endcsname {\simpleiconsmap\symbol{"EDE0}}
- \expandafter\def\csname simpleicon@fujifilmicon\endcsname {\simpleiconsmap\symbol{"EDE1}}
- \expandafter\def\csname simpleicon@fujitsuicon\endcsname {\simpleiconsmap\symbol{"EDE2}}
- \expandafter\def\csname simpleicon@funimationicon\endcsname {\simpleiconsmap\symbol{"EDE3}}
- \expandafter\def\csname simpleicon@furaffinityicon\endcsname {\simpleiconsmap\symbol{"EDE4}}
- \expandafter\def\csname simpleicon@furrynetworkicon\endcsname {\simpleiconsmap\symbol{"EDE5}}
- \expandafter\def\csname simpleicon@futurelearnicon\endcsname {\simpleiconsmap\symbol{"EDE6}}
- \expandafter\def\csname simpleicon@g2icon\endcsname {\simpleiconsmap\symbol{"EDE7}}
- \expandafter\def\csname simpleicon@g2aicon\endcsname {\simpleiconsmap\symbol{"EDE8}}
- \expandafter\def\csname simpleicon@g2gicon\endcsname {\simpleiconsmap\symbol{"EDE9}}
- \expandafter\def\csname simpleicon@galaxusicon\endcsname {\simpleiconsmap\symbol{"EDEA}}
- \expandafter\def\csname simpleicon@gameandwatchicon\endcsname {\simpleiconsmap\symbol{"EDEB}}
- \expandafter\def\csname simpleicon@gamebananaicon\endcsname {\simpleiconsmap\symbol{"EDEC}}
- \expandafter\def\csname simpleicon@gamedevelopericon\endcsname {\simpleiconsmap\symbol{"EDED}}
- \expandafter\def\csname simpleicon@gamejolticon\endcsname {\simpleiconsmap\symbol{"EDEE}}
- \expandafter\def\csname simpleicon@gamelofticon\endcsname {\simpleiconsmap\symbol{"EDEF}}
- \expandafter\def\csname simpleicon@gamemakericon\endcsname {\simpleiconsmap\symbol{"EDF0}}
- \expandafter\def\csname simpleicon@garminicon\endcsname {\simpleiconsmap\symbol{"EDF1}}
- \expandafter\def\csname simpleicon@gatlingicon\endcsname {\simpleiconsmap\symbol{"EDF2}}
- \expandafter\def\csname simpleicon@gatsbyicon\endcsname {\simpleiconsmap\symbol{"EDF3}}
- \expandafter\def\csname simpleicon@gdalicon\endcsname {\simpleiconsmap\symbol{"EDF4}}
- \expandafter\def\csname simpleicon@geanticon\endcsname {\simpleiconsmap\symbol{"EDF5}}
- \expandafter\def\csname simpleicon@geeksforgeeksicon\endcsname {\simpleiconsmap\symbol{"EDF6}}
- \expandafter\def\csname simpleicon@generalelectricicon\endcsname {\simpleiconsmap\symbol{"EDF7}}
- \expandafter\def\csname simpleicon@generalmotorsicon\endcsname {\simpleiconsmap\symbol{"EDF8}}
- \expandafter\def\csname simpleicon@geniusicon\endcsname {\simpleiconsmap\symbol{"EDF9}}
- \expandafter\def\csname simpleicon@gentooicon\endcsname {\simpleiconsmap\symbol{"EDFA}}
- \expandafter\def\csname simpleicon@geocachingicon\endcsname {\simpleiconsmap\symbol{"EDFB}}
- \expandafter\def\csname simpleicon@geopandasicon\endcsname {\simpleiconsmap\symbol{"EDFC}}
- \expandafter\def\csname simpleicon@gerriticon\endcsname {\simpleiconsmap\symbol{"EDFD}}
- \expandafter\def\csname simpleicon@getxicon\endcsname {\simpleiconsmap\symbol{"EDFE}}
- \expandafter\def\csname simpleicon@ghosticon\endcsname {\simpleiconsmap\symbol{"EDFF}}
- \expandafter\def\csname simpleicon@ghosteryicon\endcsname {\simpleiconsmap\symbol{"EE00}}
- \expandafter\def\csname simpleicon@gimpicon\endcsname {\simpleiconsmap\symbol{"EE01}}
- \expandafter\def\csname simpleicon@ginicon\endcsname {\simpleiconsmap\symbol{"EE02}}
- \expandafter\def\csname simpleicon@giphyicon\endcsname {\simpleiconsmap\symbol{"EE03}}
- \expandafter\def\csname simpleicon@giticon\endcsname {\simpleiconsmap\symbol{"EE04}}
- \expandafter\def\csname simpleicon@gitbookicon\endcsname {\simpleiconsmap\symbol{"EE05}}
- \expandafter\def\csname simpleicon@gitconnectedicon\endcsname {\simpleiconsmap\symbol{"EE06}}
- \expandafter\def\csname simpleicon@giteaicon\endcsname {\simpleiconsmap\symbol{"EE07}}
- \expandafter\def\csname simpleicon@giteeicon\endcsname {\simpleiconsmap\symbol{"EE08}}
- \expandafter\def\csname simpleicon@gitextensionsicon\endcsname {\simpleiconsmap\symbol{"EE09}}
- \expandafter\def\csname simpleicon@githubicon\endcsname {\simpleiconsmap\symbol{"EE0A}}
- \expandafter\def\csname simpleicon@githubactionsicon\endcsname {\simpleiconsmap\symbol{"EE0B}}
- \expandafter\def\csname simpleicon@githubcopiloticon\endcsname {\simpleiconsmap\symbol{"EE0C}}
- \expandafter\def\csname simpleicon@githubpagesicon\endcsname {\simpleiconsmap\symbol{"EE0D}}
- \expandafter\def\csname simpleicon@githubsponsorsicon\endcsname {\simpleiconsmap\symbol{"EE0E}}
- \expandafter\def\csname simpleicon@gitignoredotioicon\endcsname {\simpleiconsmap\symbol{"EE0F}}
- \expandafter\def\csname simpleicon@gitkrakenicon\endcsname {\simpleiconsmap\symbol{"EE10}}
- \expandafter\def\csname simpleicon@gitlabicon\endcsname {\simpleiconsmap\symbol{"EE11}}
- \expandafter\def\csname simpleicon@gitlfsicon\endcsname {\simpleiconsmap\symbol{"EE12}}
- \expandafter\def\csname simpleicon@gitpodicon\endcsname {\simpleiconsmap\symbol{"EE13}}
- \expandafter\def\csname simpleicon@gittericon\endcsname {\simpleiconsmap\symbol{"EE14}}
- \expandafter\def\csname simpleicon@glassdooricon\endcsname {\simpleiconsmap\symbol{"EE15}}
- \expandafter\def\csname simpleicon@glideicon\endcsname {\simpleiconsmap\symbol{"EE16}}
- \expandafter\def\csname simpleicon@glitchicon\endcsname {\simpleiconsmap\symbol{"EE17}}
- \expandafter\def\csname simpleicon@globusicon\endcsname {\simpleiconsmap\symbol{"EE18}}
- \expandafter\def\csname simpleicon@glovoicon\endcsname {\simpleiconsmap\symbol{"EE19}}
- \expandafter\def\csname simpleicon@gmailicon\endcsname {\simpleiconsmap\symbol{"EE1A}}
- \expandafter\def\csname simpleicon@gnomeicon\endcsname {\simpleiconsmap\symbol{"EE1B}}
- \expandafter\def\csname simpleicon@gnometerminalicon\endcsname {\simpleiconsmap\symbol{"EE1C}}
- \expandafter\def\csname simpleicon@gnuicon\endcsname {\simpleiconsmap\symbol{"EE1D}}
- \expandafter\def\csname simpleicon@gnubashicon\endcsname {\simpleiconsmap\symbol{"EE1E}}
- \expandafter\def\csname simpleicon@gnuemacsicon\endcsname {\simpleiconsmap\symbol{"EE1F}}
- \expandafter\def\csname simpleicon@gnuicecaticon\endcsname {\simpleiconsmap\symbol{"EE20}}
- \expandafter\def\csname simpleicon@gnuprivacyguardicon\endcsname {\simpleiconsmap\symbol{"EE21}}
- \expandafter\def\csname simpleicon@gnusocialicon\endcsname {\simpleiconsmap\symbol{"EE22}}
- \expandafter\def\csname simpleicon@goicon\endcsname {\simpleiconsmap\symbol{"EE23}}
- \expandafter\def\csname simpleicon@gocdicon\endcsname {\simpleiconsmap\symbol{"EE24}}
- \expandafter\def\csname simpleicon@godaddyicon\endcsname {\simpleiconsmap\symbol{"EE25}}
- \expandafter\def\csname simpleicon@godotengineicon\endcsname {\simpleiconsmap\symbol{"EE26}}
- \expandafter\def\csname simpleicon@gofundmeicon\endcsname {\simpleiconsmap\symbol{"EE27}}
- \expandafter\def\csname simpleicon@gogdotcomicon\endcsname {\simpleiconsmap\symbol{"EE28}}
- \expandafter\def\csname simpleicon@gojekicon\endcsname {\simpleiconsmap\symbol{"EE29}}
- \expandafter\def\csname simpleicon@golandicon\endcsname {\simpleiconsmap\symbol{"EE2A}}
- \expandafter\def\csname simpleicon@goldenlineicon\endcsname {\simpleiconsmap\symbol{"EE2B}}
- \expandafter\def\csname simpleicon@goldmansachsicon\endcsname {\simpleiconsmap\symbol{"EE2C}}
- \expandafter\def\csname simpleicon@goodreadsicon\endcsname {\simpleiconsmap\symbol{"EE2D}}
- \expandafter\def\csname simpleicon@googleicon\endcsname {\simpleiconsmap\symbol{"EE2E}}
- \expandafter\def\csname simpleicon@googleadmobicon\endcsname {\simpleiconsmap\symbol{"EE2F}}
- \expandafter\def\csname simpleicon@googleadsicon\endcsname {\simpleiconsmap\symbol{"EE30}}
- \expandafter\def\csname simpleicon@googleadsenseicon\endcsname {\simpleiconsmap\symbol{"EE31}}
- \expandafter\def\csname simpleicon@googleanalyticsicon\endcsname {\simpleiconsmap\symbol{"EE32}}
- \expandafter\def\csname simpleicon@googleappsscripticon\endcsname {\simpleiconsmap\symbol{"EE33}}
- \expandafter\def\csname simpleicon@googleassistanticon\endcsname {\simpleiconsmap\symbol{"EE34}}
- \expandafter\def\csname simpleicon@googleauthenticatoricon\endcsname {\simpleiconsmap\symbol{"EE35}}
- \expandafter\def\csname simpleicon@googlebardicon\endcsname {\simpleiconsmap\symbol{"EE36}}
- \expandafter\def\csname simpleicon@googlebigqueryicon\endcsname {\simpleiconsmap\symbol{"EE37}}
- \expandafter\def\csname simpleicon@googlebigtableicon\endcsname {\simpleiconsmap\symbol{"EE38}}
- \expandafter\def\csname simpleicon@googlecalendaricon\endcsname {\simpleiconsmap\symbol{"EE39}}
- \expandafter\def\csname simpleicon@googlecampaignmanager360icon\endcsname {\simpleiconsmap\symbol{"EE3A}}
- \expandafter\def\csname simpleicon@googlecardboardicon\endcsname {\simpleiconsmap\symbol{"EE3B}}
- \expandafter\def\csname simpleicon@googlechaticon\endcsname {\simpleiconsmap\symbol{"EE3C}}
- \expandafter\def\csname simpleicon@googlechromeicon\endcsname {\simpleiconsmap\symbol{"EE3D}}
- \expandafter\def\csname simpleicon@googlechronicleicon\endcsname {\simpleiconsmap\symbol{"EE3E}}
- \expandafter\def\csname simpleicon@googleclassroomicon\endcsname {\simpleiconsmap\symbol{"EE3F}}
- \expandafter\def\csname simpleicon@googlecloudicon\endcsname {\simpleiconsmap\symbol{"EE40}}
- \expandafter\def\csname simpleicon@googlecloudcomposericon\endcsname {\simpleiconsmap\symbol{"EE41}}
- \expandafter\def\csname simpleicon@googlecloudspannericon\endcsname {\simpleiconsmap\symbol{"EE42}}
- \expandafter\def\csname simpleicon@googlecloudstorageicon\endcsname {\simpleiconsmap\symbol{"EE43}}
- \expandafter\def\csname simpleicon@googlecolabicon\endcsname {\simpleiconsmap\symbol{"EE44}}
- \expandafter\def\csname simpleicon@googlecontaineroptimizedosicon\endcsname {\simpleiconsmap\symbol{"EE45}}
- \expandafter\def\csname simpleicon@googledataflowicon\endcsname {\simpleiconsmap\symbol{"EE46}}
- \expandafter\def\csname simpleicon@googledataprocicon\endcsname {\simpleiconsmap\symbol{"EE47}}
- \expandafter\def\csname simpleicon@googledatastudioicon\endcsname {\simpleiconsmap\symbol{"EE48}}
- \expandafter\def\csname simpleicon@googledisplayandvideo360icon\endcsname {\simpleiconsmap\symbol{"EE49}}
- \expandafter\def\csname simpleicon@googledocsicon\endcsname {\simpleiconsmap\symbol{"EE4A}}
- \expandafter\def\csname simpleicon@googledomainsicon\endcsname {\simpleiconsmap\symbol{"EE4B}}
- \expandafter\def\csname simpleicon@googledriveicon\endcsname {\simpleiconsmap\symbol{"EE4C}}
- \expandafter\def\csname simpleicon@googleearthicon\endcsname {\simpleiconsmap\symbol{"EE4D}}
- \expandafter\def\csname simpleicon@googleearthengineicon\endcsname {\simpleiconsmap\symbol{"EE4E}}
- \expandafter\def\csname simpleicon@googlefiticon\endcsname {\simpleiconsmap\symbol{"EE4F}}
- \expandafter\def\csname simpleicon@googlefontsicon\endcsname {\simpleiconsmap\symbol{"EE50}}
- \expandafter\def\csname simpleicon@googleformsicon\endcsname {\simpleiconsmap\symbol{"EE51}}
- \expandafter\def\csname simpleicon@googlegeminiicon\endcsname {\simpleiconsmap\symbol{"EE52}}
- \expandafter\def\csname simpleicon@googlehangoutsicon\endcsname {\simpleiconsmap\symbol{"EE53}}
- \expandafter\def\csname simpleicon@googlehomeicon\endcsname {\simpleiconsmap\symbol{"EE54}}
- \expandafter\def\csname simpleicon@googlekeepicon\endcsname {\simpleiconsmap\symbol{"EE55}}
- \expandafter\def\csname simpleicon@googlelensicon\endcsname {\simpleiconsmap\symbol{"EE56}}
- \expandafter\def\csname simpleicon@googlemapsicon\endcsname {\simpleiconsmap\symbol{"EE57}}
- \expandafter\def\csname simpleicon@googlemarketingplatformicon\endcsname {\simpleiconsmap\symbol{"EE58}}
- \expandafter\def\csname simpleicon@googlemeeticon\endcsname {\simpleiconsmap\symbol{"EE59}}
- \expandafter\def\csname simpleicon@googlemessagesicon\endcsname {\simpleiconsmap\symbol{"EE5A}}
- \expandafter\def\csname simpleicon@googlemybusinessicon\endcsname {\simpleiconsmap\symbol{"EE5B}}
- \expandafter\def\csname simpleicon@googlenearbyicon\endcsname {\simpleiconsmap\symbol{"EE5C}}
- \expandafter\def\csname simpleicon@googlenewsicon\endcsname {\simpleiconsmap\symbol{"EE5D}}
- \expandafter\def\csname simpleicon@googleoptimizeicon\endcsname {\simpleiconsmap\symbol{"EE5E}}
- \expandafter\def\csname simpleicon@googlepayicon\endcsname {\simpleiconsmap\symbol{"EE5F}}
- \expandafter\def\csname simpleicon@googlephotosicon\endcsname {\simpleiconsmap\symbol{"EE60}}
- \expandafter\def\csname simpleicon@googleplayicon\endcsname {\simpleiconsmap\symbol{"EE61}}
- \expandafter\def\csname simpleicon@googlepodcastsicon\endcsname {\simpleiconsmap\symbol{"EE62}}
- \expandafter\def\csname simpleicon@googlepubsubicon\endcsname {\simpleiconsmap\symbol{"EE63}}
- \expandafter\def\csname simpleicon@googlescholaricon\endcsname {\simpleiconsmap\symbol{"EE64}}
- \expandafter\def\csname simpleicon@googlesearchconsoleicon\endcsname {\simpleiconsmap\symbol{"EE65}}
- \expandafter\def\csname simpleicon@googlesheetsicon\endcsname {\simpleiconsmap\symbol{"EE66}}
- \expandafter\def\csname simpleicon@googleslidesicon\endcsname {\simpleiconsmap\symbol{"EE67}}
- \expandafter\def\csname simpleicon@googlestreetviewicon\endcsname {\simpleiconsmap\symbol{"EE68}}
- \expandafter\def\csname simpleicon@googletagmanagericon\endcsname {\simpleiconsmap\symbol{"EE69}}
- \expandafter\def\csname simpleicon@googletasksicon\endcsname {\simpleiconsmap\symbol{"EE6A}}
- \expandafter\def\csname simpleicon@googletranslateicon\endcsname {\simpleiconsmap\symbol{"EE6B}}
- \expandafter\def\csname simpleicon@gotomeetingicon\endcsname {\simpleiconsmap\symbol{"EE6C}}
- \expandafter\def\csname simpleicon@grabicon\endcsname {\simpleiconsmap\symbol{"EE6D}}
- \expandafter\def\csname simpleicon@gradleicon\endcsname {\simpleiconsmap\symbol{"EE6E}}
- \expandafter\def\csname simpleicon@gradleplaypublishericon\endcsname {\simpleiconsmap\symbol{"EE6F}}
- \expandafter\def\csname simpleicon@grafanaicon\endcsname {\simpleiconsmap\symbol{"EE70}}
- \expandafter\def\csname simpleicon@grammarlyicon\endcsname {\simpleiconsmap\symbol{"EE71}}
- \expandafter\def\csname simpleicon@grandfraisicon\endcsname {\simpleiconsmap\symbol{"EE72}}
- \expandafter\def\csname simpleicon@grapheneosicon\endcsname {\simpleiconsmap\symbol{"EE73}}
- \expandafter\def\csname simpleicon@graphiteicon\endcsname {\simpleiconsmap\symbol{"EE74}}
- \expandafter\def\csname simpleicon@graphqlicon\endcsname {\simpleiconsmap\symbol{"EE75}}
- \expandafter\def\csname simpleicon@gravicon\endcsname {\simpleiconsmap\symbol{"EE76}}
- \expandafter\def\csname simpleicon@gravataricon\endcsname {\simpleiconsmap\symbol{"EE77}}
- \expandafter\def\csname simpleicon@graylogicon\endcsname {\simpleiconsmap\symbol{"EE78}}
- \expandafter\def\csname simpleicon@greasyforkicon\endcsname {\simpleiconsmap\symbol{"EE79}}
- \expandafter\def\csname simpleicon@greatlearningicon\endcsname {\simpleiconsmap\symbol{"EE7A}}
- \expandafter\def\csname simpleicon@greenhouseicon\endcsname {\simpleiconsmap\symbol{"EE7B}}
- \expandafter\def\csname simpleicon@greensockicon\endcsname {\simpleiconsmap\symbol{"EE7C}}
- \expandafter\def\csname simpleicon@griddotaiicon\endcsname {\simpleiconsmap\symbol{"EE7D}}
- \expandafter\def\csname simpleicon@gridsomeicon\endcsname {\simpleiconsmap\symbol{"EE7E}}
- \expandafter\def\csname simpleicon@groupmeicon\endcsname {\simpleiconsmap\symbol{"EE7F}}
- \expandafter\def\csname simpleicon@grouponicon\endcsname {\simpleiconsmap\symbol{"EE80}}
- \expandafter\def\csname simpleicon@grubhubicon\endcsname {\simpleiconsmap\symbol{"EE81}}
- \expandafter\def\csname simpleicon@grunticon\endcsname {\simpleiconsmap\symbol{"EE82}}
- \expandafter\def\csname simpleicon@gskicon\endcsname {\simpleiconsmap\symbol{"EE83}}
- \expandafter\def\csname simpleicon@gsmarenadotcomicon\endcsname {\simpleiconsmap\symbol{"EE84}}
- \expandafter\def\csname simpleicon@gstreamericon\endcsname {\simpleiconsmap\symbol{"EE85}}
- \expandafter\def\csname simpleicon@gtkicon\endcsname {\simpleiconsmap\symbol{"EE86}}
- \expandafter\def\csname simpleicon@guangzhoumetroicon\endcsname {\simpleiconsmap\symbol{"EE87}}
- \expandafter\def\csname simpleicon@guildedicon\endcsname {\simpleiconsmap\symbol{"EE88}}
- \expandafter\def\csname simpleicon@gulpicon\endcsname {\simpleiconsmap\symbol{"EE89}}
- \expandafter\def\csname simpleicon@gumroadicon\endcsname {\simpleiconsmap\symbol{"EE8A}}
- \expandafter\def\csname simpleicon@gumtreeicon\endcsname {\simpleiconsmap\symbol{"EE8B}}
- \expandafter\def\csname simpleicon@gunicornicon\endcsname {\simpleiconsmap\symbol{"EE8C}}
- \expandafter\def\csname simpleicon@gurobiicon\endcsname {\simpleiconsmap\symbol{"EE8D}}
- \expandafter\def\csname simpleicon@gutenbergicon\endcsname {\simpleiconsmap\symbol{"EE8E}}
- \expandafter\def\csname simpleicon@h3icon\endcsname {\simpleiconsmap\symbol{"EE8F}}
- \expandafter\def\csname simpleicon@habricon\endcsname {\simpleiconsmap\symbol{"EE90}}
- \expandafter\def\csname simpleicon@hackadayicon\endcsname {\simpleiconsmap\symbol{"EE91}}
- \expandafter\def\csname simpleicon@hackclubicon\endcsname {\simpleiconsmap\symbol{"EE92}}
- \expandafter\def\csname simpleicon@hackerearthicon\endcsname {\simpleiconsmap\symbol{"EE93}}
- \expandafter\def\csname simpleicon@hackernoonicon\endcsname {\simpleiconsmap\symbol{"EE94}}
- \expandafter\def\csname simpleicon@hackeroneicon\endcsname {\simpleiconsmap\symbol{"EE95}}
- \expandafter\def\csname simpleicon@hackerrankicon\endcsname {\simpleiconsmap\symbol{"EE96}}
- \expandafter\def\csname simpleicon@hackstericon\endcsname {\simpleiconsmap\symbol{"EE97}}
- \expandafter\def\csname simpleicon@hacktheboxicon\endcsname {\simpleiconsmap\symbol{"EE98}}
- \expandafter\def\csname simpleicon@halicon\endcsname {\simpleiconsmap\symbol{"EE99}}
- \expandafter\def\csname simpleicon@handlebarsdotjsicon\endcsname {\simpleiconsmap\symbol{"EE9A}}
- \expandafter\def\csname simpleicon@handmicon\endcsname {\simpleiconsmap\symbol{"EE9B}}
- \expandafter\def\csname simpleicon@handshakeicon\endcsname {\simpleiconsmap\symbol{"EE9C}}
- \expandafter\def\csname simpleicon@handshakeprotocolicon\endcsname {\simpleiconsmap\symbol{"EE9D}}
- \expandafter\def\csname simpleicon@happycowicon\endcsname {\simpleiconsmap\symbol{"EE9E}}
- \expandafter\def\csname simpleicon@harboricon\endcsname {\simpleiconsmap\symbol{"EE9F}}
- \expandafter\def\csname simpleicon@harmonyosicon\endcsname {\simpleiconsmap\symbol{"EEA0}}
- \expandafter\def\csname simpleicon@hashicorpicon\endcsname {\simpleiconsmap\symbol{"EEA1}}
- \expandafter\def\csname simpleicon@hashnodeicon\endcsname {\simpleiconsmap\symbol{"EEA2}}
- \expandafter\def\csname simpleicon@haskellicon\endcsname {\simpleiconsmap\symbol{"EEA3}}
- \expandafter\def\csname simpleicon@hasuraicon\endcsname {\simpleiconsmap\symbol{"EEA4}}
- \expandafter\def\csname simpleicon@hatenabookmarkicon\endcsname {\simpleiconsmap\symbol{"EEA5}}
- \expandafter\def\csname simpleicon@haveibeenpwnedicon\endcsname {\simpleiconsmap\symbol{"EEA6}}
- \expandafter\def\csname simpleicon@haxeicon\endcsname {\simpleiconsmap\symbol{"EEA7}}
- \expandafter\def\csname simpleicon@hboicon\endcsname {\simpleiconsmap\symbol{"EEA8}}
- \expandafter\def\csname simpleicon@hclicon\endcsname {\simpleiconsmap\symbol{"EEA9}}
- \expandafter\def\csname simpleicon@hdfcbankicon\endcsname {\simpleiconsmap\symbol{"EEAA}}
- \expandafter\def\csname simpleicon@headlessuiicon\endcsname {\simpleiconsmap\symbol{"EEAB}}
- \expandafter\def\csname simpleicon@headphonezoneicon\endcsname {\simpleiconsmap\symbol{"EEAC}}
- \expandafter\def\csname simpleicon@headspaceicon\endcsname {\simpleiconsmap\symbol{"EEAD}}
- \expandafter\def\csname simpleicon@hearthicon\endcsname {\simpleiconsmap\symbol{"EEAE}}
- \expandafter\def\csname simpleicon@hearthisdotaticon\endcsname {\simpleiconsmap\symbol{"EEAF}}
- \expandafter\def\csname simpleicon@hederaicon\endcsname {\simpleiconsmap\symbol{"EEB0}}
- \expandafter\def\csname simpleicon@heliumicon\endcsname {\simpleiconsmap\symbol{"EEB1}}
- \expandafter\def\csname simpleicon@hellofreshicon\endcsname {\simpleiconsmap\symbol{"EEB2}}
- \expandafter\def\csname simpleicon@hellyhansenicon\endcsname {\simpleiconsmap\symbol{"EEB3}}
- \expandafter\def\csname simpleicon@helmicon\endcsname {\simpleiconsmap\symbol{"EEB4}}
- \expandafter\def\csname simpleicon@helpdeskicon\endcsname {\simpleiconsmap\symbol{"EEB5}}
- \expandafter\def\csname simpleicon@helpscouticon\endcsname {\simpleiconsmap\symbol{"EEB6}}
- \expandafter\def\csname simpleicon@hepsiemlakicon\endcsname {\simpleiconsmap\symbol{"EEB7}}
- \expandafter\def\csname simpleicon@hereicon\endcsname {\simpleiconsmap\symbol{"EEB8}}
- \expandafter\def\csname simpleicon@herokuicon\endcsname {\simpleiconsmap\symbol{"EEB9}}
- \expandafter\def\csname simpleicon@hetznericon\endcsname {\simpleiconsmap\symbol{"EEBA}}
- \expandafter\def\csname simpleicon@hevyicon\endcsname {\simpleiconsmap\symbol{"EEBB}}
- \expandafter\def\csname simpleicon@hexleticon\endcsname {\simpleiconsmap\symbol{"EEBC}}
- \expandafter\def\csname simpleicon@hexoicon\endcsname {\simpleiconsmap\symbol{"EEBD}}
- \expandafter\def\csname simpleicon@heyicon\endcsname {\simpleiconsmap\symbol{"EEBE}}
- \expandafter\def\csname simpleicon@hibernateicon\endcsname {\simpleiconsmap\symbol{"EEBF}}
- \expandafter\def\csname simpleicon@hibobicon\endcsname {\simpleiconsmap\symbol{"EEC0}}
- \expandafter\def\csname simpleicon@hiltonicon\endcsname {\simpleiconsmap\symbol{"EEC1}}
- \expandafter\def\csname simpleicon@hiltonhotelsandresortsicon\endcsname {\simpleiconsmap\symbol{"EEC2}}
- \expandafter\def\csname simpleicon@hitachiicon\endcsname {\simpleiconsmap\symbol{"EEC3}}
- \expandafter\def\csname simpleicon@hiveicon\endcsname {\simpleiconsmap\symbol{"EEC4}}
- \expandafter\def\csname simpleicon@hiveblockchainicon\endcsname {\simpleiconsmap\symbol{"EEC5}}
- \expandafter\def\csname simpleicon@hivemqicon\endcsname {\simpleiconsmap\symbol{"EEC6}}
- \expandafter\def\csname simpleicon@homeadvisoricon\endcsname {\simpleiconsmap\symbol{"EEC7}}
- \expandafter\def\csname simpleicon@homeassistanticon\endcsname {\simpleiconsmap\symbol{"EEC8}}
- \expandafter\def\csname simpleicon@homeassistantcommunitystoreicon\endcsname {\simpleiconsmap\symbol{"EEC9}}
- \expandafter\def\csname simpleicon@homebrewicon\endcsname {\simpleiconsmap\symbol{"EECA}}
- \expandafter\def\csname simpleicon@homebridgeicon\endcsname {\simpleiconsmap\symbol{"EECB}}
- \expandafter\def\csname simpleicon@homifyicon\endcsname {\simpleiconsmap\symbol{"EECC}}
- \expandafter\def\csname simpleicon@hondaicon\endcsname {\simpleiconsmap\symbol{"EECD}}
- \expandafter\def\csname simpleicon@honeyicon\endcsname {\simpleiconsmap\symbol{"EECE}}
- \expandafter\def\csname simpleicon@honoicon\endcsname {\simpleiconsmap\symbol{"EECF}}
- \expandafter\def\csname simpleicon@honoricon\endcsname {\simpleiconsmap\symbol{"EED0}}
- \expandafter\def\csname simpleicon@hootsuiteicon\endcsname {\simpleiconsmap\symbol{"EED1}}
- \expandafter\def\csname simpleicon@hoppscotchicon\endcsname {\simpleiconsmap\symbol{"EED2}}
- \expandafter\def\csname simpleicon@hostingericon\endcsname {\simpleiconsmap\symbol{"EED3}}
- \expandafter\def\csname simpleicon@hotelsdotcomicon\endcsname {\simpleiconsmap\symbol{"EED4}}
- \expandafter\def\csname simpleicon@hotjaricon\endcsname {\simpleiconsmap\symbol{"EED5}}
- \expandafter\def\csname simpleicon@hotwireicon\endcsname {\simpleiconsmap\symbol{"EED6}}
- \expandafter\def\csname simpleicon@houdiniicon\endcsname {\simpleiconsmap\symbol{"EED7}}
- \expandafter\def\csname simpleicon@houzzicon\endcsname {\simpleiconsmap\symbol{"EED8}}
- \expandafter\def\csname simpleicon@hpicon\endcsname {\simpleiconsmap\symbol{"EED9}}
- \expandafter\def\csname simpleicon@hsbcicon\endcsname {\simpleiconsmap\symbol{"EEDA}}
- \expandafter\def\csname simpleicon@html5icon\endcsname {\simpleiconsmap\symbol{"EEDB}}
- \expandafter\def\csname simpleicon@htmlacademyicon\endcsname {\simpleiconsmap\symbol{"EEDC}}
- \expandafter\def\csname simpleicon@htmxicon\endcsname {\simpleiconsmap\symbol{"EEDD}}
- \expandafter\def\csname simpleicon@htopicon\endcsname {\simpleiconsmap\symbol{"EEDE}}
- \expandafter\def\csname simpleicon@httpieicon\endcsname {\simpleiconsmap\symbol{"EEDF}}
- \expandafter\def\csname simpleicon@huaweiicon\endcsname {\simpleiconsmap\symbol{"EEE0}}
- \expandafter\def\csname simpleicon@hubspoticon\endcsname {\simpleiconsmap\symbol{"EEE1}}
- \expandafter\def\csname simpleicon@hugoicon\endcsname {\simpleiconsmap\symbol{"EEE2}}
- \expandafter\def\csname simpleicon@humblebundleicon\endcsname {\simpleiconsmap\symbol{"EEE3}}
- \expandafter\def\csname simpleicon@hungryjacksicon\endcsname {\simpleiconsmap\symbol{"EEE4}}
- \expandafter\def\csname simpleicon@husqvarnaicon\endcsname {\simpleiconsmap\symbol{"EEE5}}
- \expandafter\def\csname simpleicon@hypericon\endcsname {\simpleiconsmap\symbol{"EEE6}}
- \expandafter\def\csname simpleicon@hyperskillicon\endcsname {\simpleiconsmap\symbol{"EEE7}}
- \expandafter\def\csname simpleicon@hypothesisicon\endcsname {\simpleiconsmap\symbol{"EEE8}}
- \expandafter\def\csname simpleicon@hyundaiicon\endcsname {\simpleiconsmap\symbol{"EEE9}}
- \expandafter\def\csname simpleicon@i18nexticon\endcsname {\simpleiconsmap\symbol{"EEEA}}
- \expandafter\def\csname simpleicon@i3icon\endcsname {\simpleiconsmap\symbol{"EEEB}}
- \expandafter\def\csname simpleicon@iataicon\endcsname {\simpleiconsmap\symbol{"EEEC}}
- \expandafter\def\csname simpleicon@ibeaconicon\endcsname {\simpleiconsmap\symbol{"EEED}}
- \expandafter\def\csname simpleicon@iberiaicon\endcsname {\simpleiconsmap\symbol{"EEEE}}
- \expandafter\def\csname simpleicon@ibmicon\endcsname {\simpleiconsmap\symbol{"EEEF}}
- \expandafter\def\csname simpleicon@ibmcloudicon\endcsname {\simpleiconsmap\symbol{"EEF0}}
- \expandafter\def\csname simpleicon@ibmwatsonicon\endcsname {\simpleiconsmap\symbol{"EEF1}}
- \expandafter\def\csname simpleicon@icedicon\endcsname {\simpleiconsmap\symbol{"EEF2}}
- \expandafter\def\csname simpleicon@icelandicon\endcsname {\simpleiconsmap\symbol{"EEF3}}
- \expandafter\def\csname simpleicon@icicibankicon\endcsname {\simpleiconsmap\symbol{"EEF4}}
- \expandafter\def\csname simpleicon@icingaicon\endcsname {\simpleiconsmap\symbol{"EEF5}}
- \expandafter\def\csname simpleicon@icloudicon\endcsname {\simpleiconsmap\symbol{"EEF6}}
- \expandafter\def\csname simpleicon@icomoonicon\endcsname {\simpleiconsmap\symbol{"EEF7}}
- \expandafter\def\csname simpleicon@iconicon\endcsname {\simpleiconsmap\symbol{"EEF8}}
- \expandafter\def\csname simpleicon@iconfindericon\endcsname {\simpleiconsmap\symbol{"EEF9}}
- \expandafter\def\csname simpleicon@iconifyicon\endcsname {\simpleiconsmap\symbol{"EEFA}}
- \expandafter\def\csname simpleicon@iconjaricon\endcsname {\simpleiconsmap\symbol{"EEFB}}
- \expandafter\def\csname simpleicon@icons8icon\endcsname {\simpleiconsmap\symbol{"EEFC}}
- \expandafter\def\csname simpleicon@icqicon\endcsname {\simpleiconsmap\symbol{"EEFD}}
- \expandafter\def\csname simpleicon@ieeeicon\endcsname {\simpleiconsmap\symbol{"EEFE}}
- \expandafter\def\csname simpleicon@ifixiticon\endcsname {\simpleiconsmap\symbol{"EEFF}}
- \expandafter\def\csname simpleicon@ifoodicon\endcsname {\simpleiconsmap\symbol{"EF00}}
- \expandafter\def\csname simpleicon@ifttticon\endcsname {\simpleiconsmap\symbol{"EF01}}
- \expandafter\def\csname simpleicon@igdbicon\endcsname {\simpleiconsmap\symbol{"EF02}}
- \expandafter\def\csname simpleicon@ignicon\endcsname {\simpleiconsmap\symbol{"EF03}}
- \expandafter\def\csname simpleicon@iheartradioicon\endcsname {\simpleiconsmap\symbol{"EF04}}
- \expandafter\def\csname simpleicon@ikeaicon\endcsname {\simpleiconsmap\symbol{"EF05}}
- \expandafter\def\csname simpleicon@iledefrancemobilitesicon\endcsname {\simpleiconsmap\symbol{"EF06}}
- \expandafter\def\csname simpleicon@imagedotscicon\endcsname {\simpleiconsmap\symbol{"EF07}}
- \expandafter\def\csname simpleicon@imagejicon\endcsname {\simpleiconsmap\symbol{"EF08}}
- \expandafter\def\csname simpleicon@imdbicon\endcsname {\simpleiconsmap\symbol{"EF09}}
- \expandafter\def\csname simpleicon@imessageicon\endcsname {\simpleiconsmap\symbol{"EF0A}}
- \expandafter\def\csname simpleicon@imguricon\endcsname {\simpleiconsmap\symbol{"EF0B}}
- \expandafter\def\csname simpleicon@immericon\endcsname {\simpleiconsmap\symbol{"EF0C}}
- \expandafter\def\csname simpleicon@immichicon\endcsname {\simpleiconsmap\symbol{"EF0D}}
- \expandafter\def\csname simpleicon@imouicon\endcsname {\simpleiconsmap\symbol{"EF0E}}
- \expandafter\def\csname simpleicon@improvmxicon\endcsname {\simpleiconsmap\symbol{"EF0F}}
- \expandafter\def\csname simpleicon@indeedicon\endcsname {\simpleiconsmap\symbol{"EF10}}
- \expandafter\def\csname simpleicon@indiansuperleagueicon\endcsname {\simpleiconsmap\symbol{"EF11}}
- \expandafter\def\csname simpleicon@indiehackersicon\endcsname {\simpleiconsmap\symbol{"EF12}}
- \expandafter\def\csname simpleicon@indigoicon\endcsname {\simpleiconsmap\symbol{"EF13}}
- \expandafter\def\csname simpleicon@inertiaicon\endcsname {\simpleiconsmap\symbol{"EF14}}
- \expandafter\def\csname simpleicon@infinitiicon\endcsname {\simpleiconsmap\symbol{"EF15}}
- \expandafter\def\csname simpleicon@influxdbicon\endcsname {\simpleiconsmap\symbol{"EF16}}
- \expandafter\def\csname simpleicon@infoqicon\endcsname {\simpleiconsmap\symbol{"EF17}}
- \expandafter\def\csname simpleicon@informaticaicon\endcsname {\simpleiconsmap\symbol{"EF18}}
- \expandafter\def\csname simpleicon@infosysicon\endcsname {\simpleiconsmap\symbol{"EF19}}
- \expandafter\def\csname simpleicon@infracosticon\endcsname {\simpleiconsmap\symbol{"EF1A}}
- \expandafter\def\csname simpleicon@ingressicon\endcsname {\simpleiconsmap\symbol{"EF1B}}
- \expandafter\def\csname simpleicon@inkdropicon\endcsname {\simpleiconsmap\symbol{"EF1C}}
- \expandafter\def\csname simpleicon@inkscapeicon\endcsname {\simpleiconsmap\symbol{"EF1D}}
- \expandafter\def\csname simpleicon@inoreadericon\endcsname {\simpleiconsmap\symbol{"EF1E}}
- \expandafter\def\csname simpleicon@insomniaicon\endcsname {\simpleiconsmap\symbol{"EF1F}}
- \expandafter\def\csname simpleicon@inspireicon\endcsname {\simpleiconsmap\symbol{"EF20}}
- \expandafter\def\csname simpleicon@insta360icon\endcsname {\simpleiconsmap\symbol{"EF21}}
- \expandafter\def\csname simpleicon@instacarticon\endcsname {\simpleiconsmap\symbol{"EF22}}
- \expandafter\def\csname simpleicon@instagramicon\endcsname {\simpleiconsmap\symbol{"EF23}}
- \expandafter\def\csname simpleicon@instapapericon\endcsname {\simpleiconsmap\symbol{"EF24}}
- \expandafter\def\csname simpleicon@instatusicon\endcsname {\simpleiconsmap\symbol{"EF25}}
- \expandafter\def\csname simpleicon@instructablesicon\endcsname {\simpleiconsmap\symbol{"EF26}}
- \expandafter\def\csname simpleicon@instructureicon\endcsname {\simpleiconsmap\symbol{"EF27}}
- \expandafter\def\csname simpleicon@integromaticon\endcsname {\simpleiconsmap\symbol{"EF28}}
- \expandafter\def\csname simpleicon@intelicon\endcsname {\simpleiconsmap\symbol{"EF29}}
- \expandafter\def\csname simpleicon@intellijideaicon\endcsname {\simpleiconsmap\symbol{"EF2A}}
- \expandafter\def\csname simpleicon@interactiondesignfoundationicon\endcsname {\simpleiconsmap\symbol{"EF2B}}
- \expandafter\def\csname simpleicon@interactjsicon\endcsname {\simpleiconsmap\symbol{"EF2C}}
- \expandafter\def\csname simpleicon@interbaseicon\endcsname {\simpleiconsmap\symbol{"EF2D}}
- \expandafter\def\csname simpleicon@intercomicon\endcsname {\simpleiconsmap\symbol{"EF2E}}
- \expandafter\def\csname simpleicon@intermarcheicon\endcsname {\simpleiconsmap\symbol{"EF2F}}
- \expandafter\def\csname simpleicon@internetarchiveicon\endcsname {\simpleiconsmap\symbol{"EF30}}
- \expandafter\def\csname simpleicon@internetcomputericon\endcsname {\simpleiconsmap\symbol{"EF31}}
- \expandafter\def\csname simpleicon@internetexplorericon\endcsname {\simpleiconsmap\symbol{"EF32}}
- \expandafter\def\csname simpleicon@intigritiicon\endcsname {\simpleiconsmap\symbol{"EF33}}
- \expandafter\def\csname simpleicon@intuiticon\endcsname {\simpleiconsmap\symbol{"EF34}}
- \expandafter\def\csname simpleicon@invisionicon\endcsname {\simpleiconsmap\symbol{"EF35}}
- \expandafter\def\csname simpleicon@invoiceninjaicon\endcsname {\simpleiconsmap\symbol{"EF36}}
- \expandafter\def\csname simpleicon@iobrokericon\endcsname {\simpleiconsmap\symbol{"EF37}}
- \expandafter\def\csname simpleicon@ionicicon\endcsname {\simpleiconsmap\symbol{"EF38}}
- \expandafter\def\csname simpleicon@ionosicon\endcsname {\simpleiconsmap\symbol{"EF39}}
- \expandafter\def\csname simpleicon@iosicon\endcsname {\simpleiconsmap\symbol{"EF3A}}
- \expandafter\def\csname simpleicon@iotaicon\endcsname {\simpleiconsmap\symbol{"EF3B}}
- \expandafter\def\csname simpleicon@ipfsicon\endcsname {\simpleiconsmap\symbol{"EF3C}}
- \expandafter\def\csname simpleicon@irisicon\endcsname {\simpleiconsmap\symbol{"EF3D}}
- \expandafter\def\csname simpleicon@iroboticon\endcsname {\simpleiconsmap\symbol{"EF3E}}
- \expandafter\def\csname simpleicon@isc2icon\endcsname {\simpleiconsmap\symbol{"EF3F}}
- \expandafter\def\csname simpleicon@issuuicon\endcsname {\simpleiconsmap\symbol{"EF40}}
- \expandafter\def\csname simpleicon@istioicon\endcsname {\simpleiconsmap\symbol{"EF41}}
- \expandafter\def\csname simpleicon@itchdotioicon\endcsname {\simpleiconsmap\symbol{"EF42}}
- \expandafter\def\csname simpleicon@iterm2icon\endcsname {\simpleiconsmap\symbol{"EF43}}
- \expandafter\def\csname simpleicon@itunesicon\endcsname {\simpleiconsmap\symbol{"EF44}}
- \expandafter\def\csname simpleicon@itvxicon\endcsname {\simpleiconsmap\symbol{"EF45}}
- \expandafter\def\csname simpleicon@ivecoicon\endcsname {\simpleiconsmap\symbol{"EF46}}
- \expandafter\def\csname simpleicon@jabbericon\endcsname {\simpleiconsmap\symbol{"EF47}}
- \expandafter\def\csname simpleicon@jaegericon\endcsname {\simpleiconsmap\symbol{"EF48}}
- \expandafter\def\csname simpleicon@jaguaricon\endcsname {\simpleiconsmap\symbol{"EF49}}
- \expandafter\def\csname simpleicon@jamboardicon\endcsname {\simpleiconsmap\symbol{"EF4A}}
- \expandafter\def\csname simpleicon@jamesonicon\endcsname {\simpleiconsmap\symbol{"EF4B}}
- \expandafter\def\csname simpleicon@jamstackicon\endcsname {\simpleiconsmap\symbol{"EF4C}}
- \expandafter\def\csname simpleicon@jasmineicon\endcsname {\simpleiconsmap\symbol{"EF4D}}
- \expandafter\def\csname simpleicon@javascripticon\endcsname {\simpleiconsmap\symbol{"EF4E}}
- \expandafter\def\csname simpleicon@jblicon\endcsname {\simpleiconsmap\symbol{"EF4F}}
- \expandafter\def\csname simpleicon@jcbicon\endcsname {\simpleiconsmap\symbol{"EF50}}
- \expandafter\def\csname simpleicon@jeepicon\endcsname {\simpleiconsmap\symbol{"EF51}}
- \expandafter\def\csname simpleicon@jekyllicon\endcsname {\simpleiconsmap\symbol{"EF52}}
- \expandafter\def\csname simpleicon@jellyfinicon\endcsname {\simpleiconsmap\symbol{"EF53}}
- \expandafter\def\csname simpleicon@jenkinsicon\endcsname {\simpleiconsmap\symbol{"EF54}}
- \expandafter\def\csname simpleicon@jesticon\endcsname {\simpleiconsmap\symbol{"EF55}}
- \expandafter\def\csname simpleicon@jeticon\endcsname {\simpleiconsmap\symbol{"EF56}}
- \expandafter\def\csname simpleicon@jetblueicon\endcsname {\simpleiconsmap\symbol{"EF57}}
- \expandafter\def\csname simpleicon@jetbrainsicon\endcsname {\simpleiconsmap\symbol{"EF58}}
- \expandafter\def\csname simpleicon@jetpackcomposeicon\endcsname {\simpleiconsmap\symbol{"EF59}}
- \expandafter\def\csname simpleicon@jfrogicon\endcsname {\simpleiconsmap\symbol{"EF5A}}
- \expandafter\def\csname simpleicon@jfrogpipelinesicon\endcsname {\simpleiconsmap\symbol{"EF5B}}
- \expandafter\def\csname simpleicon@jhipstericon\endcsname {\simpleiconsmap\symbol{"EF5C}}
- \expandafter\def\csname simpleicon@jinjaicon\endcsname {\simpleiconsmap\symbol{"EF5D}}
- \expandafter\def\csname simpleicon@jiraicon\endcsname {\simpleiconsmap\symbol{"EF5E}}
- \expandafter\def\csname simpleicon@jirasoftwareicon\endcsname {\simpleiconsmap\symbol{"EF5F}}
- \expandafter\def\csname simpleicon@jitpackicon\endcsname {\simpleiconsmap\symbol{"EF60}}
- \expandafter\def\csname simpleicon@jitsiicon\endcsname {\simpleiconsmap\symbol{"EF61}}
- \expandafter\def\csname simpleicon@johndeereicon\endcsname {\simpleiconsmap\symbol{"EF62}}
- \expandafter\def\csname simpleicon@joomlaicon\endcsname {\simpleiconsmap\symbol{"EF63}}
- \expandafter\def\csname simpleicon@joplinicon\endcsname {\simpleiconsmap\symbol{"EF64}}
- \expandafter\def\csname simpleicon@jordanicon\endcsname {\simpleiconsmap\symbol{"EF65}}
- \expandafter\def\csname simpleicon@jouavicon\endcsname {\simpleiconsmap\symbol{"EF66}}
- \expandafter\def\csname simpleicon@jovianicon\endcsname {\simpleiconsmap\symbol{"EF67}}
- \expandafter\def\csname simpleicon@jpegicon\endcsname {\simpleiconsmap\symbol{"EF68}}
- \expandafter\def\csname simpleicon@jqueryicon\endcsname {\simpleiconsmap\symbol{"EF69}}
- \expandafter\def\csname simpleicon@jrgroupicon\endcsname {\simpleiconsmap\symbol{"EF6A}}
- \expandafter\def\csname simpleicon@jsdelivricon\endcsname {\simpleiconsmap\symbol{"EF6B}}
- \expandafter\def\csname simpleicon@jsfiddleicon\endcsname {\simpleiconsmap\symbol{"EF6C}}
- \expandafter\def\csname simpleicon@jsonicon\endcsname {\simpleiconsmap\symbol{"EF6D}}
- \expandafter\def\csname simpleicon@jsonwebtokensicon\endcsname {\simpleiconsmap\symbol{"EF6E}}
- \expandafter\def\csname simpleicon@jssicon\endcsname {\simpleiconsmap\symbol{"EF6F}}
- \expandafter\def\csname simpleicon@juceicon\endcsname {\simpleiconsmap\symbol{"EF70}}
- \expandafter\def\csname simpleicon@juejinicon\endcsname {\simpleiconsmap\symbol{"EF71}}
- \expandafter\def\csname simpleicon@jukeicon\endcsname {\simpleiconsmap\symbol{"EF72}}
- \expandafter\def\csname simpleicon@juliaicon\endcsname {\simpleiconsmap\symbol{"EF73}}
- \expandafter\def\csname simpleicon@junipernetworksicon\endcsname {\simpleiconsmap\symbol{"EF74}}
- \expandafter\def\csname simpleicon@junit5icon\endcsname {\simpleiconsmap\symbol{"EF75}}
- \expandafter\def\csname simpleicon@jupytericon\endcsname {\simpleiconsmap\symbol{"EF76}}
- \expandafter\def\csname simpleicon@justeaticon\endcsname {\simpleiconsmap\symbol{"EF77}}
- \expandafter\def\csname simpleicon@justgivingicon\endcsname {\simpleiconsmap\symbol{"EF78}}
- \expandafter\def\csname simpleicon@k3sicon\endcsname {\simpleiconsmap\symbol{"EF79}}
- \expandafter\def\csname simpleicon@k6icon\endcsname {\simpleiconsmap\symbol{"EF7A}}
- \expandafter\def\csname simpleicon@kaggleicon\endcsname {\simpleiconsmap\symbol{"EF7B}}
- \expandafter\def\csname simpleicon@kahooticon\endcsname {\simpleiconsmap\symbol{"EF7C}}
- \expandafter\def\csname simpleicon@kaiosicon\endcsname {\simpleiconsmap\symbol{"EF7D}}
- \expandafter\def\csname simpleicon@kakaoicon\endcsname {\simpleiconsmap\symbol{"EF7E}}
- \expandafter\def\csname simpleicon@kakaotalkicon\endcsname {\simpleiconsmap\symbol{"EF7F}}
- \expandafter\def\csname simpleicon@kalilinuxicon\endcsname {\simpleiconsmap\symbol{"EF80}}
- \expandafter\def\csname simpleicon@kamailioicon\endcsname {\simpleiconsmap\symbol{"EF81}}
- \expandafter\def\csname simpleicon@kanikoicon\endcsname {\simpleiconsmap\symbol{"EF82}}
- \expandafter\def\csname simpleicon@karlsruherverkehrsverbundicon\endcsname {\simpleiconsmap\symbol{"EF83}}
- \expandafter\def\csname simpleicon@kasasmarticon\endcsname {\simpleiconsmap\symbol{"EF84}}
- \expandafter\def\csname simpleicon@kashflowicon\endcsname {\simpleiconsmap\symbol{"EF85}}
- \expandafter\def\csname simpleicon@kasperskyicon\endcsname {\simpleiconsmap\symbol{"EF86}}
- \expandafter\def\csname simpleicon@katacodaicon\endcsname {\simpleiconsmap\symbol{"EF87}}
- \expandafter\def\csname simpleicon@katanaicon\endcsname {\simpleiconsmap\symbol{"EF88}}
- \expandafter\def\csname simpleicon@kauflandicon\endcsname {\simpleiconsmap\symbol{"EF89}}
- \expandafter\def\csname simpleicon@kdeicon\endcsname {\simpleiconsmap\symbol{"EF8A}}
- \expandafter\def\csname simpleicon@kdenliveicon\endcsname {\simpleiconsmap\symbol{"EF8B}}
- \expandafter\def\csname simpleicon@kedroicon\endcsname {\simpleiconsmap\symbol{"EF8C}}
- \expandafter\def\csname simpleicon@keeneticicon\endcsname {\simpleiconsmap\symbol{"EF8D}}
- \expandafter\def\csname simpleicon@keepachangelogicon\endcsname {\simpleiconsmap\symbol{"EF8E}}
- \expandafter\def\csname simpleicon@keepassxcicon\endcsname {\simpleiconsmap\symbol{"EF8F}}
- \expandafter\def\csname simpleicon@kenticoicon\endcsname {\simpleiconsmap\symbol{"EF90}}
- \expandafter\def\csname simpleicon@kerasicon\endcsname {\simpleiconsmap\symbol{"EF91}}
- \expandafter\def\csname simpleicon@keybaseicon\endcsname {\simpleiconsmap\symbol{"EF92}}
- \expandafter\def\csname simpleicon@keycdnicon\endcsname {\simpleiconsmap\symbol{"EF93}}
- \expandafter\def\csname simpleicon@keycloakicon\endcsname {\simpleiconsmap\symbol{"EF94}}
- \expandafter\def\csname simpleicon@keystoneicon\endcsname {\simpleiconsmap\symbol{"EF95}}
- \expandafter\def\csname simpleicon@kfcicon\endcsname {\simpleiconsmap\symbol{"EF96}}
- \expandafter\def\csname simpleicon@khanacademyicon\endcsname {\simpleiconsmap\symbol{"EF97}}
- \expandafter\def\csname simpleicon@khronosgroupicon\endcsname {\simpleiconsmap\symbol{"EF98}}
- \expandafter\def\csname simpleicon@kiaicon\endcsname {\simpleiconsmap\symbol{"EF99}}
- \expandafter\def\csname simpleicon@kibanaicon\endcsname {\simpleiconsmap\symbol{"EF9A}}
- \expandafter\def\csname simpleicon@kicadicon\endcsname {\simpleiconsmap\symbol{"EF9B}}
- \expandafter\def\csname simpleicon@kickicon\endcsname {\simpleiconsmap\symbol{"EF9C}}
- \expandafter\def\csname simpleicon@kickstartericon\endcsname {\simpleiconsmap\symbol{"EF9D}}
- \expandafter\def\csname simpleicon@kikicon\endcsname {\simpleiconsmap\symbol{"EF9E}}
- \expandafter\def\csname simpleicon@kingstontechnologyicon\endcsname {\simpleiconsmap\symbol{"EF9F}}
- \expandafter\def\csname simpleicon@kinopoiskicon\endcsname {\simpleiconsmap\symbol{"EFA0}}
- \expandafter\def\csname simpleicon@kinstaicon\endcsname {\simpleiconsmap\symbol{"EFA1}}
- \expandafter\def\csname simpleicon@kirbyicon\endcsname {\simpleiconsmap\symbol{"EFA2}}
- \expandafter\def\csname simpleicon@kiticon\endcsname {\simpleiconsmap\symbol{"EFA3}}
- \expandafter\def\csname simpleicon@kitsuicon\endcsname {\simpleiconsmap\symbol{"EFA4}}
- \expandafter\def\csname simpleicon@klarnaicon\endcsname {\simpleiconsmap\symbol{"EFA5}}
- \expandafter\def\csname simpleicon@klmicon\endcsname {\simpleiconsmap\symbol{"EFA6}}
- \expandafter\def\csname simpleicon@klookicon\endcsname {\simpleiconsmap\symbol{"EFA7}}
- \expandafter\def\csname simpleicon@knativeicon\endcsname {\simpleiconsmap\symbol{"EFA8}}
- \expandafter\def\csname simpleicon@knexdotjsicon\endcsname {\simpleiconsmap\symbol{"EFA9}}
- \expandafter\def\csname simpleicon@knimeicon\endcsname {\simpleiconsmap\symbol{"EFAA}}
- \expandafter\def\csname simpleicon@knowledgebaseicon\endcsname {\simpleiconsmap\symbol{"EFAB}}
- \expandafter\def\csname simpleicon@knownicon\endcsname {\simpleiconsmap\symbol{"EFAC}}
- \expandafter\def\csname simpleicon@koaicon\endcsname {\simpleiconsmap\symbol{"EFAD}}
- \expandafter\def\csname simpleicon@kocicon\endcsname {\simpleiconsmap\symbol{"EFAE}}
- \expandafter\def\csname simpleicon@kodakicon\endcsname {\simpleiconsmap\symbol{"EFAF}}
- \expandafter\def\csname simpleicon@kodiicon\endcsname {\simpleiconsmap\symbol{"EFB0}}
- \expandafter\def\csname simpleicon@kofaxicon\endcsname {\simpleiconsmap\symbol{"EFB1}}
- \expandafter\def\csname simpleicon@kofiicon\endcsname {\simpleiconsmap\symbol{"EFB2}}
- \expandafter\def\csname simpleicon@komooticon\endcsname {\simpleiconsmap\symbol{"EFB3}}
- \expandafter\def\csname simpleicon@konamiicon\endcsname {\simpleiconsmap\symbol{"EFB4}}
- \expandafter\def\csname simpleicon@kongicon\endcsname {\simpleiconsmap\symbol{"EFB5}}
- \expandafter\def\csname simpleicon@kongregateicon\endcsname {\simpleiconsmap\symbol{"EFB6}}
- \expandafter\def\csname simpleicon@konvaicon\endcsname {\simpleiconsmap\symbol{"EFB7}}
- \expandafter\def\csname simpleicon@kotlinicon\endcsname {\simpleiconsmap\symbol{"EFB8}}
- \expandafter\def\csname simpleicon@koyebicon\endcsname {\simpleiconsmap\symbol{"EFB9}}
- \expandafter\def\csname simpleicon@kritaicon\endcsname {\simpleiconsmap\symbol{"EFBA}}
- \expandafter\def\csname simpleicon@ktmicon\endcsname {\simpleiconsmap\symbol{"EFBB}}
- \expandafter\def\csname simpleicon@ktoricon\endcsname {\simpleiconsmap\symbol{"EFBC}}
- \expandafter\def\csname simpleicon@kuaishouicon\endcsname {\simpleiconsmap\symbol{"EFBD}}
- \expandafter\def\csname simpleicon@kubernetesicon\endcsname {\simpleiconsmap\symbol{"EFBE}}
- \expandafter\def\csname simpleicon@kubuntuicon\endcsname {\simpleiconsmap\symbol{"EFBF}}
- \expandafter\def\csname simpleicon@kucoinicon\endcsname {\simpleiconsmap\symbol{"EFC0}}
- \expandafter\def\csname simpleicon@kumaicon\endcsname {\simpleiconsmap\symbol{"EFC1}}
- \expandafter\def\csname simpleicon@kununuicon\endcsname {\simpleiconsmap\symbol{"EFC2}}
- \expandafter\def\csname simpleicon@kuulaicon\endcsname {\simpleiconsmap\symbol{"EFC3}}
- \expandafter\def\csname simpleicon@kxicon\endcsname {\simpleiconsmap\symbol{"EFC4}}
- \expandafter\def\csname simpleicon@kyoceraicon\endcsname {\simpleiconsmap\symbol{"EFC5}}
- \expandafter\def\csname simpleicon@labviewicon\endcsname {\simpleiconsmap\symbol{"EFC6}}
- \expandafter\def\csname simpleicon@ladaicon\endcsname {\simpleiconsmap\symbol{"EFC7}}
- \expandafter\def\csname simpleicon@lamborghiniicon\endcsname {\simpleiconsmap\symbol{"EFC8}}
- \expandafter\def\csname simpleicon@landrovericon\endcsname {\simpleiconsmap\symbol{"EFC9}}
- \expandafter\def\csname simpleicon@lapceicon\endcsname {\simpleiconsmap\symbol{"EFCA}}
- \expandafter\def\csname simpleicon@laragonicon\endcsname {\simpleiconsmap\symbol{"EFCB}}
- \expandafter\def\csname simpleicon@laravelicon\endcsname {\simpleiconsmap\symbol{"EFCC}}
- \expandafter\def\csname simpleicon@laravelhorizonicon\endcsname {\simpleiconsmap\symbol{"EFCD}}
- \expandafter\def\csname simpleicon@laravelnovaicon\endcsname {\simpleiconsmap\symbol{"EFCE}}
- \expandafter\def\csname simpleicon@lastdotfmicon\endcsname {\simpleiconsmap\symbol{"EFCF}}
- \expandafter\def\csname simpleicon@lastpassicon\endcsname {\simpleiconsmap\symbol{"EFD0}}
- \expandafter\def\csname simpleicon@latexicon\endcsname {\simpleiconsmap\symbol{"EFD1}}
- \expandafter\def\csname simpleicon@launchpadicon\endcsname {\simpleiconsmap\symbol{"EFD2}}
- \expandafter\def\csname simpleicon@lazarusicon\endcsname {\simpleiconsmap\symbol{"EFD3}}
- \expandafter\def\csname simpleicon@lbryicon\endcsname {\simpleiconsmap\symbol{"EFD4}}
- \expandafter\def\csname simpleicon@leaderpriceicon\endcsname {\simpleiconsmap\symbol{"EFD5}}
- \expandafter\def\csname simpleicon@leafleticon\endcsname {\simpleiconsmap\symbol{"EFD6}}
- \expandafter\def\csname simpleicon@leagueoflegendsicon\endcsname {\simpleiconsmap\symbol{"EFD7}}
- \expandafter\def\csname simpleicon@leanpubicon\endcsname {\simpleiconsmap\symbol{"EFD8}}
- \expandafter\def\csname simpleicon@leetcodeicon\endcsname {\simpleiconsmap\symbol{"EFD9}}
- \expandafter\def\csname simpleicon@legacygamesicon\endcsname {\simpleiconsmap\symbol{"EFDA}}
- \expandafter\def\csname simpleicon@leicaicon\endcsname {\simpleiconsmap\symbol{"EFDB}}
- \expandafter\def\csname simpleicon@lemmyicon\endcsname {\simpleiconsmap\symbol{"EFDC}}
- \expandafter\def\csname simpleicon@lenovoicon\endcsname {\simpleiconsmap\symbol{"EFDD}}
- \expandafter\def\csname simpleicon@lensicon\endcsname {\simpleiconsmap\symbol{"EFDE}}
- \expandafter\def\csname simpleicon@leptosicon\endcsname {\simpleiconsmap\symbol{"EFDF}}
- \expandafter\def\csname simpleicon@lequipeicon\endcsname {\simpleiconsmap\symbol{"EFE0}}
- \expandafter\def\csname simpleicon@lernaicon\endcsname {\simpleiconsmap\symbol{"EFE1}}
- \expandafter\def\csname simpleicon@leroymerlinicon\endcsname {\simpleiconsmap\symbol{"EFE2}}
- \expandafter\def\csname simpleicon@leslibrairesicon\endcsname {\simpleiconsmap\symbol{"EFE3}}
- \expandafter\def\csname simpleicon@lessicon\endcsname {\simpleiconsmap\symbol{"EFE4}}
- \expandafter\def\csname simpleicon@letsencrypticon\endcsname {\simpleiconsmap\symbol{"EFE5}}
- \expandafter\def\csname simpleicon@letterboxdicon\endcsname {\simpleiconsmap\symbol{"EFE6}}
- \expandafter\def\csname simpleicon@levelsdotfyiicon\endcsname {\simpleiconsmap\symbol{"EFE7}}
- \expandafter\def\csname simpleicon@lgicon\endcsname {\simpleiconsmap\symbol{"EFE8}}
- \expandafter\def\csname simpleicon@liberadotchaticon\endcsname {\simpleiconsmap\symbol{"EFE9}}
- \expandafter\def\csname simpleicon@liberapayicon\endcsname {\simpleiconsmap\symbol{"EFEA}}
- \expandafter\def\csname simpleicon@librariesdotioicon\endcsname {\simpleiconsmap\symbol{"EFEB}}
- \expandafter\def\csname simpleicon@librarythingicon\endcsname {\simpleiconsmap\symbol{"EFEC}}
- \expandafter\def\csname simpleicon@libreofficeicon\endcsname {\simpleiconsmap\symbol{"EFED}}
- \expandafter\def\csname simpleicon@libreofficebaseicon\endcsname {\simpleiconsmap\symbol{"EFEE}}
- \expandafter\def\csname simpleicon@libreofficecalcicon\endcsname {\simpleiconsmap\symbol{"EFEF}}
- \expandafter\def\csname simpleicon@libreofficedrawicon\endcsname {\simpleiconsmap\symbol{"EFF0}}
- \expandafter\def\csname simpleicon@libreofficeimpressicon\endcsname {\simpleiconsmap\symbol{"EFF1}}
- \expandafter\def\csname simpleicon@libreofficemathicon\endcsname {\simpleiconsmap\symbol{"EFF2}}
- \expandafter\def\csname simpleicon@libreofficewritericon\endcsname {\simpleiconsmap\symbol{"EFF3}}
- \expandafter\def\csname simpleicon@libuvicon\endcsname {\simpleiconsmap\symbol{"EFF4}}
- \expandafter\def\csname simpleicon@lichessicon\endcsname {\simpleiconsmap\symbol{"EFF5}}
- \expandafter\def\csname simpleicon@lidlicon\endcsname {\simpleiconsmap\symbol{"EFF6}}
- \expandafter\def\csname simpleicon@lifxicon\endcsname {\simpleiconsmap\symbol{"EFF7}}
- \expandafter\def\csname simpleicon@lightburnicon\endcsname {\simpleiconsmap\symbol{"EFF8}}
- \expandafter\def\csname simpleicon@lighthouseicon\endcsname {\simpleiconsmap\symbol{"EFF9}}
- \expandafter\def\csname simpleicon@lightningicon\endcsname {\simpleiconsmap\symbol{"EFFA}}
- \expandafter\def\csname simpleicon@lineicon\endcsname {\simpleiconsmap\symbol{"EFFB}}
- \expandafter\def\csname simpleicon@lineageosicon\endcsname {\simpleiconsmap\symbol{"EFFC}}
- \expandafter\def\csname simpleicon@linearicon\endcsname {\simpleiconsmap\symbol{"EFFD}}
- \expandafter\def\csname simpleicon@liningicon\endcsname {\simpleiconsmap\symbol{"EFFE}}
- \expandafter\def\csname simpleicon@linkedinicon\endcsname {\simpleiconsmap\symbol{"EFFF}}
- \expandafter\def\csname simpleicon@linkerdicon\endcsname {\simpleiconsmap\symbol{"F000}}
- \expandafter\def\csname simpleicon@linkfireicon\endcsname {\simpleiconsmap\symbol{"F001}}
- \expandafter\def\csname simpleicon@linksysicon\endcsname {\simpleiconsmap\symbol{"F002}}
- \expandafter\def\csname simpleicon@linktreeicon\endcsname {\simpleiconsmap\symbol{"F003}}
- \expandafter\def\csname simpleicon@lintcodeicon\endcsname {\simpleiconsmap\symbol{"F004}}
- \expandafter\def\csname simpleicon@linuxicon\endcsname {\simpleiconsmap\symbol{"F005}}
- \expandafter\def\csname simpleicon@linuxcontainersicon\endcsname {\simpleiconsmap\symbol{"F006}}
- \expandafter\def\csname simpleicon@linuxfoundationicon\endcsname {\simpleiconsmap\symbol{"F007}}
- \expandafter\def\csname simpleicon@linuxminticon\endcsname {\simpleiconsmap\symbol{"F008}}
- \expandafter\def\csname simpleicon@linuxprofessionalinstituteicon\endcsname {\simpleiconsmap\symbol{"F009}}
- \expandafter\def\csname simpleicon@linuxservericon\endcsname {\simpleiconsmap\symbol{"F00A}}
- \expandafter\def\csname simpleicon@lionairicon\endcsname {\simpleiconsmap\symbol{"F00B}}
- \expandafter\def\csname simpleicon@liquibaseicon\endcsname {\simpleiconsmap\symbol{"F00C}}
- \expandafter\def\csname simpleicon@liticon\endcsname {\simpleiconsmap\symbol{"F00D}}
- \expandafter\def\csname simpleicon@litecoinicon\endcsname {\simpleiconsmap\symbol{"F00E}}
- \expandafter\def\csname simpleicon@litiengineicon\endcsname {\simpleiconsmap\symbol{"F00F}}
- \expandafter\def\csname simpleicon@livechaticon\endcsname {\simpleiconsmap\symbol{"F010}}
- \expandafter\def\csname simpleicon@livejournalicon\endcsname {\simpleiconsmap\symbol{"F011}}
- \expandafter\def\csname simpleicon@livewireicon\endcsname {\simpleiconsmap\symbol{"F012}}
- \expandafter\def\csname simpleicon@llvmicon\endcsname {\simpleiconsmap\symbol{"F013}}
- \expandafter\def\csname simpleicon@lmmsicon\endcsname {\simpleiconsmap\symbol{"F014}}
- \expandafter\def\csname simpleicon@localicon\endcsname {\simpleiconsmap\symbol{"F015}}
- \expandafter\def\csname simpleicon@lodashicon\endcsname {\simpleiconsmap\symbol{"F016}}
- \expandafter\def\csname simpleicon@logitechicon\endcsname {\simpleiconsmap\symbol{"F017}}
- \expandafter\def\csname simpleicon@logitechgicon\endcsname {\simpleiconsmap\symbol{"F018}}
- \expandafter\def\csname simpleicon@logmeinicon\endcsname {\simpleiconsmap\symbol{"F019}}
- \expandafter\def\csname simpleicon@logseqicon\endcsname {\simpleiconsmap\symbol{"F01A}}
- \expandafter\def\csname simpleicon@logstashicon\endcsname {\simpleiconsmap\symbol{"F01B}}
- \expandafter\def\csname simpleicon@lookericon\endcsname {\simpleiconsmap\symbol{"F01C}}
- \expandafter\def\csname simpleicon@loomicon\endcsname {\simpleiconsmap\symbol{"F01D}}
- \expandafter\def\csname simpleicon@loopicon\endcsname {\simpleiconsmap\symbol{"F01E}}
- \expandafter\def\csname simpleicon@loopbackicon\endcsname {\simpleiconsmap\symbol{"F01F}}
- \expandafter\def\csname simpleicon@lootcrateicon\endcsname {\simpleiconsmap\symbol{"F020}}
- \expandafter\def\csname simpleicon@lospecicon\endcsname {\simpleiconsmap\symbol{"F021}}
- \expandafter\def\csname simpleicon@lotpolishairlinesicon\endcsname {\simpleiconsmap\symbol{"F022}}
- \expandafter\def\csname simpleicon@ltspiceicon\endcsname {\simpleiconsmap\symbol{"F023}}
- \expandafter\def\csname simpleicon@luaicon\endcsname {\simpleiconsmap\symbol{"F024}}
- \expandafter\def\csname simpleicon@lubuntuicon\endcsname {\simpleiconsmap\symbol{"F025}}
- \expandafter\def\csname simpleicon@luciaicon\endcsname {\simpleiconsmap\symbol{"F026}}
- \expandafter\def\csname simpleicon@lucidicon\endcsname {\simpleiconsmap\symbol{"F027}}
- \expandafter\def\csname simpleicon@ludwigicon\endcsname {\simpleiconsmap\symbol{"F028}}
- \expandafter\def\csname simpleicon@lufthansaicon\endcsname {\simpleiconsmap\symbol{"F029}}
- \expandafter\def\csname simpleicon@lumenicon\endcsname {\simpleiconsmap\symbol{"F02A}}
- \expandafter\def\csname simpleicon@lunacyicon\endcsname {\simpleiconsmap\symbol{"F02B}}
- \expandafter\def\csname simpleicon@lutrisicon\endcsname {\simpleiconsmap\symbol{"F02C}}
- \expandafter\def\csname simpleicon@lydiaicon\endcsname {\simpleiconsmap\symbol{"F02D}}
- \expandafter\def\csname simpleicon@lyfticon\endcsname {\simpleiconsmap\symbol{"F02E}}
- \expandafter\def\csname simpleicon@maasicon\endcsname {\simpleiconsmap\symbol{"F02F}}
- \expandafter\def\csname simpleicon@macosicon\endcsname {\simpleiconsmap\symbol{"F030}}
- \expandafter\def\csname simpleicon@macpawicon\endcsname {\simpleiconsmap\symbol{"F031}}
- \expandafter\def\csname simpleicon@macysicon\endcsname {\simpleiconsmap\symbol{"F032}}
- \expandafter\def\csname simpleicon@magasinsuicon\endcsname {\simpleiconsmap\symbol{"F033}}
- \expandafter\def\csname simpleicon@magentoicon\endcsname {\simpleiconsmap\symbol{"F034}}
- \expandafter\def\csname simpleicon@magicicon\endcsname {\simpleiconsmap\symbol{"F035}}
- \expandafter\def\csname simpleicon@magiskicon\endcsname {\simpleiconsmap\symbol{"F036}}
- \expandafter\def\csname simpleicon@mahindraicon\endcsname {\simpleiconsmap\symbol{"F037}}
- \expandafter\def\csname simpleicon@mailchimpicon\endcsname {\simpleiconsmap\symbol{"F038}}
- \expandafter\def\csname simpleicon@maildotcomicon\endcsname {\simpleiconsmap\symbol{"F039}}
- \expandafter\def\csname simpleicon@maildotruicon\endcsname {\simpleiconsmap\symbol{"F03A}}
- \expandafter\def\csname simpleicon@mailgunicon\endcsname {\simpleiconsmap\symbol{"F03B}}
- \expandafter\def\csname simpleicon@mailtrapicon\endcsname {\simpleiconsmap\symbol{"F03C}}
- \expandafter\def\csname simpleicon@majorleaguehackingicon\endcsname {\simpleiconsmap\symbol{"F03D}}
- \expandafter\def\csname simpleicon@makeicon\endcsname {\simpleiconsmap\symbol{"F03E}}
- \expandafter\def\csname simpleicon@makerboticon\endcsname {\simpleiconsmap\symbol{"F03F}}
- \expandafter\def\csname simpleicon@malticon\endcsname {\simpleiconsmap\symbol{"F040}}
- \expandafter\def\csname simpleicon@malwarebytesicon\endcsname {\simpleiconsmap\symbol{"F041}}
- \expandafter\def\csname simpleicon@mambauiicon\endcsname {\simpleiconsmap\symbol{"F042}}
- \expandafter\def\csname simpleicon@mampicon\endcsname {\simpleiconsmap\symbol{"F043}}
- \expandafter\def\csname simpleicon@manicon\endcsname {\simpleiconsmap\symbol{"F044}}
- \expandafter\def\csname simpleicon@manageiqicon\endcsname {\simpleiconsmap\symbol{"F045}}
- \expandafter\def\csname simpleicon@manjaroicon\endcsname {\simpleiconsmap\symbol{"F046}}
- \expandafter\def\csname simpleicon@mantineicon\endcsname {\simpleiconsmap\symbol{"F047}}
- \expandafter\def\csname simpleicon@mapboxicon\endcsname {\simpleiconsmap\symbol{"F048}}
- \expandafter\def\csname simpleicon@maplibreicon\endcsname {\simpleiconsmap\symbol{"F049}}
- \expandafter\def\csname simpleicon@mariadbicon\endcsname {\simpleiconsmap\symbol{"F04A}}
- \expandafter\def\csname simpleicon@mariadbfoundationicon\endcsname {\simpleiconsmap\symbol{"F04B}}
- \expandafter\def\csname simpleicon@markdownicon\endcsname {\simpleiconsmap\symbol{"F04C}}
- \expandafter\def\csname simpleicon@marketoicon\endcsname {\simpleiconsmap\symbol{"F04D}}
- \expandafter\def\csname simpleicon@markoicon\endcsname {\simpleiconsmap\symbol{"F04E}}
- \expandafter\def\csname simpleicon@marriotticon\endcsname {\simpleiconsmap\symbol{"F04F}}
- \expandafter\def\csname simpleicon@marvelappicon\endcsname {\simpleiconsmap\symbol{"F050}}
- \expandafter\def\csname simpleicon@maseratiicon\endcsname {\simpleiconsmap\symbol{"F051}}
- \expandafter\def\csname simpleicon@mastercardicon\endcsname {\simpleiconsmap\symbol{"F052}}
- \expandafter\def\csname simpleicon@mastercomfigicon\endcsname {\simpleiconsmap\symbol{"F053}}
- \expandafter\def\csname simpleicon@mastodonicon\endcsname {\simpleiconsmap\symbol{"F054}}
- \expandafter\def\csname simpleicon@materialdesignicon\endcsname {\simpleiconsmap\symbol{"F055}}
- \expandafter\def\csname simpleicon@materialdesigniconsicon\endcsname {\simpleiconsmap\symbol{"F056}}
- \expandafter\def\csname simpleicon@materialformkdocsicon\endcsname {\simpleiconsmap\symbol{"F057}}
- \expandafter\def\csname simpleicon@matillionicon\endcsname {\simpleiconsmap\symbol{"F058}}
- \expandafter\def\csname simpleicon@matomoicon\endcsname {\simpleiconsmap\symbol{"F059}}
- \expandafter\def\csname simpleicon@matrixicon\endcsname {\simpleiconsmap\symbol{"F05A}}
- \expandafter\def\csname simpleicon@matterdotjsicon\endcsname {\simpleiconsmap\symbol{"F05B}}
- \expandafter\def\csname simpleicon@mattermosticon\endcsname {\simpleiconsmap\symbol{"F05C}}
- \expandafter\def\csname simpleicon@matterneticon\endcsname {\simpleiconsmap\symbol{"F05D}}
- \expandafter\def\csname simpleicon@mauticicon\endcsname {\simpleiconsmap\symbol{"F05E}}
- \expandafter\def\csname simpleicon@maxicon\endcsname {\simpleiconsmap\symbol{"F05F}}
- \expandafter\def\csname simpleicon@maxplanckgesellschafticon\endcsname {\simpleiconsmap\symbol{"F060}}
- \expandafter\def\csname simpleicon@maytagicon\endcsname {\simpleiconsmap\symbol{"F061}}
- \expandafter\def\csname simpleicon@mazdaicon\endcsname {\simpleiconsmap\symbol{"F062}}
- \expandafter\def\csname simpleicon@mcafeeicon\endcsname {\simpleiconsmap\symbol{"F063}}
- \expandafter\def\csname simpleicon@mcdonaldsicon\endcsname {\simpleiconsmap\symbol{"F064}}
- \expandafter\def\csname simpleicon@mclarenicon\endcsname {\simpleiconsmap\symbol{"F065}}
- \expandafter\def\csname simpleicon@mdbookicon\endcsname {\simpleiconsmap\symbol{"F066}}
- \expandafter\def\csname simpleicon@mdnwebdocsicon\endcsname {\simpleiconsmap\symbol{"F067}}
- \expandafter\def\csname simpleicon@mdxicon\endcsname {\simpleiconsmap\symbol{"F068}}
- \expandafter\def\csname simpleicon@mediafireicon\endcsname {\simpleiconsmap\symbol{"F069}}
- \expandafter\def\csname simpleicon@mediamarkticon\endcsname {\simpleiconsmap\symbol{"F06A}}
- \expandafter\def\csname simpleicon@mediatekicon\endcsname {\simpleiconsmap\symbol{"F06B}}
- \expandafter\def\csname simpleicon@medibangpainticon\endcsname {\simpleiconsmap\symbol{"F06C}}
- \expandafter\def\csname simpleicon@mediumicon\endcsname {\simpleiconsmap\symbol{"F06D}}
- \expandafter\def\csname simpleicon@medusaicon\endcsname {\simpleiconsmap\symbol{"F06E}}
- \expandafter\def\csname simpleicon@meetupicon\endcsname {\simpleiconsmap\symbol{"F06F}}
- \expandafter\def\csname simpleicon@megaicon\endcsname {\simpleiconsmap\symbol{"F070}}
- \expandafter\def\csname simpleicon@meilisearchicon\endcsname {\simpleiconsmap\symbol{"F071}}
- \expandafter\def\csname simpleicon@meituanicon\endcsname {\simpleiconsmap\symbol{"F072}}
- \expandafter\def\csname simpleicon@meizuicon\endcsname {\simpleiconsmap\symbol{"F073}}
- \expandafter\def\csname simpleicon@mendeleyicon\endcsname {\simpleiconsmap\symbol{"F074}}
- \expandafter\def\csname simpleicon@mentorcruiseicon\endcsname {\simpleiconsmap\symbol{"F075}}
- \expandafter\def\csname simpleicon@mercadopagoicon\endcsname {\simpleiconsmap\symbol{"F076}}
- \expandafter\def\csname simpleicon@mercedesicon\endcsname {\simpleiconsmap\symbol{"F077}}
- \expandafter\def\csname simpleicon@merckicon\endcsname {\simpleiconsmap\symbol{"F078}}
- \expandafter\def\csname simpleicon@mercurialicon\endcsname {\simpleiconsmap\symbol{"F079}}
- \expandafter\def\csname simpleicon@mermaidicon\endcsname {\simpleiconsmap\symbol{"F07A}}
- \expandafter\def\csname simpleicon@messengericon\endcsname {\simpleiconsmap\symbol{"F07B}}
- \expandafter\def\csname simpleicon@metaicon\endcsname {\simpleiconsmap\symbol{"F07C}}
- \expandafter\def\csname simpleicon@metabaseicon\endcsname {\simpleiconsmap\symbol{"F07D}}
- \expandafter\def\csname simpleicon@metacriticicon\endcsname {\simpleiconsmap\symbol{"F07E}}
- \expandafter\def\csname simpleicon@metafiltericon\endcsname {\simpleiconsmap\symbol{"F07F}}
- \expandafter\def\csname simpleicon@metasploiticon\endcsname {\simpleiconsmap\symbol{"F080}}
- \expandafter\def\csname simpleicon@meteoricon\endcsname {\simpleiconsmap\symbol{"F081}}
- \expandafter\def\csname simpleicon@metroicon\endcsname {\simpleiconsmap\symbol{"F082}}
- \expandafter\def\csname simpleicon@metrodelaciudaddemexicoicon\endcsname {\simpleiconsmap\symbol{"F083}}
- \expandafter\def\csname simpleicon@metrodemadridicon\endcsname {\simpleiconsmap\symbol{"F084}}
- \expandafter\def\csname simpleicon@metrodeparisicon\endcsname {\simpleiconsmap\symbol{"F085}}
- \expandafter\def\csname simpleicon@meweicon\endcsname {\simpleiconsmap\symbol{"F086}}
- \expandafter\def\csname simpleicon@mgicon\endcsname {\simpleiconsmap\symbol{"F087}}
- \expandafter\def\csname simpleicon@microbiticon\endcsname {\simpleiconsmap\symbol{"F088}}
- \expandafter\def\csname simpleicon@microdotblogicon\endcsname {\simpleiconsmap\symbol{"F089}}
- \expandafter\def\csname simpleicon@microeditoricon\endcsname {\simpleiconsmap\symbol{"F08A}}
- \expandafter\def\csname simpleicon@microgeneticsicon\endcsname {\simpleiconsmap\symbol{"F08B}}
- \expandafter\def\csname simpleicon@micropythonicon\endcsname {\simpleiconsmap\symbol{"F08C}}
- \expandafter\def\csname simpleicon@microsofticon\endcsname {\simpleiconsmap\symbol{"F08D}}
- \expandafter\def\csname simpleicon@microsoftacademicicon\endcsname {\simpleiconsmap\symbol{"F08E}}
- \expandafter\def\csname simpleicon@microsoftaccessicon\endcsname {\simpleiconsmap\symbol{"F08F}}
- \expandafter\def\csname simpleicon@microsoftazureicon\endcsname {\simpleiconsmap\symbol{"F090}}
- \expandafter\def\csname simpleicon@microsoftbingicon\endcsname {\simpleiconsmap\symbol{"F091}}
- \expandafter\def\csname simpleicon@microsoftedgeicon\endcsname {\simpleiconsmap\symbol{"F092}}
- \expandafter\def\csname simpleicon@microsoftexcelicon\endcsname {\simpleiconsmap\symbol{"F093}}
- \expandafter\def\csname simpleicon@microsoftexchangeicon\endcsname {\simpleiconsmap\symbol{"F094}}
- \expandafter\def\csname simpleicon@microsoftonedriveicon\endcsname {\simpleiconsmap\symbol{"F095}}
- \expandafter\def\csname simpleicon@microsoftonenoteicon\endcsname {\simpleiconsmap\symbol{"F096}}
- \expandafter\def\csname simpleicon@microsoftoutlookicon\endcsname {\simpleiconsmap\symbol{"F097}}
- \expandafter\def\csname simpleicon@microsoftpowerpointicon\endcsname {\simpleiconsmap\symbol{"F098}}
- \expandafter\def\csname simpleicon@microsoftsharepointicon\endcsname {\simpleiconsmap\symbol{"F099}}
- \expandafter\def\csname simpleicon@microsoftsqlservericon\endcsname {\simpleiconsmap\symbol{"F09A}}
- \expandafter\def\csname simpleicon@microsoftstoreicon\endcsname {\simpleiconsmap\symbol{"F09B}}
- \expandafter\def\csname simpleicon@microsoftteamsicon\endcsname {\simpleiconsmap\symbol{"F09C}}
- \expandafter\def\csname simpleicon@microsofttranslatoricon\endcsname {\simpleiconsmap\symbol{"F09D}}
- \expandafter\def\csname simpleicon@microsoftvisioicon\endcsname {\simpleiconsmap\symbol{"F09E}}
- \expandafter\def\csname simpleicon@microsoftwordicon\endcsname {\simpleiconsmap\symbol{"F09F}}
- \expandafter\def\csname simpleicon@microstationicon\endcsname {\simpleiconsmap\symbol{"F0A0}}
- \expandafter\def\csname simpleicon@microstrategyicon\endcsname {\simpleiconsmap\symbol{"F0A1}}
- \expandafter\def\csname simpleicon@midiicon\endcsname {\simpleiconsmap\symbol{"F0A2}}
- \expandafter\def\csname simpleicon@migaduicon\endcsname {\simpleiconsmap\symbol{"F0A3}}
- \expandafter\def\csname simpleicon@mikrotikicon\endcsname {\simpleiconsmap\symbol{"F0A4}}
- \expandafter\def\csname simpleicon@milanoteicon\endcsname {\simpleiconsmap\symbol{"F0A5}}
- \expandafter\def\csname simpleicon@milvusicon\endcsname {\simpleiconsmap\symbol{"F0A6}}
- \expandafter\def\csname simpleicon@mindsicon\endcsname {\simpleiconsmap\symbol{"F0A7}}
- \expandafter\def\csname simpleicon@minecrafticon\endcsname {\simpleiconsmap\symbol{"F0A8}}
- \expandafter\def\csname simpleicon@minetesticon\endcsname {\simpleiconsmap\symbol{"F0A9}}
- \expandafter\def\csname simpleicon@miniicon\endcsname {\simpleiconsmap\symbol{"F0AA}}
- \expandafter\def\csname simpleicon@minioicon\endcsname {\simpleiconsmap\symbol{"F0AB}}
- \expandafter\def\csname simpleicon@minutemailericon\endcsname {\simpleiconsmap\symbol{"F0AC}}
- \expandafter\def\csname simpleicon@mirahezeicon\endcsname {\simpleiconsmap\symbol{"F0AD}}
- \expandafter\def\csname simpleicon@miroicon\endcsname {\simpleiconsmap\symbol{"F0AE}}
- \expandafter\def\csname simpleicon@misskeyicon\endcsname {\simpleiconsmap\symbol{"F0AF}}
- \expandafter\def\csname simpleicon@mitsubishiicon\endcsname {\simpleiconsmap\symbol{"F0B0}}
- \expandafter\def\csname simpleicon@mixicon\endcsname {\simpleiconsmap\symbol{"F0B1}}
- \expandafter\def\csname simpleicon@mixcloudicon\endcsname {\simpleiconsmap\symbol{"F0B2}}
- \expandafter\def\csname simpleicon@mixpanelicon\endcsname {\simpleiconsmap\symbol{"F0B3}}
- \expandafter\def\csname simpleicon@mlbicon\endcsname {\simpleiconsmap\symbol{"F0B4}}
- \expandafter\def\csname simpleicon@mlflowicon\endcsname {\simpleiconsmap\symbol{"F0B5}}
- \expandafter\def\csname simpleicon@mobxicon\endcsname {\simpleiconsmap\symbol{"F0B6}}
- \expandafter\def\csname simpleicon@mobxstatetreeicon\endcsname {\simpleiconsmap\symbol{"F0B7}}
- \expandafter\def\csname simpleicon@mochaicon\endcsname {\simpleiconsmap\symbol{"F0B8}}
- \expandafter\def\csname simpleicon@mockserviceworkericon\endcsname {\simpleiconsmap\symbol{"F0B9}}
- \expandafter\def\csname simpleicon@modinicon\endcsname {\simpleiconsmap\symbol{"F0BA}}
- \expandafter\def\csname simpleicon@modrinthicon\endcsname {\simpleiconsmap\symbol{"F0BB}}
- \expandafter\def\csname simpleicon@modxicon\endcsname {\simpleiconsmap\symbol{"F0BC}}
- \expandafter\def\csname simpleicon@mojangstudiosicon\endcsname {\simpleiconsmap\symbol{"F0BD}}
- \expandafter\def\csname simpleicon@moleculericon\endcsname {\simpleiconsmap\symbol{"F0BE}}
- \expandafter\def\csname simpleicon@momenteoicon\endcsname {\simpleiconsmap\symbol{"F0BF}}
- \expandafter\def\csname simpleicon@moneroicon\endcsname {\simpleiconsmap\symbol{"F0C0}}
- \expandafter\def\csname simpleicon@moneygramicon\endcsname {\simpleiconsmap\symbol{"F0C1}}
- \expandafter\def\csname simpleicon@mongodbicon\endcsname {\simpleiconsmap\symbol{"F0C2}}
- \expandafter\def\csname simpleicon@mongooseicon\endcsname {\simpleiconsmap\symbol{"F0C3}}
- \expandafter\def\csname simpleicon@mongoosedotwsicon\endcsname {\simpleiconsmap\symbol{"F0C4}}
- \expandafter\def\csname simpleicon@monicaicon\endcsname {\simpleiconsmap\symbol{"F0C5}}
- \expandafter\def\csname simpleicon@monkeytieicon\endcsname {\simpleiconsmap\symbol{"F0C6}}
- \expandafter\def\csname simpleicon@monkeytypeicon\endcsname {\simpleiconsmap\symbol{"F0C7}}
- \expandafter\def\csname simpleicon@monogameicon\endcsname {\simpleiconsmap\symbol{"F0C8}}
- \expandafter\def\csname simpleicon@monoprixicon\endcsname {\simpleiconsmap\symbol{"F0C9}}
- \expandafter\def\csname simpleicon@monstericon\endcsname {\simpleiconsmap\symbol{"F0CA}}
- \expandafter\def\csname simpleicon@monzoicon\endcsname {\simpleiconsmap\symbol{"F0CB}}
- \expandafter\def\csname simpleicon@mooicon\endcsname {\simpleiconsmap\symbol{"F0CC}}
- \expandafter\def\csname simpleicon@moodleicon\endcsname {\simpleiconsmap\symbol{"F0CD}}
- \expandafter\def\csname simpleicon@moonrepoicon\endcsname {\simpleiconsmap\symbol{"F0CE}}
- \expandafter\def\csname simpleicon@moqupsicon\endcsname {\simpleiconsmap\symbol{"F0CF}}
- \expandafter\def\csname simpleicon@morrisonsicon\endcsname {\simpleiconsmap\symbol{"F0D0}}
- \expandafter\def\csname simpleicon@moscowmetroicon\endcsname {\simpleiconsmap\symbol{"F0D1}}
- \expandafter\def\csname simpleicon@motorolaicon\endcsname {\simpleiconsmap\symbol{"F0D2}}
- \expandafter\def\csname simpleicon@mozillaicon\endcsname {\simpleiconsmap\symbol{"F0D3}}
- \expandafter\def\csname simpleicon@mpvicon\endcsname {\simpleiconsmap\symbol{"F0D4}}
- \expandafter\def\csname simpleicon@mqtticon\endcsname {\simpleiconsmap\symbol{"F0D5}}
- \expandafter\def\csname simpleicon@msiicon\endcsname {\simpleiconsmap\symbol{"F0D6}}
- \expandafter\def\csname simpleicon@msibusinessicon\endcsname {\simpleiconsmap\symbol{"F0D7}}
- \expandafter\def\csname simpleicon@mtaicon\endcsname {\simpleiconsmap\symbol{"F0D8}}
- \expandafter\def\csname simpleicon@mtricon\endcsname {\simpleiconsmap\symbol{"F0D9}}
- \expandafter\def\csname simpleicon@mubiicon\endcsname {\simpleiconsmap\symbol{"F0DA}}
- \expandafter\def\csname simpleicon@muiicon\endcsname {\simpleiconsmap\symbol{"F0DB}}
- \expandafter\def\csname simpleicon@mulesofticon\endcsname {\simpleiconsmap\symbol{"F0DC}}
- \expandafter\def\csname simpleicon@mullericon\endcsname {\simpleiconsmap\symbol{"F0DD}}
- \expandafter\def\csname simpleicon@multisimicon\endcsname {\simpleiconsmap\symbol{"F0DE}}
- \expandafter\def\csname simpleicon@mumbleicon\endcsname {\simpleiconsmap\symbol{"F0DF}}
- \expandafter\def\csname simpleicon@muoicon\endcsname {\simpleiconsmap\symbol{"F0E0}}
- \expandafter\def\csname simpleicon@muralicon\endcsname {\simpleiconsmap\symbol{"F0E1}}
- \expandafter\def\csname simpleicon@musescoreicon\endcsname {\simpleiconsmap\symbol{"F0E2}}
- \expandafter\def\csname simpleicon@musicbrainzicon\endcsname {\simpleiconsmap\symbol{"F0E3}}
- \expandafter\def\csname simpleicon@mxlinuxicon\endcsname {\simpleiconsmap\symbol{"F0E4}}
- \expandafter\def\csname simpleicon@myanimelisticon\endcsname {\simpleiconsmap\symbol{"F0E5}}
- \expandafter\def\csname simpleicon@mygeticon\endcsname {\simpleiconsmap\symbol{"F0E6}}
- \expandafter\def\csname simpleicon@myobicon\endcsname {\simpleiconsmap\symbol{"F0E7}}
- \expandafter\def\csname simpleicon@myspaceicon\endcsname {\simpleiconsmap\symbol{"F0E8}}
- \expandafter\def\csname simpleicon@mysqlicon\endcsname {\simpleiconsmap\symbol{"F0E9}}
- \expandafter\def\csname simpleicon@n26icon\endcsname {\simpleiconsmap\symbol{"F0EA}}
- \expandafter\def\csname simpleicon@namebaseicon\endcsname {\simpleiconsmap\symbol{"F0EB}}
- \expandafter\def\csname simpleicon@namecheapicon\endcsname {\simpleiconsmap\symbol{"F0EC}}
- \expandafter\def\csname simpleicon@namemcicon\endcsname {\simpleiconsmap\symbol{"F0ED}}
- \expandafter\def\csname simpleicon@namesiloicon\endcsname {\simpleiconsmap\symbol{"F0EE}}
- \expandafter\def\csname simpleicon@namuwikiicon\endcsname {\simpleiconsmap\symbol{"F0EF}}
- \expandafter\def\csname simpleicon@nanoicon\endcsname {\simpleiconsmap\symbol{"F0F0}}
- \expandafter\def\csname simpleicon@nasaicon\endcsname {\simpleiconsmap\symbol{"F0F1}}
- \expandafter\def\csname simpleicon@nationalgridicon\endcsname {\simpleiconsmap\symbol{"F0F2}}
- \expandafter\def\csname simpleicon@nationalrailicon\endcsname {\simpleiconsmap\symbol{"F0F3}}
- \expandafter\def\csname simpleicon@nativescripticon\endcsname {\simpleiconsmap\symbol{"F0F4}}
- \expandafter\def\csname simpleicon@natsdotioicon\endcsname {\simpleiconsmap\symbol{"F0F5}}
- \expandafter\def\csname simpleicon@navericon\endcsname {\simpleiconsmap\symbol{"F0F6}}
- \expandafter\def\csname simpleicon@nbaicon\endcsname {\simpleiconsmap\symbol{"F0F7}}
- \expandafter\def\csname simpleicon@nbbicon\endcsname {\simpleiconsmap\symbol{"F0F8}}
- \expandafter\def\csname simpleicon@nbcicon\endcsname {\simpleiconsmap\symbol{"F0F9}}
- \expandafter\def\csname simpleicon@ndricon\endcsname {\simpleiconsmap\symbol{"F0FA}}
- \expandafter\def\csname simpleicon@nearicon\endcsname {\simpleiconsmap\symbol{"F0FB}}
- \expandafter\def\csname simpleicon@necicon\endcsname {\simpleiconsmap\symbol{"F0FC}}
- \expandafter\def\csname simpleicon@neo4jicon\endcsname {\simpleiconsmap\symbol{"F0FD}}
- \expandafter\def\csname simpleicon@neovimicon\endcsname {\simpleiconsmap\symbol{"F0FE}}
- \expandafter\def\csname simpleicon@neptuneicon\endcsname {\simpleiconsmap\symbol{"F0FF}}
- \expandafter\def\csname simpleicon@nestjsicon\endcsname {\simpleiconsmap\symbol{"F100}}
- \expandafter\def\csname simpleicon@netappicon\endcsname {\simpleiconsmap\symbol{"F101}}
- \expandafter\def\csname simpleicon@netbsdicon\endcsname {\simpleiconsmap\symbol{"F102}}
- \expandafter\def\csname simpleicon@netcupicon\endcsname {\simpleiconsmap\symbol{"F103}}
- \expandafter\def\csname simpleicon@netdataicon\endcsname {\simpleiconsmap\symbol{"F104}}
- \expandafter\def\csname simpleicon@neteasecloudmusicicon\endcsname {\simpleiconsmap\symbol{"F105}}
- \expandafter\def\csname simpleicon@netflixicon\endcsname {\simpleiconsmap\symbol{"F106}}
- \expandafter\def\csname simpleicon@netgearicon\endcsname {\simpleiconsmap\symbol{"F107}}
- \expandafter\def\csname simpleicon@netlifyicon\endcsname {\simpleiconsmap\symbol{"F108}}
- \expandafter\def\csname simpleicon@netteicon\endcsname {\simpleiconsmap\symbol{"F109}}
- \expandafter\def\csname simpleicon@nettoicon\endcsname {\simpleiconsmap\symbol{"F10A}}
- \expandafter\def\csname simpleicon@neutralinojsicon\endcsname {\simpleiconsmap\symbol{"F10B}}
- \expandafter\def\csname simpleicon@newbalanceicon\endcsname {\simpleiconsmap\symbol{"F10C}}
- \expandafter\def\csname simpleicon@neweggicon\endcsname {\simpleiconsmap\symbol{"F10D}}
- \expandafter\def\csname simpleicon@newjapanprowrestlingicon\endcsname {\simpleiconsmap\symbol{"F10E}}
- \expandafter\def\csname simpleicon@newrelicicon\endcsname {\simpleiconsmap\symbol{"F10F}}
- \expandafter\def\csname simpleicon@newyorktimesicon\endcsname {\simpleiconsmap\symbol{"F110}}
- \expandafter\def\csname simpleicon@nextbilliondotaiicon\endcsname {\simpleiconsmap\symbol{"F111}}
- \expandafter\def\csname simpleicon@nextcloudicon\endcsname {\simpleiconsmap\symbol{"F112}}
- \expandafter\def\csname simpleicon@nextdnsicon\endcsname {\simpleiconsmap\symbol{"F113}}
- \expandafter\def\csname simpleicon@nextdooricon\endcsname {\simpleiconsmap\symbol{"F114}}
- \expandafter\def\csname simpleicon@nextdotjsicon\endcsname {\simpleiconsmap\symbol{"F115}}
- \expandafter\def\csname simpleicon@nextraicon\endcsname {\simpleiconsmap\symbol{"F116}}
- \expandafter\def\csname simpleicon@nextuiicon\endcsname {\simpleiconsmap\symbol{"F117}}
- \expandafter\def\csname simpleicon@nexusmodsicon\endcsname {\simpleiconsmap\symbol{"F118}}
- \expandafter\def\csname simpleicon@nfcicon\endcsname {\simpleiconsmap\symbol{"F119}}
- \expandafter\def\csname simpleicon@nginxicon\endcsname {\simpleiconsmap\symbol{"F11A}}
- \expandafter\def\csname simpleicon@nginxproxymanagericon\endcsname {\simpleiconsmap\symbol{"F11B}}
- \expandafter\def\csname simpleicon@ngrokicon\endcsname {\simpleiconsmap\symbol{"F11C}}
- \expandafter\def\csname simpleicon@ngrxicon\endcsname {\simpleiconsmap\symbol{"F11D}}
- \expandafter\def\csname simpleicon@nhlicon\endcsname {\simpleiconsmap\symbol{"F11E}}
- \expandafter\def\csname simpleicon@nianticicon\endcsname {\simpleiconsmap\symbol{"F11F}}
- \expandafter\def\csname simpleicon@niconicoicon\endcsname {\simpleiconsmap\symbol{"F120}}
- \expandafter\def\csname simpleicon@nikeicon\endcsname {\simpleiconsmap\symbol{"F121}}
- \expandafter\def\csname simpleicon@nikonicon\endcsname {\simpleiconsmap\symbol{"F122}}
- \expandafter\def\csname simpleicon@nimicon\endcsname {\simpleiconsmap\symbol{"F123}}
- \expandafter\def\csname simpleicon@nintendoicon\endcsname {\simpleiconsmap\symbol{"F124}}
- \expandafter\def\csname simpleicon@nintendo3dsicon\endcsname {\simpleiconsmap\symbol{"F125}}
- \expandafter\def\csname simpleicon@nintendogamecubeicon\endcsname {\simpleiconsmap\symbol{"F126}}
- \expandafter\def\csname simpleicon@nintendonetworkicon\endcsname {\simpleiconsmap\symbol{"F127}}
- \expandafter\def\csname simpleicon@nintendoswitchicon\endcsname {\simpleiconsmap\symbol{"F128}}
- \expandafter\def\csname simpleicon@nissanicon\endcsname {\simpleiconsmap\symbol{"F129}}
- \expandafter\def\csname simpleicon@nixosicon\endcsname {\simpleiconsmap\symbol{"F12A}}
- \expandafter\def\csname simpleicon@nodedotjsicon\endcsname {\simpleiconsmap\symbol{"F12B}}
- \expandafter\def\csname simpleicon@nodemonicon\endcsname {\simpleiconsmap\symbol{"F12C}}
- \expandafter\def\csname simpleicon@noderedicon\endcsname {\simpleiconsmap\symbol{"F12D}}
- \expandafter\def\csname simpleicon@nokiaicon\endcsname {\simpleiconsmap\symbol{"F12E}}
- \expandafter\def\csname simpleicon@nomadicon\endcsname {\simpleiconsmap\symbol{"F12F}}
- \expandafter\def\csname simpleicon@norcoicon\endcsname {\simpleiconsmap\symbol{"F130}}
- \expandafter\def\csname simpleicon@nordicsemiconductoricon\endcsname {\simpleiconsmap\symbol{"F131}}
- \expandafter\def\csname simpleicon@nordvpnicon\endcsname {\simpleiconsmap\symbol{"F132}}
- \expandafter\def\csname simpleicon@normalizedotcssicon\endcsname {\simpleiconsmap\symbol{"F133}}
- \expandafter\def\csname simpleicon@nortonicon\endcsname {\simpleiconsmap\symbol{"F134}}
- \expandafter\def\csname simpleicon@norwegianicon\endcsname {\simpleiconsmap\symbol{"F135}}
- \expandafter\def\csname simpleicon@notepadplusplusicon\endcsname {\simpleiconsmap\symbol{"F136}}
- \expandafter\def\csname simpleicon@notionicon\endcsname {\simpleiconsmap\symbol{"F137}}
- \expandafter\def\csname simpleicon@notisticon\endcsname {\simpleiconsmap\symbol{"F138}}
- \expandafter\def\csname simpleicon@nounprojecticon\endcsname {\simpleiconsmap\symbol{"F139}}
- \expandafter\def\csname simpleicon@novuicon\endcsname {\simpleiconsmap\symbol{"F13A}}
- \expandafter\def\csname simpleicon@nowicon\endcsname {\simpleiconsmap\symbol{"F13B}}
- \expandafter\def\csname simpleicon@npmicon\endcsname {\simpleiconsmap\symbol{"F13C}}
- \expandafter\def\csname simpleicon@nrwlicon\endcsname {\simpleiconsmap\symbol{"F13D}}
- \expandafter\def\csname simpleicon@nsisicon\endcsname {\simpleiconsmap\symbol{"F13E}}
- \expandafter\def\csname simpleicon@nubankicon\endcsname {\simpleiconsmap\symbol{"F13F}}
- \expandafter\def\csname simpleicon@nucleoicon\endcsname {\simpleiconsmap\symbol{"F140}}
- \expandafter\def\csname simpleicon@nugeticon\endcsname {\simpleiconsmap\symbol{"F141}}
- \expandafter\def\csname simpleicon@nukeicon\endcsname {\simpleiconsmap\symbol{"F142}}
- \expandafter\def\csname simpleicon@numbaicon\endcsname {\simpleiconsmap\symbol{"F143}}
- \expandafter\def\csname simpleicon@numpyicon\endcsname {\simpleiconsmap\symbol{"F144}}
- \expandafter\def\csname simpleicon@nunjucksicon\endcsname {\simpleiconsmap\symbol{"F145}}
- \expandafter\def\csname simpleicon@nushellicon\endcsname {\simpleiconsmap\symbol{"F146}}
- \expandafter\def\csname simpleicon@nutanixicon\endcsname {\simpleiconsmap\symbol{"F147}}
- \expandafter\def\csname simpleicon@nuxtdotjsicon\endcsname {\simpleiconsmap\symbol{"F148}}
- \expandafter\def\csname simpleicon@nvidiaicon\endcsname {\simpleiconsmap\symbol{"F149}}
- \expandafter\def\csname simpleicon@nxicon\endcsname {\simpleiconsmap\symbol{"F14A}}
- \expandafter\def\csname simpleicon@nxpicon\endcsname {\simpleiconsmap\symbol{"F14B}}
- \expandafter\def\csname simpleicon@nzxticon\endcsname {\simpleiconsmap\symbol{"F14C}}
- \expandafter\def\csname simpleicon@observableicon\endcsname {\simpleiconsmap\symbol{"F14D}}
- \expandafter\def\csname simpleicon@obsidianicon\endcsname {\simpleiconsmap\symbol{"F14E}}
- \expandafter\def\csname simpleicon@obsstudioicon\endcsname {\simpleiconsmap\symbol{"F14F}}
- \expandafter\def\csname simpleicon@ocamlicon\endcsname {\simpleiconsmap\symbol{"F150}}
- \expandafter\def\csname simpleicon@oclificon\endcsname {\simpleiconsmap\symbol{"F151}}
- \expandafter\def\csname simpleicon@octanerendericon\endcsname {\simpleiconsmap\symbol{"F152}}
- \expandafter\def\csname simpleicon@octaveicon\endcsname {\simpleiconsmap\symbol{"F153}}
- \expandafter\def\csname simpleicon@octobercmsicon\endcsname {\simpleiconsmap\symbol{"F154}}
- \expandafter\def\csname simpleicon@octoprinticon\endcsname {\simpleiconsmap\symbol{"F155}}
- \expandafter\def\csname simpleicon@octopusdeployicon\endcsname {\simpleiconsmap\symbol{"F156}}
- \expandafter\def\csname simpleicon@oculusicon\endcsname {\simpleiconsmap\symbol{"F157}}
- \expandafter\def\csname simpleicon@odnoklassnikiicon\endcsname {\simpleiconsmap\symbol{"F158}}
- \expandafter\def\csname simpleicon@odooicon\endcsname {\simpleiconsmap\symbol{"F159}}
- \expandafter\def\csname simpleicon@odyseeicon\endcsname {\simpleiconsmap\symbol{"F15A}}
- \expandafter\def\csname simpleicon@ohdearicon\endcsname {\simpleiconsmap\symbol{"F15B}}
- \expandafter\def\csname simpleicon@okcupidicon\endcsname {\simpleiconsmap\symbol{"F15C}}
- \expandafter\def\csname simpleicon@oktaicon\endcsname {\simpleiconsmap\symbol{"F15D}}
- \expandafter\def\csname simpleicon@oneplusicon\endcsname {\simpleiconsmap\symbol{"F15E}}
- \expandafter\def\csname simpleicon@onlyfansicon\endcsname {\simpleiconsmap\symbol{"F15F}}
- \expandafter\def\csname simpleicon@onlyofficeicon\endcsname {\simpleiconsmap\symbol{"F160}}
- \expandafter\def\csname simpleicon@onnxicon\endcsname {\simpleiconsmap\symbol{"F161}}
- \expandafter\def\csname simpleicon@onstaricon\endcsname {\simpleiconsmap\symbol{"F162}}
- \expandafter\def\csname simpleicon@opelicon\endcsname {\simpleiconsmap\symbol{"F163}}
- \expandafter\def\csname simpleicon@openaccessicon\endcsname {\simpleiconsmap\symbol{"F164}}
- \expandafter\def\csname simpleicon@openaiicon\endcsname {\simpleiconsmap\symbol{"F165}}
- \expandafter\def\csname simpleicon@openaigymicon\endcsname {\simpleiconsmap\symbol{"F166}}
- \expandafter\def\csname simpleicon@openapiinitiativeicon\endcsname {\simpleiconsmap\symbol{"F167}}
- \expandafter\def\csname simpleicon@openbadgesicon\endcsname {\simpleiconsmap\symbol{"F168}}
- \expandafter\def\csname simpleicon@openbsdicon\endcsname {\simpleiconsmap\symbol{"F169}}
- \expandafter\def\csname simpleicon@openbugbountyicon\endcsname {\simpleiconsmap\symbol{"F16A}}
- \expandafter\def\csname simpleicon@opencollectiveicon\endcsname {\simpleiconsmap\symbol{"F16B}}
- \expandafter\def\csname simpleicon@opencontainersinitiativeicon\endcsname {\simpleiconsmap\symbol{"F16C}}
- \expandafter\def\csname simpleicon@opencvicon\endcsname {\simpleiconsmap\symbol{"F16D}}
- \expandafter\def\csname simpleicon@openfaasicon\endcsname {\simpleiconsmap\symbol{"F16E}}
- \expandafter\def\csname simpleicon@openglicon\endcsname {\simpleiconsmap\symbol{"F16F}}
- \expandafter\def\csname simpleicon@openhabicon\endcsname {\simpleiconsmap\symbol{"F170}}
- \expandafter\def\csname simpleicon@openidicon\endcsname {\simpleiconsmap\symbol{"F171}}
- \expandafter\def\csname simpleicon@openjdkicon\endcsname {\simpleiconsmap\symbol{"F172}}
- \expandafter\def\csname simpleicon@openlayersicon\endcsname {\simpleiconsmap\symbol{"F173}}
- \expandafter\def\csname simpleicon@openminedicon\endcsname {\simpleiconsmap\symbol{"F174}}
- \expandafter\def\csname simpleicon@opennebulaicon\endcsname {\simpleiconsmap\symbol{"F175}}
- \expandafter\def\csname simpleicon@openprojecticon\endcsname {\simpleiconsmap\symbol{"F176}}
- \expandafter\def\csname simpleicon@openscadicon\endcsname {\simpleiconsmap\symbol{"F177}}
- \expandafter\def\csname simpleicon@openseaicon\endcsname {\simpleiconsmap\symbol{"F178}}
- \expandafter\def\csname simpleicon@opensearchicon\endcsname {\simpleiconsmap\symbol{"F179}}
- \expandafter\def\csname simpleicon@opensourcehardwareicon\endcsname {\simpleiconsmap\symbol{"F17A}}
- \expandafter\def\csname simpleicon@opensourceinitiativeicon\endcsname {\simpleiconsmap\symbol{"F17B}}
- \expandafter\def\csname simpleicon@opensslicon\endcsname {\simpleiconsmap\symbol{"F17C}}
- \expandafter\def\csname simpleicon@openstackicon\endcsname {\simpleiconsmap\symbol{"F17D}}
- \expandafter\def\csname simpleicon@openstreetmapicon\endcsname {\simpleiconsmap\symbol{"F17E}}
- \expandafter\def\csname simpleicon@opensuseicon\endcsname {\simpleiconsmap\symbol{"F17F}}
- \expandafter\def\csname simpleicon@opentelemetryicon\endcsname {\simpleiconsmap\symbol{"F180}}
- \expandafter\def\csname simpleicon@opentexticon\endcsname {\simpleiconsmap\symbol{"F181}}
- \expandafter\def\csname simpleicon@opentofuicon\endcsname {\simpleiconsmap\symbol{"F182}}
- \expandafter\def\csname simpleicon@openverseicon\endcsname {\simpleiconsmap\symbol{"F183}}
- \expandafter\def\csname simpleicon@openvpnicon\endcsname {\simpleiconsmap\symbol{"F184}}
- \expandafter\def\csname simpleicon@openwrticon\endcsname {\simpleiconsmap\symbol{"F185}}
- \expandafter\def\csname simpleicon@openzeppelinicon\endcsname {\simpleiconsmap\symbol{"F186}}
- \expandafter\def\csname simpleicon@openzfsicon\endcsname {\simpleiconsmap\symbol{"F187}}
- \expandafter\def\csname simpleicon@operaicon\endcsname {\simpleiconsmap\symbol{"F188}}
- \expandafter\def\csname simpleicon@operagxicon\endcsname {\simpleiconsmap\symbol{"F189}}
- \expandafter\def\csname simpleicon@opnsenseicon\endcsname {\simpleiconsmap\symbol{"F18A}}
- \expandafter\def\csname simpleicon@oppoicon\endcsname {\simpleiconsmap\symbol{"F18B}}
- \expandafter\def\csname simpleicon@opsgenieicon\endcsname {\simpleiconsmap\symbol{"F18C}}
- \expandafter\def\csname simpleicon@opslevelicon\endcsname {\simpleiconsmap\symbol{"F18D}}
- \expandafter\def\csname simpleicon@oracleicon\endcsname {\simpleiconsmap\symbol{"F18E}}
- \expandafter\def\csname simpleicon@orangeicon\endcsname {\simpleiconsmap\symbol{"F18F}}
- \expandafter\def\csname simpleicon@orcidicon\endcsname {\simpleiconsmap\symbol{"F190}}
- \expandafter\def\csname simpleicon@oreillyicon\endcsname {\simpleiconsmap\symbol{"F191}}
- \expandafter\def\csname simpleicon@orgicon\endcsname {\simpleiconsmap\symbol{"F192}}
- \expandafter\def\csname simpleicon@originicon\endcsname {\simpleiconsmap\symbol{"F193}}
- \expandafter\def\csname simpleicon@osanoicon\endcsname {\simpleiconsmap\symbol{"F194}}
- \expandafter\def\csname simpleicon@osficon\endcsname {\simpleiconsmap\symbol{"F195}}
- \expandafter\def\csname simpleicon@osgeoicon\endcsname {\simpleiconsmap\symbol{"F196}}
- \expandafter\def\csname simpleicon@oshkoshicon\endcsname {\simpleiconsmap\symbol{"F197}}
- \expandafter\def\csname simpleicon@osmcicon\endcsname {\simpleiconsmap\symbol{"F198}}
- \expandafter\def\csname simpleicon@osuicon\endcsname {\simpleiconsmap\symbol{"F199}}
- \expandafter\def\csname simpleicon@ottoicon\endcsname {\simpleiconsmap\symbol{"F19A}}
- \expandafter\def\csname simpleicon@overcasticon\endcsname {\simpleiconsmap\symbol{"F19B}}
- \expandafter\def\csname simpleicon@overleaficon\endcsname {\simpleiconsmap\symbol{"F19C}}
- \expandafter\def\csname simpleicon@ovhicon\endcsname {\simpleiconsmap\symbol{"F19D}}
- \expandafter\def\csname simpleicon@owaspicon\endcsname {\simpleiconsmap\symbol{"F19E}}
- \expandafter\def\csname simpleicon@owncloudicon\endcsname {\simpleiconsmap\symbol{"F19F}}
- \expandafter\def\csname simpleicon@oxygenicon\endcsname {\simpleiconsmap\symbol{"F1A0}}
- \expandafter\def\csname simpleicon@oyoicon\endcsname {\simpleiconsmap\symbol{"F1A1}}
- \expandafter\def\csname simpleicon@p5dotjsicon\endcsname {\simpleiconsmap\symbol{"F1A2}}
- \expandafter\def\csname simpleicon@packagisticon\endcsname {\simpleiconsmap\symbol{"F1A3}}
- \expandafter\def\csname simpleicon@packericon\endcsname {\simpleiconsmap\symbol{"F1A4}}
- \expandafter\def\csname simpleicon@packticon\endcsname {\simpleiconsmap\symbol{"F1A5}}
- \expandafter\def\csname simpleicon@paddleicon\endcsname {\simpleiconsmap\symbol{"F1A6}}
- \expandafter\def\csname simpleicon@paddlepaddleicon\endcsname {\simpleiconsmap\symbol{"F1A7}}
- \expandafter\def\csname simpleicon@paddypowericon\endcsname {\simpleiconsmap\symbol{"F1A8}}
- \expandafter\def\csname simpleicon@pagekiticon\endcsname {\simpleiconsmap\symbol{"F1A9}}
- \expandafter\def\csname simpleicon@pagerdutyicon\endcsname {\simpleiconsmap\symbol{"F1AA}}
- \expandafter\def\csname simpleicon@pagespeedinsightsicon\endcsname {\simpleiconsmap\symbol{"F1AB}}
- \expandafter\def\csname simpleicon@pagseguroicon\endcsname {\simpleiconsmap\symbol{"F1AC}}
- \expandafter\def\csname simpleicon@palantiricon\endcsname {\simpleiconsmap\symbol{"F1AD}}
- \expandafter\def\csname simpleicon@paloaltonetworksicon\endcsname {\simpleiconsmap\symbol{"F1AE}}
- \expandafter\def\csname simpleicon@paloaltosoftwareicon\endcsname {\simpleiconsmap\symbol{"F1AF}}
- \expandafter\def\csname simpleicon@panasonicicon\endcsname {\simpleiconsmap\symbol{"F1B0}}
- \expandafter\def\csname simpleicon@pandasicon\endcsname {\simpleiconsmap\symbol{"F1B1}}
- \expandafter\def\csname simpleicon@pandoraicon\endcsname {\simpleiconsmap\symbol{"F1B2}}
- \expandafter\def\csname simpleicon@pantheonicon\endcsname {\simpleiconsmap\symbol{"F1B3}}
- \expandafter\def\csname simpleicon@paperlessngxicon\endcsname {\simpleiconsmap\symbol{"F1B4}}
- \expandafter\def\csname simpleicon@paperspaceicon\endcsname {\simpleiconsmap\symbol{"F1B5}}
- \expandafter\def\csname simpleicon@paperswithcodeicon\endcsname {\simpleiconsmap\symbol{"F1B6}}
- \expandafter\def\csname simpleicon@paramountplusicon\endcsname {\simpleiconsmap\symbol{"F1B7}}
- \expandafter\def\csname simpleicon@paritysubstrateicon\endcsname {\simpleiconsmap\symbol{"F1B8}}
- \expandafter\def\csname simpleicon@parrotsecurityicon\endcsname {\simpleiconsmap\symbol{"F1B9}}
- \expandafter\def\csname simpleicon@parsedotlyicon\endcsname {\simpleiconsmap\symbol{"F1BA}}
- \expandafter\def\csname simpleicon@passporticon\endcsname {\simpleiconsmap\symbol{"F1BB}}
- \expandafter\def\csname simpleicon@pastebinicon\endcsname {\simpleiconsmap\symbol{"F1BC}}
- \expandafter\def\csname simpleicon@patreonicon\endcsname {\simpleiconsmap\symbol{"F1BD}}
- \expandafter\def\csname simpleicon@paychexicon\endcsname {\simpleiconsmap\symbol{"F1BE}}
- \expandafter\def\csname simpleicon@payhipicon\endcsname {\simpleiconsmap\symbol{"F1BF}}
- \expandafter\def\csname simpleicon@payloadcmsicon\endcsname {\simpleiconsmap\symbol{"F1C0}}
- \expandafter\def\csname simpleicon@payoneericon\endcsname {\simpleiconsmap\symbol{"F1C1}}
- \expandafter\def\csname simpleicon@paypalicon\endcsname {\simpleiconsmap\symbol{"F1C2}}
- \expandafter\def\csname simpleicon@paytmicon\endcsname {\simpleiconsmap\symbol{"F1C3}}
- \expandafter\def\csname simpleicon@pcgamingwikiicon\endcsname {\simpleiconsmap\symbol{"F1C4}}
- \expandafter\def\csname simpleicon@pdmicon\endcsname {\simpleiconsmap\symbol{"F1C5}}
- \expandafter\def\csname simpleicon@pdqicon\endcsname {\simpleiconsmap\symbol{"F1C6}}
- \expandafter\def\csname simpleicon@peakdesignicon\endcsname {\simpleiconsmap\symbol{"F1C7}}
- \expandafter\def\csname simpleicon@pearsonicon\endcsname {\simpleiconsmap\symbol{"F1C8}}
- \expandafter\def\csname simpleicon@peerlisticon\endcsname {\simpleiconsmap\symbol{"F1C9}}
- \expandafter\def\csname simpleicon@peertubeicon\endcsname {\simpleiconsmap\symbol{"F1CA}}
- \expandafter\def\csname simpleicon@pegasusairlinesicon\endcsname {\simpleiconsmap\symbol{"F1CB}}
- \expandafter\def\csname simpleicon@pelicanicon\endcsname {\simpleiconsmap\symbol{"F1CC}}
- \expandafter\def\csname simpleicon@pelotonicon\endcsname {\simpleiconsmap\symbol{"F1CD}}
- \expandafter\def\csname simpleicon@pennyicon\endcsname {\simpleiconsmap\symbol{"F1CE}}
- \expandafter\def\csname simpleicon@penpoticon\endcsname {\simpleiconsmap\symbol{"F1CF}}
- \expandafter\def\csname simpleicon@percyicon\endcsname {\simpleiconsmap\symbol{"F1D0}}
- \expandafter\def\csname simpleicon@perforceicon\endcsname {\simpleiconsmap\symbol{"F1D1}}
- \expandafter\def\csname simpleicon@perlicon\endcsname {\simpleiconsmap\symbol{"F1D2}}
- \expandafter\def\csname simpleicon@perplexityicon\endcsname {\simpleiconsmap\symbol{"F1D3}}
- \expandafter\def\csname simpleicon@persistenticon\endcsname {\simpleiconsmap\symbol{"F1D4}}
- \expandafter\def\csname simpleicon@personioicon\endcsname {\simpleiconsmap\symbol{"F1D5}}
- \expandafter\def\csname simpleicon@petsathomeicon\endcsname {\simpleiconsmap\symbol{"F1D6}}
- \expandafter\def\csname simpleicon@peugeoticon\endcsname {\simpleiconsmap\symbol{"F1D7}}
- \expandafter\def\csname simpleicon@pexelsicon\endcsname {\simpleiconsmap\symbol{"F1D8}}
- \expandafter\def\csname simpleicon@pfsenseicon\endcsname {\simpleiconsmap\symbol{"F1D9}}
- \expandafter\def\csname simpleicon@phabricatoricon\endcsname {\simpleiconsmap\symbol{"F1DA}}
- \expandafter\def\csname simpleicon@philipshueicon\endcsname {\simpleiconsmap\symbol{"F1DB}}
- \expandafter\def\csname simpleicon@phoenixframeworkicon\endcsname {\simpleiconsmap\symbol{"F1DC}}
- \expandafter\def\csname simpleicon@phonepeicon\endcsname {\simpleiconsmap\symbol{"F1DD}}
- \expandafter\def\csname simpleicon@phosphoriconsicon\endcsname {\simpleiconsmap\symbol{"F1DE}}
- \expandafter\def\csname simpleicon@photobucketicon\endcsname {\simpleiconsmap\symbol{"F1DF}}
- \expandafter\def\csname simpleicon@photocrowdicon\endcsname {\simpleiconsmap\symbol{"F1E0}}
- \expandafter\def\csname simpleicon@photonicon\endcsname {\simpleiconsmap\symbol{"F1E1}}
- \expandafter\def\csname simpleicon@photopeaicon\endcsname {\simpleiconsmap\symbol{"F1E2}}
- \expandafter\def\csname simpleicon@phpicon\endcsname {\simpleiconsmap\symbol{"F1E3}}
- \expandafter\def\csname simpleicon@phpmyadminicon\endcsname {\simpleiconsmap\symbol{"F1E4}}
- \expandafter\def\csname simpleicon@phpstormicon\endcsname {\simpleiconsmap\symbol{"F1E5}}
- \expandafter\def\csname simpleicon@piaggiogroupicon\endcsname {\simpleiconsmap\symbol{"F1E6}}
- \expandafter\def\csname simpleicon@piaproicon\endcsname {\simpleiconsmap\symbol{"F1E7}}
- \expandafter\def\csname simpleicon@picardsurgelesicon\endcsname {\simpleiconsmap\symbol{"F1E8}}
- \expandafter\def\csname simpleicon@picartodottvicon\endcsname {\simpleiconsmap\symbol{"F1E9}}
- \expandafter\def\csname simpleicon@picnicicon\endcsname {\simpleiconsmap\symbol{"F1EA}}
- \expandafter\def\csname simpleicon@picpayicon\endcsname {\simpleiconsmap\symbol{"F1EB}}
- \expandafter\def\csname simpleicon@picxyicon\endcsname {\simpleiconsmap\symbol{"F1EC}}
- \expandafter\def\csname simpleicon@piholeicon\endcsname {\simpleiconsmap\symbol{"F1ED}}
- \expandafter\def\csname simpleicon@pimcoreicon\endcsname {\simpleiconsmap\symbol{"F1EE}}
- \expandafter\def\csname simpleicon@pinboardicon\endcsname {\simpleiconsmap\symbol{"F1EF}}
- \expandafter\def\csname simpleicon@pinescripticon\endcsname {\simpleiconsmap\symbol{"F1F0}}
- \expandafter\def\csname simpleicon@pinetworkicon\endcsname {\simpleiconsmap\symbol{"F1F1}}
- \expandafter\def\csname simpleicon@pingdomicon\endcsname {\simpleiconsmap\symbol{"F1F2}}
- \expandafter\def\csname simpleicon@pinteresticon\endcsname {\simpleiconsmap\symbol{"F1F3}}
- \expandafter\def\csname simpleicon@pioneerdjicon\endcsname {\simpleiconsmap\symbol{"F1F4}}
- \expandafter\def\csname simpleicon@pipedicon\endcsname {\simpleiconsmap\symbol{"F1F5}}
- \expandafter\def\csname simpleicon@pipxicon\endcsname {\simpleiconsmap\symbol{"F1F6}}
- \expandafter\def\csname simpleicon@pivotaltrackericon\endcsname {\simpleiconsmap\symbol{"F1F7}}
- \expandafter\def\csname simpleicon@piwigoicon\endcsname {\simpleiconsmap\symbol{"F1F8}}
- \expandafter\def\csname simpleicon@pixicon\endcsname {\simpleiconsmap\symbol{"F1F9}}
- \expandafter\def\csname simpleicon@pixabayicon\endcsname {\simpleiconsmap\symbol{"F1FA}}
- \expandafter\def\csname simpleicon@pixelfedicon\endcsname {\simpleiconsmap\symbol{"F1FB}}
- \expandafter\def\csname simpleicon@pixivicon\endcsname {\simpleiconsmap\symbol{"F1FC}}
- \expandafter\def\csname simpleicon@pixlricon\endcsname {\simpleiconsmap\symbol{"F1FD}}
- \expandafter\def\csname simpleicon@pkgsrcicon\endcsname {\simpleiconsmap\symbol{"F1FE}}
- \expandafter\def\csname simpleicon@planeticon\endcsname {\simpleiconsmap\symbol{"F1FF}}
- \expandafter\def\csname simpleicon@planetscaleicon\endcsname {\simpleiconsmap\symbol{"F200}}
- \expandafter\def\csname simpleicon@plangridicon\endcsname {\simpleiconsmap\symbol{"F201}}
- \expandafter\def\csname simpleicon@platformdotshicon\endcsname {\simpleiconsmap\symbol{"F202}}
- \expandafter\def\csname simpleicon@platformioicon\endcsname {\simpleiconsmap\symbol{"F203}}
- \expandafter\def\csname simpleicon@platziicon\endcsname {\simpleiconsmap\symbol{"F204}}
- \expandafter\def\csname simpleicon@plausibleanalyticsicon\endcsname {\simpleiconsmap\symbol{"F205}}
- \expandafter\def\csname simpleicon@playcanvasicon\endcsname {\simpleiconsmap\symbol{"F206}}
- \expandafter\def\csname simpleicon@playerdotmeicon\endcsname {\simpleiconsmap\symbol{"F207}}
- \expandafter\def\csname simpleicon@playerfmicon\endcsname {\simpleiconsmap\symbol{"F208}}
- \expandafter\def\csname simpleicon@playstationicon\endcsname {\simpleiconsmap\symbol{"F209}}
- \expandafter\def\csname simpleicon@playstation2icon\endcsname {\simpleiconsmap\symbol{"F20A}}
- \expandafter\def\csname simpleicon@playstation3icon\endcsname {\simpleiconsmap\symbol{"F20B}}
- \expandafter\def\csname simpleicon@playstation4icon\endcsname {\simpleiconsmap\symbol{"F20C}}
- \expandafter\def\csname simpleicon@playstation5icon\endcsname {\simpleiconsmap\symbol{"F20D}}
- \expandafter\def\csname simpleicon@playstationvitaicon\endcsname {\simpleiconsmap\symbol{"F20E}}
- \expandafter\def\csname simpleicon@playwrighticon\endcsname {\simpleiconsmap\symbol{"F20F}}
- \expandafter\def\csname simpleicon@pleromaicon\endcsname {\simpleiconsmap\symbol{"F210}}
- \expandafter\def\csname simpleicon@pleskicon\endcsname {\simpleiconsmap\symbol{"F211}}
- \expandafter\def\csname simpleicon@plexicon\endcsname {\simpleiconsmap\symbol{"F212}}
- \expandafter\def\csname simpleicon@plotlyicon\endcsname {\simpleiconsmap\symbol{"F213}}
- \expandafter\def\csname simpleicon@pluralsighticon\endcsname {\simpleiconsmap\symbol{"F214}}
- \expandafter\def\csname simpleicon@plurkicon\endcsname {\simpleiconsmap\symbol{"F215}}
- \expandafter\def\csname simpleicon@pluscodesicon\endcsname {\simpleiconsmap\symbol{"F216}}
- \expandafter\def\csname simpleicon@pm2icon\endcsname {\simpleiconsmap\symbol{"F217}}
- \expandafter\def\csname simpleicon@pnpmicon\endcsname {\simpleiconsmap\symbol{"F218}}
- \expandafter\def\csname simpleicon@pocketicon\endcsname {\simpleiconsmap\symbol{"F219}}
- \expandafter\def\csname simpleicon@pocketbaseicon\endcsname {\simpleiconsmap\symbol{"F21A}}
- \expandafter\def\csname simpleicon@pocketcastsicon\endcsname {\simpleiconsmap\symbol{"F21B}}
- \expandafter\def\csname simpleicon@podcastaddicticon\endcsname {\simpleiconsmap\symbol{"F21C}}
- \expandafter\def\csname simpleicon@podcastindexicon\endcsname {\simpleiconsmap\symbol{"F21D}}
- \expandafter\def\csname simpleicon@podmanicon\endcsname {\simpleiconsmap\symbol{"F21E}}
- \expandafter\def\csname simpleicon@poeicon\endcsname {\simpleiconsmap\symbol{"F21F}}
- \expandafter\def\csname simpleicon@poetryicon\endcsname {\simpleiconsmap\symbol{"F220}}
- \expandafter\def\csname simpleicon@pointyicon\endcsname {\simpleiconsmap\symbol{"F221}}
- \expandafter\def\csname simpleicon@pokemonicon\endcsname {\simpleiconsmap\symbol{"F222}}
- \expandafter\def\csname simpleicon@polarsicon\endcsname {\simpleiconsmap\symbol{"F223}}
- \expandafter\def\csname simpleicon@polestaricon\endcsname {\simpleiconsmap\symbol{"F224}}
- \expandafter\def\csname simpleicon@polkadoticon\endcsname {\simpleiconsmap\symbol{"F225}}
- \expandafter\def\csname simpleicon@polyicon\endcsname {\simpleiconsmap\symbol{"F226}}
- \expandafter\def\csname simpleicon@polygonicon\endcsname {\simpleiconsmap\symbol{"F227}}
- \expandafter\def\csname simpleicon@polymerprojecticon\endcsname {\simpleiconsmap\symbol{"F228}}
- \expandafter\def\csname simpleicon@polyworkicon\endcsname {\simpleiconsmap\symbol{"F229}}
- \expandafter\def\csname simpleicon@pond5icon\endcsname {\simpleiconsmap\symbol{"F22A}}
- \expandafter\def\csname simpleicon@poposicon\endcsname {\simpleiconsmap\symbol{"F22B}}
- \expandafter\def\csname simpleicon@porkbunicon\endcsname {\simpleiconsmap\symbol{"F22C}}
- \expandafter\def\csname simpleicon@porscheicon\endcsname {\simpleiconsmap\symbol{"F22D}}
- \expandafter\def\csname simpleicon@portainericon\endcsname {\simpleiconsmap\symbol{"F22E}}
- \expandafter\def\csname simpleicon@portswiggericon\endcsname {\simpleiconsmap\symbol{"F22F}}
- \expandafter\def\csname simpleicon@postcssicon\endcsname {\simpleiconsmap\symbol{"F230}}
- \expandafter\def\csname simpleicon@postgresqlicon\endcsname {\simpleiconsmap\symbol{"F231}}
- \expandafter\def\csname simpleicon@posthogicon\endcsname {\simpleiconsmap\symbol{"F232}}
- \expandafter\def\csname simpleicon@postmanicon\endcsname {\simpleiconsmap\symbol{"F233}}
- \expandafter\def\csname simpleicon@postmatesicon\endcsname {\simpleiconsmap\symbol{"F234}}
- \expandafter\def\csname simpleicon@powerappsicon\endcsname {\simpleiconsmap\symbol{"F235}}
- \expandafter\def\csname simpleicon@powerautomateicon\endcsname {\simpleiconsmap\symbol{"F236}}
- \expandafter\def\csname simpleicon@powerbiicon\endcsname {\simpleiconsmap\symbol{"F237}}
- \expandafter\def\csname simpleicon@powerfxicon\endcsname {\simpleiconsmap\symbol{"F238}}
- \expandafter\def\csname simpleicon@powerpagesicon\endcsname {\simpleiconsmap\symbol{"F239}}
- \expandafter\def\csname simpleicon@powersicon\endcsname {\simpleiconsmap\symbol{"F23A}}
- \expandafter\def\csname simpleicon@powershellicon\endcsname {\simpleiconsmap\symbol{"F23B}}
- \expandafter\def\csname simpleicon@powervirtualagentsicon\endcsname {\simpleiconsmap\symbol{"F23C}}
- \expandafter\def\csname simpleicon@prdotcoicon\endcsname {\simpleiconsmap\symbol{"F23D}}
- \expandafter\def\csname simpleicon@preacticon\endcsname {\simpleiconsmap\symbol{"F23E}}
- \expandafter\def\csname simpleicon@precommiticon\endcsname {\simpleiconsmap\symbol{"F23F}}
- \expandafter\def\csname simpleicon@prefecticon\endcsname {\simpleiconsmap\symbol{"F240}}
- \expandafter\def\csname simpleicon@premierleagueicon\endcsname {\simpleiconsmap\symbol{"F241}}
- \expandafter\def\csname simpleicon@prepbytesicon\endcsname {\simpleiconsmap\symbol{"F242}}
- \expandafter\def\csname simpleicon@prestashopicon\endcsname {\simpleiconsmap\symbol{"F243}}
- \expandafter\def\csname simpleicon@prestoicon\endcsname {\simpleiconsmap\symbol{"F244}}
- \expandafter\def\csname simpleicon@prettiericon\endcsname {\simpleiconsmap\symbol{"F245}}
- \expandafter\def\csname simpleicon@pretzelicon\endcsname {\simpleiconsmap\symbol{"F246}}
- \expandafter\def\csname simpleicon@preventionicon\endcsname {\simpleiconsmap\symbol{"F247}}
- \expandafter\def\csname simpleicon@preziicon\endcsname {\simpleiconsmap\symbol{"F248}}
- \expandafter\def\csname simpleicon@primeicon\endcsname {\simpleiconsmap\symbol{"F249}}
- \expandafter\def\csname simpleicon@primevideoicon\endcsname {\simpleiconsmap\symbol{"F24A}}
- \expandafter\def\csname simpleicon@printablesicon\endcsname {\simpleiconsmap\symbol{"F24B}}
- \expandafter\def\csname simpleicon@prismaicon\endcsname {\simpleiconsmap\symbol{"F24C}}
- \expandafter\def\csname simpleicon@prismicicon\endcsname {\simpleiconsmap\symbol{"F24D}}
- \expandafter\def\csname simpleicon@privatedivisionicon\endcsname {\simpleiconsmap\symbol{"F24E}}
- \expandafter\def\csname simpleicon@privateinternetaccessicon\endcsname {\simpleiconsmap\symbol{"F24F}}
- \expandafter\def\csname simpleicon@proboticon\endcsname {\simpleiconsmap\symbol{"F250}}
- \expandafter\def\csname simpleicon@processingfoundationicon\endcsname {\simpleiconsmap\symbol{"F251}}
- \expandafter\def\csname simpleicon@processwireicon\endcsname {\simpleiconsmap\symbol{"F252}}
- \expandafter\def\csname simpleicon@producthunticon\endcsname {\simpleiconsmap\symbol{"F253}}
- \expandafter\def\csname simpleicon@progateicon\endcsname {\simpleiconsmap\symbol{"F254}}
- \expandafter\def\csname simpleicon@progressicon\endcsname {\simpleiconsmap\symbol{"F255}}
- \expandafter\def\csname simpleicon@prometheusicon\endcsname {\simpleiconsmap\symbol{"F256}}
- \expandafter\def\csname simpleicon@prosiebenicon\endcsname {\simpleiconsmap\symbol{"F257}}
- \expandafter\def\csname simpleicon@proteusicon\endcsname {\simpleiconsmap\symbol{"F258}}
- \expandafter\def\csname simpleicon@protocolsdotioicon\endcsname {\simpleiconsmap\symbol{"F259}}
- \expandafter\def\csname simpleicon@protodotioicon\endcsname {\simpleiconsmap\symbol{"F25A}}
- \expandafter\def\csname simpleicon@protonicon\endcsname {\simpleiconsmap\symbol{"F25B}}
- \expandafter\def\csname simpleicon@protoncalendaricon\endcsname {\simpleiconsmap\symbol{"F25C}}
- \expandafter\def\csname simpleicon@protondbicon\endcsname {\simpleiconsmap\symbol{"F25D}}
- \expandafter\def\csname simpleicon@protondriveicon\endcsname {\simpleiconsmap\symbol{"F25E}}
- \expandafter\def\csname simpleicon@protonmailicon\endcsname {\simpleiconsmap\symbol{"F25F}}
- \expandafter\def\csname simpleicon@protonvpnicon\endcsname {\simpleiconsmap\symbol{"F260}}
- \expandafter\def\csname simpleicon@protoolsicon\endcsname {\simpleiconsmap\symbol{"F261}}
- \expandafter\def\csname simpleicon@protractoricon\endcsname {\simpleiconsmap\symbol{"F262}}
- \expandafter\def\csname simpleicon@proxmoxicon\endcsname {\simpleiconsmap\symbol{"F263}}
- \expandafter\def\csname simpleicon@pterodactylicon\endcsname {\simpleiconsmap\symbol{"F264}}
- \expandafter\def\csname simpleicon@pubgicon\endcsname {\simpleiconsmap\symbol{"F265}}
- \expandafter\def\csname simpleicon@publonsicon\endcsname {\simpleiconsmap\symbol{"F266}}
- \expandafter\def\csname simpleicon@pubmedicon\endcsname {\simpleiconsmap\symbol{"F267}}
- \expandafter\def\csname simpleicon@pugicon\endcsname {\simpleiconsmap\symbol{"F268}}
- \expandafter\def\csname simpleicon@pulumiicon\endcsname {\simpleiconsmap\symbol{"F269}}
- \expandafter\def\csname simpleicon@pumaicon\endcsname {\simpleiconsmap\symbol{"F26A}}
- \expandafter\def\csname simpleicon@puppeticon\endcsname {\simpleiconsmap\symbol{"F26B}}
- \expandafter\def\csname simpleicon@puppeteericon\endcsname {\simpleiconsmap\symbol{"F26C}}
- \expandafter\def\csname simpleicon@purescripticon\endcsname {\simpleiconsmap\symbol{"F26D}}
- \expandafter\def\csname simpleicon@purgecssicon\endcsname {\simpleiconsmap\symbol{"F26E}}
- \expandafter\def\csname simpleicon@purismicon\endcsname {\simpleiconsmap\symbol{"F26F}}
- \expandafter\def\csname simpleicon@pushbulleticon\endcsname {\simpleiconsmap\symbol{"F270}}
- \expandafter\def\csname simpleicon@pushericon\endcsname {\simpleiconsmap\symbol{"F271}}
- \expandafter\def\csname simpleicon@pwaicon\endcsname {\simpleiconsmap\symbol{"F272}}
- \expandafter\def\csname simpleicon@pycharmicon\endcsname {\simpleiconsmap\symbol{"F273}}
- \expandafter\def\csname simpleicon@pycqaicon\endcsname {\simpleiconsmap\symbol{"F274}}
- \expandafter\def\csname simpleicon@pydanticicon\endcsname {\simpleiconsmap\symbol{"F275}}
- \expandafter\def\csname simpleicon@pygicon\endcsname {\simpleiconsmap\symbol{"F276}}
- \expandafter\def\csname simpleicon@pypiicon\endcsname {\simpleiconsmap\symbol{"F277}}
- \expandafter\def\csname simpleicon@pypyicon\endcsname {\simpleiconsmap\symbol{"F278}}
- \expandafter\def\csname simpleicon@pyscaffoldicon\endcsname {\simpleiconsmap\symbol{"F279}}
- \expandafter\def\csname simpleicon@pysyfticon\endcsname {\simpleiconsmap\symbol{"F27A}}
- \expandafter\def\csname simpleicon@pytesticon\endcsname {\simpleiconsmap\symbol{"F27B}}
- \expandafter\def\csname simpleicon@pythonicon\endcsname {\simpleiconsmap\symbol{"F27C}}
- \expandafter\def\csname simpleicon@pythonanywhereicon\endcsname {\simpleiconsmap\symbol{"F27D}}
- \expandafter\def\csname simpleicon@pytorchicon\endcsname {\simpleiconsmap\symbol{"F27E}}
- \expandafter\def\csname simpleicon@pyupicon\endcsname {\simpleiconsmap\symbol{"F27F}}
- \expandafter\def\csname simpleicon@qantasicon\endcsname {\simpleiconsmap\symbol{"F280}}
- \expandafter\def\csname simpleicon@qaseicon\endcsname {\simpleiconsmap\symbol{"F281}}
- \expandafter\def\csname simpleicon@qatarairwaysicon\endcsname {\simpleiconsmap\symbol{"F282}}
- \expandafter\def\csname simpleicon@qbittorrenticon\endcsname {\simpleiconsmap\symbol{"F283}}
- \expandafter\def\csname simpleicon@qemuicon\endcsname {\simpleiconsmap\symbol{"F284}}
- \expandafter\def\csname simpleicon@qgisicon\endcsname {\simpleiconsmap\symbol{"F285}}
- \expandafter\def\csname simpleicon@qiicon\endcsname {\simpleiconsmap\symbol{"F286}}
- \expandafter\def\csname simpleicon@qiitaicon\endcsname {\simpleiconsmap\symbol{"F287}}
- \expandafter\def\csname simpleicon@qiskiticon\endcsname {\simpleiconsmap\symbol{"F288}}
- \expandafter\def\csname simpleicon@qiwiicon\endcsname {\simpleiconsmap\symbol{"F289}}
- \expandafter\def\csname simpleicon@qlikicon\endcsname {\simpleiconsmap\symbol{"F28A}}
- \expandafter\def\csname simpleicon@qmkicon\endcsname {\simpleiconsmap\symbol{"F28B}}
- \expandafter\def\csname simpleicon@qnapicon\endcsname {\simpleiconsmap\symbol{"F28C}}
- \expandafter\def\csname simpleicon@qticon\endcsname {\simpleiconsmap\symbol{"F28D}}
- \expandafter\def\csname simpleicon@qualcommicon\endcsname {\simpleiconsmap\symbol{"F28E}}
- \expandafter\def\csname simpleicon@qualtricsicon\endcsname {\simpleiconsmap\symbol{"F28F}}
- \expandafter\def\csname simpleicon@qualysicon\endcsname {\simpleiconsmap\symbol{"F290}}
- \expandafter\def\csname simpleicon@quantcasticon\endcsname {\simpleiconsmap\symbol{"F291}}
- \expandafter\def\csname simpleicon@quantconnecticon\endcsname {\simpleiconsmap\symbol{"F292}}
- \expandafter\def\csname simpleicon@quarkusicon\endcsname {\simpleiconsmap\symbol{"F293}}
- \expandafter\def\csname simpleicon@quasaricon\endcsname {\simpleiconsmap\symbol{"F294}}
- \expandafter\def\csname simpleicon@qubesosicon\endcsname {\simpleiconsmap\symbol{"F295}}
- \expandafter\def\csname simpleicon@questicon\endcsname {\simpleiconsmap\symbol{"F296}}
- \expandafter\def\csname simpleicon@quickbooksicon\endcsname {\simpleiconsmap\symbol{"F297}}
- \expandafter\def\csname simpleicon@quicklookicon\endcsname {\simpleiconsmap\symbol{"F298}}
- \expandafter\def\csname simpleicon@quicktimeicon\endcsname {\simpleiconsmap\symbol{"F299}}
- \expandafter\def\csname simpleicon@quicktypeicon\endcsname {\simpleiconsmap\symbol{"F29A}}
- \expandafter\def\csname simpleicon@quipicon\endcsname {\simpleiconsmap\symbol{"F29B}}
- \expandafter\def\csname simpleicon@quoraicon\endcsname {\simpleiconsmap\symbol{"F29C}}
- \expandafter\def\csname simpleicon@qwanticon\endcsname {\simpleiconsmap\symbol{"F29D}}
- \expandafter\def\csname simpleicon@qwikicon\endcsname {\simpleiconsmap\symbol{"F29E}}
- \expandafter\def\csname simpleicon@qwiklabsicon\endcsname {\simpleiconsmap\symbol{"F29F}}
- \expandafter\def\csname simpleicon@qzoneicon\endcsname {\simpleiconsmap\symbol{"F2A0}}
- \expandafter\def\csname simpleicon@ricon\endcsname {\simpleiconsmap\symbol{"F2A1}}
- \expandafter\def\csname simpleicon@r3icon\endcsname {\simpleiconsmap\symbol{"F2A2}}
- \expandafter\def\csname simpleicon@rabbitmqicon\endcsname {\simpleiconsmap\symbol{"F2A3}}
- \expandafter\def\csname simpleicon@racketicon\endcsname {\simpleiconsmap\symbol{"F2A4}}
- \expandafter\def\csname simpleicon@radaricon\endcsname {\simpleiconsmap\symbol{"F2A5}}
- \expandafter\def\csname simpleicon@radarricon\endcsname {\simpleiconsmap\symbol{"F2A6}}
- \expandafter\def\csname simpleicon@radiopublicicon\endcsname {\simpleiconsmap\symbol{"F2A7}}
- \expandafter\def\csname simpleicon@radixuiicon\endcsname {\simpleiconsmap\symbol{"F2A8}}
- \expandafter\def\csname simpleicon@radstudioicon\endcsname {\simpleiconsmap\symbol{"F2A9}}
- \expandafter\def\csname simpleicon@railwayicon\endcsname {\simpleiconsmap\symbol{"F2AA}}
- \expandafter\def\csname simpleicon@rainmetericon\endcsname {\simpleiconsmap\symbol{"F2AB}}
- \expandafter\def\csname simpleicon@rakutenicon\endcsname {\simpleiconsmap\symbol{"F2AC}}
- \expandafter\def\csname simpleicon@ramicon\endcsname {\simpleiconsmap\symbol{"F2AD}}
- \expandafter\def\csname simpleicon@ranchericon\endcsname {\simpleiconsmap\symbol{"F2AE}}
- \expandafter\def\csname simpleicon@rapidicon\endcsname {\simpleiconsmap\symbol{"F2AF}}
- \expandafter\def\csname simpleicon@raribleicon\endcsname {\simpleiconsmap\symbol{"F2B0}}
- \expandafter\def\csname simpleicon@rasaicon\endcsname {\simpleiconsmap\symbol{"F2B1}}
- \expandafter\def\csname simpleicon@raspberrypiicon\endcsname {\simpleiconsmap\symbol{"F2B2}}
- \expandafter\def\csname simpleicon@ravelryicon\endcsname {\simpleiconsmap\symbol{"F2B3}}
- \expandafter\def\csname simpleicon@rayicon\endcsname {\simpleiconsmap\symbol{"F2B4}}
- \expandafter\def\csname simpleicon@raycasticon\endcsname {\simpleiconsmap\symbol{"F2B5}}
- \expandafter\def\csname simpleicon@raylibicon\endcsname {\simpleiconsmap\symbol{"F2B6}}
- \expandafter\def\csname simpleicon@razericon\endcsname {\simpleiconsmap\symbol{"F2B7}}
- \expandafter\def\csname simpleicon@razorpayicon\endcsname {\simpleiconsmap\symbol{"F2B8}}
- \expandafter\def\csname simpleicon@reacticon\endcsname {\simpleiconsmap\symbol{"F2B9}}
- \expandafter\def\csname simpleicon@reacthookformicon\endcsname {\simpleiconsmap\symbol{"F2BA}}
- \expandafter\def\csname simpleicon@reactiveresumeicon\endcsname {\simpleiconsmap\symbol{"F2BB}}
- \expandafter\def\csname simpleicon@reactivexicon\endcsname {\simpleiconsmap\symbol{"F2BC}}
- \expandafter\def\csname simpleicon@reactosicon\endcsname {\simpleiconsmap\symbol{"F2BD}}
- \expandafter\def\csname simpleicon@reactqueryicon\endcsname {\simpleiconsmap\symbol{"F2BE}}
- \expandafter\def\csname simpleicon@reactroutericon\endcsname {\simpleiconsmap\symbol{"F2BF}}
- \expandafter\def\csname simpleicon@reacttableicon\endcsname {\simpleiconsmap\symbol{"F2C0}}
- \expandafter\def\csname simpleicon@readdotcvicon\endcsname {\simpleiconsmap\symbol{"F2C1}}
- \expandafter\def\csname simpleicon@readmeicon\endcsname {\simpleiconsmap\symbol{"F2C2}}
- \expandafter\def\csname simpleicon@readthedocsicon\endcsname {\simpleiconsmap\symbol{"F2C3}}
- \expandafter\def\csname simpleicon@realmicon\endcsname {\simpleiconsmap\symbol{"F2C4}}
- \expandafter\def\csname simpleicon@reasonicon\endcsname {\simpleiconsmap\symbol{"F2C5}}
- \expandafter\def\csname simpleicon@reasonstudiosicon\endcsname {\simpleiconsmap\symbol{"F2C6}}
- \expandafter\def\csname simpleicon@recoilicon\endcsname {\simpleiconsmap\symbol{"F2C7}}
- \expandafter\def\csname simpleicon@redicon\endcsname {\simpleiconsmap\symbol{"F2C8}}
- \expandafter\def\csname simpleicon@redashicon\endcsname {\simpleiconsmap\symbol{"F2C9}}
- \expandafter\def\csname simpleicon@redbubbleicon\endcsname {\simpleiconsmap\symbol{"F2CA}}
- \expandafter\def\csname simpleicon@redbullicon\endcsname {\simpleiconsmap\symbol{"F2CB}}
- \expandafter\def\csname simpleicon@redditicon\endcsname {\simpleiconsmap\symbol{"F2CC}}
- \expandafter\def\csname simpleicon@redhaticon\endcsname {\simpleiconsmap\symbol{"F2CD}}
- \expandafter\def\csname simpleicon@redhatopenshifticon\endcsname {\simpleiconsmap\symbol{"F2CE}}
- \expandafter\def\csname simpleicon@redisicon\endcsname {\simpleiconsmap\symbol{"F2CF}}
- \expandafter\def\csname simpleicon@redmineicon\endcsname {\simpleiconsmap\symbol{"F2D0}}
- \expandafter\def\csname simpleicon@redoxicon\endcsname {\simpleiconsmap\symbol{"F2D1}}
- \expandafter\def\csname simpleicon@reduxicon\endcsname {\simpleiconsmap\symbol{"F2D2}}
- \expandafter\def\csname simpleicon@reduxsagaicon\endcsname {\simpleiconsmap\symbol{"F2D3}}
- \expandafter\def\csname simpleicon@redwoodjsicon\endcsname {\simpleiconsmap\symbol{"F2D4}}
- \expandafter\def\csname simpleicon@reebokicon\endcsname {\simpleiconsmap\symbol{"F2D5}}
- \expandafter\def\csname simpleicon@refineicon\endcsname {\simpleiconsmap\symbol{"F2D6}}
- \expandafter\def\csname simpleicon@relayicon\endcsname {\simpleiconsmap\symbol{"F2D7}}
- \expandafter\def\csname simpleicon@relianceindustrieslimitedicon\endcsname {\simpleiconsmap\symbol{"F2D8}}
- \expandafter\def\csname simpleicon@remarkicon\endcsname {\simpleiconsmap\symbol{"F2D9}}
- \expandafter\def\csname simpleicon@remedyentertainmenticon\endcsname {\simpleiconsmap\symbol{"F2DA}}
- \expandafter\def\csname simpleicon@remixicon\endcsname {\simpleiconsmap\symbol{"F2DB}}
- \expandafter\def\csname simpleicon@renaulticon\endcsname {\simpleiconsmap\symbol{"F2DC}}
- \expandafter\def\csname simpleicon@rendericon\endcsname {\simpleiconsmap\symbol{"F2DD}}
- \expandafter\def\csname simpleicon@renovateboticon\endcsname {\simpleiconsmap\symbol{"F2DE}}
- \expandafter\def\csname simpleicon@renpyicon\endcsname {\simpleiconsmap\symbol{"F2DF}}
- \expandafter\def\csname simpleicon@renrenicon\endcsname {\simpleiconsmap\symbol{"F2E0}}
- \expandafter\def\csname simpleicon@repliticon\endcsname {\simpleiconsmap\symbol{"F2E1}}
- \expandafter\def\csname simpleicon@republicofgamersicon\endcsname {\simpleiconsmap\symbol{"F2E2}}
- \expandafter\def\csname simpleicon@rescripticon\endcsname {\simpleiconsmap\symbol{"F2E3}}
- \expandafter\def\csname simpleicon@rescuetimeicon\endcsname {\simpleiconsmap\symbol{"F2E4}}
- \expandafter\def\csname simpleicon@researchgateicon\endcsname {\simpleiconsmap\symbol{"F2E5}}
- \expandafter\def\csname simpleicon@resendicon\endcsname {\simpleiconsmap\symbol{"F2E6}}
- \expandafter\def\csname simpleicon@resharpericon\endcsname {\simpleiconsmap\symbol{"F2E7}}
- \expandafter\def\csname simpleicon@resurrectionremixosicon\endcsname {\simpleiconsmap\symbol{"F2E8}}
- \expandafter\def\csname simpleicon@retoolicon\endcsname {\simpleiconsmap\symbol{"F2E9}}
- \expandafter\def\csname simpleicon@retroarchicon\endcsname {\simpleiconsmap\symbol{"F2EA}}
- \expandafter\def\csname simpleicon@retropieicon\endcsname {\simpleiconsmap\symbol{"F2EB}}
- \expandafter\def\csname simpleicon@revancedicon\endcsname {\simpleiconsmap\symbol{"F2EC}}
- \expandafter\def\csname simpleicon@revealdotjsicon\endcsname {\simpleiconsmap\symbol{"F2ED}}
- \expandafter\def\csname simpleicon@reverbnationicon\endcsname {\simpleiconsmap\symbol{"F2EE}}
- \expandafter\def\csname simpleicon@revoltdotchaticon\endcsname {\simpleiconsmap\symbol{"F2EF}}
- \expandafter\def\csname simpleicon@revoluticon\endcsname {\simpleiconsmap\symbol{"F2F0}}
- \expandafter\def\csname simpleicon@revueicon\endcsname {\simpleiconsmap\symbol{"F2F1}}
- \expandafter\def\csname simpleicon@reweicon\endcsname {\simpleiconsmap\symbol{"F2F2}}
- \expandafter\def\csname simpleicon@rezgoicon\endcsname {\simpleiconsmap\symbol{"F2F3}}
- \expandafter\def\csname simpleicon@rhinocerosicon\endcsname {\simpleiconsmap\symbol{"F2F4}}
- \expandafter\def\csname simpleicon@richicon\endcsname {\simpleiconsmap\symbol{"F2F5}}
- \expandafter\def\csname simpleicon@ridericon\endcsname {\simpleiconsmap\symbol{"F2F6}}
- \expandafter\def\csname simpleicon@rimacautomobiliicon\endcsname {\simpleiconsmap\symbol{"F2F7}}
- \expandafter\def\csname simpleicon@ringicon\endcsname {\simpleiconsmap\symbol{"F2F8}}
- \expandafter\def\csname simpleicon@riotgamesicon\endcsname {\simpleiconsmap\symbol{"F2F9}}
- \expandafter\def\csname simpleicon@rippleicon\endcsname {\simpleiconsmap\symbol{"F2FA}}
- \expandafter\def\csname simpleicon@riscvicon\endcsname {\simpleiconsmap\symbol{"F2FB}}
- \expandafter\def\csname simpleicon@riseupicon\endcsname {\simpleiconsmap\symbol{"F2FC}}
- \expandafter\def\csname simpleicon@ritzcarltonicon\endcsname {\simpleiconsmap\symbol{"F2FD}}
- \expandafter\def\csname simpleicon@riveicon\endcsname {\simpleiconsmap\symbol{"F2FE}}
- \expandafter\def\csname simpleicon@roadmapdotshicon\endcsname {\simpleiconsmap\symbol{"F2FF}}
- \expandafter\def\csname simpleicon@roamresearchicon\endcsname {\simpleiconsmap\symbol{"F300}}
- \expandafter\def\csname simpleicon@robinhoodicon\endcsname {\simpleiconsmap\symbol{"F301}}
- \expandafter\def\csname simpleicon@robloxicon\endcsname {\simpleiconsmap\symbol{"F302}}
- \expandafter\def\csname simpleicon@robloxstudioicon\endcsname {\simpleiconsmap\symbol{"F303}}
- \expandafter\def\csname simpleicon@robotframeworkicon\endcsname {\simpleiconsmap\symbol{"F304}}
- \expandafter\def\csname simpleicon@rocketicon\endcsname {\simpleiconsmap\symbol{"F305}}
- \expandafter\def\csname simpleicon@rocketdotchaticon\endcsname {\simpleiconsmap\symbol{"F306}}
- \expandafter\def\csname simpleicon@rocksdbicon\endcsname {\simpleiconsmap\symbol{"F307}}
- \expandafter\def\csname simpleicon@rockstargamesicon\endcsname {\simpleiconsmap\symbol{"F308}}
- \expandafter\def\csname simpleicon@rockwellautomationicon\endcsname {\simpleiconsmap\symbol{"F309}}
- \expandafter\def\csname simpleicon@rockylinuxicon\endcsname {\simpleiconsmap\symbol{"F30A}}
- \expandafter\def\csname simpleicon@rokuicon\endcsname {\simpleiconsmap\symbol{"F30B}}
- \expandafter\def\csname simpleicon@roll20icon\endcsname {\simpleiconsmap\symbol{"F30C}}
- \expandafter\def\csname simpleicon@rollsroyceicon\endcsname {\simpleiconsmap\symbol{"F30D}}
- \expandafter\def\csname simpleicon@rollupdotjsicon\endcsname {\simpleiconsmap\symbol{"F30E}}
- \expandafter\def\csname simpleicon@romeicon\endcsname {\simpleiconsmap\symbol{"F30F}}
- \expandafter\def\csname simpleicon@roonicon\endcsname {\simpleiconsmap\symbol{"F310}}
- \expandafter\def\csname simpleicon@rootmeicon\endcsname {\simpleiconsmap\symbol{"F311}}
- \expandafter\def\csname simpleicon@rootsicon\endcsname {\simpleiconsmap\symbol{"F312}}
- \expandafter\def\csname simpleicon@rootsbedrockicon\endcsname {\simpleiconsmap\symbol{"F313}}
- \expandafter\def\csname simpleicon@rootssageicon\endcsname {\simpleiconsmap\symbol{"F314}}
- \expandafter\def\csname simpleicon@rosicon\endcsname {\simpleiconsmap\symbol{"F315}}
- \expandafter\def\csname simpleicon@rossmannicon\endcsname {\simpleiconsmap\symbol{"F316}}
- \expandafter\def\csname simpleicon@rotaryinternationalicon\endcsname {\simpleiconsmap\symbol{"F317}}
- \expandafter\def\csname simpleicon@rottentomatoesicon\endcsname {\simpleiconsmap\symbol{"F318}}
- \expandafter\def\csname simpleicon@roundcubeicon\endcsname {\simpleiconsmap\symbol{"F319}}
- \expandafter\def\csname simpleicon@rsocketicon\endcsname {\simpleiconsmap\symbol{"F31A}}
- \expandafter\def\csname simpleicon@rssicon\endcsname {\simpleiconsmap\symbol{"F31B}}
- \expandafter\def\csname simpleicon@rstudioicon\endcsname {\simpleiconsmap\symbol{"F31C}}
- \expandafter\def\csname simpleicon@rteicon\endcsname {\simpleiconsmap\symbol{"F31D}}
- \expandafter\def\csname simpleicon@rtlicon\endcsname {\simpleiconsmap\symbol{"F31E}}
- \expandafter\def\csname simpleicon@rtlzweiicon\endcsname {\simpleiconsmap\symbol{"F31F}}
- \expandafter\def\csname simpleicon@rtmicon\endcsname {\simpleiconsmap\symbol{"F320}}
- \expandafter\def\csname simpleicon@rubocopicon\endcsname {\simpleiconsmap\symbol{"F321}}
- \expandafter\def\csname simpleicon@rubyicon\endcsname {\simpleiconsmap\symbol{"F322}}
- \expandafter\def\csname simpleicon@rubygemsicon\endcsname {\simpleiconsmap\symbol{"F323}}
- \expandafter\def\csname simpleicon@rubyonrailsicon\endcsname {\simpleiconsmap\symbol{"F324}}
- \expandafter\def\csname simpleicon@rubysinatraicon\endcsname {\simpleiconsmap\symbol{"F325}}
- \expandafter\def\csname simpleicon@rufficon\endcsname {\simpleiconsmap\symbol{"F326}}
- \expandafter\def\csname simpleicon@rumahwebicon\endcsname {\simpleiconsmap\symbol{"F327}}
- \expandafter\def\csname simpleicon@rumbleicon\endcsname {\simpleiconsmap\symbol{"F328}}
- \expandafter\def\csname simpleicon@rundeckicon\endcsname {\simpleiconsmap\symbol{"F329}}
- \expandafter\def\csname simpleicon@runkeepericon\endcsname {\simpleiconsmap\symbol{"F32A}}
- \expandafter\def\csname simpleicon@runkiticon\endcsname {\simpleiconsmap\symbol{"F32B}}
- \expandafter\def\csname simpleicon@runrundotiticon\endcsname {\simpleiconsmap\symbol{"F32C}}
- \expandafter\def\csname simpleicon@rusticon\endcsname {\simpleiconsmap\symbol{"F32D}}
- \expandafter\def\csname simpleicon@rustdeskicon\endcsname {\simpleiconsmap\symbol{"F32E}}
- \expandafter\def\csname simpleicon@rxdbicon\endcsname {\simpleiconsmap\symbol{"F32F}}
- \expandafter\def\csname simpleicon@ryanairicon\endcsname {\simpleiconsmap\symbol{"F330}}
- \expandafter\def\csname simpleicon@ryeicon\endcsname {\simpleiconsmap\symbol{"F331}}
- \expandafter\def\csname simpleicon@s7airlinesicon\endcsname {\simpleiconsmap\symbol{"F332}}
- \expandafter\def\csname simpleicon@sabanciicon\endcsname {\simpleiconsmap\symbol{"F333}}
- \expandafter\def\csname simpleicon@safariicon\endcsname {\simpleiconsmap\symbol{"F334}}
- \expandafter\def\csname simpleicon@sageicon\endcsname {\simpleiconsmap\symbol{"F335}}
- \expandafter\def\csname simpleicon@sahibindenicon\endcsname {\simpleiconsmap\symbol{"F336}}
- \expandafter\def\csname simpleicon@sailfishosicon\endcsname {\simpleiconsmap\symbol{"F337}}
- \expandafter\def\csname simpleicon@sailsdotjsicon\endcsname {\simpleiconsmap\symbol{"F338}}
- \expandafter\def\csname simpleicon@salesforceicon\endcsname {\simpleiconsmap\symbol{"F339}}
- \expandafter\def\csname simpleicon@sallaicon\endcsname {\simpleiconsmap\symbol{"F33A}}
- \expandafter\def\csname simpleicon@saltprojecticon\endcsname {\simpleiconsmap\symbol{"F33B}}
- \expandafter\def\csname simpleicon@samsclubicon\endcsname {\simpleiconsmap\symbol{"F33C}}
- \expandafter\def\csname simpleicon@samsungicon\endcsname {\simpleiconsmap\symbol{"F33D}}
- \expandafter\def\csname simpleicon@samsungpayicon\endcsname {\simpleiconsmap\symbol{"F33E}}
- \expandafter\def\csname simpleicon@sandiskicon\endcsname {\simpleiconsmap\symbol{"F33F}}
- \expandafter\def\csname simpleicon@sanfranciscomunicipalrailwayicon\endcsname {\simpleiconsmap\symbol{"F340}}
- \expandafter\def\csname simpleicon@sanicicon\endcsname {\simpleiconsmap\symbol{"F341}}
- \expandafter\def\csname simpleicon@sanityicon\endcsname {\simpleiconsmap\symbol{"F342}}
- \expandafter\def\csname simpleicon@saopaulometroicon\endcsname {\simpleiconsmap\symbol{"F343}}
- \expandafter\def\csname simpleicon@sapicon\endcsname {\simpleiconsmap\symbol{"F344}}
- \expandafter\def\csname simpleicon@sassicon\endcsname {\simpleiconsmap\symbol{"F345}}
- \expandafter\def\csname simpleicon@sat1icon\endcsname {\simpleiconsmap\symbol{"F346}}
- \expandafter\def\csname simpleicon@satelliteicon\endcsname {\simpleiconsmap\symbol{"F347}}
- \expandafter\def\csname simpleicon@saturnicon\endcsname {\simpleiconsmap\symbol{"F348}}
- \expandafter\def\csname simpleicon@saucelabsicon\endcsname {\simpleiconsmap\symbol{"F349}}
- \expandafter\def\csname simpleicon@saudiaicon\endcsname {\simpleiconsmap\symbol{"F34A}}
- \expandafter\def\csname simpleicon@scalaicon\endcsname {\simpleiconsmap\symbol{"F34B}}
- \expandafter\def\csname simpleicon@scalewayicon\endcsname {\simpleiconsmap\symbol{"F34C}}
- \expandafter\def\csname simpleicon@scaniaicon\endcsname {\simpleiconsmap\symbol{"F34D}}
- \expandafter\def\csname simpleicon@schneiderelectricicon\endcsname {\simpleiconsmap\symbol{"F34E}}
- \expandafter\def\csname simpleicon@scikitlearnicon\endcsname {\simpleiconsmap\symbol{"F34F}}
- \expandafter\def\csname simpleicon@scipyicon\endcsname {\simpleiconsmap\symbol{"F350}}
- \expandafter\def\csname simpleicon@scopusicon\endcsname {\simpleiconsmap\symbol{"F351}}
- \expandafter\def\csname simpleicon@scpfoundationicon\endcsname {\simpleiconsmap\symbol{"F352}}
- \expandafter\def\csname simpleicon@scrapboxicon\endcsname {\simpleiconsmap\symbol{"F353}}
- \expandafter\def\csname simpleicon@scrapyicon\endcsname {\simpleiconsmap\symbol{"F354}}
- \expandafter\def\csname simpleicon@scratchicon\endcsname {\simpleiconsmap\symbol{"F355}}
- \expandafter\def\csname simpleicon@screencastifyicon\endcsname {\simpleiconsmap\symbol{"F356}}
- \expandafter\def\csname simpleicon@scribdicon\endcsname {\simpleiconsmap\symbol{"F357}}
- \expandafter\def\csname simpleicon@scrimbaicon\endcsname {\simpleiconsmap\symbol{"F358}}
- \expandafter\def\csname simpleicon@scrollrevealicon\endcsname {\simpleiconsmap\symbol{"F359}}
- \expandafter\def\csname simpleicon@scrumallianceicon\endcsname {\simpleiconsmap\symbol{"F35A}}
- \expandafter\def\csname simpleicon@scrutinizerciicon\endcsname {\simpleiconsmap\symbol{"F35B}}
- \expandafter\def\csname simpleicon@scylladbicon\endcsname {\simpleiconsmap\symbol{"F35C}}
- \expandafter\def\csname simpleicon@seagateicon\endcsname {\simpleiconsmap\symbol{"F35D}}
- \expandafter\def\csname simpleicon@searxngicon\endcsname {\simpleiconsmap\symbol{"F35E}}
- \expandafter\def\csname simpleicon@seaticon\endcsname {\simpleiconsmap\symbol{"F35F}}
- \expandafter\def\csname simpleicon@seatgeekicon\endcsname {\simpleiconsmap\symbol{"F360}}
- \expandafter\def\csname simpleicon@securityscorecardicon\endcsname {\simpleiconsmap\symbol{"F361}}
- \expandafter\def\csname simpleicon@sefariaicon\endcsname {\simpleiconsmap\symbol{"F362}}
- \expandafter\def\csname simpleicon@segaicon\endcsname {\simpleiconsmap\symbol{"F363}}
- \expandafter\def\csname simpleicon@seleniumicon\endcsname {\simpleiconsmap\symbol{"F364}}
- \expandafter\def\csname simpleicon@sellfyicon\endcsname {\simpleiconsmap\symbol{"F365}}
- \expandafter\def\csname simpleicon@semanticreleaseicon\endcsname {\simpleiconsmap\symbol{"F366}}
- \expandafter\def\csname simpleicon@semanticscholaricon\endcsname {\simpleiconsmap\symbol{"F367}}
- \expandafter\def\csname simpleicon@semanticuiicon\endcsname {\simpleiconsmap\symbol{"F368}}
- \expandafter\def\csname simpleicon@semanticuireacticon\endcsname {\simpleiconsmap\symbol{"F369}}
- \expandafter\def\csname simpleicon@semanticwebicon\endcsname {\simpleiconsmap\symbol{"F36A}}
- \expandafter\def\csname simpleicon@semaphoreciicon\endcsname {\simpleiconsmap\symbol{"F36B}}
- \expandafter\def\csname simpleicon@semrushicon\endcsname {\simpleiconsmap\symbol{"F36C}}
- \expandafter\def\csname simpleicon@semvericon\endcsname {\simpleiconsmap\symbol{"F36D}}
- \expandafter\def\csname simpleicon@senchaicon\endcsname {\simpleiconsmap\symbol{"F36E}}
- \expandafter\def\csname simpleicon@sennheisericon\endcsname {\simpleiconsmap\symbol{"F36F}}
- \expandafter\def\csname simpleicon@sensuicon\endcsname {\simpleiconsmap\symbol{"F370}}
- \expandafter\def\csname simpleicon@sentryicon\endcsname {\simpleiconsmap\symbol{"F371}}
- \expandafter\def\csname simpleicon@sepaicon\endcsname {\simpleiconsmap\symbol{"F372}}
- \expandafter\def\csname simpleicon@sequelizeicon\endcsname {\simpleiconsmap\symbol{"F373}}
- \expandafter\def\csname simpleicon@serverfaulticon\endcsname {\simpleiconsmap\symbol{"F374}}
- \expandafter\def\csname simpleicon@serverlessicon\endcsname {\simpleiconsmap\symbol{"F375}}
- \expandafter\def\csname simpleicon@sessionicon\endcsname {\simpleiconsmap\symbol{"F376}}
- \expandafter\def\csname simpleicon@sessionizeicon\endcsname {\simpleiconsmap\symbol{"F377}}
- \expandafter\def\csname simpleicon@setappicon\endcsname {\simpleiconsmap\symbol{"F378}}
- \expandafter\def\csname simpleicon@sfmlicon\endcsname {\simpleiconsmap\symbol{"F379}}
- \expandafter\def\csname simpleicon@shadcnuiicon\endcsname {\simpleiconsmap\symbol{"F37A}}
- \expandafter\def\csname simpleicon@shadowicon\endcsname {\simpleiconsmap\symbol{"F37B}}
- \expandafter\def\csname simpleicon@shanghaimetroicon\endcsname {\simpleiconsmap\symbol{"F37C}}
- \expandafter\def\csname simpleicon@sharexicon\endcsname {\simpleiconsmap\symbol{"F37D}}
- \expandafter\def\csname simpleicon@sharpicon\endcsname {\simpleiconsmap\symbol{"F37E}}
- \expandafter\def\csname simpleicon@shazamicon\endcsname {\simpleiconsmap\symbol{"F37F}}
- \expandafter\def\csname simpleicon@shellicon\endcsname {\simpleiconsmap\symbol{"F380}}
- \expandafter\def\csname simpleicon@shellyicon\endcsname {\simpleiconsmap\symbol{"F381}}
- \expandafter\def\csname simpleicon@shenzhenmetroicon\endcsname {\simpleiconsmap\symbol{"F382}}
- \expandafter\def\csname simpleicon@shieldsdotioicon\endcsname {\simpleiconsmap\symbol{"F383}}
- \expandafter\def\csname simpleicon@shikimoriicon\endcsname {\simpleiconsmap\symbol{"F384}}
- \expandafter\def\csname simpleicon@shopeeicon\endcsname {\simpleiconsmap\symbol{"F385}}
- \expandafter\def\csname simpleicon@shopifyicon\endcsname {\simpleiconsmap\symbol{"F386}}
- \expandafter\def\csname simpleicon@shopwareicon\endcsname {\simpleiconsmap\symbol{"F387}}
- \expandafter\def\csname simpleicon@shortcuticon\endcsname {\simpleiconsmap\symbol{"F388}}
- \expandafter\def\csname simpleicon@shotcuticon\endcsname {\simpleiconsmap\symbol{"F389}}
- \expandafter\def\csname simpleicon@showpadicon\endcsname {\simpleiconsmap\symbol{"F38A}}
- \expandafter\def\csname simpleicon@showtimeicon\endcsname {\simpleiconsmap\symbol{"F38B}}
- \expandafter\def\csname simpleicon@showwcaseicon\endcsname {\simpleiconsmap\symbol{"F38C}}
- \expandafter\def\csname simpleicon@shutterstockicon\endcsname {\simpleiconsmap\symbol{"F38D}}
- \expandafter\def\csname simpleicon@sidekiqicon\endcsname {\simpleiconsmap\symbol{"F38E}}
- \expandafter\def\csname simpleicon@sidequesticon\endcsname {\simpleiconsmap\symbol{"F38F}}
- \expandafter\def\csname simpleicon@siemensicon\endcsname {\simpleiconsmap\symbol{"F390}}
- \expandafter\def\csname simpleicon@sifiveicon\endcsname {\simpleiconsmap\symbol{"F391}}
- \expandafter\def\csname simpleicon@signalicon\endcsname {\simpleiconsmap\symbol{"F392}}
- \expandafter\def\csname simpleicon@similarwebicon\endcsname {\simpleiconsmap\symbol{"F393}}
- \expandafter\def\csname simpleicon@simklicon\endcsname {\simpleiconsmap\symbol{"F394}}
- \expandafter\def\csname simpleicon@simpleanalyticsicon\endcsname {\simpleiconsmap\symbol{"F395}}
- \expandafter\def\csname simpleicon@simpleiconsicon\endcsname {\simpleiconsmap\symbol{"F396}}
- \expandafter\def\csname simpleicon@simpleloginicon\endcsname {\simpleiconsmap\symbol{"F397}}
- \expandafter\def\csname simpleicon@simplenoteicon\endcsname {\simpleiconsmap\symbol{"F398}}
- \expandafter\def\csname simpleicon@sinaweiboicon\endcsname {\simpleiconsmap\symbol{"F399}}
- \expandafter\def\csname simpleicon@singaporeairlinesicon\endcsname {\simpleiconsmap\symbol{"F39A}}
- \expandafter\def\csname simpleicon@singlestoreicon\endcsname {\simpleiconsmap\symbol{"F39B}}
- \expandafter\def\csname simpleicon@sitecoreicon\endcsname {\simpleiconsmap\symbol{"F39C}}
- \expandafter\def\csname simpleicon@sitepointicon\endcsname {\simpleiconsmap\symbol{"F39D}}
- \expandafter\def\csname simpleicon@siyuanicon\endcsname {\simpleiconsmap\symbol{"F39E}}
- \expandafter\def\csname simpleicon@skaffoldicon\endcsname {\simpleiconsmap\symbol{"F39F}}
- \expandafter\def\csname simpleicon@sketchicon\endcsname {\simpleiconsmap\symbol{"F3A0}}
- \expandafter\def\csname simpleicon@sketchfabicon\endcsname {\simpleiconsmap\symbol{"F3A1}}
- \expandafter\def\csname simpleicon@sketchupicon\endcsname {\simpleiconsmap\symbol{"F3A2}}
- \expandafter\def\csname simpleicon@skillshareicon\endcsname {\simpleiconsmap\symbol{"F3A3}}
- \expandafter\def\csname simpleicon@skodaicon\endcsname {\simpleiconsmap\symbol{"F3A4}}
- \expandafter\def\csname simpleicon@skyicon\endcsname {\simpleiconsmap\symbol{"F3A5}}
- \expandafter\def\csname simpleicon@skyneticon\endcsname {\simpleiconsmap\symbol{"F3A6}}
- \expandafter\def\csname simpleicon@skypackicon\endcsname {\simpleiconsmap\symbol{"F3A7}}
- \expandafter\def\csname simpleicon@skypeicon\endcsname {\simpleiconsmap\symbol{"F3A8}}
- \expandafter\def\csname simpleicon@skypeforbusinessicon\endcsname {\simpleiconsmap\symbol{"F3A9}}
- \expandafter\def\csname simpleicon@skyrockicon\endcsname {\simpleiconsmap\symbol{"F3AA}}
- \expandafter\def\csname simpleicon@slackicon\endcsname {\simpleiconsmap\symbol{"F3AB}}
- \expandafter\def\csname simpleicon@slackwareicon\endcsname {\simpleiconsmap\symbol{"F3AC}}
- \expandafter\def\csname simpleicon@slashdoticon\endcsname {\simpleiconsmap\symbol{"F3AD}}
- \expandafter\def\csname simpleicon@slickpicicon\endcsname {\simpleiconsmap\symbol{"F3AE}}
- \expandafter\def\csname simpleicon@slidesicon\endcsname {\simpleiconsmap\symbol{"F3AF}}
- \expandafter\def\csname simpleicon@slideshareicon\endcsname {\simpleiconsmap\symbol{"F3B0}}
- \expandafter\def\csname simpleicon@slinticon\endcsname {\simpleiconsmap\symbol{"F3B1}}
- \expandafter\def\csname simpleicon@smarticon\endcsname {\simpleiconsmap\symbol{"F3B2}}
- \expandafter\def\csname simpleicon@smartthingsicon\endcsname {\simpleiconsmap\symbol{"F3B3}}
- \expandafter\def\csname simpleicon@smashdotggicon\endcsname {\simpleiconsmap\symbol{"F3B4}}
- \expandafter\def\csname simpleicon@smashingmagazineicon\endcsname {\simpleiconsmap\symbol{"F3B5}}
- \expandafter\def\csname simpleicon@smrticon\endcsname {\simpleiconsmap\symbol{"F3B6}}
- \expandafter\def\csname simpleicon@smugmugicon\endcsname {\simpleiconsmap\symbol{"F3B7}}
- \expandafter\def\csname simpleicon@snapchaticon\endcsname {\simpleiconsmap\symbol{"F3B8}}
- \expandafter\def\csname simpleicon@snapcrafticon\endcsname {\simpleiconsmap\symbol{"F3B9}}
- \expandafter\def\csname simpleicon@sncficon\endcsname {\simpleiconsmap\symbol{"F3BA}}
- \expandafter\def\csname simpleicon@snowflakeicon\endcsname {\simpleiconsmap\symbol{"F3BB}}
- \expandafter\def\csname simpleicon@snowpackicon\endcsname {\simpleiconsmap\symbol{"F3BC}}
- \expandafter\def\csname simpleicon@snykicon\endcsname {\simpleiconsmap\symbol{"F3BD}}
- \expandafter\def\csname simpleicon@socialbladeicon\endcsname {\simpleiconsmap\symbol{"F3BE}}
- \expandafter\def\csname simpleicon@society6icon\endcsname {\simpleiconsmap\symbol{"F3BF}}
- \expandafter\def\csname simpleicon@socketdotioicon\endcsname {\simpleiconsmap\symbol{"F3C0}}
- \expandafter\def\csname simpleicon@softpediaicon\endcsname {\simpleiconsmap\symbol{"F3C1}}
- \expandafter\def\csname simpleicon@sogouicon\endcsname {\simpleiconsmap\symbol{"F3C2}}
- \expandafter\def\csname simpleicon@solanaicon\endcsname {\simpleiconsmap\symbol{"F3C3}}
- \expandafter\def\csname simpleicon@solidicon\endcsname {\simpleiconsmap\symbol{"F3C4}}
- \expandafter\def\csname simpleicon@solidityicon\endcsname {\simpleiconsmap\symbol{"F3C5}}
- \expandafter\def\csname simpleicon@sololearnicon\endcsname {\simpleiconsmap\symbol{"F3C6}}
- \expandafter\def\csname simpleicon@solusicon\endcsname {\simpleiconsmap\symbol{"F3C7}}
- \expandafter\def\csname simpleicon@sonaricon\endcsname {\simpleiconsmap\symbol{"F3C8}}
- \expandafter\def\csname simpleicon@sonarcloudicon\endcsname {\simpleiconsmap\symbol{"F3C9}}
- \expandafter\def\csname simpleicon@sonarlinticon\endcsname {\simpleiconsmap\symbol{"F3CA}}
- \expandafter\def\csname simpleicon@sonarqubeicon\endcsname {\simpleiconsmap\symbol{"F3CB}}
- \expandafter\def\csname simpleicon@sonarricon\endcsname {\simpleiconsmap\symbol{"F3CC}}
- \expandafter\def\csname simpleicon@sonatypeicon\endcsname {\simpleiconsmap\symbol{"F3CD}}
- \expandafter\def\csname simpleicon@songkickicon\endcsname {\simpleiconsmap\symbol{"F3CE}}
- \expandafter\def\csname simpleicon@songodaicon\endcsname {\simpleiconsmap\symbol{"F3CF}}
- \expandafter\def\csname simpleicon@sonicwallicon\endcsname {\simpleiconsmap\symbol{"F3D0}}
- \expandafter\def\csname simpleicon@sonosicon\endcsname {\simpleiconsmap\symbol{"F3D1}}
- \expandafter\def\csname simpleicon@sonyicon\endcsname {\simpleiconsmap\symbol{"F3D2}}
- \expandafter\def\csname simpleicon@sorianaicon\endcsname {\simpleiconsmap\symbol{"F3D3}}
- \expandafter\def\csname simpleicon@soundchartsicon\endcsname {\simpleiconsmap\symbol{"F3D4}}
- \expandafter\def\csname simpleicon@soundcloudicon\endcsname {\simpleiconsmap\symbol{"F3D5}}
- \expandafter\def\csname simpleicon@sourceengineicon\endcsname {\simpleiconsmap\symbol{"F3D6}}
- \expandafter\def\csname simpleicon@sourceforgeicon\endcsname {\simpleiconsmap\symbol{"F3D7}}
- \expandafter\def\csname simpleicon@sourcehuticon\endcsname {\simpleiconsmap\symbol{"F3D8}}
- \expandafter\def\csname simpleicon@sourcetreeicon\endcsname {\simpleiconsmap\symbol{"F3D9}}
- \expandafter\def\csname simpleicon@southwestairlinesicon\endcsname {\simpleiconsmap\symbol{"F3DA}}
- \expandafter\def\csname simpleicon@spacemacsicon\endcsname {\simpleiconsmap\symbol{"F3DB}}
- \expandafter\def\csname simpleicon@spaceshipicon\endcsname {\simpleiconsmap\symbol{"F3DC}}
- \expandafter\def\csname simpleicon@spacexicon\endcsname {\simpleiconsmap\symbol{"F3DD}}
- \expandafter\def\csname simpleicon@spacyicon\endcsname {\simpleiconsmap\symbol{"F3DE}}
- \expandafter\def\csname simpleicon@sparkaricon\endcsname {\simpleiconsmap\symbol{"F3DF}}
- \expandafter\def\csname simpleicon@sparkasseicon\endcsname {\simpleiconsmap\symbol{"F3E0}}
- \expandafter\def\csname simpleicon@sparkfunicon\endcsname {\simpleiconsmap\symbol{"F3E1}}
- \expandafter\def\csname simpleicon@sparkposticon\endcsname {\simpleiconsmap\symbol{"F3E2}}
- \expandafter\def\csname simpleicon@spdxicon\endcsname {\simpleiconsmap\symbol{"F3E3}}
- \expandafter\def\csname simpleicon@speakerdeckicon\endcsname {\simpleiconsmap\symbol{"F3E4}}
- \expandafter\def\csname simpleicon@spectrumicon\endcsname {\simpleiconsmap\symbol{"F3E5}}
- \expandafter\def\csname simpleicon@speedtesticon\endcsname {\simpleiconsmap\symbol{"F3E6}}
- \expandafter\def\csname simpleicon@speedypageicon\endcsname {\simpleiconsmap\symbol{"F3E7}}
- \expandafter\def\csname simpleicon@sphinxicon\endcsname {\simpleiconsmap\symbol{"F3E8}}
- \expandafter\def\csname simpleicon@spigotmcicon\endcsname {\simpleiconsmap\symbol{"F3E9}}
- \expandafter\def\csname simpleicon@spineicon\endcsname {\simpleiconsmap\symbol{"F3EA}}
- \expandafter\def\csname simpleicon@spinnakericon\endcsname {\simpleiconsmap\symbol{"F3EB}}
- \expandafter\def\csname simpleicon@spinrillaicon\endcsname {\simpleiconsmap\symbol{"F3EC}}
- \expandafter\def\csname simpleicon@splunkicon\endcsname {\simpleiconsmap\symbol{"F3ED}}
- \expandafter\def\csname simpleicon@spojicon\endcsname {\simpleiconsmap\symbol{"F3EE}}
- \expandafter\def\csname simpleicon@spondicon\endcsname {\simpleiconsmap\symbol{"F3EF}}
- \expandafter\def\csname simpleicon@spotifyicon\endcsname {\simpleiconsmap\symbol{"F3F0}}
- \expandafter\def\csname simpleicon@spotlighticon\endcsname {\simpleiconsmap\symbol{"F3F1}}
- \expandafter\def\csname simpleicon@spreadshirticon\endcsname {\simpleiconsmap\symbol{"F3F2}}
- \expandafter\def\csname simpleicon@spreakericon\endcsname {\simpleiconsmap\symbol{"F3F3}}
- \expandafter\def\csname simpleicon@springicon\endcsname {\simpleiconsmap\symbol{"F3F4}}
- \expandafter\def\csname simpleicon@springcreatorsicon\endcsname {\simpleiconsmap\symbol{"F3F5}}
- \expandafter\def\csname simpleicon@springbooticon\endcsname {\simpleiconsmap\symbol{"F3F6}}
- \expandafter\def\csname simpleicon@springsecurityicon\endcsname {\simpleiconsmap\symbol{"F3F7}}
- \expandafter\def\csname simpleicon@spyderideicon\endcsname {\simpleiconsmap\symbol{"F3F8}}
- \expandafter\def\csname simpleicon@sqlalchemyicon\endcsname {\simpleiconsmap\symbol{"F3F9}}
- \expandafter\def\csname simpleicon@sqliteicon\endcsname {\simpleiconsmap\symbol{"F3FA}}
- \expandafter\def\csname simpleicon@squareicon\endcsname {\simpleiconsmap\symbol{"F3FB}}
- \expandafter\def\csname simpleicon@squareenixicon\endcsname {\simpleiconsmap\symbol{"F3FC}}
- \expandafter\def\csname simpleicon@squarespaceicon\endcsname {\simpleiconsmap\symbol{"F3FD}}
- \expandafter\def\csname simpleicon@srgssricon\endcsname {\simpleiconsmap\symbol{"F3FE}}
- \expandafter\def\csname simpleicon@ssrnicon\endcsname {\simpleiconsmap\symbol{"F3FF}}
- \expandafter\def\csname simpleicon@ssticon\endcsname {\simpleiconsmap\symbol{"F400}}
- \expandafter\def\csname simpleicon@stackbiticon\endcsname {\simpleiconsmap\symbol{"F401}}
- \expandafter\def\csname simpleicon@stackblitzicon\endcsname {\simpleiconsmap\symbol{"F402}}
- \expandafter\def\csname simpleicon@stackediticon\endcsname {\simpleiconsmap\symbol{"F403}}
- \expandafter\def\csname simpleicon@stackexchangeicon\endcsname {\simpleiconsmap\symbol{"F404}}
- \expandafter\def\csname simpleicon@stackhawkicon\endcsname {\simpleiconsmap\symbol{"F405}}
- \expandafter\def\csname simpleicon@stackoverflowicon\endcsname {\simpleiconsmap\symbol{"F406}}
- \expandafter\def\csname simpleicon@stackpathicon\endcsname {\simpleiconsmap\symbol{"F407}}
- \expandafter\def\csname simpleicon@stackshareicon\endcsname {\simpleiconsmap\symbol{"F408}}
- \expandafter\def\csname simpleicon@stadiaicon\endcsname {\simpleiconsmap\symbol{"F409}}
- \expandafter\def\csname simpleicon@staffbaseicon\endcsname {\simpleiconsmap\symbol{"F40A}}
- \expandafter\def\csname simpleicon@stagetimericon\endcsname {\simpleiconsmap\symbol{"F40B}}
- \expandafter\def\csname simpleicon@standardjsicon\endcsname {\simpleiconsmap\symbol{"F40C}}
- \expandafter\def\csname simpleicon@standardresumeicon\endcsname {\simpleiconsmap\symbol{"F40D}}
- \expandafter\def\csname simpleicon@starbucksicon\endcsname {\simpleiconsmap\symbol{"F40E}}
- \expandafter\def\csname simpleicon@stardockicon\endcsname {\simpleiconsmap\symbol{"F40F}}
- \expandafter\def\csname simpleicon@starlingbankicon\endcsname {\simpleiconsmap\symbol{"F410}}
- \expandafter\def\csname simpleicon@starshipicon\endcsname {\simpleiconsmap\symbol{"F411}}
- \expandafter\def\csname simpleicon@startrekicon\endcsname {\simpleiconsmap\symbol{"F412}}
- \expandafter\def\csname simpleicon@starzicon\endcsname {\simpleiconsmap\symbol{"F413}}
- \expandafter\def\csname simpleicon@statamicicon\endcsname {\simpleiconsmap\symbol{"F414}}
- \expandafter\def\csname simpleicon@statuspageicon\endcsname {\simpleiconsmap\symbol{"F415}}
- \expandafter\def\csname simpleicon@statuspalicon\endcsname {\simpleiconsmap\symbol{"F416}}
- \expandafter\def\csname simpleicon@steamicon\endcsname {\simpleiconsmap\symbol{"F417}}
- \expandafter\def\csname simpleicon@steamdbicon\endcsname {\simpleiconsmap\symbol{"F418}}
- \expandafter\def\csname simpleicon@steamdeckicon\endcsname {\simpleiconsmap\symbol{"F419}}
- \expandafter\def\csname simpleicon@steamworksicon\endcsname {\simpleiconsmap\symbol{"F41A}}
- \expandafter\def\csname simpleicon@steelseriesicon\endcsname {\simpleiconsmap\symbol{"F41B}}
- \expandafter\def\csname simpleicon@steemicon\endcsname {\simpleiconsmap\symbol{"F41C}}
- \expandafter\def\csname simpleicon@steemiticon\endcsname {\simpleiconsmap\symbol{"F41D}}
- \expandafter\def\csname simpleicon@steinbergicon\endcsname {\simpleiconsmap\symbol{"F41E}}
- \expandafter\def\csname simpleicon@stellaricon\endcsname {\simpleiconsmap\symbol{"F41F}}
- \expandafter\def\csname simpleicon@stencilicon\endcsname {\simpleiconsmap\symbol{"F420}}
- \expandafter\def\csname simpleicon@stencylicon\endcsname {\simpleiconsmap\symbol{"F421}}
- \expandafter\def\csname simpleicon@stimulusicon\endcsname {\simpleiconsmap\symbol{"F422}}
- \expandafter\def\csname simpleicon@stitchericon\endcsname {\simpleiconsmap\symbol{"F423}}
- \expandafter\def\csname simpleicon@stmicroelectronicsicon\endcsname {\simpleiconsmap\symbol{"F424}}
- \expandafter\def\csname simpleicon@stockxicon\endcsname {\simpleiconsmap\symbol{"F425}}
- \expandafter\def\csname simpleicon@stopstalkicon\endcsname {\simpleiconsmap\symbol{"F426}}
- \expandafter\def\csname simpleicon@storyblokicon\endcsname {\simpleiconsmap\symbol{"F427}}
- \expandafter\def\csname simpleicon@storybookicon\endcsname {\simpleiconsmap\symbol{"F428}}
- \expandafter\def\csname simpleicon@strapiicon\endcsname {\simpleiconsmap\symbol{"F429}}
- \expandafter\def\csname simpleicon@stravaicon\endcsname {\simpleiconsmap\symbol{"F42A}}
- \expandafter\def\csname simpleicon@streamlabsicon\endcsname {\simpleiconsmap\symbol{"F42B}}
- \expandafter\def\csname simpleicon@streamliticon\endcsname {\simpleiconsmap\symbol{"F42C}}
- \expandafter\def\csname simpleicon@streamrunnersicon\endcsname {\simpleiconsmap\symbol{"F42D}}
- \expandafter\def\csname simpleicon@stripeicon\endcsname {\simpleiconsmap\symbol{"F42E}}
- \expandafter\def\csname simpleicon@strongswanicon\endcsname {\simpleiconsmap\symbol{"F42F}}
- \expandafter\def\csname simpleicon@strykericon\endcsname {\simpleiconsmap\symbol{"F430}}
- \expandafter\def\csname simpleicon@stubhubicon\endcsname {\simpleiconsmap\symbol{"F431}}
- \expandafter\def\csname simpleicon@studio3ticon\endcsname {\simpleiconsmap\symbol{"F432}}
- \expandafter\def\csname simpleicon@studyverseicon\endcsname {\simpleiconsmap\symbol{"F433}}
- \expandafter\def\csname simpleicon@styledcomponentsicon\endcsname {\simpleiconsmap\symbol{"F434}}
- \expandafter\def\csname simpleicon@stylelinticon\endcsname {\simpleiconsmap\symbol{"F435}}
- \expandafter\def\csname simpleicon@styleshareicon\endcsname {\simpleiconsmap\symbol{"F436}}
- \expandafter\def\csname simpleicon@stylusicon\endcsname {\simpleiconsmap\symbol{"F437}}
- \expandafter\def\csname simpleicon@subaruicon\endcsname {\simpleiconsmap\symbol{"F438}}
- \expandafter\def\csname simpleicon@sublimetexticon\endcsname {\simpleiconsmap\symbol{"F439}}
- \expandafter\def\csname simpleicon@substackicon\endcsname {\simpleiconsmap\symbol{"F43A}}
- \expandafter\def\csname simpleicon@subtitleediticon\endcsname {\simpleiconsmap\symbol{"F43B}}
- \expandafter\def\csname simpleicon@subversionicon\endcsname {\simpleiconsmap\symbol{"F43C}}
- \expandafter\def\csname simpleicon@sucklessicon\endcsname {\simpleiconsmap\symbol{"F43D}}
- \expandafter\def\csname simpleicon@sumologicicon\endcsname {\simpleiconsmap\symbol{"F43E}}
- \expandafter\def\csname simpleicon@supabaseicon\endcsname {\simpleiconsmap\symbol{"F43F}}
- \expandafter\def\csname simpleicon@supercreaseicon\endcsname {\simpleiconsmap\symbol{"F440}}
- \expandafter\def\csname simpleicon@supermicroicon\endcsname {\simpleiconsmap\symbol{"F441}}
- \expandafter\def\csname simpleicon@superusericon\endcsname {\simpleiconsmap\symbol{"F442}}
- \expandafter\def\csname simpleicon@surrealdbicon\endcsname {\simpleiconsmap\symbol{"F443}}
- \expandafter\def\csname simpleicon@surveymonkeyicon\endcsname {\simpleiconsmap\symbol{"F444}}
- \expandafter\def\csname simpleicon@suseicon\endcsname {\simpleiconsmap\symbol{"F445}}
- \expandafter\def\csname simpleicon@suzukiicon\endcsname {\simpleiconsmap\symbol{"F446}}
- \expandafter\def\csname simpleicon@svelteicon\endcsname {\simpleiconsmap\symbol{"F447}}
- \expandafter\def\csname simpleicon@svgicon\endcsname {\simpleiconsmap\symbol{"F448}}
- \expandafter\def\csname simpleicon@svgdotjsicon\endcsname {\simpleiconsmap\symbol{"F449}}
- \expandafter\def\csname simpleicon@svgoicon\endcsname {\simpleiconsmap\symbol{"F44A}}
- \expandafter\def\csname simpleicon@swaggericon\endcsname {\simpleiconsmap\symbol{"F44B}}
- \expandafter\def\csname simpleicon@swarmicon\endcsname {\simpleiconsmap\symbol{"F44C}}
- \expandafter\def\csname simpleicon@swcicon\endcsname {\simpleiconsmap\symbol{"F44D}}
- \expandafter\def\csname simpleicon@swifticon\endcsname {\simpleiconsmap\symbol{"F44E}}
- \expandafter\def\csname simpleicon@swiggyicon\endcsname {\simpleiconsmap\symbol{"F44F}}
- \expandafter\def\csname simpleicon@swipericon\endcsname {\simpleiconsmap\symbol{"F450}}
- \expandafter\def\csname simpleicon@swricon\endcsname {\simpleiconsmap\symbol{"F451}}
- \expandafter\def\csname simpleicon@symantecicon\endcsname {\simpleiconsmap\symbol{"F452}}
- \expandafter\def\csname simpleicon@symbolabicon\endcsname {\simpleiconsmap\symbol{"F453}}
- \expandafter\def\csname simpleicon@symfonyicon\endcsname {\simpleiconsmap\symbol{"F454}}
- \expandafter\def\csname simpleicon@symphonyicon\endcsname {\simpleiconsmap\symbol{"F455}}
- \expandafter\def\csname simpleicon@sympyicon\endcsname {\simpleiconsmap\symbol{"F456}}
- \expandafter\def\csname simpleicon@syncthingicon\endcsname {\simpleiconsmap\symbol{"F457}}
- \expandafter\def\csname simpleicon@synologyicon\endcsname {\simpleiconsmap\symbol{"F458}}
- \expandafter\def\csname simpleicon@system76icon\endcsname {\simpleiconsmap\symbol{"F459}}
- \expandafter\def\csname simpleicon@tabelogicon\endcsname {\simpleiconsmap\symbol{"F45A}}
- \expandafter\def\csname simpleicon@tableauicon\endcsname {\simpleiconsmap\symbol{"F45B}}
- \expandafter\def\csname simpleicon@tablecheckicon\endcsname {\simpleiconsmap\symbol{"F45C}}
- \expandafter\def\csname simpleicon@tacobellicon\endcsname {\simpleiconsmap\symbol{"F45D}}
- \expandafter\def\csname simpleicon@tadoicon\endcsname {\simpleiconsmap\symbol{"F45E}}
- \expandafter\def\csname simpleicon@taichigraphicsicon\endcsname {\simpleiconsmap\symbol{"F45F}}
- \expandafter\def\csname simpleicon@taichilangicon\endcsname {\simpleiconsmap\symbol{"F460}}
- \expandafter\def\csname simpleicon@tailsicon\endcsname {\simpleiconsmap\symbol{"F461}}
- \expandafter\def\csname simpleicon@tailwindcssicon\endcsname {\simpleiconsmap\symbol{"F462}}
- \expandafter\def\csname simpleicon@taketwointeractivesoftwareicon\endcsname {\simpleiconsmap\symbol{"F463}}
- \expandafter\def\csname simpleicon@talendicon\endcsname {\simpleiconsmap\symbol{"F464}}
- \expandafter\def\csname simpleicon@talenthouseicon\endcsname {\simpleiconsmap\symbol{"F465}}
- \expandafter\def\csname simpleicon@talosicon\endcsname {\simpleiconsmap\symbol{"F466}}
- \expandafter\def\csname simpleicon@tamiyaicon\endcsname {\simpleiconsmap\symbol{"F467}}
- \expandafter\def\csname simpleicon@tampermonkeyicon\endcsname {\simpleiconsmap\symbol{"F468}}
- \expandafter\def\csname simpleicon@taobaoicon\endcsname {\simpleiconsmap\symbol{"F469}}
- \expandafter\def\csname simpleicon@tapasicon\endcsname {\simpleiconsmap\symbol{"F46A}}
- \expandafter\def\csname simpleicon@targeticon\endcsname {\simpleiconsmap\symbol{"F46B}}
- \expandafter\def\csname simpleicon@taskicon\endcsname {\simpleiconsmap\symbol{"F46C}}
- \expandafter\def\csname simpleicon@tasmotaicon\endcsname {\simpleiconsmap\symbol{"F46D}}
- \expandafter\def\csname simpleicon@tataicon\endcsname {\simpleiconsmap\symbol{"F46E}}
- \expandafter\def\csname simpleicon@tauriicon\endcsname {\simpleiconsmap\symbol{"F46F}}
- \expandafter\def\csname simpleicon@taxbuzzicon\endcsname {\simpleiconsmap\symbol{"F470}}
- \expandafter\def\csname simpleicon@tcsicon\endcsname {\simpleiconsmap\symbol{"F471}}
- \expandafter\def\csname simpleicon@tealicon\endcsname {\simpleiconsmap\symbol{"F472}}
- \expandafter\def\csname simpleicon@teamcityicon\endcsname {\simpleiconsmap\symbol{"F473}}
- \expandafter\def\csname simpleicon@teamspeakicon\endcsname {\simpleiconsmap\symbol{"F474}}
- \expandafter\def\csname simpleicon@teamviewericon\endcsname {\simpleiconsmap\symbol{"F475}}
- \expandafter\def\csname simpleicon@tedicon\endcsname {\simpleiconsmap\symbol{"F476}}
- \expandafter\def\csname simpleicon@teepublicicon\endcsname {\simpleiconsmap\symbol{"F477}}
- \expandafter\def\csname simpleicon@teespringicon\endcsname {\simpleiconsmap\symbol{"F478}}
- \expandafter\def\csname simpleicon@tektonicon\endcsname {\simpleiconsmap\symbol{"F479}}
- \expandafter\def\csname simpleicon@tele5icon\endcsname {\simpleiconsmap\symbol{"F47A}}
- \expandafter\def\csname simpleicon@telegramicon\endcsname {\simpleiconsmap\symbol{"F47B}}
- \expandafter\def\csname simpleicon@telegraphicon\endcsname {\simpleiconsmap\symbol{"F47C}}
- \expandafter\def\csname simpleicon@telequebecicon\endcsname {\simpleiconsmap\symbol{"F47D}}
- \expandafter\def\csname simpleicon@temporalicon\endcsname {\simpleiconsmap\symbol{"F47E}}
- \expandafter\def\csname simpleicon@tencentqqicon\endcsname {\simpleiconsmap\symbol{"F47F}}
- \expandafter\def\csname simpleicon@tensorflowicon\endcsname {\simpleiconsmap\symbol{"F480}}
- \expandafter\def\csname simpleicon@teradataicon\endcsname {\simpleiconsmap\symbol{"F481}}
- \expandafter\def\csname simpleicon@teratailicon\endcsname {\simpleiconsmap\symbol{"F482}}
- \expandafter\def\csname simpleicon@termiusicon\endcsname {\simpleiconsmap\symbol{"F483}}
- \expandafter\def\csname simpleicon@terraformicon\endcsname {\simpleiconsmap\symbol{"F484}}
- \expandafter\def\csname simpleicon@tescoicon\endcsname {\simpleiconsmap\symbol{"F485}}
- \expandafter\def\csname simpleicon@teslaicon\endcsname {\simpleiconsmap\symbol{"F486}}
- \expandafter\def\csname simpleicon@testcafeicon\endcsname {\simpleiconsmap\symbol{"F487}}
- \expandafter\def\csname simpleicon@testinicon\endcsname {\simpleiconsmap\symbol{"F488}}
- \expandafter\def\csname simpleicon@testinglibraryicon\endcsname {\simpleiconsmap\symbol{"F489}}
- \expandafter\def\csname simpleicon@testrailicon\endcsname {\simpleiconsmap\symbol{"F48A}}
- \expandafter\def\csname simpleicon@tethericon\endcsname {\simpleiconsmap\symbol{"F48B}}
- \expandafter\def\csname simpleicon@textpatternicon\endcsname {\simpleiconsmap\symbol{"F48C}}
- \expandafter\def\csname simpleicon@tgaicon\endcsname {\simpleiconsmap\symbol{"F48D}}
- \expandafter\def\csname simpleicon@thangsicon\endcsname {\simpleiconsmap\symbol{"F48E}}
- \expandafter\def\csname simpleicon@thealgorithmsicon\endcsname {\simpleiconsmap\symbol{"F48F}}
- \expandafter\def\csname simpleicon@theboringcompanyicon\endcsname {\simpleiconsmap\symbol{"F490}}
- \expandafter\def\csname simpleicon@theconversationicon\endcsname {\simpleiconsmap\symbol{"F491}}
- \expandafter\def\csname simpleicon@thefinalsicon\endcsname {\simpleiconsmap\symbol{"F492}}
- \expandafter\def\csname simpleicon@theirishtimesicon\endcsname {\simpleiconsmap\symbol{"F493}}
- \expandafter\def\csname simpleicon@themightyicon\endcsname {\simpleiconsmap\symbol{"F494}}
- \expandafter\def\csname simpleicon@themodelsresourceicon\endcsname {\simpleiconsmap\symbol{"F495}}
- \expandafter\def\csname simpleicon@themoviedatabaseicon\endcsname {\simpleiconsmap\symbol{"F496}}
- \expandafter\def\csname simpleicon@thenorthfaceicon\endcsname {\simpleiconsmap\symbol{"F497}}
- \expandafter\def\csname simpleicon@theodinprojecticon\endcsname {\simpleiconsmap\symbol{"F498}}
- \expandafter\def\csname simpleicon@theregistericon\endcsname {\simpleiconsmap\symbol{"F499}}
- \expandafter\def\csname simpleicon@thesoundsresourceicon\endcsname {\simpleiconsmap\symbol{"F49A}}
- \expandafter\def\csname simpleicon@thespritersresourceicon\endcsname {\simpleiconsmap\symbol{"F49B}}
- \expandafter\def\csname simpleicon@thewashingtonposticon\endcsname {\simpleiconsmap\symbol{"F49C}}
- \expandafter\def\csname simpleicon@thingiverseicon\endcsname {\simpleiconsmap\symbol{"F49D}}
- \expandafter\def\csname simpleicon@thinkpadicon\endcsname {\simpleiconsmap\symbol{"F49E}}
- \expandafter\def\csname simpleicon@thirdwebicon\endcsname {\simpleiconsmap\symbol{"F49F}}
- \expandafter\def\csname simpleicon@threadlessicon\endcsname {\simpleiconsmap\symbol{"F4A0}}
- \expandafter\def\csname simpleicon@threadsicon\endcsname {\simpleiconsmap\symbol{"F4A1}}
- \expandafter\def\csname simpleicon@threedotjsicon\endcsname {\simpleiconsmap\symbol{"F4A2}}
- \expandafter\def\csname simpleicon@threemaicon\endcsname {\simpleiconsmap\symbol{"F4A3}}
- \expandafter\def\csname simpleicon@thumbtackicon\endcsname {\simpleiconsmap\symbol{"F4A4}}
- \expandafter\def\csname simpleicon@thunderbirdicon\endcsname {\simpleiconsmap\symbol{"F4A5}}
- \expandafter\def\csname simpleicon@thunderstoreicon\endcsname {\simpleiconsmap\symbol{"F4A6}}
- \expandafter\def\csname simpleicon@thurgauerkantonalbankicon\endcsname {\simpleiconsmap\symbol{"F4A7}}
- \expandafter\def\csname simpleicon@thymeleaficon\endcsname {\simpleiconsmap\symbol{"F4A8}}
- \expandafter\def\csname simpleicon@ticketmastericon\endcsname {\simpleiconsmap\symbol{"F4A9}}
- \expandafter\def\csname simpleicon@ticktickicon\endcsname {\simpleiconsmap\symbol{"F4AA}}
- \expandafter\def\csname simpleicon@tidalicon\endcsname {\simpleiconsmap\symbol{"F4AB}}
- \expandafter\def\csname simpleicon@tiddlywikiicon\endcsname {\simpleiconsmap\symbol{"F4AC}}
- \expandafter\def\csname simpleicon@tideicon\endcsname {\simpleiconsmap\symbol{"F4AD}}
- \expandafter\def\csname simpleicon@tidyverseicon\endcsname {\simpleiconsmap\symbol{"F4AE}}
- \expandafter\def\csname simpleicon@tietoevryicon\endcsname {\simpleiconsmap\symbol{"F4AF}}
- \expandafter\def\csname simpleicon@tiktokicon\endcsname {\simpleiconsmap\symbol{"F4B0}}
- \expandafter\def\csname simpleicon@tildapublishingicon\endcsname {\simpleiconsmap\symbol{"F4B1}}
- \expandafter\def\csname simpleicon@tileicon\endcsname {\simpleiconsmap\symbol{"F4B2}}
- \expandafter\def\csname simpleicon@timescaleicon\endcsname {\simpleiconsmap\symbol{"F4B3}}
- \expandafter\def\csname simpleicon@tinaicon\endcsname {\simpleiconsmap\symbol{"F4B4}}
- \expandafter\def\csname simpleicon@tindericon\endcsname {\simpleiconsmap\symbol{"F4B5}}
- \expandafter\def\csname simpleicon@tindieicon\endcsname {\simpleiconsmap\symbol{"F4B6}}
- \expandafter\def\csname simpleicon@tinkercadicon\endcsname {\simpleiconsmap\symbol{"F4B7}}
- \expandafter\def\csname simpleicon@tinylettericon\endcsname {\simpleiconsmap\symbol{"F4B8}}
- \expandafter\def\csname simpleicon@tistoryicon\endcsname {\simpleiconsmap\symbol{"F4B9}}
- \expandafter\def\csname simpleicon@tldrawicon\endcsname {\simpleiconsmap\symbol{"F4BA}}
- \expandafter\def\csname simpleicon@tmobileicon\endcsname {\simpleiconsmap\symbol{"F4BB}}
- \expandafter\def\csname simpleicon@tmuxicon\endcsname {\simpleiconsmap\symbol{"F4BC}}
- \expandafter\def\csname simpleicon@todoisticon\endcsname {\simpleiconsmap\symbol{"F4BD}}
- \expandafter\def\csname simpleicon@togglicon\endcsname {\simpleiconsmap\symbol{"F4BE}}
- \expandafter\def\csname simpleicon@toggltrackicon\endcsname {\simpleiconsmap\symbol{"F4BF}}
- \expandafter\def\csname simpleicon@tokyometroicon\endcsname {\simpleiconsmap\symbol{"F4C0}}
- \expandafter\def\csname simpleicon@tollicon\endcsname {\simpleiconsmap\symbol{"F4C1}}
- \expandafter\def\csname simpleicon@tomlicon\endcsname {\simpleiconsmap\symbol{"F4C2}}
- \expandafter\def\csname simpleicon@tomorrowlandicon\endcsname {\simpleiconsmap\symbol{"F4C3}}
- \expandafter\def\csname simpleicon@tonicon\endcsname {\simpleiconsmap\symbol{"F4C4}}
- \expandafter\def\csname simpleicon@topcodericon\endcsname {\simpleiconsmap\symbol{"F4C5}}
- \expandafter\def\csname simpleicon@topdotggicon\endcsname {\simpleiconsmap\symbol{"F4C6}}
- \expandafter\def\csname simpleicon@toptalicon\endcsname {\simpleiconsmap\symbol{"F4C7}}
- \expandafter\def\csname simpleicon@torbrowsericon\endcsname {\simpleiconsmap\symbol{"F4C8}}
- \expandafter\def\csname simpleicon@torprojecticon\endcsname {\simpleiconsmap\symbol{"F4C9}}
- \expandafter\def\csname simpleicon@toshibaicon\endcsname {\simpleiconsmap\symbol{"F4CA}}
- \expandafter\def\csname simpleicon@totvsicon\endcsname {\simpleiconsmap\symbol{"F4CB}}
- \expandafter\def\csname simpleicon@tourboxicon\endcsname {\simpleiconsmap\symbol{"F4CC}}
- \expandafter\def\csname simpleicon@toyotaicon\endcsname {\simpleiconsmap\symbol{"F4CD}}
- \expandafter\def\csname simpleicon@tplinkicon\endcsname {\simpleiconsmap\symbol{"F4CE}}
- \expandafter\def\csname simpleicon@tqdmicon\endcsname {\simpleiconsmap\symbol{"F4CF}}
- \expandafter\def\csname simpleicon@tradingviewicon\endcsname {\simpleiconsmap\symbol{"F4D0}}
- \expandafter\def\csname simpleicon@traefikmeshicon\endcsname {\simpleiconsmap\symbol{"F4D1}}
- \expandafter\def\csname simpleicon@traefikproxyicon\endcsname {\simpleiconsmap\symbol{"F4D2}}
- \expandafter\def\csname simpleicon@trailforksicon\endcsname {\simpleiconsmap\symbol{"F4D3}}
- \expandafter\def\csname simpleicon@trainerroadicon\endcsname {\simpleiconsmap\symbol{"F4D4}}
- \expandafter\def\csname simpleicon@trakticon\endcsname {\simpleiconsmap\symbol{"F4D5}}
- \expandafter\def\csname simpleicon@transifexicon\endcsname {\simpleiconsmap\symbol{"F4D6}}
- \expandafter\def\csname simpleicon@transmissionicon\endcsname {\simpleiconsmap\symbol{"F4D7}}
- \expandafter\def\csname simpleicon@transportforirelandicon\endcsname {\simpleiconsmap\symbol{"F4D8}}
- \expandafter\def\csname simpleicon@transportforlondonicon\endcsname {\simpleiconsmap\symbol{"F4D9}}
- \expandafter\def\csname simpleicon@travisciicon\endcsname {\simpleiconsmap\symbol{"F4DA}}
- \expandafter\def\csname simpleicon@treehouseicon\endcsname {\simpleiconsmap\symbol{"F4DB}}
- \expandafter\def\csname simpleicon@trelloicon\endcsname {\simpleiconsmap\symbol{"F4DC}}
- \expandafter\def\csname simpleicon@trendmicroicon\endcsname {\simpleiconsmap\symbol{"F4DD}}
- \expandafter\def\csname simpleicon@treyarchicon\endcsname {\simpleiconsmap\symbol{"F4DE}}
- \expandafter\def\csname simpleicon@tricentisicon\endcsname {\simpleiconsmap\symbol{"F4DF}}
- \expandafter\def\csname simpleicon@triliumicon\endcsname {\simpleiconsmap\symbol{"F4E0}}
- \expandafter\def\csname simpleicon@trillericon\endcsname {\simpleiconsmap\symbol{"F4E1}}
- \expandafter\def\csname simpleicon@trillertvicon\endcsname {\simpleiconsmap\symbol{"F4E2}}
- \expandafter\def\csname simpleicon@trinoicon\endcsname {\simpleiconsmap\symbol{"F4E3}}
- \expandafter\def\csname simpleicon@tripadvisoricon\endcsname {\simpleiconsmap\symbol{"F4E4}}
- \expandafter\def\csname simpleicon@tripdotcomicon\endcsname {\simpleiconsmap\symbol{"F4E5}}
- \expandafter\def\csname simpleicon@trivyicon\endcsname {\simpleiconsmap\symbol{"F4E6}}
- \expandafter\def\csname simpleicon@troveicon\endcsname {\simpleiconsmap\symbol{"F4E7}}
- \expandafter\def\csname simpleicon@trpcicon\endcsname {\simpleiconsmap\symbol{"F4E8}}
- \expandafter\def\csname simpleicon@truenasicon\endcsname {\simpleiconsmap\symbol{"F4E9}}
- \expandafter\def\csname simpleicon@trueupicon\endcsname {\simpleiconsmap\symbol{"F4EA}}
- \expandafter\def\csname simpleicon@truliaicon\endcsname {\simpleiconsmap\symbol{"F4EB}}
- \expandafter\def\csname simpleicon@trustedshopsicon\endcsname {\simpleiconsmap\symbol{"F4EC}}
- \expandafter\def\csname simpleicon@trustpiloticon\endcsname {\simpleiconsmap\symbol{"F4ED}}
- \expandafter\def\csname simpleicon@tryhackmeicon\endcsname {\simpleiconsmap\symbol{"F4EE}}
- \expandafter\def\csname simpleicon@tryitonlineicon\endcsname {\simpleiconsmap\symbol{"F4EF}}
- \expandafter\def\csname simpleicon@tsnodeicon\endcsname {\simpleiconsmap\symbol{"F4F0}}
- \expandafter\def\csname simpleicon@tubiicon\endcsname {\simpleiconsmap\symbol{"F4F1}}
- \expandafter\def\csname simpleicon@tuiicon\endcsname {\simpleiconsmap\symbol{"F4F2}}
- \expandafter\def\csname simpleicon@tumblricon\endcsname {\simpleiconsmap\symbol{"F4F3}}
- \expandafter\def\csname simpleicon@tuneinicon\endcsname {\simpleiconsmap\symbol{"F4F4}}
- \expandafter\def\csname simpleicon@turboicon\endcsname {\simpleiconsmap\symbol{"F4F5}}
- \expandafter\def\csname simpleicon@turborepoicon\endcsname {\simpleiconsmap\symbol{"F4F6}}
- \expandafter\def\csname simpleicon@turbosquidicon\endcsname {\simpleiconsmap\symbol{"F4F7}}
- \expandafter\def\csname simpleicon@turkishairlinesicon\endcsname {\simpleiconsmap\symbol{"F4F8}}
- \expandafter\def\csname simpleicon@tursoicon\endcsname {\simpleiconsmap\symbol{"F4F9}}
- \expandafter\def\csname simpleicon@tutanotaicon\endcsname {\simpleiconsmap\symbol{"F4FA}}
- \expandafter\def\csname simpleicon@tv4playicon\endcsname {\simpleiconsmap\symbol{"F4FB}}
- \expandafter\def\csname simpleicon@tvtimeicon\endcsname {\simpleiconsmap\symbol{"F4FC}}
- \expandafter\def\csname simpleicon@twilioicon\endcsname {\simpleiconsmap\symbol{"F4FD}}
- \expandafter\def\csname simpleicon@twinklyicon\endcsname {\simpleiconsmap\symbol{"F4FE}}
- \expandafter\def\csname simpleicon@twitchicon\endcsname {\simpleiconsmap\symbol{"F4FF}}
- \expandafter\def\csname simpleicon@twittericon\endcsname {\simpleiconsmap\symbol{"F500}}
- \expandafter\def\csname simpleicon@typeformicon\endcsname {\simpleiconsmap\symbol{"F501}}
- \expandafter\def\csname simpleicon@typericon\endcsname {\simpleiconsmap\symbol{"F502}}
- \expandafter\def\csname simpleicon@typescripticon\endcsname {\simpleiconsmap\symbol{"F503}}
- \expandafter\def\csname simpleicon@typo3icon\endcsname {\simpleiconsmap\symbol{"F504}}
- \expandafter\def\csname simpleicon@typsticon\endcsname {\simpleiconsmap\symbol{"F505}}
- \expandafter\def\csname simpleicon@ubericon\endcsname {\simpleiconsmap\symbol{"F506}}
- \expandafter\def\csname simpleicon@ubereatsicon\endcsname {\simpleiconsmap\symbol{"F507}}
- \expandafter\def\csname simpleicon@ubiquitiicon\endcsname {\simpleiconsmap\symbol{"F508}}
- \expandafter\def\csname simpleicon@ubisofticon\endcsname {\simpleiconsmap\symbol{"F509}}
- \expandafter\def\csname simpleicon@ublockoriginicon\endcsname {\simpleiconsmap\symbol{"F50A}}
- \expandafter\def\csname simpleicon@ubuntuicon\endcsname {\simpleiconsmap\symbol{"F50B}}
- \expandafter\def\csname simpleicon@ubuntumateicon\endcsname {\simpleiconsmap\symbol{"F50C}}
- \expandafter\def\csname simpleicon@udacityicon\endcsname {\simpleiconsmap\symbol{"F50D}}
- \expandafter\def\csname simpleicon@udemyicon\endcsname {\simpleiconsmap\symbol{"F50E}}
- \expandafter\def\csname simpleicon@ufcicon\endcsname {\simpleiconsmap\symbol{"F50F}}
- \expandafter\def\csname simpleicon@uikiticon\endcsname {\simpleiconsmap\symbol{"F510}}
- \expandafter\def\csname simpleicon@ululeicon\endcsname {\simpleiconsmap\symbol{"F511}}
- \expandafter\def\csname simpleicon@umamiicon\endcsname {\simpleiconsmap\symbol{"F512}}
- \expandafter\def\csname simpleicon@umbracoicon\endcsname {\simpleiconsmap\symbol{"F513}}
- \expandafter\def\csname simpleicon@umlicon\endcsname {\simpleiconsmap\symbol{"F514}}
- \expandafter\def\csname simpleicon@unacademyicon\endcsname {\simpleiconsmap\symbol{"F515}}
- \expandafter\def\csname simpleicon@underarmouricon\endcsname {\simpleiconsmap\symbol{"F516}}
- \expandafter\def\csname simpleicon@underscoredotjsicon\endcsname {\simpleiconsmap\symbol{"F517}}
- \expandafter\def\csname simpleicon@undertaleicon\endcsname {\simpleiconsmap\symbol{"F518}}
- \expandafter\def\csname simpleicon@unicodeicon\endcsname {\simpleiconsmap\symbol{"F519}}
- \expandafter\def\csname simpleicon@unilevericon\endcsname {\simpleiconsmap\symbol{"F51A}}
- \expandafter\def\csname simpleicon@uniqloicon\endcsname {\simpleiconsmap\symbol{"F51B}}
- \expandafter\def\csname simpleicon@uniqlojaicon\endcsname {\simpleiconsmap\symbol{"F51C}}
- \expandafter\def\csname simpleicon@unitedairlinesicon\endcsname {\simpleiconsmap\symbol{"F51D}}
- \expandafter\def\csname simpleicon@unitednationsicon\endcsname {\simpleiconsmap\symbol{"F51E}}
- \expandafter\def\csname simpleicon@unityicon\endcsname {\simpleiconsmap\symbol{"F51F}}
- \expandafter\def\csname simpleicon@unlicenseicon\endcsname {\simpleiconsmap\symbol{"F520}}
- \expandafter\def\csname simpleicon@unocssicon\endcsname {\simpleiconsmap\symbol{"F521}}
- \expandafter\def\csname simpleicon@unraidicon\endcsname {\simpleiconsmap\symbol{"F522}}
- \expandafter\def\csname simpleicon@unrealengineicon\endcsname {\simpleiconsmap\symbol{"F523}}
- \expandafter\def\csname simpleicon@unsplashicon\endcsname {\simpleiconsmap\symbol{"F524}}
- \expandafter\def\csname simpleicon@untappdicon\endcsname {\simpleiconsmap\symbol{"F525}}
- \expandafter\def\csname simpleicon@upcloudicon\endcsname {\simpleiconsmap\symbol{"F526}}
- \expandafter\def\csname simpleicon@upholdicon\endcsname {\simpleiconsmap\symbol{"F527}}
- \expandafter\def\csname simpleicon@uplabsicon\endcsname {\simpleiconsmap\symbol{"F528}}
- \expandafter\def\csname simpleicon@upptimeicon\endcsname {\simpleiconsmap\symbol{"F529}}
- \expandafter\def\csname simpleicon@upsicon\endcsname {\simpleiconsmap\symbol{"F52A}}
- \expandafter\def\csname simpleicon@upstashicon\endcsname {\simpleiconsmap\symbol{"F52B}}
- \expandafter\def\csname simpleicon@uptimekumaicon\endcsname {\simpleiconsmap\symbol{"F52C}}
- \expandafter\def\csname simpleicon@uptoboxicon\endcsname {\simpleiconsmap\symbol{"F52D}}
- \expandafter\def\csname simpleicon@upworkicon\endcsname {\simpleiconsmap\symbol{"F52E}}
- \expandafter\def\csname simpleicon@uspsicon\endcsname {\simpleiconsmap\symbol{"F52F}}
- \expandafter\def\csname simpleicon@utorrenticon\endcsname {\simpleiconsmap\symbol{"F530}}
- \expandafter\def\csname simpleicon@vicon\endcsname {\simpleiconsmap\symbol{"F531}}
- \expandafter\def\csname simpleicon@v2exicon\endcsname {\simpleiconsmap\symbol{"F532}}
- \expandafter\def\csname simpleicon@v8icon\endcsname {\simpleiconsmap\symbol{"F533}}
- \expandafter\def\csname simpleicon@vaadinicon\endcsname {\simpleiconsmap\symbol{"F534}}
- \expandafter\def\csname simpleicon@vagranticon\endcsname {\simpleiconsmap\symbol{"F535}}
- \expandafter\def\csname simpleicon@valaicon\endcsname {\simpleiconsmap\symbol{"F536}}
- \expandafter\def\csname simpleicon@valoranticon\endcsname {\simpleiconsmap\symbol{"F537}}
- \expandafter\def\csname simpleicon@valveicon\endcsname {\simpleiconsmap\symbol{"F538}}
- \expandafter\def\csname simpleicon@vaporicon\endcsname {\simpleiconsmap\symbol{"F539}}
- \expandafter\def\csname simpleicon@vaulticon\endcsname {\simpleiconsmap\symbol{"F53A}}
- \expandafter\def\csname simpleicon@vaultwardenicon\endcsname {\simpleiconsmap\symbol{"F53B}}
- \expandafter\def\csname simpleicon@vauxhallicon\endcsname {\simpleiconsmap\symbol{"F53C}}
- \expandafter\def\csname simpleicon@vbulletinicon\endcsname {\simpleiconsmap\symbol{"F53D}}
- \expandafter\def\csname simpleicon@vectaryicon\endcsname {\simpleiconsmap\symbol{"F53E}}
- \expandafter\def\csname simpleicon@vectorlogozoneicon\endcsname {\simpleiconsmap\symbol{"F53F}}
- \expandafter\def\csname simpleicon@vectorworksicon\endcsname {\simpleiconsmap\symbol{"F540}}
- \expandafter\def\csname simpleicon@veeamicon\endcsname {\simpleiconsmap\symbol{"F541}}
- \expandafter\def\csname simpleicon@veepeeicon\endcsname {\simpleiconsmap\symbol{"F542}}
- \expandafter\def\csname simpleicon@vegaicon\endcsname {\simpleiconsmap\symbol{"F543}}
- \expandafter\def\csname simpleicon@vegasicon\endcsname {\simpleiconsmap\symbol{"F544}}
- \expandafter\def\csname simpleicon@velogicon\endcsname {\simpleiconsmap\symbol{"F545}}
- \expandafter\def\csname simpleicon@venmoicon\endcsname {\simpleiconsmap\symbol{"F546}}
- \expandafter\def\csname simpleicon@vercelicon\endcsname {\simpleiconsmap\symbol{"F547}}
- \expandafter\def\csname simpleicon@verdaccioicon\endcsname {\simpleiconsmap\symbol{"F548}}
- \expandafter\def\csname simpleicon@veritasicon\endcsname {\simpleiconsmap\symbol{"F549}}
- \expandafter\def\csname simpleicon@verizonicon\endcsname {\simpleiconsmap\symbol{"F54A}}
- \expandafter\def\csname simpleicon@vespaicon\endcsname {\simpleiconsmap\symbol{"F54B}}
- \expandafter\def\csname simpleicon@vexxhosticon\endcsname {\simpleiconsmap\symbol{"F54C}}
- \expandafter\def\csname simpleicon@vfairsicon\endcsname {\simpleiconsmap\symbol{"F54D}}
- \expandafter\def\csname simpleicon@viadeoicon\endcsname {\simpleiconsmap\symbol{"F54E}}
- \expandafter\def\csname simpleicon@viaplayicon\endcsname {\simpleiconsmap\symbol{"F54F}}
- \expandafter\def\csname simpleicon@vibericon\endcsname {\simpleiconsmap\symbol{"F550}}
- \expandafter\def\csname simpleicon@vibloicon\endcsname {\simpleiconsmap\symbol{"F551}}
- \expandafter\def\csname simpleicon@victoriametricsicon\endcsname {\simpleiconsmap\symbol{"F552}}
- \expandafter\def\csname simpleicon@victronenergyicon\endcsname {\simpleiconsmap\symbol{"F553}}
- \expandafter\def\csname simpleicon@vimicon\endcsname {\simpleiconsmap\symbol{"F554}}
- \expandafter\def\csname simpleicon@vimeoicon\endcsname {\simpleiconsmap\symbol{"F555}}
- \expandafter\def\csname simpleicon@vimeolivestreamicon\endcsname {\simpleiconsmap\symbol{"F556}}
- \expandafter\def\csname simpleicon@virginicon\endcsname {\simpleiconsmap\symbol{"F557}}
- \expandafter\def\csname simpleicon@virginatlanticicon\endcsname {\simpleiconsmap\symbol{"F558}}
- \expandafter\def\csname simpleicon@virginmediaicon\endcsname {\simpleiconsmap\symbol{"F559}}
- \expandafter\def\csname simpleicon@virtualboxicon\endcsname {\simpleiconsmap\symbol{"F55A}}
- \expandafter\def\csname simpleicon@virustotalicon\endcsname {\simpleiconsmap\symbol{"F55B}}
- \expandafter\def\csname simpleicon@visaicon\endcsname {\simpleiconsmap\symbol{"F55C}}
- \expandafter\def\csname simpleicon@visualbasicicon\endcsname {\simpleiconsmap\symbol{"F55D}}
- \expandafter\def\csname simpleicon@visualstudioicon\endcsname {\simpleiconsmap\symbol{"F55E}}
- \expandafter\def\csname simpleicon@visualstudioappcentericon\endcsname {\simpleiconsmap\symbol{"F55F}}
- \expandafter\def\csname simpleicon@visualstudiocodeicon\endcsname {\simpleiconsmap\symbol{"F560}}
- \expandafter\def\csname simpleicon@viteicon\endcsname {\simpleiconsmap\symbol{"F561}}
- \expandafter\def\csname simpleicon@vitepressicon\endcsname {\simpleiconsmap\symbol{"F562}}
- \expandafter\def\csname simpleicon@vitessicon\endcsname {\simpleiconsmap\symbol{"F563}}
- \expandafter\def\csname simpleicon@vitesticon\endcsname {\simpleiconsmap\symbol{"F564}}
- \expandafter\def\csname simpleicon@vivaldiicon\endcsname {\simpleiconsmap\symbol{"F565}}
- \expandafter\def\csname simpleicon@vivawalleticon\endcsname {\simpleiconsmap\symbol{"F566}}
- \expandafter\def\csname simpleicon@vivinoicon\endcsname {\simpleiconsmap\symbol{"F567}}
- \expandafter\def\csname simpleicon@vivinticon\endcsname {\simpleiconsmap\symbol{"F568}}
- \expandafter\def\csname simpleicon@vivoicon\endcsname {\simpleiconsmap\symbol{"F569}}
- \expandafter\def\csname simpleicon@vkicon\endcsname {\simpleiconsmap\symbol{"F56A}}
- \expandafter\def\csname simpleicon@vlcmediaplayericon\endcsname {\simpleiconsmap\symbol{"F56B}}
- \expandafter\def\csname simpleicon@vmwareicon\endcsname {\simpleiconsmap\symbol{"F56C}}
- \expandafter\def\csname simpleicon@vodafoneicon\endcsname {\simpleiconsmap\symbol{"F56D}}
- \expandafter\def\csname simpleicon@voidlinuxicon\endcsname {\simpleiconsmap\symbol{"F56E}}
- \expandafter\def\csname simpleicon@voipdotmsicon\endcsname {\simpleiconsmap\symbol{"F56F}}
- \expandafter\def\csname simpleicon@volkswagenicon\endcsname {\simpleiconsmap\symbol{"F570}}
- \expandafter\def\csname simpleicon@volvoicon\endcsname {\simpleiconsmap\symbol{"F571}}
- \expandafter\def\csname simpleicon@vonageicon\endcsname {\simpleiconsmap\symbol{"F572}}
- \expandafter\def\csname simpleicon@vorondesignicon\endcsname {\simpleiconsmap\symbol{"F573}}
- \expandafter\def\csname simpleicon@vowpalwabbiticon\endcsname {\simpleiconsmap\symbol{"F574}}
- \expandafter\def\csname simpleicon@voxicon\endcsname {\simpleiconsmap\symbol{"F575}}
- \expandafter\def\csname simpleicon@vscoicon\endcsname {\simpleiconsmap\symbol{"F576}}
- \expandafter\def\csname simpleicon@vscodiumicon\endcsname {\simpleiconsmap\symbol{"F577}}
- \expandafter\def\csname simpleicon@vtexicon\endcsname {\simpleiconsmap\symbol{"F578}}
- \expandafter\def\csname simpleicon@vuedotjsicon\endcsname {\simpleiconsmap\symbol{"F579}}
- \expandafter\def\csname simpleicon@vuetifyicon\endcsname {\simpleiconsmap\symbol{"F57A}}
- \expandafter\def\csname simpleicon@vulkanicon\endcsname {\simpleiconsmap\symbol{"F57B}}
- \expandafter\def\csname simpleicon@vultricon\endcsname {\simpleiconsmap\symbol{"F57C}}
- \expandafter\def\csname simpleicon@vyondicon\endcsname {\simpleiconsmap\symbol{"F57D}}
- \expandafter\def\csname simpleicon@w3schoolsicon\endcsname {\simpleiconsmap\symbol{"F57E}}
- \expandafter\def\csname simpleicon@wacomicon\endcsname {\simpleiconsmap\symbol{"F57F}}
- \expandafter\def\csname simpleicon@wagtailicon\endcsname {\simpleiconsmap\symbol{"F580}}
- \expandafter\def\csname simpleicon@wailsicon\endcsname {\simpleiconsmap\symbol{"F581}}
- \expandafter\def\csname simpleicon@wakatimeicon\endcsname {\simpleiconsmap\symbol{"F582}}
- \expandafter\def\csname simpleicon@walkmanicon\endcsname {\simpleiconsmap\symbol{"F583}}
- \expandafter\def\csname simpleicon@wallabagicon\endcsname {\simpleiconsmap\symbol{"F584}}
- \expandafter\def\csname simpleicon@walletconnecticon\endcsname {\simpleiconsmap\symbol{"F585}}
- \expandafter\def\csname simpleicon@walmarticon\endcsname {\simpleiconsmap\symbol{"F586}}
- \expandafter\def\csname simpleicon@wantedlyicon\endcsname {\simpleiconsmap\symbol{"F587}}
- \expandafter\def\csname simpleicon@wappalyzericon\endcsname {\simpleiconsmap\symbol{"F588}}
- \expandafter\def\csname simpleicon@warnerbrosicon\endcsname {\simpleiconsmap\symbol{"F589}}
- \expandafter\def\csname simpleicon@warpicon\endcsname {\simpleiconsmap\symbol{"F58A}}
- \expandafter\def\csname simpleicon@wasabiicon\endcsname {\simpleiconsmap\symbol{"F58B}}
- \expandafter\def\csname simpleicon@wasmcloudicon\endcsname {\simpleiconsmap\symbol{"F58C}}
- \expandafter\def\csname simpleicon@wasmericon\endcsname {\simpleiconsmap\symbol{"F58D}}
- \expandafter\def\csname simpleicon@watchtowericon\endcsname {\simpleiconsmap\symbol{"F58E}}
- \expandafter\def\csname simpleicon@wattpadicon\endcsname {\simpleiconsmap\symbol{"F58F}}
- \expandafter\def\csname simpleicon@waylandicon\endcsname {\simpleiconsmap\symbol{"F590}}
- \expandafter\def\csname simpleicon@wazeicon\endcsname {\simpleiconsmap\symbol{"F591}}
- \expandafter\def\csname simpleicon@wazirxicon\endcsname {\simpleiconsmap\symbol{"F592}}
- \expandafter\def\csname simpleicon@wearosicon\endcsname {\simpleiconsmap\symbol{"F593}}
- \expandafter\def\csname simpleicon@weasylicon\endcsname {\simpleiconsmap\symbol{"F594}}
- \expandafter\def\csname simpleicon@web3dotjsicon\endcsname {\simpleiconsmap\symbol{"F595}}
- \expandafter\def\csname simpleicon@webassemblyicon\endcsname {\simpleiconsmap\symbol{"F596}}
- \expandafter\def\csname simpleicon@webauthnicon\endcsname {\simpleiconsmap\symbol{"F597}}
- \expandafter\def\csname simpleicon@webcomponentsdotorgicon\endcsname {\simpleiconsmap\symbol{"F598}}
- \expandafter\def\csname simpleicon@webdriverioicon\endcsname {\simpleiconsmap\symbol{"F599}}
- \expandafter\def\csname simpleicon@webexicon\endcsname {\simpleiconsmap\symbol{"F59A}}
- \expandafter\def\csname simpleicon@webflowicon\endcsname {\simpleiconsmap\symbol{"F59B}}
- \expandafter\def\csname simpleicon@webglicon\endcsname {\simpleiconsmap\symbol{"F59C}}
- \expandafter\def\csname simpleicon@weblateicon\endcsname {\simpleiconsmap\symbol{"F59D}}
- \expandafter\def\csname simpleicon@webminicon\endcsname {\simpleiconsmap\symbol{"F59E}}
- \expandafter\def\csname simpleicon@webmoneyicon\endcsname {\simpleiconsmap\symbol{"F59F}}
- \expandafter\def\csname simpleicon@webpackicon\endcsname {\simpleiconsmap\symbol{"F5A0}}
- \expandafter\def\csname simpleicon@webrtcicon\endcsname {\simpleiconsmap\symbol{"F5A1}}
- \expandafter\def\csname simpleicon@webstormicon\endcsname {\simpleiconsmap\symbol{"F5A2}}
- \expandafter\def\csname simpleicon@webtoonicon\endcsname {\simpleiconsmap\symbol{"F5A3}}
- \expandafter\def\csname simpleicon@webtreesicon\endcsname {\simpleiconsmap\symbol{"F5A4}}
- \expandafter\def\csname simpleicon@wechaticon\endcsname {\simpleiconsmap\symbol{"F5A5}}
- \expandafter\def\csname simpleicon@wegameicon\endcsname {\simpleiconsmap\symbol{"F5A6}}
- \expandafter\def\csname simpleicon@weightsandbiasesicon\endcsname {\simpleiconsmap\symbol{"F5A7}}
- \expandafter\def\csname simpleicon@welcometothejungleicon\endcsname {\simpleiconsmap\symbol{"F5A8}}
- \expandafter\def\csname simpleicon@wellfoundicon\endcsname {\simpleiconsmap\symbol{"F5A9}}
- \expandafter\def\csname simpleicon@wellsfargoicon\endcsname {\simpleiconsmap\symbol{"F5AA}}
- \expandafter\def\csname simpleicon@wemoicon\endcsname {\simpleiconsmap\symbol{"F5AB}}
- \expandafter\def\csname simpleicon@westerndigitalicon\endcsname {\simpleiconsmap\symbol{"F5AC}}
- \expandafter\def\csname simpleicon@westernunionicon\endcsname {\simpleiconsmap\symbol{"F5AD}}
- \expandafter\def\csname simpleicon@wetransfericon\endcsname {\simpleiconsmap\symbol{"F5AE}}
- \expandafter\def\csname simpleicon@weztermicon\endcsname {\simpleiconsmap\symbol{"F5AF}}
- \expandafter\def\csname simpleicon@whatsappicon\endcsname {\simpleiconsmap\symbol{"F5B0}}
- \expandafter\def\csname simpleicon@wheniworkicon\endcsname {\simpleiconsmap\symbol{"F5B1}}
- \expandafter\def\csname simpleicon@wiiicon\endcsname {\simpleiconsmap\symbol{"F5B2}}
- \expandafter\def\csname simpleicon@wiiuicon\endcsname {\simpleiconsmap\symbol{"F5B3}}
- \expandafter\def\csname simpleicon@wikidataicon\endcsname {\simpleiconsmap\symbol{"F5B4}}
- \expandafter\def\csname simpleicon@wikidotggicon\endcsname {\simpleiconsmap\symbol{"F5B5}}
- \expandafter\def\csname simpleicon@wikidotjsicon\endcsname {\simpleiconsmap\symbol{"F5B6}}
- \expandafter\def\csname simpleicon@wikimediacommonsicon\endcsname {\simpleiconsmap\symbol{"F5B7}}
- \expandafter\def\csname simpleicon@wikimediafoundationicon\endcsname {\simpleiconsmap\symbol{"F5B8}}
- \expandafter\def\csname simpleicon@wikipediaicon\endcsname {\simpleiconsmap\symbol{"F5B9}}
- \expandafter\def\csname simpleicon@wikiquoteicon\endcsname {\simpleiconsmap\symbol{"F5BA}}
- \expandafter\def\csname simpleicon@wikivoyageicon\endcsname {\simpleiconsmap\symbol{"F5BB}}
- \expandafter\def\csname simpleicon@winampicon\endcsname {\simpleiconsmap\symbol{"F5BC}}
- \expandafter\def\csname simpleicon@windowsicon\endcsname {\simpleiconsmap\symbol{"F5BD}}
- \expandafter\def\csname simpleicon@windows10icon\endcsname {\simpleiconsmap\symbol{"F5BE}}
- \expandafter\def\csname simpleicon@windows95icon\endcsname {\simpleiconsmap\symbol{"F5C0}}
- \expandafter\def\csname simpleicon@windowsterminalicon\endcsname {\simpleiconsmap\symbol{"F5C1}}
- \expandafter\def\csname simpleicon@windowsxpicon\endcsname {\simpleiconsmap\symbol{"F5C2}}
- \expandafter\def\csname simpleicon@wiproicon\endcsname {\simpleiconsmap\symbol{"F5C3}}
- \expandafter\def\csname simpleicon@wireicon\endcsname {\simpleiconsmap\symbol{"F5C4}}
- \expandafter\def\csname simpleicon@wireguardicon\endcsname {\simpleiconsmap\symbol{"F5C5}}
- \expandafter\def\csname simpleicon@wiresharkicon\endcsname {\simpleiconsmap\symbol{"F5C6}}
- \expandafter\def\csname simpleicon@wiseicon\endcsname {\simpleiconsmap\symbol{"F5C7}}
- \expandafter\def\csname simpleicon@wishicon\endcsname {\simpleiconsmap\symbol{"F5C8}}
- \expandafter\def\csname simpleicon@wistiaicon\endcsname {\simpleiconsmap\symbol{"F5C9}}
- \expandafter\def\csname simpleicon@wixicon\endcsname {\simpleiconsmap\symbol{"F5CA}}
- \expandafter\def\csname simpleicon@wizzairicon\endcsname {\simpleiconsmap\symbol{"F5CB}}
- \expandafter\def\csname simpleicon@wolframicon\endcsname {\simpleiconsmap\symbol{"F5CC}}
- \expandafter\def\csname simpleicon@wolframlanguageicon\endcsname {\simpleiconsmap\symbol{"F5CD}}
- \expandafter\def\csname simpleicon@wolframmathematicaicon\endcsname {\simpleiconsmap\symbol{"F5CE}}
- \expandafter\def\csname simpleicon@wondershareicon\endcsname {\simpleiconsmap\symbol{"F5CF}}
- \expandafter\def\csname simpleicon@wondersharefilmoraicon\endcsname {\simpleiconsmap\symbol{"F5D0}}
- \expandafter\def\csname simpleicon@wooicon\endcsname {\simpleiconsmap\symbol{"F5D1}}
- \expandafter\def\csname simpleicon@woocommerceicon\endcsname {\simpleiconsmap\symbol{"F5D2}}
- \expandafter\def\csname simpleicon@wordpressicon\endcsname {\simpleiconsmap\symbol{"F5D3}}
- \expandafter\def\csname simpleicon@workplaceicon\endcsname {\simpleiconsmap\symbol{"F5D4}}
- \expandafter\def\csname simpleicon@worldhealthorganizationicon\endcsname {\simpleiconsmap\symbol{"F5D5}}
- \expandafter\def\csname simpleicon@wpengineicon\endcsname {\simpleiconsmap\symbol{"F5D6}}
- \expandafter\def\csname simpleicon@wpexplorericon\endcsname {\simpleiconsmap\symbol{"F5D7}}
- \expandafter\def\csname simpleicon@wprocketicon\endcsname {\simpleiconsmap\symbol{"F5D8}}
- \expandafter\def\csname simpleicon@writedotasicon\endcsname {\simpleiconsmap\symbol{"F5D9}}
- \expandafter\def\csname simpleicon@wweicon\endcsname {\simpleiconsmap\symbol{"F5DA}}
- \expandafter\def\csname simpleicon@wwiseicon\endcsname {\simpleiconsmap\symbol{"F5DB}}
- \expandafter\def\csname simpleicon@wyzeicon\endcsname {\simpleiconsmap\symbol{"F5DC}}
- \expandafter\def\csname simpleicon@xicon\endcsname {\simpleiconsmap\symbol{"F5DD}}
- \expandafter\def\csname simpleicon@xamarinicon\endcsname {\simpleiconsmap\symbol{"F5DE}}
- \expandafter\def\csname simpleicon@xamlicon\endcsname {\simpleiconsmap\symbol{"F5DF}}
- \expandafter\def\csname simpleicon@xamppicon\endcsname {\simpleiconsmap\symbol{"F5E0}}
- \expandafter\def\csname simpleicon@xboxicon\endcsname {\simpleiconsmap\symbol{"F5E1}}
- \expandafter\def\csname simpleicon@xcodeicon\endcsname {\simpleiconsmap\symbol{"F5E2}}
- \expandafter\def\csname simpleicon@xdadevelopersicon\endcsname {\simpleiconsmap\symbol{"F5E3}}
- \expandafter\def\csname simpleicon@xdotorgicon\endcsname {\simpleiconsmap\symbol{"F5E4}}
- \expandafter\def\csname simpleicon@xenditicon\endcsname {\simpleiconsmap\symbol{"F5E5}}
- \expandafter\def\csname simpleicon@xeroicon\endcsname {\simpleiconsmap\symbol{"F5E6}}
- \expandafter\def\csname simpleicon@xfceicon\endcsname {\simpleiconsmap\symbol{"F5E7}}
- \expandafter\def\csname simpleicon@xiaohongshuicon\endcsname {\simpleiconsmap\symbol{"F5E8}}
- \expandafter\def\csname simpleicon@xiaomiicon\endcsname {\simpleiconsmap\symbol{"F5E9}}
- \expandafter\def\csname simpleicon@xingicon\endcsname {\simpleiconsmap\symbol{"F5EA}}
- \expandafter\def\csname simpleicon@xmppicon\endcsname {\simpleiconsmap\symbol{"F5EB}}
- \expandafter\def\csname simpleicon@xoicon\endcsname {\simpleiconsmap\symbol{"F5EC}}
- \expandafter\def\csname simpleicon@xrpicon\endcsname {\simpleiconsmap\symbol{"F5ED}}
- \expandafter\def\csname simpleicon@xspliticon\endcsname {\simpleiconsmap\symbol{"F5EE}}
- \expandafter\def\csname simpleicon@xstateicon\endcsname {\simpleiconsmap\symbol{"F5EF}}
- \expandafter\def\csname simpleicon@yaleicon\endcsname {\simpleiconsmap\symbol{"F5F0}}
- \expandafter\def\csname simpleicon@yamahacorporationicon\endcsname {\simpleiconsmap\symbol{"F5F1}}
- \expandafter\def\csname simpleicon@yamahamotorcorporationicon\endcsname {\simpleiconsmap\symbol{"F5F2}}
- \expandafter\def\csname simpleicon@yamlicon\endcsname {\simpleiconsmap\symbol{"F5F3}}
- \expandafter\def\csname simpleicon@yammericon\endcsname {\simpleiconsmap\symbol{"F5F4}}
- \expandafter\def\csname simpleicon@yandexcloudicon\endcsname {\simpleiconsmap\symbol{"F5F5}}
- \expandafter\def\csname simpleicon@yarnicon\endcsname {\simpleiconsmap\symbol{"F5F6}}
- \expandafter\def\csname simpleicon@ycombinatoricon\endcsname {\simpleiconsmap\symbol{"F5F7}}
- \expandafter\def\csname simpleicon@yelpicon\endcsname {\simpleiconsmap\symbol{"F5F8}}
- \expandafter\def\csname simpleicon@yetiicon\endcsname {\simpleiconsmap\symbol{"F5F9}}
- \expandafter\def\csname simpleicon@yoasticon\endcsname {\simpleiconsmap\symbol{"F5FA}}
- \expandafter\def\csname simpleicon@youtubeicon\endcsname {\simpleiconsmap\symbol{"F5FB}}
- \expandafter\def\csname simpleicon@youtubegamingicon\endcsname {\simpleiconsmap\symbol{"F5FC}}
- \expandafter\def\csname simpleicon@youtubekidsicon\endcsname {\simpleiconsmap\symbol{"F5FD}}
- \expandafter\def\csname simpleicon@youtubemusicicon\endcsname {\simpleiconsmap\symbol{"F5FE}}
- \expandafter\def\csname simpleicon@youtubeshortsicon\endcsname {\simpleiconsmap\symbol{"F5FF}}
- \expandafter\def\csname simpleicon@youtubestudioicon\endcsname {\simpleiconsmap\symbol{"F600}}
- \expandafter\def\csname simpleicon@youtubetvicon\endcsname {\simpleiconsmap\symbol{"F601}}
- \expandafter\def\csname simpleicon@yricon\endcsname {\simpleiconsmap\symbol{"F602}}
- \expandafter\def\csname simpleicon@yubicoicon\endcsname {\simpleiconsmap\symbol{"F603}}
- \expandafter\def\csname simpleicon@zabkaicon\endcsname {\simpleiconsmap\symbol{"F604}}
- \expandafter\def\csname simpleicon@zaimicon\endcsname {\simpleiconsmap\symbol{"F605}}
- \expandafter\def\csname simpleicon@zalandoicon\endcsname {\simpleiconsmap\symbol{"F606}}
- \expandafter\def\csname simpleicon@zaloicon\endcsname {\simpleiconsmap\symbol{"F607}}
- \expandafter\def\csname simpleicon@zapicon\endcsname {\simpleiconsmap\symbol{"F608}}
- \expandafter\def\csname simpleicon@zapiericon\endcsname {\simpleiconsmap\symbol{"F609}}
- \expandafter\def\csname simpleicon@zaraicon\endcsname {\simpleiconsmap\symbol{"F60A}}
- \expandafter\def\csname simpleicon@zazzleicon\endcsname {\simpleiconsmap\symbol{"F60B}}
- \expandafter\def\csname simpleicon@zcashicon\endcsname {\simpleiconsmap\symbol{"F60C}}
- \expandafter\def\csname simpleicon@zcoolicon\endcsname {\simpleiconsmap\symbol{"F60D}}
- \expandafter\def\csname simpleicon@zdficon\endcsname {\simpleiconsmap\symbol{"F60E}}
- \expandafter\def\csname simpleicon@zebpayicon\endcsname {\simpleiconsmap\symbol{"F60F}}
- \expandafter\def\csname simpleicon@zebratechnologiesicon\endcsname {\simpleiconsmap\symbol{"F610}}
- \expandafter\def\csname simpleicon@zedindustriesicon\endcsname {\simpleiconsmap\symbol{"F611}}
- \expandafter\def\csname simpleicon@zelleicon\endcsname {\simpleiconsmap\symbol{"F612}}
- \expandafter\def\csname simpleicon@zendicon\endcsname {\simpleiconsmap\symbol{"F613}}
- \expandafter\def\csname simpleicon@zendeskicon\endcsname {\simpleiconsmap\symbol{"F614}}
- \expandafter\def\csname simpleicon@zennicon\endcsname {\simpleiconsmap\symbol{"F615}}
- \expandafter\def\csname simpleicon@zenodoicon\endcsname {\simpleiconsmap\symbol{"F616}}
- \expandafter\def\csname simpleicon@zensaricon\endcsname {\simpleiconsmap\symbol{"F617}}
- \expandafter\def\csname simpleicon@zerodhaicon\endcsname {\simpleiconsmap\symbol{"F618}}
- \expandafter\def\csname simpleicon@zerplyicon\endcsname {\simpleiconsmap\symbol{"F619}}
- \expandafter\def\csname simpleicon@zettlricon\endcsname {\simpleiconsmap\symbol{"F61A}}
- \expandafter\def\csname simpleicon@zhihuicon\endcsname {\simpleiconsmap\symbol{"F61B}}
- \expandafter\def\csname simpleicon@zigicon\endcsname {\simpleiconsmap\symbol{"F61C}}
- \expandafter\def\csname simpleicon@zigbeeicon\endcsname {\simpleiconsmap\symbol{"F61D}}
- \expandafter\def\csname simpleicon@ziggoicon\endcsname {\simpleiconsmap\symbol{"F61E}}
- \expandafter\def\csname simpleicon@zilchicon\endcsname {\simpleiconsmap\symbol{"F61F}}
- \expandafter\def\csname simpleicon@zillowicon\endcsname {\simpleiconsmap\symbol{"F620}}
- \expandafter\def\csname simpleicon@zincsearchicon\endcsname {\simpleiconsmap\symbol{"F621}}
- \expandafter\def\csname simpleicon@zingaticon\endcsname {\simpleiconsmap\symbol{"F622}}
- \expandafter\def\csname simpleicon@zodicon\endcsname {\simpleiconsmap\symbol{"F623}}
- \expandafter\def\csname simpleicon@zohoicon\endcsname {\simpleiconsmap\symbol{"F624}}
- \expandafter\def\csname simpleicon@zoipericon\endcsname {\simpleiconsmap\symbol{"F625}}
- \expandafter\def\csname simpleicon@zomatoicon\endcsname {\simpleiconsmap\symbol{"F626}}
- \expandafter\def\csname simpleicon@zoomicon\endcsname {\simpleiconsmap\symbol{"F627}}
- \expandafter\def\csname simpleicon@zorinicon\endcsname {\simpleiconsmap\symbol{"F628}}
- \expandafter\def\csname simpleicon@zoteroicon\endcsname {\simpleiconsmap\symbol{"F629}}
- \expandafter\def\csname simpleicon@zshicon\endcsname {\simpleiconsmap\symbol{"F62A}}
- \expandafter\def\csname simpleicon@zulipicon\endcsname {\simpleiconsmap\symbol{"F62B}}
- \expandafter\def\csname simpleicon@zyteicon\endcsname {\simpleiconsmap\symbol{"F62C}} \ No newline at end of file
+ \expandafter\def\csname simpleicon@1dot1dot1dot1icon\endcsname {\simpleiconsmap\symbol{"EA02}}
+ \expandafter\def\csname simpleicon@1panelicon\endcsname {\simpleiconsmap\symbol{"EA03}}
+ \expandafter\def\csname simpleicon@1passwordicon\endcsname {\simpleiconsmap\symbol{"EA04}}
+ \expandafter\def\csname simpleicon@2fasicon\endcsname {\simpleiconsmap\symbol{"EA05}}
+ \expandafter\def\csname simpleicon@2kicon\endcsname {\simpleiconsmap\symbol{"EA06}}
+ \expandafter\def\csname simpleicon@365datascienceicon\endcsname {\simpleiconsmap\symbol{"EA07}}
+ \expandafter\def\csname simpleicon@3micon\endcsname {\simpleiconsmap\symbol{"EA08}}
+ \expandafter\def\csname simpleicon@42icon\endcsname {\simpleiconsmap\symbol{"EA09}}
+ \expandafter\def\csname simpleicon@4chanicon\endcsname {\simpleiconsmap\symbol{"EA0A}}
+ \expandafter\def\csname simpleicon@4dicon\endcsname {\simpleiconsmap\symbol{"EA0B}}
+ \expandafter\def\csname simpleicon@500pxicon\endcsname {\simpleiconsmap\symbol{"EA0C}}
+ \expandafter\def\csname simpleicon@7zipicon\endcsname {\simpleiconsmap\symbol{"EA0D}}
+ \expandafter\def\csname simpleicon@99designsicon\endcsname {\simpleiconsmap\symbol{"EA0E}}
+ \expandafter\def\csname simpleicon@9gagicon\endcsname {\simpleiconsmap\symbol{"EA0F}}
+ \expandafter\def\csname simpleicon@abbotticon\endcsname {\simpleiconsmap\symbol{"EA10}}
+ \expandafter\def\csname simpleicon@abbrobotstudioicon\endcsname {\simpleiconsmap\symbol{"EA11}}
+ \expandafter\def\csname simpleicon@abbvieicon\endcsname {\simpleiconsmap\symbol{"EA12}}
+ \expandafter\def\csname simpleicon@aboutdotmeicon\endcsname {\simpleiconsmap\symbol{"EA13}}
+ \expandafter\def\csname simpleicon@abstracticon\endcsname {\simpleiconsmap\symbol{"EA14}}
+ \expandafter\def\csname simpleicon@abusedotchicon\endcsname {\simpleiconsmap\symbol{"EA15}}
+ \expandafter\def\csname simpleicon@academiaicon\endcsname {\simpleiconsmap\symbol{"EA16}}
+ \expandafter\def\csname simpleicon@accentureicon\endcsname {\simpleiconsmap\symbol{"EA17}}
+ \expandafter\def\csname simpleicon@accusofticon\endcsname {\simpleiconsmap\symbol{"EA18}}
+ \expandafter\def\csname simpleicon@acericon\endcsname {\simpleiconsmap\symbol{"EA19}}
+ \expandafter\def\csname simpleicon@acmicon\endcsname {\simpleiconsmap\symbol{"EA1A}}
+ \expandafter\def\csname simpleicon@actigraphicon\endcsname {\simpleiconsmap\symbol{"EA1B}}
+ \expandafter\def\csname simpleicon@activisionicon\endcsname {\simpleiconsmap\symbol{"EA1C}}
+ \expandafter\def\csname simpleicon@activitypubicon\endcsname {\simpleiconsmap\symbol{"EA1D}}
+ \expandafter\def\csname simpleicon@actixicon\endcsname {\simpleiconsmap\symbol{"EA1E}}
+ \expandafter\def\csname simpleicon@acuraicon\endcsname {\simpleiconsmap\symbol{"EA1F}}
+ \expandafter\def\csname simpleicon@adafruiticon\endcsname {\simpleiconsmap\symbol{"EA20}}
+ \expandafter\def\csname simpleicon@adblockicon\endcsname {\simpleiconsmap\symbol{"EA21}}
+ \expandafter\def\csname simpleicon@adblockplusicon\endcsname {\simpleiconsmap\symbol{"EA22}}
+ \expandafter\def\csname simpleicon@adguardicon\endcsname {\simpleiconsmap\symbol{"EA23}}
+ \expandafter\def\csname simpleicon@adidasicon\endcsname {\simpleiconsmap\symbol{"EA24}}
+ \expandafter\def\csname simpleicon@adminericon\endcsname {\simpleiconsmap\symbol{"EA25}}
+ \expandafter\def\csname simpleicon@adobeicon\endcsname {\simpleiconsmap\symbol{"EA26}}
+ \expandafter\def\csname simpleicon@adobeacrobatreadericon\endcsname {\simpleiconsmap\symbol{"EA27}}
+ \expandafter\def\csname simpleicon@adobeaftereffectsicon\endcsname {\simpleiconsmap\symbol{"EA28}}
+ \expandafter\def\csname simpleicon@adobeauditionicon\endcsname {\simpleiconsmap\symbol{"EA29}}
+ \expandafter\def\csname simpleicon@adobecreativecloudicon\endcsname {\simpleiconsmap\symbol{"EA2A}}
+ \expandafter\def\csname simpleicon@adobedreamweavericon\endcsname {\simpleiconsmap\symbol{"EA2B}}
+ \expandafter\def\csname simpleicon@adobefontsicon\endcsname {\simpleiconsmap\symbol{"EA2C}}
+ \expandafter\def\csname simpleicon@adobeillustratoricon\endcsname {\simpleiconsmap\symbol{"EA2D}}
+ \expandafter\def\csname simpleicon@adobeindesignicon\endcsname {\simpleiconsmap\symbol{"EA2E}}
+ \expandafter\def\csname simpleicon@adobelightroomicon\endcsname {\simpleiconsmap\symbol{"EA2F}}
+ \expandafter\def\csname simpleicon@adobelightroomclassicicon\endcsname {\simpleiconsmap\symbol{"EA30}}
+ \expandafter\def\csname simpleicon@adobephotoshopicon\endcsname {\simpleiconsmap\symbol{"EA31}}
+ \expandafter\def\csname simpleicon@adobepremiereproicon\endcsname {\simpleiconsmap\symbol{"EA32}}
+ \expandafter\def\csname simpleicon@adobexdicon\endcsname {\simpleiconsmap\symbol{"EA33}}
+ \expandafter\def\csname simpleicon@adonisjsicon\endcsname {\simpleiconsmap\symbol{"EA34}}
+ \expandafter\def\csname simpleicon@adpicon\endcsname {\simpleiconsmap\symbol{"EA35}}
+ \expandafter\def\csname simpleicon@adrollicon\endcsname {\simpleiconsmap\symbol{"EA36}}
+ \expandafter\def\csname simpleicon@adventofcodeicon\endcsname {\simpleiconsmap\symbol{"EA37}}
+ \expandafter\def\csname simpleicon@adyenicon\endcsname {\simpleiconsmap\symbol{"EA38}}
+ \expandafter\def\csname simpleicon@aegisauthenticatoricon\endcsname {\simpleiconsmap\symbol{"EA39}}
+ \expandafter\def\csname simpleicon@aerlingusicon\endcsname {\simpleiconsmap\symbol{"EA3A}}
+ \expandafter\def\csname simpleicon@aerofloticon\endcsname {\simpleiconsmap\symbol{"EA3B}}
+ \expandafter\def\csname simpleicon@aeromexicoicon\endcsname {\simpleiconsmap\symbol{"EA3C}}
+ \expandafter\def\csname simpleicon@aerospikeicon\endcsname {\simpleiconsmap\symbol{"EA3D}}
+ \expandafter\def\csname simpleicon@aewicon\endcsname {\simpleiconsmap\symbol{"EA3E}}
+ \expandafter\def\csname simpleicon@affineicon\endcsname {\simpleiconsmap\symbol{"EA3F}}
+ \expandafter\def\csname simpleicon@affinityicon\endcsname {\simpleiconsmap\symbol{"EA40}}
+ \expandafter\def\csname simpleicon@affinitydesignericon\endcsname {\simpleiconsmap\symbol{"EA41}}
+ \expandafter\def\csname simpleicon@affinityphotoicon\endcsname {\simpleiconsmap\symbol{"EA42}}
+ \expandafter\def\csname simpleicon@affinitypublishericon\endcsname {\simpleiconsmap\symbol{"EA43}}
+ \expandafter\def\csname simpleicon@aframeicon\endcsname {\simpleiconsmap\symbol{"EA44}}
+ \expandafter\def\csname simpleicon@afterpayicon\endcsname {\simpleiconsmap\symbol{"EA45}}
+ \expandafter\def\csname simpleicon@agoraicon\endcsname {\simpleiconsmap\symbol{"EA46}}
+ \expandafter\def\csname simpleicon@aibicon\endcsname {\simpleiconsmap\symbol{"EA47}}
+ \expandafter\def\csname simpleicon@aidungeonicon\endcsname {\simpleiconsmap\symbol{"EA48}}
+ \expandafter\def\csname simpleicon@aiohttpicon\endcsname {\simpleiconsmap\symbol{"EA49}}
+ \expandafter\def\csname simpleicon@aiqfomeicon\endcsname {\simpleiconsmap\symbol{"EA4A}}
+ \expandafter\def\csname simpleicon@airasiaicon\endcsname {\simpleiconsmap\symbol{"EA4B}}
+ \expandafter\def\csname simpleicon@airbnbicon\endcsname {\simpleiconsmap\symbol{"EA4C}}
+ \expandafter\def\csname simpleicon@airbrakeicon\endcsname {\simpleiconsmap\symbol{"EA4D}}
+ \expandafter\def\csname simpleicon@airbusicon\endcsname {\simpleiconsmap\symbol{"EA4E}}
+ \expandafter\def\csname simpleicon@airbyteicon\endcsname {\simpleiconsmap\symbol{"EA4F}}
+ \expandafter\def\csname simpleicon@aircallicon\endcsname {\simpleiconsmap\symbol{"EA50}}
+ \expandafter\def\csname simpleicon@aircanadaicon\endcsname {\simpleiconsmap\symbol{"EA51}}
+ \expandafter\def\csname simpleicon@airchinaicon\endcsname {\simpleiconsmap\symbol{"EA52}}
+ \expandafter\def\csname simpleicon@airfranceicon\endcsname {\simpleiconsmap\symbol{"EA53}}
+ \expandafter\def\csname simpleicon@airindiaicon\endcsname {\simpleiconsmap\symbol{"EA54}}
+ \expandafter\def\csname simpleicon@airplayaudioicon\endcsname {\simpleiconsmap\symbol{"EA55}}
+ \expandafter\def\csname simpleicon@airplayvideoicon\endcsname {\simpleiconsmap\symbol{"EA56}}
+ \expandafter\def\csname simpleicon@airtableicon\endcsname {\simpleiconsmap\symbol{"EA57}}
+ \expandafter\def\csname simpleicon@airtelicon\endcsname {\simpleiconsmap\symbol{"EA58}}
+ \expandafter\def\csname simpleicon@airtransaticon\endcsname {\simpleiconsmap\symbol{"EA59}}
+ \expandafter\def\csname simpleicon@ajvicon\endcsname {\simpleiconsmap\symbol{"EA5A}}
+ \expandafter\def\csname simpleicon@akamaiicon\endcsname {\simpleiconsmap\symbol{"EA5B}}
+ \expandafter\def\csname simpleicon@akauntingicon\endcsname {\simpleiconsmap\symbol{"EA5C}}
+ \expandafter\def\csname simpleicon@akiflowicon\endcsname {\simpleiconsmap\symbol{"EA5D}}
+ \expandafter\def\csname simpleicon@alacrittyicon\endcsname {\simpleiconsmap\symbol{"EA5E}}
+ \expandafter\def\csname simpleicon@alamyicon\endcsname {\simpleiconsmap\symbol{"EA5F}}
+ \expandafter\def\csname simpleicon@albertheijnicon\endcsname {\simpleiconsmap\symbol{"EA60}}
+ \expandafter\def\csname simpleicon@albyicon\endcsname {\simpleiconsmap\symbol{"EA61}}
+ \expandafter\def\csname simpleicon@alchemyicon\endcsname {\simpleiconsmap\symbol{"EA62}}
+ \expandafter\def\csname simpleicon@aldinordicon\endcsname {\simpleiconsmap\symbol{"EA63}}
+ \expandafter\def\csname simpleicon@aldisudicon\endcsname {\simpleiconsmap\symbol{"EA64}}
+ \expandafter\def\csname simpleicon@alfaromeoicon\endcsname {\simpleiconsmap\symbol{"EA65}}
+ \expandafter\def\csname simpleicon@alfredicon\endcsname {\simpleiconsmap\symbol{"EA66}}
+ \expandafter\def\csname simpleicon@algoliaicon\endcsname {\simpleiconsmap\symbol{"EA67}}
+ \expandafter\def\csname simpleicon@algorandicon\endcsname {\simpleiconsmap\symbol{"EA68}}
+ \expandafter\def\csname simpleicon@alibabacloudicon\endcsname {\simpleiconsmap\symbol{"EA69}}
+ \expandafter\def\csname simpleicon@alibabadotcomicon\endcsname {\simpleiconsmap\symbol{"EA6A}}
+ \expandafter\def\csname simpleicon@alienwareicon\endcsname {\simpleiconsmap\symbol{"EA6B}}
+ \expandafter\def\csname simpleicon@aliexpressicon\endcsname {\simpleiconsmap\symbol{"EA6C}}
+ \expandafter\def\csname simpleicon@alipayicon\endcsname {\simpleiconsmap\symbol{"EA6D}}
+ \expandafter\def\csname simpleicon@allegroicon\endcsname {\simpleiconsmap\symbol{"EA6E}}
+ \expandafter\def\csname simpleicon@alliedmoddersicon\endcsname {\simpleiconsmap\symbol{"EA6F}}
+ \expandafter\def\csname simpleicon@allocineicon\endcsname {\simpleiconsmap\symbol{"EA70}}
+ \expandafter\def\csname simpleicon@alltrailsicon\endcsname {\simpleiconsmap\symbol{"EA71}}
+ \expandafter\def\csname simpleicon@almalinuxicon\endcsname {\simpleiconsmap\symbol{"EA72}}
+ \expandafter\def\csname simpleicon@alpinedotjsicon\endcsname {\simpleiconsmap\symbol{"EA73}}
+ \expandafter\def\csname simpleicon@alpinelinuxicon\endcsname {\simpleiconsmap\symbol{"EA74}}
+ \expandafter\def\csname simpleicon@alteryxicon\endcsname {\simpleiconsmap\symbol{"EA75}}
+ \expandafter\def\csname simpleicon@altiumdesignericon\endcsname {\simpleiconsmap\symbol{"EA76}}
+ \expandafter\def\csname simpleicon@alwaysdataicon\endcsname {\simpleiconsmap\symbol{"EA77}}
+ \expandafter\def\csname simpleicon@alxicon\endcsname {\simpleiconsmap\symbol{"EA78}}
+ \expandafter\def\csname simpleicon@amazonicon\endcsname {\simpleiconsmap\symbol{"EA79}}
+ \expandafter\def\csname simpleicon@amazonalexaicon\endcsname {\simpleiconsmap\symbol{"EA7A}}
+ \expandafter\def\csname simpleicon@amazonapigatewayicon\endcsname {\simpleiconsmap\symbol{"EA7B}}
+ \expandafter\def\csname simpleicon@amazoncloudwatchicon\endcsname {\simpleiconsmap\symbol{"EA7C}}
+ \expandafter\def\csname simpleicon@amazoncognitoicon\endcsname {\simpleiconsmap\symbol{"EA7D}}
+ \expandafter\def\csname simpleicon@amazondocumentdbicon\endcsname {\simpleiconsmap\symbol{"EA7E}}
+ \expandafter\def\csname simpleicon@amazondynamodbicon\endcsname {\simpleiconsmap\symbol{"EA7F}}
+ \expandafter\def\csname simpleicon@amazonec2icon\endcsname {\simpleiconsmap\symbol{"EA80}}
+ \expandafter\def\csname simpleicon@amazonecsicon\endcsname {\simpleiconsmap\symbol{"EA81}}
+ \expandafter\def\csname simpleicon@amazoneksicon\endcsname {\simpleiconsmap\symbol{"EA82}}
+ \expandafter\def\csname simpleicon@amazonelasticacheicon\endcsname {\simpleiconsmap\symbol{"EA83}}
+ \expandafter\def\csname simpleicon@amazonfiretvicon\endcsname {\simpleiconsmap\symbol{"EA84}}
+ \expandafter\def\csname simpleicon@amazongamesicon\endcsname {\simpleiconsmap\symbol{"EA85}}
+ \expandafter\def\csname simpleicon@amazoniamicon\endcsname {\simpleiconsmap\symbol{"EA86}}
+ \expandafter\def\csname simpleicon@amazonlumberyardicon\endcsname {\simpleiconsmap\symbol{"EA87}}
+ \expandafter\def\csname simpleicon@amazonlunaicon\endcsname {\simpleiconsmap\symbol{"EA88}}
+ \expandafter\def\csname simpleicon@amazonmusicicon\endcsname {\simpleiconsmap\symbol{"EA89}}
+ \expandafter\def\csname simpleicon@amazonpayicon\endcsname {\simpleiconsmap\symbol{"EA8A}}
+ \expandafter\def\csname simpleicon@amazonprimeicon\endcsname {\simpleiconsmap\symbol{"EA8B}}
+ \expandafter\def\csname simpleicon@amazonrdsicon\endcsname {\simpleiconsmap\symbol{"EA8C}}
+ \expandafter\def\csname simpleicon@amazonredshifticon\endcsname {\simpleiconsmap\symbol{"EA8D}}
+ \expandafter\def\csname simpleicon@amazonroute53icon\endcsname {\simpleiconsmap\symbol{"EA8E}}
+ \expandafter\def\csname simpleicon@amazons3icon\endcsname {\simpleiconsmap\symbol{"EA8F}}
+ \expandafter\def\csname simpleicon@amazonsimpleemailserviceicon\endcsname {\simpleiconsmap\symbol{"EA90}}
+ \expandafter\def\csname simpleicon@amazonsqsicon\endcsname {\simpleiconsmap\symbol{"EA91}}
+ \expandafter\def\csname simpleicon@amazonwebservicesicon\endcsname {\simpleiconsmap\symbol{"EA92}}
+ \expandafter\def\csname simpleicon@amdicon\endcsname {\simpleiconsmap\symbol{"EA93}}
+ \expandafter\def\csname simpleicon@amebaicon\endcsname {\simpleiconsmap\symbol{"EA94}}
+ \expandafter\def\csname simpleicon@americanairlinesicon\endcsname {\simpleiconsmap\symbol{"EA95}}
+ \expandafter\def\csname simpleicon@americanexpressicon\endcsname {\simpleiconsmap\symbol{"EA96}}
+ \expandafter\def\csname simpleicon@amgicon\endcsname {\simpleiconsmap\symbol{"EA97}}
+ \expandafter\def\csname simpleicon@ampicon\endcsname {\simpleiconsmap\symbol{"EA98}}
+ \expandafter\def\csname simpleicon@amulicon\endcsname {\simpleiconsmap\symbol{"EA99}}
+ \expandafter\def\csname simpleicon@anaicon\endcsname {\simpleiconsmap\symbol{"EA9A}}
+ \expandafter\def\csname simpleicon@anacondaicon\endcsname {\simpleiconsmap\symbol{"EA9B}}
+ \expandafter\def\csname simpleicon@analogueicon\endcsname {\simpleiconsmap\symbol{"EA9C}}
+ \expandafter\def\csname simpleicon@andelaicon\endcsname {\simpleiconsmap\symbol{"EA9D}}
+ \expandafter\def\csname simpleicon@androidicon\endcsname {\simpleiconsmap\symbol{"EA9E}}
+ \expandafter\def\csname simpleicon@androidautoicon\endcsname {\simpleiconsmap\symbol{"EA9F}}
+ \expandafter\def\csname simpleicon@androidstudioicon\endcsname {\simpleiconsmap\symbol{"EAA0}}
+ \expandafter\def\csname simpleicon@angularicon\endcsname {\simpleiconsmap\symbol{"EAA1}}
+ \expandafter\def\csname simpleicon@anilisticon\endcsname {\simpleiconsmap\symbol{"EAA2}}
+ \expandafter\def\csname simpleicon@animalplaneticon\endcsname {\simpleiconsmap\symbol{"EAA3}}
+ \expandafter\def\csname simpleicon@ankermakeicon\endcsname {\simpleiconsmap\symbol{"EAA4}}
+ \expandafter\def\csname simpleicon@ankiicon\endcsname {\simpleiconsmap\symbol{"EAA5}}
+ \expandafter\def\csname simpleicon@ansibleicon\endcsname {\simpleiconsmap\symbol{"EAA6}}
+ \expandafter\def\csname simpleicon@answericon\endcsname {\simpleiconsmap\symbol{"EAA7}}
+ \expandafter\def\csname simpleicon@ansysicon\endcsname {\simpleiconsmap\symbol{"EAA8}}
+ \expandafter\def\csname simpleicon@antaicon\endcsname {\simpleiconsmap\symbol{"EAA9}}
+ \expandafter\def\csname simpleicon@antdesignicon\endcsname {\simpleiconsmap\symbol{"EAAA}}
+ \expandafter\def\csname simpleicon@antena3icon\endcsname {\simpleiconsmap\symbol{"EAAB}}
+ \expandafter\def\csname simpleicon@anthropicicon\endcsname {\simpleiconsmap\symbol{"EAAC}}
+ \expandafter\def\csname simpleicon@anycubicicon\endcsname {\simpleiconsmap\symbol{"EAAD}}
+ \expandafter\def\csname simpleicon@anydeskicon\endcsname {\simpleiconsmap\symbol{"EAAE}}
+ \expandafter\def\csname simpleicon@anytypeicon\endcsname {\simpleiconsmap\symbol{"EAAF}}
+ \expandafter\def\csname simpleicon@aolicon\endcsname {\simpleiconsmap\symbol{"EAB0}}
+ \expandafter\def\csname simpleicon@apacheicon\endcsname {\simpleiconsmap\symbol{"EAB1}}
+ \expandafter\def\csname simpleicon@apacheairflowicon\endcsname {\simpleiconsmap\symbol{"EAB2}}
+ \expandafter\def\csname simpleicon@apacheanticon\endcsname {\simpleiconsmap\symbol{"EAB3}}
+ \expandafter\def\csname simpleicon@apachecassandraicon\endcsname {\simpleiconsmap\symbol{"EAB4}}
+ \expandafter\def\csname simpleicon@apachecloudstackicon\endcsname {\simpleiconsmap\symbol{"EAB5}}
+ \expandafter\def\csname simpleicon@apachecordovaicon\endcsname {\simpleiconsmap\symbol{"EAB6}}
+ \expandafter\def\csname simpleicon@apachecouchdbicon\endcsname {\simpleiconsmap\symbol{"EAB7}}
+ \expandafter\def\csname simpleicon@apachedruidicon\endcsname {\simpleiconsmap\symbol{"EAB8}}
+ \expandafter\def\csname simpleicon@apacheechartsicon\endcsname {\simpleiconsmap\symbol{"EAB9}}
+ \expandafter\def\csname simpleicon@apacheflinkicon\endcsname {\simpleiconsmap\symbol{"EABA}}
+ \expandafter\def\csname simpleicon@apachefreemarkericon\endcsname {\simpleiconsmap\symbol{"EABB}}
+ \expandafter\def\csname simpleicon@apachegroovyicon\endcsname {\simpleiconsmap\symbol{"EABC}}
+ \expandafter\def\csname simpleicon@apacheguacamoleicon\endcsname {\simpleiconsmap\symbol{"EABD}}
+ \expandafter\def\csname simpleicon@apachehadoopicon\endcsname {\simpleiconsmap\symbol{"EABE}}
+ \expandafter\def\csname simpleicon@apachehbaseicon\endcsname {\simpleiconsmap\symbol{"EABF}}
+ \expandafter\def\csname simpleicon@apachehiveicon\endcsname {\simpleiconsmap\symbol{"EAC0}}
+ \expandafter\def\csname simpleicon@apachejmetericon\endcsname {\simpleiconsmap\symbol{"EAC1}}
+ \expandafter\def\csname simpleicon@apachekafkaicon\endcsname {\simpleiconsmap\symbol{"EAC2}}
+ \expandafter\def\csname simpleicon@apachekylinicon\endcsname {\simpleiconsmap\symbol{"EAC3}}
+ \expandafter\def\csname simpleicon@apachemavenicon\endcsname {\simpleiconsmap\symbol{"EAC4}}
+ \expandafter\def\csname simpleicon@apachenetbeansideicon\endcsname {\simpleiconsmap\symbol{"EAC5}}
+ \expandafter\def\csname simpleicon@apacheopenofficeicon\endcsname {\simpleiconsmap\symbol{"EAC6}}
+ \expandafter\def\csname simpleicon@apacheparqueticon\endcsname {\simpleiconsmap\symbol{"EAC7}}
+ \expandafter\def\csname simpleicon@apachepulsaricon\endcsname {\simpleiconsmap\symbol{"EAC8}}
+ \expandafter\def\csname simpleicon@apacherocketmqicon\endcsname {\simpleiconsmap\symbol{"EAC9}}
+ \expandafter\def\csname simpleicon@apachesolricon\endcsname {\simpleiconsmap\symbol{"EACA}}
+ \expandafter\def\csname simpleicon@apachesparkicon\endcsname {\simpleiconsmap\symbol{"EACB}}
+ \expandafter\def\csname simpleicon@apachestormicon\endcsname {\simpleiconsmap\symbol{"EACC}}
+ \expandafter\def\csname simpleicon@apachesuperseticon\endcsname {\simpleiconsmap\symbol{"EACD}}
+ \expandafter\def\csname simpleicon@apachetomcaticon\endcsname {\simpleiconsmap\symbol{"EACE}}
+ \expandafter\def\csname simpleicon@aparaticon\endcsname {\simpleiconsmap\symbol{"EACF}}
+ \expandafter\def\csname simpleicon@apifoxicon\endcsname {\simpleiconsmap\symbol{"EAD0}}
+ \expandafter\def\csname simpleicon@apmterminalsicon\endcsname {\simpleiconsmap\symbol{"EAD1}}
+ \expandafter\def\csname simpleicon@apollographqlicon\endcsname {\simpleiconsmap\symbol{"EAD2}}
+ \expandafter\def\csname simpleicon@apostropheicon\endcsname {\simpleiconsmap\symbol{"EAD3}}
+ \expandafter\def\csname simpleicon@appianicon\endcsname {\simpleiconsmap\symbol{"EAD4}}
+ \expandafter\def\csname simpleicon@appiumicon\endcsname {\simpleiconsmap\symbol{"EAD5}}
+ \expandafter\def\csname simpleicon@appleicon\endcsname {\simpleiconsmap\symbol{"EAD6}}
+ \expandafter\def\csname simpleicon@applearcadeicon\endcsname {\simpleiconsmap\symbol{"EAD7}}
+ \expandafter\def\csname simpleicon@applemusicicon\endcsname {\simpleiconsmap\symbol{"EAD8}}
+ \expandafter\def\csname simpleicon@applenewsicon\endcsname {\simpleiconsmap\symbol{"EAD9}}
+ \expandafter\def\csname simpleicon@applepayicon\endcsname {\simpleiconsmap\symbol{"EADA}}
+ \expandafter\def\csname simpleicon@applepodcastsicon\endcsname {\simpleiconsmap\symbol{"EADB}}
+ \expandafter\def\csname simpleicon@appletvicon\endcsname {\simpleiconsmap\symbol{"EADC}}
+ \expandafter\def\csname simpleicon@appsignalicon\endcsname {\simpleiconsmap\symbol{"EADD}}
+ \expandafter\def\csname simpleicon@appsmithicon\endcsname {\simpleiconsmap\symbol{"EADE}}
+ \expandafter\def\csname simpleicon@appstoreicon\endcsname {\simpleiconsmap\symbol{"EADF}}
+ \expandafter\def\csname simpleicon@appveyoricon\endcsname {\simpleiconsmap\symbol{"EAE0}}
+ \expandafter\def\csname simpleicon@appwriteicon\endcsname {\simpleiconsmap\symbol{"EAE1}}
+ \expandafter\def\csname simpleicon@aquaicon\endcsname {\simpleiconsmap\symbol{"EAE2}}
+ \expandafter\def\csname simpleicon@aralicon\endcsname {\simpleiconsmap\symbol{"EAE3}}
+ \expandafter\def\csname simpleicon@arangodbicon\endcsname {\simpleiconsmap\symbol{"EAE4}}
+ \expandafter\def\csname simpleicon@arcicon\endcsname {\simpleiconsmap\symbol{"EAE5}}
+ \expandafter\def\csname simpleicon@arcgisicon\endcsname {\simpleiconsmap\symbol{"EAE6}}
+ \expandafter\def\csname simpleicon@archicadicon\endcsname {\simpleiconsmap\symbol{"EAE7}}
+ \expandafter\def\csname simpleicon@archiveofourownicon\endcsname {\simpleiconsmap\symbol{"EAE8}}
+ \expandafter\def\csname simpleicon@archlinuxicon\endcsname {\simpleiconsmap\symbol{"EAE9}}
+ \expandafter\def\csname simpleicon@ardouricon\endcsname {\simpleiconsmap\symbol{"EAEA}}
+ \expandafter\def\csname simpleicon@arduinoicon\endcsname {\simpleiconsmap\symbol{"EAEB}}
+ \expandafter\def\csname simpleicon@argoicon\endcsname {\simpleiconsmap\symbol{"EAEC}}
+ \expandafter\def\csname simpleicon@argosicon\endcsname {\simpleiconsmap\symbol{"EAED}}
+ \expandafter\def\csname simpleicon@ariakiticon\endcsname {\simpleiconsmap\symbol{"EAEE}}
+ \expandafter\def\csname simpleicon@arkecosystemicon\endcsname {\simpleiconsmap\symbol{"EAEF}}
+ \expandafter\def\csname simpleicon@arloicon\endcsname {\simpleiconsmap\symbol{"EAF0}}
+ \expandafter\def\csname simpleicon@armicon\endcsname {\simpleiconsmap\symbol{"EAF1}}
+ \expandafter\def\csname simpleicon@armkeilicon\endcsname {\simpleiconsmap\symbol{"EAF2}}
+ \expandafter\def\csname simpleicon@arstechnicaicon\endcsname {\simpleiconsmap\symbol{"EAF3}}
+ \expandafter\def\csname simpleicon@artifacthubicon\endcsname {\simpleiconsmap\symbol{"EAF4}}
+ \expandafter\def\csname simpleicon@artixlinuxicon\endcsname {\simpleiconsmap\symbol{"EAF5}}
+ \expandafter\def\csname simpleicon@artstationicon\endcsname {\simpleiconsmap\symbol{"EAF6}}
+ \expandafter\def\csname simpleicon@arxivicon\endcsname {\simpleiconsmap\symbol{"EAF7}}
+ \expandafter\def\csname simpleicon@asahilinuxicon\endcsname {\simpleiconsmap\symbol{"EAF8}}
+ \expandafter\def\csname simpleicon@asanaicon\endcsname {\simpleiconsmap\symbol{"EAF9}}
+ \expandafter\def\csname simpleicon@asciidoctoricon\endcsname {\simpleiconsmap\symbol{"EAFA}}
+ \expandafter\def\csname simpleicon@asciinemaicon\endcsname {\simpleiconsmap\symbol{"EAFB}}
+ \expandafter\def\csname simpleicon@asdaicon\endcsname {\simpleiconsmap\symbol{"EAFC}}
+ \expandafter\def\csname simpleicon@asepriteicon\endcsname {\simpleiconsmap\symbol{"EAFD}}
+ \expandafter\def\csname simpleicon@askfmicon\endcsname {\simpleiconsmap\symbol{"EAFE}}
+ \expandafter\def\csname simpleicon@assemblyscripticon\endcsname {\simpleiconsmap\symbol{"EAFF}}
+ \expandafter\def\csname simpleicon@asteriskicon\endcsname {\simpleiconsmap\symbol{"EB00}}
+ \expandafter\def\csname simpleicon@astonmartinicon\endcsname {\simpleiconsmap\symbol{"EB01}}
+ \expandafter\def\csname simpleicon@astraicon\endcsname {\simpleiconsmap\symbol{"EB02}}
+ \expandafter\def\csname simpleicon@astralicon\endcsname {\simpleiconsmap\symbol{"EB03}}
+ \expandafter\def\csname simpleicon@astroicon\endcsname {\simpleiconsmap\symbol{"EB04}}
+ \expandafter\def\csname simpleicon@asusicon\endcsname {\simpleiconsmap\symbol{"EB05}}
+ \expandafter\def\csname simpleicon@atandticon\endcsname {\simpleiconsmap\symbol{"EB06}}
+ \expandafter\def\csname simpleicon@atariicon\endcsname {\simpleiconsmap\symbol{"EB07}}
+ \expandafter\def\csname simpleicon@atlassianicon\endcsname {\simpleiconsmap\symbol{"EB08}}
+ \expandafter\def\csname simpleicon@auchanicon\endcsname {\simpleiconsmap\symbol{"EB09}}
+ \expandafter\def\csname simpleicon@audacityicon\endcsname {\simpleiconsmap\symbol{"EB0A}}
+ \expandafter\def\csname simpleicon@audiicon\endcsname {\simpleiconsmap\symbol{"EB0B}}
+ \expandafter\def\csname simpleicon@audibleicon\endcsname {\simpleiconsmap\symbol{"EB0C}}
+ \expandafter\def\csname simpleicon@audiobookshelficon\endcsname {\simpleiconsmap\symbol{"EB0D}}
+ \expandafter\def\csname simpleicon@audioboomicon\endcsname {\simpleiconsmap\symbol{"EB0E}}
+ \expandafter\def\csname simpleicon@audiomackicon\endcsname {\simpleiconsmap\symbol{"EB0F}}
+ \expandafter\def\csname simpleicon@audiotechnicaicon\endcsname {\simpleiconsmap\symbol{"EB10}}
+ \expandafter\def\csname simpleicon@aureliaicon\endcsname {\simpleiconsmap\symbol{"EB11}}
+ \expandafter\def\csname simpleicon@auth0icon\endcsname {\simpleiconsmap\symbol{"EB12}}
+ \expandafter\def\csname simpleicon@autheliaicon\endcsname {\simpleiconsmap\symbol{"EB13}}
+ \expandafter\def\csname simpleicon@authentikicon\endcsname {\simpleiconsmap\symbol{"EB14}}
+ \expandafter\def\csname simpleicon@authyicon\endcsname {\simpleiconsmap\symbol{"EB15}}
+ \expandafter\def\csname simpleicon@autocadicon\endcsname {\simpleiconsmap\symbol{"EB16}}
+ \expandafter\def\csname simpleicon@autocannonicon\endcsname {\simpleiconsmap\symbol{"EB17}}
+ \expandafter\def\csname simpleicon@autodeskicon\endcsname {\simpleiconsmap\symbol{"EB18}}
+ \expandafter\def\csname simpleicon@autodeskmayaicon\endcsname {\simpleiconsmap\symbol{"EB19}}
+ \expandafter\def\csname simpleicon@autodeskreviticon\endcsname {\simpleiconsmap\symbol{"EB1A}}
+ \expandafter\def\csname simpleicon@autohotkeyicon\endcsname {\simpleiconsmap\symbol{"EB1B}}
+ \expandafter\def\csname simpleicon@autoiticon\endcsname {\simpleiconsmap\symbol{"EB1C}}
+ \expandafter\def\csname simpleicon@automatticicon\endcsname {\simpleiconsmap\symbol{"EB1D}}
+ \expandafter\def\csname simpleicon@autoprefixericon\endcsname {\simpleiconsmap\symbol{"EB1E}}
+ \expandafter\def\csname simpleicon@autozoneicon\endcsname {\simpleiconsmap\symbol{"EB1F}}
+ \expandafter\def\csname simpleicon@avajsicon\endcsname {\simpleiconsmap\symbol{"EB20}}
+ \expandafter\def\csname simpleicon@avasticon\endcsname {\simpleiconsmap\symbol{"EB21}}
+ \expandafter\def\csname simpleicon@aviancaicon\endcsname {\simpleiconsmap\symbol{"EB22}}
+ \expandafter\def\csname simpleicon@aviraicon\endcsname {\simpleiconsmap\symbol{"EB23}}
+ \expandafter\def\csname simpleicon@awesomelistsicon\endcsname {\simpleiconsmap\symbol{"EB24}}
+ \expandafter\def\csname simpleicon@awesomewmicon\endcsname {\simpleiconsmap\symbol{"EB25}}
+ \expandafter\def\csname simpleicon@awsamplifyicon\endcsname {\simpleiconsmap\symbol{"EB26}}
+ \expandafter\def\csname simpleicon@awselasticloadbalancingicon\endcsname {\simpleiconsmap\symbol{"EB27}}
+ \expandafter\def\csname simpleicon@awsfargateicon\endcsname {\simpleiconsmap\symbol{"EB28}}
+ \expandafter\def\csname simpleicon@awslambdaicon\endcsname {\simpleiconsmap\symbol{"EB29}}
+ \expandafter\def\csname simpleicon@awsorganizationsicon\endcsname {\simpleiconsmap\symbol{"EB2A}}
+ \expandafter\def\csname simpleicon@awssecretsmanagericon\endcsname {\simpleiconsmap\symbol{"EB2B}}
+ \expandafter\def\csname simpleicon@awwwardsicon\endcsname {\simpleiconsmap\symbol{"EB2C}}
+ \expandafter\def\csname simpleicon@axiosicon\endcsname {\simpleiconsmap\symbol{"EB2D}}
+ \expandafter\def\csname simpleicon@babelicon\endcsname {\simpleiconsmap\symbol{"EB2E}}
+ \expandafter\def\csname simpleicon@babelioicon\endcsname {\simpleiconsmap\symbol{"EB2F}}
+ \expandafter\def\csname simpleicon@babylondotjsicon\endcsname {\simpleiconsmap\symbol{"EB30}}
+ \expandafter\def\csname simpleicon@backblazeicon\endcsname {\simpleiconsmap\symbol{"EB31}}
+ \expandafter\def\csname simpleicon@backbonedotjsicon\endcsname {\simpleiconsmap\symbol{"EB32}}
+ \expandafter\def\csname simpleicon@backendlessicon\endcsname {\simpleiconsmap\symbol{"EB33}}
+ \expandafter\def\csname simpleicon@backstageicon\endcsname {\simpleiconsmap\symbol{"EB34}}
+ \expandafter\def\csname simpleicon@badooicon\endcsname {\simpleiconsmap\symbol{"EB35}}
+ \expandafter\def\csname simpleicon@baiduicon\endcsname {\simpleiconsmap\symbol{"EB36}}
+ \expandafter\def\csname simpleicon@bakalariicon\endcsname {\simpleiconsmap\symbol{"EB37}}
+ \expandafter\def\csname simpleicon@bambooicon\endcsname {\simpleiconsmap\symbol{"EB38}}
+ \expandafter\def\csname simpleicon@bambulabicon\endcsname {\simpleiconsmap\symbol{"EB39}}
+ \expandafter\def\csname simpleicon@bandcampicon\endcsname {\simpleiconsmap\symbol{"EB3A}}
+ \expandafter\def\csname simpleicon@bandlabicon\endcsname {\simpleiconsmap\symbol{"EB3B}}
+ \expandafter\def\csname simpleicon@bandrautomationicon\endcsname {\simpleiconsmap\symbol{"EB3C}}
+ \expandafter\def\csname simpleicon@bandsintownicon\endcsname {\simpleiconsmap\symbol{"EB3D}}
+ \expandafter\def\csname simpleicon@bankofamericaicon\endcsname {\simpleiconsmap\symbol{"EB3E}}
+ \expandafter\def\csname simpleicon@barclaysicon\endcsname {\simpleiconsmap\symbol{"EB3F}}
+ \expandafter\def\csname simpleicon@baremetricsicon\endcsname {\simpleiconsmap\symbol{"EB40}}
+ \expandafter\def\csname simpleicon@barmeniaicon\endcsname {\simpleiconsmap\symbol{"EB41}}
+ \expandafter\def\csname simpleicon@basecampicon\endcsname {\simpleiconsmap\symbol{"EB42}}
+ \expandafter\def\csname simpleicon@basicattentiontokenicon\endcsname {\simpleiconsmap\symbol{"EB43}}
+ \expandafter\def\csname simpleicon@bastyonicon\endcsname {\simpleiconsmap\symbol{"EB44}}
+ \expandafter\def\csname simpleicon@baticon\endcsname {\simpleiconsmap\symbol{"EB45}}
+ \expandafter\def\csname simpleicon@bataicon\endcsname {\simpleiconsmap\symbol{"EB46}}
+ \expandafter\def\csname simpleicon@battledotneticon\endcsname {\simpleiconsmap\symbol{"EB47}}
+ \expandafter\def\csname simpleicon@bazelicon\endcsname {\simpleiconsmap\symbol{"EB48}}
+ \expandafter\def\csname simpleicon@beatporticon\endcsname {\simpleiconsmap\symbol{"EB49}}
+ \expandafter\def\csname simpleicon@beatsicon\endcsname {\simpleiconsmap\symbol{"EB4A}}
+ \expandafter\def\csname simpleicon@beatsbydreicon\endcsname {\simpleiconsmap\symbol{"EB4B}}
+ \expandafter\def\csname simpleicon@beatstarsicon\endcsname {\simpleiconsmap\symbol{"EB4C}}
+ \expandafter\def\csname simpleicon@beekeeperstudioicon\endcsname {\simpleiconsmap\symbol{"EB4D}}
+ \expandafter\def\csname simpleicon@behanceicon\endcsname {\simpleiconsmap\symbol{"EB4E}}
+ \expandafter\def\csname simpleicon@beijingsubwayicon\endcsname {\simpleiconsmap\symbol{"EB4F}}
+ \expandafter\def\csname simpleicon@bemicon\endcsname {\simpleiconsmap\symbol{"EB50}}
+ \expandafter\def\csname simpleicon@bentleyicon\endcsname {\simpleiconsmap\symbol{"EB51}}
+ \expandafter\def\csname simpleicon@bentoicon\endcsname {\simpleiconsmap\symbol{"EB52}}
+ \expandafter\def\csname simpleicon@bentoboxicon\endcsname {\simpleiconsmap\symbol{"EB53}}
+ \expandafter\def\csname simpleicon@bentomlicon\endcsname {\simpleiconsmap\symbol{"EB54}}
+ \expandafter\def\csname simpleicon@berealicon\endcsname {\simpleiconsmap\symbol{"EB55}}
+ \expandafter\def\csname simpleicon@betfairicon\endcsname {\simpleiconsmap\symbol{"EB56}}
+ \expandafter\def\csname simpleicon@betterstackicon\endcsname {\simpleiconsmap\symbol{"EB57}}
+ \expandafter\def\csname simpleicon@bevyicon\endcsname {\simpleiconsmap\symbol{"EB58}}
+ \expandafter\def\csname simpleicon@bigbasketicon\endcsname {\simpleiconsmap\symbol{"EB59}}
+ \expandafter\def\csname simpleicon@bigbluebuttonicon\endcsname {\simpleiconsmap\symbol{"EB5A}}
+ \expandafter\def\csname simpleicon@bigcartelicon\endcsname {\simpleiconsmap\symbol{"EB5B}}
+ \expandafter\def\csname simpleicon@bigcommerceicon\endcsname {\simpleiconsmap\symbol{"EB5C}}
+ \expandafter\def\csname simpleicon@bilibiliicon\endcsname {\simpleiconsmap\symbol{"EB5D}}
+ \expandafter\def\csname simpleicon@billboardicon\endcsname {\simpleiconsmap\symbol{"EB5E}}
+ \expandafter\def\csname simpleicon@bimicon\endcsname {\simpleiconsmap\symbol{"EB5F}}
+ \expandafter\def\csname simpleicon@binanceicon\endcsname {\simpleiconsmap\symbol{"EB60}}
+ \expandafter\def\csname simpleicon@biolinkicon\endcsname {\simpleiconsmap\symbol{"EB61}}
+ \expandafter\def\csname simpleicon@biomeicon\endcsname {\simpleiconsmap\symbol{"EB62}}
+ \expandafter\def\csname simpleicon@bisecthostingicon\endcsname {\simpleiconsmap\symbol{"EB63}}
+ \expandafter\def\csname simpleicon@biticon\endcsname {\simpleiconsmap\symbol{"EB64}}
+ \expandafter\def\csname simpleicon@bitbucketicon\endcsname {\simpleiconsmap\symbol{"EB65}}
+ \expandafter\def\csname simpleicon@bitcoinicon\endcsname {\simpleiconsmap\symbol{"EB66}}
+ \expandafter\def\csname simpleicon@bitcoincashicon\endcsname {\simpleiconsmap\symbol{"EB67}}
+ \expandafter\def\csname simpleicon@bitcoinsvicon\endcsname {\simpleiconsmap\symbol{"EB68}}
+ \expandafter\def\csname simpleicon@bitcometicon\endcsname {\simpleiconsmap\symbol{"EB69}}
+ \expandafter\def\csname simpleicon@bitdefendericon\endcsname {\simpleiconsmap\symbol{"EB6A}}
+ \expandafter\def\csname simpleicon@bitlyicon\endcsname {\simpleiconsmap\symbol{"EB6B}}
+ \expandafter\def\csname simpleicon@bitriseicon\endcsname {\simpleiconsmap\symbol{"EB6C}}
+ \expandafter\def\csname simpleicon@bittorrenticon\endcsname {\simpleiconsmap\symbol{"EB6D}}
+ \expandafter\def\csname simpleicon@bitwardenicon\endcsname {\simpleiconsmap\symbol{"EB6E}}
+ \expandafter\def\csname simpleicon@bitwigicon\endcsname {\simpleiconsmap\symbol{"EB6F}}
+ \expandafter\def\csname simpleicon@blackberryicon\endcsname {\simpleiconsmap\symbol{"EB70}}
+ \expandafter\def\csname simpleicon@blackmagicdesignicon\endcsname {\simpleiconsmap\symbol{"EB71}}
+ \expandafter\def\csname simpleicon@blazemetericon\endcsname {\simpleiconsmap\symbol{"EB72}}
+ \expandafter\def\csname simpleicon@blazoricon\endcsname {\simpleiconsmap\symbol{"EB73}}
+ \expandafter\def\csname simpleicon@blendericon\endcsname {\simpleiconsmap\symbol{"EB74}}
+ \expandafter\def\csname simpleicon@blockbenchicon\endcsname {\simpleiconsmap\symbol{"EB75}}
+ \expandafter\def\csname simpleicon@blockchaindotcomicon\endcsname {\simpleiconsmap\symbol{"EB76}}
+ \expandafter\def\csname simpleicon@bloggericon\endcsname {\simpleiconsmap\symbol{"EB77}}
+ \expandafter\def\csname simpleicon@bloglovinicon\endcsname {\simpleiconsmap\symbol{"EB78}}
+ \expandafter\def\csname simpleicon@blueprinticon\endcsname {\simpleiconsmap\symbol{"EB79}}
+ \expandafter\def\csname simpleicon@blueskyicon\endcsname {\simpleiconsmap\symbol{"EB7A}}
+ \expandafter\def\csname simpleicon@bluesoundicon\endcsname {\simpleiconsmap\symbol{"EB7B}}
+ \expandafter\def\csname simpleicon@bluetoothicon\endcsname {\simpleiconsmap\symbol{"EB7C}}
+ \expandafter\def\csname simpleicon@bmcsoftwareicon\endcsname {\simpleiconsmap\symbol{"EB7D}}
+ \expandafter\def\csname simpleicon@bmwicon\endcsname {\simpleiconsmap\symbol{"EB7E}}
+ \expandafter\def\csname simpleicon@bnbchainicon\endcsname {\simpleiconsmap\symbol{"EB7F}}
+ \expandafter\def\csname simpleicon@boardgamegeekicon\endcsname {\simpleiconsmap\symbol{"EB80}}
+ \expandafter\def\csname simpleicon@boaticon\endcsname {\simpleiconsmap\symbol{"EB81}}
+ \expandafter\def\csname simpleicon@boehringeringelheimicon\endcsname {\simpleiconsmap\symbol{"EB82}}
+ \expandafter\def\csname simpleicon@boeingicon\endcsname {\simpleiconsmap\symbol{"EB83}}
+ \expandafter\def\csname simpleicon@bombardiericon\endcsname {\simpleiconsmap\symbol{"EB84}}
+ \expandafter\def\csname simpleicon@bookalopeicon\endcsname {\simpleiconsmap\symbol{"EB85}}
+ \expandafter\def\csname simpleicon@bookbubicon\endcsname {\simpleiconsmap\symbol{"EB86}}
+ \expandafter\def\csname simpleicon@bookmetericon\endcsname {\simpleiconsmap\symbol{"EB87}}
+ \expandafter\def\csname simpleicon@bookmyshowicon\endcsname {\simpleiconsmap\symbol{"EB88}}
+ \expandafter\def\csname simpleicon@bookstackicon\endcsname {\simpleiconsmap\symbol{"EB89}}
+ \expandafter\def\csname simpleicon@boosticon\endcsname {\simpleiconsmap\symbol{"EB8A}}
+ \expandafter\def\csname simpleicon@boostyicon\endcsname {\simpleiconsmap\symbol{"EB8B}}
+ \expandafter\def\csname simpleicon@bootsicon\endcsname {\simpleiconsmap\symbol{"EB8C}}
+ \expandafter\def\csname simpleicon@bootstrapicon\endcsname {\simpleiconsmap\symbol{"EB8D}}
+ \expandafter\def\csname simpleicon@borgbackupicon\endcsname {\simpleiconsmap\symbol{"EB8E}}
+ \expandafter\def\csname simpleicon@boschicon\endcsname {\simpleiconsmap\symbol{"EB8F}}
+ \expandafter\def\csname simpleicon@boseicon\endcsname {\simpleiconsmap\symbol{"EB90}}
+ \expandafter\def\csname simpleicon@botblecmsicon\endcsname {\simpleiconsmap\symbol{"EB91}}
+ \expandafter\def\csname simpleicon@boulangericon\endcsname {\simpleiconsmap\symbol{"EB92}}
+ \expandafter\def\csname simpleicon@bowericon\endcsname {\simpleiconsmap\symbol{"EB93}}
+ \expandafter\def\csname simpleicon@boxicon\endcsname {\simpleiconsmap\symbol{"EB94}}
+ \expandafter\def\csname simpleicon@boxysvgicon\endcsname {\simpleiconsmap\symbol{"EB95}}
+ \expandafter\def\csname simpleicon@braintreeicon\endcsname {\simpleiconsmap\symbol{"EB96}}
+ \expandafter\def\csname simpleicon@brandfoldericon\endcsname {\simpleiconsmap\symbol{"EB97}}
+ \expandafter\def\csname simpleicon@braveicon\endcsname {\simpleiconsmap\symbol{"EB98}}
+ \expandafter\def\csname simpleicon@breakericon\endcsname {\simpleiconsmap\symbol{"EB99}}
+ \expandafter\def\csname simpleicon@brenntagicon\endcsname {\simpleiconsmap\symbol{"EB9A}}
+ \expandafter\def\csname simpleicon@brevoicon\endcsname {\simpleiconsmap\symbol{"EB9B}}
+ \expandafter\def\csname simpleicon@brexicon\endcsname {\simpleiconsmap\symbol{"EB9C}}
+ \expandafter\def\csname simpleicon@bricksicon\endcsname {\simpleiconsmap\symbol{"EB9D}}
+ \expandafter\def\csname simpleicon@britishairwaysicon\endcsname {\simpleiconsmap\symbol{"EB9E}}
+ \expandafter\def\csname simpleicon@broadcomicon\endcsname {\simpleiconsmap\symbol{"EB9F}}
+ \expandafter\def\csname simpleicon@brunoicon\endcsname {\simpleiconsmap\symbol{"EBA0}}
+ \expandafter\def\csname simpleicon@bsdicon\endcsname {\simpleiconsmap\symbol{"EBA1}}
+ \expandafter\def\csname simpleicon@bspwmicon\endcsname {\simpleiconsmap\symbol{"EBA2}}
+ \expandafter\def\csname simpleicon@bticon\endcsname {\simpleiconsmap\symbol{"EBA3}}
+ \expandafter\def\csname simpleicon@buddyicon\endcsname {\simpleiconsmap\symbol{"EBA4}}
+ \expandafter\def\csname simpleicon@budibaseicon\endcsname {\simpleiconsmap\symbol{"EBA5}}
+ \expandafter\def\csname simpleicon@buefyicon\endcsname {\simpleiconsmap\symbol{"EBA6}}
+ \expandafter\def\csname simpleicon@buffericon\endcsname {\simpleiconsmap\symbol{"EBA7}}
+ \expandafter\def\csname simpleicon@bugattiicon\endcsname {\simpleiconsmap\symbol{"EBA8}}
+ \expandafter\def\csname simpleicon@bugcrowdicon\endcsname {\simpleiconsmap\symbol{"EBA9}}
+ \expandafter\def\csname simpleicon@bugsnagicon\endcsname {\simpleiconsmap\symbol{"EBAA}}
+ \expandafter\def\csname simpleicon@buhlicon\endcsname {\simpleiconsmap\symbol{"EBAB}}
+ \expandafter\def\csname simpleicon@buildkiteicon\endcsname {\simpleiconsmap\symbol{"EBAC}}
+ \expandafter\def\csname simpleicon@bukalapakicon\endcsname {\simpleiconsmap\symbol{"EBAD}}
+ \expandafter\def\csname simpleicon@bulmaicon\endcsname {\simpleiconsmap\symbol{"EBAE}}
+ \expandafter\def\csname simpleicon@bunicon\endcsname {\simpleiconsmap\symbol{"EBAF}}
+ \expandafter\def\csname simpleicon@bungieicon\endcsname {\simpleiconsmap\symbol{"EBB0}}
+ \expandafter\def\csname simpleicon@bunqicon\endcsname {\simpleiconsmap\symbol{"EBB1}}
+ \expandafter\def\csname simpleicon@burgerkingicon\endcsname {\simpleiconsmap\symbol{"EBB2}}
+ \expandafter\def\csname simpleicon@burpsuiteicon\endcsname {\simpleiconsmap\symbol{"EBB3}}
+ \expandafter\def\csname simpleicon@burtonicon\endcsname {\simpleiconsmap\symbol{"EBB4}}
+ \expandafter\def\csname simpleicon@buymeacoffeeicon\endcsname {\simpleiconsmap\symbol{"EBB5}}
+ \expandafter\def\csname simpleicon@buyselladsicon\endcsname {\simpleiconsmap\symbol{"EBB6}}
+ \expandafter\def\csname simpleicon@buzzfeedicon\endcsname {\simpleiconsmap\symbol{"EBB7}}
+ \expandafter\def\csname simpleicon@bvgicon\endcsname {\simpleiconsmap\symbol{"EBB8}}
+ \expandafter\def\csname simpleicon@byjusicon\endcsname {\simpleiconsmap\symbol{"EBB9}}
+ \expandafter\def\csname simpleicon@bytedanceicon\endcsname {\simpleiconsmap\symbol{"EBBA}}
+ \expandafter\def\csname simpleicon@cicon\endcsname {\simpleiconsmap\symbol{"EBBB}}
+ \expandafter\def\csname simpleicon@cacheticon\endcsname {\simpleiconsmap\symbol{"EBBC}}
+ \expandafter\def\csname simpleicon@caddyicon\endcsname {\simpleiconsmap\symbol{"EBBD}}
+ \expandafter\def\csname simpleicon@cadillacicon\endcsname {\simpleiconsmap\symbol{"EBBE}}
+ \expandafter\def\csname simpleicon@cafepressicon\endcsname {\simpleiconsmap\symbol{"EBBF}}
+ \expandafter\def\csname simpleicon@caffeineicon\endcsname {\simpleiconsmap\symbol{"EBC0}}
+ \expandafter\def\csname simpleicon@cairographicsicon\endcsname {\simpleiconsmap\symbol{"EBC1}}
+ \expandafter\def\csname simpleicon@cairometroicon\endcsname {\simpleiconsmap\symbol{"EBC2}}
+ \expandafter\def\csname simpleicon@cakephpicon\endcsname {\simpleiconsmap\symbol{"EBC3}}
+ \expandafter\def\csname simpleicon@caldotcomicon\endcsname {\simpleiconsmap\symbol{"EBC4}}
+ \expandafter\def\csname simpleicon@calendlyicon\endcsname {\simpleiconsmap\symbol{"EBC5}}
+ \expandafter\def\csname simpleicon@calibrewebicon\endcsname {\simpleiconsmap\symbol{"EBC6}}
+ \expandafter\def\csname simpleicon@campaignmonitoricon\endcsname {\simpleiconsmap\symbol{"EBC7}}
+ \expandafter\def\csname simpleicon@camundaicon\endcsname {\simpleiconsmap\symbol{"EBC8}}
+ \expandafter\def\csname simpleicon@canonicalicon\endcsname {\simpleiconsmap\symbol{"EBC9}}
+ \expandafter\def\csname simpleicon@canvaicon\endcsname {\simpleiconsmap\symbol{"EBCA}}
+ \expandafter\def\csname simpleicon@canvasicon\endcsname {\simpleiconsmap\symbol{"EBCB}}
+ \expandafter\def\csname simpleicon@capacitoricon\endcsname {\simpleiconsmap\symbol{"EBCC}}
+ \expandafter\def\csname simpleicon@cardanoicon\endcsname {\simpleiconsmap\symbol{"EBCD}}
+ \expandafter\def\csname simpleicon@carlsberggroupicon\endcsname {\simpleiconsmap\symbol{"EBCE}}
+ \expandafter\def\csname simpleicon@carrdicon\endcsname {\simpleiconsmap\symbol{"EBCF}}
+ \expandafter\def\csname simpleicon@carrefouricon\endcsname {\simpleiconsmap\symbol{"EBD0}}
+ \expandafter\def\csname simpleicon@carthrottleicon\endcsname {\simpleiconsmap\symbol{"EBD1}}
+ \expandafter\def\csname simpleicon@cartoicon\endcsname {\simpleiconsmap\symbol{"EBD2}}
+ \expandafter\def\csname simpleicon@cashappicon\endcsname {\simpleiconsmap\symbol{"EBD3}}
+ \expandafter\def\csname simpleicon@castboxicon\endcsname {\simpleiconsmap\symbol{"EBD4}}
+ \expandafter\def\csname simpleicon@castoramaicon\endcsname {\simpleiconsmap\symbol{"EBD5}}
+ \expandafter\def\csname simpleicon@castroicon\endcsname {\simpleiconsmap\symbol{"EBD6}}
+ \expandafter\def\csname simpleicon@caterpillaricon\endcsname {\simpleiconsmap\symbol{"EBD7}}
+ \expandafter\def\csname simpleicon@cbcicon\endcsname {\simpleiconsmap\symbol{"EBD8}}
+ \expandafter\def\csname simpleicon@cbsicon\endcsname {\simpleiconsmap\symbol{"EBD9}}
+ \expandafter\def\csname simpleicon@ccleanericon\endcsname {\simpleiconsmap\symbol{"EBDA}}
+ \expandafter\def\csname simpleicon@cdprojekticon\endcsname {\simpleiconsmap\symbol{"EBDB}}
+ \expandafter\def\csname simpleicon@celeryicon\endcsname {\simpleiconsmap\symbol{"EBDC}}
+ \expandafter\def\csname simpleicon@celestronicon\endcsname {\simpleiconsmap\symbol{"EBDD}}
+ \expandafter\def\csname simpleicon@centosicon\endcsname {\simpleiconsmap\symbol{"EBDE}}
+ \expandafter\def\csname simpleicon@cephicon\endcsname {\simpleiconsmap\symbol{"EBDF}}
+ \expandafter\def\csname simpleicon@cesiumicon\endcsname {\simpleiconsmap\symbol{"EBE0}}
+ \expandafter\def\csname simpleicon@chaiicon\endcsname {\simpleiconsmap\symbol{"EBE1}}
+ \expandafter\def\csname simpleicon@chainguardicon\endcsname {\simpleiconsmap\symbol{"EBE2}}
+ \expandafter\def\csname simpleicon@chainlinkicon\endcsname {\simpleiconsmap\symbol{"EBE3}}
+ \expandafter\def\csname simpleicon@chakrauiicon\endcsname {\simpleiconsmap\symbol{"EBE4}}
+ \expandafter\def\csname simpleicon@channel4icon\endcsname {\simpleiconsmap\symbol{"EBE5}}
+ \expandafter\def\csname simpleicon@charlesicon\endcsname {\simpleiconsmap\symbol{"EBE6}}
+ \expandafter\def\csname simpleicon@chartdotjsicon\endcsname {\simpleiconsmap\symbol{"EBE7}}
+ \expandafter\def\csname simpleicon@chartmogulicon\endcsname {\simpleiconsmap\symbol{"EBE8}}
+ \expandafter\def\csname simpleicon@chaseicon\endcsname {\simpleiconsmap\symbol{"EBE9}}
+ \expandafter\def\csname simpleicon@chatboticon\endcsname {\simpleiconsmap\symbol{"EBEA}}
+ \expandafter\def\csname simpleicon@chatwooticon\endcsname {\simpleiconsmap\symbol{"EBEB}}
+ \expandafter\def\csname simpleicon@checkioicon\endcsname {\simpleiconsmap\symbol{"EBEC}}
+ \expandafter\def\csname simpleicon@checkmarxicon\endcsname {\simpleiconsmap\symbol{"EBED}}
+ \expandafter\def\csname simpleicon@checkmkicon\endcsname {\simpleiconsmap\symbol{"EBEE}}
+ \expandafter\def\csname simpleicon@chedrauiicon\endcsname {\simpleiconsmap\symbol{"EBEF}}
+ \expandafter\def\csname simpleicon@cheerioicon\endcsname {\simpleiconsmap\symbol{"EBF0}}
+ \expandafter\def\csname simpleicon@cheficon\endcsname {\simpleiconsmap\symbol{"EBF1}}
+ \expandafter\def\csname simpleicon@chemexicon\endcsname {\simpleiconsmap\symbol{"EBF2}}
+ \expandafter\def\csname simpleicon@chessdotcomicon\endcsname {\simpleiconsmap\symbol{"EBF3}}
+ \expandafter\def\csname simpleicon@chevroleticon\endcsname {\simpleiconsmap\symbol{"EBF4}}
+ \expandafter\def\csname simpleicon@chianetworkicon\endcsname {\simpleiconsmap\symbol{"EBF5}}
+ \expandafter\def\csname simpleicon@chinaeasternairlinesicon\endcsname {\simpleiconsmap\symbol{"EBF6}}
+ \expandafter\def\csname simpleicon@chinasouthernairlinesicon\endcsname {\simpleiconsmap\symbol{"EBF7}}
+ \expandafter\def\csname simpleicon@chocolateyicon\endcsname {\simpleiconsmap\symbol{"EBF8}}
+ \expandafter\def\csname simpleicon@chromaticicon\endcsname {\simpleiconsmap\symbol{"EBF9}}
+ \expandafter\def\csname simpleicon@chromecasticon\endcsname {\simpleiconsmap\symbol{"EBFA}}
+ \expandafter\def\csname simpleicon@chromewebstoreicon\endcsname {\simpleiconsmap\symbol{"EBFB}}
+ \expandafter\def\csname simpleicon@chryslericon\endcsname {\simpleiconsmap\symbol{"EBFC}}
+ \expandafter\def\csname simpleicon@chupachupsicon\endcsname {\simpleiconsmap\symbol{"EBFD}}
+ \expandafter\def\csname simpleicon@ciliumicon\endcsname {\simpleiconsmap\symbol{"EBFE}}
+ \expandafter\def\csname simpleicon@cinema4dicon\endcsname {\simpleiconsmap\symbol{"EBFF}}
+ \expandafter\def\csname simpleicon@circleicon\endcsname {\simpleiconsmap\symbol{"EC00}}
+ \expandafter\def\csname simpleicon@circleciicon\endcsname {\simpleiconsmap\symbol{"EC01}}
+ \expandafter\def\csname simpleicon@circuitverseicon\endcsname {\simpleiconsmap\symbol{"EC02}}
+ \expandafter\def\csname simpleicon@cirrusciicon\endcsname {\simpleiconsmap\symbol{"EC03}}
+ \expandafter\def\csname simpleicon@ciscoicon\endcsname {\simpleiconsmap\symbol{"EC04}}
+ \expandafter\def\csname simpleicon@citrixicon\endcsname {\simpleiconsmap\symbol{"EC05}}
+ \expandafter\def\csname simpleicon@citroenicon\endcsname {\simpleiconsmap\symbol{"EC06}}
+ \expandafter\def\csname simpleicon@civicrmicon\endcsname {\simpleiconsmap\symbol{"EC07}}
+ \expandafter\def\csname simpleicon@civoicon\endcsname {\simpleiconsmap\symbol{"EC08}}
+ \expandafter\def\csname simpleicon@ckeditor4icon\endcsname {\simpleiconsmap\symbol{"EC09}}
+ \expandafter\def\csname simpleicon@clarifaiicon\endcsname {\simpleiconsmap\symbol{"EC0A}}
+ \expandafter\def\csname simpleicon@clarisicon\endcsname {\simpleiconsmap\symbol{"EC0B}}
+ \expandafter\def\csname simpleicon@clarivateicon\endcsname {\simpleiconsmap\symbol{"EC0C}}
+ \expandafter\def\csname simpleicon@clerkicon\endcsname {\simpleiconsmap\symbol{"EC0D}}
+ \expandafter\def\csname simpleicon@clevercloudicon\endcsname {\simpleiconsmap\symbol{"EC0E}}
+ \expandafter\def\csname simpleicon@clickhouseicon\endcsname {\simpleiconsmap\symbol{"EC0F}}
+ \expandafter\def\csname simpleicon@clickupicon\endcsname {\simpleiconsmap\symbol{"EC10}}
+ \expandafter\def\csname simpleicon@clionicon\endcsname {\simpleiconsmap\symbol{"EC11}}
+ \expandafter\def\csname simpleicon@cliqzicon\endcsname {\simpleiconsmap\symbol{"EC12}}
+ \expandafter\def\csname simpleicon@clockifyicon\endcsname {\simpleiconsmap\symbol{"EC13}}
+ \expandafter\def\csname simpleicon@clojureicon\endcsname {\simpleiconsmap\symbol{"EC14}}
+ \expandafter\def\csname simpleicon@cloud66icon\endcsname {\simpleiconsmap\symbol{"EC15}}
+ \expandafter\def\csname simpleicon@cloudbeesicon\endcsname {\simpleiconsmap\symbol{"EC16}}
+ \expandafter\def\csname simpleicon@cloudcannonicon\endcsname {\simpleiconsmap\symbol{"EC17}}
+ \expandafter\def\csname simpleicon@clouderaicon\endcsname {\simpleiconsmap\symbol{"EC18}}
+ \expandafter\def\csname simpleicon@cloudflareicon\endcsname {\simpleiconsmap\symbol{"EC19}}
+ \expandafter\def\csname simpleicon@cloudflarepagesicon\endcsname {\simpleiconsmap\symbol{"EC1A}}
+ \expandafter\def\csname simpleicon@cloudflareworkersicon\endcsname {\simpleiconsmap\symbol{"EC1B}}
+ \expandafter\def\csname simpleicon@cloudfoundryicon\endcsname {\simpleiconsmap\symbol{"EC1C}}
+ \expandafter\def\csname simpleicon@cloudinaryicon\endcsname {\simpleiconsmap\symbol{"EC1D}}
+ \expandafter\def\csname simpleicon@cloudronicon\endcsname {\simpleiconsmap\symbol{"EC1E}}
+ \expandafter\def\csname simpleicon@cloudsmithicon\endcsname {\simpleiconsmap\symbol{"EC1F}}
+ \expandafter\def\csname simpleicon@cloudwaysicon\endcsname {\simpleiconsmap\symbol{"EC20}}
+ \expandafter\def\csname simpleicon@clubforceicon\endcsname {\simpleiconsmap\symbol{"EC21}}
+ \expandafter\def\csname simpleicon@clubhouseicon\endcsname {\simpleiconsmap\symbol{"EC22}}
+ \expandafter\def\csname simpleicon@clypicon\endcsname {\simpleiconsmap\symbol{"EC23}}
+ \expandafter\def\csname simpleicon@cmakeicon\endcsname {\simpleiconsmap\symbol{"EC24}}
+ \expandafter\def\csname simpleicon@cncficon\endcsname {\simpleiconsmap\symbol{"EC25}}
+ \expandafter\def\csname simpleicon@cneticon\endcsname {\simpleiconsmap\symbol{"EC26}}
+ \expandafter\def\csname simpleicon@cnnicon\endcsname {\simpleiconsmap\symbol{"EC27}}
+ \expandafter\def\csname simpleicon@cocacolaicon\endcsname {\simpleiconsmap\symbol{"EC28}}
+ \expandafter\def\csname simpleicon@cockpiticon\endcsname {\simpleiconsmap\symbol{"EC29}}
+ \expandafter\def\csname simpleicon@cockroachlabsicon\endcsname {\simpleiconsmap\symbol{"EC2A}}
+ \expandafter\def\csname simpleicon@cocoapodsicon\endcsname {\simpleiconsmap\symbol{"EC2B}}
+ \expandafter\def\csname simpleicon@cocosicon\endcsname {\simpleiconsmap\symbol{"EC2C}}
+ \expandafter\def\csname simpleicon@codaicon\endcsname {\simpleiconsmap\symbol{"EC2D}}
+ \expandafter\def\csname simpleicon@codacyicon\endcsname {\simpleiconsmap\symbol{"EC2E}}
+ \expandafter\def\csname simpleicon@codebergicon\endcsname {\simpleiconsmap\symbol{"EC2F}}
+ \expandafter\def\csname simpleicon@codeblocksicon\endcsname {\simpleiconsmap\symbol{"EC30}}
+ \expandafter\def\csname simpleicon@codecademyicon\endcsname {\simpleiconsmap\symbol{"EC31}}
+ \expandafter\def\csname simpleicon@codeceptjsicon\endcsname {\simpleiconsmap\symbol{"EC32}}
+ \expandafter\def\csname simpleicon@codecheficon\endcsname {\simpleiconsmap\symbol{"EC33}}
+ \expandafter\def\csname simpleicon@codeclimateicon\endcsname {\simpleiconsmap\symbol{"EC34}}
+ \expandafter\def\csname simpleicon@codecovicon\endcsname {\simpleiconsmap\symbol{"EC35}}
+ \expandafter\def\csname simpleicon@codefactoricon\endcsname {\simpleiconsmap\symbol{"EC36}}
+ \expandafter\def\csname simpleicon@codeforcesicon\endcsname {\simpleiconsmap\symbol{"EC37}}
+ \expandafter\def\csname simpleicon@codefreshicon\endcsname {\simpleiconsmap\symbol{"EC38}}
+ \expandafter\def\csname simpleicon@codeignitericon\endcsname {\simpleiconsmap\symbol{"EC39}}
+ \expandafter\def\csname simpleicon@codeiumicon\endcsname {\simpleiconsmap\symbol{"EC3A}}
+ \expandafter\def\csname simpleicon@codemagicicon\endcsname {\simpleiconsmap\symbol{"EC3B}}
+ \expandafter\def\csname simpleicon@codementoricon\endcsname {\simpleiconsmap\symbol{"EC3C}}
+ \expandafter\def\csname simpleicon@codemirroricon\endcsname {\simpleiconsmap\symbol{"EC3D}}
+ \expandafter\def\csname simpleicon@codenewbieicon\endcsname {\simpleiconsmap\symbol{"EC3E}}
+ \expandafter\def\csname simpleicon@codepenicon\endcsname {\simpleiconsmap\symbol{"EC3F}}
+ \expandafter\def\csname simpleicon@codeprojecticon\endcsname {\simpleiconsmap\symbol{"EC40}}
+ \expandafter\def\csname simpleicon@codericon\endcsname {\simpleiconsmap\symbol{"EC41}}
+ \expandafter\def\csname simpleicon@codersrankicon\endcsname {\simpleiconsmap\symbol{"EC42}}
+ \expandafter\def\csname simpleicon@coderwallicon\endcsname {\simpleiconsmap\symbol{"EC43}}
+ \expandafter\def\csname simpleicon@codesandboxicon\endcsname {\simpleiconsmap\symbol{"EC44}}
+ \expandafter\def\csname simpleicon@codeshipicon\endcsname {\simpleiconsmap\symbol{"EC45}}
+ \expandafter\def\csname simpleicon@codesignalicon\endcsname {\simpleiconsmap\symbol{"EC46}}
+ \expandafter\def\csname simpleicon@codestreamicon\endcsname {\simpleiconsmap\symbol{"EC47}}
+ \expandafter\def\csname simpleicon@codewarsicon\endcsname {\simpleiconsmap\symbol{"EC48}}
+ \expandafter\def\csname simpleicon@codingameicon\endcsname {\simpleiconsmap\symbol{"EC49}}
+ \expandafter\def\csname simpleicon@codingninjasicon\endcsname {\simpleiconsmap\symbol{"EC4A}}
+ \expandafter\def\csname simpleicon@codioicon\endcsname {\simpleiconsmap\symbol{"EC4B}}
+ \expandafter\def\csname simpleicon@coffeescripticon\endcsname {\simpleiconsmap\symbol{"EC4C}}
+ \expandafter\def\csname simpleicon@coggleicon\endcsname {\simpleiconsmap\symbol{"EC4D}}
+ \expandafter\def\csname simpleicon@cognizanticon\endcsname {\simpleiconsmap\symbol{"EC4E}}
+ \expandafter\def\csname simpleicon@coilicon\endcsname {\simpleiconsmap\symbol{"EC4F}}
+ \expandafter\def\csname simpleicon@coinbaseicon\endcsname {\simpleiconsmap\symbol{"EC50}}
+ \expandafter\def\csname simpleicon@coinmarketcapicon\endcsname {\simpleiconsmap\symbol{"EC51}}
+ \expandafter\def\csname simpleicon@comicfuryicon\endcsname {\simpleiconsmap\symbol{"EC52}}
+ \expandafter\def\csname simpleicon@commaicon\endcsname {\simpleiconsmap\symbol{"EC53}}
+ \expandafter\def\csname simpleicon@commerzbankicon\endcsname {\simpleiconsmap\symbol{"EC54}}
+ \expandafter\def\csname simpleicon@commitlinticon\endcsname {\simpleiconsmap\symbol{"EC55}}
+ \expandafter\def\csname simpleicon@commodoreicon\endcsname {\simpleiconsmap\symbol{"EC56}}
+ \expandafter\def\csname simpleicon@commonworkflowlanguageicon\endcsname {\simpleiconsmap\symbol{"EC57}}
+ \expandafter\def\csname simpleicon@compilerexplorericon\endcsname {\simpleiconsmap\symbol{"EC58}}
+ \expandafter\def\csname simpleicon@composericon\endcsname {\simpleiconsmap\symbol{"EC59}}
+ \expandafter\def\csname simpleicon@comptiaicon\endcsname {\simpleiconsmap\symbol{"EC5A}}
+ \expandafter\def\csname simpleicon@comsolicon\endcsname {\simpleiconsmap\symbol{"EC5B}}
+ \expandafter\def\csname simpleicon@conanicon\endcsname {\simpleiconsmap\symbol{"EC5C}}
+ \expandafter\def\csname simpleicon@concourseicon\endcsname {\simpleiconsmap\symbol{"EC5D}}
+ \expandafter\def\csname simpleicon@condaforgeicon\endcsname {\simpleiconsmap\symbol{"EC5E}}
+ \expandafter\def\csname simpleicon@conektaicon\endcsname {\simpleiconsmap\symbol{"EC5F}}
+ \expandafter\def\csname simpleicon@confluenceicon\endcsname {\simpleiconsmap\symbol{"EC60}}
+ \expandafter\def\csname simpleicon@construct3icon\endcsname {\simpleiconsmap\symbol{"EC61}}
+ \expandafter\def\csname simpleicon@consulicon\endcsname {\simpleiconsmap\symbol{"EC62}}
+ \expandafter\def\csname simpleicon@contactlesspaymenticon\endcsname {\simpleiconsmap\symbol{"EC63}}
+ \expandafter\def\csname simpleicon@containerdicon\endcsname {\simpleiconsmap\symbol{"EC64}}
+ \expandafter\def\csname simpleicon@contaoicon\endcsname {\simpleiconsmap\symbol{"EC65}}
+ \expandafter\def\csname simpleicon@contentfulicon\endcsname {\simpleiconsmap\symbol{"EC66}}
+ \expandafter\def\csname simpleicon@contentstackicon\endcsname {\simpleiconsmap\symbol{"EC67}}
+ \expandafter\def\csname simpleicon@contributorcovenanticon\endcsname {\simpleiconsmap\symbol{"EC68}}
+ \expandafter\def\csname simpleicon@conventionalcommitsicon\endcsname {\simpleiconsmap\symbol{"EC69}}
+ \expandafter\def\csname simpleicon@convertioicon\endcsname {\simpleiconsmap\symbol{"EC6A}}
+ \expandafter\def\csname simpleicon@cookiecuttericon\endcsname {\simpleiconsmap\symbol{"EC6B}}
+ \expandafter\def\csname simpleicon@coolermastericon\endcsname {\simpleiconsmap\symbol{"EC6C}}
+ \expandafter\def\csname simpleicon@coopicon\endcsname {\simpleiconsmap\symbol{"EC6D}}
+ \expandafter\def\csname simpleicon@copaairlinesicon\endcsname {\simpleiconsmap\symbol{"EC6E}}
+ \expandafter\def\csname simpleicon@coppelicon\endcsname {\simpleiconsmap\symbol{"EC6F}}
+ \expandafter\def\csname simpleicon@coraicon\endcsname {\simpleiconsmap\symbol{"EC70}}
+ \expandafter\def\csname simpleicon@coreldrawicon\endcsname {\simpleiconsmap\symbol{"EC71}}
+ \expandafter\def\csname simpleicon@coronaengineicon\endcsname {\simpleiconsmap\symbol{"EC72}}
+ \expandafter\def\csname simpleicon@coronarenderericon\endcsname {\simpleiconsmap\symbol{"EC73}}
+ \expandafter\def\csname simpleicon@corsairicon\endcsname {\simpleiconsmap\symbol{"EC74}}
+ \expandafter\def\csname simpleicon@couchbaseicon\endcsname {\simpleiconsmap\symbol{"EC75}}
+ \expandafter\def\csname simpleicon@counterstrikeicon\endcsname {\simpleiconsmap\symbol{"EC76}}
+ \expandafter\def\csname simpleicon@countingworksproicon\endcsname {\simpleiconsmap\symbol{"EC77}}
+ \expandafter\def\csname simpleicon@courseraicon\endcsname {\simpleiconsmap\symbol{"EC78}}
+ \expandafter\def\csname simpleicon@coverallsicon\endcsname {\simpleiconsmap\symbol{"EC79}}
+ \expandafter\def\csname simpleicon@cpanelicon\endcsname {\simpleiconsmap\symbol{"EC7A}}
+ \expandafter\def\csname simpleicon@cplusplusicon\endcsname {\simpleiconsmap\symbol{"EC7B}}
+ \expandafter\def\csname simpleicon@cplusplusbuildericon\endcsname {\simpleiconsmap\symbol{"EC7C}}
+ \expandafter\def\csname simpleicon@craftcmsicon\endcsname {\simpleiconsmap\symbol{"EC7D}}
+ \expandafter\def\csname simpleicon@craftsmanicon\endcsname {\simpleiconsmap\symbol{"EC7E}}
+ \expandafter\def\csname simpleicon@cratedbicon\endcsname {\simpleiconsmap\symbol{"EC7F}}
+ \expandafter\def\csname simpleicon@crayonicon\endcsname {\simpleiconsmap\symbol{"EC80}}
+ \expandafter\def\csname simpleicon@crealityicon\endcsname {\simpleiconsmap\symbol{"EC81}}
+ \expandafter\def\csname simpleicon@createreactappicon\endcsname {\simpleiconsmap\symbol{"EC82}}
+ \expandafter\def\csname simpleicon@creativecommonsicon\endcsname {\simpleiconsmap\symbol{"EC83}}
+ \expandafter\def\csname simpleicon@creativetechnologyicon\endcsname {\simpleiconsmap\symbol{"EC84}}
+ \expandafter\def\csname simpleicon@credlyicon\endcsname {\simpleiconsmap\symbol{"EC85}}
+ \expandafter\def\csname simpleicon@crehanaicon\endcsname {\simpleiconsmap\symbol{"EC86}}
+ \expandafter\def\csname simpleicon@crewunitedicon\endcsname {\simpleiconsmap\symbol{"EC87}}
+ \expandafter\def\csname simpleicon@criticalroleicon\endcsname {\simpleiconsmap\symbol{"EC88}}
+ \expandafter\def\csname simpleicon@crowdinicon\endcsname {\simpleiconsmap\symbol{"EC89}}
+ \expandafter\def\csname simpleicon@crowdsourceicon\endcsname {\simpleiconsmap\symbol{"EC8A}}
+ \expandafter\def\csname simpleicon@crunchbaseicon\endcsname {\simpleiconsmap\symbol{"EC8B}}
+ \expandafter\def\csname simpleicon@crunchyrollicon\endcsname {\simpleiconsmap\symbol{"EC8C}}
+ \expandafter\def\csname simpleicon@cryengineicon\endcsname {\simpleiconsmap\symbol{"EC8D}}
+ \expandafter\def\csname simpleicon@cryptpadicon\endcsname {\simpleiconsmap\symbol{"EC8E}}
+ \expandafter\def\csname simpleicon@crystalicon\endcsname {\simpleiconsmap\symbol{"EC8F}}
+ \expandafter\def\csname simpleicon@css3icon\endcsname {\simpleiconsmap\symbol{"EC90}}
+ \expandafter\def\csname simpleicon@cssdesignawardsicon\endcsname {\simpleiconsmap\symbol{"EC91}}
+ \expandafter\def\csname simpleicon@cssmodulesicon\endcsname {\simpleiconsmap\symbol{"EC92}}
+ \expandafter\def\csname simpleicon@csswizardryicon\endcsname {\simpleiconsmap\symbol{"EC93}}
+ \expandafter\def\csname simpleicon@ctsicon\endcsname {\simpleiconsmap\symbol{"EC94}}
+ \expandafter\def\csname simpleicon@cucumbericon\endcsname {\simpleiconsmap\symbol{"EC95}}
+ \expandafter\def\csname simpleicon@culturaicon\endcsname {\simpleiconsmap\symbol{"EC96}}
+ \expandafter\def\csname simpleicon@curlicon\endcsname {\simpleiconsmap\symbol{"EC97}}
+ \expandafter\def\csname simpleicon@curseforgeicon\endcsname {\simpleiconsmap\symbol{"EC98}}
+ \expandafter\def\csname simpleicon@custominkicon\endcsname {\simpleiconsmap\symbol{"EC99}}
+ \expandafter\def\csname simpleicon@cyberdefendersicon\endcsname {\simpleiconsmap\symbol{"EC9A}}
+ \expandafter\def\csname simpleicon@cycling74icon\endcsname {\simpleiconsmap\symbol{"EC9B}}
+ \expandafter\def\csname simpleicon@cypressicon\endcsname {\simpleiconsmap\symbol{"EC9C}}
+ \expandafter\def\csname simpleicon@cytoscapedotjsicon\endcsname {\simpleiconsmap\symbol{"EC9D}}
+ \expandafter\def\csname simpleicon@dicon\endcsname {\simpleiconsmap\symbol{"EC9E}}
+ \expandafter\def\csname simpleicon@d3dotjsicon\endcsname {\simpleiconsmap\symbol{"EC9F}}
+ \expandafter\def\csname simpleicon@daciaicon\endcsname {\simpleiconsmap\symbol{"ECA0}}
+ \expandafter\def\csname simpleicon@daficon\endcsname {\simpleiconsmap\symbol{"ECA1}}
+ \expandafter\def\csname simpleicon@dailydotdevicon\endcsname {\simpleiconsmap\symbol{"ECA2}}
+ \expandafter\def\csname simpleicon@dailymotionicon\endcsname {\simpleiconsmap\symbol{"ECA3}}
+ \expandafter\def\csname simpleicon@daisyuiicon\endcsname {\simpleiconsmap\symbol{"ECA4}}
+ \expandafter\def\csname simpleicon@dapricon\endcsname {\simpleiconsmap\symbol{"ECA5}}
+ \expandafter\def\csname simpleicon@darkreadericon\endcsname {\simpleiconsmap\symbol{"ECA6}}
+ \expandafter\def\csname simpleicon@darticon\endcsname {\simpleiconsmap\symbol{"ECA7}}
+ \expandafter\def\csname simpleicon@dartyicon\endcsname {\simpleiconsmap\symbol{"ECA8}}
+ \expandafter\def\csname simpleicon@dasersteicon\endcsname {\simpleiconsmap\symbol{"ECA9}}
+ \expandafter\def\csname simpleicon@dashicon\endcsname {\simpleiconsmap\symbol{"ECAA}}
+ \expandafter\def\csname simpleicon@dashlaneicon\endcsname {\simpleiconsmap\symbol{"ECAB}}
+ \expandafter\def\csname simpleicon@daskicon\endcsname {\simpleiconsmap\symbol{"ECAC}}
+ \expandafter\def\csname simpleicon@dassaultsystemesicon\endcsname {\simpleiconsmap\symbol{"ECAD}}
+ \expandafter\def\csname simpleicon@databricksicon\endcsname {\simpleiconsmap\symbol{"ECAE}}
+ \expandafter\def\csname simpleicon@datacampicon\endcsname {\simpleiconsmap\symbol{"ECAF}}
+ \expandafter\def\csname simpleicon@datadogicon\endcsname {\simpleiconsmap\symbol{"ECB0}}
+ \expandafter\def\csname simpleicon@datadotaiicon\endcsname {\simpleiconsmap\symbol{"ECB1}}
+ \expandafter\def\csname simpleicon@datagripicon\endcsname {\simpleiconsmap\symbol{"ECB2}}
+ \expandafter\def\csname simpleicon@dataikuicon\endcsname {\simpleiconsmap\symbol{"ECB3}}
+ \expandafter\def\csname simpleicon@datastaxicon\endcsname {\simpleiconsmap\symbol{"ECB4}}
+ \expandafter\def\csname simpleicon@datefnsicon\endcsname {\simpleiconsmap\symbol{"ECB5}}
+ \expandafter\def\csname simpleicon@datevicon\endcsname {\simpleiconsmap\symbol{"ECB6}}
+ \expandafter\def\csname simpleicon@datocmsicon\endcsname {\simpleiconsmap\symbol{"ECB7}}
+ \expandafter\def\csname simpleicon@dattoicon\endcsname {\simpleiconsmap\symbol{"ECB8}}
+ \expandafter\def\csname simpleicon@davinciresolveicon\endcsname {\simpleiconsmap\symbol{"ECB9}}
+ \expandafter\def\csname simpleicon@dazhongdianpingicon\endcsname {\simpleiconsmap\symbol{"ECBA}}
+ \expandafter\def\csname simpleicon@daznicon\endcsname {\simpleiconsmap\symbol{"ECBB}}
+ \expandafter\def\csname simpleicon@dbeavericon\endcsname {\simpleiconsmap\symbol{"ECBC}}
+ \expandafter\def\csname simpleicon@dblpicon\endcsname {\simpleiconsmap\symbol{"ECBD}}
+ \expandafter\def\csname simpleicon@dbticon\endcsname {\simpleiconsmap\symbol{"ECBE}}
+ \expandafter\def\csname simpleicon@dcentertainmenticon\endcsname {\simpleiconsmap\symbol{"ECBF}}
+ \expandafter\def\csname simpleicon@debianicon\endcsname {\simpleiconsmap\symbol{"ECC0}}
+ \expandafter\def\csname simpleicon@decapcmsicon\endcsname {\simpleiconsmap\symbol{"ECC1}}
+ \expandafter\def\csname simpleicon@decentralandicon\endcsname {\simpleiconsmap\symbol{"ECC2}}
+ \expandafter\def\csname simpleicon@dedgeicon\endcsname {\simpleiconsmap\symbol{"ECC3}}
+ \expandafter\def\csname simpleicon@deepcoolicon\endcsname {\simpleiconsmap\symbol{"ECC4}}
+ \expandafter\def\csname simpleicon@deepgramicon\endcsname {\simpleiconsmap\symbol{"ECC5}}
+ \expandafter\def\csname simpleicon@deepinicon\endcsname {\simpleiconsmap\symbol{"ECC6}}
+ \expandafter\def\csname simpleicon@deeplicon\endcsname {\simpleiconsmap\symbol{"ECC7}}
+ \expandafter\def\csname simpleicon@deepnoteicon\endcsname {\simpleiconsmap\symbol{"ECC8}}
+ \expandafter\def\csname simpleicon@deliciousicon\endcsname {\simpleiconsmap\symbol{"ECC9}}
+ \expandafter\def\csname simpleicon@deliverooicon\endcsname {\simpleiconsmap\symbol{"ECCA}}
+ \expandafter\def\csname simpleicon@dellicon\endcsname {\simpleiconsmap\symbol{"ECCB}}
+ \expandafter\def\csname simpleicon@delonghiicon\endcsname {\simpleiconsmap\symbol{"ECCC}}
+ \expandafter\def\csname simpleicon@delphiicon\endcsname {\simpleiconsmap\symbol{"ECCD}}
+ \expandafter\def\csname simpleicon@deltaicon\endcsname {\simpleiconsmap\symbol{"ECCE}}
+ \expandafter\def\csname simpleicon@delugeicon\endcsname {\simpleiconsmap\symbol{"ECCF}}
+ \expandafter\def\csname simpleicon@denoicon\endcsname {\simpleiconsmap\symbol{"ECD0}}
+ \expandafter\def\csname simpleicon@denonicon\endcsname {\simpleiconsmap\symbol{"ECD1}}
+ \expandafter\def\csname simpleicon@dependaboticon\endcsname {\simpleiconsmap\symbol{"ECD2}}
+ \expandafter\def\csname simpleicon@dependencycheckicon\endcsname {\simpleiconsmap\symbol{"ECD3}}
+ \expandafter\def\csname simpleicon@depositphotosicon\endcsname {\simpleiconsmap\symbol{"ECD4}}
+ \expandafter\def\csname simpleicon@derspiegelicon\endcsname {\simpleiconsmap\symbol{"ECD5}}
+ \expandafter\def\csname simpleicon@deutschebahnicon\endcsname {\simpleiconsmap\symbol{"ECD6}}
+ \expandafter\def\csname simpleicon@deutschebankicon\endcsname {\simpleiconsmap\symbol{"ECD7}}
+ \expandafter\def\csname simpleicon@deutscheposticon\endcsname {\simpleiconsmap\symbol{"ECD8}}
+ \expandafter\def\csname simpleicon@devdottoicon\endcsname {\simpleiconsmap\symbol{"ECD9}}
+ \expandafter\def\csname simpleicon@devexpressicon\endcsname {\simpleiconsmap\symbol{"ECDA}}
+ \expandafter\def\csname simpleicon@deviantarticon\endcsname {\simpleiconsmap\symbol{"ECDB}}
+ \expandafter\def\csname simpleicon@devposticon\endcsname {\simpleiconsmap\symbol{"ECDC}}
+ \expandafter\def\csname simpleicon@devranticon\endcsname {\simpleiconsmap\symbol{"ECDD}}
+ \expandafter\def\csname simpleicon@dgraphicon\endcsname {\simpleiconsmap\symbol{"ECDE}}
+ \expandafter\def\csname simpleicon@dhlicon\endcsname {\simpleiconsmap\symbol{"ECDF}}
+ \expandafter\def\csname simpleicon@diagramsdotneticon\endcsname {\simpleiconsmap\symbol{"ECE0}}
+ \expandafter\def\csname simpleicon@dialogflowicon\endcsname {\simpleiconsmap\symbol{"ECE1}}
+ \expandafter\def\csname simpleicon@diasporaicon\endcsname {\simpleiconsmap\symbol{"ECE2}}
+ \expandafter\def\csname simpleicon@dictionarydotcomicon\endcsname {\simpleiconsmap\symbol{"ECE3}}
+ \expandafter\def\csname simpleicon@diggicon\endcsname {\simpleiconsmap\symbol{"ECE4}}
+ \expandafter\def\csname simpleicon@digikeyelectronicsicon\endcsname {\simpleiconsmap\symbol{"ECE5}}
+ \expandafter\def\csname simpleicon@digitaloceanicon\endcsname {\simpleiconsmap\symbol{"ECE6}}
+ \expandafter\def\csname simpleicon@dinersclubicon\endcsname {\simpleiconsmap\symbol{"ECE7}}
+ \expandafter\def\csname simpleicon@dioricon\endcsname {\simpleiconsmap\symbol{"ECE8}}
+ \expandafter\def\csname simpleicon@directusicon\endcsname {\simpleiconsmap\symbol{"ECE9}}
+ \expandafter\def\csname simpleicon@discogsicon\endcsname {\simpleiconsmap\symbol{"ECEA}}
+ \expandafter\def\csname simpleicon@discordicon\endcsname {\simpleiconsmap\symbol{"ECEB}}
+ \expandafter\def\csname simpleicon@discourseicon\endcsname {\simpleiconsmap\symbol{"ECEC}}
+ \expandafter\def\csname simpleicon@discovericon\endcsname {\simpleiconsmap\symbol{"ECED}}
+ \expandafter\def\csname simpleicon@disqusicon\endcsname {\simpleiconsmap\symbol{"ECEE}}
+ \expandafter\def\csname simpleicon@disrooticon\endcsname {\simpleiconsmap\symbol{"ECEF}}
+ \expandafter\def\csname simpleicon@distrokidicon\endcsname {\simpleiconsmap\symbol{"ECF0}}
+ \expandafter\def\csname simpleicon@djangoicon\endcsname {\simpleiconsmap\symbol{"ECF1}}
+ \expandafter\def\csname simpleicon@djiicon\endcsname {\simpleiconsmap\symbol{"ECF2}}
+ \expandafter\def\csname simpleicon@dlibicon\endcsname {\simpleiconsmap\symbol{"ECF3}}
+ \expandafter\def\csname simpleicon@dlnaicon\endcsname {\simpleiconsmap\symbol{"ECF4}}
+ \expandafter\def\csname simpleicon@dmicon\endcsname {\simpleiconsmap\symbol{"ECF5}}
+ \expandafter\def\csname simpleicon@dockericon\endcsname {\simpleiconsmap\symbol{"ECF6}}
+ \expandafter\def\csname simpleicon@docsdotrsicon\endcsname {\simpleiconsmap\symbol{"ECF7}}
+ \expandafter\def\csname simpleicon@docsifyicon\endcsname {\simpleiconsmap\symbol{"ECF8}}
+ \expandafter\def\csname simpleicon@doctrineicon\endcsname {\simpleiconsmap\symbol{"ECF9}}
+ \expandafter\def\csname simpleicon@docusaurusicon\endcsname {\simpleiconsmap\symbol{"ECFA}}
+ \expandafter\def\csname simpleicon@dogecoinicon\endcsname {\simpleiconsmap\symbol{"ECFB}}
+ \expandafter\def\csname simpleicon@doiicon\endcsname {\simpleiconsmap\symbol{"ECFC}}
+ \expandafter\def\csname simpleicon@dolbyicon\endcsname {\simpleiconsmap\symbol{"ECFD}}
+ \expandafter\def\csname simpleicon@doordashicon\endcsname {\simpleiconsmap\symbol{"ECFE}}
+ \expandafter\def\csname simpleicon@dota2icon\endcsname {\simpleiconsmap\symbol{"ECFF}}
+ \expandafter\def\csname simpleicon@dotenvicon\endcsname {\simpleiconsmap\symbol{"ED00}}
+ \expandafter\def\csname simpleicon@dotneticon\endcsname {\simpleiconsmap\symbol{"ED01}}
+ \expandafter\def\csname simpleicon@doubanicon\endcsname {\simpleiconsmap\symbol{"ED02}}
+ \expandafter\def\csname simpleicon@doubanreadicon\endcsname {\simpleiconsmap\symbol{"ED03}}
+ \expandafter\def\csname simpleicon@dovecoticon\endcsname {\simpleiconsmap\symbol{"ED04}}
+ \expandafter\def\csname simpleicon@dovetailicon\endcsname {\simpleiconsmap\symbol{"ED05}}
+ \expandafter\def\csname simpleicon@doxygenicon\endcsname {\simpleiconsmap\symbol{"ED06}}
+ \expandafter\def\csname simpleicon@dpdicon\endcsname {\simpleiconsmap\symbol{"ED07}}
+ \expandafter\def\csname simpleicon@dragonframeicon\endcsname {\simpleiconsmap\symbol{"ED08}}
+ \expandafter\def\csname simpleicon@draugiemdotlvicon\endcsname {\simpleiconsmap\symbol{"ED09}}
+ \expandafter\def\csname simpleicon@dreamstimeicon\endcsname {\simpleiconsmap\symbol{"ED0A}}
+ \expandafter\def\csname simpleicon@dribbbleicon\endcsname {\simpleiconsmap\symbol{"ED0B}}
+ \expandafter\def\csname simpleicon@drizzleicon\endcsname {\simpleiconsmap\symbol{"ED0C}}
+ \expandafter\def\csname simpleicon@droneicon\endcsname {\simpleiconsmap\symbol{"ED0D}}
+ \expandafter\def\csname simpleicon@droobleicon\endcsname {\simpleiconsmap\symbol{"ED0E}}
+ \expandafter\def\csname simpleicon@dropboxicon\endcsname {\simpleiconsmap\symbol{"ED0F}}
+ \expandafter\def\csname simpleicon@drupalicon\endcsname {\simpleiconsmap\symbol{"ED10}}
+ \expandafter\def\csname simpleicon@dsautomobilesicon\endcsname {\simpleiconsmap\symbol{"ED11}}
+ \expandafter\def\csname simpleicon@dtsicon\endcsname {\simpleiconsmap\symbol{"ED12}}
+ \expandafter\def\csname simpleicon@dtubeicon\endcsname {\simpleiconsmap\symbol{"ED13}}
+ \expandafter\def\csname simpleicon@ducatiicon\endcsname {\simpleiconsmap\symbol{"ED14}}
+ \expandafter\def\csname simpleicon@duckdbicon\endcsname {\simpleiconsmap\symbol{"ED15}}
+ \expandafter\def\csname simpleicon@duckduckgoicon\endcsname {\simpleiconsmap\symbol{"ED16}}
+ \expandafter\def\csname simpleicon@dungeonsanddragonsicon\endcsname {\simpleiconsmap\symbol{"ED17}}
+ \expandafter\def\csname simpleicon@dunkedicon\endcsname {\simpleiconsmap\symbol{"ED18}}
+ \expandafter\def\csname simpleicon@dunzoicon\endcsname {\simpleiconsmap\symbol{"ED19}}
+ \expandafter\def\csname simpleicon@duolingoicon\endcsname {\simpleiconsmap\symbol{"ED1A}}
+ \expandafter\def\csname simpleicon@duplicatiicon\endcsname {\simpleiconsmap\symbol{"ED1B}}
+ \expandafter\def\csname simpleicon@dvcicon\endcsname {\simpleiconsmap\symbol{"ED1C}}
+ \expandafter\def\csname simpleicon@dwavesystemsicon\endcsname {\simpleiconsmap\symbol{"ED1D}}
+ \expandafter\def\csname simpleicon@dwmicon\endcsname {\simpleiconsmap\symbol{"ED1E}}
+ \expandafter\def\csname simpleicon@dynatraceicon\endcsname {\simpleiconsmap\symbol{"ED1F}}
+ \expandafter\def\csname simpleicon@eicon\endcsname {\simpleiconsmap\symbol{"ED20}}
+ \expandafter\def\csname simpleicon@e3icon\endcsname {\simpleiconsmap\symbol{"ED21}}
+ \expandafter\def\csname simpleicon@eaicon\endcsname {\simpleiconsmap\symbol{"ED22}}
+ \expandafter\def\csname simpleicon@eagleicon\endcsname {\simpleiconsmap\symbol{"ED23}}
+ \expandafter\def\csname simpleicon@easyedaicon\endcsname {\simpleiconsmap\symbol{"ED24}}
+ \expandafter\def\csname simpleicon@easyjeticon\endcsname {\simpleiconsmap\symbol{"ED25}}
+ \expandafter\def\csname simpleicon@ebayicon\endcsname {\simpleiconsmap\symbol{"ED26}}
+ \expandafter\def\csname simpleicon@eboxicon\endcsname {\simpleiconsmap\symbol{"ED27}}
+ \expandafter\def\csname simpleicon@eclipseadoptiumicon\endcsname {\simpleiconsmap\symbol{"ED28}}
+ \expandafter\def\csname simpleicon@eclipsecheicon\endcsname {\simpleiconsmap\symbol{"ED29}}
+ \expandafter\def\csname simpleicon@eclipseideicon\endcsname {\simpleiconsmap\symbol{"ED2A}}
+ \expandafter\def\csname simpleicon@eclipsejettyicon\endcsname {\simpleiconsmap\symbol{"ED2B}}
+ \expandafter\def\csname simpleicon@eclipsemosquittoicon\endcsname {\simpleiconsmap\symbol{"ED2C}}
+ \expandafter\def\csname simpleicon@eclipsevertdotxicon\endcsname {\simpleiconsmap\symbol{"ED2D}}
+ \expandafter\def\csname simpleicon@ecovacsicon\endcsname {\simpleiconsmap\symbol{"ED2E}}
+ \expandafter\def\csname simpleicon@edekaicon\endcsname {\simpleiconsmap\symbol{"ED2F}}
+ \expandafter\def\csname simpleicon@edgeimpulseicon\endcsname {\simpleiconsmap\symbol{"ED30}}
+ \expandafter\def\csname simpleicon@editorconfigicon\endcsname {\simpleiconsmap\symbol{"ED31}}
+ \expandafter\def\csname simpleicon@edotleclercicon\endcsname {\simpleiconsmap\symbol{"ED32}}
+ \expandafter\def\csname simpleicon@educativeicon\endcsname {\simpleiconsmap\symbol{"ED33}}
+ \expandafter\def\csname simpleicon@edxicon\endcsname {\simpleiconsmap\symbol{"ED34}}
+ \expandafter\def\csname simpleicon@eggheadicon\endcsname {\simpleiconsmap\symbol{"ED35}}
+ \expandafter\def\csname simpleicon@egnyteicon\endcsname {\simpleiconsmap\symbol{"ED36}}
+ \expandafter\def\csname simpleicon@eighticon\endcsname {\simpleiconsmap\symbol{"ED37}}
+ \expandafter\def\csname simpleicon@eightsleepicon\endcsname {\simpleiconsmap\symbol{"ED38}}
+ \expandafter\def\csname simpleicon@ejsicon\endcsname {\simpleiconsmap\symbol{"ED39}}
+ \expandafter\def\csname simpleicon@elasticicon\endcsname {\simpleiconsmap\symbol{"ED3A}}
+ \expandafter\def\csname simpleicon@elasticcloudicon\endcsname {\simpleiconsmap\symbol{"ED3B}}
+ \expandafter\def\csname simpleicon@elasticsearchicon\endcsname {\simpleiconsmap\symbol{"ED3C}}
+ \expandafter\def\csname simpleicon@elasticstackicon\endcsname {\simpleiconsmap\symbol{"ED3D}}
+ \expandafter\def\csname simpleicon@elavonicon\endcsname {\simpleiconsmap\symbol{"ED3E}}
+ \expandafter\def\csname simpleicon@electronicon\endcsname {\simpleiconsmap\symbol{"ED3F}}
+ \expandafter\def\csname simpleicon@electronbuildericon\endcsname {\simpleiconsmap\symbol{"ED40}}
+ \expandafter\def\csname simpleicon@electronfiddleicon\endcsname {\simpleiconsmap\symbol{"ED41}}
+ \expandafter\def\csname simpleicon@elegooicon\endcsname {\simpleiconsmap\symbol{"ED42}}
+ \expandafter\def\csname simpleicon@elementicon\endcsname {\simpleiconsmap\symbol{"ED43}}
+ \expandafter\def\csname simpleicon@elementaryicon\endcsname {\simpleiconsmap\symbol{"ED44}}
+ \expandafter\def\csname simpleicon@elementoricon\endcsname {\simpleiconsmap\symbol{"ED45}}
+ \expandafter\def\csname simpleicon@eleventyicon\endcsname {\simpleiconsmap\symbol{"ED46}}
+ \expandafter\def\csname simpleicon@elgatoicon\endcsname {\simpleiconsmap\symbol{"ED47}}
+ \expandafter\def\csname simpleicon@elixiricon\endcsname {\simpleiconsmap\symbol{"ED48}}
+ \expandafter\def\csname simpleicon@eljuevesicon\endcsname {\simpleiconsmap\symbol{"ED49}}
+ \expandafter\def\csname simpleicon@elloicon\endcsname {\simpleiconsmap\symbol{"ED4A}}
+ \expandafter\def\csname simpleicon@elmicon\endcsname {\simpleiconsmap\symbol{"ED4B}}
+ \expandafter\def\csname simpleicon@elseviericon\endcsname {\simpleiconsmap\symbol{"ED4C}}
+ \expandafter\def\csname simpleicon@embarcaderoicon\endcsname {\simpleiconsmap\symbol{"ED4D}}
+ \expandafter\def\csname simpleicon@embarkicon\endcsname {\simpleiconsmap\symbol{"ED4E}}
+ \expandafter\def\csname simpleicon@emberdotjsicon\endcsname {\simpleiconsmap\symbol{"ED4F}}
+ \expandafter\def\csname simpleicon@embyicon\endcsname {\simpleiconsmap\symbol{"ED50}}
+ \expandafter\def\csname simpleicon@emiratesicon\endcsname {\simpleiconsmap\symbol{"ED51}}
+ \expandafter\def\csname simpleicon@emlakjeticon\endcsname {\simpleiconsmap\symbol{"ED52}}
+ \expandafter\def\csname simpleicon@empirekredicon\endcsname {\simpleiconsmap\symbol{"ED53}}
+ \expandafter\def\csname simpleicon@endeavourosicon\endcsname {\simpleiconsmap\symbol{"ED54}}
+ \expandafter\def\csname simpleicon@engadgeticon\endcsname {\simpleiconsmap\symbol{"ED55}}
+ \expandafter\def\csname simpleicon@enpassicon\endcsname {\simpleiconsmap\symbol{"ED56}}
+ \expandafter\def\csname simpleicon@enterprisedbicon\endcsname {\simpleiconsmap\symbol{"ED57}}
+ \expandafter\def\csname simpleicon@envatoicon\endcsname {\simpleiconsmap\symbol{"ED58}}
+ \expandafter\def\csname simpleicon@envoyproxyicon\endcsname {\simpleiconsmap\symbol{"ED59}}
+ \expandafter\def\csname simpleicon@epelicon\endcsname {\simpleiconsmap\symbol{"ED5A}}
+ \expandafter\def\csname simpleicon@epicgamesicon\endcsname {\simpleiconsmap\symbol{"ED5B}}
+ \expandafter\def\csname simpleicon@epsonicon\endcsname {\simpleiconsmap\symbol{"ED5C}}
+ \expandafter\def\csname simpleicon@equinixmetalicon\endcsname {\simpleiconsmap\symbol{"ED5D}}
+ \expandafter\def\csname simpleicon@erasericon\endcsname {\simpleiconsmap\symbol{"ED5E}}
+ \expandafter\def\csname simpleicon@ericssonicon\endcsname {\simpleiconsmap\symbol{"ED5F}}
+ \expandafter\def\csname simpleicon@erlangicon\endcsname {\simpleiconsmap\symbol{"ED60}}
+ \expandafter\def\csname simpleicon@erpnexticon\endcsname {\simpleiconsmap\symbol{"ED61}}
+ \expandafter\def\csname simpleicon@esbuildicon\endcsname {\simpleiconsmap\symbol{"ED62}}
+ \expandafter\def\csname simpleicon@eseaicon\endcsname {\simpleiconsmap\symbol{"ED63}}
+ \expandafter\def\csname simpleicon@eslgamingicon\endcsname {\simpleiconsmap\symbol{"ED64}}
+ \expandafter\def\csname simpleicon@eslinticon\endcsname {\simpleiconsmap\symbol{"ED65}}
+ \expandafter\def\csname simpleicon@esotericsoftwareicon\endcsname {\simpleiconsmap\symbol{"ED66}}
+ \expandafter\def\csname simpleicon@esphomeicon\endcsname {\simpleiconsmap\symbol{"ED67}}
+ \expandafter\def\csname simpleicon@espressificon\endcsname {\simpleiconsmap\symbol{"ED68}}
+ \expandafter\def\csname simpleicon@esriicon\endcsname {\simpleiconsmap\symbol{"ED69}}
+ \expandafter\def\csname simpleicon@etcdicon\endcsname {\simpleiconsmap\symbol{"ED6A}}
+ \expandafter\def\csname simpleicon@ethereumicon\endcsname {\simpleiconsmap\symbol{"ED6B}}
+ \expandafter\def\csname simpleicon@ethersicon\endcsname {\simpleiconsmap\symbol{"ED6C}}
+ \expandafter\def\csname simpleicon@ethiopianairlinesicon\endcsname {\simpleiconsmap\symbol{"ED6D}}
+ \expandafter\def\csname simpleicon@etihadairwaysicon\endcsname {\simpleiconsmap\symbol{"ED6E}}
+ \expandafter\def\csname simpleicon@etsyicon\endcsname {\simpleiconsmap\symbol{"ED6F}}
+ \expandafter\def\csname simpleicon@eventbriteicon\endcsname {\simpleiconsmap\symbol{"ED70}}
+ \expandafter\def\csname simpleicon@eventstoreicon\endcsname {\simpleiconsmap\symbol{"ED71}}
+ \expandafter\def\csname simpleicon@evernoteicon\endcsname {\simpleiconsmap\symbol{"ED72}}
+ \expandafter\def\csname simpleicon@excalidrawicon\endcsname {\simpleiconsmap\symbol{"ED73}}
+ \expandafter\def\csname simpleicon@exercismicon\endcsname {\simpleiconsmap\symbol{"ED74}}
+ \expandafter\def\csname simpleicon@exordoicon\endcsname {\simpleiconsmap\symbol{"ED75}}
+ \expandafter\def\csname simpleicon@exoscaleicon\endcsname {\simpleiconsmap\symbol{"ED76}}
+ \expandafter\def\csname simpleicon@expediaicon\endcsname {\simpleiconsmap\symbol{"ED77}}
+ \expandafter\def\csname simpleicon@expensifyicon\endcsname {\simpleiconsmap\symbol{"ED78}}
+ \expandafter\def\csname simpleicon@expertsexchangeicon\endcsname {\simpleiconsmap\symbol{"ED79}}
+ \expandafter\def\csname simpleicon@expoicon\endcsname {\simpleiconsmap\symbol{"ED7A}}
+ \expandafter\def\csname simpleicon@expressicon\endcsname {\simpleiconsmap\symbol{"ED7B}}
+ \expandafter\def\csname simpleicon@expressvpnicon\endcsname {\simpleiconsmap\symbol{"ED7C}}
+ \expandafter\def\csname simpleicon@eyeemicon\endcsname {\simpleiconsmap\symbol{"ED7D}}
+ \expandafter\def\csname simpleicon@f1icon\endcsname {\simpleiconsmap\symbol{"ED7E}}
+ \expandafter\def\csname simpleicon@f5icon\endcsname {\simpleiconsmap\symbol{"ED7F}}
+ \expandafter\def\csname simpleicon@facebookicon\endcsname {\simpleiconsmap\symbol{"ED80}}
+ \expandafter\def\csname simpleicon@facebookgamingicon\endcsname {\simpleiconsmap\symbol{"ED81}}
+ \expandafter\def\csname simpleicon@facebookliveicon\endcsname {\simpleiconsmap\symbol{"ED82}}
+ \expandafter\def\csname simpleicon@faceiticon\endcsname {\simpleiconsmap\symbol{"ED83}}
+ \expandafter\def\csname simpleicon@facepunchicon\endcsname {\simpleiconsmap\symbol{"ED84}}
+ \expandafter\def\csname simpleicon@fairphoneicon\endcsname {\simpleiconsmap\symbol{"ED85}}
+ \expandafter\def\csname simpleicon@falcoicon\endcsname {\simpleiconsmap\symbol{"ED86}}
+ \expandafter\def\csname simpleicon@falconicon\endcsname {\simpleiconsmap\symbol{"ED87}}
+ \expandafter\def\csname simpleicon@fampayicon\endcsname {\simpleiconsmap\symbol{"ED88}}
+ \expandafter\def\csname simpleicon@fandangoicon\endcsname {\simpleiconsmap\symbol{"ED89}}
+ \expandafter\def\csname simpleicon@fandomicon\endcsname {\simpleiconsmap\symbol{"ED8A}}
+ \expandafter\def\csname simpleicon@fanfouicon\endcsname {\simpleiconsmap\symbol{"ED8B}}
+ \expandafter\def\csname simpleicon@fantomicon\endcsname {\simpleiconsmap\symbol{"ED8C}}
+ \expandafter\def\csname simpleicon@farcastericon\endcsname {\simpleiconsmap\symbol{"ED8D}}
+ \expandafter\def\csname simpleicon@fareharboricon\endcsname {\simpleiconsmap\symbol{"ED8E}}
+ \expandafter\def\csname simpleicon@farfetchicon\endcsname {\simpleiconsmap\symbol{"ED8F}}
+ \expandafter\def\csname simpleicon@fastapiicon\endcsname {\simpleiconsmap\symbol{"ED90}}
+ \expandafter\def\csname simpleicon@fastifyicon\endcsname {\simpleiconsmap\symbol{"ED91}}
+ \expandafter\def\csname simpleicon@fastlaneicon\endcsname {\simpleiconsmap\symbol{"ED92}}
+ \expandafter\def\csname simpleicon@fastlyicon\endcsname {\simpleiconsmap\symbol{"ED93}}
+ \expandafter\def\csname simpleicon@fathomicon\endcsname {\simpleiconsmap\symbol{"ED94}}
+ \expandafter\def\csname simpleicon@faunaicon\endcsname {\simpleiconsmap\symbol{"ED95}}
+ \expandafter\def\csname simpleicon@favroicon\endcsname {\simpleiconsmap\symbol{"ED96}}
+ \expandafter\def\csname simpleicon@fdroidicon\endcsname {\simpleiconsmap\symbol{"ED97}}
+ \expandafter\def\csname simpleicon@feathubicon\endcsname {\simpleiconsmap\symbol{"ED98}}
+ \expandafter\def\csname simpleicon@fedexicon\endcsname {\simpleiconsmap\symbol{"ED99}}
+ \expandafter\def\csname simpleicon@fedoraicon\endcsname {\simpleiconsmap\symbol{"ED9A}}
+ \expandafter\def\csname simpleicon@feedlyicon\endcsname {\simpleiconsmap\symbol{"ED9B}}
+ \expandafter\def\csname simpleicon@ferrariicon\endcsname {\simpleiconsmap\symbol{"ED9C}}
+ \expandafter\def\csname simpleicon@ferrarinvicon\endcsname {\simpleiconsmap\symbol{"ED9D}}
+ \expandafter\def\csname simpleicon@ferretdbicon\endcsname {\simpleiconsmap\symbol{"ED9E}}
+ \expandafter\def\csname simpleicon@ffmpegicon\endcsname {\simpleiconsmap\symbol{"ED9F}}
+ \expandafter\def\csname simpleicon@fiicon\endcsname {\simpleiconsmap\symbol{"EDA0}}
+ \expandafter\def\csname simpleicon@fiaticon\endcsname {\simpleiconsmap\symbol{"EDA1}}
+ \expandafter\def\csname simpleicon@fidoallianceicon\endcsname {\simpleiconsmap\symbol{"EDA2}}
+ \expandafter\def\csname simpleicon@fifaicon\endcsname {\simpleiconsmap\symbol{"EDA3}}
+ \expandafter\def\csname simpleicon@figicon\endcsname {\simpleiconsmap\symbol{"EDA4}}
+ \expandafter\def\csname simpleicon@figmaicon\endcsname {\simpleiconsmap\symbol{"EDA5}}
+ \expandafter\def\csname simpleicon@figshareicon\endcsname {\simpleiconsmap\symbol{"EDA6}}
+ \expandafter\def\csname simpleicon@filaicon\endcsname {\simpleiconsmap\symbol{"EDA7}}
+ \expandafter\def\csname simpleicon@filedotioicon\endcsname {\simpleiconsmap\symbol{"EDA8}}
+ \expandafter\def\csname simpleicon@filesicon\endcsname {\simpleiconsmap\symbol{"EDA9}}
+ \expandafter\def\csname simpleicon@filezillaicon\endcsname {\simpleiconsmap\symbol{"EDAA}}
+ \expandafter\def\csname simpleicon@finecoicon\endcsname {\simpleiconsmap\symbol{"EDAB}}
+ \expandafter\def\csname simpleicon@fingicon\endcsname {\simpleiconsmap\symbol{"EDAC}}
+ \expandafter\def\csname simpleicon@firebaseicon\endcsname {\simpleiconsmap\symbol{"EDAD}}
+ \expandafter\def\csname simpleicon@firefishicon\endcsname {\simpleiconsmap\symbol{"EDAE}}
+ \expandafter\def\csname simpleicon@fireflyiiiicon\endcsname {\simpleiconsmap\symbol{"EDAF}}
+ \expandafter\def\csname simpleicon@firefoxicon\endcsname {\simpleiconsmap\symbol{"EDB0}}
+ \expandafter\def\csname simpleicon@firefoxbrowsericon\endcsname {\simpleiconsmap\symbol{"EDB1}}
+ \expandafter\def\csname simpleicon@fireshipicon\endcsname {\simpleiconsmap\symbol{"EDB2}}
+ \expandafter\def\csname simpleicon@firewallaicon\endcsname {\simpleiconsmap\symbol{"EDB3}}
+ \expandafter\def\csname simpleicon@firsticon\endcsname {\simpleiconsmap\symbol{"EDB4}}
+ \expandafter\def\csname simpleicon@fishshellicon\endcsname {\simpleiconsmap\symbol{"EDB5}}
+ \expandafter\def\csname simpleicon@fitbiticon\endcsname {\simpleiconsmap\symbol{"EDB6}}
+ \expandafter\def\csname simpleicon@fivemicon\endcsname {\simpleiconsmap\symbol{"EDB7}}
+ \expandafter\def\csname simpleicon@fiverricon\endcsname {\simpleiconsmap\symbol{"EDB8}}
+ \expandafter\def\csname simpleicon@fizzicon\endcsname {\simpleiconsmap\symbol{"EDB9}}
+ \expandafter\def\csname simpleicon@flashforgeicon\endcsname {\simpleiconsmap\symbol{"EDBA}}
+ \expandafter\def\csname simpleicon@flaskicon\endcsname {\simpleiconsmap\symbol{"EDBB}}
+ \expandafter\def\csname simpleicon@flaticon\endcsname {\simpleiconsmap\symbol{"EDBC}}
+ \expandafter\def\csname simpleicon@flathubicon\endcsname {\simpleiconsmap\symbol{"EDBD}}
+ \expandafter\def\csname simpleicon@flatpakicon\endcsname {\simpleiconsmap\symbol{"EDBE}}
+ \expandafter\def\csname simpleicon@flickricon\endcsname {\simpleiconsmap\symbol{"EDBF}}
+ \expandafter\def\csname simpleicon@flightawareicon\endcsname {\simpleiconsmap\symbol{"EDC0}}
+ \expandafter\def\csname simpleicon@flipboardicon\endcsname {\simpleiconsmap\symbol{"EDC1}}
+ \expandafter\def\csname simpleicon@flipkarticon\endcsname {\simpleiconsmap\symbol{"EDC2}}
+ \expandafter\def\csname simpleicon@floatplaneicon\endcsname {\simpleiconsmap\symbol{"EDC3}}
+ \expandafter\def\csname simpleicon@floodicon\endcsname {\simpleiconsmap\symbol{"EDC4}}
+ \expandafter\def\csname simpleicon@fluentbiticon\endcsname {\simpleiconsmap\symbol{"EDC5}}
+ \expandafter\def\csname simpleicon@fluentdicon\endcsname {\simpleiconsmap\symbol{"EDC6}}
+ \expandafter\def\csname simpleicon@flukeicon\endcsname {\simpleiconsmap\symbol{"EDC7}}
+ \expandafter\def\csname simpleicon@fluttericon\endcsname {\simpleiconsmap\symbol{"EDC8}}
+ \expandafter\def\csname simpleicon@fluxicon\endcsname {\simpleiconsmap\symbol{"EDC9}}
+ \expandafter\def\csname simpleicon@fluxusicon\endcsname {\simpleiconsmap\symbol{"EDCA}}
+ \expandafter\def\csname simpleicon@flywayicon\endcsname {\simpleiconsmap\symbol{"EDCB}}
+ \expandafter\def\csname simpleicon@fmodicon\endcsname {\simpleiconsmap\symbol{"EDCC}}
+ \expandafter\def\csname simpleicon@fnacicon\endcsname {\simpleiconsmap\symbol{"EDCD}}
+ \expandafter\def\csname simpleicon@foliumicon\endcsname {\simpleiconsmap\symbol{"EDCE}}
+ \expandafter\def\csname simpleicon@fonomaicon\endcsname {\simpleiconsmap\symbol{"EDCF}}
+ \expandafter\def\csname simpleicon@fontawesomeicon\endcsname {\simpleiconsmap\symbol{"EDD0}}
+ \expandafter\def\csname simpleicon@fontbaseicon\endcsname {\simpleiconsmap\symbol{"EDD1}}
+ \expandafter\def\csname simpleicon@fontforgeicon\endcsname {\simpleiconsmap\symbol{"EDD2}}
+ \expandafter\def\csname simpleicon@foobar2000icon\endcsname {\simpleiconsmap\symbol{"EDD3}}
+ \expandafter\def\csname simpleicon@foodpandaicon\endcsname {\simpleiconsmap\symbol{"EDD4}}
+ \expandafter\def\csname simpleicon@fordicon\endcsname {\simpleiconsmap\symbol{"EDD5}}
+ \expandafter\def\csname simpleicon@forgejoicon\endcsname {\simpleiconsmap\symbol{"EDD6}}
+ \expandafter\def\csname simpleicon@formikicon\endcsname {\simpleiconsmap\symbol{"EDD7}}
+ \expandafter\def\csname simpleicon@formspreeicon\endcsname {\simpleiconsmap\symbol{"EDD8}}
+ \expandafter\def\csname simpleicon@formstackicon\endcsname {\simpleiconsmap\symbol{"EDD9}}
+ \expandafter\def\csname simpleicon@fortineticon\endcsname {\simpleiconsmap\symbol{"EDDA}}
+ \expandafter\def\csname simpleicon@fortranicon\endcsname {\simpleiconsmap\symbol{"EDDB}}
+ \expandafter\def\csname simpleicon@fossaicon\endcsname {\simpleiconsmap\symbol{"EDDC}}
+ \expandafter\def\csname simpleicon@fossilscmicon\endcsname {\simpleiconsmap\symbol{"EDDD}}
+ \expandafter\def\csname simpleicon@foundryvirtualtabletopicon\endcsname {\simpleiconsmap\symbol{"EDDE}}
+ \expandafter\def\csname simpleicon@foursquareicon\endcsname {\simpleiconsmap\symbol{"EDDF}}
+ \expandafter\def\csname simpleicon@foursquarecityguideicon\endcsname {\simpleiconsmap\symbol{"EDE0}}
+ \expandafter\def\csname simpleicon@foxicon\endcsname {\simpleiconsmap\symbol{"EDE1}}
+ \expandafter\def\csname simpleicon@foxtelicon\endcsname {\simpleiconsmap\symbol{"EDE2}}
+ \expandafter\def\csname simpleicon@fozzyicon\endcsname {\simpleiconsmap\symbol{"EDE3}}
+ \expandafter\def\csname simpleicon@framericon\endcsname {\simpleiconsmap\symbol{"EDE4}}
+ \expandafter\def\csname simpleicon@frameworkicon\endcsname {\simpleiconsmap\symbol{"EDE5}}
+ \expandafter\def\csname simpleicon@framework7icon\endcsname {\simpleiconsmap\symbol{"EDE6}}
+ \expandafter\def\csname simpleicon@franprixicon\endcsname {\simpleiconsmap\symbol{"EDE7}}
+ \expandafter\def\csname simpleicon@frappeicon\endcsname {\simpleiconsmap\symbol{"EDE8}}
+ \expandafter\def\csname simpleicon@fraunhofergesellschafticon\endcsname {\simpleiconsmap\symbol{"EDE9}}
+ \expandafter\def\csname simpleicon@freebsdicon\endcsname {\simpleiconsmap\symbol{"EDEA}}
+ \expandafter\def\csname simpleicon@freecadicon\endcsname {\simpleiconsmap\symbol{"EDEB}}
+ \expandafter\def\csname simpleicon@freecodecampicon\endcsname {\simpleiconsmap\symbol{"EDEC}}
+ \expandafter\def\csname simpleicon@freedesktopdotorgicon\endcsname {\simpleiconsmap\symbol{"EDED}}
+ \expandafter\def\csname simpleicon@freelancericon\endcsname {\simpleiconsmap\symbol{"EDEE}}
+ \expandafter\def\csname simpleicon@freelancermapicon\endcsname {\simpleiconsmap\symbol{"EDEF}}
+ \expandafter\def\csname simpleicon@freenasicon\endcsname {\simpleiconsmap\symbol{"EDF0}}
+ \expandafter\def\csname simpleicon@freepikicon\endcsname {\simpleiconsmap\symbol{"EDF1}}
+ \expandafter\def\csname simpleicon@frontendmentoricon\endcsname {\simpleiconsmap\symbol{"EDF2}}
+ \expandafter\def\csname simpleicon@frontifyicon\endcsname {\simpleiconsmap\symbol{"EDF3}}
+ \expandafter\def\csname simpleicon@fsecureicon\endcsname {\simpleiconsmap\symbol{"EDF4}}
+ \expandafter\def\csname simpleicon@fsharpicon\endcsname {\simpleiconsmap\symbol{"EDF5}}
+ \expandafter\def\csname simpleicon@fuboicon\endcsname {\simpleiconsmap\symbol{"EDF6}}
+ \expandafter\def\csname simpleicon@fuelericon\endcsname {\simpleiconsmap\symbol{"EDF7}}
+ \expandafter\def\csname simpleicon@fugacloudicon\endcsname {\simpleiconsmap\symbol{"EDF8}}
+ \expandafter\def\csname simpleicon@fujifilmicon\endcsname {\simpleiconsmap\symbol{"EDF9}}
+ \expandafter\def\csname simpleicon@fujitsuicon\endcsname {\simpleiconsmap\symbol{"EDFA}}
+ \expandafter\def\csname simpleicon@funimationicon\endcsname {\simpleiconsmap\symbol{"EDFB}}
+ \expandafter\def\csname simpleicon@furaffinityicon\endcsname {\simpleiconsmap\symbol{"EDFC}}
+ \expandafter\def\csname simpleicon@furrynetworkicon\endcsname {\simpleiconsmap\symbol{"EDFD}}
+ \expandafter\def\csname simpleicon@fusionauthicon\endcsname {\simpleiconsmap\symbol{"EDFE}}
+ \expandafter\def\csname simpleicon@futurelearnicon\endcsname {\simpleiconsmap\symbol{"EDFF}}
+ \expandafter\def\csname simpleicon@g2icon\endcsname {\simpleiconsmap\symbol{"EE00}}
+ \expandafter\def\csname simpleicon@g2aicon\endcsname {\simpleiconsmap\symbol{"EE01}}
+ \expandafter\def\csname simpleicon@g2gicon\endcsname {\simpleiconsmap\symbol{"EE02}}
+ \expandafter\def\csname simpleicon@galaxusicon\endcsname {\simpleiconsmap\symbol{"EE03}}
+ \expandafter\def\csname simpleicon@gameandwatchicon\endcsname {\simpleiconsmap\symbol{"EE04}}
+ \expandafter\def\csname simpleicon@gamebananaicon\endcsname {\simpleiconsmap\symbol{"EE05}}
+ \expandafter\def\csname simpleicon@gamedevelopericon\endcsname {\simpleiconsmap\symbol{"EE06}}
+ \expandafter\def\csname simpleicon@gamejolticon\endcsname {\simpleiconsmap\symbol{"EE07}}
+ \expandafter\def\csname simpleicon@gamelofticon\endcsname {\simpleiconsmap\symbol{"EE08}}
+ \expandafter\def\csname simpleicon@gamemakericon\endcsname {\simpleiconsmap\symbol{"EE09}}
+ \expandafter\def\csname simpleicon@garminicon\endcsname {\simpleiconsmap\symbol{"EE0A}}
+ \expandafter\def\csname simpleicon@gatlingicon\endcsname {\simpleiconsmap\symbol{"EE0B}}
+ \expandafter\def\csname simpleicon@gatsbyicon\endcsname {\simpleiconsmap\symbol{"EE0C}}
+ \expandafter\def\csname simpleicon@gcoreicon\endcsname {\simpleiconsmap\symbol{"EE0D}}
+ \expandafter\def\csname simpleicon@gdalicon\endcsname {\simpleiconsmap\symbol{"EE0E}}
+ \expandafter\def\csname simpleicon@geanticon\endcsname {\simpleiconsmap\symbol{"EE0F}}
+ \expandafter\def\csname simpleicon@geeksforgeeksicon\endcsname {\simpleiconsmap\symbol{"EE10}}
+ \expandafter\def\csname simpleicon@generalelectricicon\endcsname {\simpleiconsmap\symbol{"EE11}}
+ \expandafter\def\csname simpleicon@generalmotorsicon\endcsname {\simpleiconsmap\symbol{"EE12}}
+ \expandafter\def\csname simpleicon@geniusicon\endcsname {\simpleiconsmap\symbol{"EE13}}
+ \expandafter\def\csname simpleicon@gentooicon\endcsname {\simpleiconsmap\symbol{"EE14}}
+ \expandafter\def\csname simpleicon@geocachingicon\endcsname {\simpleiconsmap\symbol{"EE15}}
+ \expandafter\def\csname simpleicon@geodeicon\endcsname {\simpleiconsmap\symbol{"EE16}}
+ \expandafter\def\csname simpleicon@geopandasicon\endcsname {\simpleiconsmap\symbol{"EE17}}
+ \expandafter\def\csname simpleicon@gerriticon\endcsname {\simpleiconsmap\symbol{"EE18}}
+ \expandafter\def\csname simpleicon@getxicon\endcsname {\simpleiconsmap\symbol{"EE19}}
+ \expandafter\def\csname simpleicon@ghosticon\endcsname {\simpleiconsmap\symbol{"EE1A}}
+ \expandafter\def\csname simpleicon@ghosteryicon\endcsname {\simpleiconsmap\symbol{"EE1B}}
+ \expandafter\def\csname simpleicon@gimpicon\endcsname {\simpleiconsmap\symbol{"EE1C}}
+ \expandafter\def\csname simpleicon@ginicon\endcsname {\simpleiconsmap\symbol{"EE1D}}
+ \expandafter\def\csname simpleicon@giphyicon\endcsname {\simpleiconsmap\symbol{"EE1E}}
+ \expandafter\def\csname simpleicon@giticon\endcsname {\simpleiconsmap\symbol{"EE1F}}
+ \expandafter\def\csname simpleicon@gitbookicon\endcsname {\simpleiconsmap\symbol{"EE20}}
+ \expandafter\def\csname simpleicon@gitconnectedicon\endcsname {\simpleiconsmap\symbol{"EE21}}
+ \expandafter\def\csname simpleicon@giteaicon\endcsname {\simpleiconsmap\symbol{"EE22}}
+ \expandafter\def\csname simpleicon@giteeicon\endcsname {\simpleiconsmap\symbol{"EE23}}
+ \expandafter\def\csname simpleicon@gitextensionsicon\endcsname {\simpleiconsmap\symbol{"EE24}}
+ \expandafter\def\csname simpleicon@gitforwindowsicon\endcsname {\simpleiconsmap\symbol{"EE25}}
+ \expandafter\def\csname simpleicon@githubicon\endcsname {\simpleiconsmap\symbol{"EE26}}
+ \expandafter\def\csname simpleicon@githubactionsicon\endcsname {\simpleiconsmap\symbol{"EE27}}
+ \expandafter\def\csname simpleicon@githubcopiloticon\endcsname {\simpleiconsmap\symbol{"EE28}}
+ \expandafter\def\csname simpleicon@githubpagesicon\endcsname {\simpleiconsmap\symbol{"EE29}}
+ \expandafter\def\csname simpleicon@githubsponsorsicon\endcsname {\simpleiconsmap\symbol{"EE2A}}
+ \expandafter\def\csname simpleicon@gitignoredotioicon\endcsname {\simpleiconsmap\symbol{"EE2B}}
+ \expandafter\def\csname simpleicon@gitkrakenicon\endcsname {\simpleiconsmap\symbol{"EE2C}}
+ \expandafter\def\csname simpleicon@gitlabicon\endcsname {\simpleiconsmap\symbol{"EE2D}}
+ \expandafter\def\csname simpleicon@gitlfsicon\endcsname {\simpleiconsmap\symbol{"EE2E}}
+ \expandafter\def\csname simpleicon@gitpodicon\endcsname {\simpleiconsmap\symbol{"EE2F}}
+ \expandafter\def\csname simpleicon@gittericon\endcsname {\simpleiconsmap\symbol{"EE30}}
+ \expandafter\def\csname simpleicon@glassdooricon\endcsname {\simpleiconsmap\symbol{"EE31}}
+ \expandafter\def\csname simpleicon@glideicon\endcsname {\simpleiconsmap\symbol{"EE32}}
+ \expandafter\def\csname simpleicon@glitchicon\endcsname {\simpleiconsmap\symbol{"EE33}}
+ \expandafter\def\csname simpleicon@globusicon\endcsname {\simpleiconsmap\symbol{"EE34}}
+ \expandafter\def\csname simpleicon@glovoicon\endcsname {\simpleiconsmap\symbol{"EE35}}
+ \expandafter\def\csname simpleicon@gmailicon\endcsname {\simpleiconsmap\symbol{"EE36}}
+ \expandafter\def\csname simpleicon@gnomeicon\endcsname {\simpleiconsmap\symbol{"EE37}}
+ \expandafter\def\csname simpleicon@gnometerminalicon\endcsname {\simpleiconsmap\symbol{"EE38}}
+ \expandafter\def\csname simpleicon@gnuicon\endcsname {\simpleiconsmap\symbol{"EE39}}
+ \expandafter\def\csname simpleicon@gnubashicon\endcsname {\simpleiconsmap\symbol{"EE3A}}
+ \expandafter\def\csname simpleicon@gnuemacsicon\endcsname {\simpleiconsmap\symbol{"EE3B}}
+ \expandafter\def\csname simpleicon@gnuicecaticon\endcsname {\simpleiconsmap\symbol{"EE3C}}
+ \expandafter\def\csname simpleicon@gnuprivacyguardicon\endcsname {\simpleiconsmap\symbol{"EE3D}}
+ \expandafter\def\csname simpleicon@gnusocialicon\endcsname {\simpleiconsmap\symbol{"EE3E}}
+ \expandafter\def\csname simpleicon@goicon\endcsname {\simpleiconsmap\symbol{"EE3F}}
+ \expandafter\def\csname simpleicon@gocdicon\endcsname {\simpleiconsmap\symbol{"EE40}}
+ \expandafter\def\csname simpleicon@godaddyicon\endcsname {\simpleiconsmap\symbol{"EE41}}
+ \expandafter\def\csname simpleicon@godotengineicon\endcsname {\simpleiconsmap\symbol{"EE42}}
+ \expandafter\def\csname simpleicon@gofundmeicon\endcsname {\simpleiconsmap\symbol{"EE43}}
+ \expandafter\def\csname simpleicon@gogdotcomicon\endcsname {\simpleiconsmap\symbol{"EE44}}
+ \expandafter\def\csname simpleicon@gojekicon\endcsname {\simpleiconsmap\symbol{"EE45}}
+ \expandafter\def\csname simpleicon@golandicon\endcsname {\simpleiconsmap\symbol{"EE46}}
+ \expandafter\def\csname simpleicon@goldenlineicon\endcsname {\simpleiconsmap\symbol{"EE47}}
+ \expandafter\def\csname simpleicon@goldmansachsicon\endcsname {\simpleiconsmap\symbol{"EE48}}
+ \expandafter\def\csname simpleicon@goodreadsicon\endcsname {\simpleiconsmap\symbol{"EE49}}
+ \expandafter\def\csname simpleicon@googleicon\endcsname {\simpleiconsmap\symbol{"EE4A}}
+ \expandafter\def\csname simpleicon@googleadmobicon\endcsname {\simpleiconsmap\symbol{"EE4B}}
+ \expandafter\def\csname simpleicon@googleadsicon\endcsname {\simpleiconsmap\symbol{"EE4C}}
+ \expandafter\def\csname simpleicon@googleadsenseicon\endcsname {\simpleiconsmap\symbol{"EE4D}}
+ \expandafter\def\csname simpleicon@googleanalyticsicon\endcsname {\simpleiconsmap\symbol{"EE4E}}
+ \expandafter\def\csname simpleicon@googleappsscripticon\endcsname {\simpleiconsmap\symbol{"EE4F}}
+ \expandafter\def\csname simpleicon@googleassistanticon\endcsname {\simpleiconsmap\symbol{"EE50}}
+ \expandafter\def\csname simpleicon@googleauthenticatoricon\endcsname {\simpleiconsmap\symbol{"EE51}}
+ \expandafter\def\csname simpleicon@googlebigqueryicon\endcsname {\simpleiconsmap\symbol{"EE52}}
+ \expandafter\def\csname simpleicon@googlebigtableicon\endcsname {\simpleiconsmap\symbol{"EE53}}
+ \expandafter\def\csname simpleicon@googlecalendaricon\endcsname {\simpleiconsmap\symbol{"EE54}}
+ \expandafter\def\csname simpleicon@googlecampaignmanager360icon\endcsname {\simpleiconsmap\symbol{"EE55}}
+ \expandafter\def\csname simpleicon@googlecardboardicon\endcsname {\simpleiconsmap\symbol{"EE56}}
+ \expandafter\def\csname simpleicon@googlechaticon\endcsname {\simpleiconsmap\symbol{"EE57}}
+ \expandafter\def\csname simpleicon@googlechromeicon\endcsname {\simpleiconsmap\symbol{"EE58}}
+ \expandafter\def\csname simpleicon@googlechronicleicon\endcsname {\simpleiconsmap\symbol{"EE59}}
+ \expandafter\def\csname simpleicon@googleclassroomicon\endcsname {\simpleiconsmap\symbol{"EE5A}}
+ \expandafter\def\csname simpleicon@googlecloudicon\endcsname {\simpleiconsmap\symbol{"EE5B}}
+ \expandafter\def\csname simpleicon@googlecloudcomposericon\endcsname {\simpleiconsmap\symbol{"EE5C}}
+ \expandafter\def\csname simpleicon@googlecloudspannericon\endcsname {\simpleiconsmap\symbol{"EE5D}}
+ \expandafter\def\csname simpleicon@googlecloudstorageicon\endcsname {\simpleiconsmap\symbol{"EE5E}}
+ \expandafter\def\csname simpleicon@googlecolabicon\endcsname {\simpleiconsmap\symbol{"EE5F}}
+ \expandafter\def\csname simpleicon@googlecontaineroptimizedosicon\endcsname {\simpleiconsmap\symbol{"EE60}}
+ \expandafter\def\csname simpleicon@googledataflowicon\endcsname {\simpleiconsmap\symbol{"EE61}}
+ \expandafter\def\csname simpleicon@googledataprocicon\endcsname {\simpleiconsmap\symbol{"EE62}}
+ \expandafter\def\csname simpleicon@googledatastudioicon\endcsname {\simpleiconsmap\symbol{"EE63}}
+ \expandafter\def\csname simpleicon@googledisplayandvideo360icon\endcsname {\simpleiconsmap\symbol{"EE64}}
+ \expandafter\def\csname simpleicon@googledocsicon\endcsname {\simpleiconsmap\symbol{"EE65}}
+ \expandafter\def\csname simpleicon@googledriveicon\endcsname {\simpleiconsmap\symbol{"EE66}}
+ \expandafter\def\csname simpleicon@googleearthicon\endcsname {\simpleiconsmap\symbol{"EE67}}
+ \expandafter\def\csname simpleicon@googleearthengineicon\endcsname {\simpleiconsmap\symbol{"EE68}}
+ \expandafter\def\csname simpleicon@googlefiticon\endcsname {\simpleiconsmap\symbol{"EE69}}
+ \expandafter\def\csname simpleicon@googlefontsicon\endcsname {\simpleiconsmap\symbol{"EE6A}}
+ \expandafter\def\csname simpleicon@googleformsicon\endcsname {\simpleiconsmap\symbol{"EE6B}}
+ \expandafter\def\csname simpleicon@googlegeminiicon\endcsname {\simpleiconsmap\symbol{"EE6C}}
+ \expandafter\def\csname simpleicon@googlehomeicon\endcsname {\simpleiconsmap\symbol{"EE6D}}
+ \expandafter\def\csname simpleicon@googlekeepicon\endcsname {\simpleiconsmap\symbol{"EE6E}}
+ \expandafter\def\csname simpleicon@googlelensicon\endcsname {\simpleiconsmap\symbol{"EE6F}}
+ \expandafter\def\csname simpleicon@googlemapsicon\endcsname {\simpleiconsmap\symbol{"EE70}}
+ \expandafter\def\csname simpleicon@googlemarketingplatformicon\endcsname {\simpleiconsmap\symbol{"EE71}}
+ \expandafter\def\csname simpleicon@googlemeeticon\endcsname {\simpleiconsmap\symbol{"EE72}}
+ \expandafter\def\csname simpleicon@googlemessagesicon\endcsname {\simpleiconsmap\symbol{"EE73}}
+ \expandafter\def\csname simpleicon@googlenearbyicon\endcsname {\simpleiconsmap\symbol{"EE74}}
+ \expandafter\def\csname simpleicon@googlenewsicon\endcsname {\simpleiconsmap\symbol{"EE75}}
+ \expandafter\def\csname simpleicon@googlepayicon\endcsname {\simpleiconsmap\symbol{"EE76}}
+ \expandafter\def\csname simpleicon@googlephotosicon\endcsname {\simpleiconsmap\symbol{"EE77}}
+ \expandafter\def\csname simpleicon@googleplayicon\endcsname {\simpleiconsmap\symbol{"EE78}}
+ \expandafter\def\csname simpleicon@googlepubsubicon\endcsname {\simpleiconsmap\symbol{"EE79}}
+ \expandafter\def\csname simpleicon@googlescholaricon\endcsname {\simpleiconsmap\symbol{"EE7A}}
+ \expandafter\def\csname simpleicon@googlesearchconsoleicon\endcsname {\simpleiconsmap\symbol{"EE7B}}
+ \expandafter\def\csname simpleicon@googlesheetsicon\endcsname {\simpleiconsmap\symbol{"EE7C}}
+ \expandafter\def\csname simpleicon@googleslidesicon\endcsname {\simpleiconsmap\symbol{"EE7D}}
+ \expandafter\def\csname simpleicon@googlestreetviewicon\endcsname {\simpleiconsmap\symbol{"EE7E}}
+ \expandafter\def\csname simpleicon@googletagmanagericon\endcsname {\simpleiconsmap\symbol{"EE7F}}
+ \expandafter\def\csname simpleicon@googletasksicon\endcsname {\simpleiconsmap\symbol{"EE80}}
+ \expandafter\def\csname simpleicon@googletranslateicon\endcsname {\simpleiconsmap\symbol{"EE81}}
+ \expandafter\def\csname simpleicon@gotomeetingicon\endcsname {\simpleiconsmap\symbol{"EE82}}
+ \expandafter\def\csname simpleicon@grabicon\endcsname {\simpleiconsmap\symbol{"EE83}}
+ \expandafter\def\csname simpleicon@gradleicon\endcsname {\simpleiconsmap\symbol{"EE84}}
+ \expandafter\def\csname simpleicon@gradleplaypublishericon\endcsname {\simpleiconsmap\symbol{"EE85}}
+ \expandafter\def\csname simpleicon@grafanaicon\endcsname {\simpleiconsmap\symbol{"EE86}}
+ \expandafter\def\csname simpleicon@grammarlyicon\endcsname {\simpleiconsmap\symbol{"EE87}}
+ \expandafter\def\csname simpleicon@grandfraisicon\endcsname {\simpleiconsmap\symbol{"EE88}}
+ \expandafter\def\csname simpleicon@grapheneosicon\endcsname {\simpleiconsmap\symbol{"EE89}}
+ \expandafter\def\csname simpleicon@graphiteicon\endcsname {\simpleiconsmap\symbol{"EE8A}}
+ \expandafter\def\csname simpleicon@graphqlicon\endcsname {\simpleiconsmap\symbol{"EE8B}}
+ \expandafter\def\csname simpleicon@gravicon\endcsname {\simpleiconsmap\symbol{"EE8C}}
+ \expandafter\def\csname simpleicon@gravataricon\endcsname {\simpleiconsmap\symbol{"EE8D}}
+ \expandafter\def\csname simpleicon@graylogicon\endcsname {\simpleiconsmap\symbol{"EE8E}}
+ \expandafter\def\csname simpleicon@greasyforkicon\endcsname {\simpleiconsmap\symbol{"EE8F}}
+ \expandafter\def\csname simpleicon@greatlearningicon\endcsname {\simpleiconsmap\symbol{"EE90}}
+ \expandafter\def\csname simpleicon@greenhouseicon\endcsname {\simpleiconsmap\symbol{"EE91}}
+ \expandafter\def\csname simpleicon@greensockicon\endcsname {\simpleiconsmap\symbol{"EE92}}
+ \expandafter\def\csname simpleicon@griddotaiicon\endcsname {\simpleiconsmap\symbol{"EE93}}
+ \expandafter\def\csname simpleicon@gridsomeicon\endcsname {\simpleiconsmap\symbol{"EE94}}
+ \expandafter\def\csname simpleicon@groupmeicon\endcsname {\simpleiconsmap\symbol{"EE95}}
+ \expandafter\def\csname simpleicon@grouponicon\endcsname {\simpleiconsmap\symbol{"EE96}}
+ \expandafter\def\csname simpleicon@grubhubicon\endcsname {\simpleiconsmap\symbol{"EE97}}
+ \expandafter\def\csname simpleicon@grunticon\endcsname {\simpleiconsmap\symbol{"EE98}}
+ \expandafter\def\csname simpleicon@gskicon\endcsname {\simpleiconsmap\symbol{"EE99}}
+ \expandafter\def\csname simpleicon@gsmarenadotcomicon\endcsname {\simpleiconsmap\symbol{"EE9A}}
+ \expandafter\def\csname simpleicon@gstreamericon\endcsname {\simpleiconsmap\symbol{"EE9B}}
+ \expandafter\def\csname simpleicon@gtkicon\endcsname {\simpleiconsmap\symbol{"EE9C}}
+ \expandafter\def\csname simpleicon@guangzhoumetroicon\endcsname {\simpleiconsmap\symbol{"EE9D}}
+ \expandafter\def\csname simpleicon@guildedicon\endcsname {\simpleiconsmap\symbol{"EE9E}}
+ \expandafter\def\csname simpleicon@gulpicon\endcsname {\simpleiconsmap\symbol{"EE9F}}
+ \expandafter\def\csname simpleicon@gumroadicon\endcsname {\simpleiconsmap\symbol{"EEA0}}
+ \expandafter\def\csname simpleicon@gumtreeicon\endcsname {\simpleiconsmap\symbol{"EEA1}}
+ \expandafter\def\csname simpleicon@gunicornicon\endcsname {\simpleiconsmap\symbol{"EEA2}}
+ \expandafter\def\csname simpleicon@gurobiicon\endcsname {\simpleiconsmap\symbol{"EEA3}}
+ \expandafter\def\csname simpleicon@gustoicon\endcsname {\simpleiconsmap\symbol{"EEA4}}
+ \expandafter\def\csname simpleicon@gutenbergicon\endcsname {\simpleiconsmap\symbol{"EEA5}}
+ \expandafter\def\csname simpleicon@h3icon\endcsname {\simpleiconsmap\symbol{"EEA6}}
+ \expandafter\def\csname simpleicon@habricon\endcsname {\simpleiconsmap\symbol{"EEA7}}
+ \expandafter\def\csname simpleicon@hackadayicon\endcsname {\simpleiconsmap\symbol{"EEA8}}
+ \expandafter\def\csname simpleicon@hackclubicon\endcsname {\simpleiconsmap\symbol{"EEA9}}
+ \expandafter\def\csname simpleicon@hackerearthicon\endcsname {\simpleiconsmap\symbol{"EEAA}}
+ \expandafter\def\csname simpleicon@hackernoonicon\endcsname {\simpleiconsmap\symbol{"EEAB}}
+ \expandafter\def\csname simpleicon@hackeroneicon\endcsname {\simpleiconsmap\symbol{"EEAC}}
+ \expandafter\def\csname simpleicon@hackerrankicon\endcsname {\simpleiconsmap\symbol{"EEAD}}
+ \expandafter\def\csname simpleicon@hackstericon\endcsname {\simpleiconsmap\symbol{"EEAE}}
+ \expandafter\def\csname simpleicon@hacktheboxicon\endcsname {\simpleiconsmap\symbol{"EEAF}}
+ \expandafter\def\csname simpleicon@halicon\endcsname {\simpleiconsmap\symbol{"EEB0}}
+ \expandafter\def\csname simpleicon@handlebarsdotjsicon\endcsname {\simpleiconsmap\symbol{"EEB1}}
+ \expandafter\def\csname simpleicon@handmicon\endcsname {\simpleiconsmap\symbol{"EEB2}}
+ \expandafter\def\csname simpleicon@handshakeicon\endcsname {\simpleiconsmap\symbol{"EEB3}}
+ \expandafter\def\csname simpleicon@handshakeprotocolicon\endcsname {\simpleiconsmap\symbol{"EEB4}}
+ \expandafter\def\csname simpleicon@happycowicon\endcsname {\simpleiconsmap\symbol{"EEB5}}
+ \expandafter\def\csname simpleicon@harboricon\endcsname {\simpleiconsmap\symbol{"EEB6}}
+ \expandafter\def\csname simpleicon@harmonyosicon\endcsname {\simpleiconsmap\symbol{"EEB7}}
+ \expandafter\def\csname simpleicon@hashicorpicon\endcsname {\simpleiconsmap\symbol{"EEB8}}
+ \expandafter\def\csname simpleicon@hashnodeicon\endcsname {\simpleiconsmap\symbol{"EEB9}}
+ \expandafter\def\csname simpleicon@haskellicon\endcsname {\simpleiconsmap\symbol{"EEBA}}
+ \expandafter\def\csname simpleicon@hasuraicon\endcsname {\simpleiconsmap\symbol{"EEBB}}
+ \expandafter\def\csname simpleicon@hatenabookmarkicon\endcsname {\simpleiconsmap\symbol{"EEBC}}
+ \expandafter\def\csname simpleicon@haveibeenpwnedicon\endcsname {\simpleiconsmap\symbol{"EEBD}}
+ \expandafter\def\csname simpleicon@haxeicon\endcsname {\simpleiconsmap\symbol{"EEBE}}
+ \expandafter\def\csname simpleicon@hboicon\endcsname {\simpleiconsmap\symbol{"EEBF}}
+ \expandafter\def\csname simpleicon@hclicon\endcsname {\simpleiconsmap\symbol{"EEC0}}
+ \expandafter\def\csname simpleicon@hdfcbankicon\endcsname {\simpleiconsmap\symbol{"EEC1}}
+ \expandafter\def\csname simpleicon@headlessuiicon\endcsname {\simpleiconsmap\symbol{"EEC2}}
+ \expandafter\def\csname simpleicon@headphonezoneicon\endcsname {\simpleiconsmap\symbol{"EEC3}}
+ \expandafter\def\csname simpleicon@headspaceicon\endcsname {\simpleiconsmap\symbol{"EEC4}}
+ \expandafter\def\csname simpleicon@hearthicon\endcsname {\simpleiconsmap\symbol{"EEC5}}
+ \expandafter\def\csname simpleicon@hearthisdotaticon\endcsname {\simpleiconsmap\symbol{"EEC6}}
+ \expandafter\def\csname simpleicon@hederaicon\endcsname {\simpleiconsmap\symbol{"EEC7}}
+ \expandafter\def\csname simpleicon@heliumicon\endcsname {\simpleiconsmap\symbol{"EEC8}}
+ \expandafter\def\csname simpleicon@hellofreshicon\endcsname {\simpleiconsmap\symbol{"EEC9}}
+ \expandafter\def\csname simpleicon@hellyhansenicon\endcsname {\simpleiconsmap\symbol{"EECA}}
+ \expandafter\def\csname simpleicon@helmicon\endcsname {\simpleiconsmap\symbol{"EECB}}
+ \expandafter\def\csname simpleicon@helpdeskicon\endcsname {\simpleiconsmap\symbol{"EECC}}
+ \expandafter\def\csname simpleicon@helpscouticon\endcsname {\simpleiconsmap\symbol{"EECD}}
+ \expandafter\def\csname simpleicon@hepsiemlakicon\endcsname {\simpleiconsmap\symbol{"EECE}}
+ \expandafter\def\csname simpleicon@hereicon\endcsname {\simpleiconsmap\symbol{"EECF}}
+ \expandafter\def\csname simpleicon@herokuicon\endcsname {\simpleiconsmap\symbol{"EED0}}
+ \expandafter\def\csname simpleicon@hetznericon\endcsname {\simpleiconsmap\symbol{"EED1}}
+ \expandafter\def\csname simpleicon@hevyicon\endcsname {\simpleiconsmap\symbol{"EED2}}
+ \expandafter\def\csname simpleicon@hexleticon\endcsname {\simpleiconsmap\symbol{"EED3}}
+ \expandafter\def\csname simpleicon@hexoicon\endcsname {\simpleiconsmap\symbol{"EED4}}
+ \expandafter\def\csname simpleicon@heyicon\endcsname {\simpleiconsmap\symbol{"EED5}}
+ \expandafter\def\csname simpleicon@hibernateicon\endcsname {\simpleiconsmap\symbol{"EED6}}
+ \expandafter\def\csname simpleicon@hibobicon\endcsname {\simpleiconsmap\symbol{"EED7}}
+ \expandafter\def\csname simpleicon@hiltonicon\endcsname {\simpleiconsmap\symbol{"EED8}}
+ \expandafter\def\csname simpleicon@hiltonhotelsandresortsicon\endcsname {\simpleiconsmap\symbol{"EED9}}
+ \expandafter\def\csname simpleicon@hitachiicon\endcsname {\simpleiconsmap\symbol{"EEDA}}
+ \expandafter\def\csname simpleicon@hiveicon\endcsname {\simpleiconsmap\symbol{"EEDB}}
+ \expandafter\def\csname simpleicon@hiveblockchainicon\endcsname {\simpleiconsmap\symbol{"EEDC}}
+ \expandafter\def\csname simpleicon@hivemqicon\endcsname {\simpleiconsmap\symbol{"EEDD}}
+ \expandafter\def\csname simpleicon@homarricon\endcsname {\simpleiconsmap\symbol{"EEDE}}
+ \expandafter\def\csname simpleicon@homeadvisoricon\endcsname {\simpleiconsmap\symbol{"EEDF}}
+ \expandafter\def\csname simpleicon@homeassistanticon\endcsname {\simpleiconsmap\symbol{"EEE0}}
+ \expandafter\def\csname simpleicon@homeassistantcommunitystoreicon\endcsname {\simpleiconsmap\symbol{"EEE1}}
+ \expandafter\def\csname simpleicon@homebrewicon\endcsname {\simpleiconsmap\symbol{"EEE2}}
+ \expandafter\def\csname simpleicon@homebridgeicon\endcsname {\simpleiconsmap\symbol{"EEE3}}
+ \expandafter\def\csname simpleicon@homepageicon\endcsname {\simpleiconsmap\symbol{"EEE4}}
+ \expandafter\def\csname simpleicon@homifyicon\endcsname {\simpleiconsmap\symbol{"EEE5}}
+ \expandafter\def\csname simpleicon@hondaicon\endcsname {\simpleiconsmap\symbol{"EEE6}}
+ \expandafter\def\csname simpleicon@honeyicon\endcsname {\simpleiconsmap\symbol{"EEE7}}
+ \expandafter\def\csname simpleicon@honoicon\endcsname {\simpleiconsmap\symbol{"EEE8}}
+ \expandafter\def\csname simpleicon@honoricon\endcsname {\simpleiconsmap\symbol{"EEE9}}
+ \expandafter\def\csname simpleicon@hootsuiteicon\endcsname {\simpleiconsmap\symbol{"EEEA}}
+ \expandafter\def\csname simpleicon@hoppscotchicon\endcsname {\simpleiconsmap\symbol{"EEEB}}
+ \expandafter\def\csname simpleicon@hostingericon\endcsname {\simpleiconsmap\symbol{"EEEC}}
+ \expandafter\def\csname simpleicon@hotelsdotcomicon\endcsname {\simpleiconsmap\symbol{"EEED}}
+ \expandafter\def\csname simpleicon@hotjaricon\endcsname {\simpleiconsmap\symbol{"EEEE}}
+ \expandafter\def\csname simpleicon@hotwireicon\endcsname {\simpleiconsmap\symbol{"EEEF}}
+ \expandafter\def\csname simpleicon@houdiniicon\endcsname {\simpleiconsmap\symbol{"EEF0}}
+ \expandafter\def\csname simpleicon@houzzicon\endcsname {\simpleiconsmap\symbol{"EEF1}}
+ \expandafter\def\csname simpleicon@hpicon\endcsname {\simpleiconsmap\symbol{"EEF2}}
+ \expandafter\def\csname simpleicon@hsbcicon\endcsname {\simpleiconsmap\symbol{"EEF3}}
+ \expandafter\def\csname simpleicon@html5icon\endcsname {\simpleiconsmap\symbol{"EEF4}}
+ \expandafter\def\csname simpleicon@htmlacademyicon\endcsname {\simpleiconsmap\symbol{"EEF5}}
+ \expandafter\def\csname simpleicon@htmxicon\endcsname {\simpleiconsmap\symbol{"EEF6}}
+ \expandafter\def\csname simpleicon@htopicon\endcsname {\simpleiconsmap\symbol{"EEF7}}
+ \expandafter\def\csname simpleicon@httpieicon\endcsname {\simpleiconsmap\symbol{"EEF8}}
+ \expandafter\def\csname simpleicon@huaweiicon\endcsname {\simpleiconsmap\symbol{"EEF9}}
+ \expandafter\def\csname simpleicon@hubspoticon\endcsname {\simpleiconsmap\symbol{"EEFA}}
+ \expandafter\def\csname simpleicon@huggingfaceicon\endcsname {\simpleiconsmap\symbol{"EEFB}}
+ \expandafter\def\csname simpleicon@hugoicon\endcsname {\simpleiconsmap\symbol{"EEFC}}
+ \expandafter\def\csname simpleicon@humblebundleicon\endcsname {\simpleiconsmap\symbol{"EEFD}}
+ \expandafter\def\csname simpleicon@hungryjacksicon\endcsname {\simpleiconsmap\symbol{"EEFE}}
+ \expandafter\def\csname simpleicon@husqvarnaicon\endcsname {\simpleiconsmap\symbol{"EEFF}}
+ \expandafter\def\csname simpleicon@hypericon\endcsname {\simpleiconsmap\symbol{"EF00}}
+ \expandafter\def\csname simpleicon@hyperskillicon\endcsname {\simpleiconsmap\symbol{"EF01}}
+ \expandafter\def\csname simpleicon@hypothesisicon\endcsname {\simpleiconsmap\symbol{"EF02}}
+ \expandafter\def\csname simpleicon@hyprlandicon\endcsname {\simpleiconsmap\symbol{"EF03}}
+ \expandafter\def\csname simpleicon@hyundaiicon\endcsname {\simpleiconsmap\symbol{"EF04}}
+ \expandafter\def\csname simpleicon@i18nexticon\endcsname {\simpleiconsmap\symbol{"EF05}}
+ \expandafter\def\csname simpleicon@i3icon\endcsname {\simpleiconsmap\symbol{"EF06}}
+ \expandafter\def\csname simpleicon@iataicon\endcsname {\simpleiconsmap\symbol{"EF07}}
+ \expandafter\def\csname simpleicon@ibeaconicon\endcsname {\simpleiconsmap\symbol{"EF08}}
+ \expandafter\def\csname simpleicon@iberiaicon\endcsname {\simpleiconsmap\symbol{"EF09}}
+ \expandafter\def\csname simpleicon@icedicon\endcsname {\simpleiconsmap\symbol{"EF0A}}
+ \expandafter\def\csname simpleicon@icelandicon\endcsname {\simpleiconsmap\symbol{"EF0B}}
+ \expandafter\def\csname simpleicon@icicibankicon\endcsname {\simpleiconsmap\symbol{"EF0C}}
+ \expandafter\def\csname simpleicon@icingaicon\endcsname {\simpleiconsmap\symbol{"EF0D}}
+ \expandafter\def\csname simpleicon@icloudicon\endcsname {\simpleiconsmap\symbol{"EF0E}}
+ \expandafter\def\csname simpleicon@icomoonicon\endcsname {\simpleiconsmap\symbol{"EF0F}}
+ \expandafter\def\csname simpleicon@iconicon\endcsname {\simpleiconsmap\symbol{"EF10}}
+ \expandafter\def\csname simpleicon@iconfindericon\endcsname {\simpleiconsmap\symbol{"EF11}}
+ \expandafter\def\csname simpleicon@iconifyicon\endcsname {\simpleiconsmap\symbol{"EF12}}
+ \expandafter\def\csname simpleicon@iconjaricon\endcsname {\simpleiconsmap\symbol{"EF13}}
+ \expandafter\def\csname simpleicon@icons8icon\endcsname {\simpleiconsmap\symbol{"EF14}}
+ \expandafter\def\csname simpleicon@icqicon\endcsname {\simpleiconsmap\symbol{"EF15}}
+ \expandafter\def\csname simpleicon@ieeeicon\endcsname {\simpleiconsmap\symbol{"EF16}}
+ \expandafter\def\csname simpleicon@ifixiticon\endcsname {\simpleiconsmap\symbol{"EF17}}
+ \expandafter\def\csname simpleicon@ifoodicon\endcsname {\simpleiconsmap\symbol{"EF18}}
+ \expandafter\def\csname simpleicon@ifttticon\endcsname {\simpleiconsmap\symbol{"EF19}}
+ \expandafter\def\csname simpleicon@igdbicon\endcsname {\simpleiconsmap\symbol{"EF1A}}
+ \expandafter\def\csname simpleicon@ignicon\endcsname {\simpleiconsmap\symbol{"EF1B}}
+ \expandafter\def\csname simpleicon@iheartradioicon\endcsname {\simpleiconsmap\symbol{"EF1C}}
+ \expandafter\def\csname simpleicon@ikeaicon\endcsname {\simpleiconsmap\symbol{"EF1D}}
+ \expandafter\def\csname simpleicon@iledefrancemobilitesicon\endcsname {\simpleiconsmap\symbol{"EF1E}}
+ \expandafter\def\csname simpleicon@imagedotscicon\endcsname {\simpleiconsmap\symbol{"EF1F}}
+ \expandafter\def\csname simpleicon@imagejicon\endcsname {\simpleiconsmap\symbol{"EF20}}
+ \expandafter\def\csname simpleicon@imdbicon\endcsname {\simpleiconsmap\symbol{"EF21}}
+ \expandafter\def\csname simpleicon@imessageicon\endcsname {\simpleiconsmap\symbol{"EF22}}
+ \expandafter\def\csname simpleicon@imguricon\endcsname {\simpleiconsmap\symbol{"EF23}}
+ \expandafter\def\csname simpleicon@immericon\endcsname {\simpleiconsmap\symbol{"EF24}}
+ \expandafter\def\csname simpleicon@immichicon\endcsname {\simpleiconsmap\symbol{"EF25}}
+ \expandafter\def\csname simpleicon@imouicon\endcsname {\simpleiconsmap\symbol{"EF26}}
+ \expandafter\def\csname simpleicon@improvmxicon\endcsname {\simpleiconsmap\symbol{"EF27}}
+ \expandafter\def\csname simpleicon@indeedicon\endcsname {\simpleiconsmap\symbol{"EF28}}
+ \expandafter\def\csname simpleicon@indiansuperleagueicon\endcsname {\simpleiconsmap\symbol{"EF29}}
+ \expandafter\def\csname simpleicon@indiehackersicon\endcsname {\simpleiconsmap\symbol{"EF2A}}
+ \expandafter\def\csname simpleicon@indigoicon\endcsname {\simpleiconsmap\symbol{"EF2B}}
+ \expandafter\def\csname simpleicon@inertiaicon\endcsname {\simpleiconsmap\symbol{"EF2C}}
+ \expandafter\def\csname simpleicon@infinitiicon\endcsname {\simpleiconsmap\symbol{"EF2D}}
+ \expandafter\def\csname simpleicon@influxdbicon\endcsname {\simpleiconsmap\symbol{"EF2E}}
+ \expandafter\def\csname simpleicon@infomaniakicon\endcsname {\simpleiconsmap\symbol{"EF2F}}
+ \expandafter\def\csname simpleicon@infoqicon\endcsname {\simpleiconsmap\symbol{"EF30}}
+ \expandafter\def\csname simpleicon@informaticaicon\endcsname {\simpleiconsmap\symbol{"EF31}}
+ \expandafter\def\csname simpleicon@infosysicon\endcsname {\simpleiconsmap\symbol{"EF32}}
+ \expandafter\def\csname simpleicon@infracosticon\endcsname {\simpleiconsmap\symbol{"EF33}}
+ \expandafter\def\csname simpleicon@ingressicon\endcsname {\simpleiconsmap\symbol{"EF34}}
+ \expandafter\def\csname simpleicon@inkdropicon\endcsname {\simpleiconsmap\symbol{"EF35}}
+ \expandafter\def\csname simpleicon@inkscapeicon\endcsname {\simpleiconsmap\symbol{"EF36}}
+ \expandafter\def\csname simpleicon@inoreadericon\endcsname {\simpleiconsmap\symbol{"EF37}}
+ \expandafter\def\csname simpleicon@insomniaicon\endcsname {\simpleiconsmap\symbol{"EF38}}
+ \expandafter\def\csname simpleicon@inspireicon\endcsname {\simpleiconsmap\symbol{"EF39}}
+ \expandafter\def\csname simpleicon@insta360icon\endcsname {\simpleiconsmap\symbol{"EF3A}}
+ \expandafter\def\csname simpleicon@instacarticon\endcsname {\simpleiconsmap\symbol{"EF3B}}
+ \expandafter\def\csname simpleicon@instagramicon\endcsname {\simpleiconsmap\symbol{"EF3C}}
+ \expandafter\def\csname simpleicon@instapapericon\endcsname {\simpleiconsmap\symbol{"EF3D}}
+ \expandafter\def\csname simpleicon@instatusicon\endcsname {\simpleiconsmap\symbol{"EF3E}}
+ \expandafter\def\csname simpleicon@instructablesicon\endcsname {\simpleiconsmap\symbol{"EF3F}}
+ \expandafter\def\csname simpleicon@instructureicon\endcsname {\simpleiconsmap\symbol{"EF40}}
+ \expandafter\def\csname simpleicon@intelicon\endcsname {\simpleiconsmap\symbol{"EF41}}
+ \expandafter\def\csname simpleicon@intellijideaicon\endcsname {\simpleiconsmap\symbol{"EF42}}
+ \expandafter\def\csname simpleicon@interactiondesignfoundationicon\endcsname {\simpleiconsmap\symbol{"EF43}}
+ \expandafter\def\csname simpleicon@interactjsicon\endcsname {\simpleiconsmap\symbol{"EF44}}
+ \expandafter\def\csname simpleicon@interbaseicon\endcsname {\simpleiconsmap\symbol{"EF45}}
+ \expandafter\def\csname simpleicon@intercomicon\endcsname {\simpleiconsmap\symbol{"EF46}}
+ \expandafter\def\csname simpleicon@intermarcheicon\endcsname {\simpleiconsmap\symbol{"EF47}}
+ \expandafter\def\csname simpleicon@internetarchiveicon\endcsname {\simpleiconsmap\symbol{"EF48}}
+ \expandafter\def\csname simpleicon@internetcomputericon\endcsname {\simpleiconsmap\symbol{"EF49}}
+ \expandafter\def\csname simpleicon@intigritiicon\endcsname {\simpleiconsmap\symbol{"EF4A}}
+ \expandafter\def\csname simpleicon@intuiticon\endcsname {\simpleiconsmap\symbol{"EF4B}}
+ \expandafter\def\csname simpleicon@invisionicon\endcsname {\simpleiconsmap\symbol{"EF4C}}
+ \expandafter\def\csname simpleicon@invoiceninjaicon\endcsname {\simpleiconsmap\symbol{"EF4D}}
+ \expandafter\def\csname simpleicon@iobrokericon\endcsname {\simpleiconsmap\symbol{"EF4E}}
+ \expandafter\def\csname simpleicon@ionicicon\endcsname {\simpleiconsmap\symbol{"EF4F}}
+ \expandafter\def\csname simpleicon@ionosicon\endcsname {\simpleiconsmap\symbol{"EF50}}
+ \expandafter\def\csname simpleicon@iosicon\endcsname {\simpleiconsmap\symbol{"EF51}}
+ \expandafter\def\csname simpleicon@iotaicon\endcsname {\simpleiconsmap\symbol{"EF52}}
+ \expandafter\def\csname simpleicon@ipfsicon\endcsname {\simpleiconsmap\symbol{"EF53}}
+ \expandafter\def\csname simpleicon@irisicon\endcsname {\simpleiconsmap\symbol{"EF54}}
+ \expandafter\def\csname simpleicon@iroboticon\endcsname {\simpleiconsmap\symbol{"EF55}}
+ \expandafter\def\csname simpleicon@isc2icon\endcsname {\simpleiconsmap\symbol{"EF56}}
+ \expandafter\def\csname simpleicon@issuuicon\endcsname {\simpleiconsmap\symbol{"EF57}}
+ \expandafter\def\csname simpleicon@istioicon\endcsname {\simpleiconsmap\symbol{"EF58}}
+ \expandafter\def\csname simpleicon@itchdotioicon\endcsname {\simpleiconsmap\symbol{"EF59}}
+ \expandafter\def\csname simpleicon@iterm2icon\endcsname {\simpleiconsmap\symbol{"EF5A}}
+ \expandafter\def\csname simpleicon@itunesicon\endcsname {\simpleiconsmap\symbol{"EF5B}}
+ \expandafter\def\csname simpleicon@itvxicon\endcsname {\simpleiconsmap\symbol{"EF5C}}
+ \expandafter\def\csname simpleicon@ivecoicon\endcsname {\simpleiconsmap\symbol{"EF5D}}
+ \expandafter\def\csname simpleicon@jabbericon\endcsname {\simpleiconsmap\symbol{"EF5E}}
+ \expandafter\def\csname simpleicon@jaegericon\endcsname {\simpleiconsmap\symbol{"EF5F}}
+ \expandafter\def\csname simpleicon@jaguaricon\endcsname {\simpleiconsmap\symbol{"EF60}}
+ \expandafter\def\csname simpleicon@jamboardicon\endcsname {\simpleiconsmap\symbol{"EF61}}
+ \expandafter\def\csname simpleicon@jamesonicon\endcsname {\simpleiconsmap\symbol{"EF62}}
+ \expandafter\def\csname simpleicon@jamstackicon\endcsname {\simpleiconsmap\symbol{"EF63}}
+ \expandafter\def\csname simpleicon@jasmineicon\endcsname {\simpleiconsmap\symbol{"EF64}}
+ \expandafter\def\csname simpleicon@javascripticon\endcsname {\simpleiconsmap\symbol{"EF65}}
+ \expandafter\def\csname simpleicon@jblicon\endcsname {\simpleiconsmap\symbol{"EF66}}
+ \expandafter\def\csname simpleicon@jcbicon\endcsname {\simpleiconsmap\symbol{"EF67}}
+ \expandafter\def\csname simpleicon@jeepicon\endcsname {\simpleiconsmap\symbol{"EF68}}
+ \expandafter\def\csname simpleicon@jekyllicon\endcsname {\simpleiconsmap\symbol{"EF69}}
+ \expandafter\def\csname simpleicon@jellyfinicon\endcsname {\simpleiconsmap\symbol{"EF6A}}
+ \expandafter\def\csname simpleicon@jenkinsicon\endcsname {\simpleiconsmap\symbol{"EF6B}}
+ \expandafter\def\csname simpleicon@jesticon\endcsname {\simpleiconsmap\symbol{"EF6C}}
+ \expandafter\def\csname simpleicon@jeticon\endcsname {\simpleiconsmap\symbol{"EF6D}}
+ \expandafter\def\csname simpleicon@jetblueicon\endcsname {\simpleiconsmap\symbol{"EF6E}}
+ \expandafter\def\csname simpleicon@jetbrainsicon\endcsname {\simpleiconsmap\symbol{"EF6F}}
+ \expandafter\def\csname simpleicon@jetpackcomposeicon\endcsname {\simpleiconsmap\symbol{"EF70}}
+ \expandafter\def\csname simpleicon@jfrogicon\endcsname {\simpleiconsmap\symbol{"EF71}}
+ \expandafter\def\csname simpleicon@jfrogpipelinesicon\endcsname {\simpleiconsmap\symbol{"EF72}}
+ \expandafter\def\csname simpleicon@jhipstericon\endcsname {\simpleiconsmap\symbol{"EF73}}
+ \expandafter\def\csname simpleicon@jinjaicon\endcsname {\simpleiconsmap\symbol{"EF74}}
+ \expandafter\def\csname simpleicon@jiraicon\endcsname {\simpleiconsmap\symbol{"EF75}}
+ \expandafter\def\csname simpleicon@jirasoftwareicon\endcsname {\simpleiconsmap\symbol{"EF76}}
+ \expandafter\def\csname simpleicon@jitpackicon\endcsname {\simpleiconsmap\symbol{"EF77}}
+ \expandafter\def\csname simpleicon@jitsiicon\endcsname {\simpleiconsmap\symbol{"EF78}}
+ \expandafter\def\csname simpleicon@johndeereicon\endcsname {\simpleiconsmap\symbol{"EF79}}
+ \expandafter\def\csname simpleicon@joomlaicon\endcsname {\simpleiconsmap\symbol{"EF7A}}
+ \expandafter\def\csname simpleicon@joplinicon\endcsname {\simpleiconsmap\symbol{"EF7B}}
+ \expandafter\def\csname simpleicon@jordanicon\endcsname {\simpleiconsmap\symbol{"EF7C}}
+ \expandafter\def\csname simpleicon@jouavicon\endcsname {\simpleiconsmap\symbol{"EF7D}}
+ \expandafter\def\csname simpleicon@jovianicon\endcsname {\simpleiconsmap\symbol{"EF7E}}
+ \expandafter\def\csname simpleicon@jpegicon\endcsname {\simpleiconsmap\symbol{"EF7F}}
+ \expandafter\def\csname simpleicon@jqueryicon\endcsname {\simpleiconsmap\symbol{"EF80}}
+ \expandafter\def\csname simpleicon@jrgroupicon\endcsname {\simpleiconsmap\symbol{"EF81}}
+ \expandafter\def\csname simpleicon@jsdelivricon\endcsname {\simpleiconsmap\symbol{"EF82}}
+ \expandafter\def\csname simpleicon@jsfiddleicon\endcsname {\simpleiconsmap\symbol{"EF83}}
+ \expandafter\def\csname simpleicon@jsonicon\endcsname {\simpleiconsmap\symbol{"EF84}}
+ \expandafter\def\csname simpleicon@jsonwebtokensicon\endcsname {\simpleiconsmap\symbol{"EF85}}
+ \expandafter\def\csname simpleicon@jsricon\endcsname {\simpleiconsmap\symbol{"EF86}}
+ \expandafter\def\csname simpleicon@jssicon\endcsname {\simpleiconsmap\symbol{"EF87}}
+ \expandafter\def\csname simpleicon@juceicon\endcsname {\simpleiconsmap\symbol{"EF88}}
+ \expandafter\def\csname simpleicon@juejinicon\endcsname {\simpleiconsmap\symbol{"EF89}}
+ \expandafter\def\csname simpleicon@jukeicon\endcsname {\simpleiconsmap\symbol{"EF8A}}
+ \expandafter\def\csname simpleicon@juliaicon\endcsname {\simpleiconsmap\symbol{"EF8B}}
+ \expandafter\def\csname simpleicon@junipernetworksicon\endcsname {\simpleiconsmap\symbol{"EF8C}}
+ \expandafter\def\csname simpleicon@junit5icon\endcsname {\simpleiconsmap\symbol{"EF8D}}
+ \expandafter\def\csname simpleicon@jupytericon\endcsname {\simpleiconsmap\symbol{"EF8E}}
+ \expandafter\def\csname simpleicon@justeaticon\endcsname {\simpleiconsmap\symbol{"EF8F}}
+ \expandafter\def\csname simpleicon@justgivingicon\endcsname {\simpleiconsmap\symbol{"EF90}}
+ \expandafter\def\csname simpleicon@k3sicon\endcsname {\simpleiconsmap\symbol{"EF91}}
+ \expandafter\def\csname simpleicon@k6icon\endcsname {\simpleiconsmap\symbol{"EF92}}
+ \expandafter\def\csname simpleicon@kaggleicon\endcsname {\simpleiconsmap\symbol{"EF93}}
+ \expandafter\def\csname simpleicon@kagiicon\endcsname {\simpleiconsmap\symbol{"EF94}}
+ \expandafter\def\csname simpleicon@kahooticon\endcsname {\simpleiconsmap\symbol{"EF95}}
+ \expandafter\def\csname simpleicon@kaiosicon\endcsname {\simpleiconsmap\symbol{"EF96}}
+ \expandafter\def\csname simpleicon@kakaoicon\endcsname {\simpleiconsmap\symbol{"EF97}}
+ \expandafter\def\csname simpleicon@kakaotalkicon\endcsname {\simpleiconsmap\symbol{"EF98}}
+ \expandafter\def\csname simpleicon@kalilinuxicon\endcsname {\simpleiconsmap\symbol{"EF99}}
+ \expandafter\def\csname simpleicon@kamailioicon\endcsname {\simpleiconsmap\symbol{"EF9A}}
+ \expandafter\def\csname simpleicon@kanikoicon\endcsname {\simpleiconsmap\symbol{"EF9B}}
+ \expandafter\def\csname simpleicon@karlsruherverkehrsverbundicon\endcsname {\simpleiconsmap\symbol{"EF9C}}
+ \expandafter\def\csname simpleicon@kasasmarticon\endcsname {\simpleiconsmap\symbol{"EF9D}}
+ \expandafter\def\csname simpleicon@kashflowicon\endcsname {\simpleiconsmap\symbol{"EF9E}}
+ \expandafter\def\csname simpleicon@kasperskyicon\endcsname {\simpleiconsmap\symbol{"EF9F}}
+ \expandafter\def\csname simpleicon@katacodaicon\endcsname {\simpleiconsmap\symbol{"EFA0}}
+ \expandafter\def\csname simpleicon@katanaicon\endcsname {\simpleiconsmap\symbol{"EFA1}}
+ \expandafter\def\csname simpleicon@kauflandicon\endcsname {\simpleiconsmap\symbol{"EFA2}}
+ \expandafter\def\csname simpleicon@kdeicon\endcsname {\simpleiconsmap\symbol{"EFA3}}
+ \expandafter\def\csname simpleicon@kdenliveicon\endcsname {\simpleiconsmap\symbol{"EFA4}}
+ \expandafter\def\csname simpleicon@kedroicon\endcsname {\simpleiconsmap\symbol{"EFA5}}
+ \expandafter\def\csname simpleicon@keeneticicon\endcsname {\simpleiconsmap\symbol{"EFA6}}
+ \expandafter\def\csname simpleicon@keepachangelogicon\endcsname {\simpleiconsmap\symbol{"EFA7}}
+ \expandafter\def\csname simpleicon@keepassxcicon\endcsname {\simpleiconsmap\symbol{"EFA8}}
+ \expandafter\def\csname simpleicon@kenticoicon\endcsname {\simpleiconsmap\symbol{"EFA9}}
+ \expandafter\def\csname simpleicon@kerasicon\endcsname {\simpleiconsmap\symbol{"EFAA}}
+ \expandafter\def\csname simpleicon@keybaseicon\endcsname {\simpleiconsmap\symbol{"EFAB}}
+ \expandafter\def\csname simpleicon@keycdnicon\endcsname {\simpleiconsmap\symbol{"EFAC}}
+ \expandafter\def\csname simpleicon@keycloakicon\endcsname {\simpleiconsmap\symbol{"EFAD}}
+ \expandafter\def\csname simpleicon@keystoneicon\endcsname {\simpleiconsmap\symbol{"EFAE}}
+ \expandafter\def\csname simpleicon@kfcicon\endcsname {\simpleiconsmap\symbol{"EFAF}}
+ \expandafter\def\csname simpleicon@khanacademyicon\endcsname {\simpleiconsmap\symbol{"EFB0}}
+ \expandafter\def\csname simpleicon@khronosgroupicon\endcsname {\simpleiconsmap\symbol{"EFB1}}
+ \expandafter\def\csname simpleicon@kiaicon\endcsname {\simpleiconsmap\symbol{"EFB2}}
+ \expandafter\def\csname simpleicon@kibanaicon\endcsname {\simpleiconsmap\symbol{"EFB3}}
+ \expandafter\def\csname simpleicon@kicadicon\endcsname {\simpleiconsmap\symbol{"EFB4}}
+ \expandafter\def\csname simpleicon@kickicon\endcsname {\simpleiconsmap\symbol{"EFB5}}
+ \expandafter\def\csname simpleicon@kickstartericon\endcsname {\simpleiconsmap\symbol{"EFB6}}
+ \expandafter\def\csname simpleicon@kikicon\endcsname {\simpleiconsmap\symbol{"EFB7}}
+ \expandafter\def\csname simpleicon@kingstontechnologyicon\endcsname {\simpleiconsmap\symbol{"EFB8}}
+ \expandafter\def\csname simpleicon@kinopoiskicon\endcsname {\simpleiconsmap\symbol{"EFB9}}
+ \expandafter\def\csname simpleicon@kinstaicon\endcsname {\simpleiconsmap\symbol{"EFBA}}
+ \expandafter\def\csname simpleicon@kirbyicon\endcsname {\simpleiconsmap\symbol{"EFBB}}
+ \expandafter\def\csname simpleicon@kiticon\endcsname {\simpleiconsmap\symbol{"EFBC}}
+ \expandafter\def\csname simpleicon@kitsuicon\endcsname {\simpleiconsmap\symbol{"EFBD}}
+ \expandafter\def\csname simpleicon@klarnaicon\endcsname {\simpleiconsmap\symbol{"EFBE}}
+ \expandafter\def\csname simpleicon@klmicon\endcsname {\simpleiconsmap\symbol{"EFBF}}
+ \expandafter\def\csname simpleicon@klookicon\endcsname {\simpleiconsmap\symbol{"EFC0}}
+ \expandafter\def\csname simpleicon@knativeicon\endcsname {\simpleiconsmap\symbol{"EFC1}}
+ \expandafter\def\csname simpleicon@knexdotjsicon\endcsname {\simpleiconsmap\symbol{"EFC2}}
+ \expandafter\def\csname simpleicon@knimeicon\endcsname {\simpleiconsmap\symbol{"EFC3}}
+ \expandafter\def\csname simpleicon@knipicon\endcsname {\simpleiconsmap\symbol{"EFC4}}
+ \expandafter\def\csname simpleicon@knowledgebaseicon\endcsname {\simpleiconsmap\symbol{"EFC5}}
+ \expandafter\def\csname simpleicon@knownicon\endcsname {\simpleiconsmap\symbol{"EFC6}}
+ \expandafter\def\csname simpleicon@koaicon\endcsname {\simpleiconsmap\symbol{"EFC7}}
+ \expandafter\def\csname simpleicon@kocicon\endcsname {\simpleiconsmap\symbol{"EFC8}}
+ \expandafter\def\csname simpleicon@kodakicon\endcsname {\simpleiconsmap\symbol{"EFC9}}
+ \expandafter\def\csname simpleicon@kodiicon\endcsname {\simpleiconsmap\symbol{"EFCA}}
+ \expandafter\def\csname simpleicon@koenigseggicon\endcsname {\simpleiconsmap\symbol{"EFCB}}
+ \expandafter\def\csname simpleicon@kofaxicon\endcsname {\simpleiconsmap\symbol{"EFCC}}
+ \expandafter\def\csname simpleicon@kofiicon\endcsname {\simpleiconsmap\symbol{"EFCD}}
+ \expandafter\def\csname simpleicon@komooticon\endcsname {\simpleiconsmap\symbol{"EFCE}}
+ \expandafter\def\csname simpleicon@konamiicon\endcsname {\simpleiconsmap\symbol{"EFCF}}
+ \expandafter\def\csname simpleicon@kongicon\endcsname {\simpleiconsmap\symbol{"EFD0}}
+ \expandafter\def\csname simpleicon@kongregateicon\endcsname {\simpleiconsmap\symbol{"EFD1}}
+ \expandafter\def\csname simpleicon@konvaicon\endcsname {\simpleiconsmap\symbol{"EFD2}}
+ \expandafter\def\csname simpleicon@kotlinicon\endcsname {\simpleiconsmap\symbol{"EFD3}}
+ \expandafter\def\csname simpleicon@koyebicon\endcsname {\simpleiconsmap\symbol{"EFD4}}
+ \expandafter\def\csname simpleicon@kritaicon\endcsname {\simpleiconsmap\symbol{"EFD5}}
+ \expandafter\def\csname simpleicon@ktmicon\endcsname {\simpleiconsmap\symbol{"EFD6}}
+ \expandafter\def\csname simpleicon@ktoricon\endcsname {\simpleiconsmap\symbol{"EFD7}}
+ \expandafter\def\csname simpleicon@kuaishouicon\endcsname {\simpleiconsmap\symbol{"EFD8}}
+ \expandafter\def\csname simpleicon@kubernetesicon\endcsname {\simpleiconsmap\symbol{"EFD9}}
+ \expandafter\def\csname simpleicon@kubuntuicon\endcsname {\simpleiconsmap\symbol{"EFDA}}
+ \expandafter\def\csname simpleicon@kucoinicon\endcsname {\simpleiconsmap\symbol{"EFDB}}
+ \expandafter\def\csname simpleicon@kumaicon\endcsname {\simpleiconsmap\symbol{"EFDC}}
+ \expandafter\def\csname simpleicon@kununuicon\endcsname {\simpleiconsmap\symbol{"EFDD}}
+ \expandafter\def\csname simpleicon@kuulaicon\endcsname {\simpleiconsmap\symbol{"EFDE}}
+ \expandafter\def\csname simpleicon@kxicon\endcsname {\simpleiconsmap\symbol{"EFDF}}
+ \expandafter\def\csname simpleicon@kyoceraicon\endcsname {\simpleiconsmap\symbol{"EFE0}}
+ \expandafter\def\csname simpleicon@labviewicon\endcsname {\simpleiconsmap\symbol{"EFE1}}
+ \expandafter\def\csname simpleicon@ladaicon\endcsname {\simpleiconsmap\symbol{"EFE2}}
+ \expandafter\def\csname simpleicon@lamborghiniicon\endcsname {\simpleiconsmap\symbol{"EFE3}}
+ \expandafter\def\csname simpleicon@landrovericon\endcsname {\simpleiconsmap\symbol{"EFE4}}
+ \expandafter\def\csname simpleicon@langchainicon\endcsname {\simpleiconsmap\symbol{"EFE5}}
+ \expandafter\def\csname simpleicon@lapceicon\endcsname {\simpleiconsmap\symbol{"EFE6}}
+ \expandafter\def\csname simpleicon@laragonicon\endcsname {\simpleiconsmap\symbol{"EFE7}}
+ \expandafter\def\csname simpleicon@laravelicon\endcsname {\simpleiconsmap\symbol{"EFE8}}
+ \expandafter\def\csname simpleicon@laravelhorizonicon\endcsname {\simpleiconsmap\symbol{"EFE9}}
+ \expandafter\def\csname simpleicon@laravelnovaicon\endcsname {\simpleiconsmap\symbol{"EFEA}}
+ \expandafter\def\csname simpleicon@lastdotfmicon\endcsname {\simpleiconsmap\symbol{"EFEB}}
+ \expandafter\def\csname simpleicon@lastpassicon\endcsname {\simpleiconsmap\symbol{"EFEC}}
+ \expandafter\def\csname simpleicon@latexicon\endcsname {\simpleiconsmap\symbol{"EFED}}
+ \expandafter\def\csname simpleicon@launchpadicon\endcsname {\simpleiconsmap\symbol{"EFEE}}
+ \expandafter\def\csname simpleicon@lazarusicon\endcsname {\simpleiconsmap\symbol{"EFEF}}
+ \expandafter\def\csname simpleicon@lazyvimicon\endcsname {\simpleiconsmap\symbol{"EFF0}}
+ \expandafter\def\csname simpleicon@lbryicon\endcsname {\simpleiconsmap\symbol{"EFF1}}
+ \expandafter\def\csname simpleicon@leaderpriceicon\endcsname {\simpleiconsmap\symbol{"EFF2}}
+ \expandafter\def\csname simpleicon@leafleticon\endcsname {\simpleiconsmap\symbol{"EFF3}}
+ \expandafter\def\csname simpleicon@leagueoflegendsicon\endcsname {\simpleiconsmap\symbol{"EFF4}}
+ \expandafter\def\csname simpleicon@leanpubicon\endcsname {\simpleiconsmap\symbol{"EFF5}}
+ \expandafter\def\csname simpleicon@leetcodeicon\endcsname {\simpleiconsmap\symbol{"EFF6}}
+ \expandafter\def\csname simpleicon@legacygamesicon\endcsname {\simpleiconsmap\symbol{"EFF7}}
+ \expandafter\def\csname simpleicon@leicaicon\endcsname {\simpleiconsmap\symbol{"EFF8}}
+ \expandafter\def\csname simpleicon@lemmyicon\endcsname {\simpleiconsmap\symbol{"EFF9}}
+ \expandafter\def\csname simpleicon@lemonsqueezyicon\endcsname {\simpleiconsmap\symbol{"EFFA}}
+ \expandafter\def\csname simpleicon@lenovoicon\endcsname {\simpleiconsmap\symbol{"EFFB}}
+ \expandafter\def\csname simpleicon@lensicon\endcsname {\simpleiconsmap\symbol{"EFFC}}
+ \expandafter\def\csname simpleicon@leptosicon\endcsname {\simpleiconsmap\symbol{"EFFD}}
+ \expandafter\def\csname simpleicon@lequipeicon\endcsname {\simpleiconsmap\symbol{"EFFE}}
+ \expandafter\def\csname simpleicon@lernaicon\endcsname {\simpleiconsmap\symbol{"EFFF}}
+ \expandafter\def\csname simpleicon@leroymerlinicon\endcsname {\simpleiconsmap\symbol{"F000}}
+ \expandafter\def\csname simpleicon@leslibrairesicon\endcsname {\simpleiconsmap\symbol{"F001}}
+ \expandafter\def\csname simpleicon@lessicon\endcsname {\simpleiconsmap\symbol{"F002}}
+ \expandafter\def\csname simpleicon@letsencrypticon\endcsname {\simpleiconsmap\symbol{"F003}}
+ \expandafter\def\csname simpleicon@letterboxdicon\endcsname {\simpleiconsmap\symbol{"F004}}
+ \expandafter\def\csname simpleicon@levelsdotfyiicon\endcsname {\simpleiconsmap\symbol{"F005}}
+ \expandafter\def\csname simpleicon@lgicon\endcsname {\simpleiconsmap\symbol{"F006}}
+ \expandafter\def\csname simpleicon@liberadotchaticon\endcsname {\simpleiconsmap\symbol{"F007}}
+ \expandafter\def\csname simpleicon@liberapayicon\endcsname {\simpleiconsmap\symbol{"F008}}
+ \expandafter\def\csname simpleicon@librariesdotioicon\endcsname {\simpleiconsmap\symbol{"F009}}
+ \expandafter\def\csname simpleicon@librarythingicon\endcsname {\simpleiconsmap\symbol{"F00A}}
+ \expandafter\def\csname simpleicon@libreofficeicon\endcsname {\simpleiconsmap\symbol{"F00B}}
+ \expandafter\def\csname simpleicon@libreofficebaseicon\endcsname {\simpleiconsmap\symbol{"F00C}}
+ \expandafter\def\csname simpleicon@libreofficecalcicon\endcsname {\simpleiconsmap\symbol{"F00D}}
+ \expandafter\def\csname simpleicon@libreofficedrawicon\endcsname {\simpleiconsmap\symbol{"F00E}}
+ \expandafter\def\csname simpleicon@libreofficeimpressicon\endcsname {\simpleiconsmap\symbol{"F00F}}
+ \expandafter\def\csname simpleicon@libreofficemathicon\endcsname {\simpleiconsmap\symbol{"F010}}
+ \expandafter\def\csname simpleicon@libreofficewritericon\endcsname {\simpleiconsmap\symbol{"F011}}
+ \expandafter\def\csname simpleicon@librewolficon\endcsname {\simpleiconsmap\symbol{"F012}}
+ \expandafter\def\csname simpleicon@libuvicon\endcsname {\simpleiconsmap\symbol{"F013}}
+ \expandafter\def\csname simpleicon@lichessicon\endcsname {\simpleiconsmap\symbol{"F014}}
+ \expandafter\def\csname simpleicon@lidlicon\endcsname {\simpleiconsmap\symbol{"F015}}
+ \expandafter\def\csname simpleicon@lifxicon\endcsname {\simpleiconsmap\symbol{"F016}}
+ \expandafter\def\csname simpleicon@lightburnicon\endcsname {\simpleiconsmap\symbol{"F017}}
+ \expandafter\def\csname simpleicon@lighthouseicon\endcsname {\simpleiconsmap\symbol{"F018}}
+ \expandafter\def\csname simpleicon@lightningicon\endcsname {\simpleiconsmap\symbol{"F019}}
+ \expandafter\def\csname simpleicon@limesurveyicon\endcsname {\simpleiconsmap\symbol{"F01A}}
+ \expandafter\def\csname simpleicon@lineicon\endcsname {\simpleiconsmap\symbol{"F01B}}
+ \expandafter\def\csname simpleicon@lineageosicon\endcsname {\simpleiconsmap\symbol{"F01C}}
+ \expandafter\def\csname simpleicon@linearicon\endcsname {\simpleiconsmap\symbol{"F01D}}
+ \expandafter\def\csname simpleicon@liningicon\endcsname {\simpleiconsmap\symbol{"F01E}}
+ \expandafter\def\csname simpleicon@linkedinicon\endcsname {\simpleiconsmap\symbol{"F01F}}
+ \expandafter\def\csname simpleicon@linkerdicon\endcsname {\simpleiconsmap\symbol{"F020}}
+ \expandafter\def\csname simpleicon@linkfireicon\endcsname {\simpleiconsmap\symbol{"F021}}
+ \expandafter\def\csname simpleicon@linksysicon\endcsname {\simpleiconsmap\symbol{"F022}}
+ \expandafter\def\csname simpleicon@linktreeicon\endcsname {\simpleiconsmap\symbol{"F023}}
+ \expandafter\def\csname simpleicon@lintcodeicon\endcsname {\simpleiconsmap\symbol{"F024}}
+ \expandafter\def\csname simpleicon@linuxicon\endcsname {\simpleiconsmap\symbol{"F025}}
+ \expandafter\def\csname simpleicon@linuxcontainersicon\endcsname {\simpleiconsmap\symbol{"F026}}
+ \expandafter\def\csname simpleicon@linuxfoundationicon\endcsname {\simpleiconsmap\symbol{"F027}}
+ \expandafter\def\csname simpleicon@linuxminticon\endcsname {\simpleiconsmap\symbol{"F028}}
+ \expandafter\def\csname simpleicon@linuxprofessionalinstituteicon\endcsname {\simpleiconsmap\symbol{"F029}}
+ \expandafter\def\csname simpleicon@linuxservericon\endcsname {\simpleiconsmap\symbol{"F02A}}
+ \expandafter\def\csname simpleicon@lionairicon\endcsname {\simpleiconsmap\symbol{"F02B}}
+ \expandafter\def\csname simpleicon@liquibaseicon\endcsname {\simpleiconsmap\symbol{"F02C}}
+ \expandafter\def\csname simpleicon@listmonkicon\endcsname {\simpleiconsmap\symbol{"F02D}}
+ \expandafter\def\csname simpleicon@liticon\endcsname {\simpleiconsmap\symbol{"F02E}}
+ \expandafter\def\csname simpleicon@litecoinicon\endcsname {\simpleiconsmap\symbol{"F02F}}
+ \expandafter\def\csname simpleicon@litiengineicon\endcsname {\simpleiconsmap\symbol{"F030}}
+ \expandafter\def\csname simpleicon@livechaticon\endcsname {\simpleiconsmap\symbol{"F031}}
+ \expandafter\def\csname simpleicon@livejournalicon\endcsname {\simpleiconsmap\symbol{"F032}}
+ \expandafter\def\csname simpleicon@livewireicon\endcsname {\simpleiconsmap\symbol{"F033}}
+ \expandafter\def\csname simpleicon@llvmicon\endcsname {\simpleiconsmap\symbol{"F034}}
+ \expandafter\def\csname simpleicon@lmmsicon\endcsname {\simpleiconsmap\symbol{"F035}}
+ \expandafter\def\csname simpleicon@localicon\endcsname {\simpleiconsmap\symbol{"F036}}
+ \expandafter\def\csname simpleicon@lodashicon\endcsname {\simpleiconsmap\symbol{"F037}}
+ \expandafter\def\csname simpleicon@logitechicon\endcsname {\simpleiconsmap\symbol{"F038}}
+ \expandafter\def\csname simpleicon@logitechgicon\endcsname {\simpleiconsmap\symbol{"F039}}
+ \expandafter\def\csname simpleicon@logmeinicon\endcsname {\simpleiconsmap\symbol{"F03A}}
+ \expandafter\def\csname simpleicon@logseqicon\endcsname {\simpleiconsmap\symbol{"F03B}}
+ \expandafter\def\csname simpleicon@logstashicon\endcsname {\simpleiconsmap\symbol{"F03C}}
+ \expandafter\def\csname simpleicon@lookericon\endcsname {\simpleiconsmap\symbol{"F03D}}
+ \expandafter\def\csname simpleicon@loomicon\endcsname {\simpleiconsmap\symbol{"F03E}}
+ \expandafter\def\csname simpleicon@loopicon\endcsname {\simpleiconsmap\symbol{"F03F}}
+ \expandafter\def\csname simpleicon@loopbackicon\endcsname {\simpleiconsmap\symbol{"F040}}
+ \expandafter\def\csname simpleicon@lootcrateicon\endcsname {\simpleiconsmap\symbol{"F041}}
+ \expandafter\def\csname simpleicon@lospecicon\endcsname {\simpleiconsmap\symbol{"F042}}
+ \expandafter\def\csname simpleicon@lotpolishairlinesicon\endcsname {\simpleiconsmap\symbol{"F043}}
+ \expandafter\def\csname simpleicon@ltspiceicon\endcsname {\simpleiconsmap\symbol{"F044}}
+ \expandafter\def\csname simpleicon@luaicon\endcsname {\simpleiconsmap\symbol{"F045}}
+ \expandafter\def\csname simpleicon@lubuntuicon\endcsname {\simpleiconsmap\symbol{"F046}}
+ \expandafter\def\csname simpleicon@luciaicon\endcsname {\simpleiconsmap\symbol{"F047}}
+ \expandafter\def\csname simpleicon@lucidicon\endcsname {\simpleiconsmap\symbol{"F048}}
+ \expandafter\def\csname simpleicon@ludwigicon\endcsname {\simpleiconsmap\symbol{"F049}}
+ \expandafter\def\csname simpleicon@lufthansaicon\endcsname {\simpleiconsmap\symbol{"F04A}}
+ \expandafter\def\csname simpleicon@lumenicon\endcsname {\simpleiconsmap\symbol{"F04B}}
+ \expandafter\def\csname simpleicon@lunacyicon\endcsname {\simpleiconsmap\symbol{"F04C}}
+ \expandafter\def\csname simpleicon@lutrisicon\endcsname {\simpleiconsmap\symbol{"F04D}}
+ \expandafter\def\csname simpleicon@lydiaicon\endcsname {\simpleiconsmap\symbol{"F04E}}
+ \expandafter\def\csname simpleicon@lyfticon\endcsname {\simpleiconsmap\symbol{"F04F}}
+ \expandafter\def\csname simpleicon@maasicon\endcsname {\simpleiconsmap\symbol{"F050}}
+ \expandafter\def\csname simpleicon@macosicon\endcsname {\simpleiconsmap\symbol{"F051}}
+ \expandafter\def\csname simpleicon@macpawicon\endcsname {\simpleiconsmap\symbol{"F052}}
+ \expandafter\def\csname simpleicon@macysicon\endcsname {\simpleiconsmap\symbol{"F053}}
+ \expandafter\def\csname simpleicon@magasinsuicon\endcsname {\simpleiconsmap\symbol{"F054}}
+ \expandafter\def\csname simpleicon@magentoicon\endcsname {\simpleiconsmap\symbol{"F055}}
+ \expandafter\def\csname simpleicon@magicicon\endcsname {\simpleiconsmap\symbol{"F056}}
+ \expandafter\def\csname simpleicon@magiskicon\endcsname {\simpleiconsmap\symbol{"F057}}
+ \expandafter\def\csname simpleicon@mahindraicon\endcsname {\simpleiconsmap\symbol{"F058}}
+ \expandafter\def\csname simpleicon@mailchimpicon\endcsname {\simpleiconsmap\symbol{"F059}}
+ \expandafter\def\csname simpleicon@maildotcomicon\endcsname {\simpleiconsmap\symbol{"F05A}}
+ \expandafter\def\csname simpleicon@maildotruicon\endcsname {\simpleiconsmap\symbol{"F05B}}
+ \expandafter\def\csname simpleicon@mailgunicon\endcsname {\simpleiconsmap\symbol{"F05C}}
+ \expandafter\def\csname simpleicon@mailtrapicon\endcsname {\simpleiconsmap\symbol{"F05D}}
+ \expandafter\def\csname simpleicon@mainwpicon\endcsname {\simpleiconsmap\symbol{"F05E}}
+ \expandafter\def\csname simpleicon@majorleaguehackingicon\endcsname {\simpleiconsmap\symbol{"F05F}}
+ \expandafter\def\csname simpleicon@makeicon\endcsname {\simpleiconsmap\symbol{"F060}}
+ \expandafter\def\csname simpleicon@makerboticon\endcsname {\simpleiconsmap\symbol{"F061}}
+ \expandafter\def\csname simpleicon@malticon\endcsname {\simpleiconsmap\symbol{"F062}}
+ \expandafter\def\csname simpleicon@malwarebytesicon\endcsname {\simpleiconsmap\symbol{"F063}}
+ \expandafter\def\csname simpleicon@mambauiicon\endcsname {\simpleiconsmap\symbol{"F064}}
+ \expandafter\def\csname simpleicon@mampicon\endcsname {\simpleiconsmap\symbol{"F065}}
+ \expandafter\def\csname simpleicon@manicon\endcsname {\simpleiconsmap\symbol{"F066}}
+ \expandafter\def\csname simpleicon@manageiqicon\endcsname {\simpleiconsmap\symbol{"F067}}
+ \expandafter\def\csname simpleicon@manjaroicon\endcsname {\simpleiconsmap\symbol{"F068}}
+ \expandafter\def\csname simpleicon@mantineicon\endcsname {\simpleiconsmap\symbol{"F069}}
+ \expandafter\def\csname simpleicon@mapboxicon\endcsname {\simpleiconsmap\symbol{"F06A}}
+ \expandafter\def\csname simpleicon@maplibreicon\endcsname {\simpleiconsmap\symbol{"F06B}}
+ \expandafter\def\csname simpleicon@mariadbicon\endcsname {\simpleiconsmap\symbol{"F06C}}
+ \expandafter\def\csname simpleicon@mariadbfoundationicon\endcsname {\simpleiconsmap\symbol{"F06D}}
+ \expandafter\def\csname simpleicon@markdownicon\endcsname {\simpleiconsmap\symbol{"F06E}}
+ \expandafter\def\csname simpleicon@marketoicon\endcsname {\simpleiconsmap\symbol{"F06F}}
+ \expandafter\def\csname simpleicon@markoicon\endcsname {\simpleiconsmap\symbol{"F070}}
+ \expandafter\def\csname simpleicon@marriotticon\endcsname {\simpleiconsmap\symbol{"F071}}
+ \expandafter\def\csname simpleicon@marvelappicon\endcsname {\simpleiconsmap\symbol{"F072}}
+ \expandafter\def\csname simpleicon@maseratiicon\endcsname {\simpleiconsmap\symbol{"F073}}
+ \expandafter\def\csname simpleicon@mastercardicon\endcsname {\simpleiconsmap\symbol{"F074}}
+ \expandafter\def\csname simpleicon@mastercomfigicon\endcsname {\simpleiconsmap\symbol{"F075}}
+ \expandafter\def\csname simpleicon@mastodonicon\endcsname {\simpleiconsmap\symbol{"F076}}
+ \expandafter\def\csname simpleicon@materialdesignicon\endcsname {\simpleiconsmap\symbol{"F077}}
+ \expandafter\def\csname simpleicon@materialdesigniconsicon\endcsname {\simpleiconsmap\symbol{"F078}}
+ \expandafter\def\csname simpleicon@materialformkdocsicon\endcsname {\simpleiconsmap\symbol{"F079}}
+ \expandafter\def\csname simpleicon@matillionicon\endcsname {\simpleiconsmap\symbol{"F07A}}
+ \expandafter\def\csname simpleicon@matomoicon\endcsname {\simpleiconsmap\symbol{"F07B}}
+ \expandafter\def\csname simpleicon@matrixicon\endcsname {\simpleiconsmap\symbol{"F07C}}
+ \expandafter\def\csname simpleicon@matterdotjsicon\endcsname {\simpleiconsmap\symbol{"F07D}}
+ \expandafter\def\csname simpleicon@mattermosticon\endcsname {\simpleiconsmap\symbol{"F07E}}
+ \expandafter\def\csname simpleicon@matterneticon\endcsname {\simpleiconsmap\symbol{"F07F}}
+ \expandafter\def\csname simpleicon@mauticicon\endcsname {\simpleiconsmap\symbol{"F080}}
+ \expandafter\def\csname simpleicon@maxicon\endcsname {\simpleiconsmap\symbol{"F081}}
+ \expandafter\def\csname simpleicon@maxplanckgesellschafticon\endcsname {\simpleiconsmap\symbol{"F082}}
+ \expandafter\def\csname simpleicon@maytagicon\endcsname {\simpleiconsmap\symbol{"F083}}
+ \expandafter\def\csname simpleicon@mazdaicon\endcsname {\simpleiconsmap\symbol{"F084}}
+ \expandafter\def\csname simpleicon@mcafeeicon\endcsname {\simpleiconsmap\symbol{"F085}}
+ \expandafter\def\csname simpleicon@mcdonaldsicon\endcsname {\simpleiconsmap\symbol{"F086}}
+ \expandafter\def\csname simpleicon@mclarenicon\endcsname {\simpleiconsmap\symbol{"F087}}
+ \expandafter\def\csname simpleicon@mdbookicon\endcsname {\simpleiconsmap\symbol{"F088}}
+ \expandafter\def\csname simpleicon@mdnwebdocsicon\endcsname {\simpleiconsmap\symbol{"F089}}
+ \expandafter\def\csname simpleicon@mdxicon\endcsname {\simpleiconsmap\symbol{"F08A}}
+ \expandafter\def\csname simpleicon@mediafireicon\endcsname {\simpleiconsmap\symbol{"F08B}}
+ \expandafter\def\csname simpleicon@mediamarkticon\endcsname {\simpleiconsmap\symbol{"F08C}}
+ \expandafter\def\csname simpleicon@mediatekicon\endcsname {\simpleiconsmap\symbol{"F08D}}
+ \expandafter\def\csname simpleicon@medibangpainticon\endcsname {\simpleiconsmap\symbol{"F08E}}
+ \expandafter\def\csname simpleicon@mediumicon\endcsname {\simpleiconsmap\symbol{"F08F}}
+ \expandafter\def\csname simpleicon@medusaicon\endcsname {\simpleiconsmap\symbol{"F090}}
+ \expandafter\def\csname simpleicon@meetupicon\endcsname {\simpleiconsmap\symbol{"F091}}
+ \expandafter\def\csname simpleicon@megaicon\endcsname {\simpleiconsmap\symbol{"F092}}
+ \expandafter\def\csname simpleicon@meilisearchicon\endcsname {\simpleiconsmap\symbol{"F093}}
+ \expandafter\def\csname simpleicon@meituanicon\endcsname {\simpleiconsmap\symbol{"F094}}
+ \expandafter\def\csname simpleicon@meizuicon\endcsname {\simpleiconsmap\symbol{"F095}}
+ \expandafter\def\csname simpleicon@mendeleyicon\endcsname {\simpleiconsmap\symbol{"F096}}
+ \expandafter\def\csname simpleicon@mentorcruiseicon\endcsname {\simpleiconsmap\symbol{"F097}}
+ \expandafter\def\csname simpleicon@mercadopagoicon\endcsname {\simpleiconsmap\symbol{"F098}}
+ \expandafter\def\csname simpleicon@mercedesicon\endcsname {\simpleiconsmap\symbol{"F099}}
+ \expandafter\def\csname simpleicon@merckicon\endcsname {\simpleiconsmap\symbol{"F09A}}
+ \expandafter\def\csname simpleicon@mercurialicon\endcsname {\simpleiconsmap\symbol{"F09B}}
+ \expandafter\def\csname simpleicon@mermaidicon\endcsname {\simpleiconsmap\symbol{"F09C}}
+ \expandafter\def\csname simpleicon@messengericon\endcsname {\simpleiconsmap\symbol{"F09D}}
+ \expandafter\def\csname simpleicon@metaicon\endcsname {\simpleiconsmap\symbol{"F09E}}
+ \expandafter\def\csname simpleicon@metabaseicon\endcsname {\simpleiconsmap\symbol{"F09F}}
+ \expandafter\def\csname simpleicon@metacriticicon\endcsname {\simpleiconsmap\symbol{"F0A0}}
+ \expandafter\def\csname simpleicon@metafiltericon\endcsname {\simpleiconsmap\symbol{"F0A1}}
+ \expandafter\def\csname simpleicon@metasploiticon\endcsname {\simpleiconsmap\symbol{"F0A2}}
+ \expandafter\def\csname simpleicon@meteoricon\endcsname {\simpleiconsmap\symbol{"F0A3}}
+ \expandafter\def\csname simpleicon@metroicon\endcsname {\simpleiconsmap\symbol{"F0A4}}
+ \expandafter\def\csname simpleicon@metrodelaciudaddemexicoicon\endcsname {\simpleiconsmap\symbol{"F0A5}}
+ \expandafter\def\csname simpleicon@metrodemadridicon\endcsname {\simpleiconsmap\symbol{"F0A6}}
+ \expandafter\def\csname simpleicon@metrodeparisicon\endcsname {\simpleiconsmap\symbol{"F0A7}}
+ \expandafter\def\csname simpleicon@meweicon\endcsname {\simpleiconsmap\symbol{"F0A8}}
+ \expandafter\def\csname simpleicon@mgicon\endcsname {\simpleiconsmap\symbol{"F0A9}}
+ \expandafter\def\csname simpleicon@microbiticon\endcsname {\simpleiconsmap\symbol{"F0AA}}
+ \expandafter\def\csname simpleicon@microdotblogicon\endcsname {\simpleiconsmap\symbol{"F0AB}}
+ \expandafter\def\csname simpleicon@microeditoricon\endcsname {\simpleiconsmap\symbol{"F0AC}}
+ \expandafter\def\csname simpleicon@microgeneticsicon\endcsname {\simpleiconsmap\symbol{"F0AD}}
+ \expandafter\def\csname simpleicon@micropythonicon\endcsname {\simpleiconsmap\symbol{"F0AE}}
+ \expandafter\def\csname simpleicon@microstationicon\endcsname {\simpleiconsmap\symbol{"F0AF}}
+ \expandafter\def\csname simpleicon@microstrategyicon\endcsname {\simpleiconsmap\symbol{"F0B0}}
+ \expandafter\def\csname simpleicon@midiicon\endcsname {\simpleiconsmap\symbol{"F0B1}}
+ \expandafter\def\csname simpleicon@migaduicon\endcsname {\simpleiconsmap\symbol{"F0B2}}
+ \expandafter\def\csname simpleicon@mikrotikicon\endcsname {\simpleiconsmap\symbol{"F0B3}}
+ \expandafter\def\csname simpleicon@milanoteicon\endcsname {\simpleiconsmap\symbol{"F0B4}}
+ \expandafter\def\csname simpleicon@milvusicon\endcsname {\simpleiconsmap\symbol{"F0B5}}
+ \expandafter\def\csname simpleicon@mindsicon\endcsname {\simpleiconsmap\symbol{"F0B6}}
+ \expandafter\def\csname simpleicon@minetesticon\endcsname {\simpleiconsmap\symbol{"F0B7}}
+ \expandafter\def\csname simpleicon@miniicon\endcsname {\simpleiconsmap\symbol{"F0B8}}
+ \expandafter\def\csname simpleicon@minioicon\endcsname {\simpleiconsmap\symbol{"F0B9}}
+ \expandafter\def\csname simpleicon@mintlifyicon\endcsname {\simpleiconsmap\symbol{"F0BA}}
+ \expandafter\def\csname simpleicon@minutemailericon\endcsname {\simpleiconsmap\symbol{"F0BB}}
+ \expandafter\def\csname simpleicon@mirahezeicon\endcsname {\simpleiconsmap\symbol{"F0BC}}
+ \expandafter\def\csname simpleicon@miroicon\endcsname {\simpleiconsmap\symbol{"F0BD}}
+ \expandafter\def\csname simpleicon@misskeyicon\endcsname {\simpleiconsmap\symbol{"F0BE}}
+ \expandafter\def\csname simpleicon@mitsubishiicon\endcsname {\simpleiconsmap\symbol{"F0BF}}
+ \expandafter\def\csname simpleicon@mixicon\endcsname {\simpleiconsmap\symbol{"F0C0}}
+ \expandafter\def\csname simpleicon@mixcloudicon\endcsname {\simpleiconsmap\symbol{"F0C1}}
+ \expandafter\def\csname simpleicon@mixpanelicon\endcsname {\simpleiconsmap\symbol{"F0C2}}
+ \expandafter\def\csname simpleicon@mlbicon\endcsname {\simpleiconsmap\symbol{"F0C3}}
+ \expandafter\def\csname simpleicon@mlflowicon\endcsname {\simpleiconsmap\symbol{"F0C4}}
+ \expandafter\def\csname simpleicon@mobxicon\endcsname {\simpleiconsmap\symbol{"F0C5}}
+ \expandafter\def\csname simpleicon@mobxstatetreeicon\endcsname {\simpleiconsmap\symbol{"F0C6}}
+ \expandafter\def\csname simpleicon@mochaicon\endcsname {\simpleiconsmap\symbol{"F0C7}}
+ \expandafter\def\csname simpleicon@mockserviceworkericon\endcsname {\simpleiconsmap\symbol{"F0C8}}
+ \expandafter\def\csname simpleicon@modalicon\endcsname {\simpleiconsmap\symbol{"F0C9}}
+ \expandafter\def\csname simpleicon@modinicon\endcsname {\simpleiconsmap\symbol{"F0CA}}
+ \expandafter\def\csname simpleicon@modrinthicon\endcsname {\simpleiconsmap\symbol{"F0CB}}
+ \expandafter\def\csname simpleicon@modxicon\endcsname {\simpleiconsmap\symbol{"F0CC}}
+ \expandafter\def\csname simpleicon@moleculericon\endcsname {\simpleiconsmap\symbol{"F0CD}}
+ \expandafter\def\csname simpleicon@momenteoicon\endcsname {\simpleiconsmap\symbol{"F0CE}}
+ \expandafter\def\csname simpleicon@moneroicon\endcsname {\simpleiconsmap\symbol{"F0CF}}
+ \expandafter\def\csname simpleicon@moneygramicon\endcsname {\simpleiconsmap\symbol{"F0D0}}
+ \expandafter\def\csname simpleicon@mongodbicon\endcsname {\simpleiconsmap\symbol{"F0D1}}
+ \expandafter\def\csname simpleicon@mongooseicon\endcsname {\simpleiconsmap\symbol{"F0D2}}
+ \expandafter\def\csname simpleicon@mongoosedotwsicon\endcsname {\simpleiconsmap\symbol{"F0D3}}
+ \expandafter\def\csname simpleicon@monicaicon\endcsname {\simpleiconsmap\symbol{"F0D4}}
+ \expandafter\def\csname simpleicon@monkeytieicon\endcsname {\simpleiconsmap\symbol{"F0D5}}
+ \expandafter\def\csname simpleicon@monkeytypeicon\endcsname {\simpleiconsmap\symbol{"F0D6}}
+ \expandafter\def\csname simpleicon@monogameicon\endcsname {\simpleiconsmap\symbol{"F0D7}}
+ \expandafter\def\csname simpleicon@monoprixicon\endcsname {\simpleiconsmap\symbol{"F0D8}}
+ \expandafter\def\csname simpleicon@monstericon\endcsname {\simpleiconsmap\symbol{"F0D9}}
+ \expandafter\def\csname simpleicon@monzoicon\endcsname {\simpleiconsmap\symbol{"F0DA}}
+ \expandafter\def\csname simpleicon@mooicon\endcsname {\simpleiconsmap\symbol{"F0DB}}
+ \expandafter\def\csname simpleicon@moodleicon\endcsname {\simpleiconsmap\symbol{"F0DC}}
+ \expandafter\def\csname simpleicon@moonrepoicon\endcsname {\simpleiconsmap\symbol{"F0DD}}
+ \expandafter\def\csname simpleicon@moqicon\endcsname {\simpleiconsmap\symbol{"F0DE}}
+ \expandafter\def\csname simpleicon@moqupsicon\endcsname {\simpleiconsmap\symbol{"F0DF}}
+ \expandafter\def\csname simpleicon@morrisonsicon\endcsname {\simpleiconsmap\symbol{"F0E0}}
+ \expandafter\def\csname simpleicon@moscowmetroicon\endcsname {\simpleiconsmap\symbol{"F0E1}}
+ \expandafter\def\csname simpleicon@motorolaicon\endcsname {\simpleiconsmap\symbol{"F0E2}}
+ \expandafter\def\csname simpleicon@mozillaicon\endcsname {\simpleiconsmap\symbol{"F0E3}}
+ \expandafter\def\csname simpleicon@mpvicon\endcsname {\simpleiconsmap\symbol{"F0E4}}
+ \expandafter\def\csname simpleicon@mqtticon\endcsname {\simpleiconsmap\symbol{"F0E5}}
+ \expandafter\def\csname simpleicon@msiicon\endcsname {\simpleiconsmap\symbol{"F0E6}}
+ \expandafter\def\csname simpleicon@msibusinessicon\endcsname {\simpleiconsmap\symbol{"F0E7}}
+ \expandafter\def\csname simpleicon@mtaicon\endcsname {\simpleiconsmap\symbol{"F0E8}}
+ \expandafter\def\csname simpleicon@mtricon\endcsname {\simpleiconsmap\symbol{"F0E9}}
+ \expandafter\def\csname simpleicon@mubiicon\endcsname {\simpleiconsmap\symbol{"F0EA}}
+ \expandafter\def\csname simpleicon@muiicon\endcsname {\simpleiconsmap\symbol{"F0EB}}
+ \expandafter\def\csname simpleicon@mulesofticon\endcsname {\simpleiconsmap\symbol{"F0EC}}
+ \expandafter\def\csname simpleicon@mullericon\endcsname {\simpleiconsmap\symbol{"F0ED}}
+ \expandafter\def\csname simpleicon@multisimicon\endcsname {\simpleiconsmap\symbol{"F0EE}}
+ \expandafter\def\csname simpleicon@mumbleicon\endcsname {\simpleiconsmap\symbol{"F0EF}}
+ \expandafter\def\csname simpleicon@muoicon\endcsname {\simpleiconsmap\symbol{"F0F0}}
+ \expandafter\def\csname simpleicon@muralicon\endcsname {\simpleiconsmap\symbol{"F0F1}}
+ \expandafter\def\csname simpleicon@musescoreicon\endcsname {\simpleiconsmap\symbol{"F0F2}}
+ \expandafter\def\csname simpleicon@musicbrainzicon\endcsname {\simpleiconsmap\symbol{"F0F3}}
+ \expandafter\def\csname simpleicon@mxlinuxicon\endcsname {\simpleiconsmap\symbol{"F0F4}}
+ \expandafter\def\csname simpleicon@myanimelisticon\endcsname {\simpleiconsmap\symbol{"F0F5}}
+ \expandafter\def\csname simpleicon@mygeticon\endcsname {\simpleiconsmap\symbol{"F0F6}}
+ \expandafter\def\csname simpleicon@myobicon\endcsname {\simpleiconsmap\symbol{"F0F7}}
+ \expandafter\def\csname simpleicon@myspaceicon\endcsname {\simpleiconsmap\symbol{"F0F8}}
+ \expandafter\def\csname simpleicon@mysqlicon\endcsname {\simpleiconsmap\symbol{"F0F9}}
+ \expandafter\def\csname simpleicon@n26icon\endcsname {\simpleiconsmap\symbol{"F0FA}}
+ \expandafter\def\csname simpleicon@n8nicon\endcsname {\simpleiconsmap\symbol{"F0FB}}
+ \expandafter\def\csname simpleicon@namebaseicon\endcsname {\simpleiconsmap\symbol{"F0FC}}
+ \expandafter\def\csname simpleicon@namecheapicon\endcsname {\simpleiconsmap\symbol{"F0FD}}
+ \expandafter\def\csname simpleicon@namemcicon\endcsname {\simpleiconsmap\symbol{"F0FE}}
+ \expandafter\def\csname simpleicon@namesiloicon\endcsname {\simpleiconsmap\symbol{"F0FF}}
+ \expandafter\def\csname simpleicon@namuwikiicon\endcsname {\simpleiconsmap\symbol{"F100}}
+ \expandafter\def\csname simpleicon@nanoicon\endcsname {\simpleiconsmap\symbol{"F101}}
+ \expandafter\def\csname simpleicon@nasaicon\endcsname {\simpleiconsmap\symbol{"F102}}
+ \expandafter\def\csname simpleicon@nationalgridicon\endcsname {\simpleiconsmap\symbol{"F103}}
+ \expandafter\def\csname simpleicon@nationalrailicon\endcsname {\simpleiconsmap\symbol{"F104}}
+ \expandafter\def\csname simpleicon@nativescripticon\endcsname {\simpleiconsmap\symbol{"F105}}
+ \expandafter\def\csname simpleicon@natsdotioicon\endcsname {\simpleiconsmap\symbol{"F106}}
+ \expandafter\def\csname simpleicon@navericon\endcsname {\simpleiconsmap\symbol{"F107}}
+ \expandafter\def\csname simpleicon@nbaicon\endcsname {\simpleiconsmap\symbol{"F108}}
+ \expandafter\def\csname simpleicon@nbbicon\endcsname {\simpleiconsmap\symbol{"F109}}
+ \expandafter\def\csname simpleicon@nbcicon\endcsname {\simpleiconsmap\symbol{"F10A}}
+ \expandafter\def\csname simpleicon@ndricon\endcsname {\simpleiconsmap\symbol{"F10B}}
+ \expandafter\def\csname simpleicon@nearicon\endcsname {\simpleiconsmap\symbol{"F10C}}
+ \expandafter\def\csname simpleicon@necicon\endcsname {\simpleiconsmap\symbol{"F10D}}
+ \expandafter\def\csname simpleicon@neo4jicon\endcsname {\simpleiconsmap\symbol{"F10E}}
+ \expandafter\def\csname simpleicon@neovimicon\endcsname {\simpleiconsmap\symbol{"F10F}}
+ \expandafter\def\csname simpleicon@neptuneicon\endcsname {\simpleiconsmap\symbol{"F110}}
+ \expandafter\def\csname simpleicon@nestjsicon\endcsname {\simpleiconsmap\symbol{"F111}}
+ \expandafter\def\csname simpleicon@netappicon\endcsname {\simpleiconsmap\symbol{"F112}}
+ \expandafter\def\csname simpleicon@netbsdicon\endcsname {\simpleiconsmap\symbol{"F113}}
+ \expandafter\def\csname simpleicon@netcupicon\endcsname {\simpleiconsmap\symbol{"F114}}
+ \expandafter\def\csname simpleicon@netdataicon\endcsname {\simpleiconsmap\symbol{"F115}}
+ \expandafter\def\csname simpleicon@neteasecloudmusicicon\endcsname {\simpleiconsmap\symbol{"F116}}
+ \expandafter\def\csname simpleicon@netflixicon\endcsname {\simpleiconsmap\symbol{"F117}}
+ \expandafter\def\csname simpleicon@netgearicon\endcsname {\simpleiconsmap\symbol{"F118}}
+ \expandafter\def\csname simpleicon@netlifyicon\endcsname {\simpleiconsmap\symbol{"F119}}
+ \expandafter\def\csname simpleicon@netteicon\endcsname {\simpleiconsmap\symbol{"F11A}}
+ \expandafter\def\csname simpleicon@nettoicon\endcsname {\simpleiconsmap\symbol{"F11B}}
+ \expandafter\def\csname simpleicon@neutralinojsicon\endcsname {\simpleiconsmap\symbol{"F11C}}
+ \expandafter\def\csname simpleicon@newbalanceicon\endcsname {\simpleiconsmap\symbol{"F11D}}
+ \expandafter\def\csname simpleicon@neweggicon\endcsname {\simpleiconsmap\symbol{"F11E}}
+ \expandafter\def\csname simpleicon@newjapanprowrestlingicon\endcsname {\simpleiconsmap\symbol{"F11F}}
+ \expandafter\def\csname simpleicon@newrelicicon\endcsname {\simpleiconsmap\symbol{"F120}}
+ \expandafter\def\csname simpleicon@newyorktimesicon\endcsname {\simpleiconsmap\symbol{"F121}}
+ \expandafter\def\csname simpleicon@nextbilliondotaiicon\endcsname {\simpleiconsmap\symbol{"F122}}
+ \expandafter\def\csname simpleicon@nextcloudicon\endcsname {\simpleiconsmap\symbol{"F123}}
+ \expandafter\def\csname simpleicon@nextdnsicon\endcsname {\simpleiconsmap\symbol{"F124}}
+ \expandafter\def\csname simpleicon@nextdooricon\endcsname {\simpleiconsmap\symbol{"F125}}
+ \expandafter\def\csname simpleicon@nextdotjsicon\endcsname {\simpleiconsmap\symbol{"F126}}
+ \expandafter\def\csname simpleicon@nextraicon\endcsname {\simpleiconsmap\symbol{"F127}}
+ \expandafter\def\csname simpleicon@nextuiicon\endcsname {\simpleiconsmap\symbol{"F128}}
+ \expandafter\def\csname simpleicon@nexusmodsicon\endcsname {\simpleiconsmap\symbol{"F129}}
+ \expandafter\def\csname simpleicon@nfcicon\endcsname {\simpleiconsmap\symbol{"F12A}}
+ \expandafter\def\csname simpleicon@nginxicon\endcsname {\simpleiconsmap\symbol{"F12B}}
+ \expandafter\def\csname simpleicon@nginxproxymanagericon\endcsname {\simpleiconsmap\symbol{"F12C}}
+ \expandafter\def\csname simpleicon@ngrokicon\endcsname {\simpleiconsmap\symbol{"F12D}}
+ \expandafter\def\csname simpleicon@ngrxicon\endcsname {\simpleiconsmap\symbol{"F12E}}
+ \expandafter\def\csname simpleicon@nhlicon\endcsname {\simpleiconsmap\symbol{"F12F}}
+ \expandafter\def\csname simpleicon@nicehashicon\endcsname {\simpleiconsmap\symbol{"F130}}
+ \expandafter\def\csname simpleicon@niconicoicon\endcsname {\simpleiconsmap\symbol{"F131}}
+ \expandafter\def\csname simpleicon@nikeicon\endcsname {\simpleiconsmap\symbol{"F132}}
+ \expandafter\def\csname simpleicon@nikonicon\endcsname {\simpleiconsmap\symbol{"F133}}
+ \expandafter\def\csname simpleicon@nimicon\endcsname {\simpleiconsmap\symbol{"F134}}
+ \expandafter\def\csname simpleicon@nintendoicon\endcsname {\simpleiconsmap\symbol{"F135}}
+ \expandafter\def\csname simpleicon@nintendo3dsicon\endcsname {\simpleiconsmap\symbol{"F136}}
+ \expandafter\def\csname simpleicon@nintendogamecubeicon\endcsname {\simpleiconsmap\symbol{"F137}}
+ \expandafter\def\csname simpleicon@nintendoswitchicon\endcsname {\simpleiconsmap\symbol{"F138}}
+ \expandafter\def\csname simpleicon@nissanicon\endcsname {\simpleiconsmap\symbol{"F139}}
+ \expandafter\def\csname simpleicon@nixosicon\endcsname {\simpleiconsmap\symbol{"F13A}}
+ \expandafter\def\csname simpleicon@nodedotjsicon\endcsname {\simpleiconsmap\symbol{"F13B}}
+ \expandafter\def\csname simpleicon@nodemonicon\endcsname {\simpleiconsmap\symbol{"F13C}}
+ \expandafter\def\csname simpleicon@noderedicon\endcsname {\simpleiconsmap\symbol{"F13D}}
+ \expandafter\def\csname simpleicon@nokiaicon\endcsname {\simpleiconsmap\symbol{"F13E}}
+ \expandafter\def\csname simpleicon@nomadicon\endcsname {\simpleiconsmap\symbol{"F13F}}
+ \expandafter\def\csname simpleicon@norcoicon\endcsname {\simpleiconsmap\symbol{"F140}}
+ \expandafter\def\csname simpleicon@nordicsemiconductoricon\endcsname {\simpleiconsmap\symbol{"F141}}
+ \expandafter\def\csname simpleicon@nordvpnicon\endcsname {\simpleiconsmap\symbol{"F142}}
+ \expandafter\def\csname simpleicon@normalizedotcssicon\endcsname {\simpleiconsmap\symbol{"F143}}
+ \expandafter\def\csname simpleicon@nortonicon\endcsname {\simpleiconsmap\symbol{"F144}}
+ \expandafter\def\csname simpleicon@norwegianicon\endcsname {\simpleiconsmap\symbol{"F145}}
+ \expandafter\def\csname simpleicon@notepadplusplusicon\endcsname {\simpleiconsmap\symbol{"F146}}
+ \expandafter\def\csname simpleicon@notionicon\endcsname {\simpleiconsmap\symbol{"F147}}
+ \expandafter\def\csname simpleicon@notisticon\endcsname {\simpleiconsmap\symbol{"F148}}
+ \expandafter\def\csname simpleicon@nounprojecticon\endcsname {\simpleiconsmap\symbol{"F149}}
+ \expandafter\def\csname simpleicon@novuicon\endcsname {\simpleiconsmap\symbol{"F14A}}
+ \expandafter\def\csname simpleicon@nowicon\endcsname {\simpleiconsmap\symbol{"F14B}}
+ \expandafter\def\csname simpleicon@npmicon\endcsname {\simpleiconsmap\symbol{"F14C}}
+ \expandafter\def\csname simpleicon@nrwlicon\endcsname {\simpleiconsmap\symbol{"F14D}}
+ \expandafter\def\csname simpleicon@nsisicon\endcsname {\simpleiconsmap\symbol{"F14E}}
+ \expandafter\def\csname simpleicon@ntfyicon\endcsname {\simpleiconsmap\symbol{"F14F}}
+ \expandafter\def\csname simpleicon@nubankicon\endcsname {\simpleiconsmap\symbol{"F150}}
+ \expandafter\def\csname simpleicon@nucleoicon\endcsname {\simpleiconsmap\symbol{"F151}}
+ \expandafter\def\csname simpleicon@nugeticon\endcsname {\simpleiconsmap\symbol{"F152}}
+ \expandafter\def\csname simpleicon@nukeicon\endcsname {\simpleiconsmap\symbol{"F153}}
+ \expandafter\def\csname simpleicon@numbaicon\endcsname {\simpleiconsmap\symbol{"F154}}
+ \expandafter\def\csname simpleicon@numpyicon\endcsname {\simpleiconsmap\symbol{"F155}}
+ \expandafter\def\csname simpleicon@nunjucksicon\endcsname {\simpleiconsmap\symbol{"F156}}
+ \expandafter\def\csname simpleicon@nushellicon\endcsname {\simpleiconsmap\symbol{"F157}}
+ \expandafter\def\csname simpleicon@nutanixicon\endcsname {\simpleiconsmap\symbol{"F158}}
+ \expandafter\def\csname simpleicon@nuxtdotjsicon\endcsname {\simpleiconsmap\symbol{"F159}}
+ \expandafter\def\csname simpleicon@nvidiaicon\endcsname {\simpleiconsmap\symbol{"F15A}}
+ \expandafter\def\csname simpleicon@nvmicon\endcsname {\simpleiconsmap\symbol{"F15B}}
+ \expandafter\def\csname simpleicon@nxicon\endcsname {\simpleiconsmap\symbol{"F15C}}
+ \expandafter\def\csname simpleicon@nxpicon\endcsname {\simpleiconsmap\symbol{"F15D}}
+ \expandafter\def\csname simpleicon@nzxticon\endcsname {\simpleiconsmap\symbol{"F15E}}
+ \expandafter\def\csname simpleicon@observableicon\endcsname {\simpleiconsmap\symbol{"F15F}}
+ \expandafter\def\csname simpleicon@obsidianicon\endcsname {\simpleiconsmap\symbol{"F160}}
+ \expandafter\def\csname simpleicon@obsstudioicon\endcsname {\simpleiconsmap\symbol{"F161}}
+ \expandafter\def\csname simpleicon@ocamlicon\endcsname {\simpleiconsmap\symbol{"F162}}
+ \expandafter\def\csname simpleicon@oclificon\endcsname {\simpleiconsmap\symbol{"F163}}
+ \expandafter\def\csname simpleicon@octanerendericon\endcsname {\simpleiconsmap\symbol{"F164}}
+ \expandafter\def\csname simpleicon@octaveicon\endcsname {\simpleiconsmap\symbol{"F165}}
+ \expandafter\def\csname simpleicon@octobercmsicon\endcsname {\simpleiconsmap\symbol{"F166}}
+ \expandafter\def\csname simpleicon@octoprinticon\endcsname {\simpleiconsmap\symbol{"F167}}
+ \expandafter\def\csname simpleicon@octopusdeployicon\endcsname {\simpleiconsmap\symbol{"F168}}
+ \expandafter\def\csname simpleicon@oculusicon\endcsname {\simpleiconsmap\symbol{"F169}}
+ \expandafter\def\csname simpleicon@odnoklassnikiicon\endcsname {\simpleiconsmap\symbol{"F16A}}
+ \expandafter\def\csname simpleicon@odooicon\endcsname {\simpleiconsmap\symbol{"F16B}}
+ \expandafter\def\csname simpleicon@odyseeicon\endcsname {\simpleiconsmap\symbol{"F16C}}
+ \expandafter\def\csname simpleicon@ohdearicon\endcsname {\simpleiconsmap\symbol{"F16D}}
+ \expandafter\def\csname simpleicon@okcupidicon\endcsname {\simpleiconsmap\symbol{"F16E}}
+ \expandafter\def\csname simpleicon@oktaicon\endcsname {\simpleiconsmap\symbol{"F16F}}
+ \expandafter\def\csname simpleicon@oneplusicon\endcsname {\simpleiconsmap\symbol{"F170}}
+ \expandafter\def\csname simpleicon@onlyfansicon\endcsname {\simpleiconsmap\symbol{"F171}}
+ \expandafter\def\csname simpleicon@onlyofficeicon\endcsname {\simpleiconsmap\symbol{"F172}}
+ \expandafter\def\csname simpleicon@onnxicon\endcsname {\simpleiconsmap\symbol{"F173}}
+ \expandafter\def\csname simpleicon@onstaricon\endcsname {\simpleiconsmap\symbol{"F174}}
+ \expandafter\def\csname simpleicon@opelicon\endcsname {\simpleiconsmap\symbol{"F175}}
+ \expandafter\def\csname simpleicon@openaccessicon\endcsname {\simpleiconsmap\symbol{"F176}}
+ \expandafter\def\csname simpleicon@openaiicon\endcsname {\simpleiconsmap\symbol{"F177}}
+ \expandafter\def\csname simpleicon@openaigymicon\endcsname {\simpleiconsmap\symbol{"F178}}
+ \expandafter\def\csname simpleicon@openapiinitiativeicon\endcsname {\simpleiconsmap\symbol{"F179}}
+ \expandafter\def\csname simpleicon@openbadgesicon\endcsname {\simpleiconsmap\symbol{"F17A}}
+ \expandafter\def\csname simpleicon@openbsdicon\endcsname {\simpleiconsmap\symbol{"F17B}}
+ \expandafter\def\csname simpleicon@openbugbountyicon\endcsname {\simpleiconsmap\symbol{"F17C}}
+ \expandafter\def\csname simpleicon@opencollectiveicon\endcsname {\simpleiconsmap\symbol{"F17D}}
+ \expandafter\def\csname simpleicon@opencontainersinitiativeicon\endcsname {\simpleiconsmap\symbol{"F17E}}
+ \expandafter\def\csname simpleicon@opencvicon\endcsname {\simpleiconsmap\symbol{"F17F}}
+ \expandafter\def\csname simpleicon@openfaasicon\endcsname {\simpleiconsmap\symbol{"F180}}
+ \expandafter\def\csname simpleicon@openglicon\endcsname {\simpleiconsmap\symbol{"F181}}
+ \expandafter\def\csname simpleicon@openhabicon\endcsname {\simpleiconsmap\symbol{"F182}}
+ \expandafter\def\csname simpleicon@openidicon\endcsname {\simpleiconsmap\symbol{"F183}}
+ \expandafter\def\csname simpleicon@openjdkicon\endcsname {\simpleiconsmap\symbol{"F184}}
+ \expandafter\def\csname simpleicon@openjsfoundationicon\endcsname {\simpleiconsmap\symbol{"F185}}
+ \expandafter\def\csname simpleicon@openlayersicon\endcsname {\simpleiconsmap\symbol{"F186}}
+ \expandafter\def\csname simpleicon@openmediavaulticon\endcsname {\simpleiconsmap\symbol{"F187}}
+ \expandafter\def\csname simpleicon@openminedicon\endcsname {\simpleiconsmap\symbol{"F188}}
+ \expandafter\def\csname simpleicon@opennebulaicon\endcsname {\simpleiconsmap\symbol{"F189}}
+ \expandafter\def\csname simpleicon@openprojecticon\endcsname {\simpleiconsmap\symbol{"F18A}}
+ \expandafter\def\csname simpleicon@openscadicon\endcsname {\simpleiconsmap\symbol{"F18B}}
+ \expandafter\def\csname simpleicon@openseaicon\endcsname {\simpleiconsmap\symbol{"F18C}}
+ \expandafter\def\csname simpleicon@opensearchicon\endcsname {\simpleiconsmap\symbol{"F18D}}
+ \expandafter\def\csname simpleicon@opensourcehardwareicon\endcsname {\simpleiconsmap\symbol{"F18E}}
+ \expandafter\def\csname simpleicon@opensourceinitiativeicon\endcsname {\simpleiconsmap\symbol{"F18F}}
+ \expandafter\def\csname simpleicon@opensslicon\endcsname {\simpleiconsmap\symbol{"F190}}
+ \expandafter\def\csname simpleicon@openstackicon\endcsname {\simpleiconsmap\symbol{"F191}}
+ \expandafter\def\csname simpleicon@openstreetmapicon\endcsname {\simpleiconsmap\symbol{"F192}}
+ \expandafter\def\csname simpleicon@opensuseicon\endcsname {\simpleiconsmap\symbol{"F193}}
+ \expandafter\def\csname simpleicon@opentelemetryicon\endcsname {\simpleiconsmap\symbol{"F194}}
+ \expandafter\def\csname simpleicon@opentexticon\endcsname {\simpleiconsmap\symbol{"F195}}
+ \expandafter\def\csname simpleicon@opentofuicon\endcsname {\simpleiconsmap\symbol{"F196}}
+ \expandafter\def\csname simpleicon@openverseicon\endcsname {\simpleiconsmap\symbol{"F197}}
+ \expandafter\def\csname simpleicon@openvpnicon\endcsname {\simpleiconsmap\symbol{"F198}}
+ \expandafter\def\csname simpleicon@openwrticon\endcsname {\simpleiconsmap\symbol{"F199}}
+ \expandafter\def\csname simpleicon@openzeppelinicon\endcsname {\simpleiconsmap\symbol{"F19A}}
+ \expandafter\def\csname simpleicon@openzfsicon\endcsname {\simpleiconsmap\symbol{"F19B}}
+ \expandafter\def\csname simpleicon@operaicon\endcsname {\simpleiconsmap\symbol{"F19C}}
+ \expandafter\def\csname simpleicon@operagxicon\endcsname {\simpleiconsmap\symbol{"F19D}}
+ \expandafter\def\csname simpleicon@opnsenseicon\endcsname {\simpleiconsmap\symbol{"F19E}}
+ \expandafter\def\csname simpleicon@oppoicon\endcsname {\simpleiconsmap\symbol{"F19F}}
+ \expandafter\def\csname simpleicon@opsgenieicon\endcsname {\simpleiconsmap\symbol{"F1A0}}
+ \expandafter\def\csname simpleicon@opslevelicon\endcsname {\simpleiconsmap\symbol{"F1A1}}
+ \expandafter\def\csname simpleicon@optimismicon\endcsname {\simpleiconsmap\symbol{"F1A2}}
+ \expandafter\def\csname simpleicon@oracleicon\endcsname {\simpleiconsmap\symbol{"F1A3}}
+ \expandafter\def\csname simpleicon@orangeicon\endcsname {\simpleiconsmap\symbol{"F1A4}}
+ \expandafter\def\csname simpleicon@orcidicon\endcsname {\simpleiconsmap\symbol{"F1A5}}
+ \expandafter\def\csname simpleicon@oreillyicon\endcsname {\simpleiconsmap\symbol{"F1A6}}
+ \expandafter\def\csname simpleicon@orgicon\endcsname {\simpleiconsmap\symbol{"F1A7}}
+ \expandafter\def\csname simpleicon@organicmapsicon\endcsname {\simpleiconsmap\symbol{"F1A8}}
+ \expandafter\def\csname simpleicon@originicon\endcsname {\simpleiconsmap\symbol{"F1A9}}
+ \expandafter\def\csname simpleicon@osanoicon\endcsname {\simpleiconsmap\symbol{"F1AA}}
+ \expandafter\def\csname simpleicon@osficon\endcsname {\simpleiconsmap\symbol{"F1AB}}
+ \expandafter\def\csname simpleicon@osgeoicon\endcsname {\simpleiconsmap\symbol{"F1AC}}
+ \expandafter\def\csname simpleicon@oshkoshicon\endcsname {\simpleiconsmap\symbol{"F1AD}}
+ \expandafter\def\csname simpleicon@osmcicon\endcsname {\simpleiconsmap\symbol{"F1AE}}
+ \expandafter\def\csname simpleicon@osuicon\endcsname {\simpleiconsmap\symbol{"F1AF}}
+ \expandafter\def\csname simpleicon@ottoicon\endcsname {\simpleiconsmap\symbol{"F1B0}}
+ \expandafter\def\csname simpleicon@overcasticon\endcsname {\simpleiconsmap\symbol{"F1B1}}
+ \expandafter\def\csname simpleicon@overleaficon\endcsname {\simpleiconsmap\symbol{"F1B2}}
+ \expandafter\def\csname simpleicon@ovhicon\endcsname {\simpleiconsmap\symbol{"F1B3}}
+ \expandafter\def\csname simpleicon@owaspicon\endcsname {\simpleiconsmap\symbol{"F1B4}}
+ \expandafter\def\csname simpleicon@owncloudicon\endcsname {\simpleiconsmap\symbol{"F1B5}}
+ \expandafter\def\csname simpleicon@oxygenicon\endcsname {\simpleiconsmap\symbol{"F1B6}}
+ \expandafter\def\csname simpleicon@oyoicon\endcsname {\simpleiconsmap\symbol{"F1B7}}
+ \expandafter\def\csname simpleicon@p5dotjsicon\endcsname {\simpleiconsmap\symbol{"F1B8}}
+ \expandafter\def\csname simpleicon@packagisticon\endcsname {\simpleiconsmap\symbol{"F1B9}}
+ \expandafter\def\csname simpleicon@packericon\endcsname {\simpleiconsmap\symbol{"F1BA}}
+ \expandafter\def\csname simpleicon@packticon\endcsname {\simpleiconsmap\symbol{"F1BB}}
+ \expandafter\def\csname simpleicon@paddleicon\endcsname {\simpleiconsmap\symbol{"F1BC}}
+ \expandafter\def\csname simpleicon@paddlepaddleicon\endcsname {\simpleiconsmap\symbol{"F1BD}}
+ \expandafter\def\csname simpleicon@paddypowericon\endcsname {\simpleiconsmap\symbol{"F1BE}}
+ \expandafter\def\csname simpleicon@pagekiticon\endcsname {\simpleiconsmap\symbol{"F1BF}}
+ \expandafter\def\csname simpleicon@pagerdutyicon\endcsname {\simpleiconsmap\symbol{"F1C0}}
+ \expandafter\def\csname simpleicon@pagespeedinsightsicon\endcsname {\simpleiconsmap\symbol{"F1C1}}
+ \expandafter\def\csname simpleicon@pagseguroicon\endcsname {\simpleiconsmap\symbol{"F1C2}}
+ \expandafter\def\csname simpleicon@palantiricon\endcsname {\simpleiconsmap\symbol{"F1C3}}
+ \expandafter\def\csname simpleicon@paloaltonetworksicon\endcsname {\simpleiconsmap\symbol{"F1C4}}
+ \expandafter\def\csname simpleicon@paloaltosoftwareicon\endcsname {\simpleiconsmap\symbol{"F1C5}}
+ \expandafter\def\csname simpleicon@panasonicicon\endcsname {\simpleiconsmap\symbol{"F1C6}}
+ \expandafter\def\csname simpleicon@pandasicon\endcsname {\simpleiconsmap\symbol{"F1C7}}
+ \expandafter\def\csname simpleicon@pandoraicon\endcsname {\simpleiconsmap\symbol{"F1C8}}
+ \expandafter\def\csname simpleicon@pantheonicon\endcsname {\simpleiconsmap\symbol{"F1C9}}
+ \expandafter\def\csname simpleicon@paperlessngxicon\endcsname {\simpleiconsmap\symbol{"F1CA}}
+ \expandafter\def\csname simpleicon@paperspaceicon\endcsname {\simpleiconsmap\symbol{"F1CB}}
+ \expandafter\def\csname simpleicon@paperswithcodeicon\endcsname {\simpleiconsmap\symbol{"F1CC}}
+ \expandafter\def\csname simpleicon@paramountplusicon\endcsname {\simpleiconsmap\symbol{"F1CD}}
+ \expandafter\def\csname simpleicon@paritysubstrateicon\endcsname {\simpleiconsmap\symbol{"F1CE}}
+ \expandafter\def\csname simpleicon@parrotsecurityicon\endcsname {\simpleiconsmap\symbol{"F1CF}}
+ \expandafter\def\csname simpleicon@parsedotlyicon\endcsname {\simpleiconsmap\symbol{"F1D0}}
+ \expandafter\def\csname simpleicon@passporticon\endcsname {\simpleiconsmap\symbol{"F1D1}}
+ \expandafter\def\csname simpleicon@pastebinicon\endcsname {\simpleiconsmap\symbol{"F1D2}}
+ \expandafter\def\csname simpleicon@patreonicon\endcsname {\simpleiconsmap\symbol{"F1D3}}
+ \expandafter\def\csname simpleicon@paychexicon\endcsname {\simpleiconsmap\symbol{"F1D4}}
+ \expandafter\def\csname simpleicon@payhipicon\endcsname {\simpleiconsmap\symbol{"F1D5}}
+ \expandafter\def\csname simpleicon@payloadcmsicon\endcsname {\simpleiconsmap\symbol{"F1D6}}
+ \expandafter\def\csname simpleicon@payoneericon\endcsname {\simpleiconsmap\symbol{"F1D7}}
+ \expandafter\def\csname simpleicon@paypalicon\endcsname {\simpleiconsmap\symbol{"F1D8}}
+ \expandafter\def\csname simpleicon@paytmicon\endcsname {\simpleiconsmap\symbol{"F1D9}}
+ \expandafter\def\csname simpleicon@pcgamingwikiicon\endcsname {\simpleiconsmap\symbol{"F1DA}}
+ \expandafter\def\csname simpleicon@pdmicon\endcsname {\simpleiconsmap\symbol{"F1DB}}
+ \expandafter\def\csname simpleicon@pdqicon\endcsname {\simpleiconsmap\symbol{"F1DC}}
+ \expandafter\def\csname simpleicon@peakdesignicon\endcsname {\simpleiconsmap\symbol{"F1DD}}
+ \expandafter\def\csname simpleicon@pearsonicon\endcsname {\simpleiconsmap\symbol{"F1DE}}
+ \expandafter\def\csname simpleicon@peerlisticon\endcsname {\simpleiconsmap\symbol{"F1DF}}
+ \expandafter\def\csname simpleicon@peertubeicon\endcsname {\simpleiconsmap\symbol{"F1E0}}
+ \expandafter\def\csname simpleicon@pegasusairlinesicon\endcsname {\simpleiconsmap\symbol{"F1E1}}
+ \expandafter\def\csname simpleicon@pelicanicon\endcsname {\simpleiconsmap\symbol{"F1E2}}
+ \expandafter\def\csname simpleicon@pelotonicon\endcsname {\simpleiconsmap\symbol{"F1E3}}
+ \expandafter\def\csname simpleicon@pennyicon\endcsname {\simpleiconsmap\symbol{"F1E4}}
+ \expandafter\def\csname simpleicon@penpoticon\endcsname {\simpleiconsmap\symbol{"F1E5}}
+ \expandafter\def\csname simpleicon@percyicon\endcsname {\simpleiconsmap\symbol{"F1E6}}
+ \expandafter\def\csname simpleicon@perforceicon\endcsname {\simpleiconsmap\symbol{"F1E7}}
+ \expandafter\def\csname simpleicon@perlicon\endcsname {\simpleiconsmap\symbol{"F1E8}}
+ \expandafter\def\csname simpleicon@perplexityicon\endcsname {\simpleiconsmap\symbol{"F1E9}}
+ \expandafter\def\csname simpleicon@persistenticon\endcsname {\simpleiconsmap\symbol{"F1EA}}
+ \expandafter\def\csname simpleicon@personioicon\endcsname {\simpleiconsmap\symbol{"F1EB}}
+ \expandafter\def\csname simpleicon@petsathomeicon\endcsname {\simpleiconsmap\symbol{"F1EC}}
+ \expandafter\def\csname simpleicon@peugeoticon\endcsname {\simpleiconsmap\symbol{"F1ED}}
+ \expandafter\def\csname simpleicon@pexelsicon\endcsname {\simpleiconsmap\symbol{"F1EE}}
+ \expandafter\def\csname simpleicon@pfsenseicon\endcsname {\simpleiconsmap\symbol{"F1EF}}
+ \expandafter\def\csname simpleicon@phabricatoricon\endcsname {\simpleiconsmap\symbol{"F1F0}}
+ \expandafter\def\csname simpleicon@philipshueicon\endcsname {\simpleiconsmap\symbol{"F1F1}}
+ \expandafter\def\csname simpleicon@phoenixframeworkicon\endcsname {\simpleiconsmap\symbol{"F1F2}}
+ \expandafter\def\csname simpleicon@phonepeicon\endcsname {\simpleiconsmap\symbol{"F1F3}}
+ \expandafter\def\csname simpleicon@phosphoriconsicon\endcsname {\simpleiconsmap\symbol{"F1F4}}
+ \expandafter\def\csname simpleicon@photobucketicon\endcsname {\simpleiconsmap\symbol{"F1F5}}
+ \expandafter\def\csname simpleicon@photocrowdicon\endcsname {\simpleiconsmap\symbol{"F1F6}}
+ \expandafter\def\csname simpleicon@photonicon\endcsname {\simpleiconsmap\symbol{"F1F7}}
+ \expandafter\def\csname simpleicon@photopeaicon\endcsname {\simpleiconsmap\symbol{"F1F8}}
+ \expandafter\def\csname simpleicon@phpicon\endcsname {\simpleiconsmap\symbol{"F1F9}}
+ \expandafter\def\csname simpleicon@phpmyadminicon\endcsname {\simpleiconsmap\symbol{"F1FA}}
+ \expandafter\def\csname simpleicon@phpstormicon\endcsname {\simpleiconsmap\symbol{"F1FB}}
+ \expandafter\def\csname simpleicon@piaggiogroupicon\endcsname {\simpleiconsmap\symbol{"F1FC}}
+ \expandafter\def\csname simpleicon@piaproicon\endcsname {\simpleiconsmap\symbol{"F1FD}}
+ \expandafter\def\csname simpleicon@picardsurgelesicon\endcsname {\simpleiconsmap\symbol{"F1FE}}
+ \expandafter\def\csname simpleicon@picartodottvicon\endcsname {\simpleiconsmap\symbol{"F1FF}}
+ \expandafter\def\csname simpleicon@picnicicon\endcsname {\simpleiconsmap\symbol{"F200}}
+ \expandafter\def\csname simpleicon@picpayicon\endcsname {\simpleiconsmap\symbol{"F201}}
+ \expandafter\def\csname simpleicon@picrewicon\endcsname {\simpleiconsmap\symbol{"F202}}
+ \expandafter\def\csname simpleicon@picxyicon\endcsname {\simpleiconsmap\symbol{"F203}}
+ \expandafter\def\csname simpleicon@piholeicon\endcsname {\simpleiconsmap\symbol{"F204}}
+ \expandafter\def\csname simpleicon@pimcoreicon\endcsname {\simpleiconsmap\symbol{"F205}}
+ \expandafter\def\csname simpleicon@pinboardicon\endcsname {\simpleiconsmap\symbol{"F206}}
+ \expandafter\def\csname simpleicon@pinescripticon\endcsname {\simpleiconsmap\symbol{"F207}}
+ \expandafter\def\csname simpleicon@pinetworkicon\endcsname {\simpleiconsmap\symbol{"F208}}
+ \expandafter\def\csname simpleicon@pingdomicon\endcsname {\simpleiconsmap\symbol{"F209}}
+ \expandafter\def\csname simpleicon@pinoicon\endcsname {\simpleiconsmap\symbol{"F20A}}
+ \expandafter\def\csname simpleicon@pinteresticon\endcsname {\simpleiconsmap\symbol{"F20B}}
+ \expandafter\def\csname simpleicon@pioneerdjicon\endcsname {\simpleiconsmap\symbol{"F20C}}
+ \expandafter\def\csname simpleicon@pipedicon\endcsname {\simpleiconsmap\symbol{"F20D}}
+ \expandafter\def\csname simpleicon@pipxicon\endcsname {\simpleiconsmap\symbol{"F20E}}
+ \expandafter\def\csname simpleicon@pivotaltrackericon\endcsname {\simpleiconsmap\symbol{"F20F}}
+ \expandafter\def\csname simpleicon@piwigoicon\endcsname {\simpleiconsmap\symbol{"F210}}
+ \expandafter\def\csname simpleicon@pixicon\endcsname {\simpleiconsmap\symbol{"F211}}
+ \expandafter\def\csname simpleicon@pixabayicon\endcsname {\simpleiconsmap\symbol{"F212}}
+ \expandafter\def\csname simpleicon@pixelfedicon\endcsname {\simpleiconsmap\symbol{"F213}}
+ \expandafter\def\csname simpleicon@pixivicon\endcsname {\simpleiconsmap\symbol{"F214}}
+ \expandafter\def\csname simpleicon@pixlricon\endcsname {\simpleiconsmap\symbol{"F215}}
+ \expandafter\def\csname simpleicon@pkgsrcicon\endcsname {\simpleiconsmap\symbol{"F216}}
+ \expandafter\def\csname simpleicon@planeticon\endcsname {\simpleiconsmap\symbol{"F217}}
+ \expandafter\def\csname simpleicon@planetscaleicon\endcsname {\simpleiconsmap\symbol{"F218}}
+ \expandafter\def\csname simpleicon@plangridicon\endcsname {\simpleiconsmap\symbol{"F219}}
+ \expandafter\def\csname simpleicon@platformdotshicon\endcsname {\simpleiconsmap\symbol{"F21A}}
+ \expandafter\def\csname simpleicon@platformioicon\endcsname {\simpleiconsmap\symbol{"F21B}}
+ \expandafter\def\csname simpleicon@platziicon\endcsname {\simpleiconsmap\symbol{"F21C}}
+ \expandafter\def\csname simpleicon@plausibleanalyticsicon\endcsname {\simpleiconsmap\symbol{"F21D}}
+ \expandafter\def\csname simpleicon@playcanvasicon\endcsname {\simpleiconsmap\symbol{"F21E}}
+ \expandafter\def\csname simpleicon@playerdotmeicon\endcsname {\simpleiconsmap\symbol{"F21F}}
+ \expandafter\def\csname simpleicon@playerfmicon\endcsname {\simpleiconsmap\symbol{"F220}}
+ \expandafter\def\csname simpleicon@playstationicon\endcsname {\simpleiconsmap\symbol{"F221}}
+ \expandafter\def\csname simpleicon@playstation2icon\endcsname {\simpleiconsmap\symbol{"F222}}
+ \expandafter\def\csname simpleicon@playstation3icon\endcsname {\simpleiconsmap\symbol{"F223}}
+ \expandafter\def\csname simpleicon@playstation4icon\endcsname {\simpleiconsmap\symbol{"F224}}
+ \expandafter\def\csname simpleicon@playstation5icon\endcsname {\simpleiconsmap\symbol{"F225}}
+ \expandafter\def\csname simpleicon@playstationportableicon\endcsname {\simpleiconsmap\symbol{"F226}}
+ \expandafter\def\csname simpleicon@playstationvitaicon\endcsname {\simpleiconsmap\symbol{"F227}}
+ \expandafter\def\csname simpleicon@pleromaicon\endcsname {\simpleiconsmap\symbol{"F228}}
+ \expandafter\def\csname simpleicon@pleskicon\endcsname {\simpleiconsmap\symbol{"F229}}
+ \expandafter\def\csname simpleicon@plexicon\endcsname {\simpleiconsmap\symbol{"F22A}}
+ \expandafter\def\csname simpleicon@plotlyicon\endcsname {\simpleiconsmap\symbol{"F22B}}
+ \expandafter\def\csname simpleicon@plumeicon\endcsname {\simpleiconsmap\symbol{"F22C}}
+ \expandafter\def\csname simpleicon@pluralsighticon\endcsname {\simpleiconsmap\symbol{"F22D}}
+ \expandafter\def\csname simpleicon@plurkicon\endcsname {\simpleiconsmap\symbol{"F22E}}
+ \expandafter\def\csname simpleicon@pluscodesicon\endcsname {\simpleiconsmap\symbol{"F22F}}
+ \expandafter\def\csname simpleicon@pm2icon\endcsname {\simpleiconsmap\symbol{"F230}}
+ \expandafter\def\csname simpleicon@pnpmicon\endcsname {\simpleiconsmap\symbol{"F231}}
+ \expandafter\def\csname simpleicon@pocketicon\endcsname {\simpleiconsmap\symbol{"F232}}
+ \expandafter\def\csname simpleicon@pocketbaseicon\endcsname {\simpleiconsmap\symbol{"F233}}
+ \expandafter\def\csname simpleicon@pocketcastsicon\endcsname {\simpleiconsmap\symbol{"F234}}
+ \expandafter\def\csname simpleicon@podcastaddicticon\endcsname {\simpleiconsmap\symbol{"F235}}
+ \expandafter\def\csname simpleicon@podcastindexicon\endcsname {\simpleiconsmap\symbol{"F236}}
+ \expandafter\def\csname simpleicon@podmanicon\endcsname {\simpleiconsmap\symbol{"F237}}
+ \expandafter\def\csname simpleicon@poeicon\endcsname {\simpleiconsmap\symbol{"F238}}
+ \expandafter\def\csname simpleicon@poetryicon\endcsname {\simpleiconsmap\symbol{"F239}}
+ \expandafter\def\csname simpleicon@pointyicon\endcsname {\simpleiconsmap\symbol{"F23A}}
+ \expandafter\def\csname simpleicon@pokemonicon\endcsname {\simpleiconsmap\symbol{"F23B}}
+ \expandafter\def\csname simpleicon@polarsicon\endcsname {\simpleiconsmap\symbol{"F23C}}
+ \expandafter\def\csname simpleicon@polestaricon\endcsname {\simpleiconsmap\symbol{"F23D}}
+ \expandafter\def\csname simpleicon@polkadoticon\endcsname {\simpleiconsmap\symbol{"F23E}}
+ \expandafter\def\csname simpleicon@polyicon\endcsname {\simpleiconsmap\symbol{"F23F}}
+ \expandafter\def\csname simpleicon@polygonicon\endcsname {\simpleiconsmap\symbol{"F240}}
+ \expandafter\def\csname simpleicon@polymerprojecticon\endcsname {\simpleiconsmap\symbol{"F241}}
+ \expandafter\def\csname simpleicon@polyworkicon\endcsname {\simpleiconsmap\symbol{"F242}}
+ \expandafter\def\csname simpleicon@pond5icon\endcsname {\simpleiconsmap\symbol{"F243}}
+ \expandafter\def\csname simpleicon@poposicon\endcsname {\simpleiconsmap\symbol{"F244}}
+ \expandafter\def\csname simpleicon@porkbunicon\endcsname {\simpleiconsmap\symbol{"F245}}
+ \expandafter\def\csname simpleicon@porscheicon\endcsname {\simpleiconsmap\symbol{"F246}}
+ \expandafter\def\csname simpleicon@portainericon\endcsname {\simpleiconsmap\symbol{"F247}}
+ \expandafter\def\csname simpleicon@portswiggericon\endcsname {\simpleiconsmap\symbol{"F248}}
+ \expandafter\def\csname simpleicon@positicon\endcsname {\simpleiconsmap\symbol{"F249}}
+ \expandafter\def\csname simpleicon@postcssicon\endcsname {\simpleiconsmap\symbol{"F24A}}
+ \expandafter\def\csname simpleicon@postgresqlicon\endcsname {\simpleiconsmap\symbol{"F24B}}
+ \expandafter\def\csname simpleicon@posthogicon\endcsname {\simpleiconsmap\symbol{"F24C}}
+ \expandafter\def\csname simpleicon@postmanicon\endcsname {\simpleiconsmap\symbol{"F24D}}
+ \expandafter\def\csname simpleicon@postmatesicon\endcsname {\simpleiconsmap\symbol{"F24E}}
+ \expandafter\def\csname simpleicon@powersicon\endcsname {\simpleiconsmap\symbol{"F24F}}
+ \expandafter\def\csname simpleicon@prdotcoicon\endcsname {\simpleiconsmap\symbol{"F250}}
+ \expandafter\def\csname simpleicon@preacticon\endcsname {\simpleiconsmap\symbol{"F251}}
+ \expandafter\def\csname simpleicon@precommiticon\endcsname {\simpleiconsmap\symbol{"F252}}
+ \expandafter\def\csname simpleicon@prefecticon\endcsname {\simpleiconsmap\symbol{"F253}}
+ \expandafter\def\csname simpleicon@premierleagueicon\endcsname {\simpleiconsmap\symbol{"F254}}
+ \expandafter\def\csname simpleicon@prepbytesicon\endcsname {\simpleiconsmap\symbol{"F255}}
+ \expandafter\def\csname simpleicon@prestashopicon\endcsname {\simpleiconsmap\symbol{"F256}}
+ \expandafter\def\csname simpleicon@prestoicon\endcsname {\simpleiconsmap\symbol{"F257}}
+ \expandafter\def\csname simpleicon@prettiericon\endcsname {\simpleiconsmap\symbol{"F258}}
+ \expandafter\def\csname simpleicon@pretzelicon\endcsname {\simpleiconsmap\symbol{"F259}}
+ \expandafter\def\csname simpleicon@preventionicon\endcsname {\simpleiconsmap\symbol{"F25A}}
+ \expandafter\def\csname simpleicon@preziicon\endcsname {\simpleiconsmap\symbol{"F25B}}
+ \expandafter\def\csname simpleicon@primeicon\endcsname {\simpleiconsmap\symbol{"F25C}}
+ \expandafter\def\csname simpleicon@primengicon\endcsname {\simpleiconsmap\symbol{"F25D}}
+ \expandafter\def\csname simpleicon@primereacticon\endcsname {\simpleiconsmap\symbol{"F25E}}
+ \expandafter\def\csname simpleicon@primevideoicon\endcsname {\simpleiconsmap\symbol{"F25F}}
+ \expandafter\def\csname simpleicon@printablesicon\endcsname {\simpleiconsmap\symbol{"F260}}
+ \expandafter\def\csname simpleicon@prismaicon\endcsname {\simpleiconsmap\symbol{"F261}}
+ \expandafter\def\csname simpleicon@prismicicon\endcsname {\simpleiconsmap\symbol{"F262}}
+ \expandafter\def\csname simpleicon@privatedivisionicon\endcsname {\simpleiconsmap\symbol{"F263}}
+ \expandafter\def\csname simpleicon@privateinternetaccessicon\endcsname {\simpleiconsmap\symbol{"F264}}
+ \expandafter\def\csname simpleicon@proboticon\endcsname {\simpleiconsmap\symbol{"F265}}
+ \expandafter\def\csname simpleicon@processingfoundationicon\endcsname {\simpleiconsmap\symbol{"F266}}
+ \expandafter\def\csname simpleicon@processwireicon\endcsname {\simpleiconsmap\symbol{"F267}}
+ \expandafter\def\csname simpleicon@producthunticon\endcsname {\simpleiconsmap\symbol{"F268}}
+ \expandafter\def\csname simpleicon@progateicon\endcsname {\simpleiconsmap\symbol{"F269}}
+ \expandafter\def\csname simpleicon@progressicon\endcsname {\simpleiconsmap\symbol{"F26A}}
+ \expandafter\def\csname simpleicon@prometheusicon\endcsname {\simpleiconsmap\symbol{"F26B}}
+ \expandafter\def\csname simpleicon@pronounsdotpageicon\endcsname {\simpleiconsmap\symbol{"F26C}}
+ \expandafter\def\csname simpleicon@prosiebenicon\endcsname {\simpleiconsmap\symbol{"F26D}}
+ \expandafter\def\csname simpleicon@proteusicon\endcsname {\simpleiconsmap\symbol{"F26E}}
+ \expandafter\def\csname simpleicon@protocolsdotioicon\endcsname {\simpleiconsmap\symbol{"F26F}}
+ \expandafter\def\csname simpleicon@protodotioicon\endcsname {\simpleiconsmap\symbol{"F270}}
+ \expandafter\def\csname simpleicon@protonicon\endcsname {\simpleiconsmap\symbol{"F271}}
+ \expandafter\def\csname simpleicon@protoncalendaricon\endcsname {\simpleiconsmap\symbol{"F272}}
+ \expandafter\def\csname simpleicon@protondbicon\endcsname {\simpleiconsmap\symbol{"F273}}
+ \expandafter\def\csname simpleicon@protondriveicon\endcsname {\simpleiconsmap\symbol{"F274}}
+ \expandafter\def\csname simpleicon@protonmailicon\endcsname {\simpleiconsmap\symbol{"F275}}
+ \expandafter\def\csname simpleicon@protonvpnicon\endcsname {\simpleiconsmap\symbol{"F276}}
+ \expandafter\def\csname simpleicon@protoolsicon\endcsname {\simpleiconsmap\symbol{"F277}}
+ \expandafter\def\csname simpleicon@protractoricon\endcsname {\simpleiconsmap\symbol{"F278}}
+ \expandafter\def\csname simpleicon@proxmoxicon\endcsname {\simpleiconsmap\symbol{"F279}}
+ \expandafter\def\csname simpleicon@pterodactylicon\endcsname {\simpleiconsmap\symbol{"F27A}}
+ \expandafter\def\csname simpleicon@pubgicon\endcsname {\simpleiconsmap\symbol{"F27B}}
+ \expandafter\def\csname simpleicon@publonsicon\endcsname {\simpleiconsmap\symbol{"F27C}}
+ \expandafter\def\csname simpleicon@pubmedicon\endcsname {\simpleiconsmap\symbol{"F27D}}
+ \expandafter\def\csname simpleicon@pugicon\endcsname {\simpleiconsmap\symbol{"F27E}}
+ \expandafter\def\csname simpleicon@pulumiicon\endcsname {\simpleiconsmap\symbol{"F27F}}
+ \expandafter\def\csname simpleicon@pumaicon\endcsname {\simpleiconsmap\symbol{"F280}}
+ \expandafter\def\csname simpleicon@puppeticon\endcsname {\simpleiconsmap\symbol{"F281}}
+ \expandafter\def\csname simpleicon@puppeteericon\endcsname {\simpleiconsmap\symbol{"F282}}
+ \expandafter\def\csname simpleicon@purescripticon\endcsname {\simpleiconsmap\symbol{"F283}}
+ \expandafter\def\csname simpleicon@purgecssicon\endcsname {\simpleiconsmap\symbol{"F284}}
+ \expandafter\def\csname simpleicon@purismicon\endcsname {\simpleiconsmap\symbol{"F285}}
+ \expandafter\def\csname simpleicon@pushbulleticon\endcsname {\simpleiconsmap\symbol{"F286}}
+ \expandafter\def\csname simpleicon@pushericon\endcsname {\simpleiconsmap\symbol{"F287}}
+ \expandafter\def\csname simpleicon@pwaicon\endcsname {\simpleiconsmap\symbol{"F288}}
+ \expandafter\def\csname simpleicon@pycharmicon\endcsname {\simpleiconsmap\symbol{"F289}}
+ \expandafter\def\csname simpleicon@pycqaicon\endcsname {\simpleiconsmap\symbol{"F28A}}
+ \expandafter\def\csname simpleicon@pydanticicon\endcsname {\simpleiconsmap\symbol{"F28B}}
+ \expandafter\def\csname simpleicon@pygicon\endcsname {\simpleiconsmap\symbol{"F28C}}
+ \expandafter\def\csname simpleicon@pypiicon\endcsname {\simpleiconsmap\symbol{"F28D}}
+ \expandafter\def\csname simpleicon@pypyicon\endcsname {\simpleiconsmap\symbol{"F28E}}
+ \expandafter\def\csname simpleicon@pyscaffoldicon\endcsname {\simpleiconsmap\symbol{"F28F}}
+ \expandafter\def\csname simpleicon@pysyfticon\endcsname {\simpleiconsmap\symbol{"F290}}
+ \expandafter\def\csname simpleicon@pytesticon\endcsname {\simpleiconsmap\symbol{"F291}}
+ \expandafter\def\csname simpleicon@pythonicon\endcsname {\simpleiconsmap\symbol{"F292}}
+ \expandafter\def\csname simpleicon@pythonanywhereicon\endcsname {\simpleiconsmap\symbol{"F293}}
+ \expandafter\def\csname simpleicon@pytorchicon\endcsname {\simpleiconsmap\symbol{"F294}}
+ \expandafter\def\csname simpleicon@pyupicon\endcsname {\simpleiconsmap\symbol{"F295}}
+ \expandafter\def\csname simpleicon@qantasicon\endcsname {\simpleiconsmap\symbol{"F296}}
+ \expandafter\def\csname simpleicon@qaseicon\endcsname {\simpleiconsmap\symbol{"F297}}
+ \expandafter\def\csname simpleicon@qatarairwaysicon\endcsname {\simpleiconsmap\symbol{"F298}}
+ \expandafter\def\csname simpleicon@qbittorrenticon\endcsname {\simpleiconsmap\symbol{"F299}}
+ \expandafter\def\csname simpleicon@qemuicon\endcsname {\simpleiconsmap\symbol{"F29A}}
+ \expandafter\def\csname simpleicon@qgisicon\endcsname {\simpleiconsmap\symbol{"F29B}}
+ \expandafter\def\csname simpleicon@qiicon\endcsname {\simpleiconsmap\symbol{"F29C}}
+ \expandafter\def\csname simpleicon@qiitaicon\endcsname {\simpleiconsmap\symbol{"F29D}}
+ \expandafter\def\csname simpleicon@qiskiticon\endcsname {\simpleiconsmap\symbol{"F29E}}
+ \expandafter\def\csname simpleicon@qiwiicon\endcsname {\simpleiconsmap\symbol{"F29F}}
+ \expandafter\def\csname simpleicon@qlikicon\endcsname {\simpleiconsmap\symbol{"F2A0}}
+ \expandafter\def\csname simpleicon@qmkicon\endcsname {\simpleiconsmap\symbol{"F2A1}}
+ \expandafter\def\csname simpleicon@qnapicon\endcsname {\simpleiconsmap\symbol{"F2A2}}
+ \expandafter\def\csname simpleicon@qticon\endcsname {\simpleiconsmap\symbol{"F2A3}}
+ \expandafter\def\csname simpleicon@qualcommicon\endcsname {\simpleiconsmap\symbol{"F2A4}}
+ \expandafter\def\csname simpleicon@qualtricsicon\endcsname {\simpleiconsmap\symbol{"F2A5}}
+ \expandafter\def\csname simpleicon@qualysicon\endcsname {\simpleiconsmap\symbol{"F2A6}}
+ \expandafter\def\csname simpleicon@quantcasticon\endcsname {\simpleiconsmap\symbol{"F2A7}}
+ \expandafter\def\csname simpleicon@quantconnecticon\endcsname {\simpleiconsmap\symbol{"F2A8}}
+ \expandafter\def\csname simpleicon@quarkusicon\endcsname {\simpleiconsmap\symbol{"F2A9}}
+ \expandafter\def\csname simpleicon@quartoicon\endcsname {\simpleiconsmap\symbol{"F2AA}}
+ \expandafter\def\csname simpleicon@quasaricon\endcsname {\simpleiconsmap\symbol{"F2AB}}
+ \expandafter\def\csname simpleicon@qubesosicon\endcsname {\simpleiconsmap\symbol{"F2AC}}
+ \expandafter\def\csname simpleicon@questicon\endcsname {\simpleiconsmap\symbol{"F2AD}}
+ \expandafter\def\csname simpleicon@quickbooksicon\endcsname {\simpleiconsmap\symbol{"F2AE}}
+ \expandafter\def\csname simpleicon@quicklookicon\endcsname {\simpleiconsmap\symbol{"F2AF}}
+ \expandafter\def\csname simpleicon@quicktimeicon\endcsname {\simpleiconsmap\symbol{"F2B0}}
+ \expandafter\def\csname simpleicon@quicktypeicon\endcsname {\simpleiconsmap\symbol{"F2B1}}
+ \expandafter\def\csname simpleicon@quipicon\endcsname {\simpleiconsmap\symbol{"F2B2}}
+ \expandafter\def\csname simpleicon@quizleticon\endcsname {\simpleiconsmap\symbol{"F2B3}}
+ \expandafter\def\csname simpleicon@quoraicon\endcsname {\simpleiconsmap\symbol{"F2B4}}
+ \expandafter\def\csname simpleicon@qwanticon\endcsname {\simpleiconsmap\symbol{"F2B5}}
+ \expandafter\def\csname simpleicon@qwikicon\endcsname {\simpleiconsmap\symbol{"F2B6}}
+ \expandafter\def\csname simpleicon@qwiklabsicon\endcsname {\simpleiconsmap\symbol{"F2B7}}
+ \expandafter\def\csname simpleicon@qzoneicon\endcsname {\simpleiconsmap\symbol{"F2B8}}
+ \expandafter\def\csname simpleicon@ricon\endcsname {\simpleiconsmap\symbol{"F2B9}}
+ \expandafter\def\csname simpleicon@r3icon\endcsname {\simpleiconsmap\symbol{"F2BA}}
+ \expandafter\def\csname simpleicon@rabbitmqicon\endcsname {\simpleiconsmap\symbol{"F2BB}}
+ \expandafter\def\csname simpleicon@racketicon\endcsname {\simpleiconsmap\symbol{"F2BC}}
+ \expandafter\def\csname simpleicon@radaricon\endcsname {\simpleiconsmap\symbol{"F2BD}}
+ \expandafter\def\csname simpleicon@radarricon\endcsname {\simpleiconsmap\symbol{"F2BE}}
+ \expandafter\def\csname simpleicon@radiopublicicon\endcsname {\simpleiconsmap\symbol{"F2BF}}
+ \expandafter\def\csname simpleicon@radixuiicon\endcsname {\simpleiconsmap\symbol{"F2C0}}
+ \expandafter\def\csname simpleicon@radstudioicon\endcsname {\simpleiconsmap\symbol{"F2C1}}
+ \expandafter\def\csname simpleicon@railwayicon\endcsname {\simpleiconsmap\symbol{"F2C2}}
+ \expandafter\def\csname simpleicon@rainmetericon\endcsname {\simpleiconsmap\symbol{"F2C3}}
+ \expandafter\def\csname simpleicon@rakutenicon\endcsname {\simpleiconsmap\symbol{"F2C4}}
+ \expandafter\def\csname simpleicon@ramicon\endcsname {\simpleiconsmap\symbol{"F2C5}}
+ \expandafter\def\csname simpleicon@ranchericon\endcsname {\simpleiconsmap\symbol{"F2C6}}
+ \expandafter\def\csname simpleicon@rapidicon\endcsname {\simpleiconsmap\symbol{"F2C7}}
+ \expandafter\def\csname simpleicon@raribleicon\endcsname {\simpleiconsmap\symbol{"F2C8}}
+ \expandafter\def\csname simpleicon@rasaicon\endcsname {\simpleiconsmap\symbol{"F2C9}}
+ \expandafter\def\csname simpleicon@raspberrypiicon\endcsname {\simpleiconsmap\symbol{"F2CA}}
+ \expandafter\def\csname simpleicon@ravelryicon\endcsname {\simpleiconsmap\symbol{"F2CB}}
+ \expandafter\def\csname simpleicon@rayicon\endcsname {\simpleiconsmap\symbol{"F2CC}}
+ \expandafter\def\csname simpleicon@raycasticon\endcsname {\simpleiconsmap\symbol{"F2CD}}
+ \expandafter\def\csname simpleicon@raylibicon\endcsname {\simpleiconsmap\symbol{"F2CE}}
+ \expandafter\def\csname simpleicon@razericon\endcsname {\simpleiconsmap\symbol{"F2CF}}
+ \expandafter\def\csname simpleicon@razorpayicon\endcsname {\simpleiconsmap\symbol{"F2D0}}
+ \expandafter\def\csname simpleicon@rcloneicon\endcsname {\simpleiconsmap\symbol{"F2D1}}
+ \expandafter\def\csname simpleicon@reacticon\endcsname {\simpleiconsmap\symbol{"F2D2}}
+ \expandafter\def\csname simpleicon@reactbootstrapicon\endcsname {\simpleiconsmap\symbol{"F2D3}}
+ \expandafter\def\csname simpleicon@reacthookformicon\endcsname {\simpleiconsmap\symbol{"F2D4}}
+ \expandafter\def\csname simpleicon@reactiveresumeicon\endcsname {\simpleiconsmap\symbol{"F2D5}}
+ \expandafter\def\csname simpleicon@reactivexicon\endcsname {\simpleiconsmap\symbol{"F2D6}}
+ \expandafter\def\csname simpleicon@reactosicon\endcsname {\simpleiconsmap\symbol{"F2D7}}
+ \expandafter\def\csname simpleicon@reactqueryicon\endcsname {\simpleiconsmap\symbol{"F2D8}}
+ \expandafter\def\csname simpleicon@reactroutericon\endcsname {\simpleiconsmap\symbol{"F2D9}}
+ \expandafter\def\csname simpleicon@reacttableicon\endcsname {\simpleiconsmap\symbol{"F2DA}}
+ \expandafter\def\csname simpleicon@readdotcvicon\endcsname {\simpleiconsmap\symbol{"F2DB}}
+ \expandafter\def\csname simpleicon@readmeicon\endcsname {\simpleiconsmap\symbol{"F2DC}}
+ \expandafter\def\csname simpleicon@readthedocsicon\endcsname {\simpleiconsmap\symbol{"F2DD}}
+ \expandafter\def\csname simpleicon@realmicon\endcsname {\simpleiconsmap\symbol{"F2DE}}
+ \expandafter\def\csname simpleicon@reasonicon\endcsname {\simpleiconsmap\symbol{"F2DF}}
+ \expandafter\def\csname simpleicon@reasonstudiosicon\endcsname {\simpleiconsmap\symbol{"F2E0}}
+ \expandafter\def\csname simpleicon@recoilicon\endcsname {\simpleiconsmap\symbol{"F2E1}}
+ \expandafter\def\csname simpleicon@redicon\endcsname {\simpleiconsmap\symbol{"F2E2}}
+ \expandafter\def\csname simpleicon@redashicon\endcsname {\simpleiconsmap\symbol{"F2E3}}
+ \expandafter\def\csname simpleicon@redbubbleicon\endcsname {\simpleiconsmap\symbol{"F2E4}}
+ \expandafter\def\csname simpleicon@redbullicon\endcsname {\simpleiconsmap\symbol{"F2E5}}
+ \expandafter\def\csname simpleicon@redditicon\endcsname {\simpleiconsmap\symbol{"F2E6}}
+ \expandafter\def\csname simpleicon@redhaticon\endcsname {\simpleiconsmap\symbol{"F2E7}}
+ \expandafter\def\csname simpleicon@redhatopenshifticon\endcsname {\simpleiconsmap\symbol{"F2E8}}
+ \expandafter\def\csname simpleicon@redisicon\endcsname {\simpleiconsmap\symbol{"F2E9}}
+ \expandafter\def\csname simpleicon@redmineicon\endcsname {\simpleiconsmap\symbol{"F2EA}}
+ \expandafter\def\csname simpleicon@redoxicon\endcsname {\simpleiconsmap\symbol{"F2EB}}
+ \expandafter\def\csname simpleicon@redsysicon\endcsname {\simpleiconsmap\symbol{"F2EC}}
+ \expandafter\def\csname simpleicon@reduxicon\endcsname {\simpleiconsmap\symbol{"F2ED}}
+ \expandafter\def\csname simpleicon@reduxsagaicon\endcsname {\simpleiconsmap\symbol{"F2EE}}
+ \expandafter\def\csname simpleicon@redwoodjsicon\endcsname {\simpleiconsmap\symbol{"F2EF}}
+ \expandafter\def\csname simpleicon@reebokicon\endcsname {\simpleiconsmap\symbol{"F2F0}}
+ \expandafter\def\csname simpleicon@refineicon\endcsname {\simpleiconsmap\symbol{"F2F1}}
+ \expandafter\def\csname simpleicon@relayicon\endcsname {\simpleiconsmap\symbol{"F2F2}}
+ \expandafter\def\csname simpleicon@relianceindustrieslimitedicon\endcsname {\simpleiconsmap\symbol{"F2F3}}
+ \expandafter\def\csname simpleicon@remarkicon\endcsname {\simpleiconsmap\symbol{"F2F4}}
+ \expandafter\def\csname simpleicon@remedyentertainmenticon\endcsname {\simpleiconsmap\symbol{"F2F5}}
+ \expandafter\def\csname simpleicon@remixicon\endcsname {\simpleiconsmap\symbol{"F2F6}}
+ \expandafter\def\csname simpleicon@removedotbgicon\endcsname {\simpleiconsmap\symbol{"F2F7}}
+ \expandafter\def\csname simpleicon@renaulticon\endcsname {\simpleiconsmap\symbol{"F2F8}}
+ \expandafter\def\csname simpleicon@rendericon\endcsname {\simpleiconsmap\symbol{"F2F9}}
+ \expandafter\def\csname simpleicon@renovateicon\endcsname {\simpleiconsmap\symbol{"F2FA}}
+ \expandafter\def\csname simpleicon@renpyicon\endcsname {\simpleiconsmap\symbol{"F2FB}}
+ \expandafter\def\csname simpleicon@renrenicon\endcsname {\simpleiconsmap\symbol{"F2FC}}
+ \expandafter\def\csname simpleicon@repliticon\endcsname {\simpleiconsmap\symbol{"F2FD}}
+ \expandafter\def\csname simpleicon@republicofgamersicon\endcsname {\simpleiconsmap\symbol{"F2FE}}
+ \expandafter\def\csname simpleicon@rescripticon\endcsname {\simpleiconsmap\symbol{"F2FF}}
+ \expandafter\def\csname simpleicon@rescuetimeicon\endcsname {\simpleiconsmap\symbol{"F300}}
+ \expandafter\def\csname simpleicon@researchgateicon\endcsname {\simpleiconsmap\symbol{"F301}}
+ \expandafter\def\csname simpleicon@resendicon\endcsname {\simpleiconsmap\symbol{"F302}}
+ \expandafter\def\csname simpleicon@resharpericon\endcsname {\simpleiconsmap\symbol{"F303}}
+ \expandafter\def\csname simpleicon@resurrectionremixosicon\endcsname {\simpleiconsmap\symbol{"F304}}
+ \expandafter\def\csname simpleicon@retoolicon\endcsname {\simpleiconsmap\symbol{"F305}}
+ \expandafter\def\csname simpleicon@retroarchicon\endcsname {\simpleiconsmap\symbol{"F306}}
+ \expandafter\def\csname simpleicon@retropieicon\endcsname {\simpleiconsmap\symbol{"F307}}
+ \expandafter\def\csname simpleicon@revancedicon\endcsname {\simpleiconsmap\symbol{"F308}}
+ \expandafter\def\csname simpleicon@revealdotjsicon\endcsname {\simpleiconsmap\symbol{"F309}}
+ \expandafter\def\csname simpleicon@reverbnationicon\endcsname {\simpleiconsmap\symbol{"F30A}}
+ \expandafter\def\csname simpleicon@revoltdotchaticon\endcsname {\simpleiconsmap\symbol{"F30B}}
+ \expandafter\def\csname simpleicon@revoluticon\endcsname {\simpleiconsmap\symbol{"F30C}}
+ \expandafter\def\csname simpleicon@revueicon\endcsname {\simpleiconsmap\symbol{"F30D}}
+ \expandafter\def\csname simpleicon@reweicon\endcsname {\simpleiconsmap\symbol{"F30E}}
+ \expandafter\def\csname simpleicon@rezgoicon\endcsname {\simpleiconsmap\symbol{"F30F}}
+ \expandafter\def\csname simpleicon@rhinocerosicon\endcsname {\simpleiconsmap\symbol{"F310}}
+ \expandafter\def\csname simpleicon@richicon\endcsname {\simpleiconsmap\symbol{"F311}}
+ \expandafter\def\csname simpleicon@ridericon\endcsname {\simpleiconsmap\symbol{"F312}}
+ \expandafter\def\csname simpleicon@rimacautomobiliicon\endcsname {\simpleiconsmap\symbol{"F313}}
+ \expandafter\def\csname simpleicon@rimeicon\endcsname {\simpleiconsmap\symbol{"F314}}
+ \expandafter\def\csname simpleicon@ringicon\endcsname {\simpleiconsmap\symbol{"F315}}
+ \expandafter\def\csname simpleicon@riotgamesicon\endcsname {\simpleiconsmap\symbol{"F316}}
+ \expandafter\def\csname simpleicon@rippleicon\endcsname {\simpleiconsmap\symbol{"F317}}
+ \expandafter\def\csname simpleicon@riscvicon\endcsname {\simpleiconsmap\symbol{"F318}}
+ \expandafter\def\csname simpleicon@riseupicon\endcsname {\simpleiconsmap\symbol{"F319}}
+ \expandafter\def\csname simpleicon@ritzcarltonicon\endcsname {\simpleiconsmap\symbol{"F31A}}
+ \expandafter\def\csname simpleicon@riveicon\endcsname {\simpleiconsmap\symbol{"F31B}}
+ \expandafter\def\csname simpleicon@roadmapdotshicon\endcsname {\simpleiconsmap\symbol{"F31C}}
+ \expandafter\def\csname simpleicon@roamresearchicon\endcsname {\simpleiconsmap\symbol{"F31D}}
+ \expandafter\def\csname simpleicon@robinhoodicon\endcsname {\simpleiconsmap\symbol{"F31E}}
+ \expandafter\def\csname simpleicon@robloxicon\endcsname {\simpleiconsmap\symbol{"F31F}}
+ \expandafter\def\csname simpleicon@robloxstudioicon\endcsname {\simpleiconsmap\symbol{"F320}}
+ \expandafter\def\csname simpleicon@robotframeworkicon\endcsname {\simpleiconsmap\symbol{"F321}}
+ \expandafter\def\csname simpleicon@rocketicon\endcsname {\simpleiconsmap\symbol{"F322}}
+ \expandafter\def\csname simpleicon@rocketdotchaticon\endcsname {\simpleiconsmap\symbol{"F323}}
+ \expandafter\def\csname simpleicon@rocksdbicon\endcsname {\simpleiconsmap\symbol{"F324}}
+ \expandafter\def\csname simpleicon@rockstargamesicon\endcsname {\simpleiconsmap\symbol{"F325}}
+ \expandafter\def\csname simpleicon@rockwellautomationicon\endcsname {\simpleiconsmap\symbol{"F326}}
+ \expandafter\def\csname simpleicon@rockylinuxicon\endcsname {\simpleiconsmap\symbol{"F327}}
+ \expandafter\def\csname simpleicon@rokuicon\endcsname {\simpleiconsmap\symbol{"F328}}
+ \expandafter\def\csname simpleicon@roll20icon\endcsname {\simpleiconsmap\symbol{"F329}}
+ \expandafter\def\csname simpleicon@rollsroyceicon\endcsname {\simpleiconsmap\symbol{"F32A}}
+ \expandafter\def\csname simpleicon@rollupdotjsicon\endcsname {\simpleiconsmap\symbol{"F32B}}
+ \expandafter\def\csname simpleicon@roonicon\endcsname {\simpleiconsmap\symbol{"F32C}}
+ \expandafter\def\csname simpleicon@rootmeicon\endcsname {\simpleiconsmap\symbol{"F32D}}
+ \expandafter\def\csname simpleicon@rootsicon\endcsname {\simpleiconsmap\symbol{"F32E}}
+ \expandafter\def\csname simpleicon@rootsbedrockicon\endcsname {\simpleiconsmap\symbol{"F32F}}
+ \expandafter\def\csname simpleicon@rootssageicon\endcsname {\simpleiconsmap\symbol{"F330}}
+ \expandafter\def\csname simpleicon@rosicon\endcsname {\simpleiconsmap\symbol{"F331}}
+ \expandafter\def\csname simpleicon@rossmannicon\endcsname {\simpleiconsmap\symbol{"F332}}
+ \expandafter\def\csname simpleicon@rotaryinternationalicon\endcsname {\simpleiconsmap\symbol{"F333}}
+ \expandafter\def\csname simpleicon@rottentomatoesicon\endcsname {\simpleiconsmap\symbol{"F334}}
+ \expandafter\def\csname simpleicon@roundcubeicon\endcsname {\simpleiconsmap\symbol{"F335}}
+ \expandafter\def\csname simpleicon@rsocketicon\endcsname {\simpleiconsmap\symbol{"F336}}
+ \expandafter\def\csname simpleicon@rssicon\endcsname {\simpleiconsmap\symbol{"F337}}
+ \expandafter\def\csname simpleicon@rstudioideicon\endcsname {\simpleiconsmap\symbol{"F338}}
+ \expandafter\def\csname simpleicon@rteicon\endcsname {\simpleiconsmap\symbol{"F339}}
+ \expandafter\def\csname simpleicon@rtlicon\endcsname {\simpleiconsmap\symbol{"F33A}}
+ \expandafter\def\csname simpleicon@rtlzweiicon\endcsname {\simpleiconsmap\symbol{"F33B}}
+ \expandafter\def\csname simpleicon@rtmicon\endcsname {\simpleiconsmap\symbol{"F33C}}
+ \expandafter\def\csname simpleicon@rubocopicon\endcsname {\simpleiconsmap\symbol{"F33D}}
+ \expandafter\def\csname simpleicon@rubyicon\endcsname {\simpleiconsmap\symbol{"F33E}}
+ \expandafter\def\csname simpleicon@rubygemsicon\endcsname {\simpleiconsmap\symbol{"F33F}}
+ \expandafter\def\csname simpleicon@rubymineicon\endcsname {\simpleiconsmap\symbol{"F340}}
+ \expandafter\def\csname simpleicon@rubyonrailsicon\endcsname {\simpleiconsmap\symbol{"F341}}
+ \expandafter\def\csname simpleicon@rubysinatraicon\endcsname {\simpleiconsmap\symbol{"F342}}
+ \expandafter\def\csname simpleicon@rufficon\endcsname {\simpleiconsmap\symbol{"F343}}
+ \expandafter\def\csname simpleicon@rumahwebicon\endcsname {\simpleiconsmap\symbol{"F344}}
+ \expandafter\def\csname simpleicon@rumbleicon\endcsname {\simpleiconsmap\symbol{"F345}}
+ \expandafter\def\csname simpleicon@rundeckicon\endcsname {\simpleiconsmap\symbol{"F346}}
+ \expandafter\def\csname simpleicon@runkeepericon\endcsname {\simpleiconsmap\symbol{"F347}}
+ \expandafter\def\csname simpleicon@runkiticon\endcsname {\simpleiconsmap\symbol{"F348}}
+ \expandafter\def\csname simpleicon@runrundotiticon\endcsname {\simpleiconsmap\symbol{"F349}}
+ \expandafter\def\csname simpleicon@rusticon\endcsname {\simpleiconsmap\symbol{"F34A}}
+ \expandafter\def\csname simpleicon@rustdeskicon\endcsname {\simpleiconsmap\symbol{"F34B}}
+ \expandafter\def\csname simpleicon@rxdbicon\endcsname {\simpleiconsmap\symbol{"F34C}}
+ \expandafter\def\csname simpleicon@ryanairicon\endcsname {\simpleiconsmap\symbol{"F34D}}
+ \expandafter\def\csname simpleicon@ryeicon\endcsname {\simpleiconsmap\symbol{"F34E}}
+ \expandafter\def\csname simpleicon@s7airlinesicon\endcsname {\simpleiconsmap\symbol{"F34F}}
+ \expandafter\def\csname simpleicon@sabanciicon\endcsname {\simpleiconsmap\symbol{"F350}}
+ \expandafter\def\csname simpleicon@safariicon\endcsname {\simpleiconsmap\symbol{"F351}}
+ \expandafter\def\csname simpleicon@sageicon\endcsname {\simpleiconsmap\symbol{"F352}}
+ \expandafter\def\csname simpleicon@sahibindenicon\endcsname {\simpleiconsmap\symbol{"F353}}
+ \expandafter\def\csname simpleicon@sailfishosicon\endcsname {\simpleiconsmap\symbol{"F354}}
+ \expandafter\def\csname simpleicon@sailsdotjsicon\endcsname {\simpleiconsmap\symbol{"F355}}
+ \expandafter\def\csname simpleicon@salesforceicon\endcsname {\simpleiconsmap\symbol{"F356}}
+ \expandafter\def\csname simpleicon@sallaicon\endcsname {\simpleiconsmap\symbol{"F357}}
+ \expandafter\def\csname simpleicon@saltprojecticon\endcsname {\simpleiconsmap\symbol{"F358}}
+ \expandafter\def\csname simpleicon@samsclubicon\endcsname {\simpleiconsmap\symbol{"F359}}
+ \expandafter\def\csname simpleicon@samsungicon\endcsname {\simpleiconsmap\symbol{"F35A}}
+ \expandafter\def\csname simpleicon@samsungpayicon\endcsname {\simpleiconsmap\symbol{"F35B}}
+ \expandafter\def\csname simpleicon@sandiskicon\endcsname {\simpleiconsmap\symbol{"F35C}}
+ \expandafter\def\csname simpleicon@sanfranciscomunicipalrailwayicon\endcsname {\simpleiconsmap\symbol{"F35D}}
+ \expandafter\def\csname simpleicon@sanicicon\endcsname {\simpleiconsmap\symbol{"F35E}}
+ \expandafter\def\csname simpleicon@sanityicon\endcsname {\simpleiconsmap\symbol{"F35F}}
+ \expandafter\def\csname simpleicon@saopaulometroicon\endcsname {\simpleiconsmap\symbol{"F360}}
+ \expandafter\def\csname simpleicon@sapicon\endcsname {\simpleiconsmap\symbol{"F361}}
+ \expandafter\def\csname simpleicon@sartoriusicon\endcsname {\simpleiconsmap\symbol{"F362}}
+ \expandafter\def\csname simpleicon@sassicon\endcsname {\simpleiconsmap\symbol{"F363}}
+ \expandafter\def\csname simpleicon@sat1icon\endcsname {\simpleiconsmap\symbol{"F364}}
+ \expandafter\def\csname simpleicon@satelliteicon\endcsname {\simpleiconsmap\symbol{"F365}}
+ \expandafter\def\csname simpleicon@saturnicon\endcsname {\simpleiconsmap\symbol{"F366}}
+ \expandafter\def\csname simpleicon@saucelabsicon\endcsname {\simpleiconsmap\symbol{"F367}}
+ \expandafter\def\csname simpleicon@saudiaicon\endcsname {\simpleiconsmap\symbol{"F368}}
+ \expandafter\def\csname simpleicon@scalaicon\endcsname {\simpleiconsmap\symbol{"F369}}
+ \expandafter\def\csname simpleicon@scalewayicon\endcsname {\simpleiconsmap\symbol{"F36A}}
+ \expandafter\def\csname simpleicon@scaniaicon\endcsname {\simpleiconsmap\symbol{"F36B}}
+ \expandafter\def\csname simpleicon@schneiderelectricicon\endcsname {\simpleiconsmap\symbol{"F36C}}
+ \expandafter\def\csname simpleicon@scikitlearnicon\endcsname {\simpleiconsmap\symbol{"F36D}}
+ \expandafter\def\csname simpleicon@scilabicon\endcsname {\simpleiconsmap\symbol{"F36E}}
+ \expandafter\def\csname simpleicon@scipyicon\endcsname {\simpleiconsmap\symbol{"F36F}}
+ \expandafter\def\csname simpleicon@scopusicon\endcsname {\simpleiconsmap\symbol{"F370}}
+ \expandafter\def\csname simpleicon@scpfoundationicon\endcsname {\simpleiconsmap\symbol{"F371}}
+ \expandafter\def\csname simpleicon@scrapboxicon\endcsname {\simpleiconsmap\symbol{"F372}}
+ \expandafter\def\csname simpleicon@scrapyicon\endcsname {\simpleiconsmap\symbol{"F373}}
+ \expandafter\def\csname simpleicon@scratchicon\endcsname {\simpleiconsmap\symbol{"F374}}
+ \expandafter\def\csname simpleicon@screencastifyicon\endcsname {\simpleiconsmap\symbol{"F375}}
+ \expandafter\def\csname simpleicon@scribdicon\endcsname {\simpleiconsmap\symbol{"F376}}
+ \expandafter\def\csname simpleicon@scrimbaicon\endcsname {\simpleiconsmap\symbol{"F377}}
+ \expandafter\def\csname simpleicon@scrollrevealicon\endcsname {\simpleiconsmap\symbol{"F378}}
+ \expandafter\def\csname simpleicon@scrumallianceicon\endcsname {\simpleiconsmap\symbol{"F379}}
+ \expandafter\def\csname simpleicon@scrutinizerciicon\endcsname {\simpleiconsmap\symbol{"F37A}}
+ \expandafter\def\csname simpleicon@scylladbicon\endcsname {\simpleiconsmap\symbol{"F37B}}
+ \expandafter\def\csname simpleicon@seagateicon\endcsname {\simpleiconsmap\symbol{"F37C}}
+ \expandafter\def\csname simpleicon@searxngicon\endcsname {\simpleiconsmap\symbol{"F37D}}
+ \expandafter\def\csname simpleicon@seaticon\endcsname {\simpleiconsmap\symbol{"F37E}}
+ \expandafter\def\csname simpleicon@seatgeekicon\endcsname {\simpleiconsmap\symbol{"F37F}}
+ \expandafter\def\csname simpleicon@securityscorecardicon\endcsname {\simpleiconsmap\symbol{"F380}}
+ \expandafter\def\csname simpleicon@sefariaicon\endcsname {\simpleiconsmap\symbol{"F381}}
+ \expandafter\def\csname simpleicon@segaicon\endcsname {\simpleiconsmap\symbol{"F382}}
+ \expandafter\def\csname simpleicon@seleniumicon\endcsname {\simpleiconsmap\symbol{"F383}}
+ \expandafter\def\csname simpleicon@sellfyicon\endcsname {\simpleiconsmap\symbol{"F384}}
+ \expandafter\def\csname simpleicon@semanticreleaseicon\endcsname {\simpleiconsmap\symbol{"F385}}
+ \expandafter\def\csname simpleicon@semanticscholaricon\endcsname {\simpleiconsmap\symbol{"F386}}
+ \expandafter\def\csname simpleicon@semanticuiicon\endcsname {\simpleiconsmap\symbol{"F387}}
+ \expandafter\def\csname simpleicon@semanticuireacticon\endcsname {\simpleiconsmap\symbol{"F388}}
+ \expandafter\def\csname simpleicon@semanticwebicon\endcsname {\simpleiconsmap\symbol{"F389}}
+ \expandafter\def\csname simpleicon@semaphoreciicon\endcsname {\simpleiconsmap\symbol{"F38A}}
+ \expandafter\def\csname simpleicon@semrushicon\endcsname {\simpleiconsmap\symbol{"F38B}}
+ \expandafter\def\csname simpleicon@semvericon\endcsname {\simpleiconsmap\symbol{"F38C}}
+ \expandafter\def\csname simpleicon@senchaicon\endcsname {\simpleiconsmap\symbol{"F38D}}
+ \expandafter\def\csname simpleicon@sennheisericon\endcsname {\simpleiconsmap\symbol{"F38E}}
+ \expandafter\def\csname simpleicon@sensuicon\endcsname {\simpleiconsmap\symbol{"F38F}}
+ \expandafter\def\csname simpleicon@sentryicon\endcsname {\simpleiconsmap\symbol{"F390}}
+ \expandafter\def\csname simpleicon@sepaicon\endcsname {\simpleiconsmap\symbol{"F391}}
+ \expandafter\def\csname simpleicon@sequelizeicon\endcsname {\simpleiconsmap\symbol{"F392}}
+ \expandafter\def\csname simpleicon@serverfaulticon\endcsname {\simpleiconsmap\symbol{"F393}}
+ \expandafter\def\csname simpleicon@serverlessicon\endcsname {\simpleiconsmap\symbol{"F394}}
+ \expandafter\def\csname simpleicon@sessionicon\endcsname {\simpleiconsmap\symbol{"F395}}
+ \expandafter\def\csname simpleicon@sessionizeicon\endcsname {\simpleiconsmap\symbol{"F396}}
+ \expandafter\def\csname simpleicon@setappicon\endcsname {\simpleiconsmap\symbol{"F397}}
+ \expandafter\def\csname simpleicon@sfmlicon\endcsname {\simpleiconsmap\symbol{"F398}}
+ \expandafter\def\csname simpleicon@shadcnuiicon\endcsname {\simpleiconsmap\symbol{"F399}}
+ \expandafter\def\csname simpleicon@shadowicon\endcsname {\simpleiconsmap\symbol{"F39A}}
+ \expandafter\def\csname simpleicon@shanghaimetroicon\endcsname {\simpleiconsmap\symbol{"F39B}}
+ \expandafter\def\csname simpleicon@sharexicon\endcsname {\simpleiconsmap\symbol{"F39C}}
+ \expandafter\def\csname simpleicon@sharpicon\endcsname {\simpleiconsmap\symbol{"F39D}}
+ \expandafter\def\csname simpleicon@shazamicon\endcsname {\simpleiconsmap\symbol{"F39E}}
+ \expandafter\def\csname simpleicon@shellicon\endcsname {\simpleiconsmap\symbol{"F39F}}
+ \expandafter\def\csname simpleicon@shellyicon\endcsname {\simpleiconsmap\symbol{"F3A0}}
+ \expandafter\def\csname simpleicon@shenzhenmetroicon\endcsname {\simpleiconsmap\symbol{"F3A1}}
+ \expandafter\def\csname simpleicon@shieldsdotioicon\endcsname {\simpleiconsmap\symbol{"F3A2}}
+ \expandafter\def\csname simpleicon@shikimoriicon\endcsname {\simpleiconsmap\symbol{"F3A3}}
+ \expandafter\def\csname simpleicon@shopeeicon\endcsname {\simpleiconsmap\symbol{"F3A4}}
+ \expandafter\def\csname simpleicon@shopifyicon\endcsname {\simpleiconsmap\symbol{"F3A5}}
+ \expandafter\def\csname simpleicon@shopwareicon\endcsname {\simpleiconsmap\symbol{"F3A6}}
+ \expandafter\def\csname simpleicon@shortcuticon\endcsname {\simpleiconsmap\symbol{"F3A7}}
+ \expandafter\def\csname simpleicon@showpadicon\endcsname {\simpleiconsmap\symbol{"F3A8}}
+ \expandafter\def\csname simpleicon@showtimeicon\endcsname {\simpleiconsmap\symbol{"F3A9}}
+ \expandafter\def\csname simpleicon@showwcaseicon\endcsname {\simpleiconsmap\symbol{"F3AA}}
+ \expandafter\def\csname simpleicon@shutterstockicon\endcsname {\simpleiconsmap\symbol{"F3AB}}
+ \expandafter\def\csname simpleicon@sidekiqicon\endcsname {\simpleiconsmap\symbol{"F3AC}}
+ \expandafter\def\csname simpleicon@sidequesticon\endcsname {\simpleiconsmap\symbol{"F3AD}}
+ \expandafter\def\csname simpleicon@siemensicon\endcsname {\simpleiconsmap\symbol{"F3AE}}
+ \expandafter\def\csname simpleicon@sifiveicon\endcsname {\simpleiconsmap\symbol{"F3AF}}
+ \expandafter\def\csname simpleicon@signalicon\endcsname {\simpleiconsmap\symbol{"F3B0}}
+ \expandafter\def\csname simpleicon@similarwebicon\endcsname {\simpleiconsmap\symbol{"F3B1}}
+ \expandafter\def\csname simpleicon@simklicon\endcsname {\simpleiconsmap\symbol{"F3B2}}
+ \expandafter\def\csname simpleicon@simpleanalyticsicon\endcsname {\simpleiconsmap\symbol{"F3B3}}
+ \expandafter\def\csname simpleicon@simpleiconsicon\endcsname {\simpleiconsmap\symbol{"F3B4}}
+ \expandafter\def\csname simpleicon@simpleloginicon\endcsname {\simpleiconsmap\symbol{"F3B5}}
+ \expandafter\def\csname simpleicon@simplenoteicon\endcsname {\simpleiconsmap\symbol{"F3B6}}
+ \expandafter\def\csname simpleicon@sinaweiboicon\endcsname {\simpleiconsmap\symbol{"F3B7}}
+ \expandafter\def\csname simpleicon@singaporeairlinesicon\endcsname {\simpleiconsmap\symbol{"F3B8}}
+ \expandafter\def\csname simpleicon@singlestoreicon\endcsname {\simpleiconsmap\symbol{"F3B9}}
+ \expandafter\def\csname simpleicon@sitecoreicon\endcsname {\simpleiconsmap\symbol{"F3BA}}
+ \expandafter\def\csname simpleicon@sitepointicon\endcsname {\simpleiconsmap\symbol{"F3BB}}
+ \expandafter\def\csname simpleicon@siyuanicon\endcsname {\simpleiconsmap\symbol{"F3BC}}
+ \expandafter\def\csname simpleicon@skaffoldicon\endcsname {\simpleiconsmap\symbol{"F3BD}}
+ \expandafter\def\csname simpleicon@sketchicon\endcsname {\simpleiconsmap\symbol{"F3BE}}
+ \expandafter\def\csname simpleicon@sketchfabicon\endcsname {\simpleiconsmap\symbol{"F3BF}}
+ \expandafter\def\csname simpleicon@sketchupicon\endcsname {\simpleiconsmap\symbol{"F3C0}}
+ \expandafter\def\csname simpleicon@skillshareicon\endcsname {\simpleiconsmap\symbol{"F3C1}}
+ \expandafter\def\csname simpleicon@skodaicon\endcsname {\simpleiconsmap\symbol{"F3C2}}
+ \expandafter\def\csname simpleicon@skyicon\endcsname {\simpleiconsmap\symbol{"F3C3}}
+ \expandafter\def\csname simpleicon@skypackicon\endcsname {\simpleiconsmap\symbol{"F3C4}}
+ \expandafter\def\csname simpleicon@skyrockicon\endcsname {\simpleiconsmap\symbol{"F3C5}}
+ \expandafter\def\csname simpleicon@slackicon\endcsname {\simpleiconsmap\symbol{"F3C6}}
+ \expandafter\def\csname simpleicon@slackwareicon\endcsname {\simpleiconsmap\symbol{"F3C7}}
+ \expandafter\def\csname simpleicon@slashdoticon\endcsname {\simpleiconsmap\symbol{"F3C8}}
+ \expandafter\def\csname simpleicon@slickpicicon\endcsname {\simpleiconsmap\symbol{"F3C9}}
+ \expandafter\def\csname simpleicon@slidesicon\endcsname {\simpleiconsmap\symbol{"F3CA}}
+ \expandafter\def\csname simpleicon@slideshareicon\endcsname {\simpleiconsmap\symbol{"F3CB}}
+ \expandafter\def\csname simpleicon@slinticon\endcsname {\simpleiconsmap\symbol{"F3CC}}
+ \expandafter\def\csname simpleicon@smarticon\endcsname {\simpleiconsmap\symbol{"F3CD}}
+ \expandafter\def\csname simpleicon@smartthingsicon\endcsname {\simpleiconsmap\symbol{"F3CE}}
+ \expandafter\def\csname simpleicon@smashdotggicon\endcsname {\simpleiconsmap\symbol{"F3CF}}
+ \expandafter\def\csname simpleicon@smashingmagazineicon\endcsname {\simpleiconsmap\symbol{"F3D0}}
+ \expandafter\def\csname simpleicon@smrticon\endcsname {\simpleiconsmap\symbol{"F3D1}}
+ \expandafter\def\csname simpleicon@smugmugicon\endcsname {\simpleiconsmap\symbol{"F3D2}}
+ \expandafter\def\csname simpleicon@snapchaticon\endcsname {\simpleiconsmap\symbol{"F3D3}}
+ \expandafter\def\csname simpleicon@snapcrafticon\endcsname {\simpleiconsmap\symbol{"F3D4}}
+ \expandafter\def\csname simpleicon@sncficon\endcsname {\simpleiconsmap\symbol{"F3D5}}
+ \expandafter\def\csname simpleicon@snorticon\endcsname {\simpleiconsmap\symbol{"F3D6}}
+ \expandafter\def\csname simpleicon@snowflakeicon\endcsname {\simpleiconsmap\symbol{"F3D7}}
+ \expandafter\def\csname simpleicon@snowpackicon\endcsname {\simpleiconsmap\symbol{"F3D8}}
+ \expandafter\def\csname simpleicon@snykicon\endcsname {\simpleiconsmap\symbol{"F3D9}}
+ \expandafter\def\csname simpleicon@socialbladeicon\endcsname {\simpleiconsmap\symbol{"F3DA}}
+ \expandafter\def\csname simpleicon@society6icon\endcsname {\simpleiconsmap\symbol{"F3DB}}
+ \expandafter\def\csname simpleicon@socketdotioicon\endcsname {\simpleiconsmap\symbol{"F3DC}}
+ \expandafter\def\csname simpleicon@softpediaicon\endcsname {\simpleiconsmap\symbol{"F3DD}}
+ \expandafter\def\csname simpleicon@sogouicon\endcsname {\simpleiconsmap\symbol{"F3DE}}
+ \expandafter\def\csname simpleicon@solanaicon\endcsname {\simpleiconsmap\symbol{"F3DF}}
+ \expandafter\def\csname simpleicon@solidicon\endcsname {\simpleiconsmap\symbol{"F3E0}}
+ \expandafter\def\csname simpleicon@solidityicon\endcsname {\simpleiconsmap\symbol{"F3E1}}
+ \expandafter\def\csname simpleicon@sololearnicon\endcsname {\simpleiconsmap\symbol{"F3E2}}
+ \expandafter\def\csname simpleicon@solusicon\endcsname {\simpleiconsmap\symbol{"F3E3}}
+ \expandafter\def\csname simpleicon@sonaricon\endcsname {\simpleiconsmap\symbol{"F3E4}}
+ \expandafter\def\csname simpleicon@sonarcloudicon\endcsname {\simpleiconsmap\symbol{"F3E5}}
+ \expandafter\def\csname simpleicon@sonarlinticon\endcsname {\simpleiconsmap\symbol{"F3E6}}
+ \expandafter\def\csname simpleicon@sonarqubeicon\endcsname {\simpleiconsmap\symbol{"F3E7}}
+ \expandafter\def\csname simpleicon@sonarricon\endcsname {\simpleiconsmap\symbol{"F3E8}}
+ \expandafter\def\csname simpleicon@sonatypeicon\endcsname {\simpleiconsmap\symbol{"F3E9}}
+ \expandafter\def\csname simpleicon@songkickicon\endcsname {\simpleiconsmap\symbol{"F3EA}}
+ \expandafter\def\csname simpleicon@songodaicon\endcsname {\simpleiconsmap\symbol{"F3EB}}
+ \expandafter\def\csname simpleicon@sonicwallicon\endcsname {\simpleiconsmap\symbol{"F3EC}}
+ \expandafter\def\csname simpleicon@sonosicon\endcsname {\simpleiconsmap\symbol{"F3ED}}
+ \expandafter\def\csname simpleicon@sonyicon\endcsname {\simpleiconsmap\symbol{"F3EE}}
+ \expandafter\def\csname simpleicon@sorianaicon\endcsname {\simpleiconsmap\symbol{"F3EF}}
+ \expandafter\def\csname simpleicon@soundchartsicon\endcsname {\simpleiconsmap\symbol{"F3F0}}
+ \expandafter\def\csname simpleicon@soundcloudicon\endcsname {\simpleiconsmap\symbol{"F3F1}}
+ \expandafter\def\csname simpleicon@sourceengineicon\endcsname {\simpleiconsmap\symbol{"F3F2}}
+ \expandafter\def\csname simpleicon@sourceforgeicon\endcsname {\simpleiconsmap\symbol{"F3F3}}
+ \expandafter\def\csname simpleicon@sourcehuticon\endcsname {\simpleiconsmap\symbol{"F3F4}}
+ \expandafter\def\csname simpleicon@sourcetreeicon\endcsname {\simpleiconsmap\symbol{"F3F5}}
+ \expandafter\def\csname simpleicon@southwestairlinesicon\endcsname {\simpleiconsmap\symbol{"F3F6}}
+ \expandafter\def\csname simpleicon@spacemacsicon\endcsname {\simpleiconsmap\symbol{"F3F7}}
+ \expandafter\def\csname simpleicon@spaceshipicon\endcsname {\simpleiconsmap\symbol{"F3F8}}
+ \expandafter\def\csname simpleicon@spacexicon\endcsname {\simpleiconsmap\symbol{"F3F9}}
+ \expandafter\def\csname simpleicon@spacyicon\endcsname {\simpleiconsmap\symbol{"F3FA}}
+ \expandafter\def\csname simpleicon@sparkaricon\endcsname {\simpleiconsmap\symbol{"F3FB}}
+ \expandafter\def\csname simpleicon@sparkasseicon\endcsname {\simpleiconsmap\symbol{"F3FC}}
+ \expandafter\def\csname simpleicon@sparkfunicon\endcsname {\simpleiconsmap\symbol{"F3FD}}
+ \expandafter\def\csname simpleicon@sparkposticon\endcsname {\simpleiconsmap\symbol{"F3FE}}
+ \expandafter\def\csname simpleicon@spdxicon\endcsname {\simpleiconsmap\symbol{"F3FF}}
+ \expandafter\def\csname simpleicon@speakerdeckicon\endcsname {\simpleiconsmap\symbol{"F400}}
+ \expandafter\def\csname simpleicon@spectrumicon\endcsname {\simpleiconsmap\symbol{"F401}}
+ \expandafter\def\csname simpleicon@speedtesticon\endcsname {\simpleiconsmap\symbol{"F402}}
+ \expandafter\def\csname simpleicon@speedypageicon\endcsname {\simpleiconsmap\symbol{"F403}}
+ \expandafter\def\csname simpleicon@sphinxicon\endcsname {\simpleiconsmap\symbol{"F404}}
+ \expandafter\def\csname simpleicon@spigotmcicon\endcsname {\simpleiconsmap\symbol{"F405}}
+ \expandafter\def\csname simpleicon@spineicon\endcsname {\simpleiconsmap\symbol{"F406}}
+ \expandafter\def\csname simpleicon@spinnakericon\endcsname {\simpleiconsmap\symbol{"F407}}
+ \expandafter\def\csname simpleicon@spinrillaicon\endcsname {\simpleiconsmap\symbol{"F408}}
+ \expandafter\def\csname simpleicon@splunkicon\endcsname {\simpleiconsmap\symbol{"F409}}
+ \expandafter\def\csname simpleicon@spojicon\endcsname {\simpleiconsmap\symbol{"F40A}}
+ \expandafter\def\csname simpleicon@spondicon\endcsname {\simpleiconsmap\symbol{"F40B}}
+ \expandafter\def\csname simpleicon@spotifyicon\endcsname {\simpleiconsmap\symbol{"F40C}}
+ \expandafter\def\csname simpleicon@spotlighticon\endcsname {\simpleiconsmap\symbol{"F40D}}
+ \expandafter\def\csname simpleicon@spreadshirticon\endcsname {\simpleiconsmap\symbol{"F40E}}
+ \expandafter\def\csname simpleicon@spreakericon\endcsname {\simpleiconsmap\symbol{"F40F}}
+ \expandafter\def\csname simpleicon@springicon\endcsname {\simpleiconsmap\symbol{"F410}}
+ \expandafter\def\csname simpleicon@springcreatorsicon\endcsname {\simpleiconsmap\symbol{"F411}}
+ \expandafter\def\csname simpleicon@springbooticon\endcsname {\simpleiconsmap\symbol{"F412}}
+ \expandafter\def\csname simpleicon@springsecurityicon\endcsname {\simpleiconsmap\symbol{"F413}}
+ \expandafter\def\csname simpleicon@spyderideicon\endcsname {\simpleiconsmap\symbol{"F414}}
+ \expandafter\def\csname simpleicon@sqlalchemyicon\endcsname {\simpleiconsmap\symbol{"F415}}
+ \expandafter\def\csname simpleicon@sqliteicon\endcsname {\simpleiconsmap\symbol{"F416}}
+ \expandafter\def\csname simpleicon@squareicon\endcsname {\simpleiconsmap\symbol{"F417}}
+ \expandafter\def\csname simpleicon@squareenixicon\endcsname {\simpleiconsmap\symbol{"F418}}
+ \expandafter\def\csname simpleicon@squarespaceicon\endcsname {\simpleiconsmap\symbol{"F419}}
+ \expandafter\def\csname simpleicon@srgssricon\endcsname {\simpleiconsmap\symbol{"F41A}}
+ \expandafter\def\csname simpleicon@ssrnicon\endcsname {\simpleiconsmap\symbol{"F41B}}
+ \expandafter\def\csname simpleicon@ssticon\endcsname {\simpleiconsmap\symbol{"F41C}}
+ \expandafter\def\csname simpleicon@stackbiticon\endcsname {\simpleiconsmap\symbol{"F41D}}
+ \expandafter\def\csname simpleicon@stackblitzicon\endcsname {\simpleiconsmap\symbol{"F41E}}
+ \expandafter\def\csname simpleicon@stackediticon\endcsname {\simpleiconsmap\symbol{"F41F}}
+ \expandafter\def\csname simpleicon@stackexchangeicon\endcsname {\simpleiconsmap\symbol{"F420}}
+ \expandafter\def\csname simpleicon@stackhawkicon\endcsname {\simpleiconsmap\symbol{"F421}}
+ \expandafter\def\csname simpleicon@stackoverflowicon\endcsname {\simpleiconsmap\symbol{"F422}}
+ \expandafter\def\csname simpleicon@stackpathicon\endcsname {\simpleiconsmap\symbol{"F423}}
+ \expandafter\def\csname simpleicon@stackshareicon\endcsname {\simpleiconsmap\symbol{"F424}}
+ \expandafter\def\csname simpleicon@stadiaicon\endcsname {\simpleiconsmap\symbol{"F425}}
+ \expandafter\def\csname simpleicon@staffbaseicon\endcsname {\simpleiconsmap\symbol{"F426}}
+ \expandafter\def\csname simpleicon@stagetimericon\endcsname {\simpleiconsmap\symbol{"F427}}
+ \expandafter\def\csname simpleicon@standardjsicon\endcsname {\simpleiconsmap\symbol{"F428}}
+ \expandafter\def\csname simpleicon@standardresumeicon\endcsname {\simpleiconsmap\symbol{"F429}}
+ \expandafter\def\csname simpleicon@starbucksicon\endcsname {\simpleiconsmap\symbol{"F42A}}
+ \expandafter\def\csname simpleicon@stardockicon\endcsname {\simpleiconsmap\symbol{"F42B}}
+ \expandafter\def\csname simpleicon@starlingbankicon\endcsname {\simpleiconsmap\symbol{"F42C}}
+ \expandafter\def\csname simpleicon@starshipicon\endcsname {\simpleiconsmap\symbol{"F42D}}
+ \expandafter\def\csname simpleicon@startrekicon\endcsname {\simpleiconsmap\symbol{"F42E}}
+ \expandafter\def\csname simpleicon@starzicon\endcsname {\simpleiconsmap\symbol{"F42F}}
+ \expandafter\def\csname simpleicon@statamicicon\endcsname {\simpleiconsmap\symbol{"F430}}
+ \expandafter\def\csname simpleicon@statistaicon\endcsname {\simpleiconsmap\symbol{"F431}}
+ \expandafter\def\csname simpleicon@statuspageicon\endcsname {\simpleiconsmap\symbol{"F432}}
+ \expandafter\def\csname simpleicon@statuspalicon\endcsname {\simpleiconsmap\symbol{"F433}}
+ \expandafter\def\csname simpleicon@steamicon\endcsname {\simpleiconsmap\symbol{"F434}}
+ \expandafter\def\csname simpleicon@steamdbicon\endcsname {\simpleiconsmap\symbol{"F435}}
+ \expandafter\def\csname simpleicon@steamdeckicon\endcsname {\simpleiconsmap\symbol{"F436}}
+ \expandafter\def\csname simpleicon@steamworksicon\endcsname {\simpleiconsmap\symbol{"F437}}
+ \expandafter\def\csname simpleicon@steelseriesicon\endcsname {\simpleiconsmap\symbol{"F438}}
+ \expandafter\def\csname simpleicon@steemicon\endcsname {\simpleiconsmap\symbol{"F439}}
+ \expandafter\def\csname simpleicon@steemiticon\endcsname {\simpleiconsmap\symbol{"F43A}}
+ \expandafter\def\csname simpleicon@steinbergicon\endcsname {\simpleiconsmap\symbol{"F43B}}
+ \expandafter\def\csname simpleicon@stellaricon\endcsname {\simpleiconsmap\symbol{"F43C}}
+ \expandafter\def\csname simpleicon@stencilicon\endcsname {\simpleiconsmap\symbol{"F43D}}
+ \expandafter\def\csname simpleicon@stencylicon\endcsname {\simpleiconsmap\symbol{"F43E}}
+ \expandafter\def\csname simpleicon@stimulusicon\endcsname {\simpleiconsmap\symbol{"F43F}}
+ \expandafter\def\csname simpleicon@stitchericon\endcsname {\simpleiconsmap\symbol{"F440}}
+ \expandafter\def\csname simpleicon@stmicroelectronicsicon\endcsname {\simpleiconsmap\symbol{"F441}}
+ \expandafter\def\csname simpleicon@stockxicon\endcsname {\simpleiconsmap\symbol{"F442}}
+ \expandafter\def\csname simpleicon@stopstalkicon\endcsname {\simpleiconsmap\symbol{"F443}}
+ \expandafter\def\csname simpleicon@storyblokicon\endcsname {\simpleiconsmap\symbol{"F444}}
+ \expandafter\def\csname simpleicon@storybookicon\endcsname {\simpleiconsmap\symbol{"F445}}
+ \expandafter\def\csname simpleicon@strapiicon\endcsname {\simpleiconsmap\symbol{"F446}}
+ \expandafter\def\csname simpleicon@stravaicon\endcsname {\simpleiconsmap\symbol{"F447}}
+ \expandafter\def\csname simpleicon@streamlabsicon\endcsname {\simpleiconsmap\symbol{"F448}}
+ \expandafter\def\csname simpleicon@streamliticon\endcsname {\simpleiconsmap\symbol{"F449}}
+ \expandafter\def\csname simpleicon@streamrunnersicon\endcsname {\simpleiconsmap\symbol{"F44A}}
+ \expandafter\def\csname simpleicon@stripeicon\endcsname {\simpleiconsmap\symbol{"F44B}}
+ \expandafter\def\csname simpleicon@strongswanicon\endcsname {\simpleiconsmap\symbol{"F44C}}
+ \expandafter\def\csname simpleicon@strykericon\endcsname {\simpleiconsmap\symbol{"F44D}}
+ \expandafter\def\csname simpleicon@stubhubicon\endcsname {\simpleiconsmap\symbol{"F44E}}
+ \expandafter\def\csname simpleicon@studio3ticon\endcsname {\simpleiconsmap\symbol{"F44F}}
+ \expandafter\def\csname simpleicon@studyverseicon\endcsname {\simpleiconsmap\symbol{"F450}}
+ \expandafter\def\csname simpleicon@styledcomponentsicon\endcsname {\simpleiconsmap\symbol{"F451}}
+ \expandafter\def\csname simpleicon@stylelinticon\endcsname {\simpleiconsmap\symbol{"F452}}
+ \expandafter\def\csname simpleicon@styleshareicon\endcsname {\simpleiconsmap\symbol{"F453}}
+ \expandafter\def\csname simpleicon@stylusicon\endcsname {\simpleiconsmap\symbol{"F454}}
+ \expandafter\def\csname simpleicon@subaruicon\endcsname {\simpleiconsmap\symbol{"F455}}
+ \expandafter\def\csname simpleicon@sublimetexticon\endcsname {\simpleiconsmap\symbol{"F456}}
+ \expandafter\def\csname simpleicon@substackicon\endcsname {\simpleiconsmap\symbol{"F457}}
+ \expandafter\def\csname simpleicon@subtitleediticon\endcsname {\simpleiconsmap\symbol{"F458}}
+ \expandafter\def\csname simpleicon@subversionicon\endcsname {\simpleiconsmap\symbol{"F459}}
+ \expandafter\def\csname simpleicon@sucklessicon\endcsname {\simpleiconsmap\symbol{"F45A}}
+ \expandafter\def\csname simpleicon@sumologicicon\endcsname {\simpleiconsmap\symbol{"F45B}}
+ \expandafter\def\csname simpleicon@sunoicon\endcsname {\simpleiconsmap\symbol{"F45C}}
+ \expandafter\def\csname simpleicon@sunriseicon\endcsname {\simpleiconsmap\symbol{"F45D}}
+ \expandafter\def\csname simpleicon@supabaseicon\endcsname {\simpleiconsmap\symbol{"F45E}}
+ \expandafter\def\csname simpleicon@supercreaseicon\endcsname {\simpleiconsmap\symbol{"F45F}}
+ \expandafter\def\csname simpleicon@supermicroicon\endcsname {\simpleiconsmap\symbol{"F460}}
+ \expandafter\def\csname simpleicon@superusericon\endcsname {\simpleiconsmap\symbol{"F461}}
+ \expandafter\def\csname simpleicon@surrealdbicon\endcsname {\simpleiconsmap\symbol{"F462}}
+ \expandafter\def\csname simpleicon@surveymonkeyicon\endcsname {\simpleiconsmap\symbol{"F463}}
+ \expandafter\def\csname simpleicon@suseicon\endcsname {\simpleiconsmap\symbol{"F464}}
+ \expandafter\def\csname simpleicon@suzukiicon\endcsname {\simpleiconsmap\symbol{"F465}}
+ \expandafter\def\csname simpleicon@svelteicon\endcsname {\simpleiconsmap\symbol{"F466}}
+ \expandafter\def\csname simpleicon@svgicon\endcsname {\simpleiconsmap\symbol{"F467}}
+ \expandafter\def\csname simpleicon@svgdotjsicon\endcsname {\simpleiconsmap\symbol{"F468}}
+ \expandafter\def\csname simpleicon@svgoicon\endcsname {\simpleiconsmap\symbol{"F469}}
+ \expandafter\def\csname simpleicon@swaggericon\endcsname {\simpleiconsmap\symbol{"F46A}}
+ \expandafter\def\csname simpleicon@swarmicon\endcsname {\simpleiconsmap\symbol{"F46B}}
+ \expandafter\def\csname simpleicon@swcicon\endcsname {\simpleiconsmap\symbol{"F46C}}
+ \expandafter\def\csname simpleicon@swifticon\endcsname {\simpleiconsmap\symbol{"F46D}}
+ \expandafter\def\csname simpleicon@swiggyicon\endcsname {\simpleiconsmap\symbol{"F46E}}
+ \expandafter\def\csname simpleicon@swipericon\endcsname {\simpleiconsmap\symbol{"F46F}}
+ \expandafter\def\csname simpleicon@swricon\endcsname {\simpleiconsmap\symbol{"F470}}
+ \expandafter\def\csname simpleicon@symantecicon\endcsname {\simpleiconsmap\symbol{"F471}}
+ \expandafter\def\csname simpleicon@symbolabicon\endcsname {\simpleiconsmap\symbol{"F472}}
+ \expandafter\def\csname simpleicon@symfonyicon\endcsname {\simpleiconsmap\symbol{"F473}}
+ \expandafter\def\csname simpleicon@symphonyicon\endcsname {\simpleiconsmap\symbol{"F474}}
+ \expandafter\def\csname simpleicon@sympyicon\endcsname {\simpleiconsmap\symbol{"F475}}
+ \expandafter\def\csname simpleicon@syncthingicon\endcsname {\simpleiconsmap\symbol{"F476}}
+ \expandafter\def\csname simpleicon@synologyicon\endcsname {\simpleiconsmap\symbol{"F477}}
+ \expandafter\def\csname simpleicon@system76icon\endcsname {\simpleiconsmap\symbol{"F478}}
+ \expandafter\def\csname simpleicon@tabelogicon\endcsname {\simpleiconsmap\symbol{"F479}}
+ \expandafter\def\csname simpleicon@tableauicon\endcsname {\simpleiconsmap\symbol{"F47A}}
+ \expandafter\def\csname simpleicon@tablecheckicon\endcsname {\simpleiconsmap\symbol{"F47B}}
+ \expandafter\def\csname simpleicon@tacobellicon\endcsname {\simpleiconsmap\symbol{"F47C}}
+ \expandafter\def\csname simpleicon@tadoicon\endcsname {\simpleiconsmap\symbol{"F47D}}
+ \expandafter\def\csname simpleicon@taichigraphicsicon\endcsname {\simpleiconsmap\symbol{"F47E}}
+ \expandafter\def\csname simpleicon@taichilangicon\endcsname {\simpleiconsmap\symbol{"F47F}}
+ \expandafter\def\csname simpleicon@tailsicon\endcsname {\simpleiconsmap\symbol{"F480}}
+ \expandafter\def\csname simpleicon@tailscaleicon\endcsname {\simpleiconsmap\symbol{"F481}}
+ \expandafter\def\csname simpleicon@tailwindcssicon\endcsname {\simpleiconsmap\symbol{"F482}}
+ \expandafter\def\csname simpleicon@taipyicon\endcsname {\simpleiconsmap\symbol{"F483}}
+ \expandafter\def\csname simpleicon@taketwointeractivesoftwareicon\endcsname {\simpleiconsmap\symbol{"F484}}
+ \expandafter\def\csname simpleicon@talendicon\endcsname {\simpleiconsmap\symbol{"F485}}
+ \expandafter\def\csname simpleicon@talenthouseicon\endcsname {\simpleiconsmap\symbol{"F486}}
+ \expandafter\def\csname simpleicon@talosicon\endcsname {\simpleiconsmap\symbol{"F487}}
+ \expandafter\def\csname simpleicon@tamiyaicon\endcsname {\simpleiconsmap\symbol{"F488}}
+ \expandafter\def\csname simpleicon@tampermonkeyicon\endcsname {\simpleiconsmap\symbol{"F489}}
+ \expandafter\def\csname simpleicon@taobaoicon\endcsname {\simpleiconsmap\symbol{"F48A}}
+ \expandafter\def\csname simpleicon@tapasicon\endcsname {\simpleiconsmap\symbol{"F48B}}
+ \expandafter\def\csname simpleicon@targeticon\endcsname {\simpleiconsmap\symbol{"F48C}}
+ \expandafter\def\csname simpleicon@taskicon\endcsname {\simpleiconsmap\symbol{"F48D}}
+ \expandafter\def\csname simpleicon@tasmotaicon\endcsname {\simpleiconsmap\symbol{"F48E}}
+ \expandafter\def\csname simpleicon@tataicon\endcsname {\simpleiconsmap\symbol{"F48F}}
+ \expandafter\def\csname simpleicon@tauriicon\endcsname {\simpleiconsmap\symbol{"F490}}
+ \expandafter\def\csname simpleicon@taxbuzzicon\endcsname {\simpleiconsmap\symbol{"F491}}
+ \expandafter\def\csname simpleicon@tcsicon\endcsname {\simpleiconsmap\symbol{"F492}}
+ \expandafter\def\csname simpleicon@tealicon\endcsname {\simpleiconsmap\symbol{"F493}}
+ \expandafter\def\csname simpleicon@teamcityicon\endcsname {\simpleiconsmap\symbol{"F494}}
+ \expandafter\def\csname simpleicon@teamspeakicon\endcsname {\simpleiconsmap\symbol{"F495}}
+ \expandafter\def\csname simpleicon@teamviewericon\endcsname {\simpleiconsmap\symbol{"F496}}
+ \expandafter\def\csname simpleicon@techcrunchicon\endcsname {\simpleiconsmap\symbol{"F497}}
+ \expandafter\def\csname simpleicon@tedicon\endcsname {\simpleiconsmap\symbol{"F498}}
+ \expandafter\def\csname simpleicon@teepublicicon\endcsname {\simpleiconsmap\symbol{"F499}}
+ \expandafter\def\csname simpleicon@teespringicon\endcsname {\simpleiconsmap\symbol{"F49A}}
+ \expandafter\def\csname simpleicon@tektonicon\endcsname {\simpleiconsmap\symbol{"F49B}}
+ \expandafter\def\csname simpleicon@tele5icon\endcsname {\simpleiconsmap\symbol{"F49C}}
+ \expandafter\def\csname simpleicon@telegramicon\endcsname {\simpleiconsmap\symbol{"F49D}}
+ \expandafter\def\csname simpleicon@telegraphicon\endcsname {\simpleiconsmap\symbol{"F49E}}
+ \expandafter\def\csname simpleicon@telequebecicon\endcsname {\simpleiconsmap\symbol{"F49F}}
+ \expandafter\def\csname simpleicon@temporalicon\endcsname {\simpleiconsmap\symbol{"F4A0}}
+ \expandafter\def\csname simpleicon@tencentqqicon\endcsname {\simpleiconsmap\symbol{"F4A1}}
+ \expandafter\def\csname simpleicon@tensorflowicon\endcsname {\simpleiconsmap\symbol{"F4A2}}
+ \expandafter\def\csname simpleicon@teradataicon\endcsname {\simpleiconsmap\symbol{"F4A3}}
+ \expandafter\def\csname simpleicon@teratailicon\endcsname {\simpleiconsmap\symbol{"F4A4}}
+ \expandafter\def\csname simpleicon@termiusicon\endcsname {\simpleiconsmap\symbol{"F4A5}}
+ \expandafter\def\csname simpleicon@terraformicon\endcsname {\simpleiconsmap\symbol{"F4A6}}
+ \expandafter\def\csname simpleicon@tescoicon\endcsname {\simpleiconsmap\symbol{"F4A7}}
+ \expandafter\def\csname simpleicon@teslaicon\endcsname {\simpleiconsmap\symbol{"F4A8}}
+ \expandafter\def\csname simpleicon@testcafeicon\endcsname {\simpleiconsmap\symbol{"F4A9}}
+ \expandafter\def\csname simpleicon@testinicon\endcsname {\simpleiconsmap\symbol{"F4AA}}
+ \expandafter\def\csname simpleicon@testinglibraryicon\endcsname {\simpleiconsmap\symbol{"F4AB}}
+ \expandafter\def\csname simpleicon@testrailicon\endcsname {\simpleiconsmap\symbol{"F4AC}}
+ \expandafter\def\csname simpleicon@tethericon\endcsname {\simpleiconsmap\symbol{"F4AD}}
+ \expandafter\def\csname simpleicon@textpatternicon\endcsname {\simpleiconsmap\symbol{"F4AE}}
+ \expandafter\def\csname simpleicon@tgaicon\endcsname {\simpleiconsmap\symbol{"F4AF}}
+ \expandafter\def\csname simpleicon@thangsicon\endcsname {\simpleiconsmap\symbol{"F4B0}}
+ \expandafter\def\csname simpleicon@thealgorithmsicon\endcsname {\simpleiconsmap\symbol{"F4B1}}
+ \expandafter\def\csname simpleicon@theboringcompanyicon\endcsname {\simpleiconsmap\symbol{"F4B2}}
+ \expandafter\def\csname simpleicon@theconversationicon\endcsname {\simpleiconsmap\symbol{"F4B3}}
+ \expandafter\def\csname simpleicon@thefinalsicon\endcsname {\simpleiconsmap\symbol{"F4B4}}
+ \expandafter\def\csname simpleicon@theirishtimesicon\endcsname {\simpleiconsmap\symbol{"F4B5}}
+ \expandafter\def\csname simpleicon@themightyicon\endcsname {\simpleiconsmap\symbol{"F4B6}}
+ \expandafter\def\csname simpleicon@themodelsresourceicon\endcsname {\simpleiconsmap\symbol{"F4B7}}
+ \expandafter\def\csname simpleicon@themoviedatabaseicon\endcsname {\simpleiconsmap\symbol{"F4B8}}
+ \expandafter\def\csname simpleicon@thenorthfaceicon\endcsname {\simpleiconsmap\symbol{"F4B9}}
+ \expandafter\def\csname simpleicon@theodinprojecticon\endcsname {\simpleiconsmap\symbol{"F4BA}}
+ \expandafter\def\csname simpleicon@theregistericon\endcsname {\simpleiconsmap\symbol{"F4BB}}
+ \expandafter\def\csname simpleicon@thesoundsresourceicon\endcsname {\simpleiconsmap\symbol{"F4BC}}
+ \expandafter\def\csname simpleicon@thespritersresourceicon\endcsname {\simpleiconsmap\symbol{"F4BD}}
+ \expandafter\def\csname simpleicon@thewashingtonposticon\endcsname {\simpleiconsmap\symbol{"F4BE}}
+ \expandafter\def\csname simpleicon@thingiverseicon\endcsname {\simpleiconsmap\symbol{"F4BF}}
+ \expandafter\def\csname simpleicon@thinkpadicon\endcsname {\simpleiconsmap\symbol{"F4C0}}
+ \expandafter\def\csname simpleicon@thirdwebicon\endcsname {\simpleiconsmap\symbol{"F4C1}}
+ \expandafter\def\csname simpleicon@threadlessicon\endcsname {\simpleiconsmap\symbol{"F4C2}}
+ \expandafter\def\csname simpleicon@threadsicon\endcsname {\simpleiconsmap\symbol{"F4C3}}
+ \expandafter\def\csname simpleicon@threedotjsicon\endcsname {\simpleiconsmap\symbol{"F4C4}}
+ \expandafter\def\csname simpleicon@threemaicon\endcsname {\simpleiconsmap\symbol{"F4C5}}
+ \expandafter\def\csname simpleicon@thumbtackicon\endcsname {\simpleiconsmap\symbol{"F4C6}}
+ \expandafter\def\csname simpleicon@thunderbirdicon\endcsname {\simpleiconsmap\symbol{"F4C7}}
+ \expandafter\def\csname simpleicon@thunderstoreicon\endcsname {\simpleiconsmap\symbol{"F4C8}}
+ \expandafter\def\csname simpleicon@thurgauerkantonalbankicon\endcsname {\simpleiconsmap\symbol{"F4C9}}
+ \expandafter\def\csname simpleicon@thymeleaficon\endcsname {\simpleiconsmap\symbol{"F4CA}}
+ \expandafter\def\csname simpleicon@ticketmastericon\endcsname {\simpleiconsmap\symbol{"F4CB}}
+ \expandafter\def\csname simpleicon@ticktickicon\endcsname {\simpleiconsmap\symbol{"F4CC}}
+ \expandafter\def\csname simpleicon@tidalicon\endcsname {\simpleiconsmap\symbol{"F4CD}}
+ \expandafter\def\csname simpleicon@tiddlywikiicon\endcsname {\simpleiconsmap\symbol{"F4CE}}
+ \expandafter\def\csname simpleicon@tideicon\endcsname {\simpleiconsmap\symbol{"F4CF}}
+ \expandafter\def\csname simpleicon@tidyverseicon\endcsname {\simpleiconsmap\symbol{"F4D0}}
+ \expandafter\def\csname simpleicon@tietoevryicon\endcsname {\simpleiconsmap\symbol{"F4D1}}
+ \expandafter\def\csname simpleicon@tiktokicon\endcsname {\simpleiconsmap\symbol{"F4D2}}
+ \expandafter\def\csname simpleicon@tildapublishingicon\endcsname {\simpleiconsmap\symbol{"F4D3}}
+ \expandafter\def\csname simpleicon@tileicon\endcsname {\simpleiconsmap\symbol{"F4D4}}
+ \expandafter\def\csname simpleicon@timescaleicon\endcsname {\simpleiconsmap\symbol{"F4D5}}
+ \expandafter\def\csname simpleicon@tinaicon\endcsname {\simpleiconsmap\symbol{"F4D6}}
+ \expandafter\def\csname simpleicon@tindericon\endcsname {\simpleiconsmap\symbol{"F4D7}}
+ \expandafter\def\csname simpleicon@tindieicon\endcsname {\simpleiconsmap\symbol{"F4D8}}
+ \expandafter\def\csname simpleicon@tinkercadicon\endcsname {\simpleiconsmap\symbol{"F4D9}}
+ \expandafter\def\csname simpleicon@tinygradicon\endcsname {\simpleiconsmap\symbol{"F4DA}}
+ \expandafter\def\csname simpleicon@tinylettericon\endcsname {\simpleiconsmap\symbol{"F4DB}}
+ \expandafter\def\csname simpleicon@tistoryicon\endcsname {\simpleiconsmap\symbol{"F4DC}}
+ \expandafter\def\csname simpleicon@tldrawicon\endcsname {\simpleiconsmap\symbol{"F4DD}}
+ \expandafter\def\csname simpleicon@tmobileicon\endcsname {\simpleiconsmap\symbol{"F4DE}}
+ \expandafter\def\csname simpleicon@tmuxicon\endcsname {\simpleiconsmap\symbol{"F4DF}}
+ \expandafter\def\csname simpleicon@todoisticon\endcsname {\simpleiconsmap\symbol{"F4E0}}
+ \expandafter\def\csname simpleicon@togglicon\endcsname {\simpleiconsmap\symbol{"F4E1}}
+ \expandafter\def\csname simpleicon@toggltrackicon\endcsname {\simpleiconsmap\symbol{"F4E2}}
+ \expandafter\def\csname simpleicon@tokyometroicon\endcsname {\simpleiconsmap\symbol{"F4E3}}
+ \expandafter\def\csname simpleicon@tollicon\endcsname {\simpleiconsmap\symbol{"F4E4}}
+ \expandafter\def\csname simpleicon@tomlicon\endcsname {\simpleiconsmap\symbol{"F4E5}}
+ \expandafter\def\csname simpleicon@tomorrowlandicon\endcsname {\simpleiconsmap\symbol{"F4E6}}
+ \expandafter\def\csname simpleicon@tonicon\endcsname {\simpleiconsmap\symbol{"F4E7}}
+ \expandafter\def\csname simpleicon@topcodericon\endcsname {\simpleiconsmap\symbol{"F4E8}}
+ \expandafter\def\csname simpleicon@topdotggicon\endcsname {\simpleiconsmap\symbol{"F4E9}}
+ \expandafter\def\csname simpleicon@toptalicon\endcsname {\simpleiconsmap\symbol{"F4EA}}
+ \expandafter\def\csname simpleicon@torbrowsericon\endcsname {\simpleiconsmap\symbol{"F4EB}}
+ \expandafter\def\csname simpleicon@torprojecticon\endcsname {\simpleiconsmap\symbol{"F4EC}}
+ \expandafter\def\csname simpleicon@toshibaicon\endcsname {\simpleiconsmap\symbol{"F4ED}}
+ \expandafter\def\csname simpleicon@totvsicon\endcsname {\simpleiconsmap\symbol{"F4EE}}
+ \expandafter\def\csname simpleicon@tourboxicon\endcsname {\simpleiconsmap\symbol{"F4EF}}
+ \expandafter\def\csname simpleicon@towericon\endcsname {\simpleiconsmap\symbol{"F4F0}}
+ \expandafter\def\csname simpleicon@toyotaicon\endcsname {\simpleiconsmap\symbol{"F4F1}}
+ \expandafter\def\csname simpleicon@tplinkicon\endcsname {\simpleiconsmap\symbol{"F4F2}}
+ \expandafter\def\csname simpleicon@tqdmicon\endcsname {\simpleiconsmap\symbol{"F4F3}}
+ \expandafter\def\csname simpleicon@traccaricon\endcsname {\simpleiconsmap\symbol{"F4F4}}
+ \expandafter\def\csname simpleicon@tradingviewicon\endcsname {\simpleiconsmap\symbol{"F4F5}}
+ \expandafter\def\csname simpleicon@traefikmeshicon\endcsname {\simpleiconsmap\symbol{"F4F6}}
+ \expandafter\def\csname simpleicon@traefikproxyicon\endcsname {\simpleiconsmap\symbol{"F4F7}}
+ \expandafter\def\csname simpleicon@trailforksicon\endcsname {\simpleiconsmap\symbol{"F4F8}}
+ \expandafter\def\csname simpleicon@trainerroadicon\endcsname {\simpleiconsmap\symbol{"F4F9}}
+ \expandafter\def\csname simpleicon@trakticon\endcsname {\simpleiconsmap\symbol{"F4FA}}
+ \expandafter\def\csname simpleicon@transifexicon\endcsname {\simpleiconsmap\symbol{"F4FB}}
+ \expandafter\def\csname simpleicon@transmissionicon\endcsname {\simpleiconsmap\symbol{"F4FC}}
+ \expandafter\def\csname simpleicon@transportforirelandicon\endcsname {\simpleiconsmap\symbol{"F4FD}}
+ \expandafter\def\csname simpleicon@transportforlondonicon\endcsname {\simpleiconsmap\symbol{"F4FE}}
+ \expandafter\def\csname simpleicon@travisciicon\endcsname {\simpleiconsmap\symbol{"F4FF}}
+ \expandafter\def\csname simpleicon@treehouseicon\endcsname {\simpleiconsmap\symbol{"F500}}
+ \expandafter\def\csname simpleicon@trelloicon\endcsname {\simpleiconsmap\symbol{"F501}}
+ \expandafter\def\csname simpleicon@trendmicroicon\endcsname {\simpleiconsmap\symbol{"F502}}
+ \expandafter\def\csname simpleicon@treyarchicon\endcsname {\simpleiconsmap\symbol{"F503}}
+ \expandafter\def\csname simpleicon@tricentisicon\endcsname {\simpleiconsmap\symbol{"F504}}
+ \expandafter\def\csname simpleicon@triliumicon\endcsname {\simpleiconsmap\symbol{"F505}}
+ \expandafter\def\csname simpleicon@trillericon\endcsname {\simpleiconsmap\symbol{"F506}}
+ \expandafter\def\csname simpleicon@trillertvicon\endcsname {\simpleiconsmap\symbol{"F507}}
+ \expandafter\def\csname simpleicon@trinoicon\endcsname {\simpleiconsmap\symbol{"F508}}
+ \expandafter\def\csname simpleicon@tripadvisoricon\endcsname {\simpleiconsmap\symbol{"F509}}
+ \expandafter\def\csname simpleicon@tripdotcomicon\endcsname {\simpleiconsmap\symbol{"F50A}}
+ \expandafter\def\csname simpleicon@trivagoicon\endcsname {\simpleiconsmap\symbol{"F50B}}
+ \expandafter\def\csname simpleicon@trivyicon\endcsname {\simpleiconsmap\symbol{"F50C}}
+ \expandafter\def\csname simpleicon@troveicon\endcsname {\simpleiconsmap\symbol{"F50D}}
+ \expandafter\def\csname simpleicon@trpcicon\endcsname {\simpleiconsmap\symbol{"F50E}}
+ \expandafter\def\csname simpleicon@truenasicon\endcsname {\simpleiconsmap\symbol{"F50F}}
+ \expandafter\def\csname simpleicon@trueupicon\endcsname {\simpleiconsmap\symbol{"F510}}
+ \expandafter\def\csname simpleicon@truliaicon\endcsname {\simpleiconsmap\symbol{"F511}}
+ \expandafter\def\csname simpleicon@trustedshopsicon\endcsname {\simpleiconsmap\symbol{"F512}}
+ \expandafter\def\csname simpleicon@trustpiloticon\endcsname {\simpleiconsmap\symbol{"F513}}
+ \expandafter\def\csname simpleicon@tryhackmeicon\endcsname {\simpleiconsmap\symbol{"F514}}
+ \expandafter\def\csname simpleicon@tryitonlineicon\endcsname {\simpleiconsmap\symbol{"F515}}
+ \expandafter\def\csname simpleicon@tsnodeicon\endcsname {\simpleiconsmap\symbol{"F516}}
+ \expandafter\def\csname simpleicon@tubiicon\endcsname {\simpleiconsmap\symbol{"F517}}
+ \expandafter\def\csname simpleicon@tuiicon\endcsname {\simpleiconsmap\symbol{"F518}}
+ \expandafter\def\csname simpleicon@tumblricon\endcsname {\simpleiconsmap\symbol{"F519}}
+ \expandafter\def\csname simpleicon@tuneinicon\endcsname {\simpleiconsmap\symbol{"F51A}}
+ \expandafter\def\csname simpleicon@turboicon\endcsname {\simpleiconsmap\symbol{"F51B}}
+ \expandafter\def\csname simpleicon@turborepoicon\endcsname {\simpleiconsmap\symbol{"F51C}}
+ \expandafter\def\csname simpleicon@turbosquidicon\endcsname {\simpleiconsmap\symbol{"F51D}}
+ \expandafter\def\csname simpleicon@turkishairlinesicon\endcsname {\simpleiconsmap\symbol{"F51E}}
+ \expandafter\def\csname simpleicon@tursoicon\endcsname {\simpleiconsmap\symbol{"F51F}}
+ \expandafter\def\csname simpleicon@tutanotaicon\endcsname {\simpleiconsmap\symbol{"F520}}
+ \expandafter\def\csname simpleicon@tv4playicon\endcsname {\simpleiconsmap\symbol{"F521}}
+ \expandafter\def\csname simpleicon@tvtimeicon\endcsname {\simpleiconsmap\symbol{"F522}}
+ \expandafter\def\csname simpleicon@twilioicon\endcsname {\simpleiconsmap\symbol{"F523}}
+ \expandafter\def\csname simpleicon@twinklyicon\endcsname {\simpleiconsmap\symbol{"F524}}
+ \expandafter\def\csname simpleicon@twinmotionicon\endcsname {\simpleiconsmap\symbol{"F525}}
+ \expandafter\def\csname simpleicon@twitchicon\endcsname {\simpleiconsmap\symbol{"F526}}
+ \expandafter\def\csname simpleicon@typeformicon\endcsname {\simpleiconsmap\symbol{"F527}}
+ \expandafter\def\csname simpleicon@typeormicon\endcsname {\simpleiconsmap\symbol{"F528}}
+ \expandafter\def\csname simpleicon@typericon\endcsname {\simpleiconsmap\symbol{"F529}}
+ \expandafter\def\csname simpleicon@typescripticon\endcsname {\simpleiconsmap\symbol{"F52A}}
+ \expandafter\def\csname simpleicon@typo3icon\endcsname {\simpleiconsmap\symbol{"F52B}}
+ \expandafter\def\csname simpleicon@typsticon\endcsname {\simpleiconsmap\symbol{"F52C}}
+ \expandafter\def\csname simpleicon@ubericon\endcsname {\simpleiconsmap\symbol{"F52D}}
+ \expandafter\def\csname simpleicon@ubereatsicon\endcsname {\simpleiconsmap\symbol{"F52E}}
+ \expandafter\def\csname simpleicon@ubiquitiicon\endcsname {\simpleiconsmap\symbol{"F52F}}
+ \expandafter\def\csname simpleicon@ubisofticon\endcsname {\simpleiconsmap\symbol{"F530}}
+ \expandafter\def\csname simpleicon@ublockoriginicon\endcsname {\simpleiconsmap\symbol{"F531}}
+ \expandafter\def\csname simpleicon@ubuntuicon\endcsname {\simpleiconsmap\symbol{"F532}}
+ \expandafter\def\csname simpleicon@ubuntumateicon\endcsname {\simpleiconsmap\symbol{"F533}}
+ \expandafter\def\csname simpleicon@udacityicon\endcsname {\simpleiconsmap\symbol{"F534}}
+ \expandafter\def\csname simpleicon@udemyicon\endcsname {\simpleiconsmap\symbol{"F535}}
+ \expandafter\def\csname simpleicon@ufcicon\endcsname {\simpleiconsmap\symbol{"F536}}
+ \expandafter\def\csname simpleicon@uikiticon\endcsname {\simpleiconsmap\symbol{"F537}}
+ \expandafter\def\csname simpleicon@uipathicon\endcsname {\simpleiconsmap\symbol{"F538}}
+ \expandafter\def\csname simpleicon@ululeicon\endcsname {\simpleiconsmap\symbol{"F539}}
+ \expandafter\def\csname simpleicon@umamiicon\endcsname {\simpleiconsmap\symbol{"F53A}}
+ \expandafter\def\csname simpleicon@umbracoicon\endcsname {\simpleiconsmap\symbol{"F53B}}
+ \expandafter\def\csname simpleicon@umlicon\endcsname {\simpleiconsmap\symbol{"F53C}}
+ \expandafter\def\csname simpleicon@unacademyicon\endcsname {\simpleiconsmap\symbol{"F53D}}
+ \expandafter\def\csname simpleicon@underarmouricon\endcsname {\simpleiconsmap\symbol{"F53E}}
+ \expandafter\def\csname simpleicon@underscoredotjsicon\endcsname {\simpleiconsmap\symbol{"F53F}}
+ \expandafter\def\csname simpleicon@undertaleicon\endcsname {\simpleiconsmap\symbol{"F540}}
+ \expandafter\def\csname simpleicon@unicodeicon\endcsname {\simpleiconsmap\symbol{"F541}}
+ \expandafter\def\csname simpleicon@unilevericon\endcsname {\simpleiconsmap\symbol{"F542}}
+ \expandafter\def\csname simpleicon@uniqloicon\endcsname {\simpleiconsmap\symbol{"F543}}
+ \expandafter\def\csname simpleicon@uniqlojaicon\endcsname {\simpleiconsmap\symbol{"F544}}
+ \expandafter\def\csname simpleicon@unitedairlinesicon\endcsname {\simpleiconsmap\symbol{"F545}}
+ \expandafter\def\csname simpleicon@unitednationsicon\endcsname {\simpleiconsmap\symbol{"F546}}
+ \expandafter\def\csname simpleicon@unityicon\endcsname {\simpleiconsmap\symbol{"F547}}
+ \expandafter\def\csname simpleicon@unjsicon\endcsname {\simpleiconsmap\symbol{"F548}}
+ \expandafter\def\csname simpleicon@unlicenseicon\endcsname {\simpleiconsmap\symbol{"F549}}
+ \expandafter\def\csname simpleicon@unocssicon\endcsname {\simpleiconsmap\symbol{"F54A}}
+ \expandafter\def\csname simpleicon@unpkgicon\endcsname {\simpleiconsmap\symbol{"F54B}}
+ \expandafter\def\csname simpleicon@unraidicon\endcsname {\simpleiconsmap\symbol{"F54C}}
+ \expandafter\def\csname simpleicon@unrealengineicon\endcsname {\simpleiconsmap\symbol{"F54D}}
+ \expandafter\def\csname simpleicon@unsplashicon\endcsname {\simpleiconsmap\symbol{"F54E}}
+ \expandafter\def\csname simpleicon@untappdicon\endcsname {\simpleiconsmap\symbol{"F54F}}
+ \expandafter\def\csname simpleicon@upcloudicon\endcsname {\simpleiconsmap\symbol{"F550}}
+ \expandafter\def\csname simpleicon@upholdicon\endcsname {\simpleiconsmap\symbol{"F551}}
+ \expandafter\def\csname simpleicon@uplabsicon\endcsname {\simpleiconsmap\symbol{"F552}}
+ \expandafter\def\csname simpleicon@upptimeicon\endcsname {\simpleiconsmap\symbol{"F553}}
+ \expandafter\def\csname simpleicon@upsicon\endcsname {\simpleiconsmap\symbol{"F554}}
+ \expandafter\def\csname simpleicon@upstashicon\endcsname {\simpleiconsmap\symbol{"F555}}
+ \expandafter\def\csname simpleicon@uptimekumaicon\endcsname {\simpleiconsmap\symbol{"F556}}
+ \expandafter\def\csname simpleicon@uptoboxicon\endcsname {\simpleiconsmap\symbol{"F557}}
+ \expandafter\def\csname simpleicon@upworkicon\endcsname {\simpleiconsmap\symbol{"F558}}
+ \expandafter\def\csname simpleicon@uspsicon\endcsname {\simpleiconsmap\symbol{"F559}}
+ \expandafter\def\csname simpleicon@utorrenticon\endcsname {\simpleiconsmap\symbol{"F55A}}
+ \expandafter\def\csname simpleicon@vicon\endcsname {\simpleiconsmap\symbol{"F55B}}
+ \expandafter\def\csname simpleicon@v2exicon\endcsname {\simpleiconsmap\symbol{"F55C}}
+ \expandafter\def\csname simpleicon@v8icon\endcsname {\simpleiconsmap\symbol{"F55D}}
+ \expandafter\def\csname simpleicon@vaadinicon\endcsname {\simpleiconsmap\symbol{"F55E}}
+ \expandafter\def\csname simpleicon@vagranticon\endcsname {\simpleiconsmap\symbol{"F55F}}
+ \expandafter\def\csname simpleicon@valaicon\endcsname {\simpleiconsmap\symbol{"F560}}
+ \expandafter\def\csname simpleicon@valoranticon\endcsname {\simpleiconsmap\symbol{"F561}}
+ \expandafter\def\csname simpleicon@valveicon\endcsname {\simpleiconsmap\symbol{"F562}}
+ \expandafter\def\csname simpleicon@vaporicon\endcsname {\simpleiconsmap\symbol{"F563}}
+ \expandafter\def\csname simpleicon@vaulticon\endcsname {\simpleiconsmap\symbol{"F564}}
+ \expandafter\def\csname simpleicon@vaultwardenicon\endcsname {\simpleiconsmap\symbol{"F565}}
+ \expandafter\def\csname simpleicon@vauxhallicon\endcsname {\simpleiconsmap\symbol{"F566}}
+ \expandafter\def\csname simpleicon@vbulletinicon\endcsname {\simpleiconsmap\symbol{"F567}}
+ \expandafter\def\csname simpleicon@vectaryicon\endcsname {\simpleiconsmap\symbol{"F568}}
+ \expandafter\def\csname simpleicon@vectorlogozoneicon\endcsname {\simpleiconsmap\symbol{"F569}}
+ \expandafter\def\csname simpleicon@vectorworksicon\endcsname {\simpleiconsmap\symbol{"F56A}}
+ \expandafter\def\csname simpleicon@veeamicon\endcsname {\simpleiconsmap\symbol{"F56B}}
+ \expandafter\def\csname simpleicon@veedicon\endcsname {\simpleiconsmap\symbol{"F56C}}
+ \expandafter\def\csname simpleicon@veepeeicon\endcsname {\simpleiconsmap\symbol{"F56D}}
+ \expandafter\def\csname simpleicon@vegaicon\endcsname {\simpleiconsmap\symbol{"F56E}}
+ \expandafter\def\csname simpleicon@vegasicon\endcsname {\simpleiconsmap\symbol{"F56F}}
+ \expandafter\def\csname simpleicon@velogicon\endcsname {\simpleiconsmap\symbol{"F570}}
+ \expandafter\def\csname simpleicon@venmoicon\endcsname {\simpleiconsmap\symbol{"F571}}
+ \expandafter\def\csname simpleicon@vercelicon\endcsname {\simpleiconsmap\symbol{"F572}}
+ \expandafter\def\csname simpleicon@verdaccioicon\endcsname {\simpleiconsmap\symbol{"F573}}
+ \expandafter\def\csname simpleicon@veritasicon\endcsname {\simpleiconsmap\symbol{"F574}}
+ \expandafter\def\csname simpleicon@verizonicon\endcsname {\simpleiconsmap\symbol{"F575}}
+ \expandafter\def\csname simpleicon@vespaicon\endcsname {\simpleiconsmap\symbol{"F576}}
+ \expandafter\def\csname simpleicon@vexxhosticon\endcsname {\simpleiconsmap\symbol{"F577}}
+ \expandafter\def\csname simpleicon@vfairsicon\endcsname {\simpleiconsmap\symbol{"F578}}
+ \expandafter\def\csname simpleicon@viadeoicon\endcsname {\simpleiconsmap\symbol{"F579}}
+ \expandafter\def\csname simpleicon@viaplayicon\endcsname {\simpleiconsmap\symbol{"F57A}}
+ \expandafter\def\csname simpleicon@vibericon\endcsname {\simpleiconsmap\symbol{"F57B}}
+ \expandafter\def\csname simpleicon@vibloicon\endcsname {\simpleiconsmap\symbol{"F57C}}
+ \expandafter\def\csname simpleicon@victoriametricsicon\endcsname {\simpleiconsmap\symbol{"F57D}}
+ \expandafter\def\csname simpleicon@victronenergyicon\endcsname {\simpleiconsmap\symbol{"F57E}}
+ \expandafter\def\csname simpleicon@vimicon\endcsname {\simpleiconsmap\symbol{"F57F}}
+ \expandafter\def\csname simpleicon@vimeoicon\endcsname {\simpleiconsmap\symbol{"F580}}
+ \expandafter\def\csname simpleicon@vimeolivestreamicon\endcsname {\simpleiconsmap\symbol{"F581}}
+ \expandafter\def\csname simpleicon@virginicon\endcsname {\simpleiconsmap\symbol{"F582}}
+ \expandafter\def\csname simpleicon@virginatlanticicon\endcsname {\simpleiconsmap\symbol{"F583}}
+ \expandafter\def\csname simpleicon@virginmediaicon\endcsname {\simpleiconsmap\symbol{"F584}}
+ \expandafter\def\csname simpleicon@virtualboxicon\endcsname {\simpleiconsmap\symbol{"F585}}
+ \expandafter\def\csname simpleicon@virustotalicon\endcsname {\simpleiconsmap\symbol{"F586}}
+ \expandafter\def\csname simpleicon@visaicon\endcsname {\simpleiconsmap\symbol{"F587}}
+ \expandafter\def\csname simpleicon@visxicon\endcsname {\simpleiconsmap\symbol{"F588}}
+ \expandafter\def\csname simpleicon@viteicon\endcsname {\simpleiconsmap\symbol{"F589}}
+ \expandafter\def\csname simpleicon@vitepressicon\endcsname {\simpleiconsmap\symbol{"F58A}}
+ \expandafter\def\csname simpleicon@vitessicon\endcsname {\simpleiconsmap\symbol{"F58B}}
+ \expandafter\def\csname simpleicon@vitesticon\endcsname {\simpleiconsmap\symbol{"F58C}}
+ \expandafter\def\csname simpleicon@vivaldiicon\endcsname {\simpleiconsmap\symbol{"F58D}}
+ \expandafter\def\csname simpleicon@vivawalleticon\endcsname {\simpleiconsmap\symbol{"F58E}}
+ \expandafter\def\csname simpleicon@vivinoicon\endcsname {\simpleiconsmap\symbol{"F58F}}
+ \expandafter\def\csname simpleicon@vivinticon\endcsname {\simpleiconsmap\symbol{"F590}}
+ \expandafter\def\csname simpleicon@vivoicon\endcsname {\simpleiconsmap\symbol{"F591}}
+ \expandafter\def\csname simpleicon@vkicon\endcsname {\simpleiconsmap\symbol{"F592}}
+ \expandafter\def\csname simpleicon@vlcmediaplayericon\endcsname {\simpleiconsmap\symbol{"F593}}
+ \expandafter\def\csname simpleicon@vmwareicon\endcsname {\simpleiconsmap\symbol{"F594}}
+ \expandafter\def\csname simpleicon@vodafoneicon\endcsname {\simpleiconsmap\symbol{"F595}}
+ \expandafter\def\csname simpleicon@voidlinuxicon\endcsname {\simpleiconsmap\symbol{"F596}}
+ \expandafter\def\csname simpleicon@voipdotmsicon\endcsname {\simpleiconsmap\symbol{"F597}}
+ \expandafter\def\csname simpleicon@volkswagenicon\endcsname {\simpleiconsmap\symbol{"F598}}
+ \expandafter\def\csname simpleicon@volvoicon\endcsname {\simpleiconsmap\symbol{"F599}}
+ \expandafter\def\csname simpleicon@vonageicon\endcsname {\simpleiconsmap\symbol{"F59A}}
+ \expandafter\def\csname simpleicon@vorondesignicon\endcsname {\simpleiconsmap\symbol{"F59B}}
+ \expandafter\def\csname simpleicon@vowpalwabbiticon\endcsname {\simpleiconsmap\symbol{"F59C}}
+ \expandafter\def\csname simpleicon@voxicon\endcsname {\simpleiconsmap\symbol{"F59D}}
+ \expandafter\def\csname simpleicon@vscoicon\endcsname {\simpleiconsmap\symbol{"F59E}}
+ \expandafter\def\csname simpleicon@vscodiumicon\endcsname {\simpleiconsmap\symbol{"F59F}}
+ \expandafter\def\csname simpleicon@vtexicon\endcsname {\simpleiconsmap\symbol{"F5A0}}
+ \expandafter\def\csname simpleicon@vuedotjsicon\endcsname {\simpleiconsmap\symbol{"F5A1}}
+ \expandafter\def\csname simpleicon@vuetifyicon\endcsname {\simpleiconsmap\symbol{"F5A2}}
+ \expandafter\def\csname simpleicon@vulkanicon\endcsname {\simpleiconsmap\symbol{"F5A3}}
+ \expandafter\def\csname simpleicon@vultricon\endcsname {\simpleiconsmap\symbol{"F5A4}}
+ \expandafter\def\csname simpleicon@vyondicon\endcsname {\simpleiconsmap\symbol{"F5A5}}
+ \expandafter\def\csname simpleicon@w3schoolsicon\endcsname {\simpleiconsmap\symbol{"F5A6}}
+ \expandafter\def\csname simpleicon@wacomicon\endcsname {\simpleiconsmap\symbol{"F5A7}}
+ \expandafter\def\csname simpleicon@wagmiicon\endcsname {\simpleiconsmap\symbol{"F5A8}}
+ \expandafter\def\csname simpleicon@wagtailicon\endcsname {\simpleiconsmap\symbol{"F5A9}}
+ \expandafter\def\csname simpleicon@wailsicon\endcsname {\simpleiconsmap\symbol{"F5AA}}
+ \expandafter\def\csname simpleicon@wakatimeicon\endcsname {\simpleiconsmap\symbol{"F5AB}}
+ \expandafter\def\csname simpleicon@walkmanicon\endcsname {\simpleiconsmap\symbol{"F5AC}}
+ \expandafter\def\csname simpleicon@wallabagicon\endcsname {\simpleiconsmap\symbol{"F5AD}}
+ \expandafter\def\csname simpleicon@walletconnecticon\endcsname {\simpleiconsmap\symbol{"F5AE}}
+ \expandafter\def\csname simpleicon@walmarticon\endcsname {\simpleiconsmap\symbol{"F5AF}}
+ \expandafter\def\csname simpleicon@wantedlyicon\endcsname {\simpleiconsmap\symbol{"F5B0}}
+ \expandafter\def\csname simpleicon@wappalyzericon\endcsname {\simpleiconsmap\symbol{"F5B1}}
+ \expandafter\def\csname simpleicon@warnerbrosicon\endcsname {\simpleiconsmap\symbol{"F5B2}}
+ \expandafter\def\csname simpleicon@warpicon\endcsname {\simpleiconsmap\symbol{"F5B3}}
+ \expandafter\def\csname simpleicon@wasabiicon\endcsname {\simpleiconsmap\symbol{"F5B4}}
+ \expandafter\def\csname simpleicon@wasmcloudicon\endcsname {\simpleiconsmap\symbol{"F5B5}}
+ \expandafter\def\csname simpleicon@wasmericon\endcsname {\simpleiconsmap\symbol{"F5B6}}
+ \expandafter\def\csname simpleicon@watchtowericon\endcsname {\simpleiconsmap\symbol{"F5B7}}
+ \expandafter\def\csname simpleicon@wattpadicon\endcsname {\simpleiconsmap\symbol{"F5B8}}
+ \expandafter\def\csname simpleicon@waylandicon\endcsname {\simpleiconsmap\symbol{"F5B9}}
+ \expandafter\def\csname simpleicon@wazeicon\endcsname {\simpleiconsmap\symbol{"F5BA}}
+ \expandafter\def\csname simpleicon@wazirxicon\endcsname {\simpleiconsmap\symbol{"F5BB}}
+ \expandafter\def\csname simpleicon@wearosicon\endcsname {\simpleiconsmap\symbol{"F5BC}}
+ \expandafter\def\csname simpleicon@weasylicon\endcsname {\simpleiconsmap\symbol{"F5BD}}
+ \expandafter\def\csname simpleicon@web3dotjsicon\endcsname {\simpleiconsmap\symbol{"F5BE}}
+ \expandafter\def\csname simpleicon@webassemblyicon\endcsname {\simpleiconsmap\symbol{"F5BF}}
+ \expandafter\def\csname simpleicon@webauthnicon\endcsname {\simpleiconsmap\symbol{"F5C0}}
+ \expandafter\def\csname simpleicon@webcomponentsdotorgicon\endcsname {\simpleiconsmap\symbol{"F5C1}}
+ \expandafter\def\csname simpleicon@webdriverioicon\endcsname {\simpleiconsmap\symbol{"F5C2}}
+ \expandafter\def\csname simpleicon@webexicon\endcsname {\simpleiconsmap\symbol{"F5C3}}
+ \expandafter\def\csname simpleicon@webflowicon\endcsname {\simpleiconsmap\symbol{"F5C4}}
+ \expandafter\def\csname simpleicon@webglicon\endcsname {\simpleiconsmap\symbol{"F5C5}}
+ \expandafter\def\csname simpleicon@webgpuicon\endcsname {\simpleiconsmap\symbol{"F5C6}}
+ \expandafter\def\csname simpleicon@weblateicon\endcsname {\simpleiconsmap\symbol{"F5C7}}
+ \expandafter\def\csname simpleicon@webminicon\endcsname {\simpleiconsmap\symbol{"F5C8}}
+ \expandafter\def\csname simpleicon@webmoneyicon\endcsname {\simpleiconsmap\symbol{"F5C9}}
+ \expandafter\def\csname simpleicon@webpackicon\endcsname {\simpleiconsmap\symbol{"F5CA}}
+ \expandafter\def\csname simpleicon@webrtcicon\endcsname {\simpleiconsmap\symbol{"F5CB}}
+ \expandafter\def\csname simpleicon@webstormicon\endcsname {\simpleiconsmap\symbol{"F5CC}}
+ \expandafter\def\csname simpleicon@webtoonicon\endcsname {\simpleiconsmap\symbol{"F5CD}}
+ \expandafter\def\csname simpleicon@webtreesicon\endcsname {\simpleiconsmap\symbol{"F5CE}}
+ \expandafter\def\csname simpleicon@wechaticon\endcsname {\simpleiconsmap\symbol{"F5CF}}
+ \expandafter\def\csname simpleicon@wegameicon\endcsname {\simpleiconsmap\symbol{"F5D0}}
+ \expandafter\def\csname simpleicon@weightsandbiasesicon\endcsname {\simpleiconsmap\symbol{"F5D1}}
+ \expandafter\def\csname simpleicon@welcometothejungleicon\endcsname {\simpleiconsmap\symbol{"F5D2}}
+ \expandafter\def\csname simpleicon@wellfoundicon\endcsname {\simpleiconsmap\symbol{"F5D3}}
+ \expandafter\def\csname simpleicon@wellsfargoicon\endcsname {\simpleiconsmap\symbol{"F5D4}}
+ \expandafter\def\csname simpleicon@wemoicon\endcsname {\simpleiconsmap\symbol{"F5D5}}
+ \expandafter\def\csname simpleicon@westerndigitalicon\endcsname {\simpleiconsmap\symbol{"F5D6}}
+ \expandafter\def\csname simpleicon@westernunionicon\endcsname {\simpleiconsmap\symbol{"F5D7}}
+ \expandafter\def\csname simpleicon@wetransfericon\endcsname {\simpleiconsmap\symbol{"F5D8}}
+ \expandafter\def\csname simpleicon@weztermicon\endcsname {\simpleiconsmap\symbol{"F5D9}}
+ \expandafter\def\csname simpleicon@wgpuicon\endcsname {\simpleiconsmap\symbol{"F5DA}}
+ \expandafter\def\csname simpleicon@whatsappicon\endcsname {\simpleiconsmap\symbol{"F5DB}}
+ \expandafter\def\csname simpleicon@wheniworkicon\endcsname {\simpleiconsmap\symbol{"F5DC}}
+ \expandafter\def\csname simpleicon@wiiicon\endcsname {\simpleiconsmap\symbol{"F5DD}}
+ \expandafter\def\csname simpleicon@wiiuicon\endcsname {\simpleiconsmap\symbol{"F5DE}}
+ \expandafter\def\csname simpleicon@wikidataicon\endcsname {\simpleiconsmap\symbol{"F5DF}}
+ \expandafter\def\csname simpleicon@wikidotggicon\endcsname {\simpleiconsmap\symbol{"F5E0}}
+ \expandafter\def\csname simpleicon@wikidotjsicon\endcsname {\simpleiconsmap\symbol{"F5E1}}
+ \expandafter\def\csname simpleicon@wikimediacommonsicon\endcsname {\simpleiconsmap\symbol{"F5E2}}
+ \expandafter\def\csname simpleicon@wikimediafoundationicon\endcsname {\simpleiconsmap\symbol{"F5E3}}
+ \expandafter\def\csname simpleicon@wikipediaicon\endcsname {\simpleiconsmap\symbol{"F5E4}}
+ \expandafter\def\csname simpleicon@wikiquoteicon\endcsname {\simpleiconsmap\symbol{"F5E5}}
+ \expandafter\def\csname simpleicon@wikivoyageicon\endcsname {\simpleiconsmap\symbol{"F5E6}}
+ \expandafter\def\csname simpleicon@winampicon\endcsname {\simpleiconsmap\symbol{"F5E7}}
+ \expandafter\def\csname simpleicon@wiproicon\endcsname {\simpleiconsmap\symbol{"F5E8}}
+ \expandafter\def\csname simpleicon@wireicon\endcsname {\simpleiconsmap\symbol{"F5E9}}
+ \expandafter\def\csname simpleicon@wireguardicon\endcsname {\simpleiconsmap\symbol{"F5EA}}
+ \expandafter\def\csname simpleicon@wiresharkicon\endcsname {\simpleiconsmap\symbol{"F5EB}}
+ \expandafter\def\csname simpleicon@wiseicon\endcsname {\simpleiconsmap\symbol{"F5EC}}
+ \expandafter\def\csname simpleicon@wishicon\endcsname {\simpleiconsmap\symbol{"F5ED}}
+ \expandafter\def\csname simpleicon@wistiaicon\endcsname {\simpleiconsmap\symbol{"F5EE}}
+ \expandafter\def\csname simpleicon@wixicon\endcsname {\simpleiconsmap\symbol{"F5EF}}
+ \expandafter\def\csname simpleicon@wizzairicon\endcsname {\simpleiconsmap\symbol{"F5F0}}
+ \expandafter\def\csname simpleicon@wolframicon\endcsname {\simpleiconsmap\symbol{"F5F1}}
+ \expandafter\def\csname simpleicon@wolframlanguageicon\endcsname {\simpleiconsmap\symbol{"F5F2}}
+ \expandafter\def\csname simpleicon@wolframmathematicaicon\endcsname {\simpleiconsmap\symbol{"F5F3}}
+ \expandafter\def\csname simpleicon@wondershareicon\endcsname {\simpleiconsmap\symbol{"F5F4}}
+ \expandafter\def\csname simpleicon@wondersharefilmoraicon\endcsname {\simpleiconsmap\symbol{"F5F5}}
+ \expandafter\def\csname simpleicon@wooicon\endcsname {\simpleiconsmap\symbol{"F5F6}}
+ \expandafter\def\csname simpleicon@woocommerceicon\endcsname {\simpleiconsmap\symbol{"F5F7}}
+ \expandafter\def\csname simpleicon@wordpressicon\endcsname {\simpleiconsmap\symbol{"F5F8}}
+ \expandafter\def\csname simpleicon@workplaceicon\endcsname {\simpleiconsmap\symbol{"F5F9}}
+ \expandafter\def\csname simpleicon@worldhealthorganizationicon\endcsname {\simpleiconsmap\symbol{"F5FA}}
+ \expandafter\def\csname simpleicon@wpengineicon\endcsname {\simpleiconsmap\symbol{"F5FB}}
+ \expandafter\def\csname simpleicon@wpexplorericon\endcsname {\simpleiconsmap\symbol{"F5FC}}
+ \expandafter\def\csname simpleicon@wprocketicon\endcsname {\simpleiconsmap\symbol{"F5FD}}
+ \expandafter\def\csname simpleicon@writedotasicon\endcsname {\simpleiconsmap\symbol{"F5FE}}
+ \expandafter\def\csname simpleicon@wweicon\endcsname {\simpleiconsmap\symbol{"F5FF}}
+ \expandafter\def\csname simpleicon@wwiseicon\endcsname {\simpleiconsmap\symbol{"F600}}
+ \expandafter\def\csname simpleicon@wykopicon\endcsname {\simpleiconsmap\symbol{"F601}}
+ \expandafter\def\csname simpleicon@wyzeicon\endcsname {\simpleiconsmap\symbol{"F602}}
+ \expandafter\def\csname simpleicon@xicon\endcsname {\simpleiconsmap\symbol{"F603}}
+ \expandafter\def\csname simpleicon@xamppicon\endcsname {\simpleiconsmap\symbol{"F604}}
+ \expandafter\def\csname simpleicon@xcodeicon\endcsname {\simpleiconsmap\symbol{"F605}}
+ \expandafter\def\csname simpleicon@xdadevelopersicon\endcsname {\simpleiconsmap\symbol{"F606}}
+ \expandafter\def\csname simpleicon@xdotorgicon\endcsname {\simpleiconsmap\symbol{"F607}}
+ \expandafter\def\csname simpleicon@xenditicon\endcsname {\simpleiconsmap\symbol{"F608}}
+ \expandafter\def\csname simpleicon@xeroicon\endcsname {\simpleiconsmap\symbol{"F609}}
+ \expandafter\def\csname simpleicon@xfceicon\endcsname {\simpleiconsmap\symbol{"F60A}}
+ \expandafter\def\csname simpleicon@xiaohongshuicon\endcsname {\simpleiconsmap\symbol{"F60B}}
+ \expandafter\def\csname simpleicon@xiaomiicon\endcsname {\simpleiconsmap\symbol{"F60C}}
+ \expandafter\def\csname simpleicon@xingicon\endcsname {\simpleiconsmap\symbol{"F60D}}
+ \expandafter\def\csname simpleicon@xmppicon\endcsname {\simpleiconsmap\symbol{"F60E}}
+ \expandafter\def\csname simpleicon@xoicon\endcsname {\simpleiconsmap\symbol{"F60F}}
+ \expandafter\def\csname simpleicon@xrpicon\endcsname {\simpleiconsmap\symbol{"F610}}
+ \expandafter\def\csname simpleicon@xspliticon\endcsname {\simpleiconsmap\symbol{"F611}}
+ \expandafter\def\csname simpleicon@xstateicon\endcsname {\simpleiconsmap\symbol{"F612}}
+ \expandafter\def\csname simpleicon@yabaiicon\endcsname {\simpleiconsmap\symbol{"F613}}
+ \expandafter\def\csname simpleicon@yaleicon\endcsname {\simpleiconsmap\symbol{"F614}}
+ \expandafter\def\csname simpleicon@yamahacorporationicon\endcsname {\simpleiconsmap\symbol{"F615}}
+ \expandafter\def\csname simpleicon@yamahamotorcorporationicon\endcsname {\simpleiconsmap\symbol{"F616}}
+ \expandafter\def\csname simpleicon@yamlicon\endcsname {\simpleiconsmap\symbol{"F617}}
+ \expandafter\def\csname simpleicon@yandexcloudicon\endcsname {\simpleiconsmap\symbol{"F618}}
+ \expandafter\def\csname simpleicon@yarnicon\endcsname {\simpleiconsmap\symbol{"F619}}
+ \expandafter\def\csname simpleicon@ycombinatoricon\endcsname {\simpleiconsmap\symbol{"F61A}}
+ \expandafter\def\csname simpleicon@yelpicon\endcsname {\simpleiconsmap\symbol{"F61B}}
+ \expandafter\def\csname simpleicon@yetiicon\endcsname {\simpleiconsmap\symbol{"F61C}}
+ \expandafter\def\csname simpleicon@yoasticon\endcsname {\simpleiconsmap\symbol{"F61D}}
+ \expandafter\def\csname simpleicon@youtubeicon\endcsname {\simpleiconsmap\symbol{"F61E}}
+ \expandafter\def\csname simpleicon@youtubegamingicon\endcsname {\simpleiconsmap\symbol{"F61F}}
+ \expandafter\def\csname simpleicon@youtubekidsicon\endcsname {\simpleiconsmap\symbol{"F620}}
+ \expandafter\def\csname simpleicon@youtubemusicicon\endcsname {\simpleiconsmap\symbol{"F621}}
+ \expandafter\def\csname simpleicon@youtubeshortsicon\endcsname {\simpleiconsmap\symbol{"F622}}
+ \expandafter\def\csname simpleicon@youtubestudioicon\endcsname {\simpleiconsmap\symbol{"F623}}
+ \expandafter\def\csname simpleicon@youtubetvicon\endcsname {\simpleiconsmap\symbol{"F624}}
+ \expandafter\def\csname simpleicon@yricon\endcsname {\simpleiconsmap\symbol{"F625}}
+ \expandafter\def\csname simpleicon@yubicoicon\endcsname {\simpleiconsmap\symbol{"F626}}
+ \expandafter\def\csname simpleicon@yunohosticon\endcsname {\simpleiconsmap\symbol{"F627}}
+ \expandafter\def\csname simpleicon@zabkaicon\endcsname {\simpleiconsmap\symbol{"F628}}
+ \expandafter\def\csname simpleicon@zaimicon\endcsname {\simpleiconsmap\symbol{"F629}}
+ \expandafter\def\csname simpleicon@zalandoicon\endcsname {\simpleiconsmap\symbol{"F62A}}
+ \expandafter\def\csname simpleicon@zaloicon\endcsname {\simpleiconsmap\symbol{"F62B}}
+ \expandafter\def\csname simpleicon@zapicon\endcsname {\simpleiconsmap\symbol{"F62C}}
+ \expandafter\def\csname simpleicon@zapiericon\endcsname {\simpleiconsmap\symbol{"F62D}}
+ \expandafter\def\csname simpleicon@zaraicon\endcsname {\simpleiconsmap\symbol{"F62E}}
+ \expandafter\def\csname simpleicon@zazzleicon\endcsname {\simpleiconsmap\symbol{"F62F}}
+ \expandafter\def\csname simpleicon@zcashicon\endcsname {\simpleiconsmap\symbol{"F630}}
+ \expandafter\def\csname simpleicon@zcoolicon\endcsname {\simpleiconsmap\symbol{"F631}}
+ \expandafter\def\csname simpleicon@zdficon\endcsname {\simpleiconsmap\symbol{"F632}}
+ \expandafter\def\csname simpleicon@zebpayicon\endcsname {\simpleiconsmap\symbol{"F633}}
+ \expandafter\def\csname simpleicon@zebratechnologiesicon\endcsname {\simpleiconsmap\symbol{"F634}}
+ \expandafter\def\csname simpleicon@zedindustriesicon\endcsname {\simpleiconsmap\symbol{"F635}}
+ \expandafter\def\csname simpleicon@zelleicon\endcsname {\simpleiconsmap\symbol{"F636}}
+ \expandafter\def\csname simpleicon@zendicon\endcsname {\simpleiconsmap\symbol{"F637}}
+ \expandafter\def\csname simpleicon@zendeskicon\endcsname {\simpleiconsmap\symbol{"F638}}
+ \expandafter\def\csname simpleicon@zennicon\endcsname {\simpleiconsmap\symbol{"F639}}
+ \expandafter\def\csname simpleicon@zenodoicon\endcsname {\simpleiconsmap\symbol{"F63A}}
+ \expandafter\def\csname simpleicon@zensaricon\endcsname {\simpleiconsmap\symbol{"F63B}}
+ \expandafter\def\csname simpleicon@zerodhaicon\endcsname {\simpleiconsmap\symbol{"F63C}}
+ \expandafter\def\csname simpleicon@zerplyicon\endcsname {\simpleiconsmap\symbol{"F63D}}
+ \expandafter\def\csname simpleicon@zettlricon\endcsname {\simpleiconsmap\symbol{"F63E}}
+ \expandafter\def\csname simpleicon@zhihuicon\endcsname {\simpleiconsmap\symbol{"F63F}}
+ \expandafter\def\csname simpleicon@zigicon\endcsname {\simpleiconsmap\symbol{"F640}}
+ \expandafter\def\csname simpleicon@zigbeeicon\endcsname {\simpleiconsmap\symbol{"F641}}
+ \expandafter\def\csname simpleicon@zigbee2mqtticon\endcsname {\simpleiconsmap\symbol{"F642}}
+ \expandafter\def\csname simpleicon@ziggoicon\endcsname {\simpleiconsmap\symbol{"F643}}
+ \expandafter\def\csname simpleicon@zilchicon\endcsname {\simpleiconsmap\symbol{"F644}}
+ \expandafter\def\csname simpleicon@zillowicon\endcsname {\simpleiconsmap\symbol{"F645}}
+ \expandafter\def\csname simpleicon@zincsearchicon\endcsname {\simpleiconsmap\symbol{"F646}}
+ \expandafter\def\csname simpleicon@zingaticon\endcsname {\simpleiconsmap\symbol{"F647}}
+ \expandafter\def\csname simpleicon@zodicon\endcsname {\simpleiconsmap\symbol{"F648}}
+ \expandafter\def\csname simpleicon@zohoicon\endcsname {\simpleiconsmap\symbol{"F649}}
+ \expandafter\def\csname simpleicon@zoipericon\endcsname {\simpleiconsmap\symbol{"F64A}}
+ \expandafter\def\csname simpleicon@zomatoicon\endcsname {\simpleiconsmap\symbol{"F64B}}
+ \expandafter\def\csname simpleicon@zoomicon\endcsname {\simpleiconsmap\symbol{"F64C}}
+ \expandafter\def\csname simpleicon@zorinicon\endcsname {\simpleiconsmap\symbol{"F64D}}
+ \expandafter\def\csname simpleicon@zoteroicon\endcsname {\simpleiconsmap\symbol{"F64E}}
+ \expandafter\def\csname simpleicon@zshicon\endcsname {\simpleiconsmap\symbol{"F64F}}
+ \expandafter\def\csname simpleicon@zulipicon\endcsname {\simpleiconsmap\symbol{"F650}}
+ \expandafter\def\csname simpleicon@zyteicon\endcsname {\simpleiconsmap\symbol{"F651}} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconseight.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconseight.fd
index c986a479a8f..b7fdf3bc904 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconseight.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconseight.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconseight.fd}[2024/04/12 Font definitions for U/simpleiconseight.]
+ \ProvidesFile{usimpleiconseight.fd}[2024/07/12 Font definitions for U/simpleiconseight.]
\DeclareFontFamily{U}{simpleiconseight}{}
\DeclareFontShape{U}{simpleiconseight}{m}{n}{<-> SimpleIcons--simpleiconseight}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfive.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfive.fd
index dd19a8e31a7..6af1a1e8100 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfive.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfive.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsfive.fd}[2024/04/12 Font definitions for U/simpleiconsfive.]
+ \ProvidesFile{usimpleiconsfive.fd}[2024/07/12 Font definitions for U/simpleiconsfive.]
\DeclareFontFamily{U}{simpleiconsfive}{}
\DeclareFontShape{U}{simpleiconsfive}{m}{n}{<-> SimpleIcons--simpleiconsfive}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfour.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfour.fd
index 627c0928b39..3324eae514f 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfour.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsfour.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsfour.fd}[2024/04/12 Font definitions for U/simpleiconsfour.]
+ \ProvidesFile{usimpleiconsfour.fd}[2024/07/12 Font definitions for U/simpleiconsfour.]
\DeclareFontFamily{U}{simpleiconsfour}{}
\DeclareFontShape{U}{simpleiconsfour}{m}{n}{<-> SimpleIcons--simpleiconsfour}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsnine.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsnine.fd
index 5dbe6c17abd..6fbec07c5eb 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsnine.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsnine.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsnine.fd}[2024/04/12 Font definitions for U/simpleiconsnine.]
+ \ProvidesFile{usimpleiconsnine.fd}[2024/07/12 Font definitions for U/simpleiconsnine.]
\DeclareFontFamily{U}{simpleiconsnine}{}
\DeclareFontShape{U}{simpleiconsnine}{m}{n}{<-> SimpleIcons--simpleiconsnine}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsone.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsone.fd
index 05949d7ed33..525eb910e67 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsone.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsone.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsone.fd}[2024/04/12 Font definitions for U/simpleiconsone.]
+ \ProvidesFile{usimpleiconsone.fd}[2024/07/12 Font definitions for U/simpleiconsone.]
\DeclareFontFamily{U}{simpleiconsone}{}
\DeclareFontShape{U}{simpleiconsone}{m}{n}{<-> SimpleIcons--simpleiconsone}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsoneone.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsoneone.fd
index 12707d00b3f..704d6dfe38c 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsoneone.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsoneone.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsoneone.fd}[2024/04/12 Font definitions for U/simpleiconsoneone.]
+ \ProvidesFile{usimpleiconsoneone.fd}[2024/07/12 Font definitions for U/simpleiconsoneone.]
\DeclareFontFamily{U}{simpleiconsoneone}{}
\DeclareFontShape{U}{simpleiconsoneone}{m}{n}{<-> SimpleIcons--simpleiconsoneone}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonethree.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonethree.fd
index 20d97fd1848..95c0687d34a 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonethree.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonethree.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsonethree.fd}[2024/04/12 Font definitions for U/simpleiconsonethree.]
+ \ProvidesFile{usimpleiconsonethree.fd}[2024/07/12 Font definitions for U/simpleiconsonethree.]
\DeclareFontFamily{U}{simpleiconsonethree}{}
\DeclareFontShape{U}{simpleiconsonethree}{m}{n}{<-> SimpleIcons--simpleiconsonethree}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonetwo.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonetwo.fd
index ca5a513498c..24f46e9ff7c 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonetwo.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonetwo.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsonetwo.fd}[2024/04/12 Font definitions for U/simpleiconsonetwo.]
+ \ProvidesFile{usimpleiconsonetwo.fd}[2024/07/12 Font definitions for U/simpleiconsonetwo.]
\DeclareFontFamily{U}{simpleiconsonetwo}{}
\DeclareFontShape{U}{simpleiconsonetwo}{m}{n}{<-> SimpleIcons--simpleiconsonetwo}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonezero.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonezero.fd
index aa7f8b291ef..fa32daf5d99 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonezero.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsonezero.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsonezero.fd}[2024/04/12 Font definitions for U/simpleiconsonezero.]
+ \ProvidesFile{usimpleiconsonezero.fd}[2024/07/12 Font definitions for U/simpleiconsonezero.]
\DeclareFontFamily{U}{simpleiconsonezero}{}
\DeclareFontShape{U}{simpleiconsonezero}{m}{n}{<-> SimpleIcons--simpleiconsonezero}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsseven.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsseven.fd
index adfc1b641ca..e2d5c58f188 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsseven.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsseven.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsseven.fd}[2024/04/12 Font definitions for U/simpleiconsseven.]
+ \ProvidesFile{usimpleiconsseven.fd}[2024/07/12 Font definitions for U/simpleiconsseven.]
\DeclareFontFamily{U}{simpleiconsseven}{}
\DeclareFontShape{U}{simpleiconsseven}{m}{n}{<-> SimpleIcons--simpleiconsseven}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconssix.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconssix.fd
index 01b0a08bd37..e05549bde9b 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconssix.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconssix.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconssix.fd}[2024/04/12 Font definitions for U/simpleiconssix.]
+ \ProvidesFile{usimpleiconssix.fd}[2024/07/12 Font definitions for U/simpleiconssix.]
\DeclareFontFamily{U}{simpleiconssix}{}
\DeclareFontShape{U}{simpleiconssix}{m}{n}{<-> SimpleIcons--simpleiconssix}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsthree.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsthree.fd
index d7dc9753e24..a653873414c 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsthree.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconsthree.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsthree.fd}[2024/04/12 Font definitions for U/simpleiconsthree.]
+ \ProvidesFile{usimpleiconsthree.fd}[2024/07/12 Font definitions for U/simpleiconsthree.]
\DeclareFontFamily{U}{simpleiconsthree}{}
\DeclareFontShape{U}{simpleiconsthree}{m}{n}{<-> SimpleIcons--simpleiconsthree}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconstwo.fd b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconstwo.fd
index 92f6651e5cd..19d30bd3fcc 100644
--- a/Master/texmf-dist/tex/latex/simpleicons/usimpleiconstwo.fd
+++ b/Master/texmf-dist/tex/latex/simpleicons/usimpleiconstwo.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconstwo.fd}[2024/04/12 Font definitions for U/simpleiconstwo.]
+ \ProvidesFile{usimpleiconstwo.fd}[2024/07/12 Font definitions for U/simpleiconstwo.]
\DeclareFontFamily{U}{simpleiconstwo}{}
\DeclareFontShape{U}{simpleiconstwo}{m}{n}{<-> SimpleIcons--simpleiconstwo}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
index f2352d62a33..eec160df3fc 100644
--- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
+++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
@@ -41,7 +41,7 @@
}%
\endinput
}%
-\ProvidesExplPackage {siunitx} {2024-05-06} {3.3.17}
+\ProvidesExplPackage {siunitx} {2024-06-24} {3.3.19}
{A comprehensive (SI) units package}
\msg_new:nnnn { siunitx } { incompatible-package }
{ Package~'#1'~incompatible. }
@@ -5338,6 +5338,7 @@
\__siunitx_table_collect_search:NnF #1
{
\unskip { \__siunitx_table_collect_loop: }
+ \textonly@unskip { \__siunitx_table_collect_loop: }
\end { \tabularnewline \end }
\relax { \__siunitx_table_collect_relax:N #1 }
\tabularnewline { \tabularnewline }
@@ -6020,7 +6021,7 @@
}
{
\hbox_unpack:N \l__siunitx_table_integer_box
- \__siunitx_table_fil:
+ \__siunitx_table_fill:
\hbox_unpack:N \l__siunitx_table_tmp_box
}
}
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def
index f87235ae97c..ce55e644817 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Adobe CJK fonts definition for Japanese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-adobe-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { cjk } { adobe } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def
index 79335545c6b..37b96e47c4a 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Adobe CJK fonts definition for Chinese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-adobe-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nnn
{ \__sjtu_fontset_error:nn { cjk } { adobe } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def
index 86b935e0cca..d61429b1aca 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Adobe CJK fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-adobe.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl
{ \ctex_file_input:n { sjtu-cjk-font-adobe-ja.def } }
{ \ctex_file_input:n { sjtu-cjk-font-adobe-zh.def } }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def
index 504a6d81f84..798a2319eef 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Fandol CJK fonts definition for Japanese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-fandol-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { cjk } { fandol } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def
index 6baf4706f0d..9a64be9d385 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Fandol CJK fonts definition for Chinese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-fandol-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nnn
{ \__sjtu_fontset_error:nn { cjk } { fandol } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def
index e1662945ad9..ad3d0e5978b 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Fandol CJK fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-fandol.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl
{ \ctex_file_input:n { sjtu-cjk-font-fandol-ja.def } }
{ \ctex_file_input:n { sjtu-cjk-font-fandol-zh.def } }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def
index 8b43b70d983..8aba1cb30aa 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Founder CJK fonts definition for Japanese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-founder-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { cjk } { founder } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def
index 2a5d1f657c1..1e93ecb54b1 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Founder CJK fonts definition for Chinese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-founder-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\ctex_load_zhmap:nnnn { zhsong } { zhhei } { zhfs } { founder }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def
index 20d50b9647b..73e5cac53d1 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Founder CJK fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-founder.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl
{ \ctex_file_input:n { sjtu-cjk-font-founder-ja.def } }
{ \ctex_file_input:n { sjtu-cjk-font-founder-zh.def } }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def
index e30cfc78945..7923336bea5 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{macOS CJK fonts definition for Japanese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-mac-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { cjk } { mac } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def
index 86fd138ac49..e38d0f08e09 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{macOS CJK fonts definition for Chinese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-mac-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nnn
{ \__sjtu_fontset_error:nn { cjk } { mac } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def
index 34f77b841fb..0e5a94d1900 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{macOS CJK fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-mac.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl
{ \ctex_file_input:n { sjtu-cjk-font-mac-ja.def } }
{ \ctex_file_input:n { sjtu-cjk-font-mac-zh.def } }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def
index 7036d1b7151..9cb1ed81233 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Ubuntu CJK fonts definition for Japanese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-ubuntu-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { cjk } { ubuntu } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def
index 27274a91536..cf6f87a7a27 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Ubuntu CJK fonts definition for Chinese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-ubuntu-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nnn
{ \__sjtu_fontset_error:nn { cjk } { ubuntu } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def
index 8bf9a452564..82c2c26154c 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Ubuntu CJK fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-ubuntu.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl
{ \ctex_file_input:n { sjtu-cjk-font-ubuntu-ja.def } }
{ \ctex_file_input:n { sjtu-cjk-font-ubuntu-zh.def } }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def
index e8f80987255..af93cc24389 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Windows CJK fonts definition for Japanese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-windows-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { cjk } { windows } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def
index 87b3980af68..2fcb8ba3c26 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Windows CJK fonts definition for Chinese (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-windows-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\ctex_load_zhmap:nnnn { zhsong } { zhhei } { zhfs } { windows }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def
index f37980423e4..a9575e0ac53 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Windows CJK fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-cjk-font-windows.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl
{ \ctex_file_input:n { sjtu-cjk-font-windows-ja.def } }
{ \ctex_file_input:n { sjtu-cjk-font-windows-zh.def } }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-cambria.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-cambria.def
index 7434d428f04..66fa4aee1ac 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-cambria.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-cambria.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Cambria math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-cambria.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { math } { cambria } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def
index 97db96be2d1..adcbcf10540 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Libertinus math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-libertinus.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\exp_args:No \PassOptionsToPackage
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-lm.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-lm.def
index 35acaa1f21c..600933baa76 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-lm.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-lm.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Latin Modern math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-lm.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\RequirePackage { amssymb, upgreek }
\SetSymbolFont { operators } { normal } { OT1 } { lmr } { m } { n }
\SetSymbolFont { letters } { normal } { OML } { lmm } { m } { it }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newcm.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newcm.def
index e794b07f272..116ae6f33b7 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newcm.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newcm.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{New Computer Modern math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-newcm.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { math } { newcm } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newpx.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newpx.def
index 07519ba9470..94af3799272 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newpx.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newpx.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{New PX math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-newpx.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_set_eq:NN \l__sjtu_save_encodingdefault_tl \encodingdefault
\tl_set_eq:NN \l__sjtu_save_rmdefault_tl \rmdefault
\tl_set_eq:NN \l__sjtu_save_sfdefault_tl \sfdefault
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newtx.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newtx.def
index 5a5cbc91f0d..bc819b36161 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newtx.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-newtx.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{New TX math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-newtx.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\tl_set_eq:NN \l__sjtu_save_encodingdefault_tl \encodingdefault
\tl_set_eq:NN \l__sjtu_save_rmdefault_tl \rmdefault
\tl_set_eq:NN \l__sjtu_save_sfdefault_tl \sfdefault
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def
index 8506116f3ab..326609e123b 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{STIX Two math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-stixtwo.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\DeclareSizeFunction { sub } { \sub@sfcnt \@font@info }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-times.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-times.def
index 037c8643f00..8d516d6cab5 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-times.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-times.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Times math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-times.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\PassOptionsToPackage { Symbol } { upgreek }
\RequirePackage { amssymb, upgreek }
\tl_set_eq:NN \l__sjtu_save_rmdefault_tl \rmdefault
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-xits.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-xits.def
index c9a070af188..b8e08efd59b 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-xits.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-math-font-xits.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{XITS math fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-math-font-xits.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { math } { xits } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-cambria.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-cambria.def
index c0358750a04..95fbeb8f5de 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-cambria.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-cambria.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Cambria text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-cambria.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { text } { cambria } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def
index 3e183387fe6..3bbf819a4cb 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Libertinus text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-libertinus.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\tl_set:Nn \encodingdefault { T1 }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-lm.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-lm.def
index 96b276fda61..656fe6a64af 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-lm.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-lm.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Latin Modern text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-lm.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\tl_set:Nn \encodingdefault { T1 }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newcm.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newcm.def
index 1165cf0f758..0c27b2305ef 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newcm.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newcm.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{New Computer Modern text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-newcm.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { text } { newcm } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newpx.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newpx.def
index 0ebab67f3d0..dfbe2bb1778 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newpx.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newpx.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{New PX text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-newpx.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\tl_set:Nn \encodingdefault { T1 }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newtx.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newtx.def
index b055b10466b..85095ff0d22 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newtx.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-newtx.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{New TX text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-newtx.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\tl_set:Nn \encodingdefault { T1 }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def
index 659db2437a3..1fb82eabf3d 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{STIX Two text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-stixtwo.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\tl_set:Nn \encodingdefault { T1 }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-times.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-times.def
index b9f69e0970d..d368168d3d4 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-times.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-times.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Times text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-times.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{
\tl_set:Nn \encodingdefault { T1 }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-xits.def b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-xits.def
index c1c03432df6..6c921e96092 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-xits.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/font/sjtu-text-font-xits.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{XITS text fonts definition (SJTUTeX)}
\ProvidesExplFile{sjtu-text-font-xits.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_fontset_case:nn
{ \__sjtu_fontset_error:nn { text } { xits } }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def
index b1b81b552ed..2e18ecf30c9 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{German specific definition for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-generic-de.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\cs_new:Npn \__sjtu_date_aux_de:nnn #1#2#3
{
\clist_item:Nn \c__sjtu_name_month_de_clist {#2} ~
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def
index efd9b7fb095..15f1b627a5f 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{English specific definition for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-generic-en.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\cs_new:Npn \__sjtu_ordinal_en:n #1
{
\int_to_arabic:n {#1}
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def
index fc62e60fd4a..641b8bcb57a 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Japanese specific definition for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-generic-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\cs_new:Npn \__sjtu_date_aux_ja:nnn #1#2#3
{
\int_to_arabic:n {#1} ~ { \exp_not:V \c__sjtu_name_year_ja_tl } ~
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def
index 18e715c9f66..5a116ad7634 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Chinese specific definition for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-generic-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\cs_new:Npn \__sjtu_date_aux_zh:nnn #1#2#3
{
\int_to_arabic:n {#1} ~ { \exp_not:V \c__sjtu_name_year_zh_tl } ~
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def
index e35513f886f..be0b3e14915 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{German specific definition for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-thesis-de.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_info_keys_define:n { de }
\keys_define:nn { sjtu / info / de }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def
index dcd0e20d190..5c83d773dd0 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{English specific definition for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-thesis-en.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_info_keys_define:n { en }
\keys_define:nn { sjtu / info / en }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def
index 84c46addadc..c3ca7db4b61 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Japanese specific definition for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-thesis-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_info_keys_define:n { ja }
\keys_define:nn { sjtu / info / ja }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def
index 0c1127e6313..a92088896dd 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Chinese specific definition for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-lang-thesis-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\__sjtu_info_keys_define:n { zh }
\keys_define:nn { sjtu / info / zh }
{
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-de.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-de.def
index e9ff8d45061..cef48f0b3dc 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-de.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-de.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{German name config for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-name-generic-de.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_const:Nn \c__sjtu_name_month_de_clist
{
Januar, Februar, März, April, Mai, Juni,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-en.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-en.def
index 6f17b07dd0e..ef8933ef801 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-en.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-en.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{English name config for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-name-generic-en.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_const:Nn \c__sjtu_name_month_en_clist
{
January, February, March, April, May, June,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-ja.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-ja.def
index 6b7f0c79419..b6b3d5ef33f 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Japanese name config for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-name-generic-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_map_inline:nn
{
{ year } { 年 } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-zh.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-zh.def
index 1efc8d65031..d8674da5a80 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-generic-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Chinese name config for generic (SJTUTeX)}
\ProvidesExplFile{sjtu-name-generic-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_map_inline:nn
{
{ year } { 年 } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-de.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-de.def
index 71ffa3b2dc0..a514200058b 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-de.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-de.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{German name config for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-name-thesis-de.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_const:Nn \c__sjtu_name_month_de_clist
{
Januar, Februar, März, April, Mai, Juni,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-en.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-en.def
index e69eae4805a..3fd6fa5a86b 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-en.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-en.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{English name config for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-name-thesis-en.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_const:Nn \c__sjtu_name_month_en_clist
{
January, February, March, April, May, June,
@@ -38,7 +38,7 @@
{ address } { Shanghai,~ P.R.~ China } ,
{ author } { Author } ,
{ supervisor } { Supervisor } ,
- { assoc_supervisor } { Assoc.~ Supervisor } ,
+ { assoc_supervisor } { Assoc.\ Supervisor } ,
{ co_supervisor } { Co-supervisor } ,
{ title_page } { Title~ Page } ,
{ declaration } { Statutory~ Declaration } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def
index 2b9876762f8..1a8ebb66106 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Japanese name config for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-name-thesis-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_map_inline:nn
{
{ year } { 年 } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def
index abf037fd3a1..07e547f3225 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Chinese name config for thesis (SJTUTeX)}
\ProvidesExplFile{sjtu-name-thesis-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\clist_map_inline:nn
{
{ year } { 年 } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-de.def b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-de.def
index 4439b9c7c7c..a4fc305f5a7 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-de.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-de.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{German scheme (SJTUTeX)}
\ProvidesExplFile{sjtu-scheme-de.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\keys_set_known:nn { sjtu / name }
{
contents = { Inhaltsverzeichnis } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-en.def b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-en.def
index d081700e257..5feec1fe222 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-en.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-en.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{English scheme (SJTUTeX)}
\ProvidesExplFile{sjtu-scheme-en.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\ctex_if_autoindent_touched:F
{ \ctex_set:n { autoindent = 1.5 em } }
\ctex_patch_cmd:Nnn \quotation { 1.5em } { \parindent }
diff --git a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def
index 0c4877b2ae8..9df2d3efc8c 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Japanese scheme (SJTUTeX)}
\ProvidesExplFile{sjtu-scheme-ja.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\keys_set_known:nn { sjtu / name }
{
contents = { 目 \protect \quad 次 } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def
index 1cd1f52e7ba..b19a38cf830 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def
+++ b/Master/texmf-dist/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def
@@ -20,10 +20,10 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Chinese scheme (SJTUTeX)}
\ProvidesExplFile{sjtu-scheme-zh.def}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\keys_set_known:nn { sjtu / name }
{
contents = { 目 \protect \quad 录 } ,
diff --git a/Master/texmf-dist/tex/latex/sjtutex/sjtuarticle.cls b/Master/texmf-dist/tex/latex/sjtutex/sjtuarticle.cls
index 0dbe1830e6b..e1f07a922e1 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/sjtuarticle.cls
+++ b/Master/texmf-dist/tex/latex/sjtutex/sjtuarticle.cls
@@ -28,10 +28,10 @@
Release `2020/10/01' or newer is required to\MessageBreak
compile this document.\MessageBreak\MessageBreak
Please update your TeX distribution}{}}
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Article document class for Shanghai Jiao Tong University (SJTUTeX)}
\ProvidesExplClass{sjtuarticle}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\dim_new:N \l__sjtu_tmp_dim
\skip_new:N \l__sjtu_tmp_skip
\box_new:N \l__sjtu_tmp_box
@@ -859,15 +859,15 @@
\contentsmargin [ 2.55 em ] { 0 pt }
\titlecontents { section }
[ 0 pt ] { \addvspace { 6 bp } \bfseries }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\titlecontents { subsection }
[ 2 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\titlecontents { subsubsection }
[ 4 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\NewDocumentCommand \SJTU@listof { m m s }
{
@@ -882,7 +882,7 @@
{ \SJTU@listof {#4} {#2} }
\titlecontents {#2}
[ 0 pt ] { }
- { \contentspush { #3 \space \thecontentslabel \quad } } { }
+ { \contentspush { #3 \space \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\exp_args:Nnv \contentsuse {#2} { ext@ #2 }
}
diff --git a/Master/texmf-dist/tex/latex/sjtutex/sjtureport.cls b/Master/texmf-dist/tex/latex/sjtutex/sjtureport.cls
index aa358407559..a407f871745 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/sjtureport.cls
+++ b/Master/texmf-dist/tex/latex/sjtutex/sjtureport.cls
@@ -28,10 +28,10 @@
Release `2020/10/01' or newer is required to\MessageBreak
compile this document.\MessageBreak\MessageBreak
Please update your TeX distribution}{}}
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Report document class for Shanghai Jiao Tong University (SJTUTeX)}
\ProvidesExplClass{sjtureport}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\dim_new:N \l__sjtu_tmp_dim
\skip_new:N \l__sjtu_tmp_skip
\box_new:N \l__sjtu_tmp_box
@@ -889,15 +889,15 @@
\contentsmargin [ 2.55 em ] { 0 pt }
\titlecontents { chapter }
[ 0 pt ] { \addvspace { 6 bp } \bfseries }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\titlecontents { section }
[ 2 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\titlecontents { subsection }
[ 4 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\NewDocumentCommand \SJTU@listof { m m s }
{
@@ -912,7 +912,7 @@
{ \SJTU@listof {#4} {#2} }
\titlecontents {#2}
[ 0 pt ] { }
- { \contentspush { #3 \space \thecontentslabel \quad } } { }
+ { \contentspush { #3 \space \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\exp_args:Nnv \contentsuse {#2} { ext@ #2 }
}
diff --git a/Master/texmf-dist/tex/latex/sjtutex/sjtuthesis.cls b/Master/texmf-dist/tex/latex/sjtutex/sjtuthesis.cls
index e658870cadd..11d49273a31 100644
--- a/Master/texmf-dist/tex/latex/sjtutex/sjtuthesis.cls
+++ b/Master/texmf-dist/tex/latex/sjtutex/sjtuthesis.cls
@@ -28,10 +28,10 @@
Release `2020/10/01' or newer is required to\MessageBreak
compile this document.\MessageBreak\MessageBreak
Please update your TeX distribution}{}}
-\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
{Thesis document class for Shanghai Jiao Tong University (SJTUTeX)}
\ProvidesExplClass{sjtuthesis}
- {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.1.3}{\ExplFileDescription}
\bool_new:N \l__sjtu_tmp_bool
\clist_new:N \l__sjtu_tmp_clist
\dim_new:N \l__sjtu_tmp_dim
@@ -1308,15 +1308,15 @@
\contentsmargin [ 2.55 em ] { 0 pt }
\titlecontents { chapter }
[ 0 pt ] { \addvspace { 6 bp } \bfseries }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\titlecontents { section }
[ 2 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\titlecontents { subsection }
[ 4 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\NewDocumentCommand \SJTU@listof { m m s }
{
@@ -1331,7 +1331,7 @@
{ \SJTU@listof {#4} {#2} }
\titlecontents {#2}
[ 0 pt ] { }
- { \contentspush { #3 \space \thecontentslabel \quad } } { }
+ { \contentspush { #3 \space \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\exp_args:Nnv \contentsuse {#2} { ext@ #2 }
}
diff --git a/Master/texmf-dist/tex/latex/spath3/spath3.sty b/Master/texmf-dist/tex/latex/spath3/spath3.sty
index 65273f15fc6..ca79cd7c14d 100644
--- a/Master/texmf-dist/tex/latex/spath3/spath3.sty
+++ b/Master/texmf-dist/tex/latex/spath3/spath3.sty
@@ -7,7 +7,7 @@
%% spath3_code.dtx (with options: `spath3')
%% ----------------------------------------------------------------
%% spath3 --- Functions for manipulating PGF soft paths
-%% E-mail: loopspace@mathforge.org
+%% E-mail: Andrew Stacey <loopspace@mathforge.org>
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
@@ -15,7 +15,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\RequirePackage{pgf}
-\ProvidesExplPackage {spath3} {2022/08/24} {2.7} {Functions for
+\ProvidesExplPackage {spath3} {2024/05/31} {2.8} {Functions for
manipulating PGF soft paths}
\RequirePackage{xparse}
\cs_new_protected:Nn \__spath_tl_put_right_braced:Nn
@@ -80,6 +80,8 @@ manipulating PGF soft paths}
\bool_new:N \l__spath_rect_bool
\bool_new:N \l_spath_movetorelevant_bool
+\bool_new:N \l_spath_arrow_shortening_bool
+\bool_set_true:N \l_spath_arrow_shortening_bool
\tl_new:N \l__spath_intersecta_tl
\tl_new:N \l__spath_intersectb_tl
\tl_const:Nn \c_spath_moveto_tl {\pgfsyssoftpath@movetotoken}
@@ -121,7 +123,7 @@ manipulating PGF soft paths}
{
\tl_set:Nx \l__spath_tmpc_tl {\tl_head:N \l__spath_tmpa_tl}
\tl_set:Nx \l__spath_tmpa_tl {\tl_tail:N \l__spath_tmpa_tl}
- \tl_case:NnF \l__spath_tmpc_tl
+ \token_case_meaning:NnF \l__spath_tmpc_tl
{
\c_spath_moveto_tl
{
@@ -355,7 +357,7 @@ manipulating PGF soft paths}
\int_set:Nn \l__spath_tmpa_int {0}
\tl_map_inline:nn {#1} {
\tl_set:Nn \l__spath_tmpa_tl {##1}
- \tl_case:NnT \l__spath_tmpa_tl
+ \token_case_meaning:NnT \l__spath_tmpa_tl
{
\c_spath_lineto_tl {}
\c_spath_curveto_tl {}
@@ -390,7 +392,7 @@ manipulating PGF soft paths}
\int_set:Nn \l__spath_tmpa_int {0}
\tl_map_inline:nn {#1} {
\tl_set:Nn \l__spath_tmpa_tl {##1}
- \tl_case:Nn \l__spath_tmpa_tl
+ \token_case_meaning:Nn \l__spath_tmpa_tl
{
\c_spath_moveto_tl
{
@@ -510,7 +512,7 @@ manipulating PGF soft paths}
}
{
\tl_set:Nx \l__spath_tmpb_tl {\tl_head:N \l__spath_tmpa_tl}
- \tl_case:Nn \l__spath_tmpb_tl
+ \token_case_meaning:Nn \l__spath_tmpb_tl
{
\c_spath_moveto_tl
{
@@ -674,7 +676,7 @@ manipulating PGF soft paths}
}
{
\tl_set:Nx \l__spath_tmpb_tl {\tl_head:N \l__spath_tmpa_tl}
- \tl_case:Nn \l__spath_tmpb_tl
+ \token_case_meaning:Nn \l__spath_tmpb_tl
{
\c_spath_moveto_tl
{
@@ -792,7 +794,7 @@ manipulating PGF soft paths}
\tl_set:Nx \l__spath_tmpc_tl {\tl_head:N \l__spath_tmpa_tl}
\bool_set_false:N \l__spath_rect_bool
- \tl_case:NnTF \l__spath_tmpc_tl
+ \token_case_meaning:NnTF \l__spath_tmpc_tl
{
\c_spath_moveto_tl {
@@ -1196,8 +1198,8 @@ manipulating PGF soft paths}
\tl_clear:N \l__spath_tmpa_tl
\tl_put_right:Nn \l__spath_tmpa_tl {
\ExplSyntaxOn
- \tl_clear_new:N #1
- \tl_set:Nn #1 {#2}
+ \tl_gclear_new:N #1
+ \tl_gset:Nn #1 {#2}
\ExplSyntaxOff
}
\protected@write\@auxout{}{
@@ -2339,6 +2341,18 @@ manipulating PGF soft paths}
\spath_gbake_shorten:NV #1#1
}
\cs_generate_variant:Nn \spath_gbake_shorten:N {c}
+\cs_set_eq:Nc \__spath_pgf_arrow_compute_shortening:n {pgf@arrow@compute@shortening}
+\cs_new_nopar:Npn \__spath_arrow_compute_shortening:n #1
+{
+ \__spath_pgf_arrow_compute_shortening:n {#1}
+ \bool_if:NF \l_spath_arrow_shortening_bool
+ {
+ \dim_sub:cn {pgf@xb} {\dim_use:c {pgf@xa}}
+ \dim_zero:c {pgf@xa}
+ }
+}
+
+\cs_set_eq:cN {pgf@arrow@compute@shortening} \__spath_arrow_compute_shortening:n
\cs_new_protected_nopar:Npn \__spath_close:n #1
{
\group_begin:
@@ -2459,7 +2473,7 @@ manipulating PGF soft paths}
\tl_set:Nx \l__spath_tmpc_tl {\tl_head:N \l__spath_tmpa_tl}
\tl_set:Nx \l__spath_tmpa_tl {\tl_tail:N \l__spath_tmpa_tl}
- \tl_case:NnF \l__spath_tmpc_tl
+ \token_case_meaning:NnF \l__spath_tmpc_tl
{
\c_spath_closepath_tl {
@@ -3108,7 +3122,7 @@ manipulating PGF soft paths}
}
{
\tl_set:Nx \l__spath_tmpc_tl {\tl_head:N \l__spath_tmpa_tl}
- \tl_case:NnF \l__spath_tmpc_tl
+ \token_case_meaning:NnF \l__spath_tmpc_tl
{
\c_spath_curvetoa_tl
{
@@ -3346,7 +3360,7 @@ manipulating PGF soft paths}
{
\tl_set:Nx \l__spath_tmpf_tl {\tl_head:N \l__spath_tmpe_tl}
\tl_set:Nx \l__spath_tmpe_tl {\tl_tail:N \l__spath_tmpe_tl }
- \tl_case:Nn \l__spath_tmpf_tl
+ \token_case_meaning:Nn \l__spath_tmpf_tl
{
\c_spath_lineto_tl
{
@@ -3400,7 +3414,7 @@ manipulating PGF soft paths}
}
{
- \tl_case:Nn \l__spath_tmpf_tl
+ \token_case_meaning:Nn \l__spath_tmpf_tl
{
\c_spath_lineto_tl
{
@@ -4078,7 +4092,7 @@ manipulating PGF soft paths}
\tl_clear:N \l__spath_tmpc_tl
- \tl_case:Nn \l__spath_tmpb_tl
+ \token_case_meaning:Nn \l__spath_tmpb_tl
{
\c_spath_moveto_tl
{
@@ -4312,7 +4326,7 @@ manipulating PGF soft paths}
\tl_clear:N \l__spath_tmpc_tl
- \tl_case:Nn \l__spath_tmpb_tl
+ \token_case_meaning:Nn \l__spath_tmpb_tl
{
\c_spath_moveto_tl
{
@@ -5317,7 +5331,7 @@ manipulating PGF soft paths}
\tl_map_inline:nn {#1}
{
\tl_set:Nn \l__spath_tmpb_tl {##1}
- \tl_case:NnF \l__spath_tmpb_tl
+ \token_case_meaning:NnF \l__spath_tmpb_tl
{
\c_spath_moveto_tl
{
@@ -5414,10 +5428,14 @@ manipulating PGF soft paths}
\cs_new_protected_nopar:Npn \spath_protocol_path:n #1
{
\spath_minbb:Nn \l__spath_tmpa_tl {#1}
- \exp_last_unbraced:NV \pgf@protocolsizes\l__spath_tmpa_tl
+ \dim_set:Nn \l__spath_tmpa_dim {\tl_item:Nn \l__spath_tmpa_tl {1}}
+ \dim_set:Nn \l__spath_tmpb_dim {\tl_item:Nn \l__spath_tmpa_tl {2}}
+ \pgf@protocolsizes\l__spath_tmpa_dim\l__spath_tmpb_dim
\spath_maxbb:Nn \l__spath_tmpa_tl {#1}
- \exp_last_unbraced:NV \pgf@protocolsizes\l__spath_tmpa_tl
+ \dim_set:Nn \l__spath_tmpa_dim {\tl_item:Nn \l__spath_tmpa_tl {1}}
+ \dim_set:Nn \l__spath_tmpb_dim {\tl_item:Nn \l__spath_tmpa_tl {2}}
+ \pgf@protocolsizes\l__spath_tmpa_dim\l__spath_tmpb_dim
}
\cs_generate_variant:Nn \spath_protocol_path:n {V}
\cs_new_protected_nopar:Npn \spath_set_current_path:n #1
@@ -5549,7 +5567,7 @@ manipulating PGF soft paths}
}
\cs_generate_variant:Nn \spath_set_tikz_data:n {V, v}
%%
-%% Copyright (C) 2011-2021 by Andrew Stacey <loopspace@mathforge.org>
+%% Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
@@ -5574,7 +5592,7 @@ manipulating PGF soft paths}
%% calligraphy.pdf
%% knots.pdf
%% spath3.pdf
-%% README
+%% README.txt
%%
%%
%% End of file `spath3.sty'.
diff --git a/Master/texmf-dist/tex/latex/spath3/tikzlibrarycalligraphy.code.tex b/Master/texmf-dist/tex/latex/spath3/tikzlibrarycalligraphy.code.tex
index 35dd9f51c35..e59ffdef969 100644
--- a/Master/texmf-dist/tex/latex/spath3/tikzlibrarycalligraphy.code.tex
+++ b/Master/texmf-dist/tex/latex/spath3/tikzlibrarycalligraphy.code.tex
@@ -7,7 +7,7 @@
%% spath3_code.dtx (with options: `calligraphy')
%% ----------------------------------------------------------------
%% spath3 --- Functions for manipulating PGF soft paths
-%% E-mail: loopspace@mathforge.org
+%% E-mail: Andrew Stacey <loopspace@mathforge.org>
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
@@ -374,7 +374,7 @@
\dim_set:Nn \l__cal_tmpb_dim {\tl_item:Nn \l__cal_tmpa_tl {3}}
\tl_set:Nx \l__cal_tmpb_tl {\tl_item:Nn \l__cal_tmpa_tl {4}}
- \tl_case:NnF \l__cal_tmpb_tl
+ \token_case_meaning:NnF \l__cal_tmpb_tl
{
\c_spath_lineto_tl
{
@@ -426,7 +426,7 @@
\dim_set:Nn \l__cal_tmpb_dim {\tl_item:Nn \l__cal_tmpa_tl {-1}}
\tl_set:Nx \l__cal_tmpb_tl {\tl_item:Nn \l__cal_tmpa_tl {-3}}
- \tl_case:NnF \l__cal_tmpb_tl
+ \token_case_meaning:NnF \l__cal_tmpb_tl
{
\c_spath_lineto_tl
{
@@ -885,7 +885,7 @@
}
\fi
%%
-%% Copyright (C) 2011-2021 by Andrew Stacey <loopspace@mathforge.org>
+%% Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
@@ -910,7 +910,7 @@
%% calligraphy.pdf
%% knots.pdf
%% spath3.pdf
-%% README
+%% README.txt
%%
%%
%% End of file `tikzlibrarycalligraphy.code.tex'.
diff --git a/Master/texmf-dist/tex/latex/spath3/tikzlibraryknots.code.tex b/Master/texmf-dist/tex/latex/spath3/tikzlibraryknots.code.tex
index f075665178c..8f1788b6ca5 100644
--- a/Master/texmf-dist/tex/latex/spath3/tikzlibraryknots.code.tex
+++ b/Master/texmf-dist/tex/latex/spath3/tikzlibraryknots.code.tex
@@ -7,7 +7,7 @@
%% spath3_code.dtx (with options: `knots')
%% ----------------------------------------------------------------
%% spath3 --- Functions for manipulating PGF soft paths
-%% E-mail: loopspace@mathforge.org
+%% E-mail: Andrew Stacey <loopspace@mathforge.org>
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
@@ -229,6 +229,15 @@
}
}
+\cs_new_nopar:Npn \knot_show_strand:n #1
+{
+ \bool_if:NT \l__knot_debugging_bool
+ {
+ \iow_term:n {===Knot~ debug: #1===}
+ \spath_show:v {knot #1}
+ }
+}
+
\cs_generate_variant:Nn \knot_debug:n {x}
\cs_new_nopar:Npn \knot_apply_style:N #1
{
@@ -334,6 +343,7 @@
knot~ diagram/only~ when~ rendering/.try,
only~ when~ rendering/.try,
}
+ \knot_show_strand:n {strand #1}
\spath_tikz_path:Vv \l__knot_tmpa_tl {knot strand #1}
\group_end:
\endpgfscope
@@ -364,6 +374,7 @@
}
{
\tl_clear:N \l__knot_tmpa_tl
+ \spath_remove_empty_components:c {knot strand #1}
\spath_initialpoint:Nv \l__knot_tmpa_tl {knot strand #1}
\tl_put_left:NV \l__knot_tmpa_tl \c_spath_moveto_tl
\spath_segments_to_seq:Nv \l__knot_segments_seq {knot strand #1}
@@ -375,7 +386,7 @@
{
\knot_debug:n {knot~ split~ self~ intersects}
\tl_set:Nx \l__knot_tmpc_tl {\tl_item:nn {#1} {4}}
- \tl_case:NnF \l__knot_tmpc_tl
+ \token_case_meaning:NnF \l__knot_tmpc_tl
{
\c_spath_curvetoa_tl
{
@@ -898,6 +909,7 @@
\int_set_eq:NN \l__knot_component_start_int \g__knot_filaments_int
\int_incr:N \l__knot_component_start_int
\tl_set_eq:Nc \l__knot_tmpa_tl {l__knot_options_strand #1}
+ \spath_remove_empty_components:c {knot strand #1}
\spath_segments_to_seq:Nv \l__knot_segments_seq {knot strand #1}
\seq_map_function:NN \l__knot_segments_seq \knot_save_filament:N
}
@@ -905,7 +917,7 @@
{
\knot_debug:n {knot~ save~ filament}
\tl_set:Nx \l__knot_tmpb_tl {\tl_item:nn {#1} {4}}
- \tl_case:NnF \l__knot_tmpb_tl
+ \token_case_meaning:NnF \l__knot_tmpb_tl
{
\c_spath_moveto_tl
{
@@ -1190,7 +1202,7 @@
}
}
%%
-%% Copyright (C) 2011-2021 by Andrew Stacey <loopspace@mathforge.org>
+%% Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
@@ -1215,7 +1227,7 @@
%% calligraphy.pdf
%% knots.pdf
%% spath3.pdf
-%% README
+%% README.txt
%%
%%
%% End of file `tikzlibraryknots.code.tex'.
diff --git a/Master/texmf-dist/tex/latex/spath3/tikzlibraryspath3.code.tex b/Master/texmf-dist/tex/latex/spath3/tikzlibraryspath3.code.tex
index 47f61c587d7..a362be0cfc8 100644
--- a/Master/texmf-dist/tex/latex/spath3/tikzlibraryspath3.code.tex
+++ b/Master/texmf-dist/tex/latex/spath3/tikzlibraryspath3.code.tex
@@ -7,7 +7,7 @@
%% spath3_code.dtx (with options: `tikzspath3')
%% ----------------------------------------------------------------
%% spath3 --- Functions for manipulating PGF soft paths
-%% E-mail: loopspace@mathforge.org
+%% E-mail: Andrew Stacey <loopspace@mathforge.org>
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
@@ -135,7 +135,7 @@
}
}
{
- \msg_warning:nnn { spath3 } { missing soft path } { #2 }
+ \msg_warning:nnx { spath3 } { missing soft path } { #2 }
}
\tl_use:N \l__tikzspath_check_tl
}
@@ -1928,12 +1928,8 @@
}
} {#1} { {} {#2} }
},
- draft~ mode/.is~ choice,
- draft~ mode/true/.code={
- \bool_set_true:N \l__tikzspath_draft_bool
- },
- draft~ mode/false/.code={
- \bool_set_false:N \l__tikzspath_draft_bool
+ draft~ mode/.code={
+ \__tikzspath_set_bool:Nn \l__tikzspath_draft_bool {#1}
},
maybe~ spot~ weld/.code={
\bool_if:NF \l__tikzspath_draft_bool
@@ -1997,6 +1993,9 @@
/tikz/spath/maybe~ spot~ weld~ globally=#1,
/tikz/spath/render~ components=#1
},
+ arrow~ shortening/.code={
+ \__tikzspath_set_bool:Nn \l_spath_arrow_shortening_bool {#1}
+ },
show/.default=current,
spot~ weld/.default=current,
spot~ weld~ globally/.default=current,
@@ -2070,7 +2069,7 @@
\ExplSyntaxOff
%%
-%% Copyright (C) 2011-2021 by Andrew Stacey <loopspace@mathforge.org>
+%% Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
@@ -2095,7 +2094,7 @@
%% calligraphy.pdf
%% knots.pdf
%% spath3.pdf
-%% README
+%% README.txt
%%
%%
%% End of file `tikzlibraryspath3.code.tex'.
diff --git a/Master/texmf-dist/tex/latex/spbmark/spbmark.sty b/Master/texmf-dist/tex/latex/spbmark/spbmark.sty
index c1ce4837a57..4046c8bf9c0 100644
--- a/Master/texmf-dist/tex/latex/spbmark/spbmark.sty
+++ b/Master/texmf-dist/tex/latex/spbmark/spbmark.sty
@@ -8,8 +8,8 @@
% The latest version of this license is in
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
-\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2024/05/19}{1.46j}
+\RequirePackage{xparse}
+\ProvidesExplPackage{spbmark}{2024/07/14}{1.46n}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -32,6 +32,16 @@
\cs_new_protected:Npn \spb_define:n { \keys_define:nn { ctex/tools } }
\cs_new_protected:Npn \spb_set:n { \keys_set:nn { ctex/tools } }
\cs_set_eq:NN \spbset \spb_set:n
+\cs_new_protected:Npn \spb_mark_core_set_trad:n #1
+ {
+ \cs_set_eq:cc { spb@text#1script@core } { spb@text#1script@save }
+ \cs_set_eq:cc { spb@math@#1@core } { spb@math@#1@save }
+ }
+\cs_new_protected:Npn \spb_mark_core_set_none:n #1
+ {
+ \cs_set_eq:cN { spb@text#1script@core } \use:n
+ \cs_set_eq:cN { spb@math@#1@core } \use:n
+ }
\keys_define:nn { spbmark/option }
{
@@ -43,8 +53,8 @@
},
text/false .code:n =
{
- \cs_set:Npn \textsuperscript { \spb@textsuperscript@save }
- \cs_set:Npn \textsubscript { \spb@textsubscript@save }
+ \cs_set:Npn \textsuperscript { \spb@textsuperscript@core }
+ \cs_set:Npn \textsubscript { \spb@textsubscript@core }
},
text .default:n = true,
math .choice:,
@@ -55,8 +65,8 @@
},
math/false .code:n =
{
- \cs_set:Npn \sp { \spb@math@super@save }
- \cs_set:Npn \sb { \spb@math@sub@save }
+ \cs_set:Npn \sp { \spb@math@super@core }
+ \cs_set:Npn \sb { \spb@math@sub@core }
},
math .default:n = true,
foot .choice:,
@@ -71,7 +81,17 @@
both .meta:n = { text = #1,math = #1 },
both .default:n = true,
all .meta:n = { text = #1,math = #1,foot = #1 },
- all .default:n = true
+ all .default:n = true,
+ spcore .choice:,
+ spcore .value_required:n = true,
+ spcore/trad .code:n = \spb_mark_core_set_trad:n { super },
+ spcore/none .code:n = \spb_mark_core_set_none:n { super },
+ spcore .initial:n = trad,
+ sbcore .choice:,
+ sbcore .value_required:n = true,
+ sbcore/trad .code:n = \spb_mark_core_set_trad:n { sub },
+ sbcore/none .code:n = \spb_mark_core_set_none:n { sub },
+ sbcore .initial:n = trad
}
\char_set_catcode_active:N \~
\keys_define:nn { spbmark/option }
@@ -108,7 +128,12 @@
{ \tl_set_eq:NN \fnmarkfont \ftntm@font }
{ \tl_set_eq:NN \fnmarkfont \normalfont }
-\ProcessKeysOptions{spbmark/option}
+\cs_if_exist:NTF \ProcessKeyOptions
+ { \ProcessKeyOptions[spbmark/option] }
+ {
+ \RequirePackage{l3keys2e}
+ \ProcessKeysOptions{spbmark/option}
+ }
\tl_new:N \g__spb_mark_case_init_tl
\cs_new_protected:Npn \spb_local_case_init:nnn #1#2#3
@@ -314,7 +339,7 @@
{
\ensuremath
{
- \use:c { spb@math@#1@save }
+ \use:c { spb@math@#1@core }
{ \tl_use:c { l__spb_#1_cmd_i_tl }{#2} }
}
}
@@ -324,7 +349,7 @@
{
\hbox_gset:cn { g__#1_i_inner_box }
{
- \use:c { spb@text#1script@save }
+ \use:c { spb@text#1script@core }
{ \tl_use:c { l__spb_#1_cmd_i_tl }{#2} }
}
\dim_gset:Nv \rlastwd { l__spb_box_#1_wd_i_tl }
@@ -332,16 +357,16 @@
\cs_new:Npn \spb_math_print_store_ii:nn #1#2
{
\hbox_gset:Nn \g__super_ii_box
- { \ensuremath{\spb@math@super@save{\l__spb_super_cmd_ii_tl{#1}}} }
+ { \ensuremath{\spb@math@super@core{\l__spb_super_cmd_ii_tl{#1}}} }
\hbox_gset:Nn \g__sub_ii_box
- { \ensuremath{\spb@math@sub@save{\l__spb_sub_cmd_ii_tl{#2}}} }
+ { \ensuremath{\spb@math@sub@core{\l__spb_sub_cmd_ii_tl{#2}}} }
}
\cs_new:Npn \spb_text_print_store_ii:nn #1#2
{
\hbox_gset:Nn \g__super_ii_box
- { \spb@textsuperscript@save{\l__spb_super_cmd_ii_tl{#1}} }
+ { \spb@textsuperscript@core{\l__spb_super_cmd_ii_tl{#1}} }
\hbox_gset:Nn \g__sub_ii_box
- { \spb@textsubscript@save{\l__spb_sub_cmd_ii_tl{#2}} }
+ { \spb@textsubscript@core{\l__spb_sub_cmd_ii_tl{#2}} }
}
\cs_set_eq:NN \spbifmath \use_ii:nn
\cs_new:Npn \spb@ifmathtrue { \cs_set_eq:NN \spbifmath \use_i:nn }
@@ -585,7 +610,7 @@
{
\ifaltsbsp@spbmark
\SetAltSubSupCommands{\relax}
- \else\fi
+ \fi
}
}{}
\cs_set_eq:NN \spb \supersub
diff --git a/Master/texmf-dist/tex/latex/spelatex/spelatex.sty b/Master/texmf-dist/tex/latex/spelatex/spelatex.sty
new file mode 100644
index 00000000000..bf2a290b1bb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/spelatex/spelatex.sty
@@ -0,0 +1,392 @@
+%%
+%% This is file `spelatex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% spelatex.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Walter Daems <walter.daems@ieee.org>
+%% and Paul Levrie
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{spelatex}
+ [2024/06/21 v0.91 SpeLaTeX - Speech-enabled LaTeX (DMW and LVP)]
+\def\fileversion{0.91}
+\def\filedate{2024/06/21}
+
+
+%%
+
+\RequirePackage{expl3}
+\RequirePackage{hyperref}
+\RequirePackage{xcolor}
+\RequirePackage{ifthen}
+\RequirePackage{fancyvrb}
+\RequirePackage{newfile}
+\RequirePackage{rotating}
+\RequirePackage{babel}
+\hypersetup{backref=true,
+ breaklinks=true,
+ colorlinks=true,
+ citecolor=black,
+ filecolor=black,
+ hyperindex=true,
+ linkcolor=black,
+ pageanchor=true,
+ pagebackref=true,
+ pagecolor=black,
+ pdfpagemode=UseOutlines,
+ bookmarksopen=true,
+ urlcolor=black}
+\RequirePackage{kvoptions}
+\RequirePackage{xkeyval}
+\RequirePackage{marginnote}
+\SetupKeyvalOptions{
+ family=spel,
+ prefix=spel@
+}
+\DeclareStringOption[ogg]{format}
+\DeclareBoolOption[false]{disabled}
+\DeclareBoolOption[false]{extramath}
+\DeclareBoolOption[false]{propermath}
+\ProcessKeyvalOptions*
+\DeclareRobustCommand{\spelatex}{S\kern-0.3ex\raisebox{-0.1ex}{\rotatebox{-15}{p}}\kern-0.25ex\raisebox{0.1ex}{\rotatebox{10}{e}}\kern-0.1ex\LaTeX}
+\DeclareRobustCommand{\spelbox}{S\kern-0.3ex\raisebox{-0.1ex}{\rotatebox{-15}{p}}\kern-0.25ex\raisebox{0.1ex}{\rotatebox{10}{e}}\kern-0.1exLbo\raisebox{-0.2ex}{x}}
+\DeclareRobustCommand{\spelpl}{\texttt{spel-wizard.pl}}
+\newoutputstream{chunk}
+\newoutputstream{spelidx}
+\openoutputfile{\jobname.spelidx}{spelidx}
+\AtEndDocument{
+ \closeoutputstream{spelidx}%
+}
+\newcommand\audiodir{\jobname-spel}
+\newcommand\chunkdir{\jobname-spel}
+\addtostream{spelidx}{format|\spel@format}
+\addtostream{spelidx}{audiodir|\audiodir}
+\addtostream{spelidx}{chunkdir|\chunkdir}
+\ifspel@disabled\newcommand{\spel@idxwrite}[2]{}\else
+\newcommand{\spel@idxwrite}[2]{%
+ \typeout{spel: Generating #1 - #2}%
+ \addtostream{spelidx}{#1|#2}%
+}
+\fi
+\ifspel@disabled\newcommand{\spel@chunkwrite}[2]{}\else
+\newcommand{\spel@chunkwrite}[2]{%
+ \openoutputfile{\audiodir/#1.tex}{chunk}%
+ \addtostream{chunk}{#2}%
+ \closeoutputstream{chunk}%
+}
+\fi
+\newcounter{spel@spart}
+\renewcommand\thespel@spart{\@arabic\c@spel@spart}
+\setcounter{spel@spart}{0}
+\ifx\c@chapter\@undefined
+\else
+\ifx\c@part\@undefined
+\newcounter{spel@schapter}
+\else
+\newcounter{spel@schapter}[part]
+\fi
+\renewcommand\thespel@schapter{\@arabic\c@spel@schapter}
+\setcounter{spel@schapter}{0}
+\fi
+\ifx\c@chapter\@undefined
+\newcounter{spel@ssect}
+\else
+\newcounter{spel@ssect}[chapter]
+\fi
+\renewcommand\thespel@ssect{\@arabic\c@spel@ssect}
+\setcounter{spel@ssect}{0}
+\newcounter{spel@footnote}
+\renewcommand\thespel@footnote{\@arabic\c@spel@footnote}
+\setcounter{spel@footnote}{0}
+\newcounter{spel@chunk}[subparagraph]
+\renewcommand\thespel@chunk{\@arabic\c@spel@chunk}
+\setcounter{spel@chunk}{0}
+\AddBabelHook{informspel}{write}{\spel@idxwrite{language}{\languagename}}
+\EnableBabelHook{informspel}
+\ifspel@disabled\newcommand{\spel@registerelement}[1]{}\else
+\newcommand{\spel@registerelement}[1]{%
+ \expandafter\let\csname spel@@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\gdef\csname #1\endcsname##1{%
+ \spel@chunkwrite{#1}{##1}
+ \csname spel@@#1\endcsname{\href{run:\audiodir/#1.\spel@format}{##1}}
+ }
+ \expandafter\AtBeginDocument{
+ \spel@idxwrite{#1}{#1}
+ }
+}
+\fi
+\spel@registerelement{title}
+\spel@registerelement{date}
+\spel@registerelement{author}
+\ifspel@disabled\else
+\let\spel@@addcontentsline\addcontentsline
+\renewcommand\addcontentsline[3]{%
+ \let\spel@@href\href%
+ \renewcommand\href[2]{#2}%
+ \spel@@addcontentsline{#1}{#2}{#3}%
+ \let\href\spel@@href%
+}
+\providecommand{\tableofcontents}{}
+\renewcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \@ifclassloaded{article}{\section*{\contentsname}}{\chapter*{\contentsname}}
+ \@mkboth{%
+ \MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ }
+\fi
+\ifspel@disabled\else
+\let\spel@@part\@part
+\def\@part[#1]#2{%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@part[#1]{\href{run:\audiodir/\spel@@optpart.\spel@format}{#2}}%
+ \spel@idxwrite{part \thepart}{\spel@@optpart}%
+ \spel@chunkwrite{\spel@@optpart}{#2}%
+}
+\fi
+\ifspel@disabled\else
+\let\spel@@spart\@spart
+\def\@spart#1{%
+ \stepcounter{spel@spart}%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@spart{%
+ \href{run:\audiodir/\spel@@optpart star-\thespel@spart.\spel@format}{#1}}%
+ \spel@idxwrite{part}{\spel@@optpart star-\thespel@spart}%
+ \spel@chunkwrite{\spel@@optpart star-\thespel@spart}{#1}%
+}
+\fi
+\ifspel@disabled\else
+\ifx\chapter\@undefined\else
+\let\spel@@chapter\@chapter
+\def\@chapter[#1]#2{%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@chapter[#1]{%
+ \href{run:\audiodir/\spel@@optpart\thechapter.\spel@format}{#2}}%
+ \spel@idxwrite{chapter \thechapter}{\spel@@optpart\thechapter}%
+ \spel@chunkwrite{\spel@@optpart\thechapter}{#2}%
+}
+\fi
+\fi
+\ifspel@disabled\else
+\ifx\schapter\@undefined\else
+\let\spel@@schapter\@schapter
+\def\@schapter#1{%
+ \stepcounter{spel@schapter}%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@schapter{%
+ \href{run:\audiodir/\spel@@optpart star-\thespel@schapter.\spel@format}{#1}}%
+ \spel@idxwrite{chapter}{\spel@@optpart star-\thespel@schapter}%
+ \spel@chunkwrite{\spel@@optpart star-\thespel@schapter}{#1}%
+}
+\fi
+\fi
+\ifspel@disabled\else
+\let\spel@@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ % correct default tex behavior
+ \ifnum #2>\c@secnumdepth%
+ \stepcounter{#1}%
+ \fi%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph.\spel@format}{#8}\hfill%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph.m3u}{\textcolor{black!25}{$\triangleright$}}}%
+ \def\spel@@label{\ifnum #2>\c@secnumdepth\else#1 \csname the#1\endcsname\fi}
+ \spel@idxwrite{\spel@@label}{\spel@@optpart\thesubparagraph}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph}{#8}%
+}
+\fi
+\ifspel@disabled\else
+\let\spel@@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+ \stepcounter{spel@ssect}%
+ %\setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@ssect{#1}{#2}{#3}{#4}{%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph-star-\thespel@ssect.\spel@format}%
+ {#5}}%
+ \spel@idxwrite{section}{\spel@@optpart\thesubparagraph-star-\thespel@ssect}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-star-\thespel@ssect}{#5}%
+}
+\fi
+\ifspel@disabled\else
+\let\spel@@fntext\@footnotetext
+\long\def\@footnotetext#1{%
+ \stepcounter{spel@footnote}%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \spel@@fntext{%
+ \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/footnote-\thespel@footnote.\spel@format}{\usebox\spel@mptbox}#1}%
+ \spel@idxwrite{footnote}{footnote-\thespel@footnote}%
+ \spel@chunkwrite{footnote-\thespel@footnote}{#1}%
+}
+\fi
+
+\ifspel@disabled\newcommand{\spelitem}{\item}\else
+\newcommand{\spelitem}{%
+ \@ifnextchar[{\spelitem@opt}{\spelitem@intone}
+}
+\fi
+\def\spelitem@opt[#1]{\spelitem@inttwo{#1}}
+\def\spelitem@intone#1{%
+ \stepcounter{spel@chunk}%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \spel@idxwrite{item}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-\thespel@chunk}{#1}%
+ \item \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\usebox\spel@mptbox}#1}
+\def\spelitem@inttwo#1#2{%
+ \stepcounter{spel@chunk}%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \spel@idxwrite{item}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-\thespel@chunk}{#1 . #2}%
+\item[#1] \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\usebox\spel@mptbox}#2}
+\ifspel@disabled\else
+\let\spel@@caption\caption
+\renewcommand\caption[2][]{%
+ \stepcounter{spel@chunk}%
+ \spel@idxwrite{caption}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-\thespel@chunk}{#2}%
+ \spel@@caption[#1]{\protect\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{#2}}
+}
+\fi
+\newlength\spel@mptboxwidth
+\newsavebox\spel@mptbox
+\savebox\spel@mptbox{\textcolor{black!25}{$\qquad$}}
+\newif\ifspel@chunkarealink
+\define@key{spelchunk}{arealink}[]{\spel@chunkarealinktrue}
+\ifspel@disabled\def\spelchunk{}\else
+\def\spelchunk{%
+ \catcode`\^^M=\active%
+ \stepcounter{spel@chunk}%
+ \spel@idxwrite{chunk}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \@ifnextchar[{\catcode`\^^M=5\spelchunk@opt}{\catcode`\^^M=5\spelchunk@int}}%
+\fi
+\ifspel@disabled\def\endspelchunk{}\else
+\def\endspelchunk{%
+ \end{VerbatimOut}%
+ \catcode`\^^M=5\relax%
+ \ifspel@chunkarealink%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\input{./\chunkdir/\spel@@optpart\thesubparagraph-\thespel@chunk}}%
+ \else%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\usebox\spel@mptbox}\input{./\chunkdir/\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \fi%
+ \spel@chunkarealinkfalse%
+}%
+\fi
+\def\spelchunk@opt[#1]{\setkeys{spelchunk}{#1}\spelchunk@int}
+\def\spelchunk@int{%
+ \VerbatimEnvironment
+ \begin{VerbatimOut}{\chunkdir/\spel@@optpart\thesubparagraph-\thespel@chunk.tex}}
+\def\spelchunkad{%
+ \catcode`\^^M=\active
+ \@ifnextchar[{\catcode`\^^M=5\spelchunk@opt}{\catcode`\^^M=5\spelchunk@int}}
+\def\endspelchunkad{%
+ \end{VerbatimOut}
+ \catcode`\^^M=5\relax
+}
+\AtBeginDocument{
+ \newcommand\spel@@optpart{}
+}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelmacpp}{moom}
+{
+ \addtostream{spelidx}{macpp|#1|#2|#3|#4}
+}
+\ExplSyntaxOff
+\spelmacpp{sf}{}
+\spelmacpp{it}{}
+\spelmacpp{tt}{}
+\spelmacpp{bf}{}
+\spelmacpp{HUGE}{}
+\spelmacpp{Huge}{}
+\spelmacpp{huge}{}
+\spelmacpp{LARGE}{}
+\spelmacpp{Large}{}
+\spelmacpp{large}{}
+\spelmacpp{normalsize}{}
+\spelmacpp{small}{}
+\spelmacpp{footnotesize}{}
+\spelmacpp{scriptsize}{}
+\spelmacpp{tiny}{}
+\spelmacpp{minuscule}{}
+\spelmacpp{textsf}[1]{keep}
+\spelmacpp{textit}[1]{keep}
+\spelmacpp{texttt}[1]{keep}
+\spelmacpp{textbf}[1]{keep}
+\spelmacpp{quad}{}
+\spelmacpp{qquad}{}
+\spelmacpp{displaystyle}{}
+\spelmacpp{relax}{}
+\spelmacpp{strut}{}
+\spelmacpp{mathstrut}{}
+\spelmacpp{label}[1]{}
+\spelmacpp{fbox}[1]{keep}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelenvpp}{moom}
+{
+ \addtostream{spelidx}{envpp|#1|#2|#3|#4}
+}
+\ExplSyntaxOff
+\spelenvpp{center}{keep}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelmacad}{moom}
+{
+ \addtostream{spelidx}{macad|#1|#2|#3|#4}
+}
+\ExplSyntaxOff
+\spelmacad{spelatex}{spee-lay-tech}
+\spelmacad{spelbox}{spel-box}
+\spelmacad{spelpl}{spel wizzard dot pl}
+\spelmacad{LaTeX}{lay-tech}
+\spelmacad{TeX}{tech}
+\spelmacad{textsf}[1]{#1}
+\spelmacad{texttt}[1]{#1}
+\spelmacad{textit}[1]{#1}
+\spelmacad{emph}[1]{#1}
+\spelmacad{underline}[1]{#1}
+\spelmacad{mbox}[1]{#1}
+\spelmacad{text}[1]{#1}
+\spelmacad{nobreakspace}{#1}
+\spelmacad{textasciitilde}[1]{ }
+\spelmacad{textbackslash}{backslash}
+\spelmacad{footnote}[1]{}
+\spelmacad{pm}{@{i18n(plusminus)}}
+\spelmacad{ldots}{...}
+\spelmacad{cite}[1]{}
+\spelmacad{ref}[1]{}
+\spelmacad{pageref}[1]{}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelenvad}{moomm}
+{
+ \addtostream{spelidx}{envad|#1|#2|#3|#4|#5}
+}
+\ExplSyntaxOff
+\spelenvad{center}{}{}
+\ifspel@extramath
+\DeclareRobustCommand{\setenum}[1]{\left\{#1\right\}}
+\spelmacad{setenum}[1]{@{i18n(Setenum,#1)}}
+\DeclareRobustCommand{\setdesc}[1]{\left\{#1\right\}}
+\spelmacad{setdesc}[1]{@{i18n(Setdesc,#1)}}
+\fi
+\endinput
+%%
+%% End of file `spelatex.sty'.
diff --git a/Master/texmf-dist/tex/latex/standardsectioning/standardsectioning.sty b/Master/texmf-dist/tex/latex/standardsectioning/standardsectioning.sty
new file mode 100644
index 00000000000..83314051899
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/standardsectioning/standardsectioning.sty
@@ -0,0 +1,478 @@
+%%
+%% This is file `standardsectioning.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% standardsectioning.dtx (with options: `package')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from standardsectioning.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file standardsectioning.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+\ProvidesExplPackage{standardsectioning}
+ {2024-06-06}{0.9}
+ {%
+ forcing standard class sectioning definitions%
+ }
+\msg_new:nnnn { standardsectioning } { wrong-package-order }
+ {
+ wrong~package~order~detected.
+ }
+ {
+ You've~loaded~this~package~after~package~#1.\iow_newline:
+ But~this~cannot~work.\iow_newline:
+ Loading aborted!
+ }
+
+\msg_new:nnn { standardsectioning } { deactivate-extended-section-commands }
+ {
+ extended~sectioning~option~handling~deactivated.
+ }
+
+\msg_new:nnn { standardsectioning } { no-force-with-KOMA-Script-class }
+ {
+ package~option~`#1'~is~ignored~due~to~usage~of~KOMA-Script~class~\KOMAClassName.
+ }
+\@ifpackageloaded { hyperref }
+ {
+ \msg_critical:nnn { standardsectioning } { wrong-package-order }
+ { hyperref }
+ } { }
+\@ifpackageloaded { titlesec }
+ {
+ \msg_critical:nnn { standardsectioning } { wrong-package-order }
+ { titlesec }
+ } { }
+\@ifpackageloaded { sectsty }
+ {
+ \msg_critical:nnnn { standardsectioning } { wrong-package-order }
+ { sectsty }
+ } { }
+\cs_new:Nn \__standardsectioning_common_komascript_deactivation_code:
+ {
+ \RenewCommandCopy \@startsection \scr@saved@startsection
+ \RenewCommandCopy\@sect\scr@latex@sect
+ \RenewCommandCopy\@ssect\scr@latex@ssect
+ \RenewCommandCopy\@xsect\scr@latex@xsect
+ \cs_undefine:N \DeclareSectionCommand
+ \cs_undefine:N \DeclareSectionCommands
+ \cs_undefine:N \RedeclareSectionCommand
+ \cs_undefine:N \RedeclareSectionCommands
+ \cs_undefine:N \DeclareNewSectionCommand
+ \cs_undefine:N \DeclareNewSectionCommands
+ \cs_undefine:N \ProvideSectionCommand
+ \cs_undefine:N \ProvideSectionCommands
+ \cs_undefine:N \minisec
+ \cs_gset_eq:NN \scr@chapter@before@hyperref@patch \relax
+ \cs_gset_eq:NN \scr@chapter@after@hyperref@patch \relax
+ \int_if_zero:nF { \scr@osectarg }
+ {
+ \msg_warning:nn { standardsectioning }
+ { deactivate-extended-section-commands }
+ \cs_gset_eq:NN \scr@osectarg \c_zero_int
+ }
+ \renewcommand*{\scr@activate@xsection}[1]{%
+ \int_if_zero:nF { ##1 }
+ {
+ \msg_warning:nn { standardsectioning }
+ { deactivate-extended-section-commands }
+ \cs_gset_eq:NN \scr@osectarg \c_zero_int
+ }
+ }%
+ \cs_undefine:N \partlineswithprefixformat
+ \cs_undefine:N \sectionlinesformat
+ \cs_undefine:N \sectioncatchphraseformat
+ \RelaxFamilyKey[.\KOMAClassFileName]{KOMA}{headings}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{headings}%
+ \cs_undefine:N \scr@class@titlesec@warning
+ }
+\cs_new:Nn \__standardsectioning_article_sectioning_code:
+ {
+ \def\part{%
+ \if@noskipsec \leavevmode \fi
+ \par
+ \addvspace{4ex}%
+ \@afterindentfalse
+ \secdef\@part\@spart}%
+ \def\@part[##1]##2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}##1}%
+ \else
+ \addcontentsline{toc}{part}{##1}%
+ \fi
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \Large\bfseries \partname\nobreakspace\thepart
+ \par\nobreak
+ \fi
+ \huge \bfseries ##2%
+ \markboth{}{}\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}%
+ \def\@spart##1{%
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \huge \bfseries ##1\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}%
+
+ \def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}%
+ \def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}%
+ \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}%
+ \def\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}%
+ \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}%
+ }
+
+\cs_new:Nn \__standardsectioning_report_sectioning_code:
+ {
+ \def\part{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \thispagestyle{plain}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \null\vfil
+ \secdef\@part\@spart}
+
+ \def\@part[##1]##2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}##1}%
+ \else
+ \addcontentsline{toc}{part}{##1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname\nobreakspace\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries ##2\par}%
+ \@endpart}
+ \def\@spart##1{%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \Huge \bfseries ##1\par}%
+ \@endpart}
+ \def\@endpart{\vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+ \def\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+ \def\@chapter[##1]##2{\ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}##1}%
+ \else
+ \addcontentsline{toc}{chapter}{##1}%
+ \fi
+ \chaptermark{##1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{##2}]%
+ \else
+ \@makechapterhead{##2}%
+ \@afterheading
+ \fi}
+ \def\@makechapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\@schapter##1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{##1}]%
+ \else
+ \@makeschapterhead{##1}%
+ \@afterheading
+ \fi}
+ \def\@makeschapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}
+ \def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}
+ \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}
+ \def\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ }
+
+\cs_new:Nn \__standardsectioning_book_sectioning_code:
+ {
+ \def\part{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \thispagestyle{plain}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \null\vfil
+ \secdef\@part\@spart}
+
+ \def\@part[##1]##2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}##1}%
+ \else
+ \addcontentsline{toc}{part}{##1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname\nobreakspace\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries ##2\par}%
+ \@endpart}
+ \def\@spart##1{%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \Huge \bfseries ##1\par}%
+ \@endpart}
+ \def\@endpart{\vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+ \def\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+ \def\@chapter[##1]##2{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}##1}%
+ \else
+ \addcontentsline{toc}{chapter}{##1}%
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{##1}%
+ \fi
+ \chaptermark{##1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{##2}]%
+ \else
+ \@makechapterhead{##2}%
+ \@afterheading
+ \fi}
+ \def\@makechapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\@schapter##1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{##1}]%
+ \else
+ \@makeschapterhead{##1}%
+ \@afterheading
+ \fi}
+ \def\@makeschapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}
+ \def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}
+ \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}
+ \def\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ }
+\cs_new:Nn \__standardsectioning_activation_code:
+ {
+ \@ifclassloaded { scrartcl }
+ {
+ \__standardsectioning_common_komascript_deactivation_code:
+ \__standardsectioning_article_sectioning_code:
+ }
+ {
+ \@ifclassloaded { scrbook }
+ {
+ \__standardsectioning_common_komascript_deactivation_code:
+ \cs_undefine:N \chapterlineswithprefixformat
+ \cs_undefine:N \chapterlinesformat
+ \__standardsectioning_book_sectioning_code:
+ }
+ {
+ \@ifclassloaded { scrreprt }
+ {
+ \__standardsectioning_common_komascript_deactivation_code:
+ \cs_undefine:N \chapterlineswithprefixformat
+ \cs_undefine:N \chapterlinesformat
+ \__standardsectioning_report_sectioning_code:
+ }
+ {
+ \cs_if_exist:NTF \chapter
+ {
+ \cs_if_exist:cTF { frontmatter }
+ {
+ \__standardsectioning_book_sectioning_code:
+ }
+ {
+ \__standardsectioning_report_sectioning_code:
+ }
+ }
+ {
+ \__standardsectioning_article_sectioning_code:
+ }
+ }
+ }
+ }
+ }
+\DeclareKeys
+ {
+ article .meta:nn = { __standardsectioning/internal } { force=article },
+ article .usage = load,
+ book .meta:nn = { __standardsectioning/internal } { force=book },
+ book .usage = load,
+ report .meta:nn = { __standardsectioning/internal } { force=report },
+ report .usage = load,
+ }
+\keys_define:nn { __standardsectioning/internal }
+ {
+ force .code =
+ {
+ \cs_if_exist:NTF \KOMAClassName
+ {
+ \msg_warning:nnn { standardsectioning }
+ { no-force-with-KOMA-Script-class }
+ { #1 }
+ }
+ {
+ \cs_set_eq:Nc \__standardsectioning_activation_code: { __standardsectioning_#1_sectioning_code: }
+ }
+ }
+ }
+\ProcessKeyOptions
+\__standardsectioning_activation_code:
+\endinput
+%%
+%% End of file `standardsectioning.sty'.
diff --git a/Master/texmf-dist/tex/latex/synthslant/synthslant.sty b/Master/texmf-dist/tex/latex/synthslant/synthslant.sty
index 0cd75e5e330..42c27c2a428 100644
--- a/Master/texmf-dist/tex/latex/synthslant/synthslant.sty
+++ b/Master/texmf-dist/tex/latex/synthslant/synthslant.sty
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -29,8 +29,9 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{synthslant}
- [2024/05/07 v0.1 Synthetically Slant glyphs]
+ [2024/07/08 v0.1a Synthetically Slant glyphs]
+\RequirePackage{etoolbox}
\RequirePackage{iftex}
\RequirePackage{xkeyval}
@@ -60,12 +61,16 @@
\ExplSyntaxOn
\fp_compare:nNnTF {\synthslant} < {.0}
- {\PackageError{synthslant}{\string\synthslant\space <\space 0}
- {Pass\space a\space value\space that\space is\space non-negative.}}
+ {\PackageError{synthslant}
+ {\string\synthslant\space <\space 0}
+ {Pass\space a\space value\space that\space
+ is\space nonnegative.}}
{}
\fp_compare:nNnTF {\synthnegslant} > {.0}
- {\PackageError{synthslant}{\string\synthnegslant\space >\space 0}
- {Pass\space a\space value\space that\space is\space non-positive.}}
+ {\PackageError{synthslant}
+ {\string\synthnegslant\space >\space 0}
+ {Pass\space a\space value\space that\space
+ is\space nonpositive.}}
{}
\ExplSyntaxOff
@@ -136,13 +141,15 @@
\box_set_dp:Nn \l_tmpa_box {\z@}
\fp_compare:nNnTF {#1} >= {.0}
{
- \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim - #1\l_tmpb_dim}
+ \box_set_wd:Nn \l_tmpa_box
+ {\l_tmpa_dim - #1\l_tmpb_dim}
}
{
\draw_suspend_begin:
\kern#1\l_tmpb_dim
\draw_suspend_end:
- \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim + #1\l_tmpb_dim}
+ \box_set_wd:Nn \l_tmpa_box
+ {\l_tmpa_dim + #1\l_tmpb_dim}
}
\draw_box_use:N \l_tmpa_box
\draw_end:
@@ -181,7 +188,8 @@
\ExplSyntaxOn
\newcommand*{\synthslantbox@fontspect@shear@box}[2]{
\begingroup
- \expandafter\fontspec[FakeSlant = #1]{\l_fontspec_family_tl}
+ \expandafter
+ \fontspec[FakeSlant=#1]{\l_fontspec_family_tl}
#2
\endgroup
}
@@ -242,8 +250,9 @@
\ifnum\synthslant@engine=4% fontspec
\newrobustcmd*{\synthslantbox}[2]{%
- \edef\synthslant@slant@value{#1}% definition for compatibility of both branches
- \synthslantbox@fontspect@shear@box{\synthslant@slant@value}{#2}%
+ \edef\synthslant@slant@value{#1}
+ \synthslantbox@fontspect@shear@box{\synthslant@slant@value}
+ {#2}%
}
\else
\newrobustcmd*{\synthslantbox}[2]{%
@@ -262,7 +271,8 @@
\NewDocumentEnvironment{slantenvironment}{}
{\upshape
\ifcsdef{microtypecontext}
- {\expandafter\microtypecontext\expandafter{\slantcontext}}
+ {\expandafter\microtypecontext
+ \expandafter{\slantcontext}}
{}}
{\ifcsdef{endmicrotypecontext}
{\endmicrotypecontext}
@@ -285,7 +295,8 @@
\NewDocumentEnvironment{negslantenvironment}{}
{\itshape
\ifcsdef{microtypecontext}
- {\expandafter\microtypecontext\expandafter{\negslantcontext}}
+ {\expandafter\microtypecontext
+ \expandafter{\negslantcontext}}
{}}
{\ifcsdef{endmicrotypecontext}
{\endmicrotypecontext}
diff --git a/Master/texmf-dist/tex/latex/tabulary/tabulary-v010.sty b/Master/texmf-dist/tex/latex/tabulary/tabulary-v010.sty
new file mode 100644
index 00000000000..0a092d7d67b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tabulary/tabulary-v010.sty
@@ -0,0 +1,455 @@
+%%
+%% This is an old release of `tabulary.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
+%% This is file `tabulary.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tabulary.dtx (with options: `package')
+%% DRAFT VERSION
+%%
+%% File `tabulary.dtx'.
+%% Copyright (C) 1995 1996 2003 2008 David Carlisle
+%% This file may be distributed under the terms of the LPPL.
+%% See 00readme.txt for details.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tabulary}
+ [2014/06/11 v0.10 tabulary package (DPC)]
+\RequirePackage{array}[=v2.5]
+\catcode`\Z=14
+\DeclareOption{debugshow}{\catcode`\Z=9\relax}
+\ProcessOptions
+\def\arraybackslash{\let\\=\@arraycr}
+\def\@finalstrut#1{%
+ \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+\newcount\TY@count
+\def\tabulary{%
+ \let\TY@final\tabular
+ \let\endTY@final\endtabular
+ \TY@tabular}
+\def\TY@tabular#1{%
+ \edef\TY@{\@currenvir}%
+ {\ifnum0=`}\fi
+ \@ovxx\TY@linewidth
+ \@ovyy\TY@tablewidth
+ \count@\z@
+ \@tempswatrue
+ \@whilesw\if@tempswa\fi{%
+ \advance\count@\@ne
+ \expandafter\ifx\csname TY@F\the\count@\endcsname\relax
+ \@tempswafalse
+ \else
+ \expandafter\let\csname TY@SF\the\count@\expandafter\endcsname
+ \csname TY@F\the\count@\endcsname
+ \global\expandafter\let\csname TY@F\the\count@\endcsname\relax
+ \expandafter\let\csname TY@S\the\count@\expandafter\endcsname
+ \csname TY@\the\count@\endcsname
+ \fi}%
+ \global\TY@count\@ne
+ \TY@width\xdef{0pt}%
+ \global\TY@tablewidth\z@
+ \global\TY@linewidth#1\relax
+Z\message{^^J^^JTable^^J%
+Z Target Width: \the\TY@linewidth^^J%
+Z \string\tabcolsep: \the\tabcolsep\space
+Z \string\arrayrulewidth: \the\arrayrulewidth\space
+Z \string\doublerulesep: \the\doublerulesep^^J%
+Z \string\tymin: \the\tymin\space
+Z \string\tymax: \the\tymax^^J}%
+ \let\@classz\TY@classz
+ \let\verb\TX@verb
+ \toks@{}\TY@get@body}
+\let\TY@@mkpream\@mkpream
+\def\TY@mkpream{%
+ \def\@addamp{%
+ \if@firstamp \@firstampfalse \else
+ \global\advance\TY@count\@ne
+ \edef\@preamble{\@preamble &}\fi
+ \TY@width\xdef{0pt}}%
+ \def\@acol{%
+ \TY@subwidth\col@sep
+ \@addtopreamble{\hskip\col@sep}}%
+ \let\@arrayrule\TY@arrayrule
+ \let\@classvi\TY@classvi
+ \def\@classv{\save@decl
+ \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \sbox\z@{\d@llarbegin\@nextchar\d@llarend}%
+ \TY@subwidth{\wd\z@}%
+ \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
+ \prepnext@tok}%
+ \global\let\@mkpream\TY@@mkpream
+ \TY@@mkpream}
+\def\TY@arrayrule{%
+ \TY@subwidth\arrayrulewidth
+ \@addtopreamble \vline}
+\def\TY@classvi{\ifcase \@lastchclass
+ \@acol \or
+ \TY@subwidth\doublerulesep
+ \@addtopreamble{\hskip \doublerulesep}\or
+ \@acol \or
+ \@classvii
+ \fi}
+\def\TY@tab{%
+ \setbox\z@\hbox\bgroup
+ \let\[$\let\]$%
+ \let\equation$\let\endequation$%
+ \col@sep\tabcolsep
+ \let\d@llarbegin\begingroup\let\d@llarend\endgroup
+ \let\@mkpream\TY@mkpream
+ \def\multicolumn##1##2##3{\multispan##1\relax}%
+ \CT@start\TY@tabarray}
+\def\TY@tabarray{\@ifnextchar[{\TY@array}{\@array[t]}}
+\def\TY@array[#1]{\@array[t]}
+\def\TY@width#1{%
+ \expandafter#1\csname TY@\the\TY@count\endcsname}
+\def\TY@subwidth#1{%
+ \TY@width\dimen@
+ \advance\dimen@-#1\relax
+ \TY@width\xdef{\the\dimen@}%
+ \global\advance\TY@linewidth-#1\relax}
+\def\endtabulary{%
+ \gdef\@halignto{}%
+ \expandafter\TY@tab\the\toks@
+ \crcr\omit
+ {\xdef\TY@save@row{}%
+ \loop
+ \advance\TY@count\m@ne
+ \ifnum\TY@count>\z@
+ \xdef\TY@save@row{\TY@save@row&\omit}%
+ \repeat}\TY@save@row
+ \endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1
+ \unskip\global\setbox1=\lastbox}\egroup
+ \dimen@\TY@linewidth
+ \divide\dimen@\TY@count
+ \ifdim\dimen@<\tymin
+ \TY@warn{tymin too large (\the\tymin), resetting to \the\dimen@}%
+ \tymin\dimen@
+ \fi
+ \setbox\tw@=\hbox{\unhbox\@ne
+ \loop
+\@tempdima=\lastskip
+\ifdim\@tempdima>\z@
+Z \message{ecs=\the\@tempdima^^J}%
+ \global\advance\TY@linewidth-\@tempdima
+\fi
+ \unskip
+ \setbox\tw@=\lastbox
+ \ifhbox\tw@
+Z \message{Col \the\TY@count: Initial=\the\wd\tw@\space}%
+ \ifdim\wd\tw@>\tymax
+ \wd\tw@\tymax
+Z \message{> max\space}%
+Z \else
+Z \message{ \@spaces\space}%
+ \fi
+ \TY@width\dimen@
+Z \message{\the\dimen@\space}%
+ \advance\dimen@\wd\tw@
+Z \message{Final=\the\dimen@\space}%
+ \TY@width\xdef{\the\dimen@}%
+ \ifdim\dimen@<\tymin
+Z \message{< tymin}%
+ \global\advance\TY@linewidth-\dimen@
+ \expandafter\xdef\csname TY@F\the\TY@count\endcsname
+ {\the\dimen@}%
+ \else
+ \expandafter\ifx\csname TY@F\the\TY@count\endcsname\z@
+Z \message{***}%
+ \global\advance\TY@linewidth-\dimen@
+ \expandafter\xdef\csname TY@F\the\TY@count\endcsname
+ {\the\dimen@}%
+ \else
+Z \message{> tymin}%
+ \global\advance\TY@tablewidth\dimen@
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname
+ \maxdimen
+ \fi\fi
+ \advance\TY@count\m@ne
+ \repeat}%
+ \TY@checkmin
+ \TY@checkmin
+ \TY@checkmin
+ \TY@checkmin
+ \TY@count\z@
+ \let\TY@box\TY@box@v
+ {\expandafter\TY@final\the\toks@\endTY@final}%
+ \count@\z@
+ \@tempswatrue
+ \@whilesw\if@tempswa\fi{%
+ \advance\count@\@ne
+ \expandafter\ifx\csname TY@SF\the\count@\endcsname\relax
+ \@tempswafalse
+ \else
+ \global\expandafter\let\csname TY@F\the\count@\expandafter\endcsname
+ \csname TY@SF\the\count@\endcsname
+ \global\expandafter\let\csname TY@\the\count@\expandafter\endcsname
+ \csname TY@S\the\count@\endcsname
+ \fi}%
+ \TY@linewidth\@ovxx
+ \TY@tablewidth\@ovyy
+ \ifnum0=`{\fi}}
+\def\TY@checkmin{%
+ \let\TY@checkmin\relax
+\ifdim\TY@tablewidth>\z@
+ \Gscale@div\TY@ratio\TY@linewidth\TY@tablewidth
+ \ifdim\TY@tablewidth <\TY@linewidth
+ \def\TY@ratio{1}%
+ \fi
+\else
+ \TY@warn{No suitable columns!}%
+ \def\TY@ratio{1}%
+\fi
+\count@\z@
+Z \message{^^JLine Width: \the\TY@linewidth,
+Z Natural Width: \the\TY@tablewidth,
+Z Ratio: \TY@ratio^^J}%
+\@tempdima\z@
+\loop
+\ifnum\count@<\TY@count
+\advance\count@\@ne
+ \ifdim\csname TY@F\the\count@\endcsname>\tymin
+ \dimen@\csname TY@\the\count@\endcsname
+ \dimen@\TY@ratio\dimen@
+ \ifdim\dimen@<\tymin
+Z \message{Column \the\count@\space ->}%
+ \global\expandafter\let\csname TY@F\the\count@\endcsname\tymin
+ \global\advance\TY@linewidth-\tymin
+ \global\advance\TY@tablewidth-\csname TY@\the\count@\endcsname
+ \let\TY@checkmin\TY@@checkmin
+ \else
+ \expandafter\xdef\csname TY@F\the\count@\endcsname{\the\dimen@}%
+ \advance\@tempdima\csname TY@F\the\count@\endcsname
+ \fi
+ \fi
+Z \dimen@\csname TY@F\the\count@\endcsname\message{\the\dimen@, }%
+\repeat
+Z \message{^^JTotal:\the\@tempdima^^J}%
+}
+\let\TY@@checkmin\TY@checkmin
+\newdimen\TY@linewidth
+\def\tyformat{\everypar{{\nobreak\hskip\z@skip}}}
+\newdimen\tymin
+\tymin=10pt
+\newdimen\tymax
+\tymax=2\textwidth
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar l\@ne \else
+ \if \@nextchar r\tw@ \else
+ \if \@nextchar C7 \else
+ \if \@nextchar L8 \else
+ \if \@nextchar R9 \else
+ \if \@nextchar J10 \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar b5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+\def\TY@classz{%
+ \@classx
+ \@tempcnta\count@
+ \ifx\TY@box\TY@box@v
+ \global\advance\TY@count\@ne
+ \fi
+ \let\centering c%
+ \let\raggedright\noindent
+ \let\raggedleft\indent
+ \let\arraybackslash\relax
+ \prepnext@tok
+ \ifnum\@chnum<4
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \ifnum\@chnum=6
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \@addtopreamble{%
+ \ifcase\@chnum
+ \hfil \d@llarbegin\insert@column\d@llarend \hfil \or
+ \kern\z@
+ \d@llarbegin \insert@column \d@llarend \hfil \or
+ \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or
+ $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \d@llarbegin \insert@column \d@llarend \or% dubious "s" case
+ \TY@box\centering\or
+ \TY@box\raggedright\or
+ \TY@box\raggedleft\or
+ \TY@box\relax
+ \fi}\prepnext@tok}
+\def\TY@box#1{%
+ \ifx\centering#1%
+ \hfil \d@llarbegin\insert@column\d@llarend \hfil \else
+ \ifx\raggedright#1%
+ \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+ \d@llarbegin \insert@column \d@llarend \hfil \else
+ \ifx\raggedleft#1%
+ \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \else
+ \ifx\relax#1%
+ \d@llarbegin \insert@column \d@llarend
+ \fi \fi \fi \fi}
+\def\TY@box@v#1{%
+ \vtop \@startpbox{\csname TY@F\the\TY@count\endcsname}%
+ #1\arraybackslash\tyformat
+ \insert@column\@endpbox}
+\newdimen\TY@tablewidth
+\def\Gscale@div#1#2#3{%
+ \setlength\dimen@{#3}%
+ \ifdim\dimen@=\z@
+ \PackageError{graphics}{Division by 0}\@eha
+ \dimen@#2%
+ \fi
+ \edef\@tempd{\the\dimen@}%
+ \setlength\dimen@{#2}%
+ \count@65536\relax
+ \ifdim\dimen@<\z@
+ \dimen@-\dimen@
+ \count@-\count@
+ \fi
+ \loop
+ \ifdim\dimen@<8192\p@
+ \dimen@\tw@\dimen@
+ \divide\count@\tw@
+ \repeat
+ \dimen@ii=\@tempd\relax
+ \divide\dimen@ii\count@
+ \divide\dimen@\dimen@ii
+ \edef#1{\strip@pt\dimen@}}
+\long\def\TY@get@body#1\end
+ {\toks@\expandafter{\the\toks@#1}\TY@find@end}
+\def\TY@find@end#1{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\TY@\def\@tempa{\end{#1}}\expandafter\@tempa
+ \else\toks@\expandafter
+ {\the\toks@\end{#1}}\expandafter\TY@get@body\fi}
+\def\TY@warn{%
+ \PackageWarning{tabulary}}
+\catcode`\Z=11
+\AtBeginDocument{
+\@ifpackageloaded{colortbl}{%
+\expandafter\def\expandafter\@mkpream\expandafter#\expandafter1%
+ \expandafter{%
+ \expandafter\let\expandafter\CT@setup\expandafter\relax
+ \expandafter\let\expandafter\CT@color\expandafter\relax
+ \expandafter\let\expandafter\CT@do@color\expandafter\relax
+ \expandafter\let\expandafter\color\expandafter\relax
+ \expandafter\let\expandafter\CT@column@color\expandafter\relax
+ \expandafter\let\expandafter\CT@row@color\expandafter\relax
+ \expandafter\let\expandafter\CT@cell@color\expandafter\relax
+ \@mkpream{#1}}
+\let\TY@@mkpream\@mkpream
+\def\TY@classz{%
+ \@classx
+ \@tempcnta\count@
+ \ifx\TY@box\TY@box@v
+ \global\advance\TY@count\@ne
+ \fi
+ \let\centering c%
+ \let\raggedright\noindent
+ \let\raggedleft\indent
+ \let\arraybackslash\relax
+ \prepnext@tok
+\expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil
+ \ifnum\@chnum<4
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \ifnum\@chnum=6
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \@addtopreamble{%
+ \setbox\z@\hbox\bgroup\bgroup
+ \ifcase\@chnum
+ \hskip\stretch{.5}\kern\z@
+ \d@llarbegin\insert@column\d@llarend\hskip\stretch{.5}\or
+ \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<
+ \d@llarbegin \insert@column \d@llarend \hfill \or
+ \hfill\kern\z@ \d@llarbegin \insert@column \d@llarend \or
+ $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \d@llarbegin \insert@column \d@llarend \or% dubious s case
+ \TY@box\centering\or
+ \TY@box\raggedright\or
+ \TY@box\raggedleft\or
+ \TY@box\relax
+ \fi
+ \egroup\egroup
+\begingroup
+ \CT@setup
+ \CT@column@color
+ \CT@row@color
+ \CT@cell@color
+ \CT@do@color
+\endgroup
+ \@tempdima\ht\z@
+ \advance\@tempdima\minrowclearance
+ \vrule\@height\@tempdima\@width\z@
+\unhbox\z@
+}\prepnext@tok}%
+ \def\TY@arrayrule{%
+ \TY@subwidth\arrayrulewidth
+ \@addtopreamble{{\CT@arc@\vline}}}%
+ \def\TY@classvi{\ifcase \@lastchclass
+ \@acol \or
+ \TY@subwidth\doublerulesep
+ \ifx\CT@drsc@\relax
+ \@addtopreamble{\hskip\doublerulesep}%
+ \else
+ \@addtopreamble{{\CT@drsc@\vrule\@width\doublerulesep}}%
+ \fi\or
+ \@acol \or
+ \@classvii
+ \fi}%
+}{%
+\let\CT@start\relax
+}
+}
+{\uccode`\*=`\ %
+\uppercase{\gdef\TX@verb{%
+ \leavevmode\null\TX@vwarn
+ {\ifnum0=`}\fi\ttfamily\let\\\ignorespaces
+ \@ifstar{\let~*\TX@vb}{\TX@vb}}}}
+\def\TX@vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}%
+ \expandafter\TX@v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!}
+\def\TX@v#1!{\afterassignment\TX@vfirst\let\@tempa= }
+\begingroup
+\catcode`\*=\catcode`\#
+\catcode`\#=12
+\gdef\TX@vfirst{%
+ \if\@tempa#%
+ \def\@tempb{\TX@v@#}%
+ \else
+ \let\@tempb\TX@v@
+ \if\@tempa\space~\else\@tempa\fi
+ \fi
+ \@tempb}
+\gdef\TX@v@*1 *2{%
+ \TX@v@hash*1##\relax\if*2\\\else~\expandafter\TX@v@\fi*2}
+\gdef\TX@v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX@v@hash\fi*2}
+\endgroup
+\def\TX@vwarn{%
+ \@warning{\noexpand\verb may be unreliable inside tabularx/y}%
+ \global\let\TX@vwarn\@empty}
+\endinput
+%%
+%% End of file `tabulary.sty'.
diff --git a/Master/texmf-dist/tex/latex/tabulary/tabulary.sty b/Master/texmf-dist/tex/latex/tabulary/tabulary.sty
index 5660cdfbbeb..4dc80f50142 100644
--- a/Master/texmf-dist/tex/latex/tabulary/tabulary.sty
+++ b/Master/texmf-dist/tex/latex/tabulary/tabulary.sty
@@ -8,14 +8,16 @@
%% DRAFT VERSION
%%
%% File `tabulary.dtx'.
-%% Copyright (C) 1995 1996 2003 2008 David Carlisle
+%% Copyright (C) 1995 1996 2003 2008 2024 David Carlisle
%% This file may be distributed under the terms of the LPPL.
-%% See 00readme.txt for details.
+%% See README.txt for details.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tabulary}
- [2014/06/11 v0.10 tabulary package (DPC)]
-\RequirePackage{array}
+ [2024/06/04 v0.11 tabulary package (DPC)]
+\DeclareRelease{v0.10}{1995/10/08}{tabulary-v010.sty}
+\DeclareCurrentRelease{}{2024-06-01}
+\RequirePackage{array}[2024/05/23]
\catcode`\Z=14
\DeclareOption{debugshow}{\catcode`\Z=9\relax}
\ProcessOptions
@@ -60,11 +62,12 @@ Z \string\tymax: \the\tymax^^J}%
\let\verb\TX@verb
\toks@{}\TY@get@body}
\let\TY@@mkpream\@mkpream
+\ExplSyntaxOn
\def\TY@mkpream{%
\def\@addamp{%
\if@firstamp \@firstampfalse \else
\global\advance\TY@count\@ne
- \edef\@preamble{\@preamble &}\fi
+ \edef\@preamble{\@preamble & \noexpand\tbl_update_cell_data:}\fi
\TY@width\xdef{0pt}}%
\def\@acol{%
\TY@subwidth\col@sep
@@ -72,13 +75,14 @@ Z \string\tymax: \the\tymax^^J}%
\let\@arrayrule\TY@arrayrule
\let\@classvi\TY@classvi
\def\@classv{\save@decl
- \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@__tbl
\sbox\z@{\d@llarbegin\@nextchar\d@llarend}%
\TY@subwidth{\wd\z@}%
\@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
\prepnext@tok}%
\global\let\@mkpream\TY@@mkpream
\TY@@mkpream}
+\ExplSyntaxOff
\def\TY@arrayrule{%
\TY@subwidth\arrayrulewidth
\@addtopreamble \vline}
@@ -108,7 +112,10 @@ Z \string\tymax: \the\tymax^^J}%
\TY@width\xdef{\the\dimen@}%
\global\advance\TY@linewidth-#1\relax}
\def\endtabulary{%
+ \SuspendTagging {tabulary}%
\gdef\@halignto{}%
+ \def\@elt##1{\global\value{##1}\the\value{##1}\relax}%
+ \edef\TY@ckpt{\cl@@ckpt}%
\expandafter\TY@tab\the\toks@
\crcr\omit
{\xdef\TY@save@row{}%
@@ -119,6 +126,7 @@ Z \string\tymax: \the\tymax^^J}%
\repeat}\TY@save@row
\endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1
\unskip\global\setbox1=\lastbox}\egroup
+ \ResumeTagging {tabulary}%
\dimen@\TY@linewidth
\divide\dimen@\TY@count
\ifdim\dimen@<\tymin
@@ -172,6 +180,7 @@ Z \message{> tymin}%
\TY@checkmin
\TY@count\z@
\let\TY@box\TY@box@v
+ \TY@ckpt
{\expandafter\TY@final\the\toks@\endTY@final}%
\count@\z@
\@tempswatrue
@@ -272,7 +281,7 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\let\raggedleft\indent
\let\arraybackslash\relax
\prepnext@tok
- \ifnum\@chnum<4
+ \ifnum\@chnum<6
\global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
\fi
\ifnum\@chnum=6
@@ -280,14 +289,19 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\fi
\@addtopreamble{%
\ifcase\@chnum
- \hfil \d@llarbegin\insert@column\d@llarend \hfil \or
- \kern\z@
- \d@llarbegin \insert@column \d@llarend \hfil \or
- \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or
- $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
- \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \d@llarbegin \insert@column \d@llarend \or% dubious "s" case
+ \hfil\hskip1sp%
+ \d@llarbegin\insert@column\d@llarend\do@row@strut\hfil \or
+ \hskip1sp%
+ \d@llarbegin \insert@column \d@llarend\do@row@strut\hfil \or
+ \hfil\hskip1sp%
+ \d@llarbegin \insert@column \d@llarend\do@row@strut \or
+ \setbox\ar@mcellbox\vbox
+ \@startpbox{\@nextchar}\insert@pcolumn \@endpbox
+ \ar@align@mcell
+ \do@row@strut\or
+ \vtop \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \d@llarbegin \insert@column \d@llarend \do@row@strut \or% dubious "s" case
\TY@box\centering\or
\TY@box\raggedright\or
\TY@box\raggedleft\or
@@ -295,19 +309,21 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\fi}\prepnext@tok}
\def\TY@box#1{%
\ifx\centering#1%
- \hfil \d@llarbegin\insert@column\d@llarend \hfil \else
+ \hfil\hskip1sp%
+ \d@llarbegin\insert@column\d@llarend\do@row@strut \hfil \else
\ifx\raggedright#1%
- \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- \d@llarbegin \insert@column \d@llarend \hfil \else
+ \hskip1sp%
+ \d@llarbegin \insert@column \d@llarend\do@row@strut \hfil \else
\ifx\raggedleft#1%
- \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \else
+ \hfil\hskip1sp%
+ \kern\z@ \d@llarbegin \insert@column \d@llarend\do@row@strut \else
\ifx\relax#1%
- \d@llarbegin \insert@column \d@llarend
+ \d@llarbegin \insert@column \d@llarend\do@row@strut
\fi \fi \fi \fi}
\def\TY@box@v#1{%
\vtop \@startpbox{\csname TY@F\the\TY@count\endcsname}%
#1\arraybackslash\tyformat
- \insert@column\@endpbox}
+ \insert@pcolumn\@endpbox}
\newdimen\TY@tablewidth
\def\Gscale@div#1#2#3{%
\setlength\dimen@{#3}%
@@ -366,7 +382,7 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\let\arraybackslash\relax
\prepnext@tok
\expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil
- \ifnum\@chnum<4
+ \ifnum\@chnum<6
\global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
\fi
\ifnum\@chnum=6
@@ -380,10 +396,13 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<
\d@llarbegin \insert@column \d@llarend \hfill \or
\hfill\kern\z@ \d@llarbegin \insert@column \d@llarend \or
- $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
- \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \d@llarbegin \insert@column \d@llarend \or% dubious s case
+ \setbox\ar@mcellbox\vbox
+ \@startpbox{\@nextchar}\insert@pcolumn \@endpbox
+ \ar@align@mcell
+ \do@row@strut \or
+ \vtop \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \d@llarbegin \insert@pcolumn \d@llarend \or% dubious s case
\TY@box\centering\or
\TY@box\raggedright\or
\TY@box\raggedleft\or
@@ -446,6 +465,26 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\def\TX@vwarn{%
\@warning{\noexpand\verb may be unreliable inside tabularx/y}%
\global\let\TX@vwarn\@empty}
+
+\ExplSyntaxOn
+\cs_set:Npn \@tempa #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ \cr
+ }
+ }
+\ifx\@tempa\tbl_crcr:n
+\cs_set:Npn \tbl_crcr:n #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ }
+ \crcr
+ }
+\fi
+\let\@tempa\@undefined
+\ExplSyntaxOff
\endinput
%%
%% End of file `tabulary.sty'.
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty
index 3b4313ba490..8f712c5b367 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty
@@ -25,17 +25,18 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf.dtx
-\ProvidesExplPackage {tagpdf-base} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-base} {2024-06-20} {0.99c}
{part of tagpdf - provide base, no-op versions of the user commands }
+\cs_new_protected:Npn \__tag_whatsits: {}
\AddToHook{begindocument}
{
\str_case:VnF \c_sys_backend_str
{
- { luatex } { \cs_new_protected:Npn \__tag_whatsits: {} }
- { dvisvgm } { \cs_new_protected:Npn \__tag_whatsits: {} }
+ { luatex } { \cs_set_protected:Npn \__tag_whatsits: {} }
+ { dvisvgm } { \cs_set_protected:Npn \__tag_whatsits: {} }
}
{
- \cs_new_protected:Npn \__tag_whatsits: {\tex_special:D {} }
+ \cs_set_protected:Npn \__tag_whatsits: {\tex_special:D {} }
}
}
\cs_if_free:NT \pdf_object_new_indexed:nn
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty
index 87f53aa1b37..0b49140d300 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-mc-generic.dtx
-\ProvidesExplPackage {tagpdf-debug-generic} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-debug-generic} {2024-06-20} {0.99c}
{part of tagpdf - debugging code related to marking chunks - generic mode}
\cs_set_protected:Npn \tag_mc_begin:n #1 %#1 keyval
{
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty
index dc4b9f23fd5..4b6836ea134 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-mc-luacode.dtx
-\ProvidesExplPackage {tagpdf-debug-lua} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-debug-lua} {2024-06-20} {0.99c}
{part of tagpdf - debugging code related to marking chunks - lua mode}
\cs_set_protected:Npn \__tag_mc_handle_stash:n #1 %1 mcidnum
{
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
index c68acae7bac..b3fd520713b 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
@@ -26,7 +26,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf.dtx
-\ProvidesExplPackage {tagpdf-debug} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-debug} {2024-06-20} {0.99c}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
\prop_gput:Nnn \g_msg_module_type_prop { tag / debug} {}
@@ -279,7 +279,7 @@
{ g__tag_struct_#1_prop }{#2}{#3}
\prop_gput:cnn { g__tag_struct_debug_#1_prop } {#2} {#3}
}
-\cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {nne,nee,nno}
+\cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {onn,nne,nee,nno}
\prop_new:c { g__tag_struct_debug_1_prop }
\seq_new:c { g__tag_struct_debug_kids_1_seq }
@@ -450,6 +450,7 @@
{ g__tag_struct_ \l__tag_struct_stack_parent_tmpa_tl _prop}
{S}
\l__tag_tmpa_tl
+ \quark_if_no_value:NT\l__tag_tmpa_tl{\tl_set:Nn \l__tag_tmpa_tl{UNKNOWN}}
\msg_warning:nneee
{ tag }
{role-parent-child}
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def
index 60acd57cf1b..09846bc0b56 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-backend.dtx
-\ProvidesExplFile {tagpdf-luatex.def} {2024-04-12} {0.99b}
+\ProvidesExplFile {tagpdf-luatex.def} {2024-06-20} {0.99c}
{tagpdf~driver~for~luatex}
{
\fontencoding{TU}\fontfamily{lmr}\fontseries{m}\fontshape{n}\fontsize{10pt}{10pt}\selectfont
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty
index 3265398f323..ca704be6e82 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-mc-generic.dtx
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-06-20} {0.99c}
{part of tagpdf - code related to marking chunks - generic mode}
\tl_new:N \l__tag_mc_ref_abspage_tl
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty
index c5a29e7d608..1057a7bc678 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-mc-luacode.dtx
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-06-20} {0.99c}
{tagpdf - mc code only for the luamode }
\hook_gput_code:nnn{begindocument}{tagpdf/mc}
{
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def
index 9cfda9d64bd..19dac1571b8 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-06-20} {0.99c}
%% {latex-book} {https://www.latex-project.org/ns/book/2022}{}
chapter, H1,pdf2,
section, H2,pdf2,
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def
index 73673fd39de..4b51be0e8d7 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-06-20} {0.99c}
%% {latex} {https://www.latex-project.org/ns/dflt/2022}{}
title, Title, pdf2,
part, Title, pdf2,
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def
index fb712526194..bca7660ca53 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-06-20} {0.99c}
abs,abs,mathml,
and,and,mathml,
annotation,annotation,mathml,
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def
index cdd6116f9f9..2e2ccc6c45f 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-06-20} {0.99c}
%% {pdf} {http://iso.org/pdf/ssn}{}
StructTreeRoot,StructTreeRoot,pdf,D,
Document,Document,pdf,D,
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def
index 6c745639fdc..b5cb091a716 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-06-20} {0.99c}
%% {pdf2} {http://iso.org/pdf2/ssn}{}
StructTreeRoot,StructTreeRoot,pdf2,D,
Document,Document,pdf2,D,
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv
index e04a559b1af..b0495a598c1 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-06-20} {0.99c}
,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC
Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅
DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv
index 1333fe7bda6..c3b120e5d5a 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-06-20} {0.99c}
,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC
Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅
Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua
index cc75987715d..425dd8120f1 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua
@@ -24,8 +24,8 @@
local ProvidesLuaModule = {
name = "tagpdf",
- version = "0.99b", --TAGVERSION
- date = "2024-04-12", --TAGDATE
+ version = "0.99c", --TAGVERSION
+ date = "2024-06-20", --TAGDATE
description = "tagpdf lua code",
license = "The LATEX Project Public License 1.3c"
}
@@ -53,8 +53,8 @@ ltx.__tag.page will contain page data
ltx.__tag.tables contains also data from mc and struct (from older code). This needs cleaning up.
There are certainly dublettes, but I don't dare yet ...
ltx.__tag.func will contain (public) functions.
-ltx.__tag.trace will contain tracing/loging functions.
-local funktions starts with __
+ltx.__tag.trace will contain tracing/logging functions.
+local functions starts with __
functions meant for users will be in ltx.tag
functions
@@ -67,7 +67,7 @@ functions
ltx.__tag.func.store_mc_kid (mcnum,kid,page): stores the mc-kids of mcnum on page page
ltx.__tag.func.store_mc_in_page(mcnum,mcpagecnt,page): stores in the page table the number of mcnum on this page
ltx.__tag.func.store_struct_mcabs (structnum,mcnum): stores relations structnum<->mcnum (abs)
- ltx.__tag.func.mc_insert_kids (mcnum): inserts the /K entries for mcnum by wandering throught the [kids] table
+ ltx.__tag.func.mc_insert_kids (mcnum): inserts the /K entries for mcnum by wandering through the [kids] table
ltx.__tag.func.mark_page_elements(box,mcpagecnt,mccntprev,mcopen,name,mctypeprev) : the main function
ltx.__tag.func.mark_shipout (): a wrapper around the core function which inserts the last EMC
ltx.__tag.func.fill_parent_tree_line (page): outputs the entries of the parenttree for this page
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
index d021f6d303c..1688cdf6478 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
@@ -28,7 +28,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: tagpdf.dtx
-\ProvidesExplPackage {tagpdf} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf} {2024-06-20} {0.99c}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -925,6 +925,7 @@
{
\l__tag_tmpa_tl
}
+ \prop_gput:cnn { g__tag_struct_1_prop } {S}{ /StructTreeRoot }
}
\cs_new_protected:Npn \__tag_tree_write_structelements:
{
@@ -1547,19 +1548,31 @@
{
\hook_gput_code:nnn {begindocument}{tagpdf}
{
- \cs_if_exist:NT \chapter
- {
- \prop_map_inline:cn{g__tag_role_NS_latex-book_prop}
- {
- \__tag_role_add_tag:ne {#1}{\use_i:nn #2\c_empty_tl\c_empty_tl}
- }
- }
+ \bool_lazy_and:nnT
+ {
+ \cs_if_exist_p:N \chapter
+ }
+ {
+ \cs_if_exist_p:N \c@chapter
+ }
+ {
+ \prop_map_inline:cn{g__tag_role_NS_latex-book_prop}
+ {
+ \__tag_role_add_tag:ne {#1}{\use_i:nn #2\c_empty_tl\c_empty_tl}
+ }
+ }
}
}
{
\hook_gput_code:nnn {begindocument}{tagpdf}
{
- \cs_if_exist:NT \chapter
+ \bool_lazy_and:nnT
+ {
+ \cs_if_exist_p:N \chapter
+ }
+ {
+ \cs_if_exist_p:N \c@chapter
+ }
{
\prop_map_inline:cn{g__tag_role_NS_latex-book_prop}
{
@@ -1972,7 +1985,7 @@
T, %title, value in () or <>
Lang, %language
Alt, % value in () or <>
- E, % abreviation
+ E, % abbreviation
ActualText,
AF, %pdf 2.0, array of dict, associated files
NS, %pdf 2.0, dict, namespace
@@ -2008,7 +2021,7 @@
\__tag_prop_gput:cnn
{ g__tag_struct_#1_prop }{#2}{#3}
}
-\cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {nne,nee,nno}
+\cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {onn,nne,nee,nno}
\tl_gset:Nn \g__tag_struct_stack_current_tl {1}
\cs_new:Npn \__tag_pdf_name_e:n #1{\pdf_name_from_unicode_e:n{#1}}
@@ -2239,7 +2252,7 @@
}
}
-\cs_new_protected:Npn \__tag_struct_get_dict_content:nN #1 #2 %#1: stucture num
+\cs_new_protected:Npn \__tag_struct_get_dict_content:nN #1 #2 %#1: structure num
{
\tl_clear:N #2
\prop_map_inline:cn { g__tag_struct_#1_prop }
@@ -2717,6 +2730,7 @@
{ g__tag_struct_ \l__tag_struct_stack_parent_tmpa_tl _prop}
{S}
\l__tag_tmpa_tl
+ \quark_if_no_value:NT\l__tag_tmpa_tl{\tl_set:Nn \l__tag_tmpa_tl{UNKNOWN}}
\msg_warning:nneee
{ tag }
{role-parent-child}
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty
index 38a5f0196d4..936f8adacd2 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty
@@ -1,5 +1,5 @@
%\RequirePackage[enable-debug]{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdfdocu-patches} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdfdocu-patches} {2024-06-20} {0.99c}
{patches/commands for the tagpdf documentation}
\RequirePackage{etoolbox,xpatch}
@@ -33,7 +33,7 @@
\else
\addpenalty\@secpenalty\addvspace{1.5ex}%
\fi
- {\tagpdfsetup{paratag=H10}\parindent \z@
+ {\tagpdfsetup{para/maintag=P,para/tag=Strong}\parindent \z@
\setlength{\parfillskip}{\z@ plus 1fil}%
\raggedright\normalfont\bfseries\nobreak
\nobreak\interlinepenalty \@M #1\par\nobreak%
@@ -92,7 +92,7 @@
% the before upper setting is dangerous as it can be overwritten by
% users. So a more stable hook is needed.
% we force also a \par and add a div structure, to avoid clashes with the block
-% tagging code. This needs revisting!
+% tagging code. This needs revisiting!
\AddToHook{env/tcolorbox/before}{\par\tagstructbegin{tag=Div}}
\AddToHook{env/tcolorbox/begin}{\tagpdfparaOff \tcbset{before upper=\tagpdfparaOn}}
@@ -177,20 +177,6 @@
{bbox}{/O /Layout /BBox [0 0 100 100]}
}
-% ======= maketitle
-
-\renewcommand\maketitle{%
- \tagstructbegin{tag=Title}
- \begin{center}%
- \let\thanks\footnote
- \makeatletter
- \huge \@title \par
- \vskip .5em
- \@author \par
- \vskip 1em%
- \@date \par
- \end{center}%
- \tagstructend}
\endinput
diff --git a/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty b/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty
index a6742f4a105..bbc181a00ec 100644
--- a/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty
+++ b/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty
@@ -1,6 +1,6 @@
% -----------------------------------------------------------------------
%%% tblr-extras: Extra libraries for tabularray package.
-%%% Version : 1.1 - 2024-05-13
+%%% Version : 1.3 - 2024-06-25
%%% Copyright : 2024 (c) Manuel E. Merino <manuel.merino.pe@gmail.com>
%%% License : The LaTeX Project Public License 1.3c
% -----------------------------------------------------------------------
@@ -18,16 +18,19 @@
% The Current Maintainer of this work is Manuel E. Merino
% -----------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-\ProvidesPackage{tblr-extras}[2024/05/13 package tblr-extras]
+\ProvidesPackage{tblr-extras}[2024/06/25 package tblr-extras]
\RequirePackage{tabularray}
%% ----------------------------------------------------------------------
%% TblrLibrary caption - Use caption package to typeset tabularray tall
%% and long tabulars captions.
-%% Empty token list checker wrapper
+%% This stuff needs to be ported to expl3 soon.
\ExplSyntaxOn
\prg_generate_conditional_variant:Nnn \tl_if_empty:n { e } { TF }
\let \IfTokenListEmpty = \tl_if_empty:eTF
-\ExplSyntaxOff
+\let \IfBoolFalse = \bool_if:NF
+\let \IfBoolTF = \bool_if:NTF
+\bool_new:N \l__tblrextras_table_title_below_bool
+\bool_set_false:N \l__tblrextras_table_title_below_bool
\NewTblrLibrary{caption}
{%
\RequirePackage{caption}
@@ -35,27 +38,142 @@
\@ifundefined{KOMAClassName}
{}
{\PackageWarningNoLine{tblr-extras}{KOMAScript class detected. Setup caption position using 'captions=option'}}
+ %%% Presetup
+ \NewDocumentCommand{\TblrCaptionBelow}{}{\bool_set_true:N \l__tblrextras_table_title_below_bool}
+ \NewDocumentCommand{\TblrCaptionAbove}{}{\bool_set_false:N \l__tblrextras_table_title_below_bool}
\SetTblrOuter[talltblr,longtblr]{headsep=0pt}
- \DefTblrTemplate{firsthead}{default}{%
- \addtocounter{table}{-1}%
- \IfTokenListEmpty{\InsertTblrText{entry}}{%
- \captionsetup{type=table}
- \caption{\InsertTblrText{caption}}%
- }{%
- \captionsetup{type=table}
- \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}%
- }%
- }
- \DefTblrTemplate{middlehead,lasthead}{default}{%
- \addtocounter{table}{-1}%
- \captionsetup{type=table}%
- \caption[]{\InsertTblrText{caption} \UseTblrTemplate{conthead-text}{default}}%
- }
+ %%%%%%%%%% TEMPLATES
+ \DefTblrTemplate{firsthead}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ { }
+ % Cap Above (default)
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \IfTokenListEmpty{\InsertTblrText{entry}}{
+ \caption{\InsertTblrText{caption}}
+ }{
+ \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}
+ }
+ }
+ }
+ } % END FIRSTHEAD
+ \DefTblrTemplate{middlehead}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % Cap Above (default)
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}~ \UseTblrTemplate{conthead-text}{default}}
+ }
+ }
+ }% END MIDDLEHEAD
+ \DefTblrTemplate{lasthead}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % Cap Above (default)
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}~ \UseTblrTemplate{conthead-text}{default}}
+ }
+ }
+ }% END LASTHEAD
+ \DefTblrTemplate{firstfoot}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{contfoot}{default} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}}
+ \UseTblrTemplate{contfoot}{default}
+ }
+ % Cap Above (default)
+ {
+ \UseTblrTemplate{contfoot}{default}
+ }
+ }
+ }% END FIRSTFOOT
+ \DefTblrTemplate{middlefoot}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{contfoot}{default} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}}
+ \UseTblrTemplate{contfoot}{default}
+ }
+ % Cap Above (default)
+ {
+ \UseTblrTemplate{contfoot}{default}
+ }
+ }
+ }% END MIDDLEFOOT
+ \DefTblrTemplate{lastfoot}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ {
+ \UseTblrTemplate{note}{default}
+ \UseTblrTemplate{remark}{default}
+ }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ {
+ \UseTblrTemplate{note}{default}
+ \UseTblrTemplate{remark}{default}
+ \addtocounter{table}{-1}
+ \captionsetup{type=table} \IfTokenListEmpty{\InsertTblrText{entry}}{
+ \caption{\InsertTblrText{caption}}
+ }{
+ \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}
+ }
+ }
+ % Cap Above (default)
+ {
+ \UseTblrTemplate{note}{default}
+ \UseTblrTemplate{remark}{default}
+ }
+ }
+ }% END LASTFOOT
\SetTblrTemplate{caption-lot}{empty}
}
+\ExplSyntaxOff
%% ----------------------------------------------------------------------
%% TblrLibrary babel - Translate contfoot and conthead to current babel/polyglossia
-%% language. Supports: ngerman, french, spanish, russian and ukrainian translations.
+%% language.
+% Supports: ngerman, french, spanish, russian, romanian, galician, esperanto, danish, catalan, danish, afrikaans, italian, portuguese and ukrainian translations.
+%%%%%
%% Check engine
\newif\if@unicode@engine
\ifdefined\luatexversion
@@ -71,53 +189,101 @@
\RequirePackage{babel}
}
}
+ \ifdefined\captionsromanian
+ \addto\captionsromanian{%
+ \renewcommand{\tblrcontfootname}{Continuare pe pagina următoare}%
+ \renewcommand{\tblrcontheadname}{(Continuare)}%
+ }
+ \fi
+ \ifdefined\captionsgalician
+ \addto\captionsgalician{%
+ \renewcommand{\tblrcontfootname}{Continuación na seguinte páxina}%
+ \renewcommand{\tblrcontheadname}{(Continuación)}%
+ }
+ \fi
+ \ifdefined\captionsesperanto
+ \addto\captionsesperanto{%
+ \renewcommand{\tblrcontfootname}{Daŭrigo sur la sekva paĝo}%
+ \renewcommand{\tblrcontheadname}{(Daŭrigo)}%
+ }
+ \fi
+ \ifdefined\captionsdanish
+ \addto\captionsdanish{%
+ \renewcommand{\tblrcontfootname}{Fortsættelse på næste side}%
+ \renewcommand{\tblrcontheadname}{(Fortsættelse)}%
+ }
+ \fi
+ \ifdefined\captionscatalan
+ \addto\captionscatalan{%
+ \renewcommand{\tblrcontfootname}{Continuació a la pàgina següent}%
+ \renewcommand{\tblrcontheadname}{(Continuació)}%
+ }
+ \fi
+ \ifdefined\captionsdutch
+ \addto\captionsdutch{%
+ \renewcommand{\tblrcontfootname}{Vervolg op de volgende pagina}%
+ \renewcommand{\tblrcontheadname}{(Vervolg)}%
+ }
+ \fi
+ \ifdefined\captionsafrikaans
+ \addto\captionsafrikaans{%
+ \renewcommand{\tblrcontfootname}{Vervolg op die volgende bladsy}%
+ \renewcommand{\tblrcontheadname}{(Vervolg)}%
+ }
+ \fi
+ \ifdefined\captionsitalian
+ \addto\captionsitalian{%
+ \renewcommand{\tblrcontfootname}{Continua alla pagina successiva}%
+ \renewcommand{\tblrcontheadname}{(Continuazione)}%
+ }
+ \fi
+ \ifdefined\captionsportuguese
+ \addto\captionsportuguese{%
+ \renewcommand{\tblrcontfootname}{Continua na próxima página}%
+ \renewcommand{\tblrcontheadname}{(Continuação)}%
+ }
+ \fi
\ifdefined\captionsspanish
\addto\captionsspanish{%
- \DefTblrTemplate{contfoot-text}{default}{Continúa en la página siguiente}%
- \DefTblrTemplate{conthead-text}{default}{(Continuación)}%
+ \renewcommand{\tblrcontfootname}{Continúa en la siguiente página}%
+ \renewcommand{\tblrcontheadname}{(Continuación)}%
}
\fi
\ifdefined\captionsngerman
\addto\captionsngerman{%
- \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}%
- \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}%
- }
- \fi
- \ifdefined\captionsgerman
- \addto\captionsgerman{%
- \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}%
- \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}%
+ \renewcommand{\tblrcontfootname}{Fortsetzung auf der nächsten Seite}%
+ \renewcommand{\tblrcontheadname}{(Fortsetzung)}%
}
\fi
\ifdefined\captionsfrench
\addto\captionsfrench{%
- \DefTblrTemplate{contfoot-text}{default}{Suite à la page suivante}%
- \DefTblrTemplate{conthead-text}{default}{(Suite)}%
+ \renewcommand{\tblrcontfootname}{Suite à la page suivante}%
+ \renewcommand{\tblrcontheadname}{(Suite)}%
}
\fi
\ifdefined\captionsrussian
\if@unicode@engine
\addto\captionsrussian{%
- \DefTblrTemplate{contfoot-text}{default}{Продолжение на следующей странице}%
- \DefTblrTemplate{conthead-text}{default}{(продолжение)}%
+ \renewcommand{\tblrcontfootname}{Продолжение на следующей странице}%
+ \renewcommand{\tblrcontheadname}{(продолжение)}%
}
\else
\addto\captionsrussian{%
- \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}%
- \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}%
+ \renewcommand{\tblrcontfootname}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}%
+ \renewcommand{\tblrcontheadname}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}%
}
\fi
\fi
\ifdefined\captionsukrainian
\if@unicode@engine
\addto\captionsukrainian{%
- \DefTblrTemplate{contfoot-text}{default}{Продовження на наступній сторінці}%
- \DefTblrTemplate{conthead-text}{default}{(продовження)}%
+ \renewcommand{\tblrcontfootname}{Продовження на наступній сторінці}%
+ \renewcommand{\tblrcontheadname}{(продовження)}%
}
\else
\addto\captionsukrainian{%
- \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
- \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}%
+ \renewcommand{\tblrcontfootname}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
+ \renewcommand{\tblrcontheadname}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}%
}
\fi
\fi
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index 90ece8e5a5a..cade134ab2d 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
@@ -82,6 +82,7 @@
\reserved@a%
\@endpefalse%
\global\@newlistfalse%
+ \tcb@set@savebox@construction@true%
\let\tcbbreak\tcb@@break%
\iftcb@usecolorstack%
\pdfcolSwitchStack{tcb@breakable}%
@@ -551,7 +552,7 @@
\let\tcb@before@middle=\@empty%
\let\tcb@before@last=\@empty%
\iftcb@multicol%
- \long\def\tcb@after@first{\par}% using \columnbreak here kills multicols' algortihm sometimes
+ \long\def\tcb@after@first{\par}% using \columnbreak here kills multicols' algorithm sometimes
\long\def\tcb@after@middle{\par\vfill}%
\else%
\long\def\tcb@after@first{\par\pagebreak\tcb@enlbreak@next}%
@@ -827,7 +828,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -842,7 +843,7 @@
\tcb@tdraw@upper%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -857,7 +858,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -868,7 +869,7 @@
\tcb@tdraw@title%
\tcb@tdraw@upper%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -883,7 +884,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -897,7 +898,7 @@
\tcb@tdraw@title%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -912,7 +913,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -923,7 +924,7 @@
\tcb@tdraw@title%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
index 3eff9746f86..a550de9fff3 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{listings,skins,external,raster}
@@ -199,10 +199,6 @@
keywords bold/true/.code={\let\tcb@doc@bfseries\bfseries},
keywords bold/false/.code={\let\tcb@doc@bfseries\mdseries},
doc key prefix/.store in=\kvtcb@doc@keyprefix,
- index key formatter/.code={\let\kvtcb@doc@format@key=#1},
- index keys formatter/.code={\let\kvtcb@doc@format@keys=#1},
- index key formatter/.default=\@firstofone,
- index keys formatter/.default=\@firstofone,
}
@@ -337,6 +333,43 @@
\ExplSyntaxOn
+\tcbset{
+ index~key~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@key
+ },
+ index~key~formatter / .default = \use:n,
+ index~keys~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@keys
+ },
+ index~keys~formatter / .default = \use:n,
+ page~ref~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@page
+ },
+ page~ref~formatter / .default = \use:n,
+}
+
+
+\cs_if_exist:NF \__tcobox_store_formatter_in:nN
+ {
+ \cs_new_protected:Npn \__tcobox_store_formatter_in:nN #1#2
+ {
+ \__tcobox_if_single_cs:nTF {#1}
+ { \cs_set_eq:NN #2 #1 }
+ {
+ \tcb@error
+ {
+ Invalid~formatter~ "\tl_to_str:n {#1}" ~passed~to \MessageBreak
+ "\pgfkeyscurrentkey". \MessageBreak
+ A~formatter~should~be~a~single~command~taking~one \MessageBreak
+ mandatory~argument
+ }
+ }
+ }
+ }
+
\cs_new_nopar:Npn \__tcobox_new_bool_key:Nn #1 #2
{
@@ -879,7 +912,7 @@
\IfBooleanTF{#2}{}{%
\ifnum\getpagerefnumber{#1:#3}=\thepage\relax%
\else%
- \textsuperscript{{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char213}%
+ \kvtcb@doc@format@page{{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char213}%
\,\kvtcb@text@pageshort\,\pageref*{#1:#3}}%
\fi}}%
}
@@ -1027,6 +1060,7 @@
doc key prefix={/},
index key formatter,
index keys formatter,
+ page ref formatter=\textsuperscript,
}
% deprecated
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
index 0bfa994f68e..060f1bb9a0e 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{pro@cessing}
@@ -111,14 +111,14 @@
\def\tcbexternal@pdfmissing@warning{%
\tcb@warning{File '\tcbexternal@job@pdf' missing.
- Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}%
+ Compilation error or shell-escape wasn't enabled or a subdirectory couldn't be generated}%
\message{Load '\tcbexternal@job@source' instead}%
\tcbexternal@inputsource%
}
\def\tcbexternal@pdfmissing@error{%
\tcb@error{File '\tcbexternal@job@pdf' missing.
- Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}{}%
+ Compilation error or shell-escape wasn't enabled or a subdirectory couldn't be generated}{}%
}
\def\tcbexternal@inputpdf{%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
index 0e34e15ad5a..e133063705f 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index b3edf95636c..6a60587177c 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
index 195076eee16..9a869f870f6 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{listings}[2007/02/22]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
index 48241a94d57..f3ffb31b906 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{pro@cessing}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index 0c9b2b7e8c2..0fb3fd8d22a 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{listings}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
index 81180a8eb89..49059a0863a 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{breakable}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
index cae9e8d7070..d21bc110367 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{minted}[2021/12/24]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
index 49abfc651a3..3fcec6b22c3 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
index ce0ae430757..a5bdabc874b 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\ExplSyntaxOn
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
index 35510300920..e3645497e90 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
index 3fbad785842..5e3faed9dde 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,15 +17,10 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
-\RequirePackage{tikz}[2010/10/13]
\RequirePackage{tikzfill.image}
-\newenvironment{tikzpicture@tcb@hooked}{%
- \edef\tcb@tikzpicture@begin{\noexpand\tikzpicture[\expandonce\tcb@tikz@option@hook]}%
- \tcb@tikzpicture@begin\tcb@tikz@begin@hook}{\tcb@tikz@end@hook\endtikzpicture}
-
\def\tcb@creategeonodes@true{%
\begin{scope}[every node/.style={line width=0mm,inner sep=0mm,outer sep=0mm,draw=none,fill=none,rectangle}]
\node[name=frame,at={(0,0)},above right,minimum width=\tcb@width,minimum height=\tcb@height]{};
@@ -438,7 +433,7 @@
\tcbset{%
base@unbroken/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@standard,%
shape@of@skin=unbroken,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -446,7 +441,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@first/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathfirst,%
shape@of@skin=first,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -454,7 +449,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@middle/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathmiddle,%
shape@of@skin=middle,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -462,7 +457,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@last/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathlast,%
shape@of@skin=last,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -885,7 +880,7 @@
segmentation code={\tcb@drawspec@widgetsegment},%
skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetlast}
-\tcb@new@skin{spartan}{graphical environment=tikzpicture@tcb@hooked,geometry nodes=true,shape@of@skin=unbroken,%
+\tcb@new@skin{spartan}{geometry nodes=true,shape@of@skin=unbroken,%
set@extensions@preframe=,set@extensions@postframe={\tcb@apply@underlay},set@extensions@final=,%
frame engine=spartan,interior titled engine=spartan,interior engine=spartan,title engine=spartan,segmentation engine=spartan,%
set@outerboundary=\tcb@boundaryframe@standard,%
@@ -893,7 +888,7 @@
\tcbset{spartan/.style={skin=spartan}}
-\tcb@new@skin{draft}{clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,shape@of@skin=unbroken,%
+\tcb@new@skin{draft}{clear@spec,geometry nodes,shape@of@skin=unbroken,%
frame engine=empty,interior titled engine=empty,interior engine=empty,segmentation engine=path,title empty,%
segmentation style={draw=black,dashed},
set@extensions@postframe=,
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
index 551971a0df2..6a54fca567f 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
index f53eda79a52..cfbc1ba796c 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{amsmath}
@@ -138,7 +138,7 @@
% insert box with name and number
\mode_leave_vertical:
\box_use_drop:N \l__tcobox_tmpa_box
- % insert formated title
+ % insert formatted title
\group_begin:
\__tcobox_theo_format_description:n{#3}
\group_end:
@@ -260,11 +260,31 @@
description~font/.default =,
description~formatter/.code =
{
- \cs_set_eq:NN \__tcobox_theo_format_description:n #1
+ \__tcobox_store_formatter_in:nN {#1} \__tcobox_theo_format_description:n
},
description~formatter/.default = \__tcobox_theo_format_description_standard:n,
}
+
+\cs_if_exist:NF \__tcobox_store_formatter_in:nN
+ {
+ \cs_new_protected:Npn \__tcobox_store_formatter_in:nN #1#2
+ {
+ \__tcobox_if_single_cs:nTF {#1}
+ { \cs_set_eq:NN #2 #1 }
+ {
+ \tcb@error
+ {
+ Invalid~formatter~ "\tl_to_str:n {#1}" ~passed~to \MessageBreak
+ "\pgfkeyscurrentkey". \MessageBreak
+ A~formatter~should~be~a~single~command~taking~one \MessageBreak
+ mandatory~argument
+ }
+ }
+ }
+ }
+
+
\ExplSyntaxOff
@@ -298,16 +318,16 @@
ams equation*/.style={ams equation* upper,ams equation* lower},%
ams align upper/.style={before upper*=\tcb@hack@amsmath\align,after upper*=\endalign},%
ams align lower/.style={before lower*=\tcb@hack@amsmath\align,after lower*=\endalign},%
- ams align/.style={ams align upper,ams align lower},%
+ ams align/.style={ams align upper},%
ams align* upper/.style={before upper*=\tcb@hack@amsmath\csname align*\endcsname,after upper*=\endalign},%
ams align* lower/.style={before lower*=\tcb@hack@amsmath\csname align*\endcsname,after lower*=\endalign},%
- ams align*/.style={ams align* upper,ams align* lower},%
+ ams align*/.style={ams align* upper},%
ams gather upper/.style={before upper*=\tcb@hack@amsmath\gather,after upper*=\endgather},%
ams gather lower/.style={before lower*=\tcb@hack@amsmath\gather,after lower*=\endgather},%
- ams gather/.style={ams gather upper,ams gather lower},%
+ ams gather/.style={ams gather upper},%
ams gather* upper/.style={before upper*=\tcb@hack@amsmath\csname gather*\endcsname,after upper*=\endgather},%
ams gather* lower/.style={before lower*=\tcb@hack@amsmath\csname gather*\endcsname,after lower*=\endgather},%
- ams gather*/.style={ams gather* upper,ams gather* lower},%
+ ams gather*/.style={ams gather* upper},%
ams nodisplayskip upper/.style={before upper=\vskip-\abovedisplayskip},%
ams nodisplayskip lower/.style={before lower=\vskip-\abovedisplayskip},%
ams nodisplayskip/.style={ams nodisplayskip upper,ams nodisplayskip lower},%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
index e177bb33d49..51a4c9d6d05 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
index cf60ef07315..5223be23ea1 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
@@ -18,6 +18,6 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{xparse}[2013/12/31]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
index be2dc7e19be..23f0d51569f 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,11 +17,12 @@
%%
%% This work consists of all files listed in README
%%
-\NeedsTeXFormat{LaTeX2e}[2021-11-15]
-\ProvidesPackage{tcolorbox}[2024/01/10 version 6.2.0 text color boxes]
-\def\tcb@version{6.2.0}
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+\ProvidesPackage{tcolorbox}[2024/07/10 version 6.3.0 text color boxes]
+\def\tcb@version{6.3.0}
-\RequirePackage{pgf}[2008/01/15]
+%\RequirePackage{pgf}[2008/01/15]
+\RequirePackage{tikz}[2023/01/15]
\RequirePackage{verbatim}[2003/08/22]
\RequirePackage{environ}[2013/04/01]
\RequirePackage{etoolbox}[2011/01/03]
@@ -57,6 +58,7 @@
\ExplSyntaxOn
\bool_new:N \l__tcobox_prevent_init_overwrite_bool
+\bool_new:N \l__tcobox_savebox_construction_bool
\box_new:N \l__tcobox_tmpa_box
\dim_new:N \l__tcobox_tmpa_dim
\fp_new:N \l__tcobox_tmpa_fp
@@ -561,7 +563,7 @@
toggle left and right/evenpage/.code={\let\tcb@lrtoggle=\tcb@lrtoggle@evenpage\tcbset{check odd page}},
toggle left and right/forced/.code={\let\tcb@lrtoggle=\tcb@lrtoggle@forced},
toggle left and right/.default=evenpage,
- graphical environment/.store in=\kvtcb@graphenv,
+ graphical environment/.style=,% deprecated
%
frame engine/.is choice,
frame engine/standard/.style={frame code=\tcb@drawframe@standard},
@@ -1003,22 +1005,13 @@
IfBooleanF/.code~n~args={2}{\IfBooleanF{#1}{\pgfkeysalso{#2}}},
}
-\IfFormatAtLeastTF{2023-06-01}
- {
- \def\tcb@set@parbox@indent@{
- \exp_args:Nne \hook_gput_next_code:nn {para/begin}
- { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
- \let\tcb@set@parbox@indent\@empty
- }
- }
- {
- % Note: To be removed in future
- \def\tcb@set@parbox@indent@{
- \vspace{-\parskip}
- \noindent
- \let\tcb@set@parbox@indent\@empty
- }
- }
+
+\def\tcb@set@parbox@indent@{
+ \exp_args:Nne \hook_gput_next_code:nn {para/begin}
+ { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
+ \let\tcb@set@parbox@indent\@empty
+}
+
\cs_new_protected:Npn \__tcobox_set_parbox_indent:n #1
{
@@ -1027,12 +1020,20 @@
{ \int_compare_p:nNn { #1 } = { \thetcolorboxnumber } }
% and if inside a "tcb@savebox" env (upper or lower part is non-empty),
% hence not at the time of using saved \tcb@upperbox or \tcb@lowerbox
- { \cs_if_exist_p:N \tcbbreak }
+ { \l__tcobox_savebox_construction_bool }
{
\OmitIndent
}
}
+
+\def\tcb@set@savebox@construction@true
+ {
+ \bool_set_true:N \l__tcobox_savebox_construction_bool
+ }
+\bool_set_false:N \l__tcobox_savebox_construction_bool
+
+
\ExplSyntaxOff
\def\tcb@parbox@true@indent{}%
@@ -1045,6 +1046,7 @@
\let\tcb@parboxrestore=\@parboxrestore
\def\tcb@parbox@false@settings{%
+ \@nobreakfalse%
\let\par\@@par%
\linewidth\hsize%
\@totalleftmargin\z@%
@@ -1082,6 +1084,7 @@
\reserved@a
\@endpefalse%
\global\@newlistfalse%
+ \tcb@set@savebox@construction@true%
\let\tcbbreak\@@par%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
\tcb@minipage{#2}%
@@ -2025,17 +2028,42 @@
\fi%
}
-\def\tcb@drawing@env@begin{%
- \csname tcb@before@\tcb@split@state\endcsname%
- \begin{\kvtcb@graphenv}%
- \tcb@bbdraw%
- \tcb@apply@graph@patches%
-}
-\def\tcb@drawing@env@end{%
- \end{\kvtcb@graphenv}%
- \csname tcb@after@\tcb@split@state\endcsname%
-}
+\let\tcb@tikz@option@hook\@empty
+\let\tcb@tikz@begin@hook\@empty
+\let\tcb@tikz@end@hook\@empty
+
+\ExplSyntaxOn
+
+\NewSocket{tagsupport/tcb/drawing/begin}{0}
+\NewSocket{tagsupport/tcb/drawing/end}{0}
+\NewSocketPlug{tagsupport/tcb/drawing/begin}{suspend}
+ {\tag_mc_end_push:\tag_mc_begin:n{artifact}}
+\NewSocketPlug{tagsupport/tcb/drawing/end}{resume}
+ {\tag_mc_end:\tag_mc_begin_pop:n{}}
+\AssignSocketPlug{tagsupport/tcb/drawing/begin}{suspend}
+\AssignSocketPlug{tagsupport/tcb/drawing/end}{resume}
+
+\NewDocumentEnvironment{ tcb@drawing }{ }
+ {
+ \use:c{ tcb@before@\tcb@split@state }
+ \exp_last_unbraced:NnNo \begin{tikzpicture}[\tcb@tikz@option@hook]
+ \UseTaggingSocket{tcb/drawing/begin}
+ \SuspendTagging{tcb/drawing}
+ \tcb@tikz@begin@hook
+ \tcb@bbdraw
+ \tcb@apply@graph@patches
+ }
+ {
+ \tcb@tikz@end@hook
+ \ResumeTagging{tcb/drawing}
+ \UseTaggingSocket{tcb/drawing/end}
+ \end{tikzpicture}
+ \use:c{ tcb@after@\tcb@split@state }
+ }
+
+\ExplSyntaxOff
+
\def\tcb@set@normal@unbroken@beforeafter{%
\let\tcb@before@unbroken=\kvtcb@beforebox%
@@ -2077,7 +2105,8 @@
\tcb@ch%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
+ %\tcb@drawing@env@begin%
\pgfsetbaseline{\the\dimexpr\kvtcb@baseline-\kvtcb@bbbottom\relax}%
\tcb@extensions@preframe%
% draw frame and interior
@@ -2097,7 +2126,8 @@
\tcb@tdraw@upper%
\iftcb@hasLower\tcb@tdraw@lower\fi%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ %\tcb@drawing@env@end%
+ \end{tcb@drawing}%
}
\let\tcb@drawcolorbox@standalone=\tcb@drawcolorbox
@@ -2255,6 +2285,9 @@
}
\def\tcb@proc@counter@auto#1{%
+ \ifcsdef{c@tcb@cnt@#1}
+ {\tcb@error{Auto counter for environment '#1' already defined}{}}
+ {}%
\newcounter{tcb@cnt@#1}%
\csxdef{tcb@cnt@#1}{tcb@cnt@#1}%
\tcb@proc@counter@autoanduse{#1}%
@@ -2297,6 +2330,33 @@
\ExplSyntaxOn
+\prg_new_conditional:Npnn \__tcobox_if_single_cs:n #1 { p, TF }
+ {
+ \bool_lazy_and:nnTF
+ { \tl_if_single_p:n { #1 } }
+ { \token_if_cs_p:N #1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+
+\msg_new:nnn { tcolorbox } { invalid-box-name }
+ {
+ Invalid~box~name~`` \tl_to_str:n {#1} ''.~
+ A~single~command~is~expected~after~space~trimming.~
+ I'll~drop~this~box~definition.
+ }
+
+\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
+ {
+ \__tcobox_if_single_cs:nTF { #2 }
+ {
+ \tl_set:Ne #1 { \exp_last_unbraced:Ne \cs_to_str:N { \tl_trim_spaces:n { #2 } } }
+ }
+ {
+ \msg_error:nnn { tcolorbox } { invalid-box-name } { #2 }
+ }
+ }
+
\cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
{
\bool_lazy_and:nnF
@@ -2312,14 +2372,6 @@
}
-\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
- {
- \tl_set:Nn #1 { #2 }
- \tl_trim_spaces:N #1
- \tl_set:Ne #1 { \exp_last_unbraced:NV \cs_to_str:N #1 }
- }
-
-
\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
@@ -2740,7 +2792,7 @@
\tcb@new@skin{standard}{frame engine=standard,interior titled engine=standard,
interior engine=standard,segmentation engine=standard,title engine=standard,
- graphical environment=pgfpicture,geometry nodes=false,
+ geometry nodes=false,
set@extensions@preframe=,set@extensions@postframe={\tcb@apply@overlay},set@extensions@final=,%
set@outerboundary=\tcb@boundaryframe@standard,%
shape@of@skin=unbroken,
diff --git a/Master/texmf-dist/tex/latex/texvc/texvc.sty b/Master/texmf-dist/tex/latex/texvc/texvc.sty
index cab243cbfe3..7d7ec136ac0 100644
--- a/Master/texmf-dist/tex/latex/texvc/texvc.sty
+++ b/Master/texmf-dist/tex/latex/texvc/texvc.sty
@@ -6,7 +6,7 @@
%%
%% texvc.dtx (with options: `package')
%% This is a generated file.
-%% Copyright (C) 2015 by Moritz Schubotz
+%% Copyright (C) 2015-2018 by Moritz Schubotz
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3 of this license or (at your option) any later
@@ -16,7 +16,7 @@
%% LaTeX version 2005/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{texvc}
-[2018/03/04 v1.1 Bugfixes]
+[2020/02/09 v1.2 Document deprecations]
\RequirePackage{amsmath}
\RequirePackage{amsfonts}
diff --git a/Master/texmf-dist/tex/latex/thermodynamics/thermodynamics.sty b/Master/texmf-dist/tex/latex/thermodynamics/thermodynamics.sty
index 87c22917702..fd2de467bb8 100644
--- a/Master/texmf-dist/tex/latex/thermodynamics/thermodynamics.sty
+++ b/Master/texmf-dist/tex/latex/thermodynamics/thermodynamics.sty
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2022-2023 by Karl D. Hammond
+%% Copyright (C) 2022-2024 by Karl D. Hammond
%%
%% Karl D. Hammond,
%% Department of Chemical Engineering
@@ -25,8 +25,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesPackage{thermodynamics}
- [2023/12/05 v2.01 thermodynamics notation]
-%%^^A = C_i \gammamol_i \Henrymol_i
+ [2024/06/14 v2.02 thermodynamics notation]
\ExplSyntaxOn
\cs_generate_variant:Nn \tl_if_eq:nnTF { xxTF }
\RequirePackage{amstext}
@@ -91,7 +90,9 @@
\tl_gset:Nn \g__thermodynamics_internal_energy_symbol U
\tl_gset:Nn \g__thermodynamics_Helmholtz_symbol A
\tl_gset:Nn \g__thermodynamics_Gibbs_symbol G
-\tl_gset:Nn \g__thermodynamics_Landau_symbol \Omega
+\cs_if_exist:NTF \Omegait
+{ \tl_gset:Nn \g__thermodynamics_Landau_symbol \Omegait }
+{ \tl_gset:Nn \g__thermodynamics_Landau_symbol \Omega }
\tl_gset:Nn \g__thermodynamics_enthalpy_symbol H
\tl_gset:Nn \g__thermodynamics_entropy_symbol S
\tl_gset:Nn \g__thermodynamics_area_symbol a
@@ -203,7 +204,14 @@
}
\cs_new:Npn \__thermodynamics_set_extensive_superscripts
{
- \cs_set:Nn \__thermodynamics_extensive:n {{##1}\c_math_superscript_token t}
+ \cs_set:Nn \__thermodynamics_extensive_one:n
+ { \c_math_superscript_token {##1\l__thermodynamics_super_separator_tl t} }
+ \cs_set:Nn \__thermodynamics_extensive:n
+ {
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { ##1 \__thermodynamics_extensive_one:n }
+ { ##1 \c_math_superscript_token t }
+ }
\cs_set:Nn \__thermodynamics_intensive:n {##1}
}
\DeclareOption{extensive-plain}{\__thermodynamics_set_extensive_plain}
@@ -212,40 +220,39 @@
\__thermodynamics_set_intensive_lowercase
\AtEndOfPackage{
\__thermodynamics_set_lowercase_pms
- \RenewDocumentCommand{\heatcapacitysymbol}{}{c}
}
}
\DeclareOption{extensive-superscript}{%
\__thermodynamics_set_extensive_superscripts
- \AtEndOfPackage{%
- \RenewDocumentCommand{\URt}{}{\g__thermodynamics_internal_energy_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\HRt}{}{\g__thermodynamics_enthalpy_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\FRt}{}{\g__thermodynamics_Helmoholtz_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\GRt}{}{\g__thermodynamics_Gibbs_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\VRt}{}{\g__thermodynamics_volume_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\SRt}{}{\g__thermodynamics_entropy_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\UEt}{}{\g__thermodynamics_internal_energy_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\HEt}{}{\g__thermodynamics_enthalpy_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\FEt}{}{\g__thermodynamics_Helmoholtz_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\GEt}{}{\g__thermodynamics_Gibbs_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\VEt}{}{\g__thermodynamics_volume_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\SEt}{}{\g__thermodynamics_entropy_symbol
- \c_math_superscript_token{\excess,t}}
- }
-}
-%%^^A \[ \left(\frac{\partial U}{\partial S}\right)_V \quad\text{versus}\quad
-%%^^A \left(\frac{\partial U(S,V)}{\partial S}\right) \]
+}
+\bool_new:N \l__thermodynamics_longpm_bool
+\DeclareOption{longpm}{\bool_set_true:N \l__thermodynamics_longpm_bool}
+\cs_set_eq:NN \__thermodynamics_overline_copy:n \__thermodynamics_overline:n
+\DeclareOption{shortpm}{
+ \bool_set_false:N \l__thermodynamics_longpm_bool
+ \AtEndOfPackage{
+ \RenewDocumentCommand{\cPpm}{}
+ {
+ \cs_set:Nn \__thermodynamics_overline:n {##1}
+ \partialmolar{\cPpmshort}
+ }
+ \RenewDocumentCommand{\cVpm}{}
+ {
+ \cs_set:Nn \__thermodynamics_overline:n {##1}
+ \partialmolar{\cVpmshort}
+ }
+ }
+}
+\NewDocumentEnvironment{thermolongpm}{}{%
+ \bool_set_true:N \l__thermodynamics_longpm_bool
+}{}
+\NewDocumentEnvironment{thermoshortpm}{}{%
+ \bool_set_false:N \l__thermodynamics_longpm_bool
+ \RenewSubscriptedSymbol{\cPpm}{\__thermodynamics_overline:n \heatcapacitysymbol}
+ {\g__thermodynamics_pressure_symbol}
+ \RenewSubscriptedSymbol{\cVpm}{\__thermodynamics_overline:n \heatcapacitysymbol}
+ {\g__thermodynamics_volume_symbol}
+}{}
\bool_new:N \l__thermodynamics_subscripted_bool
\bool_set_true:N \l__thermodynamics_subscripted_bool
\DeclareOption{subscripts}{\bool_set_true:N \l__thermodynamics_subscripted_bool}
@@ -338,48 +345,339 @@
}
}
\DeclareOption{Bejan}{
- \ExecuteOptions{EUFGHAN,intensive-lowercase,delta}
- \cs_set:Nn \__thermodynamics_specific:n {\text_lowercase:n {#1}}
- \cs_set:Nn \__thermodynamics_intensive:n {\bar{\text_lowercase:n {#1}}}
- \tl_gset:Nn \g__thermodynamics_volume_symbol v
+ \ExecuteOptions{EUFGHAN,intensive-lowercase,delta,shortpm}
+ \AtEndOfPackage{
+ \cs_set:Nn \__thermodynamics_specific:n {\text_lowercase:n {#1}}
+ \cs_set:Nn \__thermodynamics_intensive:n {\bar{\text_lowercase:n {#1}}}
+ \cs_set:Nn \__thermodynamics_extensive:n {\text_uppercase:n {#1}}
+ \tl_gset:Nn \g__thermodynamics_volume_symbol v
+ \RenewExpandableDocumentCommand{\ncomponents}{}{n}
+ \RenewSubscriptedSymbol{\Lt}{\g__thermodynamics_Helmholtz_symbol}{\mu}
+ \RenewSubscriptedSymbol{\Lm}
+ {\bar{\text_lowercase:n \g__thermodynamics_Helmholtz_symbol}}{\mu}
+ \RenewSubscriptedSymbol{\Ls}
+ {\text_lowercase:n \g__thermodynamics_Helmholtz_symbol}{\mu}
+ \cs_new:Npn \Delta_vap_sym {} {}
+ \NewSubscriptedSymbol{\Delta_vap}{\Delta_vap_sym}{{fg}}
+ \RenewDocumentCommand{\Deltavap}{m}{
+ \cs_set:Npn \Delta_vap_sym {} {#1}
+ \Delta_vap
+ }
+ \cs_new:Npn \Delta_fus_sym {} {}
+ \NewSubscriptedSymbol{\Delta_fus}{\Delta_fus_sym}{{sf}}
+ \RenewDocumentCommand{\Deltafus}{m}{
+ \cs_set:Npn \Delta_fus_sym {} {#1}
+ \Delta_fus
+ }
+ \cs_new:Npn \Delta_sub_sym {} {}
+ \NewSubscriptedSymbol{\Delta_sub}{\Delta_sub_sym}{{sg}}
+ \RenewDocumentCommand{\Deltasub}{m}{
+ \cs_set:Npn \Delta_sub_sym {} {#1}
+ \Delta_sub
+ }
+ \RenewExpandableDocumentCommand{\heatcapacitysymbol}{}{c}
+ \RenewSubscriptedSymbol{\cV}{\__thermodynamics_intensive:n {\heatcapacitysymbol}}
+ {\text_lowercase:n \g__thermodynamics_volume_symbol}
+ \RenewSubscriptedSymbol{\cVt}{\__thermodynamics_extensive:n {\heatcapacitysymbol}}
+ {\text_uppercase:n \g__thermodynamics_volume_symbol}
+ \RenewSubscriptedSymbol{\cVpm}{\heatcapacitysymbol}
+ {\text_lowercase:n \g__thermodynamics_volume_symbol}
+ \RenewSubscriptedSymbol{\cPpm}{\heatcapacitysymbol}
+ {\text_lowercase:n \g__thermodynamics_pressure_symbol}
+ \RenewExpandableDocumentCommand{\xrxn}{}{\zeta}
+ \RenewDocumentCommand{\fmix}{}{f}
+ \RenewDocumentCommand{\Qm}{}{Q}
+ \RenewDocumentCommand{\Qs}{}{Q}
+ \RenewExpandableDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewExpandableDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewExpandableDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSubscriptedSymbol{\muJT}{\JTsymbol}{J}
+ \RenewDocumentCommand{\Deltaf}{m}
+ { \tl_set:Nn \l__thermodynamics_Deltaf_sym_tl {#1} \__thermodynamics_Deltaf }
+ \RenewDocumentCommand{\Pstd}{}{P\c_math_subscript_token 0}
+ \RenewDocumentCommand{\Wm}{}{W}
+ \RenewDocumentCommand{\Ws}{}{W}
+ \cs_new:Nn \__thermodynamics_fpure_one:n
+ {
+ f\c_math_subscript_token{#1}
+ \peek_catcode_remove:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\fpure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \__thermodynamics_fpure_one:n }
+ { f }
+ }
+ \cs_new:Nn \__thermodynamics_phipure_one:n
+ {
+ \phi\c_math_subscript_token{#1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\phipure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \__thermodynamics_phipure_one:n
+ }
+ {\phi}
+ }
+ \RenewDocumentCommand{\phimix}{}{\phi}
+ }
}
\DeclareOption{CBK}{
- \ExecuteOptions{EUAGHAN,intensive-lowercase}
+ \ExecuteOptions{EUAGHAN,intensive-lowercase,delta,shortpm}
\AtEndOfPackage{
- \cs_set:Nn \__thermodynamics_overline:n {\widetilde{#1}}
+ \cs_set:Nn \__thermodynamics_overline:n {\widetilde #1}
+ \cs_set:Nn \__thermodynamics_overline_copy:n {\widetilde #1}
\cs_set:Nn \__thermodynamics_specific:n {\text_lowercase:n {#1}}
\cs_set:Nn \__thermodynamics_intensive:n {\bar{\text_lowercase:n{#1}}}
+ \tl_gset:Nn \g__thermodynamics_area_symbol A
+ \RenewExpandableDocumentCommand{\reaction}{}{R}
+ \cs_new:Npn \Delta_vap_sym {} {}
+ \NewSubscriptedSymbol{\Delta_vap}{\Delta_vap_sym}{{fg}}
+ \RenewDocumentCommand{\Deltavap}{m}{
+ \cs_set:Npn \Delta_vap_sym {} {#1}
+ \Delta_vap
+ }
+ \cs_new:Npn \Delta_fus_sym {} {}
+ \NewSubscriptedSymbol{\Delta_fus}{\Delta_fus_sym}{{sf}}
+ \RenewDocumentCommand{\Deltafus}{m}{
+ \cs_set:Npn \Delta_fus_sym {} {#1}
+ \Delta_fus
+ }
+ \cs_new:Npn \Delta_sub_sym {} {}
+ \NewSubscriptedSymbol{\Delta_sub}{\Delta_sub_sym}{{sg}}
+ \RenewDocumentCommand{\Deltasub}{m}{
+ \cs_set:Npn \Delta_sub_sym {} {#1}
+ \Delta_sub
+ }
\tl_gset:Nn \g__thermodynamics_pressure_symbol p
- \RenewDocumentCommand{\Deltarxn}{m}{{#1}\c_math_subscript_token R}
- \RenewDocumentCommand{\compressibilitysymbol}{}{\beta}
- \RenewDocumentCommand{\expansivitysymbol}{}{\alpha}
+ \RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\alpha}
+ \RenewExpandableDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewExpandableDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewExpandableDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSuperscriptedSymbol{\Psat}{P}{v}
+ \RenewDocumentCommand{\Deltaf}{m}
+ { \tl_set:Nn \l__thermodynamics_Deltaf_sym_tl {#1}
+ \__thermodynamics_Deltaf
+ }
+ \RenewDocumentCommand{\Pstd}{}{P\c_math_subscript_token 0}
+ \RenewDocumentCommand{\Lm}{}{\__thermodynamics_intensive:n\omega}
+ \RenewDocumentCommand{\Ls}{}{\__thermodynamics_specific:n\omega}
}
}
\DeclareOption{ElliottLira}{
+ \ExecuteOptions{shortpm}
\AtEndOfPackage{
+ \cs_gset_eq:NN \__thermodynamics_specific:n \__thermodynamics_intensive:n
+ %^^A\RenewDocumentCommand{\partialmolar}{m}{\__thermodynamics_overline:n #1}
\RenewDocumentCommand{\allcomponents}{O{} m}{#2}
\RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
- \RenewDocumentCommand{\IG}{}{{\text{ig}}}
- \RenewDocumentCommand{\IGM}{}{{\text{ig}}}
- \RenewDocumentCommand{\IS}{}{{\text{is}}}
+ \RenewDocumentCommand{\fusion}{}{{fus}}
+ \RenewDocumentCommand{\sublimation}{}{{sub}}
+ \RenewDocumentCommand{\vaporization}{}{{vap}}
+ \RenewDocumentCommand{\sat}{}{{sat}}
+ %^^A\RenewSubscriptedSymbol{\Henrymol}{/K}{H} %^^A FIXME
+ \RenewDocumentCommand{\IG}{}{{ig}}
+ \RenewDocumentCommand{\IGM}{}{{ig}}
+ \RenewDocumentCommand{\IS}{}{{is}}
+ \RenewDocumentCommand{\Cstd}{}{m\c_math_superscript_token \std}
+ \RenewDocumentCommand{\muJT}{}{\mu\c_math_subscript_token{JT}}
+ }
+}
+\DeclareOption{KlotzRosenberg}{
+ \ExecuteOptions{delta}
+ \AtEndOfPackage{
+ \tl_set:Nn \l__thermodynamics_sub_separator_tl {}
+ \cs_set:Nn \__thermodynamics_extensive:n {#1}
+ \cs_new:Nn \__thermodynamics_intensive_one:n
+ {
+ \c_math_superscript_token {#1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \__thermodynamics_intensive_three:n }
+ { \c_math_subscript_token{\mathrm{m}} }
+ }
+ \cs_new:Nn \__thermodynamics_intensive_three:n
+ { \c_math_subscript_token{\mathrm{m}\l__thermodynamics_sub_separator_tl #1} }
+ \cs_new:Nn \__thermodynamics_intensive_two:n
+ {
+ \c_math_subscript_token{\mathrm{m}\l__thermodynamics_sub_separator_tl #1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \cs_set:Nn \__thermodynamics_intensive:n
+ {
+ #1
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \__thermodynamics_intensive_one:n }
+ { \peek_catcode_remove:NTF \c_math_subscript_token
+ { \__thermodynamics_intensive_two:n }
+ { \c_math_subscript_token{\mathrm{m}} }
+ }
+ }
+ \cs_new:Nn \__thermodynamics_fpure_one:n
+ {
+ f\c_math_subscript_token{#1}
+ \peek_catcode_remove:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\fpure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \__thermodynamics_fpure_one:n }
+ { f }
+ }
+ \cs_new:Nn \__thermodynamics_phipure_one:n
+ {
+ \gamma\c_math_subscript_token{#1}
+ \peek_catcode_remove:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\phipure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \__thermodynamics_phipure_one:n }
+ { \gamma }
+ }
+ \RenewDocumentCommand{\fmix}{}{f}
+ \RenewDocumentCommand{\phimix}{}{\gamma}
+ \RenewDocumentCommand{\phisat}{}{\gamma^\sat}
+ \cs_if_exist:NTF \gammaup
+ { \RenewDocumentCommand{\gamma}{}{\gammaup} }
+ { \cs_if_exist:NT \upgamma
+ { \RenewDocumentCommand{\gamma}{}{\upgamma} }
+ }
+ \RenewDocumentCommand{\gammarat}{}{\gamma}
+ \RenewDocumentCommand{\gammamol}{}{\gamma}
+ \cs_if_exist:NTF \muup
+ {\RenewDocumentCommand{\mu}{}{\muup}}
+ {\cs_if_exist:NT \upmu
+ {\RenewDocumentCommand{\mu}{}{\upmu}}
+ }
+ \cs_if_exist:NTF \alphaup
+ {\RenewExpandableDocumentCommand{\expansivitysymbol}{}{\alphaup}}
+ {\cs_if_exist:NTF \upalpha
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\alphaup}}
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\alpha}}
+ }
+ \cs_if_exist:NTF \betaup
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\betaup}}
+ {\cs_if_exist:NTF \upbeta
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\betaup}}
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\beta}}
+ }
+ \cs_if_exist:NTF \xiup
+ {\RenewDocumentCommand{\xrxn}{}{\xiup}}
+ {\cs_if_exist:NT \upxi
+ {\RenewDocumentCommand{\xrxn}{}{\upxi}}
+ }
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSubscriptedSymbol{\muJT}{\JTsymbol}{\text{J.T.}}
+ \RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
+ \RenewDocumentCommand{\Deltaf}{}{\Delta\c_math_subscript_token\formation}
+ \RenewDocumentCommand{\Deltafus}{}{\Delta}
+ \RenewDocumentCommand{\Deltavap}{}{\Delta}
+ \RenewDocumentCommand{\Deltasub}{}{\Delta}
+ \RenewDocumentCommand{\Deltamix}{m}{
+ \tl_set:Nn \l__thermodynamics_sub_separator_tl {,}
+ \Delta #1\c_math_subscript_token{\mixing}
+ }
+ \RenewDocumentCommand{\excess}{}{{\mathrm{E}}}
+ \RenewDocumentCommand{\residual}{}{{\mathrm{R}}}
+ \cs_set:Nn \__thermodynamics_overline:n {#1}
+ \RenewDocumentCommand{\IS}{}{{\mathrm{I}}}
+ \RenewDocumentCommand{\Psat}{}
+ {
+ \peek_catcode:NTF \c_math_subscript_token
+ {p\c_math_superscript_token\bullet}
+ {p}
+ }
+ \RenewDocumentCommand{\Cstd}{}{m^\std}
+ \RenewDocumentCommand{\Henryrat}{}{k}
+ \RenewDocumentCommand{\Henrymol}{}{k''}
+
+ % Fix partial molar properties
+ \cs_set:Npn \__thermodynamics_pm_case_one #1
+ {
+ \l__thermodynamics_pm_symbol_tl\c_math_subscript_token{\mathrm{m}#1}
+ }
+ \cs_set:Npn \__thermodynamics_pm_case_two [#1]#2
+ {
+ \l__thermodynamics_pm_symbol_tl
+ \c_math_superscript_token{#1}\c_math_subscript_token{\mathrm{m}#2}
+ }
+ \cs_set:Npn \__thermodynamics_pm_case_three_part_two #1
+ {
+ \l__thermodynamics_pm_symbol_tl
+ \c_math_superscript_token{\l__thermodynamics_pm_arg_tl}
+ \c_math_subscript_token{\mathrm{m}#1}
+ }
+ \cs_set:Npn \__thermodynamics_pm_case_four #1
+ {
+ \l__thermodynamics_pm_symbol_tl\c_math_superscript_token{#1}
+ \c_math_subscript_token{\mathrm{m}\l__thermodynamics_pm_arg_tl}
+ }
+ \cs_set:Npn \__thermodynamics_pm_case_five
+ {
+ \l__thermodynamics_pm_symbol_tl
+ \c_math_subscript_token{\mathrm{m}\l__thermodynamics_pm_arg_tl}
+ }
+
+ % fix heat capacities
+ \RenewSubscriptedSymbol{\cP}{\heatcapacitysymbol}
+ {\g__thermodynamics_pressure_symbol\mathrm{m}}
+ \RenewSubscriptedSymbol{\cV}{\heatcapacitysymbol}
+ {\g__thermodynamics_volume_symbol\mathrm{m}}
+ \RenewDocumentCommand{\cPpm}{}{\partialmolar{\cPt}}
+ \RenewDocumentCommand{\cVpm}{}{\partialmolar{\cVt}}
+
+ \cs_set:Npn \cP_two:n #1
+ { \heatcapacitysymbol
+ \c_math_subscript_token{\g__thermodynamics_pressure_symbol\mathrm{m}
+ \l__thermodynamics_sub_separator_tl #1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \cs_set:Npn \cV_two:n #1
+ { \heatcapacitysymbol
+ \c_math_subscript_token{\g__thermodynamics_volume_symbol\mathrm{m}
+ \l__thermodynamics_sub_separator_tl #1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ }
+ \AtBeginDocument{
+ \@ifpackageloaded{emf}{\RenewDocumentCommand{\Epot}{}{\emf}}
+ {%
+ \PackageWarningNoLine{thermodynamics}
+ {Package~emf~not~loaded;~load~to~make~Epot~match~Klotz~
+ and~Rosenberg's~notation}%
+ }
}
}
\DeclareOption{Koretsky}{
- \ExecuteOptions{EUAGHAn,brackets,intensive-lowercase,delta}
+ \ExecuteOptions{EUAGHAn,brackets,intensive-lowercase,delta,shortpm}
\AtEndOfPackage{
- %^^A Undo part of intensive-lowercase
+ \tl_gset:Nn \g__thermodynamics_area_symbol {A}
+ \RenewExpandableDocumentCommand{\std}{}{o}
+ \RenewExpandableDocumentCommand{\ncomponents}{}{m}
\RenewDocumentCommand{\partialmolar}{m}
- { \tl_set:Nn \l__thermodynamics_pm_symbol_tl {#1}
+ {
+ \tl_set:Nn \l__thermodynamics_pm_symbol_tl {#1}
\__thermodynamics_generic_pm:
}
\RenewDocumentCommand{\expansivitysymbol}{}{\beta}
\RenewDocumentCommand{\IS}{}{{\text{ideal}}}
\RenewDocumentCommand{\residual}{}{{\text{dep}}}
- \RenewDocumentCommand{\IG}{}{{\text{ideal}}}
+ \RenewDocumentCommand{\IG}{}{{\text{ideal~gas}}}
\RenewDocumentCommand{\IGM}{}{{\text{ideal}}}
\RenewDocumentCommand{\Henryrat}{}{{\mathcal{H}}}
\RenewDocumentCommand{\gammarat}{}
{\gamma\c_math_superscript_token\text{Henry's}}
+ \RenewDocumentCommand{\gammamol}{}{\gamma\c_math_superscript_token{m}}
\RenewDocumentCommand{\phipure}{}{\varphi}
\RenewDocumentCommand{\phimix}{}{\hat\varphi}
\RenewDocumentCommand{\phisat}{}{\varphi\c_math_superscript_token\sat}
@@ -397,19 +695,100 @@
}
\cs_new:Npn \Delta_sub_sym {} {}
\NewSubscriptedSymbol{\Delta_sub}{\Delta_sub_sym}{\sublimation}
- %^^A Undo part of intensive-lowercase
\RenewDocumentCommand{\Deltasub}{m}{
\cs_set:Npn \Delta_sub_sym {} { \Delta #1 }
\Delta_sub
}
+ \tl_new:N \l__thermodynamics_Deltaf_superscript_tl
+ \tl_new:N \l__thermodynamics_Deltaf_subscript_tl
+ \bool_new:N \l__thermodynamics_Deltaf_parentheses_bool
+ \tl_new:N \l__thermodynamics_Deltaf_entity_tl
+ \cs_set:Nn \__thermodynamics_Deltaf_one:n
+ {
+ \tl_set:Nn \l__thermodynamics_Deltaf_superscript_tl {#1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l__thermodynamics_Deltaf_parentheses_bool
+ \__thermodynamics_Deltaf_two:n
+ }
+ {
+ \bool_if:NTF \l__thermodynamics_Deltaf_parentheses_bool
+ {
+ (\Delta\l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ { \c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl }
+ )
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_subscript_tl
+ { \c_math_subscript_token\l__thermodynamics_Deltaf_subscript_tl }
+ }
+ {
+ \Delta\l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ { \c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl }
+ }
+ }
+ }
+ \cs_set:Nn \__thermodynamics_Deltaf_two:n
+ {
+ \tl_set:Nn \l__thermodynamics_Deltaf_subscript_tl {#1}
+ % check for case 4
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \__thermodynamics_Deltaf_one:n }
+ {
+ \bool_if:NTF \l__thermodynamics_Deltaf_parentheses_bool
+ {
+ (\Delta\l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ {\c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl}
+ )
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_subscript_tl
+ \c_math_subscript_token\l__thermodynamics_Deltaf_subscript_tl
+ }
+ {
+ \Delta\l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ {\c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl}
+ }
+ }
+ }
+ \RenewDocumentCommand{\Deltaf}{m}
+ {
+ \tl_clear:N \l__thermodynamics_Deltaf_superscript_tl
+ \tl_clear:N \l__thermodynamics_Deltaf_subscript_tl
+ \tl_set:Nn \l__thermodynamics_Deltaf_entity_tl {#1}
+ \bool_set_false:N \l__thermodynamics_Deltaf_parentheses_bool
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ {
+ \__thermodynamics_Deltaf_one:n
+ }
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l__thermodynamics_Deltaf_parentheses_bool
+ \__thermodynamics_Deltaf_two:n
+ }
+ {
+ \Delta #1\c_math_subscript_token \formation
+ }
+ }
+ }
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSubscriptedSymbol{\cV}{\__thermodynamics_intensive:n \heatcapacitysymbol}
+ {\__thermodynamics_intensive:n \g__thermodynamics_volume_symbol}
+ \RenewSubscriptedSymbol{\cVs}{\__thermodynamics_specific:n \heatcapacitysymbol}
+ {\__thermodynamics_intensive:n \g__thermodynamics_volume_symbol}
+ \RenewDocumentCommand{\Lm}{}{\omega}
+ \RenewDocumentCommand{\Ls}{}{\hat\omega}
}
}
\DeclareOption{MSBB}{
- \ExecuteOptions{EUFGHAn,intensive-lowercase,delta}
+ \ExecuteOptions{EUFGHAn,intensive-lowercase,delta,shortpm}
\AtEndOfPackage{
- \RenewDocumentCommand{\IGM}{}{\ast}
+ \RenewDocumentCommand{\IGM}{}{\ast} % FIXME: is this * or \circ?
\RenewDocumentCommand{\IG}{}{\ast}
\RenewDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewDocumentCommand{\muJT}{}{\mu\c_math_subscript_token J}
\RenewDocumentCommand{\allcomponents}{O{} m}{#2}
\RenewDocumentCommand{\allbut}{O{j} m m}
{
@@ -419,29 +798,114 @@
}
\tl_gset_eq:NN \g__thermodynamics_Helmholtz_symbol \psi
\RenewDocumentCommand{\Ft}{}{\Psi}
+ \RenewDocumentCommand{\Fpm}{}{\partialmolar{\Psi}}
\cs_set:Nn \__thermodynamics_intensive:n {\__thermodynamics_overline:n{\text_lowercase:n{#1}}}
\cs_set:Nn \__thermodynamics_specific:n {\text_lowercase:n{#1}}
\RenewDocumentCommand{\fmix}{}{\bar f}
\RenewDocumentCommand{\phimix}{}{\bar\phi}
\RenewDocumentCommand{\phimix}{}{\bar\phi}
\tl_gset:Nn \g__thermodynamics_pressure_symbol p
+ \tl_gset:Nn \g__thermodynamics_volume_symbol v
\RenewDocumentCommand{\partialmolar}{m}
{
- \tl_set:Nn \l__thermodynamics_pm_symbol_tl {#1}
+ \tl_set:Nn \l__thermodynamics_pm_symbol_tl {\text_uppercase:n #1}
\__thermodynamics_generic_pm:
}
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewDocumentCommand{\mustd}{}{\Gm^\std}
+ \RenewExpandableDocumentCommand{\formation}{}{{\mathrm{f}}}
+ \RenewDocumentCommand{\Pstd}{}
+ {\g__thermodynamics_pressure_symbol\c_math_subscript_token\text{ref}}
+ \RenewExpandableDocumentCommand{\xrxn}{}{\varepsilon}
+ \RenewExpandableDocumentCommand{\Lm}{}{\__thermodynamics_intensive:n \omega}
+ \RenewExpandableDocumentCommand{\Ls}{}{\__thermodynamics_specific:n \omega}
+ \RenewExpandableDocumentCommand{\heatcapacitysymbol}{}{C}
+ \tl_new:N \l__thermodynamics_Deltaf_superscript_tl
+ \tl_new:N \l__thermodynamics_Deltaf_subscript_tl
+ \bool_new:N \l__thermodynamics_Deltaf_parentheses_bool
+ \tl_new:N \l__thermodynamics_Deltaf_entity_tl
+ \cs_set:Nn \__thermodynamics_Deltaf_one:n
+ {
+ \tl_set:Nn \l__thermodynamics_Deltaf_superscript_tl {#1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l__thermodynamics_Deltaf_parentheses_bool
+ \__thermodynamics_Deltaf_two:n
+ }
+ {
+ \bool_if:NTF \l__thermodynamics_Deltaf_parentheses_bool
+ {
+ (\l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ { \c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl }
+ )
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_subscript_tl
+ { \c_math_subscript_token\l__thermodynamics_Deltaf_subscript_tl }
+ }
+ {
+ \l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token{\formation}
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ { \c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl }
+ }
+ }
+ }
+ \cs_set:Nn \__thermodynamics_Deltaf_two:n
+ {
+ \tl_set:Nn \l__thermodynamics_Deltaf_subscript_tl {#1}
+ % check for case 4
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \__thermodynamics_Deltaf_one:n }
+ {
+ \bool_if:NTF \l__thermodynamics_Deltaf_parentheses_bool
+ {
+ (\l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ { \c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl }
+ )
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_subscript_tl
+ { \c_math_subscript_token\l__thermodynamics_Deltaf_subscript_tl }
+ }
+ {
+ \l__thermodynamics_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l__thermodynamics_Deltaf_superscript_tl
+ { \c_math_superscript_token\l__thermodynamics_Deltaf_superscript_tl }
+ }
+ }
+ }
+ \RenewDocumentCommand{\Deltaf}{m}
+ {
+ \tl_clear:N \l__thermodynamics_Deltaf_superscript_tl
+ \tl_clear:N \l__thermodynamics_Deltaf_subscript_tl
+ \tl_set:Nn \l__thermodynamics_Deltaf_entity_tl {#1}
+ \bool_set_false:N \l__thermodynamics_Deltaf_parentheses_bool
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ {
+ \__thermodynamics_Deltaf_one:n
+ }
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l__thermodynamics_Deltaf_parentheses_bool
+ \__thermodynamics_Deltaf_two:n
+ }
+ {
+ \Delta #1\c_math_subscript_token \formation
+ }
+ }
+ }
}
}
\DeclareOption{Prausnitz}{
- \ExecuteOptions{intensive-lowercase}
+ \ExecuteOptions{intensive-lowercase,shortpm}
\AtEndOfPackage{
+ \RenewExpandableDocumentCommand{\ncomponents}{}{m}
\RenewDocumentCommand{\fmix}{}{f}
- \RenewDocumentCommand{\phimix}{}{\phi}
\RenewDocumentCommand{\fsat}{}{\fpure\c_math_superscript_token\sat}
- % TODO: this should pick up H_2 and make it into H_{2,1} (assuming the
- % solvent is always 1...?)
+ % TODO: this should pick up H_2 and make it into H_{2,1} (assuming
+ % the solvent is always 1...?)
\RenewDocumentCommand{\Henryrat}{}{H}
- \RenewDocumentCommand{\residual}{}{{{\mathcal{R}}}}
+ %^^A\RenewDocumentCommand{\residual}{}{{{\mathcal{R}}}}
\RenewDocumentCommand{\allcomponents}{O{i} m}
{ {#2}\c_math_subscript_token{#1} }
\RenewDocumentCommand{\allbut}{O{i} m m}
@@ -449,14 +913,36 @@
{ {#3}\c_math_subscript_token k }
{ {#3}\c_math_subscript_token{#1} }
}
+ \tl_set:Nn \l__thermodynamics_sub_separator_tl {\,}
+ \tl_gset:Nn \g__thermodynamics_pressure_symbol {p}
+ \tl_gset:Nn \g__thermodynamics_volume_symbol {v}
\RenewSubscriptedSymbol{\fpure}{f}{{\text{pure}}}
- \RenewSubscriptedSymbol{\phipure}{\phi}{{\text{pure}}}
+ \RenewDocumentCommand{\phimix}{}{\varphi}
+ \RenewDocumentCommand{\phisat}{}{\varphi^\sat}
+ \RenewDocumentCommand{\sat}{}{s}
+ \RenewDocumentCommand{\mixing}{}{\text{mixing}}
+ \RenewDocumentCommand{\Lm}{}{\omega}
+ \RenewDocumentCommand{\Ls}{}{\__thermodynamics_specific:n \omega}
+ \RenewSubscriptedSymbol{\phipure}{\varphi}{{\text{pure}}}
+ \RenewDocumentCommand{\IG}{}{{\text{id}}}
+ \RenewDocumentCommand{\IGM}{}{{\text{id}}}
+ \RenewDocumentCommand{\IS}{}{{\text{(ideal)}}}
+ \RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\beta}
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewExpandableDocumentCommand{\std}{}{0}
+ \@ifpackageloaded{emf}
+ {\RenewDocumentCommand{\Epot}{}{\emf}}
+ {\RenewDocumentCommand{\Epot}{}{\mathcal{E}}}
+ \DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}
+ \RenewExpandableDocumentCommand{\actrel}{}{\mathdutchcal{a}}
}
}
\DeclareOption{Sandler}{
- \ExecuteOptions{EUAGHaN,extensive-plain}
+ \ExecuteOptions{EUAGHaN,extensive-plain,shortpm}
\AtEndOfPackage{
- \RenewDocumentCommand{\sat}{}{{\text{vap}}}
+ \RenewDocumentCommand{\Pvap}{}
+ {{P\c_math_superscript_token{\text{vap}}}}
\RenewDocumentCommand{\excess}{}{{\text{ex}}}
\RenewDocumentCommand{\residual}{}{{\text{r}}}
\RenewExpandableDocumentCommand{\ncomponents}{}{\mathcal{C}}
@@ -477,6 +963,12 @@
{\Delta\c_math_subscript_token\fusion #1}
\RenewDocumentCommand{\Deltavap}{m}
{\Delta\c_math_subscript_token\vaporization #1}
+ \RenewDocumentCommand{\Pstd}{}{\text{1~bar}
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
+ \RenewDocumentCommand{\Cstd}{}{\text{1~molal}
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
\RenewDocumentCommand{\Henryrat}{}{H}
\RenewSubscriptedSymbol{\cV}
{\heatcapacitysymbol}{\g__thermodynamics_volume_symbol}
@@ -486,10 +978,16 @@
{\Nt\heatcapacitysymbol}{\g__thermodynamics_volume_symbol}
\RenewSubscriptedSymbol{\cPt}
{\Nt\heatcapacitysymbol}{\g__thermodynamics_pressure_symbol}
+ \RenewDocumentCommand{\formation}{}{\mathrm{f}}
+ \RenewDocumentCommand{\Deltaf}{}
+ {\Delta\c_math_subscript_token\formation}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewDocumentCommand{\muJT}{}{\mu}
+ \RenewDocumentCommand{\xrxn}{}{X}
}
}
\DeclareOption{SVNAS}{
- \ExecuteOptions{extensive-superscript}
+ \ExecuteOptions{extensive-superscript,shortpm}
\AtEndOfPackage{
\RenewDocumentCommand{\allcomponents}{O{} m}{#2}
\RenewDocumentCommand{\allbut}{O{j} m m}
@@ -501,17 +999,44 @@
\RenewDocumentCommand{\IG}{}{{ig}}
\RenewDocumentCommand{\IGM}{}{{ig}}
\RenewDocumentCommand{\IS}{}{{id}}
+ \RenewDocumentCommand{\IS}{}{{id}}
+ \RenewDocumentCommand{\fusion}{}{{sl}}
+ \RenewDocumentCommand{\vaporization}{}{{vl}}
+ \RenewDocumentCommand{\sublimation}{}{{vs}}
\RenewDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewDocumentCommand{\xrxn}{}{\varepsilon}
\RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
+ \RenewDocumentCommand{\Deltamix}{m}{\Delta #1}
\RenewSubscriptedSymbol{\cVt}
{\Nt\heatcapacitysymbol}{\g__thermodynamics_volume_symbol}
\RenewSubscriptedSymbol{\cPt}
{\Nt\heatcapacitysymbol}{\g__thermodynamics_pressure_symbol}
+ % FIXME
+ \RenewDocumentCommand{\cP}{}
+ {{\heatcapacitysymbol\c_math_subscript_token\g__thermodynamics_pressure_symbol}}
+ \RenewDocumentCommand{\cV}{}
+ {{\heatcapacitysymbol\c_math_subscript_token\g__thermodynamics_volume_symbol}}
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewDocumentCommand{\muJT}{}{\mu}
+ \RenewDocumentCommand{\Cstd}{}{m\c_math_superscript_token\std
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
+ \RenewDocumentCommand{\mustd}{}{\Gm\c_math_superscript_token\std}
+ \RenewDocumentCommand{\Henryrat}{}{\mathcal{H}}
+ \RenewDocumentCommand{\formation}{}
+ {
+ \tl_set:Nn \l__thermodynamics_sub_separator_tl {}
+ f298
+ }
+ \cs_set:Nn \__thermodynamics_specific:n {#1}
}
}
+\DeclareOption{ModellReid}{\ExecuteOptions{TesterModell}}
\DeclareOption{TesterModell}{
- \ExecuteOptions{EUAGHaN,delta}
+ \ExecuteOptions{EUAGHaN,delta,shortpm}
\AtEndOfPackage{
+ \cs_set:Nn \__thermodynamics_specific:n {\text_lowercase:n{#1}}
\RenewExpandableDocumentCommand{\ncomponents}{}{n}
\RenewDocumentCommand{\allcomponents}{O{i} m}
{
@@ -538,23 +1063,62 @@
\RenewDocumentCommand{\Henryrat}{}
{f\c_math_superscript_token{\ast\ast}}
\RenewDocumentCommand{\Henrymol}{}{f\c_math_superscript_token\ast}
+ \cs_if_exist:NTF \gammaup
+ { \RenewDocumentCommand{\gamma}{}{\gammaup} }
+ { \cs_if_exist:NT \upgamma
+ { \RenewDocumentCommand{\gamma}{}{\upgamma} }
+ }
\RenewDocumentCommand{\gammarat}{}
{\gamma\c_math_superscript_token{\ast\ast}}
\RenewDocumentCommand{\gammamol}{}
{\gamma\c_math_superscript_token\ast}
\RenewExpandableDocumentCommand{\JTsymbol}{}{\alpha}
\RenewSubscriptedSymbol{\muJT}{\JTsymbol}{H}
+ \cs_if_exist:NTF \xiup
+ { \RenewDocumentCommand{\xrxn}{}{\xiup} }
+ { \cs_if_exist:NT \upxi
+ { \RenewDocumentCommand{\xrxn}{}{\upxi} }
+ }
+ \cs_if_exist:NTF \phiup
+ {
+ \RenewDocumentCommand{\phipure}{}{\phiup}
+ \RenewDocumentCommand{\phimix}{}{\hat\phiup}
+ \RenewDocumentCommand{\phisat}{}{\phiup\c_math_superscript_token\sat}
+ }
+ { \cs_if_exist:NT \upphi
+ {
+ \RenewDocumentCommand{\phipure}{}{\upphi}
+ \RenewDocumentCommand{\phimix}{}{\hat\upphi}
+ \RenewDocumentCommand{\phisat}{}{\upphi\c_math_superscript_token\sat}
+ }
+ }
+ \RenewDocumentCommand{\Cstd}{}{m\c_math_superscript_token+
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
+ \cs_if_exist:NTF \muup
+ { \RenewDocumentCommand{\mu}{}{\muup} }
+ { \cs_if_exist:NT \upmu
+ { \RenewDocumentCommand{\mu}{}{\upmu} }
+ }
+ \RenewDocumentCommand{\std}{}{o}
+ \RenewDocumentCommand{\Pstd}{}{P^\ast}
+ \tl_gset:Nn \g__thermodynamics_area_symbol {\text{\large\(\mathit{a}\)}}
+ \RenewDocumentCommand{\Epot}{}{\exists}
+ \tl_set:Nn \l__thermodynamics_sub_separator_tl {}
+ \tl_gset:Nn \g__thermodynamics_pressure_symbol {p}
+ \RenewSubscriptedSymbol{\cVt}{\__thermodynamics_extensive:n {\heatcapacitysymbol}}{v}
+ \RenewSubscriptedSymbol{\cV}{\__thermodynamics_intensive:n {\heatcapacitysymbol}}{v}
+ \RenewSubscriptedSymbol{\cVs}{\__thermodynamics_specific:n {\heatcapacitysymbol}}{v}
}
}
\DeclareOption{Thompson}{
- \ExecuteOptions{EUAGHAn,delta}
+ \ExecuteOptions{EUAGHAn,delta,shortpm}
\AtEndOfPackage
{
\RenewDocumentCommand{\excess}{}{{EX}}
\RenewDocumentCommand{\residual}{}{{R}}
- %^^A He uses k_H for both types of Henry's constant, but I changed
- %^^A the rational basis one just so there is SOME difference
- \RenewSubscriptedSymbol{\Henryrat}{k}{h}
+ \RenewDocumentCommand{\actrel}{}{\widehat{a}}
+ \RenewSubscriptedSymbol{\Henryrat}{k}{H}
\RenewSubscriptedSymbol{\Henrymol}{k}{H}
\RenewDocumentCommand{\allcomponents}{O{j} m}
{
@@ -591,7 +1155,8 @@
}
}
\cs_set:Nn \__thermodynamics_intensive:n
- { #1
+ {
+ #1
\peek_catcode_remove:NT \c_math_subscript_token
{ \__thermodynamics_intensive_two:n }
}
@@ -609,10 +1174,16 @@
}
{\phi}
}
+ \RenewDocumentCommand{\phimix}{}{\widehat\phi}
+ \RenewDocumentCommand{\fmix}{}{\widehat f}
\RenewDocumentCommand{\mixing}{}{{MIX}}
+ \RenewDocumentCommand{\muJT}{}{\alpha\c_math_subscript_token H}
\RenewDocumentCommand{\Deltamix}{m}
{\Delta\c_math_subscript_token\mixing #1}
- \RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
+ \RenewDocumentCommand{\reaction}{}{R}
+ \RenewDocumentCommand{\fusion}{}{{SL}}
+ \RenewDocumentCommand{\vaporization}{}{{LV}}
+ \RenewDocumentCommand{\sublimation}{}{{SV}}
\RenewDocumentCommand{\allbut}{O{j} m m}
{ \tl_if_eq:nnTF {#1} {#2}
{
@@ -622,9 +1193,13 @@
{#3}\c_math_subscript_token{#1}\neq{#3}\c_math_subscript_token{#2}
}
}
+ \RenewDocumentCommand{\Cstd}{}{m^\std}
+ \RenewDocumentCommand{\mustd}{}{\Gamma}
+ \RenewDocumentCommand{\formation}{}{F}
}
}
-\ExecuteOptions{EUAGHan,subscripts,parentheses,intensive-plain,moles-index}
+\ExecuteOptions{EUAGHan,subscripts,parentheses,intensive-plain,
+ moles-index,longpm}
\ProcessOptions
\tl_const:Nn \c__thermodynamics_sort_order_tl
{\Et\Em\Es\Ut\Um\Us\Ht\Hm\Hs\Ft\Fm\Fs\Gt\Gm\Gs\Lt\Lm\Ls T\St\Sm\Ss
@@ -883,8 +1458,8 @@
\AtBeginDocument{%
\@ifpackageloaded{amsmath}{}{%
\PackageWarningNoLine{thermodynamics}
- {Package~amsmath~not~loaded;~load~to~make~PartialBigg~and~friends
- ~work~correctly}%
+ {Package~amsmath~not~loaded;~load~to~make~PartialBigg~and~friends~
+ work~correctly}%
\cs_set_eq:NN \PartialBigg \Partial
\cs_set_eq:NN \Partialbigg \Partial
\cs_set_eq:NN \PartialSecondBigg \PartialSecond
@@ -984,13 +1559,13 @@
\__thermodynamics_set_extensive_superscripts
}
{}
+\str_new:N \l__thermodynamics_tmp_str
\cs_new:Npn \__thermodynamics_check_definable:nN #1#2
{
- \bool_set_true:N \l__thermodynamics_arg_legal_bool
\tl_trim_spaces_apply:nN {#1} \tl_if_single_token:nTF
{
- \str_set:Nx \l_tmp_str {\tl_to_str:n {#1}}
- \int_compare:nNnT {\str_count:N \l_tmp_str} = 1
+ \str_set:Nx \l__thermodynamics_tmp_str {\tl_to_str:n {#1}}
+ \int_compare:nNnT {\str_count:N \l__thermodynamics_tmp_str} = 1
{ \PackageError{thermodynamics}
{First~argument~of~'\tl_trim_spaces:o {\tl_to_str:n {#2}}'~
must~be~a~command}
@@ -1011,6 +1586,10 @@
\MessageBreak Perhaps~a~backslash~is~missing?}
}
}
+\tl_new:N \l__thermodynamics_super_separator_tl
+\tl_new:N \l__thermodynamics_sub_separator_tl
+\tl_set:Nn \l__thermodynamics_super_separator_tl {,}
+\tl_set:Nn \l__thermodynamics_sub_separator_tl {,}
\NewDocumentCommand{\NewSubscriptedSymbol}{m m m}
{
\__thermodynamics_check_definable:nN {#1} \NewSubscriptedSymbol
@@ -1030,10 +1609,10 @@
}
\cs_new:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_subscript_token{#3,##1} }
+ { {#2}\c_math_subscript_token{#3\l__thermodynamics_sub_separator_tl ##1} }
\cs_new:cpn {\cs_to_str:N #1_three:n} ##1
- { \c_math_subscript_token{#3,##1} }
+ { \c_math_subscript_token{#3\l__thermodynamics_sub_separator_tl ##1} }
\NewDocumentCommand{#1}{}
{% @branch
@@ -1064,10 +1643,10 @@
}
\cs_set:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_subscript_token{#3,##1} }
+ { {#2}\c_math_subscript_token{#3\l__thermodynamics_sub_separator_tl ##1} }
\cs_set:cpn {\cs_to_str:N #1_three:n} ##1
- { \c_math_subscript_token{#3,##1} }
+ { \c_math_subscript_token{#3\l__thermodynamics_sub_separator_tl ##1} }
\RenewDocumentCommand{#1}{}
{% @branch
@@ -1078,7 +1657,6 @@
{ {#2}\c_math_subscript_token{#3} }
}
}
-
}
\NewDocumentCommand{\NewSuperscriptedSymbol}{m m m}
{
@@ -1099,10 +1677,10 @@
}
\cs_new:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_superscript_token{#3,##1} }
+ { {#2}\c_math_superscript_token{#3\l__thermodynamics_super_separator_tl ##1} }
\cs_new:cpn {\cs_to_str:N #1_three:n} ##1
- { {#2}\c_math_superscript_token{#3,##1} }
+ { {#2}\c_math_superscript_token{#3\l__thermodynamics_super_separator_tl ##1} }
\NewDocumentCommand{#1}{}
{
@@ -1133,10 +1711,10 @@
}
\cs_set:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_superscript_token{#3,##1} }
+ { {#2}\c_math_superscript_token{#3\l__thermodynamics_super_separator_tl ##1} }
\cs_set:cpn {\cs_to_str:N #1_three:n} ##1
- { \c_math_superscript_token{#3,##1} }
+ { \c_math_superscript_token{#3\l__thermodynamics_super_separator_tl ##1} }
\RenewDocumentCommand{#1}{}
{% @branch
@@ -1148,6 +1726,53 @@
}
}
}
+\cs_new:Nn \__thermodynamics_subscripted_and_superscripted_core:nnnn
+{
+ \cs_set:cpn {\cs_to_str:N #1_one:n} ##1
+ {
+ {#2}\c_math_superscript_token{##1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \use:c {\cs_to_str:N #1_three:n} }
+ { \c_math_subscript_token{#3} }
+ }
+ \cs_set:cpn {\cs_to_str:N #1_two:n} ##1
+ {
+ {#2}\c_math_subscript_token{#3 ##1}
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \use:c {\cs_to_str:N #1_four:n} }
+ { \c_math_superscript_token{#4 \bullet} }
+ }
+ \cs_set:cpn {\cs_to_str:N #1_three:n} ##1
+ { \c_math_subscript_token{#3 ##1} }
+ \cs_set:cpn {\cs_to_str:N #1_four:n} ##1
+ { \c_math_superscript_token{#4 ##1} }
+}
+\NewDocumentCommand{\NewSubscriptedandSuperscriptedSymbol}{m m m m}
+{
+ \__thermodynamics_check_definable:nN {#1} \NewSubscriptedandSuperscriptedSymbol
+ \cs_if_exist:NT #1
+ { \PackageError{thermodynamics}
+ {Command~'\tl_trim_spaces:o {\tl_to_str:n {#1}}'~already~defined}
+ {You~have~used~
+ '\tl_trim_spaces:o
+ {\tl_to_str:n {\NewSubscriptedandSuperScriptedSymbol}}'~
+ with~a~command~that~already~has~a~definition}
+ }
+ \__thermodynamics_subscripted_and_superscripted_core:nnnn {#1} {#2} {#3} {#4}
+ \NewDocumentCommand{#1}{}
+ {
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \use:c {\cs_to_str:N #1_one:n} }
+ { \peek_catcode_remove:NTF \c_math_subscript_token
+ { \use:c {\cs_to_str:N #1_two:n} }
+ { {#2}\c_math_subscript_token{#3}\c_math_superscript_token{#4} }
+ }
+ }
+}
+\NewDocumentCommand{\RenewSubscriptedandSuperscriptedSymbol}{m m m m}
+{
+ \__thermodynamics_check_definable:nN {#1} \RenewSubscriptedandSuperscriptedSymbol
+}
\NewExpandableDocumentCommand{\heatcapacitysymbol}{}{C}
\NewExpandableDocumentCommand{\compressibilitysymbol}{}{\kappa}
\NewExpandableDocumentCommand{\expansivitysymbol}{}{\alpha}
@@ -1170,7 +1795,7 @@
{\g__thermodynamics_entropy_symbol}
\NewSubscriptedSymbol{\alphaP}{\expansivitysymbol}{\g__thermodynamics_pressure_symbol}
\NewSubscriptedSymbol{\alphaS}{\expansivitysymbol}{\g__thermodynamics_entropy_symbol}
-\NewSubscriptedSymbol{\muJT}{\JTsymbol}{JT}
+\NewSubscriptedSymbol{\muJT}{\JTsymbol}{\text{JT}}
\NewDocumentCommand{\sat}{}{{\text{sat}}}
\NewDocumentCommand{\Psat}{}{P\c_math_superscript_token\sat}
\NewDocumentCommand{\Pvap}{}{\Psat}
@@ -1178,15 +1803,24 @@
\NewDocumentCommand{\fsat}{}{\fpure\c_math_superscript_token\sat}
\NewDocumentCommand{\std}{}{\circ}
\NewDocumentCommand{\Pstd}{}{P\c_math_superscript_token \std}
+\NewDocumentCommand{\Cstd}{}{C\c_math_superscript_token \std}
\NewDocumentCommand{\fstd}{}{f\c_math_superscript_token \std}
+\NewDocumentCommand{\mustd}{}{\mu\c_math_superscript_token \std}
+\NewDocumentCommand{\xrxn}{}{\xi}
+\NewDocumentCommand{\fmix}{}{\hat{f}}
+\NewDocumentCommand{\phimix}{}{\hat\phi}
+\NewDocumentCommand{\fpure}{}{f}
+\NewDocumentCommand{\phipure}{}{\phi}
+\NewExpandableDocumentCommand{\actabs}{}{\lambda}
+\NewExpandableDocumentCommand{\actrel}{}{a}
\NewDocumentCommand{\mixing}{}{{\text{mix}}}
\NewDocumentCommand{\Deltamix}{m}
{\Delta{#1}\c_math_subscript_token\mixing}
+\NewDocumentCommand{\formation}{}{f}
\NewDocumentCommand{\fusion}{}{{\text{fus}}}
\NewDocumentCommand{\reaction}{}{{\text{rxn}}}
\NewDocumentCommand{\sublimation}{}{{\text{sub}}}
\NewDocumentCommand{\vaporization}{}{{\text{vap}}}
-\NewDocumentCommand{\formation}{}{f}
\NewDocumentCommand{\Deltafus}{m}
{\Delta #1\c_math_superscript_token\fusion}
\NewDocumentCommand{\Deltasub}{m}
@@ -1194,17 +1828,25 @@
\NewDocumentCommand{\Deltavap}{m}
{\Delta #1\c_math_superscript_token\vaporization}
\NewDocumentCommand{\Deltarxn}{m}
- {\Delta #1\c_math_subscript_token\reaction}
+{
+ \cs_set:Npn \__thermodynamics_Deltarxn_one ##1
+ {
+ \Delta #1\c_math_subscript_token{\reaction,##1}
+ }
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \__thermodynamics_Deltarxn_one
+ }
+ {
+ \Delta #1\c_math_subscript_token{\reaction}
+ }
+}
\tl_new:N \l__thermodynamics_Deltaf_sym_tl
-\NewSubscriptedSymbol{\__thermodynamics_Deltaf}{\l__thermodynamics_Deltaf_sym_tl}{f}
+\NewSubscriptedSymbol{\__thermodynamics_Deltaf}{\l__thermodynamics_Deltaf_sym_tl}{\formation}
\NewDocumentCommand{\Deltaf}{m}
{ \tl_set:Nn \l__thermodynamics_Deltaf_sym_tl {\Delta #1}
\__thermodynamics_Deltaf
}
-\NewDocumentCommand{\fmix}{}{\hat{f}}
-\NewDocumentCommand{\phimix}{}{\hat\phi}
-\NewDocumentCommand{\fpure}{}{f}
-\NewDocumentCommand{\phipure}{}{\phi}
\tl_new:N \l__thermodynamics_pm_symbol_tl
\tl_new:N \l__thermodynamics_pm_arg_tl
\NewDocumentCommand{\partialmolar}{m}
@@ -1243,12 +1885,21 @@
}
\cs_new:Npn \__thermodynamics_pm_case_one #1
{
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_subscript_token{#1}}
+ \bool_if:NTF \l__thermodynamics_longpm_bool
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_subscript_token{#1}} }
+ {
+ \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl}\c_math_subscript_token{#1}
+ }
}
\cs_new:Npn \__thermodynamics_pm_case_two [#1]#2
{
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{#1}\c_math_subscript_token{#2}}
+ \bool_if:NTF \l__thermodynamics_longpm_bool
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
+ \c_math_superscript_token{#1}\c_math_subscript_token{#2}}
+ }
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl}
+ \c_math_superscript_token{#1}\c_math_subscript_token{#2}
+ }
}
\cs_new:Npn \__thermodynamics_pm_case_three #1
{
@@ -1259,9 +1910,15 @@
}
\cs_new:Npn \__thermodynamics_pm_case_three_part_two #1
{
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{\l__thermodynamics_pm_arg_tl}
- \c_math_subscript_token{#1}}
+ \bool_if:NTF \l__thermodynamics_longpm_bool
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
+ \c_math_superscript_token{\l__thermodynamics_pm_arg_tl}
+ \c_math_subscript_token{#1}}
+ }
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl}
+ \c_math_superscript_token{\l__thermodynamics_pm_arg_tl}
+ \c_math_subscript_token{#1}
+ }
}
\cs_new:Npn \__thermodynamics_pm_case_four_or_five #1
{
@@ -1272,13 +1929,23 @@
}
\cs_new:Npn \__thermodynamics_pm_case_four #1
{
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_superscript_token{#1}
- \c_math_subscript_token{\l__thermodynamics_pm_arg_tl}}
+ \bool_if:NTF \l__thermodynamics_longpm_bool
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_superscript_token{#1}
+ \c_math_subscript_token{\l__thermodynamics_pm_arg_tl}}
+ }
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl}\c_math_superscript_token{#1}
+ \c_math_subscript_token{\l__thermodynamics_pm_arg_tl}
+ }
}
\cs_new:Npn \__thermodynamics_pm_case_five
{
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_subscript_token{\l__thermodynamics_pm_arg_tl}}
+ \bool_if:NTF \l__thermodynamics_longpm_bool
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
+ \c_math_subscript_token{\l__thermodynamics_pm_arg_tl}}
+ }
+ { \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl}
+ \c_math_subscript_token{\l__thermodynamics_pm_arg_tl}
+ }
}
\NewDocumentCommand{\NewThermodynamicProperty}{m m}
{
@@ -1287,7 +1954,7 @@
\NewResidualProperty{#1}{#2}
\NewExcessProperty{#1}{#2}
}
-\NewDocumentCommand{\NewExtensiveProperty}{m m}
+\ProvideDocumentCommand{\NewExtensiveProperty}{m m}
{
% Extensive property
\exp_after:wN \NewDocumentCommand \exp_after:wN
@@ -1305,7 +1972,7 @@
\exp_after:wN \NewDocumentCommand \exp_after:wN
{\cs:w #1pm\cs_end:}{}{\partialmolar{#2}}
}
-\NewDocumentCommand{\NewExcessProperty}{m m}
+\ProvideDocumentCommand{\NewExcessProperty}{m m}
{
\exp_after:wN \NewSuperscriptedSymbol \exp_after:wN
{\cs:w #1 Et\cs_end:}{\__thermodynamics_extensive:n{#2}}{\excess}
@@ -1314,13 +1981,12 @@
\exp_after:wN \NewSuperscriptedSymbol \exp_after:wN
{\cs:w #1 Es\cs_end:}{\__thermodynamics_specific:n{#2}}{\excess}
- %^^A TODO: make super- or subscripted partial molar quantities work
% Excess partial molar property
\exp_after:wN \NewDocumentCommand \exp_after:wN
{\cs:w #1Epm\cs_end:}{}{\partialmolar{#2}
\c_math_superscript_token\excess}
}
-\NewDocumentCommand{\NewResidualProperty}{m m}
+\ProvideDocumentCommand{\NewResidualProperty}{m m}
{
\exp_after:wN \NewSuperscriptedSymbol \exp_after:wN
{\cs:w #1 Rt\cs_end:}{\__thermodynamics_extensive:n{#2}}{\residual}
@@ -1347,70 +2013,13 @@
\NewPartialMolarProperty{A}{\g__thermodynamics_area_symbol}
\NewExtensiveProperty{Q}{\g__thermodynamics_heat_symbol}
\NewExtensiveProperty{W}{\g__thermodynamics_work_symbol}
-\NewDocumentCommand{\cPpm}{}
-{
- \cs_set:Npn \__thermodynamics_pm_case_one ##1
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_subscript_token
- {\g__thermodynamics_pressure_symbol,##1}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_two [##1]##2
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_superscript_token{##1}
- \c_math_subscript_token{\g__thermodynamics_pressure_symbol,##2}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_three_part_two ##1
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{\l__thermodynamics_pm_arg_tl}
- \c_math_subscript_token{\g__thermodynamics_pressure_symbol,##1}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_four ##1
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{##1}\c_math_subscript_token
- {\g__thermodynamics_pressure_symbol,\l__thermodynamics_pm_arg_tl}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_five
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_subscript_token
- {\g__thermodynamics_pressure_symbol,\l__thermodynamics_pm_arg_tl}}
- }
- \partialmolar{\heatcapacitysymbol}
-}
-\NewDocumentCommand{\cVpm}{}
-{
- \cs_set:Npn \__thermodynamics_pm_case_one ##1
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_subscript_token
- {\g__thermodynamics_volume_symbol,##1}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_two [##1]##2
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{##1}\c_math_subscript_token
- {\g__thermodynamics_volume_symbol,##2}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_three_part_two ##1
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{\l__thermodynamics_pm_arg_tl}
- \c_math_subscript_token{\g__thermodynamics_volume_symbol,##1}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_four ##1
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl
- \c_math_superscript_token{##1}
- \c_math_subscript_token
- {\g__thermodynamics_volume_symbol,\l__thermodynamics_pm_arg_tl}}
- }
- \cs_set:Npn \__thermodynamics_pm_case_five
- {
- \__thermodynamics_overline:n {\l__thermodynamics_pm_symbol_tl\c_math_subscript_token
- {\g__thermodynamics_volume_symbol,\l__thermodynamics_pm_arg_tl}}
- }
- \partialmolar{\heatcapacitysymbol}
-}
+\NewPartialMolarProperty{cP}{\cP}
+\NewPartialMolarProperty{cV}{\cV}
+\NewSubscriptedSymbol{\cPpmshort}{\__thermodynamics_overline_copy:n{\heatcapacitysymbol}}
+ {\g__thermodynamics_pressure_symbol}
+\NewSubscriptedSymbol{\cVpmshort}{\__thermodynamics_overline_copy:n{\heatcapacitysymbol}}
+ {\g__thermodynamics_volume_symbol}
+\NewExpandableDocumentCommand{\Epot}{}{E}
\NewDocumentCommand{\residual}{}{R}
\NewDocumentCommand{\excess}{}{E}
\NewDocumentCommand{\sumall}{m m}
@@ -1427,8 +2036,10 @@
\NewDocumentCommand{\IS}{}{{\text{IS}}}
\NewDocumentCommand{\Henryrat}{}{h}
\NewDocumentCommand{\Henrymol}{}{\mathcal{H}}
+\cs_gset_eq:NN \gammait \gamma
+\cs_gset_eq:NN \muit \mu
\AtBeginDocument{%
- \providecommand*{\square}{%
+ \ProvideDocumentCommand{\square}{}{%
\text{\leavevmode
\hbox to.65em{%
\hfil\vrule
diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
index bd8d4dd3eaf..3a0f4f28413 100644
--- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
+++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2017/04/15]
\ProvidesClass{thuthesis}
-[2024/05/20 7.5.1 Tsinghua University Thesis Template]
+[2024/07/01 7.5.2 Tsinghua University Thesis Template]
\newcommand\thu@error[1]{%
\ClassError{thuthesis}{#1}{}%
}
@@ -61,7 +61,7 @@
}
\hyphenation{Thu-Thesis}
\def\thuthesis{ThuThesis}
-\def\version{7.5.1}
+\def\version{7.5.2}
\RequirePackage{kvdefinekeys}
\RequirePackage{kvsetkeys}
\RequirePackage{kvoptions}
@@ -296,6 +296,13 @@
},
default = print,
},
+ eqn-paren-style = {
+ name = eqn@paren@style,
+ choices = {
+ full,
+ half,
+ }
+ },
}
\newif\ifthu@degree@graduate
\newcommand\thu@set@graduate{%
@@ -1656,10 +1663,23 @@
\endgroup
}
\allowdisplaybreaks[4]
+\newcommand\thu@eqn@left@paren{(}
+\newcommand\thu@eqn@right@paren{)}
+\newcommand\thu@set@eqn@paren@style{%
+ \ifthu@eqn@paren@style@full
+ \renewcommand\thu@eqn@left@paren{(}%
+ \renewcommand\thu@eqn@right@paren{)}%
+ \else
+ \renewcommand\thu@eqn@left@paren{(}%
+ \renewcommand\thu@eqn@right@paren{)}%
+ \fi
+}
+\thu@set@eqn@paren@style
+\thu@option@hook{eqn-paren-style}{\thu@set@eqn@paren@style}
\newcommand\thu@put@parentheses[1]{%
\ifthu@language@chinese
\unskip
- (#1)%
+ \thu@eqn@left@paren#1\thu@eqn@right@paren
\else
(#1)%
\fi
@@ -3827,9 +3847,11 @@
}
\newenvironment{translation-index}{}{}
\AtEndOfPackageFile*{bibunits}{
+ \newcounter{thu@translation@index}%
\renewenvironment{translation-index}{%
+ \global\advance\c@thu@translation@index\@ne
\begin{bibunit}%
- \renewcommand\@bibunitname{\jobname-index}%
+ \renewcommand\@bibunitname{\jobname-index-\arabic{thu@translation@index}}%
\renewcommand\bibname{书面翻译对应的原文索引}%
\thu@set@survey@bibheading
}{%
diff --git a/Master/texmf-dist/tex/latex/tiet-question-paper/tiet-question-paper.cls b/Master/texmf-dist/tex/latex/tiet-question-paper/tiet-question-paper.cls
new file mode 100644
index 00000000000..6bc28c5792e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tiet-question-paper/tiet-question-paper.cls
@@ -0,0 +1,337 @@
+%% ----------------------------------------------------
+%% Latex class ‘tiet-question-paper’
+%%
+%% Author: Raghav B. Venkataramaiyer
+%% Email: bv.raghav -at- thapar -dot- edu
+%% Email: bvraghav -at- gmail -dot- com
+%% License: [MIT License](./LICENSE)
+%% Version: 2024-06-22
+%% ----------------------------------------------------
+
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass%
+{tiet-question-paper}%
+[2024-06-22 TIET Question Paper class]
+
+%% -----------------------------------
+%% Parent Class
+%% -----------------------------------
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions\relax
+\LoadClass[11pt,a4paper,onecolumn]{article}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Page Margins
+%% -----------------------------------
+\RequirePackage[%
+ a4paper,%
+ left=1in,%
+ top=0.5in,%
+ right=0.75in,%
+ bottom=0.75in%
+]{geometry}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Math package(s)
+%% -----------------------------------
+\RequirePackage{amsmath}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Lipsum for debugging
+%% -----------------------------------
+\RequirePackage{blindtext}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Check for empty argument
+%% -----------------------------------
+\RequirePackage{ifmtarg}
+%% -----------------------------------
+
+%% -----------------------------------
+%% No paragraph indents
+%% -----------------------------------
+\RequirePackage{parskip}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Line spacing
+%% -----------------------------------
+% \RequirePackage{setspace}
+% \doublespacing
+%% -----------------------------------
+
+%% -----------------------------------
+%% Graphics
+%% -----------------------------------
+\RequirePackage{graphicx}
+% \graphicspath{ {./images/} }
+%% -----------------------------------
+
+%% -----------------------------------
+%% Compact Enumeration
+%% -----------------------------------
+\RequirePackage[inline,sizes]{enumitem}
+% \setlist[enumerate]{itemsep=0in}
+\setlist{nosep,leftmargin=*}
+\setlist[enumerate,2]{label=\alph*)}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Extra font sizes
+%% -----------------------------------
+\RequirePackage{anyfontsize}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Automatic width computation
+%% -----------------------------------
+\RequirePackage{linegoal}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Tabularx
+%% -----------------------------------
+\RequirePackage{tabularx}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Box alignment within tables.
+%%
+%% valign keyword in includegraphics
+%% -----------------------------------
+\RequirePackage[export]{adjustbox}
+%% -----------------------------------
+
+%% -----------------------------------
+%% {align} like columnar env.
+%%
+%% Remembers end of paragraph and starts there.
+%% -----------------------------------
+% \RequirePackage{paracol}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Customizing section font
+%% -----------------------------------
+\RequirePackage{sectsty}
+\allsectionsfont{\sffamily}
+\paragraphfont{\sffamily}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Class variable definitions
+%% -----------------------------------
+
+% Variable: institute
+\def\tiet@institute{Thapar Institute of Engineering \&
+ Technology}
+\def\institute#1{\gdef\tiet@institute{#1}}
+
+% Variable: abbrevinst
+\def\tiet@abbrevinst{\textsc{tiet}}
+\def\abbrevinst#1{\gdef\tiet@abbrevinst{#1}}
+
+% Variable: instaddress
+\def\tiet@instaddress{Patiala 147004}
+\def\instaddress#1{\gdef\tiet@instaddress{#1}}
+
+% Variable: instlogo
+\let\tiet@instlogo\relax
+\def\instlogo#1{\gdef\tiet@instlogo{#1}}
+
+% Variable: schoolordepartment
+\let\tiet@schoolordepartment\relax
+\def\schoolordepartment#1{\def\tiet@schoolordepartment{#1}}
+
+% Variable: examname
+\let\tiet@examname\relax
+\def\examname#1{\def\tiet@examname{#1}}
+
+% Variable: cohort
+\let\tiet@cohort\relax
+\def\cohort#1{\def\tiet@cohort{#1}}
+
+% Variable: coursecode
+\let\tiet@coursecode\relax
+\def\coursecode#1{\def\tiet@coursecode{#1}}
+
+% Variable: coursename
+\let\tiet@coursename\relax
+\def\coursename#1{\def\tiet@coursename{#1}}
+
+% Variable: timeduration
+\let\tiet@timeduration\relax
+\def\timeduration#1{\def\tiet@timeduration{#1}}
+
+% Variable: maxmarks
+\let\tiet@maxmarks\relax
+\def\maxmarks#1{\def\tiet@maxmarks{#1}}
+
+% Variable: faculty
+\let\tiet@faculty\relax
+\def\faculty#1{\gdef\tiet@faculty{#1}}
+
+%% -----------------------------------
+
+%% -----------------------------------
+%% Questions Enum
+%%
+%% Ref: https://tex.stackexchange.com/a/164623
+%% Update: Doesn’t help enough.
+%% [TODO]
+%% -----------------------------------
+\DeclareRobustCommand%
+% Horizontal rule after each question
+\bvrhrule[1][0.4pt]{\rule{\linewidth}{#1}}
+
+\DeclareRobustCommand%
+% Skip line
+\bvrskipline[1][]{\vspace{#1\baselineskip}}
+
+% \newlist{qenum}{enumerate}{3}
+% \setlist[qenum]{nosep,label=\arabic*.}
+% % -----------------------------------------------------
+% % We need a toggle to track whether the item is first
+% % in the list or not
+% \newif\ifbvrfirstq\bvrfirstqfalse
+% \setlist*[qenum,1]{%
+% label=\arabic*.,%
+% % ---------------------------------------------------
+% % This saves the standard definition of \item and
+% % then redefines it to add the fill if the item is
+% % not first on the list; if it is the first item, it
+% % omits the fill but toggles the bvrfirstq switch so
+% % the next item will trigger it
+% first={%
+% % -------------------------------------------------
+% % Save the standard definition of \item in a macro,
+% % \olditem
+% \let\olditem\item%
+% % -------------------------------------------------
+% % Set the toggle for first item in the list to true
+% \bvrfirstqtrue%
+% % -------------------------------------------------
+% % New, temporary defition of \item
+% \def\item{\ifbvrfirstq\olditem\bvrfirstqfalse\else
+% \bvrhrule\bvrskipline\olditem\fi}%
+% },%
+% % ---------------------------------------------------
+% % This takes care of adding the fill for the final
+% % item on the list and just makes sure that \item is
+% % reset to its standard definition
+% after={
+% % -------------------------------------------------
+% % Fill for final item in list
+% \bvrhrule%
+% % -------------------------------------------------
+% % Restore standard definition of \item
+% \let\item\olditem%
+% }%
+% }
+% \setlist[qenum,2]{label=\alph*),before={},after={},first={}}
+% %% -----------------------------------
+
+
+%% -----------------------------------
+%% Write Examination Details and Draw Logo
+%% -----------------------------------
+
+\DeclareRobustCommand%
+% Write Examination Details
+\writeexamdetails{
+ \parbox[t][][t]{\linewidth}{\centering\large%
+ {\bfseries \tiet@institute\par}
+
+ \vspace*{0.2\baselineskip}
+ {\tiet@schoolordepartment}
+
+ \vspace*{0.2\baselineskip}
+ {\MakeUppercase\tiet@examname}}
+}
+\DeclareRobustCommand%
+% Draw Logo
+\drawinstlogo{
+ \parbox[t][][t]{\linewidth}{\raggedright%
+ \includegraphics[width=11.5mm,valign=t]
+ {\tiet@instlogo}\par}
+}
+
+
+
+%% -----------------------------------
+%% Title Page
+%% -----------------------------------
+
+% Make title
+\renewcommand\maketitle{
+ {\noindent Roll No. \rule{5cm}{0.4pt} \hfill
+ \bfseries\@date\par}
+
+ % \vspace*{0.5\baselineskip}
+ {\noindent\large \textbf{\tiet@coursecode :
+ \tiet@coursename} \hfill Time:
+ \textbf{\tiet@timeduration} \hspace{0.3em}
+ MM:\textbf{\tiet@maxmarks}}\\
+ {\noindent Faculty: \tiet@faculty}
+
+
+ \vspace*{\baselineskip}
+ \ifx\tiet@instlogo\@empty
+ \writeexamdetails
+ \else
+ \begin{tabularx}{\textwidth}{Xp{18mm}}
+ \writeexamdetails & \drawinstlogo
+ \end{tabularx}
+ \fi
+
+ \par\rule{\textwidth}{0.4pt}
+ \par\vspace*{0.5\baselineskip}
+}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Counterlessfootnote
+%% -----------------------------------
+\newcommand{\footnotenoless}[1]{%
+ \let\svthefootnote\thefootnote
+ \let\thefootnote\relax\footnote{#1}
+ \addtocounter{footnote}{-1}\let\thefootnote\svthefootnote
+}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Abbreviations
+%% -----------------------------------
+\RequirePackage{xspace}
+
+% Add a period to the end of an abbreviation unless
+% there's one already, then \xspace.
+\makeatletter
+\DeclareRobustCommand\onedot{\futurelet\@let@token\@onedot}
+\def\@onedot{\ifx\@let@token.\else.\null\fi\xspace}
+
+\def\eg{\emph{e.g}\onedot}
+\def\Eg{\emph{E.g}\onedot}
+
+\def\ie{\emph{i.e}\onedot}
+\def\Ie{\emph{I.e}\onedot}
+
+\def\cf{\emph{c.f}\onedot}
+\def\Cf{\emph{C.f}\onedot}
+
+\def\etc{\emph{etc}\onedot}
+
+\def\vs{\emph{vs}\onedot}
+
+\def\wrt{w.r.t\onedot}
+\def\dof{d.o.f\onedot}
+
+\def\etal{\emph{et al}\onedot}
+\makeatother
+%% -----------------------------------
+
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty b/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
index 0a11787d21e..597a0508506 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
@@ -1,5 +1,5 @@
% encoding : utf8
-% tkz-elements.sty v2.25c
+% tkz-elements.sty v2.30c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -11,7 +11,7 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2024/04/27 v2.25c Graphic Object Library]
+\ProvidesPackage{tkz-elements}[2024/07/16 version 2.30c Graphic Object Library]
\RequirePackage{luacode}
\directlua{require "tkz_elements_main"}
@@ -34,20 +34,19 @@
V={}}
\luacode}
{\endluacode}
-
+ % new version of the next macro proposed by Sanskar Singh
\def\tkzGetNodes{\directlua{%
- for K,V in pairs(z) do
- local n,sd,ft
- n = string.len(K)
- if n >1 then
- _,_,ft, sd = string.find( K , "(.+)(.)" )
- if sd == "p" then K=ft.."'" end
- _,_,xft, xsd = string.find( ft , "(.+)(.)" )
- if xsd == "p" then K=xft.."'".."'" end
- end
- tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\")
-end}
-}
+ for K,V in pairs(z) do
+ local n,sd,ft
+ n = string.len(K)
+ if n >1 then
+ _,_,ft, sd = string.find( K , "(.+)(.)" )
+ if sd == "p" then K=ft.."'" end
+ _,_,xft, xsd = string.find( ft , "(.+)(.)" )
+ if xsd == "p" then K=xft.."'".."'" end
+ end
+ tex.sprint("\string\\coordinate ("..K..") at ("..V.re..","..V.im..") ; \string\r")
+end}}
\def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}}
\makeatletter
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua
index 1999b8a0732..e17ccb2ebb4 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-circles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua
index b6a1bf7a5a2..3ded691d539 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua
@@ -1,6 +1,6 @@
-- tkz_elements_class.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- from class.lua (Simple Lua Classes from Lua-users wiki)
-- Compatible with Lua 5.1 (not 5.0).
-- http://lua-users.org/wiki/SimpleLuaClasses DavidManura
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua
index a98cf40a63c..7581c19d7a9 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua
@@ -1,6 +1,6 @@
-- tkz_elements-ellipses.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
index 40f2a4ebbf7..88f9040b7f0 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_circles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
index 69dcd6ace32..fe253e9aa23 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
@@ -1,6 +1,6 @@
-- tkz_elements_intersections.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
index 401ad46dda1..a5504593c06 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_lines.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
index a71c0f7c278..c3f7e54ffd3 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua
index 43712140477..c80420090f4 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_matrices.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
index f1c4dc5d412..e2366e25e3d 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_points.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua
index 5e92b4d5987..0f74d28fe98 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_regular.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
index d4523d1826b..02d3058a161 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_triangles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -259,6 +259,15 @@ function feuerbach_tr_ (a,b,c)
intersection_cc_ (e,m,jb,hb),
intersection_cc_ (e,m,jc,hc)
end
+
+function similar_ (a,b,c)
+ local x,y,z,g
+ g = centroid_ (a,b,c)
+ x = homothety_ (g,-2,a)
+ y = homothety_ (g,-2,b)
+ z = homothety_ (g,-2,c)
+ return x,y,z
+end
--------------------
-- ellipse --
--------------------
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua
index 9304768f311..797365f33f4 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua
@@ -1,6 +1,6 @@
-- tkz_elements_lines.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -324,11 +324,25 @@ function line: mediator ()
m = midpoint_ (self.pa,self.pb)
return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
end
+
+function line : perpendicular_bisector ()
+ local m
+ m = midpoint_ (self.pa,self.pb)
+ return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
+end
+
-------------------
-- Result -> circle
-------------------
-function line: circle ()
+function line: circle (swap)
+ if swap == nil then
+ swap = false
+ end
+ if swap then
+ return circle : new (self.pb,self.pa)
+ else
return circle : new (self.pa,self.pb)
+ end
end
function line: circle_swap ()
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
index 10ee2195196..142f00c8ed0 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
@@ -1,6 +1,6 @@
-- tkz_elements-main.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua
index 981ac680946..035e8a0a33e 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_matrices.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua
index 94c9c555c08..daa3e21872b 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua
index fd0a3533a3d..d471976d066 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua
@@ -1,6 +1,6 @@
-- tkz_elements_parallelogram.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
index 4eb4b549d15..e29779ef791 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
@@ -1,6 +1,6 @@
-- tkz_elements_point.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua
index e77e0af5615..6625b9d7898 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua
@@ -1,6 +1,6 @@
-- tkz_elements_quadrilateral.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua
index 2c07f78399d..fdc30845018 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-rectangle.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua
index 0641a858ded..a4527c779b9 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_regular.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua
index 1852c0ded40..93860b825c9 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua
@@ -1,6 +1,6 @@
-- tkz_elements-square.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua
index c6dd2c37573..84b10273dad 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements_triangles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -57,19 +57,19 @@ end
-- points --
-----------------------
function triangle: trilinear (a,b,c)
- return barycenter_ ( {self.pa,a*self.a },{self.pb,b*self.b},{self.pc,c*self.c} )
+ return barycenter_ ({self.pa,a*self.a},{self.pb,b*self.b},{self.pc,c*self.c})
end
function triangle: barycentric (a,b,c)
- return barycenter_ ( {self.pa,a },{self.pb,b},{self.pc,c} )
+ return barycenter_ ({self.pa,a},{self.pb,b},{self.pc,c})
end
function triangle: bevan_point ()
- return circum_center_ ( self : excentral_tr())
+ return circum_center_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
end
function triangle: mittenpunkt_point ()
- return lemoine_point_ ( self : excentral_tr())
+ return lemoine_point_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
end
function triangle: gergonne_point ()
@@ -322,13 +322,20 @@ function triangle : cevian_circle (p)
pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
return circle : new (circum_circle_ (pta,ptb,ptc),pta)
end
+
+function triangle : symmedial_circle ()
+ local pta,ptb,ptc,p
+ p = lemoine_point_ ( self.pa , self.pb , self.pc)
+ pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
+ return circle : new (circum_circle_ (pta,ptb,ptc),pta)
+end
- function triangle : conway_circle ()
- local i,t
- i = in_center_ (self.pa,self.pb,self.pc)
- t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
- return circle : new (i,t)
- end
+function triangle : conway_circle ()
+ local i,t
+ i = in_center_ (self.pa,self.pb,self.pc)
+ t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
+ return circle : new (i,t)
+end
function triangle : pedal_circle (pt)
local x,y,z,c
@@ -338,7 +345,13 @@ function triangle : pedal_circle (pt)
c = circum_center_ (x,y,z)
return circle : new (c,x)
end
-
+
+function triangle: bevan_circle ()
+ local o,r,s,t
+ o = circum_center_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
+ r,s,t = excentral_tr_ ( self.pa , self.pb , self.pc)
+return circle : new (o, r)
+end
-------------------
-- Result -> triangle
-------------------
@@ -392,6 +405,12 @@ function triangle: symmedian ()
return triangle : new (cevian_ (self.pa,self.pb,self.pc,p))
end
+function triangle: symmedial ()
+ local p
+ p = lemoine_point_ ( self.pa , self.pb , self.pc)
+ return triangle : new (cevian_ (self.pa,self.pb,self.pc,p))
+end
+
function triangle: euler ()
return triangle : new (euler_points_ (self.pa,self.pb,self.pc) )
end
@@ -403,6 +422,10 @@ function triangle: pedal (pt)
z = projection_ (self.pa,self.pb,pt)
return triangle : new (x,y,z)
end
+
+function triangle: similar ()
+ return triangle : new (similar_ (self.pa,self.pb,self.pc) )
+end
-------------------
-- Result -> ellipse
-------------------
diff --git a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua
index 8b26fe4bd32..0dcbbfde61d 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua
@@ -1,6 +1,6 @@
-- tkz_elements_vectors.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/tex/latex/tkz-grapheur/tkz-grapheur.sty b/Master/texmf-dist/tex/latex/tkz-grapheur/tkz-grapheur.sty
index 1630132db34..ce321f6d4be 100644
--- a/Master/texmf-dist/tex/latex/tkz-grapheur/tkz-grapheur.sty
+++ b/Master/texmf-dist/tex/latex/tkz-grapheur/tkz-grapheur.sty
@@ -2,32 +2,56 @@
% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-grapheur}[2024/05/11 0.1.0 Des outils en TikZ pour travailler comme avec un grapheur]
+\ProvidesPackage{tkz-grapheur}[2024/07/13 0.1.6.Des outils en TikZ pour travailler comme avec un grapheur]
%====HISTORIQUE
+% v 0.1.6 Asymptote verticale + Monte Carlo + Méthode intégrales (rectangles, etc)
+% v 0.1.5 Correction d'un bug avec les valeurs manuelles + Nœud pour une image + [en] version !
+% v 0.1.4 Ajout des placements de textes
+% v 0.1.3 Régressions, avec xintreg (désactivable)
+% v 0.1.2 Max/Min + Droites
+% v 0.1.1 Densité loi normale + khi deux + Améliorations diverses
% v 0.1.0 Version initiale [fr]
-%====OPTION
+%====OPTIONS
\newif\if@loadsiunitx \@loadsiunitxtrue
\DeclareOption{nonsiunitx}{\@loadsiunitxfalse}%
+\DeclareOption{nosiunitx}{\@loadsiunitxfalse}%
+
\newif\if@loadtikzbabel \@loadtikzbabeltrue
\DeclareOption{nontikzbabel}{\@loadtikzbabelfalse}%
+\DeclareOption{notikzbabel}{\@loadtikzbabelfalse}%
+
+\newif\if@loadxintreg \@loadxintregtrue
+\DeclareOption{nonxintreg}{\@loadxintregfalse}%
+\DeclareOption{noxintreg}{\@loadxintregfalse}%
+
+\newif\if@lngenglish \@lngenglishfalse
+\DeclareOption{english}{\@lngenglishtrue}%
+
\DeclareOption*{}
\ProcessOptions\relax
%====BASE
\RequirePackage{tikz}
\RequirePackage{ifthen}
-\usetikzlibrary{calc,intersections,patterns,patterns.meta}
+\usetikzlibrary{calc,intersections,patterns,patterns.meta,bbox}
\RequirePackage{simplekv}
\RequirePackage{xintexpr}
\RequirePackage{xstring}
\RequirePackage{listofitems}
+\if@loadxintreg
+ \RequirePackage{xint-regression}
+\fi
-%====SIUNITX
+%====SIUNITX + [en]
\if@loadsiunitx
\RequirePackage{siunitx}
- \sisetup{locale=FR,output-decimal-marker={,},mode=match,propagate-math-font=true,reset-math-version=false,reset-text-family=false,reset-text-series=false,reset-text-shape=false,text-family-to-math=true,text-series-to-math=true}
+ \if@lngenglish
+ \sisetup{mode=match,propagate-math-font=true,reset-math-version=false,reset-text-family=false,reset-text-series=false,reset-text-shape=false,text-family-to-math=true,text-series-to-math=true}
+ \else
+ \sisetup{locale=FR,output-decimal-marker={,},mode=match,propagate-math-font=true,reset-math-version=false,reset-text-family=false,reset-text-series=false,reset-text-shape=false,text-family-to-math=true,text-series-to-math=true,group-minimum-digits=4}
+ \fi
\fi
%====TIKZ.BABEL
@@ -35,6 +59,10 @@
\usetikzlibrary{babel}
\fi
+%++++++++++++++++++++++++++
+%+++++++++FRANÇAIS+++++++++
+%++++++++++++++++++++++++++
+
%====COMMANDE POUR NB DECIMAL ALEA ENTRE BORNES
\NewDocumentCommand\ChoisirNbAlea{ s O{0} m m O{\monbnalea} }{%
\def\tmpborneinf{\xinteval{floor(#3)}}%inf=\tmpborneinf\par%
@@ -77,6 +105,9 @@
}%
%====STYLES DE BASE
+\tikzset{pflnoeud/.style={}}
+\tikzset{pflpoint/.style={line width=0.95pt}}
+\tikzset{pflpointmc/.style={radius=0.875pt}}
\tikzset{pflpointc/.style={radius=1.75pt}}
\tikzset{pflpointnuage/.style={radius=1.75pt}}
\tikzset{pflcadre/.style={line width=0.8pt,gray}}
@@ -102,10 +133,30 @@
Ygrille/.store in=\pflgrilley,Ygrille/.default=1,Ygrille=1,
Ygrilles/.store in=\pflgrilleys,Ygrilles/.default=0.5,Ygrilles=0.5
}
+\tikzset{%
+ pics/pflptcroix/.style args={#1/#2}{
+ code={
+ \draw[pflpoint,rotate=#2] (-#1,0) -- (#1,0);
+ \draw[pflpoint,rotate=#2] (0,-#1) -- (0, #1);
+ }
+ },
+ pics/pflptcroix/.default={2pt/45}
+}
+\tikzset{%
+ pics/pflptcarre/.style args={#1/#2}{
+ code={
+ \filldraw[draw=none,pflpoint,rotate=#2] (-#1,-#1) rectangle (#1,#1) ;
+ }
+ },
+ pics/pflptcarre/.default={2pt/0}
+}
%====CONSTANTE PI pour xint, à voir si incompatibilité...
\xintdefvar pi:=3.141592653589793238462643;
+%====focntion ln, en langage xint
+\xintdeffloatfunc ln(x) := log(x);
+
%===COMMANDE INTERNE POUR FORMATER EN FRACTIONS
\NewDocumentCommand\FormatterFraction{ s O{} m }{%
%*=moins sur le numérateur
@@ -315,7 +366,9 @@
Police={},%
Format=num,%
Traits=true,%
- Dernier=false
+ Dernier=false,%
+ Derriere=false,%
+ Devant=false
}
\NewDocumentCommand\FormatterValeurAxex{ m m }{%
@@ -353,6 +406,18 @@
\NewDocumentCommand\TracerAxesGrilles{ s O{} m D<>{#3} m D<>{#5} }{%
\restoreKV[GraphiqueTikzAxes]%
\setKV[GraphiqueTikzAxes]{#2}%
+ %cas particuliers sous/sur impression
+ \ifboolKV[GraphiqueTikzAxes]{Derriere}%
+ {%
+ \setKV[GraphiqueTikzAxes]{Grads=false}
+ }%
+ {}%
+ \ifboolKV[GraphiqueTikzAxes]{Devant}%
+ {%
+ \setKV[GraphiqueTikzAxes]{Grille=false}
+ }%
+ {}%
+ %suite
\IfSubStr{\pflformataxes}{/}%
{%
\StrCut{\pflformataxes}{/}{\pflformataxex}{\pflformataxey}%
@@ -397,7 +462,7 @@
%origine
\ifboolKV[GraphiqueTikzAxes]{Origine}%
{%
- \draw ({\pflOx},{\pflOy}) node[below left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxex{\pflformataxex}{\plfOx}} ;
+ \draw ({\pflOx},{\pflOy}) node[pflnoeud,below left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxex{\pflformataxex}{\pflOx}} ;
%\draw (\pflOx,\pflOy) node[below left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\ifboolKV[GraphiqueTikzAxes]{Num}{\num{\pflOx}}{\pflOx}} ;
}%
{}%
@@ -405,22 +470,22 @@
\foreach \x in \tmprangexvalues {%
\IfBooleanTF{#1}%
{%
- \xintifboolexpr{\x == \pflOx}{}{\draw ([yshift=-\pflthickgrad]{\x},{\pflOy}) node[below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxex{\pflformataxex}{\x}} ;}
+ \xintifboolexpr{\x == \pflOx}{}{\draw ([yshift=-\pflthickgrad]{\x},{\pflOy}) node[pflnoeud,below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxex{\pflformataxex}{\x}} ;}
%\xintifboolexpr{\x == \pflOx}{}{\draw ([yshift=-\pflthickgrad]\x,\pflOy) node[below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\ifboolKV[GraphiqueTikzAxes]{Num}{\num{\x}}{\x}} ;}
}%
{%
- \draw ([yshift=-\pflthickgrad]{\x},{\pflOy}) node[below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxex{\pflformataxex}{\x}} ;
+ \draw ([yshift=-\pflthickgrad]{\x},{\pflOy}) node[pflnoeud,below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxex{\pflformataxex}{\x}} ;
%\draw ([yshift=-\pflthickgrad]\x,\pflOy) node[below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\ifboolKV[GraphiqueTikzAxes]{Num}{\num{\x}}{\x}} ;
}%
}%
\foreach \y in \tmprangeyvalues {%
\IfBooleanTF{#1}%
{%
- \xintifboolexpr{\y == \pflOy}{}{\draw ([xshift=-\pflthickgrad]{\pflOx},{\y}) node[left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxey{\pflformataxey}{\y}} ;}
+ \xintifboolexpr{\y == \pflOy}{}{\draw ([xshift=-\pflthickgrad]{\pflOx},{\y}) node[pflnoeud,left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxey{\pflformataxey}{\y}} ;}
%\xintifboolexpr{\y == \pflOy}{}{\draw ([xshift=-\pflthickgrad]\pflOx,\y) node[left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\ifboolKV[GraphiqueTikzAxes]{Num}{\num{\y}}{\y}} ;}
}%
{%
- \draw ([xshift=-\pflthickgrad]{\pflOx},{\y}) node[left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxey{\pflformataxey}{\y}} ;
+ \draw ([xshift=-\pflthickgrad]{\pflOx},{\y}) node[pflnoeud,left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\FormatterValeurAxey{\pflformataxey}{\y}} ;
%\draw ([xshift=-\pflthickgrad]\pflOx,\y) node[left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\ifboolKV[GraphiqueTikzAxes]{Num}{\num{\y}}{\y}} ;
}%
}%
@@ -429,7 +494,7 @@
}
%===DEFINIR POINTS
-\setKVdefault[GraphiqueTikzDefPoints]{Couleur=black,Aff=false}
+\setKVdefault[GraphiqueTikzDefPoints]{Couleur=black,Aff=false,Style=o}
\NewDocumentCommand\DefinirPts{ O{} m }{%
\restoreKV[GraphiqueTikzDefPoints]%
@@ -438,12 +503,186 @@
\coordinate (\tmpnamept) at ({\tmpxpt},{\tmpypt}) ;
\ifboolKV[GraphiqueTikzDefPoints]{Aff}%
{%
- \filldraw[{\useKV[GraphiqueTikzDefPoints]{Couleur}}] (\tmpnamept) circle[pflpointc] ;
+ \MarquerPts*[Style={\useKV[GraphiqueTikzDefPoints]{Style}},Couleur={\useKV[GraphiqueTikzDefPoints]{Couleur}}]{(\tmpnamept)}
+ %\filldraw[{\useKV[GraphiqueTikzDefPoints]{Couleur}}] (\tmpnamept) circle[pflpointc] ;
}%
{}%
}
}
+\defKV[GraphiqueTikzMarkPoints]{%
+ Couleur=\def\pflcouleurpoints{#1},%
+ Style=\def\pflstylepoints{#1}
+}
+\setKVdefault[GraphiqueTikzMarkPoints]{%
+ Couleur=black,%
+ Taillec=2pt,%
+ Taillex=2pt,%
+ Tailleo=1.75pt,%
+ Style=o,%
+ Traits=false
+}
+\NewDocumentCommand\MarquerPts{ s O{} D<>{\normalfont\normalsize} m }{%
+ %étoilée = sans label
+ %2=clés
+ %3=points
+ \restoreKV[GraphiqueTikzMarkPoints]%
+ \setKV[GraphiqueTikzMarkPoints]{#2}%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\pflstylepoints}{x}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcroix={\useKV[GraphiqueTikzMarkPoints]{Taillex}}/45} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{+}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcroix={\useKV[GraphiqueTikzMarkPoints]{Taillex}}/90} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{c}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcarre={\useKV[GraphiqueTikzMarkPoints]{Taillec}}/0} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{d}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcarre={\useKV[GraphiqueTikzMarkPoints]{Tailleo}}/45} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{o}%
+ {%
+ \IfSubStr{\pflcouleurpoints}{/}%
+ {%
+ \StrCut{\pflcouleurpoints}{/}{\pflcouleurpointsA}{\pflcouleurpointsB}%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[pfltrait,fill=\pflcouleurpointsB,draw=\pflcouleurpointsA] \Point circle[radius={\useKV[GraphiqueTikzMarkPoints]{Tailleo}}] ;
+ }%
+ }%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[\pflcouleurpoints] \Point circle[radius={\useKV[GraphiqueTikzMarkPoints]{Tailleo}}] ;
+ }%
+ }%
+ }%
+ {}%
+ }%
+ {%avec label
+ \IfStrEq{\pflstylepoints}{x}%
+ {%
+ \foreach \Point/\Label/\Pos in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcroix={\useKV[GraphiqueTikzMarkPoints]{Taillex}}/45} node[pflnoeud,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{+}%
+ {%
+ \foreach \Point/\Label/\Pos in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcroix={\useKV[GraphiqueTikzMarkPoints]{Taillex}}/90} node[pflnoeud,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{c}%
+ {%
+ \foreach \Point/\Label/\Pos in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcarre={\useKV[GraphiqueTikzMarkPoints]{Taillec}}/0} node[pflnoeud,\Pos,{\useKV[GraphiqueTikzMarkPoints]{Couleur}},font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{d}%
+ {%
+ \foreach \Point/\Label/\Pos in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphiqueTikzMarkPoints]{Couleur}}] \Point pic{pflptcarre={\useKV[GraphiqueTikzMarkPoints]{Tailleo}}/45} node[pflnoeud,\Pos,{\useKV[GraphiqueTikzMarkPoints]{Couleur}},font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{o}%
+ {%
+ \IfSubStr{\pflcouleurpoints}{/}%
+ {%
+ \StrCut{\pflcouleurpoints}{/}{\pflcouleurpointsA}{\pflcouleurpointsB}%
+ \foreach \Point/\Label/\Pos in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[pfltrait,\pflcouleurpointsA,fill=\pflcouleurpointsB] \Point circle[radius={\useKV[GraphiqueTikzMarkPoints]{Tailleo}}] node[pflnoeud,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ {%
+ \foreach \Point/\Label/\Pos in {#4} {%
+ \ifboolKV[GraphiqueTikzMarkPoints]{Traits}%
+ {%
+ \draw[{\useKV[GraphiqueTikzMarkPoints]{Couleur}},pfltraitantec] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[\pflcouleurpoints] \Point circle[radius={\useKV[GraphiqueTikzMarkPoints]{Tailleo}}] node[pflnoeud,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ }%
+ {}%
+ }%
+}
+
%===AJOUTER DES VALEURS MANUELLEMENT
\NewDocumentCommand\RajouterValeursAxeX{ O{} m m }{%
\restoreKV[GraphiqueTikzAxes]%
@@ -454,7 +693,7 @@
\foreach \i in {1,...,\LstValXlen}{%
\itemtomacro\LstValX[\i]\mavalx%
\itemtomacro\LstValFmtX[\i]\mavalfmtx%
- \draw ([yshift=-\pflthickgrad]{\mavalx},{\pflOy}) node[below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\mavalfmtx} ;
+ \draw ([yshift=-\pflthickgrad]{\mavalx},{\pflOy}) node[pflnoeud,below,font={\useKV[GraphiqueTikzAxes]{Police}}] {\mavalfmtx} ;
}%
}
@@ -464,14 +703,14 @@
\ifboolKV[GraphiqueTikzAxes]{Traits}{\foreach \y in {#2}{\draw[pfltrait] ([xshift=\pflthickgrad]{\pflOx},{\y})--++({-2*\pflthickgrad},0) ;}}{}%
\readlist*\LstValY{#2}%
\readlist*\LstValFmtY{#3}%
- \foreach \i in {1,...,\LstValXlen}{%
+ \foreach \i in {1,...,\LstValYlen}{%
\itemtomacro\LstValY[\i]\mavaly%
\itemtomacro\LstValFmtY[\i]\mavalfmty%
- \draw ([xshift=-\pflthickgrad]{\pflOx},{\mavaly}) node[left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\mavalfmty} ;
+ \draw ([xshift=-\pflthickgrad]{\pflOx},{\mavaly}) node[pflnoeud,left,font={\useKV[GraphiqueTikzAxes]{Police}}] {\mavalfmty} ;
}%
}
-%====FONCTION ET COURBE
+%====FONCTIONS ET COURBES 'classique + interpo + spline'
\defKV[GraphiqueTikzCourbe]{%
Pas=\def\pflstepcurve{#1},%
Nom=\def\pflnamecurve{#1}
@@ -487,15 +726,44 @@
Tension=0.5
}
-\NewDocumentCommand\DefinirFonction{ O{} D<>{f} m }{%
+\NewDocumentCommand\DefinirFonction{ O{} D<>{f} m }{%old version
\restoreKV[GraphiqueTikzCourbe]%
\setKV[GraphiqueTikzCourbe]{#1}%
\xintdeffloatfunc #2(x) := #3 ;
\IfStrEq{\pflstepcurve}{}%
- {%
- \xdef\pflstepcurve{\xintfloateval{((\useKV[GraphiqueTikzCourbe]{Fin})-(\useKV[GraphiqueTikzCourbe]{Debut}))/100}}%
- }%
- {}%
+ {%
+ \xdef\pflstepcurve{\xintfloateval{((\useKV[GraphiqueTikzCourbe]{Fin})-(\useKV[GraphiqueTikzCourbe]{Debut}))/100}}%
+ }%
+ {}%
+ \ifboolKV[GraphiqueTikzCourbe]{Clip}{\begin{scope}\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});}{}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphiqueTikzCourbe]{Trace}%
+ {%
+ \path[draw,pflcourbe,{\useKV[GraphiqueTikzCourbe]{Couleur}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzCourbe]{Debut}}..[\pflstepcurve]..{\useKV[GraphiqueTikzCourbe]{Fin}},{\useKV[GraphiqueTikzCourbe]{Fin}})
+ \relax
+ };
+ }%
+ {%
+ \path[draw=none,pflcourbe,{\useKV[GraphiqueTikzCourbe]{Couleur}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzCourbe]{Debut}}..[\pflstepcurve]..{\useKV[GraphiqueTikzCourbe]{Fin}},{\useKV[GraphiqueTikzCourbe]{Fin}})
+ \relax
+ };
+ }%
+ \ifboolKV[GraphiqueTikzCourbe]{Clip}{\end{scope}}{}
+}
+
+\NewDocumentCommand\DefinirCourbe{ O{} D<>{f} m }{%
+ \restoreKV[GraphiqueTikzCourbe]%
+ \setKV[GraphiqueTikzCourbe]{#1}%
+ \xintdeffloatfunc #2(x) := #3 ;
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflstepcurve{\xintfloateval{((\useKV[GraphiqueTikzCourbe]{Fin})-(\useKV[GraphiqueTikzCourbe]{Debut}))/100}}%
+ }%
+ {}%
\ifboolKV[GraphiqueTikzCourbe]{Clip}{\begin{scope}\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});}{}
\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
\ifboolKV[GraphiqueTikzCourbe]{Trace}%
@@ -543,6 +811,10 @@
\ifboolKV[GraphiqueTikzCourbe]{Clip}{\end{scope}}{}
}
+\NewDocumentCommand\DefinirListeInterpo{ m O{\malisteinterpo} }{%
+ \def#2{#1}%
+}
+
\NewDocumentCommand\DefinirCourbeInterpo{ O{} m }{%
\restoreKV[GraphiqueTikzCourbe]%
\setKV[GraphiqueTikzCourbe]{#1}%
@@ -566,6 +838,120 @@
\end{scope}
}
+\NewDocumentCommand\DefinirListeSpline{ m O{\malistespline} }{%
+ \def#2{#1}%
+}
+
+\newcommand\pflextractcoeff[2]{%1=liste,2=numero
+ \setsepchar{§}%
+ \readlist*\lcoeffs{#1}
+ \ifnum \lcoeffslen=1
+ \def\COEFFA{#1}
+ \def\COEFFB{#1}
+ \else
+ \itemtomacro\lcoeffs[#2]\COEFF
+ \IfSubStr{\COEFF}{/}%
+ {\StrCut{\COEFF}{/}{\COEFFA}{\COEFFB}}%
+ {\def\COEFFA{\COEFF}\def\COEFFB{\COEFF}}
+ \fi
+}
+
+\defKV[GraphiqueTikzSpline]{%
+ Nom=\def\pflsplinename{#1},%
+ Coeffs=\def\pflsplinecoeffs{#1}
+}
+
+\setKVdefault[GraphiqueTikzSpline]{%
+ Nom=spline,%
+ Couleur=black,%
+ Coeffs=3,%
+ Trace=false
+}
+
+\NewDocumentCommand\GenererSpline{ m m O{\monspline} }{%
+ %1=liste
+ \setsepchar[.]{§./}%
+ \readlist*\SPLlistepoints{#1}%
+ %les données
+ \def\tmpsplinenumdeb{1}
+ \def\tmpsplinenumfin{\SPLlistepointslen}%
+ \pflextractcoeff{#2}{\tmpsplinenumdeb}%
+ %nb de calculs
+ \def\SPLnbsplines{\inteval{\tmpsplinenumfin-1}}%
+ %extraction des coordonnées
+ \itemtomacro\SPLlistepoints[\tmpsplinenumdeb,1]\xa%
+ \itemtomacro\SPLlistepoints[\tmpsplinenumdeb,2]\ya%
+ \itemtomacro\SPLlistepoints[\tmpsplinenumdeb,3]\fprimea%
+ \itemtomacro\SPLlistepoints[\tmpsplinenumdeb,1]\xb%
+ \itemtomacro\SPLlistepoints[\tmpsplinenumdeb,2]\yb%
+ \itemtomacro\SPLlistepoints[\tmpsplinenumdeb,3]\fprimeb%
+ \xdef#3{(\xa,\ya) ..controls +({atan \fprimea}:{(\xb-\xa)/\COEFFA}) and +({-180 + atan \fprimeb}:{(\xb-\xa)/\COEFFA}).. (\xb,\yb)}%
+ \foreach \i in {\tmpsplinenumdeb,...,\SPLnbsplines}{%
+ %extraction des coeffs de compensation
+ \pflextractcoeff{#2}{\i}%
+ \def\j{\inteval{\i+1}}%
+ \itemtomacro\SPLlistepoints[\i,1]\xa%
+ \itemtomacro\SPLlistepoints[\i,2]\ya%
+ \itemtomacro\SPLlistepoints[\i,3]\fprimea%
+ \itemtomacro\SPLlistepoints[\j,1]\xb%
+ \itemtomacro\SPLlistepoints[\j,2]\yb%
+ \itemtomacro\SPLlistepoints[\j,3]\fprimeb%
+ \xdef#3{#3 ..controls +({atan \fprimea}:{(\xb-\xa)/\COEFFA}) and +({-180 + atan \fprimeb}:{(\xb-\xa)/\COEFFB}).. (\xb,\yb)}%
+ }%
+}
+
+\NewDocumentCommand\DefinirCourbeSpline{ O{} m D<>{\monspline} }{%
+ %1=liste
+ \restoreKV[GraphiqueTikzSpline]%
+ \setKV[GraphiqueTikzSpline]{#1}%
+ \GenererSpline{#2}{\pflsplinecoeffs}[#3]%
+ \begin{scope}
+ \ifboolKV[GraphiqueTikzSpline]{Trace}%
+ {%
+ \path[draw,pflcourbe,{\useKV[GraphiqueTikzSpline]{Couleur}},name path global=\pflsplinename] #3 ;
+ }%
+ {%
+ \path[draw=none,pflcourbe,name path global=\pflsplinename] #3 ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\DefinirSpline{ O{} m D<>{\monspline} }{%old version
+ %1=liste
+ \restoreKV[GraphiqueTikzSpline]%
+ \setKV[GraphiqueTikzSpline]{#1}%
+ \GenererSpline{#2}{\pflsplinecoeffs}[#3]%
+ \begin{scope}
+ \ifboolKV[GraphiqueTikzSpline]{Trace}%
+ {%
+ \path[draw,pflcourbe,{\useKV[GraphiqueTikzSpline]{Couleur}},name path global=\pflsplinename] #3 ;
+ }%
+ {%
+ \path[draw=none,pflcourbe,name path global=\pflsplinename] #3 ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\TracerCourbeSpline{ O{} m D<>{\monspline} }{%
+ %1=liste
+ \restoreKV[GraphiqueTikzSpline]%
+ \setKV[GraphiqueTikzSpline]{#1}%
+ \GenererSpline{#2}{\pflsplinecoeffs}[#3]%
+ \begin{scope}
+ \draw[pflcourbe,{\useKV[GraphiqueTikzSpline]{Couleur}}] #3 ;
+ \end{scope}
+}
+
+\NewDocumentCommand\TracerSpline{ O{} m D<>{\monspline} }{%old version
+ %1=liste
+ \restoreKV[GraphiqueTikzSpline]%
+ \setKV[GraphiqueTikzSpline]{#1}%
+ \GenererSpline{#2}{\pflsplinecoeffs}[#3]%
+ \begin{scope}
+ \draw[pflcourbe,{\useKV[GraphiqueTikzSpline]{Couleur}}] #3 ;
+ \end{scope}
+}
+
%===INTERSECTION & ANTÉCÉDENTS
\defKV[GraphiqueTikzIntersect]{%
Nom=\def\pflintercurves{#1}
@@ -575,7 +961,8 @@
Aff=true,
Couleur=black,
AffDroite=false,%
- Traits=false
+ Traits=false,%
+ Style=o
}
\NewDocumentCommand\TrouverIntersections{ O{} m m D<>{\myt} }{%
@@ -592,7 +979,8 @@
\draw[pfltraitimg,{\useKV[GraphiqueTikzIntersect]{Couleur}}]let \p1 = (\pflintercurves-\i) in (\pflintercurves-\i) -- ({\x1},{\pflOy}) ;
}%
{}%
- \filldraw[{\useKV[GraphiqueTikzIntersect]{Couleur}}] (\pflintercurves-\i) circle[pflpointc] ;
+ \MarquerPts*[Style={\useKV[GraphiqueTikzIntersect]{Style}},Couleur={\useKV[GraphiqueTikzIntersect]{Couleur}}]{(\pflintercurves-\i)}
+ %\filldraw[{\useKV[GraphiqueTikzIntersect]{Couleur}}] (\pflintercurves-\i) circle[pflpointc] ;
}
}%
}%
@@ -617,7 +1005,8 @@
\xintifboolexpr{#4 == 0}{}%
{%
\foreach \i in {1,...,#4}{%
- \filldraw[{\useKV[GraphiqueTikzIntersect]{Couleur}}] (\pflintercurves-\i) circle[pflpointc] ;
+ \MarquerPts*[Style={\useKV[GraphiqueTikzIntersect]{Style}},Couleur={\useKV[GraphiqueTikzIntersect]{Couleur}}]{(\pflintercurves-\i)}
+ %\filldraw[{\useKV[GraphiqueTikzIntersect]{Couleur}}] (\pflintercurves-\i) circle[pflpointc] ;
}
}%
}%
@@ -625,7 +1014,105 @@
\end{scope}
}
+%====MONTE CARLO
+\defKV[graphiquetikzmontecarlo]{%
+ Couleurs=\def\graphtikzmccols{#1},%
+ BornesX=\def\graphtikzmcxbornes{#1},%
+ BornesY=\def\graphtikzmcybornes{#1}
+}
+
+\setKVdefault[graphiquetikzmontecarlo]{%
+ Couleurs={blue/red},%
+ BornesX={\pflxmin,\pflxmax},%
+ BornesY={\pflymin,\pflymax}
+}
+
+\NewDocumentCommand\SimulerMonteCarlo{ O{} D<>{f} m O{\nbptsmcok} O{\nbptsmcko} }{%
+ \restoreKV[graphiquetikzmontecarlo]%
+ \setKV[graphiquetikzmontecarlo]{#1}%
+ \StrCut{\graphtikzmccols}{/}{\tmpMCcolOK}{\tmpMCcolKO}%
+ \StrCut{\graphtikzmcxbornes}{,}{\tmpMCxmin}{\tmpMCxmax}%
+ \StrCut{\graphtikzmcybornes}{,}{\tmpMCymin}{\tmpMCymax}%
+ \xdef#4{0}%
+ \xdef#5{0}%
+ \xdef\nbptsmc{#3}%
+ \foreach \i in {1,...,#3}{%
+ \xdef\tmpMCrandX{\xintfloateval{random()*((\tmpMCxmax)-(\tmpMCxmin))+(\tmpMCxmin)}}%
+ \xdef\tmpMCrandY{\xintfloateval{random()*((\tmpMCymax)-(\tmpMCymin))+(\tmpMCymin)}}%
+ \xdef\tmpMCrandfX{\xintfloateval{#2(\tmpMCrandX)}}%
+ \xintifboolexpr{ \tmpMCrandfX > \tmpMCrandY }%
+ {%
+ \xdef#4{\xinteval{#4+1}}%
+ \filldraw[\tmpMCcolOK] (\tmpMCrandX,\tmpMCrandY) circle[pflpointmc] ;
+ }%
+ {%
+ \xdef#5{\xinteval{#5+1}}%
+ \filldraw[\tmpMCcolKO] (\tmpMCrandX,\tmpMCrandY) circle[pflpointmc] ;
+ }%
+ }%
+}
+
+%====MÉTHODES INTÉGRALES
+
+\defKV[graphiquetikzintegr]{%
+ Couleur=\def\graphtikzintgrcol{#1},%
+ CouleurRemplissage=\def\graphtikzintgrcolrempl{#1},%
+ NbSubDiv=\def\graphtikzintgrnb{#1},%
+ Methode=\def\graphtikzintgrtype{#1},%
+ Opacite=\def\graphtikzintgropac{#1}
+}
+
+\setKVdefault[graphiquetikzintegr]{%
+ Couleur=red,%
+ NbSubDiv=10,%
+ Methode=RectanglesGauche,%
+ Remplir=true,%
+ CouleurRemplissage={\graphtikzintgrcol!25},%
+ Opacite=0.25
+}
+
+\NewDocumentCommand\RepresenterMethodeIntegrale{ O{} D<>{f} m m }{%opts+nom_fct+a+b
+ \useKVdefault[graphiquetikzintegr]%
+ \setKV[graphiquetikzintegr]{#1}%
+ \ifboolKV[graphiquetikzintegr]{Remplir}%
+ {%
+ \tikzset{pflfigureintegr/.style={pfltrait,\graphtikzintgrcol,fill=\graphtikzintgrcolrempl,fill opacity=\graphtikzintgropac}}%
+ }%
+ {%
+ \tikzset{pflfigureintegr/.style={pfltrait,\graphtikzintgrcol}}%
+ }%
+ \tikzset{figureintegr/.style={pfltrait,\graphtikzintgrcol,fill=\graphtikzintgrcolrempl,fill opacity=\graphtikzintgropac}}%
+ \def\TmpH{(#4-#3)/\graphtikzintgrnb}
+ %rectangles gauches
+ \IfEq{\graphtikzintgrtype}{RectanglesGauche}%
+ {%
+ \foreach \i in {0,...,\inteval{\graphtikzintgrnb-1}}%
+ \draw[pflfigureintegr] ({#3+\i*\TmpH},{0}) rectangle++ ({\TmpH},{\xintfloateval{#2(#3+\i*\TmpH)}}) ;
+ }%
+ {}%
+ \IfEq{\graphtikzintgrtype}{RectanglesDroite}%
+ {%
+ \foreach \i in {0,...,\inteval{\graphtikzintgrnb-1}}%
+ \draw[pflfigureintegr] ({#3+\i*\TmpH},{0}) rectangle++ ({\TmpH},{\xintfloateval{#2(#3+(\i+1)*\TmpH)}}) ;
+ }%
+ {}%
+ \IfEq{\graphtikzintgrtype}{RectanglesMilieu}%
+ {%
+ \foreach \i in {0,...,\inteval{\graphtikzintgrnb-1}}%
+ \draw[pflfigureintegr] ({#3+\i*\TmpH},{0}) rectangle++ ({\TmpH},{\xintfloateval{#2(#3+(\i+0.5)*\TmpH)}}) ;
+ }%
+ {}%
+ \IfEq{\graphtikzintgrtype}{Trapezes}%
+ {%
+ \foreach \i in {0,...,\inteval{\graphtikzintgrnb-1}}%
+ \draw[pflfigureintegr] ({#3+\i*\TmpH},{0}) -- ({#3+\i*\TmpH},{\xintfloateval{#2(#3+\i*\TmpH)}}) -- ({#3+(\i+1)*\TmpH},{\xintfloateval{#2(#3+(\i+1)*\TmpH)}}) -- ({#3+(\i+1)*\TmpH},{0}) -- cycle ;
+ }%
+ {}%
+}
+
+
%====INTÉGRALES
+%v2 avec modification de la clé [Type=...] ?
\defKV[GraphiqueTikzIntegr]{%
Couleurs=\def\pfldomtikzcolors{#1},%
Style=\def\pfldomtikzstyle{#1},%
@@ -635,20 +1122,29 @@
Pas=\def\pflstepcurve{#1},%
Bornes=\def\pflintbornes{#1},%
Jonction=\def\pfldomtikzjoin{#1},%
- NomSpline=\def\pfldomtikznamespline{#1}
+ NomInterpo=\def\pfldomtikznameinterpo{#1},%
+ NomInterpoB=\def\pfldomtikznameinterpob{#1},%
+ NomSpline=\def\pfldomtikznamespline{#1},%
+ NomSplineB=\def\pfldomtikznamesplineb{#1}
}
\setKVdefault[GraphiqueTikzIntegr]{%
Couleurs=gray,%
Style=remplissage,%
Opacite=0.5,%
Hachures={north west lines},%
- Type=dessous,%
+ Type=fct,%
Pas={},%
Jonction=bevel,%
Bornes=abs,%
Bord=true,%
Spline=false,%
- NomSpline={\monspline}
+ SplineB=false,%
+ NomInterpo={\moninterpo},%
+ NomInterpoB={\moninterpoB},%
+ NomSpline={\monspline},%
+ NomSplineB={\monsplineB},%
+ Tension=0.5,%
+ TensionB=0.5
}
\NewDocumentCommand\TracerIntegrale{ O{} D<>{} m O{0} m m }{%
@@ -675,15 +1171,15 @@
\tikzset{integralebordtikzstyle/.style={draw=none}}
}%
\IfStrEq{\pfldomtikzstyle}{hachures}%
- {%
- \tikzset{integraletikzstyle/.style={pfltrait,pattern=\pfldomtikzhatch,pattern color=\pfldomtikzcolorfond,line join=\pfldomtikzjoin}}
- }%
- {}%
+ {%
+ \tikzset{integraletikzstyle/.style={pfltrait,pattern=\pfldomtikzhatch,pattern color=\pfldomtikzcolorfond,line join=\pfldomtikzjoin}}
+ }%
+ {}%
\IfStrEq{\pfldomtikzstyle}{remplissage}%
- {%
- \tikzset{integraletikzstyle/.style={pfltrait,fill=\pfldomtikzcolorfond,fill opacity=\pfldomtikzopac,line join=\pfldomtikzjoin}}
- }%
- {}%
+ {%
+ \tikzset{integraletikzstyle/.style={pfltrait,fill=\pfldomtikzcolorfond,fill opacity=\pfldomtikzopac,line join=\pfldomtikzjoin}}
+ }%
+ {}%
%extraction des infos x/y
\IfStrEqCase{\pflintbornes}{%
{abs}%
@@ -715,43 +1211,193 @@
\xdef\absnoeudB{#6}%
}%
}%
- %suite
+ %suite avec les nbs points
\IfStrEq{\pflstepcurve}{}%
{%
\xdef\pflstepcurve{\xintfloateval{((\absnoeudB)-(\absnoeudA))/100}}%
}%
{}%
- \IfStrEq{\pfldomtikztype}{dessous}%
- {%
- \ifboolKV[GraphiqueTikzIntegr]{Spline}%
- {%
- \begin{scope}
- \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
- \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflOy}) -- cycle ;
- \end{scope}
- \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
- \path[name intersections={of=#3 and tmpintbornea,name=YYY}] ;
- \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\pflOy})-- (YYY-1) ;
- \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
- \path[name intersections={of=#3 and tmpintborneb,name=ZZZ}] ;
- \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\pflOy})-- (ZZZ-1) ;
- }%
- {%
- \begin{scope}
- \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
- \draw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflOy}) -- cycle ;
- \end{scope}
- }%
- }%
- {}%
- \IfStrEq{\pfldomtikztype}{entre}%
- {%
- \begin{scope}
- \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
- \draw[integraletikzstyle,integralebordtikzstyle,#2] plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudB..[-(\pflstepcurve)]..\absnoeudA,\absnoeudA)\relax} -- cycle ;
- \end{scope}
- }%
- {}%
+ %TRACÉSen fonction des types de courbes
+ \IfStrEq{\pfldomtikztype}{fct}%
+ {%OK
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflOy}) -- cycle ;
+ \end{scope}
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl}%avec 3=courbe spline + clé [Spline] à utiliser !
+ {%OK
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflOy}) -- cycle ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintbornea,name=YYY}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\pflOy})-- (YYY-1) ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintborneb,name=ZZZ}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\pflOy})-- (ZZZ-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp}%avec 3=courbe interpo
+ {%OK
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflOy}) -- cycle ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=YYY}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\pflOy})-- (YYY-1) ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=ZZZ}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\pflOy})-- (ZZZ-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{fct/fct}%avec #3=formule et #4=formule
+ {%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[integraletikzstyle,integralebordtikzstyle,#2] plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudB..[-(\pflstepcurve)]..\absnoeudA,\absnoeudA)\relax} -- cycle ;
+ \end{scope}
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl/spl}%avec #3=cbe spline + #4=cbe splineB
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymax}) -- \pfldomtikznamesplineb -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintbornea,name=YYYA}] ;
+ \path[name intersections={of=#4 and tmpintbornea,name=ZZZA}] ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintborneb,name=YYYB}] ;
+ \path[name intersections={of=#4 and tmpintborneb,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYA-1)-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYB-1)-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp/itp}%avec #3=cbe interpo + #4=cbe interpoB
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflymin}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{TensionB}}] coordinates {#4} -- ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=YYYA}] ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpob,name=ZZZA}] ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=YYYB}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpob,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYA-1)-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYB-1)-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{fct/spl}%avec #3=formule + #4=spline
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymax}) -- \pfldomtikznamesplineb -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and #4,name=ZZZA}] ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and #4,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\xintfloateval{subs(#3,x=\absnoeudA)}})-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\xintfloateval{subs(#3,x=\absnoeudB)}})-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl/fct}%avec #3=spline + #4=fct
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymin}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and #3,name=ZZZA}] ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and #3,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\xintfloateval{subs(#4,x=\absnoeudA)}})-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\xintfloateval{subs(#4,x=\absnoeudB)}})-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{fct/itp}%avec #3=formule + #4=liste interpo
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{TensionB}}] coordinates {#4} -- ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpob,name=ZZZAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpob,name=ZZZAB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\xintfloateval{subs(#3,x=\absnoeudA)}})-- (ZZZAA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\xintfloateval{subs(#3,x=\absnoeudB)}})-- (ZZZAB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp/fct}%
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflymin}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=ZZZAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=ZZZAB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudA},{\xintfloateval{subs(#4,x=\absnoeudA)}})-- (ZZZAA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] ({\absnoeudB},{\xintfloateval{subs(#4,x=\absnoeudB)}})-- (ZZZAB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp/spl}%
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflymin}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- \pfldomtikznamesplineb -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;%borne inf
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;%borne sup
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=YYYKAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=YYYKBB}] ;
+ \path[name intersections={of=tmpintbornea and #4,name=ZZZKAA}] ;
+ \path[name intersections={of=tmpintborneb and #4,name=ZZZKBB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYKAA-1)-- (ZZZKAA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYKBB-1)-- (ZZZKBB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl/itp}%
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot [smooth,tension={\useKV[GraphiqueTikzIntegr]{TensionB}}] coordinates {#4} -- ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,pflcourbe,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;%borne inf
+ \path[draw=none,pflcourbe,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;%borne sup
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpob,name=YYYKAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpob,name=YYYKBB}] ;
+ \path[name intersections={of=tmpintbornea and #3,name=ZZZKAA}] ;
+ \path[name intersections={of=tmpintborneb and #3,name=ZZZKBB}] ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYKAA-1)-- (ZZZKAA-1) ;
+ \draw[\pfldomtikzcolorbord,pfltrait] (YYYKBB-1)-- (ZZZKBB-1) ;
+ }%
+ {}%
}
\NewDocumentCommand\PlacerPoints{ s O{black} D<>{\normalfont\normalsize} m }{%
@@ -763,7 +1409,7 @@
}%
{%
\foreach \Point/\Pos/\Label in {#4}{%
- \filldraw[#2] \Point circle[pflpointc] node[\Pos,font=#3] {\Label} ;
+ \filldraw[#2] \Point circle[pflpointc] node[pflnoeud,\Pos,font=#3] {\Label} ;
}
}%
}
@@ -772,17 +1418,22 @@
\defKV[GraphiqueTikzRegLin]{%
Arrondis=\def\pflarrondisreglin{#1},
Nom=\def\pflnamereglin{#1},
+ NomPara=\def\pflnameregquad{#1},
Debut=\def\pflreglinmin{#1},
Fin=\def\pflreglinmax{#1}
}
\setKVdefault[GraphiqueTikzRegLin]{
CouleurNuage=black,
CouleurDroite=black,
+ CouleurPara=black,
Arrondis={},
Debut={\pflxmin},
Fin={\pflxmax},
- Nom=reglin,
- TracerDroite=false
+ Nom=reglin,%
+ NomPara=quadreg,%
+ TracerDroite=false,%
+ TracerParabole=false,%
+ Style=o
}
\NewDocumentCommand\TracerNuage{ O{} D<>{d} m m }{%
@@ -797,14 +1448,13 @@
\def\LNB{\inteval{\LXlen}}
%nuage
\foreach \i in {1,...,\LXlen}{%
- \filldraw[{\useKV[GraphiqueTikzRegLin]{CouleurNuage}}] ({\LX[\i]},{\LY[\i]}) circle[pflpointnuage] ;
+ \itemtomacro\LX[\i]\tmpmavalx%
+ \itemtomacro\LY[\i]\tmpmavaly%
+ \MarquerPts*[Style={\useKV[GraphiqueTikzRegLin]{Style}},Couleur={\useKV[GraphiqueTikzRegLin]{CouleurNuage}}]{(\tmpmavalx,\tmpmavaly)}%
}
%droite de régression
\ifboolKV[GraphiqueTikzRegLin]{TracerDroite}%
{%
- %mini LX
- \def\tmpxminreglin{\fpeval{min(#2)}}
- \def\tmpxmaxreglin{\fpeval{max(#2)}}
%somme des LX et des LY OK
\xdef\LXSomme{0}
\xdef\LYSomme{0}
@@ -859,19 +1509,158 @@
\end{scope}
}%
{}%
+ \ifboolKV[GraphiqueTikzRegLin]{TracerParabole}%
+ {%
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[\i]}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[\i])^2}}%
+ }%
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[\i]}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[\i]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[\i]-\LXmoy)*(\LY[\i]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[\i]-\LXmoy)*((\LX[\i])*(\LX[\i])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[\i])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[\i])^2-\LXCmoy)*(\LY[\i]-\LYmoy)}}%
+ }%
+ %COEFFS OK
+ \IfStrEq{\pflarrondisreglin}{}%
+ {%
+ \xdef\tmpcoeffregquadb{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}
+ \xdef\tmpcoeffregquada{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}
+ \xdef\tmpcoeffregquadc{\xintfloateval{\LYmoy-\tmpcoeffregquadb*\LXmoy-\tmpcoeffregquada*\LXCmoy}}
+ }%
+ {%
+ \xdef\tmpcoeffregquadb{\xintfloateval{round((\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2),\pflarrondisreglin)}}
+ \xdef\tmpcoeffregquada{\xintfloateval{round((\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2),\pflarrondisreglin)}}
+ \xdef\tmpcoeffregquadc{\xintfloateval{round(\LYmoy-\tmpcoeffregquadb*\LXmoy-\tmpcoeffregquada*\LXCmoy,\pflarrondisreglin)}}
+ }%
+ \xintdeffloatfunc #2(x) := (\tmpcoeffregquada)*x^2+(\tmpcoeffregquadb)*x+\tmpcoeffregquadc ;
+ %tracé
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[pflcourbe,{\useKV[GraphiqueTikzRegLin]{CouleurPara}},name path global=\pflnameregquad,samples=250,domain=\pflreglinmin:\pflreglinmax] plot (\x,{\tmpcoeffregquada*(\x)^2+\tmpcoeffregquadb*\x+\tmpcoeffregquadc}) ;
+ \end{scope}
+ }%
+ {}%
+}
+
+\if@loadxintreg
+%régressions alternatives
+\NewDocumentCommand\TracerAjustement{ O{} D<>{cbajust} m D<>{} m m }{%
+ %1=options de tracés
+ %2=nom courbe
+ %3=type
+ %4=arrondis
+ %5=liste X
+ %6=liste Y
+ \IfStrEq{#3}{lin}%
+ {%
+ \xintlinreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\linrega*x+\linregb}%
+ }%
+ {}%
+ \IfStrEq{#3}{quad}%
+ {%
+ \xintquadreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\quadrega*x^2+\quadregb*x+\quadregc}%
+ }%
+ {}%
+ \IfStrEq{#3}{pow}%
+ {%
+ \xintpowreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\powrega*x^(\powregb)}%
+ }%
+ {}%
+ \IfStrEq{#3}{expab}%
+ {%
+ \xintexpabreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\expabrega*(\expabregb)^x}%
+ }%
+ {}%
+ \IfStrEq{#3}{hyp}%
+ {%
+ \xinthypreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\hyprega+(\hypregb)/x}%
+ }%
+ {}%
+ \IfStrEq{#3}{log}%
+ {%
+ \xintlogreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\logrega+(\logregb)*log(x)}%
+ }%
+ {}%
+ \IfStrEq{#3}{exp}%
+ {%
+ \xintexpreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{exp(\exprega*x+\expregb)}%
+ }%
+ {}%
+ \IfStrEq{#3}{expalt}%
+ {%
+ \xintexpreg[Alt,round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\expregb*exp(\exprega*x)}%
+ }%
+ {}%
+ \IfStrEq{#3}{cub}%
+ {%
+ \xintcubreg[round={#4}]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\cubrega*x^3+\cubregb*x^2+\cubregc*x+\cubregd}%
+ }%
+ {}%
+ \IfSubStr{#3}{expoff}%
+ {%
+ \StrBehind{#3}{=}[\expoffset]%
+ \xintexpoffreg[round={#4},offset=\expoffset]{#5}{#6}%
+ \DefinirFonction[#1,Trace]<#2>{\expoffset+\expregoffb*exp(\expregoffa*x)}%
+ }%
+ {}%
}
+\fi
%===IMAGES & ANTÉCÉDENTS
\defKV[GraphiqueTikzImg]{
Couleurs=\def\pflimgcolors{#1},%
- Nom=\def\pflantecednoms{#1}
+ Nom=\def\pflantecednoms{#1}%
}
\setKVdefault[GraphiqueTikzImg]{
- Couleurs=black,
- Traits=false,
+ Couleurs=black,%
+ Traits=false,%
Spline=false,%
- Nom={}
+ Nom={},%
+ Style=o
+}
+
+\NewDocumentCommand\DefinirImage{ O{} m m }{%
+ \useKVdefault[GraphiqueTikzImg]%
+ \setKV[GraphiqueTikzImg]{#1}%
+ \ifboolKV[GraphiqueTikzImg]{Spline}%
+ {%
+ \path[draw=none,pflcourbe,name path=tmpimage] ({#3},{\pflymin})--({#3},{\pflymax}) ;
+ \path[name intersections={of=#2 and tmpimage,name=ZZZZ}] ;
+ \coordinate (\pflantecednoms) at (ZZZZ-1) ;
+ }%
+ {%
+ \xdef\tmpresimg{\xintfloateval{#2(#3)}}%
+ \coordinate (\pflantecednoms) at ({#3},{\tmpresimg}) ;
+ }%
}
\NewDocumentCommand\PlacerImages{ O{} m m }{%
@@ -894,7 +1683,8 @@
\draw[\pflimgcolorline,pfltraitimg] let \p1 = (ZZ-1) in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
}%
{}%
- \filldraw[\pflimgcolorpt] (ZZ-1) circle[radius=2pt] ;
+ \MarquerPts*[Style={\useKV[GraphiqueTikzImg]{Style}},Couleur=\pflimgcolorpt]{(ZZ-1)}
+ %\filldraw[\pflimgcolorpt] (ZZ-1) circle[radius=2pt] ;
}
}%
{%
@@ -905,9 +1695,10 @@
\draw[\pflimgcolorline,pfltraitimg] ({\i},{\pflOy}) |- ({\pflOx},{\tmpresimg}) ;
}%
{}%
- \filldraw[\pflimgcolorpt] ({\i},{\tmpresimg}) circle[radius=2pt] ;
+ \MarquerPts*[Style={\useKV[GraphiqueTikzImg]{Style}},Couleur=\pflimgcolorpt]{({\i},{\tmpresimg})}
+ %\filldraw[\pflimgcolorpt] ({\i},{\tmpresimg}) circle[radius=2pt] ;
}%
- }
+ }%
}
\NewDocumentCommand\PlacerAntecedents{ O{} m m }{%avec le nom de la courbe...
@@ -943,14 +1734,1221 @@
\draw[\pflimgcolorline,pfltraitimg] let \p1 = (ZZ-\i) in (ZZ-\i) -- ({\x1},{\pflOy}) ;
}%
{}%
- \filldraw[\pflimgcolorpt] (ZZ-\i) circle[radius=2pt] ;
+ \MarquerPts*[Style={\useKV[GraphiqueTikzImg]{Style}},Couleur=\pflimgcolorpt]{(ZZ-\i)}
+ %\filldraw[\pflimgcolorpt] (ZZ-\i) circle[radius=2pt] ;
}%
}%
\end{scope}
}
-%====SPLINES CUBIQUES
-\newcommand\pflextractcoeff[2]{%1=liste,2=numero
+%===NOMBRE DÉRIVÉ ET TANGENTE (EXPÉRIEMENTAL)
+\NewDocumentCommand\CalculerNbDerive{ s m m m }{%*=gauche+nomfct+abspt+h
+ \IfBooleanTF{#1}%
+ {%
+ \xdef\TmpResNbDeriv{\xintfloateval{(#2(#3)-#2(#3-#4))/(#4)}}%
+ }%
+ {%
+ \xdef\TmpResNbDeriv{\xintfloateval{(#2(#3+#4)-#2(#3))/(#4)}}%
+ }%
+}
+
+\defKV[GraphiqueTikzTgte]{%
+ Couleurs=\def\pfltgttikzcolors{#1},%
+ DecG=\def\pfltgttikzkl{#1},%
+ DecD=\def\pfltgttikzkr{#1},%
+ h=\def\pfltgttikzh{#1},%
+ Sens=\def\pfltgttikzsens{#1},%
+ Delta=\def\tmptgtedelta{#1}
+}
+\setKVdefault[GraphiqueTikzTgte]{%
+ Couleurs=black,%
+ DecG=1,%
+ DecD=1,%
+ AffPoint=false,%
+ Spline=false,%
+ h=0.1,%
+ Sens=gd,%
+ Noeud=false,%
+ Delta=0.01,%
+ Style=o
+}
+
+\NewDocumentCommand\TracerTangente{ O{} m m D<>{} }{%
+ \restoreKV[GraphiqueTikzTgte]%
+ \setKV[GraphiqueTikzTgte]{#1}%
+ %en fonction de la gestion de l'abscisse
+ \ifboolKV[GraphiqueTikzTgte]{Noeud}%
+ {%
+ \path #3;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\pfltgttikzx{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
+ }%
+ {%
+ \xdef\pfltgttikzx{#3}%
+ }%
+ %parties communes
+ \IfSubStr{\pfltgttikzcolors}{/}%
+ {%
+ \StrCut{\pfltgttikzcolors}{/}{\pfltgttikzline}{\pfltgttikzpoint}
+ }%
+ {%
+ \xdef\pfltgttikzline{\pfltgttikzcolors}\xdef\pfltgttikzpoint{\pfltgttikzcolors}
+ }%
+ \xdef\tmptgtdeb{\xintfloateval{\pfltgttikzx-(\pfltgttikzkl)}}%
+ \xdef\tmptgtfin{\xintfloateval{\pfltgttikzx+(\pfltgttikzkr)}}%
+ %suivant le type de courbe
+ \ifboolKV[GraphiqueTikzTgte]{Spline}%
+ {%
+ \path[name path=tmpimage] ({\pfltgttikzx},{\pflymin})--({\pfltgttikzx},{\pflymax}) ;
+ \path[name intersections={of=#2 and tmpimage,name=TANp}] ;
+ \IfStrEq{\pfltgttikzsens}{gd}%
+ {%
+ \path[name path=L-vline] ({\pfltgttikzx-\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx-\tmptgtedelta},{\pflymax}) ;
+ \path[name path=R-vline] ({\pfltgttikzx+\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx+\tmptgtedelta},{\pflymax}) ;
+ %\coordinate (LXcoor) at ($(TANp-1)+({-\tmptgtedelta},0)$) ;
+ %\coordinate (RXcoor) at ($(TANp-1)+({\tmptgtedelta},0)$) ;
+ }%
+ {}%
+ \IfStrEq{\pfltgttikzsens}{g}%
+ {%
+ \path[name path=L-vline] ({\pfltgttikzx-\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx-\tmptgtedelta},{\pflymax}) ;
+ \path[name path=R-vline] ({\pfltgttikzx},{\pflymin}) -- ({\pfltgttikzx},{\pflymax}) ;
+ %\coordinate (LXcoor) at ($(TANp-1)+({-\tmptgtedelta},0)$) ;
+ %\coordinate (RXcoor) at (TANp-1) ;
+ \def\tmptgtfin{\pfltgttikzx}%
+ }%
+ {}%
+ \IfStrEq{\pfltgttikzsens}{d}%
+ {%
+ \path[name path=L-vline] ({\pfltgttikzx},{\pflymin}) -- ({\pfltgttikzx},{\pflymax}) ;
+ \path[name path=R-vline] ({\pfltgttikzx+\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx+\tmptgtedelta},{\pflymax}) ;
+ \def\tmptgtdeb{\pfltgttikzx}%
+ }%
+ {}%
+ \path[name intersections={of=#2 and L-vline,name=LXcut}] ;
+ \path[name intersections={of=#2 and R-vline,name=RXcut}] ;
+ \coordinate (tzXproj) at ($(LXcut-1)!(TANp-1)!(RXcut-1)$) ; % projection
+ \coordinate (LLpoint) at ($(LXcut-1)+(TANp-1)-(tzXproj)$) ; % move
+ \coordinate (RRpoint) at ($(RXcut-1)+(TANp-1)-(tzXproj)$) ; % move
+ \path (LLpoint);
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\tzTANLLX{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\tzTANLLY{\xintfloateval{(\ConvertirPtToCm{\macroy})/(\pflyunit)}}%
+ \path (RRpoint);
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\tzTANRRX{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\tzTANRRY{\xintfloateval{(\ConvertirPtToCm{\macroy})/(\pflyunit)}}%
+ \def\tztangentLFn{(\tzTANRRY-\tzTANLLY)/(\tzTANRRX-\tzTANLLX)*(\x-\tzTANLLX)+\tzTANLLY}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;
+ \draw[pfltrait,\pfltgttikzline,domain=\tmptgtdeb:\tmptgtfin,samples=2,#4] plot (\x,{\tztangentLFn}) ;
+ \end{scope}
+ }%
+ {%
+ \IfStrEq{\pfltgttikzsens}{g}%
+ {%
+ \CalculerNbDerive*{#2}{\pfltgttikzx}{\pfltgttikzh}%
+ }%
+ {%
+ \CalculerNbDerive{#2}{\pfltgttikzx}{\pfltgttikzh}%
+ }%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;
+ \draw[pfltrait,\pfltgttikzline,#4] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,\TmpResNbDeriv*(x-(\pfltgttikzx))+#2(\pfltgttikzx)),x=\tmptgtdeb,\tmptgtfin)
+ \relax
+ };
+ \end{scope}
+ }%
+ \ifboolKV[GraphiqueTikzTgte]{AffPoint}%
+ {%
+ \ifboolKV[GraphiqueTikzTgte]{Spline}%
+ {%
+ \MarquerPts*[Style={\useKV[GraphiqueTikzTgte]{Style}},Couleur=\pfltgttikzpoint]{(TANp-1)}
+ %\filldraw[] (TANp-1) circle[pflpointc] ;
+ }%
+ {%
+ \xdef\tmpimgtgt{\xintfloateval{#2(\pfltgttikzx)}}%
+ \MarquerPts*[Style={\useKV[GraphiqueTikzTgte]{Style}},Couleur=\pfltgttikzpoint]{({\pfltgttikzx},\tmpimgtgt)}
+ %\filldraw[\pfltgttikzpoint] ({\pfltgttikzx},\tmpimgtgt) circle[pflpointc] ;
+ }%
+ }%
+ {}%
+}
+
+%====loi normale
+\defKV[GraphiqueTikzGaussienne]{%
+ Pas=\def\pflgaussstep{#1},%
+ Nom=\def\pflgaussname{#1}
+}
+
+\setKVdefault[GraphiqueTikzGaussienne]{%
+ Nom=gaussienne,%
+ Couleur=black,%
+ Trace=false,%
+ Pas={},%
+ Debut={\pflxmin},%
+ Fin={\pflxmax}
+}
+
+\NewDocumentCommand\DefinirLoiNormale{ O{} D<>{phi} m m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphiqueTikzGaussienne]%
+ \setKV[GraphiqueTikzGaussienne]{#1}%
+ \xintdeffloatfunc #2(x) := 1/((#4)*sqrt(2*pi))*exp(-0.5*((x-(#3))/(#4))^2) ;%
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphiqueTikzGaussienne]{Fin})-(\useKV[GraphiqueTikzGaussienne]{Debut}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphiqueTikzGaussienne]{Trace}%
+ {%
+ \path[draw,pflcourbe,{\useKV[GraphiqueTikzGaussienne]{Couleur}},name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzGaussienne]{Debut}}..[\pflgaussstep]..{\useKV[GraphiqueTikzGaussienne]{Fin}},{\useKV[GraphiqueTikzGaussienne]{Fin}})
+ \relax
+ } ;
+ }%
+ {%
+ \path[draw=none,pflcourbe,name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzGaussienne]{Debut}}..[\pflgaussstep]..{\useKV[GraphiqueTikzGaussienne]{Fin}},{\useKV[GraphiqueTikzGaussienne]{Fin}})
+ \relax
+ } ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\TracerLoiNormale{ O{} m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphiqueTikzGaussienne]%
+ \setKV[GraphiqueTikzGaussienne]{#1}%
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphiqueTikzGaussienne]{Fin})-(\useKV[GraphiqueTikzGaussienne]{Debut}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[pflcourbe,{\useKV[GraphiqueTikzGaussienne]{Couleur}}] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2),x={\useKV[GraphiqueTikzGaussienne]{Debut}}..[\pflgaussstep]..{\useKV[GraphiqueTikzGaussienne]{Fin}},{\useKV[GraphiqueTikzGaussienne]{Fin}})
+ \relax
+ } ;
+ \end{scope}
+}
+
+%==== DENSITÉ KHIDEUX
+\xintdeffloatfunc pflrecigamma(x) := x+0.577215664901*x^2-0.65587807152056*x^3-0.042002635033944*x^4+0.16653861138228*x^5-0.042197734555571*x^6;
+\xintdeffloatfunc pflgamma(x) := (x==1)?{1}{(abs(x)<=0.5)?{1/pflrecigamma(x)}{(x-1)*pflgamma(x-1)}};
+\xintdeffloatfunc pflkhideux(x,k) := (x<0)?{0}{(1/(2^(k/2)*pflgamma(k/2)))*x^(k/2-1)*exp(-x/2)};
+
+\NewDocumentCommand\DefinirLoiKhiDeux{ O{} D<>{khi} m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphiqueTikzGaussienne]%
+ \setKV[GraphiqueTikzGaussienne]{#1}%
+ \xintdeffloatfunc #2(x) := (x<0)?{0}{(1/(2^((#3)/2)*pflgamma((#3)/2)))*x^((#3)/2-1)*exp(-x/2)};
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphiqueTikzGaussienne]{Fin})-(\useKV[GraphiqueTikzGaussienne]{Debut}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphiqueTikzGaussienne]{Trace}%
+ {%
+ \path[draw,pflcourbe,{\useKV[GraphiqueTikzGaussienne]{Couleur}},name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzGaussienne]{Debut}}..[\pflgaussstep]..{\useKV[GraphiqueTikzGaussienne]{Fin}},{\useKV[GraphiqueTikzGaussienne]{Fin}})
+ \relax
+ } ;
+ }%
+ {%
+ \path[draw=none,pflcourbe,name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzGaussienne]{Debut}}..[\pflgaussstep]..{\useKV[GraphiqueTikzGaussienne]{Fin}},{\useKV[GraphiqueTikzGaussienne]{Fin}})
+ \relax
+ } ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\TracerLoiKhiDeux{ O{} m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphiqueTikzGaussienne]%
+ \setKV[GraphiqueTikzGaussienne]{#1}%
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphiqueTikzGaussienne]{Fin})-(\useKV[GraphiqueTikzGaussienne]{Debut}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[pflcourbe,{\useKV[GraphiqueTikzGaussienne]{Couleur}}] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2),x={\useKV[GraphiqueTikzGaussienne]{Debut}}..[\pflgaussstep]..{\useKV[GraphiqueTikzGaussienne]{Fin}},{\useKV[GraphiqueTikzGaussienne]{Fin}})
+ \relax
+ } ;
+ \end{scope}
+}
+
+%====droite
+\defKV[GraphiquetikzDroite]{%
+ Nom=\def\pfldroitename{#1}
+}
+
+\setKVdefault[GraphiquetikzDroite]{%
+ Pente=false,%
+ Couleur=black,%
+ Debut={\pflxmin},%
+ Fin={\pflxmax},%
+ Nom={}
+}
+
+\NewDocumentCommand\TracerDroite{ O{} m m D<>{} }{%
+ \restoreKV[GraphiquetikzDroite]%
+ \setKV[GraphiquetikzDroite]{#1}%
+ %1er point
+ \path #2;%
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\pfldtetikzxA{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\pfldtetikzyA{\xintfloateval{(\ConvertirPtToCm{\macroy})/(\pflyunit)}}%
+ %2ème point si besoin
+ \ifboolKV[GraphiquetikzDroite]{Pente}%
+ {%
+ \xdef\pfldtepente{\xintfloateval{#3}}%
+ }%
+ {%
+ \path #3;%
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\pfldtetikzxB{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\pfldtetikzyB{\xintfloateval{(\ConvertirPtToCm{\macroy})/(\pflyunit)}}%
+ \xdef\pfldtepente{\xintfloateval{(\pfldtetikzyB-\pfldtetikzyA)/(\pfldtetikzxB-\pfldtetikzxA)}}%
+ }%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;
+ \xintifboolexpr{\pfldtetikzxA == \pfldtetikzxB}%
+ {%
+ \IfEq{\pfldroitename}{}%
+ {%
+ \draw[pfltrait,{\useKV[GraphiquetikzDroite]{Couleur}},#4] (\pfldtetikzxA,\pflymin) -- (\pfldtetikzxA,\pflymax) ;
+ }%
+ {%
+ \draw[pfltrait,{\useKV[GraphiquetikzDroite]{Couleur}},#4,name path global=\pfldroitename] (\pfldtetikzxA,\pflymin) -- (\pfldtetikzxA,\pflymax) ;
+ }%
+ }%
+ {%
+ \IfEq{\pfldroitename}{}%
+ {%
+ \draw[pfltrait,{\useKV[GraphiquetikzDroite]{Couleur}},domain={\useKV[GraphiquetikzDroite]{Debut}}:{\useKV[GraphiquetikzDroite]{Fin}},samples=2,#4] plot (\x,{\pfldtepente*(\x-\pfldtetikzxA)+\pfldtetikzyA}) ;
+ }%
+ {%
+ \draw[pfltrait,{\useKV[GraphiquetikzDroite]{Couleur}},domain={\useKV[GraphiquetikzDroite]{Debut}}:{\useKV[GraphiquetikzDroite]{Fin}},samples=2,name path global=\pfldroitename,#4] plot (\x,{\pfldtepente*(\x-\pfldtetikzxA)+\pfldtetikzyA}) ;
+ }%
+ }%
+ \end{scope}
+}
+
+%====asymptote
+\NewDocumentCommand\TracerAsymptote{ O{} m D<>{} }{%
+ \restoreKV[GraphiquetikzDroite]%
+ \setKV[GraphiquetikzDroite]{#1}%
+ %tracé
+ \draw[pfltrait,{\useKV[GraphiquetikzDroite]{Couleur}},#3] ({#2},{\pflymin})--({#2},{\pflymax}) ;
+}
+
+
+%====MinMax
+\defKV[GraphiqueTikzMinMax]{%
+ Pas=\def\pflminmaxstep{#1},%
+ Methode=\def\pflminmaxmethode{#1},%
+ Coeffs=\def\pflminmaxcoeffs{#1}
+}
+\setKVdefault[GraphiqueTikzMinMax]{%
+ Debut={\pflxmin},%
+ Fin={\pflxmax},%
+ Pas={},%
+ Tension=0.5,%
+ Methode=fonction,%
+ Coeffs=3
+}
+
+\NewDocumentCommand\TrouverMaximum{ O{} m O{c-max} }{%
+ %1=clés
+ %2=paramètres en fonction de [Methode]
+ \restoreKV[GraphiqueTikzMinMax]%
+ \setKV[GraphiqueTikzMinMax]{#1}%
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflminmaxstep{\xintfloateval{((\useKV[GraphiqueTikzMinMax]{Fin})-(\useKV[GraphiqueTikzMinMax]{Debut}))/100}}%
+ }%
+ {}%
+ \begin{scope}[bezier bounding box,local bounding box=bbtmpmax]
+ \IfStrEq{\pflminmaxmethode}{fonction}%
+ {%
+ \path[draw=none,name path=curvetmpmax] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzMinMax]{Debut}}..[\pflstepcurve]..{\useKV[GraphiqueTikzMinMax]{Fin}},{\useKV[GraphiqueTikzMinMax]{Fin}})
+ \relax
+ };
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{interpo}%
+ {%
+ \path[draw=none,name path=curvetmpmax] plot[smooth,tension={\useKV[GraphiqueTikzMinMax]{Tension}}] coordinates {#2};
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{spline}%
+ {%
+ \GenererSpline{#2}{\pflminmaxcoeffs}[\tmpsplineminmax]%
+ \path[draw=none,name path=curvetmpmax] \tmpsplineminmax ;
+ }%
+ {}%
+ %retour
+ \path[name path=tmpmax] ([yshift=-0.25\pgflinewidth]bbtmpmax.north east) -- ([yshift=-0.25\pgflinewidth]bbtmpmax.north west) ;
+ \path[name intersections={of=curvetmpmax and tmpmax,name=#3}] ;
+ \coordinate (#3) at ($0.5*(#3-1)+0.5*(#3-2)+(0,0.25\pgflinewidth)$) ;
+ \end{scope}
+}
+
+\NewDocumentCommand\TrouverMinimum{ O{} m O{c-min} }{%
+ %1=clés
+ %2=paramètres en fonction de [Methode]
+ \restoreKV[GraphiqueTikzMinMax]%
+ \setKV[GraphiqueTikzMinMax]{#1}%
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflminmaxstep{\xintfloateval{((\useKV[GraphiqueTikzMinMax]{Fin})-(\useKV[GraphiqueTikzMinMax]{Debut}))/100}}%
+ }%
+ {}%
+ \begin{scope}[bezier bounding box,local bounding box=bbtmpmin]
+ \IfStrEq{\pflminmaxmethode}{fonction}%
+ {%
+ \path[draw=none,name path=curvetmpmin] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphiqueTikzMinMax]{Debut}}..[\pflstepcurve]..{\useKV[GraphiqueTikzMinMax]{Fin}},{\useKV[GraphiqueTikzMinMax]{Fin}})
+ \relax
+ };
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{interpo}%
+ {%
+ \path[draw=none,name path=curvetmpmin] plot[smooth,tension={\useKV[GraphiqueTikzMinMax]{Tension}}] coordinates {#2};
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{spline}%
+ {%
+ \GenererSpline{#2}{\pflminmaxcoeffs}[\tmpsplineminmax]%
+ \path[draw=none,name path=curvetmpmin] \tmpsplineminmax ;
+ }%
+ {}%
+ %retour
+ \path[name path=tmpmin] ([yshift=0.25\pgflinewidth]bbtmpmin.south east) -- ([yshift=0.25\pgflinewidth]bbtmpmin.south west) ;
+ \path[name intersections={of=curvetmpmin and tmpmin,name=#3}] ;
+ \coordinate (#3) at ($0.5*(#3-1)+0.5*(#3-2)+(0,-0.25\pgflinewidth)$) ;
+ \end{scope}
+}
+
+%====TEXTES
+\defKV[GraphiqueTikzNode]{%
+ Couleur=\def\pflnodecol{#1},%
+ Police=\def\pflnodefonte{#1},%
+ Position=\def\pfnodepos{#1}
+}
+\setKVdefault[GraphiqueTikzNode]{%
+ Couleur=black,%
+ Debut={\normalfont\normalsize},%
+ Position={}
+}
+\NewDocumentCommand\PlacerTexte{ O{} m m }{%
+ \restoreKV[GraphiqueTikzNode]%
+ \setKV[GraphiqueTikzNode]{#1}%
+ \draw #2 node[pflnoeud,font=\pflnodefonte,text=\pflnodecol,\pfnodepos] {#3} ;
+}
+
+%++++++++++++++++++++++++++
+%++++++++++ENGLISH+++++++++
+%++++++++++++++++++++++++++
+
+%====COMMANDE POUR NB DECIMAL ALEA ENTRE BORNES
+\NewDocumentCommand\PickRandomNb{ s O{0} m m O{\mmyrandomnb} }{%
+ \def\tmpborneinf{\xinteval{floor(#3)}}%inf=\tmpborneinf\par%
+ \def\tmpbornesup{\xinteval{ceil(#4)}}%sup=\tmpbornesup\par%
+ \xintifboolexpr{#2 == 0}%
+ {%
+ \xdef#5{\fpeval{randint(\tmpborneinf,\tmpbornesup)}}%
+ }%
+ {%
+ \def\tmptest{0}%
+ \whiledo{\tmptest=0}{%
+ \xintifboolexpr{(\tmpbornesup-\tmpborneinf) == 1}%
+ {%
+ \xdef\tmpresalea{\fpeval{\tmpborneinf+round(rand(),#2)}}%
+ }%
+ {%
+ \xdef\tmpresalea{\fpeval{round(randint(\tmpborneinf,\tmpbornesup)+rand(),#2)}}%
+ }%
+ %essai=\tmpresalea\par
+ \IfBooleanTF{#1}%
+ {%
+ \xintifboolexpr{\tmpresalea < #4 'and' \tmpresalea > #3 }{\def\tmptest{1}}{\def\tmptest{0}}%
+ }%
+ {%
+ \xintifboolexpr{\tmpresalea <= #4 'and' \tmpresalea >= #3 }{\def\tmptest{1}}{\def\tmptest{0}}%
+ }%
+ }%
+ \xdef#5{\tmpresalea}%
+ %res=%
+ }%
+}
+
+%====PATCH NUM
+\@ifundefined{RoundNb}%
+ {%
+ \NewDocumentCommand\RoundNb{ O{2} m}{\num{\xintfloateval{round(#2,#1)}}\relax}%
+ }%
+ {%
+ \RenewDocumentCommand\RoundNb{ O{2} m}{\num{\xintfloateval{round(#2,#1)}}\relax}%
+ }%
+
+%====STYLES DE BASE
+\tikzset{tkzgrphnode/.style={}}
+\tikzset{tkzgrphpoint/.style={line width=0.95pt}}
+\tikzset{tkzgrphpointc/.style={radius=1.75pt}}
+\tikzset{tkzgrphpointmc/.style={radius=0.875pt}}
+\tikzset{tkzgrphscatter/.style={radius=1.75pt}}
+\tikzset{tkzgrphframe/.style={line width=0.8pt,gray}}
+\tikzset{tkzgrphcurve/.style={line width=1.05pt}}
+\tikzset{tkzgrphline/.style={line width=0.8pt}}
+\tikzset{tkzgrpharrowl/.style={<-,>=latex}}
+\tikzset{tkzgrpharrowr/.style={->,>=latex}}
+\tikzset{tkzgrpharrowlr/.style={<->,>=latex}}
+\tikzset{tkzgrphcounterimage/.style={line width=0.9pt,densely dashed}}
+\tikzset{tkzgrphrange/.style={line width=0.9pt,densely dashed,->,>=latex}}
+\tikzset{tkzgrphgridp/.style={thin,lightgray}}
+\tikzset{tkzgrphgrids/.style={very thin,lightgray}}
+\tikzset{tkzgrphaxes/.style={line width=0.8pt,->,>=latex}}
+\tikzset{
+ Xgrid/.store in=\pflgrillex,Xgrid/.default=1,Xgrid=1,
+ Xgrids/.store in=\pflgrillexs,Xgrids/.default=0.5,Xgrids=0.5,
+ Ygrid/.store in=\pflgrilley,Ygrid/.default=1,Ygrid=1,
+ Ygrids/.store in=\pflgrilleys,Ygrids/.default=0.5,Ygrids=0.5
+}
+\tikzset{%
+ pics/tkzgraphcross/.style args={#1/#2}{
+ code={
+ \draw[tkzgrphpoint,rotate=#2] (-#1,0) -- (#1,0);
+ \draw[tkzgrphpoint,rotate=#2] (0,-#1) -- (0, #1);
+ }
+ },
+ pics/tkzgraphcross/.default={2pt/45}
+}
+\tikzset{%
+ pics/tkzgraphsquare/.style args={#1/#2}{
+ code={
+ \filldraw[draw=none,tkzgrphpoint,rotate=#2] (-#1,-#1) rectangle (#1,#1) ;
+ }
+ },
+ pics/tkzgraphsquare/.default={2pt/0}
+}
+
+%===COMMANDE INTERNE POUR FORMATER EN FRACTIONS
+\NewDocumentCommand\FormatFraction{ s O{} m }{%
+ %*=moins sur le numérateur
+ %2=argument.optionnel[d/t/dec=...]
+ %3=argument mandataire {calcul ou fraction}
+ \def\calculargument{\xintPRaw{\xintIrr{\xinteval{#3}}}}%on calcule et on transforme en A/B
+ \IfSubStr{\calculargument}{/}%on teste si le symbole / apparaît
+ {%si oui := fraction
+ \StrBefore{\calculargument}{/}[\numerateur]%on extrait le numérateur
+ \StrBehind{\calculargument}{/}[\denominateur]%on extrait le dénominateur
+ \ifblank{#2}%
+ {%
+ \IfBooleanTF{#1}%
+ {\ensuremath{\frac{\num{\numerateur}}{\num{\denominateur}}}}%
+ {%
+ \ifthenelse{\numerateur < 0}%
+ {\ensuremath{-\frac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}%
+ {\ensuremath{\frac{\num{\numerateur}}{\num{\denominateur}}}}%
+ }%
+ }%
+ {}%si l'argument optionnel est vide
+ \IfStrEq{#2}{d}%
+ {%
+ \IfBooleanTF{#1}%
+ {\ensuremath{\displaystyle\frac{\num{\numerateur}}{\num{\denominateur}}}}%
+ {%
+ \ifthenelse{\numerateur < 0}%
+ {\ensuremath{-\displaystyle\frac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}%
+ {\ensuremath{\displaystyle\frac{\num{\numerateur}}{\num{\denominateur}}}}%
+ }%
+ }%
+ {}%si l'argument optionnel est vide
+ \IfStrEq{#2}{t}%
+ {%
+ \IfBooleanTF{#1}%
+ {\ensuremath{\tfrac{\num{\numerateur}}{\num{\denominateur}}}}%
+ {%
+ \ifthenelse{\numerateur < 0}%
+ {\ensuremath{-\frac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}%
+ {\ensuremath{\frac{\num{\numerateur}}{\num{\denominateur}}}}%
+ }%
+ }%
+ {}%si l'argument optionnel est vide
+ \IfStrEq{#2}{n}%
+ {%
+ \ensuremath{\nicefrac{\num{\numerateur}}{\num{\denominateur}}}%
+ }%
+ {}%si l'argument optionnel est vide
+ }{%si non := entier
+ \num{\calculargument}%on affiche l'entier, avec le package siunitx
+ }%
+}
+
+%affichage d'un label en radians
+\NewDocumentCommand\FormatTrig{ O{t} m }{%étoilée en dfrac
+ \IfStrEq{#2}{0}%cas où l'argument vaut 0
+ {\def\restmp{0}}%
+ {%
+ \StrDel{#2}{*}[\restmpsansmoins]%
+ \StrSubstitute{\restmpsansmoins}{pi}{\pi}[\restmppi]%
+ \IfSubStr{#2}{/}%
+ {%
+ \StrCut{\restmppi}{/}\tmpnum\tmpdenom%
+ \IfSubStr{\tmpnum}{-}%
+ {%
+ \StrDel{\tmpnum}{-}[\restmppinum]%
+ \IfStrEqCase{#1}{%
+ {t}{\def\restmp{-\frac{\restmppinum}{\tmpdenom}}}%
+ {d}{\def\restmp{-\displaystyle\frac{\restmppinum}{\tmpdenom}}}%
+ {n}{\def\restmp{\nicefrac{-\restmppinum}{\tmpdenom}}}%
+ }%
+ }%
+ {%
+ \IfStrEqCase{#1}{%
+ {t}{\def\restmp{\frac{\tmpnum}{\tmpdenom}}}%
+ {d}{\def\restmp{\displaystyle\frac{\tmpnum}{\tmpdenom}}}%
+ {n}{\def\restmp{\nicefrac{\tmpnum}{\tmpdenom}}}%
+ }%
+ }%
+ }%
+ {%
+ \def\restmp{\restmppi}%
+ }%
+ }%
+ \ensuremath{\restmp}%
+}
+
+%====FORMATAGE DES RACINES SIMPLES
+\NewDocumentCommand\FormatSqrt{ O{t} m }{%
+ \IfStrEq{#2}{0}%cas où l'argument vaut 0
+ {\ensuremath{0}}%
+ {%
+ \IfSubStr{#2}{sqrt}%
+ {%
+ \StrDel{#2}{*}[\tmpargbrut]%
+ \StrBetween[1,1]{\tmpargbrut}{sqrt(}{)}[\tmpargnumrac]%
+ \StrBefore{\tmpargbrut}{sqrt}[\tmparavantrac]%
+ \IfStrEqCase{\tmparavantrac}{
+ {}{\xdef\tmparavantrac{}}%
+ {-}{\xdef\tmparavantrac{-}}%
+ }[\xdef\tmparavantrac{\num{\tmparavantrac}}]%
+ \IfSubStr{\tmpargbrut}{/}%
+ {%
+ \StrBehind{\tmpargbrut}{/}[\tmpargdenomrac]%
+ \IfStrEqCase{#1}{%
+ {d}{%
+ \ensuremath{\displaystyle\frac{\tmparavantrac\sqrt{\num{\tmpargnumrac}}}{\num{\tmpargdenomrac}}}%
+ }%
+ {t}{%
+ \ensuremath{\frac{\tmparavantrac\sqrt{\num{\tmpargnumrac}}}{\num{\tmpargdenomrac}}}%
+ }%
+ {n}{%
+ \ensuremath{\nicefrac{\tmparavantrac\sqrt{\num{\tmpargnumrac}}}{\num{\tmpargdenomrac}}}%
+ }%
+ }%
+ }%
+ {%
+ \ensuremath{\tmparavantrac\sqrt{\num{\tmpargnumrac}}}%
+ }%
+ }%
+ {%
+ \FormatFraction[#1]{#2}%
+ }%
+ }%
+}
+
+%====COMMANDE INTERNE DE CONVERSION
+\ExplSyntaxOn
+ \NewDocumentCommand\ConvertPtToCm{ m } { \dim_to_decimal_in_unit:nn { #1 } { 1 cm } }
+\ExplSyntaxOff
+
+%====RECUPERER COORDONNEES NOEUD
+\NewDocumentCommand\GetXcoord{ m O{\myxcoord} }{%
+ \path #1;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef#2{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+}
+\NewDocumentCommand\GetYcoord{ m O{\myycoord} }{%
+ \path #1;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef#2{\xintfloateval{(\ConvertPtToCm{\macroy})/(\pflyunit)}}%
+}
+
+\NewDocumentCommand\GetXYcoord{ m O{\myxcoord} O{\myycoord} }{%
+ \GetXcoord{#1}[#2]%
+ \GetYcoord{#1}[#3]%
+}
+
+%===UNITÉS
+\newcommand\DistBetweenNodes[3][\MyTmpDist]{%
+ \pgfpointdiff{\pgfpointanchor{#2}{center}}
+ {\pgfpointanchor{#3}{center}}
+ % no need to use a new dimen
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ % to convert from pt to cm
+ \pgfmathparse{veclen(\pgf@xa,\pgf@ya)/28.45274}
+ \global\let#1\pgfmathresult %macro globale
+}
+
+\newcommand\TikZUnits{
+ \coordinate (@0) at (0,0) ;
+ \coordinate (@X) at (1,0) ;
+ \coordinate (@Y) at (0,1) ;
+ \DistBetweenNodes[\pflxunit]{@0}{@X}
+ \DistBetweenNodes[\pflyunit]{@0}{@Y}
+}
+
+%====ENVIRONNEMENT
+\defKV[GraphicTikz]{%
+ GradThick=\def\pflthickgrad{#1}
+}
+\setKVdefault[GraphicTikz]{%
+ Frame=false,%
+ GradThick=3pt
+}
+
+\NewDocumentEnvironment{GraphTikz}{ O{} D<>{} }%
+%1 = options tikz, classiques
+%2 = clés spécifiques
+{%
+ \restoreKV[GraphicTikz]%
+ \setKV[GraphicTikz]{#2}%
+ %l'environnement
+ \begin{tikzpicture}[#1]%
+ %unités x/y pour des calculs de coordonnées
+ \TikZUnits
+ %noeuds
+ \coordinate (bbxTop) at (current bounding box.north) ;
+ \coordinate (bbxBottom) at (current bounding box.south) ;
+ \ifboolKV[GraphicTikz]{Frame}{\draw[tkzgrphframe] ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;}{}%
+ %back to normal
+}%
+{%
+ \end{tikzpicture}%
+}
+
+%====AXES
+\defKV[GraphicTikzAxis]{
+ Format=\def\pflformataxes{#1}
+}
+\setKVdefault[GraphicTikzAxis]{%
+ Grid=true,%
+ Enlarge=0,%
+ Grads=true,%
+ Origin=false,%
+ Font={},%
+ Format=num,%
+ Lines=true,%
+ Last=false,%
+ Behind=false,%
+ Above=false
+}
+
+\NewDocumentCommand\FormatXaxisValues{ m m }{%
+ \IfStrEqCase{#1}{%
+ {num}{\num{#2}}%
+ {year}{#2}%
+ {frac}{\FormatFrac{#2}}%
+ {dfrac}{\FormatFrac[d]{#2}}%
+ {nfrac}{\FormatFrac[n]{#2}}%
+ {trig}{\FormatTrig{#2}}%
+ {dtrig}{\FormatTrig[d]{#2}}%
+ {ntrig}{\FormatTrig[n]{#2}}%
+ {sqrt}{\FormatSqrt{#2}}%
+ {dsqrt}{\FormatSqrt[d]{#2}}%
+ {nsqrt}{\FormatSqrt[n]{#2}}%
+ }[#2]%
+}
+
+\NewDocumentCommand\FormatYaxisValues{ m m }{%
+ \IfStrEqCase{#1}{%
+ {num}{\num{#2}}%
+ {year}{#2}%
+ {frac}{\FormatSqrt{#2}}%
+ {dfrac}{\FormatFrac[d]{#2}}%
+ {nfrac}{\FormatFrac[n]{#2}}%
+ {trig}{\FormatTrig{#2}}%
+ {dtrig}{\FormatTrig[d]{#2}}%
+ {ntrig}{\FormatTrig[n]{#2}}%
+ {sqrt}{\FormatSqrt{#2}}%
+ {dsqrt}{\FormatSqrt[d]{#2}}%
+ {nsqrt}{\FormatSqrt[n]{#2}}%
+ }[#2]%
+}
+
+\NewDocumentCommand\DrawAxisGrids{ s O{} m D<>{#3} m D<>{#5} }{%
+ \restoreKV[GraphicTikzAxis]%
+ \setKV[GraphicTikzAxis]{#2}%
+ %cas particuliers sous/sur impression
+ \ifboolKV[GraphicTikzAxis]{Behind}%
+ {%
+ \setKV[GraphicTikzAxis]{Grads=false}
+ }%
+ {}%
+ \ifboolKV[GraphicTikzAxis]{Above}%
+ {%
+ \setKV[GraphicTikzAxis]{Grid=false}
+ }%
+ {}%
+ %suite
+ \IfSubStr{\pflformataxes}{/}%
+ {%
+ \StrCut{\pflformataxes}{/}{\pflformataxex}{\pflformataxey}%
+ }%
+ {%
+ \xdef\pflformataxex{\pflformataxes}\xdef\pflformataxey{\pflformataxes}%
+ }%
+ \ifboolKV[GraphicTikzAxis]{Grid}%
+ {%
+ \draw[tkzgrphgrids,xstep=\pflgrillexs,ystep=\pflgrilleys] ({\pflxmin},{\pflymin}) grid ({\pflxmax},{\pflymax});
+ \draw[tkzgrphgridp,xstep=\pflgrillex,ystep=\pflgrilley] ({\pflxmin},{\pflymin}) grid ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphicTikzAxis]{Last}%
+ {%
+ \draw[tkzgrphgridp] ({\pflxmin},{\pflymax})--({\pflxmax},{\pflymax}) ;
+ \draw[tkzgrphgridp] ({\pflxmax},{\pflymin})--({\pflxmax},{\pflymax}) ;
+ }%
+ {}%
+ }%
+ {}%
+ \draw[tkzgrphaxes] ({\pflxmin},{\pflOy}) -- ([xshift={\useKV[GraphicTikzAxis]{Enlarge}}]{\pflxmax},{\pflOy}) ;
+ \draw[tkzgrphaxes] ({\pflOx},{\pflymin}) -- ([yshift={\useKV[GraphicTikzAxis]{Enlarge}}]{\pflOx},{\pflymax}) ;
+ \IfEq{#3}{auto}%
+ {%
+ \xdef\tmprangexvalues{\xintfloateval{seq(i,i=\pflxmin..[\pflgrillex]..\pflxmax)}}\StrDel{\tmprangexvalues}{ }[\tmprangexvalues]%
+ \xdef\pflformataxex{num}%
+ }%
+ {%
+ \xdef\tmprangexvalues{#3}%
+ }%
+ \IfEq{#5}{auto}%
+ {%
+ \xdef\tmprangeyvalues{\xintfloateval{seq(i,i=\pflymin..[\pflgrilley]..\pflymax)}}\StrDel{\tmprangeyvalues}{ }[\tmprangeyvalues]%
+ \xdef\pflformataxey{num}%
+ }%
+ {%
+ \xdef\tmprangeyvalues{#5}%
+ }%
+ \foreach \x in \tmprangexvalues {\draw[tkzgrphline] ([yshift=\pflthickgrad]{\x},{\pflOy})--++(0,{-2*\pflthickgrad}) ;}
+ \foreach \y in \tmprangeyvalues {\draw[tkzgrphline] ([xshift=\pflthickgrad]{\pflOx},{\y})--++({-2*\pflthickgrad},0) ;}
+ \ifboolKV[GraphicTikzAxis]{Grads}%
+ {%
+ %origine
+ \ifboolKV[GraphicTikzAxis]{Origin}%
+ {%
+ \draw ({\pflOx},{\pflOy}) node[tkzgrphnode,below left,font={\useKV[GraphicTikzAxis]{Font}}] {\FormatXaxisValues{\pflformataxex}{\pflOx}} ;
+ %\draw (\pflOx,\pflOy) node[below left,font={\useKV[GraphicTikzAxis]{Font}}] {\ifboolKV[GraphicTikzAxis]{Num}{\num{\pflOx}}{\pflOx}} ;
+ }%
+ {}%
+ %graduations x, sauf si auto...
+ \foreach \x in \tmprangexvalues {%
+ \IfBooleanTF{#1}%
+ {%
+ \xintifboolexpr{\x == \pflOx}{}{\draw ([yshift=-\pflthickgrad]{\x},{\pflOy}) node[tkzgrphnode,below,font={\useKV[GraphicTikzAxis]{Font}}] {\FormatXaxisValues{\pflformataxex}{\x}} ;}
+ %\xintifboolexpr{\x == \pflOx}{}{\draw ([yshift=-\pflthickgrad]\x,\pflOy) node[below,font={\useKV[GraphicTikzAxis]{Font}}] {\ifboolKV[GraphicTikzAxis]{Num}{\num{\x}}{\x}} ;}
+ }%
+ {%
+ \draw ([yshift=-\pflthickgrad]{\x},{\pflOy}) node[tkzgrphnode,below,font={\useKV[GraphicTikzAxis]{Font}}] {\FormatXaxisValues{\pflformataxex}{\x}} ;
+ %\draw ([yshift=-\pflthickgrad]\x,\pflOy) node[below,font={\useKV[GraphicTikzAxis]{Font}}] {\ifboolKV[GraphicTikzAxis]{Num}{\num{\x}}{\x}} ;
+ }%
+ }%
+ \foreach \y in \tmprangeyvalues {%
+ \IfBooleanTF{#1}%
+ {%
+ \xintifboolexpr{\y == \pflOy}{}{\draw ([xshift=-\pflthickgrad]{\pflOx},{\y}) node[tkzgrphnode,left,font={\useKV[GraphicTikzAxis]{Font}}] {\FormatYaxisValues{\pflformataxey}{\y}} ;}
+ %\xintifboolexpr{\y == \pflOy}{}{\draw ([xshift=-\pflthickgrad]\pflOx,\y) node[left,font={\useKV[GraphicTikzAxis]{Font}}] {\ifboolKV[GraphicTikzAxis]{Num}{\num{\y}}{\y}} ;}
+ }%
+ {%
+ \draw ([xshift=-\pflthickgrad]{\pflOx},{\y}) node[tkzgrphnode,left,font={\useKV[GraphicTikzAxis]{Font}}] {\FormatYaxisValues{\pflformataxey}{\y}} ;
+ %\draw ([xshift=-\pflthickgrad]\pflOx,\y) node[left,font={\useKV[GraphicTikzAxis]{Font}}] {\ifboolKV[GraphicTikzAxis]{Num}{\num{\y}}{\y}} ;
+ }%
+ }%
+ }%
+ {}%
+}
+
+%===DEFINIR POINTS
+\setKVdefault[GraphicTikzDefPoints]{Color=black,Mark=false,Style=o}
+
+\NewDocumentCommand\DefinePts{ O{} m }{%
+ \restoreKV[GraphicTikzDefPoints]%
+ \setKV[GraphicTikzDefPoints]{#1}%
+ \foreach \tmpnamept/\tmpxpt/\tmpypt in {#2}{%
+ \coordinate (\tmpnamept) at ({\tmpxpt},{\tmpypt}) ;
+ \ifboolKV[GraphicTikzDefPoints]{Mark}%
+ {%
+ \MarkPts*[Style={\useKV[GraphicTikzDefPoints]{Style}},Color={\useKV[GraphicTikzDefPoints]{Color}}]{(\tmpnamept)}
+ %\filldraw[{\useKV[GraphicTikzDefPoints]{Color}}] (\tmpnamept) circle[tkzgrphpointc] ;
+ }%
+ {}%
+ }
+}
+
+\defKV[GraphicTikzMarkPoints]{%
+ Color=\def\pflcouleurpoints{#1},%
+ Style=\def\pflstylepoints{#1}
+}
+\setKVdefault[GraphicTikzMarkPoints]{%
+ Color=black,%
+ Sizec=2pt,%
+ Sizex=2pt,%
+ Sizeo=1.75pt,%
+ Style=o,%
+ Lines=false
+}
+\NewDocumentCommand\MarkPts{ s O{} D<>{\normalfont\normalsize} m }{%
+ %étoilée = sans label
+ %2=clés
+ %3=points
+ \restoreKV[GraphicTikzMarkPoints]%
+ \setKV[GraphicTikzMarkPoints]{#2}%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\pflstylepoints}{x}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphcross={\useKV[GraphicTikzMarkPoints]{Sizex}}/45} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{+}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphcross={\useKV[GraphicTikzMarkPoints]{Sizex}}/90} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{c}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphsquare={\useKV[GraphicTikzMarkPoints]{Sizec}}/0} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{d}%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphsquare={\useKV[GraphicTikzMarkPoints]{Sizeo}}/45} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{o}%
+ {%
+ \IfSubStr{\pflcouleurpoints}{/}%
+ {%
+ \StrCut{\pflcouleurpoints}{/}{\pflcouleurpointsA}{\pflcouleurpointsB}%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[tkzgrphline,fill=\pflcouleurpointsB,draw=\pflcouleurpointsA] \Point circle[radius={\useKV[GraphicTikzMarkPoints]{Sizeo}}] ;
+ }%
+ }%
+ {%
+ \foreach \Point in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[\pflcouleurpoints] \Point circle[radius={\useKV[GraphicTikzMarkPoints]{Sizeo}}] ;
+ }%
+ }%
+ }%
+ {}%
+ }%
+ {%avec label
+ \IfStrEq{\pflstylepoints}{x}%
+ {%
+ \foreach \Point/\Pos/\Label in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphcross={\useKV[GraphicTikzMarkPoints]{Sizex}}/45} node[tkzgrphnode,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{+}%
+ {%
+ \foreach \Point/\Pos/\Label in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphcross={\useKV[GraphicTikzMarkPoints]{Sizex}}/90} node[tkzgrphnode,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{c}%
+ {%
+ \foreach \Point/\Pos/\Label in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphsquare={\useKV[GraphicTikzMarkPoints]{Sizec}}/0} node[tkzgrphnode,\Pos,{\useKV[GraphicTikzMarkPoints]{Color}},font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{d}%
+ {%
+ \foreach \Point/\Pos/\Label in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[draw=none,fill={\useKV[GraphicTikzMarkPoints]{Color}}] \Point pic{tkzgraphsquare={\useKV[GraphicTikzMarkPoints]{Sizeo}}/45} node[tkzgrphnode,\Pos,{\useKV[GraphicTikzMarkPoints]{Color}},font=#3] {\Label} ;
+ }%
+ }%
+ {}%
+ \IfStrEq{\pflstylepoints}{o}%
+ {%
+ \IfSubStr{\pflcouleurpoints}{/}%
+ {%
+ \StrCut{\pflcouleurpoints}{/}{\pflcouleurpointsA}{\pflcouleurpointsB}%
+ \foreach \Point/\Pos/\Label in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \draw[tkzgrphline,\pflcouleurpointsA,fill=\pflcouleurpointsB] \Point circle[radius={\useKV[GraphicTikzMarkPoints]{Sizeo}}] node[tkzgrphnode,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ {%
+ \foreach \Point/\Pos/\Label in {#4} {%
+ \ifboolKV[GraphicTikzMarkPoints]{Lines}%
+ {%
+ \draw[{\useKV[GraphicTikzMarkPoints]{Color}},tkzgrphcounterimage] let \p1 = \Point in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \filldraw[\pflcouleurpoints] \Point circle[radius={\useKV[GraphicTikzMarkPoints]{Sizeo}}] node[tkzgrphnode,\Pos,font=#3] {\Label} ;
+ }%
+ }%
+ }%
+ {}%
+ }%
+}
+
+%===AJOUTER DES VALEURS MANUELLEMENT
+\NewDocumentCommand\AddXvalues{ O{} m m }{%
+ \restoreKV[GraphicTikzAxis]%
+ \setKV[GraphicTikzAxis]{#1}%
+ \ifboolKV[GraphicTikzAxis]{Lines}{\foreach \x in {#2}{\draw[tkzgrphline] ([yshift=\pflthickgrad]{\x},{\pflOy})--++(0,{-2*\pflthickgrad}) ;}}{}%
+ \readlist*\LstValX{#2}%
+ \readlist*\LstValFmtX{#3}%
+ \foreach \i in {1,...,\LstValXlen}{%
+ \itemtomacro\LstValX[\i]\mavalx%
+ \itemtomacro\LstValFmtX[\i]\mavalfmtx%
+ \draw ([yshift=-\pflthickgrad]{\mavalx},{\pflOy}) node[tkzgrphnode,below,font={\useKV[GraphicTikzAxis]{Font}}] {\mavalfmtx} ;
+ }%
+}
+
+\NewDocumentCommand\AddYvalues{ O{} m m }{%
+ \restoreKV[GraphicTikzAxis]%
+ \setKV[GraphicTikzAxis]{#1}%
+ \ifboolKV[GraphicTikzAxis]{Lines}{\foreach \y in {#2}{\draw[tkzgrphline] ([xshift=\pflthickgrad]{\pflOx},{\y})--++({-2*\pflthickgrad},0) ;}}{}%
+ \readlist*\LstValY{#2}%
+ \readlist*\LstValFmtY{#3}%
+ \foreach \i in {1,...,\LstValYlen}{%
+ \itemtomacro\LstValY[\i]\mavaly%
+ \itemtomacro\LstValFmtY[\i]\mavalfmty%
+ \draw ([xshift=-\pflthickgrad]{\pflOx},{\mavaly}) node[tkzgrphnode,left,font={\useKV[GraphicTikzAxis]{Font}}] {\mavalfmty} ;
+ }%
+}
+
+%====FONCTIONS ET COURBES 'classique + interpo + spline'
+\defKV[GraphicTikzCourbe]{%
+ Step=\def\pflstepcurve{#1},%
+ Name=\def\pflnamecurve{#1}
+}
+\setKVdefault[GraphicTikzCourbe]{%
+ Color=black,%
+ Start={\pflxmin},%
+ End={\pflxmax},%
+ Step={},%
+ Clip=true,%
+ Name={},%
+ Trace=false,%
+ Tension=0.5
+}
+
+\NewDocumentCommand\DefineFunction{ O{} D<>{f} m }{%old version
+ \restoreKV[GraphicTikzCourbe]%
+ \setKV[GraphicTikzCourbe]{#1}%
+ \xintdeffloatfunc #2(x) := #3 ;
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflstepcurve{\xintfloateval{((\useKV[GraphicTikzCourbe]{End})-(\useKV[GraphicTikzCourbe]{Start}))/100}}%
+ }%
+ {}%
+ \ifboolKV[GraphicTikzCourbe]{Clip}{\begin{scope}\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});}{}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphicTikzCourbe]{Trace}%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzCourbe]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzCourbe]{End}},{\useKV[GraphicTikzCourbe]{End}})
+ \relax
+ };
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzCourbe]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzCourbe]{End}},{\useKV[GraphicTikzCourbe]{End}})
+ \relax
+ };
+ }%
+ \ifboolKV[GraphicTikzCourbe]{Clip}{\end{scope}}{}
+}
+
+\NewDocumentCommand\DefineCurve{ O{} D<>{f} m }{%
+ \restoreKV[GraphicTikzCourbe]%
+ \setKV[GraphicTikzCourbe]{#1}%
+ \xintdeffloatfunc #2(x) := #3 ;
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflstepcurve{\xintfloateval{((\useKV[GraphicTikzCourbe]{End})-(\useKV[GraphicTikzCourbe]{Start}))/100}}%
+ }%
+ {}%
+ \ifboolKV[GraphicTikzCourbe]{Clip}{\begin{scope}\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});}{}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphicTikzCourbe]{Trace}%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzCourbe]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzCourbe]{End}},{\useKV[GraphicTikzCourbe]{End}})
+ \relax
+ };
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzCourbe]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzCourbe]{End}},{\useKV[GraphicTikzCourbe]{End}})
+ \relax
+ };
+ }%
+ \ifboolKV[GraphicTikzCourbe]{Clip}{\end{scope}}{}
+}
+
+\NewDocumentCommand\DrawCurve{ O{} D<>{} m }{%
+ \restoreKV[GraphicTikzCourbe]%
+ \setKV[GraphicTikzCourbe]{#1}%
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflstepcurve{\xintfloateval{((\useKV[GraphicTikzCourbe]{End})-(\useKV[GraphicTikzCourbe]{Start}))/100}}%
+ }%
+ {}%
+ \ifboolKV[GraphicTikzCourbe]{Clip}{\begin{scope}\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});}{}
+ \IfEq{\pflnamecurve}{}%
+ {%
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}}] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#3),x={\useKV[GraphicTikzCourbe]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzCourbe]{End}},{\useKV[GraphicTikzCourbe]{End}})
+ \relax
+ };
+ }%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#3),x={\useKV[GraphicTikzCourbe]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzCourbe]{End}},{\useKV[GraphicTikzCourbe]{End}})
+ \relax
+ };
+ }%
+ \ifboolKV[GraphicTikzCourbe]{Clip}{\end{scope}}{}
+}
+
+\NewDocumentCommand\DefineLstInterpol{ m O{\myinterpolist} }{%
+ \def#2{#1}%
+}
+
+\NewDocumentCommand\DefineInterpoCurve{ O{} m }{%
+ \restoreKV[GraphicTikzCourbe]%
+ \setKV[GraphicTikzCourbe]{#1}%
+ \begin{scope}
+ \ifboolKV[GraphicTikzCourbe]{Trace}%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth,tension={\useKV[GraphicTikzCourbe]{Tension}}] coordinates {#2};
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}},name path global=\pflnamecurve] plot[smooth,tension={\useKV[GraphicTikzCourbe]{Tension}}] coordinates {#2};
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\DrawInterpoCurve{ O{} m }{%
+ %2=liste
+ \restoreKV[GraphicTikzCourbe]%
+ \setKV[GraphicTikzCourbe]{#1}%
+ \begin{scope}
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzCourbe]{Color}}] plot [smooth,tension={\useKV[GraphicTikzCourbe]{Tension}}] coordinates {#2} ;
+ \end{scope}
+}
+
+\NewDocumentCommand\DefineLstSpline{ m O{\mysplinelst} }{%
+ \def#2{#1}%
+}
+
+\newcommand\tkzextractcoeff[2]{%1=liste,2=numero
\setsepchar{§}%
\readlist*\lcoeffs{#1}
\ifnum \lcoeffslen=1
@@ -964,26 +2962,26 @@
\fi
}
-\defKV[GraphiqueTikzSpline]{%
- Nom=\def\pflsplinename{#1},%
+\defKV[GraphicTikzSpline]{%
+ Name=\def\pflsplinename{#1},%
Coeffs=\def\pflsplinecoeffs{#1}
}
-\setKVdefault[GraphiqueTikzSpline]{%
- Nom=spline,%
- Couleur=black,%
+\setKVdefault[GraphicTikzSpline]{%
+ Name=spline,%
+ Color=black,%
Coeffs=3,%
Trace=false
}
-\NewDocumentCommand\GenererSpline{ m m O{\monspline} }{%
+\NewDocumentCommand\GenerateSpline{ m m O{\myspline} }{%
%1=liste
\setsepchar[.]{§./}%
\readlist*\SPLlistepoints{#1}%
%les données
\def\tmpsplinenumdeb{1}
\def\tmpsplinenumfin{\SPLlistepointslen}%
- \pflextractcoeff{#2}{\tmpsplinenumdeb}%
+ \tkzextractcoeff{#2}{\tmpsplinenumdeb}%
%nb de calculs
\def\SPLnbsplines{\inteval{\tmpsplinenumfin-1}}%
%extraction des coordonnées
@@ -996,7 +2994,7 @@
\xdef#3{(\xa,\ya) ..controls +({atan \fprimea}:{(\xb-\xa)/\COEFFA}) and +({-180 + atan \fprimeb}:{(\xb-\xa)/\COEFFA}).. (\xb,\yb)}%
\foreach \i in {\tmpsplinenumdeb,...,\SPLnbsplines}{%
%extraction des coeffs de compensation
- \pflextractcoeff{#2}{\i}%
+ \tkzextractcoeff{#2}{\i}%
\def\j{\inteval{\i+1}}%
\itemtomacro\SPLlistepoints[\i,1]\xa%
\itemtomacro\SPLlistepoints[\i,2]\ya%
@@ -1008,34 +3006,752 @@
}%
}
-\NewDocumentCommand\DefinirSpline{ O{} m D<>{\monspline} }{%
+\NewDocumentCommand\DefineSplineCurve{ O{} m D<>{\myspline} }{%
%1=liste
- \restoreKV[GraphiqueTikzSpline]%
- \setKV[GraphiqueTikzSpline]{#1}%
- \GenererSpline{#2}{\pflsplinecoeffs}<#3>%
+ \restoreKV[GraphicTikzSpline]%
+ \setKV[GraphicTikzSpline]{#1}%
+ \GenerateSpline{#2}{\pflsplinecoeffs}[#3]%
\begin{scope}
- \ifboolKV[GraphiqueTikzSpline]{Trace}%
+ \ifboolKV[GraphicTikzSpline]{Trace}%
{%
- \path[draw,pflcourbe,{\useKV[GraphiqueTikzSpline]{Couleur}},name path global=\pflsplinename] #3 ;
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzSpline]{Color}},name path global=\pflsplinename] #3 ;
}%
{%
- \path[draw=none,pflcourbe,name path global=\pflsplinename] #3 ;
+ \path[draw=none,tkzgrphcurve,name path global=\pflsplinename] #3 ;
}%
\end{scope}
}
-\NewDocumentCommand\TracerSpline{ O{} m D<>{\monspline} }{%
+\NewDocumentCommand\DefineSpline{ O{} m D<>{\myspline} }{%old version
%1=liste
- \restoreKV[GraphiqueTikzSpline]%
- \setKV[GraphiqueTikzSpline]{#1}%
- \GenererSpline{#2}{\pflsplinecoeffs}<#3>%
+ \restoreKV[GraphicTikzSpline]%
+ \setKV[GraphicTikzSpline]{#1}%
+ \GenerateSpline{#2}{\pflsplinecoeffs}[#3]%
\begin{scope}
- \draw[pflcourbe,{\useKV[GraphiqueTikzSpline]{Couleur}}] #3 ;
+ \ifboolKV[GraphicTikzSpline]{Trace}%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzSpline]{Color}},name path global=\pflsplinename] #3 ;
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,name path global=\pflsplinename] #3 ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\DrawSplineCurve{ O{} m D<>{\myspline} }{%
+ %1=liste
+ \restoreKV[GraphicTikzSpline]%
+ \setKV[GraphicTikzSpline]{#1}%
+ \GenerateSpline{#2}{\pflsplinecoeffs}[#3]%
+ \begin{scope}
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzSpline]{Color}}] #3 ;
+ \end{scope}
+}
+
+\NewDocumentCommand\DrawSpline{ O{} m D<>{\myspline} }{%old version
+ %1=liste
+ \restoreKV[GraphicTikzSpline]%
+ \setKV[GraphicTikzSpline]{#1}%
+ \GenerateSpline{#2}{\pflsplinecoeffs}[#3]%
+ \begin{scope}
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzSpline]{Color}}] #3 ;
+ \end{scope}
+}
+
+%===INTERSECTION & ANTÉCÉDENTS
+\defKV[GraphicTikzIntersect]{%
+ Name=\def\pflintercurves{#1}
+}
+\setKVdefault[GraphicTikzIntersect]{%
+ Name=S,
+ Disp=true,
+ Color=black,
+ DispLine=false,%
+ Lines=false,%
+ Style=o
+}
+
+\NewDocumentCommand\FindIntersections{ O{} m m D<>{\myt} }{%
+ \restoreKV[GraphicTikzIntersect]%
+ \setKV[GraphicTikzIntersect]{#1}%
+ \path[name intersections={of=#2 and #3,name=\pflintercurves,total=\t}] \pgfextra{\xdef#4{\t}};
+ \ifboolKV[GraphicTikzIntersect]{Disp}%
+ {%
+ \xintifboolexpr{#4 == 0}{}%
+ {%
+ \foreach \i in {1,...,#4}{%
+ \ifboolKV[GraphicTikzIntersect]{Lines}%
+ {%
+ \draw[tkzgrphrange,{\useKV[GraphicTikzIntersect]{Color}}]let \p1 = (\pflintercurves-\i) in (\pflintercurves-\i) -- ({\x1},{\pflOy}) ;
+ }%
+ {}%
+ \MarkPts*[Style={\useKV[GraphicTikzIntersect]{Style}},Color={\useKV[GraphicTikzIntersect]{Color}}]{(\pflintercurves-\i)}
+ %\filldraw[{\useKV[GraphicTikzIntersect]{Color}}] (\pflintercurves-\i) circle[tkzgrphpointc] ;
+ }
+ }%
+ }%
+ {}%
+}
+
+\NewDocumentCommand\FindCounterimage{ O{} m m D<>{\myantec} }{%
+ \restoreKV[GraphicTikzIntersect]%
+ \setKV[GraphicTikzIntersect]{#1}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphicTikzIntersect]{DispLine}%
+ {%
+ \path[draw,{\useKV[GraphicTikzIntersect]{Color}},tkzgrphcurve,name path=tmpanteced] ({\pflxmin},{#3})--({\pflxmax},{#3}) ;
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,name path=tmpanteced] ({\pflxmin},{#3})--({\pflxmax},{#3}) ;
+ }%
+ \path[name intersections={of=#2 and tmpanteced,name=\pflintercurves,total=\t}] \pgfextra{\xdef#4{\t}};
+ \ifboolKV[GraphicTikzIntersect]{Disp}%
+ {%
+ \xintifboolexpr{#4 == 0}{}%
+ {%
+ \foreach \i in {1,...,#4}{%
+ \MarkPts*[Style={\useKV[GraphicTikzIntersect]{Style}},Color={\useKV[GraphicTikzIntersect]{Color}}]{(\pflintercurves-\i)}
+ %\filldraw[{\useKV[GraphicTikzIntersect]{Color}}] (\pflintercurves-\i) circle[tkzgrphpointc] ;
+ }
+ }%
+ }%
+ {}%
+ \end{scope}
+}
+
+%====INTÉGRALES
+%v2 avec modification de la clé [Type=...] ?
+\defKV[GraphicTikzIntegr]{%
+ Colors=\def\pfldomtikzcolors{#1},%
+ Style=\def\pfldomtikzstyle{#1},%
+ Opacity=\def\pfldomtikzopac{#1},%
+ Hatch=\def\pfldomtikzhatch{#1},%
+ Type=\def\pfldomtikztype{#1},%
+ Step=\def\pflstepcurve{#1},%
+ Bounds=\def\pflintbornes{#1},%
+ Junction=\def\pfldomtikzjoin{#1},%
+ NameInterpo=\def\pfldomtikznameinterpo{#1},%
+ NameInterpoB=\def\pfldomtikznameinterpob{#1},%
+ NameSpline=\def\pfldomtikznamespline{#1},%
+ NameSplineB=\def\pfldomtikznamesplineb{#1}
+}
+\setKVdefault[GraphicTikzIntegr]{%
+ Colors=gray,%
+ Style=fill,%
+ Opacity=0.5,%
+ Hatch={north west lines},%
+ Type=fct,%
+ Step={},%
+ Junction=bevel,%
+ Bounds=abs,%
+ Border=true,%
+ Spline=false,%
+ SplineB=false,%
+ NameInterpo={\myinterpo},%
+ NameInterpoB={\myinterpoB},%
+ NameSpline={\myspline},%
+ NameSplineB={\myplineB},%
+ Tension=0.5,%
+ TensionB=0.5
+}
+
+\NewDocumentCommand\DrawIntegral{ O{} D<>{} m O{0} m m }{%
+ %1 = clés
+ %2 = options particulières tikz
+ %3 = fonction, en tikz
+ %4 = fonction n°2 éventuelle
+ %de #5 à #6
+ \restoreKV[GraphicTikzIntegr]% revenir au valeurs par défaut
+ \setKV[GraphicTikzIntegr]{#1}% lit les arguments optionnels
+ %les couleurs
+ \IfSubStr{\pfldomtikzcolors}{/}%
+ {%
+ \StrCut{\pfldomtikzcolors}{/}{\pfldomtikzcolorbord}{\pfldomtikzcolorfond}
+ }%
+ {%
+ \xdef\pfldomtikzcolorbord{\pfldomtikzcolors}\xdef\pfldomtikzcolorfond{\pfldomtikzcolors}
+ }%
+ \ifboolKV[GraphicTikzIntegr]{Border}%
+ {%
+ \tikzset{integralebordtikzstyle/.style={draw=\pfldomtikzcolorbord}}
+ }%
+ {%
+ \tikzset{integralebordtikzstyle/.style={draw=none}}
+ }%
+ \IfStrEq{\pfldomtikzstyle}{hatch}%
+ {%
+ \tikzset{integraletikzstyle/.style={tkzgrphline,pattern=\pfldomtikzhatch,pattern color=\pfldomtikzcolorfond,line join=\pfldomtikzjoin}}
+ }%
+ {}%
+ \IfStrEq{\pfldomtikzstyle}{fill}%
+ {%
+ \tikzset{integraletikzstyle/.style={tkzgrphline,fill=\pfldomtikzcolorfond,fill opacity=\pfldomtikzopac,line join=\pfldomtikzjoin}}
+ }%
+ {}%
+ %extraction des infos x/y
+ \IfStrEqCase{\pflintbornes}{%
+ {abs}%
+ {%
+ \xdef\absnoeudA{#5}%
+ \xdef\absnoeudB{#6}%
+ }%
+ {nodes}%
+ {%
+ \path #5;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\absnoeudA{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ \path #6;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\absnoeudB{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ }%
+ {abs/node}%
+ {%
+ \xdef\absnoeudA{#5}%
+ \path #6;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\absnoeudB{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ }%
+ {node/abs}%
+ {%
+ \path #5;
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\absnoeudA{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\absnoeudB{#6}%
+ }%
+ }%
+ %suite avec les nbs points
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflstepcurve{\xintfloateval{((\absnoeudB)-(\absnoeudA))/100}}%
+ }%
+ {}%
+ %TRACÉSen fonction des types de courbes
+ \IfStrEq{\pfldomtikztype}{fct}%
+ {%OK
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflOy}) -- cycle ;
+ \end{scope}
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl}%avec 3=courbe spline + clé [Spline] à utiliser !
+ {%OK
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflOy}) -- cycle ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintbornea,name=YYY}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudA},{\pflOy})-- (YYY-1) ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintborneb,name=ZZZ}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudB},{\pflOy})-- (ZZZ-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp}%avec 3=courbe interpo
+ {%OK
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflOy}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflOy}) -- cycle ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=YYY}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudA},{\pflOy})-- (YYY-1) ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=ZZZ}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudB},{\pflOy})-- (ZZZ-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{fct/fct}%avec #3=formule et #4=formule
+ {%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[integraletikzstyle,integralebordtikzstyle,#2] plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudB..[-(\pflstepcurve)]..\absnoeudA,\absnoeudA)\relax} -- cycle ;
+ \end{scope}
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl/spl}%avec #3=cbe spline + #4=cbe splineB
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymax}) -- \pfldomtikznamesplineb -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintbornea,name=YYYA}] ;
+ \path[name intersections={of=#4 and tmpintbornea,name=ZZZA}] ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=#3 and tmpintborneb,name=YYYB}] ;
+ \path[name intersections={of=#4 and tmpintborneb,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYA-1)-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYB-1)-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp/itp}%avec #3=cbe interpo + #4=cbe interpoB
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflymin}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{TensionB}}] coordinates {#4} -- ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=YYYA}] ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpob,name=ZZZA}] ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=YYYB}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpob,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYA-1)-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYB-1)-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{fct/spl}%avec #3=formule + #4=spline
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymax}) -- \pfldomtikznamesplineb -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and #4,name=ZZZA}] ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and #4,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudA},{\xintfloateval{subs(#3,x=\absnoeudA)}})-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudB},{\xintfloateval{subs(#3,x=\absnoeudB)}})-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl/fct}%avec #3=spline + #4=fct
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymin}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and #3,name=ZZZA}] ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintborneb and #3,name=ZZZB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudA},{\xintfloateval{subs(#4,x=\absnoeudA)}})-- (ZZZA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudB},{\xintfloateval{subs(#4,x=\absnoeudB)}})-- (ZZZB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{fct/itp}%avec #3=formule + #4=liste interpo
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{TensionB}}] coordinates {#4} -- ({\absnoeudB},{\pflymax}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpob,name=ZZZAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpob,name=ZZZAB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudA},{\xintfloateval{subs(#3,x=\absnoeudA)}})-- (ZZZAA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudB},{\xintfloateval{subs(#3,x=\absnoeudB)}})-- (ZZZAB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp/fct}%
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=\absnoeudA..[\pflstepcurve]..\absnoeudB,\absnoeudB)\relax} -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflymin}) ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=ZZZAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=ZZZAB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudA},{\xintfloateval{subs(#4,x=\absnoeudA)}})-- (ZZZAA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] ({\absnoeudB},{\xintfloateval{subs(#4,x=\absnoeudB)}})-- (ZZZAB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{itp/spl}%
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{Tension}}] coordinates {#3} -- ({\absnoeudB},{\pflymin}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- \pfldomtikznamesplineb -- ({\absnoeudB},{\pflymax}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;%borne inf
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;%borne sup
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpo,name=YYYKAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpo,name=YYYKBB}] ;
+ \path[name intersections={of=tmpintbornea and #4,name=ZZZKAA}] ;
+ \path[name intersections={of=tmpintborneb and #4,name=ZZZKBB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYKAA-1)-- (ZZZKAA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYKBB-1)-- (ZZZKBB-1) ;
+ }%
+ {}%
+ \IfStrEq{\pfldomtikztype}{spl/itp}%
+ {%
+ \begin{scope}
+ \clip ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymax}) -- plot [smooth,tension={\useKV[GraphicTikzIntegr]{TensionB}}] coordinates {#4} -- ({\absnoeudB},{\pflymax}) ;
+ \clip ({\absnoeudA},{\pflymin}) -- \pfldomtikznamespline -- ({\absnoeudB},{\pflymin}) -- cycle ;
+ \filldraw[integraletikzstyle,integralebordtikzstyle,#2] ({\absnoeudA},{\pflymin}) rectangle ({\absnoeudB},{\pflymax}) ;
+ \end{scope}
+ \path[draw=none,tkzgrphcurve,name path=tmpintbornea] ({\absnoeudA},{\pflymin})--({\absnoeudA},{\pflymax}) ;%borne inf
+ \path[draw=none,tkzgrphcurve,name path=tmpintborneb] ({\absnoeudB},{\pflymin})--({\absnoeudB},{\pflymax}) ;%borne sup
+ \path[name intersections={of=tmpintbornea and \pfldomtikznameinterpob,name=YYYKAA}] ;
+ \path[name intersections={of=tmpintborneb and \pfldomtikznameinterpob,name=YYYKBB}] ;
+ \path[name intersections={of=tmpintbornea and #3,name=ZZZKAA}] ;
+ \path[name intersections={of=tmpintborneb and #3,name=ZZZKBB}] ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYKAA-1)-- (ZZZKAA-1) ;
+ \draw[\pfldomtikzcolorbord,tkzgrphline] (YYYKBB-1)-- (ZZZKBB-1) ;
+ }%
+ {}%
+}
+
+\NewDocumentCommand\DrawPts{ s O{black} D<>{\normalfont\normalsize} m }{%
+ \IfBooleanTF{#1}%
+ {%
+ \foreach \Point in {#4}{%
+ \filldraw[#2] \Point circle[tkzgrphpointc] ;
+ }
+ }%
+ {%
+ \foreach \Point/\Pos/\Label in {#4}{%
+ \filldraw[#2] \Point circle[tkzgrphpointc] node[tkzgrphnode,\Pos,font=#3] {\Label} ;
+ }
+ }%
+}
+
+% %====STATS À 2 VARIABLES
+\defKV[GraphicTikzRegLin]{%
+ Rounds=\def\pflarrondisreglin{#1},
+ Name=\def\pflnamereglin{#1},
+ NameParab=\def\pflnameregquad{#1},
+ Start=\def\pflreglinmin{#1},
+ End=\def\pflreglinmax{#1}
+}
+\setKVdefault[GraphicTikzRegLin]{
+ ColorScatter=black,
+ ColorLine=black,
+ ColorParab=black,
+ Rounds={},
+ Start={\pflxmin},
+ End={\pflxmax},
+ Name=reglin,%
+ NameParab=quadreg,%
+ DrawLine=false,%
+ DrawParab=false,%
+ Style=o
+}
+
+\NewDocumentCommand\DrawScatter{ O{} D<>{d} m m }{%
+ \useKVdefault[GraphicTikzRegLin]%
+ \setKV[GraphicTikzRegLin]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#3}
+ \def\yliste{#4}
+ \readlist*\LX{\xliste}
+ \readlist*\LY{\yliste}
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}
+ %nuage
+ \foreach \i in {1,...,\LXlen}{%
+ \itemtomacro\LX[\i]\tmpmavalx%
+ \itemtomacro\LY[\i]\tmpmavaly%
+ \MarkPts*[Style={\useKV[GraphicTikzRegLin]{Style}},Color={\useKV[GraphicTikzRegLin]{ColorScatter}}]{(\tmpmavalx,\tmpmavaly)}%
+ }
+ %droite de régression
+ \ifboolKV[GraphicTikzRegLin]{DrawLine}%
+ {%
+ %somme des LX et des LY OK
+ \xdef\LXSomme{0}
+ \xdef\LYSomme{0}
+ \foreach \i in {1,2,...,\LNB}{
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[\i]}}
+ }
+ \foreach \i in {1,2,...,\LNB}{
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[\i]}}
+ }
+ %moyenne des LX et des LY OK
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}
+ %variance des LX et des LY OK
+ \xdef\LXvar{0}
+ \foreach \i in {1,2,...,\LNB}{
+ \xdef\LXvar{\xintfloateval{\LXvar+(\LX[\i]-\LXmoy)*(\LX[\i]-\LXmoy)}}
+ }
+ \xdef\LXvar{\xintfloateval{\LXvar/\LNB}}
+ \xdef\LYvar{0}
+ \foreach \i in {1,2,...,\LNB}{
+ \xdef\LYvar{\xintfloateval{\LYvar+(\LY[\i]-\LYmoy)*(\LY[\i]-\LYmoy)}}
+ }
+ \xdef\LYvar{\xintfloateval{\LYvar/\LNB}}
+ %covariance des XY OK
+ \xdef\LXYvar{0}
+ \foreach \i in {1,2,...,\LNB}{
+ \xdef\LXYvar{\xintfloateval{\LXYvar+(\LX[\i]-\LXmoy)*(\LY[\i]-\LYmoy)}}
+ }
+ \xdef\LXYvar{\xintfloateval{\LXYvar/\LNB}}
+ %COEFFS OK
+ \IfStrEq{\pflarrondisreglin}{}%
+ {%
+ \xdef\tmpcoeffreglina{\xintfloateval{\LXYvar/\LXvar}}
+ \xdef\tmpcoeffreglinb{\xintfloateval{\LYmoy-\tmpcoeffreglina*\LXmoy}}
+ }%
+ {%
+ \IfSubStr{\pflarrondisreglin}{/}%
+ {%
+ \StrCut{\pflarrondisreglin}{/}{\pflarrondisreglina}{\pflarrondisreglinb}
+ }%
+ {%
+ \xdef\pflarrondisreglina{\pflarrondisreglin}\xdef\pflarrondisreglinb{\pflarrondisreglin}
+ }%
+ \xdef\tmpcoeffreglina{\xintfloateval{round(\LXYvar/\LXvar,\pflarrondisreglina)}}
+ \xdef\tmpcoeffreglinb{\xintfloateval{round(\LYmoy-\tmpcoeffreglina*\LXmoy,\pflarrondisreglinb)}}
+ }%
+ \xintdeffloatfunc #2(x) := (\tmpcoeffreglina)*x+(\tmpcoeffreglinb) ;
+ %tracé
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzRegLin]{ColorLine}},name path global=\pflnamereglin,samples=2,domain=\pflreglinmin:\pflreglinmax] plot (\x,{\tmpcoeffreglina*\x+\tmpcoeffreglinb}) ;
+ \end{scope}
+ }%
+ {}%
+ \ifboolKV[GraphicTikzRegLin]{DrawParab}%
+ {%
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[\i]}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[\i])^2}}%
+ }%
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[\i]}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[\i]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[\i]-\LXmoy)*(\LY[\i]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[\i]-\LXmoy)*((\LX[\i])*(\LX[\i])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[\i])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[\i])^2-\LXCmoy)*(\LY[\i]-\LYmoy)}}%
+ }%
+ %COEFFS OK
+ \IfStrEq{\pflarrondisreglin}{}%
+ {%
+ \xdef\tmpcoeffregquadb{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}
+ \xdef\tmpcoeffregquada{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}
+ \xdef\tmpcoeffregquadc{\xintfloateval{\LYmoy-\tmpcoeffregquadb*\LXmoy-\tmpcoeffregquada*\LXCmoy}}
+ }%
+ {%
+ \xdef\tmpcoeffregquadb{\xintfloateval{round((\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2),\pflarrondisreglin)}}
+ \xdef\tmpcoeffregquada{\xintfloateval{round((\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2),\pflarrondisreglin)}}
+ \xdef\tmpcoeffregquadc{\xintfloateval{round(\LYmoy-\tmpcoeffregquadb*\LXmoy-\tmpcoeffregquada*\LXCmoy,\pflarrondisreglin)}}
+ }%
+ \xintdeffloatfunc #2(x) := (\tmpcoeffregquada)*x^2+(\tmpcoeffregquadb)*x+\tmpcoeffregquadc ;
+ %tracé
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzRegLin]{ColorParab}},name path global=\pflnameregquad,samples=250,domain=\pflreglinmin:\pflreglinmax] plot (\x,{\tmpcoeffregquada*(\x)^2+\tmpcoeffregquadb*\x+\tmpcoeffregquadc}) ;
+ \end{scope}
+ }%
+ {}%
+}
+
+\if@loadxintreg
+%régressions alternatives
+\NewDocumentCommand\DrawRegression{ O{} D<>{curvajust} m D<>{} m m }{%
+ %1=options de tracés
+ %2=nom courbe
+ %3=type
+ %4=arrondis
+ %5=liste X
+ %6=liste Y
+ \IfStrEq{#3}{lin}%
+ {%
+ \xintlinreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\linrega*x+\linregb}%
+ }%
+ {}%
+ \IfStrEq{#3}{quad}%
+ {%
+ \xintquadreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\quadrega*x^2+\quadregb*x+\quadregc}%
+ }%
+ {}%
+ \IfStrEq{#3}{pow}%
+ {%
+ \xintpowreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\powrega*x^(\powregb)}%
+ }%
+ {}%
+ \IfStrEq{#3}{expab}%
+ {%
+ \xintexpabreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\expabrega*(\expabregb)^x}%
+ }%
+ {}%
+ \IfStrEq{#3}{hyp}%
+ {%
+ \xinthypreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\hyprega+(\hypregb)/x}%
+ }%
+ {}%
+ \IfStrEq{#3}{log}%
+ {%
+ \xintlogreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\logrega+(\logregb)*log(x)}%
+ }%
+ {}%
+ \IfStrEq{#3}{exp}%
+ {%
+ \xintexpreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{exp(\exprega*x+\expregb)}%
+ }%
+ {}%
+ \IfStrEq{#3}{expalt}%
+ {%
+ \xintexpreg[Alt,round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\expregb*exp(\exprega*x)}%
+ }%
+ {}%
+ \IfStrEq{#3}{cub}%
+ {%
+ \xintcubreg[round={#4}]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\cubrega*x^3+\cubregb*x^2+\cubregc*x+\cubregd}%
+ }%
+ {}%
+ \IfSubStr{#3}{expoff}%
+ {%
+ \StrBehind{#3}{=}[\expoffset]%
+ \xintexpoffreg[round={#4},offset=\expoffset]{#5}{#6}%
+ \DefineFunction[#1,Trace]<#2>{\expoffset+\expregoffb*exp(\expregoffa*x)}%
+ }%
+ {}%
+}
+\fi
+
+%===IMAGES & ANTÉCÉDENTS
+\defKV[GraphicTikzImg]{
+ Colors=\def\pflimgcolors{#1},%
+ Name=\def\pflantecednoms{#1}%
+}
+
+\setKVdefault[GraphicTikzImg]{
+ Colors=black,%
+ Lines=false,%
+ Spline=false,%
+ Name={},%
+ Style=o
+}
+
+\NewDocumentCommand\DefineRange{ O{} m m }{%
+ \useKVdefault[GraphicTikzImg]%
+ \setKV[GraphicTikzImg]{#1}%
+ \ifboolKV[GraphicTikzImg]{Spline}%
+ {%
+ \path[draw=none,tkzgrphcurve,name path=tmpimage] ({#3},{\pflymin})--({#3},{\pflymax}) ;
+ \path[name intersections={of=#2 and tmpimage,name=ZZZZ}] ;
+ \coordinate (\pflantecednoms) at (ZZZZ-1) ;
+ }%
+ {%
+ \xdef\tmpresimg{\xintfloateval{#2(#3)}}%
+ \coordinate (\pflantecednoms) at ({#3},{\tmpresimg}) ;
+ }%
+}
+
+\NewDocumentCommand\DrawRanges{ O{} m m }{%
+ \useKVdefault[GraphicTikzImg]%
+ \setKV[GraphicTikzImg]{#1}%
+ \IfSubStr{\pflimgcolors}{/}%
+ {%
+ \StrCut{\pflimgcolors}{/}{\pflimgcolorpt}{\pflimgcolorline}
+ }%
+ {%
+ \xdef\pflimgcolorpt{\pflimgcolors}\xdef\pflimgcolorline{\pflimgcolors}
+ }%
+ \ifboolKV[GraphicTikzImg]{Spline}%
+ {%
+ \foreach \i in {#3}{%
+ \path[draw=none,tkzgrphcurve,name path=tmpimage] ({\i},{\pflymin})--({\i},{\pflymax}) ;
+ \path[name intersections={of=#2 and tmpimage,name=ZZ}] ;
+ \ifboolKV[GraphicTikzImg]{Lines}%
+ {%
+ \draw[\pflimgcolorline,tkzgrphrange] let \p1 = (ZZ-1) in ({\x1},{\pflOy}) |- ({\pflOx},{\y1}) ;
+ }%
+ {}%
+ \MarkPts*[Style={\useKV[GraphicTikzImg]{Style}},Color=\pflimgcolorpt]{(ZZ-1)}
+ %\filldraw[\pflimgcolorpt] (ZZ-1) circle[radius=2pt] ;
+ }
+ }%
+ {%
+ \foreach \i in {#3}{%
+ \xdef\tmpresimg{\xintfloateval{#2(\i)}}%
+ \ifboolKV[GraphicTikzImg]{Lines}%
+ {%
+ \draw[\pflimgcolorline,tkzgrphrange] ({\i},{\pflOy}) |- ({\pflOx},{\tmpresimg}) ;
+ }%
+ {}%
+ \MarkPts*[Style={\useKV[GraphicTikzImg]{Style}},Color=\pflimgcolorpt]{({\i},{\tmpresimg})}
+ %\filldraw[\pflimgcolorpt] ({\i},{\tmpresimg}) circle[radius=2pt] ;
+ }%
+ }%
+}
+
+\NewDocumentCommand\DrawCounterimage{ O{} m m }{%avec le nom de la courbe...
+ \useKVdefault[GraphicTikzImg]%
+ \setKV[GraphicTikzImg]{#1}%
+ \xdef\pflstepcurve{\xintfloateval{0.1*\pflgrillexs}}
+ \IfSubStr{\pflimgcolors}{/}%
+ {%
+ \StrCut{\pflimgcolors}{/}{\pflimgcolorpt}{\pflimgcolorline}%
+ }%
+ {%
+ \xdef\pflimgcolorpt{\pflimgcolors}\xdef\pflimgcolorline{\pflimgcolors}%
+ }%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \path[draw=none,tkzgrphcurve,name path=tmpanteced] ({\pflxmin},{#3})--({\pflxmax},{#3}) ;
+ \path[name intersections={of=#2 and tmpanteced,name=ZZ,total=\t}] \pgfextra{\xdef\tmptotanteced{\t}};
+ \xintifboolexpr{\tmptotanteced == 0}{}%
+ {%
+ \ifboolKV[GraphicTikzImg]{Lines}%
+ {%
+ \draw[\pflimgcolorline,tkzgrphcounterimage] ({\pflxmin},{#3})--({\pflxmax},{#3}) ;
+ }%
+ {}%
+ \foreach \i in {1,...,\tmptotanteced}{%
+ \IfStrEq{\pflantecednoms}{}%
+ {}%
+ {%
+ \coordinate (\pflantecednoms-\i) at (ZZ-\i) ;
+ }%
+ \ifboolKV[GraphicTikzImg]{Lines}%
+ {%
+ \draw[\pflimgcolorline,tkzgrphrange] let \p1 = (ZZ-\i) in (ZZ-\i) -- ({\x1},{\pflOy}) ;
+ }%
+ {}%
+ \MarkPts*[Style={\useKV[GraphicTikzImg]{Style}},Color=\pflimgcolorpt]{(ZZ-\i)}
+ %\filldraw[\pflimgcolorpt] (ZZ-\i) circle[radius=2pt] ;
+ }%
+ }%
\end{scope}
}
%===NOMBRE DÉRIVÉ ET TANGENTE (EXPÉRIEMENTAL)
-\NewDocumentCommand\CalculerNbDerive{ s m m m }{%*=gauche+nomfct+abspt+h
+\NewDocumentCommand\CalcDerivate{ s m m m }{%*=gauche+nomfct+abspt+h
\IfBooleanTF{#1}%
{%
\xdef\TmpResNbDeriv{\xintfloateval{(#2(#3)-#2(#3-#4))/(#4)}}%
@@ -1045,35 +3761,36 @@
}%
}
-\defKV[GraphiqueTikzTgte]{%
- Couleurs=\def\pfltgttikzcolors{#1},%
- DecG=\def\pfltgttikzkl{#1},%
- DecD=\def\pfltgttikzkr{#1},%
+\defKV[GraphicTikzTgte]{%
+ Colors=\def\pfltgttikzcolors{#1},%
+ OffsetL=\def\pfltgttikzkl{#1},%
+ OffsetR=\def\pfltgttikzkr{#1},%
h=\def\pfltgttikzh{#1},%
- Sens=\def\pfltgttikzsens{#1},%
+ Direction=\def\pfltgttikzsens{#1},%
Delta=\def\tmptgtedelta{#1}
}
-\setKVdefault[GraphiqueTikzTgte]{%
- Couleurs=black,%
- DecG=1,%
- DecD=1,%
- AffPoint=false,%
+\setKVdefault[GraphicTikzTgte]{%
+ Colors=black,%
+ OffsetL=1,%
+ OffsetR=1,%
+ DispPt=false,%
Spline=false,%
h=0.1,%
- Sens=gd,%
- Noeud=false,%
- Delta=0.01
+ Direction=lr,%
+ Node=false,%
+ Delta=0.01,%
+ Style=o
}
-\NewDocumentCommand\TracerTangente{ O{} m m D<>{} }{%
- \restoreKV[GraphiqueTikzTgte]%
- \setKV[GraphiqueTikzTgte]{#1}%
+\NewDocumentCommand\DrawTangent{ O{} m m D<>{} }{%
+ \restoreKV[GraphicTikzTgte]%
+ \setKV[GraphicTikzTgte]{#1}%
%en fonction de la gestion de l'abscisse
- \ifboolKV[GraphiqueTikzTgte]{Noeud}%
+ \ifboolKV[GraphicTikzTgte]{Node}%
{%
\path #3;
\pgfgetlastxy{\macrox}{\macroy}%
- \xdef\pfltgttikzx{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\pfltgttikzx{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
}%
{%
\xdef\pfltgttikzx{#3}%
@@ -1089,11 +3806,11 @@
\xdef\tmptgtdeb{\xintfloateval{\pfltgttikzx-(\pfltgttikzkl)}}%
\xdef\tmptgtfin{\xintfloateval{\pfltgttikzx+(\pfltgttikzkr)}}%
%suivant le type de courbe
- \ifboolKV[GraphiqueTikzTgte]{Spline}%
+ \ifboolKV[GraphicTikzTgte]{Spline}%
{%
\path[name path=tmpimage] ({\pfltgttikzx},{\pflymin})--({\pfltgttikzx},{\pflymax}) ;
\path[name intersections={of=#2 and tmpimage,name=TANp}] ;
- \IfStrEq{\pfltgttikzsens}{gd}%
+ \IfStrEq{\pfltgttikzsens}{lr}%
{%
\path[name path=L-vline] ({\pfltgttikzx-\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx-\tmptgtedelta},{\pflymax}) ;
\path[name path=R-vline] ({\pfltgttikzx+\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx+\tmptgtedelta},{\pflymax}) ;
@@ -1101,7 +3818,7 @@
%\coordinate (RXcoor) at ($(TANp-1)+({\tmptgtedelta},0)$) ;
}%
{}%
- \IfStrEq{\pfltgttikzsens}{g}%
+ \IfStrEq{\pfltgttikzsens}{l}%
{%
\path[name path=L-vline] ({\pfltgttikzx-\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx-\tmptgtedelta},{\pflymax}) ;
\path[name path=R-vline] ({\pfltgttikzx},{\pflymin}) -- ({\pfltgttikzx},{\pflymax}) ;
@@ -1110,7 +3827,7 @@
\def\tmptgtfin{\pfltgttikzx}%
}%
{}%
- \IfStrEq{\pfltgttikzsens}{d}%
+ \IfStrEq{\pfltgttikzsens}{r}%
{%
\path[name path=L-vline] ({\pfltgttikzx},{\pflymin}) -- ({\pfltgttikzx},{\pflymax}) ;
\path[name path=R-vline] ({\pfltgttikzx+\tmptgtedelta},{\pflymin}) -- ({\pfltgttikzx+\tmptgtedelta},{\pflymax}) ;
@@ -1124,47 +3841,381 @@
\coordinate (RRpoint) at ($(RXcut-1)+(TANp-1)-(tzXproj)$) ; % move
\path (LLpoint);
\pgfgetlastxy{\macrox}{\macroy}%
- \xdef\tzTANLLX{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
- \xdef\tzTANLLY{\xintfloateval{(\ConvertirPtToCm{\macroy})/(\pflyunit)}}%
+ \xdef\tzTANLLX{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\tzTANLLY{\xintfloateval{(\ConvertPtToCm{\macroy})/(\pflyunit)}}%
\path (RRpoint);
\pgfgetlastxy{\macrox}{\macroy}%
- \xdef\tzTANRRX{\xintfloateval{(\ConvertirPtToCm{\macrox})/(\pflxunit)}}%
- \xdef\tzTANRRY{\xintfloateval{(\ConvertirPtToCm{\macroy})/(\pflyunit)}}%
+ \xdef\tzTANRRX{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\tzTANRRY{\xintfloateval{(\ConvertPtToCm{\macroy})/(\pflyunit)}}%
\def\tztangentLFn{(\tzTANRRY-\tzTANLLY)/(\tzTANRRX-\tzTANLLX)*(\x-\tzTANLLX)+\tzTANLLY}%
\begin{scope}
\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;
- \draw[pfltrait,\pfltgttikzline,domain=\tmptgtdeb:\tmptgtfin,samples=2,#4] plot (\x,{\tztangentLFn}) ;
+ \draw[tkzgrphline,\pfltgttikzline,domain=\tmptgtdeb:\tmptgtfin,samples=2,#4] plot (\x,{\tztangentLFn}) ;
\end{scope}
}%
{%
- \IfStrEq{\pfltgttikzsens}{g}%
+ \IfStrEq{\pfltgttikzsens}{l}%
{%
- \CalculerNbDerive*{#2}{\pfltgttikzx}{\pfltgttikzh}%
+ \CalcDerivate*{#2}{\pfltgttikzx}{\pfltgttikzh}%
}%
{%
- \CalculerNbDerive{#2}{\pfltgttikzx}{\pfltgttikzh}%
+ \CalcDerivate{#2}{\pfltgttikzx}{\pfltgttikzh}%
}%
\begin{scope}
\clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;
- \draw[pfltrait,\pfltgttikzline,#4] plot[smooth] coordinates {%
+ \draw[tkzgrphline,\pfltgttikzline,#4] plot[smooth] coordinates {%
\xintthecoords\xintfloatexpr
seq((x,\TmpResNbDeriv*(x-(\pfltgttikzx))+#2(\pfltgttikzx)),x=\tmptgtdeb,\tmptgtfin)
\relax
};
\end{scope}
}%
- \ifboolKV[GraphiqueTikzTgte]{AffPoint}%
+ \ifboolKV[GraphicTikzTgte]{DispPt}%
{%
- \ifboolKV[GraphiqueTikzTgte]{Spline}%
+ \ifboolKV[GraphicTikzTgte]{Spline}%
{%
- \filldraw[\pfltgttikzpoint] (TANp-1) circle[pflpointc] ;
+ \MarkPts*[Style={\useKV[GraphicTikzTgte]{Style}},Color=\pfltgttikzpoint]{(TANp-1)}
+ %\filldraw[] (TANp-1) circle[tkzgrphpointc] ;
}%
{%
\xdef\tmpimgtgt{\xintfloateval{#2(\pfltgttikzx)}}%
- \filldraw[\pfltgttikzpoint] ({\pfltgttikzx},\tmpimgtgt) circle[pflpointc] ;
+ \MarkPts*[Style={\useKV[GraphicTikzTgte]{Style}},Color=\pfltgttikzpoint]{({\pfltgttikzx},\tmpimgtgt)}
+ %\filldraw[\pfltgttikzpoint] ({\pfltgttikzx},\tmpimgtgt) circle[tkzgrphpointc] ;
}%
}%
{}%
}
+%====loi normale
+\defKV[GraphicTikzGaussienne]{%
+ Step=\def\pflgaussstep{#1},%
+ Name=\def\pflgaussname{#1}
+}
+
+\setKVdefault[GraphicTikzGaussienne]{%
+ Name=gaussian,%
+ Color=black,%
+ Trace=false,%
+ Step={},%
+ Start={\pflxmin},%
+ End={\pflxmax}
+}
+
+\NewDocumentCommand\DefineStandartDeviation{ O{} D<>{phi} m m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphicTikzGaussienne]%
+ \setKV[GraphicTikzGaussienne]{#1}%
+ \xintdeffloatfunc #2(x) := 1/((#4)*sqrt(2*pi))*exp(-0.5*((x-(#3))/(#4))^2) ;%
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphicTikzGaussienne]{End})-(\useKV[GraphicTikzGaussienne]{Start}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphicTikzGaussienne]{Trace}%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzGaussienne]{Color}},name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzGaussienne]{Start}}..[\pflgaussstep]..{\useKV[GraphicTikzGaussienne]{End}},{\useKV[GraphicTikzGaussienne]{End}})
+ \relax
+ } ;
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzGaussienne]{Start}}..[\pflgaussstep]..{\useKV[GraphicTikzGaussienne]{End}},{\useKV[GraphicTikzGaussienne]{End}})
+ \relax
+ } ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\DrawStandartDeviation{ O{} m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphicTikzGaussienne]%
+ \setKV[GraphicTikzGaussienne]{#1}%
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphicTikzGaussienne]{End})-(\useKV[GraphicTikzGaussienne]{Start}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzGaussienne]{Color}}] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2),x={\useKV[GraphicTikzGaussienne]{Start}}..[\pflgaussstep]..{\useKV[GraphicTikzGaussienne]{End}},{\useKV[GraphicTikzGaussienne]{End}})
+ \relax
+ } ;
+ \end{scope}
+}
+
+\NewDocumentCommand\DefineKhiSquared{ O{} D<>{khi} m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphicTikzGaussienne]%
+ \setKV[GraphicTikzGaussienne]{#1}%
+ \xintdeffloatfunc #2(x) := (x<0)?{0}{(1/(2^((#3)/2)*pflgamma((#3)/2)))*x^((#3)/2-1)*exp(-x/2)};
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphicTikzGaussienne]{End})-(\useKV[GraphicTikzGaussienne]{Start}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \ifboolKV[GraphicTikzGaussienne]{Trace}%
+ {%
+ \path[draw,tkzgrphcurve,{\useKV[GraphicTikzGaussienne]{Color}},name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzGaussienne]{Start}}..[\pflgaussstep]..{\useKV[GraphicTikzGaussienne]{End}},{\useKV[GraphicTikzGaussienne]{End}})
+ \relax
+ } ;
+ }%
+ {%
+ \path[draw=none,tkzgrphcurve,name path global=\pflgaussname] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzGaussienne]{Start}}..[\pflgaussstep]..{\useKV[GraphicTikzGaussienne]{End}},{\useKV[GraphicTikzGaussienne]{End}})
+ \relax
+ } ;
+ }%
+ \end{scope}
+}
+
+\NewDocumentCommand\DrawKhiSquared{ O{} m }{%
+ %1=options
+ %2=mu
+ %3=sigma
+ \restoreKV[GraphicTikzGaussienne]%
+ \setKV[GraphicTikzGaussienne]{#1}%
+ \IfStrEq{\pflgaussstep}{}%
+ {%
+ \xdef\pflgaussstep{\xintfloateval{((\useKV[GraphicTikzGaussienne]{End})-(\useKV[GraphicTikzGaussienne]{Start}))/100}}%
+ }%
+ {}%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax});
+ \draw[tkzgrphcurve,{\useKV[GraphicTikzGaussienne]{Color}}] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2),x={\useKV[GraphicTikzGaussienne]{Start}}..[\pflgaussstep]..{\useKV[GraphicTikzGaussienne]{End}},{\useKV[GraphicTikzGaussienne]{End}})
+ \relax
+ } ;
+ \end{scope}
+}
+
+%====droite
+\defKV[GraphicTikzLine]{%
+ Name=\def\pfldroitename{#1}
+}
+
+\setKVdefault[GraphicTikzLine]{%
+ Slope=false,%
+ Color=black,%
+ Start={\pflxmin},%
+ End={\pflxmax},%
+ Name={}
+}
+
+\NewDocumentCommand\DrawLine{ O{} m m D<>{} }{%
+ \restoreKV[GraphicTikzLine]%
+ \setKV[GraphicTikzLine]{#1}%
+ %1er point
+ \path #2;%
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\pfldtetikzxA{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\pfldtetikzyA{\xintfloateval{(\ConvertPtToCm{\macroy})/(\pflyunit)}}%
+ %2ème point si besoin
+ \ifboolKV[GraphicTikzLine]{Slope}%
+ {%
+ \xdef\pfldtepente{\xintfloateval{#3}}%
+ }%
+ {%
+ \path #3;%
+ \pgfgetlastxy{\macrox}{\macroy}%
+ \xdef\pfldtetikzxB{\xintfloateval{(\ConvertPtToCm{\macrox})/(\pflxunit)}}%
+ \xdef\pfldtetikzyB{\xintfloateval{(\ConvertPtToCm{\macroy})/(\pflyunit)}}%
+ \xdef\pfldtepente{\xintfloateval{(\pfldtetikzyB-\pfldtetikzyA)/(\pfldtetikzxB-\pfldtetikzxA)}}%
+ }%
+ \begin{scope}
+ \clip ({\pflxmin},{\pflymin}) rectangle ({\pflxmax},{\pflymax}) ;
+ \xintifboolexpr{\pfldtetikzxA == \pfldtetikzxB}%
+ {%
+ \IfEq{\pfldroitename}{}%
+ {%
+ \draw[tkzgrphline,{\useKV[GraphicTikzLine]{Color}},#4] (\pfldtetikzxA,\pflymin) -- (\pfldtetikzxA,\pflymax) ;
+ }%
+ {%
+ \draw[tkzgrphline,{\useKV[GraphicTikzLine]{Color}},#4,name path global=\pfldroitename] (\pfldtetikzxA,\pflymin) -- (\pfldtetikzxA,\pflymax) ;
+ }%
+ }%
+ {%
+ \IfEq{\pfldroitename}{}%
+ {%
+ \draw[tkzgrphline,{\useKV[GraphicTikzLine]{Color}},domain={\useKV[GraphicTikzLine]{Start}}:{\useKV[GraphicTikzLine]{End}},samples=2,#4] plot (\x,{\pfldtepente*(\x-\pfldtetikzxA)+\pfldtetikzyA}) ;
+ }%
+ {%
+ \draw[tkzgrphline,{\useKV[GraphicTikzLine]{Color}},domain={\useKV[GraphicTikzLine]{Start}}:{\useKV[GraphicTikzLine]{End}},samples=2,name path global=\pfldroitename,#4] plot (\x,{\pfldtepente*(\x-\pfldtetikzxA)+\pfldtetikzyA}) ;
+ }%
+ }%
+ \end{scope}
+}
+
+%====asymptote
+\NewDocumentCommand\DrawAsymptote{ O{} m D<>{} }{%
+ \restoreKV[GraphicTikzLine]%
+ \setKV[GraphicTikzLine]{#1}%
+ %tracé
+ \draw[tkzgrphline,{\useKV[GraphicTikzLine]{Color}},#3] ({#2},{\pflymin})--({#2},{\pflymax}) ;
+}
+
+%====minmax
+\defKV[GraphicTikzMinMax]{%
+ Pas=\def\pflminmaxstep{#1},%
+ Method=\def\pflminmaxmethode{#1},%
+ Coeffs=\def\pflminmaxcoeffs{#1}
+}
+\setKVdefault[GraphicTikzMinMax]{%
+ Start={\pflxmin},%
+ End={\pflxmax},%
+ Pas={},%
+ Tension=0.5,%
+ Method=function,%
+ Coeffs=3
+}
+
+\NewDocumentCommand\FindMax{ O{} m O{c-max} }{%
+ %1=clés
+ %2=paramètres en fonction de [Methode]
+ \restoreKV[GraphicTikzMinMax]%
+ \setKV[GraphicTikzMinMax]{#1}%
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflminmaxstep{\xintfloateval{((\useKV[GraphicTikzMinMax]{End})-(\useKV[GraphicTikzMinMax]{Start}))/100}}%
+ }%
+ {}%
+ \begin{scope}[bezier bounding box,local bounding box=bbtmpmax]
+ \IfStrEq{\pflminmaxmethode}{function}%
+ {%
+ \path[draw=none,name path=curvetmpmax] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzMinMax]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzMinMax]{End}},{\useKV[GraphicTikzMinMax]{End}})
+ \relax
+ };
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{interpo}%
+ {%
+ \path[draw=none,name path=curvetmpmax] plot[smooth,tension={\useKV[GraphicTikzMinMax]{Tension}}] coordinates {#2};
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{spline}%
+ {%
+ \GenerateSpline{#2}{\pflminmaxcoeffs}[\tmpsplineminmax]%
+ \path[draw=none,name path=curvetmpmax] \tmpsplineminmax ;
+ }%
+ {}%
+ %retour
+ \path[name path=tmpmax] ([yshift=-0.25\pgflinewidth]bbtmpmax.north east) -- ([yshift=-0.25\pgflinewidth]bbtmpmax.north west) ;
+ \path[name intersections={of=curvetmpmax and tmpmax,name=#3}] ;
+ \coordinate (#3) at ($0.5*(#3-1)+0.5*(#3-2)+(0,0.25\pgflinewidth)$) ;
+ \end{scope}
+}
+
+\NewDocumentCommand\FindMin{ O{} m O{c-min} }{%
+ %1=clés
+ %2=paramètres en fonction de [Methode]
+ \restoreKV[GraphicTikzMinMax]%
+ \setKV[GraphicTikzMinMax]{#1}%
+ \IfStrEq{\pflstepcurve}{}%
+ {%
+ \xdef\pflminmaxstep{\xintfloateval{((\useKV[GraphicTikzMinMax]{End})-(\useKV[GraphicTikzMinMax]{Start}))/100}}%
+ }%
+ {}%
+ \begin{scope}[bezier bounding box,local bounding box=bbtmpmin]
+ \IfStrEq{\pflminmaxmethode}{function}%
+ {%
+ \path[draw=none,name path=curvetmpmin] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,#2(x)),x={\useKV[GraphicTikzMinMax]{Start}}..[\pflstepcurve]..{\useKV[GraphicTikzMinMax]{End}},{\useKV[GraphicTikzMinMax]{End}})
+ \relax
+ };
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{interpo}%
+ {%
+ \path[draw=none,name path=curvetmpmin] plot[smooth,tension={\useKV[GraphicTikzMinMax]{Tension}}] coordinates {#2};
+ }%
+ {}%
+ \IfStrEq{\pflminmaxmethode}{spline}%
+ {%
+ \GenerateSpline{#2}{\pflminmaxcoeffs}[\tmpsplineminmax]%
+ \path[draw=none,name path=curvetmpmin] \tmpsplineminmax ;
+ }%
+ {}%
+ %retour
+ \path[name path=tmpmin] ([yshift=0.25\pgflinewidth]bbtmpmin.south east) -- ([yshift=0.25\pgflinewidth]bbtmpmin.south west) ;
+ \path[name intersections={of=curvetmpmin and tmpmin,name=#3}] ;
+ \coordinate (#3) at ($0.5*(#3-1)+0.5*(#3-2)+(0,-0.25\pgflinewidth)$) ;
+ \end{scope}
+}
+
+%====TEXTES
+\defKV[GraphicTikzNode]{%
+ Color=\def\pflnodecol{#1},%
+ Font=\def\pflnodefonte{#1},%
+ Position=\def\pfnodepos{#1}
+}
+\setKVdefault[GraphicTikzNode]{%
+ Color=black,%
+ Start={\normalfont\normalsize},%
+ Position={}
+}
+\NewDocumentCommand\DrawTxt{ O{} m m }{%
+ \restoreKV[GraphicTikzNode]%
+ \setKV[GraphicTikzNode]{#1}%
+ \draw #2 node[tkzgrphnode,font=\pflnodefonte,text=\pflnodecol,\pfnodepos] {#3} ;
+}
+
+%====MONTE CARLO
+\defKV[GraphicTikzmontecarlo]{%
+ Colors=\def\graphtikzmccols{#1},%
+ BoundsX=\def\graphtikzmcxbornes{#1},%
+ BoundsY=\def\graphtikzmcybornes{#1}
+}
+
+\setKVdefault[GraphicTikzmontecarlo]{%
+ Colors={blue/red},%
+ BoundsX={\pflxmin,\pflxmax},%
+ BoundsY={\pflymin,\pflymax}
+}
+
+\NewDocumentCommand\SimulateMonteCarlo{ O{} D<>{f} m O{\nbptsmcok} O{\nbptsmcko} }{%
+ \restoreKV[GraphicTikzmontecarlo]%
+ \setKV[GraphicTikzmontecarlo]{#1}%
+ \StrCut{\graphtikzmccols}{/}{\tmpMCcolOK}{\tmpMCcolKO}%
+ \StrCut{\graphtikzmcxbornes}{,}{\tmpMCxmin}{\tmpMCxmax}%
+ \StrCut{\graphtikzmcybornes}{,}{\tmpMCymin}{\tmpMCymax}%
+ \xdef#4{0}%
+ \xdef#5{0}%
+ \xdef\nbptsmc{#3}%
+ \foreach \i in {1,...,#3}{%
+ \xdef\tmpMCrandX{\xintfloateval{random()*((\tmpMCxmax)-(\tmpMCxmin))+(\tmpMCxmin)}}%
+ \xdef\tmpMCrandY{\xintfloateval{random()*((\tmpMCymax)-(\tmpMCymin))+(\tmpMCymin)}}%
+ \xdef\tmpMCrandfX{\xintfloateval{#2(\tmpMCrandX)}}%
+ \xintifboolexpr{ \tmpMCrandfX > \tmpMCrandY }%
+ {%
+ \xdef#4{\xinteval{#4+1}}%
+ \filldraw[\tmpMCcolOK] (\tmpMCrandX,\tmpMCrandY) circle[tkzgrphpointmc] ;
+ }%
+ {%
+ \xdef#5{\xinteval{#5+1}}%
+ \filldraw[\tmpMCcolKO] (\tmpMCrandX,\tmpMCrandY) circle[tkzgrphpointmc] ;
+ }%
+ }%
+}
+
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/tools/.tex b/Master/texmf-dist/tex/latex/tools/.tex
index f3f759f1180..ff0d77e6fc4 100644
--- a/Master/texmf-dist/tex/latex/tools/.tex
+++ b/Master/texmf-dist/tex/latex/tools/.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/afterpage.sty b/Master/texmf-dist/tex/latex/tools/afterpage.sty
index 823f3ffa25c..2a487eac7e9 100644
--- a/Master/texmf-dist/tex/latex/tools/afterpage.sty
+++ b/Master/texmf-dist/tex/latex/tools/afterpage.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/array-2016-10-06.sty b/Master/texmf-dist/tex/latex/tools/array-2016-10-06.sty
index f079fd4975d..ced72d2913c 100644
--- a/Master/texmf-dist/tex/latex/tools/array-2016-10-06.sty
+++ b/Master/texmf-dist/tex/latex/tools/array-2016-10-06.sty
@@ -1,5 +1,7 @@
%%
-%% This is an old release of `array.sty',
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% Copyright 1993-2016
%% The LaTeX Project and any individual authors listed elsewhere
diff --git a/Master/texmf-dist/tex/latex/tools/array-2020-02-10.sty b/Master/texmf-dist/tex/latex/tools/array-2020-02-10.sty
index 1243f25f747..5acd9c727e2 100644
--- a/Master/texmf-dist/tex/latex/tools/array-2020-02-10.sty
+++ b/Master/texmf-dist/tex/latex/tools/array-2020-02-10.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `array.sty',
%% generated with the docstrip utility.
%%
@@ -38,11 +42,6 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
-\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{array}
[2020/02/10 v2.4m Tabular extension package (FMi)]
diff --git a/Master/texmf-dist/tex/latex/tools/array-2023-11-01.sty b/Master/texmf-dist/tex/latex/tools/array-2023-11-01.sty
new file mode 100644
index 00000000000..b5267cffd23
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tools/array-2023-11-01.sty
@@ -0,0 +1,373 @@
+%%
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
+%% This is file `array.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% array.dtx (with options: `package,ncols')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%%
+%% Copyright (C) 1993-2023
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% Package `array' to use with LaTeX 2e
+%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+
+\ProvidesPackage{array}
+ [2023/10/16 v2.5g Tabular extension package (FMi)]
+%%
+
+\def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}}
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar l\@ne \else
+ \if \@nextchar r\tw@ \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar b5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+\def\@xexpast#1*#2#3#4\@@{%
+ \@tempcnta #2
+ \toks@={#1}\@temptokena={#3}%
+ \let\the@toksz\relax \let\the@toks\relax
+ \def\@tempa{\the@toksz}%
+ \ifnum\@tempcnta >0 \@whilenum\@tempcnta >0\do
+ {\edef\@tempa{\@tempa\the@toks}\advance \@tempcnta \m@ne}%
+ \let \@tempb \@xexpast \else
+ \let \@tempb \@xexnoop \fi
+ \def\the@toksz{\the\toks@}\def\the@toks{\the\@temptokena}%
+ \edef\@tempa{\@tempa}%
+ \expandafter \@tempb \@tempa #4\@@}
+\def\prepnext@tok{\advance \count@ \@ne
+ \toks\count@{}}
+\def\save@decl{\toks\count@ \expandafter{\@nextchar}}
+\def\insert@column{%
+ \the@toks \the \@tempcnta
+ \ignorespaces \@sharp \unskip
+ \the@toks \the \count@ \relax}
+\newdimen\col@sep
+\def\@acol{\@addtopreamble{\hskip\col@sep}}
+\def\@classx{%
+ \ifcase \@lastchclass
+ \@acolampacol \or
+ \@addamp \@acol \or
+ \@acolampacol \or
+ \or
+ \@acol \@firstampfalse \or
+ \@addamp
+ \fi}
+\def\@classz{\@classx
+ \@tempcnta \count@
+ \prepnext@tok
+ \@addtopreamble{\ifcase \@chnum
+ \hfil
+ \hskip1sp%
+ \d@llarbegin
+ \insert@column
+ \d@llarend \do@row@strut \hfil \or
+ \hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \hfil \or
+ \hfil\hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \or
+ \setbox\ar@mcellbox\vbox
+ \@startpbox{\@nextchar}\insert@column \@endpbox
+ \ar@align@mcell
+ \do@row@strut \or
+ \vtop \@startpbox{\@nextchar}\insert@column \@endpbox\do@row@strut \or
+ \vbox \@startpbox{\@nextchar}\insert@column \@endpbox\do@row@strut
+ \fi}\prepnext@tok}
+
+\newbox\ar@mcellbox
+\def\ar@align@mcell{%
+ \ifdim \ht\ar@mcellbox > \ht\strutbox
+ \begingroup
+ \dimen@\ht\ar@mcellbox
+ \advance\dimen@-\ht\@arstrutbox
+ \advance\dimen@\baselineskip
+ \lower.5\dimen@\box\ar@mcellbox
+ \endgroup
+ \else % assume one line and align at baseline
+ \box\ar@mcellbox
+ \fi}
+
+\def\@arrayrule{\@addtopreamble \vline}
+\def\@classvii{\ifnum \@lastchclass = \thr@@
+ \@preamerr \thr@@ \fi}
+\def\@classvi{\ifcase \@lastchclass
+ \@acol \or
+ \@addtopreamble{\hskip \doublerulesep}\or
+ \@acol \or
+ \@classvii
+ \fi}
+\def\@classii{\advance \count@ \m@ne
+ \save@decl\prepnext@tok}
+\def\@classi{\@classvi
+ \ifcase \@chnum \@arrayrule \or
+ \@classv \fi}
+\def\@startpbox#1{\bgroup
+ \color@begingroup
+ \setlength\hsize{#1}\@arrayparboxrestore
+ \everypar{%
+ \vrule \@height \ht\@arstrutbox \@width \z@
+ \everypar{}}%
+ }
+\def\@endpbox{\@finalstrut\@arstrutbox \par \color@endgroup \egroup\hfil}
+\def\@array[#1]#2{%
+ \@tempdima \ht \strutbox
+ \advance \@tempdima by\extrarowheight
+ \setbox \@arstrutbox \hbox{\vrule
+ \@height \arraystretch \@tempdima
+ \@depth \arraystretch \dp \strutbox
+ \@width \z@}%
+ \begingroup
+ \@mkpream{#2}%
+ \xdef\@preamble{\noexpand \ialign \@halignto
+ \bgroup \@arstrut \@preamble
+ \tabskip \z@ \cr}%
+ \endgroup
+ \@arrayleft
+ \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
+ \bgroup
+ \let \@sharp ##\let \protect \relax
+ \lineskip \z@
+ \baselineskip \z@
+ \m@th
+ \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}
+\def\arraybackslash{\let\\\tabularnewline}
+\newdimen \extrarowheight
+\extrarowheight=0pt
+\def\@arstrut{\unhcopy\@arstrutbox}
+\protected\def\@arraycr{\relax\iffalse{\fi\ifnum 0=`}\fi
+ \@ifstar \@xarraycr \@xarraycr}
+\def\@xarraycr{\@ifnextchar [%
+ \@argarraycr {\ifnum 0=`{}\fi\cr}}
+\def\@argarraycr[#1]{\ifnum0=`{}\fi\ifdim #1>\z@
+ \expandafter\@xargarraycr\else
+ \expandafter\@yargarraycr\fi{#1}}
+\def\@xargarraycr#1{\unskip\gdef\do@row@strut
+ {\@tempdima #1\advance\@tempdima \dp\@arstrutbox
+ \vrule \@depth\@tempdima \@width\z@\global\let\do@row@strut\relax}%
+ \ifnum\@multicnt >\z@ \do@row@strut \fi
+ \cr}
+\let\do@row@strut\relax
+\long\def\multicolumn#1#2#3{%
+ \multispan{#1}\begingroup
+ \def\@addamp{\if@firstamp \@firstampfalse \else
+ \@preamerr 5\fi}%
+ \@mkpream{#2}\@addtopreamble\@empty
+ \endgroup
+ \def\@sharp{#3}%
+ \@arstrut \@preamble
+ \null
+ \ignorespaces}
+\let\d@llarbegin\begingroup
+\let\d@llarend\endgroup
+\def\array{\col@sep\arraycolsep
+ \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\def\@halignto{}%
+ \@tabarray}
+\def\tabular{\def\@halignto{}\@tabular}
+\expandafter\def\csname tabular*\endcsname#1{%
+ \setlength\dimen@{#1}%
+ \edef\@halignto{to\the\dimen@}\@tabular}
+\def\@tabular{%
+ \leavevmode
+ \hbox \bgroup $\col@sep\tabcolsep \let\d@llarbegin\begingroup
+ \let\d@llarend\endgroup
+ \@tabarray}
+\def\endtabular{\endarray\m@th $\egroup}
+\expandafter\let\csname endtabular*\endcsname=\endtabular
+\let\@ampacol=\relax \let\@expast=\relax
+\let\@arrayclassiv=\relax \let\@arrayclassz=\relax
+\let\@tabclassiv=\relax \let\@tabclassz=\relax
+\let\@arrayacol=\relax \let\@tabacol=\relax
+\let\@tabularcr=\relax \let\@@endpbox=\relax
+\let\@argtabularcr=\relax \let\@xtabularcr=\relax
+\def\@preamerr#1{\def\@tempd{{..} at wrong position: }%
+ \PackageError{array}{%
+ \ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0
+ Missing arg: token ignored\or %1
+ Empty preamble: `l' used\or %2
+ >\@tempd token ignored\or %3
+ <\@tempd changed to !{..}\or %4
+ Only one column-spec. allowed.\fi}\@ehc} %5
+\def\newcolumntype#1{%
+ \edef\NC@char{\string#1}%
+ \@ifundefined{NC@find@\NC@char}%
+ {\@tfor\next:=<>clrmbp@!|\do
+ {%
+ \if\expandafter\noexpand\next\NC@char
+ \PackageWarning{array}%
+ {Redefining primitive column \NC@char}\fi}%
+ \NC@list\expandafter{\the\NC@list\NC@do#1}}%
+ {\PackageWarning{array}{Column \NC@char\space is already defined}}%
+ \@namedef{NC@find@\NC@char}##1#1{\NC@{##1}}%
+ \@ifnextchar[{\newcol@{\NC@char}}{\newcol@{\NC@char}[0]}}
+\def\newcol@#1[#2]#3{\expandafter\@reargdef
+ \csname NC@rewrite@#1\endcsname[#2]{\NC@find#3}}
+\def\NC@#1{%
+ \@temptokena\expandafter{\the\@temptokena#1}\futurelet\next\NC@ifend}
+\def\NC@ifend{%
+ \ifx\next\relax
+ \else\@tempswatrue\expandafter\NC@rewrite\fi}
+\def\NC@do#1{%
+ \expandafter\let\expandafter\NC@rewrite
+ \csname NC@rewrite@\string#1\endcsname
+ \expandafter\let\expandafter\NC@find
+ \csname NC@find@\string#1\endcsname
+ \expandafter\@temptokena\expandafter{\expandafter}%
+ \expandafter\NC@find\the\@temptokena#1\relax}
+\def\showcols{{\def\NC@do##1{\let\NC@do\NC@show}\the\NC@list}}
+\def\NC@show#1{%
+ \typeout{Column #1\expandafter\expandafter\expandafter\NC@strip
+ \expandafter\meaning\csname NC@rewrite@#1\endcsname\@@}}
+\def\NC@strip#1:#2->#3 #4\@@{#2 -> #4}
+\newtoks\NC@list
+\newcolumntype{*}[2]{}
+\long\@namedef{NC@rewrite@*}#1#2{%
+ \count@#1\relax
+ \loop
+ \ifnum\count@>\z@
+ \advance\count@\m@ne
+ \@temptokena\expandafter{\the\@temptokena#2}%
+ \repeat
+ \NC@find}
+\let\@xexpast\relax
+\let\@xexnoop\relax
+\def\save@decl{\toks \count@ = \expandafter\expandafter\expandafter
+ {\expandafter\@nextchar\the\toks\count@}}
+\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
+ \let\@sharp\relax
+ \def\@startpbox##1{\unexpanded\expandafter{\expandafter
+ \@startpbox\expandafter{##1}}}\let\@endpbox\relax
+ \let\do@row@strut\relax
+ \let\ar@align@mcell\relax
+ \@temptokena{#1}\@tempswatrue
+ \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
+ \count@\m@ne
+ \let\the@toks\relax
+ \prepnext@tok
+ \expandafter \@tfor \expandafter \@nextchar
+ \expandafter :\expandafter =\the\@temptokena \do
+ {\@testpach
+ \ifcase \@chclass \@classz \or \@classi \or \@classii
+ \or \save@decl \or \or \@classv \or \@classvi
+ \or \@classvii \or \@classviii
+ \or \@classx
+ \or \@classx \fi
+ \@lastchclass\@chclass}%
+ \ifcase\@lastchclass
+ \@acol \or
+ \or
+ \@acol \or
+ \@preamerr \thr@@ \or
+ \@preamerr \tw@ \@addtopreamble\@sharp \or
+ \or
+ \else \@preamerr \@ne \fi
+ \def\the@toks{\the\toks}}
+\let\@classix\relax
+\def\@classviii{\ifnum \@lastchclass >\z@\ifnum\@lastchclass=\tw@\else
+ \@preamerr 4\@chclass 6 \@classvi \fi\fi}
+\def\@classv{\save@decl
+ \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
+ \prepnext@tok}
+\def\NC@ecs#1\extracolsep#2#3\extracolsep#4\@@@{\def\@tempa{#2}%
+ \ifx\@tempa\@empty\else\toks\count@={#1\tabskip#2\relax#3}\fi}
+\def\@tabarray{\@ifnextchar[{\@@array}{\@@array[c]}}
+\let\@@array\@array
+\def\endarray{\crcr \egroup \egroup \@arrayright \gdef\@preamble{}}
+\let\@arrayleft\@empty
+\let\@arrayright\@empty
+\newlength{\extratabsurround}
+\setlength{\extratabsurround}{2pt}
+\newlength{\backup@length}
+\newcommand{\firsthline}{%
+ \multicolumn1{@{}c@{}}{%
+ \global\backup@length\ht\@arstrutbox
+ \global\advance\backup@length\dp\@arstrutbox
+ \global\advance\backup@length\arrayrulewidth
+ \raise\extratabsurround\copy\@arstrutbox
+ \kern-1sp%
+ }\\[-\backup@length]\hline
+}
+\newcommand{\lasthline}{\hline\multicolumn1{@{}c@{}}{%
+ \global\backup@length2\ht\@arstrutbox
+ \global\advance\backup@length2\dp\@arstrutbox
+ \global\advance\backup@length\arrayrulewidth
+ }\\[-\backup@length]%
+ \multicolumn1{@{}c@{}}{%
+ \lower\extratabsurround\copy\@arstrutbox
+ \kern-1sp%
+ }%
+}
+\CheckCommand*\@xhline{\ifx\reserved@a\hline
+ \vskip\doublerulesep
+ \vskip-\arrayrulewidth
+ \fi
+ \ifnum0=`{\fi}}
+\renewcommand*\@xhline{\ifx\reserved@a\hline
+ \vskip\doublerulesep
+ \fi
+ \ifnum0=`{\fi}}
+
+\newsavebox\ar@cellbox
+\newcolumntype{w}[2]{%
+ >{\begin{lrbox}\ar@cellbox\d@llarbegin}%
+ c%
+ <{\d@llarend \end{lrbox}%
+ \makebox[#2][#1]{\unhbox\ar@cellbox}}}
+
+\newcolumntype{W}[2]
+ {>{\begin{lrbox}\ar@cellbox\d@llarbegin}%
+ c%
+ <{\d@llarend\end{lrbox}%
+ \let\hss\hfil
+ \makebox[#2][#1]{\unhbox\ar@cellbox}}}
+\endinput
+%%
+%% End of file `array.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/array.sty b/Master/texmf-dist/tex/latex/tools/array.sty
index cd6eee6a0fc..2f24b0ef837 100644
--- a/Master/texmf-dist/tex/latex/tools/array.sty
+++ b/Master/texmf-dist/tex/latex/tools/array.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -38,18 +38,21 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{array-2016-10-06.sty}
\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty}
-\DeclareCurrentRelease{}{2020-10-01}
+\DeclareRelease{v2.5}{2023-11-01}{array-2023-11-01.sty}
+\DeclareCurrentRelease{}{2024-06-01}
+\NeedsTeXFormat{LaTeX2e}[2024/06/01]
\ProvidesPackage{array}
- [2023/10/16 v2.5g Tabular extension package (FMi)]
+ [2024/06/14 v2.6d Tabular extension package (FMi)]
%%
+\ExplSyntaxOn
\def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}}
+\ExplSyntaxOff
\def\@testpach{\@chclass
\ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
\ifnum \@lastchclass=7 5 \else
@@ -70,11 +73,12 @@
\if \@nextchar >9 \else
10
\@chnum
- \if \@nextchar m\thr@@\else
+ \if \@nextchar m\thr@@ \else
\if \@nextchar p4 \else
\if \@nextchar b5 \else
\z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
\fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+\ExplSyntaxOn
\def\@xexpast#1*#2#3#4\@@{%
\@tempcnta #2
\toks@={#1}\@temptokena={#3}%
@@ -91,9 +95,28 @@
\toks\count@{}}
\def\save@decl{\toks\count@ \expandafter{\@nextchar}}
\def\insert@column{%
+ \UseTaggingSocket{tbl/cell/begin}%
+ \the@toks \the \@tempcnta
+ \ignorespaces \@sharp \textonly@unskip
+ \the@toks \the \count@ \relax
+ \UseTaggingSocket{tbl/cell/end}%
+}
+\protected\def\textonly@unskip{\ifhmode\unskip\fi}
+\def\insert@pcolumn{%
+ \UseTaggingSocket{tbl/pcell/begin}%
\the@toks \the \@tempcnta
\ignorespaces \@sharp \unskip
- \the@toks \the \count@ \relax}
+ \the@toks \the \count@ \relax
+ \UseTaggingSocket{tbl/pcell/end}%
+}
+\def\@addamp {
+ \if@firstamp
+ \@firstampfalse
+ \else
+ \edef\@preamble{\@preamble &
+ \noexpand\tbl_update_cell_data: }
+ \fi
+}
\newdimen\col@sep
\def\@acol{\@addtopreamble{\hskip\col@sep}}
\def\@classx{%
@@ -117,11 +140,11 @@
\hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \hfil \or
\hfil\hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \or
\setbox\ar@mcellbox\vbox
- \@startpbox{\@nextchar}\insert@column \@endpbox
+ \@startpbox{\@nextchar}\insert@pcolumn \@endpbox
\ar@align@mcell
\do@row@strut \or
- \vtop \@startpbox{\@nextchar}\insert@column \@endpbox\do@row@strut \or
- \vbox \@startpbox{\@nextchar}\insert@column \@endpbox\do@row@strut
+ \vtop \@startpbox{\@nextchar}\insert@pcolumn \@endpbox\do@row@strut \or
+ \vbox \@startpbox{\@nextchar}\insert@pcolumn \@endpbox\do@row@strut
\fi}\prepnext@tok}
\newbox\ar@mcellbox
@@ -159,18 +182,25 @@
\everypar{}}%
}
\def\@endpbox{\@finalstrut\@arstrutbox \par \color@endgroup \egroup\hfil}
-\def\@array[#1]#2{%
+\def\@array[#1]#2{
\@tempdima \ht \strutbox
\advance \@tempdima by\extrarowheight
\setbox \@arstrutbox \hbox{\vrule
\@height \arraystretch \@tempdima
\@depth \arraystretch \dp \strutbox
\@width \z@}%
+ \tbl_save_outer_table_cols:
\begingroup
\@mkpream{#2}%
- \xdef\@preamble{\noexpand \ialign \@halignto
- \bgroup \@arstrut \@preamble
- \tabskip \z@ \cr}%
+ \tbl_count_table_cols:
+ \xdef\@preamble{
+ \noexpand \ar@ialign
+ \@halignto
+ \bgroup \@arstrut
+ \UseTaggingSocket{tbl/row/begin}
+ \tbl_init_cell_data_for_row:
+ \@preamble
+ \tabskip \z@ \cr}
\endgroup
\@arrayleft
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
@@ -178,14 +208,29 @@
\let \@sharp ##\let \protect \relax
\lineskip \z@
\baselineskip \z@
- \m@th
- \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}
+ \mathsurround \z@
+ \let\\\@arraycr \let\tabularnewline\\\let\par\@empty
+ \UseTaggingSocket{tbl/init}
+ \@preamble
+}
+\def\ar@ialign{%
+ \tbl_init_cell_data_for_table:
+ \everycr{%
+ \noalign{%
+ \tbl_if_row_was_started:T { \UseTaggingSocket{tbl/row/end} }
+ \tbl_update_cell_data_for_next_row:
+ }%
+ }%
+ \tabskip\z@skip\halign}
\def\arraybackslash{\let\\\tabularnewline}
\newdimen \extrarowheight
\extrarowheight=0pt
\def\@arstrut{\unhcopy\@arstrutbox}
-\protected\def\@arraycr{\relax\iffalse{\fi\ifnum 0=`}\fi
+\protected\def\@arraycr {
+ \tbl_count_missing_cells:n {@arraycr}
+ \iffalse{\fi\ifnum 0=`}\fi
\@ifstar \@xarraycr \@xarraycr}
+
\def\@xarraycr{\@ifnextchar [%
\@argarraycr {\ifnum 0=`{}\fi\cr}}
\def\@argarraycr[#1]{\ifnum0=`{}\fi\ifdim #1>\z@
@@ -199,10 +244,12 @@
\let\do@row@strut\relax
\long\def\multicolumn#1#2#3{%
\multispan{#1}\begingroup
+ \tbl_update_multicolumn_cell_data:n {#1}
\def\@addamp{\if@firstamp \@firstampfalse \else
\@preamerr 5\fi}%
\@mkpream{#2}\@addtopreamble\@empty
\endgroup
+ \UseTaggingSocket{tbl/colspan}{#1}%
\def\@sharp{#3}%
\@arstrut \@preamble
\null
@@ -218,10 +265,20 @@
\edef\@halignto{to\the\dimen@}\@tabular}
\def\@tabular{%
\leavevmode
+ \UseTaggingSocket{tbl/hmode/begin}%
\hbox \bgroup $\col@sep\tabcolsep \let\d@llarbegin\begingroup
\let\d@llarend\endgroup
\@tabarray}
-\def\endtabular{\endarray\m@th $\egroup}
+\def\endarray {
+ \tbl_crcr:n{endarray} \egroup
+ \UseTaggingSocket{tbl/finalize}
+ \tbl_restore_outer_cell_data:
+ \egroup
+ \@arrayright \gdef\@preamble{}%
+}
+\def\endtabular{\endarray\m@th $\egroup
+ \UseTaggingSocket{tbl/hmode/end}%
+}
\expandafter\let\csname endtabular*\endcsname=\endtabular
\let\@ampacol=\relax \let\@expast=\relax
\let\@arrayclassiv=\relax \let\@arrayclassz=\relax
@@ -229,6 +286,7 @@
\let\@arrayacol=\relax \let\@tabacol=\relax
\let\@tabularcr=\relax \let\@@endpbox=\relax
\let\@argtabularcr=\relax \let\@xtabularcr=\relax
+\ExplSyntaxOff
\def\@preamerr#1{\def\@tempd{{..} at wrong position: }%
\PackageError{array}{%
\ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0
@@ -249,6 +307,7 @@
{\PackageWarning{array}{Column \NC@char\space is already defined}}%
\@namedef{NC@find@\NC@char}##1#1{\NC@{##1}}%
\@ifnextchar[{\newcol@{\NC@char}}{\newcol@{\NC@char}[0]}}
+\ExplSyntaxOn
\def\newcol@#1[#2]#3{\expandafter\@reargdef
\csname NC@rewrite@#1\endcsname[#2]{\NC@find#3}}
\def\NC@#1{%
@@ -265,9 +324,11 @@
\expandafter\NC@find\the\@temptokena#1\relax}
\def\showcols{{\def\NC@do##1{\let\NC@do\NC@show}\the\NC@list}}
\def\NC@show#1{%
- \typeout{Column #1\expandafter\expandafter\expandafter\NC@strip
+ \typeout{Column~ #1\expandafter\expandafter\expandafter\NC@strip
\expandafter\meaning\csname NC@rewrite@#1\endcsname\@@}}
+\ExplSyntaxOff
\def\NC@strip#1:#2->#3 #4\@@{#2 -> #4}
+\ExplSyntaxOn
\newtoks\NC@list
\newcolumntype{*}[2]{}
\long\@namedef{NC@rewrite@*}#1#2{%
@@ -282,6 +343,7 @@
\let\@xexnoop\relax
\def\save@decl{\toks \count@ = \expandafter\expandafter\expandafter
{\expandafter\@nextchar\the\toks\count@}}
+\ExplSyntaxOff % really oldstyle using \@tfor :=
\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
\let\@sharp\relax
\def\@startpbox##1{\unexpanded\expandafter{\expandafter
@@ -311,18 +373,18 @@
\or
\else \@preamerr \@ne \fi
\def\the@toks{\the\toks}}
+\ExplSyntaxOn
\let\@classix\relax
\def\@classviii{\ifnum \@lastchclass >\z@\ifnum\@lastchclass=\tw@\else
\@preamerr 4\@chclass 6 \@classvi \fi\fi}
\def\@classv{\save@decl
- \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@__tbl
\@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
\prepnext@tok}
-\def\NC@ecs#1\extracolsep#2#3\extracolsep#4\@@@{\def\@tempa{#2}%
+\def\NC@ecs#1\extracolsep#2#3\extracolsep#4\@@__tbl{\def\@tempa{#2}%
\ifx\@tempa\@empty\else\toks\count@={#1\tabskip#2\relax#3}\fi}
\def\@tabarray{\@ifnextchar[{\@@array}{\@@array[c]}}
\let\@@array\@array
-\def\endarray{\crcr \egroup \egroup \@arrayright \gdef\@preamble{}}
\let\@arrayleft\@empty
\let\@arrayright\@empty
\newlength{\extratabsurround}
@@ -370,6 +432,7 @@
<{\d@llarend\end{lrbox}%
\let\hss\hfil
\makebox[#2][#1]{\unhbox\ar@cellbox}}}
+\ExplSyntaxOff
\endinput
%%
%% End of file `array.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/bm.sty b/Master/texmf-dist/tex/latex/tools/bm.sty
index 8a136bd86d5..175a3c6e84e 100644
--- a/Master/texmf-dist/tex/latex/tools/bm.sty
+++ b/Master/texmf-dist/tex/latex/tools/bm.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -34,13 +34,13 @@
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
-%% Copyright 1996 1997 1998 1999 2002 2003 2004 2016 2017 2019 2021 2022
+%% Copyright 1996 1997 1998 1999 2002 2003 2004 2016 2017 2019 2021 2022 2023
%% David Carlisle Frank Mittelbach
%%
%% Development of this package was commissioned by Y&Y Inc.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bm}
- [2023/07/08 v1.2f Bold Symbol Support (DPC/FMi)]
+ [2023/12/19 v1.2f Bold Symbol Support (DPC/FMi)]
\DeclareOption{nopmb}{\let\bm@pmb@\@firstofone}
\DeclareOption{warn}{\def\bm@info{\PackageWarningNoLine{bm}}}
\DeclareOption{info}{\def\bm@info#1{\PackageInfo{bm}{#1\@gobble}}}
diff --git a/Master/texmf-dist/tex/latex/tools/calc.sty b/Master/texmf-dist/tex/latex/tools/calc.sty
index d36e1a57ba6..42526027853 100644
--- a/Master/texmf-dist/tex/latex/tools/calc.sty
+++ b/Master/texmf-dist/tex/latex/tools/calc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/dcolumn.sty b/Master/texmf-dist/tex/latex/tools/dcolumn.sty
index dccfaac71cb..552e282aa81 100644
--- a/Master/texmf-dist/tex/latex/tools/dcolumn.sty
+++ b/Master/texmf-dist/tex/latex/tools/dcolumn.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/delarray.sty b/Master/texmf-dist/tex/latex/tools/delarray.sty
index 7f98e7ca54d..a5b7f5c43fe 100644
--- a/Master/texmf-dist/tex/latex/tools/delarray.sty
+++ b/Master/texmf-dist/tex/latex/tools/delarray.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/e.tex b/Master/texmf-dist/tex/latex/tools/e.tex
index f527cdda628..987b7fc8fcf 100644
--- a/Master/texmf-dist/tex/latex/tools/e.tex
+++ b/Master/texmf-dist/tex/latex/tools/e.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/enumerate.sty b/Master/texmf-dist/tex/latex/tools/enumerate.sty
index 31a7b6d8d11..189b630df7d 100644
--- a/Master/texmf-dist/tex/latex/tools/enumerate.sty
+++ b/Master/texmf-dist/tex/latex/tools/enumerate.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/fontsmpl.sty b/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
index 7795c1b0da2..781e333f1e5 100644
--- a/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
+++ b/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/fontsmpl.tex b/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
index 4ea37210957..8c1671492fd 100644
--- a/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
+++ b/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/ftnright.sty b/Master/texmf-dist/tex/latex/tools/ftnright.sty
index fbae2b7949a..06d26677fbc 100644
--- a/Master/texmf-dist/tex/latex/tools/ftnright.sty
+++ b/Master/texmf-dist/tex/latex/tools/ftnright.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/h.tex b/Master/texmf-dist/tex/latex/tools/h.tex
index c7af478cf4a..e17174333b4 100644
--- a/Master/texmf-dist/tex/latex/tools/h.tex
+++ b/Master/texmf-dist/tex/latex/tools/h.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/hhline.sty b/Master/texmf-dist/tex/latex/tools/hhline.sty
index 97bb952b645..e4fb937acb8 100644
--- a/Master/texmf-dist/tex/latex/tools/hhline.sty
+++ b/Master/texmf-dist/tex/latex/tools/hhline.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/indentfirst.sty b/Master/texmf-dist/tex/latex/tools/indentfirst.sty
index be715f3d89b..68ba4564107 100644
--- a/Master/texmf-dist/tex/latex/tools/indentfirst.sty
+++ b/Master/texmf-dist/tex/latex/tools/indentfirst.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/l3sys-query.sty b/Master/texmf-dist/tex/latex/tools/l3sys-query.sty
new file mode 100644
index 00000000000..792ef9c0416
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tools/l3sys-query.sty
@@ -0,0 +1,124 @@
+%%
+%% This is file `l3sys-query.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% l3sys-query.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%% Copyright (C) 1993-2024
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% Source File: l3sys-query.dtx
+%% Copyright (C) 2024
+%%
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file may be distributed under the terms of the LPPL.
+%% See README for details.
+\ProvidesPackage{l3sys-query}
+ [2024-03-28 v1.0a LaTeX2e interface for l3sys file queries]
+\ExplSyntaxOn
+\sys_if_shell:F{
+ \PackageWarningNoLine{l3sys-query}
+ {Shell ~Escape ~is ~disabled.\MessageBreak All ~queries ~will ~return ~empty ~results}
+ }
+\NewDocumentCommand\QueryWorkingDirectory {m} {
+ \sys_get_query:nN {pwd} #1
+}
+\tl_new:N\l_query_percent_tl
+\tl_new:N\l_query_tilde_tl
+\NewDocumentCommand\QueryFiles {} {
+ \group_begin:
+ \char_set_catcode_other:N \%
+ \char_set_catcode_other:N \^
+ \QueryFiles_inner
+ }
+\char_set_catcode_active:N \~
+\NewDocumentCommand\QueryFiles_inner {O{}m}{
+ \group_end:
+ \tl_set:Nn\l_tmpa_tl{}
+ \cs_set_eq:NN \l_query_percent_tl \%
+ \cs_set_eq:NN \% \c_percent_str
+ \cs_set_eq:NN \l_query_tilde_tl ~
+ \cs_set_eq:NN ~ \c_tilde_str
+ \keys_set:nn{QueryFiles}{#1}
+ \exp_args:NnV\sys_split_query:nnnN {ls} \l_tmpa_tl {#2} \l_tmpa_seq
+ \cs_set_eq:NN \% \l_query_percent_tl
+ \cs_set_eq:NN ~ \l_query_tilde_tl
+ \seq_map_inline:Nn\l_tmpa_seq
+}
+\NewDocumentCommand\QueryFilesTF {} {
+ \group_begin:
+ \char_set_catcode_other:N \%
+ \QueryFilesTF_inner
+ }
+\NewDocumentCommand\QueryFilesTF_inner {O{}m}{
+ \group_end:
+ \tl_set:Nn\l_tmpa_tl{}
+ \cs_set_eq:NN \l_query_percent_tl \%
+ \cs_set_eq:NN \% \c_percent_str
+ \cs_set_eq:NN \l_query_tilde_tl ~
+ \cs_set_eq:NN ~ \c_tilde_str
+ \keys_set:nn{QueryFiles}{#1}
+ \exp_args:NnV\sys_split_query:nnnN {ls} \l_tmpa_tl {#2} \l_tmpa_seq
+ \cs_set_eq:NN \% \l_query_percent_tl
+ \cs_set_eq:NN ~ \l_query_tilde_tl
+ \seq_if_empty:NTF \l_tmpa_seq \use_iii:nnn \__queryfiles_aux:nnn
+}
+\char_set_catcode_space:N \~
+\cs_new:Npn \__queryfiles_aux:nnn #1#2#3 {
+ #2
+ \seq_map_inline:Nn\l_tmpa_seq {#1}
+ }
+\keys_define:nn {QueryFiles} {
+recursive .code:n =\tl_put_right:Nn \l_tmpa_tl {--recursive ~ } ,
+recursive .value_forbidden:n = true ,
+ignore-case .code:n =\tl_put_right:Nn \l_tmpa_tl {--ignore-case ~ } ,
+ignore-case .value_forbidden:n = true ,
+reverse .code:n =\tl_put_right:Nn \l_tmpa_tl {--reverse ~ } ,
+reverse .value_forbidden:n = true ,
+exclude .code:n =\tl_put_right:Ne \l_tmpa_tl {
+ --exclude ~
+ \sys_if_shell_restricted:F'
+ \exp_not:n{#1}
+ \sys_if_shell_restricted:F'
+ ~ } ,
+exclude .value_required:n = true ,
+type .choices:nn = {d,f}
+ {\tl_put_right:Nn \l_tmpa_tl {--type ~ #1 ~ }} ,
+sort .choices:nn = {date,name}
+{\tl_put_right:Nn \l_tmpa_tl {--sort ~ #1 ~ }} ,
+pattern .code:n =\tl_put_right:Nn \l_tmpa_tl {--pattern ~ } ,
+pattern .value_forbidden:n = true ,
+}
+\ExplSyntaxOff
+\endinput
+%%
+%% End of file `l3sys-query.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/layout.sty b/Master/texmf-dist/tex/latex/tools/layout.sty
index 485dd89fac4..33d9bd36333 100644
--- a/Master/texmf-dist/tex/latex/tools/layout.sty
+++ b/Master/texmf-dist/tex/latex/tools/layout.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/longtable-2020-01-07.sty b/Master/texmf-dist/tex/latex/tools/longtable-2020-01-07.sty
index f79c691e104..fc7c3f42909 100644
--- a/Master/texmf-dist/tex/latex/tools/longtable-2020-01-07.sty
+++ b/Master/texmf-dist/tex/latex/tools/longtable-2020-01-07.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `longtable.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `longtable.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/longtable.sty b/Master/texmf-dist/tex/latex/tools/longtable.sty
index 0da756ace51..aa19b28096a 100644
--- a/Master/texmf-dist/tex/latex/tools/longtable.sty
+++ b/Master/texmf-dist/tex/latex/tools/longtable.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -36,14 +36,14 @@
%%
%% File: longtable.dtx Copyright (C) 1990-2020 David Carlisle
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{1994-06-01}{longtable-2020-01-07.sty}
\DeclareRelease{v4.13}{2020-01-02}{longtable-2020-01-07.sty}
\DeclareCurrentRelease{}{2020-02-07}
\ProvidesPackage{longtable}
- [2023-11-01 v4.19 Multi-page Table package (DPC)]
+ [2024-04-26 v4.20 Multi-page Table package (DPC)]
\def\LT@err{\PackageError{longtable}}
\def\LT@warn{\PackageWarning{longtable}}
\def\LT@final@warn{%
@@ -99,10 +99,16 @@
\if@twocolumn
\LT@err{longtable not in 1-column mode}\@ehc
\fi
+ \UseTaggingSocket{tbl/vmode/begin}%
\begingroup
\@ifnextchar[\LT@array{\LT@array[x]}}
+\ExplSyntaxOn
\def\LT@array[#1]#2{%
- \refstepcounter{table}\stepcounter{LT@tables}%
+ \UseTaggingSocket{tbl/init}
+ \@kernel@refstepcounter{table}\stepcounter{LT@tables}
+ \tl_gset:Ne \@currentHref {table.\cs_if_exist_use:N\theHtable}
+ \tbl_gzero_row_count:
+ \UseTaggingSocket{tbl/longtable/init}
\if l#1%
\LTleft\z@ \LTright\fill
\else\if r#1%
@@ -116,7 +122,8 @@
\def\@tabarray{%
\let\hline\LT@@hl
\LT@@tabarray}%
- \let\\\LT@tabularcr\let\tabularnewline\\%
+ \let\\\LT@tabularcr
+ \let\tabularnewline\\%
\def\newpage{\noalign{\break}}%
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
@@ -142,19 +149,41 @@
\let\@sharp##\let\protect\relax
\begingroup
\@mkpream{#2}%
+ \tbl_count_table_cols:
\xdef\LT@bchunk{%
+ \tbl_inbetween_rows:
\global\advance\c@LT@chunks\@ne
\global\LT@rows\z@\setbox\z@\vbox\bgroup
\LT@setprevdepth
\tabskip\LTleft \noexpand\halign to\hsize\bgroup
- \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
+ \tabskip\z@ \@arstrut
+ \UseTaggingSocket{tbl/row/begin}%
+ \tbl_init_cell_data_for_row:
+ \@preamble \tabskip\LTright \cr}%
\endgroup
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
\LT@make@row
\m@th\let\par\@empty
- \everycr{}\lineskip\z@\baselineskip\z@
+ \everycr{%
+ \noalign{%
+ \__tbl_trace:n {--longtable-->~chunk~row:~ \the\LT@rows \space
+ row:~ \the\g__tbl_row_int \space
+ column:~ \the\g__tbl_col_int
+ }
+ \tbl_if_row_was_started:T
+ {
+ \UseTaggingSocket{tbl/row/end}
+ \tbl_inbetween_rows:
+ }
+ \int_compare:nNnT \LT@rows < \LTchunksize
+ { \tbl_gincr_row_count: } % next is row about to start
+ }%
+ }%
+ \lineskip\z@\baselineskip\z@
\LT@bchunk}
+\ExplSyntaxOff
\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
+\ExplSyntaxOn
\def\LT@start{%
\let\LT@start\endgraf
\endgraf\penalty\z@\vskip\LTpre\endgraf
@@ -184,18 +213,23 @@
\else
\ifdim\pageshrink>\z@\pageshrink\z@\fi
\fi
- \global\@colroom\@colht
+ \global\@colroom\@colht
\ifvoid\LT@foot\else
\global\advance\vsize-\ht\LT@foot
\global\advance\@colroom-\ht\LT@foot
\dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
\maxdepth\z@
\fi
+ \MakeLinkTarget{table}
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
+ \UseTaggingSocket{tbl/longtable/head}
\output{\LT@output}}
+\ExplSyntaxOff
+\ExplSyntaxOn
\def\endlongtable{%
- \crcr
+ \tbl_crcr:n {endlongtable}
\noalign{%
+ \UseTaggingSocket{tbl/longtable/finalize}
\let\LT@entry\LT@entry@chop
\xdef\LT@save@row{\LT@save@row}}%
\LT@echunk
@@ -210,8 +244,8 @@
\fi
\ifx\LT@save@row\LT@@save@row
\else
- \LT@warn{Column \@width s have changed\MessageBreak
- in table \thetable}%
+ \LT@warn{Column~ widths~ have~ changed\MessageBreak
+ in~ table~ \thetable}%
\LT@final@warn
\fi
\endgraf\penalty -\LT@end@pen
@@ -223,7 +257,10 @@
\endgroup
\global\@mparbottom\z@
\endgraf\penalty\z@\addvspace\LTpost
- \ifvoid\footins\else\insert\footins{}\fi}
+ \ifvoid\footins\else\insert\footins{}\fi
+ \UseTaggingSocket{tbl/vmode/end}%
+}
+\ExplSyntaxOff
\def\LT@nofcols#1&{%
\futurelet\@let@token\LT@n@fcols}
\def\LT@n@fcols{%
@@ -241,9 +278,11 @@
{\LT@t@bularcr}}
\let\LT@crcr\crcr
\let\LT@setprevdepth\relax
+\ExplSyntaxOn
\def\LT@t@bularcr{%
\global\advance\LT@rows\@ne
\ifnum\LT@rows=\LTchunksize
+ \tbl_count_missing_cells:n {echunk}
\gdef\LT@setprevdepth{%
\prevdepth\z@
\global\let\LT@setprevdepth\relax}%
@@ -252,6 +291,7 @@
\ifnum0=`{}\fi
\expandafter\LT@LL@FM@cr
\fi}
+\ExplSyntaxOff
\def\LT@xtabularcr{%
\@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
\def\LT@ntabularcr{%
@@ -370,6 +410,7 @@
\noalign{\ifnum0=`}\fi
\penalty\@M
\futurelet\@let@token\LT@@hline}
+\ExplSyntaxOn
\def\LT@@hline{%
\ifx\@let@token\hline
\global\let\@gtempa\@gobble
@@ -381,11 +422,16 @@
\ifnum0=`{\fi}%
\multispan\LT@cols
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
- \noalign{\LT@sep}%
+ \noalign{
+ \tbl_gdecr_row_count:
+ \LT@sep}
\multispan\LT@cols
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
- \noalign{\penalty\@M}%
+ \noalign{
+ \tbl_gdecr_row_count:
+ \penalty\@M}
\@gtempa}
+\ExplSyntaxOff
\def\LT@caption{%
\noalign\bgroup
\@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
@@ -411,10 +457,11 @@
\fi
\endgraf\vskip\baselineskip}%
\hss}}}
+\ExplSyntaxOn
\def\LT@output{%
\ifnum\outputpenalty <-\@Mi
\ifnum\outputpenalty > -\LT@end@pen
- \LT@err{floats and marginpars not allowed in a longtable}\@ehc
+ \LT@err{floats~ and~ marginpars~ not~ allowed~ in~ a~ longtable}\@ehc
\else
\setbox\z@\vbox{\unvbox\@cclv}%
\ifdim \ht\LT@lastfoot>\ht\LT@foot
@@ -430,24 +477,50 @@
\fi
\fi
\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi
+ \UseTaggingSocket{tbl/longtable/foot}
\fi
\else
\setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
+ \UseTaggingSocket{tbl/longtable/foot}
\@makecol
\@outputpage
\global\vsize\@colroom
\copy\LT@head\nobreak
\fi}
+\ExplSyntaxOff
+\ExplSyntaxOn
\def\LT@end@hd@ft#1{%
+ \tbl_if_row_was_started:TF
+ {
+ \tbl_count_missing_cells:n {head/foot}
+ \int_step_inline:nn
+ { \LT@rows + 1 }
+ {
+ \seq_gput_left:ce
+ {g__tbl_\cs_to_str:N #1 _rows_seq }
+ { \int_eval:n {\g__tbl_row_int + 1 - ##1 } }
+ }
+ \int_gset:Nn \LT@rows { \LTchunksize }
+ }
+
+ {
+ \crcr
+ \noalign{
+ \tbl_gdecr_row_count: % undo the increment
+ \int_gset:Nn \LT@rows { \LTchunksize }
+ }
+ }
\LT@echunk
\ifx\LT@start\endgraf
\LT@err
- {Longtable head or foot not at start of table}%
- {Increase LTchunksize}%
+ {Longtable~ head~ or~ foot~ not~ at~ start~ of~ table}%
+ {Increase~ LTchunksize}%
\fi
\setbox#1\box\z@
+ \__tbl_trace:n {-->>~ Saving~\noexpand#1}
\LT@get@widths
\LT@bchunk}
+\ExplSyntaxOff
\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
\def\endhead{\LT@end@hd@ft\LT@head}
\def\endfoot{\LT@end@hd@ft\LT@foot}
@@ -472,6 +545,12 @@
\long\def\LT@p@ftntext#1{%
\edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
\global\LT@p@ftn\expandafter{\@tempa{#1}}}%
+\ExplSyntaxOn
+ \seq_new:N \g__tbl_LT@firsthead_rows_seq
+ \seq_new:N \g__tbl_LT@head_rows_seq
+ \seq_new:N \g__tbl_LT@lastfoot_rows_seq
+ \seq_new:N \g__tbl_LT@foot_rows_seq
+\ExplSyntaxOff
\endinput
%%
%% End of file `longtable.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/multicol-2017-04-11.sty b/Master/texmf-dist/tex/latex/tools/multicol-2017-04-11.sty
index 9e346656bbf..bdebc93db92 100644
--- a/Master/texmf-dist/tex/latex/tools/multicol-2017-04-11.sty
+++ b/Master/texmf-dist/tex/latex/tools/multicol-2017-04-11.sty
@@ -1,5 +1,7 @@
%%
-%% This is an old release of `multicol.sty',
+%% This is an old release of `multicol.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% The source is maintained by the LaTeX Project team and bug
%% reports for it can be opened at http://latex-project.org/bugs.html
diff --git a/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty b/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty
index 221f62f68e6..fc8bda54793 100644
--- a/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty
+++ b/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty
@@ -1,6 +1,7 @@
-%% This is a rollback file for multicol to the last version within release 2019-10-01
-%% =======================
%%
+%% This is an old release of `multicol.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% This is file `multicol.sty',
%% generated with the docstrip utility.
@@ -101,14 +102,6 @@
%%
%% Frank.Mittelbach@latex-project.org
%%
-\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
-\DeclareCurrentRelease{}{2018-04-01}
-
\ProvidesPackage{multicol}
[2019/12/09 v1.8y multicolumn formatting (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex/tools/multicol.sty b/Master/texmf-dist/tex/latex/tools/multicol.sty
index 4b97a784f51..ebe9ea853a8 100644
--- a/Master/texmf-dist/tex/latex/tools/multicol.sty
+++ b/Master/texmf-dist/tex/latex/tools/multicol.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -98,18 +98,14 @@
%%
%% Frank.Mittelbach@latex-project.org
%%
-\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{multicol-2017-04-11.sty}
\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
\DeclareRelease{v1.8}{2019-10-01}{multicol-2019-10-01.sty}
\DeclareCurrentRelease{}{2021-11-15}
\ProvidesPackage{multicol}
- [2023/03/30 v1.9f multicolumn formatting (FMi)]
-%%
+ [2024/05/23 v1.9h multicolumn formatting (FMi)]
\DeclareOption{twocolumn}
{\PackageWarning{multicol}{May not work
with the twocolumn option}}
@@ -904,10 +900,17 @@
\begingroup
\vbadness\@M
\setbox#1\copy#1%
- \setbox#1\vsplit#1to\maxdimen
+ \mc@get@all@box@marks #1%
\set@keptmarks
\endgroup
}
+\def\mc@get@all@box@marks #1{%
+ \setbox\@tempboxa\vsplit#1to\maxdimen
+ \ifvoid#1\else
+ \setbox#1\vbox{\unvbox\@tempboxa \unvbox#1}%
+ \mc@get@all@box@marks #1%
+ \fi
+}
\def\set@keptmarks{%
\ifx\kept@firstmark\@empty
\expandafter\gdef\expandafter
diff --git a/Master/texmf-dist/tex/latex/tools/q.tex b/Master/texmf-dist/tex/latex/tools/q.tex
index 6b478940cee..ef93425302e 100644
--- a/Master/texmf-dist/tex/latex/tools/q.tex
+++ b/Master/texmf-dist/tex/latex/tools/q.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/r.tex b/Master/texmf-dist/tex/latex/tools/r.tex
index cda1fb1951a..0031b8b56f8 100644
--- a/Master/texmf-dist/tex/latex/tools/r.tex
+++ b/Master/texmf-dist/tex/latex/tools/r.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/rawfonts.sty b/Master/texmf-dist/tex/latex/tools/rawfonts.sty
index e0ae4dadd37..1dec5d108fa 100644
--- a/Master/texmf-dist/tex/latex/tools/rawfonts.sty
+++ b/Master/texmf-dist/tex/latex/tools/rawfonts.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/s.tex b/Master/texmf-dist/tex/latex/tools/s.tex
index 30f05c6a854..67068e8f3ee 100644
--- a/Master/texmf-dist/tex/latex/tools/s.tex
+++ b/Master/texmf-dist/tex/latex/tools/s.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/shellesc.sty b/Master/texmf-dist/tex/latex/tools/shellesc.sty
index 6fbd004dfed..ddeb937bb21 100644
--- a/Master/texmf-dist/tex/latex/tools/shellesc.sty
+++ b/Master/texmf-dist/tex/latex/tools/shellesc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -36,7 +36,7 @@
%% given in the file `manifest.txt'.
%%
%% Source File: shellesc.dtx
-%% Copyright (C) 2015-2023
+%% Copyright (C) 2015-2024
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
diff --git a/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty b/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty
index b4d7b190287..9f465dff5c6 100644
--- a/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty
+++ b/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `showkeys.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `showkeys.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/showkeys.sty b/Master/texmf-dist/tex/latex/tools/showkeys.sty
index 090a8fb7875..67811019e39 100644
--- a/Master/texmf-dist/tex/latex/tools/showkeys.sty
+++ b/Master/texmf-dist/tex/latex/tools/showkeys.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -36,17 +36,15 @@
%% given in the file `manifest.txt'.
%%
%% File: showkeys.dtx Copyright (C) 1992-1997 David Carlisle
-%% File: showkeys.dtx Copyright (C) 2006-2019 David Carlisle, LaTeX Project
+%% File: showkeys.dtx Copyright (C) 2006-2024 David Carlisle, LaTeX Project
\NeedsTeXFormat{LaTeX2e}
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1994-06-01}{showkeys-2014-10-28.sty}
\DeclareRelease{}{2014-10-28}{showkeys-2014-10-28.sty}
\DeclareCurrentRelease{}{2022-06-01}
\ProvidesPackage{showkeys}
- [2023/07/08 v3.19 Show cite and label keys (DPC, MH)]
+ [2024/05/23 v3.21 Show cite and label keys (DPC, MH)]
\DeclareOption{notref}{\let\SK@ref\@empty}
\DeclareOption{notcite}{\let\SK@cite\@empty}
\let\SK@refcolor\relax
@@ -90,7 +88,7 @@
\global\setbox\@labels\hbox{%
\llap{\SK@lab\SK@lab@relax
\kern\@totalleftmargin\kern\marginparsep}%
- \box\@labels}%
+ \unhbox\@labels}%
\else
\dimen@\prevdepth
\nointerlineskip
diff --git a/Master/texmf-dist/tex/latex/tools/somedefs.sty b/Master/texmf-dist/tex/latex/tools/somedefs.sty
index d50478a051a..8c5226d39bc 100644
--- a/Master/texmf-dist/tex/latex/tools/somedefs.sty
+++ b/Master/texmf-dist/tex/latex/tools/somedefs.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/tabularx.sty b/Master/texmf-dist/tex/latex/tools/tabularx.sty
index 4079dc9f63e..9cedcd02754 100644
--- a/Master/texmf-dist/tex/latex/tools/tabularx.sty
+++ b/Master/texmf-dist/tex/latex/tools/tabularx.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -37,7 +37,8 @@
%% File: tabularx.dtx Copyright (C) 1991-1999 2012 2014 2016 2017 David Carlisle
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tabularx}
- [2023/07/08 v2.11c `tabularx' package (DPC)]
+ [2023/12/11 v2.12a `tabularx' package (DPC)]
+\NeedsTeXFormat{LaTeX2e}[2024/06/01]
\DeclareOption{infoshow}{\AtEndOfPackage\tracingtabularx}
\DeclareOption{debugshow}{\AtEndOfPackage\tracingtabularx}
\ProcessOptions
@@ -96,6 +97,7 @@
\global\TX@cols\@ne
\TX@typeout@
{\@spaces Table Width\@spaces Column Width\@spaces X Columns}%
+ \SuspendTagging {tabularx}%
\TX@trial{\def\NC@rewrite@X{%
\global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}%
\loop
@@ -103,6 +105,7 @@
\ifTX@
\TX@trial{}%
\repeat
+ \ResumeTagging {tabularx}%
{\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext
\csname tabular*\expandafter\endcsname\expandafter\TX@target
\the\toks@
@@ -167,7 +170,7 @@
\hfuzz\maxdimen
\let\hbadness\@tempcnta
\let\hfuzz\@tempdima
- \expandafter\tabular\the\toks@
+ \expandafter\tabular\the\toks@
\endtabular}%
\TX@ckpt
\TX@typeout@{\@spaces
diff --git a/Master/texmf-dist/tex/latex/tools/thb.sty b/Master/texmf-dist/tex/latex/tools/thb.sty
index 60ffb1140b8..7d78943b773 100644
--- a/Master/texmf-dist/tex/latex/tools/thb.sty
+++ b/Master/texmf-dist/tex/latex/tools/thb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thc.sty b/Master/texmf-dist/tex/latex/tools/thc.sty
index c8ddd8b16c3..7819ee2f44f 100644
--- a/Master/texmf-dist/tex/latex/tools/thc.sty
+++ b/Master/texmf-dist/tex/latex/tools/thc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thcb.sty b/Master/texmf-dist/tex/latex/tools/thcb.sty
index f6db2854666..d05f9459ae2 100644
--- a/Master/texmf-dist/tex/latex/tools/thcb.sty
+++ b/Master/texmf-dist/tex/latex/tools/thcb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/theorem.sty b/Master/texmf-dist/tex/latex/tools/theorem.sty
index 5bbbe63e71a..565fe7344b0 100644
--- a/Master/texmf-dist/tex/latex/tools/theorem.sty
+++ b/Master/texmf-dist/tex/latex/tools/theorem.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thm.sty b/Master/texmf-dist/tex/latex/tools/thm.sty
index 7c98832f830..26474e89142 100644
--- a/Master/texmf-dist/tex/latex/tools/thm.sty
+++ b/Master/texmf-dist/tex/latex/tools/thm.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thmb.sty b/Master/texmf-dist/tex/latex/tools/thmb.sty
index 47babc61d69..eb8cdc7e396 100644
--- a/Master/texmf-dist/tex/latex/tools/thmb.sty
+++ b/Master/texmf-dist/tex/latex/tools/thmb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thp.sty b/Master/texmf-dist/tex/latex/tools/thp.sty
index 951bc8fa14c..1fc19ff5a99 100644
--- a/Master/texmf-dist/tex/latex/tools/thp.sty
+++ b/Master/texmf-dist/tex/latex/tools/thp.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/trace.sty b/Master/texmf-dist/tex/latex/tools/trace.sty
index 659039e7fee..00d42ef7af4 100644
--- a/Master/texmf-dist/tex/latex/tools/trace.sty
+++ b/Master/texmf-dist/tex/latex/tools/trace.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/varioref-2016-02-16.sty b/Master/texmf-dist/tex/latex/tools/varioref-2016-02-16.sty
index 747e89dc605..39cc4467a79 100644
--- a/Master/texmf-dist/tex/latex/tools/varioref-2016-02-16.sty
+++ b/Master/texmf-dist/tex/latex/tools/varioref-2016-02-16.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `varioref.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `varioref.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/varioref.sty b/Master/texmf-dist/tex/latex/tools/varioref.sty
index 5cf0a91c5ac..6b2f7cfd7ac 100644
--- a/Master/texmf-dist/tex/latex/tools/varioref.sty
+++ b/Master/texmf-dist/tex/latex/tools/varioref.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -45,14 +45,13 @@
%% or open an issue at https://github.com/latex3/latex2e.
%%
\NeedsTeXFormat{LaTeX2e}[1995/05/16]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{varioref-2016-02-16.sty}
\DeclareRelease{}{2016-02-16}{varioref-2016-02-16.sty}
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{varioref}
- [2022/01/09 v1.6f package for extended references (FMi)]
+ [2024/05/23 v1.6g package for extended references (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex/tools/verbatim.sty b/Master/texmf-dist/tex/latex/tools/verbatim.sty
index ec527533e24..069ed64286b 100644
--- a/Master/texmf-dist/tex/latex/tools/verbatim.sty
+++ b/Master/texmf-dist/tex/latex/tools/verbatim.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -39,7 +39,7 @@
%% Copyright (C) 1989--2003 by Rainer Sch\"opf. All rights reserved.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{verbatim}
- [2023-11-06 v1.5v LaTeX2e package for verbatim enhancements]
+ [2024-01-22 v1.5x LaTeX2e package for verbatim enhancements]
\@ifundefined{verbatim@@@}{}{\endinput}
\newtoks\every@verbatim
\every@verbatim={}
@@ -205,7 +205,7 @@
\fi
}
\def\verbatiminput{\begingroup
- \@ifstar{\verbatim@input\relax}%
+ \@ifstar{\verbatim@input{\@setupverbvisiblespace\@vobeyspaces}}%
{\verbatim@input{\frenchspacing\@vobeyspaces}}}
\def\verbatim@input#1#2{%
\IfFileExists {#2}{%
diff --git a/Master/texmf-dist/tex/latex/tools/verbtest.tex b/Master/texmf-dist/tex/latex/tools/verbtest.tex
index 2bd3f6141fa..a5c40684c96 100644
--- a/Master/texmf-dist/tex/latex/tools/verbtest.tex
+++ b/Master/texmf-dist/tex/latex/tools/verbtest.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/x.tex b/Master/texmf-dist/tex/latex/tools/x.tex
index 1e903a79953..8c5e356a45b 100644
--- a/Master/texmf-dist/tex/latex/tools/x.tex
+++ b/Master/texmf-dist/tex/latex/tools/x.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/xr-2023-07-04.sty b/Master/texmf-dist/tex/latex/tools/xr-2023-07-04.sty
new file mode 100644
index 00000000000..15bfde169a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tools/xr-2023-07-04.sty
@@ -0,0 +1,84 @@
+%%
+%% This is an old release of `xr.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
+%% This is file `xr.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xr.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%%
+%% Copyright (C) 1993-2023
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% File: xr.dtx Copyright (C) 1993-2019 David Carlisle
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xr}
+ [2023-07-04 v5.06 eXternal References (DPC)]
+\def\externaldocument{\@ifnextchar[\XR@{\XR@[]}}
+\let\externalcitedocument\externaldocument
+\def\XR@[#1]#2{{%
+ \makeatletter
+ \def\XR@prefix{#1}%
+ \set@curr@file{#2}%
+ \expandafter\XR@next\@curr@file.aux\relax\\}}
+\def\XR@next#1\relax#2\\{%
+ \edef\XR@list{#2}%
+ \XR@loop{#1}}
+\def\XR@aux{%
+ \ifx\XR@list\@empty\else\expandafter\XR@explist\fi}
+
+\def\XR@explist{\expandafter\XR@next\XR@list\\}
+\def\XR@loop#1{\openin\@inputcheck{#1}\relax
+ \ifeof\@inputcheck
+ \PackageWarning{xr}{^^JNo file #1^^JLABELS NOT IMPORTED.^^J}%
+ \expandafter\XR@aux
+ \else
+ \PackageInfo{xr}{IMPORTING LABELS FROM #1}%
+ \expandafter\XR@read\fi}
+\def\XR@read{%
+ \read\@inputcheck to\XR@line
+ \expandafter\XR@test\XR@line...\XR@}
+\long\def\XR@test#1#2#3#4\XR@{%
+ \let\XR@tempa\@gobbletwo
+ \ifx#1\newlabel
+ \let\XR@tempa\@firstoftwo
+ \else\ifx#1\bibcite
+ \let\XR@tempa\@firstoftwo
+ \else\ifx#1\@input
+ \let\XR@tempa\@secondoftwo
+ \fi\fi\fi
+ \XR@tempa{#1{\XR@prefix#2}{#3}}{\edef\XR@list{\XR@list#2\relax}}%
+ \ifeof\@inputcheck\expandafter\XR@aux
+ \else\expandafter\XR@read\fi}
+\endinput
+%%
+%% End of file `xr.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/xr.sty b/Master/texmf-dist/tex/latex/tools/xr.sty
index ece5e0df2d0..9e3f16cd92b 100644
--- a/Master/texmf-dist/tex/latex/tools/xr.sty
+++ b/Master/texmf-dist/tex/latex/tools/xr.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -35,17 +35,40 @@
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
-%% File: xr.dtx Copyright (C) 1993-2019 David Carlisle
+%% File: xr.dtx Copyright (C) 1993-2024 David Carlisle
\NeedsTeXFormat{LaTeX2e}
+\DeclareRelease{v5}{2023-07-04}{xr-2023-07-04.sty}
+\DeclareCurrentRelease{}{2024-04-10}
\ProvidesPackage{xr}
- [2023-07-04 v5.06 eXternal References (DPC)]
-\def\externaldocument{\@ifnextchar[\XR@{\XR@[]}}
+ [2024-04-10 v6.00 eXternal References (DPC)]
+\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
-\def\XR@[#1]#2{{%
+\def\XR@cite[#1]{\@testopt{\XR@[#1]}{}}
+\def\XR@[#1][#2]#3{\@testopt{\XR@@{#1}{#2}{#3}}{#3.\XR@ext}}
+\def\XR@@nocite{nocite}
+\long\def\@gobblefour #1#2#3#4{}
+\long\def\@firstoffour #1#2#3#4{#1}
+\long\def\@secondoffour#1#2#3#4{#2}
+\long\def\@thirdoffour #1#2#3#4{#3}
+\long\def\@fourthoffour #1#2#3#4{#4}
+\def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}
+\def\XR@@dURL#1#2#3#4#5\\{%
+ \unexpanded{{#1}{#2}{#3}{#4}}{\XR@URL}%
+ }%
+\providecommand\XR@ext{pdf}
+\def\XR@@#1#2#3[#4]{{%
\makeatletter
\def\XR@prefix{#1}%
- \set@curr@file{#2}%
- \expandafter\XR@next\@curr@file.aux\relax\\}}
+ \def\XR@nocite{#2}%
+ \ifx\XR@nocite\XR@@nocite
+ \let\XR@bibcite\vadjust
+ \else
+ \let\XR@bibcite\bibcite
+ \fi
+ \def\XR@URL{#4}%
+ \set@curr@file{#3}%
+ \filename@parse\@curr@file
+ \XR@next\@curr@file.aux\relax\\}}
\def\XR@next#1\relax#2\\{%
\edef\XR@list{#2}%
\XR@loop{#1}}
@@ -64,15 +87,26 @@
\read\@inputcheck to\XR@line
\expandafter\XR@test\XR@line...\XR@}
\long\def\XR@test#1#2#3#4\XR@{%
- \let\XR@tempa\@gobbletwo
+ \let\XR@tempa\@gobblefour
\ifx#1\newlabel
- \let\XR@tempa\@firstoftwo
- \else\ifx#1\bibcite
- \let\XR@tempa\@firstoftwo
+ \let\XR@tempa\@firstoffour
+ \else\ifx#1\XR@bibcite
+ \let\XR@tempa\@secondoffour
\else\ifx#1\@input
- \let\XR@tempa\@secondoftwo
- \fi\fi\fi
- \XR@tempa{#1{\XR@prefix#2}{#3}}{\edef\XR@list{\XR@list#2\relax}}%
+ \let\XR@tempa\@thirdoffour
+ \else\ifx#1\new@label@record
+ \let\XR@tempa\@fourthoffour
+ \fi\fi\fi\fi
+ \XR@tempa
+ {%
+ \expandafter\protected@xdef\csname r@\XR@prefix#2\endcsname{\XR@addURL{#3}}%
+ }%
+ {\expandafter\bibcite\expandafter{\XR@prefix#2}{#3}}%
+ {\edef\XR@list{\XR@list\filename@area#2\relax}}%
+ {%
+ \edef\next{\noexpand\new@label@record{\XR@prefix#2}{\unexpanded{#3}{xr-url}{\XR@URL}}}%
+ \next
+ }
\ifeof\@inputcheck\expandafter\XR@aux
\else\expandafter\XR@read\fi}
\endinput
diff --git a/Master/texmf-dist/tex/latex/tools/xspace.sty b/Master/texmf-dist/tex/latex/tools/xspace.sty
index e95d6a1b698..7c4532b2a07 100644
--- a/Master/texmf-dist/tex/latex/tools/xspace.sty
+++ b/Master/texmf-dist/tex/latex/tools/xspace.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2023
+%% Copyright (C) 1993-2024
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tqft/tikzlibrarytqft.code.tex b/Master/texmf-dist/tex/latex/tqft/tikzlibrarytqft.code.tex
index 8eb6cdae31b..e97880fece0 100644
--- a/Master/texmf-dist/tex/latex/tqft/tikzlibrarytqft.code.tex
+++ b/Master/texmf-dist/tex/latex/tqft/tikzlibrarytqft.code.tex
@@ -4,14 +4,15 @@
%%
%% The original source files were:
%%
-%% tqft.dtx (with options: `library')
+%% tqft_code.dtx (with options: `library')
%% ----------------------------------------------------------------
-%% tqft --- a library for drawing TQFT diagrams with TikZ/PGF
+%% tqft --- a TikZ library for drawing TQFT diagrams
%% E-mail: loopspace@mathforge.org
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
+\ProvidesFile{tikzlibrarytqft.code.tex}[2024/05/31 v2.3 Tikz/PGF commands for drawing TQFT diagrams]
\ifcsname pgfk@/handlers/.pic/.@cmd\endcsname
\else
\pgfwarning{This library only works with TikZ 3.0 or later; for earlier versions of TikZ use the TQFT package}
@@ -20,6 +21,7 @@
\def\pgf@tqft@minus{-}
\let\pgf@tqft@upper\@empty
\let\pgf@tqft@lower\pgf@tqft@minus
+\newif\iftqft@twisted
\def\tqft@split(#1,#2){%
\pgfmathsetmacro\tqft@y{#2 * (-\tqft@val{cobordism height})}%
\pgfmathsetmacro\tqft@x{(#1 - 1 + max(min(#2,1),0)*\tqft@val{offset}) * \tqft@val{boundary separation}}%
@@ -61,6 +63,7 @@
\let\pgf@tqft@lower\pgf@tqft@minus
\let\pgf@tqft@upper\@empty
},
+ twisted/.is if=tqft@twisted,
anchor/.initial = none,
pair of pants/.style={
/tikz/tqft,
@@ -138,6 +141,13 @@
\global\let\tqft@cobdrylist=\pgfutil@gobble
\global\let\tqft@robdrylist=\pgfutil@gobble
\global\let\tqft@rcobdrylist=\pgfutil@gobble
+ \iftqft@twisted
+ \pgfmathsetmacro\tqft@outgoing@end{0}%
+ \pgfmathsetmacro\tqft@outgoing@dir{-1}%
+ \else
+ \pgfmathsetmacro\tqft@outgoing@end{1}%
+ \pgfmathsetmacro\tqft@outgoing@dir{1}%
+ \fi
\ifnum\tqft@val{incoming boundary components}>0\relax
\xdef\tqft@fullpath{%
\tqft@fullpath
@@ -182,7 +192,10 @@
\fi
\fi
\ifnum\tqft@val{outgoing boundary components}>0\relax
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} +\tqft@val{circle x radius}}%
+ \pgfmathsetmacro\xppos{%
+ (\tqft@outgoing@end * (\tqft@val{outgoing boundary components} -1)
+ + \tqft@val{offset}) * \tqft@val{boundary separation}
+ + \tqft@outgoing@dir * \tqft@val{circle x radius}}%
\pgfmathsetmacro\tqft@ht{abs(\tqft@val{incoming boundary components} - \tqft@val{outgoing boundary components} - \tqft@val{offset})}%
\pgfmathsetmacro\tqft@ht{1/3 + 2/3*\tqft@ht/(\tqft@ht + 1)}%
\xdef\tqft@fullpath{%
@@ -205,35 +218,38 @@
.. controls +(0,-\tqft@ht*\tqft@val{cobordism height}) and +(0,-\tqft@ht*\tqft@val{cobordism height}) .. (-\tqft@val{circle x radius},0)
}%
\xdef\tqft@blist{%
- \tqft@blist,between first incoming and last incoming/incoming and outgoing/{%
+ \tqft@blist,between first and last incoming/incoming and outgoing/{%
(\tqft@val{incoming boundary components} * \tqft@val{boundary separation} + \tqft@val{circle x radius} - \tqft@val{boundary separation},0pt)
.. controls +(0,-\tqft@ht*\tqft@val{cobordism height}) and +(0,-\tqft@ht*\tqft@val{cobordism height}) .. (-\tqft@val{circle x radius},0)}
}%
\pgfmathsetmacro\xppos{(\tqft@val{incoming boundary components} -1) * \tqft@val{boundary separation}/2}%
\xdef\tqft@clist{%
- \tqft@clist,-between first incoming and last incoming/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height}*3/4)}%
+ \tqft@clist,-between first and last incoming/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height}*3/4)},-between first incoming and last incoming/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height}*3/4)}%
}%
\fi
\else
\ifnum\tqft@val{outgoing boundary components}>0\relax
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} +\tqft@val{circle x radius}}
+ \pgfmathsetmacro\xppos{( \tqft@outgoing@end * (\tqft@val{outgoing boundary components} -1)+\tqft@val{offset}) * \tqft@val{boundary separation} + \tqft@outgoing@dir * \tqft@val{circle x radius}}
\xdef\tqft@fullpath{%
\tqft@fullpath
(\xppos pt, -\tqft@val{cobordism height})
}%
\fi
\fi
- \ifnum\tqft@val{outgoing boundary components}>0\relax
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} -\tqft@val{circle x radius}}%
+ \ifnum\tqft@val{outgoing boundary components}>0\relax
+ \pgfmathsetmacro\xppos{%
+ ( \tqft@outgoing@end * (\tqft@val{outgoing boundary components} -1)
+ + \tqft@val{offset}) * \tqft@val{boundary separation}
+ - \tqft@outgoing@dir * \tqft@val{circle x radius}}%
\xdef\tqft@fullpath{%
\tqft@fullpath
- arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
+ arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@outgoing@dir * \tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
}%
\xdef\tqft@alist{%
- \tqft@alist,-outgoing boundary \tqft@val{outgoing boundary components}/{(\xppos pt + \tqft@val{circle x radius},-\tqft@val{cobordism height})},-outgoing boundary/{(\tqft@val{offset}*\tqft@val{boundary separation},-\tqft@val{cobordism height})}%
+ \tqft@alist,-outgoing boundary \tqft@val{outgoing boundary components}/{(\xppos pt + \tqft@outgoing@dir * \tqft@val{circle x radius},-\tqft@val{cobordism height})},-outgoing boundary/{(\tqft@val{offset}*\tqft@val{boundary separation},-\tqft@val{cobordism height})}%
}%
\ifnum\tqft@val{outgoing boundary components}>1\relax
- \foreach \k [evaluate=\k as \ok using int(\tqft@val{outgoing boundary components} - \k + 1)] in {2,...,\tqft@val{outgoing boundary components}} {
+ \foreach \k [evaluate=\k as \ok using int(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - \tqft@outgoing@dir * \k)] in {2,...,\tqft@val{outgoing boundary components}} {
\edef\tqft@temp{\noexpand\pgfutil@in@{,\ok,}{,\tqft@val{skip outgoing boundary components},}}
\tqft@temp
\ifpgfutil@in@
@@ -246,15 +262,15 @@
\else
\foreach \k [
remember=\k as \kmo (initially 1),
- evaluate=\k as \xpos using (\tqft@val{outgoing boundary components} - \k + \tqft@val{offset})*\tqft@val{boundary separation} + \tqft@val{circle x radius},
+ evaluate=\k as \xpos using ( \tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - 1 - \tqft@outgoing@dir * \k + \tqft@val{offset})*\tqft@val{boundary separation} + \tqft@outgoing@dir * \tqft@val{circle x radius},
] in \tqft@obdrylist {
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} - \kmo + \tqft@val{offset})*\tqft@val{boundary separation} - \tqft@val{circle x radius}}
+ \pgfmathsetmacro\xppos{(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - 1 - \tqft@outgoing@dir * \kmo + \tqft@val{offset})*\tqft@val{boundary separation} - \tqft@outgoing@dir * \tqft@val{circle x radius}}
\pgfmathsetmacro\cpos{(\xpos + \xppos)/2}
\pgfmathsetmacro\nk{int(\tqft@val{outgoing boundary components} - \k + 1)}
\pgfmathsetmacro\nkpo{int(\tqft@val{outgoing boundary components} - \kmo + 1)}
\xdef\tqft@fullpath{%
\tqft@fullpath
- .. controls +(0,\tqft@val{cobordism height}/3) and +(0,\tqft@val{cobordism height}/3) .. (\xpos pt,-\tqft@val{cobordism height}) arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
+ .. controls +(0,\tqft@val{cobordism height}/3) and +(0,\tqft@val{cobordism height}/3) .. (\xpos pt,-\tqft@val{cobordism height}) arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@outgoing@dir * \tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
}%
\xdef\tqft@blist{%
\tqft@blist,between outgoing \nk\space and \nkpo/outgoing/{%
@@ -278,11 +294,11 @@
}%
\xdef\tqft@blist{%
\tqft@blist,between first incoming and first outgoing/incoming and outgoing/{%
- (\tqft@val{offset} * \tqft@val{boundary separation} - \tqft@val{circle x radius},-\tqft@val{cobordism height})
+ ({ ( (1 - \tqft@outgoing@end) * (\tqft@val{outgoing boundary components} - 1) + \tqft@val{offset}) * \tqft@val{boundary separation} - \tqft@outgoing@dir * \tqft@val{circle x radius}},-\tqft@val{cobordism height})
.. controls +(0,\tqft@ht*\tqft@val{cobordism height}) and +(0,-\tqft@ht*\tqft@val{cobordism height}) .. (-\tqft@val{circle x radius},0)}%
}%
\xdef\tqft@clist{%
- \tqft@clist,-between first incoming and first outgoing/{(\tqft@val{offset}*\tqft@val{boundary separation}/2-\tqft@val{circle x radius},-\tqft@val{cobordism height}/2)}%
+ \tqft@clist,-between first incoming and first outgoing/{({ ( (1 - \tqft@outgoing@end) * (\tqft@val{outgoing boundary components} - 1) +\tqft@val{offset})*\tqft@val{boundary separation}/2- \tqft@outgoing@end * \tqft@val{circle x radius}},-\tqft@val{cobordism height}/2)}%
}%
\else
\pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} +\tqft@val{circle x radius}}%
@@ -299,7 +315,7 @@
\pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components}/2 + \tqft@val{offset} -1/2) * \tqft@val{boundary separation}}%
\pgfmathsetmacro\tqft@ht{1 -\tqft@ht*3/4}%
\xdef\tqft@clist{%
- \tqft@clist,-between first and last outgoing/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height})}%
+ \tqft@clist,-between first and last outgoing/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height})},-between first outgoing and last outgoing/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height})}%
}%
\fi
\fi
@@ -415,7 +431,8 @@
\xdef\tqft@ibdrylist{1,\tqft@ibdrylist}
\fi
\foreach[evaluate=\k as \xpos using (\k-1)*\tqft@val{boundary separation}] \k in \tqft@ibdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -432,7 +449,8 @@
\ifx\tqft@cibdrylist\pgfutil@gobble
\else
\foreach[evaluate=\k as \xpos using (\k-1)*\tqft@val{boundary separation}] \k in \tqft@cibdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -455,13 +473,14 @@
\else
\xdef\tqft@obdrylist{1,\tqft@obdrylist}
\fi
-\foreach \k [evaluate=\k as \ok using int(\tqft@val{outgoing boundary components} - \k + 1)] in \tqft@obdrylist {
+\foreach \k [evaluate=\k as \ok using int(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - \tqft@outgoing@dir * \k)] in \tqft@obdrylist {
\xdef\tqft@robdrylist{\tqft@robdrylist,\ok}
}
\foreach[
evaluate=\k as \xpos using (\k-1+\tqft@val{offset})*\tqft@val{boundary separation}
] \k in \tqft@robdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -477,13 +496,15 @@
}%
\ifx\tqft@cobdrylist\pgfutil@gobble
\else
-\foreach \k [evaluate=\k as \ok using int(\tqft@val{outgoing boundary components} - \k + 1)] in \tqft@cobdrylist {
+\foreach \k[evaluate=\k as \ok using int(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - \tqft@outgoing@dir * \k)]
+ in \tqft@cobdrylist {
\xdef\tqft@rcobdrylist{\tqft@rcobdrylist,\ok}
}
\foreach[
evaluate=\k as \xpos using (\k-1+\tqft@val{offset})*\tqft@val{boundary separation}
] \k in \tqft@rcobdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -586,7 +607,7 @@
}
%%
-%% Copyright (C) 2011 by Andrew Stacey <loopspace@mathforge.org>
+%% Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
@@ -598,11 +619,11 @@
%% This work is "maintained" (as per LPPL maintenance status) by
%% Andrew Stacey.
%%
-%% This work consists of the files tqft.dtx,
-%% tqft_doc.tex,
-%% and the derived files tqft.ins,
+%% This work consists of the files tqft_code.dtx,
+%% tqft.tex,
+%% and the derived files tqft_code.ins,
+%% tqft_code.pdf,
%% tqft.pdf,
-%% tqft_doc.pdf,
%% tqft.sty, and
%% tikzlibrarytqft.code.tex.
%%
diff --git a/Master/texmf-dist/tex/latex/tqft/tqft.sty b/Master/texmf-dist/tex/latex/tqft/tqft.sty
index 48d46c33b24..d665f1da33d 100644
--- a/Master/texmf-dist/tex/latex/tqft/tqft.sty
+++ b/Master/texmf-dist/tex/latex/tqft/tqft.sty
@@ -4,9 +4,9 @@
%%
%% The original source files were:
%%
-%% tqft.dtx (with options: `package')
+%% tqft_code.dtx (with options: `package')
%% ----------------------------------------------------------------
-%% tqft --- a library for drawing TQFT diagrams with TikZ/PGF
+%% tqft --- a TikZ library for drawing TQFT diagrams
%% E-mail: loopspace@mathforge.org
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
@@ -752,7 +752,7 @@
}
%%
-%% Copyright (C) 2011 by Andrew Stacey <loopspace@mathforge.org>
+%% Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
@@ -764,11 +764,11 @@
%% This work is "maintained" (as per LPPL maintenance status) by
%% Andrew Stacey.
%%
-%% This work consists of the files tqft.dtx,
-%% tqft_doc.tex,
-%% and the derived files tqft.ins,
+%% This work consists of the files tqft_code.dtx,
+%% tqft.tex,
+%% and the derived files tqft_code.ins,
+%% tqft_code.pdf,
%% tqft.pdf,
-%% tqft_doc.pdf,
%% tqft.sty, and
%% tikzlibrarytqft.code.tex.
%%
diff --git a/Master/texmf-dist/tex/latex/tramlines/tramlines.sty b/Master/texmf-dist/tex/latex/tramlines/tramlines.sty
index f3288a8d1ff..72878c423eb 100644
--- a/Master/texmf-dist/tex/latex/tramlines/tramlines.sty
+++ b/Master/texmf-dist/tex/latex/tramlines/tramlines.sty
@@ -1,6 +1,6 @@
-\def\tramlinesversionnumber{1.1.0}
+\def\tramlinesversionnumber{1.1.1}
\ProvidesPackage{tramlines}
-[2023/01/29\tramlinesversionnumber\
+[2024/07/18\tramlinesversionnumber\
Tramlines]
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -36,7 +36,7 @@
\centering
{%notglobal
\setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule
-\begin{tabular}[t]{l c c }
+\begin{tabular}[b]{c c c }
\toprule\toprule
& #1 & \\
\bottomrule\bottomrule
diff --git a/Master/texmf-dist/tex/latex/treesvr/trees.sty b/Master/texmf-dist/tex/latex/treesvr/trees.sty
new file mode 100644
index 00000000000..bb5d5e0ff19
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/treesvr/trees.sty
@@ -0,0 +1,86 @@
+%---------- trees.sty --------------------
+% Peter Vanroose, 18 april 1990.
+\newcount\branchwidth\newcount\xcoord\newcount\ycoord\newcount\coordstep
+\def\branchlabels#1#2#3{\edef\labela{#1}\edef\labelb{#2}\edef\labelc{#3}}
+\branchlabels012
+%
+\def\root(#1,#2) #3.{\catcode32=9 % ignore spaces
+ % #3 is the node label of the root
+ \expandafter\xdef\csname nodex#3\endcsname{#1}
+ \expandafter\xdef\csname nodey#3\endcsname{#2}
+ \put(#1,#2){
+ \put(0,0){\line(-1,0)6}\put(-6,0){\line(0,-1)3}\put(-9,-3){\line(1,0)6}}}
+%
+\def\branch#1#2#3:#4,#5.{ \branchwidth=#1
+ \xcoord=\expandafter\number\csname nodex#3\endcsname
+ \ycoord=\expandafter\number\csname nodey#3\endcsname
+ \edef\coord{(\number\xcoord,\number\ycoord)}
+ \advance\xcoord by 12 % #4,#5 are the labels of the childs
+ \expandafter\xdef\csname nodex#4\endcsname{\number\xcoord}
+ \expandafter\xdef\csname nodex#5\endcsname{\number\xcoord}
+ \ifcase\branchwidth
+ \advance\ycoord by 24\coordstep=-48 \or % case 0
+ \advance\ycoord by 12\coordstep=-24 \or % case 1
+ \advance\ycoord by 6\coordstep=-12 \or % case 2
+ \advance\ycoord by 3\coordstep=- 6 \fi % case 3
+ \expandafter\xdef\csname nodey#4\endcsname{\number\ycoord}
+ \advance\ycoord by \coordstep
+ \expandafter\xdef\csname nodey#5\endcsname{\number\ycoord}
+ \expandafter\put\coord{
+ \put(0,0){\circle*1}\put(0,1.5){\makebox(0,0){\scriptsize #2}}
+ \ifcase\branchwidth
+ \put(0,0){\line(1,2){12}}\put(0,0){\line(1,-2){12}}
+ \put(5,12){\tiny$\labela$}\put(5,-12){\tiny$\labelb$} \or % case 0
+ \put(0,0){\line(1,1){12}}\put(0,0){\line(1,-1){12}}
+ \put(6,7){\tiny$\labela$}\put(6,-8){\tiny$\labelb$} \or % case 1
+ \put(0,0){\line(2,1){12}}\put(0,0){\line(2,-1){12}}
+ \put(6,3.6){\tiny$\labela$}\put(6,-5){\tiny$\labelb$} \or % case 2
+ \put(0,0){\line(4,1){12}}\put(0,0){\line(4,-1){12}}
+ \put(6,2){\tiny$\labela$}\put(6,-3){\tiny$\labelb$} \fi % case 3
+}}
+%
+\def\tbranch#1#2#3:#4,#5,#6.{
+ \branchwidth=#1
+ \xcoord=\expandafter\number\csname nodex#3\endcsname
+ \ycoord=\expandafter\number\csname nodey#3\endcsname
+ \edef\coord{(\number\xcoord,\number\ycoord)}
+ \advance\xcoord by 12
+ \expandafter\xdef\csname nodex#4\endcsname{\number\xcoord}
+ \expandafter\xdef\csname nodex#5\endcsname{\number\xcoord}
+ \expandafter\xdef\csname nodex#6\endcsname{\number\xcoord}
+ \ifcase\branchwidth
+ \advance\ycoord by 24\coordstep=-24 \or % case 0
+ \advance\ycoord by 12\coordstep=-12 \or % case 1
+ \advance\ycoord by 6\coordstep= -6 \or % case 2
+ \advance\ycoord by 3\coordstep= -3 \fi % case 3
+ \expandafter\xdef\csname nodey#4\endcsname{\number\ycoord}
+ \advance\ycoord by \coordstep
+ \expandafter\xdef\csname nodey#5\endcsname{\number\ycoord}
+ \advance\ycoord by \coordstep
+ \expandafter\xdef\csname nodey#6\endcsname{\number\ycoord}
+ \expandafter\put\coord{
+ \put(0,0){\circle*1}\put(0,1.5){\makebox(0,0){\scriptsize #2}}
+ \ifcase\branchwidth
+ \put(0,0){\line(1,2){12}}\put(0,0){\line(1,0){12}}\put(0,0){\line(1,-2){12}}
+ \put(5,12){\tiny$\labela$}\put(5,0.6){\tiny$\labelb$}\put
+ (5,-12){\tiny$\labelc$} \or % case 0
+ \put(0,0){\line(1,1){12}}\put(0,0){\line(1,0){12}}\put(0,0){\line(1,-1){12}}
+ \put(6,7){\tiny$\labela$}\put(6,0.5){\tiny$\labelb$}\put
+ (6,-8){\tiny$\labelc$} \or % case 1
+ \put(0,0){\line(2,1){12}}\put(0,0){\line(1,0){12}}\put(0,0){\line(2,-1){12}}
+ \put(6,3.6){\tiny$\labela$}\put(6,0.5){\tiny$\labelb$}\put
+ (6,-5){\tiny$\labelc$} \or % case 2
+ \put(0,0){\line(4,1){12}}\put(0,0){\line(1,0){12}}\put(0,0){\line(4,-1){12}}
+ \put(6,2){\tiny$\labela$}\put(6,0.25){\tiny$\labelb$}\put
+ (6,-3){\tiny$\labelc$} \fi % case 3
+}}
+%
+\def\leaf#1#2#3.{
+ \xcoord=\expandafter\number\csname nodex#3\endcsname
+ \ycoord=\expandafter\number\csname nodey#3\endcsname
+ \edef\coord{(\number\xcoord,\number\ycoord)}
+ \expandafter\put\coord{
+ \put(0,0){\circle*1}\put(0,1.5){\makebox(0,0){\scriptsize #1}}
+ \put(2,-0.6){\makebox(0,0)[l]{#2}}}}
+%
+%-------- end of trees.sty -------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty
index 67c92a59397..62af9069e55 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.38 (2024-05-07),
+%% This is file `beamercolorthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa2008.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa2008.sty
index 46c7da19c9d..14a86607d18 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa2008.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa2008.sty' version 3.38 (2024-05-07)
+%% This is file `beamercolorthemeTUDa2008.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty
index a245163dc16..c2ec43d33ea 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.38 (2024-05-07)
+%% This is file `beamerfontthemeTUDa.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa2008.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa2008.sty
index 737f7595087..4ac32a79cda 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa2008.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa2008.sty' version 3.38 (2024-05-07)
+%% This is file `beamerfontthemeTUDa2008.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty
index 6a9072ed6eb..f2a82c86a5f 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.38 (2024-05-07)
+%% This is file `beamerinnerthemeTUDa.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2008.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2008.sty
index cab08e361c2..55644e97664 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2008.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% This is file `beamerinnerthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2023.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2023.sty
index 22d50340c2a..e4780a9fefd 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2023.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa2023.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa2023.sty' version 3.38 (2024-05-07),
+%% This is file `beamerinnerthemeTUDa2023.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty
index 6081832c167..38f1a7b00a2 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.38 (2024-05-07),
+%% This is file `beamerouterthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa2008.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa2008.sty
index 70e31eecdea..b74da09f609 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa2008.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% This is file `beamerouterthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty
index 04fac2c523c..e84e7fa228e 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.38 (2024-05-07),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty
index 7287a8625e9..beb85e6785d 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.38 (2024-05-07),
+%% This is file `beamerthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2008.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2008.sty
index 684fc16de50..f3c3064841c 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2008.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% This is file `beamerthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
\ProvidesPackage{beamerthemeTUDa2008}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt Design of 2008]
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2023.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2023.sty
index 48e7d697b9b..7095ba69f12 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2023.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa2023.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa2023.sty' version 3.38 (2024-05-07)
+%% This is file `beamerthemeTUDa2023.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo
index 1978288520d..55147ed57f1 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a0paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\ProvidesExplFile{tuda-a0paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a0paper.clo'.
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo
index bc632089335..4a89742e12c 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a1paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
+\ProvidesExplFile{tuda-a1paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a1paper.clo'.
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo
index cda6b6762be..57121954a49 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a2paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\ProvidesExplFile{tuda-a2paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a2paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}
+ }
\dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a2paper.clo'.
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo
index 3633a545840..e841639ad03 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a3paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
+\ProvidesExplFile{tuda-a3paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
}
\endinput
+%%
+%% End of file `tuda-a3paper.clo'.
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo
index 3618253919d..646a994a6ad 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a4paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
+\ProvidesExplFile{tuda-a4paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
}
\endinput
+%%
+%% End of file `tuda-a4paper.clo'.
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo
index fda679c1830..8c0ef0e94f7 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a5paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
+\ProvidesExplFile{tuda-a5paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {12mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {12mm}
}
\endinput
+%%
+%% End of file `tuda-a5paper.clo'.
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty b/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty
index 04e7c5712d1..b0a32c7502f 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.38 (2024-05-07),
+%% This is file `tuda-pgfplots.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls
index fdf0d8e02f4..df4840467e0 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.38 (2024-05-07),
+%% This is file `tudabeamer.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
@@ -124,9 +124,9 @@
\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}}
\bool_if:NT \g_ptxcd_pdfa_bool {
-\RequirePackage{scrlfile}
-\PreventPackageFromLoading{hyperref}
-\def\hypersetup#1{}
+ \RequirePackage{scrlfile}
+ \PreventPackageFromLoading{hyperref}
+ \def\hypersetup#1{}
}
\ExplSyntaxOff
@@ -137,7 +137,16 @@
\bool_if:NT \g_ptxcd_pdfa_bool {
\UnPreventPackageFromLoading{hyperref}
\PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
\RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
}
\hypersetup{hidelinks, unicode}
@@ -242,7 +251,7 @@
\let\accentfont\normalfont%
\file_if_exist:nT {\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str.sty}
- {\usepackage{\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str}}
+ {\RequirePackage{\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str}}
\ExplSyntaxOff
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def
index 6a8afea418f..44f09edb861 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.38 (2024-05-07),
+%% This is file `tudacolors.def' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty
index 137697f2612..448483daaf7 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.38 (2024-05-07),
+%% This is file `tudacolors.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls
index 07afd270c26..366b9668261 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.38 (2024-05-07),
+%% This is file `tudaexercise.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaexercise}
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty b/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty
index 6a7873942a1..9fb3ad06005 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.38 (2024-05-07),
+%% This is file `tudafonts.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
index de3430b5072..52b86eb3321 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.38 (2024-05-07),
+%% This is file `tudaleaflet.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
@@ -88,7 +88,7 @@
\RequirePackage{scrextend}
\RequirePackage{scrlayer}
\PassOptionsToPackage{cmyk}{tudacolors}
-\usepackage[paper=leaflet]{tudarules}
+\RequirePackage[paper=leaflet]{tudarules}
\setlength{\headheight}{1cm}%to add headline
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls
index 15baed60693..9eb3a15953a 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.38 (2024-05-07),
+%% This is file `tudaletter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaletter}
@@ -48,6 +48,8 @@
raggedright .bool_gset:N = \g__ptxcd_letter_raggedright_bool,
pdfa .bool_gset:N = \g_ptxcd_pdfa_bool,
pdfa .initial:n = true,
+ pdfx .bool_gset:N = \g_ptxcd_pdfx_bool,
+ pdfx .initial:n = true,
logofile .tl_gset:N = \g_ptxcd_logofile_tl,
logofile .initial:n = tuda_logo,
department .choice:,
@@ -78,8 +80,38 @@
\ProcessKeyOptions[ptxcd/letter]
-\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}}
+\bool_if:NF \g_ptxcd_pdfa_bool {\bool_gset_false:N \g_ptxcd_pdfx_bool}
+\bool_if:NT \g_ptxcd_pdfa_bool {
+ \msg_new:nnn {tudapub} {colors-to-rgb} {
+ You~did~not~add~a~color~profile.\\
+ I~will~use~the~default~one~and~automatically~try~to~convert~internal~colors~to~RGB.\\
+ This~is~required~to~be~able~to~create~PDF/A~compliance.
+ }
+
+ \cs_if_exist:NT \pdfmeta_standard_get:nN {
+ \pdfmeta_standard_get:nN {outputintent_A} \l_tmpa_tl
+ \quark_if_no_value:NF \l_tmpa_tl {
+ \bool_gset_false:N \g_ptxcd_pdfx_bool
+ \msg_new:nnn{tudapub} {prefer-lualatex} {
+ I~detected~usage~of~l3pdfmeta~(\DocumentMetadata)~to~create~PDF/A.\\
+ tudapub~will~not~load~pdfx~to~avoid~conflicts.\\
+ To~disable this message use pdfx=false.
+ }
+ \msg_info:nn {tudapub} {prefer-lualatex}
+ }
+
+ \prop_if_in:NnF \g__pdfmeta_outputintents_prop {GTS_PDFA1} {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+ }
+ }
+}
+
+\bool_if:NT \g_ptxcd_pdfx_bool {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+}
\newcommand*{\@fontsizefilebase}{tudalettersize}
@@ -89,6 +121,11 @@
% Load the TUDa-colorscheme
\RequirePackage{tudacolors}
+\RequirePackage{tudafonts}
+\RequirePackage{graphicx}
+\RequirePackage{afterpage}
+\RequirePackage{ragged2e}
+
\bool_if:NTF \g__ptxcd_letter_premium_bool
{ \cs_new:Nn \ptxcd_premiumcolor: {accentcolor}
@@ -100,10 +137,6 @@
\let\ptxcd_use_premiumcolor_text:\relax
}
-\RequirePackage{tudafonts}
-\RequirePackage{graphicx}
-\RequirePackage{afterpage}
-\RequirePackage{ragged2e}
%%%%%Briefbogen
@@ -139,32 +172,50 @@
\geometry{top=30mm}
}
-\@setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}}
+\if_bool:N \g_ptxcd_pdfx_bool
+ \PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+\else:
+ \PassOptionsToPackage{hidelinks, unicode}{hyperref}
+ \RequirePackage{hyperref}
+\fi:
+
+\RequirePackage[paper=a4]{tudarules}% might load pgfcore, so it has to be loaded after pdfx
+
+\setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}}
-\@setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}}
-\@setplength{firstfoothpos}{\useplength{firstheadhpos}}
-\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
+\setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}}
+\setplength{firstfoothpos}{\useplength{firstheadhpos}}
+\setplength{firstfootwidth}{\useplength{firstheadwidth}}
-\@setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim}
-\@setplength{toaddrvpos}{50mm}
-\@setplength{backaddrheight}{4mm}
-\@setplength{toaddrindent}{0mm}
+\setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim}
+\setplength{toaddrvpos}{50mm}
+\setplength{backaddrheight}{4mm}
+\setplength{toaddrindent}{0mm}
-\@setplength{refhpos}{\c_ptxcd_LeftMargin_dim}
-\@setplength{refvpos}{106mm}
+\setplength{refhpos}{\c_ptxcd_LeftMargin_dim}
+\setplength{refvpos}{106mm}
-\@setplength{subjectaftervskip}{2\baselineskip}
-\@setplength{lochpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax}
-\@setplength{refaftervskip}{0pt}
-\@setplength{subjectbeforevskip}{0pt}
-\@setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax}
-\@setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax}
+\setplength{subjectaftervskip}{2\baselineskip}
+\setplength{lochpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax}
+\setplength{refaftervskip}{0pt}
+\setplength{subjectbeforevskip}{0pt}
+\setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax}
+\setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax}
-\RequirePackage[paper=a4]{tudarules}
\bool_if:NTF \g__ptxcd_letter_headrule_bool {
\ptxcd_makeheadrule[width=\useplength{firstheadwidth},color=identbarcolor]{ptxcd_LetterheadRule}
@@ -354,7 +405,7 @@
\int_new:N \l_ptxcd_letter_lastpage_int
\cs_new:Nn \ptxcd_letterpagemark: {
%get lastpage for this letter if not already done
- \int_compare:nTF {\value{page} = 1} {
+ \int_compare:nNnTF {\value{page}} = {1} {
\bool_if:NTF \g__ptxcd_firstpagenumber_bool
{\bool_set_true:N \l_tmpa_bool}
{\bool_set_false:N \l_tmpa_bool}
@@ -362,16 +413,14 @@
{\bool_set_true:N \l_tmpa_bool}
\bool_if:NT \l_tmpa_bool {
\int_if_exist:cF {c_ptxcd_letter\thisletter _lastpage_int} {
- \expandafter\ifx\csname r@\thisletter.lastpage\endcsname\relax
- %warning -> rerun latex
- \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {0}
- \else
- \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {
- \cs_if_exist:NTF \hypersetup
- {\exp_args:NNc \expandafter \@secondoffive { r@\thisletter.lastpage}}
- {\exp_args:NNc \expandafter \use_ii:nn { r@\thisletter.lastpage}}
+ \cs_if_exist:cTF {r@\thisletter.lastpage} {
+ \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {
+ \exp_args:NNc \expandafter \@secondoffive { r@\thisletter.lastpage}
+ }
+ } {
+ %warning -> rerun latex
+ \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {0}
}
- \fi
}
\usekomafont{pagenumber}\pagename\nobreakspace\thepage
\int_compare:nT {
@@ -429,63 +478,135 @@
\def\letterpagestyle{TUDaLetter}
%pdfa
-\if_bool:N \g_ptxcd_pdfa_bool
+\if_bool:N \g_ptxcd_pdfx_bool
\PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
\RequirePackage{pdfx}
-%%hyperref
-\hypersetup{hidelinks, unicode}
-\iow_new:N \ptxcd_xmpdata_stream
-\tl_new:N \g_ptxcd_xmp_title
-\tl_new:N \g_ptxcd_xmp_author
-
-\cs_new:Nn \ptxcd_pass_TitleData: {
- \prop_if_empty:NF \g_ptxcd_MetaData_prop {
- \iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata}
- \begingroup
- \def\newline{}
- \def\\{}
- \let\thanks\use_none:n
- \cs_set:Npn \and {\exp_not:N \sep}
- \use:c {pdfx@localcommands}
- \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn
- \endgroup
- \iow_close:N \ptxcd_xmpdata_stream
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+ %%hyperref
+ \hypersetup{hidelinks, unicode}
+ \iow_new:N \ptxcd_xmpdata_stream
+
+ \cs_if_exist:NF \prop_gput_if_new:Nnx {
+ \cs_generate_variant:Nn \prop_gput_if_new:Nnn {Nnx}
}
-}
-\cs_new:Nn \ptxcd_write_xmp_line:nn {
- %Fallback test for older kernels
- \cs_if_exist:NTF \str_uppercase:f {
- \tl_set:Nx \l_tmpa_tl {
- \str_uppercase:f {\tl_head:n {#1}}
- \str_lowercase:f { \tl_tail:n {#1}}
+ \cs_if_exist:NF \tl_to_str:V {\cs_generate_variant:Nn \tl_to_str:N {V}}
+
+ \cs_new:Nn \ptxcd_pass_TitleData: {
+ \prop_if_empty:NF \g_ptxcd_MetaData_prop {
+ \iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata}
+ \begingroup
+ \def\newline{}
+ \def\\{}
+ \let\thanks\use_none:n
+ \cs_set:Npn \and {\exp_not:N \sep}
+ \use:c {pdfx@localcommands}
+ \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn
+ \endgroup
+ \iow_close:N \ptxcd_xmpdata_stream
}
- } {
- %may be removed in some time
- \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}}
}
- \cs_if_exist:cTF {\l_tmpa_tl}{
- \iow_now:Nx \ptxcd_xmpdata_stream {
- \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}}
+ \cs_new:Nn \ptxcd_write_xmp_line:nn {
+ %Fallback test for older kernels
+ \cs_if_exist:NTF \str_uppercase:f {
+ \tl_set:Nx \l_tmpa_tl {
+ \str_uppercase:f {\tl_head:n {#1}}
+ \str_lowercase:f { \tl_tail:n {#1}}
+ }
+ } {
+ %may be removed in some time
+ \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}}
}
+ \cs_if_exist:cTF {\l_tmpa_tl}{
+ \iow_now:Nx \ptxcd_xmpdata_stream {
+ \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}}
+ }
+ }{
+ \msg_error:nnn{tudaletter} {unknown-metadata} {#1}
+ }
+ }
+
+ \bool_new:N \g_ptxcd_pass_TitleData_bool
+ \bool_gset_true:N \g_ptxcd_pass_TitleData_bool
+ \prop_new:N \g_ptxcd_MetaData_prop
+
+ \newcommand*{\Metadata}[1]{
+ \bool_gset_false:N \g_ptxcd_pass_TitleData_bool
+ \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1}
+ }
+
+ \msg_new:nnnn{tudaletter} {unknown-metadata} {
+ You~ used~ the~ #1~ metadata~ entry.\\
+ I~ don't~ know~ how~ to~ handle~ that.\\
+ It~ will~ be~ ignored.
+ } {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.}
+
+\else:
+ \hypersetup{pdfcreator=LaTeX~using~TUDa-CI}
+
+ \msg_new:nnnn {tudapub} {metadata-to-hypersetup} {
+ You~don't~use~pdfx.~
+ Here~the~\string\Metadata\~command~only~exists~for~compatibility~reasons.\\
+ I~will~pass~the~data~to~ḩypersetup.
}{
- \msg_error:nnn{tudaletter} {unknown-metadata} {#1}
+ If~possible~please~use~hyperref's~\strung\hypersetup~command~for~the~metadata~directly.\\
+ See~hyperref~documentation~for~details~on~usage.
}
-}
-\bool_new:N \g_ptxcd_pass_TitleData_bool
-\bool_gset_true:N \g_ptxcd_pass_TitleData_bool
-\prop_new:N \g_ptxcd_MetaData_prop
+ \newcommand*{\Metadata}[1]{
+ \tl_set:Nn \l_tmpa_tl {#1}
+ \tl_replace_all:Nnn \l_tmpa_tl {\sep} {;~}% pdfx-Syntax compatibility
+ \clist_map_inline:Nn \l_tmpa_tl {
+ \exp_args:Nx \hypersetup{pdf\tl_trim_spaces:n {##1}}
+ }
+ \msg_warning:nn {tudapub} {metadata-to-hypersetup}
+ }
-\newcommand*{\Metadata}[1]{
- \bool_gset_false:N \g_ptxcd_pass_TitleData_bool
- \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1}
-}
-\msg_new:nnnn{tudaletter} {unknown-metadata} {
- You~ used~ the~ #1~ metadata~ entry.\\
- I~ don't~ know~ how~ to~ handle~ that.\\
- It~ will~ be~ ignored.
-} {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.}
+ \cs_new:Nn \ptxcd_pass_TitleData: {
+ % check if pdfmanagement is active
+ \prop_if_exist:NTF \g__pdfmanagement_documentproperties_prop {
+ \prop_set_eq:NN \l_tmpa_prop \g__pdfmanagement_documentproperties_prop
+ } {
+ \prop_set_eq:NN \l_tmpa_prop \g__hyp_documentproperties_prop
+ }
+
+ % title
+ \prop_if_in:NnF \l_tmpa_prop {hyperref/pdftitle} {
+ \begingroup
+ \def\newline{}
+ \def\\{}
+ \let\thanks\use_none:n
+ \tl_gset:Nf \g_tmpa_tl {\@title}
+ \endgroup
+ \hypersetup{pdftitle={\tl_to_str:V \g_tmpa_tl}}
+ }
+
+ % author
+ \prop_if_in:NnF \l_tmpa_prop {hyperref/pdfauthor} {
+ \begingroup
+ \def\newline{}
+ \def\\{}
+ \let\thanks\use_none:n
+ \tl_gset:Nx \g_tmpa_tl {\seq_use:Nn \g_ptxcd_author_seq {\exp_not:N \and}}
+ \tl_gset:Nx \g_tmpa_tl {\g_tmpa_tl }
+ \endgroup
+ \hypersetup{pdfauthor=\g_tmpa_tl}
+ }
+ }
+
+ \bool_if:NF \g_ptxcd_pdfa_bool {
+ \msg_new:nnn{tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.}
+ \msg_info:nn{tudapub} {no-pdfa}
+ }
+
\fi:
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo b/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo
index 54348ee206a..216642a28ce 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.38 (2024-05-07),
+%% This is file `tudalettersize10pt.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -37,9 +37,11 @@
%%
\ProvidesFile{%
tudalettersize10pt.clo%
-}[tudaletter font size class option]
-
-\def\normalsize{%
+}[
+ tudaletter font size class option (10pt)
+]
+\let\normalsize\@undefined
+\DeclareRobustCommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
@@ -49,9 +51,11 @@
}
\def\datasize{%
\normalsize
- \@setfontsize\normalsize\@xpt\@xiiipt
+ \@setfontsize\normalsize
+ \@xpt\@xiiipt
}
-\def\small{%
+\let\small\@undefined
+\DeclareRobustCommand\small{%
\@setfontsize\small\@ixpt{11}%
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus2\p@
@@ -62,7 +66,8 @@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
-\def\footnotesize{%
+\let\footnotesize\@undefined
+\DeclareRobustCommand\footnotesize{%
\@setfontsize\footnotesize{7.5pt}\@xpt%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\p@
@@ -73,21 +78,28 @@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
-\def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
-\def\tiny{\@setfontsize\tiny\@vipt\@viipt}
-\def\large{\@setfontsize\large\@xiipt{14}}
-\def\Large{\@setfontsize\Large\@xivpt{18}}
-\def\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\def\huge{\@setfontsize\huge\@xxpt{25}}
-\def\Huge{\@setfontsize\Huge\@xxvpt{30}}
+\let\scriptsize\@undefined
+\let\tiny\@undefined
+\let\large\@undefined
+\let\Large\@undefined
+\let\LARGE\@undefined
+\let\huge\@undefined
+\let\Huge\@undefined
+\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
+\DeclareRobustCommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\DeclareRobustCommand\large{\@setfontsize\large\@xiipt{14}}
+\DeclareRobustCommand\Large{\@setfontsize\Large\@xivpt{18}}
+\DeclareRobustCommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
+\DeclareRobustCommand\huge{\@setfontsize\huge\@xxpt{25}}
+\DeclareRobustCommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
\normalsize
\setlength\footnotesep {6.65\p@}
\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@}
-\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop {0\p@ \@plus 1fil}
\setlength\@fpsep {8\p@ \@plus 2fil}
\setlength\@fpbot {0\p@ \@plus 1fil}
@@ -96,32 +108,32 @@
\setlength\@dblfpbot {0\p@ \@plus 1fil}
\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@}
\def\@listi{\leftmargin\leftmargini
- \parsep 4\p@ \@plus2\p@ \@minus\p@
- \topsep 8\p@ \@plus2\p@ \@minus4\p@
- \itemsep4\p@ \@plus2\p@ \@minus\p@}
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep \parsep}
\let\@listI\@listi
\def\@listii {\leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- \topsep 4\p@ \@plus2\p@ \@minus\p@
- \parsep 2\p@ \@plus\p@ \@minus\p@
- \itemsep \parsep}
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- \topsep 2\p@ \@plus\p@\@minus\p@
- \parsep \z@
- \partopsep \p@ \@plus\z@ \@minus\p@
- \itemsep \topsep}
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep \z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep \topsep}
\def\@listiv {\leftmargin\leftmarginiv
- \labelwidth\leftmarginiv
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
\def\@listv {\leftmargin\leftmarginv
- \labelwidth\leftmarginv
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
\def\@listvi {\leftmargin\leftmarginvi
- \labelwidth\leftmarginvi
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
%%% From File: $Id: scrkernel-paragraphs.dtx 3064 2019-02-01 07:40:28Z kohm $
\@ifundefined{@list@extra}{}{%
\expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg b/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg
index 83f385b1726..d1d70773e85 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.38 (2024-05-07),
+%% This is file `tudamecheng.cfg' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls
index 99b2d2d07d4..0286215cb05 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.38 (2024-05-07),
+%% This is file `tudaposter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls
index a863197f836..976d2a943ca 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.38 (2024-05-07),
+%% This is file `tudapub.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudapub}
@@ -224,11 +224,6 @@
}
}
-\bool_if:NT \g_ptxcd_pdfx_bool {
- \PassOptionsToPackage{RGB}{xcolor}
- \msg_info:nn {tudapub} {colors-to-rgb}
-}
-
\exp_args:Nx \tl_if_eq:nnT {\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}} {9pt}
{
\prop_if_in:NnF \g_ptxcd_unknown_clsopts_prop {DIV}
@@ -254,6 +249,64 @@
\LoadClass{\g_ptxcd_pub_class_tl}
+\RequirePackage{tudafonts}
+\RequirePackage{tudacolors}
+\RequirePackage[draft=false]{scrlayer-scrpage}
+\RequirePackage{graphicx}
+
+\bool_if:NTF \g_ptxcd_pdfx_bool {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+
+ %only apply the hack if pdfx is older than the working version
+ \PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+
+ \msg_new:nnn{tudapub} {prefer-lualatex} {
+ You~use~pdfa-mode~in~#1.\\
+ This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\
+ You~should~prefer~using~lualatex.
+ }
+ \msg_new:nnnn{tudapub} {outdated-package-pdfa} {
+ Your~Version~of~the~#1-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\
+ Either~update~your~TeX-distribution~or~switch~to~pdfa=false.
+ }{See~DEMO-tudapub~for~further~information.}
+
+
+ \sys_if_engine_pdftex:T {
+ \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX}
+ }
+
+ \sys_if_engine_xetex:T {
+ \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX}
+ }
+
+ \@ifpackagelater{xmpincl}{2021/09/22}{
+ }{
+ \msg_error:nn{tudapub} {outdated-package-pdfa} {xmpincl}
+ }
+
+ \@ifpackagelater{pdfx}{2018/12/01}{
+ }{
+ \msg_error:nn{tudapub} {outdated-package-pdfa} {pdfx}
+ }
+} {
+ \PassOptionsToPackage{hidelinks, unicode}{hyperref}
+ \RequirePackage{hyperref}
+}
+
+\RequirePackage{tudarules}
+\RequirePackage{trimclip}
+\RequirePackage{bookmark}
\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop {
\cs_if_exist:cT {KV@KOMA.\g_ptxcd_pub_class_tl.cls@#1} {
@@ -299,12 +352,6 @@
}
-\usepackage{tudarules}
-
-
-%,~ subsection,~
-\usepackage{tudafonts}
-
%Margin & titlefontsize setup setup
\bool_new:N \g_ptxcd_marginpar_bool
@@ -386,8 +433,7 @@
%%%%%Anfang Randeinstellungen Geometry
-%Has to be loaded here due to headwidth options
-\usepackage[draft=false]{scrlayer-scrpage}
+
\AddToHook{begindocument}[tudapub:BCOR-titlepage]{
\bool_if:NT \g_ptxcd_BCOR_titlepage_bool
@@ -464,7 +510,6 @@
-
\newcommand*{\institution}[1]{
\def\ptxcd_institution{#1}
}
@@ -472,7 +517,6 @@
\cs_new:Nn \ptxcd_titlerule_sep: {\the\dp\strutbox}
-\usepackage{tudacolors}
\setkomafont{disposition}{\sffamily\bfseries}
\setkomafont{pageheadfoot}{\sffamily\small}
@@ -600,7 +644,6 @@
\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}}
\box_new:N \l__ptxcd_titlegraphic_box
-\RequirePackage{trimclip}
\NewDocumentCommand{\titlegraphic}{sm}{
\IfBooleanTF{#1}{
@@ -640,7 +683,7 @@
You~selected~an~unknown~language~#1.\\
The~Variable~#2~does~not~have~a~predefined~value.\\
Ensure~to~redefine~#2~to~match~your~language.\\
- Otherwise~the~ngerman~vaue~#3~will~be~used.
+ Otherwise~the~german~vaue~#3~will~be~used.
}
\cs_new:Nn \ptxcd_define_captionFallback:Nn {
@@ -870,43 +913,8 @@
\DeclareNewPageStyleByLayers{title.TUDa}{title.TUDa.background,title.TUDa.rule,title.TUDa.image}
%Logos
-\RequirePackage{graphicx}
\if_bool:N \g_ptxcd_pdfx_bool
-
- \msg_new:nnn{tudapub} {prefer-lualatex} {
- You~use~pdfa-mode~in~#1.\\
- This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\
- You~should~prefer~using~lualatex.
- }
- %only apply the hack if pdfx is older than the working version
- \PassOptionsToPackage{a-2b}{pdfx}
- \RequirePackage{pdfx}
-
- \msg_new:nnnn{tudapub} {outdated-package-pdfa} {
- Your~Version~of~the~#1-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\
- Either~update~your~TeX-distribution~or~switch~to~pdfa=false.
- }{See~DEMO-tudapub~for~further~information.}
-
-
- \sys_if_engine_pdftex:T {
- \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX}
- }
-
- \sys_if_engine_xetex:T {
- \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX}
- }
-
- \@ifpackagelater{xmpincl}{2021/09/22}{
- }{
- \msg_error:nn{tudapub} {outdated-package-pdfa} {xmpincl}
- }
-
- \@ifpackagelater{pdfx}{2018/12/01}{
- }{
- \msg_error:nn{tudapub} {outdated-package-pdfa} {pdfx}
- }
-
%%hyperref
\hypersetup{hidelinks, unicode}
\iow_new:N \ptxcd_xmpdata_stream
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty b/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty
index 76dae0e2e7a..98182d08c18 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.38 (2024-05-07),
+%% This is file `tudarules.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls
index e3bda42e208..71e8123ef10 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.38 (2024-05-07),
+%% This is file `tudasciposter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
@@ -123,16 +123,36 @@
\PassOptionsToPackage{DIV=10}{typearea}
\LoadClass[parskip=full-]{scrartcl}
\RequirePackage{tudafonts}
-\RequirePackage{tikz}
-\usetikzlibrary{calc}
+\RequirePackage{calc}
+\RequirePackage[margin=0pt]{geometry}
+\RequirePackage{tudacolors}
+
+\ExplSyntaxOn
+
+\if_bool:N \g_ptxcd_pdfa_bool
+\PassOptionsToPackage{a-2b}{pdfx}
+\IfFormatAtLeastTF{2020/10/01}{}{\endinput}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+\fi:
+
+\ExplSyntaxOff
\RequirePackage{tcolorbox}
\tcbuselibrary{poster}
-\RequirePackage[margin=0pt]{geometry}
-\ExplSyntaxOn
-
+\RequirePackage[mode=tikz]{tudarules}
+\RequirePackage{qrcode}
+\ExplSyntaxOn
%Font adjusments
\renewcommand*{\familydefault}{\sfdefault}
@@ -150,9 +170,7 @@
% end of font adjustments
-\RequirePackage[mode=tikz]{tudarules}
-\RequirePackage{tudacolors}
-\RequirePackage{qrcode}
+
\dim_const:Nn \c_ptxcd_headrule_ht_dim {\c_ptxcd_rulesep_dim +\c_ptxcd_largerule_dim + \c_ptxcd_smallrule_dim}
%Setup title
@@ -231,8 +249,6 @@
%%%%%%%%%%%%%%%%%%%
%PDFA
\if_bool:N \g_ptxcd_pdfa_bool
-\PassOptionsToPackage{a-2b}{pdfx}
-\RequirePackage{pdfx}
%%hyperref
\hypersetup{hidelinks, unicode, hyperfootnotes=false}
\iow_new:N \ptxcd_xmpdata_stream
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo b/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo
index 8537d16f7c6..4f618069923 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.38 (2024-05-07),
+%% This is file `tudasize9pt.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg b/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg
index e25ded1a686..54ffeeacd0a 100644
--- a/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.38 (2024-05-07),
+%% This is file `tudathesis.cfg' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
@@ -56,8 +56,9 @@
}
{
\ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department}
- \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
\ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} { \ptxcd_department:{}~ \text_titlecase:n{\departmentname}}
+ \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
+ \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix:{}~\ptxcd_department:}{\ptxcd_departmentprefix:{}~\ptxcd_department:}
}
{\bool_if:NTF \g_ptxcd_dr_bool
{
@@ -203,7 +204,7 @@
\IfBooleanTF{#1}{
\tl_gset:Nn \ptxcd_department: {#3}
\tl_gset:Nn \ptxcd_in_department{#3}
- \IfNoValueTF {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
+ \IfNoValueTF {#2} {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
\clist_remove_all:Nn \g_ptxcd_Required_title_data_clist {department}
}{
\tl_gset:Nn \g_ptxcd_department_choice_tl {#3}
@@ -373,7 +374,7 @@
{\keys_set:nn {ptxcd/thesis} {printid=#1}}
\lowertitleback{
\urlstyle{same}
- \selectlanguage{ngerman}
+ \selectlanguage{german}
Bitte~zitieren~Sie~dieses~Dokument~als:
\tl_if_empty:NF \g_ptxcd_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_ptxcd_thesis_urn_tl}\\
URL:~\url{https://tuprints.ulb.tu-darmstadt.de/\g_ptxcd_thesis_tuprints_tl}\\
@@ -530,7 +531,7 @@
\selectfont
{\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}%
\usekomafont{subject}
- \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{ngerman}}
+ \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{german}}
\tl_if_empty:NF \g_ptxcd_titleintro_tl {\g_ptxcd_titleintro_tl\par}
\tl_if_empty:NF \g_ptxcd_thesis_drtext_tl {\g_ptxcd_thesis_drtext_tl\par}
{%
@@ -644,7 +645,7 @@
{\keys_set:nn {ptxcd/thesis} {affidavit=#2}}%
}%
\clearpage
-\begin{otherlanguage}{ngerman}
+\begin{otherlanguage}{german}
\bool_if:NTF \g_ptxcd_dr_bool {
\g__ptxcd_affidavit_dr_tl
} {
@@ -661,8 +662,6 @@
\expandafter\def\csname g__ptxcd_affidavit_dr_tl\endcsname {%
\section*{Erklärungen laut Promotionsordnung}
- \subsection*{\S\,8 Abs. 1 lit. c PromO}
- Ich versichere hiermit, dass die elektronische Version meiner Dissertation mit der schriftlichen Version übereinstimmt.
\subsection*{\S\,8 Abs. 1 lit. d PromO}
Ich versichere hiermit, dass zu einem vorherigen Zeitpunkt noch keine Promotion versucht wurde. In diesem Fall sind nähere Angaben über Zeitpunkt, Hochschule, Dissertationsthema und Ergebnis dieses Versuchs mitzuteilen.
@@ -744,7 +743,7 @@
Use~"ignore-title-language"~Option~to~ignore~this~message~at~your~own~risk.
}
-\PassOptionsToPackage{ngerman}{babel}
+\PassOptionsToPackage{german}{babel}
\AtBeginDocument{
\@ifpackageloaded{babel}{}{
\msg_new:nnnn{tudapub/thesis} {missing-babel} {
diff --git a/Master/texmf-dist/tex/latex/typog/typog.sty b/Master/texmf-dist/tex/latex/typog/typog.sty
index bbb03cb5cbe..d58f381051a 100644
--- a/Master/texmf-dist/tex/latex/typog/typog.sty
+++ b/Master/texmf-dist/tex/latex/typog/typog.sty
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,13 +25,15 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{typog}
- [2024/05/07 v0.3 TypoGraphic extensions]
+ [2024/07/08 v0.4 TypoGraphic extensions]
\RequirePackage{etoolbox}
\RequirePackage{everyhook}
@@ -40,10 +42,11 @@
\newcommand*{\typog@TYPOG}{}
\newcommand*{\typoglogo}{\textsf{T\itcorr*{-5}\textsl{y}poG}}
\newif\iftypog@debug
-\newcommand*{\typog@typeout}[1]
- {\iftypog@debug
- \typeout{typog: #1}%
- \fi}
+\newcommand*{\typog@typeout}[1]{\typeout{typog: #1}}
+
+\newcommand*{\typog@debug@typeout}[1]{\iftypog@debug\typog@typeout{#1}\fi}
+
+\newcounter{typog@@iteration}
\ExplSyntaxOn
\let\typog@trim@spaces=\tl_trim_spaces:o
@@ -85,20 +88,34 @@
\fi
}
-\newmuskip\typog@mathitalicscorrection
-\newlength{\typog@textitalicscorrection}
-\newlength{\typog@ligaturekern}
-\newlength{\typog@raisecapitaldash}
-\newlength{\typog@raisecapitalguillemets}
-\newlength{\typog@raisecapitalhyphen}
-\newlength{\typog@raisecapitaltimes}
-\newlength{\typog@raiseguillemets}
-\newlength{\typog@raisefiguredash}
-\newlength{\typog@slashkern}
-\newcommand*{\typog@breakpenalty}{\exhyphenpenalty}
+\newmuskip\typog@config@mathitalicscorrection
+
+\newdimen{\typog@adjust@labelitemi}
+\newdimen{\typog@adjust@labelitemii}
+\newdimen{\typog@adjust@labelitemiii}
+\newdimen{\typog@adjust@labelitemiv}
+\newdimen{\typog@adjust@lowercase@labelitemi}
+\newdimen{\typog@adjust@lowercase@labelitemii}
+\newdimen{\typog@adjust@lowercase@labelitemiii}
+\newdimen{\typog@adjust@lowercase@labelitemiv}
+\newdimen{\typog@adjust@uppercase@labelitemi}
+\newdimen{\typog@adjust@uppercase@labelitemii}
+\newdimen{\typog@adjust@uppercase@labelitemiii}
+\newdimen{\typog@adjust@uppercase@labelitemiv}
+
+\newlength{\typog@config@textitalicscorrection}
+\newlength{\typog@config@ligaturekern}
+\newlength{\typog@config@raisecapitaldash}
+\newlength{\typog@config@raisecapitalguillemets}
+\newlength{\typog@config@raisecapitalhyphen}
+\newlength{\typog@config@raisecapitaltimes}
+\newlength{\typog@config@raiseguillemets}
+\newlength{\typog@config@raisefiguredash}
+\newlength{\typog@config@slashkern}
+\newcommand*{\typog@config@breakpenalty}{\exhyphenpenalty}
\newlength{\typog@dim@unit}
\setlength{\typog@dim@unit}{.001em}
-\newcommand*{\typog@trackingttspacing}{300, 90, 60}
+\newcommand*{\typog@config@trackingttspacing}{300, 90, 60}
\newcommand*{\typog@default@shrink@i}{5}
\newcommand*{\typog@default@shrink@ii}{10}
\newcommand*{\typog@default@shrink@iii}{20}
@@ -122,77 +139,99 @@
\newcommand*{\typog@set@shrink@limits}
{\edef\typog@@star{*}%
- \edef\typog@@limit{\typog@triple@get@i{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@i{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@ii{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@ii{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@iii{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@iii{\number\typog@@limit}\fi}
\newcommand*{\typog@set@stretch@limits}
{\edef\typog@@star{*}%
- \edef\typog@@limit{\typog@triple@get@i{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@i{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@ii{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@ii{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@iii{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@iii{\number\typog@@limit}\fi}
\DeclareOptionX<typog>{breakpenalty}%
- {\renewcommand*{\typog@breakpenalty}{#1}}
+ {\renewcommand*{\typog@config@breakpenalty}{#1}}
\DeclareOptionX<typog>{debug}{\typog@debugtrue}
\DeclareOptionX<typog>{mathitalicscorrection}[.4mu]%
- {\typog@mathitalicscorrection=#1\relax}%
+ {\typog@config@mathitalicscorrection=#1\relax}%
\DeclareOptionX<typog>{nodebug}{\typog@debugfalse}
\DeclareOptionX<typog>{textitalicscorrection}[.02em]%
- {\setlength{\typog@textitalicscorrection}{#1}}
+ {\setlength{\typog@config@textitalicscorrection}{#1}}
\DeclareOptionX<typog>{ligaturekern}[.033333em]%
- {\setlength{\typog@ligaturekern}{#1}}
+ {\setlength{\typog@config@ligaturekern}{#1}}
+\DeclareOptionX<typog>{lowercaselabelitemadjustments}%
+ {\typog@debug@typeout{lowercaselabelitemadjustments={#1}}
+ \def\typog@@do##1{\addtocounter{typog@@iteration}{1}
+ \global\setlength{\csname typog@adjust@lowercase@labelitem\romannumeral\thetypog@@iteration\endcsname}{##1}}
+ \setcounter{typog@@iteration}{0}
+ \forcsvlist{\typog@@do}{#1}}
+\newcommand*{\typog@config@lowercaselabelitemadjustments}
+ {\the\typog@adjust@lowercase@labelitemi,\space
+ \the\typog@adjust@lowercase@labelitemii,\space
+ \the\typog@adjust@lowercase@labelitemiii,\space
+ \the\typog@adjust@lowercase@labelitemiv}
\DeclareOptionX<typog>{raisecapitaldash}[\z@]%
- {\setlength{\typog@raisecapitaldash}{#1}}
+ {\setlength{\typog@config@raisecapitaldash}{#1}}
\DeclareOptionX<typog>{raisecapitalguillemets}[\z@]%
- {\setlength{\typog@raisecapitalguillemets}{#1}}
+ {\setlength{\typog@config@raisecapitalguillemets}{#1}}
\DeclareOptionX<typog>{raisecapitalhyphen}[\z@]%
- {\setlength{\typog@raisecapitalhyphen}{#1}}
+ {\setlength{\typog@config@raisecapitalhyphen}{#1}}
\DeclareOptionX<typog>{raisecapitaltimes}[\z@]%
- {\setlength{\typog@raisecapitaltimes}{#1}}
+ {\setlength{\typog@config@raisecapitaltimes}{#1}}
\DeclareOptionX<typog>{raiseguillemets}[\z@]%
- {\setlength{\typog@raiseguillemets}{#1}}
+ {\setlength{\typog@config@raiseguillemets}{#1}}
\DeclareOptionX<typog>{raisefiguredash}[\z@]%
- {\setlength{\typog@raisefiguredash}{#1}}
+ {\setlength{\typog@config@raisefiguredash}{#1}}
\DeclareOptionX<typog>{raise*}[\z@]%
- {\setlength{\typog@raisecapitaldash}{#1}%
- \setlength{\typog@raisecapitalhyphen}{#1}%
- \setlength{\typog@raisecapitaltimes}{#1}%
- \setlength{\typog@raisefiguredash}{#1}}
+ {\setlength{\typog@config@raisecapitaldash}{#1}%
+ \setlength{\typog@config@raisecapitalhyphen}{#1}%
+ \setlength{\typog@config@raisecapitaltimes}{#1}%
+ \setlength{\typog@config@raisefiguredash}{#1}}
\DeclareOptionX<typog>{shrinklimits}%
[\typog@default@shrink@i, \typog@default@shrink@ii, \typog@default@shrink@iii]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `shrinklimits' can only be used in the preamble}%
\else
- \edef\typog@shrinklimits{#1}%
+ \edef\typog@config@shrinklimits{#1}%
\typog@set@shrink@limits
\fi}
\DeclareOptionX<typog>{slashkern}[.05em]%
- {\setlength{\typog@slashkern}{#1}}
+ {\setlength{\typog@config@slashkern}{#1}}
\DeclareOptionX<typog>{stretchlimits}%
[\typog@default@stretch@i, \typog@default@stretch@ii, \typog@default@stretch@iii]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `stretchlimits' can only be used in the preamble}%
\else
- \edef\typog@stretchlimits{#1}%
+ \edef\typog@config@stretchlimits{#1}%
\typog@set@stretch@limits
\fi}
-\DeclareOptionX<typog>{trackingttspacing}[\typog@trackingttspacing]%
+\DeclareOptionX<typog>{trackingttspacing}[\typog@config@trackingttspacing]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `trackingttspacing' can only be used in the preamble}%
\else
- \typog@typeout{trackingttspacing=#1}%
+ \typog@debug@typeout{trackingttspacing=#1}%
\SetTracking[outer spacing={#1}]{encoding=*, family=tt*}{0}%
\fi}
+\DeclareOptionX<typog>{uppercaselabelitemadjustments}%
+ {\typog@debug@typeout{uppercaselabelitemadjustments={#1}}
+ \def\typog@@do##1{\addtocounter{typog@@iteration}{1}
+ \setlength{\csname typog@adjust@uppercase@labelitem\romannumeral\thetypog@@iteration\endcsname}{##1}}
+ \setcounter{typog@@iteration}{0}
+ \forcsvlist{\typog@@do}{#1}}
+\newcommand*{\typog@config@uppercaselabelitemadjustments}
+ {\the\typog@adjust@uppercase@labelitemi,\space
+ \the\typog@adjust@uppercase@labelitemii,\space
+ \the\typog@adjust@uppercase@labelitemiii,\space
+ \the\typog@adjust@uppercase@labelitemiv}
\newcommand*{\typog@initialize@options}
{\ExecuteOptionsX<typog>{
@@ -220,7 +259,30 @@
\fi
\ignorespaces}
{\ignorespacesafterend}
-\NewDocumentCommand{\typogget}{m}{\csname typog@#1\endcsname}
+\NewDocumentCommand{\typogget}{m}{\csname typog@config@#1\endcsname}
+
+\ExplSyntaxOn
+\cs_generate_variant:Nn \seq_set_split:Nnn {Nne}
+\cs_new:Npn \typog_get_nth_csname:cnn #1#2#3
+ {
+ \seq_set_split:Nne \l_tmpa_seq {,} {\cs:w typog@config@#2 \cs_end:}
+ \cs_gset:cpn {#1} {\seq_item:Nn \l_tmpa_seq {#3}}
+ }
+\cs_new:Npn \typog_get_nth_dimen:nnn #1#2#3
+ {
+ \seq_set_split:Nne \l_tmpa_seq {,} {\cs:w typog@config@#2 \cs_end:}
+ \dim_set:Nn {#1} {\seq_item:Nn \l_tmpa_seq {#3}}
+ }
+\NewDocumentCommand{\typoggetnth}{m m m}{
+ \token_if_dim_register:NTF {#1}
+ {
+ \typog_get_nth_dimen:nnn {#1} {#2} {#3}
+ }
+ {
+ \typog_get_nth_csname:cnn {#1} {#2} {#3}
+ }
+}
+\ExplSyntaxOff
\ExplSyntaxOn
\newcommand*{\typog@round@dim@to@tenths}[1]
@@ -250,6 +312,7 @@
\newcommand*{\typog@default@inspect@id@prefix}{a-}
\newcounter{typog@inspect@count}
+
\define@key[typog]{typoginspect}{tracingboxes}[\maxdimen]%
{\def\typog@@typoginspect@tracingboxes{#1}}
\NewDocumentEnvironment{typoginspect}{O{} m}
@@ -258,11 +321,16 @@
\edef\typog@@arg{#2}%
\ifx\typog@@arg\empty
\stepcounter{typog@inspect@count}%
- \edef\typog@@id{\typog@default@inspect@id@prefix\arabic{typog@inspect@count}}%
+ \edef\typog@@id{\typog@default@inspect@id@prefix
+ \arabic{typog@inspect@count}}%
\else
\edef\typog@@id{\typog@trim@spaces{\typog@@arg}}%
\fi
- \typeout{<typog-inspect id="\typog@@id" job="\jobname" line="\the\inputlineno" page="\the\value{page}">}%
+ \typeout{<typog-inspect\space
+ id="\typog@@id"\space
+ job="\jobname"\space
+ line="\the\inputlineno"\space
+ page="\the\value{page}">}%
\hbadness=\m@ne
\vbadness=\m@ne
\tracingnone
@@ -306,7 +374,7 @@
\newcommand*{\typog@hyphen}{\char`-}
\NewDocumentCommand{\nolig}{s o}
- {\dimen0=\IfNoValueTF{#2}{\typog@ligaturekern}{#2\typog@dim@unit}%
+ {\dimen0=\IfNoValueTF{#2}{\typog@config@ligaturekern}{#2\typog@dim@unit}%
\IfBooleanTF{#1}%
{\kern\dimen0\ignorespaces}%
{\discretionary{\typog@hyphen}{}{\kern\dimen0}%
@@ -329,7 +397,7 @@
}
\newcommand*{\typog@itcorr@text@unconditional}[1]
- {\kern#1\typog@textitalicscorrection}
+ {\kern#1\typog@config@textitalicscorrection}
\newcommand*{\typog@itcorr@text}[1]
{\def\typog@@strength{#1}%
\dimen0=\fontdimen1\font
@@ -339,7 +407,7 @@
\kern\typog@@strength\dimen0
\fi}
\newcommand*{\typog@itcorr@math}[1]
- {\mkern#1\typog@mathitalicscorrection}
+ {\mkern#1\typog@config@mathitalicscorrection}
\NewDocumentCommand{\itcorr}{s m}
{\ifmmode
\typog@itcorr@math{#2}%
@@ -354,11 +422,11 @@
\newcommand*{\typog@forwardslash}{\char`/}
\NewDocumentCommand{\kernedslash}{s}
- {\hspace*{\typog@slashkern}%
+ {\hspace*{\typog@config@slashkern}%
\typog@forwardslash
\IfBooleanTF{#1}%
- {\hspace*{\typog@slashkern}\ignorespaces}%
- {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@slashkern}}}
+ {\hspace*{\typog@config@slashkern}\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@config@slashkern}}}
\typog@register@pdfsubstitute{
\def\kernedslash#1{\if*\detokenize{#1}/\ignorespaces\else/#1\fi}%
}
@@ -373,7 +441,7 @@
\def\typog@@optarg{#2}%
\hspace*{#3\typog@dim@unit}%
\raisebox{\ifx\typog@@optarg\typog@@auto
- \typog@raisecapitalhyphen
+ \typog@config@raisecapitalhyphen
\else
\typog@@optarg\typog@dim@unit
\fi}{\typog@hyphen}%
@@ -400,9 +468,9 @@
}
\newcommand*{\typog@breakpoint}
- {\penalty\typog@breakpenalty}
+ {\penalty\typog@config@breakpenalty}
\NewDocumentCommand{\capitalhyphen}{s}
- {\raisebox{\typog@raisecapitalhyphen}{\typog@hyphen}%
+ {\raisebox{\typog@config@raisecapitalhyphen}{\typog@hyphen}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -416,7 +484,7 @@
}
\NewDocumentCommand{\capitalendash}{s}
- {\raisebox{\typog@raisecapitaldash}{\textendash}%
+ {\raisebox{\typog@config@raisecapitaldash}{\textendash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -432,7 +500,7 @@
}
\NewDocumentCommand{\capitalemdash}{s}
- {\raisebox{\typog@raisecapitaldash}{\textemdash}%
+ {\raisebox{\typog@config@raisecapitaldash}{\textemdash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -446,7 +514,7 @@
}
\NewDocumentCommand{\figuredash}{s}
- {\raisebox{\typog@raisefiguredash}{\textendash}%
+ {\raisebox{\typog@config@raisefiguredash}{\textendash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -454,9 +522,9 @@
\NewDocumentCommand{\capitaltimes}{}
{\ifmmode
- \mathbin{\raisebox{\typog@raisecapitaltimes}{$\m@th\times$}}%
+ \mathbin{\raisebox{\typog@config@raisecapitaltimes}{$\m@th\times$}}%
\else
- \raisebox{\typog@raisecapitaltimes}{\texttimes}%
+ \raisebox{\typog@config@raisecapitaltimes}{\texttimes}%
\fi}
\typog@register@pdfsubstitute{
\RenewExpandableDocumentCommand{\capitaltimes}{}{\texttimes}
@@ -464,37 +532,247 @@
\NewDocumentCommand{\singleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raiseguillemets}{\guilsinglleft}}
+ \raisebox{\typog@config@raiseguillemets}{\guilsinglleft}}
\typog@register@pdfsubstitute{\let\singleguillemetleft\guilsinglleft}
\NewDocumentCommand{\singleguillemetright}{}
- {\raisebox{\typog@raiseguillemets}{\guilsinglright}%
+ {\raisebox{\typog@config@raiseguillemets}{\guilsinglright}%
\typog@allowhyphenation}
\typog@register@pdfsubstitute{\let\singleguillemetright\guilsinglright}
\NewDocumentCommand{\doubleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raiseguillemets}{\guillemotleft}}
+ \raisebox{\typog@config@raiseguillemets}{\guillemotleft}}
\typog@register@pdfsubstitute{\let\doubleguillemetleft\guillemotleft}
\NewDocumentCommand{\doubleguillemetright}{}
- {\raisebox{\typog@raiseguillemets}{\guillemotright}%
+ {\raisebox{\typog@config@raiseguillemets}{\guillemotright}%
\typog@allowhyphenation}
\typog@register@pdfsubstitute{\let\doubleguillemetright\guillemotright}
\NewDocumentCommand{\Singleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raisecapitalguillemets}{\guilsinglleft}}
+ \raisebox{\typog@config@raisecapitalguillemets}{\guilsinglleft}}
\typog@register@pdfsubstitute{\let\Singleguillemetleft\guilsinglleft}
\NewDocumentCommand{\Singleguillemetright}{}
- {\raisebox{\typog@raisecapitalguillemets}{\guilsinglright}%
+ {\raisebox{\typog@config@raisecapitalguillemets}{\guilsinglright}%
\typog@allowhyphenation}
\typog@register@pdfsubstitute{\let\Singleguillemetright\guilsinglright}
\NewDocumentCommand{\Doubleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raisecapitalguillemets}{\guillemotleft}}
+ \raisebox{\typog@config@raisecapitalguillemets}{\guillemotleft}}
\typog@register@pdfsubstitute{\let\Doubleguillemetleft\guillemotleft}
\NewDocumentCommand{\Doubleguillemetright}{}
- {\raisebox{\typog@raisecapitalguillemets}{\guillemotright}%
+ {\raisebox{\typog@config@raisecapitalguillemets}{\guillemotright}%
\typog@allowhyphenation}
\typog@register@pdfsubstitute{\let\Doubleguillemetright\guillemotright}
+\newcommand*{\@typog@uppercase@adjust@labelitem}[1]
+ {\@typog@maybe@patch@itemize
+ \ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@uppercase@labelitemi}
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@uppercase@labelitemii}
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@uppercase@labelitemiii}
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@uppercase@labelitemiv}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@uppercase@labelitemi}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@uppercase@labelitemii}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@uppercase@labelitemiii}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@uppercase@labelitemiv}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+\newcommand*{\@typog@lowercase@adjust@labelitem}[1]
+ {\@typog@maybe@patch@itemize
+ \ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@lowercase@labelitemi}
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@lowercase@labelitemii}
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@lowercase@labelitemiii}
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@lowercase@labelitemiv}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@lowercase@labelitemi}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@lowercase@labelitemii}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@lowercase@labelitemiii}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@lowercase@labelitemiv}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+\newcommand*{\@typog@noadjust@labelitem}[1]
+ {\ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}{\z@}
+ \setlength{\typog@adjust@labelitemii}{\z@}
+ \setlength{\typog@adjust@labelitemiii}{\z@}
+ \setlength{\typog@adjust@labelitemiv}{\z@}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}{\z@}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}{\z@}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}{\z@}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}{\z@}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+\NewDocumentCommand{\uppercaseadjustlabelitems}{m}
+ {\AfterPreamble{%
+ \ifblank{#1}
+ {\@typog@uppercase@adjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@uppercase@adjust@labelitem}{#1}}%
+ \ignorespaces}}
+
+\NewDocumentCommand{\lowercaseadjustlabelitems}{m}
+ {\AfterPreamble{%
+ \ifblank{#1}
+ {\@typog@lowercase@adjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@lowercase@adjust@labelitem}{#1}}%
+ \ignorespaces}}
+
+\NewDocumentCommand{\noadjustlabelitems}{m}
+ {\ifblank{#1}
+ {\@typog@noadjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@noadjust@labelitem}{#1}}%
+ \ignorespaces}
+
+\newcommand*{\@typog@itemize@patch}
+ {\letcs{\@typog@old@itemitem}{\@itemitem}
+ \edef\@itemitem{@typog@labelitem\romannumeral\the\@itemdepth}
+ \expandafter\def\csname\@itemitem\endcsname
+ {\raisebox{\csname typog@adjust@labelitem\romannumeral\the\@itemdepth\endcsname}
+ {\@typog@old@itemitem}}}
+
+\newcommand*{\@typog@patch@itemize}
+ {\ifdefined\enit@itemize@i
+ \patchcmd{\enit@itemize@i}
+ {\expandafter}
+ {\@typog@itemize@patch\expandafter}
+ {\typog@debug@typeout{patching enumitem \string\enit@itemize@i\space succeeded}}
+ {\PackageError{typog}
+ {Patching enumitem macro \string\enit@itemize@i\space failed}
+ {}}
+ \else
+ \patchcmd{\itemize}
+ {\expandafter}
+ {\@typog@itemize@patch\expandafter}
+ {\typog@debug@typeout{patching \string\itemize\space succeeded}}
+ {\PackageError{typog}
+ {Patching plain LaTeX macro \string\itemize\space failed}
+ {}}
+ \fi}
+
+\newbool{@typog@itemize@has@been@patched}
+\newcommand*{\@typog@maybe@patch@itemize}
+ {\ifbool{@typog@itemize@has@been@patched}
+ {\relax}
+ {\@typog@patch@itemize
+ \booltrue{@typog@itemize@has@been@patched}}}
+
+\newcommand*{\typog@hairline@width}{.125pt}
+\newcommand*{\typogadjuststairsfor}[5]
+ {\dimen0=1pt%
+ \count0=#3\relax
+ \unless\ifodd\count0
+ \advance\count0 by 1%
+ \fi
+ \setcounter{typog@@iteration}{1}%
+ \setbox0=\hbox{#4}%
+ \setbox1=\hbox{}%
+ \loop
+ \ifnum\thetypog@@iteration=\numexpr\count0 / 2\relax
+ \dimen1=2\dimen0
+ \else
+ \dimen1=\dimen0
+ \fi
+ \dimen2=\dimexpr#2 * (\thetypog@@iteration - \count0 / 2)\relax
+ \setbox1=\hbox{\unhbox1\raisebox{\dimen2}{\kern\dimen1 #5\kern\dimen1}}%
+ \addtocounter{typog@@iteration}{1}%
+ \unless\ifnum\thetypog@@iteration>\count0
+ \repeat
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}{\rule{\wd1}{\typog@hairline@width}}}\box1}}
+
+\NewDocumentCommand{\typogadjuststairs}{O{.5} m m m}
+ {\begingroup
+ \unless\ifdim #2>\z@
+ \PackageError{typog}
+ {\string\typogadjuststairs\space non-positive step-size}
+ {step-size must be a positive dimension}%
+ \fi
+ \ifnum #3<1
+ \PackageError{typog}
+ {\string\typogadjuststairs\space too few number-of-steps}
+ {number-of-steps must at least be 1}%
+ \fi
+ \ifblank{#4}
+ {\PackageError{typog}
+ {sample must not be empty}
+ {supply either some uppercase or some lowercase letters}}
+ {}%
+ \def\arraystretch{1}%
+ \begin{tabular}{@{}c@{}}
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemi} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemii} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemiii} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemiv}
+ \end{tabular}
+ \endgroup}
+
+\newcommand*{\typog@uppercase@adjusted@labelitems}
+ {\hbox{\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}%
+ \raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}%
+ \raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}%
+ \raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}}}
+\NewDocumentCommand{\typoguppercaseadjustcheck}{O{.5} m}
+ {\setbox0=\hbox{#2}%
+ \setbox1=\typog@uppercase@adjusted@labelitems
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}
+ {\rule{\wd1}{\typog@hairline@width}}}%
+ \box1}}
+
+\newcommand*{\typog@lowercase@adjusted@labelitems}
+ {\hbox{\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}%
+ \raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}%
+ \raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}%
+ \raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}}}
+\NewDocumentCommand{\typoglowercaseadjustcheck}{O{.5} m}
+ {\setbox0=\hbox{#2}%
+ \setbox1=\typog@lowercase@adjusted@labelitems
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}
+ {\rule{\wd1}{\typog@hairline@width}}}%
+ \box1}}
+
\NewDocumentEnvironment{lastlineraggedleftpar}{}
{\lastlinefit=0%
\setlength{\leftskip}{\z@ \@plus 1fil}%
@@ -844,7 +1122,7 @@
\NewDocumentCommand{\vtietop}{O{3}}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\clubpenalty}}%
- \typog@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
+ \typog@debug@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
\unless\ifnum\clubpenalty<\@M
\PackageWarning{typog}{vtietop: clubpenalty=\the\clubpenalty\space>= 10000}%
\fi
@@ -911,7 +1189,7 @@
\NewDocumentCommand{\vtiebot}{O{3}}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\widowpenalty}}%
- \typog@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
+ \typog@debug@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
\unless\ifnum\widowpenalty<\@M
\PackageWarning{typog}{vtiebot: widowpenalty=\the\widowpenalty\space>= 10000}%
\fi
@@ -969,7 +1247,7 @@
\NewDocumentCommand{\typog@vtiebotdisp}{m}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\displaywidowpenalty}}%
- \typog@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
+ \typog@debug@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
\unless\ifnum\displaywidowpenalty<\@M
\PackageWarning{typog}{vtiebotdisp: displaywidowpenalty=\the\displaywidowpenalty\space>= 10000}%
\fi
@@ -1047,9 +1325,9 @@
\int_set:Nn \l_tmpb_int {\typog@setbaselineskip@iter@limit}
\dim_set:Nn \l_tmpa_dim {\glueexpr #1}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
initial\space baselineskip:\space \the\baselineskip}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
target\space baselineskip:\space \dim_use:N \l_tmpa_dim}
\dim_compare:nNnTF {\baselineskip} > {\c_zero_dim}
@@ -1102,10 +1380,10 @@
{}
}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
final\space \string\setstretch\space argument:\space
\fp_use:N \l_tmpa_fp}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
final\space baselineskip:\space \the\baselineskip}
}
@@ -1123,7 +1401,7 @@
\dim_new:N \typogfontsize
\AfterEndPreamble{
\dim_set:Nn \typogfontsize {\fontdimen6\font}
- \typog@typeout{\string\typogfontsize =
+ \typog@debug@typeout{\string\typogfontsize =
\dim_use:N \typogfontsize\space
(at\space begin\space of\space document)}
}
@@ -1205,13 +1483,13 @@
\skip1=#2\relax
\skip2=#3\relax
\skip3=#4\relax
- \typog@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
\unless\ifnum\typog@mod{\typog@triplet@max@lines}{3}=0
\PackageError{typog}
- {Line number of triplet generator %
+ {Line number of triplet generator\space
(\typog@triplet@max@lines) not divisible by 3}
{}
\fi
@@ -1240,15 +1518,15 @@
\skip3=#4\relax
\skip4=#5\relax
\skip5=#6\relax
- \typog@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
\unless\ifnum\typog@mod{\typog@quintuplet@max@lines}{5}=0
\PackageError{typog}
- {Line number of quintuplet generator %
+ {Line number of quintuplet generator\space
(\typog@quintuplet@max@lines) not divisible by 5}
{}
\fi
@@ -1279,17 +1557,17 @@
\skip5=#6\relax
\skip6=#7\relax
\skip7=#8\relax
- \typog@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
\unless\ifnum\typog@mod{\typog@septuplet@max@lines}{7}=0
\PackageError{typog}
- {Line number of septuplet generator %
+ {Line number of septuplet generator\space
(\typog@septuplet@max@lines) not divisible by 7}
{}
\fi
@@ -1340,7 +1618,7 @@
\typog@fuzzwidth=\smoothraggedrightfuzzfactor\smoothraggedrightragwidth
\ifcase\typog@@generatorchoice
\typog@fuzzwidth=.25\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapetriplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -1351,7 +1629,7 @@
+ \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (2)
\or
\typog@fuzzwidth=.125\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapequintuplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -1366,7 +1644,7 @@
+ \glueexpr \z@ \@plus \typog@fuzzwidth\relax}% (1)
\or
\typog@fuzzwidth=.08333\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapeseptuplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/beamerthemeuantwerpen.sty b/Master/texmf-dist/tex/latex/uantwerpendocs/beamerthemeuantwerpen.sty
index 2b6480e67cf..61fe5db1b48 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/beamerthemeuantwerpen.sty
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/beamerthemeuantwerpen.sty
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{beamerthemeuantwerpen}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenbamathesis.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenbamathesis.cls
index 97bb358c4a2..34e0dceb034 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenbamathesis.cls
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenbamathesis.cls
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{uantwerpenbamathesis}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\newif\if@filled
\DeclareOption{filled}{\@filledtrue}
\input{uantwerpencommonoptions.clo}
@@ -402,8 +402,8 @@
xshift=1pt]
at (3.5cm,\paperheight-6.4cm)
{\sethlcolor{maincolor}%
- \textsf{\textbf{\reversevideo{\@title}}}\\
- \textsf{\reversevideo{\@subtitle}}};
+ \textsf{\textbf{\reversevideo{\@title}}}%
+ \ifx\@subtitle\empty\else\\\textsf{\reversevideo{\@subtitle}}\fi};
\node
[anchor=north west,font=\LARGE,yshift=-1cm,xshift=-1pt]
at (title.south west)
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencolorlogoscheme.sty b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencolorlogoscheme.sty
index 9a47acad95f..c18c069f77a 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencolorlogoscheme.sty
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencolorlogoscheme.sty
@@ -25,7 +25,7 @@
%% The Current Maintainer of this work is Walter Daems.
%%
\ProvidesPackage{uantwerpencolorlogoscheme}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\if@cmyk
%% UAntwerpen
\definecolor{uauamain}{cmyk}{0.00,0.96,0.82,0.01}
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencoursetext.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencoursetext.cls
index d3bab952cd5..0f39d9fce21 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencoursetext.cls
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpencoursetext.cls
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{uantwerpencoursetext}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\newif\if@modern
\@modernfalse
\DeclareOption{modern}{\@moderntrue}
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenexam.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenexam.cls
index 25ad5ae00ed..3b6ba3c95e5 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenexam.cls
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenexam.cls
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{uantwerpenexam}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\newif\if@examiner
\DeclareOption{examiner}{\@examinertrue}
\input{uantwerpencommonoptions.clo}
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenletter.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenletter.cls
index fc58075f64e..36ea4e52a16 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenletter.cls
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenletter.cls
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{uantwerpenletter}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\newif\if@filled
\DeclareOption{filled}{\@filledtrue}
\newif\if@nofoldline
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls
index 74bc2afd58d..99966e060cd 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{uantwerpenphdthesis}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\newif\if@filled
\DeclareOption{filled}{\@filledtrue}
\newif\if@cameraready
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenreport.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenreport.cls
index e7fe0d50b5e..09009072947 100644
--- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenreport.cls
+++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenreport.cls
@@ -26,7 +26,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{uantwerpenreport}
- [2024/04/09 v4.6 .dtx skeleton file]
+ [2024/06/04 v4.7 .dtx skeleton file]
\newif\if@copyright
\DeclareOption{copyright}{\@copyrighttrue}
\newif\if@filled
diff --git a/Master/texmf-dist/tex/latex/ulthese/ulthese.cls b/Master/texmf-dist/tex/latex/ulthese/ulthese.cls
index 703a54d6c3a..eb32a214ace 100644
--- a/Master/texmf-dist/tex/latex/ulthese/ulthese.cls
+++ b/Master/texmf-dist/tex/latex/ulthese/ulthese.cls
@@ -8,46 +8,41 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2017 Universite Laval
+%% Copyright (C) 2012-2024 Universite Laval
%%
%% This file may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in:
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2006/05/20 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Universite Laval
-%% <ulthese-dev@bibl.ulaval.ca>.
+%% The Current Maintainer of this work is Vincent Goulet for
+%% Universite Laval <ulthese-dev@bibl.ulaval.ca>.
%%
-%% This work consists of the files ulthese.dtx and ulthese.ins and the
-%% derived files listed in the README.md file.
+%% This work consists of the files ulthese.dtx, ulthese.ins, and the
+%% derived files listed in the file README.md.
%%
-\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+\NeedsTeXFormat{LaTeX2e}[2021/06/01]
\ProvidesClass{ulthese}%
- [2021/08/09 v5.3a Universite Laval thesis and memoir class]
-\RequirePackage{ifxetex}
+ [2024/07/02 v6.0 Thesis class for Universite Laval]
\newif\ifUL@babel \UL@babeltrue % charger babel?
\newif\ifUL@natbib \UL@natbibtrue % charger natbib?
\newif\ifUL@hyperref \UL@hyperreftrue % charger hyperref?
-\newif\ifUL@chapterbib \UL@chapterbibfalse % charger chapterbib?
-\newif\ifUL@sectionbib \UL@sectionbibfalse % option sectionbib de chapterbib?
-\newif\ifUL@isthesis % programme est une thèse?
-\newif\ifUL@iscotutelle \UL@iscotutellefalse % thèse en cotutelle?
+\newif\ifUL@isthesis % programme est une these?
+\newif\ifUL@iscotutelle \UL@iscotutellefalse % these en cotutelle?
\newif\ifUL@isexam \UL@isexamfalse % examen de doctorat?
-\newif\ifUL@isessay \UL@isessayfalse % essai de maîtrise?
+\newif\ifUL@isessay \UL@isessayfalse % essai de maitrise?
\newif\ifUL@isresearch \UL@isresearchfalse % projet de recherche?
\newif\ifUL@isworkterm \UL@isworktermfalse % rapport de stage?
\newif\ifUL@hassubtitle \UL@hassubtitlefalse % document a un sous-titre?
-\newif\ifUL@hastitlepage \UL@hastitlepagefalse % page titre utilisée?
+\newif\ifUL@hastitlepage \UL@hastitlepagefalse % page titre utilisee?
\DeclareOption{nonatbib}{\UL@natbibfalse}
-\DeclareOption{bibchapitre}{\UL@chapterbibtrue}
-\DeclareOption{bibsection}{\UL@chapterbibtrue\UL@sectionbibtrue}
\DeclareOption{nobabel}{\UL@babelfalse}
\DeclareOption{nohyperref}{\UL@hyperreffalse}
\newcommand*{\UL@ptsize}{}
@@ -90,10 +85,6 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en architecture (M.~Arch.)}}
-\DeclareOption{MA}{%
- \UL@isthesisfalse
- \renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
\DeclareOption{LLM}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
@@ -106,14 +97,10 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en musique (M.~Mus.)}}
-\DeclareOption{MPht}{%
- \UL@isthesisfalse
- \renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre en physioth\'erapie (M.~Pht.)}}
-\DeclareOption{MSc}{%
+\DeclareOption{MPsEd}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.~Sc.)}}
+ \newcommand*{\UL@degree}{Ma\^itre en psycho\'education (M.~Ps.~\'ed.)}}
\DeclareOption{MScGeogr}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
@@ -122,10 +109,18 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en service social (M.~Serv.~soc.)}}
-\DeclareOption{MPsEd}{%
+\DeclareOption{MTravSoc}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre en psycho\'education (M.~Ps.~\'ed.)}}
+ \newcommand*{\UL@degree}{Ma\^itre en travail social (M.~Trav.~soc.)}}
+\DeclareOption{MA}{%
+ \UL@isthesisfalse
+ \renewcommand*{\UL@typenum}{0}
+ \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
+\DeclareOption{MSc}{%
+ \UL@isthesisfalse
+ \renewcommand*{\UL@typenum}{0}
+ \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.~Sc.)}}
\DeclareOption{multifacultaire}{%
\ifUL@isthesis
\renewcommand*{\UL@typenum}{1}
@@ -221,32 +216,22 @@
\fi
\fi
\LoadClass[oneside]{memoir}
-\ifxetex
+\iftutex
+ \RequirePackage[babel=true]{microtype}
\RequirePackage{fontspec}
- \defaultfontfeatures{Ligatures=TeX}
\else
+ \RequirePackage[babel=true]{microtype}
+ \RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\fi
\ifUL@natbib
- \ifUL@sectionbib
- \PassOptionsToPackage{sectionbib}{natbib}
- \fi
\RequirePackage[round,semicolon,authoryear]{natbib}
\fi
-\ifUL@chapterbib
- \ifUL@sectionbib
- \ifUL@natbib\else
- \PassOptionsToPackage{sectionbib}{chapterbib}
- \fi
- \fi
- \RequirePackage{chapterbib}
-\fi
\ifUL@babel
\RequirePackage{babel}
\RequirePackage[autolanguage]{numprint}
\fi
\ifUL@hyperref
- \RequirePackage{etoolbox}
\AtEndPreamble{\RequirePackage{hyperref}}
\else
\AtBeginDocument{%
@@ -258,7 +243,6 @@
\PassOptionsToPackage{colorlinks,allcolors=ULlinkcolor}{hyperref}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
-\RequirePackage{textcomp}
\AtBeginDocument{%
\@ifpackageloaded{geometry}{%
\ClassError{ulthese}{%
@@ -522,6 +506,3 @@
\parsep 6\p@ \@plus\p@}%
\item[]}{\endlist}
\setsecnumdepth{subsection}
-\endinput
-%%
-%% End of file `ulthese.cls'.
diff --git a/Master/texmf-dist/tex/latex/unbtex/unbtex.cls b/Master/texmf-dist/tex/latex/unbtex/unbtex.cls
index 39f277761d9..332fdce505a 100644
--- a/Master/texmf-dist/tex/latex/unbtex/unbtex.cls
+++ b/Master/texmf-dist/tex/latex/unbtex/unbtex.cls
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.1 2024/03/02
+%% Version 1.5.2 2024/07/04
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2024/03/02 v1.5.1 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2024/07/04 v1.5.2 Modelo da Universidade de Brasília baseado em abnTeX2]
% ------------------------------------------------------------------------
% Opções para a classe
@@ -118,9 +118,20 @@
\setlength{\parindent}{3em} % Tamanho da indentação da primeira linha do parágrafo
\frenchspacing % Retira espaço extra entre as frases (após o ponto final)
\setlength{\parskip}{3pt plus 1pt minus 1pt} % Espaço entre parágrafos
+\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
+
+% Configurações das margens e cabeçalho
+\AtBeginDocument{
+\setlrmarginsandblock{3cm}{2cm}{*} % Margens esquerda e direita
+\setulmarginsandblock{3cm}{2cm}{*} % Margens superior e inferior
+\checkandfixthelayout[nearest] % Implementa as margens
+\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
+}
+
+% Espaçamento para notas de rodapé
\setlength{\skip\footins}{20pt plus 2pt minus 2pt} % Espaço entre o texto e as notas de rodapé
\addtolength{\footnotesep}{2pt} % Espaço entre as notas de rodapé
-\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
+\renewcommand*{\footnoterule}{\kern-3pt \hrule width 5cm \kern 2.6pt} % Tamanho do traço superior (5cm)
% Ajusta espaço entre texto e figuras/tabelas
\setlength{\textfloatsep}{18pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no topo/base da página
@@ -137,9 +148,6 @@
\renewcommand{\thefigure}{\thechapter.\arabic{figure}}\numberwithin{figure}{chapter}
\renewcommand{\thetable}{\thechapter.\arabic{table}}\numberwithin{table}{chapter}
-% Configuração do cabeçalho das páginas
-\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
-
% Modifica o tamanho da fonte e espaçamento entre linhas no ambiente verbatim
\RequirePackage{fvextra}
\renewenvironment{verbatim}{\VerbatimEnvironment
@@ -385,16 +393,15 @@
\urlstyle{same}
}
% Gera as referências bibliográficas de acordo com as normas da ABNT
+\newcommand{\bibhang}[1]{\setlength{\bibindent}{#1}}
\IfStrEq{\bibsty}{alf}{% Estilo autor-data
-\newcommand{\recuo}{3em} % Indentação da lista de referências
-\RequirePackage[alf,recuo=\recuo,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[alf,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
\renewcommand{\@biblabel}[1]{}%
\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação
{\bibliographystyle{unbtexcite/unbtex-alf-pt}}{\bibliographystyle{unbtexcite/unbtex-alf-en}}
}{%
\IfStrEq{\bibsty}{num}{% Estilo numérico
-\newcommand{\recuo}{2.2em} % Aumente este valor se o número de referências for superior a 100
-\RequirePackage[num,recuo=\recuo,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[num,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
\RequirePackage{cite} % Para ordenar, comprimir e colocar entre colchetes os números nas citações
\renewcommand{\@biblabel}[1]%
{%
@@ -408,7 +415,7 @@
{\setlength{\ABCIauxlen}{\minimumbiblabelwidth-\ABCIauxlen}}%
{\setlength{\ABCIauxlen}{0cm}}%
%{\biblabeltext\hspace{\ABCIauxlen}}%
-\parbox[t]{\recuo}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
+\parbox[t]{\bibindent}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
}}%
\renewcommand{\citeonline}[2][] % Redefine \citeonline como \cite
{\ifthenelse{\equal{#1}{}}{\cite{#2}}{\cite[#1]{#2}}}
@@ -465,19 +472,36 @@
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\figurename},
dynnumwidth,
- %numsep=0em
]{tocline}{figure}
\DeclareTOCStyleEntry[
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\tablename},
dynnumwidth,
- %numsep=0em
]{tocline}{table}
\newcommand\entrynumberwithprefix[2]{#1~#2\thinspace\hfill}
% ---
% ---
+% Citacao direta com mais de 3 linhas - ABNT NBR 10520/2002 - 5.3
+% Corrige tamanho do recuo do ambiente citacao do abntex2 para 4cm
+% ---
+\ifthenelse{\equal{\ABNTEXistwocolumn}{true}}{%
+ \setlength{\ABNTEXcitacaorecuo}{1.8cm}
+}{% else
+ \setlength{\ABNTEXcitacaorecuo}{4cm}
+}
+\renewenvironment*{citacao}[1][default]{%
+ \begin{adjustwidth}{\ABNTEXcitacaorecuo}{0mm}%
+ \ABNTEXfontereduzida%
+ \begin{SingleSpace}%
+ \ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}%
+}{%
+ \end{SingleSpace}%
+ \end{adjustwidth}}
+% ---
+
+% ---
% Define o texto dos rótulos de acordo com o idioma principal selecionado
% ---
\AtBeginDocument{
@@ -611,13 +635,14 @@
\renewcommand{\imprimircapa}{%
\hypersetup{pageanchor=false}
\setlrmargins{*}{*}{1} % Margens laterais iguais para a capa
-\checkandfixthelayout[nearest]
+\setulmarginsandblock{3cm}{2cm}{*}
+\checkandfixthelayout[fixed]
\begin{capa}%
\center
\AddToShipoutPicture*{\BackgroundPic}
\vspace*{7.5cm}
- {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\LARGE\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill
\begin{center}
% Define o tamanho da fonte do título
@@ -641,7 +666,7 @@
% Reestabelece as margens
\setlrmarginsandblock{3cm}{2cm}{*}
\setulmarginsandblock{3cm}{2cm}{*}
-\checkandfixthelayout[fixed]
+\checkandfixthelayout[nearest]
\cleardoublepage
\hypersetup{pageanchor=true}
}
@@ -652,8 +677,7 @@
\put(0,0){%
\parbox[b][\paperheight]{\paperwidth}{%
\vfill
- \centering
- \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
+ \centering \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
\vfill
}
}
@@ -665,8 +689,8 @@
% ---
\renewcommand{\folhaderostocontent}{%
\begin{center}
- {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\LARGE\sffamily\bfseries \instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill\vfill
\begin{center}
@@ -712,7 +736,7 @@
\ifthenelse{\equal{\imprimirpublicacao}{}}{}{
\begin{OnehalfSpace}
{\noindent\sffamily\large REFERÊNCIA BIBLIOGRÁFICA}\par
-\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\ }}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
+\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\}}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
\end{OnehalfSpace}}
\IfInteger{\imprimircutter}{\setlength{\fboxsep}{10pt}}{\setlength{\fboxsep}{18pt}}
\vspace*{\fill}
@@ -724,7 +748,7 @@
\IfInteger{\imprimircutter}{\begin{tabular}{p{1.25cm} p{10.25cm}}}{} \cutter
\autorisobrenome, \autorinome. \\
\IfInteger{\imprimircutter}{\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp}}{} \cutter
-\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
+\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\} ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
\hspace*{2em}\noindent \thelastpage~p. \\ \cutter
\\ \cutter
\hspace*{2em}\noindent\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*} \\ \cutter
@@ -742,18 +766,19 @@
% ---
% Imprime folha de aprovação
% ---
+\newcommand{\signlinewidth}[1]{\setlength{\ABNTEXsignwidth}{#1}}
\newcommand{\imprimirfolhadeaprovacao}{%
\begin{folhadeaprovacao}
\begin{center}
- {\Large{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\Large\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill
\begin{center}
% Define o tamanho da fonte do título
- \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\ }}
+ \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\}}
\ifthenelse{\equal{\titleformat}{\large}}
- {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
- {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
+ {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\}\par}
+ {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\}\par}
\end{center}
\vfill
@@ -781,10 +806,6 @@
\abntex@ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
\abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}
}
-%\vfill
-% \begin{center}
-% {\sffamily\large\imprimirlocal \\ \imprimirano\par}
-% \end{center}
\end{center}
\end{folhadeaprovacao}
}
diff --git a/Master/texmf-dist/tex/latex/unicodefonttable/unicodefont.tex b/Master/texmf-dist/tex/latex/unicodefonttable/unicodefont.tex
index 1aaecae5553..d23f6f4043c 100644
--- a/Master/texmf-dist/tex/latex/unicodefonttable/unicodefont.tex
+++ b/Master/texmf-dist/tex/latex/unicodefonttable/unicodefont.tex
@@ -35,8 +35,8 @@
%%%%% \iffalse meta-comment
%% File: unicodefonttable.dtx (C) Copyright 2019-2024 Frank Mittelbach
-\def\unicodefonttabledate {2024/03/01}
-\def\unicodefonttableversion{1.0h}
+\def\unicodefonttabledate {2024/06/06}
+\def\unicodefonttableversion{1.0i}
\documentclass{article}
diff --git a/Master/texmf-dist/tex/latex/unicodefonttable/unicodefonttable.sty b/Master/texmf-dist/tex/latex/unicodefonttable/unicodefonttable.sty
index b32e0f2bd81..c121cc8dd76 100644
--- a/Master/texmf-dist/tex/latex/unicodefonttable/unicodefonttable.sty
+++ b/Master/texmf-dist/tex/latex/unicodefonttable/unicodefonttable.sty
@@ -35,8 +35,8 @@
%%%%% \iffalse meta-comment
%% File: unicodefonttable.dtx (C) Copyright 2019-2024 Frank Mittelbach
-\def\unicodefonttabledate {2024/03/01}
-\def\unicodefonttableversion{1.0h}
+\def\unicodefonttabledate {2024/06/06}
+\def\unicodefonttableversion{1.0i}
\RequirePackage{xcolor}
@@ -46,6 +46,13 @@
{\unicodefonttabledate}
{\unicodefonttableversion}
{Producing font tables for Unicode and other fonts}
+\cs_set:Npn \tbl_crcr:n #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ }
+ \crcr
+ }
\NewDocumentCommand \fonttablesetup { m }
{ \keys_set:nn {__fmuft} {#1} \ignorespaces }
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-expose.cls b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-expose.cls
index 29576a930fa..b31ae0a4f7d 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-expose.cls
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-expose.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-expose}[2024/05/09 v.2.5 Univie Linguistic Exposes (JSp)]
+\ProvidesPackage{univie-ling-expose}[2024/06/27 v.2.6 Univie Linguistic Exposes (JSp)]
%% ============================================================
@@ -218,6 +218,8 @@
\deftranslation[to=English]{cosupervisor}{Co-Supervisor}
\deftranslation[to=German]{beirat}{Beirat}
\deftranslation[to=English]{beirat}{Advisory board}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
@@ -261,6 +263,24 @@
{\def\UrlFont{\rmfamily\itshape}
}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ \ \urldate{\wlg@urldate}%
+ }}%
+ {\ \urldate{#2}}
+ }
+}
+
% Fix for \slash-Makro, by Donald Arsenau
\def\slash{/\penalty\exhyphenpenalty\hskip\z@skip}
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-handout.cls b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-handout.cls
index 22a451329d2..01abf2e31cb 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-handout.cls
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-handout.cls
@@ -35,7 +35,7 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesClass{univie-ling-handout}[2024/05/09 v.2.5 Univie Ling handout class (JSp)]
+\ProvidesClass{univie-ling-handout}[2024/06/27 v.2.6 Univie Ling handout class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -652,6 +652,8 @@
\deftranslation[to=English]{footnote}{fn.}
\deftranslation[to=German]{example}{Beispiel}
\deftranslation[to=English]{example}{example}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
@@ -920,6 +922,24 @@
% URLs italic
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ \ \urldate{\wlg@urldate}%
+ }}%
+ {\ \urldate{#2}}
+ }
+}
+
% Covington
\if@uvh@covington
\RequirePackage{covington}
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-paper.cls b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-paper.cls
index 4ee6eaf8f8f..88ec71a6fae 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-paper.cls
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-paper.cls
@@ -32,7 +32,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-paper}[2024/05/09 v.2.5 Univie Linguistic Papers (JSp)]
+\ProvidesPackage{univie-ling-paper}[2024/06/27 v.2.6 Univie Linguistic Papers (JSp)]
%% ============================================================
@@ -243,6 +243,8 @@ This includes all drawings, sketches, graphics and internet sources.}
\deftranslation[to=English]{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.}
\deftranslation[to=German]{wien}{Wien}
\deftranslation[to=English]{wien}{Vienna}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
@@ -283,6 +285,24 @@ This includes all drawings, sketches, graphics and internet sources.}
% URLs italic
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ \ \urldate{\wlg@urldate}%
+ }}%
+ {\ \urldate{#2}}
+ }
+}
+
% Fix for \slash-Makro, by Donald Arsenau
\def\slash{/\penalty\exhyphenpenalty\hskip\z@skip}
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-poster.cls b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-poster.cls
index d2b68940aff..9a354e25c7f 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-poster.cls
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-poster.cls
@@ -34,7 +34,7 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesClass{univie-ling-poster}[2024/05/09 v.2.5 Univie Ling poster class (JSp)]
+\ProvidesClass{univie-ling-poster}[2024/06/27 v.2.6 Univie Ling poster class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -52,6 +52,7 @@
\newif\if@uvpt@pplogo\@uvpt@pplogotrue
\newif\if@uvpt@psfonts\@uvpt@psfontstrue
\newif\if@uvpt@refsp\@uvpt@refsptrue
+\newif\if@uvpt@smallmargins\@uvpt@smallmarginsfalse
\newif\if@uvpt@tcolorbox\@uvpt@tcolorboxtrue
\newif\if@uvpt@usefontenc\@uvpt@usefontenctrue
\def\uvpt@fontenc{T1}
@@ -136,6 +137,10 @@
% Set portrait
portrait.legacy_if_set:n = @uvpt@portrait,
portrait.usage:n = preamble,
+ % smallmargins=<true|false>
+ % Set compact margins
+ smallmargins.legacy_if_set:n = @uvpt@smallmargins,
+ smallmargins.usage:n = preamble,
% microtype=<true|false>
% Load microtype
microtype.legacy_if_set:n = @uvpt@microtype,
@@ -287,6 +292,7 @@
\RequirePackage{url}
\def\UrlFont{\rmfamily\itshape\color{black}}
+
%% ============================================================
%% COLORS
%% ============================================================
@@ -384,23 +390,36 @@
% Headline
\newlength\titleindent
\newlength\restwidth
+\newlength\unitindent
+\newlength\lmoffset
\newlength\univieposter@leftmargin
\defbeamertemplate*{headline}{univie}
{%
+ \setlength\unitindent{0pt}%
+ \setlength\lmoffset{0pt}%
\if@uvpt@portrait
- \setlength\titleindent{.09\paperwidth}
- \setlength\restwidth{.991\paperwidth}
+ \if@uvpt@smallmargins
+ \setlength\unitindent{.09\paperwidth}
+ \else
+ \setlength\titleindent{.09\paperwidth}
+ \setlength\restwidth{.991\paperwidth}
+ \fi
\else
- \setlength\titleindent{.065\paperwidth}
- \setlength\restwidth{.935\paperwidth}
- \fi
+ \if@uvpt@smallmargins
+ \setlength\unitindent{.065\paperwidth}%
+ \setlength\lmoffset{-.02\paperwidth}%
+ \else
+ \setlength\titleindent{.065\paperwidth}%
+ \setlength\restwidth{.935\paperwidth}%
+ \fi%
+ \fi%
\begin{columns}
\begin{column}{\titleindent}
\end{column}
    \begin{column}{0.475\textwidth}
\begin{beamercolorbox}[wd=\columnwidth,sep=.028\textwidth]{univieunit}
- \usebox{\uvpt@box@logo}\par
- \vspace*{.7em}\hspace*{\titleindent}\usebeamerfont{univieunit}\usebeamercolor[fg]{univieunit}\uvpt@department
+ \hspace*{\lmoffset}\usebox{\uvpt@box@logo}\par
+ \vspace*{.7em}\hspace*{\lmoffset}\hspace*{\titleindent}\hspace*{\unitindent}\usebeamerfont{univieunit}\usebeamercolor[fg]{univieunit}\uvpt@department
\end{beamercolorbox}
\end{column}
    \begin{column}{0.48\textwidth}
@@ -432,7 +451,7 @@
\end{columns}
\vspace*{-1.8mm}
\begin{beamercolorbox}[sep=.014\textwidth]{titlebox}
- \hspace*{\titleindent}\hspace{.013\textwidth}%
+ \hspace*{.25\lmoffset}\hspace*{\titleindent}\hspace{.013\textwidth}%
\begin{minipage}{.8\textwidth}%
\usebeamerfont{title in headline}\inserttitle\par%
\ifx\insertsubtitle\@empty%
@@ -622,7 +641,9 @@
\else
\addtolength\univieposter@leftmargin{.065\paperwidth}
\fi
- \setbeamersize{text margin left=\univieposter@leftmargin}
+ \if@uvpt@smallmargins\else
+ \setbeamersize{text margin left=\univieposter@leftmargin}
+ \fi
}
@@ -694,6 +715,8 @@
\deftranslation[to=English]{footnote}{fn.}
\deftranslation[to=German]{example}{Beispiel}
\deftranslation[to=English]{example}{example}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% =============================================================
@@ -875,6 +898,24 @@
% URLs italic
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ \ \urldate{\wlg@urldate}%
+ }}%
+ {\ \urldate{#2}}
+ }
+}
+
% Covington
\if@uvpt@covington
% Rename the beamer example(s) environment
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-thesis.cls b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-thesis.cls
index bfe92044718..4813af3abc9 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-thesis.cls
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-thesis.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-thesis}[2024/05/09 v.2.5 Univie Linguistic Theses (JSp)]
+\ProvidesPackage{univie-ling-thesis}[2024/06/27 v.2.6 Univie Linguistic Theses (JSp)]
%% ============================================================
@@ -234,6 +234,8 @@ This includes all drawings, sketches, graphics and internet sources.}
\deftranslation[to=English]{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.}
\deftranslation[to=German]{wien}{Wien}
\deftranslation[to=English]{wien}{Vienna}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
%% FONTS AND EMPHASIZING:
@@ -275,6 +277,24 @@ This includes all drawings, sketches, graphics and internet sources.}
{\def\UrlFont{\rmfamily\itshape}
}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ \ \urldate{\wlg@urldate}%
+ }}%
+ {\ \urldate{#2}}
+ }
+}
+
% Fix for \slash-Makro, by Donald Arsenau
\def\slash{/\penalty\exhyphenpenalty\hskip\z@skip}
@@ -424,7 +444,7 @@ This includes all drawings, sketches, graphics and internet sources.}
\clearmainofpairofpagestyles
\ihead{\headmark}
\ohead{\pagemark}
-\automark{chapter}
+\automark[section]{chapter}
\KOMAoptions{headsepline=true}
\pagestyle{scrheadings}
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-wlg.cls b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-wlg.cls
index 0bdf4b8552f..e85daaabe05 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling-wlg.cls
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling-wlg.cls
@@ -34,7 +34,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-wlg}[2024/05/09 v.2.5 Univie WLG journal layout (JSp)]
+\ProvidesPackage{univie-ling-wlg}[2024/06/27 v.2.6 Univie WLG journal layout (JSp)]
%% ============================================================
@@ -214,6 +214,24 @@
% Italic URLs
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ \ \urldate{\wlg@urldate}%
+ }}%
+ {\ \urldate{#2}}
+ }
+}
+
% Microtype tweaks
\RequirePackage{microtype}
@@ -313,6 +331,8 @@
(Namensnennung -- Nicht kommerziell -- Keine Bearbeitungen)}
\deftranslation[to=English]{license}{This work is published under a Creative Commons \doclicenseNameRef\ license\\
(Attribution-NonCommercial-NoDerivatives)}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
\AtBeginDocument{%
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling.bbx b/Master/texmf-dist/tex/latex/univie-ling/univie-ling.bbx
index 60172f7ebd1..43b942d15cf 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling.bbx
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling.bbx
@@ -38,7 +38,7 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.bbx}[2024/05/09 v.2.5 biblatex bibliography style]
+\ProvidesFile{univie-ling.bbx}[2024/06/27 v.2.6 biblatex bibliography style]
% Load base style (authoryear-comp)
\RequireBibliographyStyle{authoryear-comp}
diff --git a/Master/texmf-dist/tex/latex/univie-ling/univie-ling.cbx b/Master/texmf-dist/tex/latex/univie-ling/univie-ling.cbx
index 837f66d53d9..30064c8f911 100644
--- a/Master/texmf-dist/tex/latex/univie-ling/univie-ling.cbx
+++ b/Master/texmf-dist/tex/latex/univie-ling/univie-ling.cbx
@@ -36,7 +36,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.cbx}[2024/05/09 v.2.5 biblatex citation style]
+\ProvidesFile{univie-ling.cbx}[2024/06/27 v.2.6 biblatex citation style]
\RequireCitationStyle{authoryear-comp}
diff --git a/Master/texmf-dist/tex/latex/xcharter-math/xcharter-otf.sty b/Master/texmf-dist/tex/latex/xcharter-math/xcharter-otf.sty
index 98a1b1b2f59..12f4ecab35d 100644
--- a/Master/texmf-dist/tex/latex/xcharter-math/xcharter-otf.sty
+++ b/Master/texmf-dist/tex/latex/xcharter-math/xcharter-otf.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\def\fileversion{0.62}
-\def\filedate{2024-03-01}
+\def\fileversion{0.63}
+\def\filedate{2024-07-10}
\ProvidesPackage{xcharter-otf}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-LF.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-LF.fd
index a62f1040a18..8f8f25d4506 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-LF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2ASRBXCharter-LF.fd}
- [2023/02/09 (autoinst) Font definitions for T2ASRB/XCharter-LF.]
+ [2024/06/08 (autoinst) Font definitions for T2ASRB/XCharter-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,132 +20,132 @@
\DeclareFontFamily{T2ASRB}{XCharter-LF}{}
-% ---- m = regular ----
+% ---- b = bold ----
-\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-lf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-lf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{sl}{
- <-> alias * XCharter-LF/m/sl
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{scit}{
+ <-> alias * XCharter-LF/b/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-lf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{scsl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-lf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{n}{
- <-> alias * XCharter-LF/m/n
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{scsl}{
+ <-> alias * XCharter-LF/b/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{scit}{
- <-> \XCharter@@scale XCharter-Italic-lf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{sc}{
+ <-> \XCharter@@scale XCharter-Bold-lf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{scit}{
- <-> alias * XCharter-LF/m/scit
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{sc}{
+ <-> alias * XCharter-LF/b/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-lf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-lf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{it}{
- <-> alias * XCharter-LF/m/it
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{sl}{
+ <-> alias * XCharter-LF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{sc}{
- <-> \XCharter@@scale XCharter-Roman-lf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-lf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{sc}{
- <-> alias * XCharter-LF/m/sc
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{it}{
+ <-> alias * XCharter-LF/b/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{scsl}{
- <-> \XCharter@@scale XCharter-Slanted-lf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-lf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{scsl}{
- <-> alias * XCharter-LF/m/scsl
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{n}{
+ <-> alias * XCharter-LF/b/n
}{}
-% ---- b = bold ----
+% ---- m = regular ----
-\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-lf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-lf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{n}{
- <-> alias * XCharter-LF/b/n
+\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{scit}{
+ <-> alias * XCharter-LF/m/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-lf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-lf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{sl}{
- <-> alias * XCharter-LF/b/sl
+\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{scsl}{
+ <-> alias * XCharter-LF/m/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{scit}{
- <-> \XCharter@@scale XCharter-BoldItalic-lf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-lf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{scit}{
- <-> alias * XCharter-LF/b/scit
+\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{sl}{
+ <-> alias * XCharter-LF/m/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{sc}{
- <-> \XCharter@@scale XCharter-Bold-lf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-lf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{sc}{
- <-> alias * XCharter-LF/b/sc
+\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{sc}{
+ <-> alias * XCharter-LF/m/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-lf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-lf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{it}{
- <-> alias * XCharter-LF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{it}{
+ <-> alias * XCharter-LF/m/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{b}{scsl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-lf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-LF}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-lf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bold}{scsl}{
- <-> alias * XCharter-LF/b/scsl
+\DeclareFontShape{T2ASRB}{XCharter-LF}{regular}{n}{
+ <-> alias * XCharter-LF/m/n
}{}
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{scit}{
- <-> ssub * XCharter-LF/b/scit
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{sc}{
+ <-> ssub * XCharter-LF/b/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{n}{
- <-> ssub * XCharter-LF/b/n
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{it}{
+ <-> ssub * XCharter-LF/b/it
}{}
\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{sl}{
<-> ssub * XCharter-LF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{scsl}{
- <-> ssub * XCharter-LF/b/scsl
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{n}{
+ <-> ssub * XCharter-LF/b/n
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{sc}{
- <-> ssub * XCharter-LF/b/sc
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{scit}{
+ <-> ssub * XCharter-LF/b/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{it}{
- <-> ssub * XCharter-LF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-LF}{bx}{scsl}{
+ <-> ssub * XCharter-LF/b/scsl
}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-OsF.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-OsF.fd
index 808eedfec41..78a12f98926 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-OsF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2ASRBXCharter-OsF.fd}
- [2023/02/09 (autoinst) Font definitions for T2ASRB/XCharter-OsF.]
+ [2024/06/08 (autoinst) Font definitions for T2ASRB/XCharter-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -22,6 +22,14 @@
% ---- m = regular ----
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-osf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{regular}{it}{
+ <-> alias * XCharter-OsF/m/it
+}{}
+
\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{sl}{
<-> \XCharter@@scale XCharter-Slanted-osf-t2asrb
}{}
@@ -30,6 +38,14 @@
<-> alias * XCharter-OsF/m/sl
}{}
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-osf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{regular}{sc}{
+ <-> alias * XCharter-OsF/m/sc
+}{}
+
\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{n}{
<-> \XCharter@@scale XCharter-Roman-osf-t2asrb
}{}
@@ -46,32 +62,32 @@
<-> alias * XCharter-OsF/m/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-osf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-osf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{regular}{it}{
- <-> alias * XCharter-OsF/m/it
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{regular}{scsl}{
+ <-> alias * XCharter-OsF/m/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{sc}{
- <-> \XCharter@@scale XCharter-Roman-osf-sc-t2asrb
-}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{regular}{sc}{
- <-> alias * XCharter-OsF/m/sc
-}{}
+% ---- b = bold ----
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{m}{scsl}{
- <-> \XCharter@@scale XCharter-Slanted-osf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-osf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{regular}{scsl}{
- <-> alias * XCharter-OsF/m/scsl
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{bold}{n}{
+ <-> alias * XCharter-OsF/b/n
}{}
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-osf-t2asrb
+}{}
-% ---- b = bold ----
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{bold}{sl}{
+ <-> alias * XCharter-OsF/b/sl
+}{}
\DeclareFontShape{T2ASRB}{XCharter-OsF}{b}{sc}{
<-> \XCharter@@scale XCharter-Bold-osf-sc-t2asrb
@@ -97,22 +113,6 @@
<-> alias * XCharter-OsF/b/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-osf-t2asrb
-}{}
-
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{bold}{n}{
- <-> alias * XCharter-OsF/b/n
-}{}
-
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-osf-t2asrb
-}{}
-
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{bold}{sl}{
- <-> alias * XCharter-OsF/b/sl
-}{}
-
\DeclareFontShape{T2ASRB}{XCharter-OsF}{b}{scit}{
<-> \XCharter@@scale XCharter-BoldItalic-osf-sc-t2asrb
}{}
@@ -124,10 +124,6 @@
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{scit}{
- <-> ssub * XCharter-OsF/b/scit
-}{}
-
\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{n}{
<-> ssub * XCharter-OsF/b/n
}{}
@@ -136,16 +132,20 @@
<-> ssub * XCharter-OsF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{scsl}{
- <-> ssub * XCharter-OsF/b/scsl
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{it}{
+ <-> ssub * XCharter-OsF/b/it
}{}
\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{sc}{
<-> ssub * XCharter-OsF/b/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{it}{
- <-> ssub * XCharter-OsF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{scsl}{
+ <-> ssub * XCharter-OsF/b/scsl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-OsF}{bx}{scit}{
+ <-> ssub * XCharter-OsF/b/scit
}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd
index 610dc522d9a..a92501399ca 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2ASRBXCharter-Sup.fd}
- [2023/02/09 (autoinst) Font definitions for T2ASRB/XCharter-Sup.]
+ [2024/06/08 (autoinst) Font definitions for T2ASRB/XCharter-Sup.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,66 +20,62 @@
\DeclareFontFamily{T2ASRB}{XCharter-Sup}{}
-% ---- m = regular ----
+% ---- b = bold ----
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-sup-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-sup-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{it}{
- <-> alias * XCharter-Sup/m/it
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{n}{
+ <-> alias * XCharter-Sup/b/n
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-sup-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-sup-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{sl}{
- <-> alias * XCharter-Sup/m/sl
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{it}{
+ <-> alias * XCharter-Sup/b/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-sup-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-sup-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{n}{
- <-> alias * XCharter-Sup/m/n
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{sl}{
+ <-> alias * XCharter-Sup/b/sl
}{}
-% ---- b = bold ----
+% ---- m = regular ----
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-sup-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-sup-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{it}{
- <-> alias * XCharter-Sup/b/it
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{n}{
+ <-> alias * XCharter-Sup/m/n
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-sup-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-sup-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{n}{
- <-> alias * XCharter-Sup/b/n
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{sl}{
+ <-> alias * XCharter-Sup/m/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-sup-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-sup-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{sl}{
- <-> alias * XCharter-Sup/b/sl
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{it}{
+ <-> alias * XCharter-Sup/m/it
}{}
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-\DeclareFontShape{T2ASRB}{XCharter-Sup}{bx}{sl}{
- <-> ssub * XCharter-Sup/b/sl
-}{}
-
\DeclareFontShape{T2ASRB}{XCharter-Sup}{bx}{n}{
<-> ssub * XCharter-Sup/b/n
}{}
@@ -88,4 +84,8 @@
<-> ssub * XCharter-Sup/b/it
}{}
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bx}{sl}{
+ <-> ssub * XCharter-Sup/b/sl
+}{}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd
index 40ecde620ce..fbd5368c4a1 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2ASRBXCharter-TLF.fd}
- [2023/02/09 (autoinst) Font definitions for T2ASRB/XCharter-TLF.]
+ [2024/06/08 (autoinst) Font definitions for T2ASRB/XCharter-TLF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,132 +20,132 @@
\DeclareFontFamily{T2ASRB}{XCharter-TLF}{}
-% ---- b = bold ----
+% ---- m = regular ----
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{scit}{
- <-> \XCharter@@scale XCharter-BoldItalic-tlf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-tlf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{scit}{
- <-> alias * XCharter-TLF/b/scit
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{scit}{
+ <-> alias * XCharter-TLF/m/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-tlf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-tlf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{sl}{
- <-> alias * XCharter-TLF/b/sl
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{scsl}{
+ <-> alias * XCharter-TLF/m/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-tlf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-tlf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{n}{
- <-> alias * XCharter-TLF/b/n
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{it}{
+ <-> alias * XCharter-TLF/m/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{scsl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-tlf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-tlf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{scsl}{
- <-> alias * XCharter-TLF/b/scsl
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{sl}{
+ <-> alias * XCharter-TLF/m/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-tlf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-tlf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{it}{
- <-> alias * XCharter-TLF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{sc}{
+ <-> alias * XCharter-TLF/m/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{sc}{
- <-> \XCharter@@scale XCharter-Bold-tlf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-tlf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{sc}{
- <-> alias * XCharter-TLF/b/sc
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{n}{
+ <-> alias * XCharter-TLF/m/n
}{}
-% ---- m = regular ----
+% ---- b = bold ----
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-tlf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tlf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{sl}{
- <-> alias * XCharter-TLF/m/sl
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{scit}{
+ <-> alias * XCharter-TLF/b/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-tlf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{scsl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tlf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{n}{
- <-> alias * XCharter-TLF/m/n
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{scsl}{
+ <-> alias * XCharter-TLF/b/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{scit}{
- <-> \XCharter@@scale XCharter-Italic-tlf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{sc}{
+ <-> \XCharter@@scale XCharter-Bold-tlf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{scit}{
- <-> alias * XCharter-TLF/m/scit
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{sc}{
+ <-> alias * XCharter-TLF/b/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-tlf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tlf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{it}{
- <-> alias * XCharter-TLF/m/it
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{sl}{
+ <-> alias * XCharter-TLF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{sc}{
- <-> \XCharter@@scale XCharter-Roman-tlf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tlf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{sc}{
- <-> alias * XCharter-TLF/m/sc
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{it}{
+ <-> alias * XCharter-TLF/b/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{scsl}{
- <-> \XCharter@@scale XCharter-Slanted-tlf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-tlf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{scsl}{
- <-> alias * XCharter-TLF/m/scsl
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{n}{
+ <-> alias * XCharter-TLF/b/n
}{}
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{sc}{
- <-> ssub * XCharter-TLF/b/sc
-}{}
-
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{it}{
- <-> ssub * XCharter-TLF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{scit}{
+ <-> ssub * XCharter-TLF/b/scit
}{}
\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{scsl}{
<-> ssub * XCharter-TLF/b/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{n}{
- <-> ssub * XCharter-TLF/b/n
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{it}{
+ <-> ssub * XCharter-TLF/b/it
}{}
\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{sl}{
<-> ssub * XCharter-TLF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{scit}{
- <-> ssub * XCharter-TLF/b/scit
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{sc}{
+ <-> ssub * XCharter-TLF/b/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{n}{
+ <-> ssub * XCharter-TLF/b/n
}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd
index 4a3b75705c4..7b5ac890409 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2ASRBXCharter-TOsF.fd}
- [2023/02/09 (autoinst) Font definitions for T2ASRB/XCharter-TOsF.]
+ [2024/06/08 (autoinst) Font definitions for T2ASRB/XCharter-TOsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,132 +20,132 @@
\DeclareFontFamily{T2ASRB}{XCharter-TOsF}{}
-% ---- m = regular ----
+% ---- b = bold ----
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{scit}{
- <-> \XCharter@@scale XCharter-Italic-tosf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{sc}{
+ <-> \XCharter@@scale XCharter-Bold-tosf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{scit}{
- <-> alias * XCharter-TOsF/m/scit
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{sc}{
+ <-> alias * XCharter-TOsF/b/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-tosf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tosf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{sl}{
- <-> alias * XCharter-TOsF/m/sl
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{sl}{
+ <-> alias * XCharter-TOsF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-tosf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tosf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{n}{
- <-> alias * XCharter-TOsF/m/n
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{it}{
+ <-> alias * XCharter-TOsF/b/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{scsl}{
- <-> \XCharter@@scale XCharter-Slanted-tosf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-tosf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{scsl}{
- <-> alias * XCharter-TOsF/m/scsl
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{n}{
+ <-> alias * XCharter-TOsF/b/n
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-tosf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tosf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{it}{
- <-> alias * XCharter-TOsF/m/it
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{scit}{
+ <-> alias * XCharter-TOsF/b/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{sc}{
- <-> \XCharter@@scale XCharter-Roman-tosf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{scsl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tosf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{sc}{
- <-> alias * XCharter-TOsF/m/sc
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{scsl}{
+ <-> alias * XCharter-TOsF/b/scsl
}{}
-% ---- b = bold ----
+% ---- m = regular ----
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-tosf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-tosf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{it}{
- <-> alias * XCharter-TOsF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{n}{
+ <-> alias * XCharter-TOsF/m/n
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{sc}{
- <-> \XCharter@@scale XCharter-Bold-tosf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-tosf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{sc}{
- <-> alias * XCharter-TOsF/b/sc
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{it}{
+ <-> alias * XCharter-TOsF/m/it
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{scsl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-tosf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-tosf-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{scsl}{
- <-> alias * XCharter-TOsF/b/scsl
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{sl}{
+ <-> alias * XCharter-TOsF/m/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-tosf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-tosf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{sl}{
- <-> alias * XCharter-TOsF/b/sl
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{sc}{
+ <-> alias * XCharter-TOsF/m/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-tosf-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-tosf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{n}{
- <-> alias * XCharter-TOsF/b/n
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{scsl}{
+ <-> alias * XCharter-TOsF/m/scsl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{scit}{
- <-> \XCharter@@scale XCharter-BoldItalic-tosf-sc-t2asrb
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-tosf-sc-t2asrb
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{scit}{
- <-> alias * XCharter-TOsF/b/scit
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{scit}{
+ <-> alias * XCharter-TOsF/m/scit
}{}
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{scit}{
- <-> ssub * XCharter-TOsF/b/scit
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{sc}{
+ <-> ssub * XCharter-TOsF/b/sc
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{n}{
- <-> ssub * XCharter-TOsF/b/n
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{it}{
+ <-> ssub * XCharter-TOsF/b/it
}{}
\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{sl}{
<-> ssub * XCharter-TOsF/b/sl
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{scsl}{
- <-> ssub * XCharter-TOsF/b/scsl
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{n}{
+ <-> ssub * XCharter-TOsF/b/n
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{sc}{
- <-> ssub * XCharter-TOsF/b/sc
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{scit}{
+ <-> ssub * XCharter-TOsF/b/scit
}{}
-\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{it}{
- <-> ssub * XCharter-TOsF/b/it
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{scsl}{
+ <-> ssub * XCharter-TOsF/b/scsl
}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-LF.fd b/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-LF.fd
index 4357520d756..e7228a740f2 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-LF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-LF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2AXCharter-LF.fd}
- [2023/02/09 (autoinst) Font definitions for T2A/XCharter-LF.]
+ [2024/06/08 (autoinst) Font definitions for T2A/XCharter-LF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -30,14 +30,6 @@
<-> alias * XCharter-LF/b/n
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-lf-t2a
-}{}
-
-\DeclareFontShape{T2A}{XCharter-LF}{bold}{sl}{
- <-> alias * XCharter-LF/b/sl
-}{}
-
\DeclareFontShape{T2A}{XCharter-LF}{b}{sc}{
<-> \XCharter@@scale XCharter-Bold-lf-sc-t2a
}{}
@@ -46,12 +38,12 @@
<-> alias * XCharter-LF/b/sc
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{b}{scit}{
- <-> \XCharter@@scale XCharter-BoldItalic-lf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-LF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-lf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{bold}{scit}{
- <-> alias * XCharter-LF/b/scit
+\DeclareFontShape{T2A}{XCharter-LF}{bold}{it}{
+ <-> alias * XCharter-LF/b/it
}{}
\DeclareFontShape{T2A}{XCharter-LF}{b}{scsl}{
@@ -62,32 +54,24 @@
<-> alias * XCharter-LF/b/scsl
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-lf-t2a
+\DeclareFontShape{T2A}{XCharter-LF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-lf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{bold}{it}{
- <-> alias * XCharter-LF/b/it
+\DeclareFontShape{T2A}{XCharter-LF}{bold}{sl}{
+ <-> alias * XCharter-LF/b/sl
}{}
-
-% ---- m = regular ----
-
-\DeclareFontShape{T2A}{XCharter-LF}{m}{sc}{
- <-> \XCharter@@scale XCharter-Roman-lf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-LF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-lf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{regular}{sc}{
- <-> alias * XCharter-LF/m/sc
+\DeclareFontShape{T2A}{XCharter-LF}{bold}{scit}{
+ <-> alias * XCharter-LF/b/scit
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{m}{scit}{
- <-> \XCharter@@scale XCharter-Italic-lf-sc-t2a
-}{}
-\DeclareFontShape{T2A}{XCharter-LF}{regular}{scit}{
- <-> alias * XCharter-LF/m/scit
-}{}
+% ---- m = regular ----
\DeclareFontShape{T2A}{XCharter-LF}{m}{scsl}{
<-> \XCharter@@scale XCharter-Slanted-lf-sc-t2a
@@ -97,12 +81,20 @@
<-> alias * XCharter-LF/m/scsl
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-lf-t2a
+\DeclareFontShape{T2A}{XCharter-LF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-lf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{regular}{it}{
- <-> alias * XCharter-LF/m/it
+\DeclareFontShape{T2A}{XCharter-LF}{regular}{sl}{
+ <-> alias * XCharter-LF/m/sl
+}{}
+
+\DeclareFontShape{T2A}{XCharter-LF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-lf-sc-t2a
+}{}
+
+\DeclareFontShape{T2A}{XCharter-LF}{regular}{scit}{
+ <-> alias * XCharter-LF/m/scit
}{}
\DeclareFontShape{T2A}{XCharter-LF}{m}{n}{
@@ -113,39 +105,47 @@
<-> alias * XCharter-LF/m/n
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-lf-t2a
+\DeclareFontShape{T2A}{XCharter-LF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-lf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{regular}{sl}{
- <-> alias * XCharter-LF/m/sl
+\DeclareFontShape{T2A}{XCharter-LF}{regular}{sc}{
+ <-> alias * XCharter-LF/m/sc
}{}
+\DeclareFontShape{T2A}{XCharter-LF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-lf-t2a
+}{}
-% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-
-\DeclareFontShape{T2A}{XCharter-LF}{bx}{it}{
- <-> ssub * XCharter-LF/b/it
+\DeclareFontShape{T2A}{XCharter-LF}{regular}{it}{
+ <-> alias * XCharter-LF/m/it
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{bx}{scsl}{
- <-> ssub * XCharter-LF/b/scsl
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2A}{XCharter-LF}{bx}{sc}{
+ <-> ssub * XCharter-LF/b/sc
}{}
\DeclareFontShape{T2A}{XCharter-LF}{bx}{sl}{
<-> ssub * XCharter-LF/b/sl
}{}
+\DeclareFontShape{T2A}{XCharter-LF}{bx}{scsl}{
+ <-> ssub * XCharter-LF/b/scsl
+}{}
+
\DeclareFontShape{T2A}{XCharter-LF}{bx}{n}{
<-> ssub * XCharter-LF/b/n
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{bx}{scit}{
- <-> ssub * XCharter-LF/b/scit
+\DeclareFontShape{T2A}{XCharter-LF}{bx}{it}{
+ <-> ssub * XCharter-LF/b/it
}{}
-\DeclareFontShape{T2A}{XCharter-LF}{bx}{sc}{
- <-> ssub * XCharter-LF/b/sc
+\DeclareFontShape{T2A}{XCharter-LF}{bx}{scit}{
+ <-> ssub * XCharter-LF/b/scit
}{}
\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-OsF.fd b/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-OsF.fd
index aa70aa39bfa..033c895205d 100644
--- a/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-OsF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/T2AXCharter-OsF.fd
@@ -1,7 +1,7 @@
-%% Generated by autoinst on 2023/02/09
+%% Generated by autoinst on 2024/06/08
%%
\ProvidesFile{T2AXCharter-OsF.fd}
- [2023/02/09 (autoinst) Font definitions for T2A/XCharter-OsF.]
+ [2024/06/08 (autoinst) Font definitions for T2A/XCharter-OsF.]
\ifcsname s@fct@alias\endcsname\else
\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
@@ -20,118 +20,122 @@
\DeclareFontFamily{T2A}{XCharter-OsF}{}
-% ---- m = regular ----
+% ---- b = bold ----
-\DeclareFontShape{T2A}{XCharter-OsF}{m}{scsl}{
- <-> \XCharter@@scale XCharter-Slanted-osf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{b}{sc}{
+ <-> \XCharter@@scale XCharter-Bold-osf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{regular}{scsl}{
- <-> alias * XCharter-OsF/m/scsl
+\DeclareFontShape{T2A}{XCharter-OsF}{bold}{sc}{
+ <-> alias * XCharter-OsF/b/sc
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-osf-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-osf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{regular}{it}{
- <-> alias * XCharter-OsF/m/it
+\DeclareFontShape{T2A}{XCharter-OsF}{bold}{n}{
+ <-> alias * XCharter-OsF/b/n
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{m}{scit}{
- <-> \XCharter@@scale XCharter-Italic-osf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-osf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{regular}{scit}{
- <-> alias * XCharter-OsF/m/scit
+\DeclareFontShape{T2A}{XCharter-OsF}{bold}{it}{
+ <-> alias * XCharter-OsF/b/it
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{m}{sc}{
- <-> \XCharter@@scale XCharter-Roman-osf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-osf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{regular}{sc}{
- <-> alias * XCharter-OsF/m/sc
+\DeclareFontShape{T2A}{XCharter-OsF}{bold}{sl}{
+ <-> alias * XCharter-OsF/b/sl
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-osf-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{b}{scsl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-osf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{regular}{sl}{
- <-> alias * XCharter-OsF/m/sl
+\DeclareFontShape{T2A}{XCharter-OsF}{bold}{scsl}{
+ <-> alias * XCharter-OsF/b/scsl
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-osf-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-osf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{regular}{n}{
- <-> alias * XCharter-OsF/m/n
+\DeclareFontShape{T2A}{XCharter-OsF}{bold}{scit}{
+ <-> alias * XCharter-OsF/b/scit
}{}
-% ---- b = bold ----
+% ---- m = regular ----
-\DeclareFontShape{T2A}{XCharter-OsF}{b}{scit}{
- <-> \XCharter@@scale XCharter-BoldItalic-osf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-osf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bold}{scit}{
- <-> alias * XCharter-OsF/b/scit
+\DeclareFontShape{T2A}{XCharter-OsF}{regular}{it}{
+ <-> alias * XCharter-OsF/m/it
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{b}{sc}{
- <-> \XCharter@@scale XCharter-Bold-osf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-osf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bold}{sc}{
- <-> alias * XCharter-OsF/b/sc
+\DeclareFontShape{T2A}{XCharter-OsF}{regular}{n}{
+ <-> alias * XCharter-OsF/m/n
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-osf-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-osf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bold}{it}{
- <-> alias * XCharter-OsF/b/it
+\DeclareFontShape{T2A}{XCharter-OsF}{regular}{sc}{
+ <-> alias * XCharter-OsF/m/sc
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{b}{scsl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-osf-sc-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-osf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bold}{scsl}{
- <-> alias * XCharter-OsF/b/scsl
+\DeclareFontShape{T2A}{XCharter-OsF}{regular}{scit}{
+ <-> alias * XCharter-OsF/m/scit
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-osf-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-osf-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bold}{sl}{
- <-> alias * XCharter-OsF/b/sl
+\DeclareFontShape{T2A}{XCharter-OsF}{regular}{sl}{
+ <-> alias * XCharter-OsF/m/sl
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-osf-t2a
+\DeclareFontShape{T2A}{XCharter-OsF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-osf-sc-t2a
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bold}{n}{
- <-> alias * XCharter-OsF/b/n
+\DeclareFontShape{T2A}{XCharter-OsF}{regular}{scsl}{
+ <-> alias * XCharter-OsF/m/scsl
}{}
% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
-\DeclareFontShape{T2A}{XCharter-OsF}{bx}{n}{
- <-> ssub * XCharter-OsF/b/n
+\DeclareFontShape{T2A}{XCharter-OsF}{bx}{scit}{
+ <-> ssub * XCharter-OsF/b/scit
}{}
\DeclareFontShape{T2A}{XCharter-OsF}{bx}{it}{
<-> ssub * XCharter-OsF/b/it
}{}
+\DeclareFontShape{T2A}{XCharter-OsF}{bx}{n}{
+ <-> ssub * XCharter-OsF/b/n
+}{}
+
\DeclareFontShape{T2A}{XCharter-OsF}{bx}{sl}{
<-> ssub * XCharter-OsF/b/sl
}{}
@@ -144,8 +148,4 @@
<-> ssub * XCharter-OsF/b/sc
}{}
-\DeclareFontShape{T2A}{XCharter-OsF}{bx}{scit}{
- <-> ssub * XCharter-OsF/b/scit
-}{}
-
\endinput
diff --git a/Master/texmf-dist/tex/latex/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/xfrac/xfrac.sty
index 1ead74f8be6..503fe8a089f 100644
--- a/Master/texmf-dist/tex/latex/xfrac/xfrac.sty
+++ b/Master/texmf-dist/tex/latex/xfrac/xfrac.sty
@@ -34,7 +34,7 @@
}%
\endinput
}%
-\ProvidesExplPackage{xfrac}{2024-02-13}{}
+\ProvidesExplPackage{xfrac}{2024-06-04}{}
{Split-level fractions}
\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
\IfFormatAtLeastTF { 2020-02-02 }
@@ -64,6 +64,8 @@
\IfFormatAtLeastTF { 2024-06-01 }
{ }
{ \RequirePackage { xtemplate } }
+\cs_if_exist:NF \IfInstanceExistsTF
+ { \cs_new_eq:NN \IfInstanceExistsTF \IfInstanceExistTF }
\box_new:N \l__xfrac_slash_box
\box_new:N \l__xfrac_tmp_box
\cs_new:Npn \__xfrac_tmp:w { }
@@ -413,16 +415,16 @@
{
\mode_if_math:TF
{
- \IfInstanceExistTF { xfrac } { mathfam \number \fam }
+ \IfInstanceExistsTF { xfrac } { mathfam \number \fam }
{ \UseInstance { xfrac } { mathfam \number \fam } }
{ \UseInstance { xfrac } { mathdefault } }
{#2} {#3} {#4}
}
{
- \IfInstanceExistTF { xfrac } {#1}
+ \IfInstanceExistsTF { xfrac } {#1}
{ \UseInstance { xfrac } {#1} }
{
- \IfInstanceExistTF { xfrac } { \f@family }
+ \IfInstanceExistsTF { xfrac } { \f@family }
{ \UseInstance { xfrac } { \f@family } }
{ \UseInstance { xfrac } { default } }
}
diff --git a/Master/texmf-dist/tex/latex/xint-regression/xint-regression.sty b/Master/texmf-dist/tex/latex/xint-regression/xint-regression.sty
new file mode 100644
index 00000000000..71413005aa3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xint-regression/xint-regression.sty
@@ -0,0 +1,662 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c
+% or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xint-regression}[2024/06/05 0.1.0 Some classic regressions, with xint]
+%0.1.0 Initial version
+
+%------Packages utiles
+\RequirePackage{simplekv}
+\RequirePackage{xintexpr}
+\RequirePackage{listofitems}
+\RequirePackage{xstring}
+
+%régression linéaire
+\defKV[CoefRegLin]{%
+ coeffa=\def\RegLinCoefa{#1},%
+ coeffb=\def\RegLinCoefb{#1},%
+ round=\def\RegLinRound{#1}
+}
+
+\setKVdefault[CoefRegLin]{%
+ coeffa=linrega,%
+ coeffb=linregb,%
+ round={}
+}
+
+\newcommand\xintlinreg[3][]{%
+ \useKVdefault[CoefRegLin]%
+ \setKV[CoefRegLin]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme des LX et des LY OK
+ \xdef\LXSomme{0}%
+ \xdef\LYSomme{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+(\LX[##1])}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+(\LY[##1])}}%
+ }%
+ %moyenne des LX et des LY OK
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ %variance des LX et des LY OK
+ \xdef\LXvar{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXvar{\xintfloateval{\LXvar+(\LX[##1]-(\LXmoy))*(\LX[##1]-(\LXmoy))}}%
+ }
+ \xdef\LXvar{\xintfloateval{\LXvar/\LNB}}%
+ \xdef\LYvar{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LYvar{\xintfloateval{\LYvar+(\LY[##1]-(\LYmoy))*(\LY[##1]-(\LYmoy))}}%
+ }%
+ \xdef\LYvar{\xintfloateval{\LYvar/\LNB}}%
+ %covariance des XY OK
+ \xdef\LXYvar{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXYvar{\xintfloateval{\LXYvar+(\LX[##1]-(\LXmoy))*(\LY[##1]-(\LYmoy))}}%
+ }%
+ \xdef\LXYvar{\xintfloateval{\LXYvar/\LNB}}%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@lin@a{\xintfloateval{\LXYvar/\LXvar}}%
+ \xdef\tmp@reg@lin@b{\xintfloateval{\LYmoy-(\tmp@reg@lin@a)*(\LXmoy)}}%
+ %STOCKAGE
+ \IfStrEq{\RegLinRound}{}%
+ {%
+ \expandafter\def\csname\RegLinCoefa\endcsname{\tmp@reg@lin@a}%
+ \expandafter\def\csname\RegLinCoefb\endcsname{\tmp@reg@lin@b}%
+ }%
+ {%
+ \IfSubStr{\RegLinRound}{/}%
+ {%
+ \StrCut{\RegLinRound}{/}{\xintarrondisreglina}{\xintarrondisreglinb}%
+ }%
+ {%
+ \xdef\xintarrondisreglina{\RegLinRound}\xdef\xintarrondisreglinb{\RegLinRound}%
+ }%
+ \expandafter\def\csname\RegLinCoefa\endcsname{\xintfloateval{round(\tmp@reg@lin@a,\xintarrondisreglina)}}%
+ \expandafter\def\csname\RegLinCoefb\endcsname{\xintfloateval{round(\tmp@reg@lin@b,\xintarrondisreglinb)}}%
+ }%
+}
+
+
+
+%régression quadratique
+\defKV[CoeffRegQuad]{%
+ coeffa=\def\RegQuadCoefa{#1},%
+ coeffb=\def\RegQuadCoefb{#1},%
+ coeffc=\def\RegQuadCoefc{#1},%
+ round=\def\RegQuadRound{#1}
+}
+
+\setKVdefault[CoeffRegQuad]{%
+ coeffa=quadrega,%
+ coeffb=quadregb,%
+ coeffc=quadregc,%
+ round={}
+}
+
+\newcommand\xintquadreg[3][]{%
+ \useKVdefault[CoeffRegQuad]%
+ \setKV[CoeffRegQuad]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+(\LX[##1])}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[##1])^2}}%
+ }%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+(\LY[##1])}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[##1]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[##1]-\LXmoy)*(\LY[##1]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[##1]-\LXmoy)*((\LX[##1])*(\LX[##1])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[##1])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[##1])^2-\LXCmoy)*(\LY[##1]-\LYmoy)}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@quad@b{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \xdef\tmp@reg@quad@a{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \xdef\tmp@reg@quad@c{\xintfloateval{\LYmoy-(\tmp@reg@quad@b)*\LXmoy-(\tmp@reg@quad@a)*\LXCmoy}}%
+ %STOCKAGE
+ \IfStrEq{\RegQuadRound}{}%
+ {%
+ \expandafter\def\csname\RegQuadCoefb\endcsname{\tmp@reg@quad@b}%
+ \expandafter\def\csname\RegQuadCoefa\endcsname{\tmp@reg@quad@a}%
+ \expandafter\def\csname\RegQuadCoefc\endcsname{\tmp@reg@quad@c}%
+ }%
+ {%
+ \IfSubStr{\RegQuadRound}{/}%
+ {%
+ \StrBefore[1]{\RegQuadRound}{/}[\xintarrondisregquada]%
+ \StrBetween[1,2]{\RegQuadRound}{/}{/}[\xintarrondisregquadb]%
+ \StrBehind[2]{\RegQuadRound}{/}[\xintarrondisregquadc]%
+ }%
+ {%
+ \xdef\xintarrondisregquada{\RegQuadRound}%
+ \xdef\xintarrondisregquadb{\RegQuadRound}%
+ \xdef\xintarrondisregquadc{\RegQuadRound}%
+
+ }%
+ \expandafter\def\csname\RegQuadCoefb\endcsname{\xintfloateval{round(\tmp@reg@quad@b,\xintarrondisregquadb)}}%
+ \expandafter\def\csname\RegQuadCoefa\endcsname{\xintfloateval{round(\tmp@reg@quad@a,\xintarrondisregquada)}}%
+ \expandafter\def\csname\RegQuadCoefc\endcsname{\xintfloateval{round(\tmp@reg@quad@c,\xintarrondisregquadc)}}%
+ }%
+}
+
+%régression puissance a*x^b
+\defKV[CoeffRegPuiss]{%
+ coeffa=\def\RegPuissCoefa{#1},%
+ coeffb=\def\RegPuissCoefb{#1},%
+ round=\def\RegPuissRound{#1}
+}
+
+\setKVdefault[CoeffRegPuiss]{%
+ coeffa=powrega,%
+ coeffb=powregb,%
+ round={}
+}
+
+\newcommand\xintpowreg[3][]{%
+ \useKVdefault[CoeffRegPuiss]%
+ \setKV[CoeffRegPuiss]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LlnXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LlnXlnYSomme{0}%
+ \xdef\LlncXSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LlnXSomme{\xintfloateval{\LlnXSomme+log(\LX[##1])}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1])}}%
+ \xdef\LlnXlnYSomme{\xintfloateval{\LlnXlnYSomme+log(\LX[##1])*log(\LY[##1])}}%
+ \xdef\LlncXSomme{\xintfloateval{\LlncXSomme+(log(\LX[##1]))^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@pow@b{\xintfloateval{(\LNB*\LlnXlnYSomme-\LlnXSomme*\LlnYSomme)/(\LNB*\LlncXSomme-(\LlnXSomme)^2)}}%
+ \xdef\tmp@reg@pow@a{\xintfloateval{exp(1/\LNB*\LlnYSomme-(\tmp@reg@pow@b)/\LNB*\LlnXSomme)}}%
+ %STOCKAGE
+ \IfStrEq{\RegPuissRound}{}%
+ {%
+ \expandafter\def\csname\RegPuissCoefb\endcsname{\xintfloateval{\tmp@reg@pow@b}}%
+ \expandafter\def\csname\RegPuissCoefa\endcsname{\xintfloateval{\tmp@reg@pow@a}}%
+ }%
+ {%
+ \IfSubStr{\RegPuissRound}{/}%
+ {%
+ \StrCut{\RegPuissRound}{/}{\xintarrondisregpowa}{\xintarrondisregpowb}%
+ }%
+ {%
+ \xdef\xintarrondisregpowa{\RegPuissRound}\xdef\xintrrondisregpowb{\RegPuissRound}%
+ }%
+ \expandafter\def\csname\RegPuissCoefb\endcsname{\xintfloateval{round(\tmp@reg@pow@b,\xintarrondisregpowb)}}%
+ \expandafter\def\csname\RegPuissCoefa\endcsname{\xintfloateval{round(\tmp@reg@pow@a,\xintarrondisregpowa)}}%
+ }%
+}
+
+%régression a*b^x
+\defKV[CoeffRegExpoAB]{%
+ coeffa=\def\RegExpoCoefa{#1},%
+ coeffb=\def\RegExpoCoefb{#1},%
+ round=\def\RegExpoRound{#1}
+}
+
+\setKVdefault[CoeffRegExpoAB]{%
+ coeffa=expabrega,%
+ coeffb=expabregb,%
+ round={}
+}
+
+\newcommand\xintexpabreg[3][]{%
+ \useKVdefault[CoeffRegExpoAB]%
+ \setKV[CoeffRegExpoAB]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXlnYSomme{0}%
+ \xdef\LXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXlnYSomme{\xintfloateval{\LXlnYSomme+\LX[##1]*log(\LY[##1])}}%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1])}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@expab@b{\xintfloateval{exp((\LNB*\LXlnYSomme-\LXSomme*\LlnYSomme)/(\LNB*\LXcSomme-(\LXSomme)^2))}}%
+ \xdef\tmp@reg@expab@a{\xintfloateval{exp(1/\LNB*\LlnYSomme-log(\tmp@reg@expab@b)/\LNB*\LXSomme)}}%
+ %STOCKAGE
+ \IfStrEq{\RegExpoRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoCoefb\endcsname{\tmp@reg@expab@b}%
+ \expandafter\def\csname\RegExpoCoefa\endcsname{\tmp@reg@expab@a}%
+ }%
+ {%
+ \IfSubStr{\RegExpoRound}{/}%
+ {%
+ \StrCut{\RegExpoRound}{/}{\xintarrondisregexpoaba}{\xintarrondisregexpoabb}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoaba{\RegExpoRound}\xdef\xintarrondisregexpoabb{\RegExpoRound}%
+ }%
+ \expandafter\def\csname\RegExpoCoefb\endcsname{\xintfloateval{round(\tmp@reg@expab@b,\xintarrondisregexpoabb)}}%
+ \expandafter\def\csname\RegExpoCoefa\endcsname{\xintfloateval{round(\tmp@reg@expab@a,\xintarrondisregexpoaba)}}%
+ }%
+}
+
+%régression a+b/x
+\defKV[CoeffRegHyperb]{%
+ coeffa=\def\RegHyperbCoefa{#1},%
+ coeffb=\def\RegHyperbCoefb{#1},%
+ round=\def\RegHyperbRound{#1}
+}
+
+\setKVdefault[CoeffRegHyperb]{%
+ coeffa=hyprega,%
+ coeffb=hypregb,%
+ round={}
+}
+
+\newcommand\xinthypreg[3][]{%
+ \useKVdefault[CoeffRegHyperb]%
+ \setKV[CoeffRegHyperb]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LinvXSomme{0}%
+ \xdef\LYdivXSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LinvXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LinvXSomme{\xintfloateval{\LinvXSomme+1/\LX[##1]}}%
+ \xdef\LYdivXSomme{\xintfloateval{\LYdivXSomme+\LY[##1]/\LX[##1]}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[##1]}}%
+ \xdef\LinvXcSomme{\xintfloateval{\LinvXcSomme+1/(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@hyp@b{\xintfloateval{(\LNB*\LYdivXSomme-\LinvXSomme*\LYSomme)/(\LNB*\LinvXcSomme-(\LinvXSomme)^2)}}%
+ \xdef\tmp@reg@hyp@a{\xintfloateval{1/\LNB*\LYSomme-(\tmp@reg@hyp@b)/\LNB*\LinvXSomme}}%
+ %STOCKAGE
+ \IfStrEq{\RegHyperbRound}{}%
+ {%
+ \expandafter\def\csname\RegHyperbCoefb\endcsname{\tmp@reg@hyp@b}%
+ \expandafter\def\csname\RegHyperbCoefa\endcsname{\tmp@reg@hyp@a}%
+ }%
+ {%
+ \IfSubStr{\RegHyperbRound}{/}%
+ {%
+ \StrCut{\RegHyperbRound}{/}{\xintarrondisreghypa}{\xintarrondisreghypb}%
+ }%
+ {%
+ \xdef\xintarrondisreghypa{\RegHyperbRound}\xdef\xintarrondisreghypb{\RegHyperbRound}%
+ }%
+ \expandafter\def\csname\RegHyperbCoefb\endcsname{\xintfloateval{round(\tmp@reg@hyp@b,\xintarrondisreghypb)}}%
+ \expandafter\def\csname\RegHyperbCoefa\endcsname{\xintfloateval{round(\tmp@reg@hyp@a,\xintarrondisreghypa)}}%
+ }%
+}
+
+%régression a+b*ln(x)
+\defKV[CoeffRegLog]{%
+ coeffa=\def\RegLogCoefa{#1},%
+ coeffb=\def\RegLogCoefb{#1},%
+ round=\def\RegLogRound{#1}
+}
+
+\setKVdefault[CoeffRegLog]{%
+ coeffa=logrega,%
+ coeffb=logregb,%
+ round={}
+}
+
+\newcommand\xintlogreg[3][]{%
+ \useKVdefault[CoeffRegLog]%
+ \setKV[CoeffRegLog]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LYlnXSomme{0}%
+ \xdef\LlnXSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LYlncXSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LYlnXSomme{\xintfloateval{\LYlnXSomme+\LY[##1]*log(\LX[##1])}}%
+ \xdef\LlnXSomme{\xintfloateval{\LlnXSomme+log(\LX[##1])}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[##1]}}%
+ \xdef\LYlncXSomme{\xintfloateval{\LYlncXSomme+log(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@log@b{\xintfloateval{(\LNB*\LYlnXSomme-\LlnXSomme*\LYSomme)/(\LNB*\LYlncXSomme-(\LlnXSomme)^2)}}%
+ \xdef\tmp@reg@log@a{\xintfloateval{1/\LNB*\LYSomme-(\tmp@reg@log@b)/\LNB*\LlnXSomme}}%
+ %STOCKAGE
+ \IfStrEq{\RegLogRound}{}%
+ {%
+ \expandafter\def\csname\RegLogCoefb\endcsname{\tmp@reg@log@b}%
+ \expandafter\def\csname\RegLogCoefa\endcsname{\tmp@reg@log@a}%
+ }%
+ {%
+ \IfSubStr{\RegLogRound}{/}%
+ {%
+ \StrCut{\RegLogRound}{/}{\xintarrondisregloga}{\xintarrondisreglogb}%
+ }%
+ {%
+ \xdef\xintarrondisregloga{\RegLogRound}\xdef\xintarrondisreglogb{\RegLogRound}%
+ }%
+ \expandafter\def\csname\RegLogCoefb\endcsname{\xintfloateval{round(\tmp@reg@log@b,\xintarrondisreglogb)}}%
+ \expandafter\def\csname\RegLogCoefa\endcsname{\xintfloateval{round(\tmp@reg@log@a,\xintarrondisregloga)}}%
+ }%
+}
+
+%régression e^(ax+b)
+\defKV[CoeffRegExpo]{%
+ coeffa=\def\RegExpoNCoefa{#1},%
+ coeffb=\def\RegExpoNCoefb{#1},%
+ round=\def\RegExpoNRound{#1}
+}
+
+\setKVdefault[CoeffRegExpo]{%
+ coeffa=exprega,%
+ coeffb=expregb,%
+ Alt=false,%
+ round={}
+}
+
+\newcommand\xintexpreg[3][]{%
+ \useKVdefault[CoeffRegExpo]%
+ \setKV[CoeffRegExpo]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXlnYSomme{0}%
+ \xdef\LXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXlnYSomme{\xintfloateval{\LXlnYSomme+\LX[##1]*log(\LY[##1])}}%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1])}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES
+ \xdef\TmpCoeffExpoA{\xintfloateval{(\LNB*\LXlnYSomme-\LXSomme*\LlnYSomme)/(\LNB*\LXcSomme-(\LXSomme)^2)}}%
+ \xdef\TmpCoeffExpoB{\xintfloateval{1/\LNB*\LlnYSomme-(\TmpCoeffExpoA)/\LNB*\LXSomme}}%
+ \ifboolKV[CoeffRegExpo]{Alt}%
+ {%
+ %STOCKAGE
+ \IfStrEq{\RegExpoNRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\xintfloateval{exp(\TmpCoeffExpoB)}}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\TmpCoeffExpoA}%
+ }%
+ {%
+ \IfSubStr{\RegExpoNRound}{/}%
+ {%
+ \StrCut{\RegExpoNRound}{/}{\xintarrondisregexpoa}{\xintarrondisregexpob}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoa{\RegExpoNRound}\xdef\xintarrondisregexpob{\RegExpoNRound}%
+ }%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\xintfloateval{round(exp(\TmpCoeffExpoB),\xintarrondisregexpob)}}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\xintfloateval{round(\TmpCoeffExpoA,\xintarrondisregexpoa)}}%
+ }%
+ }%
+ {%
+ %STOCKAGE
+ \IfStrEq{\RegExpoNRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\TmpCoeffExpoB}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\TmpCoeffExpoA}%
+ }%
+ {%
+ \IfSubStr{\RegExpoNRound}{/}%
+ {%
+ \StrCut{\RegExpoNRound}{/}{\xintarrondisregexpoa}{\xintarrondisregexpob}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoa{\RegExpoNRound}\xdef\xintarrondisregexpob{\RegExpoNRound}%
+ }%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\xintfloateval{round(\TmpCoeffExpoB,\xintarrondisregexpob)}}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\xintfloateval{round(\TmpCoeffExpoA,\xintarrondisregexpoa)}}%
+ }%
+ }%
+}
+
+%régression C + b*e^(ax)
+\defKV[CoeffRegExpoOff]{%
+ coeffa=\def\RegExpoOffCoefa{#1},%
+ coeffb=\def\RegExpoOffCoefb{#1},%
+ offset=\def\RegExpoOffset{#1},%
+ round=\def\RegExpoOffRound{#1}
+}
+
+\setKVdefault[CoeffRegExpoOff]{%
+ coeffa=expregoffa,%
+ coeffb=expregoffb,%
+ offset=0,%
+ round={}
+}
+
+\newcommand\xintexpoffreg[3][]{%
+ \useKVdefault[CoeffRegExpoOff]%
+ \setKV[CoeffRegExpoOff]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXlnYSomme{0}%
+ \xdef\LXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXlnYSomme{\xintfloateval{\LXlnYSomme+\LX[##1]*log(\LY[##1]-\RegExpoOffset)}}%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1]-\RegExpoOffset)}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES
+ \xdef\TmpCoeffExpoA{\xintfloateval{(\LNB*\LXlnYSomme-\LXSomme*\LlnYSomme)/(\LNB*\LXcSomme-(\LXSomme)^2)}}%
+ \xdef\TmpCoeffExpoB{\xintfloateval{1/\LNB*\LlnYSomme-(\TmpCoeffExpoA)/\LNB*\LXSomme}}%
+ %STOCKAGE
+ \IfStrEq{\RegExpoOffRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoOffCoefb\endcsname{\xintfloateval{exp(\TmpCoeffExpoB)}}%
+ \expandafter\def\csname\RegExpoOffCoefa\endcsname{\xintfloateval{\TmpCoeffExpoA}}%
+ }%
+ {%
+ \IfSubStr{\RegExpoOffRound}{/}%
+ {%
+ \StrCut{\RegExpoOffRound}{/}{\xintarrondisregexpoffa}{\xintarrondisregexpoffb}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoffa{\RegExpoOffRound}\xdef\xintarrondisregexpoffb{\RegExpoOffRound}%
+ }%
+ \expandafter\def\csname\RegExpoOffCoefb\endcsname{\xintfloateval{round(exp(\TmpCoeffExpoB),\xintarrondisregexpoffb)}}%
+ \expandafter\def\csname\RegExpoOffCoefa\endcsname{\xintfloateval{round(\TmpCoeffExpoA,\xintarrondisregexpoffa)}}%
+ }%
+}
+
+%régression cubique
+\defKV[CoeffRegCubic]{%
+ coeffa=\def\RegCubicCoefa{#1},%
+ coeffb=\def\RegCubicCoefb{#1},%
+ coeffc=\def\RegCubicCoefc{#1},%
+ coeffd=\def\RegCubicCoefd{#1},%
+ round=\def\RegCubicRound{#1}
+}
+
+\setKVdefault[CoeffRegCubic]{%
+ coeffa=cubrega,%
+ coeffb=cubregb,%
+ coeffc=cubregc,%
+ coeffd=cubregd,%
+ round={}
+}
+
+\newcommand\xintcubreg[3][]{%
+ \useKVdefault[CoeffRegCubic]%
+ \setKV[CoeffRegCubic]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXdSomme{0}%
+ \xdef\LXtSomme{0}%
+ \xdef\LXqSomme{0}%
+ \xdef\LXcSomme{0}%
+ \xdef\LXsSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXdYSomme{0}%
+ \xdef\LXtYSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LXdSomme{\xintfloateval{\LXdSomme+(\LX[##1])^2}}%
+ \xdef\LXtSomme{\xintfloateval{\LXtSomme+(\LX[##1])^3}}%
+ \xdef\LXqSomme{\xintfloateval{\LXqSomme+(\LX[##1])^4}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^5}}%
+ \xdef\LXsSomme{\xintfloateval{\LXsSomme+(\LX[##1])^6}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[##1]}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+\LX[##1]*\LY[##1]}}%
+ \xdef\LXdYSomme{\xintfloateval{\LXdYSomme+(\LX[##1])^2*\LY[##1]}}%
+ \xdef\LXtYSomme{\xintfloateval{\LXtYSomme+(\LX[##1])^3*\LY[##1]}}%
+ }%
+ %calculs suites, avec des matrices !!
+ \def\MatA{\LXtSomme}%
+ \def\MatB{\LXdSomme}%
+ \def\MatC{\LXSomme}%
+ \def\MatD{\LNB}%
+ \def\MatE{\LXqSomme}%
+ \def\MatF{\LXtSomme}%
+ \def\MatG{\LXdSomme}%
+ \def\MatH{\LXSomme}%
+ \def\MatI{\LXcSomme}%
+ \def\MatJ{\LXqSomme}%
+ \def\MatK{\LXtSomme}%
+ \def\MatL{\LXdSomme}%
+ \def\MatM{\LXsSomme}%
+ \def\MatN{\LXcSomme}%
+ \def\MatO{\LXqSomme}%
+ \def\MatP{\LXtSomme}%
+ \def\MatBA{\LYSomme}%
+ \def\MatBB{\LXYSomme}%
+ \def\MatBC{\LXdYSomme}%
+ \def\MatBD{\LXtYSomme}%
+ \def\DETMATRICE{\xintfloateval{\MatA*\MatF*\MatK*\MatP-\MatA*\MatF*\MatL*\MatO-\MatA*\MatG*\MatJ*\MatP+\MatA*\MatG*\MatL*\MatN+\MatA*\MatH*\MatJ*\MatO-\MatA*\MatH*\MatK*\MatN-\MatB*\MatE*\MatK*\MatP+\MatB*\MatE*\MatL*\MatO+\MatB*\MatG*\MatI*\MatP-\MatB*\MatG*\MatL*\MatM-\MatB*\MatH*\MatI*\MatO+\MatB*\MatH*\MatK*\MatM+\MatC*\MatE*\MatJ*\MatP-\MatC*\MatE*\MatL*\MatN-\MatC*\MatF*\MatI*\MatP+\MatC*\MatF*\MatL*\MatM+\MatC*\MatH*\MatI*\MatN-\MatC*\MatH*\MatJ*\MatM-\MatD*\MatE*\MatJ*\MatO+\MatD*\MatE*\MatK*\MatN+\MatD*\MatF*\MatI*\MatO-\MatD*\MatF*\MatK*\MatM-\MatD*\MatG*\MatI*\MatN+\MatD*\MatG*\MatJ*\MatM}}%
+ \def\MatInvA{(\MatF*\MatK*\MatP-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatH*\MatK*\MatN)/\DETMATRICE}%
+ \def\MatInvB{(-\MatB*\MatK*\MatP+\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO+\MatD*\MatK*\MatN)/\DETMATRICE}%
+ \def\MatInvC{(\MatB*\MatG*\MatP-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatD*\MatG*\MatN)/\DETMATRICE}%
+ \def\MatInvD{(-\MatB*\MatG*\MatL+\MatB*\MatH*\MatK+\MatC*\MatF*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK+\MatD*\MatG*\MatJ)/\DETMATRICE}%
+ \def\MatInvE{(-\MatE*\MatK*\MatP+\MatE*\MatL*\MatO+\MatG*\MatI*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO+\MatH*\MatK*\MatM)/\DETMATRICE}%
+ \def\MatInvF{(\MatA*\MatK*\MatP-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatD*\MatK*\MatM)/\DETMATRICE}%
+ \def\MatInvG{(-\MatA*\MatG*\MatP+\MatA*\MatH*\MatO+\MatC*\MatE*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO+\MatD*\MatG*\MatM)/\DETMATRICE}%
+ \def\MatInvH{(\MatA*\MatG*\MatL-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatD*\MatG*\MatI)/\DETMATRICE}%
+ \def\MatInvI{(\MatE*\MatJ*\MatP-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatH*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvJ{(-\MatA*\MatJ*\MatP+\MatA*\MatL*\MatN+\MatB*\MatI*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN+\MatD*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvK{(\MatA*\MatF*\MatP-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatD*\MatF*\MatM)/\DETMATRICE}%
+ \def\MatInvL{(-\MatA*\MatF*\MatL+\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ+\MatD*\MatF*\MatI)/\DETMATRICE}%
+ \def\MatInvM{(-\MatE*\MatJ*\MatO+\MatE*\MatK*\MatN+\MatF*\MatI*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN+\MatG*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvN{(\MatA*\MatJ*\MatO-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatC*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvO{(-\MatA*\MatF*\MatO+\MatA*\MatG*\MatN+\MatB*\MatE*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN+\MatC*\MatF*\MatM)/\DETMATRICE}%
+ \def\MatInvP{(\MatA*\MatF*\MatK-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatC*\MatF*\MatI)/\DETMATRICE}%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@cub@a{\xintfloateval{\MatInvA*\MatBA+\MatInvB*\MatBB+\MatInvC*\MatBC+\MatInvD*\MatBD}}%
+ \xdef\tmp@reg@cub@b{\xintfloateval{\MatInvE*\MatBA+\MatInvF*\MatBB+\MatInvG*\MatBC+\MatInvH*\MatBD}}%
+ \xdef\tmp@reg@cub@c{\xintfloateval{\MatInvI*\MatBA+\MatInvJ*\MatBB+\MatInvK*\MatBC+\MatInvL*\MatBD}}%
+ \xdef\tmp@reg@cub@d{\xintfloateval{\MatInvM*\MatBA+\MatInvN*\MatBB+\MatInvO*\MatBC+\MatInvP*\MatBD}}%
+ %STOCKAGE
+ \IfStrEq{\RegCubicRound}{}%
+ {%
+ \expandafter\def\csname\RegCubicCoefa\endcsname{\tmp@reg@cub@a}%
+ \expandafter\def\csname\RegCubicCoefb\endcsname{\tmp@reg@cub@b}%
+ \expandafter\def\csname\RegCubicCoefc\endcsname{\tmp@reg@cub@c}%
+ \expandafter\def\csname\RegCubicCoefd\endcsname{\tmp@reg@cub@d}%
+ }%
+ {%
+ \IfSubStr{\RegCubicRound}{/}%
+ {%
+ \StrBefore[1]{\RegCubicRound}{/}[\xintarrondisregcuba]%
+ \StrBetween[1,2]{\RegCubicRound}{/}{/}[\xintarrondisregcubb]%
+ \StrBetween[2,3]{\RegCubicRound}{/}{/}[\xintarrondisregcubc]%
+ \StrBehind[3]{\RegCubicRound}{/}[\xintarrondisregcubd]%
+ }%
+ {%
+ \xdef\xintarrondisregcuba{\RegCubicRound}%
+ \xdef\xintarrondisregcubb{\RegCubicRound}%
+ \xdef\xintarrondisregcubc{\RegCubicRound}%
+ \xdef\xintarrondisregcubd{\RegCubicRound}%
+ }%
+ \expandafter\def\csname\RegCubicCoefa\endcsname{\xintfloateval{round(\tmp@reg@cub@a,\xintarrondisregcuba)}}%
+ \expandafter\def\csname\RegCubicCoefb\endcsname{\xintfloateval{round(\tmp@reg@cub@b,\xintarrondisregcubb)}}%
+ \expandafter\def\csname\RegCubicCoefc\endcsname{\xintfloateval{round(\tmp@reg@cub@c,\xintarrondisregcubc)}}%
+ \expandafter\def\csname\RegCubicCoefd\endcsname{\xintfloateval{round(\tmp@reg@cub@d,\xintarrondisregcubd)}}%
+ }%
+}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/lualatex/ideavault/ideavault-lua.lua b/Master/texmf-dist/tex/lualatex/ideavault/ideavault-lua.lua
index 6d4de1e383a..c39a964f648 100644
--- a/Master/texmf-dist/tex/lualatex/ideavault/ideavault-lua.lua
+++ b/Master/texmf-dist/tex/lualatex/ideavault/ideavault-lua.lua
@@ -15,6 +15,29 @@
--
-- This work consists of the files ideavault.sty and ideavault-lua.lua
+
+logErrorEnabled = true
+logWarnEnabled = true
+logDebugEnabled = false
+
+function logError(message)
+ if (logErrorEnabled) then
+ texio.write_nl("[ERROR] " .. message)
+ end
+end
+
+function logWarn(message)
+ if (logWarnEnabled) then
+ texio.write_nl("[WARN] " .. message)
+ end
+end
+
+function logDebug(message)
+ if (logDebugEnabled) then
+ texio.write_nl("[DEBUG] " .. message)
+ end
+end
+
IdeaVaultClass = {}
IdeaVaultClass.__index = IdeaVaultClass
@@ -186,15 +209,20 @@ bookmark_counter = 0
function IdeaClass:printSelf(style)
style = style or ""
- texio.write("Printing idea. Title: '" .. self:getTitle() .. "', style: '" .. style .. "'.\n")
+ logDebug("Printing idea. Title: '" .. self:getTitle() .. "', style: '" .. style .. "'.\n")
local frame = false
local center = false
local bookmark = false
local large = false
+ local Large = false
+ local huge = false
+ local Huge = false
local needSpace = false
local emph = false
local quiet = false
+ local preNewPage = false
+ local postNewPage = false
for c in style:gmatch"."
do
if (c == "f") then
@@ -204,17 +232,31 @@ function IdeaClass:printSelf(style)
elseif (c == "b") then
bookmark = true
elseif (c == "l") then
- large = true
+ large = true
+ elseif (c == "L") then
+ Large = true
+ elseif (c == "h") then
+ huge = true
+ elseif (c == "H") then
+ Huge = true
elseif (c == "s") then
needSpace = true
elseif (c == "e") then
emph = true
elseif (c == "q") then
- quiet = true
+ quiet = true
+ elseif (c == "p") then
+ preNewPage = true
+ elseif (c == "P") then
+ postNewPage = true
else
die("Unknown style: '" .. c .. "'")
end
end
+ if (preNewPage)
+ then
+ tex.sprint("\\newpage%")
+ end
if (needSpace)
then
tex.sprint("\\needspace{5cm}%")
@@ -237,23 +279,34 @@ function IdeaClass:printSelf(style)
end
if (not quiet)
then
+ tex.sprint("{%")
if (large)
then
- tex.sprint("{\\Large%")
+ tex.sprint("\\Large%")
+ end
+ if (Large)
+ then
+ tex.sprint("\\LARGE%")
+ end
+ if (huge)
+ then
+ tex.sprint("\\huge%")
+ end
+ if (Huge)
+ then
+ tex.sprint("\\Huge%")
end
if (emph)
then
tex.sprint("\\emph{,,")
end
tex.sprint(self:getTitle())
+ tex.sprint("\\nopagebreak%")
if (emph)
then
tex.sprint("''}%")
end
- if (large)
- then
- tex.sprint("}%")
- end
+ tex.sprint("}%")
end
if (center)
then
@@ -272,6 +325,10 @@ function IdeaClass:printSelf(style)
then
tex.sprint("\\bookUp%")
end
+ if (postNewPage)
+ then
+ tex.sprint("\\newpage%")
+ end
end
function IdeaClass:printDependencies()
@@ -330,7 +387,7 @@ function createIdea(prefix, key, content, dependencies, tags, value)
t = t .. a .. ", "
end
t = t .. "]"
- texio.write("Creating idea. Title: '" .. key .. "'. Prefix: '" .. prefix .. "', tags: " .. t .. ".\n")
+ logDebug("Creating idea. Title: '" .. key .. "'. Prefix: '" .. prefix .. "', tags: " .. t .. ".\n")
deps = {}
for _, val in pairs(dependencies)
do
@@ -346,7 +403,7 @@ end
function die(reason)
reason = reason or "nil"
- texio.write_nl("Critical error: " .. reason)
+ logError("Critical error: " .. reason)
tex.error("Critical error: " .. reason)
end
diff --git a/Master/texmf-dist/tex/lualatex/ideavault/ideavault.sty b/Master/texmf-dist/tex/lualatex/ideavault/ideavault.sty
index 07d60006457..8b73929eafa 100644
--- a/Master/texmf-dist/tex/lualatex/ideavault/ideavault.sty
+++ b/Master/texmf-dist/tex/lualatex/ideavault/ideavault.sty
@@ -17,7 +17,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ideavault}[1.0.1]
+\ProvidesPackage{ideavault}[1.0.4]
\RequirePackage[open,openlevel=2,atend]{bookmark}
\RequirePackage{xargs}
\RequirePackage{luacode}
@@ -57,6 +57,10 @@
% #3: tag
\newcommandx{\printAllWithTag}[3][1=default, 2=lcf]{\luadirect{ideaVault:printAllWithTag(\luastringN{#1}, \luastringN{#3}, \luastringN{#2})}}
+% Commands for managing debug output
+\newcommandx{\debugEnable}{\luadirect{logDebugEnabled = true}}
+\newcommandx{\debugDisable}{\luadirect{logDebugEnabled = false}}
+
% Internal commands for managing bookmark depth
\newcounter{bookmarkDepth}
\newcommand{\bookDown}{\stepcounter{bookmarkDepth}}
diff --git a/Master/texmf-dist/tex/lualatex/longmath/longmath.lua b/Master/texmf-dist/tex/lualatex/longmath/longmath.lua
index 56c64c8cdb1..05524096cac 100644
--- a/Master/texmf-dist/tex/lualatex/longmath/longmath.lua
+++ b/Master/texmf-dist/tex/lualatex/longmath/longmath.lua
@@ -1,5 +1,5 @@
--
--- longmath.lua is part of longmath version 0.1.
+-- longmath.lua is part of longmath version 1.0.
--
-- (c) 2024 Hans-Jürgen Matschull
--
@@ -141,15 +141,16 @@ local function set_delim( head, level, ht, dp )
if brks then brks = brks[type] end
if type and auto and brks then
delim_set( delim, brks[level] )
- elseif type and brks then
- level = nil
- for l = 1, #brks do if delim_eq( brks[l], delim ) then level = l break end end
else
level = nil
end
local scale = node.get_attribute( hbox, attr_info )
- hbox.height, hbox.depth = ht * scale // 1000, dp * scale // 1000
- if delim_eq( delim, delim_null ) then hbox.width = hbox.width * 2 end
+ hbox.height, hbox.depth = ht * scale // 1000, dp * scale // 1000
+ if delim_eq( delim, delim_null ) then
+ hbox.width = -2 * tex.dimen.nulldelimiterspace
+ else
+ hbox.width = -tex.dimen.nulldelimiterspace
+ end
return level
end
diff --git a/Master/texmf-dist/tex/lualatex/longmath/longmath.sty b/Master/texmf-dist/tex/lualatex/longmath/longmath.sty
index 2b4848db3c0..47a99ce8fa5 100644
--- a/Master/texmf-dist/tex/lualatex/longmath/longmath.sty
+++ b/Master/texmf-dist/tex/lualatex/longmath/longmath.sty
@@ -1,5 +1,5 @@
%%
-%% longmath.sty is part of longmath version 0.1.
+%% longmath.sty is part of longmath version 1.0.
%%
%% (c) 2024 Hans-Jürgen Matschull
%%
@@ -18,7 +18,7 @@
%% see README for a list of files belonging to longmath.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{longmath}[2024/03/25]
+\ProvidesPackage{longmath}[2024/07/04]
\RequirePackage{luatexbase}
@@ -89,8 +89,7 @@
\setattribute\longmath@info{\mathstyle} \special{\longmath@comm}
\longmath@type\bgroup \longmath@left . \aftergroup\egroup \aftergroup\endgroup
\begingroup \setattribute\longmath@info{\ifnum \longmath@yscale < 1 \longmath@xscale \else \longmath@yscale \fi}
- \hbox to -\nulldelimiterspace{} \endgroup
- \longmath@right }
+ \hbox{} \endgroup \longmath@right }
% magic number to identify the variable delimiter.
@@ -174,13 +173,13 @@
}
% End of longmath environment.
-% If the width of the box is smaller than the requsted width, just use it as is.
+% If the width of the box is smaller than the requested width, just use it as is.
% Otherwise, modify the requested width if the * version was used.
% Then \unhbox the content into a paragraph with the requested width.
% \box0 and \box1 are used to adapt the baselineskip to the math style.
% \leftskip and \rightskip are set such that lines are centered but not justified.
% The glue is removed from the beginning of the first line with \hskip,
-% and from the end of the last line with \parfilskip.
+% and from the end of the last line with \parfilskip.
% If \longmath@extra is non-zero, Lua will stack the lines of the paragraph.
\def\longmath@end{$\egroup
\ifdim \wd\longmath@box < \dimexpr \longmath@width + \longmath@extra \relax
diff --git a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.lua b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.lua
deleted file mode 100644
index 7c1eae02177..00000000000
--- a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.lua
+++ /dev/null
@@ -1,562 +0,0 @@
---
--- This is file `pgfmolbio.chromatogram.lua',
--- generated with the docstrip utility.
---
--- The original source files were:
---
--- pgfmolbio.dtx (with options: `pmb-chr-lua')
---
--- Copyright (C) 2013 by Wolfgang Skala
---
--- This work may be distributed and/or modified under the
--- conditions of the LaTeX Project Public License, either version 1.3
--- of this license or (at your option) any later version.
--- The latest version of this license is in
--- http://www.latex-project.org/lppl.txt
--- and version 1.3 or later is part of all distributions of LaTeX
--- version 2005/12/01 or later.
---
-module("pgfmolbio.chromatogram", package.seeall)
-
-
-if luatexbase then
- luatexbase.provides_module{
- name = "pgfmolbio.chromatogram",
- version = 0.2,
- date = "2012/10/01",
- description = "DNA sequencing chromatograms",
- author = "Wolfgang Skala",
- copyright = "Wolfgang Skala",
- license = "LPPL",
- }
-end
-
-local ALL_BASES = {"A", "C", "G", "T"}
-local PGFKEYS_PATH = "/pgfmolbio/chromatogram/"
-
-local stringToDim = pgfmolbio.stringToDim
-local dimToString = pgfmolbio.dimToString
-local packageError = pgfmolbio.packageError
-local packageWarning = pgfmolbio.packageWarning
-local getRange = pgfmolbio.getRange
-
-local function stdProbStyle(prob)
- local color = ""
- if prob >= 0 and prob < 10 then
- color = "black"
- elseif prob >= 10 and prob < 20 then
- color = "pmbTraceRed"
- elseif prob >= 20 and prob < 30 then
- color = "pmbTraceYellow"
- else
- color = "pmbTraceGreen"
- end
- return "ultra thick, " .. color
-end
-
-local function findBasesInStr(target)
- if not target then return end
- local result = {}
- for _, v in ipairs(ALL_BASES) do
- if target:upper():find(v) then
- table.insert(result, v)
- end
- end
- return result
-end
-
-local function readInt(file, n, offset)
- if offset then file:seek("set", offset) end
- local result = 0
- for i = 1, n do
- result = result * 0x100 + file:read(1):byte()
- end
- return result
-end
-
-Chromatogram = {}
-
-function Chromatogram:new()
- newChromatogram = {
- sampleMin = 1,
- sampleMax = 500,
- sampleStep = 1,
- peakMin = -1,
- peakMax = -1,
- xUnit = stringToDim("0.2mm"),
- yUnit = stringToDim("0.01mm"),
- samplesPerLine = 500,
- baselineSkip = stringToDim("3cm"),
- canvasHeight = stringToDim("2cm"),
- traceStyle = {
- A = PGFKEYS_PATH .. "trace A style",
- C = PGFKEYS_PATH .. "trace C style",
- G = PGFKEYS_PATH .. "trace G style",
- T = PGFKEYS_PATH .. "trace T style"
- },
- tickStyle = {
- A = PGFKEYS_PATH .. "tick A style",
- C = PGFKEYS_PATH .. "tick C style",
- G = PGFKEYS_PATH .. "tick G style",
- T = PGFKEYS_PATH .. "tick T style"
- },
- tickLength = stringToDim("1mm"),
- baseLabelText = {
- A = "\\pgfkeysvalueof{" .. PGFKEYS_PATH .. "base label A text}",
- C = "\\pgfkeysvalueof{" .. PGFKEYS_PATH .. "base label C text}",
- G = "\\pgfkeysvalueof{" .. PGFKEYS_PATH .. "base label G text}",
- T = "\\pgfkeysvalueof{" .. PGFKEYS_PATH .. "base label T text}"
- },
- baseLabelStyle = {
- A = PGFKEYS_PATH .. "base label A style",
- C = PGFKEYS_PATH .. "base label C style",
- G = PGFKEYS_PATH .. "base label G style",
- T = PGFKEYS_PATH .. "base label T style"
- },
- showBaseNumbers = true,
- baseNumberMin = -1,
- baseNumberMax = -1,
- baseNumberStep = 10,
- probDistance = stringToDim("0.8cm"),
- probStyle = stdProbStyle,
- tracesDrawn = ALL_BASES,
- ticksDrawn = "ACGT",
- baseLabelsDrawn = "ACGT",
- probabilitiesDrawn = "ACGT",
- }
- setmetatable(newChromatogram, self)
- self.__index = self
- return newChromatogram
-end
-
-function Chromatogram:getMinMaxProbability()
- local minProb = 0
- local maxProb = 0
- for _, currPeak in ipairs(self.selectedPeaks) do
- for __, currProb in pairs(currPeak.prob) do
- if currProb > maxProb then maxProb = currProb end
- if currProb < minProb then minProb = currProb end
- end
- end
- return minProb, maxProb
-end
-
-function Chromatogram:getSampleAndPeakIndex(baseIndex, isLowerLimit)
- local sampleId, peakId
-
- sampleId = tonumber(baseIndex)
- if sampleId then
- for i, v in ipairs(self.peaks) do
- if isLowerLimit then
- if v.offset >= sampleId then
- peakId = i
- break
- end
- else
- if v.offset == sampleId then
- peakId = i
- break
- elseif v.offset > sampleId then
- peakId = i - 1
- break
- end
- end
- end
- else
- peakId = tonumber(baseIndex:match("base%s*(%d+)"))
- if peakId then
- sampleId = self.peaks[peakId].offset
- end
- end
- return sampleId, peakId
-end
-
-function Chromatogram:readScfFile(filename)
- if filename ~= self.lastScfFile then
- self.lastScfFile = filename
- local scfFile, errorMsg = io.open(filename, "rb")
- if not scfFile then packageError(errorMsg) end
-
- self.samples = {A = {}, C = {}, G = {}, T = {}}
- self.peaks = {}
- self.header = {
- magicNumber = readInt(scfFile, 4, 0),
- samplesNumber = readInt(scfFile, 4),
- samplesOffset = readInt(scfFile, 4),
- basesNumber = readInt(scfFile, 4),
- leftClip = readInt(scfFile, 4),
- rightClip = readInt(scfFile, 4),
- basesOffset = readInt(scfFile, 4),
- comments = readInt(scfFile, 4),
- commentsOffset = readInt(scfFile, 4),
- version = readInt(scfFile, 4),
- sampleSize = readInt(scfFile, 4),
- codeSet = readInt(scfFile, 4),
- privateSize = readInt(scfFile, 4),
- privateOffset = readInt(scfFile, 4)
- }
- if self.header.magicNumber ~= 0x2E736366 then
- packageError(
- "Magic number in scf scfFile '" ..
- self.lastScfFile ..
- "' corrupt!"
- )
- end
- if self.header.version ~= 0x332E3030 then
- packageError(
- "Scf scfFile '" ..
- self.lastScfFile ..
- "' is not version 3.00!"
- )
- end
- scfFile:seek("set", self.header.samplesOffset)
- for baseIndex, baseName in ipairs(ALL_BASES) do
- for i = 1, self.header.samplesNumber do
- self.samples[baseName][i] =
- readInt(scfFile, self.header.sampleSize)
- end
-
- for _ = 1, 2 do
- local preValue = 0
- for i = 1, self.header.samplesNumber do
- self.samples[baseName][i] = self.samples[baseName][i] + preValue
- if self.samples[baseName][i] > 0xFFFF then
- self.samples[baseName][i] = self.samples[baseName][i] - 0x10000
- end
- preValue = self.samples[baseName][i]
- end
- end
- end
- for i = 1, self.header.basesNumber do
- self.peaks[i] = {
- offset = readInt(scfFile, 4),
- prob = {A, C, G, T},
- base
- }
- end
-
- for i = 1, self.header.basesNumber do
- self.peaks[i].prob.A = readInt(scfFile, 1)
- end
-
- for i = 1, self.header.basesNumber do
- self.peaks[i].prob.C = readInt(scfFile, 1)
- end
-
- for i = 1, self.header.basesNumber do
- self.peaks[i].prob.G = readInt(scfFile, 1)
- end
-
- for i = 1, self.header.basesNumber do
- self.peaks[i].prob.T = readInt(scfFile, 1)
- end
-
- for i = 1, self.header.basesNumber do
- self.peaks[i].base = string.char(readInt(scfFile, 1))
- end
-
- scfFile:close()
- end
-end
-
-function Chromatogram:setParameters(newParms)
- local keyHash = {
- sampleRange = function(v)
- local sampleRangeMin, sampleRangeMax, sampleRangeStep =
- getRange(
- v:trim(),
- "^([base]*%s*%d+)%s*%-",
- "%-%s*([base]*%s*%d+)",
- "step%s*(%d+)$"
- )
- self.sampleMin, self.peakMin =
- self:getSampleAndPeakIndex(sampleRangeMin, true)
- self.sampleMax, self.peakMax =
- self:getSampleAndPeakIndex(sampleRangeMax, false)
- if self.sampleMin >= self.sampleMax then
- packageError("Sample range is smaller than 1.")
- end
- self.sampleStep = sampleRangeStep or self.sampleStep
- end,
- xUnit = stringToDim,
- yUnit = stringToDim,
- samplesPerLine = tonumber,
- baselineSkip = stringToDim,
- canvasHeight = stringToDim,
- tickLength = stringToDim,
- showBaseNumbers = function(v)
- if v == "true" then return true else return false end
- end,
- baseNumberRange = function(v)
- local baseNumberRangeMin, baseNumberRangeMax, baseNumberRangeStep =
- getRange(
- v:trim(),
- "^([auto%d]*)%s+%-",
- "%-%s+([auto%d]*$)"
- )
- if tonumber(baseNumberRangeMin) then
- self.baseNumberMin = tonumber(baseNumberRangeMin)
- else
- self.baseNumberMin = self.peakMin
- end
- if tonumber(baseNumberRangeMax) then
- self.baseNumberMax = tonumber(baseNumberRangeMax)
- else
- self.baseNumberMax = self.peakMax
- end
- if self.baseNumberMin >= self.baseNumberMax then
- packageError("Base number range is smaller than 1.")
- end
- if self.baseNumberMin < self.peakMin then
- self.baseNumberMin = self.peakMin
- packageWarning("Lower base number range is smaller than lower sample range. It was adjusted to " .. self.baseNumberMin .. ".")
- end
- if self.baseNumberMax > self.peakMax then
- self.baseNumberMax = self.peakMax
- packageWarning("Upper base number range exceeds upper sample range. It was adjusted to " .. self.baseNumberMax .. ".")
- end
- self.baseNumberStep = tonumber(baseNumberRangeStep)
- or self.baseNumberStep
- end,
- probDistance = stringToDim,
- probStyle = function(v) return v end,
- tracesDrawn = findBasesInStr,
- ticksDrawn = function(v) return v end,
- baseLabelsDrawn = function(v) return v end,
- probabilitiesDrawn = function(v) return v end,
- probStyle = function(v) return v end
- }
- for key, value in pairs(newParms) do
- if keyHash[key] then
- self[key] = keyHash[key](value)
- end
- end
-end
-
-function Chromatogram:printTikzChromatogram()
- if pgfmolbio.errorCatched then return end
- self.selectedPeaks = {}
- local tIndex = 1
- for rPeakIndex, currPeak in ipairs(self.peaks) do
- if currPeak.offset >= self.sampleMin
- and currPeak.offset <= self.sampleMax then
- self.selectedPeaks[tIndex] = {
- offset = currPeak.offset + 1 - self.sampleMin,
- base = currPeak.base,
- prob = currPeak.prob,
- baseIndex = rPeakIndex,
- probXRight = self.sampleMax + 1 - self.sampleMin
- }
- if tIndex > 1 then
- self.selectedPeaks[tIndex-1].probXRight =
- (self.selectedPeaks[tIndex-1].offset
- + self.selectedPeaks[tIndex].offset) / 2
- end
- tIndex = tIndex + 1
- end
- end
-
- if tIndex > 1 then
- if self.baseNumberMin == -1 then
- self.baseNumberMin = self.selectedPeaks[1].baseIndex
- end
- if self.baseNumberMax == -1 then
- self.baseNumberMax = self.selectedPeaks[tIndex-1].baseIndex
- end
- end
-
- local samplesLeft = self.sampleMax - self.sampleMin + 1
- local currLine = 0
- while samplesLeft > 0 do
- local yLower = -currLine * self.baselineSkip
- local yUpper = -currLine * self.baselineSkip + self.canvasHeight
- local xRight =
- (math.min(self.samplesPerLine, samplesLeft) - 1) * self.xUnit
- tex.sprint(
- "\n\t\\draw [" .. PGFKEYS_PATH .. "canvas style] (" ..
- dimToString(0) ..
- ", " ..
- dimToString(yLower) ..
- ") rectangle (" ..
- dimToString(xRight) ..
- ", " ..
- dimToString(yUpper) ..
- ");"
- )
- samplesLeft = samplesLeft - self.samplesPerLine
- currLine = currLine + 1
- end
-
- for _, baseName in ipairs(self.tracesDrawn) do
- tex.sprint("\n\t\\draw [" .. self.traceStyle[baseName] .. "] ")
- local currSampleIndex = self.sampleMin
- local sampleX = 1
- local x = 0
- local y = 0
- local currLine = 0
- local firstPointInLine = true
-
- while currSampleIndex <= self.sampleMax do
- x = ((sampleX - 1) % self.samplesPerLine) * self.xUnit
- y = self.samples[baseName][currSampleIndex] * self.yUnit
- - currLine * self.baselineSkip
- if sampleX % self.sampleStep == 0 then
- if not firstPointInLine then
- tex.sprint(" -- ")
- else
- firstPointInLine = false
- end
- tex.sprint(
- "(" ..
- dimToString(x) ..
- ", " ..
- dimToString(y) ..
- ")"
- )
- end
- if sampleX ~= self.sampleMax + 1 - self.sampleMin then
- if sampleX >= (currLine + 1) * self.samplesPerLine then
- currLine = currLine + 1
- tex.sprint(";\n\t\\draw [" .. self.traceStyle[baseName] .. "] ")
- firstPointInLine = true
- end
- else
- tex.sprint(";")
- end
- sampleX = sampleX + 1
- currSampleIndex = currSampleIndex + 1
- end
- end
-
- local currLine = 0
- local lastProbX = 1
- local probRemainder = false
-
- for _, currPeak in ipairs(self.selectedPeaks) do
- while currPeak.offset > (currLine + 1) * self.samplesPerLine do
- currLine = currLine + 1
- end
-
- local x = ((currPeak.offset - 1) % self.samplesPerLine) * self.xUnit
- local yUpper = -currLine * self.baselineSkip
- local yLower = -currLine * self.baselineSkip - self.tickLength
- local tickOperation = ""
- if self.ticksDrawn:upper():find(currPeak.base) then
- tickOperation = "--"
- end
-
- tex.sprint(
- "\n\t\\draw [" ..
- self.tickStyle[currPeak.base] ..
- "] (" ..
- dimToString(x) ..
- ", " ..
- dimToString(yUpper) ..
- ") " ..
- tickOperation ..
- " (" ..
- dimToString(x) ..
- ", " ..
- dimToString(yLower) ..
- ")"
- )
- if self.baseLabelsDrawn:upper():find(currPeak.base) then
- tex.sprint(
- " node [" ..
- self.baseLabelStyle[currPeak.base] ..
- "] {" ..
- self.baseLabelText[currPeak.base] ..
- "}"
- )
- end
-
- if self.showBaseNumbers
- and currPeak.baseIndex >= self.baseNumberMin
- and currPeak.baseIndex <= self.baseNumberMax
- and (currPeak.baseIndex - self.baseNumberMin)
- % self.baseNumberStep == 0 then
- tex.sprint(
- " node [" ..
- PGFKEYS_PATH ..
- "base number style] {\\strut " ..
- currPeak.baseIndex ..
- "}"
- )
- end
- tex.sprint(";")
-
- if probRemainder then
- tex.sprint(probRemainder)
- probRemainder = false
- end
- local drawCurrProb =
- self.probabilitiesDrawn:upper():find(currPeak.base)
- local xLeft = lastProbX - 1 - currLine * self.samplesPerLine
- if xLeft < 0 then
- local xLeftPrev = (self.samplesPerLine + xLeft) * self.xUnit
- local xRightPrev = (self.samplesPerLine - 1) * self.xUnit
- local yPrev = -(currLine-1) * self.baselineSkip - self.probDistance
- if drawCurrProb then
- tex.sprint(
- "\n\t\\draw [" ..
- self.probStyle(currPeak.prob[currPeak.base]) ..
- "] (" ..
- dimToString(xLeftPrev) ..
- ", " ..
- dimToString(yPrev) ..
- ") -- (" ..
- dimToString(xRightPrev) ..
- ", " ..
- dimToString(yPrev) ..
- ");"
- )
- end
- xLeft = 0
- else
- xLeft = xLeft * self.xUnit
- end
-
- local xRight = currPeak.probXRight - 1 - currLine * self.samplesPerLine
- if xRight >= self.samplesPerLine then
- if drawCurrProb then
- local xRightNext = (xRight - self.samplesPerLine) * self.xUnit
- local yNext = -(currLine+1) * self.baselineSkip - self.probDistance
- probRemainder =
- "\n\t\\draw [" ..
- self.probStyle(currPeak.prob[currPeak.base]) ..
- "] (" ..
- dimToString(0) ..
- ", " ..
- dimToString(yNext) ..
- ") -- (" ..
- dimToString(xRightNext) ..
- ", " ..
- dimToString(yNext) ..
- ");"
- end
- xRight = (self.samplesPerLine - 1) * self.xUnit
- else
- xRight = xRight * self.xUnit
- end
-
- local y = -currLine * self.baselineSkip - self.probDistance
- if drawCurrProb then
- tex.sprint(
- "\n\t\\draw [" ..
- self.probStyle(currPeak.prob[currPeak.base]) ..
- "] (" ..
- dimToString(xLeft) ..
- ", " ..
- dimToString(y) ..
- ") -- (" ..
- dimToString(xRight) ..
- ", " ..
- dimToString(y) ..
- ");"
- )
- end
- lastProbX = currPeak.probXRight
- end
-end
---
--- End of file `pgfmolbio.chromatogram.lua'.
diff --git a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.tex b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.tex
index 32cd1c4e867..95a75d31ff9 100644
--- a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.tex
+++ b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.chromatogram.tex
@@ -6,17 +6,17 @@
%%
%% pgfmolbio.dtx (with options: `pmb-chr-tex')
%%
-%% Copyright (C) 2013 by Wolfgang Skala
+%% Copyright (C) 2024 by Wolfgang Esser-Skala
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
%%
-\ProvidesFile{pgfmolbio.chromatogram.tex}[2013/08/01 v0.21 SCF chromatograms]
+\ProvidesFile{pgfmolbio.chromatogram.tex}[2024/06/17 v0.21a SCF chromatograms]
\ifluatex
diff --git a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.convert.tex b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.convert.tex
index 49a77fe6986..6e789f7e07e 100644
--- a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.convert.tex
+++ b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.convert.tex
@@ -6,17 +6,17 @@
%%
%% pgfmolbio.dtx (with options: `pmb-con-tex')
%%
-%% Copyright (C) 2013 by Wolfgang Skala
+%% Copyright (C) 2024 by Wolfgang Esser-Skala
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
%%
-\ProvidesFile{pgfmolbio.convert.tex}[2013/08/01 v0.21 pgfmolbio graph conversion]
+\ProvidesFile{pgfmolbio.convert.tex}[2024/06/17 v0.21a pgfmolbio graph conversion]
\pdfdraftmode1
diff --git a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.lua b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.lua
deleted file mode 100644
index 88d8907aa83..00000000000
--- a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.lua
+++ /dev/null
@@ -1,810 +0,0 @@
---
--- This is file `pgfmolbio.domains.lua',
--- generated with the docstrip utility.
---
--- The original source files were:
---
--- pgfmolbio.dtx (with options: `pmb-dom-lua')
---
--- Copyright (C) 2013 by Wolfgang Skala
---
--- This work may be distributed and/or modified under the
--- conditions of the LaTeX Project Public License, either version 1.3
--- of this license or (at your option) any later version.
--- The latest version of this license is in
--- http://www.latex-project.org/lppl.txt
--- and version 1.3 or later is part of all distributions of LaTeX
--- version 2005/12/01 or later.
---
-module("pgfmolbio.domains", package.seeall)
-
-
-if luatexbase then
- luatexbase.provides_module({
- name = "pgfmolbio.domains",
- version = 0.2,
- date = "2012/10/01",
- description = "Domain graphs",
- author = "Wolfgang Skala",
- copyright = "Wolfgang Skala",
- license = "LPPL",
- })
-end
-
-local stringToDim = pgfmolbio.stringToDim
-local dimToString = pgfmolbio.dimToString
-local packageError = pgfmolbio.packageError
-local packageWarning = pgfmolbio.packageWarning
-local getRange = pgfmolbio.getRange
-
-function printSequenceFeature(feature, xLeft, xRight, yMid, xUnit, yUnit)
- xLeft = xLeft + 0.5
- for currResidue in feature.sequence:gmatch(".") do
- tex.sprint("\n\t\t\\def\\xMid{" .. dimToString(xLeft * xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\yMid{" .. dimToString(yMid * yUnit) .. "}")
- tex.sprint("\n\t\t\\def\\currentResidue{" .. currResidue .. "}")
- tex.sprint("\n\t\t\\pmbdomdrawfeature{other/sequence}")
- xLeft = xLeft + 1
- end
-end
-
-function printHelixFeature(feature, xLeft, xRight, yMid, xUnit, yUnit)
- local residuesLeft, currX
- tex.sprint("\n\t\t\\pgfmolbioset[domains]{current style}")
-
- residuesLeft = feature.stop - feature.start + 1
- currX = xLeft
- tex.sprint("\n\t\t\\def\\xLeft{" .. dimToString(currX * xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\yMid{" .. dimToString(yMid * yUnit) .. "}")
- tex.sprint("\n\t\t\\pmbdomdrawfeature{helix/half upper back}")
- residuesLeft = residuesLeft - 2
- currX = currX + 2.5
-
- while residuesLeft > 0 do
- if residuesLeft == 1 then
- tex.sprint(
- "\n\t\t\\def\\xRight{" ..
- dimToString((currX + 0.5) * xUnit) ..
- "}"
- )
- tex.sprint("\n\t\t\\def\\yMid{" .. dimToString(yMid * yUnit) .. "}")
- tex.sprint("\n\t\t\\pmbdomdrawfeature{helix/half lower back}")
- else
- tex.sprint("\n\t\t\\def\\xMid{" .. dimToString(currX * xUnit) .. "}")
- tex.sprint(
- "\n\t\t\\def\\yLower{" ..
- dimToString(yMid * yUnit - 1.5 * xUnit) ..
- "}"
- )
- tex.sprint("\n\t\t\\pmbdomdrawfeature{helix/full back}")
- end
- residuesLeft = residuesLeft - 2
- currX = currX + 2
- end
-
- residuesLeft = feature.stop - feature.start
- currX = xLeft + 1.5
- while residuesLeft > 0 do
- if residuesLeft == 1 then
- tex.sprint(
- "\n\t\t\\def\\xRight{" ..
- dimToString((currX + 0.5) * xUnit) ..
- "}"
- )
- tex.sprint("\n\t\t\\def\\yMid{" .. dimToString(yMid * yUnit) .. "}")
- tex.sprint("\n\t\t\\pmbdomdrawfeature{helix/half upper front}")
- else
- tex.sprint("\n\t\t\\def\\xMid{" .. dimToString(currX * xUnit) .. "}")
- tex.sprint(
- "\n\t\t\\def\\yLower{" ..
- dimToString(yMid * yUnit - 1.5 * xUnit) ..
- "}"
- )
- tex.sprint("\n\t\t\\pmbdomdrawfeature{helix/full front}")
- end
- residuesLeft = residuesLeft - 2
- currX = currX + 2
- end
-end
-
-SpecialKeys = {}
-
-function SpecialKeys:new(parms)
- parms = parms or {}
- local newSpecialKeys = {
- disulfideKeys = {},
- featureStyles = {},
- printFunctions = {}
- }
-
- for keyList, listContents in pairs(parms) do
- for key, value in pairs(listContents) do
- newSpecialKeys[keyList][key] = value
- end
- end
-
- setmetatable(newSpecialKeys, self)
- self.__index = self
- return newSpecialKeys
-end
-
-function SpecialKeys:setKeys(keylist, keys, value)
- for key in keys:gmatch("([^,]+)") do
- key = key:trim()
- self[keylist][key] = value
- end
-end
-
-function SpecialKeys:setFeatureStyle(key, style)
- local newStyleList, styleCycles, styleContents
-
- newStyleList = {}
- while style ~= "" do
- styleCycles = 1
- if style:sub(1,1) == "{" then
- styleContents = style:match("%b{}")
- style = style:match("%b{}(.*)")
- elseif style:sub(1,1) == "*" then
- styleCycles, styleContents = style:match("%*(%d*)(%b{})")
- if styleCycles == "" then styleCycles = 1 end
- style = style:match("%*%d*%b{}(.*)")
- elseif style:sub(1,1) == "," or style:sub(1,1) == " " then
- style = style:match("[,%s]+(.*)")
- styleCycles, styleContents = nil, nil
- else
- styleContents = style:match("([^,]+),")
- if not styleContents then
- styleContents = style
- style = ""
- else
- style = style:match("[^,]+,(.*)")
- end
- end
- if styleCycles then
- table.insert(
- newStyleList,
- {cycles = styleCycles, style = styleContents}
- )
- end
- end
- self.featureStyles[key] = newStyleList
-end
-
-function SpecialKeys:aliasFeatureStyle(newKey, oldKey)
- self.featureStyles[newKey] = {alias = oldKey}
-end
-
-function SpecialKeys:getBaseKey(key)
- if self.featureStyles[key] then
- if self.featureStyles[key].alias then
- return self.featureStyles[key].alias
- end
- end
- return key
-end
-
-function SpecialKeys:clearKeys(keylist)
- self[keylist] = {}
-end
-
-function SpecialKeys:selectStyleFromList(key, styleID)
- local styleList
-
- if not self.featureStyles[key] then
- packageWarning(
- "Feature style `" ..
- key ..
- "' unknown, using `default'."
- )
- styleList = self.featureStyles.default
- elseif self.featureStyles[key].alias then
- styleList = self.featureStyles[self.featureStyles[key].alias]
- else
- styleList = self.featureStyles[key]
- end
-
- while true do
- for _, v in ipairs(styleList) do
- styleID = styleID - v.cycles
- if styleID < 1 then
- return v.style
- end
- end
- end
-end
-
-Protein = {}
-
-function Protein:new()
- local newProtein = {
- name = "",
- sequenceLength = -1,
- ft = {},
- sequence = "",
- xUnit = stringToDim("0.5mm"),
- yUnit = stringToDim("6mm"),
- residuesPerLine = 250,
- residueRangeMin = 1,
- residueRangeMax = 100,
- residueNumbering = {},
- revResidueNumbering = {},
- baselineSkip = 3,
- rulerRange = {},
- defaultRulerStepSize = 50,
- showRuler = true,
- currentStyle = {},
- specialKeys = SpecialKeys:new()
- }
- setmetatable(newProtein, self)
- self.__index = self
- return newProtein
-end
-
-function Protein:toAbsoluteResidueNumber(value)
- local result = value:match("%b()")
- if result then
- result = tonumber(result:sub(2, -2))
- else
- result = self.revResidueNumbering[(value:gsub("[<>%?]", ""))]
- end
- if not result then
- packageError("Bad or missing start/end point value: " .. value)
- end
- return result
-end
-
-function Protein:readUniprotFile(filename)
- local uniprotFile, errorMsg = io.open(filename, "r")
- if not uniprotFile then packageError(errorMsg) end
-
- local sequence = {}
- local inSequence = false
- local featureTable = {}
-
- for currLine in uniprotFile:lines() do
- local lineCode = currLine:sub(1, 2)
- local lineContents = currLine:sub(3)
- if lineCode == "ID" then
- local name, sequenceLength =
- lineContents:match("%s*(%S+)%s*%a+;%s*(%d+)%s*AA%.")
- self.name = name
- self.sequenceLength = tonumber(sequenceLength)
- self.residueRangeMax = self.sequenceLength
- elseif lineCode == "FT" then
- local key = currLine:sub(6, 13):trim()
- local start, stop, description =
- currLine:sub(15, 20), currLine:sub(22, 27), currLine:sub(35, 75)
- if key ~= "" then
- table.insert(featureTable, {
- key = key,
- start = "(" .. start .. ")",
- stop = "(" .. stop .. ")",
- description = description,
- style = "",
- kvList = ""
- })
- else
- featureTable[#featureTable].description =
- featureTable[#featureTable].description .. description
- end
- elseif lineCode == "SQ" then
- inSequence = true
- elseif lineCode == " " and inSequence then
- table.insert(sequence, (lineContents:gsub("%s+", "")))
- elseif lineCode == "\\\\" then
- break
- end
- end
- uniprotFile:close()
- if next(sequence) then self.sequence = table.concat(sequence) end
- for _, v in ipairs(featureTable) do self:addFeature(v) end
-end
-
-function Protein:readGffFile(filename)
- local gffFile, errorMsg = io.open(filename, "r")
- local lineContents, fields, lineNumber
-
- if not gffFile then packageError(errorMsg) end
- lineNumber = 1
- for currLine in gffFile:lines() do
- lineContents = currLine:gsub("#.*$", "")
- fields = {}
- if lineContents ~= "" then
- for currField in lineContents:gmatch("([^\t]+)") do
- table.insert(fields, currField)
- end
- if not fields[5] then
- packageError("Bad line (" .. lineNumber .. ") in gff file '" ..
- filename .. "':\n" .. currLine)
- break
- end
- self:addFeature{
- key = fields[3],
- start = "(" .. fields[4] .. ")",
- stop = "(" .. fields[5] .. ")",
- description = fields[9] or "",
- style = "",
- kvList = ""
- }
- end
- lineNumber = lineNumber + 1
- end
- gffFile:close()
-end
-
-function Protein:getParameters()
- tex.sprint(
- "\\pgfmolbioset[domains]{name={" ..
- self.name ..
- "},sequence={" ..
- self.sequence ..
- "},sequence length=" ..
- self.sequenceLength ..
- "}"
- )
-end
-
-function Protein:setParameters(newParms)
- local keyHash = {
- sequenceLength = function(v)
- v = tonumber(v)
- if not v then return self.sequenceLength end
- if v < 1 then
- packageError("Sequence length must be larger than zero.")
- end
- return v
- end,
- residueNumbering = function(v)
- local ranges = {}
- local start, startNumber, startLetter, stop
- self.revResidueNumbering = {}
- if v:trim() == "auto" then
- for i = 1, self.sequenceLength do
- table.insert(ranges, tostring(i))
- end
- else --example list: `1-4,5,6A-D'
- for _, value in ipairs(v:explode(",+")) do
- value = value:trim()
- start, stop = value:match("(%w*)%s*%-%s*(%w*)$")
- if not start then
- start = value:match("(%w*)")
- end
- if not start or start == "" then --invalid range
- packageError("Unknown residue numbering range: " .. value)
- end
- if stop then
- if tonumber(start) and tonumber(stop) then
- --process range `1-4'
- for currNumber = tonumber(start), tonumber(stop) do
- table.insert(ranges, tostring(currNumber))
- end
- else --process range `6A-D'
- startNumber, startLetter = start:match("(%d*)(%a)")
- stop = stop:match("(%a)")
- for currLetter = startLetter:byte(), stop:byte() do
- table.insert(ranges,
- startNumber .. string.char(currLetter))
- end
- end
- else --process range `5'
- table.insert(ranges, start)
- end
- end
- end
- for i, value in ipairs(ranges) do
- if self.revResidueNumbering[value] then
- packageError("The range value " .. value ..
- " appears more than once.")
- else
- self.revResidueNumbering[value] = i
- end
- end
- return ranges
- end,
- residueRange = function(v)
- local num
- local residueRangeMin, residueRangeMax =
- getRange(v:trim(), "^([%w%(%)]+)%s*%-", "%-%s*([%w%(%)]+)$")
- if residueRangeMin == "auto" then
- self.residueRangeMin = 1
- else
- num = residueRangeMin:match("%b()")
- if num then
- self.residueRangeMin = tonumber(num:sub(2, -2))
- elseif self.revResidueNumbering[residueRangeMin] then
- self.residueRangeMin = self.revResidueNumbering[residueRangeMin]
- else
- packageError("Invalid residue range: " .. residueRangeMin)
- end
- end
-
- if residueRangeMax == "auto" then
- self.residueRangeMax = self.sequenceLength
- else
- num = residueRangeMax:match("%b()")
- if num then
- self.residueRangeMax = tonumber(num:sub(2, -2))
- elseif self.revResidueNumbering[residueRangeMax] then
- self.residueRangeMax = self.revResidueNumbering[residueRangeMax]
- else
- packageError("Invalid residue range: " .. residueRangeMax)
- end
- end
-
- if self.residueRangeMin >= self.residueRangeMax then
- packageError("Residue range is smaller than 1.")
- end
- end,
- defaultRulerStepSize = tonumber,
- name = tostring,
- sequence = tostring,
- xUnit = stringToDim,
- yUnit = stringToDim,
- residuesPerLine = tonumber,
- baselineSkip = tonumber,
- rulerRange = function(v)
- local num
- local ranges = {}
- local rulerRangeMin, rulerRangeMax, rulerRangeStep
- for _, value in ipairs(v:explode(",+")) do
- rulerRangeMin, rulerRangeMax, rulerRangeStep =
- getRange(value:trim(), "^([%w%(%)]+)",
- "%-%s*([%w%(%)]+)", "step%s*(%d+)$")
-
- if rulerRangeMin == "auto" then
- rulerRangeMin = self.residueRangeMin
- else
- num = rulerRangeMin:match("%b()")
- if num then
- rulerRangeMin = tonumber(num:sub(2, -2))
- elseif self.revResidueNumbering[rulerRangeMin] then
- rulerRangeMin = self.revResidueNumbering[rulerRangeMin]
- else
- packageError("Invalid lower ruler range: " .. rulerRangeMin)
- end
- end
-
- if rulerRangeMax then
- if rulerRangeMax == "auto" then
- rulerRangeMax = self.residueRangeMax
- else
- num = rulerRangeMax:match("%b()")
- if num then
- rulerRangeMax = tonumber(num:sub(2, -2))
- elseif self.revResidueNumbering[rulerRangeMax] then
- rulerRangeMax = self.revResidueNumbering[rulerRangeMax]
- else
- packageError("Invalid upper ruler range: " .. rulerRangeMax)
- end
- end
-
- if rulerRangeMin >= rulerRangeMax then
- packageError("Ruler range is smaller than 1.")
- end
- if rulerRangeMin < self.residueRangeMin then
- rulerRangeMin = self.residueRangeMin
- packageWarning(
- "Lower ruler range is smaller than" ..
- "lower residue range. It was adjusted to " ..
- rulerRangeMin .. "."
- )
- end
- if rulerRangeMax > self.residueRangeMax then
- rulerRangeMax = self.residueRangeMax
- packageWarning(
- "Upper ruler range exceeds" ..
- "upper residue range. It was adjusted to " ..
- rulerRangeMax .. "."
- )
- end
- else
- rulerRangeMax = rulerRangeMin
- end
- rulerRangeStep = tonumber(rulerRangeStep)
- or self.defaultRulerStepSize
-
- for i = rulerRangeMin, rulerRangeMax, rulerRangeStep do
- table.insert(
- ranges,
- {pos = i, number = self.residueNumbering[i]}
- )
- end
- end
- return ranges
- end,
- showRuler = function(v)
- if v == "true" then return true else return false end
- end
- }
- for key, value in pairs(newParms) do
- if keyHash[key] then
- self[key] = keyHash[key](value)
- if pgfmolbio.errorCatched then return end
- end
- end
-end
-
-function Protein:addFeature(newFeature)
- local baseKey, ftEntry
-
- baseKey = self.specialKeys:getBaseKey(newFeature.key)
- if self.currentStyle[baseKey] then
- self.currentStyle[baseKey] = self.currentStyle[baseKey] + 1
- else
- self.currentStyle[baseKey] = 1
- end
-
- ftEntry = {
- key = newFeature.key,
- start = self:toAbsoluteResidueNumber(newFeature.start),
- stop = self:toAbsoluteResidueNumber(newFeature.stop),
- kvList = "style={" ..
- self.specialKeys:selectStyleFromList(baseKey,
- self.currentStyle[baseKey]) .. "}",
- level = newFeature.level or nil
- }
- if newFeature.kvList ~= "" then
- ftEntry.kvList = ftEntry.kvList .. "," .. newFeature.kvList
- end
- if newFeature.description then
- ftEntry.kvList = ftEntry.kvList ..
- ",description={" .. newFeature.description .. "}"
- ftEntry.description = newFeature.description
- end
- table.insert(self.ft, newFeature.layer or #self.ft + 1, ftEntry)
-end
-
-function Protein:calculateDisulfideLevels()
- if pgfmolbio.errorCatched then return end
- local disulfideGrid, currLevel, levelFree
- disulfideGrid = {}
-
- for i, v in ipairs(self.ft) do
- if self.specialKeys.disulfideKeys[v.key] then
- if v.level then
- if not disulfideGrid[v.level] then
- disulfideGrid[v.level] = {}
- end
- for currPos = v.start, v.stop do
- disulfideGrid[v.level][currPos] = true
- end
- else
- currLevel = 1
- repeat
- levelFree = true
- if disulfideGrid[currLevel] then
- for currPos = v.start, v.stop do
- levelFree = levelFree
- and not disulfideGrid[currLevel][currPos]
- end
- if levelFree then
- self.ft[i].level = currLevel
- for currPos = v.start, v.stop do
- disulfideGrid[currLevel][currPos] = true
- end
- end
- else
- self.ft[i].level = currLevel
- disulfideGrid[currLevel] = {}
- for currPos = v.start, v.stop do
- disulfideGrid[currLevel][currPos] = true
- end
- levelFree = true
- end
- currLevel = currLevel + 1
- until levelFree == true
- end
- end
- end
-end
-
-function Protein:printTikzDomains()
- if pgfmolbio.errorCatched then return end
- local xLeft, xMid, xRight, yMid, xLeftClip, xRightClip,
- currLine, residuesLeft, currStyle
-
- for _, currFeature in ipairs(self.ft) do
- currLine = 0
- xLeft = currFeature.start - self.residueRangeMin -
- currLine * self.residuesPerLine + 1
- while xLeft > self.residuesPerLine do
- xLeft = xLeft - self.residuesPerLine
- currLine = currLine + 1
- end
- xLeft = xLeft - 1
- xRight = currFeature.stop - self.residueRangeMin -
- currLine * self.residuesPerLine + 1
- residuesLeft = self.residueRangeMax - self.residueRangeMin -
- currLine * self.residuesPerLine + 1
- xLeftClip = stringToDim("-5cm")
- xRightClip = self.residuesPerLine * self.xUnit
-
- if currFeature.start <= self.residueRangeMax
- and currFeature.stop >= self.residueRangeMin then
- repeat
- if residuesLeft <= self.residuesPerLine then
- if residuesLeft < xRight then
- xRightClip = residuesLeft * self.xUnit
- else
- xRightClip = xRight * self.xUnit + stringToDim("5cm")
- end
- else
- if xRight <= self.residuesPerLine then
- xRightClip = xRight * self.xUnit + stringToDim("5cm")
- end
- end
- if xLeft < 0 then xLeftClip = stringToDim("0cm") end
-
- xMid = (xLeft + xRight) / 2
- yMid = -currLine * self.baselineSkip
- if currFeature.level then
- currFeature.kvList = currFeature.kvList ..
- ",level=" .. currFeature.level
- end
- currFeature.sequence =
- self.sequence:sub(currFeature.start, currFeature.stop)
-
- tex.sprint("\n\t\\begin{scope}\\begin{pgfinterruptboundingbox}")
- tex.sprint("\n\t\t\\def\\xLeft{" ..
- dimToString(xLeft * self.xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\xMid{" ..
- dimToString(xMid * self.xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\xRight{" ..
- dimToString(xRight * self.xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\yMid{" ..
- dimToString(yMid * self.yUnit) .. "}")
- tex.sprint("\n\t\t\\def\\featureSequence{" ..
- currFeature.sequence .. "}")
- tex.sprint(
- "\n\t\t\\clip (" ..
- dimToString(xLeftClip) ..
- ", \\yMid + " ..
- dimToString(stringToDim("10cm")) ..
- ") rectangle (" ..
- dimToString(xRightClip) ..
- ", \\yMid - " ..
- dimToString(stringToDim("10cm")) ..
- ");"
- )
- tex.sprint(
- "\n\t\t\\pgfmolbioset[domains]{" ..
- currFeature.kvList ..
- "}"
- )
- if self.specialKeys.printFunctions[currFeature.key] then
- self.specialKeys.printFunctions[currFeature.key](
- currFeature, xLeft, xRight, yMid, self.xUnit, self.yUnit)
- else
- tex.sprint("\n\t\t\\pmbdomdrawfeature{" ..
- currFeature.key .. "}")
- end
- tex.sprint("\n\t\\end{pgfinterruptboundingbox}\\end{scope}")
-
- currLine = currLine + 1
- xLeft = xLeft - self.residuesPerLine
- xRight = xRight - self.residuesPerLine
- residuesLeft = residuesLeft - self.residuesPerLine
- until xRight < 1 or residuesLeft < 1
- end
- end
-
- if self.showRuler then
- currStyle = 1
- tex.sprint("\n\t\\begin{scope}")
- for _, currRuler in ipairs(self.rulerRange) do
- currLine = 0
- xMid = currRuler.pos - self.residueRangeMin -
- currLine * self.residuesPerLine + 1
- while xMid > self.residuesPerLine do
- xMid = xMid - self.residuesPerLine
- currLine = currLine + 1
- end
- xMid = xMid - 0.5
- yMid = -currLine * self.baselineSkip
- tex.sprint(
- "\n\t\t\\pgfmolbioset[domains]{current style/.style={" ..
- self.specialKeys:selectStyleFromList("other/ruler", currStyle) ..
- "}}"
- )
- tex.sprint("\n\t\t\t\\def\\xMid{" ..
- dimToString(xMid * self.xUnit) .. "}")
- tex.sprint("\n\t\t\t\\let\\xLeft\\xMid\\let\\xRight\\xMid")
- tex.sprint("\n\t\t\t\\def\\yMid{" ..
- dimToString(yMid * self.yUnit) .. "}")
- tex.sprint("\n\t\t\t\\def\\residueNumber{" ..
- currRuler.number .. "}")
- tex.sprint("\n\t\t\t\\pmbdomdrawfeature{other/ruler}")
- currStyle = currStyle + 1
- end
- tex.sprint("\n\t\\end{scope}")
- end
-
- xMid =
- math.min(
- self.residuesPerLine,
- self.residueRangeMax - self.residueRangeMin + 1
- ) / 2
- tex.sprint("\n\t\\begin{scope}")
- tex.sprint(
- "\n\t\t\\pgfmolbioset[domains]{current style/.style={" ..
- self.specialKeys:selectStyleFromList("other/name", 1) ..
- "}}"
- )
- tex.sprint("\n\t\t\\def\\xLeft{0mm}")
- tex.sprint("\n\t\t\\def\\xMid{" .. dimToString(xMid * self.xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\xRight{" ..
- dimToString(self.residuesPerLine * self.xUnit) .. "}")
- tex.sprint("\n\t\t\\def\\yMid{0mm}")
- tex.sprint("\n\t\t\\pmbdomdrawfeature{other/name}")
- tex.sprint("\n\t\\end{scope}")
-
- tex.sprint(
- "\n\t\\pmbprotocolsizes{" ..
- "\\pmbdomvalueof{enlarge left}}{\\pmbdomvalueof{enlarge top}}"
- )
- currLine =
- math.ceil(
- (self.residueRangeMax - self.residueRangeMin + 1) /
- self.residuesPerLine
- ) - 1
- xRight =
- math.min(
- self.residuesPerLine,
- self.residueRangeMax - self.residueRangeMin + 1
- )
- tex.sprint(
- "\n\t\\pmbprotocolsizes{" ..
- dimToString(xRight * self.xUnit) ..
- " + \\pmbdomvalueof{enlarge right}}{" ..
- dimToString(-currLine * self.baselineSkip * self.yUnit) ..
- " + \\pmbdomvalueof{enlarge bottom}}"
- )
-end
-
-function Protein:__tostring()
- local result = {}
- local currLine
-
- currLine = "\\begin{pmbdomains}\n\t\t[name={" ..
- self.name ..
- "}"
- if self.sequence ~= "" then
- currLine = currLine ..
- ",\n\t\tsequence=" ..
- self.sequence
- end
- currLine = currLine ..
- "]{" ..
- self.sequenceLength ..
- "}"
- table.insert(result, currLine)
-
- for i, v in ipairs(self.ft) do
- if v.key ~= "other/main chain" then
- currLine = "\t\\addfeature"
- if self.includeDescription and v.description then
- currLine =
- currLine ..
- "[description={" ..
- v.description ..
- "}]"
- end
- currLine =
- currLine ..
- "{" ..
- v.key ..
- "}{" ..
- v.start ..
- "}{" ..
- v.stop ..
- "}"
- table.insert(result, currLine)
- end
- end
- table.insert(result,
- "\\end{pmbdomains}"
- )
- return table.concat(result, "\n")
-end
---
--- End of file `pgfmolbio.domains.lua'.
diff --git a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.tex b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.tex
index 4fe6bcae04e..05f08bba45e 100644
--- a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.tex
+++ b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.domains.tex
@@ -6,17 +6,17 @@
%%
%% pgfmolbio.dtx (with options: `pmb-dom-tex')
%%
-%% Copyright (C) 2013 by Wolfgang Skala
+%% Copyright (C) 2024 by Wolfgang Esser-Skala
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
%%
-\ProvidesFile{pgfmolbio.domains.tex}[2013/08/01 v0.21 Protein domains]
+\ProvidesFile{pgfmolbio.domains.tex}[2024/06/17 v0.21a Protein domains]
\ProvidesFile{pgfmolbio.domains.tex}[2012/10/01 v0.2 Protein Domains]
diff --git a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.sty b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.sty
index cb3479cb2ea..0d294dab5b9 100644
--- a/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.sty
+++ b/Master/texmf-dist/tex/lualatex/pgfmolbio/pgfmolbio.sty
@@ -6,17 +6,17 @@
%%
%% pgfmolbio.dtx (with options: `pgfmolbio-tex')
%%
-%% Copyright (C) 2013 by Wolfgang Skala
+%% Copyright (C) 2024 by Wolfgang Esser-Skala
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
%%
-\ProvidesPackage{pgfmolbio}[2013/08/01 v0.21 Molecular biology graphs with TikZ]
+\ProvidesPackage{pgfmolbio}[2024/06/17 v0.21a Molecular biology graphs with TikZ]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
diff --git a/Master/texmf-dist/tex/lualatex/piton/piton.lua b/Master/texmf-dist/tex/lualatex/piton/piton.lua
index f909eef28a3..6ec0442b73c 100644
--- a/Master/texmf-dist/tex/lualatex/piton/piton.lua
+++ b/Master/texmf-dist/tex/lualatex/piton/piton.lua
@@ -20,7 +20,8 @@
-- -------------------------------------------
--
-- This file is part of the LuaLaTeX package 'piton'.
-piton_version = "3.0a" -- 2024/05/12
+piton_version = "3.0b" -- 2024/05/23
+
if piton.comment_latex == nil then piton.comment_latex = ">" end
@@ -101,10 +102,21 @@ local Number =
)
local Word
if piton.begin_escape then
- Word = Q ( ( 1 - space - piton.begin_escape - piton.end_escape
- - S "'\"\r[({})]" - digit ) ^ 1 )
+ if piton.begin_escape_math then
+ Word = Q ( ( 1 - space - piton.begin_escape - piton.end_escape
+ - piton.begin_escape_math - piton.end_escape_math
+ - S "'\"\r[({})]" - digit ) ^ 1 )
+ else
+ Word = Q ( ( 1 - space - piton.begin_escape - piton.end_escape
+ - S "'\"\r[({})]" - digit ) ^ 1 )
+ end
else
- Word = Q ( ( 1 - space - S "'\"\r[({})]" - digit ) ^ 1 )
+ if piton.begin_escape_math then
+ Word = Q ( ( 1 - space - piton.begin_escape_math - piton.end_escape_math
+ - S "'\"\r[({})]" - digit ) ^ 1 )
+ else
+ Word = Q ( ( 1 - space - S "'\"\r[({})]" - digit ) ^ 1 )
+ end
end
local Space = Q " " ^ 1
@@ -494,7 +506,7 @@ local DefFunction =
* ( EOL + CommentLaTeX + Comment ) -- in all cases, that contains an EOL
* Tab ^ 0
* SkipSpace
- * StringDoc ^ 0 -- there may be additionnal docstrings
+ * StringDoc ^ 0 -- there may be additional docstrings
) ^ -1
local ExceptionInConsole = Exception * Q ( ( 1 - P "\r" ) ^ 0 ) * EOL
local Main =
@@ -1310,14 +1322,21 @@ end
function piton.new_language ( lang , definition )
lang = string.lower ( lang )
local alpha , digit = lpeg.alpha , lpeg.digit
- local letter = alpha + S "@_$" -- $
- local other = S "+-*/<>!?:;.()@[]~^=#&\"\'\\$" -- $
+ local extra_letters = { "@" , "_" , "$" } -- $
function add_to_letter ( c )
- if c ~= " " then letter = letter + c end
+ if c ~= " " then table.insert ( extra_letters , c ) end
end
function add_to_digit ( c )
if c ~= " " then digit = digit + c end
end
+ local other = S ":_@+-*/<>!?;.()[]~^=#&\"\'\\$" -- $
+ local extra_others = { }
+ function add_to_other ( c )
+ if c ~= " " then
+ extra_others[c] = true
+ other = other + P "c"
+ end
+ end
local strict_braces =
P { "E" ,
E = ( "{" * V "F" * "}" + ( 1 - S ",{}" ) ) ^ 0 ,
@@ -1368,6 +1387,7 @@ function piton.new_language ( lang , definition )
end
if x[1] == "alsodigit" then x[2] : gsub ( "." , add_to_digit ) end
if x[1] == "alsoletter" then x[2] : gsub ( "." , add_to_letter ) end
+ if x[1] == "alsoother" then x[2] : gsub ( "." , add_to_other ) end
if x[1] == "tag" then
style_tag , left_tag , right_tag = args_for_tag : match ( x[2] )
style_tag = style_tag or [[\PitonStyle{Tag}]]
@@ -1381,6 +1401,16 @@ function piton.new_language ( lang , definition )
* ( S "eE" * S "+-" ^ -1 * digit ^ 1 ) ^ -1
+ digit ^ 1
)
+ local string_extra_letters = ""
+ for _ , x in ipairs ( extra_letters ) do
+ if not ( extra_others[x] ) then
+ string_extra_letters = string_extra_letters .. x
+ end
+ end
+ local letter = alpha + S ( string_extra_letters )
+ + P "â" + "à" + "ç" + "é" + "è" + "ê" + "ë" + "ï" + "î"
+ + "ô" + "û" + "ü" + "Â" + "À" + "Ç" + "É" + "È" + "Ê" + "Ë"
+ + "Ï" + "Î" + "Ô" + "Û" + "Ü"
local alphanum = letter + digit
local identifier = letter * alphanum ^ 0
local Identifier = K ( 'Identifier' , identifier )
@@ -1401,6 +1431,7 @@ function piton.new_language ( lang , definition )
)
end
local Keyword = P ( false )
+ local PrefixedKeyword = P ( false )
for _ , x in ipairs ( def_table )
do if x[1] == "morekeywords"
or x[1] == "otherkeywords"
@@ -1430,7 +1461,8 @@ function piton.new_language ( lang , definition )
end
if x[1] == "keywordsprefix" then
local prefix = ( ( C ( 1 - P " " ) ^ 1 ) * P " " ^ 0 ) : match ( x[2] )
- Keyword = Keyword + K ( 'Keyword' , P ( prefix ) * alphanum ^ 0 )
+ PrefixedKeyword = PrefixedKeyword
+ + K ( 'Keyword' , P ( prefix ) * ( letter ^ 1 + other ) )
end
end
local long_string = P ( false )
@@ -1578,7 +1610,8 @@ function piton.new_language ( lang , definition )
+ CommentDelim
+ LongString
+ Delim
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
+ + PrefixedKeyword
+ + Keyword * ( -1 + # ( 1 - alphanum ) )
+ Punct
+ K ( 'Identifier' , letter * alphanum ^ 0 )
+ Number
@@ -1596,7 +1629,7 @@ function piton.new_language ( lang , definition )
)
if left_tag then
local Tag = Ct ( Cc "Open" * Cc ( "{" .. style_tag .. "{" ) * Cc "}}" )
- * Q ( left_tag * other ^ 0 )
+ * Q ( left_tag * other ^ 0 ) -- $
* ( ( ( 1 - P ( right_tag ) ) ^ 0 )
/ ( function ( x ) return LPEG0[lang] : match ( x ) end ) )
* Q ( right_tag )
@@ -1613,27 +1646,21 @@ function piton.new_language ( lang , definition )
+ CommentDelim
+ Delim
+ LongString
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
+ + PrefixedKeyword
+ + Keyword * ( -1 + # ( 1 - alphanum ) )
+ Punct
+ K ( 'Identifier' , letter * alphanum ^ 0 )
+ Number
+ Word
LPEG0[lang] = MainWithoutTag ^ 0
+ local LPEGaux = Tab + Escape + EscapeMath + CommentLaTeX
+ + Beamer + DetectedCommands + CommentDelim + Tag
MainWithTag
= space ^ 1 * -1
+ space ^ 0 * EOL
+ Space
- + Tab
- + Escape + EscapeMath
- + CommentLaTeX
- + Beamer
- + DetectedCommands
- + CommentDelim
- + Tag
- + Delim
- + Punct
- + K ( 'Identifier' , letter * alphanum ^ 0 )
- + Word
+ + LPEGaux
+ + Q ( ( 1 - EOL - LPEGaux ) ^ 1 )
LPEG1[lang] = MainWithTag ^ 0
LPEG2[lang] =
Ct (
diff --git a/Master/texmf-dist/tex/lualatex/piton/piton.sty b/Master/texmf-dist/tex/lualatex/piton/piton.sty
index 6f3929fc766..72591ea8baa 100644
--- a/Master/texmf-dist/tex/lualatex/piton/piton.sty
+++ b/Master/texmf-dist/tex/lualatex/piton/piton.sty
@@ -19,8 +19,9 @@
%% LaTeX version 2005/12/01 or later.
%% -------------------------------------------
%%
-\def\PitonFileVersion{3.0a}
-\def\PitonFileDate{2024/05/12}
+\def\PitonFileVersion{3.0b}
+\def\PitonFileDate{2024/05/23}
+
\NeedsTeXFormat{LaTeX2e}
@@ -72,7 +73,7 @@
\__piton_msg_new:nnn { piton.lua~not~found }
{
The~file~'piton.lua'~can't~be~found.\\
- This~eror~is~fatal.\\
+ This~error~is~fatal.\\
If~you~want~to~know~how~to~retrieve~the~file~'piton.lua',~type~H~<return>.
}
{
@@ -730,6 +731,23 @@
{ \__piton_NewPitonLanguage:nnnnn { #1 } { #2 } { #3 } }
}
\prop_new:N \g__piton_languages_prop
+\keys_define:nn { NewPitonLanguage }
+ {
+ morekeywords .code:n = ,
+ otherkeywords .code:n = ,
+ sensitive .code:n = ,
+ keywordsprefix .code:n = ,
+ moretexcs .code:n = ,
+ morestring .code:n = ,
+ morecomment .code:n = ,
+ moredelim .code:n = ,
+ moredirectives .code:n = ,
+ tag .code:n = ,
+ alsodigit .code:n = ,
+ alsoletter .code:n = ,
+ alsoother .code:n = ,
+ unknown .code:n = \__piton_error:n { Unknown~key~NewPitonLanguage }
+ }
\cs_new_protected:Npn \__piton_NewPitonLanguage:nnn #1 #2 #3
{
\tl_set:Nx \l_tmpa_tl
@@ -737,6 +755,7 @@
\tl_if_blank:nF { #1 } { [ \str_lowercase:n { #1 } ] }
\str_lowercase:n { #2 }
}
+ \keys_set:nn { NewPitonLanguage } { #3 }
\prop_gput:Non \g__piton_languages_prop \l_tmpa_tl { #3 }
\exp_args:NV \__piton_NewPitonLanguage:nn \l_tmpa_tl { #3 }
}
@@ -1362,7 +1381,7 @@
\__piton_msg_new:nn { Language~not~defined }
{
Language~not~defined \\
- The~language~'\l_tmpa_tl'~has~not~been~defined~previoulsy.\\
+ The~language~'\l_tmpa_tl'~has~not~been~defined~previously.\\
If~you~go~on,~your~command~\token_to_str:N \NewPitonLanguage\
will~be~ignored.
}
@@ -1373,6 +1392,12 @@
version~as~the~file~'piton.sty'.~You~can~go~on~but~you~should~
address~that~issue.
}
+\__piton_msg_new:nn { Unknown~key~NewPitonLanguage }
+ {
+ Unknown~key~for~\token_to_str:N \NewPitonLanguage.\\
+ The~key~'\l_keys_key_str'~is~unknown.\\
+ This~key~will~be~ignored.\\
+ }
\__piton_msg_new:nn { Unknown~key~for~SetPitonStyle }
{
The~style~'\l_keys_key_str'~is~unknown.\\
@@ -1449,6 +1474,7 @@
The~available~keys~are~(in~alphabetic~order):~
auto-gobble,~
background-color,~
+ begin-range,~
break-lines,~
break-lines-in-piton,~
break-lines-in-Piton,~
diff --git a/Master/texmf-dist/tex/lualatex/tango/tango.cls b/Master/texmf-dist/tex/lualatex/tango/tango.cls
new file mode 100644
index 00000000000..f188200b4ca
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/tango/tango.cls
@@ -0,0 +1,2182 @@
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesClass{tango}%
+[2024/07/15 v0.8.0 tango document class. Michel Bovani]% %
+%
+% Ensure luatex engine
+\RequirePackage{iftex}[2019/10/24]
+\RequireLuaTeX
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand\TgoTempa{}
+\newcommand\TgoTempb{}
+\newcommand\TgoTempc{}
+\newcommand\TgoSmallerSize{}
+\newcommand\TgoStatementNumberSuffix{}
+\newcommand\TgoStatementNumberPrefix{}
+\newcommand\TgoStatementSuffix{}
+\newcommand\TgoStatementName{}
+\newcommand\TgoTheoremName{Theorem}
+\newcommand\TgoDefinitionName{Definition}
+\newcommand\TgoPropositionName{Proposition}
+\newcommand\TgoLemmaName{Lemma}
+\newcommand\TgoCorollaryName{Corollary}
+\newcommand\TgoRemarkName{Remark}
+\newcommand\TgoExampleName{Example}
+\newcommand\TgoContentsName{Contents}
+\newcommand\TgoExerciseName{Exercise}
+\newcommand\TgoExercisesSubsectionName{Exercises}
+\newcommand\TgoExercisesSectionName{Exercises}
+\newcommand\TgoPublicationClass{article}
+\newcommand\TgoStatementIndent{\indent}
+\newif\ifTgoFrenchLanguage
+\newif\ifTgoNGermanLanguage
+\newif\ifTgoGermanLanguage
+\newif\ifTgoNAustrianLanguage
+\newif\ifTgoNSwissGermanLanguage
+\newif\ifTgoItalianLanguage
+\newif\ifTgoSpanishLanguage
+\newif\ifTgoEnglishLanguage
+\newif\ifTgoBritishLanguage
+\newif\ifTgoAmericanLanguage
+\newif\ifTgoCanadianLanguage
+\newif\ifTgoAustralianLanguage
+\newif\ifTgoNewZealandLanguage
+\newif\ifTgoNoStatement
+\newif\ifTgoBook
+\newif\ifTgoOneSide\TgoOneSidetrue
+\newif\ifTgoAfourPaperOutput\TgoAfourPaperOutputtrue
+\newif\ifTgoLetterOutput
+\newif\ifTgoBigTabletOutput
+\newif\ifTgoAfivePaperOutput
+\newif\ifTgoTabletOutput
+\newif\ifTgoSmallTabletOutput
+\newif\ifTgoeReaderOutput
+\newif\ifTgoSmartphoneOutput
+\newif\ifTgoSmallerSizeCommand
+\newif\ifTgoTitleIndentZero\TgoTitleIndentZerotrue
+\newcommand\TgoChapterTitleFont{RobotoCondensedBold}
+\NewDocumentCommand\TgoStatementNameOffset{}{}
+\NewDocumentCommand\SetTgoBaseFonts{}{%
+ \setmainfont{erewhon}%
+ \setmathfont{Erewhon Math}%
+ }%
+ \newlength\TgoAfterChapterSkip
+ \newlength\TgoStandardMargin
+ \newlength\TgoStatementParindent
+ \newlength\TgoTitleIndent
+ %%%
+\AddToHook{package/xcolor/after}
+{%
+\definecolor{ColorOne}{rgb}{0.15,0.15,0.15}
+\definecolor{ColorTwo}{rgb}{0.93,0.93,0.93}
+}
+\AddToHook{class/article/after}{%
+\TgoTenPointsFonts}
+\AddToHook{class/book/after}{%
+\TgoTenPointsFonts}
+%%
+%
+ %%
+ \DeclareKeys[tango]{
+ %%%%%% languages,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ french.code= {%
+ \TgoFrenchLanguagetrue
+ \TgoTitleIndentZerofalse
+ },
+ ngerman.code= {%
+ \TgoNGermanLanguagetrue
+ },
+ german.code= {%
+ \TgoGermanLanguagetrue
+ },
+naustrian.code= {%
+ \TgoNAustrianLanguagetrue
+ },
+nswissgerman.code= {%
+ \TgoNSwissGermanLanguagetrue
+ },
+ italian.code= {%
+ \TgoItalianLanguagetrue
+ },
+ spanish.code= {%
+ \TgoSpanishLanguagetrue
+ },
+english.code= {%
+ \TgoEnglishLanguagetrue
+ },
+british.code= {%
+ \TgoBritishLanguagetrue
+ },
+american.code= {%
+ \TgoAmericanLanguagetrue
+ },
+canadian.code= {%
+ \TgoCanadianLanguagetrue
+ },
+australian.code= {%
+ \TgoAustralianLanguagetrue
+ },
+newzealand.code= {%
+ \TgoNewZealandLanguagetrue
+ },
+ %%%%%% Default Statements %%%%%%%%%%%%%%%%%%%%%%%%
+ no-statement.if = TgoNoStatement,
+ %%%%%% No Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ no-hyperref.if = TgoNoHyperref,
+ %%%%%% Parindentzero %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ no-indent.if = TgoParindentZero,
+ indent.ifnot = TgoParindentZero,
+%%%%%% Parindentzero %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ no-titleindent.if = TgoTitleIndentZero,
+ titleindent.ifnot = TgoTitleIndentZero,
+ %%%%%% ThmNamePos left/right %%%%%%%%%%%%%%%%%%%%%%%
+ ThmNamePos.choice:,
+ ThmNamePos / left.code:n =
+ {
+ \RenewDocumentCommand\TgoStatementNameOffset{}{}
+ },
+ ThmNamePos / right.code:n =
+ {
+ \RenewDocumentCommand\TgoStatementNameOffset{}{\hspace*{\fill}}
+ },
+%%%% book or article %%%%%%%%%%%%%%%%%%%%%%%%%%%
+PubliClass.choice:,
+PubliClass / article.code:n =
+{%
+\renewcommand\TgoPublicationClass{article}
+\TgoBookfalse
+},
+PubliClass / book.code:n =
+{%
+\renewcommand\TgoPublicationClass{book}
+\TgoBooktrue
+},
+%%%% oneside or two sides %%%%%%%%%%%%%%%%%%%%%%%%
+oneside.if = TgoOneSide ,
+twoside.ifnot = TgoOneSide ,
+%%%% Font Size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FontSize.choice:,
+FontSize / 9pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoNinePointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoNinePointsFonts}
+},
+FontSize / 10pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoTenPointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoTenPointsFonts}
+},
+FontSize / 11pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoElevenPointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoElevenPointsFonts}
+},
+FontSize / 12pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoTwelvePointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoTwelvePointsFonts}
+},
+FontSize / unknown.code:n =
+{
+ \ClassWarning{tango}{\MessageBreak Value #1 is unknown \MessageBreak
+ Possible choices are 9pt, 10pt, 11pt and 12pt.
+ \MessageBreak Selecting 10pt.}
+},
+%%%% ColorTheme %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ColorTheme.choice:,
+ColorTheme / Blue.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+ \definecolor{ColorOne}{rgb}{0.08, 0.05, 0.55}
+ \definecolor{ColorTwo}{rgb}{0.87, 0.94, 0.97}
+ }
+},
+ ColorTheme / Navy.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+ \definecolor{ColorOne}{rgb}{0.07, 0.37, 0.65}
+ \definecolor{ColorTwo}{rgb}{0.87, 0.95, 0.97}
+ }
+ },
+ColorTheme / USAF.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+ \definecolor{ColorOne}{rgb}{0.24, 0.41, 0.54}
+ \definecolor{ColorTwo}{rgb}{0.92, 0.94, 0.96}
+ }
+ },
+ ColorTheme / Azur.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.15, 0.32, 0.75}
+\definecolor{ColorTwo}{rgb}{0.88, 0.94, 0.97}
+}
+},
+ ColorTheme / Red.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.75,0.05,0.1}
+\definecolor{ColorTwo}{rgb}{1,0.94,0.9}
+}
+ },
+ ColorTheme / Framboise.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.64, 0.25, 0.45}
+\definecolor{ColorTwo}{rgb}{1, 0.95, 0.94}
+}
+ },
+ ColorTheme / Brique.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.68, 0.1, 0.0}
+\definecolor{ColorTwo}{rgb}{1, 0.95, 0.89}
+}
+},
+ ColorTheme / Sienne.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.55, 0.27, 0.1}
+\definecolor{ColorTwo}{rgb}{1, 0.95, 0.87}
+ }
+ },
+ ColorTheme / Caramel.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.66, 0.26, 0.0}
+\definecolor{ColorTwo}{rgb}{1, 0.96, 0.86}
+}
+},
+ ColorTheme / Olive.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.28, 0.43, 0.03}
+\definecolor{ColorTwo}{rgb}{0.95, 0.98, 0.9}
+}
+ },
+ ColorTheme / Tannen.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.09, 0.44, 0.28}
+\definecolor{ColorTwo}{rgb}{0.92, 0.97, 0.94}
+}
+},
+ ColorTheme / GrayGray.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.25,0.25,0.25}
+\definecolor{ColorTwo}{rgb}{0.95,0.95,0.95}
+}
+},
+ ColorTheme / BlackAndWhite.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0,0,0}
+\definecolor{ColorTwo}{rgb}{1,1,1}
+}
+},
+ ColorTheme / Ink.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.25, 0.25, 0.33}
+\definecolor{ColorTwo}{rgb}{0.94, 0.95, 0.97}
+}
+},
+ ColorTheme / Steel.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.27, 0.25, 0.2}
+\definecolor{ColorTwo}{rgb}{0.96, 0.96, 0.93}
+}
+},
+ ColorTheme / unknown.code:n =
+ {
+ \ClassWarning{tango}{\MessageBreak “ColorTheme” #1 is unknown!\MessageBreak
+Possible choices are: \MessageBreak
+Blue, Navy, USAF, Azur, Red, Framboise, Brique,
+ \MessageBreak Sienne, Caramel, Olive, Tannen, GrayGray, BlackAndWhite, Ink and Steel.
+\MessageBreak Stay in GrayGray}
+},
+%%%% User defined colors %%%%%%%%%%%%%%%%%%%%%%%%
+ColorOne.code = \AddToHook{package/xcolor/after}{\definecolor{ColorOne}#1},
+ColorTwo.code = \AddToHook{package/xcolor/after}{\definecolor{ColorTwo}#1},
+ColorOneNamed.code = \AddToHook{package/xcolor/after}{\colorlet{ColorOne}{#1}},
+ColorTwoNamed.code = \AddToHook{package/xcolor/after}{\colorlet{ColorTwo}{#1}},
+%%%% Output %%%%%%%%%%%%%%%%%%%%%%%%%%
+ Output.choice:,
+ Output / A4paper.code:n =
+ {
+\TgoAfourPaperOutputtrue
+ },
+Output / Letter.code:n =
+{
+\TgoLetterOutputtrue
+\TgoBigTabletOutputtrue
+\TgoAfourPaperOutputfalse
+},
+Output / BigTablet.code:n =
+ {
+\TgoBigTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / A5paper.code:n =
+ {
+\TgoAfivePaperOutputtrue
+\TgoTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / Tablet.code:n =
+ {
+\TgoTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / SmallTablet.code:n =
+ {
+\TgoSmallTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / eReader.code:n =
+ {
+\TgoeReaderOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / Smartphone.code:n =
+ {
+\TgoSmartphoneOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+ Output / unknown.code:n =
+ {
+ \ClassWarning{tango}{\MessageBreak Value #1 is unknown \MessageBreak
+ Possible choices are A4paper, A5paper, Letter, BigTablet,\MessageBreak
+ Tablet, SmallTablet, eReader and Smartphone.
+ \MessageBreak Selecting A4paper.}
+\TgoAfourPaperOutputtrue
+ },
+ %%%%% Stylistic Set %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ StylisticSet.multichoice:,
+ StylisticSet / upint.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss03}}
+ },
+ StylisticSet / leqslant.code:n =
+ {
+\AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss04}}
+ },
+StylisticSet / smaller.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss05}}
+ },
+StylisticSet / subsetneq.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss06}}
+ },
+StylisticSet / parallelslant.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss07}}
+ },
+ %%%%%%% Character Variants %%%%%%%%%%%%%%%%%%%%%%%%%%
+ CharacterVariant.multichoice:,
+ CharacterVariant / zero.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=0}}
+ },
+ CharacterVariant / hslash.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=1}}
+ },
+ CharacterVariant / emptyset.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=2}}
+ },
+ CharacterVariant / epsilon.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=3}}
+ },
+ CharacterVariant / kappa.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=4}}
+ },
+ CharacterVariant / pi.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=5}}
+ },
+ CharacterVariant / phi.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=6}}
+ },
+ CharacterVariant / rho.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=7}}
+ },
+ CharacterVariant / sigma.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=8}}
+ },
+ CharacterVariant / theta.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+[Erewhon Math]{CharacterVariant=9}}
+ },
+CharacterVariant / Theta.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=10}}
+ },
+CharacterVariant / partial.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=11}}
+ },
+CharacterVariant / Ecal.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=20}}
+ },
+CharacterVariant / Qcal.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=21}}
+ },
+CharacterVariant / Tcal.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=22}}
+ },
+ %%%%%%% Numbers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ Numbers.choice:,
+ Numbers / MathOldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{\defaultfontfeatures+[Erewhon Math]{Numbers=OldStyle}}
+ },
+ Numbers / TextOldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+[erewhon]{Numbers=OldStyle}}
+ },
+Numbers / OldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+{Numbers=OldStyle}
+ \defaultfontfeatures+[Erewhon Math]{RawFeature=-onum}}
+ },
+ Numbers / FullOldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+{Numbers=OldStyle}}
+ },
+ %%%% usage
+ french.usage=load,
+ no-statement.usage=load,
+ no-hyperref.usage=load,
+ indent.usage=load,
+no-indent.usage=load,
+ThmNamePos.usage=general,
+oneside.usage=load,
+twoside.usage=load,
+PubliClass.usage=load,
+FontSize.usage=general,
+ColorTheme.usage=general,
+ColorOne.usage=general,
+ColorTwo.usage=general,
+Output.usage=load,
+StylisticSet.usage=load,
+CharacterVariant.usage=load,
+Numbers.usage=load
+}
+%%%%%
+\ProcessKeyOptions[tango]
+%%%%%
+\NewDocumentCommand\tgosetup{}{\SetKeys[tango]}
+%%%%%%%%
+%%%%%%% 10pt %%%%%%%%%%%%%
+\NewDocumentCommand\TgoTenPointsFonts{}{%
+\renewcommand\TgoSmallerSize{%
+\TgoSmallerSizeCommandtrue%
+\tgosetup{FontSize=9pt}%
+\TgoSmallerSizeCommandfalse%
+}%
+\renewcommand\normalsize{%
+ \fontsize{10}{12.7}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4.5pt plus 2.5pt minus 1.5pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\normalsize%
+\ifTgoSmallerSizeCommand%
+\else%
+\setlength\TgoStandardMargin{1.5em}%
+\fi%
+\ifx\MakeRobust\@undefined \else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{9}{11.45}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip {0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4pt plus 2pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength \belowdisplayskip {\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{8}{10.2}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1 pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1 pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength \belowdisplayskip {\abovedisplayskip}%
+ }%
+\DeclareRobustCommand\scriptsize{\fontsize{7}{8.9}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{5}{6.4}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{11.5}{14.6}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{14}{17}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{17}{20}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{20}{23}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{24}{27}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{58}{58}\selectfont}%
+}%
+%%%%%%%%%%%%%% 11pt %%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand\TgoElevenPointsFonts{}{%
+\renewcommand\TgoSmallerSize{%
+\TgoSmallerSizeCommandtrue%
+\tgosetup{FontSize=10pt}%
+\TgoSmallerSizeCommandfalse%
+}%
+\renewcommand\normalsize{%
+ \fontsize{11}{13.9}\selectfont%
+ \setlength\abovedisplayskip {6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4.5pt plus 2.5pt minus 2 pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI}%
+\normalsize%
+\ifTgoSmallerSizeCommand%
+\else%
+\setlength\TgoStandardMargin{1.5em}%
+\fi%
+\ifx\MakeRobust\@undefined \else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{10}{12.7}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4pt plus 2 pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{9}{11.35}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+}%
+\DeclareRobustCommand\scriptsize{\fontsize{8}{10.2}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{6}{7.6}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{13}{15.85}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{15}{18}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{18}{21}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{21}{24}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{24}{27}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{60}{60}\selectfont}%
+}%
+%%%%%%% 12pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand\TgoTwelvePointsFonts{}{%
+\renewcommand\TgoSmallerSize{%
+\TgoSmallerSizeCommandtrue%
+\tgosetup{FontSize=11pt}%
+\TgoSmallerSizeCommandfalse%
+}%
+\renewcommand\normalsize{%
+ \fontsize{12}{15.1}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4.5pt plus 2.5pt minus2pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI}%
+\normalsize%
+\ifTgoSmallerSizeCommand%
+\else%
+\setlength\TgoStandardMargin{1.5em}%
+\fi%
+\ifx\MakeRobust\@undefined \else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{11}{13.9}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4pt plus 2pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{10}{12.7}\selectfont%
+ \setlength\abovedisplayskip {6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+}%
+\DeclareRobustCommand\scriptsize{\fontsize{9}{11.45}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{7}{8.9}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{14.2}{16.85}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{16.5}{19.2}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{19.2}{22}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{22}{25}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{25}{28}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{63}{63}\selectfont}%
+}%
+%%
+%%%%%%% 9pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand\TgoNinePointsFonts{}{%
+\renewcommand\TgoSmallerSize{}
+\renewcommand\normalsize{%
+ \fontsize{9}{11.45}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4.5pt plus 2.5pt minus 2pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI}%
+\normalsize%
+\setlength\TgoStandardMargin{1.5em}%
+\ifx\MakeRobust\@undefined\else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{8}{10.25}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4pt plus 2pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{7}{9}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+}%
+\DeclareRobustCommand\scriptsize{\fontsize{6}{7.7}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{5}{6.4}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{10.3}{13}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{12.7}{15.4}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{15.2}{17.3}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{18}{20}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{20}{24}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{52}{52}\selectfont}%
+}%
+%%
+%%
+\ifTgoOneSide%
+ \LoadClass[oneside]{\TgoPublicationClass}%
+ \else%
+ \LoadClass[twoside]{\TgoPublicationClass}%
+\fi%
+%%%%%%%%%%%
+\RequirePackage{xcolor}
+%%%%
+\RequirePackage{mathtools}
+\RequirePackage{amsthm}
+%%%%
+\RequirePackage{graphicx,microtype,geometry,enumitem,float,afterpage}
+%
+\RequirePackage{titletoc}
+%
+\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty,noindentafter]{titlesec}
+%
+%
+\assignpagestyle{\chapter}{empty}
+\assignpagestyle{\part}{empty}
+\RequirePackage{ccaption,caption}
+\DeclareCaptionLabelFormat{tango}{\sffamily\fontseries{sb}\selectfont#1\nobreakspace#2}
+\captionsetup{font={sf,small},labelformat=tango,labelfont={color=ColorOne}}
+\newfixedcaption{\tgofigcaption}{figure}
+\newfixedcaption{\tgotabcaption}{table}
+ %%% Fontes
+ %%
+ \RequirePackage{fontspec}
+\RequirePackage{unicode-math}[2020/01/31]
+ \defaultfontfeatures+{Ligatures=TeX,RawFeature={+pnum}}
+%
+ \SetTgoBaseFonts
+ %%
+ \thinmuskip=2.5mu
+ \medmuskip=3mu plus 1mu minus 3mu
+ \thickmuskip=4mu plus 3mu minus 0.5mu
+ %%
+\setmonofont{Inconsolatazi4}[Scale=MatchLowercase]
+%
+ \setsansfont{NotoSans}[%
+ Scale=0.9,
+ Ligatures=TeX,
+ UprightFeatures={
+Font=NotoSansMedium
+},
+ItalicFeatures={
+Font=NotoSansMediumItalic
+},
+BoldFeatures={
+Font=NotoSansBold
+},
+BoldItalicFeatures={
+Font=NotoSansBoldItalic
+},
+FontFace={ul}{n}{Font=NotoSansThin},
+FontFace={ul}{it}{Font=NotoSansThinItalic},
+FontFace={el}{n}{Font=NotoSansExtraLight},
+FontFace={el}{it}{Font=NotoSansExtraLightItalic},
+FontFace={l}{n}{Font=NotoSansLight},
+FontFace={l}{it}{Font=NotoSansLightItalic},
+FontFace={sl}{n}{Font=NotoSansRegular},
+FontFace={sl}{it}{Font=NotoSansItalic},
+FontFace={sb}{n}{Font=NotoSansSemiBold},
+FontFace={sb}{it}{Font=NotoSansSemiBoldItalic},
+FontFace={eb}{n}{Font=NotoSansExtraBold},
+FontFace={eb}{it}{Font=NotoSansExtraBoldItalic},
+FontFace={ub}{n}{Font=NotoSansBlack},
+FontFace={ub}{it}{Font=NotoSansBlackItalic},
+]
+%%
+\DeclareFontSeriesDefault[sf]{md}{sl}
+%
+%
+\RequirePackage{fourier-orns}%
+%
+%% OTF Fonts Commands
+%%
+\NewDocumentCommand{\superiors}{}{\addfontfeature{RawFeature=+sups}}
+\NewDocumentCommand{\scinferiors}{}{\addfontfeature{RawFeature=+sinf}}
+\NewDocumentCommand{\smartfracs}{}{\addfontfeature{RawFeature=+frac}}
+\NewDocumentCommand{\fullsc}{m}{{\addfontfeature{RawFeature=+c2sc}\MakeUppercase{#1}}}
+\DeclareTextFontCommand{\textsup}{\superiors}
+\DeclareTextFontCommand{\textscinf}{\scinferiors}
+\DeclareTextFontCommand{\smartfrac}{\smartfracs}
+\NewDocumentCommand{\olddigits}{}{\addfontfeature{RawFeature={-lnum,+onum}}}
+\NewDocumentCommand{\propdigits}{}{\addfontfeature{RawFeature={-tnum,+pnum}}}
+\NewDocumentCommand{\liningdigits}{}{\addfontfeature{RawFeature={-onum,+lnum}}}
+\NewDocumentCommand{\tabulardigits}{}{\addfontfeature{RawFeature={-pnum,+tnum}}}
+%
+ %
+ %%%%%%%% My taylor is rich %%%%%%%%%%%
+%
+\RequirePackage{iflang}
+\RequirePackage{babel}
+\IfLanguageName{nil}{%
+\ClassError{tango}{No language option is given}
+{%
+You *must* pass at least one language\MessageBreak
+option for babel to the tango class.}
+}{}
+%
+%
+\ifTgoFrenchLanguage
+\frenchsetup{StandardLists,og=«, fg=»,PartNameFull=false,
+SmallCapsFigTabCaptions=false,
+CustomiseFigTabCaptions=false}
+\addto\captionsfrench{% DF
+\renewcommand\TgoTheoremName{Théorème}
+\renewcommand\TgoDefinitionName{Définition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemme}
+\renewcommand\TgoCorollaryName{Corollaire}
+\renewcommand\TgoRemarkName{Remarque}
+\renewcommand\TgoExampleName{Exemple}
+\renewcommand\TgoContentsName{Sommaire}
+\renewcommand\TgoExerciseName{Exercice}
+\renewcommand\TgoExercisesSubsectionName{Exercices}
+\renewcommand\TgoExercisesSectionName{Exercices}
+}
+\fi
+%%%
+\ifTgoNGermanLanguage
+\addto\captionsngerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoGermanLanguage
+\addto\captionsgerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoNAustrianLanguage
+\addto\captionsnaustrian{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoNSwissGermanLanguage
+\addto\captionsnswissgerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoItalianLanguage
+\addto\captionsitalian{%
+\renewcommand\TgoTheoremName{Teorema}
+\renewcommand\TgoDefinitionName{Definizione}
+\renewcommand\TgoPropositionName{Proposizione}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollario}
+\renewcommand\TgoRemarkName{Nota}%%????
+\renewcommand\TgoExampleName{Esempio}
+\renewcommand\TgoContentsName{Sommario}%%Contenuti????
+\renewcommand\TgoExerciseName{Esercizio}
+\renewcommand\TgoExercisesSubsectionName{Esercizi}
+\renewcommand\TgoExercisesSectionName{Esercizi}
+}
+\fi
+%
+%%%
+\ifTgoSpanishLanguage
+\addto\captionsspanish{%
+\renewcommand\TgoTheoremName{Teorema}
+\renewcommand\TgoDefinitionName{Definición}
+\renewcommand\TgoPropositionName{Proposición}
+\renewcommand\TgoLemmaName{Lema}
+\renewcommand\TgoCorollaryName{Corolario}
+\renewcommand\TgoRemarkName{Osservación}%%????
+\renewcommand\TgoExampleName{Ejemplo}
+\renewcommand\TgoContentsName{Sumario}%%????
+\renewcommand\TgoExerciseName{Ejercicio}
+\renewcommand\TgoExercisesSubsectionName{Ejercicios}
+\renewcommand\TgoExercisesSectionName{Ejercicios}
+}
+\fi
+%
+%%%
+\ifTgoEnglishLanguage
+\addto\captionsenglish{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoBritishLanguage
+\addto\captionsbritish{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoAmericanLanguage
+\addto\captionsamerican{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoCanadianLanguage
+\addto\captionscanadian{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoAustralianLanguage
+\addto\captionsaustralian{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoNewZealandLanguage
+\addto\captionsnewzealand{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%% Last package
+\ifTgoNoHyperref
+\else
+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}
+\fi
+%%
+ %%%
+%%%%%%% parindent %%%%%%%%%%%%%%%%%%%%%%%%
+\setlength\parindent{\TgoStandardMargin}
+\setlength{\parskip}{0pt plus 1pt}
+\ifTgoSmartphoneOutput
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{3pt plus 2pt minus1pt}
+\else
+\ifTgoParindentZero
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{3pt plus 1pt}
+\fi\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand\TgoCurrentLists{}
+%\ifTgoFrenchLanguage
+%\setlength{\TgoTitleIndent}{\parindent}
+%\else
+%\setlength{\TgoTitleIndent}{0em}
+%\fi
+\ifTgoTitleIndentZero
+\setlength{\TgoTitleIndent}{0em}
+\else
+\setlength{\TgoTitleIndent}{\parindent}
+\fi
+%
+%
+\renewcommand\labelitemi{\textbullet}
+\renewcommand\labelitemii{\textopenbullet}
+\renewcommand\labelitemiii{\starredbullet}
+\renewcommand\labelitemiv{\textperiodcentered}
+%%%%%
+\NewDocumentCommand\renewtgolabels{%
+s E{1234}{ {} {} {} {} }%
+}
+{%
+\IfBooleanTF{#1}%
+{%
+\IfBlankTF{#2}%
+{\renewcommand\labelitemi{\textbullet}}%
+{\renewcommand\labelitemi{#2}}%
+\IfBlankTF{#3}%
+{\renewcommand\labelitemii{\textopenbullet}}%
+{\renewcommand\labelitemii{#3}}%
+\IfBlankTF{#4}%
+{\renewcommand\labelitemiii{\starredbullet}}%
+{\renewcommand\labelitemiii{#4}}%
+\IfBlankTF{#5}%
+{\renewcommand\labelitemiv{\textperiodcentered}}%
+{\renewcommand\labelitemiv{#5}}%
+}%
+{%
+\IfBlankF{#2}{\renewcommand\labelitemi{#2}}%
+\IfBlankF{#3}{\renewcommand\labelitemii{#3}}%
+\IfBlankF{#4}{\renewcommand\labelitemiii{#4}}%
+\IfBlankF{#5}{\renewcommand\labelitemiv{#5}}%
+}%
+\TgoCurrentLists%
+}%
+\NewDocumentCommand\tgosmartlists{}
+{%
+\RenewDocumentCommand\TgoCurrentLists{}{\tgosmartlists}
+\setlength{\leftmargini}{\TgoStandardMargin}
+\setlength{\leftmarginii}{\TgoStandardMargin}
+\setlength{\leftmarginiii}{\TgoStandardMargin}
+\setlength{\leftmarginiv}{\TgoStandardMargin}
+\setlist{
+ itemsep=0.3ex plus 0.1ex minus 0.1ex,
+ parsep=0.3ex plus 0.1ex minus 0.1ex,
+ topsep=0.3ex plus 0.2ex minus 0.1ex,
+ partopsep=0.3ex plus 0.1ex minus 0.1ex
+}
+\setlist[itemize]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em, labelindent=\TgoStandardMargin+\parindent,
+itemindent=*}
+%
+\setlist[itemize,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%
+\setlist[enumerate]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em,
+labelindent=\TgoStandardMargin+\parindent,widest=0, itemindent=*}
+%
+\setlist[enumerate,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%
+}
+%%%
+\NewDocumentCommand\tgostandardlists{}
+{%
+\RenewDocumentCommand\TgoCurrentLists{}{\tgostandardlists}
+\setlength{\leftmargini}{\TgoStandardMargin}
+\setlength{\leftmarginii}{\TgoStandardMargin}
+\setlength{\leftmarginiii}{\TgoStandardMargin}
+\setlength{\leftmarginiv}{\TgoStandardMargin}
+\setlist{
+ itemsep=0.4ex plus 0.2ex minus 0.2ex,
+ parsep=0.4ex plus 0.2ex minus 0.2ex,
+ topsep=0.8ex plus 0.4ex minus 0.4ex,
+ partopsep=0.4ex plus 0.2ex minus 0.2ex
+}
+\setlist[itemize]{leftmargin=\TgoStandardMargin, align=left, labelindent=0em,
+labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+%%
+\setlist[itemize,1]{leftmargin=2\TgoStandardMargin, align=left, labelindent=\TgoStandardMargin, labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+%
+\setlist[enumerate]{leftmargin=\TgoStandardMargin, align=left, labelindent=0em,
+labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+%
+\setlist[enumerate,1]{leftmargin=2\TgoStandardMargin, align=left, labelindent=\TgoStandardMargin, labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+}
+\renewcommand{\labelenumii}{\alph{enumii}.}
+
+\tgostandardlists
+%
+%
+%\NewDocumentCommand\testlists{}{
+%\setlength{\leftmargini}{\TgoStandardMargin}
+%\setlength{\leftmarginii}{\TgoStandardMargin}
+%\setlength{\leftmarginiii}{\TgoStandardMargin}
+%\setlength{\leftmarginiv}{\TgoStandardMargin}
+%\setlist{
+% itemsep=0.4ex plus 0.2ex minus 0.2ex,
+% parsep=0.4ex plus 0.2ex minus 0.2ex,
+% topsep=0.8ex plus 0.4ex minus 0.4ex,
+% partopsep=0.4ex plus 0.2ex minus 0.2ex
+%}
+%\setlist[itemize]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em, labelindent=\TgoStandardMargin+\parindent,
+%itemindent=*}
+%%
+%\setlist[itemize,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%%
+%\setlist[enumerate]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em,
+%labelindent=\TgoStandardMargin+\parindent,widest=0, itemindent=*}
+%%
+%\setlist[enumerate,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%%
+%}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpagestyle{tango}{
+ \ifTgoOneSide
+\ifTgoBook
+ \sethead {\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitle}{}
+ {\sffamily\thepage} % all
+ \else
+ \sethead{\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle}{}
+ {\sffamily\thepage}% all
+ \fi
+\else
+\ifTgoBook
+\sethead[\sffamily\thepage]
+[\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitle][] % even
+ {}{\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle}
+ {\sffamily\thepage} % odd
+\else
+ \sethead[\sffamily\thepage][\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle][] % even
+ {}{\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle}
+ {\sffamily\thepage}% odd
+\fi
+\fi}
+ %%%%%%%%%%%%
+\pagestyle{tango}
+%%%%%%%%%%%%%%
+%%% Mise en forme des titres %%%%%%%%%%%%%%%
+\setcounter{secnumdepth}{2}
+%%%
+\ifTgoBook
+\newcommand\TgoChapterBox[1]{%
+{\filright\sffamily\addfontfeature{RawFeature=-onum}\fontseries{eb}\selectfont\HUGE\hspace*{-0.06em}\thechapter}%
+\quad\parbox{0.75\textwidth}{\filright#1}
+}
+\titleformat{\part}[display]{\centering\color{ColorOne}\sffamily
+\addfontfeature{RawFeature=-onum}\fontseries{eb}\selectfont\Huge}
+{\LARGE\partname~\thepart}{\baselineskip}{}
+%%
+\titleformat{name=\chapter}[block]{\filright\color{ColorOne}\fontspec{\TgoChapterTitleFont}\addfontfeature{RawFeature=-onum}\huge}
+{}{0em}{\TgoChapterBox}
+%%%
+\titleformat{name=\chapter,numberless}[block]{\filright\color{ColorOne}\fontspec{\TgoChapterTitleFont}\addfontfeature{RawFeature=-onum}\huge}
+{}{0em}{}
+\fi%
+\titleformat{\section}{\color{ColorOne}\sffamily\addfontfeature{RawFeature=-onum}%
+\fontseries{b}\selectfont\large}{\thesection}{1em}{\uppercase}%
+\titleformat{\subsection}{\color{ColorOne}\sffamily\fontseries{sb}\selectfont\large}{\thesubsection}{1em}{}%
+\titleformat{\subsubsection}{\color{ColorOne}\sffamily\fontseries{sb}\selectfont}{\thesubsubsection}{0.7em}{}%
+\titleformat{\paragraph}[runin]{\itshape}{\theparagraph.}{0.5em}{}[. — ]%
+\titleformat{\subparagraph}[runin]{}{\thesubparagraph.}{0.5em}{}[. — ]%
+\titlespacing{\chapter}{\TgoTitleIndent}{0pt}{6ex}%
+\titlespacing{\section}{\TgoTitleIndent}{12pt plus 5pt minus 4pt}{6pt plus 3pt minus 2pt}%
+\titlespacing{\subsection}{\TgoTitleIndent}{12pt plus 5pt minus 4pt}{6pt plus 3pt minus 2pt}%
+\titlespacing{\subsubsection}{\TgoTitleIndent}{7pt plus 3pt minus 2pt}{3pt plus 2pt minus 1pt}%
+\titlespacing{\paragraph}{\TgoTitleIndent}{7pt plus 3pt minus 2pt}{3pt plus 1pt minus 1pt}%
+\titlespacing{\subparagraph}{\TgoTitleIndent}{4pt plus 2pt minus 2pt}{3pt plus 1pt minus 1pt}%
+%
+\ifTgoBook
+\NewCommandCopy{\tgotitle}{\chapter}
+\else%%article
+\NewDocumentCommand\tgotitle{s m}{%
+\IfBooleanTF{#1}{%
+\clearpage\thispagestyle{empty}
+% \vspace*{5\p@}%
+ {\parindent=0pt \raggedright
+ \normalfont
+ \interlinepenalty\@M
+\advance\leftskip by \TgoTitleIndent
+\fontspec{\TgoChapterTitleFont}\huge\color{ColorOne}#2
+\par} \vspace {\TgoAfterChapterSkip}\par}
+ {%
+\clearpage\thispagestyle{empty}
+% \vspace*{5\p@}%
+ {\parindent=0pt \raggedright
+ \normalfont
+ \interlinepenalty\@M
+\advance\leftskip by \TgoTitleIndent
+\fontspec{\TgoChapterTitleFont}\huge\color{ColorOne}#2
+\par} \vspace {\TgoAfterChapterSkip}\par}
+ }
+ \fi
+%%%%%%%
+%%%%%%%Table des matières
+%%%%%%%
+\ifTgoBook\else
+\RenewDocumentCommand\tableofcontents{}{%
+{\color{ColorOne}\parskip=0pt%
+\noindent\titlerule[1.3pt]%
+\vspace{-1\baselineskip}\vspace{1.6pt} \par %
+\noindent\titlerule[.5pt]%
+}%
+ \vspace{-10pt}\par%
+ \section*{\contentsname}
+ \@starttoc{toc}%
+{\color{ColorOne}\parskip=0pt%
+\noindent\titlerule[0.5pt]%
+\vspace{-1\baselineskip}\vspace{2.4pt} \par %
+\noindent\titlerule[1.3pt]%
+}%
+\par %
+\vspace{2\baselineskip}%
+\par %
+ }%
+ \fi
+ \IfPackageLoadedTF{hyperref}%
+{%
+\NewCommandCopy{\TgoOriginalToc}{\tableofcontents}%
+\RenewDocumentCommand\tableofcontents{}{{\hypersetup{hidelinks}\TgoOriginalToc}}%
+}%
+{}
+%%
+%%
+\ifTgoBook
+\NewDocumentCommand\tgoshorttoc{}{}
+\titlecontents{part}
+ [50pt] % ie, 1.5em (chapter) + 2.3em
+ {\large\sffamily\fontseries{sb}\selectfont\color{ColorOne}}
+ {\contentslabel{50pt}}
+ {\hspace*{-50pt}}
+ {\titlerule*[1pc]{}\contentspage}
+\titlecontents{chapter}
+ [16pt] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{b}\selectfont\color{ColorOne}}
+ {\contentslabel{16pt}}
+ {\hspace*{-6pt}}
+ {\titlerule*[1pc]{}\contentspage}
+\titlecontents{section}
+ [3.6em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{m}\selectfont}
+ {\contentslabel{2.5em}}
+ {\hspace*{-2.5em}}
+ {\titlerule*[1pc]{.}\contentspage}
+\titlecontents{subsection}
+ [6.4em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{l}\selectfont}
+ {\contentslabel{3.2em}}
+ {\hspace*{-3.2em}}
+ {\titlerule*[1pc]{.}\contentspage}
+ \else
+ \NewCommandCopy{\tgoshorttoc}{\tableofcontents}
+ \RenewDocumentCommand\tableofcontents{}{}
+ \ifTgoFrenchLanguage
+ \renewcommand{\frenchcontentsname}{\TgoContentsName}
+\fi
+ \setcounter{tocdepth}{2}
+ \titlecontents{section}
+ [1.7em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{sb}\selectfont}
+ {\contentslabel{2.em}}
+ {\hspace*{-2.em}}
+ {\titlerule*[1pc]{}\contentspage}
+\titlecontents{subsection}
+ [4em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily}
+ {\contentslabel{2.7em}}
+ {\hspace*{-2.7em}}
+ {\titlerule*[1pc]{.}\contentspage}
+\titlecontents{subsubsection}
+ [6em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{l}\selectfont}
+ {\contentslabel{3.5em}}
+ {\hspace*{-3.5em}}
+ {\titlerule*[1pc]{.}\contentspage}
+ \fi
+%
+%%Init
+\NewDocumentCommand\AfourCommand{+m}{}
+%
+\NewDocumentCommand\LetterCommand{+m}{}
+%
+\NewDocumentCommand\BigTabletCommand{+m}{}
+%
+\NewDocumentCommand\TabletCommand{+m}{}
+%
+\NewDocumentCommand\AfiveCommand{+m}{}
+%
+\NewDocumentCommand\SmallTabletCommand{+m}{}
+%
+\NewDocumentCommand\eReaderCommand{+m}{}
+%
+\NewDocumentCommand\SmartphoneCommand{+m}{}
+%
+\NewDocumentCommand\XAfourCommand{+m}{}
+%
+\NewDocumentCommand\XLetterCommand{+m}{}
+%
+\NewDocumentCommand\XBigTabletCommand{+m}{}
+%
+\NewDocumentCommand\XTabletCommand{+m}{}
+%
+\NewDocumentCommand\XAfiveCommand{+m}{}
+%
+\NewDocumentCommand\XSmallTabletCommand{+m}{}
+%
+\NewDocumentCommand\XeReaderCommand{+m}{}
+%
+\NewDocumentCommand\XSmartphoneCommand{+m}{}
+ %
+%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%Output Format %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%%%%% Afour %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+\ifTgoAfourPaperOutput
+%
+\RenewDocumentCommand\AfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+ %%
+%\ifTgoOneSide
+\geometry{paperwidth=21cm,paperheight=29.7cm,
+heightrounded,top=2cm,inner=2.75cm,outer=2.75cm,bottom=3.6cm,
+headheight=16pt,headsep=21pt,footskip=50pt}
+%\else
+%\geometry{paperwidth=21cm,paperheight=29.7cm,
+%heightrounded,top=2cm,inner=2.3cm,outer=3.2cm,bottom=3.6cm,
+%headheight=16pt,headsep=21pt,footskip=50pt}
+%\fi
+%
+\setlength{\TgoAfterChapterSkip}{21pt}
+%
+\NewDocumentCommand\tgocover{O{A4Cover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+%
+\fi
+%%%%%%%
+%%%%%% Big Tablet or Letter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoBigTabletOutput
+%
+\ifTgoLetterOutput
+%
+\RenewDocumentCommand\LetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\else
+%
+\RenewDocumentCommand\BigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\fi
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%
+%
+%%
+\ifTgoLetterOutput
+%\ifTgoOneSide
+\geometry{paperwidth=8.5in,paperheight=11in,
+heightrounded,top=1.9cm,inner=2.8cm,outer=2.8cm,bottom=3cm,
+headheight=16pt,headsep=20pt,footskip=14pt}
+%\else
+%\geometry{paperwidth=8.5in,paperheight=11in,
+%heightrounded,top=1.9cm,inner=2.4cm,outer=3.2cm,bottom=3.6cm,
+%headheight=16pt,headsep=20pt,footskip=14pt}
+%\fi
+%
+\setlength{\TgoAfterChapterSkip}{22pt}
+%
+\NewDocumentCommand\tgocover{O{LetterCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+%
+\else
+%
+\setlength{\TgoAfterChapterSkip}{21pt}
+%
+\geometry{paperwidth=19.8cm,paperheight=26.4cm,
+heightrounded,top=1.8cm,inner=2.4cm,outer=2.4cm,bottom=2.7cm,
+headheight=16pt,headsep=14pt,footskip=14pt}
+%
+\NewDocumentCommand\tgocover{O{BigTabletCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+\fi
+\fi
+%%%%%%%
+%%%%%% Tablet or A5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoTabletOutput
+%
+\ifTgoAfivePaperOutput
+\RenewDocumentCommand\AfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\else
+%
+\RenewDocumentCommand\TabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\fi
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%
+%
+%%
+\ifTgoAfivePaperOutput
+%\ifTgoOneSide
+\geometry{paperwidth=14.85cm,paperheight=21cm,
+heightrounded,top=1.2cm,inner=1.8cm,outer=1.8cm,bottom=2.4cm,
+headheight=16pt,headsep=11pt,footskip=14pt}
+%\else
+%\geometry{paperwidth=14.85cm,paperheight=21cm,
+%heightrounded,top=1.3cm,inner=1.5cm,outer=2.1cm,bottom=2.4cm,
+%headheight=16pt,headsep=11pt,footskip=14pt}
+%\fi
+%
+\setlength{\TgoAfterChapterSkip}{15pt}
+%
+\NewDocumentCommand\tgocover{O{A5Cover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+%%
+\else
+%%%
+\geometry{paperwidth=16cm,paperheight=22.88cm,
+heightrounded,top=1.2cm,inner=1.4cm,outer=1.4cm,bottom=1.8cm,
+headheight=16pt,headsep=11pt,footskip=14pt}
+%
+\setlength{\TgoAfterChapterSkip}{18pt}
+%
+\NewDocumentCommand\tgocover{O{TabletCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+\fi
+\fi
+%%%%%% Small Tablet%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoSmallTabletOutput
+%
+\RenewDocumentCommand\SmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+\setlength{\TgoAfterChapterSkip}{11pt}
+%%
+ \geometry{paperwidth=12cm,paperheight=18.24cm,
+heightrounded,top=1.1cm,inner=0.75cm,outer=0.75cm,bottom=1.3cm,
+headheight=14pt,headsep=6pt,footskip=13pt}
+%
+\NewDocumentCommand\tgocover{O{SmallTabletCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+\fi
+%%%%%% eReader %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoeReaderOutput
+%
+\RenewDocumentCommand\eReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+\setlength{\TgoAfterChapterSkip}{3pt}
+%%%%%%%%%%%
+%
+%
+\geometry{paperwidth=10.7cm,paperheight=14.4cm,
+heightrounded,top=0.82cm,left=0.5cm,right=0.5cm,bottom=0.8cm,
+headheight=18pt,headsep=5pt,footskip=10pt}
+%%
+%
+\NewDocumentCommand\tgocover{O{eReaderCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\sloppy
+\fi
+%%%%%%%% Smartphone %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoSmartphoneOutput
+%
+\RenewDocumentCommand\SmartphoneCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+\setlength{\TgoAfterChapterSkip}{7pt}%
+%%%%%%%%%%%
+%
+%%
+\geometry{paperwidth=10cm,paperheight=18cm,
+heightrounded,top=1.1cm,inner=0.32cm,outer=0.32cm,bottom=1cm,
+headheight=14pt,headsep=10pt,footskip=17pt}
+%
+\NewDocumentCommand\tgocover{O{SmartphoneCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\sloppy
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setlength{\abovecaptionskip}{4pt plus 1pt minus 1pt}
+\setlength{\belowcaptionskip}{4pt plus 1 pt minus 1pt}
+%
+%
+\setlength{\textfloatsep}{10pt plus 4 pt minus 3pt}
+\setlength{\intextsep}{4pt plus 2pt minus 1 pt}
+%
+%%%Environnements %%%%%%%%%%%%%%%%%%%
+%
+%%%%%% Stolen to amsthm %%%%%%%%%%%%%%%
+%
+\RenewDocumentCommand\qedsymbol{}{{\ensuremath{\color{ColorOne}\rule{7pt}{7pt}}}}%
+\RenewDocumentEnvironment{proof}{o}{%
+\IfValueTF{#1}%
+{\renewcommand\TgoTempa{#1}}
+{\renewcommand\TgoTempa{\proofname}}
+\pushQED{\qed}%
+\par\nobreak\addvspace{6pt plus 3pt minus 2pt}%
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\itshape%
+ \TgoTempa}\par\nobreak
+ }%
+{\popQED\par\addvspace{6pt plus 3pt minus 2pt}}
+%%%%
+%%%%
+\newcounter{tgoexo}%
+%%
+\NewDocumentCommand\exo{s d<> o}{%
+\IfValueTF{#2}%
+{%
+\renewcommand\TgoTempa{#2}%
+}%
+{%
+\renewcommand\TgoTempa{\TgoExerciseName}%
+}%
+\IfBooleanTF{#1}%
+{%
+\renewcommand\TgoTempb{\TgoTempa}%
+}%
+{%
+\refstepcounter{tgoexo}%
+\renewcommand\TgoTempb{\TgoTempa~\thetgoexo}%
+}%
+\IfValueTF{#3}%
+{%
+\renewcommand\TgoTempc{\TgoTempb\space(#3)}%
+}%
+{%
+\renewcommand\TgoTempc{\TgoTempb}%
+}%
+\@afterindenttrue
+\vspace{5pt plus 2pt minus 2pt}
+\par%
+\textsf{\fontseries{sb}\selectfont\TgoTempc}%
+\par\nobreak\vspace{0pt plus 1pt}\par%
+}%
+%
+\newsavebox{\TgoBox}
+%%%%
+%
+\NewDocumentCommand\sec@exo{m}{%
+\titleformat{\subsection}[block]{\filcenter\color{ColorOne}\sffamily\addfontfeature{RawFeature=-onum}%
+\fontseries{b}\selectfont}{\thesubsection}{1em}{\MakeUppercase}%
+\titlespacing{\subsection}{0em}{10pt plus 10pt minus 4pt}{8pt plus 5pt minus 3pt}%
+\subsection*{#1}
+\addcontentsline{toc}{subsection}{\protect\numberline{}#1}
+}
+%
+\NewDocumentCommand\secexo{O{\TgoExercisesSubsectionName}}{%
+\sec@exo{#1}
+\tgostandardlists
+}%
+\ExpandArgs{c}\NewDocumentCommand{secexo*}{O{\TgoExercisesSubsectionName}}{%
+\sec@exo{#1}
+\TgoSmallerSize
+\tgostandardlists
+}%
+\NewDocumentCommand\endsecexo{}
+{\renewtgolabels\par\addvspace{10pt plus 3pt minus 2pt}\par}%
+%
+\ExpandArgs{c}\NewDocumentCommand{endsecexo*}{}
+{\renewtgolabels\par\addvspace{10pt plus 3pt minus 2pt}\par}%
+%
+\NewDocumentCommand\chap@exo{m}{%
+\titleformat{\section}[block]{\filcenter\color{ColorOne}\sffamily\addfontfeature{RawFeature=-onum}%
+\fontseries{b}\selectfont\large}{\thesection}{1em}{\MakeUppercase}%
+\tgostandardlists
+\titlespacing{\section}{0em}{18pt plus 10pt minus 4pt}{8pt plus 5pt minus 3pt}%
+\section*{#1}
+\addcontentsline{toc}{section}{\protect\numberline{}#1}
+}
+%
+\NewDocumentCommand\chapexo{O{\TgoExercisesSectionName}}{%
+\chap@exo{#1}
+}%
+\ExpandArgs{c}\NewDocumentCommand{chapexo*}{O{\TgoExercisesSectionName}}{%
+\chap@exo{#1}
+\TgoSmallerSize
+}%
+\NewDocumentCommand\endchapexo{}
+{\renewlabelitems\par\addvspace{18pt plus 3pt minus 2pt}\par}%
+%
+\ExpandArgs{c}\NewDocumentCommand{endchapexo*}{}
+{\renewlabelitems\par\addvspace{18pt plus 3pt minus 2pt}\par}%
+%%%%
+%%
+\NewDocumentEnvironment{example}{O{\TgoExampleName}}{%
+\par\addvspace{6pt plus 3pt minus 2pt}%
+{\sffamily\itshape #1}\par\nobreak%
+\@afterheading}%
+{\par\addvspace{6pt plus 3pt minus 2pt}\par}
+%%%
+\NewDocumentEnvironment{remark}{O{\TgoRemarkName}}{%
+\par\addvspace{6pt plus 3pt minus 2pt}%
+{\sffamily\itshape #1. \textemdash~}\ignorespaces}%
+{\par\addvspace{6pt plus 3pt minus 2pt}}
+%%%
+%%%
+\NewDocumentEnvironment{alert}{O{\caution}}{%
+\par\addvspace{6pt plus 3pt minus 2pt}\noindent%
+{\color{ColorOne}\Large #1}\hspace{1ex}\ignorespaces}%
+{\par\addvspace{6pt plus 3pt minus 2pt}}
+%
+%%
+\NewDocumentCommand\newstatement{s m m m o}{%
+\setlength\TgoStatementParindent{\parindent}
+\ExpandArgs{c}\NewDocumentCommand{#2}{d<> o}%
+{% beginning env commands
+\refstepcounter{#3}
+\IfBooleanTF{#1}
+{%
+\renewcommand\TgoTempa{#3}
+\renewcommand\TgoTempb{subsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\renewcommand\TgoStatementNumberPrefix{\large\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\else
+\renewcommand\TgoTempb{subsubsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\fi
+\renewcommand\TgoStatementNumberPrefix{\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\fi
+\renewcommand\TgoStatementNumberSuffix{}%
+}
+{
+\renewcommand\TgoStatementNumberSuffix{~\UseName{the#3}}%
+\renewcommand\TgoStatementNumberPrefix{}%
+}
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}%
+}%
+\ExpandArgs{c}\NewDocumentCommand{end#2}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\TgoStatementNumberPrefix\fontseries{sb}\selectfont\TgoStatementName%
+\TgoStatementNumberSuffix\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+\ExpandArgs{c}\NewDocumentCommand{#2*}{d<> o}%
+{% beginning env commands
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}
+}%
+\ExpandArgs{c}\NewDocumentCommand{end#2*}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\fontseries{sb}\selectfont\TgoStatementName\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+}%%%%
+%%%%%%%%%%%%
+%%%%%%%%%%%%%
+%%%%%%%%%%%%
+\NewDocumentCommand\renewstatement{s m m m o}{%
+\setlength\TgoStatementParindent{\parindent}
+\ExpandArgs{c}\RenewDocumentCommand{#2}{d<> o}%
+{% beginning env commands
+\refstepcounter{#3}
+\IfBooleanTF{#1}
+{%
+\renewcommand\TgoTempa{#3}
+\renewcommand\TgoTempb{subsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\renewcommand\TgoStatementNumberPrefix{\large\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\else
+\renewcommand\TgoTempb{subsubsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\fi
+\renewcommand\TgoStatementNumberPrefix{\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\fi
+\renewcommand\TgoStatementNumberSuffix{}%
+}
+{
+\renewcommand\TgoStatementNumberSuffix{~\UseName{the#3}}%
+\renewcommand\TgoStatementNumberPrefix{}%
+}
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}
+}%
+\ExpandArgs{c}\RenewDocumentCommand{end#2}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\TgoStatementNumberPrefix\fontseries{sb}\selectfont\TgoStatementName%
+\TgoStatementNumberSuffix\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+\ExpandArgs{c}\RenewDocumentCommand{#2*}{d<> o}%
+{% beginning env commands
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}
+}%
+\ExpandArgs{c}\RenewDocumentCommand{end#2*}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\fontseries{sb}\selectfont\TgoStatementName\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+}%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoNoStatement
+\else
+\newcounter{thm}
+\newstatement{thm}{thm}{\TgoTheoremName}[\itshape]
+\newcounter{defin}
+\newstatement{defin}{defin}{\TgoDefinitionName}
+\newcounter{coro}
+\newstatement{coro}{coro}{\TgoCorollaryName}
+\newcounter{propo}
+\newstatement{propo}{propo}{\TgoPropositionName}[\itshape]
+\newcounter{lem}
+\newstatement{lem}{lem}{\TgoLemmaName}
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%
+\AtBeginDocument{%
+ \Umathchardef\Bbbbackslash = 0 0 "E020 \relax
+ \Umathchardef\varemptyset = 0 0 "E021 \relax
+ \Umathchardef\mupvarzero = 0 0 "E022 \relax
+ \Umathchardef\mbfvarzero = 0 0 "E023 \relax
+ \Umathchardef\mupvarpartial = 0 0 "E030 \relax
+ \Umathchardef\mupvarvarpi = 0 0 "E032 \relax
+ \Umathchardef\mbfvarpartial = 0 0 "E040 \relax
+ \Umathchardef\mbfvarvarrho = 0 0 "E041 \relax
+ \Umathchardef\mbfvarvarpi = 0 0 "E042 \relax
+ \Umathchardef\mbfvec = 0 0 "E044 \relax
+ \Umathchardef\mbfwp = 0 0 "E045 \relax
+ \Umathchardef\mbfdotlessi = 0 0 "E046 \relax
+ \Umathchardef\mbfdotlessj = 0 0 "E047 \relax
+ \Umathchardef\mbfhbar = 0 0 "E048 \relax
+ \Umathchardef\mbfell = 0 0 "E049 \relax
+ \Umathchardef\mbftriangleleft = 0 0 "E04E \relax
+ \Umathchardef\mbftriangleright = 0 0 "E04F \relax
+ \Umathchardef\mbfitvarpartial = 0 0 "E060 \relax
+ \Umathchardef\mbfitvarvarrho = 0 0 "E061 \relax
+ \Umathchardef\mbfitvarvarpi = 0 0 "E062 \relax
+ \Umathchardef\mbfitwp = 0 0 "E065 \relax
+ \Umathchardef\mbfimath = 0 0 "E066 \relax
+ \Umathchardef\mbfjmath = 0 0 "E067 \relax
+ \Umathchardef\mbfithbar = 0 0 "E068 \relax
+ \Umathchardef\mbfitell = 0 0 "E069 \relax
+ \Umathchardef\mitvarpartial = 0 0 "E070 \relax
+ \Umathchardef\mitvarvarrho = 0 0 "E071 \relax
+ \Umathchardef\mitvarvarpi = 0 0 "E072 \relax
+ \Umathchardef\mithbar = 0 0 "E078 \relax
+ \Umathchardef\mapstochar = 3 0 "E08D \relax
+ \Umathchardef\lhook = 3 0 "E08E \relax
+ \Umathchardef\rhook = 3 0 "E08F \relax
+ \Umathchardef\parallelslant = 3 0 "E090 \relax
+ \Umathchardef\nparallelslant = 3 0 "E091 \relax
+ \Umathchardef\shortparallelslant = 3 0 "E092 \relax
+ \Umathchardef\nshortparallelslant = 3 0 "E093 \relax
+ \Umathchardef\lesseqslantgtr = 3 0 "E094 \relax
+ \Umathchardef\gtreqslantless = 3 0 "E095 \relax
+ \Umathchardef\lesseqqslantgtr = 3 0 "E096 \relax
+ \Umathchardef\gtreqqslantless = 3 0 "E097 \relax
+ \Umathchardef\nleqqslant = 3 0 "E098 \relax
+ \Umathchardef\ngeqqslant = 3 0 "E099 \relax
+ \Umathchardef\varsymscrE = 0 0 "E07D \relax
+ \Umathchardef\varsymscrQ = 0 0 "E07E \relax
+ \Umathchardef\varsymscrT = 0 0 "E07F \relax
+ \Umathchardef\varsymbfscrE = 0 0 "E06D \relax
+ \Umathchardef\varsymbfscrQ = 0 0 "E06E \relax
+ \Umathchardef\varsymbfscrT = 0 0 "E06F \relax
+ % \widearc and\overrightarc
+ \newcommand*{\widearc}{\Umathaccent 0 0 "E540 }%
+ \newcommand*{\overrightarc}{\Umathaccent 0 0 "20D5 }%
+ % From FourierOrns
+ \Umathchardef\forbidden = 0 0 "E0B0 \relax
+ \Umathchardef\beware = 0 0 "E0B1 \relax
+ \Umathchardef\boom = 0 0 "E0B2 \relax
+ \Umathchardef\thething = 0 0 "E0B4 \relax
+ \Umathchardef\xswordsup = 0 0 "E0B5 \relax
+ \Umathchardef\xswordsdown = 0 0 "E0B6 \relax
+ % amssymb
+ \IfPackageLoadedTF{amssymb}%
+ {\ClassWarning{tango}{%
+ Tango provides all AMS symbols.\MessageBreak
+ Loading amssymb.sty is not advisable.\MessageBreak
+ Reported}%
+ }%
+ {% AMS Symbols not referenced in unicode-math-table.tex
+ % \Umathchardef\<cmd> = <math type> <family> <slot>
+ % <math type> : \mathord=0 \mathrel=3 ; <family>=0
+ \Umathchardef\circledR = 0 0 "24C7 \relax
+ \Umathchardef\circledS = 0 0 "24C8 \relax
+ \Umathchardef\diagup = 0 0 "27CB \relax
+ \Umathchardef\diagdown = 0 0 "27CD \relax
+ \Umathchardef\shortmid = 3 0 "E0A2 \relax
+ \Umathchardef\shortparallel = 3 0 "E0A3 \relax
+ \Umathchardef\nshortmid = 3 0 "E0A4 \relax
+ \Umathchardef\nshortparallel = 3 0 "E0A5 \relax
+ \Umathchardef\lvertneqq = 3 0 "E0A6 \relax
+ \Umathchardef\gvertneqq = 3 0 "E0A7 \relax
+ \Umathchardef\nleqslant = 3 0 "E0A8 \relax
+ \Umathchardef\ngeqslant = 3 0 "E0A9 \relax
+ \Umathchardef\nleqq = 3 0 "E0AA \relax
+ \Umathchardef\ngeqq = 3 0 "E0AB \relax
+ \Umathchardef\varsubsetneq = 3 0 "E0AC \relax
+ \Umathchardef\varsupsetneq = 3 0 "E0AD \relax
+ \Umathchardef\nsubseteqq = 3 0 "E0AE \relax
+ \Umathchardef\nsupseteqq = 3 0 "E0AF \relax
+ \Umathchardef\varsubsetneqq = 3 0 "E09C \relax
+ \Umathchardef\varsupsetneqq = 3 0 "E09D \relax
+ \Umathchardef\npreceq = 3 0 "E09E \relax
+ \Umathchardef\nsucceq = 3 0 "E09F \relax
+ \let\centerdot\cdotp
+ \let\restriction\upharpoonright
+ \let\doteqdot\Doteq
+ \let\doublecup\Cup
+ \let\doublecap\Cap
+ \let\llless\lll
+ \let\gggtr\ggg
+ \let\circlearrowleft\acwopencirclearrow
+ \let\circlearrowright\cwopencirclearrow
+ \let\lozenge\mdlgwhtlozenge
+ \let\blacklozenge\mdlgblklozenge
+ \let\square\mdlgwhtsquare
+ \let\blacksquare\mdlgblksquare
+ \let\dashleftarrow\leftdasharrow
+ \let\dashrightarrow\rightdasharrow
+ \let\ntriangleleft\nvartriangleleft
+ \let\ntriangleright\nvartriangleright
+ \let\varpropto\propto
+ \let\thicksim\sim
+ \let\thickapprox\approx
+ \let\smallsmile\smile
+ \let\smallfrown\frown
+ }%
+ % latexsym
+ \IfPackageLoadedTF{latexsym}%
+ {\ClassWarning{tango}{%
+ Tango provides all LaTeX symbols.\MessageBreak
+ Loading latexsym.sty is not advisable.\MessageBreak
+ Reported}%
+ }%
+ {\let\lhd\vartriangleleft
+ \let\rhd\vartriangleright
+ \let\unlhd\trianglelefteq
+ \let\unrhd\trianglerighteq
+ \let\leadsto\rightcurvedarrow
+ \let\Box\lgwhtsquare
+ \let\Diamond\mdlgwhtdiamond
+ }%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua b/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua
index 72320fe65a6..d70d0796b87 100644
--- a/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua
+++ b/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua
@@ -11,8 +11,8 @@
luatexbase.provides_module {
name = "luamplib",
- version = "2.31.0",
- date = "2024/05/21",
+ version = "2.34.1",
+ date = "2024/07/19",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -60,6 +60,7 @@ luamplib.showlog = luamplib.showlog or false
local tableconcat = table.concat
local tableinsert = table.insert
+local tableunpack = table.unpack
local texsprint = tex.sprint
local texgettoks = tex.gettoks
local texgetbox = tex.getbox
@@ -281,6 +282,7 @@ end
luamplib.codeinherit = false
local mplibinstances = {}
+luamplib.instances = mplibinstances
local has_instancename = false
local function reporterror (result, prevlog)
@@ -315,6 +317,7 @@ local function reporterror (result, prevlog)
end
end
+if not math.initialseed then math.randomseed(currenttime) end
local function luamplibload (name)
local mpx = mplib.new {
ini_version = true,
@@ -329,7 +332,7 @@ local function luamplibload (name)
local preamble = tableconcat{
format(preamble, replacesuffix(name,"mp")),
luamplib.preambles.mplibcode,
- luamplib.legacy_verbatimtex and luamplib.preambles.legacyverbatimtex or "",
+ luamplib.legacyverbatimtex and luamplib.preambles.legacyverbatimtex or "",
luamplib.textextlabel and luamplib.preambles.textextlabel or "",
}
local result, log
@@ -352,7 +355,7 @@ local function process (data, instancename)
currentformat,
luamplib.numbersystem or "scaled",
tostring(luamplib.textextlabel),
- tostring(luamplib.legacy_verbatimtex),
+ tostring(luamplib.legacyverbatimtex),
}
has_instancename = false
end
@@ -373,8 +376,6 @@ local function process (data, instancename)
if log then
if result.fig then
converted = luamplib.convert(result)
- else
- info"No figure output. Maybe no beginfig/endfig"
end
end
else
@@ -409,8 +410,7 @@ local function process_tex_text (str)
else
local boxid = texboxes.globalid + 1
texboxes.globalid = boxid
- run_tex_code(format(
- [[\expandafter\newbox\csname luamplib.box.%s\endcsname]], boxid))
+ run_tex_code(format([[\expandafter\newbox\csname luamplib.box.%s\endcsname]], boxid))
tex_box_id = tex.getcount'allocationnumber'
end
run_tex_code(format("%s\\setbox%i\\hbox{%s}", global, tex_box_id, str))
@@ -581,7 +581,7 @@ function luamplib.runscript (code)
return buffer
end
buffer = {}
- mpprint(buffer, table.unpack(res))
+ mpprint(buffer, tableunpack(res))
return tableconcat(buffer)
end
return ""
@@ -595,7 +595,7 @@ local function protecttexcontents (str)
:gsub("%s+", " ")
end
-luamplib.legacy_verbatimtex = true
+luamplib.legacyverbatimtex = true
function luamplib.maketext (str, what)
if str and str ~= "" then
@@ -605,7 +605,7 @@ function luamplib.maketext (str, what)
not str:find("\\begin%s*{document}") and
not str:find("\\documentstyle"..name_e) and
not str:find("\\usepackage"..name_e) then
- if luamplib.legacy_verbatimtex then
+ if luamplib.legacyverbatimtex then
if luamplib.in_the_fig then
return process_verbatimtex_infig(str)
else
@@ -661,51 +661,123 @@ luamplib.shadecolor = function (str)
run_tex_code({
[[\color_export:nnN{]], str, [[}{backend}\mplib_@tempa]],
},ccexplat)
- local name = get_macro'mplib_@tempa':match'{(.-)}{.+}'
+ local name, value = get_macro'mplib_@tempa':match'{(.-)}{(.-)}'
local t, obj = res:explode()
if pdfmode then
- obj = t[1]:match"^/(.+)"
- if ltx.pdf and ltx.pdf.object_id then
- obj = format("%s 0 R", ltx.pdf.object_id(obj))
- else
- run_tex_code({
- [[\edef\mplib_@tempa{\pdf_object_ref:n{]], obj, "}}",
- },ccexplat)
- obj = get_macro'mplib_@tempa'
- end
+ obj = format("%s 0 R", ltx.pdf.object_id( t[1]:sub(2,-1) ))
else
obj = t[2]
end
- local value = t[3]:match"%[(.-)%]" or t[3]
- return format('(%s) withprescript"mplib_spotcolor=%s:%s"', value,obj,name)
+ return format('(1) withprescript"mplib_spotcolor=%s:%s:%s"', value,obj,name)
end
return colorsplit(res)
end
+local running = -1073741824
local emboldenfonts = { }
-local function embolden (head, fakebold)
- local curr = head
+local function getemboldenwidth (curr, fakebold)
+ local width = emboldenfonts.width
+ if not width then
+ local f
+ local function getglyph(n)
+ while n do
+ if n.head then
+ getglyph(n.head)
+ elseif n.font and n.font > 0 then
+ f = n.font; break
+ end
+ n = node.getnext(n)
+ end
+ end
+ getglyph(curr)
+ width = font.getcopy(f or font.current()).size * fakebold / factor * 10
+ emboldenfonts.width = width
+ end
+ return width
+end
+local function getrulewhatsit (line, wd, ht, dp)
+ line, wd, ht, dp = line/1000, wd/factor, ht/factor, dp/factor
+ local pl
+ local fmt = "%f w %f %f %f %f re %s"
+ if pdfmode then
+ pl = node.new("whatsit","pdf_literal")
+ pl.mode = 0
+ else
+ fmt = "pdf:content "..fmt
+ pl = node.new("whatsit","special")
+ end
+ pl.data = fmt:format(line, 0, -dp, wd, ht+dp, "B")
+ local ss = node.new"glue"
+ node.setglue(ss, 0, 65536, 65536, 2, 2)
+ pl.next = ss
+ return pl
+end
+local function getrulemetric (box, curr, bp)
+ local wd,ht,dp = curr.width, curr.height, curr.depth
+ wd = wd == running and box.width or wd
+ ht = ht == running and box.height or ht
+ dp = dp == running and box.depth or dp
+ if bp then
+ return wd/factor, ht/factor, dp/factor
+ end
+ return wd, ht, dp
+end
+local function embolden (box, curr, fakebold)
+ local head = curr
while curr do
if curr.head then
- embolden(curr.head, fakebold)
- elseif curr.leader and curr.leader.head then
- embolden(curr.leader.head, fakebold)
+ curr.head = embolden(curr, curr.head, fakebold)
+ elseif curr.replace then
+ curr.replace = embolden(box, curr.replace, fakebold)
+ elseif curr.leader then
+ if curr.leader.head then
+ curr.leader.head = embolden(curr.leader, curr.leader.head, fakebold)
+ elseif curr.leader.id == node.id"rule" then
+ local glue = node.effective_glue(curr, box)
+ local line = getemboldenwidth(curr, fakebold)
+ local wd,ht,dp = getrulemetric(box, curr.leader)
+ if box.id == node.id"hlist" then
+ wd = glue
+ else
+ ht, dp = 0, glue
+ end
+ local pl = getrulewhatsit(line, wd, ht, dp)
+ local pack = box.id == node.id"hlist" and node.hpack or node.vpack
+ local list = pack(pl, glue, "exactly")
+ head = node.insert_after(head, curr, list)
+ head, curr = node.remove(head, curr)
+ end
+ elseif curr.id == node.id"rule" and curr.subtype == 0 then
+ local line = getemboldenwidth(curr, fakebold)
+ local wd,ht,dp = getrulemetric(box, curr)
+ if box.id == node.id"vlist" then
+ ht, dp = 0, ht+dp
+ end
+ local pl = getrulewhatsit(line, wd, ht, dp)
+ local list
+ if box.id == node.id"hlist" then
+ list = node.hpack(pl, wd, "exactly")
+ else
+ list = node.vpack(pl, ht+dp, "exactly")
+ end
+ head = node.insert_after(head, curr, list)
+ head, curr = node.remove(head, curr)
elseif curr.id == node.id"glyph" and curr.font > 0 then
local f = curr.font
local i = emboldenfonts[f]
if not i then
+ local ft = font.getfont(f) or font.getcopy(f)
if pdfmode then
- local ft = font.getcopy(f)
- ft.mode = 2
- ft.width = ft.size * fakebold / 6578.176
+ width = ft.size * fakebold / factor * 10
+ emboldenfonts.width = width
+ ft.mode, ft.width = 2, width
i = font.define(ft)
else
- local ft = font.getfont(f) or font.getcopy(f)
if ft.format ~= "opentype" and ft.format ~= "truetype" then
goto skip_type1
end
local name = ft.name:gsub('"',''):gsub(';$','')
- name = format('%s;embolden=%s',name,fakebold)
+ name = format('%s;embolden=%s;',name,fakebold)
_, i = fonts.constructors.readanddefine(name,ft.size)
end
emboldenfonts[f] = i
@@ -715,6 +787,7 @@ local function embolden (head, fakebold)
::skip_type1::
curr = node.getnext(curr)
end
+ return head
end
local function graphictextcolor (col, filldraw)
if col:find"^[%d%.:]+$" then
@@ -741,7 +814,9 @@ end
luamplib.graphictext = function (text, fakebold, fc, dc)
local fmt = process_tex_text(text):sub(1,-2)
local id = tonumber(fmt:match"mplibtexboxid=(%d+):")
- embolden(texgetbox(id).head, fakebold)
+ emboldenfonts.width = nil
+ local box = texgetbox(id)
+ box.head = embolden(box, box.head, fakebold)
local fill = graphictextcolor(fc,"fill")
local draw = graphictextcolor(dc,"draw")
local bc = pdfmode and "" or "pdf:bc "
@@ -836,7 +911,7 @@ function luamplib.glyph (f, c)
local fontdata = font.getfont(fid) or font.getcopy(fid)
filename, subfont, kind = fontdata.filename, fontdata.subfont, fontdata.format
instance = fontdata.specification and fontdata.specification.instance
- filename = filename:gsub("^harfloaded:","")
+ filename = filename and filename:gsub("^harfloaded:","")
else
local name
f = f:match"^%s*(.+)%s*$"
@@ -891,7 +966,7 @@ function luamplib.glyph (f, c)
if not gid then return mperr"cannot get GID (glyph id)" end
local fac = 1000 / (shapedata.units or 1000)
local t = shapedata.glyphs[gid].segments
- if not t then return "image(fill fullcircle scaled 0;)" end
+ if not t then return "image()" end
for i,v in ipairs(t) do
if type(v) == "table" then
for ii,vv in ipairs(v) do
@@ -905,20 +980,18 @@ function luamplib.glyph (f, c)
return glyphimage(t, kind)
end
-local rulefmt = "mplibpic[%i]:=image(addto currentpicture contour \z
+local rulefmt = "mpliboutlinepic[%i]:=image(addto currentpicture contour \z
unitsquare shifted - center unitsquare;) xscaled %f yscaled %f shifted (%f,%f);"
local outline_horz, outline_vert
function outline_vert (res, box, curr, xshift, yshift)
local b2u = box.dir == "LTL"
- local dy = (b2u and -(box.depth or 0) or (box.height or 0))/factor
+ local dy = (b2u and -box.depth or box.height)/factor
local ody = dy
while curr do
if curr.id == node.id"rule" then
- local ht, dp = curr.height/factor, curr.depth/factor
+ local wd, ht, dp = getrulemetric(box, curr, true)
local hd = ht + dp
if hd ~= 0 then
- local wd = curr.width
- wd = (wd == -1073741824 and box.width or wd)/factor
dy = dy + (b2u and dp or -ht)
if wd ~= 0 and curr.subtype == 0 then
res[#res+1] = rulefmt:format(#res+1, wd, hd, xshift+wd/2, yshift+dy+(ht-dp)/2)
@@ -927,14 +1000,13 @@ function outline_vert (res, box, curr, xshift, yshift)
end
elseif curr.id == node.id"glue" then
local vwidth = node.effective_glue(curr,box)/factor
- dy = dy + (b2u and vwidth or 0)
if curr.leader then
local curr, kind = curr.leader, curr.subtype
if curr.id == node.id"rule" then
- local wd = curr.width/factor
+ local wd = getrulemetric(box, curr, true)
if wd ~= 0 then
local hd = vwidth
- local dy = dy - hd
+ local dy = dy + (b2u and 0 or -hd)
if hd ~= 0 and curr.subtype == 0 then
res[#res+1] = rulefmt:format(#res+1, wd, hd, xshift+wd/2, yshift+dy+hd/2)
end
@@ -942,8 +1014,7 @@ function outline_vert (res, box, curr, xshift, yshift)
elseif curr.head then
local hd = (curr.height + curr.depth)/factor
if hd <= vwidth then
- local dy = b2u and dy-vwidth or dy
- local n, iy = 0, 0
+ local dy, n, iy = dy, 0, 0
if kind == 100 or kind == 103 then -- todo: gleaders
local ady = abs(ody - dy)
local ndy = math.ceil(ady / hd) * hd
@@ -971,7 +1042,7 @@ function outline_vert (res, box, curr, xshift, yshift)
end
end
end
- dy = dy - (b2u and 0 or vwidth)
+ dy = dy + (b2u and vwidth or -vwidth)
elseif curr.id == node.id"kern" then
dy = dy + curr.kern/factor * (b2u and 1 or -1)
elseif curr.id == node.id"vlist" then
@@ -987,24 +1058,23 @@ function outline_vert (res, box, curr, xshift, yshift)
end
return res
end
-function outline_horz (res, box, curr, xshift, yshift)
+function outline_horz (res, box, curr, xshift, yshift, discwd)
local r2l = box.dir == "TRT"
- local dx = r2l and (box.width or 0)/factor or 0
+ local dx = r2l and (discwd or box.width/factor) or 0
local dirs = { { dir = r2l, dx = dx } }
- local odx = dx
while curr do
if curr.id == node.id"dir" then
local sign, dir = curr.dir:match"(.)(...)"
local level, newdir = curr.level, r2l
if sign == "+" then
- local n = node.getnext(curr)
- while n do
- if n.id == node.id"dir" and n.level+1 == level then break end
- n = node.getnext(n)
- end
- n = n or node.tail(curr)
newdir = dir == "TRT"
if r2l ~= newdir then
+ local n = node.getnext(curr)
+ while n do
+ if n.id == node.id"dir" and n.level+1 == level then break end
+ n = node.getnext(n)
+ end
+ n = n or node.tail(curr)
dx = dx + node.rangedimensions(box, curr, n)/factor * (newdir and 1 or -1)
end
dirs[level] = { dir = r2l, dx = dx }
@@ -1029,6 +1099,18 @@ function outline_horz (res, box, curr, xshift, yshift)
dx = dx - (r2l and curr.width/factor*expand or 0)
local xpos = dx + xshift + (curr.xoffset or 0)/factor
local ypos = yshift + (curr.yoffset or 0)/factor
+ local vertical = ft.shared and ft.shared.features.vertical and "rotated 90" or ""
+ if vertical ~= "" then -- luatexko
+ for _,v in ipairs(ft.characters[curr.char].commands or { }) do
+ if v[1] == "down" then
+ ypos = ypos - v[2] / factor
+ elseif v[1] == "right" then
+ xpos = xpos + v[2] / factor
+ else
+ break
+ end
+ end
+ end
local image
if ft.format == "opentype" or ft.format == "truetype" then
image = luamplib.glyph(curr.font, gid)
@@ -1048,20 +1130,17 @@ function outline_horz (res, box, curr, xshift, yshift)
end
image = format("glyph %s of %q scaled %f", gid, name, scale)
end
- res[#res+1] = format("mplibpic[%i]:=%s xscaled %f yscaled %f slanted %f shifted (%f,%f);",
- #res+1, image, xscale, yscale, slant, xpos, ypos)
+ res[#res+1] = format("mpliboutlinepic[%i]:=%s xscaled %f yscaled %f slanted %f %s shifted (%f,%f);",
+ #res+1, image, xscale, yscale, slant, vertical, xpos, ypos)
dx = dx + (r2l and 0 or curr.width/factor*expand)
- elseif curr.id == node.id"disc" then
+ elseif curr.replace then
local width = node.dimensions(curr.replace)/factor
dx = dx - (r2l and width or 0)
- res = outline_horz(res, curr, curr.replace, xshift+dx, yshift)
+ res = outline_horz(res, box, curr.replace, xshift+dx, yshift, width)
dx = dx + (r2l and 0 or width)
elseif curr.id == node.id"rule" then
- local wd = curr.width/factor
+ local wd, ht, dp = getrulemetric(box, curr, true)
if wd ~= 0 then
- local ht, dp = curr.height, curr.depth
- ht = (ht == -1073741824 and box.height or ht)/factor
- dp = (dp == -1073741824 and box.depth or dp)/factor
local hd = ht + dp
dx = dx - (r2l and wd or 0)
if hd ~= 0 and curr.subtype == 0 then
@@ -1075,10 +1154,10 @@ function outline_horz (res, box, curr, xshift, yshift)
if curr.leader then
local curr, kind = curr.leader, curr.subtype
if curr.id == node.id"rule" then
- local ht, dp = curr.height/factor, curr.depth/factor
+ local wd, ht, dp = getrulemetric(box, curr, true)
local hd = ht + dp
if hd ~= 0 then
- local wd = width
+ wd = width
if wd ~= 0 and curr.subtype == 0 then
res[#res+1] = rulefmt:format(#res+1, wd, hd, xshift+dx+wd/2, yshift+(ht-dp)/2)
end
@@ -1089,7 +1168,7 @@ function outline_horz (res, box, curr, xshift, yshift)
local dx = r2l and dx+width or dx
local n, ix = 0, 0
if kind == 100 or kind == 103 then -- todo: gleaders
- local adx = abs(dx-odx)
+ local adx = abs(dx-dirs[1].dx)
local ndx = math.ceil(adx / wd) * wd
local diff = ndx - adx
n = (width-diff) // wd
@@ -1137,12 +1216,8 @@ function luamplib.outlinetext (text)
local id = tonumber(fmt:match"mplibtexboxid=(%d+):")
local box = texgetbox(id)
local res = outline_horz({ }, box, box.head, 0, 0)
- if #res == 0 then res = { "mplibpic[1]:=image(fill fullcircle scaled 0;);" } end
- local t = { }
- for i=1, #res do
- t[#t+1] = format("addto currentpicture also mplibpic[%i];", i)
- end
- return tableconcat(res) .. format("mplibpic[0]:=image(%s);", tableconcat(t))
+ if #res == 0 then res = { "mpliboutlinepic[1]:=image();" } end
+ return tableconcat(res) .. format("mpliboutlinenum:=%i;", #res)
end
luamplib.preambles = {
@@ -1246,6 +1321,9 @@ def mplib_do_outline_text_set_f (text f) text r =
def mplib_do_outline_options_f = f enddef;
def mplib_do_outline_options_r = r enddef;
enddef;
+def mplib_do_outline_text_set_u (text f) text r =
+ def mplib_do_outline_options_f = f enddef;
+enddef;
def mplib_do_outline_text_set_d (text d) text r =
def mplib_do_outline_options_d = d enddef;
def mplib_do_outline_options_r = r enddef;
@@ -1259,27 +1337,40 @@ def mplib_do_outline_text_set_n text r =
def mplib_do_outline_options_r = r enddef;
enddef;
def mplib_do_outline_text_set_p = enddef;
-def mplib_fill_outline_text (expr p) =
- i:=0;
- for item within p:
- i:=i+1;
- addto currentpicture contour pathpart item
- if i < length p: withpostscript "collect"; fi
+def mplib_fill_outline_text =
+ for n=1 upto mpliboutlinenum:
+ i:=0;
+ for item within mpliboutlinepic[n]:
+ i:=i+1;
+ fill pathpart item mplib_do_outline_options_f withpen pencircle scaled 0
+ if (n<mpliboutlinenum) or (i<length mpliboutlinepic[n]): withpostscript "collect"; fi
+ endfor
endfor
- mplib_do_outline_options_f;
enddef;
-def mplib_draw_outline_text (expr p) =
- i:=0;
- for item within p:
- i:=i+1;
- addto currentpicture doublepath pathpart item
- if i < length p: withpostscript "collect"; fi
+def mplib_draw_outline_text =
+ for n=1 upto mpliboutlinenum:
+ for item within mpliboutlinepic[n]:
+ draw pathpart item mplib_do_outline_options_d;
+ endfor
+ endfor
+enddef;
+def mplib_filldraw_outline_text =
+ for n=1 upto mpliboutlinenum:
+ i:=0;
+ for item within mpliboutlinepic[n]:
+ i:=i+1;
+ if (n<mpliboutlinenum) or (i<length mpliboutlinepic[n]):
+ fill pathpart item mplib_do_outline_options_f withpostscript "collect";
+ else:
+ draw pathpart item mplib_do_outline_options_f withpostscript "both";
+ fi
+ endfor
endfor
- mplib_do_outline_options_d;
enddef;
vardef mpliboutlinetext@# (expr t) text rest =
save kind; string kind; kind := str @#;
- save mplibpic, i; picture mplibpic[]; numeric i;
+ save i; numeric i;
+ picture mpliboutlinepic[]; numeric mpliboutlinenum;
def mplib_do_outline_options_d = enddef;
def mplib_do_outline_options_f = enddef;
def mplib_do_outline_options_r = enddef;
@@ -1287,31 +1378,102 @@ vardef mpliboutlinetext@# (expr t) text rest =
image ( addto currentpicture also image (
if kind = "f":
mplib_do_outline_text_set_f rest;
- def mplib_do_outline_options_d = withpen pencircle scaled 0 enddef;
- mplib_fill_outline_text (mplibpic0);
+ mplib_fill_outline_text;
elseif kind = "d":
mplib_do_outline_text_set_d rest;
- mplib_draw_outline_text (mplibpic0);
+ mplib_draw_outline_text;
elseif kind = "b":
mplib_do_outline_text_set_b rest;
- mplib_fill_outline_text (mplibpic0);
- mplib_draw_outline_text (mplibpic0);
+ mplib_fill_outline_text;
+ mplib_draw_outline_text;
elseif kind = "u":
- mplib_do_outline_text_set_f rest;
- mplib_fill_outline_text (mplibpic0);
+ mplib_do_outline_text_set_u rest;
+ mplib_filldraw_outline_text;
elseif kind = "r":
mplib_do_outline_text_set_r rest;
- mplib_draw_outline_text (mplibpic0);
- mplib_fill_outline_text (mplibpic0);
+ mplib_draw_outline_text;
+ mplib_fill_outline_text;
elseif kind = "p":
mplib_do_outline_text_set_p;
- mplib_draw_outline_text (mplibpic0);
+ mplib_draw_outline_text;
else:
mplib_do_outline_text_set_n rest;
- mplib_fill_outline_text (mplibpic0);
+ mplib_fill_outline_text;
fi;
) mplib_do_outline_options_r; )
enddef ;
+primarydef t withpattern p =
+ image( fill t withprescript "mplibpattern=" & if numeric p: decimal fi p; )
+enddef;
+vardef mplibtransformmatrix (text e) =
+ save t; transform t;
+ t = identity e;
+ runscript("luamplib.transformmatrix = {"
+ & decimal xxpart t & ","
+ & decimal yxpart t & ","
+ & decimal xypart t & ","
+ & decimal yypart t & ","
+ & decimal xpart t & ","
+ & decimal ypart t & ","
+ & "}");
+enddef;
+primarydef p withfademethod s =
+ if picture p:
+ image(
+ draw p;
+ draw center p withprescript "mplibfadestate=stop";
+ )
+ else:
+ p withprescript "mplibfadestate=stop"
+ fi
+ withprescript "mplibfadetype=" & s
+ withprescript "mplibfadebbox=" &
+ decimal xpart llcorner p & ":" &
+ decimal ypart llcorner p & ":" &
+ decimal xpart urcorner p & ":" &
+ decimal ypart urcorner p
+enddef;
+def withfadeopacity (expr a,b) =
+ withprescript "mplibfadeopacity=" &
+ decimal a & ":" &
+ decimal b
+enddef;
+def withfadevector (expr a,b) =
+ withprescript "mplibfadevector=" &
+ decimal xpart a & ":" &
+ decimal ypart a & ":" &
+ decimal xpart b & ":" &
+ decimal ypart b
+enddef;
+let withfadecenter = withfadevector;
+def withfaderadius (expr a,b) =
+ withprescript "mplibfaderadius=" &
+ decimal a & ":" &
+ decimal b
+enddef;
+def withfadebbox (expr a,b) =
+ withprescript "mplibfadebbox=" &
+ decimal xpart a & ":" &
+ decimal ypart a & ":" &
+ decimal xpart b & ":" &
+ decimal ypart b
+enddef;
+primarydef p asgroup s =
+ image(
+ fill llcorner p--lrcorner p--urcorner p--ulcorner p--cycle
+ withprescript "gr_state=start"
+ withprescript "gr_type=" & s;
+ draw p;
+ draw center p withprescript "gr_state=stop";
+ )
+enddef;
+def withgroupname expr s =
+ withprescript "mplibgroupname=" & s
+enddef;
+def usemplibgroup primary s =
+ draw maketext("\usemplibgroup{" & s & "}")
+ shifted runscript("return luamplib.trgroupshifts['" & s & "']")
+enddef;
]],
legacyverbatimtex = [[
def specialVerbatimTeX (text t) = runscript("luamplibprefig{"&t&"}") enddef;
@@ -1365,7 +1527,7 @@ luamplib.everyendmplib = setmetatable({ [""] = "" },{ __index = function(t) retu
function luamplib.process_mplibcode (data, instancename)
texboxes.localid = 4096
- if luamplib.legacy_verbatimtex then
+ if luamplib.legacyverbatimtex then
luamplib.figid, tex_code_pre_mplib = 1, {}
end
@@ -1426,15 +1588,6 @@ local function script2table(s)
return t
end
-local function getobjects(result,figure,f)
- return figure:objects()
-end
-
-function luamplib.convert (result, flusher)
- luamplib.flush(result, flusher)
- return true -- done
-end
-
local figcontents = { post = { } }
local function put2output(a,...)
figcontents[#figcontents+1] = type(a) == "string" and format(a,...) or a
@@ -1452,96 +1605,6 @@ local function pdf_literalcode (fmt,...)
put2output{-2, format(fmt,...)}
end
-local function pdf_textfigure(font,size,text,width,height,depth)
- text = text:gsub(".",function(c)
- return format("\\hbox{\\char%i}",string.byte(c)) -- kerning happens in metapost : false
- end)
- put2output("\\mplibtextext{%s}{%f}{%s}{%s}{%s}",font,size,text,0,0)
-end
-
-local bend_tolerance = 131/65536
-
-local rx, sx, sy, ry, tx, ty, divider = 1, 0, 0, 1, 0, 0, 1
-
-local function pen_characteristics(object)
- local t = mplib.pen_info(object)
- rx, ry, sx, sy, tx, ty = t.rx, t.ry, t.sx, t.sy, t.tx, t.ty
- divider = sx*sy - rx*ry
- return not (sx==1 and rx==0 and ry==0 and sy==1 and tx==0 and ty==0), t.width
-end
-
-local function concat(px, py) -- no tx, ty here
- return (sy*px-ry*py)/divider,(sx*py-rx*px)/divider
-end
-
-local function curved(ith,pth)
- local d = pth.left_x - ith.right_x
- if abs(ith.right_x - ith.x_coord - d) <= bend_tolerance and abs(pth.x_coord - pth.left_x - d) <= bend_tolerance then
- d = pth.left_y - ith.right_y
- if abs(ith.right_y - ith.y_coord - d) <= bend_tolerance and abs(pth.y_coord - pth.left_y - d) <= bend_tolerance then
- return false
- end
- end
- return true
-end
-
-local function flushnormalpath(path,open)
- local pth, ith
- for i=1,#path do
- pth = path[i]
- if not ith then
- pdf_literalcode("%f %f m",pth.x_coord,pth.y_coord)
- elseif curved(ith,pth) then
- pdf_literalcode("%f %f %f %f %f %f c",ith.right_x,ith.right_y,pth.left_x,pth.left_y,pth.x_coord,pth.y_coord)
- else
- pdf_literalcode("%f %f l",pth.x_coord,pth.y_coord)
- end
- ith = pth
- end
- if not open then
- local one = path[1]
- if curved(pth,one) then
- pdf_literalcode("%f %f %f %f %f %f c",pth.right_x,pth.right_y,one.left_x,one.left_y,one.x_coord,one.y_coord )
- else
- pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
- end
- elseif #path == 1 then -- special case .. draw point
- local one = path[1]
- pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
- end
-end
-
-local function flushconcatpath(path,open)
- pdf_literalcode("%f %f %f %f %f %f cm", sx, rx, ry, sy, tx ,ty)
- local pth, ith
- for i=1,#path do
- pth = path[i]
- if not ith then
- pdf_literalcode("%f %f m",concat(pth.x_coord,pth.y_coord))
- elseif curved(ith,pth) then
- local a, b = concat(ith.right_x,ith.right_y)
- local c, d = concat(pth.left_x,pth.left_y)
- pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(pth.x_coord, pth.y_coord))
- else
- pdf_literalcode("%f %f l",concat(pth.x_coord, pth.y_coord))
- end
- ith = pth
- end
- if not open then
- local one = path[1]
- if curved(pth,one) then
- local a, b = concat(pth.right_x,pth.right_y)
- local c, d = concat(one.left_x,one.left_y)
- pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(one.x_coord, one.y_coord))
- else
- pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
- end
- elseif #path == 1 then -- special case .. draw point
- local one = path[1]
- pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
- end
-end
-
local function start_pdf_code()
if pdfmode then
pdf_literalcode("q")
@@ -1584,6 +1647,7 @@ end
local prev_override_color
local function do_preobj_CR(object,prescript)
+ if object.postscript == "collect" then return end
local override = prescript and prescript.mpliboverridecolor
if override then
if pdfmode then
@@ -1611,32 +1675,46 @@ end
local pdfmanagement = is_defined'pdfmanagement_add:nnn'
local pdfobjs, pdfetcs = {}, {}
pdfetcs.pgfextgs = "pgf@sys@addpdfresource@extgs@plain"
+pdfetcs.pgfpattern = "pgf@sys@addpdfresource@patterns@plain"
+pdfetcs.pgfcolorspace = "pgf@sys@addpdfresource@colorspaces@plain"
-local function update_pdfobjs (os)
- local on = pdfobjs[os]
+local function update_pdfobjs (os, stream)
+ local key = os
+ if stream then key = key..stream end
+ local on = pdfobjs[key]
if on then
return on,false
end
if pdfmode then
- on = pdf.immediateobj(os)
+ if stream then
+ on = pdf.immediateobj("stream",stream,os)
+ else
+ on = pdf.immediateobj(os)
+ end
else
on = pdfetcs.cnt or 1
- texsprint(format("\\special{pdf:obj @mplibpdfobj%s %s}",on,os))
+ if stream then
+ texsprint(format("\\special{pdf:stream @mplibpdfobj%s (%s) <<%s>>}",on,stream,os))
+ else
+ texsprint(format("\\special{pdf:obj @mplibpdfobj%s %s}",on,os))
+ end
pdfetcs.cnt = on + 1
end
- pdfobjs[os] = on
+ pdfobjs[key] = on
return on,true
end
+pdfetcs.resfmt = pdfmode and "%s 0 R" or "@mplibpdfobj%s"
if pdfmode then
pdfetcs.getpageres = pdf.getpageresources or function() return pdf.pageresources end
- pdfetcs.setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end
- pdfetcs.initialize_resources = function (name)
+ local getpageres = pdfetcs.getpageres
+ local setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end
+ local initialize_resources = function (name)
local tabname = format("%s_res",name)
pdfetcs[tabname] = { }
if luatexbase.callbacktypes.finish_pdffile then -- ltluatex
local obj = pdf.reserveobj()
- pdfetcs.setpageres(format("%s/%s %i 0 R", pdfetcs.getpageres() or "", name, obj))
+ setpageres(format("%s/%s %i 0 R", getpageres() or "", name, obj))
luatexbase.add_to_callback("finish_pdffile", function()
pdf.immediateobj(obj, format("<<%s>>", tableconcat(pdfetcs[tabname])))
end,
@@ -1644,20 +1722,30 @@ if pdfmode then
end
end
pdfetcs.fallback_update_resources = function (name, res)
+ local tabname = format("%s_res",name)
+ if not pdfetcs[tabname] then
+ initialize_resources(name)
+ end
if luatexbase.callbacktypes.finish_pdffile then
- local t = pdfetcs[format("%s_res",name)]
+ local t = pdfetcs[tabname]
t[#t+1] = res
else
- local tpr, n = pdfetcs.getpageres() or "", 0
+ local tpr, n = getpageres() or "", 0
tpr, n = tpr:gsub(format("/%s<<",name), "%1"..res)
if n == 0 then
tpr = format("%s/%s<<%s>>", tpr, name, res)
end
- pdfetcs.setpageres(tpr)
+ setpageres(tpr)
end
end
else
- texsprint("\\special{pdf:obj @MPlibTr<<>>}","\\special{pdf:obj @MPlibSh<<>>}")
+ texsprint {
+ "\\special{pdf:obj @MPlibTr<<>>}",
+ "\\special{pdf:obj @MPlibSh<<>>}",
+ "\\special{pdf:obj @MPlibCS<<>>}",
+ "\\special{pdf:obj @MPlibPt<<>>}",
+ }
+ pdfetcs.resadded = { }
end
local transparancy_modes = { [0] = "Normal",
@@ -1667,65 +1755,65 @@ local transparancy_modes = { [0] = "Normal",
"Hue", "Saturation", "Color", "Luminosity",
"Compatible",
}
-
-local function update_tr_res(mode,opaq)
- if pdfetcs.pgfloaded == nil then
- pdfetcs.pgfloaded = is_defined(pdfetcs.pgfextgs)
- if pdfmode and not pdfmanagement and not pdfetcs.pgfloaded and not is_defined"TRP@list" then
- pdfetcs.initialize_resources"ExtGState"
- end
- end
- local os = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
- local on, new = update_pdfobjs(os)
- if not new then return on end
+local function add_extgs_resources (on, new)
local key = format("MPlibTr%s", on)
- local val = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s", on)
- if pdfmanagement then
- texsprint(ccexplat,
- format("\\pdfmanagement_add:nnn{Page/Resources/ExtGState}{%s}{%s}", key, val))
- else
- local tr = format("/%s %s", key, val)
- if pdfetcs.pgfloaded then
- texsprint(format("\\csname %s\\endcsname{%s}", pdfetcs.pgfextgs,tr))
- elseif pdfmode then
- if is_defined"TRP@list" then
- texsprint(catat11,{
- [[\if@filesw\immediate\write\@auxout{]],
- [[\string\g@addto@macro\string\TRP@list{]],
- tr,
- [[}}\fi]],
- })
- if not get_macro"TRP@list":find(tr) then
- texsprint(catat11,[[\global\TRP@reruntrue]])
+ if new then
+ local val = format(pdfetcs.resfmt, on)
+ if pdfmanagement then
+ texsprint {
+ "\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/ExtGState}{", key, "}{", val, "}"
+ }
+ else
+ local tr = format("/%s %s", key, val)
+ if is_defined(pdfetcs.pgfextgs) then
+ texsprint { "\\csname ", pdfetcs.pgfextgs, "\\endcsname{", tr, "}" }
+ elseif pdfmode then
+ if is_defined"TRP@list" then
+ texsprint(catat11,{
+ [[\if@filesw\immediate\write\@auxout{]],
+ [[\string\g@addto@macro\string\TRP@list{]],
+ tr,
+ [[}}\fi]],
+ })
+ if not get_macro"TRP@list":find(tr) then
+ texsprint(catat11,[[\global\TRP@reruntrue]])
+ end
+ else
+ pdfetcs.fallback_update_resources("ExtGState", tr)
end
else
- pdfetcs.fallback_update_resources("ExtGState", tr)
+ texsprint { "\\special{pdf:put @MPlibTr<<", tr, ">>}" }
end
- else
- texsprint(format("\\special{pdf:put @MPlibTr<<%s>>}",tr))
- texsprint"\\special{pdf:put @resources<</ExtGState @MPlibTr>>}"
end
end
- return on
+ if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfextgs) then
+ texsprint"\\special{pdf:put @resources <</ExtGState @MPlibTr>>}"
+ pdfetcs.resadded.ExtGState = "@MPlibTr"
+ end
+ return key
end
-
-local function do_preobj_TR(prescript)
+local function do_preobj_TR(object,prescript)
+ if object.postscript == "collect" then return end
local opaq = prescript and prescript.tr_transparency
- local tron_no
if opaq then
+ local key, on, os, new
local mode = prescript.tr_alternative or 1
- mode = transparancy_modes[tonumber(mode)]
- tron_no = update_tr_res(mode, opaq)
- start_pdf_code()
- pdf_literalcode("/MPlibTr%i gs",tron_no)
+ mode = transparancy_modes[tonumber(mode)] or mode
+ for i,v in ipairs{ {mode,opaq},{"Normal",1} } do
+ mode, opaq = v[1], v[2]
+ os = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
+ on, new = update_pdfobjs(os)
+ key = add_extgs_resources(on,new)
+ if i == 1 then
+ pdf_literalcode("/%s gs",key)
+ else
+ return format("/%s gs",key)
+ end
+ end
end
- return tron_no
end
local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,steps,fractions)
- if pdfmode and not pdfmanagement and not pdfetcs.Shading_res then
- pdfetcs.initialize_resources"Shading"
- end
local fun2fmt,os = "<</FunctionType 2/Domain [%s]/C0 [%s]/C1 [%s]/N 1>>"
if steps > 1 then
local list,bounds,encode = { },{ },{ }
@@ -1736,7 +1824,7 @@ local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,st
encode[2*i-1] = 0
encode[2*i] = 1
os = fun2fmt:format(domain,tableconcat(ca[i],' '),tableconcat(cb[i],' '))
- list[i] = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s",update_pdfobjs(os))
+ list[i] = format(pdfetcs.resfmt, update_pdfobjs(os))
end
os = tableconcat {
"<</FunctionType 3",
@@ -1748,7 +1836,7 @@ local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,st
else
os = fun2fmt:format(domain,tableconcat(ca[1],' '),tableconcat(cb[1],' '))
end
- local objref = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s",update_pdfobjs(os))
+ local objref = format(pdfetcs.resfmt, update_pdfobjs(os))
os = tableconcat {
format("<</ShadingType %i", shtype),
format("/ColorSpace %s", colorspace),
@@ -1757,21 +1845,25 @@ local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,st
"/Extend [true true]/AntiAlias true>>",
}
local on, new = update_pdfobjs(os)
- if not new then return on end
- local key = format("MPlibSh%s", on)
- local val = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s", on)
- if pdfmanagement then
- texsprint(ccexplat,
- format("\\pdfmanagement_add:nnn{Page/Resources/Shading}{%s}{%s}", key, val))
- else
- local res = format("/%s %s", key, val)
- if pdfmode then
- pdfetcs.fallback_update_resources("Shading", res)
+ if new then
+ local key, val = format("MPlibSh%s", on), format(pdfetcs.resfmt, on)
+ if pdfmanagement then
+ texsprint {
+ "\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/Shading}{", key, "}{", val, "}"
+ }
else
- texsprint(format("\\special{pdf:put @MPlibSh<<%s>>}", res))
- texsprint"\\special{pdf:put @resources<</Shading @MPlibSh>>}"
+ local res = format("/%s %s", key, val)
+ if pdfmode then
+ pdfetcs.fallback_update_resources("Shading", res)
+ else
+ texsprint { "\\special{pdf:put @MPlibSh<<", res, ">>}" }
+ end
end
end
+ if not pdfmode and not pdfmanagement then
+ texsprint"\\special{pdf:put @resources <</Shading @MPlibSh>>}"
+ pdfetcs.resadded.Shading = "@MPlibSh"
+ end
return on
end
@@ -1802,7 +1894,9 @@ end })
local function do_preobj_SH(object,prescript)
local shade_no
local sh_type = prescript and prescript.sh_type
- if sh_type then
+ if not sh_type then
+ return
+ else
local domain = prescript.sh_domain or "0 1"
local centera = prescript.sh_center_a or "0 0"; centera = centera:explode()
local centerb = prescript.sh_center_b or "0 0"; centerb = centerb:explode()
@@ -1850,15 +1944,14 @@ local function do_preobj_SH(object,prescript)
local script = object.prescript:explode"\13+"
for i=#script,1,-1 do
if script[i]:find"mplib_spotcolor" then
- local name, value
- objref, name = script[i]:match"=(.-):(.+)"
- value = script[i+1]:match"=(.+)"
+ local t, name, value = script[i]:explode"="[2]:explode":"
+ value, objref, name = t[1], t[2], t[3]
if not names[name] then
pos = pos+1
names[name] = pos
names[#names+1] = name
end
- local t = { }
+ t = { }
for j=1,names[name] do t[#t+1] = 0 end
t[#t+1] = value
tableinsert(#ca == #cb and ca or cb, t)
@@ -1914,6 +2007,437 @@ local function do_preobj_SH(object,prescript)
return shade_no
end
+pdfetcs.patterns = { }
+local patterns = pdfetcs.patterns
+local function gather_resources (optres)
+ local t, do_pattern = { }, not optres
+ local names = {"ExtGState","ColorSpace","Shading"}
+ if do_pattern then
+ names[#names+1] = "Pattern"
+ end
+ if pdfmode then
+ if pdfmanagement then
+ for _,v in ipairs(names) do
+ local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
+ if pp and pp:find"__prop_pair" then
+ t[#t+1] = format("/%s %s 0 R", v, ltx.pdf.object_id("__pdf/Page/Resources/"..v))
+ end
+ end
+ else
+ local res = pdfetcs.getpageres() or ""
+ run_tex_code[[\mplibtmptoks\expandafter{\the\pdfvariable pageresources}]]
+ res = res .. texgettoks'mplibtmptoks'
+ if do_pattern then return res end
+ res = res:explode"/+"
+ for _,v in ipairs(res) do
+ v = v:match"^%s*(.-)%s*$"
+ if not v:find"Pattern" and not optres:find(v) then
+ t[#t+1] = "/" .. v
+ end
+ end
+ end
+ else
+ if pdfmanagement then
+ for _,v in ipairs(names) do
+ local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
+ if pp and pp:find"__prop_pair" then
+ run_tex_code {
+ "\\mplibtmptoks\\expanded{{",
+ format("/%s \\csname pdf_object_ref:n\\endcsname{__pdf/Page/Resources/%s}",v,v),
+ "}}",
+ }
+ t[#t+1] = texgettoks'mplibtmptoks'
+ end
+ end
+ elseif is_defined(pdfetcs.pgfextgs) then
+ run_tex_code ({
+ "\\mplibtmptoks\\expanded{{",
+ "\\ifpgf@sys@pdf@extgs@exists /ExtGState @pgfextgs\\fi",
+ "\\ifpgf@sys@pdf@colorspaces@exists /ColorSpace @pgfcolorspaces\\fi",
+ do_pattern and "\\ifpgf@sys@pdf@patterns@exists /Pattern @pgfpatterns \\fi" or "",
+ "}}",
+ }, catat11)
+ t[#t+1] = texgettoks'mplibtmptoks'
+ elseif do_pattern then
+ for _,v in ipairs(names) do
+ local vv = pdfetcs.resadded[v]
+ if vv then
+ t[#t+1] = format("/%s %s", v, vv)
+ end
+ end
+ end
+ end
+ return tableconcat(t)
+end
+function luamplib.registerpattern ( boxid, name, opts )
+ local box = texgetbox(boxid)
+ local wd = format("%.3f",box.width/factor)
+ local hd = format("%.3f",(box.height+box.depth)/factor)
+ info("w/h/d of '%s': %s %s 0.0", name, wd, hd)
+ if opts.xstep == 0 then opts.xstep = nil end
+ if opts.ystep == 0 then opts.ystep = nil end
+ if opts.colored == nil then
+ opts.colored = opts.coloured
+ if opts.colored == nil then
+ opts.colored = true
+ end
+ end
+ if type(opts.matrix) == "table" then opts.matrix = tableconcat(opts.matrix," ") end
+ if type(opts.bbox) == "table" then opts.bbox = tableconcat(opts.bbox," ") end
+ if opts.matrix and opts.matrix:find"%a" then
+ local data = format("mplibtransformmatrix(%s);",opts.matrix)
+ process(data,"@mplibtransformmatrix")
+ local t = luamplib.transformmatrix
+ opts.matrix = format("%s %s %s %s", t[1], t[2], t[3], t[4])
+ opts.xshift = opts.xshift or t[5]
+ opts.yshift = opts.yshift or t[6]
+ end
+ local attr = {
+ "/Type/Pattern",
+ "/PatternType 1",
+ format("/PaintType %i", opts.colored and 1 or 2),
+ "/TilingType 2",
+ format("/XStep %s", opts.xstep or wd),
+ format("/YStep %s", opts.ystep or hd),
+ format("/Matrix [%s %s %s]", opts.matrix or "1 0 0 1", opts.xshift or 0, opts.yshift or 0),
+ }
+ local optres = opts.resources or ""
+ optres = optres .. gather_resources(optres)
+ if pdfmode then
+ if opts.bbox then
+ attr[#attr+1] = format("/BBox [%s]", opts.bbox)
+ end
+ local index = tex.saveboxresource(boxid, tableconcat(attr), optres, true, opts.bbox and 4 or 1)
+ patterns[name] = { id = index, colored = opts.colored }
+ else
+ local objname = "@mplibpattern"..name
+ local metric = format("bbox %s", opts.bbox or format("0 0 %s %s",wd,hd))
+ texsprint {
+ "\\ifvmode\\nointerlineskip\\fi\\vbox to0pt{\\vss\\hbox to0pt{",
+ "\\special{pdf:bcontent}",
+ "\\special{pdf:bxobj ", objname, " ", metric, "}",
+ "\\raise\\dp ", boxid, "\\box ", boxid,
+ "\\special{pdf:put @resources <<", optres, ">>}",
+ "\\special{pdf:exobj <<", tableconcat(attr), ">>}",
+ "\\special{pdf:econtent}",
+ "\\hss}}",
+ }
+ patterns[#patterns+1] = objname
+ patterns[name] = { id = #patterns, colored = opts.colored }
+ end
+end
+local function pattern_colorspace (cs)
+ local on, new = update_pdfobjs(format("[/Pattern %s]", cs))
+ if new then
+ local key, val = format("MPlibCS%i",on), format(pdfetcs.resfmt,on)
+ if pdfmanagement then
+ texsprint {
+ "\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/ColorSpace}{", key, "}{", val, "}"
+ }
+ else
+ local res = format("/%s %s", key, val)
+ if is_defined(pdfetcs.pgfcolorspace) then
+ texsprint { "\\csname ", pdfetcs.pgfcolorspace, "\\endcsname{", res, "}" }
+ elseif pdfmode then
+ pdfetcs.fallback_update_resources("ColorSpace", res)
+ else
+ texsprint { "\\special{pdf:put @MPlibCS<<", res, ">>}" }
+ end
+ end
+ end
+ if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfcolorspace) then
+ texsprint"\\special{pdf:put @resources <</ColorSpace @MPlibCS>>}"
+ pdfetcs.resadded.ColorSpace = "@MPlibCS"
+ end
+ return on
+end
+local function do_preobj_PAT(object, prescript)
+ local name = prescript and prescript.mplibpattern
+ if not name then return end
+ local patt = patterns[name]
+ local index = patt and patt.id or err("cannot get pattern object '%s'", name)
+ local key = format("MPlibPt%s",index)
+ if patt.colored then
+ pdf_literalcode("/Pattern cs /%s scn", key)
+ else
+ local color = prescript.mpliboverridecolor
+ if not color then
+ local t = object.color
+ color = t and #t>0 and luamplib.colorconverter(t)
+ end
+ if not color then return end
+ local cs
+ if color:find" cs " or color:find"@pdf.obj" then
+ local t = color:explode()
+ if pdfmode then
+ cs = format("%s 0 R", ltx.pdf.object_id( t[1]:sub(2,-1) ))
+ color = t[3]
+ else
+ cs = t[2]
+ color = t[3]:match"%[(.+)%]"
+ end
+ else
+ local t = colorsplit(color)
+ cs = #t == 4 and "/DeviceCMYK" or #t == 3 and "/DeviceRGB" or "/DeviceGray"
+ color = tableconcat(t," ")
+ end
+ pdf_literalcode("/MPlibCS%i cs %s /%s scn", pattern_colorspace(cs), color, key)
+ end
+ if not patt.done then
+ local val = pdfmode and format("%s 0 R",index) or patterns[index]
+ if pdfmanagement then
+ texsprint {
+ "\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/Pattern}{", key, "}{", val, "}"
+ }
+ else
+ local res = format("/%s %s", key, val)
+ if is_defined(pdfetcs.pgfpattern) then
+ texsprint { "\\csname ", pdfetcs.pgfpattern, "\\endcsname{", res, "}" }
+ elseif pdfmode then
+ pdfetcs.fallback_update_resources("Pattern", res)
+ else
+ texsprint { "\\special{pdf:put @MPlibPt<<", res, ">>}" }
+ end
+ end
+ end
+ if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfpattern) then
+ texsprint"\\special{pdf:put @resources <</Pattern @MPlibPt>>}"
+ pdfetcs.resadded.Pattern = "@MPlibPt"
+ end
+ patt.done = true
+end
+
+pdfetcs.fading = { }
+local function do_preobj_FADE (object, prescript)
+ local fd_type = prescript and prescript.mplibfadetype
+ local fd_stop = prescript and prescript.mplibfadestate
+ if not fd_type then
+ return fd_stop -- returns "stop" (if picture) or nil
+ end
+ local bbox = prescript.mplibfadebbox:explode":"
+ local dx, dy = -bbox[1], -bbox[2]
+ local vec = prescript.mplibfadevector; vec = vec and vec:explode":"
+ if not vec then
+ if fd_type == "linear" then
+ vec = {bbox[1], bbox[2], bbox[3], bbox[2]} -- left to right
+ else
+ local centerx, centery = (bbox[1]+bbox[3])/2, (bbox[2]+bbox[4])/2
+ vec = {centerx, centery, centerx, centery} -- center for both circles
+ end
+ end
+ local coords = { vec[1]+dx, vec[2]+dy, vec[3]+dx, vec[4]+dy }
+ if fd_type == "linear" then
+ coords = format("%f %f %f %f", tableunpack(coords))
+ elseif fd_type == "circular" then
+ local width, height = bbox[3]-bbox[1], bbox[4]-bbox[2]
+ local radius = (prescript.mplibfaderadius or "0:"..math.sqrt(width^2+height^2)/2):explode":"
+ tableinsert(coords, 3, radius[1])
+ tableinsert(coords, radius[2])
+ coords = format("%f %f %f %f %f %f", tableunpack(coords))
+ else
+ err("unknown fading method '%s'", fd_type)
+ end
+ bbox = format("0 0 %f %f", bbox[3]+dx, bbox[4]+dy)
+ fd_type = fd_type == "linear" and 2 or 3
+ local opaq = (prescript.mplibfadeopacity or "1:0"):explode":"
+ local on, os, new
+ on = sh_pdfpageresources(fd_type, "0 1", "/DeviceGray", {{opaq[1]}}, {{opaq[2]}}, coords, 1)
+ os = format("<</PatternType 2/Shading %s>>", format(pdfetcs.resfmt, on))
+ on = update_pdfobjs(os)
+ local streamtext = format("q /Pattern cs/MPlibFd%s scn %s re f Q", on, bbox)
+ os = format("<</Pattern<</MPlibFd%s %s>>>>", on, format(pdfetcs.resfmt, on))
+ on = update_pdfobjs(os)
+ local resources = "/Resources " .. format(pdfetcs.resfmt, on)
+ on = update_pdfobjs"<</S/Transparency/CS/DeviceGray>>"
+ local attr = tableconcat{
+ "/Subtype/Form",
+ format("/BBox[%s]", bbox),
+ format("/Matrix[1 0 0 1 %f %f]", -dx, -dy),
+ resources,
+ "/Group ", format(pdfetcs.resfmt, on),
+ }
+ on = update_pdfobjs(attr, streamtext)
+ os = "<</SMask<</S/Luminosity/G " .. format(pdfetcs.resfmt, on) .. ">>>>"
+ on, new = update_pdfobjs(os)
+ local key = add_extgs_resources(on,new)
+ start_pdf_code()
+ pdf_literalcode("/%s gs", key)
+ if fd_stop then return "standalone" end
+ return "start"
+end
+
+pdfetcs.tr_group = { shifts = { } }
+luamplib.trgroupshifts = pdfetcs.tr_group.shifts
+local function do_preobj_GRP (object, prescript)
+ local grstate = prescript and prescript.gr_state
+ if not grstate then return end
+ local trgroup = pdfetcs.tr_group
+ if grstate == "start" then
+ trgroup.name = prescript.mplibgroupname or "lastmplibgroup"
+ trgroup.isolated, trgroup.knockout = false, false
+ for _,v in ipairs(prescript.gr_type:explode",+") do
+ trgroup[v] = true
+ end
+ local p = object.path
+ trgroup.bbox = {
+ math.min(p[1].x_coord, p[2].x_coord, p[3].x_coord, p[4].x_coord),
+ math.min(p[1].y_coord, p[2].y_coord, p[3].y_coord, p[4].y_coord),
+ math.max(p[1].x_coord, p[2].x_coord, p[3].x_coord, p[4].x_coord),
+ math.max(p[1].y_coord, p[2].y_coord, p[3].y_coord, p[4].y_coord),
+ }
+ put2output[[\begingroup\setbox\mplibscratchbox\hbox\bgroup]]
+ elseif grstate == "stop" then
+ local llx,lly,urx,ury = tableunpack(trgroup.bbox)
+ local grattr = format("/Group<</S/Transparency/I %s/K %s>>",trgroup.isolated,trgroup.knockout)
+ local res = gather_resources()
+ put2output(tableconcat{
+ "\\egroup",
+ format("\\wd\\mplibscratchbox %fbp", urx-llx),
+ format("\\ht\\mplibscratchbox %fbp", ury-lly),
+ "\\dp\\mplibscratchbox 0pt",
+ })
+ if pdfmode then
+ put2output(tableconcat{
+ "\\saveboxresource type 2 attr{/Type/XObject/Subtype/Form/FormType 1",
+ format("/BBox[%f %f %f %f]", llx,lly,urx,ury),
+ grattr, "} resources{", res, "}\\mplibscratchbox",
+ [[\setbox\mplibscratchbox\hbox{\useboxresource\lastsavedboxresourceindex}]],
+ [[\wd\mplibscratchbox 0pt\ht\mplibscratchbox 0pt\dp\mplibscratchbox 0pt]],
+ [[\box\mplibscratchbox\endgroup]],
+ "\\expandafter\\xdef\\csname luamplib.group.", trgroup.name, "\\endcsname{",
+ "\\noexpand\\mplibstarttoPDF{",llx,"}{",lly,"}{",urx,"}{",ury,"}",
+ "\\useboxresource \\the\\lastsavedboxresourceindex\\noexpand\\mplibstoptoPDF}",
+ })
+ else
+ trgroup.cnt = (trgroup.cnt or 0) + 1
+ local objname = format("@mplibtrgr%s", trgroup.cnt)
+ put2output(tableconcat{
+ "\\special{pdf:bxobj ", objname, " bbox ", format("%f %f %f %f", llx,lly,urx,ury), "}",
+ "\\unhbox\\mplibscratchbox",
+ "\\special{pdf:put @resources <<", res, ">>}",
+ "\\special{pdf:exobj <<", grattr, ">>}",
+ "\\special{pdf:uxobj ", objname, "}\\endgroup",
+ "\\expandafter\\gdef\\csname luamplib.group.", trgroup.name, "\\endcsname{",
+ "\\mplibstarttoPDF{",llx,"}{",lly,"}{",urx,"}{",ury,"}",
+ "\\special{pdf:uxobj ", objname, "}\\mplibstoptoPDF}",
+ })
+ end
+ trgroup.shifts[trgroup.name] = { llx, lly }
+ end
+ return grstate
+end
+
+local function stop_special_effects(fade,opaq,over)
+ if fade then -- fading
+ stop_pdf_code()
+ end
+ if opaq then -- opacity
+ pdf_literalcode(opaq)
+ end
+ if over then -- color
+ put2output"\\special{pdf:ec}"
+ end
+end
+
+local function getobjects(result,figure,f)
+ return figure:objects()
+end
+
+function luamplib.convert (result, flusher)
+ luamplib.flush(result, flusher)
+ return true -- done
+end
+
+local function pdf_textfigure(font,size,text,width,height,depth)
+ text = text:gsub(".",function(c)
+ return format("\\hbox{\\char%i}",string.byte(c)) -- kerning happens in metapost : false
+ end)
+ put2output("\\mplibtextext{%s}{%f}{%s}{%s}{%s}",font,size,text,0,0)
+end
+
+local bend_tolerance = 131/65536
+
+local rx, sx, sy, ry, tx, ty, divider = 1, 0, 0, 1, 0, 0, 1
+
+local function pen_characteristics(object)
+ local t = mplib.pen_info(object)
+ rx, ry, sx, sy, tx, ty = t.rx, t.ry, t.sx, t.sy, t.tx, t.ty
+ divider = sx*sy - rx*ry
+ return not (sx==1 and rx==0 and ry==0 and sy==1 and tx==0 and ty==0), t.width
+end
+
+local function concat(px, py) -- no tx, ty here
+ return (sy*px-ry*py)/divider,(sx*py-rx*px)/divider
+end
+
+local function curved(ith,pth)
+ local d = pth.left_x - ith.right_x
+ if abs(ith.right_x - ith.x_coord - d) <= bend_tolerance and abs(pth.x_coord - pth.left_x - d) <= bend_tolerance then
+ d = pth.left_y - ith.right_y
+ if abs(ith.right_y - ith.y_coord - d) <= bend_tolerance and abs(pth.y_coord - pth.left_y - d) <= bend_tolerance then
+ return false
+ end
+ end
+ return true
+end
+
+local function flushnormalpath(path,open)
+ local pth, ith
+ for i=1,#path do
+ pth = path[i]
+ if not ith then
+ pdf_literalcode("%f %f m",pth.x_coord,pth.y_coord)
+ elseif curved(ith,pth) then
+ pdf_literalcode("%f %f %f %f %f %f c",ith.right_x,ith.right_y,pth.left_x,pth.left_y,pth.x_coord,pth.y_coord)
+ else
+ pdf_literalcode("%f %f l",pth.x_coord,pth.y_coord)
+ end
+ ith = pth
+ end
+ if not open then
+ local one = path[1]
+ if curved(pth,one) then
+ pdf_literalcode("%f %f %f %f %f %f c",pth.right_x,pth.right_y,one.left_x,one.left_y,one.x_coord,one.y_coord )
+ else
+ pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
+ end
+ elseif #path == 1 then -- special case .. draw point
+ local one = path[1]
+ pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
+ end
+end
+
+local function flushconcatpath(path,open)
+ pdf_literalcode("%f %f %f %f %f %f cm", sx, rx, ry, sy, tx ,ty)
+ local pth, ith
+ for i=1,#path do
+ pth = path[i]
+ if not ith then
+ pdf_literalcode("%f %f m",concat(pth.x_coord,pth.y_coord))
+ elseif curved(ith,pth) then
+ local a, b = concat(ith.right_x,ith.right_y)
+ local c, d = concat(pth.left_x,pth.left_y)
+ pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(pth.x_coord, pth.y_coord))
+ else
+ pdf_literalcode("%f %f l",concat(pth.x_coord, pth.y_coord))
+ end
+ ith = pth
+ end
+ if not open then
+ local one = path[1]
+ if curved(pth,one) then
+ local a, b = concat(pth.right_x,pth.right_y)
+ local c, d = concat(one.left_x,one.left_y)
+ pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(one.x_coord, one.y_coord))
+ else
+ pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
+ end
+ elseif #path == 1 then -- special case .. draw point
+ local one = path[1]
+ pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
+ end
+end
+
function luamplib.flush (result,flusher)
if result then
local figures = result.fig
@@ -1942,7 +2466,9 @@ function luamplib.flush (result,flusher)
local prescript = object.prescript
prescript = prescript and script2table(prescript) -- prescript is now a table
local cr_over = do_preobj_CR(object,prescript) -- color
- local tr_opaq = do_preobj_TR(prescript) -- opacity
+ local tr_opaq = do_preobj_TR(object,prescript) -- opacity
+ local fading_ = do_preobj_FADE(object,prescript) -- fading
+ local trgroup = do_preobj_GRP(object,prescript) -- transparency group
if prescript and prescript.mplibtexboxid then
put_tex_boxes(object,prescript)
elseif objecttype == "start_bounds" or objecttype == "stop_bounds" then --skip
@@ -1964,7 +2490,7 @@ function luamplib.flush (result,flusher)
pdf_literalcode("%f %f %f %f %f %f cm",ot[3],ot[4],ot[5],ot[6],ot[1],ot[2])
pdf_textfigure(object.font,object.dsize,object.text,object.width,object.height,object.depth)
stop_pdf_code()
- else
+ elseif not trgroup and fading_ ~= "stop" then
local evenodd, collect, both = false, false, false
local postscript = object.postscript
if not object.istext then
@@ -1988,7 +2514,6 @@ function luamplib.flush (result,flusher)
savedhtap[#savedhtap+1] = object.htap or false
end
else
- local shade_no = do_preobj_SH(object,prescript) -- shading
local ml = object.miterlimit
if ml and ml ~= miterlimit then
miterlimit = ml
@@ -2015,6 +2540,8 @@ function luamplib.flush (result,flusher)
pdf_literalcode("[] 0 d")
dashed = false
end
+ local shade_no = do_preobj_SH(object,prescript) -- shading
+ local pattern_ = do_preobj_PAT(object,prescript) -- pattern
local path = object.path
local transformed, penwidth = false, 1
local open = path and path[1].left_type and path[#path].right_type
@@ -2105,11 +2632,21 @@ function luamplib.flush (result,flusher)
end
end
end
- if tr_opaq then -- opacity
- stop_pdf_code()
+ if fading_ == "start" then
+ pdfetcs.fading.specialeffects = {fading_, tr_opaq, cr_over}
+ elseif trgroup == "start" then
+ pdfetcs.tr_group.specialeffects = {fading_, tr_opaq, cr_over}
+ elseif fading_ == "stop" then
+ local se = pdfetcs.fading.specialeffects
+ if se then stop_special_effects(se[1], se[2], se[3]) end
+ elseif trgroup == "stop" then
+ local se = pdfetcs.tr_group.specialeffects
+ if se then stop_special_effects(se[1], se[2], se[3]) end
+ else
+ stop_special_effects(fading_, tr_opaq, cr_over)
end
- if cr_over then -- color
- put2output"\\special{pdf:ec}"
+ if fading_ or trgroup then -- extgs resetted
+ miterlimit, linecap, linejoin, dashed = -1, -1, -1, false
end
end
end
diff --git a/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty b/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty
index 55362792183..257d9957240 100644
--- a/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty
+++ b/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty
@@ -14,7 +14,7 @@
\else
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/05/21 v2.31.0 mplib package for LuaTeX]
+ [2024/07/19 v2.34.1 mplib package for LuaTeX]
\ifx\newluafunction\@undefined
\input ltluatex
\fi
@@ -46,6 +46,41 @@
\catcode`\&=12 \catcode`\$=12 \catcode`\%=12 \catcode`\^^M=12
}
\def\mplibputtextbox#1{\vbox to 0pt{\vss\hbox to 0pt{\raise\dp#1\copy#1\hss}}}
+\protected\def\usemplibgroup#1{\csname luamplib.group.#1\endcsname}
+{\def\:{\global\let\mplibsptoken= } \: }
+\protected\def\mppattern#1{%
+ \begingroup
+ \def\mplibpatternname{#1}%
+ \mplibpatterngetnexttok
+}
+\def\mplibpatterngetnexttok{\futurelet\nexttok\mplibpatternbranch}
+\def\mplibpatternskipspace{\afterassignment\mplibpatterngetnexttok\let\nexttok= }
+\def\mplibpatternbranch{%
+ \ifx [\nexttok
+ \expandafter\mplibpatternopts
+ \else
+ \ifx\mplibsptoken\nexttok
+ \expandafter\expandafter\expandafter\mplibpatternskipspace
+ \else
+ \let\mplibpatternoptions\empty
+ \expandafter\expandafter\expandafter\mplibpatternmain
+ \fi
+ \fi
+}
+\def\mplibpatternopts[#1]{%
+ \def\mplibpatternoptions{#1}%
+ \mplibpatternmain
+}
+\def\mplibpatternmain{%
+ \setbox\mplibscratchbox\hbox\bgroup\ignorespaces
+}
+\protected\def\endmppattern{%
+ \egroup
+ \directlua{ luamplib.registerpattern(
+ \the\mplibscratchbox, '\mplibpatternname', {\mplibpatternoptions}
+ )}%
+ \endgroup
+}
\def\mpfiginstancename{@mpfig}
\protected\def\mpfig{%
\begingroup
@@ -66,16 +101,16 @@
\long\def\mplibdomainmpfig#1\endmpfig{%
\endgroup
\directlua{
- local legacy = luamplib.legacy_verbatimtex
+ local legacy = luamplib.legacyverbatimtex
local everympfig = luamplib.everymplib["\mpfiginstancename"] or ""
local everyendmpfig = luamplib.everyendmplib["\mpfiginstancename"] or ""
- luamplib.legacy_verbatimtex = false
+ luamplib.legacyverbatimtex = false
luamplib.everymplib["\mpfiginstancename"] = ""
luamplib.everyendmplib["\mpfiginstancename"] = ""
luamplib.process_mplibcode(
"beginfig(0) "..everympfig.." "..[===[\unexpanded{#1}]===].." "..everyendmpfig.." endfig;",
"\mpfiginstancename")
- luamplib.legacy_verbatimtex = legacy
+ luamplib.legacyverbatimtex = legacy
luamplib.everymplib["\mpfiginstancename"] = everympfig
luamplib.everyendmplib["\mpfiginstancename"] = everyendmpfig
}%
@@ -89,14 +124,14 @@
\long\def\mplibdoprempfig#1\endmpfig{%
\endgroup
\directlua{
- local legacy = luamplib.legacy_verbatimtex
+ local legacy = luamplib.legacyverbatimtex
local everympfig = luamplib.everymplib["\mpfiginstancename"]
local everyendmpfig = luamplib.everyendmplib["\mpfiginstancename"]
- luamplib.legacy_verbatimtex = false
+ luamplib.legacyverbatimtex = false
luamplib.everymplib["\mpfiginstancename"] = ""
luamplib.everyendmplib["\mpfiginstancename"] = ""
luamplib.process_mplibcode([===[\unexpanded{#1}]===],"\mpfiginstancename")
- luamplib.legacy_verbatimtex = legacy
+ luamplib.legacyverbatimtex = legacy
luamplib.everymplib["\mpfiginstancename"] = everympfig
luamplib.everyendmplib["\mpfiginstancename"] = everyendmpfig
}%
@@ -163,9 +198,9 @@
\def\mpliblegacybehavior#1{\directlua{
local s = string.lower("#1")
if s == "enable" or s == "true" or s == "yes" then
- luamplib.legacy_verbatimtex = true
+ luamplib.legacyverbatimtex = true
else
- luamplib.legacy_verbatimtex = false
+ luamplib.legacyverbatimtex = false
end
}}
\def\mplibverbatim#1{\directlua{
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
index 76ebf8716c8..6ef3ff1751e 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-27c}[2024-02-19 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-27c}[2024-05-27 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
@@ -359,10 +359,24 @@
\setfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
+\DeclareDocumentCommand \providejfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \providefontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
\newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
}
+\DeclareDocumentCommand \renewjfontface { m O{} m O{} } {
+ \renewjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \setjfontface { m O{} m O{} } {
+ \setjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \providejfontface { m O{} m O{} } {
+ \providejfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
\prop_new:N \l__ltj_fontspec_tmp_prop
\prop_new:N \g__ltj_fontspec_fontopts_prop
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29c.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29c.sty
index 1415cee1274..51af33447ce 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29c.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29c.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-29c}[2024-05-05 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-29c}[2024-05-27 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
@@ -359,10 +359,24 @@
\setfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
+\DeclareDocumentCommand \providejfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \providefontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
\newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
}
+\DeclareDocumentCommand \renewjfontface { m O{} m O{} } {
+ \renewjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \setjfontface { m O{} m O{} } {
+ \setjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \providejfontface { m O{} m O{} } {
+ \providejfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
\prop_new:N \l__ltj_fontspec_tmp_prop
\prop_new:N \g__ltj_fontspec_fontopts_prop
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29e.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29e.sty
index e763d91ad7d..02a79ad6ca2 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29e.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-29e.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-29e}[2024-05-14 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-29e}[2024-05-27 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
@@ -359,10 +359,24 @@
\setfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
+\DeclareDocumentCommand \providejfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \providefontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
\newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
}
+\DeclareDocumentCommand \renewjfontface { m O{} m O{} } {
+ \renewjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \setjfontface { m O{} m O{} } {
+ \setjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \providejfontface { m O{} m O{} } {
+ \providejfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
\prop_new:N \l__ltj_fontspec_tmp_prop
\prop_new:N \g__ltj_fontspec_fontopts_prop
diff --git a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
index a83c9305c93..69e709f02ee 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjext}[2022-08-24 v1.2k-ltj-14 Macros for vertical writing]
+\ProvidesPackage{lltjext}[2024-05-16 v1.2k-ltj-15 Macros for vertical writing]
\RequirePackage{luatexja}
\newcount\ltj@ext@dir
\let\ltj@lltjext@orig@tabular=\tabular
@@ -541,17 +541,11 @@
\else \let\box@dir\utod
\fi
\fi
-\ifltj@ltfilehook@avail % LaTeX2e >= 2020-10-01
\@defaultunitsset\@picht{#3}\unitlength
\@defaultunitsset\@picwd{#2}\unitlength
\setbox\@picbox\hbox to\@picwd\bgroup\box@dir
\@defaultunitsset\@tempdimc{#4}\unitlength\hskip-\@tempdimc
\@defaultunitsset\@tempdimc{#5}\unitlength\lower\@tempdimc\hbox\bgroup
-\else % <= 2020-02-02
- \@picwd=#2\unitlength \@picht=#3\unitlength
- \setbox\@picbox\hbox to\@picwd\bgroup\box@dir
- \hskip-#4\unitlength\lower#5\unitlength\hbox\bgroup
-\fi
\ltj@@pic@reset@blshift
\ignorespaces}
\def\endpicture{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
index 7e091d161d1..9f6e4d0a365 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
@@ -12,45 +12,14 @@
\def\luatexjalatexLoaded{\endinput}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2022-10-15 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2024-05-16 LaTeX support of LuaTeX-ja]
\endlinechar=13
%%% LaTeX version detection
-\newif\ifltj@ltfilehook@avail
-\@ifl@t@r\fmtversion{2020-10-01}{%
- \@ifl@t@r\fmtversion{2020-10-02}%
- {\ltj@ltfilehook@availtrue}
- {%
- \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
- \else\ltj@ltfilehook@availtrue\fi
- }%
-}{}
-\@ifl@t@r\fmtversion{2021-05-01}{\count@=1 }{\count@=0 }
-\ifnum \count@<1
-%%%% \shipout
- \newluafunction\ltj@@lua@shipout@inner
- \directlua{
- local t = lua.get_functions_table()
- local getbox, setbox = tex.getbox, tex.setbox
- local shipout_lthook = luatexja.direction.shipout_lthook
- t[\the\ltj@@lua@shipout@inner]=function ()
- local a = shipout_lthook(getbox(\the\ltj@afbox))
- if a then setbox(\the\ltj@afbox, a) end
- end
- }
- \protected\luadef\ltj@@lua@shipout\ltj@@lua@shipout@inner
- \def\ltj@shipout@{\ltj@@lua@shipout\primitive\shipout\box\ltj@afbox}%
- \protected\def\ltj@shipout{\ltj@afterbox\ltj@shipout@}
- \ifprimitive\shipout\let\shipout\ltj@shipout\fi
- \ifcsname tex_shipout:D\endcsname
- \expandafter\let\csname tex_shipout:D\endcsname\ltj@shipout
- \fi
-\else
- \directlua{%
- luatexbase.add_to_callback('pre_shipout_filter',luatexja.direction.shipout_lthook, 'ltj.direction', 1)
- }
-\fi
+\directlua{%
+ luatexbase.add_to_callback('pre_shipout_filter',luatexja.direction.shipout_lthook, 'ltj.direction', 1)
+}
%%% patch for LaTeX
\usepackage{lltjfont}
@@ -59,36 +28,30 @@
\RequirePackage{lltjp-atbegshi}
%%% patching commands
-\ifltj@ltfilehook@avail
- %% \ltj@ExecuteBeforePackage <package><code> and \ltj@ExecuteAfterPackage <package><code>
- %% no-starred version: do nothing if the <package> is loaded
- %% starred version: do <code> right away if the <package> is loaded
- \def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
- \def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
- \@ifl@t@r\fmtversion{2021-11-15}{% 2021-11-15
- \def\@@ltj@ExecuteAfterPackage@star#1{\AddToHook{package/#1/after}}
- \def\@@ltj@ExecuteBeforePackage@star#1{\AddToHook{package/#1/before}}
- \long\def\@@ltj@ExecuteAfterPackage#1#2{%
- \@ifpackageloaded{#1}{}{\AddToHook{package/#1/after}{#2}}%
- }
- \long\def\@@ltj@ExecuteBeforePackage#1#2{%
- \@ifpackageloaded{#1}{}{\AddToHook{package/#1/before}{#2}}%
- }
- }{
- \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
- \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
- \long\def\@@ltj@ExecuteAfterPackage@star#1#2{%
- \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
- }
- \long\def\@@ltj@ExecuteBeforePackage@star#1#2{%
- \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
- }
+%% \ltj@ExecuteBeforePackage <package><code> and \ltj@ExecuteAfterPackage <package><code>
+%% no-starred version: do nothing if the <package> is loaded
+%% starred version: do <code> right away if the <package> is loaded
+\def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
+\def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
+\@ifl@t@r\fmtversion{2021-11-15}{% 2021-11-15
+ \def\@@ltj@ExecuteAfterPackage@star#1{\AddToHook{package/#1/after}}
+ \def\@@ltj@ExecuteBeforePackage@star#1{\AddToHook{package/#1/before}}
+ \long\def\@@ltj@ExecuteAfterPackage#1#2{%
+ \@ifpackageloaded{#1}{}{\AddToHook{package/#1/after}{#2}}%
}
-\else
- \RequirePackage{filehook}
- \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
- \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
-\fi
+ \long\def\@@ltj@ExecuteBeforePackage#1#2{%
+ \@ifpackageloaded{#1}{}{\AddToHook{package/#1/before}{#2}}%
+ }
+}{
+ \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
+ \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
+ \long\def\@@ltj@ExecuteAfterPackage@star#1#2{%
+ \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
+ }
+ \long\def\@@ltj@ExecuteBeforePackage@star#1#2{%
+ \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
+ }
+}
\def\ltj@pkgpatch@im#1{\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
\def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}}
\def\ltj@pkgpatch@im@@#1{%
@@ -101,11 +64,7 @@
}
\def\ltj@pkgpatch#1{\@ifnextchar[{\ltj@pkgpatch@{#1}}{\ltj@pkgpatch@{#1}[lltjp-#1]}}%]
-\ifltj@ltfilehook@avail
- \def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
-\else
- \def\ltj@pkgpatch@@{\gpreto\@begindocumenthook}
-\fi
+\def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
\def\ltj@pkgpatch@#1[#2]{%
\ltj@pkgpatch@@{%
\@ifpackageloaded{#1}{\@ifpackageloaded{#2}{}{\RequirePackage{#2}}}{}%
@@ -121,18 +80,12 @@
\ltj@pkgpatch{tascmac}
\ltj@pkgpatch{ascmac}[lltjp-tascmac]
\ltj@pkgpatch@im{stfloats}
-\ifltj@ltfilehook@avail\else
- \ltj@pkgpatch{preview} %% at \begin{document}
- % (preview package has delayed option)
-\fi
\ltj@pkgpatch{array} %% at \begin{document}
\ltj@pkgpatch{collcell} %% at \begin{document}
\ltj@pkgpatch@im{unicode-math}
\ltj@pkgpatch@im{siunitx}
\ltj@pkgpatch@im{microtype}
-\ifltj@ltfilehook@avail\else\ltj@pkgpatch@im{everyshi}\fi
-
\RequirePackage{lltjp-geometry}
\ltj@ExecuteBeforePackage{breqn}{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
index 43ecac806c2..8f5632be4e3 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
@@ -156,16 +156,17 @@ function set_box_stack_level(head, mode)
if ltjs.list_dir == dir_tate then
for p in traverse_glyph(to_direct(head)) do
if getlang(p)==lang_ja and has_attr(p, attr_icflag, 0) then
- local pf = ltjf_replace_altfont(attr_curtfnt, getchar(p), p)
+ local pc = ltjs_orig_char_table[p] or getchar(p)
+ local pf = ltjf_replace_altfont(attr_curtfnt, pc, p)
if ltjf_font_metric_table[pf].vert_activated then
- local pc = ltjf_font_metric_table[pf].vform[pc]; if pc then setchar(p, pc) end
+ pc = ltjf_font_metric_table[pf].vform[pc]; if pc then setchar(p, pc) end
end
end
end
else
for p in traverse_glyph(to_direct(head)) do
if getlang(p)==lang_ja and has_attr(p, attr_icflag, 0) then
- ltjf_replace_altfont(attr_curjfnt, getchar(p), p)
+ ltjf_replace_altfont(attr_curjfnt, ltjs_orig_char_table[p] or getchar(p), p)
end
end
end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua
index 88352dd5b24..2b65eb5e5c7 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua
@@ -15,7 +15,7 @@ do
end
local cidfont_data = {}
local cache_chars = {}
-local cache_ver = 13
+local cache_ver = 14
local identifiers = fonts.hashes.identifiers
local cid_reg, cid_order, cid_supp, cid_name
@@ -147,7 +147,7 @@ do
descender = 655360*0.12,
},
embedding = "no", cache = "yes", factor = 0, hfactor = 0, vfactor = 0,
- tounicode = 1,
+ tounicode = 1, filename="",
properties = { language = "dflt", script = "dflt" },
}
cidfont_data[cid_name] = k
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
index a54ede6758b..f9ae793bb40 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
@@ -27,7 +27,7 @@
\newif\ifltj@disablejfam
%%%% VERSION
-\def\LuaTeXjaversion{20240514.0}
+\def\LuaTeXjaversion{20240714.0}
%% Check if LaTeX is used.
\begingroup\expandafter\expandafter\expandafter\endgroup
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
index bb63ac68774..00c858e3493 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2022-01-23 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2024-05-16 Default font settings of LuaTeX-ja]
\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
@@ -18,13 +18,8 @@
\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
\kanjifamily{mc}
-\ifnum\ltj@@latex@plv<1500 % <=2020-10-01
- \kanjiseries{m}
- \kanjishape{n}
-\else % >=2021-06-01
- \def\k@series{m}
- \def\k@shape{n}
-\fi
+\def\k@series{m}
+\def\k@shape{n}
\fontsize{10}{10}
\DeclareYokoKanjiEncoding{JY3}{}{}
\DeclareKanjiSubstitution{JY3}{mc}{m}{n}
@@ -37,12 +32,7 @@
\newcommand\kanjiencodingdefault{JY3}
\newcommand\kanjifamilydefault{\mcdefault}
\newcommand\kanjiseriesdefault{\mddefault}
-\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
- %% LaTeX 2020-02-02
- \newcommand\kanjishapedefault{\shapedefault}
-\else%% LaTeX 2019-10-01
- \newcommand\kanjishapedefault{\updefault}
-\fi
+\newcommand\kanjishapedefault{\shapedefault}
\DeclareKanjiFamily{JY3}{mc}{}
\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi]
@@ -90,57 +80,36 @@
\DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
\fi
-\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
-%%%% LaTeX >= 2020-02-02
\edef\bfseries@mc{\bfdefault}
\edef\bfseries@gt{\bfdefault}
\def\bfseries@jtt{\bfseries@mc}
\edef\mdseries@mc{\mddefault}
\edef\mdseries@gt{\mddefault}
\def\mdseries@jtt{\mdseries@mc}
-\fi
\newif\if@ltj@match@family
\@ltj@match@familyfalse
\def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}
-\def\@ltj@hook@family#1#2{% #1: csname #2: contents
- \ifltj@ltfilehook@avail % LaTeX 2020-10-01
- \AddToHook{#1}{#2}%
- \else\ifcsname @#1hook\endcsname % LaTeX 2020-02-02
- \csappto{@#1hook}{#2}%
- \else % LaTeX 2019-10-01
- \ifcsname #1 \endcsname
- \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
- \else
- \PackageWarningNoLine{luatexja}{%
- Patching to \expandafter\string\csname #1\endcsname\space failed%
- }%
- \fi
- \fi\fi
-}
-\@ltj@hook@family{rmfamily}{%
+\AddToHook{rmfamily}{%
\if@ltj@match@family
\prepare@family@series@update@kanji{mc}\mcdefault
\fi
}
-\@ltj@hook@family{sffamily}{%
+\AddToHook{sffamily}{%
\if@ltj@match@family
\prepare@family@series@update@kanji{gt}\gtdefault
\fi
}
-\@ltj@hook@family{ttfamily}{%
+\AddToHook{ttfamily}{%
\if@ltj@match@family
\prepare@family@series@update@kanji{jtt}\jttdefault
\fi
}
-\let\@ltj@hook@family\@undefined
-\ifltj@ltfilehook@avail % 2020-10-01
- \expandafter\def\expandafter\kanjiseriesdefault
- \expandafter{\kanjiseriesdefault\@empty}
- \let\kanjiseriesdefault@kernel\kanjiseriesdefault
-\fi
+\expandafter\def\expandafter\kanjiseriesdefault
+ \expandafter{\kanjiseriesdefault\@empty}
+\let\kanjiseriesdefault@kernel\kanjiseriesdefault
%%% \eminnershape
\expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
index 2efc9435ab8..52ac44d5ccb 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
@@ -3,31 +3,10 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2023-04-13 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2023-05-16 Patch to NFSS2 for LuaTeX-ja]
%%%%%%%% LaTeX2e version detection
-\newcount\ltj@@latex@plv \ltj@@latex@plv=-1
-\ifltj@ltfilehook@avail
-\ExplSyntaxOn
- \cs_if_exist:NTF \__shipout_execute_main_cont:Nnnn
- {\ltj@@latex@plv=1500}% 2021-06-01
- {\ifnum\patch@level>2\relax \ltj@@latex@plv=1300\else \ltj@@latex@plv=1000\fi}% 2020-10-01
-\ExplSyntaxOff
-\else\ifdefined\@rmfamilyhook % 2020-02-02
- \ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2
- \@latex@error
- {Please update LaTeX2e!^^J\space\space
- At least LaTeX2e 2020-02-02 patch level 3 is required}%
- {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
- \else
- \ltj@@latex@plv=300
- \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop
- \ltj@@latex@plv=501
- \else\unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
- \ltj@@latex@plv=500
- \fi\fi
- \fi
-\fi\fi
+\newcount\ltj@@latex@plv \ltj@@latex@plv=1500
%% patching \DeclareTextComposite
\def\ltj@chardef@text@cmd#1{%
@@ -400,59 +379,7 @@
\directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
}%
\fi}
-\ifnum\ltj@@latex@plv<1500 % <=2020-10-01
-\protected\def\ltj@selectfont@patch{%
- \ltj@@start@time@measure{selectfont}%
- \let\tmp@error@fontshape\error@fontshape
- \let\error@fontshape\error@kfontshape
- \ltj@@is@kyenc{\k@encoding}\ifin@%
- \let\cy@encoding\k@encoding
- \ensure@KanjiEncodingPair{t}%
- \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
- \else
- \ltj@@is@ktenc{\k@encoding}\ifin@%
- \let\ct@encoding\k@encoding
- \ensure@KanjiEncodingPair{y}%
- \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
- \else
- \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
- \fi
- \fi
- \global\let\ltj@afont@name=\font@name
- \ltj@selectfont@tate\ltj@selectfont@yoko
-%
- \edef\tmp@item{{\k@encoding}}\expandafter\def\expandafter\k@encoding\tmp@item
- \kenc@update
- \global\let\font@name=\ltj@afont@name
- \let\error@fontshape\tmp@error@fontshape
- \if@knjcmd \@knjcmdfalse
- \expandafter\ifx
- \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
- \expandafter\ifx
- \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax
- \else
- \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\selectfont
- % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
- \fi
- \else
- \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\selectfont
- % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
- \fi
- \fi
- \global\let\font@name=\ltj@afont@name
- \ltj@@stop@time@measure{selectfont}%
-}
-\RequirePackage{everysel}
-\let\ltj@@EverySelectfont@Init=\@EverySelectfont@Init
-\expandafter\expandafter\expandafter\let
-\expandafter\expandafter\csname ltj@@orig@selectfont\endcsname\csname selectfont\space\endcsname
-\@EverySelectfont@Init% for LaTeX2e <=2020-10-01
-\def\@EverySelectfont@Init{%
- \expandafter\let\csname selectfont\space \endcsname \ltj@@orig@selectfont
- \ltj@@EverySelectfont@Init
-}
-\EverySelectfont{\ltj@selectfont@patch}
-\else % LaTeX2e >=2021-06-01
+
\AddToHook{selectfont}[luatexja]{%
\ltj@@start@time@measure{selectfont}%
\ifx\delayed@k@adjustment\@empty
@@ -514,7 +441,6 @@
\global\let\font@name=\ltj@afont@name
\ltj@@stop@time@measure{selectfont}%
}
-\fi
\bgroup
\def\ltj@@dir@patch#1#2#3{%
@@ -721,8 +647,6 @@
}
%%%%%%
-\ifnum\ltj@@latex@plv>0
-%%%% LaTeX >= 2020-02-02
\newif\if@shape@roman@kanji
\def\merge@kanji@series#1{%
@@ -740,76 +664,11 @@
\@nil
}
-\ifnum\ltj@@latex@plv>500 % !!! pl5 + develop
\def\set@target@series@kanji#1{%
\edef\k@series{#1}%
\series@maybe@drop@one@m\k@series\k@series
}
-\else\ifnum\ltj@@latex@plv>300 % !!! pl5
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series
- }
-\else % !!! pl 3, 4
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
- }
-\fi\fi
-\ifnum\ltj@@latex@plv<1500% <=2020-10-01
-\def\merge@kanji@series@#1#2#3\@nil{%
- \def\reserved@a{#3}%
- \ifx\reserved@a\@empty
- \set@target@series@kanji{#2}%
- \else
- \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
- \edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}%
- \ifcsname \reserved@a \endcsname
- \set@target@series@kanji{#1}%
- \else
- \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname
- \set@target@series@kanji{#2}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \else
- \set@target@series@kanji{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \fi
- \fi
- \fi
-}
-\def\merge@kanji@shape@#1#2#3\@nil{%
- \def\reserved@a{#3}%
- \ifx\reserved@a\@empty
- \if@shape@roman@kanji
- \set@safe@kanji@shape{#2}{}%
- \else
- \edef\k@shape{#2}%
- \fi
- \else
- \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
- \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}%
- \ifcsname \reserved@a\endcsname
- \edef\k@shape{#1}%
- \else
- \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname
- \edef\k@shape{#2}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \else
- \if@shape@roman@kanji
- \set@safe@kanji@shape{#3}%
- {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}%
- \else
- \edef\k@shape{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \fi
- \fi
- \fi
- \fi
-}
-\else % >=2021-06-01
\def\merge@kanji@series@#1#2#3\@nil{%
\def\reserved@a{#3}%
\ifx\reserved@a\@empty
@@ -892,20 +751,8 @@
\fi
}
\let\delayed@merge@kanji@shape\merge@kanji@shape@without@substitution
-\fi
\newif\if@forced@series@kanji
-\ifnum\ltj@@latex@plv=300 % 2020-02-02 pl3, 4
- \DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}}
- \DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}}
- \DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}}
-\else\ifnum\ltj@@latex@plv<1500% >=2020-02-02 pl5 and <=2020-10-01
- \DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseries[1]{\@forced@series@kanjifalse\merge@kanji@series{#1}}
- \DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}}
- \DeclareRobustCommand\kanjiseriesforce[1]{\@forced@series@kanjitrue\edef\k@series{#1}}
-\else% >=2021-06-01
\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse
\expandafter\def\expandafter\delayed@f@adjustment\expandafter
{\delayed@f@adjustment\delayed@merge@font@series{#1}}}
@@ -919,22 +766,9 @@
\expandafter\def\expandafter\delayed@k@adjustment\expandafter
{\delayed@k@adjustment\edef\k@series{#1}}}
\let\delayed@k@adjustment\@empty
-\fi\fi
\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}%
\DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}%
-\ifnum\ltj@@latex@plv<1500% <=2020-10-01
- \DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
- \DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
- \DeclareRobustCommand\fontshape[1]{%
- \@shape@roman@kanjitrue
- \merge@font@shape{#1}\merge@kanji@shape{#1}%
- \@shape@roman@kanjifalse
- }
- \DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
- \DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
- \DeclareRobustCommand\fontshapeforce[1]{\set@safe@kanji@shape{#1}{}\romanshapeforce{#1}}
-\else% >=2021-06-01
\DeclareRobustCommand\romanshape[1]{%
\expandafter\def\expandafter\delayed@f@adjustment\expandafter
{\delayed@f@adjustment\delayed@merge@font@shape{#1}}}
@@ -956,9 +790,6 @@
\romanshapeforce{#1}%
\expandafter\def\expandafter\delayed@k@adjustment\expandafter
{\delayed@k@adjustment\set@safe@kanji@shape{#1}{}}}
-\fi
-\ifnum\ltj@@latex@plv>1499
-%%%% LaTeX >= 2021-06-01
\DeclareRobustCommand\usekanji[4]{%
\kanjiencoding{#1}\edef\k@family{#2}%
\set@target@series@kanji{#3}\edef\k@shape{#4}%
@@ -969,42 +800,6 @@
\set@target@series{#3}\edef\f@shape{#4}%
\let\delayed@f@adjustment\@empty
\selectfont\ignorespaces}
-\else\ifnum\ltj@@latex@plv>1000
-%%%% 2021-10-01 PL3 <= LaTeX < 2021-06-01
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\edef\k@family{#2}%
- \set@target@series@kanji{#3}\edef\k@shape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\edef\f@family{#2}%
- \set@target@series{#3}\edef\f@shape{#4}%
- \selectfont\ignorespaces}
-\else
-%%%% 2020-10-01 <= LaTeX < 2020-10-01 PL3
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\edef\k@family{#2}\edef\k@series{#3}\edef\k@shape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\edef\f@family{#2}\edef\f@series{#3}\edef\f@shape{#4}%
- \selectfont\ignorespaces}
-\fi\fi
-%%%% LaTeX >= 2020-02-02 END
-\else
-%%%% LaTeX 2019-10-01
-\DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}}
-\DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}}
-\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
-\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}}
-\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\set@safe@kanji@shape{#1}{}\romanshape{#1}}
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}%
- \selectfont\ignorespaces}
-%%%% LaTeX 2019-10-01 END
-\fi
%%%%
\def\set@safe@kanji@shape#1#2{%
@@ -1026,8 +821,6 @@
\else\useroman{#1}{#2}{#3}{#4}%
\fi}
-\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
-%%%% LaTeX >= 2020-02-02
\let\prepare@family@series@update@kanji=\prepare@family@series@update
\patchcmd\prepare@family@series@update{\fontfamily}{\romanfamily}{}{}
\patchcmd\prepare@family@series@update@kanji{\if@forced@series}{\if@forced@series@kanji}{}{}
@@ -1049,34 +842,16 @@
\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
-\def\@ltj@hook@series@default#1#2#3{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{#1/defaults}{#2}%
- \else\ifcsname @set#1defaultshook\endcsname %after 2020-04-07
- \expandafter\g@addto@macro\csname @set#1defaultshook\endcsname{#2}%
- \else % 2020-02-02
- \expandafter\patchcmd\csname #1 \endcsname{#3}{#3#2}{}{}%
- \fi\fi
-}
-\@ltj@hook@series@default{bfseries}{%
+\AddToHook{bfseries/defaults}{%
\let\bfseries@mc\bfdef@ult
\let\bfseries@gt\bfdef@ult
\let\bfseries@jtt\bfdef@ult
-}{%
- \let\bfseries@rm\bfdef@ult
- \let\bfseries@sf\bfdef@ult
- \let\bfseries@tt\bfdef@ult
}
-\@ltj@hook@series@default{mdseries}{%
+\AddToHook{mdseries/defaults}{%
\let\mdseries@mc\mddef@ult
\let\mdseries@gt\mddef@ult
\let\mdseries@jtt\mddef@ult
-}{%
- \let\mdseries@rm\mddef@ult
- \let\mdseries@sf\mddef@ult
- \let\mdseries@tt\mddef@ult
}
-\let\@ltj@hook@series@default\@undefined
\expandafter\patchcmd\csname bfseries \endcsname{%
\ifx\f@family\rmdef@ult \fontseries\bfseries@rm
@@ -1105,105 +880,41 @@
\fi\fi\fi
}{}{}
-\def\@ltj@hook@series#1#2{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{#1}{#2}%
- \else % 2020-02-02
- \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
- \fi
-}
-\@ltj@hook@series{bfseries}{%
+\AddToHook{bfseries}{%
\ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt
\else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt
\else \kanjiseries\bfdefault
\fi\fi\fi
}
-\@ltj@hook@series{mdseries}{%
+\AddToHook{mdseries}{%
\ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt
\else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt
\else \kanjiseries\mddefault
\fi\fi\fi
}
-\let\@ltj@hook@series\@undefined
-\def\@ltj@hook@efd#1#2{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{expand@font@defaults}{#1}%
- \else\ifdefined\@expandfontdefaultshook %after 2020-04-07
- \g@addto@macro\@expandfontdefaultshook{#1#2}%
- \else % 2020-02-02
- \appto\expand@font@defaults{#1#2}%
- \fi\fi
-}
-\@ltj@hook@efd{%
+\AddToHook{expand@font@defaults}{%
\edef\mcdef@ult{\mcdefault}%
\edef\gtdef@ult{\gtdefault}%
\edef\jttdef@ult{\jttdefault}%
-}{\edef\kanjidef@ult{\kanjifamilydefault}}
-\let\@ltj@hook@efd\@undefined
+ \edef\kanjidef@ult{\kanjifamilydefault}}
-\ifltj@ltfilehook@avail % 2020-10-01
- \appto\init@series@setup{%
- \ifx\kanjiseriesdefault\kanjiseriesdefault@kernel
- \mdseries
- \let\kanjiseriesdefault\k@series
- \fi
- }
-\else
- \appto\init@series@setup{%
- \ifx\kanjidef@ult\mcdef@ult \mcfamily
- \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
- \else\ifx\kanjidef@ult\jttdef@ult \jttfamily
- \fi\fi\fi
- }
-\fi
-
-\def\@ltj@hook@dfh#1{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{normalfont}{#1}%
- \else\ifdefined\@defaultfamilyhook
- \g@addto@macro\@defaultfamilyhook{#1}%
- \else % 2020-02-02
- \expandafter\patchcmd\csname normalfont \endcsname{\selectfont}{#1\selectfont}{}{}%
- \let\reset@font\normalfont
- \fi\fi
+\appto\init@series@setup{%
+ \ifx\kanjiseriesdefault\kanjiseriesdefault@kernel
+ \mdseries
+ \let\kanjiseriesdefault\k@series
+ \fi
}
-\ifnum\ltj@@latex@plv>1499
-\@ltj@hook@dfh{%
+\AddToHook{normalfont}{%
\kanjiencoding{\kanjiencodingdefault}%
\edef\k@family{\kanjifamilydefault}%
\edef\k@series{\kanjiseriesdefault}%
\edef\k@shape{\kanjishapedefault}%
\let\delayed@k@adjustment\empty
}
-\else
-\@ltj@hook@dfh{%
- \kanjiencoding{\kanjiencodingdefault}%
- \edef\k@family{\kanjifamilydefault}%
- \edef\k@series{\kanjiseriesdefault}%
- \edef\k@shape{\kanjishapedefault}%
-}
-\fi
-\let\@ltj@hook@dfh\@undefined
-%%%% LaTeX >= 2020-02-02 END
-\else
-%%%% LaTeX 2019-10-01
-\DeclareRobustCommand\normalfont{%
- \useroman\encodingdefault\familydefault\seriesdefault\shapedefault
- \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault}
-\let\reset@font\normalfont
-%%%% LaTeX 2019-10-01 END
-\fi
-
-
-
-\ifdefined\prepare@family@series@update@kanji\else
-%%%% LaTeX 2019-10-01
-\def\prepare@family@series@update@kanji#1{\kanjifamily}
-\fi
\DeclareRobustCommand\mcfamily{%
\unless\ifltj@disablejfam\not@math@alphabet\mcfamily\mathmc\fi
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty
index 9575dc3c049..80051535716 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-array}[2019-07-18 Patch to array for LuaTeX-ja]
+\ProvidesPackage{lltjp-array}[2024-06-10 Patch to array for LuaTeX-ja]
\RequirePackage{etoolbox,array}
@@ -11,7 +11,14 @@
\ignorespaces\@sharp\unskip
}{%
\ltj@sharp
-}{}{}
+}{}{% >=2024-06-01
+ \def\ltj@sharp{\relax\pltx@next@inhibitglue\ltjfakeboxbdd\ignorespaces\@sharp\textonly@unskip\ltjfakeboxbdd}
+ \patchcmd\insert@column{%
+ \ignorespaces\@sharp\textonly@unskip
+ }{%
+ \ltj@sharp
+ }{}{}
+}
\@ifpackageloaded{lltjext}{}{%
%% remove extra \xkanjiskip (pLaTeX2e 2016/04/17)
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty
index 67b0f5de7f7..641fa4a34df 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-geometry}[2021-10-24 Patch to geometry for LuaTeX-ja with vertical writing mode]
+\ProvidesPackage{lltjp-geometry}[2024-05-16 Patch to geometry for LuaTeX-ja with vertical writing mode]
\RequirePackage{expl3}
\ifdefined\if@ltj@@geometry@tate\expandafter\endinput\fi
\newif\if@ltj@@geometry@tate
@@ -31,15 +31,6 @@
%============================================
\unless\ifdefined\ltj@ExecuteAfterPackage
-\expandafter\newif\csname ifltj@ltfilehook@avail\endcsname
-\@ifl@t@r\fmtversion{2020-10-01}{%
- \@ifl@t@r\fmtversion{2020-10-02}{\ltj@ltfilehook@availtrue}
- {%
- \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
- \else\ltj@ltfilehook@availtrue\fi
- }%
-}{}
-\ifltj@ltfilehook@avail
%% \ltj@ExecuteBeforePackage <package><code> and \ltj@ExecuteAfterPackage <package><code>
%% no-starred version: do nothing if the <package> is loaded
%% starred version: do <code> right away if the <package> is loaded
@@ -64,11 +55,6 @@
\@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
}
}
-\else
- \RequirePackage{filehook}
- \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
- \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
-\fi
\fi
%============================================
@@ -89,12 +75,8 @@
\else
\@gobble\iftrue\csname iftdir\endcsname \bool_set_true:N \l_tmpa_bool \fi
\fi
-\ifltj@ltfilehook@avail
- \prop_map_inline:Nn \g__hook_begindocument_code_prop
- { \tl_if_in:nnT {#2} {\tate} {\bool_set_true:N \l_tmpa_bool} }
-\else
- \tl_if_in:NnT \@begindocumenthook {\tate} {\bool_set_true:N \l_tmpa_bool}
-\fi
+\prop_map_inline:Nn \g__hook_begindocument_code_prop
+ { \tl_if_in:nnT {#2} {\tate} {\bool_set_true:N \l_tmpa_bool} }
\bool_if:NT \l_tmpa_bool {
\if@ltj@@geometry@forceoff
\@ltj@@geometry@tatefalse
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-siunitx.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-siunitx.sty
index 9c4526c3fdb..292cbf00bfe 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-siunitx.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-siunitx.sty
@@ -1,5 +1,5 @@
%
-% lltjp-siunitx.sty 2022-12-14
+% lltjp-siunitx.sty 2024-06-10
%
\NeedsTeXFormat{LaTeX2e}
@@ -7,7 +7,6 @@
\RequirePackage{siunitx}
\makeatletter
\ExplSyntaxOn
-\cs_if_exist:NTF \siunitx_print_text:n {% siunitx v3.00
\cs_set_protected:Npn \siunitx_print_text:n #1
{
\text
@@ -32,104 +31,26 @@
}
}
\cs_set_eq:NN \ltj_orig__siunitx_table_collect_begin:w \__siunitx_table_collect_begin:w
-\cs_set_protected:Npn \__siunitx_table_collect_begin:w #1 \relax
- { \ltj_orig__siunitx_table_collect_begin:w }
-\RenewDocumentCommand \tablenum { O { } m }
- {
- \mode_leave_vertical:
- \group_begin:
- \keys_set:nn { siunitx } {#1}
- \siunitx_cell_begin:w
- \relax \ignorespaces #2
- \siunitx_cell_end:
- \group_end:
- }
-}% siunitx v3.00 end
-{% siunitx v2.xx
-\cs_generate_variant:Nn \tl_if_in:NnT { coT }
-\cs_new:Nn \__ltj_siunix_patch_inner:n {
- \cs_if_exist:cT { #1_tl } {
- \tl_if_in:coT { #1_tl } { \tex_char:D } {
- \tl_replace_all:cnn { #1_tl } { \tex_char:D } { \ltjalchar }
- }
+\cs_set_protected:Npn \__siunitx_table_collect_begin:w #1 {
+ \token_if_eq_meaning:NNTF #1 \relax
+ {\ltj_orig__siunitx_table_collect_begin:w }
+ {\ltj_orig__siunitx_table_collect_begin:w #1 }
}
-}
-\cs_new:Nn \__ltj_siunix_patch_inner_math:n {
- \__ltj_siunix_patch_inner:n { l__siunitx_#1_math }
- \__ltj_siunix_patch_inner:n { l__siunitx_#1_text }
-}
-\AtBeginDocument {
- \__ltj_siunix_patch_inner:n { c__siunitx_minus }
- \__ltj_siunix_patch_inner:n { c__siunitx_mu }
- \__ltj_siunix_patch_inner_math:n { angstrom }
- \__ltj_siunix_patch_inner_math:n { arcminute }
- \__ltj_siunix_patch_inner_math:n { arcsecond }
- \__ltj_siunix_patch_inner_math:n { ohm }
-}
-
-%%%% new table column: S and s
-\bool_new:N \l__ltj_siunitx_table_collect_relax_bool
-\cs_set_protected:Npn \__siunitx_table_collect_begin_s: {
- \bool_set_false:N \l__ltj_siunitx_table_collect_relax_bool
- \cs_set_eq:NN \__siunitx_table_collect_token:N
- \__siunitx_table_collect_token_s:N
- \cs_set_eq:NN \__siunitx_table_print: \__siunitx_table_print_s:
- \__siunitx_table_collect_init_s:
- \__siunitx_table_collect_get:
-}
-
-\cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
+\cs_set_protected:Npn \__siunitx_table_collect_token:N #1
{
- \token_if_eq_meaning:NNTF #1 \tex_relax:D {
- \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
- \__siunitx_table_collect_not_braced_aux_i:N #1
- } {
- \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
- }
- } {
- \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
- \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
- \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
+ \__siunitx_table_collect_search:NnF #1
{
- \token_if_eq_meaning:NNF #1 \tex_unskip:D
- { \__siunitx_table_collect_not_braced_aux_i:N #1 }
+ \ignorespaces { \__siunitx_table_collect_ignore_spaces:N #1}
+ \pltx@next@inhibitglue { \__siunitx_table_collect_loop:}
+ \ltjfakeboxbdd { \__siunitx_table_collect_loop:}
+ \textonly@unskip { \__siunitx_table_collect_loop:}
+ \unskip { \__siunitx_table_collect_loop:}
+ \end { \tabularnewline \end }
+ \relax { \__siunitx_table_collect_relax:N #1 }
+ \tabularnewline { \tabularnewline }
+ \siunitx_cell_end: { \siunitx_cell_end:}
}
- }}}
- \__siunitx_table_collect_next:
- }
-
-\AtBeginDocument
- {
- \@ifpackageloaded { mdwtab }
- {
- \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
- {
- \token_if_eq_meaning:NNTF #1 \tex_relax:D {
- \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
- \__siunitx_table_collect_not_braced_aux_i:N #1
- } {
- \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
- }
- } {
- \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
- \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
- \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
- {
- \token_if_eq_meaning:NNF #1 \tex_unskip:D
- {
- \token_if_eq_meaning:NNF #1 \tab@setcr
- {
- \token_if_eq_meaning:NNF #1 \@maybe@unskip
- { \__siunitx_table_collect_not_braced_aux_i:N #1 }
- }
- }
- }
- }}}
- \__siunitx_table_collect_next:
- }
- }
- { }
- }
+ { \__siunitx_table_collect_token_aux:N #1 }
}
\ExplSyntaxOff
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua
index ebb29abb15c..452656845c4 100644
--- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua
+++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua
@@ -156,7 +156,7 @@ local function cssquery()
-- make sure we deal with a string
value = tostring(value)
-- make the search string safe for pattern matching
- local escaped_search = search:gsub("([%(%)%.%%%+%–%*%?%[%^%$])", "%%%1")
+ local escaped_search = search:gsub("([%(%)%.%%%+%-%#%*%?%[%^%$])", "%%%1")
if modifier == "" then
return value == search
elseif modifier == "|" then
@@ -434,6 +434,18 @@ local function cssquery()
return querylist
end
+ --- Remove selector from the CSS list object.
+ -- All actions that literaly match the given selector will be removed.
+ function CssQuery:remove_selector(
+ selector -- CSS selector to be removed
+ )
+ for pos, obj in ipairs(self.querylist) do
+ if obj.source == selector then
+ table.remove(self.querylist, pos)
+ end
+ end
+ end
+
--- It tests list of queries agaings a DOM element and executes the
--- coresponding function that is saved for the matched query.
-- @return nothing
diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua
index 73689add5a1..dca38df0db5 100644
--- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua
+++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua
@@ -6,16 +6,20 @@ local dom = {}
local xml
local handler
local css_query
+local html
if kpse then
xml = require("luaxml-mod-xml")
handler = require("luaxml-mod-handler")
css_query = require("luaxml-cssquery")
+ html = require("luaxml-mod-html")
else
xml = require("luaxml.mod-xml")
handler = require("luaxml.mod-handler")
css_query = require("luaxml.cssquery")
+ html = require("luaxml.mod-html")
end
+local HtmlParser = html.HtmlParser
local void = {area = true, base = true, br = true, col = true, hr = true, img = true, input = true, link = true, meta = true, param = true}
@@ -91,9 +95,14 @@ local function serialize_dom(parser, current,level, output)
local format = get_action(typ, "start")
insert(format, el, prepare_attributes(attr))
end
- local function text(typ, text)
+ local function text(typ, text, parent)
+ local parent = parent or {}
local format = get_action(typ, "text")
- insert(format, escape_element(text))
+ if parent.verbatim then
+ insert(format, text)
+ else
+ insert(format, escape_element(text))
+ end
end
local function stop(typ, el)
local format = get_action(typ, "stop")
@@ -141,7 +150,7 @@ local function serialize_dom(parser, current,level, output)
end
start(xtype, name, attributes)
- text(xtype,text_content)
+ text(xtype,text_content, (current or {})._parent)
local children = root._children or {}
for _, child in ipairs(children) do
output = serialize_dom(parser,child, level + 1, output)
@@ -411,8 +420,8 @@ local parse = function(
return strings
end
- --- Get table with the inner text of an element -- leading and trailing spaces are removed and elements that contain only white space are ignored.
- --- @return table
+ --- Get table with the inner text of an element - leading and trailing spaces are removed and elements that contain only white space are ignored.
+ -- @return table
function DOM_Object:stripped_strings(
current --- [optional] element to be selected
)
@@ -612,11 +621,83 @@ local parse = function(
-- include the methods to all xml nodes
save_methods(parser._handler.root)
-- parser:
- return parser
+ return parser, DOM_Object
+end
+
+-- table of elements that should be kept without XML escaping in the DOM serialization
+local verbatim_elements = {script=true, style=true}
+
+local function html_to_dom(html_object)
+ -- convert parsed HTML DOM to the XML DOM
+ local dom, DOM_Object = parse("") -- use empty text to just initialize the DOM object
+ -- use root of the DOM object as the original parent
+ local current_parent = dom._handler.root
+
+ local function create_node(tbl)
+ -- create node suitable for LuaXML DOM object
+ tbl._children = {}
+ -- this should copy methods from the DOM object to the newly created object
+ tbl.__index = DOM_Object
+ return setmetatable(tbl, DOM_Object)
+ end
+
+ local function build_tree(object)
+ -- convert tree produced by the HTML parser to LuaXML DOM
+ local typ = object._type
+ -- process particular node types from the HTML parser
+ if typ == "doctype" then
+ current_parent:add_child_node(create_node {_name=object.name, _type="DTD"})
+ elseif typ == "comment" then
+ current_parent:add_child_node(create_node {_text=object.text, _type="COMMENT"})
+ elseif typ == "element" then
+ local attributes = {}
+ -- convert attributes to the form expected by the DOM object
+ for _, attr in ipairs(object.attr) do
+ attributes[attr.name] = attr.value
+ end
+ local element = current_parent:create_element(object.tag, attributes)
+ -- disable escaping of text in dom:serialize() for <script> or <style> elements
+ if verbatim_elements[string.lower(object.tag)] then element.verbatim = true end
+ current_parent:add_child_node(element)
+ -- set the current element as parent for the processing of children
+ local old_parent = current_parent
+ current_parent = element
+ -- process children
+ for k,v in ipairs(object.children) do
+ build_tree(v)
+ end
+ -- restore original parent
+ current_parent = old_parent
+ elseif typ == "text" then
+ local text = current_parent:create_text_node(object.text)
+ current_parent:add_child_node(text)
+ else
+ -- for other node types, just process the children
+ for k,v in ipairs(object.children) do
+ build_tree(v)
+ end
+ end
+
+ end
+ build_tree(html_object)
+ return dom
+end
+
+--- Parse HTML text as a DOM object.
+-- It supports all methods as the object returned by the parse() function.
+-- @param html_str string with the HTML code to be parsed
+-- @return DOM_Object
+local function html_parse(html_str)
+ local html_obj = HtmlParser:init(html_str)
+ local html_dom = html_obj:parse()
+ return html_to_dom(html_dom)
end
+
+
--- @export
return {
parse = parse,
- serialize_dom= serialize_dom
+ serialize_dom= serialize_dom,
+ html_parse = html_parse
}
diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua
new file mode 100644
index 00000000000..71bfc81dd1b
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua
@@ -0,0 +1,88 @@
+--- Convert 8-bit encodings to UTF-8
+--- @module luaxml-encodings
+-- this table is generated automatically by this command:
+-- texlua encodings/make_encodings.lua
+local encodings = {
+ ['ibm866'] = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ',
+ ['iso-8859-5'] = '�������������������������������� ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ',
+ ['macintosh'] = 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',
+ ['windows-1251'] = 'ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя',
+ ['iso-8859-13'] = '�������������������������������� ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’',
+ ['iso-8859-6'] = '�������������������������������� ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ',
+ ['iso-8859-8'] = '�������������������������������� �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏',
+ ['iso-8859-4'] = '�������������������������������� ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙',
+ ['koi8-r'] = '─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ',
+ ['iso-8859-7'] = '�������������������������������� ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ',
+ ['iso-8859-3'] = '�������������������������������� Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙',
+ ['windows-1256'] = '€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے',
+ ['windows-1258'] = '€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ',
+ ['iso-8859-14'] = '�������������������������������� Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ',
+ ['windows-1252'] = '€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ',
+ ['iso-8859-15'] = '�������������������������������� ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ',
+ ['x-mac-cyrillic'] = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю€',
+ ['windows-1254'] = '€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ',
+ ['windows-1255'] = '€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏',
+ ['windows-1250'] = '€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙',
+ ['koi8-u'] = '─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ',
+ ['iso-8859-10'] = '�������������������������������� ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ',
+ ['windows-1257'] = '€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙',
+ ['windows-1253'] = '€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ',
+ ['iso-8859-2'] = '�������������������������������� Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙',
+ ['windows-874'] = '€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛',
+ ['iso-8859-16'] = '�������������������������������� ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ',
+}
+
+
+local utfchar = utf8.char
+
+--- Try to find an encoding in HTML string
+---@param str string HTML document
+---@param len number count of characters from the start of the string where it should search for the encoding metadata
+---@return string encoding identifier, or nil and message if no encoding was found
+local function find_html_encoding(str, len)
+ -- try to find encoding in the html document
+ -- we limit search length, because encoding should be in the document head, ideally near the start
+ local len = len or 4096
+ local sub = str:sub(1, len)
+ for meta in sub:gmatch("<meta (.-)>") do
+ local charset = meta:match("charset%s*=%s*[\"']?(.-)[\"']")
+ if charset then return string.lower(charset) end
+ end
+ return nil, "Cannot find the document encoding"
+end
+
+local function load_mapping(enc_name)
+ local enc_name = enc_name or ""
+ local enc = encodings[enc_name]
+ if not enc then return nil, "Cannot load encoding " .. enc_name end
+ local mapping,i = {}, 128
+ for pos, codepoint in utf8.codes(enc) do
+ mapping[i] = utfchar(codepoint)
+ i = i + 1
+ end
+ return mapping
+end
+
+--- Convert string to utf-8
+---@param text string for converting
+---@param mapping table
+---@return string converted string
+local function recode(text, mapping)
+ return text:gsub("(.)", function(char)
+ local charpoint = string.byte(char)
+ if charpoint > 127 then
+ return mapping[charpoint]
+ else
+ return false
+ end
+ end)
+end
+
+
+return {
+ encodings = encodings,
+ find_html_encoding = find_html_encoding,
+ load_mapping = load_mapping,
+ recode = recode
+}
+
diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua
index 69e32b16e22..d8c2b7e9327 100644
--- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua
+++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua
@@ -1,3 +1,6 @@
+--- HTML parsing module for LuaXML
+-- @module luaxml-mod-html
+-- @author Michal Hoftich <michal.h21@gmail.com
-- Copyright Michal Hoftich, 2022
-- HTML parser inspired by https://browser.engineering/html.html
-- but then redone using https://html.spec.whatwg.org/multipage/parsing.html
@@ -1540,9 +1543,14 @@ local function is_formatting_element(name)
return formatting_element_names[name]
end
-local special_elements = {}
+local function hash_from_array(tbl)
+ local t = {}
+ for _, v in ipairs(tbl) do t[v] = true end
+ return t
+end
+
-local special_elements_list = {"address", "applet", "area", "article", "aside",
+local special_elements_list = hash_from_array {"address", "applet", "area", "article", "aside",
"base", "basefont", "bgsound", "blockquote", "body", "br", "button", "caption",
"center", "col", "colgroup", "dd", "details", "dir", "div", "dl", "dt",
"embed", "fieldset", "figcaption", "figure", "footer", "form", "frame",
@@ -1555,13 +1563,9 @@ local special_elements_list = {"address", "applet", "area", "article", "aside",
"mi","mo","mn","ms","mtext", "annotation-xml","foreignObject","desc", "title"
}
-for k,v in ipairs(special_elements_list) do
- special_elements[v] = true
-end
-
local function is_special(name)
- return special_elements[name]
+ return special_elements_list[name]
end
-- these lists are used in HtmlParser:generate_implied_endtags()
@@ -1649,8 +1653,12 @@ local HtmlTreeStates = {}
+--- @type HtmlParser
local HtmlParser = {}
+--- Initialize the HTML Object
+---@param body string HTML to be parsed
+---@return table initialized object
function HtmlParser:init(body)
local o ={}
setmetatable(o, self)
@@ -1686,10 +1694,11 @@ for _,v in ipairs(self_closing_tags_list) do self_closing_tags[v] = true end
-
+--- Execute the HTML parser
+--- @return table Root node of the HTML DOM
function HtmlParser:parse()
-- we assume utf8 input, you must convert it yourself if the source is
- -- in a different encoding
+ -- in a different encoding. for example using luaxml-encodings library
self.text = {}
self.state = self.default_state
-- this should enable us to pass over some characters that we want to ignore
@@ -1791,6 +1800,7 @@ function HtmlParser:emit(token)
elseif token_type == "start_tag" then
self:add_text()
-- self:start_attribute()
+ self:reset_insertion_mode()
self:start_tag()
-- print("Emit start tag", table.concat(token.name))
-- save last attribute
@@ -1882,8 +1892,139 @@ function HtmlParser:set_xmlns(node, parent)
end
end
+function HtmlParser:pop_element()
+ -- close the current element and add it to the DOM
+ local el = self:close_element()
+ local parent = self:get_parent()
+ parent:add_child(el)
+ return el
+end
+
+local close_p_at_start = hash_from_array {"address", "article", "aside", "blockquote", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", "search", "section", "summary", "ul", "pre", "listing", "form", "table", "xmp", "hr"}
+
+local close_headers = hash_from_array {"h1", "h2", "h3", "h4", "h5", "h6"}
+
+local body_modes = hash_from_array {"in_body", "in_cell", "in_row", "in_select", "in_table", "in_table_body", "in_frameset"}
+
+local list_items = hash_from_array {"li", "dt", "dd"}
+
+local close_address_at_end = hash_from_array{"address", "article", "aside", "blockquote", "button", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", "search", "section", "summary", "ul", "form"}
+
+
+function HtmlParser:close_unfinished(name)
+ -- close all unfinished elements until the element with the given name is found
+ for i = #self.unfinished, 1, -1 do
+ local el = self:pop_element()
+ if el.tag == name then
+ break
+ end
+ end
+end
+
+
+function HtmlParser:close_paragraph()
+ -- close currently open <p> elements
+ self:close_unfinished("p")
+end
+
+function HtmlParser:current_element_name()
+ -- return name of the current element
+ return self:get_parent().tag
+end
+
+local not_specials = hash_from_array { "address", "div", "p"}
+
+local function handle_list_item(self, name)
+ -- we handle li, dt and dd. dt and dd should close each other, li closes only itself
+ local names = {dt = true, dd = true}
+ if name == "li" then names = {li=true} end
+ for i = #self.unfinished, 1, -1 do
+ local current = self.unfinished[i]
+ local current_tag = current.tag
+ if names[current_tag] then
+ self:generate_implied_endtags(nil, {current.tag})
+ for j = #self.unfinished, i, -1 do
+ self:pop_element()
+ end
+ break
+ elseif is_special(current_tag) and not not_specials[name] then
+ break
+ end
+ end
+end
+
+local close_paragraph = function(self)
+ if is_in_button_scope(self, "p") then
+ self:close_paragraph()
+ end
+end
+
+function HtmlParser:handle_insertion_mode(token)
+ -- simple handling of https://html.spec.whatwg.org/multipage/parsing.html#tree-construction
+ -- we don't support most rules, just the most important for avoiding mismatched tags
+
+ if body_modes[self.insertion_mode] then
+ if token.type == "start_tag" then
+ local name = table.concat(token.name)
+ if close_p_at_start[name] then close_paragraph(self) end
+ if close_headers[name] then
+ close_paragraph(self)
+ -- close current element if it is already header
+ if close_headers[self:current_element_name()] then
+ self:pop_element()
+ end
+ elseif name == "pre" or name == "listing" then
+ -- we should ignore next "\n" char token
+ elseif name == "image" then
+ -- image tag is an error, change to <img>
+ token.name = {"img"}
+ elseif list_items[name] then
+ handle_list_item(self, name)
+ close_paragraph(self)
+ end
+ elseif token.type == "end_tag" then
+ local name = table.concat(token.name)
+ if close_address_at_end[name] then
+ if is_in_scope(self, name, {}) then
+ self:close_unfinished(name)
+ else
+ token.type = "ignore"
+ end
+ elseif name == "p" then
+ if not is_in_button_scope(self, "p") then
+ local parent = self:get_parent()
+ local node = Element:init("p", parent)
+ table.insert(self.unfinished, node)
+ end
+ -- use self:close_paragraph() instead of close_paragraph() because we don't need to check scope at this point
+ self:close_paragraph()
+ elseif name == "br" then
+ token.type = "start_tag"
+ elseif close_headers[name] then
+ local header_in_scope = false
+ -- detect, if there are any open h1-h6 tag and close it
+ for el, _ in pairs(close_headers) do
+ if is_in_scope(self, el, {}) then
+ header_in_scope = el
+ break
+ end
+ end
+ if not header_in_scope then
+ token.type = "ignore"
+ else
+ self:close_unfinished(header_in_scope)
+ end
+ end
+ end
+ end
+end
+
+local rawtext_elements = hash_from_array {"style", "textarea", "xmp"}
+
+
function HtmlParser:start_tag()
local token = self.current_token
+ self:handle_insertion_mode(token)
if token.type == "start_tag" then
-- close all currently opened attributes
self:start_attribute()
@@ -1894,18 +2035,18 @@ function HtmlParser:start_tag()
node.attr = token.attr
node.self_closing = token.self_closing
self:set_xmlns(node)
- --
+ -- in this handler we should close <p> or <li> elements without explicit closing tags
if token.self_closing -- <img />
or self_closing_tags[name] -- void elements
then
- parent:add_child(node)
+ parent:add_child(node, node.tag)
else
-- add to the unfinished list
table.insert(self.unfinished, node)
end
if name == "title" then
self.element_state = "rcdata"
- elseif name == "style" then
+ elseif rawtext_elements[name] then
self.element_state = "rawtext"
elseif name == "script" then
self.element_state = "script_data"
@@ -1916,11 +2057,13 @@ end
function HtmlParser:end_tag()
-- close current opened element
local token = self.current_token
+ self:handle_insertion_mode(token)
if token.type == "end_tag" then
if #self.unfinished==0 then return nil end
- local node = self:close_element()
- local parent = self:get_parent()
- parent:add_child(node)
+ -- close the current element only if the token is in the current scope
+ if is_in_scope(self, table.concat(token.name), {}) then
+ self:pop_element()
+ end
end
end
@@ -1964,6 +2107,21 @@ function HtmlParser:adjusted_current_node()
end
+local simple_modes = {
+ body = "in_body",
+ td = "in_cell",
+ th = "in_cell",
+ tr = "in_row",
+ tbody = "in_table_body",
+ thead = "in_table_body",
+ tfoot = "in_table_body",
+ caption = "in_caption",
+ colgroup = "in_column_group",
+ table = "in_table",
+ template = "current_template_insertion_mode",
+ frameset = "in_frameset"
+}
+
function HtmlParser:reset_insertion_mode()
-- https://html.spec.whatwg.org/multipage/parsing.html#reset-the-insertion-mode-appropriately
local last = false
@@ -1977,16 +2135,33 @@ function HtmlParser:reset_insertion_mode()
if name == "head" and last == true then
self:switch_insertion("in_head")
return
- elseif name == "body" then
- self:switch_insertion("in_body")
- return
elseif name == "html" then
- if self.head_pointer then
+ if not self.head_pointer then
self:switch_insertion("before_head")
return
else
self:switch_insertion("after_head")
+ return
+ end
+ elseif name == "select" then
+ if not last then
+ for x = position -1, 1, -1 do
+ if x == 1 then break end
+ local ancestor = self.unfinished[x]
+ local ancestor_name = ancestor.tag
+ if ancestor_name == "template" then
+ break
+ elseif ancestor_name == "table" then
+ self:switch_insertion("in_select_in_table")
+ return
+ end
+ end
end
+ self:switch_insertion("in_select")
+ return
+ elseif simple_modes[name] then
+ self:switch_insertion(simple_modes[name])
+ return
elseif last == true then
self:switch_insertion("in_body")
return
@@ -2006,8 +2181,8 @@ function HtmlParser:generate_implied_endtags(included, ignored)
local current = self:current_node() or {}
-- keep removing elements while they are in the "included" list
if included[current.tag] then
- table.remove(self.unfinished)
- self:generate_implied_endtags(ignored)
+ self:pop_element()
+ self:generate_implied_endtags(included, ignored)
end
end
@@ -2023,9 +2198,7 @@ function HtmlParser:finish()
self:start_tag("html")
end
while #self.unfinished > 0 do
- local node = self:close_element()
- local parent = self:get_parent()
- parent:add_child(node)
+ self:pop_element()
end
-- return root element
return self.Document -- self:close_element()
diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua
index 0e6399ab135..5c5ff007770 100644
--- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua
+++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua
@@ -1,2234 +1,2233 @@
-local utf8 = require "utf8"
return {
-["Subset"]="⋐",
-["Chi"]="Χ",
-["tprime"]="‴",
-["lneq"]="⪇",
-["RightUpTeeVector"]="⥜",
-["cscr"]="𝒸",
-["leftrightarrows"]="⇆",
-["LeftRightVector"]="⥎",
-["Laplacetrf"]="ℒ",
-["boxHd"]="╤",
-["GreaterSlantEqual"]="⩾",
-["sqsub"]="⊏",
-["nvdash"]="⊬",
-["boxHu"]="╧",
-["vcy"]="в",
-["DiacriticalDoubleAcute"]="˝",
-["nvHarr"]="⤄",
-["lnapprox"]="⪉",
-["fscr"]="𝒻",
-["OverBracket"]="⎴",
-["pm"]="±",
-["ovbar"]="⌽",
-["larrhk"]="↩",
-["atilde"]="ã",
-["Igrave"]="Ì",
-["profsurf"]="⌓",
-["Sigma"]="Σ",
-["rHar"]="⥤",
-["Gcedil"]="Ģ",
-["sect"]="§",
-["nmid"]="∤",
-["escr"]="ℯ",
-["delta"]="δ",
-["male"]="♂",
-["Integral"]="∫",
-["RightUpVectorBar"]="⥔",
-["alefsym"]="ℵ",
-["nsqsube"]="⋢",
-["Nacute"]="Ń",
-["mcomma"]="⨩",
-["ApplyFunction"]=utf8.char(0x2061),
-["rfisht"]="⥽",
-["phmmat"]="ℳ",
-["rarrw"]="↝",
-["backepsilon"]="϶",
-["hscr"]="𝒽",
-["middot"]="·",
-["ldrushar"]="⥋",
-["supne"]="⊋",
-["Longleftrightarrow"]="⟺",
-["Oacute"]="Ó",
-["af"]="⁡",
+["Implies"]="⇒",
+["longrightarrow"]="⟶",
+["precneqq"]="⪵",
+["geqslant"]="⩾",
+["Product"]="∏",
+["Scirc"]="Ŝ",
+["lvnE"]="≨︀",
+["dotminus"]="∸",
+["sscr"]="𝓈",
+["capdot"]="⩀",
+["dlcrop"]="⌍",
+["omacr"]="ō",
+["sext"]="✶",
+["xutri"]="△",
+["xrArr"]="⟹",
+["glE"]="⪒",
+["NotSupersetEqual"]="⊉",
+["backsim"]="∽",
["sup"]="⊃",
-["lozenge"]="◊",
-["scy"]="с",
-["gscr"]="ℊ",
-["smallsetminus"]="∖",
+["realpart"]="ℜ",
["hardcy"]="ъ",
-["DoubleVerticalBar"]="∥",
-["Yuml"]="Ÿ",
-["plusdu"]="⨥",
-["NotSucceedsSlantEqual"]="⋡",
-["nwnear"]="⤧",
-["lfloor"]="⌊",
-["rcy"]="р",
-["jscr"]="𝒿",
-["AMP"]="&",
-["acute"]="´",
-["uacute"]="ú",
-["Or"]="⩔",
-["rdldhar"]="⥩",
-["langd"]="⦑",
-["Iacute"]="Í",
-["spar"]="∥",
-["ucy"]="у",
-["rsh"]="↱",
-["Kcedil"]="Ķ",
-["iscr"]="𝒾",
-["lambda"]="λ",
-["lbrkslu"]="⦍",
-["napE"]="⩰̸",
-["shcy"]="ш",
-["nsupE"]="⫆̸",
-["Ycirc"]="Ŷ",
-["sect"]="§",
-["precnapprox"]="⪹",
-["iocy"]="ё",
-["dzcy"]="џ",
+["sqcap"]="⊓",
+["brvbar"]="¦",
+["LT"]="<",
+["udarr"]="⇅",
+["lozf"]="⧫",
+["Eogon"]="Ę",
+["frac18"]="⅛",
+["lesssim"]="≲",
+["wedbar"]="⩟",
+["EmptyVerySmallSquare"]="▫",
+["aring"]="å",
+["lesdoto"]="⪁",
+["ltquest"]="⩻",
+["LeftUpTeeVector"]="⥠",
+["FilledSmallSquare"]="◼",
+["mho"]="℧",
+["NotGreaterTilde"]="≵",
+["xharr"]="⟷",
+["NotSucceedsEqual"]="⪰̸",
+["sqsupset"]="⊐",
+["Ccedil"]="Ç",
+["aacute"]="á",
+["succcurlyeq"]="≽",
+["gneq"]="⪈",
+["forall"]="∀",
+["rightharpoonup"]="⇀",
+["leftarrow"]="←",
+["ang"]="∠",
+["mapstoup"]="↥",
+["xscr"]="𝓍",
+["NotTildeEqual"]="≄",
+["ograve"]="ò",
+["boxdl"]="┐",
+["DownLeftVectorBar"]="⥖",
+["nsup"]="⊅",
+["shchcy"]="щ",
+["demptyv"]="⦱",
+["apos"]="'",
+["between"]="≬",
+["leftrightsquigarrow"]="↭",
+["gtcc"]="⪧",
+["grave"]="`",
+["bigodot"]="⨀",
+["oline"]="‾",
+["angmsdad"]="⦫",
+["NotCongruent"]="≢",
+["gtquest"]="⩼",
+["fltns"]="▱",
+["smeparsl"]="⧤",
+["Eta"]="Η",
+["ltdot"]="⋖",
+["rhard"]="⇁",
+["rscr"]="𝓇",
["ETH"]="Ð",
-["GreaterTilde"]="≳",
-["coprod"]="∐",
-["rpar"]=")",
-["lthree"]="⋋",
-["ImaginaryI"]="ⅈ",
-["DoubleUpDownArrow"]="⇕",
-["intercal"]="⊺",
-["spadesuit"]="♠",
-["boxVH"]="╬",
-["smashp"]="⨳",
-["nu"]="ν",
-["Agrave"]="À",
-["boxtimes"]="⊠",
-["sext"]="✶",
-["nsub"]="⊄",
-["oelig"]="œ",
-["GreaterEqual"]="≥",
-["TRADE"]="™",
-["dtrif"]="▾",
-["nless"]="≮",
-["mu"]="μ",
-["larrsim"]="⥳",
-["GreaterEqualLess"]="⋛",
-["Uuml"]="Ü",
-["LeftArrowBar"]="⇤",
-["ntrianglerighteq"]="⋭",
-["DiacriticalDot"]="˙",
-["LongLeftArrow"]="⟵",
-["agrave"]="à",
-["lmoustache"]="⎰",
-["nvDash"]="⊭",
-["para"]="¶",
-["nlt"]="≮",
-["Eacute"]="É",
-["spades"]="♠",
-["lrcorner"]="⌟",
-["checkmark"]="✓",
-["lessdot"]="⋖",
-["opar"]="⦷",
-["nVDash"]="⊯",
-["pertenk"]="‱",
-["range"]="⦥",
-["Pr"]="⪻",
-["Gammad"]="Ϝ",
-["ape"]="≊",
-["Longleftarrow"]="⟸",
-["boxV"]="║",
-["rightthreetimes"]="⋌",
+["iocy"]="ё",
+["semi"]=";",
+["nexists"]="∄",
+["approxeq"]="≊",
+["compfn"]="∘",
+["sstarf"]="⋆",
+["angrtvbd"]="⦝",
["gnap"]="⪊",
-["vzigzag"]="⦚",
-["Ecirc"]="Ê",
-["npar"]="∦",
-["notinvb"]="⋷",
-["Tau"]="Τ",
-["blank"]="␣",
-["Kappa"]="Κ",
-["rmoust"]="⎱",
-["GJcy"]="Ѓ",
-["ufisht"]="⥾",
-["NotLeftTriangleBar"]="⧏̸",
-["bigvee"]="⋁",
-["lrhar"]="⇋",
-["supset"]="⊃",
-["uwangle"]="⦧",
-["UpTeeArrow"]="↥",
-["supE"]="⫆",
-["imof"]="⊷",
-["leg"]="⋚",
-["notniva"]="∌",
-["nvgt"]=">⃒",
-["rthree"]="⋌",
-["yfr"]="𝔶",
-["uHar"]="⥣",
-["nshortmid"]="∤",
-["biguplus"]="⨄",
-["barvee"]="⊽",
-["iff"]="⇔",
-["boxvH"]="╪",
-["simrarr"]="⥲",
-["Egrave"]="È",
-["ntilde"]="ñ",
-["VerticalTilde"]="≀",
-["sigmaf"]="ς",
-["khcy"]="х",
-["planck"]="ℏ",
-["NotNestedGreaterGreater"]="⪢̸",
-["NonBreakingSpace"]=" ",
-["OpenCurlyQuote"]="‘",
-["supsim"]="⫈",
-["cudarrl"]="⤸",
-["theta"]="θ",
-["notindot"]="⋵̸",
-["Omicron"]="Ο",
-["ccedil"]="ç",
-["colone"]="≔",
-["bscr"]="𝒷",
-["Dagger"]="‡",
-["comma"]=",",
+["mDDot"]="∺",
+["udblac"]="ű",
["Acirc"]="Â",
-["plankv"]="ℏ",
-["boxdr"]="┌",
-["rarrap"]="⥵",
-["rmoustache"]="⎱",
-["LeftAngleBracket"]="⟨",
-["Cacute"]="Ć",
-["blk34"]="▓",
-["rfloor"]="⌋",
-["awconint"]="∳",
-["sfrown"]="⌢",
-["middot"]="·",
-["ascr"]="𝒶",
-["dot"]="˙",
-["caron"]="ˇ",
-["image"]="ℑ",
-["esdot"]="≐",
-["ohbar"]="⦵",
-["rarrb"]="⇥",
-["submult"]="⫁",
-["plusb"]="⊞",
-["oopf"]="𝕠",
-["breve"]="˘",
-["conint"]="∮",
-["angrt"]="∟",
-["nbump"]="≎̸",
-["raquo"]="»",
-["Iuml"]="Ï",
-["Rcedil"]="Ŗ",
-["minus"]="−",
-["nsucceq"]="⪰̸",
-["telrec"]="⌕",
-["CHcy"]="Ч",
-["nrightarrow"]="↛",
-["NotRightTriangle"]="⋫",
-["zfr"]="𝔷",
-["succ"]="≻",
-["Aacute"]="Á",
-["NestedLessLess"]="≪",
-["RightTeeArrow"]="↦",
-["homtht"]="∻",
-["Cup"]="⋓",
-["lcub"]="{",
-["race"]="∽̱",
-["THORN"]="Þ",
-["propto"]="∝",
-["odblac"]="ő",
-["mumap"]="⊸",
-["filig"]="fi",
-["ecir"]="≖",
-["DoubleRightArrow"]="⇒",
-["npreceq"]="⪯̸",
-["female"]="♀",
-["LeftFloor"]="⌊",
-["gtrarr"]="⥸",
-["dotsquare"]="⊡",
-["map"]="↦",
-["OverBrace"]="⏞",
-["zopf"]="𝕫",
-["rang"]="⟩",
-["laquo"]="«",
-["elsdot"]="⪗",
-["frac56"]="⅚",
-["Iuml"]="Ï",
-["ocirc"]="ô",
-["clubs"]="♣",
-["IOcy"]="Ё",
-["scnE"]="⪶",
-["deg"]="°",
-["simgE"]="⪠",
-["nap"]="≉",
-["blacktriangle"]="▴",
-["edot"]="ė",
-["epsiv"]="ϵ",
-["napprox"]="≉",
-["NotGreaterSlantEqual"]="⩾̸",
-["prap"]="⪷",
-["lnap"]="⪉",
-["circledS"]="Ⓢ",
-["lang"]="⟨",
-["qprime"]="⁗",
-["aelig"]="æ",
-["ncongdot"]="⩭̸",
-["supdsub"]="⫘",
-["nltrie"]="⋬",
-["xopf"]="𝕩",
+["UnderParenthesis"]="⏝",
+["nisd"]="⋺",
+["lneq"]="⪇",
+["Dagger"]="‡",
+["qscr"]="𝓆",
+["gneqq"]="≩",
+["doteqdot"]="≑",
+["DoubleVerticalBar"]="∥",
+["emptyset"]="∅",
+["lEg"]="⪋",
+["subseteq"]="⊆",
+["dwangle"]="⦦",
+["dotplus"]="∔",
+["NotPrecedesSlantEqual"]="⋠",
+["bnot"]="⌐",
["LeftDownVector"]="⇃",
-["duarr"]="⇵",
-["urcorner"]="⌝",
-["nvltrie"]="⊴⃒",
-["Pi"]="Π",
+["leg"]="⋚",
+["Therefore"]="∴",
+["Omega"]="Ω",
+["acE"]="∾̳",
+["Auml"]="Ä",
+["xvee"]="⋁",
["Eacute"]="É",
-["nGtv"]="≫̸",
-["icirc"]="î",
-["twoheadleftarrow"]="↞",
+["LeftFloor"]="⌊",
+["swnwar"]="⤪",
+["Jukcy"]="Є",
+["nless"]="≮",
+["NotSquareSupersetEqual"]="⋣",
+["larrfs"]="⤝",
+["gcy"]="г",
+["solbar"]="⌿",
+["rharul"]="⥬",
+["dscy"]="ѕ",
+["yen"]="¥",
+["ForAll"]="∀",
+["DownArrow"]="↓",
+["qprime"]="⁗",
+["NegativeThickSpace"]="​",
+["part"]="∂",
+["Iukcy"]="І",
+["ltcc"]="⪦",
+["xlArr"]="⟸",
+["fcy"]="ф",
+["gl"]="≷",
+["rsh"]="↱",
+["lrhar"]="⇋",
["divide"]="÷",
-["yopf"]="𝕪",
-["ntlg"]="≸",
-["Darr"]="↡",
+["bemptyv"]="⦰",
+["rx"]="℞",
+["ecy"]="э",
+["ApplyFunction"]="⁡",
+["divideontimes"]="⋇",
+["prod"]="∏",
+["boxHU"]="╩",
+["HARDcy"]="Ъ",
+["mstpos"]="∾",
+["llcorner"]="⌞",
+["rsquor"]="’",
+["NotTildeFullEqual"]="≇",
+["mlcp"]="⫛",
+["cemptyv"]="⦲",
+["Proportional"]="∝",
+["DiacriticalDoubleAcute"]="˝",
+["dcy"]="д",
+["Yacute"]="Ý",
+["egsdot"]="⪘",
["hslash"]="ℏ",
-["Coproduct"]="∐",
-["profline"]="⌒",
-["imagline"]="ℐ",
-["chcy"]="ч",
-["ccedil"]="ç",
-["PrecedesEqual"]="⪯",
-["jcirc"]="ĵ",
-["nang"]="∠⃒",
-["Icirc"]="Î",
-["nbumpe"]="≏̸",
-["incare"]="℅",
-["tint"]="∭",
-["nhArr"]="⇎",
-["emsp13"]=" ",
-["blacktriangleleft"]="◂",
-["Star"]="⋆",
-["hkswarow"]="⤦",
-["NegativeThickSpace"]="​",
-["eDot"]="≑",
-["Euml"]="Ë",
-["scaron"]="š",
-["RightDownVectorBar"]="⥕",
-["cent"]="¢",
-["jukcy"]="є",
-["backsimeq"]="⋍",
-["Ncy"]="Н",
-["DD"]="ⅅ",
-["circledast"]="⊛",
-["ccirc"]="ĉ",
-["rsaquo"]="›",
-["YIcy"]="Ї",
-["iquest"]="¿",
-["NotExists"]="∄",
-["iukcy"]="і",
-["Tab"]=" ",
-["Equilibrium"]="⇌",
-["nLt"]="≪⃒",
-["yen"]="¥",
-["CircleDot"]="⊙",
-["CircleMinus"]="⊖",
-["topf"]="𝕥",
-["equivDD"]="⩸",
-["DoubleLeftRightArrow"]="⇔",
-["ngsim"]="≵",
-["upuparrows"]="⇈",
-["ll"]="≪",
-["cirscir"]="⧂",
-["ShortLeftArrow"]="←",
-["angmsdag"]="⦮",
-["shortmid"]="∣",
-["ngeqslant"]="⩾̸",
-["subset"]="⊂",
-["curvearrowleft"]="↶",
-["gdot"]="ġ",
-["circledcirc"]="⊚",
-["Pcy"]="П",
-["asymp"]="≈",
-["boxUr"]="╙",
-["uopf"]="𝕦",
-["frac15"]="⅕",
-["Iacute"]="Í",
-["Utilde"]="Ũ",
-["Congruent"]="≡",
-["nhpar"]="⫲",
-["capbrcup"]="⩉",
-["ordf"]="ª",
-["SOFTcy"]="Ь",
-["nlArr"]="⇍",
-["not"]="¬",
-["ffllig"]="ffl",
-["nprec"]="⊀",
-["Hat"]="^",
+["infin"]="∞",
["Auml"]="Ä",
-["ntriangleleft"]="⋪",
-["longmapsto"]="⟼",
-["nvrtrie"]="⊵⃒",
-["timesb"]="⊠",
-["lsh"]="↰",
-["Jcy"]="Й",
-["gcirc"]="ĝ",
-["Oacute"]="Ó",
-["vartriangleright"]="⊳",
-["NotRightTriangleEqual"]="⋭",
-["Rightarrow"]="⇒",
-["ast"]="*",
-["hamilt"]="ℋ",
-["Ncedil"]="Ņ",
-["apE"]="⩰",
-["macr"]="¯",
-["cwconint"]="∲",
-["Kcy"]="К",
-["Ucirc"]="Û",
-["hcirc"]="ĥ",
-["yacy"]="я",
-["uml"]="¨",
-["popf"]="𝕡",
-["bumpE"]="⪮",
-["varnothing"]="∅",
-["RightUpVector"]="↾",
-["curren"]="¤",
-["Scedil"]="Ş",
-["FilledVerySmallSquare"]="▪",
-["dollar"]="$",
-["Lcy"]="Л",
-["longrightarrow"]="⟶",
-["LeftTee"]="⊣",
-["excl"]="!",
-["acirc"]="â",
-["wp"]="℘",
-["lcaron"]="ľ",
-["NotGreaterFullEqual"]="≧̸",
-["CounterClockwiseContourIntegral"]="∳",
-["sup2"]="²",
-["rnmid"]="⫮",
-["Lcedil"]="Ļ",
-["ddotseq"]="⩷",
-["tbrk"]="⎴",
-["mlcp"]="⫛",
-["rarrhk"]="↪",
-["Tilde"]="∼",
-["Mcy"]="М",
-["aring"]="å",
-["rarrsim"]="⥴",
-["nopf"]="𝕟",
-["aelig"]="æ",
-["order"]="ℴ",
-["diamondsuit"]="♦",
-["nvsim"]="∼⃒",
-["lhard"]="↽",
-["commat"]="@",
-["qint"]="⨌",
-["lsquo"]="‘",
-["sqcaps"]="⊓︀",
-["circlearrowleft"]="↺",
-["NotElement"]="∉",
-["measuredangle"]="∡",
-["Atilde"]="Ã",
-["CapitalDifferentialD"]="ⅅ",
-["kgreen"]="ĸ",
-["Cscr"]="𝒞",
+["Wcirc"]="Ŵ",
+["larrtl"]="↢",
+["Aacute"]="Á",
+["LeftTriangleEqual"]="⊴",
+["NegativeMediumSpace"]="​",
+["TripleDot"]="⃛",
+["utdot"]="⋰",
+["isinv"]="∈",
+["looparrowright"]="↬",
+["loang"]="⟬",
+["multimap"]="⊸",
["NotLessEqual"]="≰",
-["trpezium"]="⏢",
-["ne"]="≠",
-["NotSuperset"]="⊃⃒",
-["nearrow"]="↗",
-["ncong"]="≇",
-["doteqdot"]="≑",
-["supmult"]="⫂",
-["longleftrightarrow"]="⟷",
-["Rarr"]="↠",
-["DoubleUpArrow"]="⇑",
-["Dscr"]="𝒟",
-["mp"]="∓",
-["jmath"]="ȷ",
-["erarr"]="⥱",
-["searrow"]="↘",
-["Sup"]="⋑",
-["lvnE"]="≨︀",
-["ffilig"]="ffi",
-["NotSquareSupersetEqual"]="⋣",
-["bullet"]="•",
-["bigstar"]="★",
-["cylcty"]="⌭",
-["nvle"]="≤⃒",
-["TildeFullEqual"]="≅",
-["lopf"]="𝕝",
-["sqsupseteq"]="⊒",
-["lt"]="<",
-["geqslant"]="⩾",
+["midcir"]="⫰",
+["nge"]="≱",
["quot"]="\"",
-["le"]="≤",
-["square"]="□",
-["sigma"]="σ",
-["prE"]="⪳",
-["rtrie"]="⊵",
-["triangleq"]="≜",
+["REG"]="®",
+["div"]="÷",
+["complexes"]="ℂ",
+["lhblk"]="▄",
+["gvnE"]="≩︀",
+["leftharpoonup"]="↼",
+["it"]="⁢",
+["clubsuit"]="♣",
+["iff"]="⇔",
+["Hacek"]="ˇ",
+["CircleTimes"]="⊗",
+["Cacute"]="Ć",
+["rarrtl"]="↣",
+["RightDownVector"]="⇂",
+["rarrfs"]="⤞",
+["UpArrowBar"]="⤒",
+["male"]="♂",
+["RightTriangle"]="⊳",
+["GreaterTilde"]="≳",
+["Barwed"]="⌆",
+["ltlarr"]="⥶",
+["Zdot"]="Ż",
+["parsim"]="⫳",
+["Ugrave"]="Ù",
+["Dot"]="¨",
+["circleddash"]="⊝",
+["rsaquo"]="›",
+["hyphen"]="‐",
+["angrt"]="∟",
+["RightTriangleEqual"]="⊵",
+["Darr"]="↡",
+["ulcrop"]="⌏",
+["olcir"]="⦾",
+["gimel"]="ℷ",
+["gel"]="⋛",
+["SquareSubset"]="⊏",
+["Uacute"]="Ú",
+["gt"]=">",
+["lnap"]="⪉",
+["Union"]="⋃",
+["nu"]="ν",
+["and"]="∧",
+["ltcir"]="⩹",
["Fscr"]="ℱ",
+["ee"]="ⅇ",
+["laquo"]="«",
+["Hfr"]="ℌ",
+["prec"]="≺",
+["imagline"]="ℐ",
+["precnsim"]="⋨",
+["zhcy"]="ж",
+["mu"]="μ",
+["rlarr"]="⇄",
+["pound"]="£",
+["origof"]="⊶",
+["rfloor"]="⌋",
+["lnsim"]="⋦",
+["nVdash"]="⊮",
+["otimes"]="⊗",
+["iuml"]="ï",
+["Cscr"]="𝒞",
+["lsime"]="⪍",
+["ngeqq"]="≧̸",
+["Del"]="∇",
+["Coproduct"]="∐",
+["NotSubsetEqual"]="⊈",
+["HilbertSpace"]="ℋ",
+["frac58"]="⅝",
+["cap"]="∩",
+["roang"]="⟭",
+["intlarhk"]="⨗",
+["DownTee"]="⊤",
+["thickapprox"]="≈",
+["prnap"]="⪹",
+["laquo"]="«",
+["lesdot"]="⩿",
+["inodot"]="ı",
+["Hscr"]="ℋ",
+["YIcy"]="Ї",
+["ctdot"]="⋯",
+["thetav"]="ϑ",
+["DoubleUpDownArrow"]="⇕",
+["succ"]="≻",
+["nbumpe"]="≏̸",
+["ReverseElement"]="∋",
+["Oacute"]="Ó",
+["equest"]="≟",
+["Lt"]="≪",
+["Nacute"]="Ń",
["DiacriticalTilde"]="˜",
-["SucceedsSlantEqual"]="≽",
-["mopf"]="𝕞",
-["Ecaron"]="Ě",
-["UpArrowDownArrow"]="⇅",
-["ges"]="⩾",
-["nsqsupe"]="⋣",
-["ubrcy"]="ў",
-["Gscr"]="𝒢",
-["HARDcy"]="Ъ",
-["jopf"]="𝕛",
-["gtquest"]="⩼",
-["iinfin"]="⧜",
-["twixt"]="≬",
+["Escr"]="ℰ",
+["boxvH"]="╪",
+["Ifr"]="ℑ",
+["mp"]="∓",
+["ell"]="ℓ",
+["Iacute"]="Í",
+["NotNestedGreaterGreater"]="⪢̸",
+["raquo"]="»",
+["Zcy"]="З",
+["micro"]="µ",
+["dzigrarr"]="⟿",
+["rtrif"]="▸",
+["Uuml"]="Ü",
+["nvHarr"]="⤄",
+["leqslant"]="⩽",
+["tritime"]="⨻",
+["nlarr"]="↚",
+["NotRightTriangle"]="⋫",
+["apid"]="≋",
+["succeq"]="⪰",
+["NotEqualTilde"]="≂̸",
+["varphi"]="ϕ",
+["Vert"]="‖",
+["int"]="∫",
+["lurdshar"]="⥊",
+["lneqq"]="≨",
+["Jsercy"]="Ј",
+["Superset"]="⊃",
+["subsetneqq"]="⫋",
+["gap"]="⪆",
+["ssmile"]="⌣",
+["Ugrave"]="Ù",
+["IOcy"]="Ё",
+["ltimes"]="⋉",
+["UnderBracket"]="⎵",
+["subseteqq"]="⫅",
+["Dscr"]="𝒟",
+["dtrif"]="▾",
+["raquo"]="»",
+["hbar"]="ℏ",
+["ge"]="≥",
+["cudarrr"]="⤵",
+["icy"]="и",
+["plusdo"]="∔",
+["bull"]="•",
+["weierp"]="℘",
+["mapsto"]="↦",
+["Uring"]="Ů",
+["supplus"]="⫀",
+["Succeeds"]="≻",
+["Ascr"]="𝒜",
+["cdot"]="ċ",
+["nwarr"]="↖",
+["target"]="⌖",
+["dharr"]="⇂",
+["curlyvee"]="⋎",
+["supE"]="⫆",
+["emsp13"]=" ",
["ltrie"]="⊴",
+["olarr"]="↺",
+["RightTeeVector"]="⥛",
+["Vvdash"]="⊪",
+["larrsim"]="⥳",
+["varsubsetneq"]="⊊︀",
+["Not"]="⫬",
+["CenterDot"]="·",
+["PlusMinus"]="±",
+["aring"]="å",
+["Nscr"]="𝒩",
+["delta"]="δ",
+["npre"]="⪯̸",
+["Vcy"]="В",
+["NotVerticalBar"]="∤",
+["scpolint"]="⨓",
+["rcedil"]="ŗ",
+["Lmidot"]="Ŀ",
+["DScy"]="Ѕ",
+["nsubseteq"]="⊈",
+["ngE"]="≧̸",
+["NotSquareSubsetEqual"]="⋢",
+["edot"]="ė",
+["Ucy"]="У",
+["lessapprox"]="⪅",
+["niv"]="∋",
+["Kscr"]="𝒦",
+["LeftVectorBar"]="⥒",
+["nhpar"]="⫲",
+["scedil"]="ş",
+["Uacute"]="Ú",
+["ntrianglelefteq"]="⋬",
+["Otilde"]="Õ",
+["iexcl"]="¡",
+["lbrke"]="⦋",
+["simdot"]="⩪",
+["sigmaf"]="ς",
+["Bfr"]="𝔅",
+["pitchfork"]="⋔",
+["ngeqslant"]="⩾̸",
+["Pscr"]="𝒫",
+["gsime"]="⪎",
+["Ouml"]="Ö",
+["rarrsim"]="⥴",
+["subE"]="⫅",
+["otimesas"]="⨶",
+["lfloor"]="⌊",
+["prop"]="∝",
+["imacr"]="ī",
+["blacktriangleleft"]="◂",
+["Ntilde"]="Ñ",
+["llarr"]="⇇",
+["nsucc"]="⊁",
+["PartialD"]="∂",
+["Iacute"]="Í",
+["gdot"]="ġ",
+["Afr"]="𝔄",
+["Igrave"]="Ì",
["csub"]="⫏",
-["Hscr"]="ℋ",
-["leftharpoondown"]="↽",
+["Mscr"]="ℳ",
+["Scy"]="С",
+["bsime"]="⋍",
+["nequiv"]="≢",
+["scnap"]="⪺",
+["Tab"]=" ",
+["Equal"]="⩵",
+["blacklozenge"]="⧫",
+["nrarrc"]="⤳̸",
+["divide"]="÷",
["RightUpDownVector"]="⥏",
-["LongLeftRightArrow"]="⟷",
-["Im"]="ℑ",
-["dcaron"]="ď",
+["iinfin"]="⧜",
+["precnapprox"]="⪹",
+["dArr"]="⇓",
+["orslope"]="⩗",
+["Rcy"]="Р",
+["sqsub"]="⊏",
+["OverBracket"]="⎴",
+["sum"]="∑",
+["ncedil"]="ņ",
+["ltrPar"]="⦖",
+["ii"]="ⅈ",
+["Gcirc"]="Ĝ",
+["SucceedsTilde"]="≿",
+["RightFloor"]="⌋",
+["osol"]="⊘",
["barwedge"]="⌅",
-["nexist"]="∄",
-["blacktriangledown"]="▾",
-["fork"]="⋔",
-["rhard"]="⇁",
-["cent"]="¢",
-["RightTriangle"]="⊳",
-["Eta"]="Η",
-["dotminus"]="∸",
-["nles"]="⩽̸",
-["larrtl"]="↢",
-["LeftTriangleEqual"]="⊴",
-["hopf"]="𝕙",
-["gammad"]="ϝ",
-["gsime"]="⪎",
-["llhard"]="⥫",
-["precapprox"]="⪷",
-["profalar"]="⌮",
-["lnE"]="≨",
-["ddagger"]="‡",
-["leq"]="≤",
-["smile"]="⌣",
-["robrk"]="⟧",
-["Jscr"]="𝒥",
-["triangleleft"]="◃",
-["acd"]="∿",
-["prod"]="∏",
-["atilde"]="ã",
-["seArr"]="⇘",
-["therefore"]="∴",
-["iopf"]="𝕚",
-["solbar"]="⌿",
-["kcedil"]="ķ",
-["NotHumpEqual"]="≏̸",
-["nspar"]="∦",
-["frac14"]="¼",
-["nsime"]="≄",
-["DoubleLongLeftArrow"]="⟸",
-["sccue"]="≽",
-["models"]="⊧",
-["SupersetEqual"]="⊇",
-["iquest"]="¿",
-["oline"]="‾",
-["lparlt"]="⦓",
-["triplus"]="⨹",
-["nequiv"]="≢",
-["nlE"]="≦̸",
-["nldr"]="‥",
-["equals"]="=",
-["Agrave"]="À",
-["ccaron"]="č",
-["Yacute"]="Ý",
-["Oslash"]="Ø",
-["udarr"]="⇅",
-["ang"]="∠",
-["dopf"]="𝕕",
-["comp"]="∁",
-["caps"]="∩︀",
-["bowtie"]="⋈",
-["glj"]="⪤",
-["ltquest"]="⩻",
-["cirmid"]="⫯",
-["ordm"]="º",
-["esim"]="≂",
-["reals"]="ℝ",
-["LeftTriangle"]="⊲",
-["flat"]="♭",
-["eopf"]="𝕖",
-["lap"]="⪅",
-["not"]="¬",
-["ENG"]="Ŋ",
-["DiacriticalAcute"]="´",
-["sharp"]="♯",
-["longleftarrow"]="⟵",
-["dblac"]="˝",
-["UpArrow"]="↑",
-["npre"]="⪯̸",
-["bopf"]="𝕓",
-["DScy"]="Ѕ",
+["twoheadrightarrow"]="↠",
+["Gscr"]="𝒢",
+["acy"]="а",
+["dtdot"]="⋱",
+["rbrke"]="⦌",
+["imath"]="ı",
+["Hcirc"]="Ĥ",
+["num"]="#",
+["nprec"]="⊀",
+["smallsetminus"]="∖",
+["lesges"]="⪓",
+["LeftUpVector"]="↿",
+["gtdot"]="⋗",
+["theta"]="θ",
+["kappav"]="ϰ",
+["jmath"]="ȷ",
+["Lscr"]="ℒ",
+["Aogon"]="Ą",
+["ltrif"]="◂",
+["DownArrowUpArrow"]="⇵",
+["prap"]="⪷",
+["Racute"]="Ŕ",
+["curlyeqprec"]="⋞",
["bepsi"]="϶",
-["angrtvb"]="⊾",
-["ccaps"]="⩍",
-["UnderParenthesis"]="⏝",
-["subne"]="⊊",
-["succnsim"]="⋩",
-["Bumpeq"]="≎",
-["xvee"]="⋁",
-["colon"]=":",
-["deg"]="°",
-["fnof"]="ƒ",
-["Uarr"]="↟",
-["Zcaron"]="Ž",
-["copf"]="𝕔",
-["Theta"]="Θ",
-["omicron"]="ο",
-["ntriangleright"]="⋫",
-["DoubleLongRightArrow"]="⟹",
-["UnderBrace"]="⏟",
-["GT"]=">",
-["lEg"]="⪋",
-["supplus"]="⫀",
-["acute"]="´",
+["blacktriangle"]="▴",
+["nvap"]="≍⃒",
+["Supset"]="⋑",
+["angmsd"]="∡",
+["boxul"]="┘",
+["LessSlantEqual"]="⩽",
["GT"]=">",
-["upsilon"]="υ",
-["sc"]="≻",
-["xrarr"]="⟶",
-["eng"]="ŋ",
-["it"]="⁢",
-["Ntilde"]="Ñ",
-["Mu"]="Μ",
-["CircleTimes"]="⊗",
-["NotTildeTilde"]="≉",
-["NotLessLess"]="≪̸",
-["vellip"]="⋮",
-["cularrp"]="⤽",
-["UnderBracket"]="⎵",
-["aopf"]="𝕒",
-["itilde"]="ĩ",
-["latail"]="⤙",
-["Nu"]="Ν",
-["Ascr"]="𝒜",
-["complement"]="∁",
-["gjcy"]="ѓ",
-["radic"]="√",
-["maltese"]="✠",
-["glE"]="⪒",
-["plusmn"]="±",
-["curvearrowright"]="↷",
-["gt"]=">",
-["Colone"]="⩴",
-["Bscr"]="ℬ",
-["ic"]="⁣",
-["clubsuit"]="♣",
-["djcy"]="ђ",
-["Oopf"]="𝕆",
-["ltrPar"]="⦖",
-["ngtr"]="≯",
-["eqcirc"]="≖",
-["Hacek"]="ˇ",
-["vdash"]="⊢",
-["NotCupCap"]="≭",
-["Gdot"]="Ġ",
-["jsercy"]="ј",
-["marker"]="▮",
+["nexist"]="∄",
+["ccupssm"]="⩐",
+["Eacute"]="É",
+["ddarr"]="⇊",
+["ntlg"]="≸",
+["Iscr"]="ℐ",
+["Jcirc"]="Ĵ",
+["Sacute"]="Ś",
+["capand"]="⩄",
+["gesdoto"]="⪂",
+["olcross"]="⦻",
+["amalg"]="⨿",
+["rarrlp"]="↬",
+["NotLeftTriangle"]="⋪",
+["reals"]="ℝ",
+["bigcup"]="⋃",
+["NJcy"]="Њ",
+["Odblac"]="Ő",
+["hArr"]="⇔",
+["RightArrowLeftArrow"]="⇄",
+["SOFTcy"]="Ь",
+["Lambda"]="Λ",
+["RightCeiling"]="⌉",
+["Vdash"]="⊩",
+["elinters"]="⏧",
+["lsimg"]="⪏",
["Nopf"]="ℕ",
-["Wfr"]="𝔚",
-["boxHD"]="╦",
-["mho"]="℧",
-["ulcrop"]="⌏",
-["DifferentialD"]="ⅆ",
-["aacute"]="á",
-["lpar"]="(",
+["Esim"]="⩳",
+["vzigzag"]="⦚",
+["acd"]="∿",
+["ccedil"]="ç",
+["lbarr"]="⤌",
+["nmid"]="∤",
+["Backslash"]="∖",
+["Laplacetrf"]="ℒ",
+["npr"]="⊀",
+["nap"]="≉",
+["nsupseteqq"]="⫆̸",
+["igrave"]="ì",
+["LJcy"]="Љ",
+["lessgtr"]="≶",
["angle"]="∠",
-["rharu"]="⇀",
-["Breve"]="˘",
-["Dot"]="¨",
-["rect"]="▭",
-["NotNestedLessLess"]="⪡̸",
-["boxplus"]="⊞",
-["NotSucceeds"]="⊁",
-["gnapprox"]="⪊",
-["DownLeftTeeVector"]="⥞",
-["Xfr"]="𝔛",
-["Lang"]="⟪",
-["Element"]="∈",
-["sung"]="♪",
-["RightVectorBar"]="⥓",
-["simne"]="≆",
-["LeftVector"]="↼",
-["Idot"]="İ",
+["lAarr"]="⇚",
+["notin"]="∉",
+["orv"]="⩛",
+["gtreqqless"]="⪌",
+["CircleMinus"]="⊖",
+["Diamond"]="⋄",
+["map"]="↦",
+["nvsim"]="∼⃒",
+["pi"]="π",
+["pluscir"]="⨢",
+["boxVH"]="╬",
["QUOT"]="\"",
-["nsmid"]="∤",
-["fjlig"]="fj",
-["Ufr"]="𝔘",
-["cuvee"]="⋎",
+["duarr"]="⇵",
+["lgE"]="⪑",
+["lmoust"]="⎰",
+["lsquo"]="‘",
+["rightrightarrows"]="⇉",
+["times"]="×",
+["iuml"]="ï",
+["andslope"]="⩘",
+["order"]="ℴ",
+["Sub"]="⋐",
+["capcap"]="⩋",
+["nabla"]="∇",
+["ntriangleleft"]="⋪",
+["blk14"]="░",
+["Kopf"]="𝕂",
+["lArr"]="⇐",
+["Qopf"]="ℚ",
+["circledS"]="Ⓢ",
+["omid"]="⦶",
+["ord"]="⩝",
+["lvertneqq"]="≨︀",
+["updownarrow"]="↕",
+["yacute"]="ý",
+["ni"]="∋",
+["hamilt"]="ℋ",
+["Jopf"]="𝕁",
+["CupCap"]="≍",
+["lbrack"]="[",
+["preccurlyeq"]="≼",
+["Ropf"]="ℝ",
+["lessdot"]="⋖",
+["blank"]="␣",
+["SucceedsEqual"]="⪰",
+["triangleleft"]="◃",
+["ring"]="˚",
+["omega"]="ω",
+["bowtie"]="⋈",
+["Sqrt"]="√",
+["uuml"]="ü",
+["Udblac"]="Ű",
+["diams"]="♦",
+["Oslash"]="Ø",
["real"]="ℜ",
-["luruhar"]="⥦",
-["NotRightTriangleBar"]="⧐̸",
-["target"]="⌖",
-["lharu"]="↼",
-["CloseCurlyQuote"]="’",
-["rAtail"]="⤜",
-["nparallel"]="∦",
-["brvbar"]="¦",
-["Vfr"]="𝔙",
-["wedbar"]="⩟",
-["REG"]="®",
-["boxur"]="└",
-["Rcaron"]="Ř",
-["Rang"]="⟫",
-["sqsubseteq"]="⊑",
-["div"]="÷",
-["boxul"]="┘",
-["Cdot"]="Ċ",
-["vsupnE"]="⫌︀",
-["zeetrf"]="ℨ",
-["Sfr"]="𝔖",
-["roang"]="⟭",
-["LessTilde"]="≲",
-["equiv"]="≡",
-["frac12"]="½",
-["eacute"]="é",
-["rrarr"]="⇉",
-["nearhk"]="⤤",
-["Zopf"]="ℤ",
-["SucceedsTilde"]="≿",
+["egrave"]="è",
+["prurel"]="⊰",
+["LeftUpDownVector"]="⥑",
+["TildeEqual"]="≃",
+["cuwed"]="⋏",
+["times"]="×",
["ap"]="≈",
-["lfisht"]="⥼",
-["timesd"]="⨰",
-["UpDownArrow"]="↕",
-["xuplus"]="⨄",
-["cularr"]="↶",
-["iprod"]="⨼",
-["AElig"]="Æ",
-["rationals"]="ℚ",
-["geqq"]="≧",
-["Tfr"]="𝔗",
-["Yopf"]="𝕐",
-["rtimes"]="⋊",
-["Tcaron"]="Ť",
-["srarr"]="→",
-["diam"]="⋄",
-["mid"]="∣",
-["imath"]="ı",
-["PlusMinus"]="±",
-["isin"]="∈",
-["vprop"]="∝",
-["RightArrowLeftArrow"]="⇄",
-["NotSubset"]="⊂⃒",
-["bigtriangledown"]="▽",
-["ldsh"]="↲",
-["Qfr"]="𝔔",
-["nvap"]="≍⃒",
-["vert"]="|",
-["Xopf"]="𝕏",
-["lBarr"]="⤎",
-["egsdot"]="⪘",
-["Tcedil"]="Ţ",
-["xi"]="ξ",
-["LeftUpVectorBar"]="⥘",
-["circ"]="ˆ",
-["ocir"]="⊚",
-["gtlPar"]="⦕",
-["Rfr"]="ℜ",
-["RightTriangleBar"]="⧐",
-["nwarhk"]="⤣",
-["zhcy"]="ж",
-["Iukcy"]="І",
-["plusdo"]="∔",
+["lowast"]="∗",
+["Lopf"]="𝕃",
+["bdquo"]="„",
+["blacktriangledown"]="▾",
+["vBarv"]="⫩",
+["Longleftarrow"]="⟸",
+["lesg"]="⋚︀",
+["Popf"]="ℙ",
+["iogon"]="į",
+["vellip"]="⋮",
+["Ntilde"]="Ñ",
+["cwconint"]="∲",
["boxv"]="│",
-["minusb"]="⊟",
-["Ncaron"]="Ň",
-["angmsdaa"]="⦨",
-["varsubsetneqq"]="⫋︀",
-["cirfnint"]="⨐",
-["LongRightArrow"]="⟶",
-["ddarr"]="⇊",
-["piv"]="ϖ",
-["fopf"]="𝕗",
-["Ofr"]="𝔒",
-["fflig"]="ff",
-["Jukcy"]="Є",
-["xhArr"]="⟺",
-["ncy"]="н",
-["Scaron"]="Š",
-["TildeEqual"]="≃",
-["subrarr"]="⥹",
-["iacute"]="í",
-["ogt"]="⧁",
-["nvge"]="≥⃒",
-["vee"]="∨",
-["UnderBar"]="_",
-["andslope"]="⩘",
-["gopf"]="𝕘",
-["Pfr"]="𝔓",
-["die"]="¨",
+["boxbox"]="⧉",
+["langd"]="⦑",
+["diam"]="⋄",
+["boxHu"]="╧",
+["acute"]="´",
["Uopf"]="𝕌",
+["Fcy"]="Ф",
+["vee"]="∨",
+["eqslantless"]="⪕",
+["NotLeftTriangleEqual"]="⋬",
+["OverBrace"]="⏞",
+["beta"]="β",
+["Otilde"]="Õ",
+["fjlig"]="fj",
+["uacute"]="ú",
+["CirclePlus"]="⊕",
+["Mellintrf"]="ℳ",
+["Vopf"]="𝕍",
+["Gcy"]="Г",
+["searhk"]="⤥",
+["boxur"]="└",
+["LeftTeeVector"]="⥚",
+["nsubE"]="⫅̸",
+["gvertneqq"]="≩︀",
+["eqcirc"]="≖",
+["nrightarrow"]="↛",
+["DJcy"]="Ђ",
+["tdot"]="⃛",
+["Dcy"]="Д",
+["Sopf"]="𝕊",
+["range"]="⦥",
+["agrave"]="à",
+["gtrsim"]="≳",
["RightArrowBar"]="⇥",
-["orarr"]="↻",
-["Precedes"]="≺",
-["oror"]="⩖",
-["straightepsilon"]="ϵ",
-["cong"]="≅",
-["TScy"]="Ц",
-["nleftarrow"]="↚",
-["DZcy"]="Џ",
-["horbar"]="―",
+["larrlp"]="↫",
+["le"]="≤",
+["xi"]="ξ",
+["gla"]="⪥",
+["GT"]=">",
+["leftarrowtail"]="↢",
+["commat"]="@",
+["rightarrowtail"]="↣",
+["approx"]="≈",
+["sdot"]="⋅",
["Topf"]="𝕋",
-["Cayleys"]="ℭ",
-["leqq"]="≦",
-["curlyeqprec"]="⋞",
-["nLeftarrow"]="⇍",
-["pcy"]="п",
-["realine"]="ℛ",
-["nlsim"]="≴",
+["Ecy"]="Э",
+["eplus"]="⩱",
+["cir"]="○",
["Rarrtl"]="⤖",
-["CupCap"]="≍",
-["vDash"]="⊨",
-["shortparallel"]="∥",
-["ExponentialE"]="ⅇ",
-["Sopf"]="𝕊",
-["iiota"]="℩",
-["Nfr"]="𝔑",
-["pointint"]="⨕",
-["NotGreaterLess"]="≹",
-["olcross"]="⦻",
-["kcy"]="к",
-["complexes"]="ℂ",
-["varepsilon"]="ϵ",
-["Fouriertrf"]="ℱ",
-["rho"]="ρ",
-["Lsh"]="↰",
-["exponentiale"]="ⅇ",
-["hookrightarrow"]="↪",
-["Ropf"]="ℝ",
-["lAtail"]="⤛",
-["Kfr"]="𝔎",
-["bsim"]="∽",
-["jcy"]="й",
-["frac34"]="¾",
-["DotDot"]="⃜",
+["Emacr"]="Ē",
+["Dcaron"]="Ď",
+["Sc"]="⪼",
+["cent"]="¢",
+["rtri"]="▹",
+["cedil"]="¸",
+["spades"]="♠",
+["upsilon"]="υ",
+["boxminus"]="⊟",
+["angmsdaa"]="⦨",
+["zdot"]="ż",
+["Bcy"]="Б",
+["Zscr"]="𝒵",
+["looparrowleft"]="↫",
+["Dfr"]="𝔇",
+["Bumpeq"]="≎",
+["nLeftarrow"]="⇍",
+["equiv"]="≡",
+["Ccaron"]="Č",
+["UpperLeftArrow"]="↖",
+["SubsetEqual"]="⊆",
+["nrArr"]="⇏",
+["loarr"]="⇽",
+["minusdu"]="⨪",
+["sup3"]="³",
+["Zopf"]="ℤ",
+["elsdot"]="⪗",
+["NotLessLess"]="≪̸",
+["eta"]="η",
+["ubrcy"]="ў",
+["Yscr"]="𝒴",
+["subset"]="⊂",
+["Cfr"]="ℭ",
+["harrcir"]="⥈",
+["supsetneq"]="⊋",
+["LeftUpVectorBar"]="⥘",
+["LT"]="<",
+["DoubleLeftArrow"]="⇐",
+["circledcirc"]="⊚",
+["bkarow"]="⤍",
+["rangd"]="⦒",
+["downharpoonright"]="⇂",
+["Wopf"]="𝕎",
+["ast"]="*",
+["planck"]="ℏ",
+["gtrdot"]="⋗",
+["Ffr"]="𝔉",
+["rArr"]="⇒",
+["VeryThinSpace"]=" ",
+["Ecaron"]="Ě",
+["RightVectorBar"]="⥓",
+["divonx"]="⋇",
+["Xopf"]="𝕏",
+["nsubset"]="⊂⃒",
+["Otimes"]="⨷",
+["bot"]="⊥",
+["nsime"]="≄",
["thorn"]="þ",
-["ThickSpace"]="  ",
-["SquareUnion"]="⊔",
-["frac58"]="⅝",
-["dfisht"]="⥿",
-["MediumSpace"]=" ",
-["Lfr"]="𝔏",
-["Qopf"]="ℚ",
+["subsetneq"]="⊊",
+["nltri"]="⋪",
+["Cayleys"]="ℭ",
+["Efr"]="𝔈",
+["Intersection"]="⋂",
+["UnderBar"]="_",
+["fpartint"]="⨍",
+["Iuml"]="Ï",
+["rsquo"]="’",
+["ecir"]="≖",
+["nis"]="⋼",
+["fscr"]="𝒻",
+["hellip"]="…",
+["ogt"]="⧁",
["ntgl"]="≹",
-["LessFullEqual"]="≦",
-["malt"]="✠",
-["mcy"]="м",
-["NotGreaterEqual"]="≱",
-["bottom"]="⊥",
-["NotSucceedsEqual"]="⪰̸",
-["lcedil"]="ļ",
-["infintie"]="⧝",
-["Lcaron"]="Ľ",
-["NotSquareSubset"]="⊏̸",
-["brvbar"]="¦",
-["fallingdotseq"]="≒",
-["AElig"]="Æ",
-["swarhk"]="⤦",
-["Ifr"]="ℑ",
-["pi"]="π",
-["lcy"]="л",
-["copy"]="©",
-["dlcorn"]="⌞",
-["oacute"]="ó",
-["gtreqless"]="⋛",
-["neArr"]="⇗",
+["frac14"]="¼",
+["squf"]="▪",
+["circ"]="ˆ",
+["prE"]="⪳",
+["ordf"]="ª",
["ZHcy"]="Ж",
-["Vdashl"]="⫦",
-["darr"]="↓",
-["circeq"]="≗",
+["NegativeVeryThinSpace"]="​",
+["quot"]="\"",
+["excl"]="!",
+["sqcaps"]="⊓︀",
+["gfr"]="𝔤",
+["varsigma"]="ς",
+["nwarrow"]="↖",
+["reg"]="®",
+["longmapsto"]="⟼",
+["And"]="⩓",
+["cuvee"]="⋎",
+["zwj"]="‍",
+["plankv"]="ℏ",
+["varepsilon"]="ϵ",
+["Aopf"]="𝔸",
+["UpTee"]="⊥",
+["lescc"]="⪨",
+["ltri"]="◃",
+["iiint"]="∭",
+["ccups"]="⩌",
+["alefsym"]="ℵ",
+["succneqq"]="⪶",
+["hscr"]="𝒽",
+["Or"]="⩔",
["yuml"]="ÿ",
-["Jfr"]="𝔍",
-["Product"]="∏",
-["boxDL"]="╗",
-["el"]="⪙",
-["supe"]="⊇",
-["frac13"]="⅓",
-["Barwed"]="⌆",
-["larrpl"]="⤹",
-["SHCHcy"]="Щ",
-["LeftUpDownVector"]="⥑",
-["Diamond"]="⋄",
-["DownLeftVectorBar"]="⥖",
-["Cross"]="⨯",
-["ncup"]="⩂",
-["supnE"]="⫌",
-["lne"]="⪇",
-["micro"]="µ",
-["lowbar"]="_",
-["perp"]="⊥",
-["sqcap"]="⊓",
-["Gfr"]="𝔊",
-["raemptyv"]="⦳",
-["gesl"]="⋛︀",
-["drcrop"]="⌌",
-["boxUL"]="╝",
-["becaus"]="∵",
-["gne"]="⪈",
-["scap"]="⪸",
-["swarrow"]="↙",
-["nesim"]="≂̸",
-["DoubleDot"]="¨",
-["Mopf"]="𝕄",
-["apid"]="≋",
-["InvisibleComma"]="⁣",
-["Backslash"]="∖",
-["mnplus"]="∓",
-["niv"]="∋",
-["Hfr"]="ℌ",
-["rarrlp"]="↬",
-["Because"]="∵",
-["parsl"]="⫽",
-["sup1"]="¹",
-["Lt"]="≪",
-["par"]="∥",
-["Iota"]="Ι",
-["beth"]="ℶ",
-["Lopf"]="𝕃",
+["rcub"]="}",
+["lt"]="<",
+["vArr"]="⇕",
+["EqualTilde"]="≂",
+["vDash"]="⊨",
+["RightArrow"]="→",
+["dlcorn"]="⌞",
+["Barv"]="⫧",
+["nsc"]="⊁",
+["Proportion"]="∷",
+["iota"]="ι",
+["gscr"]="ℊ",
+["abreve"]="ă",
+["ThickSpace"]="  ",
+["szlig"]="ß",
+["lhard"]="↽",
+["emptyv"]="∅",
+["Tau"]="Τ",
+["sharp"]="♯",
+["bNot"]="⫭",
+["LongLeftRightArrow"]="⟷",
+["frac23"]="⅔",
+["NotEqual"]="≠",
+["scE"]="⪴",
+["jfr"]="𝔧",
+["bscr"]="𝒷",
+["uhblk"]="▀",
+["frac35"]="⅗",
+["TSHcy"]="Ћ",
+["ntrianglerighteq"]="⋭",
+["Tcedil"]="Ţ",
+["NotGreaterFullEqual"]="≧̸",
+["asympeq"]="≍",
+["oror"]="⩖",
+["ecirc"]="ê",
+["ohbar"]="⦵",
+["Rho"]="Ρ",
+["iacute"]="í",
+["ascr"]="𝒶",
+["RightUpVector"]="↾",
+["Ocirc"]="Ô",
+["cedil"]="¸",
+["sect"]="§",
+["angmsdab"]="⦩",
+["FilledVerySmallSquare"]="▪",
+["curlywedge"]="⋏",
+["lesdotor"]="⪃",
+["esdot"]="≐",
+["eqvparsl"]="⧥",
["Cap"]="⋒",
-["Aring"]="Å",
-["rarr"]="→",
-["Efr"]="𝔈",
-["bigcup"]="⋃",
-["DownLeftRightVector"]="⥐",
-["lesges"]="⪓",
-["NegativeThinSpace"]="​",
-["DownRightTeeVector"]="⥟",
-["npolint"]="⨔",
-["gEl"]="⪌",
-["lltri"]="◺",
-["ogon"]="˛",
-["LessEqualGreater"]="⋚",
-["sqsupset"]="⊐",
-["NotSubsetEqual"]="⊈",
-["Ubrcy"]="Ў",
-["ShortDownArrow"]="↓",
-["ugrave"]="ù",
-["Dcaron"]="Ď",
-["subE"]="⫅",
-["divide"]="÷",
-["bigotimes"]="⨂",
-["dscy"]="ѕ",
-["wreath"]="≀",
-["Jopf"]="𝕁",
-["pre"]="⪯",
-["tdot"]="⃛",
-["Cfr"]="ℭ",
-["Uogon"]="Ų",
-["softcy"]="ь",
-["isinE"]="⋹",
-["Dstrok"]="Đ",
-["Jsercy"]="Ј",
-["capdot"]="⩀",
-["realpart"]="ℜ",
-["hearts"]="♥",
-["Atilde"]="Ã",
-["LeftArrowRightArrow"]="⇆",
-["upharpoonleft"]="↿",
-["Iopf"]="𝕀",
-["Intersection"]="⋂",
-["midcir"]="⫰",
-["ocirc"]="ô",
-["sdot"]="⋅",
-["Dfr"]="𝔇",
-["gla"]="⪥",
-["DiacriticalGrave"]="`",
+["dscr"]="𝒹",
+["rbrace"]="}",
+["nsccue"]="⋡",
+["neArr"]="⇗",
+["rightthreetimes"]="⋌",
+["plusmn"]="±",
["Ubreve"]="Ŭ",
-["int"]="∫",
-["PrecedesSlantEqual"]="≼",
-["Square"]="□",
-["Acy"]="А",
+["ifr"]="𝔦",
+["Poincareplane"]="ℌ",
+["leftrightarrows"]="⇆",
+["scnsim"]="⋩",
+["cscr"]="𝒸",
+["NotHumpEqual"]="≏̸",
+["capbrcup"]="⩉",
+["curarr"]="↷",
+["notinvb"]="⋷",
+["LeftArrow"]="←",
+["Gopf"]="𝔾",
+["ldrushar"]="⥋",
+["nscr"]="𝓃",
+["Gg"]="⋙",
+["ouml"]="ö",
+["nsce"]="⪰̸",
+["cupbrcap"]="⩈",
+["nLt"]="≪⃒",
+["bullet"]="•",
+["nsqsupe"]="⋣",
+["rect"]="▭",
+["lbrace"]="{",
+["Fopf"]="𝔽",
+["COPY"]="©",
+["epar"]="⋕",
+["mscr"]="𝓂",
+["odsold"]="⦼",
+["cupor"]="⩅",
+["not"]="¬",
+["subsim"]="⫇",
+["hoarr"]="⇿",
+["Scedil"]="Ş",
+["eacute"]="é",
+["emsp"]=" ",
+["uml"]="¨",
+["igrave"]="ì",
+["pscr"]="𝓅",
+["LeftTee"]="⊣",
+["Cedilla"]="¸",
+["Iopf"]="𝕀",
+["HumpEqual"]="≏",
+["les"]="⩽",
+["Rcedil"]="Ŗ",
+["lsquor"]="‚",
+["raemptyv"]="⦳",
+["NotSucceedsSlantEqual"]="⋡",
+["SuchThat"]="∋",
+["vert"]="|",
+["backcong"]="≌",
["Hopf"]="ℍ",
-["precsim"]="≾",
-["nleq"]="≰",
-["urcorn"]="⌝",
-["hyphen"]="‐",
-["FilledSmallSquare"]="◼",
-["zdot"]="ż",
-["ndash"]="–",
-["hbar"]="ℏ",
-["Wopf"]="𝕎",
-["Esim"]="⩳",
-["subsetneq"]="⊊",
-["boxhD"]="╥",
-["searhk"]="⤥",
-["late"]="⪭",
+["CircleDot"]="⊙",
+["Kappa"]="Κ",
+["conint"]="∮",
+["DZcy"]="Џ",
+["prsim"]="≾",
+["Copf"]="ℂ",
+["curvearrowright"]="↷",
+["twixt"]="≬",
+["curren"]="¤",
+["rtriltri"]="⧎",
+["jscr"]="𝒿",
+["cupcup"]="⩊",
+["Lcedil"]="Ļ",
+["supseteqq"]="⫆",
+["bfr"]="𝔟",
+["lesseqqgtr"]="⪋",
+["leftleftarrows"]="⇇",
+["Bopf"]="𝔹",
+["acute"]="´",
["blacktriangleright"]="▸",
-["auml"]="ä",
-["NotLessTilde"]="≴",
-["Bfr"]="𝔅",
-["grave"]="`",
-["ltlarr"]="⥶",
-["Aogon"]="Ą",
-["sdote"]="⩦",
-["gtrsim"]="≳",
-["nvinfin"]="⧞",
-["lgE"]="⪑",
-["mdash"]="—",
-["Vopf"]="𝕍",
-["leftrightarrow"]="↔",
-["RBarr"]="⤐",
-["amalg"]="⨿",
-["preccurlyeq"]="≼",
-["EqualTilde"]="≂",
-["scpolint"]="⨓",
-["NotHumpDownHump"]="≎̸",
-["uparrow"]="↑",
-["downarrow"]="↓",
-["boxdL"]="╕",
-["Hstrok"]="Ħ",
-["Ccaron"]="Č",
-["succsim"]="≿",
-["RightFloor"]="⌋",
-["DownBreve"]="̑",
-["succapprox"]="⪸",
-["dsol"]="⧶",
-["napid"]="≋̸",
-["nprcue"]="⋠",
+["frac34"]="¾",
+["Gbreve"]="Ğ",
+["Updownarrow"]="⇕",
+["iscr"]="𝒾",
+["sigmav"]="ς",
+["trade"]="™",
+["minusb"]="⊟",
+["GJcy"]="Ѓ",
+["TildeFullEqual"]="≅",
+["DoubleRightTee"]="⊨",
+["nang"]="∠⃒",
+["ddotseq"]="⩷",
+["copy"]="©",
["Eopf"]="𝔼",
-["ell"]="ℓ",
-["cupdot"]="⊍",
-["Not"]="⫬",
-["zigrarr"]="⇝",
-["downharpoonright"]="⇂",
-["nisd"]="⋺",
-["lotimes"]="⨴",
-["plusmn"]="±",
-["ngE"]="≧̸",
-["odash"]="⊝",
-["emptyset"]="∅",
+["Psi"]="Ψ",
+["UpperRightArrow"]="↗",
+["geqq"]="≧",
+["subedot"]="⫃",
+["nvlArr"]="⤂",
+["Ncedil"]="Ņ",
+["vsupne"]="⊋︀",
+["supset"]="⊃",
["squarf"]="▪",
-["NotGreaterTilde"]="≵",
-["NotTildeFullEqual"]="≇",
-["DownArrowUpArrow"]="⇵",
-["nwarrow"]="↖",
-["looparrowright"]="↬",
+["LeftDoubleBracket"]="⟦",
+["utrif"]="▴",
["Dopf"]="𝔻",
-["oplus"]="⊕",
-["UpEquilibrium"]="⥮",
-["leftthreetimes"]="⋋",
-["DoubleLeftTee"]="⫤",
-["nabla"]="∇",
-["RuleDelayed"]="⧴",
-["euml"]="ë",
-["varsupsetneqq"]="⫌︀",
-["upsi"]="υ",
-["supsup"]="⫖",
-["bsol"]="\\",
-["Copf"]="ℂ",
-["DDotrahd"]="⤑",
-["Upsilon"]="Υ",
-["UpperRightArrow"]="↗",
-["nedot"]="≐̸",
-["NotEqual"]="≠",
-["bumpeq"]="≏",
-["emsp14"]=" ",
-["frac38"]="⅜",
-["DownTeeArrow"]="↧",
-["Bopf"]="𝔹",
-["capand"]="⩄",
-["nleqq"]="≦̸",
-["ratio"]="∶",
-["eplus"]="⩱",
-["nge"]="≱",
-["laquo"]="«",
-["urtri"]="◹",
-["LeftUpVector"]="↿",
-["gl"]="≷",
-["Gt"]="≫",
-["andd"]="⩜",
+["ape"]="≊",
+["gEl"]="⪌",
+["COPY"]="©",
+["afr"]="𝔞",
+["Acy"]="А",
+["ldquor"]="„",
+["because"]="∵",
+["Pr"]="⪻",
+["OverBar"]="‾",
+["lang"]="⟨",
+["mopf"]="𝕞",
+["crarr"]="↵",
+["Epsilon"]="Ε",
+["Nfr"]="𝔑",
+["kjcy"]="ќ",
+["TildeTilde"]="≈",
+["bsim"]="∽",
+["lcy"]="л",
+["larrb"]="⇤",
+["ncong"]="≇",
+["ENG"]="Ŋ",
+["brvbar"]="¦",
+["Rightarrow"]="⇒",
+["nopf"]="𝕟",
+["Wfr"]="𝔚",
+["ljcy"]="љ",
+["diamondsuit"]="♦",
+["latail"]="⤙",
+["lambda"]="λ",
+["frac14"]="¼",
+["mcy"]="м",
+["nparsl"]="⫽⃥",
+["lBarr"]="⤎",
+["subdot"]="⪽",
+["frac12"]="½",
+["kopf"]="𝕜",
+["LeftCeiling"]="⌈",
+["erarr"]="⥱",
+["pre"]="⪯",
+["varr"]="↕",
+["Pi"]="Π",
+["sub"]="⊂",
+["ncy"]="н",
+["marker"]="▮",
+["rpargt"]="⦔",
+["supe"]="⊇",
+["veebar"]="⊻",
+["checkmark"]="✓",
+["nbsp"]=" ",
+["sqsupseteq"]="⊒",
+["upharpoonright"]="↾",
+["lopf"]="𝕝",
+["Omicron"]="Ο",
+["ccaps"]="⩍",
+["lrhard"]="⥭",
["Lstrok"]="Ł",
-["gamma"]="γ",
-["Sc"]="⪼",
-["Aopf"]="𝔸",
-["pluscir"]="⨢",
-["Itilde"]="Ĩ",
-["DoubleRightTee"]="⊨",
-["pluse"]="⩲",
-["iiint"]="∭",
-["dotplus"]="∔",
-["vrtri"]="⊳",
-["Proportion"]="∷",
-["bne"]="=⃥",
-["cuepr"]="⋞",
+["Mfr"]="𝔐",
+["njcy"]="њ",
+["ocy"]="о",
+["Zcaron"]="Ž",
+["NotSucceeds"]="⊁",
+["rarrbfs"]="⤠",
+["gtrapprox"]="⪆",
+["oS"]="Ⓢ",
+["diamond"]="⋄",
+["gesdot"]="⪀",
+["urcorner"]="⌝",
+["lotimes"]="⨴",
+["pertenk"]="‱",
+["rfisht"]="⥽",
+["Zfr"]="ℨ",
+["Map"]="⤅",
+["cross"]="✗",
+["DifferentialD"]="ⅆ",
+["boxtimes"]="⊠",
+["horbar"]="―",
+["lg"]="≶",
+["orarr"]="↻",
+["Vbar"]="⫫",
+["ropf"]="𝕣",
+["NotDoubleVerticalBar"]="∦",
+["Sfr"]="𝔖",
+["Iuml"]="Ï",
+["leftharpoondown"]="↽",
+["atilde"]="ã",
+["VerticalTilde"]="≀",
+["DoubleContourIntegral"]="∯",
+["longleftarrow"]="⟵",
+["Im"]="ℑ",
+["RightUpVectorBar"]="⥔",
+["nGg"]="⋙̸",
+["scap"]="⪸",
+["nrarr"]="↛",
+["ycy"]="ы",
+["ucirc"]="û",
+["qopf"]="𝕢",
+["oopf"]="𝕠",
+["yacute"]="ý",
+["Xfr"]="𝔛",
+["fork"]="⋔",
+["in"]="∈",
+["xcap"]="⋂",
+["check"]="✓",
+["jcy"]="й",
+["Phi"]="Φ",
+["doteq"]="≐",
["vBar"]="⫨",
-["yucy"]="ю",
-["PrecedesTilde"]="≾",
-["varr"]="↕",
-["leftarrowtail"]="↢",
-["rangle"]="⟩",
-["subsub"]="⫕",
-["rightarrowtail"]="↣",
-["oslash"]="ø",
-["mapstodown"]="↧",
-["sqsube"]="⊑",
-["NewLine"]="\n",
-["Vdash"]="⊩",
-["num"]="#",
-["umacr"]="ū",
-["InvisibleTimes"]="⁢",
-["bemptyv"]="⦰",
+["frown"]="⌢",
["Iogon"]="Į",
-["ssmile"]="⌣",
-["timesbar"]="⨱",
-["Tstrok"]="Ŧ",
-["Icy"]="И",
-["zacute"]="ź",
-["Cedilla"]="¸",
-["daleth"]="ℸ",
-["semi"]=";",
-["ssetmn"]="∖",
-["subdot"]="⪽",
-["Bernoullis"]="ℬ",
-["otimesas"]="⨶",
-["circleddash"]="⊝",
-["circlearrowright"]="↻",
-["NotLeftTriangleEqual"]="⋬",
-["NotTilde"]="≁",
-["npart"]="∂̸",
-["Gbreve"]="Ğ",
-["gtrless"]="≷",
-["pound"]="£",
-["curlyeqsucc"]="⋟",
-["blacklozenge"]="⧫",
-["ldca"]="⤶",
-["nsucc"]="⊁",
-["top"]="⊤",
-["ufr"]="𝔲",
-["sscr"]="𝓈",
-["eDDot"]="⩷",
-["Updownarrow"]="⇕",
-["loz"]="◊",
-["Gcy"]="Г",
-["boxdl"]="┐",
+["gnsim"]="⋧",
+["nsupset"]="⊃⃒",
+["equals"]="=",
+["angmsdac"]="⦪",
+["odash"]="⊝",
+["Hstrok"]="Ħ",
+["homtht"]="∻",
+["maltese"]="✠",
+["esim"]="≂",
+["realine"]="ℛ",
+["straightepsilon"]="ϵ",
+["utri"]="▵",
+["primes"]="ℙ",
+["dbkarow"]="⤏",
+["NotLessTilde"]="≴",
+["nvrArr"]="⤃",
+["cularrp"]="⤽",
+["supsup"]="⫖",
+["rang"]="⟩",
+["nshortmid"]="∤",
+["NotCupCap"]="≭",
+["gnE"]="≩",
+["otilde"]="õ",
+["LeftTriangle"]="⊲",
+["oelig"]="œ",
+["curarrm"]="⤼",
+["orderof"]="ℴ",
+["DoubleLongLeftArrow"]="⟸",
+["OverParenthesis"]="⏜",
+["amacr"]="ā",
+["copysr"]="℗",
+["acirc"]="â",
+["LeftArrowRightArrow"]="⇆",
+["filig"]="fi",
+["uopf"]="𝕦",
+["rlhar"]="⇌",
+["dharl"]="⇃",
+["rAarr"]="⇛",
+["rarrw"]="↝",
+["isin"]="∈",
+["simg"]="⪞",
+["NoBreak"]="⁠",
+["rAtail"]="⤜",
+["ndash"]="–",
+["IJlig"]="IJ",
+["dfr"]="𝔡",
+["ohm"]="Ω",
+["breve"]="˘",
+["ccedil"]="ç",
+["topf"]="𝕥",
+["nvDash"]="⊭",
+["RBarr"]="⤐",
+["clubs"]="♣",
["napos"]="ʼn",
-["Sqrt"]="√",
-["xsqcup"]="⨆",
-["Implies"]="⇒",
-["uring"]="ů",
-["thetav"]="ϑ",
-["iiiint"]="⨌",
-["nLeftrightarrow"]="⇎",
-["lobrk"]="⟦",
-["xfr"]="𝔵",
-["Abreve"]="Ă",
-["micro"]="µ",
-["quatint"]="⨖",
-["congdot"]="⩭",
-["nrtrie"]="⋭",
-["Fcy"]="Ф",
-["hksearow"]="⤥",
-["LowerLeftArrow"]="↙",
-["rdca"]="⤷",
-["OverBar"]="‾",
-["frac12"]="½",
-["imacr"]="ī",
-["boxVL"]="╣",
-["sfr"]="𝔰",
-["ensp"]=" ",
-["dwangle"]="⦦",
-["boxh"]="─",
-["Eogon"]="Ę",
+["ngtr"]="≯",
+["Tstrok"]="Ŧ",
+["lrarr"]="⇆",
+["eqslantgtr"]="⪖",
+["efr"]="𝔢",
+["gne"]="⪈",
+["csube"]="⫑",
+["Xi"]="Ξ",
+["sopf"]="𝕤",
+["LeftVector"]="↼",
+["ggg"]="⋙",
+["Ubrcy"]="Ў",
+["die"]="¨",
+["topbot"]="⌶",
+["Rfr"]="ℜ",
+["ofcir"]="⦿",
["imped"]="Ƶ",
-["Ecy"]="Э",
-["lates"]="⪭︀",
-["phi"]="φ",
-["minusd"]="∸",
-["planckh"]="ℎ",
-["Ocirc"]="Ô",
-["lE"]="≦",
-["sum"]="∑",
-["lrtri"]="⊿",
-["ruluhar"]="⥨",
-["lAarr"]="⇚",
-["DownArrow"]="↓",
-["zscr"]="𝓏",
-["questeq"]="≟",
-["ngeqq"]="≧̸",
-["And"]="⩓",
-["Dcy"]="Д",
-["angrtvbd"]="⦝",
-["rarrpl"]="⥅",
-["thkap"]="≈",
-["Otimes"]="⨷",
-["lesssim"]="≲",
-["gE"]="≧",
-["ouml"]="ö",
-["nsubseteq"]="⊈",
-["bigcirc"]="◯",
+["plusmn"]="±",
+["nles"]="⩽̸",
+["pcy"]="п",
+["permil"]="‰",
+["notinE"]="⋹̸",
+["bigoplus"]="⨁",
+["boxplus"]="⊞",
+["doublebarwedge"]="⌆",
+["ccaron"]="č",
+["asymp"]="≈",
+["sup1"]="¹",
+["bumpeq"]="≏",
+["nrtrie"]="⋭",
+["larrbfs"]="⤟",
+["emacr"]="ē",
+["gtrless"]="≷",
+["Kfr"]="𝔎",
+["plus"]="+",
+["risingdotseq"]="≓",
+["notindot"]="⋵̸",
+["Subset"]="⋐",
+["CloseCurlyDoubleQuote"]="”",
+["nlsim"]="≴",
+["dcaron"]="ď",
["boxVR"]="╠",
-["Vert"]="‖",
-["naturals"]="ℕ",
-["plussim"]="⨦",
-["wscr"]="𝓌",
-["raquo"]="»",
-["bigodot"]="⨀",
-["dashv"]="⊣",
-["hairsp"]=" ",
-["inodot"]="ı",
-["vnsup"]="⊃⃒",
+["lne"]="⪇",
+["Pfr"]="𝔓",
+["rightsquigarrow"]="↝",
+["phone"]="☎",
+["DiacriticalDot"]="˙",
+["Congruent"]="≡",
+["SquareIntersection"]="⊓",
+["ordf"]="ª",
+["loz"]="◊",
["cire"]="≗",
-["vartriangleleft"]="⊲",
-["rbrke"]="⦌",
-["boxuL"]="╛",
-["sce"]="⪰",
-["nrtri"]="⋫",
-["loarr"]="⇽",
-["ShortRightArrow"]="→",
-["xscr"]="𝓍",
-["Bcy"]="Б",
-["HumpEqual"]="≏",
-["lmidot"]="ŀ",
-["DownLeftVector"]="↽",
-["leftharpoonup"]="↼",
+["ecaron"]="ě",
+["nsub"]="⊄",
+["Fouriertrf"]="ℱ",
+["Qfr"]="𝔔",
+["dblac"]="˝",
+["sc"]="≻",
+["xrarr"]="⟶",
+["ImaginaryI"]="ⅈ",
+["angmsdag"]="⦮",
+["wopf"]="𝕨",
+["middot"]="·",
+["gsiml"]="⪐",
+["biguplus"]="⨄",
+["Prime"]="″",
+["bigcirc"]="◯",
+["vsubnE"]="⫋︀",
+["lrtri"]="⊿",
+["nparallel"]="∦",
["lbbrk"]="❲",
-["rarrtl"]="↣",
-["SucceedsEqual"]="⪰",
-["HumpDownHump"]="≎",
-["Vee"]="⋁",
-["Gopf"]="𝔾",
-["otilde"]="õ",
-["ofr"]="𝔬",
-["Sub"]="⋐",
-["gnE"]="≩",
-["SquareSuperset"]="⊐",
-["leftrightharpoons"]="⇋",
-["tosa"]="⤩",
-["Ucirc"]="Û",
-["mscr"]="𝓂",
-["Exists"]="∃",
-["langle"]="⟨",
-["rfr"]="𝔯",
-["THORN"]="Þ",
-["gtreqqless"]="⪌",
-["eqvparsl"]="⧥",
-["NotCongruent"]="≢",
-["phiv"]="ϕ",
-["lsquor"]="‚",
-["prec"]="≺",
-["igrave"]="ì",
-["Fopf"]="𝔽",
-["nwArr"]="⇖",
-["nscr"]="𝓃",
-["gescc"]="⪩",
-["intprod"]="⨼",
-["larrlp"]="↫",
-["AMP"]="&",
-["psi"]="ψ",
-["mDDot"]="∺",
-["VDash"]="⊫",
-["Lleftarrow"]="⇚",
-["mfr"]="𝔪",
+["dotsquare"]="⊡",
+["rceil"]="⌉",
["gesles"]="⪔",
-["kscr"]="𝓀",
-["Omega"]="Ω",
-["bumpe"]="≏",
-["NotDoubleVerticalBar"]="∦",
-["frac18"]="⅛",
-["ecolon"]="≕",
-["compfn"]="∘",
-["supdot"]="⪾",
-["Alpha"]="Α",
-["rsquor"]="’",
+["roarr"]="⇾",
+["simplus"]="⨤",
+["lagran"]="ℒ",
+["pr"]="≺",
+["mnplus"]="∓",
+["Iota"]="Ι",
+["NestedLessLess"]="≪",
+["utilde"]="ũ",
+["mldr"]="…",
+["bigstar"]="★",
+["micro"]="µ",
["percnt"]="%",
-["pfr"]="𝔭",
-["frasl"]="⁄",
-["lscr"]="𝓁",
-["aleph"]="ℵ",
-["swArr"]="⇙",
-["uuml"]="ü",
-["uacute"]="ú",
-["scE"]="⪴",
-["hellip"]="…",
+["fllig"]="fl",
+["euml"]="ë",
+["circledR"]="®",
+["lltri"]="◺",
+["IEcy"]="Е",
+["notniva"]="∌",
+["or"]="∨",
+["curvearrowleft"]="↶",
+["gnapprox"]="⪊",
+["NotLessSlantEqual"]="⩽̸",
+["Cconint"]="∰",
+["NotSucceedsTilde"]="≿̸",
+["gammad"]="ϝ",
+["rightharpoondown"]="⇁",
+["CounterClockwiseContourIntegral"]="∳",
+["supdot"]="⪾",
+["upsi"]="υ",
+["nvle"]="≤⃒",
+["beth"]="ℶ",
+["nhArr"]="⇎",
+["Gamma"]="Γ",
+["complement"]="∁",
+["xoplus"]="⨁",
+["chi"]="χ",
+["backepsilon"]="϶",
+["nsube"]="⊈",
+["aopf"]="𝕒",
+["para"]="¶",
+["drbkarow"]="⤐",
+["Dstrok"]="Đ",
+["isinE"]="⋹",
+["Ecirc"]="Ê",
+["aelig"]="æ",
["ulcorner"]="⌜",
-["prnap"]="⪹",
-["Gg"]="⋙",
-["wedge"]="∧",
-["SquareSubset"]="⊏",
-["qscr"]="𝓆",
-["kfr"]="𝔨",
-["RightTee"]="⊢",
-["eqsim"]="≂",
-["rbrksld"]="⦎",
-["ohm"]="Ω",
-["lozf"]="⧫",
-["cups"]="∪︀",
-["epsilon"]="ε",
-["ncap"]="⩃",
-["Leftarrow"]="⇐",
-["ultri"]="◸",
-["egrave"]="è",
-["vBarv"]="⫩",
-["bNot"]="⫭",
-["nfr"]="𝔫",
-["rsqb"]="]",
-["OpenCurlyDoubleQuote"]="“",
-["rsquo"]="’",
-["Del"]="∇",
-["smtes"]="⪬︀",
-["varphi"]="ϕ",
-["CirclePlus"]="⊕",
-["prcue"]="≼",
-["curren"]="¤",
-["nltri"]="⋪",
-["oscr"]="ℴ",
-["Wcirc"]="Ŵ",
-["prime"]="′",
-["ifr"]="𝔦",
-["apos"]="'",
-["UpTee"]="⊥",
-["lescc"]="⪨",
-["NegativeMediumSpace"]="​",
-["DownTee"]="⊤",
-["NotSquareSubsetEqual"]="⋢",
-["LowerRightArrow"]="↘",
-["wr"]="≀",
+["Lcaron"]="Ľ",
+["bopf"]="𝕓",
+["midast"]="*",
+["barvee"]="⊽",
+["nvgt"]=">⃒",
+["bnequiv"]="≡⃥",
+["caron"]="ˇ",
["andand"]="⩕",
-["gvnE"]="≩︀",
-["lfr"]="𝔩",
-["lowast"]="∗",
-["gfr"]="𝔤",
-["digamma"]="ϝ",
-["cemptyv"]="⦲",
-["ubreve"]="ŭ",
-["dstrok"]="đ",
+["eparsl"]="⧣",
+["xhArr"]="⟺",
+["Yuml"]="Ÿ",
+["fallingdotseq"]="≒",
+["vltri"]="⊲",
+["gtrarr"]="⥸",
+["nGtv"]="≫̸",
+["congdot"]="⩭",
+["lfisht"]="⥼",
+["nrtri"]="⋫",
+["prnsim"]="⋨",
+["nsupE"]="⫆̸",
+["Colone"]="⩴",
+["SquareSuperset"]="⊐",
+["boxUL"]="╝",
+["Rrightarrow"]="⇛",
+["nleftrightarrow"]="↮",
+["Conint"]="∯",
+["ffilig"]="ffi",
+["nleqq"]="≦̸",
+["drcrop"]="⌌",
+["boxh"]="─",
+["Lang"]="⟪",
+["ldrdhar"]="⥧",
+["rbrack"]="]",
+["nvinfin"]="⧞",
+["succsim"]="≿",
+["boxhu"]="┴",
+["tau"]="τ",
+["incare"]="℅",
+["flat"]="♭",
+["angst"]="Å",
+["Oslash"]="Ø",
+["Vfr"]="𝔙",
+["tscy"]="ц",
+["lates"]="⪭︀",
+["eopf"]="𝕖",
+["Because"]="∵",
+["frac25"]="⅖",
+["daleth"]="ℸ",
+["ic"]="⁣",
+["ensp"]=" ",
+["lrm"]="‎",
+["DoubleLeftRightArrow"]="⇔",
+["kappa"]="κ",
+["fopf"]="𝕗",
+["cularr"]="↶",
+["shy"]="­",
+["yen"]="¥",
+["glj"]="⪤",
+["dzcy"]="џ",
["expectation"]="ℰ",
-["sime"]="≃",
-["ltrif"]="◂",
-["iacute"]="í",
-["chi"]="χ",
+["dash"]="‐",
+["female"]="♀",
+["UnderBrace"]="⏟",
+["rotimes"]="⨵",
+["caps"]="∩︀",
+["copf"]="𝕔",
+["lparlt"]="⦓",
+["NotLess"]="≮",
+["simrarr"]="⥲",
+["dtri"]="▿",
+["supne"]="⊋",
+["block"]="█",
+["siml"]="⪝",
+["blk12"]="▒",
+["natural"]="♮",
+["frac34"]="¾",
+["frac38"]="⅜",
+["Ufr"]="𝔘",
+["gg"]="≫",
+["Square"]="□",
+["lt"]="<",
["erDot"]="≓",
-["Vcy"]="В",
+["RightAngleBracket"]="⟩",
+["LeftDownTeeVector"]="⥡",
+["NotGreaterGreater"]="≫̸",
+["uogon"]="ų",
+["ocirc"]="ô",
+["sung"]="♪",
+["dollar"]="$",
+["Scaron"]="Š",
+["top"]="⊤",
+["iopf"]="𝕚",
+["udhar"]="⥮",
+["gjcy"]="ѓ",
+["ncap"]="⩃",
+["circlearrowleft"]="↺",
+["bernou"]="ℬ",
+["angmsdaf"]="⦭",
+["ldsh"]="↲",
+["isins"]="⋴",
+["RoundImplies"]="⥰",
+["bigtriangledown"]="▽",
+["LeftAngleBracket"]="⟨",
+["HorizontalLine"]="─",
+["Vdashl"]="⫦",
+["rHar"]="⥤",
+["Tcaron"]="Ť",
+["LeftDownVectorBar"]="⥙",
+["jopf"]="𝕛",
+["LeftRightVector"]="⥎",
+["LessGreater"]="≶",
+["npart"]="∂̸",
+["nsmid"]="∤",
+["RightTriangleBar"]="⧐",
+["nesim"]="≂̸",
+["deg"]="°",
+["LeftTeeArrow"]="↤",
+["NotHumpDownHump"]="≎̸",
+["tridot"]="◬",
+["lceil"]="⌈",
+["ExponentialE"]="ⅇ",
+["tosa"]="⤩",
+["gopf"]="𝕘",
+["ContourIntegral"]="∮",
+["late"]="⪭",
+["bbrk"]="⎵",
+["half"]="½",
["boxhd"]="┬",
-["DoubleDownArrow"]="⇓",
-["lArr"]="⇐",
-["demptyv"]="⦱",
-["smt"]="⪪",
-["intcal"]="⊺",
-["in"]="∈",
-["capcup"]="⩇",
-["kjcy"]="ќ",
-["Ccirc"]="Ĉ",
-["bnequiv"]="≡⃥",
-["Emacr"]="Ē",
-["siml"]="⪝",
-["jfr"]="𝔧",
-["gesdoto"]="⪂",
-["efr"]="𝔢",
-["precneqq"]="⪵",
-["because"]="∵",
-["Udblac"]="Ű",
-["lg"]="≶",
-["boxvr"]="├",
-["fpartint"]="⨍",
-["rbbrk"]="❳",
-["LT"]="<",
-["cap"]="∩",
-["circledR"]="®",
-["notinvc"]="⋶",
-["zwj"]="‍",
-["nle"]="≰",
-["hfr"]="𝔥",
-["bigsqcup"]="⨆",
-["nGg"]="⋙̸",
-["doublebarwedge"]="⌆",
+["hopf"]="𝕙",
+["Ouml"]="Ö",
+["Atilde"]="Ã",
+["planckh"]="ℎ",
+["MinusPlus"]="∓",
+["uharl"]="↿",
+["aleph"]="ℵ",
+["boxHD"]="╦",
+["lesseqgtr"]="⋚",
+["colon"]=":",
+["SquareSupersetEqual"]="⊒",
+["isinsv"]="⋳",
+["lnapprox"]="⪉",
+["PrecedesSlantEqual"]="≼",
+["boxuL"]="╛",
+["csup"]="⫐",
+["hstrok"]="ħ",
+["leftrightharpoons"]="⇋",
+["boxuR"]="╘",
+["DD"]="ⅅ",
+["Longrightarrow"]="⟹",
+["epsilon"]="ε",
+["NotTildeTilde"]="≉",
+["nfr"]="𝔫",
+["Vscr"]="𝒱",
+["Ncy"]="Н",
+["boxUl"]="╜",
+["searr"]="↘",
+["ddagger"]="‡",
+["KHcy"]="Х",
+["NotSuperset"]="⊃⃒",
+["Uparrow"]="⇑",
+["nsqsube"]="⋢",
+["Imacr"]="Ī",
+["nspar"]="∦",
+["supsetneqq"]="⫌",
+["Sscr"]="𝒮",
+["lobrk"]="⟦",
+["mfr"]="𝔪",
+["acirc"]="â",
+["subne"]="⊊",
+["Icirc"]="Î",
+["Re"]="ℜ",
+["nearrow"]="↗",
["YUcy"]="Ю",
-["empty"]="∅",
-["nacute"]="ń",
-["Acirc"]="Â",
-["bigtriangleup"]="△",
-["hybull"]="⁃",
-["Ycy"]="Ы",
-["isindot"]="⋵",
-["iota"]="ι",
-["numero"]="№",
-["cfr"]="𝔠",
-["llarr"]="⇇",
-["lrhard"]="⥭",
-["cross"]="✗",
+["eqsim"]="≂",
+["UnionPlus"]="⊎",
+["topcir"]="⫱",
+["boxVL"]="╣",
+["Xscr"]="𝒳",
+["QUOT"]="\"",
+["RightDownVectorBar"]="⥕",
+["epsi"]="ε",
+["natur"]="♮",
+["leftthreetimes"]="⋋",
+["hercon"]="⊹",
+["lHar"]="⥢",
+["Aring"]="Å",
+["Kcedil"]="Ķ",
+["kfr"]="𝔨",
+["Oacute"]="Ó",
["zwnj"]="‌",
+["plusdu"]="⨥",
+["Kcy"]="К",
+["sqcup"]="⊔",
+["zscr"]="𝓏",
+["Assign"]="≔",
+["zopf"]="𝕫",
+["lstrok"]="ł",
+["zigrarr"]="⇝",
+["ShortDownArrow"]="↓",
+["simlE"]="⪟",
+["mid"]="∣",
["zeta"]="ζ",
-["precnsim"]="⋨",
-["zcy"]="з",
+["gE"]="≧",
+["zeetrf"]="ℨ",
+["qfr"]="𝔮",
["zcaron"]="ž",
-["xodot"]="⨀",
-["RightDownTeeVector"]="⥝",
-["ljcy"]="љ",
+["Yacute"]="Ý",
+["hksearow"]="⤥",
+["Atilde"]="Ã",
+["zacute"]="ź",
+["bsemi"]="⁏",
+["bigtriangleup"]="△",
+["yuml"]="ÿ",
+["yucy"]="ю",
["yscr"]="𝓎",
+["yopf"]="𝕪",
["yicy"]="ї",
-["Rcy"]="Р",
-["nsubset"]="⊂⃒",
-["yen"]="¥",
-["ycy"]="ы",
-["simeq"]="≃",
-["dharr"]="⇂",
-["ycirc"]="ŷ",
-["hArr"]="⇔",
-["yacute"]="ý",
-["yacute"]="ý",
+["urcorn"]="⌝",
+["Aacute"]="Á",
+["backsimeq"]="⋍",
+["ShortUpArrow"]="↑",
["xwedge"]="⋀",
-["xoplus"]="⨁",
-["nparsl"]="⫽⃥",
-["PartialD"]="∂",
-["YAcy"]="Я",
-["xrArr"]="⟹",
-["xotime"]="⨂",
-["sstarf"]="⋆",
-["yuml"]="ÿ",
-["Int"]="∬",
-["bsolb"]="⧅",
+["Jcy"]="Й",
+["nltrie"]="⋬",
+["starf"]="★",
+["zfr"]="𝔷",
+["comma"]=",",
+["xsqcup"]="⨆",
+["boxVr"]="╟",
+["cirscir"]="⧂",
+["ucirc"]="û",
+["Cross"]="⨯",
+["naturals"]="ℕ",
+["quaternions"]="ℍ",
+["xopf"]="𝕩",
+["xodot"]="⨀",
["xnis"]="⋻",
-["xmap"]="⟼",
-["hercon"]="⊹",
-["xlArr"]="⟸",
-["xharr"]="⟷",
-["rbrack"]="]",
+["lsaquo"]="‹",
+["xlarr"]="⟵",
+["Zacute"]="Ź",
+["vdash"]="⊢",
+["submult"]="⫁",
+["Oscr"]="𝒪",
["xdtri"]="▽",
-["diamond"]="⋄",
+["LowerRightArrow"]="↘",
["xcup"]="⋃",
-["subsup"]="⫓",
-["lneqq"]="≨",
-["dharl"]="⇃",
-["Scy"]="С",
-["wopf"]="𝕨",
-["rightleftharpoons"]="⇌",
-["wfr"]="𝔴",
-["nsupseteqq"]="⫆̸",
-["boxuR"]="╘",
-["permil"]="‰",
+["Ycy"]="Ы",
+["timesb"]="⊠",
+["Ucirc"]="Û",
+["eth"]="ð",
+["wscr"]="𝓌",
+["ratail"]="⤚",
+["wr"]="≀",
+["Ograve"]="Ò",
+["wp"]="℘",
+["euml"]="ë",
+["yfr"]="𝔶",
+["rangle"]="⟩",
+["hearts"]="♥",
["wedgeq"]="≙",
-["eparsl"]="⧣",
-["RoundImplies"]="⥰",
-["afr"]="𝔞",
-["vsubne"]="⊊︀",
-["sup2"]="²",
+["wedge"]="∧",
+["gtcir"]="⩺",
+["par"]="∥",
+["swarr"]="↙",
+["phiv"]="ϕ",
+["NotElement"]="∉",
+["alpha"]="α",
+["SquareUnion"]="⊔",
+["parsl"]="⫽",
["vscr"]="𝓋",
+["rharu"]="⇀",
+["vrtri"]="⊳",
+["comp"]="∁",
+["Agrave"]="À",
+["rdca"]="⤷",
+["vprop"]="∝",
+["Tscr"]="𝒯",
["vopf"]="𝕧",
-["lbrace"]="{",
+["ldca"]="⤶",
["vnsub"]="⊂⃒",
-["vltri"]="⊲",
-["Uacute"]="Ú",
-["vfr"]="𝔳",
-["sacute"]="ś",
-["njcy"]="њ",
-["frac35"]="⅗",
-["squf"]="▪",
+["gbreve"]="ğ",
+["NotSquareSubset"]="⊏̸",
+["verbar"]="|",
+["YAcy"]="Я",
["veeeq"]="≚",
-["lsime"]="⪍",
-["mapstoleft"]="↤",
+["downharpoonleft"]="⇃",
+["Star"]="⋆",
+["xfr"]="𝔵",
+["nges"]="⩾̸",
+["GreaterGreater"]="⪢",
+["vartriangleright"]="⊳",
+["rcy"]="р",
+["vartheta"]="ϑ",
+["varsupsetneqq"]="⫌︀",
+["dashv"]="⊣",
["varsupsetneq"]="⊋︀",
-["varsubsetneq"]="⊊︀",
-["Tcy"]="Т",
-["cwint"]="∱",
-["varsigma"]="ς",
-["LessGreater"]="≶",
+["Ncaron"]="Ň",
+["varsubsetneqq"]="⫋︀",
["varrho"]="ϱ",
-["varpropto"]="∝",
-["pr"]="≺",
-["backprime"]="‵",
+["triangledown"]="▿",
+["varpi"]="ϖ",
+["sol"]="/",
+["ssetmn"]="∖",
+["varnothing"]="∅",
["varkappa"]="ϰ",
-["Poincareplane"]="ℌ",
-["roplus"]="⨮",
-["Edot"]="Ė",
-["copysr"]="℗",
+["vangrt"]="⦜",
+["Leftarrow"]="⇐",
+["Qscr"]="𝒬",
+["uwangle"]="⦧",
+["rarrap"]="⥵",
["uuml"]="ü",
-["dfr"]="𝔡",
["uuarr"]="⇈",
-["uogon"]="ų",
-["Uscr"]="𝒰",
-["gel"]="⋛",
-["olarr"]="↺",
-["lsaquo"]="‹",
-["omacr"]="ō",
-["utdot"]="⋰",
-["or"]="∨",
-["Ocirc"]="Ô",
-["ClockwiseContourIntegral"]="∲",
-["SmallCircle"]="∘",
-["gtcc"]="⪧",
["uscr"]="𝓊",
+["urtri"]="◹",
+["uring"]="ů",
+["sect"]="§",
+["quatint"]="⨖",
["urcrop"]="⌎",
-["ContourIntegral"]="∮",
-["szlig"]="ß",
-["egs"]="⪖",
-["Ucy"]="У",
-["ange"]="⦤",
-["upharpoonright"]="↾",
-["xcap"]="⋂",
+["wfr"]="𝔴",
+["duhar"]="⥯",
+["upuparrows"]="⇈",
+["macr"]="¯",
+["SmallCircle"]="∘",
+["upsih"]="ϒ",
+["uplus"]="⊎",
+["shy"]="­",
+["uparrow"]="↑",
["uml"]="¨",
-["nsubseteqq"]="⫅̸",
+["eDot"]="≑",
+["blk34"]="▓",
+["umacr"]="ū",
+["ultri"]="◸",
+["rbbrk"]="❳",
["ulcorn"]="⌜",
-["uhblk"]="▀",
-["scirc"]="ŝ",
-["shy"]="­",
-["uharl"]="↿",
+["uharr"]="↾",
["ugrave"]="ù",
-["lstrok"]="ł",
-["Gamma"]="Γ",
-["udhar"]="⥮",
-["udblac"]="ű",
-["ucirc"]="û",
-["loang"]="⟬",
-["uarr"]="↑",
+["Ograve"]="Ò",
+["nsupseteq"]="⊉",
+["ufisht"]="⥾",
+["Breve"]="˘",
+["ucy"]="у",
+["cylcty"]="⌭",
+["ubreve"]="ŭ",
+["SHcy"]="Ш",
+["boxdR"]="╒",
+["awint"]="⨑",
+["uHar"]="⥣",
["uArr"]="⇑",
-["twoheadrightarrow"]="↠",
+["REG"]="®",
+["twoheadleftarrow"]="↞",
["tstrok"]="ŧ",
+["iprod"]="⨼",
["tshcy"]="ћ",
-["tscy"]="ц",
-["angsph"]="∢",
-["kappa"]="κ",
["tscr"]="𝓉",
-["tritime"]="⨻",
-["trisb"]="⧍",
+["trpezium"]="⏢",
+["ycirc"]="ŷ",
+["larrhk"]="↩",
+["triplus"]="⨹",
["triminus"]="⨺",
-["trie"]="≜",
-["tridot"]="◬",
-["aacute"]="á",
+["Rsh"]="↱",
+["becaus"]="∵",
+["Acirc"]="Â",
["trianglerighteq"]="⊵",
-["RightTeeVector"]="⥛",
["triangleright"]="▹",
+["hkswarow"]="⤦",
+["triangleq"]="≜",
+["AElig"]="Æ",
["trianglelefteq"]="⊴",
+["varpropto"]="∝",
["triangle"]="▵",
-["NegativeVeryThinSpace"]="​",
-["triangledown"]="▿",
-["dash"]="‐",
-["trade"]="™",
+["tprime"]="‴",
["topfork"]="⫚",
-["Upsi"]="ϒ",
-["topcir"]="⫱",
-["loplus"]="⨭",
-["Zdot"]="Ż",
-["lbrke"]="⦋",
-["angmsd"]="∡",
-["dArr"]="⇓",
-["topbot"]="⌶",
["toea"]="⤨",
-["iexcl"]="¡",
-["acirc"]="â",
-["easter"]="⩮",
-["CloseCurlyDoubleQuote"]="”",
-["cupcup"]="⩊",
-["rlhar"]="⇌",
-["nsimeq"]="≄",
-["Uparrow"]="⇑",
-["tau"]="τ",
-["npr"]="⊀",
-["phone"]="☎",
-["emacr"]="ē",
-["SHcy"]="Ш",
-["gtdot"]="⋗",
-["ReverseUpEquilibrium"]="⥯",
+["ac"]="∾",
+["timesd"]="⨰",
+["UpArrowDownArrow"]="⇅",
+["timesbar"]="⨱",
+["llhard"]="⥫",
+["CHcy"]="Ч",
+["odblac"]="ő",
+["THORN"]="Þ",
+["notni"]="∌",
+["nbump"]="≎̸",
+["eqcolon"]="≕",
["tilde"]="˜",
-["angmsdac"]="⦪",
-["duhar"]="⥯",
-["approxeq"]="≊",
-["NotSupersetEqual"]="⊉",
-["thorn"]="þ",
-["thksim"]="∼",
-["subsim"]="⫇",
-["bnot"]="⌐",
+["simgE"]="⪠",
+["intercal"]="⊺",
+["thetasym"]="ϑ",
+["xcirc"]="◯",
["thinsp"]=" ",
["thicksim"]="∼",
-["gt"]=">",
-["UpperLeftArrow"]="↖",
-["thetasym"]="ϑ",
-["simlE"]="⪟",
-["bbrktbrk"]="⎶",
-["Jcirc"]="Ĵ",
-["cedil"]="¸",
-["NotLessSlantEqual"]="⩽̸",
-["rx"]="℞",
-["infin"]="∞",
-["curlyvee"]="⋎",
-["LeftArrow"]="←",
-["tfr"]="𝔱",
-["blacksquare"]="▪",
-["emptyv"]="∅",
-["Mellintrf"]="ℳ",
-["aogon"]="ą",
-["succnapprox"]="⪺",
-["tcy"]="т",
-["ecaron"]="ě",
+["LeftArrowBar"]="⇤",
+["Uuml"]="Ü",
+["DownTeeArrow"]="↧",
+["cent"]="¢",
+["hookleftarrow"]="↩",
+["odiv"]="⨸",
+["therefore"]="∴",
+["ClockwiseContourIntegral"]="∲",
+["Ofr"]="𝔒",
+["auml"]="ä",
+["frac12"]="½",
+["nRightarrow"]="⇏",
+["kcedil"]="ķ",
+["DownRightVectorBar"]="⥗",
+["boxDL"]="╗",
["tcedil"]="ţ",
-["boxhU"]="╨",
-["boxVl"]="╢",
-["gacute"]="ǵ",
-["tcaron"]="ť",
-["boxDr"]="╓",
-["bump"]="≎",
-["blk12"]="▒",
-["RightArrow"]="→",
-["els"]="⪕",
-["apacir"]="⩯",
-["acy"]="а",
-["omid"]="⦶",
-["boxbox"]="⧉",
-["iecy"]="е",
-["szlig"]="ß",
-["upsih"]="ϒ",
-["swnwar"]="⤪",
-["Icirc"]="Î",
-["swarr"]="↙",
-["times"]="×",
-["Ograve"]="Ò",
-["hoarr"]="⇿",
-["NotTildeEqual"]="≄",
-["IEcy"]="Е",
-["iexcl"]="¡",
-["bdquo"]="„",
-["TildeTilde"]="≈",
+["boxUr"]="╙",
+["icirc"]="î",
+["lmoustache"]="⎰",
+["prime"]="′",
+["ngeq"]="≱",
["nshortparallel"]="∦",
-["subedot"]="⫃",
-["supsetneq"]="⊋",
-["CenterDot"]="·",
-["lessapprox"]="⪅",
-["LeftVectorBar"]="⥒",
-["bigoplus"]="⨁",
-["supseteqq"]="⫆",
-["drcorn"]="⌟",
-["hstrok"]="ħ",
-["HorizontalLine"]="─",
-["curarrm"]="⤼",
-["lopar"]="⦅",
+["szlig"]="ß",
+["Egrave"]="È",
+["sqsubset"]="⊏",
+["NotRightTriangleEqual"]="⋭",
+["swarrow"]="↙",
+["Ucirc"]="Û",
+["DownArrowBar"]="⤓",
+["Lfr"]="𝔏",
["wcirc"]="ŵ",
+["LessLess"]="⪡",
+["Tilde"]="∼",
+["empty"]="∅",
+["swarhk"]="⤦",
+["DownLeftVector"]="↽",
+["Uscr"]="𝒰",
+["khcy"]="х",
+["gesl"]="⋛︀",
+["supsub"]="⫔",
+["malt"]="✠",
+["cirmid"]="⫯",
+["PrecedesTilde"]="≾",
+["lharul"]="⥪",
+["rightleftharpoons"]="⇌",
+["Ccedil"]="Ç",
+["plusb"]="⊞",
+["nsupe"]="⊉",
+["geq"]="≥",
+["dHar"]="⥥",
+["lcedil"]="ļ",
+["ange"]="⦤",
+["supseteq"]="⊇",
+["Upsi"]="ϒ",
+["mapstodown"]="↧",
+["profalar"]="⌮",
+["cupdot"]="⊍",
+["mapstoleft"]="↤",
+["xotime"]="⨂",
+["tbrk"]="⎴",
+["supmult"]="⫂",
+["disin"]="⋲",
["suphsub"]="⫗",
-["Otilde"]="Õ",
-["EmptySmallSquare"]="◻",
+["eg"]="⪚",
["supedot"]="⫄",
-["Kopf"]="𝕂",
-["boxminus"]="⊟",
-["csupe"]="⫒",
-["Ffr"]="𝔉",
-["origof"]="⊶",
-["sup3"]="³",
-["boxH"]="═",
-["vsubnE"]="⫋︀",
-["Hcirc"]="Ĥ",
-["block"]="█",
+["NonBreakingSpace"]=" ",
+["Euml"]="Ë",
["bsolhsub"]="⟈",
-["Supset"]="⋑",
-["GreaterFullEqual"]="≧",
+["supdsub"]="⫘",
+["sup3"]="³",
+["DoubleLeftTee"]="⫤",
+["angrtvb"]="⊾",
+["supsim"]="⫈",
+["sup2"]="²",
+["sup2"]="²",
+["circledast"]="⊛",
+["rfr"]="𝔯",
+["darr"]="↓",
+["rarrhk"]="↪",
+["macr"]="¯",
["sup1"]="¹",
-["llcorner"]="⌞",
-["sopf"]="𝕤",
-["larrbfs"]="⤟",
-["succneqq"]="⪶",
-["part"]="∂",
-["eacute"]="é",
-["COPY"]="©",
-["frac23"]="⅔",
-["dbkarow"]="⤏",
-["succeq"]="⪰",
-["notni"]="∌",
-["Euml"]="Ë",
-["harrcir"]="⥈",
-["leftrightsquigarrow"]="↭",
-["xcirc"]="◯",
-["caret"]="⁁",
-["les"]="⩽",
-["lharul"]="⥪",
-["bsime"]="⋍",
-["DoubleLeftArrow"]="⇐",
-["ecirc"]="ê",
-["subsetneqq"]="⫋",
-["crarr"]="↵",
-["cuwed"]="⋏",
-["Ugrave"]="Ù",
-["Gcirc"]="Ĝ",
-["LeftTriangleBar"]="⧏",
+["aacute"]="á",
+["oscr"]="ℴ",
+["lharu"]="↼",
+["telrec"]="⌕",
+["Dashv"]="⫤",
+["succnsim"]="⋩",
+["AElig"]="Æ",
+["Vee"]="⋁",
+["succnapprox"]="⪺",
+["CapitalDifferentialD"]="ⅅ",
["gsim"]="≳",
-["RightTriangleEqual"]="⊵",
-["lacute"]="ĺ",
-["Ccedil"]="Ç",
-["ee"]="ⅇ",
-["heartsuit"]="♥",
-["coloneq"]="≔",
-["subseteq"]="⊆",
-["NotSucceedsTilde"]="≿̸",
+["succapprox"]="⪸",
+["rmoustache"]="⎱",
+["DotEqual"]="≐",
+["subsup"]="⫓",
+["Gcedil"]="Ģ",
+["questeq"]="≟",
+["lthree"]="⋋",
+["cong"]="≅",
+["lcub"]="{",
+["radic"]="√",
+["subrarr"]="⥹",
+["nvlt"]="<⃒",
["subplus"]="⪿",
-["cupcap"]="⩆",
-["Amacr"]="Ā",
-["angst"]="Å",
-["supsetneqq"]="⫌",
-["sube"]="⊆",
-["imagpart"]="ℑ",
-["Lambda"]="Λ",
-["Afr"]="𝔄",
-["sub"]="⊂",
+["bigsqcup"]="⨆",
+["downarrow"]="↓",
+["auml"]="ä",
+["boxdL"]="╕",
+["boxvr"]="├",
+["lbrkslu"]="⦍",
+["bigwedge"]="⋀",
+["apacir"]="⩯",
+["Wscr"]="𝒲",
+["iecy"]="е",
+["VerticalSeparator"]="❘",
+["Yfr"]="𝔜",
["strns"]="¯",
["straightphi"]="ϕ",
-["boxvL"]="╡",
-["dagger"]="†",
-["eta"]="η",
-["KHcy"]="Х",
-["Yfr"]="𝔜",
-["lbrack"]="[",
-["VerticalBar"]="∣",
-["rightleftarrows"]="⇄",
-["fltns"]="▱",
-["verbar"]="|",
-["RightAngleBracket"]="⟩",
-["DownRightVector"]="⇁",
-["Lacute"]="Ĺ",
-["sol"]="/",
-["lrm"]="‎",
-["lesdot"]="⩿",
-["nleqslant"]="⩽̸",
-["capcap"]="⩋",
+["kcy"]="к",
+["aogon"]="ą",
+["star"]="☆",
+["caret"]="⁁",
+["cups"]="∪︀",
+["iquest"]="¿",
+["spar"]="∥",
+["NotExists"]="∄",
+["Gt"]="≫",
["squ"]="□",
-["xutri"]="△",
-["TSHcy"]="Ћ",
-["gap"]="⪆",
-["gtrdot"]="⋗",
-["scnap"]="⪺",
-["bkarow"]="⤍",
-["NotPrecedes"]="⊀",
-["suphsol"]="⟉",
+["sqsupe"]="⊒",
+["subnE"]="⫋",
["sqsup"]="⊐",
-["epsi"]="ε",
-["sqsubset"]="⊏",
-["check"]="✓",
-["UpArrowBar"]="⤒",
-["NotPrecedesEqual"]="⪯̸",
-["csube"]="⫑",
-["nsupset"]="⊃⃒",
-["lesdoto"]="⪁",
+["sqsubseteq"]="⊑",
+["ffr"]="𝔣",
+["UpTeeArrow"]="↥",
+["middot"]="·",
+["DoubleLongRightArrow"]="⟹",
+["sqsube"]="⊑",
+["sce"]="⪰",
+["Sup"]="⋑",
+["cacute"]="ć",
+["GreaterFullEqual"]="≧",
+["pfr"]="𝔭",
+["Lleftarrow"]="⇚",
+["heartsuit"]="♥",
+["precsim"]="≾",
+["nsucceq"]="⪰̸",
["sqcups"]="⊔︀",
-["suplarr"]="⥻",
-["nsim"]="≁",
-["NotEqualTilde"]="≂̸",
-["nearr"]="↗",
-["SquareIntersection"]="⊓",
-["intlarhk"]="⨗",
-["Ecirc"]="Ê",
-["vangrt"]="⦜",
-["fllig"]="fl",
-["Leftrightarrow"]="⇔",
-["primes"]="ℙ",
-["nvlArr"]="⤂",
+["Igrave"]="Ì",
+["iquest"]="¿",
+["Pcy"]="П",
+["thksim"]="∼",
+["djcy"]="ђ",
+["hfr"]="𝔥",
+["spadesuit"]="♠",
+["rbrkslu"]="⦐",
+["shcy"]="ш",
+["barwed"]="⌅",
+["rpar"]=")",
+["iiiint"]="⨌",
+["solb"]="⧄",
+["Integral"]="∫",
+["napE"]="⩰̸",
+["softcy"]="ь",
+["NotRightTriangleBar"]="⧐̸",
+["Mu"]="Μ",
+["frasl"]="⁄",
+["Icy"]="И",
+["dfisht"]="⥿",
["smte"]="⪬",
-["ltri"]="◃",
-["Tscr"]="𝒯",
+["smt"]="⪪",
+["bottom"]="⊥",
+["oacute"]="ó",
+["ofr"]="𝔬",
["smid"]="∣",
-["smeparsl"]="⧤",
-["rarrc"]="⤳",
-["divideontimes"]="⋇",
-["eth"]="ð",
-["boxvR"]="╞",
-["copy"]="©",
-["nges"]="⩾̸",
-["fcy"]="ф",
-["ShortUpArrow"]="↑",
-["simplus"]="⨤",
-["frac45"]="⅘",
-["nexists"]="∄",
-["LeftTeeArrow"]="↤",
-["leftleftarrows"]="⇇",
-["simg"]="⪞",
-["euro"]="€",
-["simdot"]="⩪",
-["sim"]="∼",
-["sigmav"]="ς",
-["iuml"]="ï",
-["updownarrow"]="↕",
-["shy"]="­",
-["solb"]="⧄",
+["ReverseUpEquilibrium"]="⥯",
+["smashp"]="⨳",
+["slarr"]="←",
+["simne"]="≆",
+["LeftRightArrow"]="↔",
+["thkap"]="≈",
+["nlArr"]="⇍",
+["chcy"]="ч",
+["not"]="¬",
+["kgreen"]="ĸ",
+["simeq"]="≃",
+["LongRightArrow"]="⟶",
+["sime"]="≃",
+["sigma"]="σ",
+["odot"]="⊙",
+["amp"]="&",
+["Longleftrightarrow"]="⟺",
+["Upsilon"]="Υ",
+["upharpoonleft"]="↿",
+["bigotimes"]="⨂",
+["parallel"]="∥",
+["ffllig"]="ffl",
+["shortparallel"]="∥",
+["boxdr"]="┌",
+["shortmid"]="∣",
+["Euml"]="Ë",
+["UpDownArrow"]="↕",
+["lcaron"]="ľ",
+["sfrown"]="⌢",
+["harr"]="↔",
+["dsol"]="⧶",
+["Beta"]="Β",
+["srarr"]="→",
+["boxHd"]="╤",
["nesear"]="⤨",
-["Umacr"]="Ū",
-["uharr"]="↾",
-["Therefore"]="∴",
-["Barv"]="⫧",
-["amacr"]="ā",
["setmn"]="∖",
+["DoubleDot"]="¨",
["setminus"]="∖",
-["Sscr"]="𝒮",
+["andd"]="⩜",
+["leftrightarrow"]="↔",
["seswar"]="⤩",
-["ccupssm"]="⩐",
-["searr"]="↘",
+["eogon"]="ę",
+["bne"]="=⃥",
+["DownBreve"]="̑",
+["nLtv"]="≪̸",
+["nprcue"]="⋠",
+["SucceedsSlantEqual"]="≽",
+["downdownarrows"]="⇊",
+["seArr"]="⇘",
+["Utilde"]="Ũ",
+["Gammad"]="Ϝ",
+["sdote"]="⩦",
+["iexcl"]="¡",
+["nvdash"]="⊬",
+["csupe"]="⫒",
["sdotb"]="⊡",
-["icirc"]="î",
-["amp"]="&",
-["gcy"]="г",
-["Aacute"]="Á",
-["boxvh"]="┼",
-["bfr"]="𝔟",
-["OverParenthesis"]="⏜",
-["sqsupe"]="⊒",
-["amp"]="&",
-["frac14"]="¼",
-["ZeroWidthSpace"]="​",
-["Colon"]="∷",
-["Proportional"]="∝",
-["thickapprox"]="≈",
-["subseteqq"]="⫅",
-["IJlig"]="IJ",
-["scedil"]="ş",
-["lrarr"]="⇆",
-["angmsdaf"]="⦭",
-["downharpoonleft"]="⇃",
+["scsim"]="≿",
+["bcy"]="б",
+["NotTilde"]="≁",
+["minus"]="−",
+["scnE"]="⪶",
+["scirc"]="ŝ",
+["oplus"]="⊕",
+["para"]="¶",
+["Ycirc"]="Ŷ",
+["notinva"]="∉",
+["nLl"]="⋘̸",
+["Aring"]="Å",
+["THORN"]="Þ",
+["numero"]="№",
+["scaron"]="š",
+["bsol"]="\\",
+["harrw"]="↭",
+["exponentiale"]="ⅇ",
+["eDDot"]="⩷",
+["AMP"]="&",
+["gamma"]="γ",
+["opar"]="⦷",
+["cwint"]="∱",
+["GreaterEqual"]="≥",
+["bigcap"]="⋂",
+["rtimes"]="⋊",
+["integers"]="ℤ",
+["easter"]="⩮",
["RightDoubleBracket"]="⟧",
-["half"]="½",
-["larr"]="←",
["sbquo"]="‚",
-["Vscr"]="𝒱",
-["nVdash"]="⊮",
-["DownRightVectorBar"]="⥗",
-["RightDownVector"]="⇂",
-["disin"]="⋲",
-["nsce"]="⪰̸",
-["rbrace"]="}",
-["MinusPlus"]="∓",
-["rtrif"]="▸",
-["parsim"]="⫳",
-["supseteq"]="⊇",
-["Superset"]="⊃",
-["Verbar"]="‖",
+["cfr"]="𝔠",
+["ruluhar"]="⥨",
+["image"]="ℑ",
+["nleqslant"]="⩽̸",
+["Yopf"]="𝕐",
+["apE"]="⩰",
+["NotPrecedesEqual"]="⪯̸",
+["rsqb"]="]",
+["rtrie"]="⊵",
+["rthree"]="⋌",
+["amp"]="&",
+["eng"]="ŋ",
+["ll"]="≪",
+["rrarr"]="⇉",
+["RightTee"]="⊢",
+["ETH"]="Ð",
+["ReverseEquilibrium"]="⇋",
+["langle"]="⟨",
["Zeta"]="Ζ",
-["nsccue"]="⋡",
-["bsemi"]="⁏",
-["ldquor"]="„",
-["curarr"]="↷",
-["rscr"]="𝓇",
-["rppolint"]="⨒",
-["rpargt"]="⦔",
-["rotimes"]="⨵",
-["Equal"]="⩵",
-["ropf"]="𝕣",
-["ropar"]="⦆",
-["roarr"]="⇾",
-["odot"]="⊙",
-["natural"]="♮",
-["slarr"]="←",
-["angmsdae"]="⦬",
-["acE"]="∾̳",
+["roplus"]="⨮",
+["there4"]="∴",
+["DownRightTeeVector"]="⥟",
+["npar"]="∦",
+["robrk"]="⟧",
+["exist"]="∃",
+["lfr"]="𝔩",
+["VDash"]="⊫",
+["rnmid"]="⫮",
+["rmoust"]="⎱",
["rlm"]="‏",
-["COPY"]="©",
-["iogon"]="į",
-["nleftrightarrow"]="↮",
-["reg"]="®",
-["risingdotseq"]="≓",
-["rightsquigarrow"]="↝",
-["dtri"]="▿",
-["Larr"]="↞",
-["icy"]="и",
-["gimel"]="ℷ",
+["Ccirc"]="Ĉ",
+["imagpart"]="ℑ",
+["Equilibrium"]="⇌",
+["dd"]="ⅆ",
+["cuepr"]="⋞",
+["Agrave"]="À",
+["cuesc"]="⋟",
+["square"]="□",
+["notnivc"]="⋽",
+["rbrksld"]="⦎",
["cup"]="∪",
-["DJcy"]="Ђ",
-["gtrapprox"]="⪆",
-["rightharpoonup"]="⇀",
-["prsim"]="≾",
-["rightharpoondown"]="⇁",
-["frac16"]="⅙",
-["nbsp"]=" ",
-["cedil"]="¸",
-["numsp"]=" ",
+["OpenCurlyDoubleQuote"]="“",
+["Lacute"]="Ĺ",
+["NewLine"]="\n",
+["Sigma"]="Σ",
+["Abreve"]="Ă",
+["rightleftarrows"]="⇄",
+["tint"]="∭",
+["angmsdae"]="⦬",
+["Leftrightarrow"]="⇔",
+["rdquor"]="”",
+["Verbar"]="‖",
+["Gfr"]="𝔊",
["rightarrow"]="→",
["rhov"]="ϱ",
-["rdquo"]="”",
-["rharul"]="⥬",
-["frac34"]="¾",
-["ldrdhar"]="⥧",
-["gnsim"]="⋧",
-["rtriltri"]="⧎",
-["emsp"]=" ",
-["rlarr"]="⇄",
-["Oslash"]="Ø",
-["LeftDownTeeVector"]="⥡",
+["Alpha"]="Α",
+["rho"]="ρ",
+["DownLeftTeeVector"]="⥞",
+["ntriangleright"]="⋫",
["reg"]="®",
-["LeftTeeVector"]="⥚",
-["gsiml"]="⪐",
-["QUOT"]="\"",
-["blk14"]="░",
-["rightrightarrows"]="⇉",
-["NotGreaterGreater"]="≫̸",
-["Xscr"]="𝒳",
-["Re"]="ℜ",
-["Ouml"]="Ö",
+["Int"]="∬",
+["agrave"]="à",
+["Ecirc"]="Ê",
+["NotReverseElement"]="∌",
+["backprime"]="‵",
+["Jfr"]="𝔍",
["rdsh"]="↳",
-["and"]="∧",
-["larrb"]="⇤",
-["TripleDot"]="⃛",
-["bcy"]="б",
-["diams"]="♦",
-["veebar"]="⊻",
-["rcub"]="}",
-["Scirc"]="Ŝ",
-["ac"]="∾",
-["rceil"]="⌉",
-["rcedil"]="ŗ",
-["cupbrcap"]="⩈",
-["rcaron"]="ř",
-["cuesc"]="⋟",
-["HilbertSpace"]="ℋ",
-["plus"]="+",
-["rbrkslu"]="⦐",
-["LessLess"]="⪡",
-["macr"]="¯",
-["notinE"]="⋹̸",
+["jsercy"]="ј",
+["Bscr"]="ℬ",
+["boxH"]="═",
+["leq"]="≤",
+["NotPrecedes"]="⊀",
+["coloneq"]="≔",
+["boxvh"]="┼",
+["larr"]="←",
+["ncup"]="⩂",
+["EmptySmallSquare"]="◻",
+["vartriangleleft"]="⊲",
+["iacute"]="í",
+["nVDash"]="⊯",
+["lap"]="⪅",
+["precapprox"]="⪷",
+["ecolon"]="≕",
+["lsqb"]="[",
["rbarr"]="⤍",
-["abreve"]="ă",
-["sqcup"]="⊔",
-["ratail"]="⤚",
-["VeryThinSpace"]=" ",
-["Uarrocir"]="⥉",
-["rarrfs"]="⤞",
-["Odblac"]="Ő",
-["Imacr"]="Ī",
-["ordm"]="º",
-["odsold"]="⦼",
-["NJcy"]="Њ",
-["Yacute"]="Ý",
-["rarrbfs"]="⤠",
-["prop"]="∝",
-["notin"]="∉",
-["vsupne"]="⊋︀",
-["bigcap"]="⋂",
-["Phi"]="Φ",
-["Ograve"]="Ò",
-["Yscr"]="𝒴",
-["approx"]="≈",
-["racute"]="ŕ",
-["ggg"]="⋙",
-["lmoust"]="⎰",
+["yacy"]="я",
+["efDot"]="≒",
+["ratio"]="∶",
+["wreath"]="≀",
+["nearhk"]="⤤",
+["rarrpl"]="⥅",
+["nvge"]="≥⃒",
+["searrow"]="↘",
+["thorn"]="þ",
+["rdquo"]="”",
+["LessFullEqual"]="≦",
+["nvrtrie"]="⊵⃒",
+["nsubseteqq"]="⫅̸",
+["nedot"]="≐̸",
+["VerticalLine"]="|",
+["lsh"]="↰",
+["DownRightVector"]="⇁",
+["ecirc"]="ê",
+["andv"]="⩚",
+["trie"]="≜",
+["race"]="∽̱",
["rBarr"]="⤏",
-["gneqq"]="≩",
-["isinv"]="∈",
-["harr"]="↔",
-["rArr"]="⇒",
-["rAarr"]="⇛",
-["quot"]="\"",
+["lbrksld"]="⦏",
+["emsp14"]=" ",
+["RuleDelayed"]="⧴",
+["vsubne"]="⊊︀",
+["ShortLeftArrow"]="←",
+["gtlPar"]="⦕",
["quest"]="?",
-["iuml"]="ï",
-["LeftRightArrow"]="↔",
-["LeftDoubleBracket"]="⟦",
-["gesdot"]="⪀",
-["Ntilde"]="Ñ",
-["boxUR"]="╚",
-["exist"]="∃",
-["subnE"]="⫋",
-["ograve"]="ò",
-["qopf"]="𝕢",
-["Zacute"]="Ź",
-["qfr"]="𝔮",
-["dcy"]="д",
-["NotReverseElement"]="∌",
-["DotEqual"]="≐",
-["VerticalLine"]="|",
-["pscr"]="𝓅",
-["prurel"]="⊰",
-["cdot"]="ċ",
-["bprime"]="‵",
-["ltdot"]="⋖",
-["prnsim"]="⋨",
-["curlywedge"]="⋏",
-["prnE"]="⪵",
-["REG"]="®",
-["sup3"]="³",
+["dot"]="˙",
+["RightVector"]="⇀",
+["rppolint"]="⨒",
+["Hat"]="^",
+["zcy"]="з",
+["suplarr"]="⥻",
+["boxhU"]="╨",
+["puncsp"]=" ",
+["GreaterLess"]="≷",
+["psi"]="ψ",
+["ncaron"]="ň",
+["SupersetEqual"]="⊇",
+["propto"]="∝",
["preceq"]="⪯",
-["LeftDownVectorBar"]="⥙",
-["ForAll"]="∀",
+["frac56"]="⅚",
+["NotLessGreater"]="≸",
+["jukcy"]="є",
+["swArr"]="⇙",
+["profline"]="⌒",
+["prnE"]="⪵",
+["larrpl"]="⤹",
+["af"]="⁡",
+["profsurf"]="⌓",
+["Larr"]="↞",
["forkv"]="⫙",
-["varpi"]="ϖ",
-["nrArr"]="⇏",
+["prcue"]="≼",
+["RightUpTeeVector"]="⥜",
["pound"]="£",
+["ugrave"]="ù",
+["popf"]="𝕡",
+["frac78"]="⅞",
+["suphsol"]="⟉",
+["loplus"]="⨭",
+["pointint"]="⨕",
+["cupcap"]="⩆",
+["LessTilde"]="≲",
+["pm"]="±",
+["blacksquare"]="▪",
["plustwo"]="⨧",
-["shchcy"]="щ",
-["cacute"]="ć",
-["Dashv"]="⫤",
-["lHar"]="⥢",
-["NotLeftTriangle"]="⋪",
-["gbreve"]="ğ",
-["boxDl"]="╖",
-["Beta"]="Β",
-["ReverseEquilibrium"]="⇋",
+["copy"]="©",
+["plussim"]="⨦",
+["Lcy"]="Л",
+["pluse"]="⩲",
+["ropar"]="⦆",
+["OpenCurlyQuote"]="‘",
["plusacir"]="⨣",
-["eqslantgtr"]="⪖",
-["ecy"]="э",
-["pitchfork"]="⋔",
-["ctdot"]="⋯",
-["odiv"]="⨸",
-["lesseqqgtr"]="⪋",
-["GreaterLess"]="≷",
-["Ocy"]="О",
-["weierp"]="℘",
-["Uring"]="Ů",
-["period"]=".",
-["nis"]="⋼",
-["cudarrr"]="⤵",
-["boxHU"]="╩",
-["Ouml"]="Ö",
-["Assign"]="≔",
-["Lscr"]="ℒ",
-["parallel"]="∥",
-["there4"]="∴",
-["cupor"]="⩅",
-["nwarr"]="↖",
-["para"]="¶",
-["ouml"]="ö",
-["otimes"]="⊗",
-["drbkarow"]="⤐",
-["puncsp"]=" ",
-["otilde"]="õ",
-["Vvdash"]="⊪",
-["osol"]="⊘",
+["Exists"]="∃",
+["piv"]="ϖ",
+["phmmat"]="ℳ",
+["angzarr"]="⍼",
+["vsupnE"]="⫌︀",
+["phi"]="φ",
+["perp"]="⊥",
+["rdldhar"]="⥩",
+["ccirc"]="ĉ",
+["Tfr"]="𝔗",
+["Tcy"]="Т",
+["circeq"]="≗",
+["InvisibleTimes"]="⁢",
+["OElig"]="Œ",
+["trisb"]="⧍",
+["Rcaron"]="Ř",
+["olt"]="⧀",
+["UpArrow"]="↑",
+["DDotrahd"]="⤑",
+["Uarrocir"]="⥉",
+["lacute"]="ĺ",
["oslash"]="ø",
-["dd"]="ⅆ",
-["NotPrecedesSlantEqual"]="⋠",
-["orv"]="⩛",
-["orslope"]="⩗",
-["KJcy"]="Ќ",
-["larrfs"]="⤝",
-["orderof"]="ℴ",
-["asympeq"]="≍",
-["ord"]="⩝",
-["NotLess"]="≮",
-["NotGreater"]="≯",
-["ThinSpace"]=" ",
-["ominus"]="⊖",
+["Uarr"]="↟",
+["bsolb"]="⧅",
+["gt"]=">",
+["ordm"]="º",
+["Itilde"]="Ĩ",
+["ordm"]="º",
+["Jscr"]="𝒥",
+["Rarr"]="↠",
+["measuredangle"]="∡",
["DoubleLongLeftRightArrow"]="⟺",
-["lesseqgtr"]="⋚",
+["lmidot"]="ŀ",
+["period"]=".",
["operp"]="⦹",
-["quaternions"]="ℍ",
-["boxdR"]="╒",
-["omega"]="ω",
-["Kscr"]="𝒦",
-["lessgtr"]="≶",
-["utilde"]="ũ",
-["olt"]="⧀",
-["Rho"]="Ρ",
-["olcir"]="⦾",
-["oint"]="∮",
+["bprime"]="‵",
+["numsp"]=" ",
+["ominus"]="⊖",
+["nldr"]="‥",
["ograve"]="ò",
-["Succeeds"]="≻",
-["Igrave"]="Ì",
-["eogon"]="ę",
-["Uacute"]="Ú",
-["bbrk"]="⎵",
-["ocy"]="о",
-["bcong"]="≌",
+["omicron"]="ο",
+["nearr"]="↗",
+["jcirc"]="ĵ",
+["nlE"]="≦̸",
+["deg"]="°",
+["frac13"]="⅓",
+["tcy"]="т",
+["lowbar"]="_",
+["vfr"]="𝔳",
+["ogon"]="˛",
+["sim"]="∼",
+["ocirc"]="ô",
+["Icirc"]="Î",
+["ocir"]="⊚",
+["ZeroWidthSpace"]="​",
["oast"]="⊛",
+["smile"]="⌣",
+["bigvee"]="⋁",
["oacute"]="ó",
-["cir"]="○",
-["angmsdab"]="⦩",
-["Iscr"]="ℐ",
-["ldquo"]="“",
-["RightVector"]="⇀",
-["euml"]="ë",
-["between"]="≬",
-["oS"]="Ⓢ",
-["downdownarrows"]="⇊",
-["nvlt"]="<⃒",
-["lurdshar"]="⥊",
-["starf"]="★",
-["xlarr"]="⟵",
-["Aring"]="Å",
-["Xi"]="Ξ",
-["gtcir"]="⩺",
-["Nscr"]="𝒩",
-["elinters"]="⏧",
-["ntrianglelefteq"]="⋬",
-["Vbar"]="⫫",
+["Egrave"]="È",
+["nwnear"]="⤧",
+["nwarhk"]="⤣",
+["rationals"]="ℚ",
+["DiacriticalGrave"]="`",
+["npreceq"]="⪯̸",
+["rarrc"]="⤳",
+["Uogon"]="Ų",
+["InvisibleComma"]="⁣",
+["nvltrie"]="⊴⃒",
+["digamma"]="ϝ",
+["cirE"]="⧃",
+["AMP"]="&",
+["Theta"]="Θ",
+["frac15"]="⅕",
+["fnof"]="ƒ",
+["icirc"]="î",
+["Cdot"]="Ċ",
+["ngsim"]="≵",
+["sube"]="⊆",
+["tcaron"]="ť",
["ntilde"]="ñ",
-["andv"]="⩚",
-["Rsh"]="↱",
-["angmsdad"]="⦫",
-["nsup"]="⊅",
-["nbsp"]=" ",
-["SquareSupersetEqual"]="⊒",
-["ETH"]="Ð",
-["nsube"]="⊈",
-["DoubleContourIntegral"]="∯",
-["nsubE"]="⫅̸",
-["angmsdah"]="⦯",
-["NotLessGreater"]="≸",
-["awint"]="⨑",
-["rtri"]="▹",
-["nsc"]="⊁",
-["boxvl"]="┤",
-["beta"]="β",
-["LessSlantEqual"]="⩽",
-["supsub"]="⫔",
-["agrave"]="à",
-["LeftUpTeeVector"]="⥠",
-["nrarrw"]="↝̸",
-["ltcc"]="⪦",
-["nrarrc"]="⤳̸",
-["frac78"]="⅞",
-["nvrArr"]="⤃",
-["igrave"]="ì",
-["barwed"]="⌅",
-["Mscr"]="ℳ",
-["nrarr"]="↛",
-["SubsetEqual"]="⊆",
-["notnivc"]="⋽",
-["notnivb"]="⋾",
-["succcurlyeq"]="≽",
-["eth"]="ð",
-["notinva"]="∉",
-["Otilde"]="Õ",
-["star"]="☆",
-["rangd"]="⦒",
-["Psi"]="Ψ",
-["nsupe"]="⊉",
-["mapstoup"]="↥",
-["LJcy"]="Љ",
-["looparrowleft"]="↫",
-["nlarr"]="↚",
-["Ll"]="⋘",
-["ordf"]="ª",
-["ni"]="∋",
+["ufr"]="𝔲",
+["Mcy"]="М",
["Delta"]="Δ",
-["NotVerticalBar"]="∤",
-["backcong"]="≌",
-["NoBreak"]="⁠",
+["vnsup"]="⊃⃒",
+["lAtail"]="⤛",
+["DoubleUpArrow"]="⇑",
+["aelig"]="æ",
+["lscr"]="𝓁",
+["Rscr"]="ℛ",
+["capcup"]="⩇",
+["npolint"]="⨔",
+["gesdotol"]="⪄",
+["uacute"]="ú",
+["bumpE"]="⪮",
+["drcorn"]="⌟",
+["notnivb"]="⋾",
+["notinvc"]="⋶",
+["ovbar"]="⌽",
+["Mopf"]="𝕄",
+["NotGreater"]="≯",
+["boxDr"]="╓",
+["lrcorner"]="⌟",
+["nleq"]="≰",
+["nleftarrow"]="↚",
+["nle"]="≰",
+["boxvl"]="┤",
+["Downarrow"]="⇓",
+["hcirc"]="ĥ",
["nharr"]="↮",
+["tfr"]="𝔱",
+["nlt"]="≮",
+["gacute"]="ǵ",
+["colone"]="≔",
+["Rang"]="⟫",
["ngt"]="≯",
-["Pscr"]="𝒫",
-["laemptyv"]="⦴",
-["utrif"]="▴",
-["ngeq"]="≱",
-["ncedil"]="ņ",
-["ncaron"]="ň",
-["boxhu"]="┴",
-["NotSquareSuperset"]="⊐̸",
-["bull"]="•",
+["ntilde"]="ñ",
+["vcy"]="в",
+["boxvL"]="╡",
+["NotLeftTriangleBar"]="⧏̸",
+["NestedGreaterGreater"]="≫",
+["xmap"]="⟼",
+["napid"]="≋̸",
+["LeftTriangleBar"]="⧏",
["SquareSubsetEqual"]="⊑",
-["VerticalSeparator"]="❘",
-["natur"]="♮",
-["ffr"]="𝔣",
-["rdquor"]="”",
-["lagran"]="ℒ",
-["nRightarrow"]="⇏",
-["nLtv"]="≪̸",
-["nLl"]="⋘̸",
-["Epsilon"]="Ε",
-["csup"]="⫐",
-["leftarrow"]="←",
-["nGt"]="≫⃒",
-["multimap"]="⊸",
-["mstpos"]="∾",
-["SuchThat"]="∋",
-["mldr"]="…",
-["midast"]="*",
-["Sum"]="∑",
-["vartheta"]="ϑ",
-["mapsto"]="↦",
-["nsupseteq"]="⊉",
-["Oscr"]="𝒪",
-["forall"]="∀",
-["aring"]="å",
-["ltimes"]="⋉",
-["ltcir"]="⩹",
-["lt"]="<",
-["ii"]="ⅈ",
-["equest"]="≟",
-["scsim"]="≿",
-["lsqb"]="[",
-["lsimg"]="⪏",
-["Egrave"]="È",
-["Downarrow"]="⇓",
-["lsim"]="≲",
-["eqslantless"]="⪕",
-["ucirc"]="û",
-["Auml"]="Ä",
-["lnsim"]="⋦",
-["uplus"]="⊎",
-["lhblk"]="▄",
-["Ugrave"]="Ù",
-["dlcrop"]="⌍",
-["OElig"]="Œ",
-["lesg"]="⋚︀",
-["lesdotor"]="⪃",
-["eg"]="⪚",
-["lvertneqq"]="≨︀",
-["leqslant"]="⩽",
-["ccups"]="⩌",
-["lceil"]="⌈",
-["auml"]="ä",
-["RightCeiling"]="⌉",
-["lbrksld"]="⦏",
-["lbarr"]="⤌",
+["eacute"]="é",
+["ne"]="≠",
+["ncongdot"]="⩭̸",
+["boxvR"]="╞",
+["PrecedesEqual"]="⪯",
+["Omacr"]="Ō",
+["egs"]="⪖",
+["ouml"]="ö",
+["nbsp"]=" ",
+["xuplus"]="⨄",
+["napprox"]="≉",
+["CloseCurlyQuote"]="’",
+["nacute"]="ń",
+["Chi"]="Χ",
+["subsub"]="⫕",
+["gescc"]="⪩",
+["gcirc"]="ĝ",
+["Lsh"]="↰",
+["sfr"]="𝔰",
+["circlearrowright"]="↻",
+["rcaron"]="ř",
+["ThinSpace"]=" ",
+["otilde"]="õ",
+["TRADE"]="™",
+["cudarrl"]="⤸",
["lat"]="⪫",
-["Rscr"]="ℛ",
-["Zcy"]="З",
-["bigwedge"]="⋀",
-["Prime"]="″",
+["nLeftrightarrow"]="⇎",
+["leqq"]="≦",
+["dagger"]="†",
+["dstrok"]="đ",
+["sacute"]="ś",
+["Amacr"]="Ā",
+["mumap"]="⊸",
+["models"]="⊧",
+["DiacriticalAcute"]="´",
+["minusd"]="∸",
+["hybull"]="⁃",
+["ijlig"]="ij",
+["fflig"]="ff",
+["NotGreaterEqual"]="≱",
+["Colon"]="∷",
+["boxV"]="║",
+["DotDot"]="⃜",
+["mdash"]="—",
+["hairsp"]=" ",
+["bcong"]="≌",
+["mcomma"]="⨩",
+["cirfnint"]="⨐",
+["TScy"]="Ц",
+["luruhar"]="⥦",
+["awconint"]="∳",
+["nsim"]="≁",
+["els"]="⪕",
+["imof"]="⊷",
+["lpar"]="(",
+["lozenge"]="◊",
+["oint"]="∮",
+["Umacr"]="Ū",
+["Sum"]="∑",
+["lopar"]="⦅",
+["racute"]="ŕ",
+["LessEqualGreater"]="⋚",
+["Wedge"]="⋀",
+["bbrktbrk"]="⎶",
+["RightDownTeeVector"]="⥝",
+["HumpDownHump"]="≎",
+["rarrb"]="⇥",
+["longleftrightarrow"]="⟷",
+["lnE"]="≨",
+["NotGreaterSlantEqual"]="⩾̸",
+["Nu"]="Ν",
+["NotNestedLessLess"]="⪡̸",
+["UpEquilibrium"]="⥮",
+["boxhD"]="╥",
+["el"]="⪙",
["boxDR"]="╔",
-["scnsim"]="⋩",
-["efDot"]="≒",
-["kopf"]="𝕜",
-["minusdu"]="⨪",
-["kappav"]="ϰ",
+["Gdot"]="Ġ",
+["itilde"]="ĩ",
+["isindot"]="⋵",
+["GreaterEqualLess"]="⋛",
+["Ll"]="⋘",
+["nrarrw"]="↝̸",
+["supnE"]="⫌",
+["epsiv"]="ϵ",
+["Element"]="∈",
+["gtreqless"]="⋛",
+["laemptyv"]="⦴",
+["nGt"]="≫⃒",
+["angsph"]="∢",
+["lE"]="≦",
+["kscr"]="𝓀",
+["Ocy"]="О",
+["LowerLeftArrow"]="↙",
+["dopf"]="𝕕",
+["iukcy"]="і",
+["atilde"]="ã",
+["DoubleRightArrow"]="⇒",
+["oslash"]="ø",
+["rarr"]="→",
+["intprod"]="⨼",
+["hookrightarrow"]="↪",
+["intcal"]="⊺",
+["infintie"]="⧝",
+["escr"]="ℯ",
+["iiota"]="℩",
+["curren"]="¤",
+["Bernoullis"]="ℬ",
+["angmsdah"]="⦯",
+["ShortRightArrow"]="→",
+["boxUR"]="╚",
+["ges"]="⩾",
+["DoubleDownArrow"]="⇓",
+["NotSquareSuperset"]="⊐̸",
+["lsim"]="≲",
+["bump"]="≎",
+["curlyeqsucc"]="⋟",
+["SHCHcy"]="Щ",
+["frac45"]="⅘",
+["qint"]="⨌",
+["Precedes"]="≺",
+["RightTeeArrow"]="↦",
+["frac16"]="⅙",
+["euro"]="€",
+["smtes"]="⪬︀",
+["eth"]="ð",
+["ldquo"]="“",
+["equivDD"]="⩸",
+["Oopf"]="𝕆",
["boxVh"]="╫",
-["Uuml"]="Ü",
-["centerdot"]="·",
-["isinsv"]="⋳",
-["isins"]="⋴",
-["bot"]="⊥",
-["integers"]="ℤ",
-["Racute"]="Ŕ",
-["ijlig"]="ij",
-["bernou"]="ℬ",
-["Cconint"]="∰",
-["doteq"]="≐",
-["hookleftarrow"]="↩",
-["epar"]="⋕",
-["harrw"]="↭",
-["dzigrarr"]="⟿",
-["Zscr"]="𝒵",
-["alpha"]="α",
-["times"]="×",
+["GreaterSlantEqual"]="⩾",
+["KJcy"]="Ќ",
["egrave"]="è",
-["UnionPlus"]="⊎",
-["Qscr"]="𝒬",
-["Omacr"]="Ō",
-["Zfr"]="ℨ",
-["gneq"]="⪈",
-["divonx"]="⋇",
-["gesdotol"]="⪄",
-["gvertneqq"]="≩︀",
-["geq"]="≥",
-["utri"]="▵",
-["ge"]="≥",
-["vArr"]="⇕",
-["Rrightarrow"]="⇛",
-["frac25"]="⅖",
-["LeftCeiling"]="⌈",
-["GreaterGreater"]="⪢",
-["LT"]="<",
-["Longrightarrow"]="⟹",
-["eqcolon"]="≕",
-["ofcir"]="⦿",
-["boxUl"]="╜",
-["Wscr"]="𝒲",
-["Sacute"]="Ś",
-["Union"]="⋃",
-["gg"]="≫",
-["DownArrowBar"]="⤓",
-["Escr"]="ℰ",
-["ecirc"]="ê",
-["Lmidot"]="Ŀ",
-["Wedge"]="⋀",
-["frown"]="⌢",
-["ring"]="˚",
-["dtdot"]="⋱",
-["Ccedil"]="Ç",
-["Conint"]="∯",
-["dscr"]="𝒹",
-["Map"]="⤅",
-["EmptyVerySmallSquare"]="▫",
-["backsim"]="∽",
-["angzarr"]="⍼",
-["dHar"]="⥥",
-["Mfr"]="𝔐",
-["cirE"]="⧃",
-["Popf"]="ℙ",
-["NestedGreaterGreater"]="≫",
-["ReverseElement"]="∋",
-["boxVr"]="╟",
+["NotGreaterLess"]="≹",
+["boxVl"]="╢",
+["MediumSpace"]=" ",
+["LongLeftArrow"]="⟵",
+["uarr"]="↑",
+["Ocirc"]="Ô",
+["Idot"]="İ",
+["bumpe"]="≏",
+["nwArr"]="⇖",
+["NegativeThinSpace"]="​",
+["coprod"]="∐",
+["VerticalBar"]="∣",
+["sccue"]="≽",
+["boxDl"]="╖",
+["NotSubset"]="⊂⃒",
+["Edot"]="Ė",
+["scy"]="с",
+["Cup"]="⋓",
+["centerdot"]="·",
+["nsimeq"]="≄",
+["DownLeftRightVector"]="⥐",
}
diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua
index b6841fea5fb..4b51eed1170 100644
--- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua
+++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua
@@ -198,6 +198,10 @@ local function add_action(selector, template, parameters, csspar)
end
+local function reset_actions(selector, csspar)
+ local css = csspar or css
+ css:remove_selector(selector)
+end
--- Transform XML string
@@ -243,7 +247,7 @@ end
local Transformer
--- Make new Transformer object
--- @return Tranformer object
+-- @return Transformer object
local function new()
local self = setmetatable({}, Transformer)
self.css = cssquery()
@@ -289,6 +293,12 @@ function Transformer:add_custom_action(selector, fn )
add_custom_action(selector, fn, self.css)
end
+--- Remove all actions that match the given selector
+---@param selector string
+function Transformer:reset_actions(selector)
+ reset_actions(selector, self.css)
+end
+
-- all methods that use transformation functions must
-- correctly handle the cssquery object that this library uses
@@ -338,6 +348,7 @@ local M = {
print_tex = print_tex,
add_action = add_action,
add_custom_action = add_custom_action,
+ reset_actions = reset_actions,
simple_content = simple_content,
load_file = load_file,
process_dom = process_dom,
diff --git a/Master/texmf-dist/tex/luatex/markdown/markdown-tinyyaml.lua b/Master/texmf-dist/tex/luatex/markdown/markdown-tinyyaml.lua
index 36cef293ed9..25b351f7e40 100644
--- a/Master/texmf-dist/tex/luatex/markdown/markdown-tinyyaml.lua
+++ b/Master/texmf-dist/tex/luatex/markdown/markdown-tinyyaml.lua
@@ -253,7 +253,9 @@ function Parser:parsestring(line, stopper)
end
line = ssub(line, 2)
end
- return rtrim(buf), line
+ buf = rtrim(buf)
+ local val = tonumber(buf) or buf
+ return val, line
end
local function isemptyline(line)
diff --git a/Master/texmf-dist/tex/luatex/markdown/markdown.lua b/Master/texmf-dist/tex/luatex/markdown/markdown.lua
index e65712cdcb6..92e02be8018 100644
--- a/Master/texmf-dist/tex/luatex/markdown/markdown.lua
+++ b/Master/texmf-dist/tex/luatex/markdown/markdown.lua
@@ -20,7 +20,7 @@
-- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--
--- Copyright (C) 2016-2024 Vít Starý Novotný
+-- Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
--
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -58,11 +58,11 @@
-- those in the standard .ins files.
--
local metadata = {
- version = "3.5.0-0-gfd01a252",
+ version = "3.6.2-0-g6c30af7e",
comment = "A module for the conversion from markdown to plain TeX",
- author = "John MacFarlane, Hans Hagen, Vít Starý Novotný",
+ author = "John MacFarlane, Hans Hagen, Vít Starý Novotný, Andrej Genčur",
copyright = {"2009-2016 John MacFarlane, Hans Hagen",
- "2016-2023 Vít Starý Novotný"},
+ "2016-2024 Vít Starý Novotný, Andrej Genčur"},
license = "LPPL 1.3c"
}
@@ -120,6 +120,8 @@ local singletonCache = {
convert = nil,
options = nil,
}
+defaultOptions.unicodeNormalization = true
+defaultOptions.unicodeNormalizationForm = "nfc"
defaultOptions.cacheDir = "."
defaultOptions.contentBlocksLanguageMap = "markdown-languages.json"
defaultOptions.debugExtensionsFileName = "debug-extensions.json"
@@ -2971,8 +2973,12 @@ function M.writer.new(options)
local buffer = {}
local prev_space = false
local letter_found = false
+ local normalized_s = s
+ if not options.unicodeNormalization or options.unicodeNormalizationForm ~= "nfc" then
+ normalized_s = uni_algos.normalize.NFC(normalized_s)
+ end
- for _, code in utf8.codes(uni_algos.normalize.NFC(s)) do
+ for _, code in utf8.codes(normalized_s) do
local char = utf8.char(code)
-- Remove everything up to the first letter.
@@ -3020,8 +3026,12 @@ function M.writer.new(options)
local buffer = {}
local prev_space = false
local letter_found = false
+ local normalized_s = s
+ if not options.unicodeNormalization or options.unicodeNormalizationForm ~= "nfc" then
+ normalized_s = uni_algos.normalize.NFC(normalized_s)
+ end
- for _, code in utf8.codes(uni_algos.normalize.NFC(s)) do
+ for _, code in utf8.codes(normalized_s) do
local char = utf8.char(code)
-- Remove everything up to the first non-space.
@@ -4438,19 +4448,21 @@ parsers.link_text = parsers.lbracket
- (parsers.newline + parsers.lbracket + parsers.rbracket + parsers.blankline^2))))^0)
* parsers.rbracket
+parsers.link_label_body = -#(parsers.sp * parsers.rbracket)
+ * #((parsers.any - parsers.rbracket)^-999 * parsers.rbracket)
+ * Cs((parsers.alphanumeric^1
+ + parsers.inticks
+ + parsers.autolink
+ + V("InlineHtml")
+ + ( parsers.backslash * parsers.backslash)
+ + ( parsers.backslash * (parsers.lbracket + parsers.rbracket)
+ + V("NoSoftLineBreakSpace")
+ + V("NoSoftLineBreakEndline")
+ + (parsers.any
+ - (parsers.newline + parsers.lbracket + parsers.rbracket + parsers.blankline^2))))^1)
+
parsers.link_label = parsers.lbracket
- * -#(parsers.sp * parsers.rbracket)
- * #((parsers.any - parsers.rbracket)^-999 * parsers.rbracket)
- * Cs((parsers.alphanumeric^1
- + parsers.inticks
- + parsers.autolink
- + V("InlineHtml")
- + ( parsers.backslash * parsers.backslash)
- + ( parsers.backslash * (parsers.lbracket + parsers.rbracket)
- + V("NoSoftLineBreakSpace")
- + V("NoSoftLineBreakEndline")
- + (parsers.any
- - (parsers.newline + parsers.lbracket + parsers.rbracket + parsers.blankline^2))))^1)
+ * parsers.link_label_body
* parsers.rbracket
parsers.inparens_url = P{ parsers.lparent
@@ -5076,6 +5088,9 @@ function M.reader.new(writer, options)
-- List of references defined in the document
local references
+ -- List of note references defined in the document
+ parsers.rawnotes = {}
+
function self.register_link(_, tag, url, title,
attributes)
local normalized_tag = self.normalize_tag(tag)
@@ -5093,6 +5108,10 @@ function M.reader.new(writer, options)
return references[self.normalize_tag(tag)]
end
+ function self.lookup_note_reference(tag)
+ return parsers.rawnotes[self.normalize_tag(tag)]
+ end
+
parsers.title_s_direct_ref = parsers.squote
* Cs((parsers.html_entities
+ (parsers.anyescaped - parsers.squote - parsers.blankline^2))^0)
@@ -5163,15 +5182,49 @@ function M.reader.new(writer, options)
+ #parsers.link_text
* Cg(Cc("link_text"), "link_type")
+ parsers.note_opening = #(parsers.circumflex * parsers.link_text)
+ * Cg(Cc("note_inline"), "link_type")
+
+ parsers.raw_note_opening = #( parsers.lbracket
+ * parsers.circumflex
+ * parsers.link_label_body
+ * parsers.rbracket)
+ * Cg(Cc("raw_note"), "link_type")
+
+ local inline_note_element = Cg(Cc("note"), "element")
+ * parsers.note_opening
+ * Cg(parsers.circumflex * parsers.lbracket, "content")
+
+ local image_element = Cg(Cc("image"), "element")
+ * parsers.image_opening
+ * Cg(parsers.exclamation * parsers.lbracket, "content")
+
+ local note_element = Cg(Cc("note"), "element")
+ * parsers.raw_note_opening
+ * Cg(parsers.lbracket * parsers.circumflex, "content")
+
+ local link_element = Cg(Cc("link"), "element")
+ * parsers.link_opening
+ * Cg(parsers.lbracket, "content")
+
+ local opening_elements = parsers.fail
+
+ if options.inlineNotes then
+ opening_elements = opening_elements + inline_note_element
+ end
+
+ opening_elements = opening_elements + image_element
+
+ if options.notes then
+ opening_elements = opening_elements + note_element
+ end
+
+ opening_elements = opening_elements + link_element
+
parsers.link_image_opening = Ct( Cg(Cc("delimiter"), "type")
* Cg(Cc(true), "is_opening")
* Cg(Cc(false), "is_closing")
- * ( Cg(Cc("image"), "element")
- * parsers.image_opening
- * Cg(parsers.exclamation * parsers.lbracket, "content")
- + Cg(Cc("link"), "element")
- * parsers.link_opening
- * Cg(parsers.lbracket, "content")))
+ * opening_elements)
parsers.link_image_closing = Ct( Cg(Cc("delimiter"), "type")
* Cg(Cc("link"), "element")
@@ -5229,7 +5282,7 @@ function M.reader.new(writer, options)
local value = t[i]
if value.type == "delimiter" and
value.is_opening and
- (value.element == "link" or value.element == "image")
+ (value.element == "link" or value.element == "image" or value.element == "note")
and not value.removed then
if value.is_active then
return i
@@ -5318,6 +5371,15 @@ function M.reader.new(writer, options)
rendered = writer.image(mapped, reference.url, reference.title, reference.attributes)
end
+ if (t[opening_index].element == "note") then
+ if (t[opening_index].link_type == "note_inline") then
+ rendered = writer.note(mapped)
+ end
+ if (t[opening_index].link_type == "raw_note") then
+ rendered = writer.note(reference)
+ end
+ end
+
t[opening_index].rendered = rendered
delete_parsed_content_in_range(t, opening_index + 1, closing_index)
empty_content_in_range(t, opening_index, closing_index)
@@ -5376,6 +5438,11 @@ function M.reader.new(writer, options)
render_link_or_image(t, opening_index, closing_index, closing_index, inline_content)
end
+ local function resolve_note_inline_link(t, opening_index, closing_index)
+ local inline_content = resolve_inline_following_content(t, closing_index, false, false)
+ render_link_or_image(t, opening_index, closing_index, closing_index, inline_content)
+ end
+
local function resolve_shortcut_link(t, opening_index, closing_index)
local content = collect_link_content(t, opening_index + 1, closing_index - 1)
local r = self.lookup_reference(content)
@@ -5387,6 +5454,16 @@ function M.reader.new(writer, options)
end
end
+ local function resolve_raw_note_link(t, opening_index, closing_index)
+ local content = collect_link_content(t, opening_index + 1, closing_index - 1)
+ local r = self.lookup_note_reference(content)
+
+ if r then
+ local parsed_ref = self.parser_functions.parse_blocks_nested(r)
+ render_link_or_image(t, opening_index, closing_index, closing_index, parsed_ref)
+ end
+ end
+
local function resolve_full_link(t, opening_index, closing_index)
local next_link_closing_index = find_next_link_closing_index(t, closing_index + 4)
local next_link_content = collect_link_content(t, closing_index + 3, next_link_closing_index - 1)
@@ -5418,9 +5495,10 @@ function M.reader.new(writer, options)
end
for i,value in ipairs(t) do
- if not value.is_closing or
- value.type ~= "delimiter" or
- not (value.element == "link" or value.element == "image") then
+ if not value.is_closing
+ or value.type ~= "delimiter"
+ or not (value.element == "link" or value.element == "image" or value.element == "note")
+ or value.removed then
goto continue
end
@@ -5446,6 +5524,12 @@ function M.reader.new(writer, options)
if (link_type == "collapsed") then
resolve_collapsed_link(t, opener_position, i)
end
+ if (link_type == "note_inline") then
+ resolve_note_inline_link(t, opener_position, i)
+ end
+ if (link_type == "raw_note") then
+ resolve_raw_note_link(t, opener_position, i)
+ end
::continue::
end
@@ -6164,6 +6248,20 @@ end
inlines_no_link_or_emphasis_t.EndlineExceptions = parsers.EndlineExceptions - parsers.eof
parsers.inlines_no_link_or_emphasis = Ct(inlines_no_link_or_emphasis_t)
return function(input)
+ if options.unicodeNormalization then
+ local form = options.unicodeNormalizationForm
+ if form == "nfc" then
+ input = uni_algos.normalize.NFC(input)
+ elseif form == "nfd" then
+ input = uni_algos.normalize.NFD(input)
+ elseif form == "nfkc" then
+ input = uni_algos.normalize.NFKC(input)
+ elseif form == "nfkd" then
+ input = uni_algos.normalize.NFKD(input)
+ else
+ error(format("Unknown normalization form %s", form))
+ end
+ end
input = input:gsub("\r\n?", "\n")
if input:sub(-1) ~= "\n" then
input = input .. "\n"
@@ -6365,7 +6463,7 @@ M.extensions.citations = function(citation_nbsps)
)
* citation_name
* (parsers.internal_punctuation - parsers.semicolon)^-1
- * ( parsers.spnlc
+ * ( parsers.spnlc / function(_) return end
* citation_body_postnote
+ Cc("")
* parsers.spnlc
@@ -7482,6 +7580,8 @@ M.extensions.notes = function(notes, inline_notes)
local parsers = self.parsers
local writer = self.writer
+ local rawnotes = parsers.rawnotes
+
if inline_notes then
local InlineNote
= parsers.circumflex
@@ -7500,8 +7600,6 @@ M.extensions.notes = function(notes, inline_notes)
= #(parsers.lbracket * parsers.circumflex)
* parsers.link_label / strip_first_char
- local rawnotes = {}
-
-- like indirect_link
local function lookup_note(ref)
return writer.defer_call(function()
@@ -8004,13 +8102,30 @@ M.extensions.jekyll_data = function(expect_jekyll_data)
for k, _ in pairs(d) do
table.insert(keys, k)
end
- table.sort(keys)
+ table.sort(keys, function(first, second)
+ if type(first) ~= type(second) then
+ return type(first) < type(second)
+ else
+ return first < second
+ end
+ end)
if not p then
table.insert(buf, "\\markdownRendererJekyllDataBegin")
end
- if #d > 0 then
+ local is_sequence = false
+ if #d > 0 and #d == #keys then
+ for i=1, #d do
+ if d[i] == nil then
+ goto not_a_sequence
+ end
+ end
+ is_sequence = true
+ end
+ ::not_a_sequence::
+
+ if is_sequence then
table.insert(buf, "\\markdownRendererJekyllDataSequenceBegin{")
table.insert(buf, self.identifier(p or "null"))
table.insert(buf, "}{")
@@ -8065,7 +8180,7 @@ M.extensions.jekyll_data = function(expect_jekyll_data)
end
end
- if #d > 0 then
+ if is_sequence then
table.insert(buf, "\\markdownRendererJekyllDataSequenceEnd")
else
table.insert(buf, "\\markdownRendererJekyllDataMappingEnd")
diff --git a/Master/texmf-dist/tex/optex/base/basic-macros.opm b/Master/texmf-dist/tex/optex/base/basic-macros.opm
index f2047cadf0f..7dfda46a764 100644
--- a/Master/texmf-dist/tex/optex/base/basic-macros.opm
+++ b/Master/texmf-dist/tex/optex/base/basic-macros.opm
@@ -117,10 +117,11 @@
more logging information to the log file and the terminal.
\_cod ------------------------------
-\_def\_loggingall{\_tracingcommands=3 \_tracingstats=2 \_tracingpages=1
+\_def\_loggingall{
+ \_tracingstats=2 \_tracingpages=1
\_tracingoutput=1 \_tracingmacros=3 % \_tracinglostchars=2 is already set
- \_tracingparagraphs=1 \_tracingrestores=1 \_tracingscantokens=1
- \_tracingifs=1 \_tracinggroups=1 \_tracingassigns=1 }
+ \_tracingparagraphs=1 \_tracingscantokens=1 \_tracingifs=1 \_tracinggroups=1
+ \_tracingcommands=3 \_tracingrestores=1 \_tracingassigns=1 }
\_def\_tracingall{\_tracingonline=1 \_loggingall}
\_public \loggingall \tracingall ;
diff --git a/Master/texmf-dist/tex/optex/base/fonts-opmac.opm b/Master/texmf-dist/tex/optex/base/fonts-opmac.opm
index ca4d38b4ce1..646a0257b9d 100644
--- a/Master/texmf-dist/tex/optex/base/fonts-opmac.opm
+++ b/Master/texmf-dist/tex/optex/base/fonts-opmac.opm
@@ -212,7 +212,7 @@
\_def \_rmfixed {% used in default \footline
{\_ifdim\_mainfosize=0pt \_mainfosize=10pt \_fi
\_fontdef\_tenrm{\_setfontsize{at\mainfosize}\_resetmod\_rm}%
- \_global\_let\_rmfixed=\_tenrm}% next use will be font switch only
+ \_glet\_rmfixed=\_tenrm}% next use will be font switch only
\_rmfixed
}
\_let \rmfixed = \_tenrm % user can redefine it
diff --git a/Master/texmf-dist/tex/optex/base/hi-syntax.opm b/Master/texmf-dist/tex/optex/base/hi-syntax.opm
index 7e5b77b8264..2f477c8f319 100644
--- a/Master/texmf-dist/tex/optex/base/hi-syntax.opm
+++ b/Master/texmf-dist/tex/optex/base/hi-syntax.opm
@@ -144,7 +144,7 @@ file name must include it in lowercase letters. For example, the file
\printdoc hisyntax-c.opm
-\OpTeX/ provides `hisyntax-{c,lua,python,tex,html}.opm` files.
+\OpTeX/ provides `hisyntax-{c,lua,python,tex,html,kt}.opm` files.
You can take inspiration from these files and declare more languages.
Users can re-declare default colors by \^`\hicolors``={<list of color declarations>}`.
diff --git a/Master/texmf-dist/tex/optex/base/hisytnax-kt.opm b/Master/texmf-dist/tex/optex/base/hisytnax-kt.opm
new file mode 100644
index 00000000000..8a9d2dffac3
--- /dev/null
+++ b/Master/texmf-dist/tex/optex/base/hisytnax-kt.opm
@@ -0,0 +1,122 @@
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
+%% Author: Vojtěch Hořánek, <https://github.com/vojta-horanek/hisyntax-kt>
+
+\_codedecl \_hisyntaxkt {Syntax highlighting for Kotlin sources <2024-05-18>}
+
+\_newtoks \_hisyntaxkt \_newtoks \_hicolorskt
+
+\_global\_hicolorskt={ % colors for Kotlin language
+ \_hicolor C \Grey % Comments
+ \_hicolor D \Green % Documentation comments
+ \_hicolor W \Yellow % Warnings
+ \_hicolor S \Green % Strings
+ \_hicolor K \Blue % Keywords
+ \_hicolor F \Blue % Std. functions
+ \_hicolor A \Yellow % Annotations
+ \_hicolor N \Cyan % Numbers
+ \_hicolor T \Brown % Templates
+ \_hicolor I \Grey % Imports
+ \_hicolor O \Magenta % Others
+}
+
+\_global\_hisyntaxkt={%
+ \_the\_hicolorskt
+ \_let\c=\_relax \_let\e=\_relax \_let\o=\_relax
+ % comments
+ \_replthis {FIXME} {\z W{FIXME}}% FIXME in comment
+ \_replthis {TODO} {\z W{TODO}}% TODO in comment
+ \_replfromto {/**}{*/} {\x D{/**#1*/}}% /**...*/ documentation
+ \_replfromto {/*}{*/} {\x C{/*#1*/}}% /*...*/ multi-line
+ \_replfromto {//}{^^J} {\z C{//#1}^^J}% //... single-line
+ % strings
+ \_replfromto {\_csstring\$\_csstring\{}{\_csstring\}}% string template expression ${tmp}
+ {\z T{\_csstring\$\_csstring\{#1\_csstring\}}}%
+ \_replfromto {\_csstring\$}{\n} {\x T{\_csstring\$#1}}% string template $tmp
+ \_replthis {\_string\"} {{\_string\"}}% \" string escape
+ \_replfromto {"}{"} {\x S{"#1"}}% "..." string
+ % characters
+ \_replthis {\_string\'} {{\_string\'}}% \' char escape
+ \_replfromto {'}{'} {\x S{'#1'}}% '.' character
+ % others
+ \_replfromto {\n@}{\n} {\z A{@#1}}% annotations
+ \_replfromto {package}{^^J} {\z K{package}\z I{#1}^^J}% package...
+ \_replfromto {import}{^^J} {\z K{import}\z I{#1}^^J}% import...
+ \_replfromto {return@}{\n} {\z K{return}\z O{@#1}}% return@...
+ \_replfromto {continue@}{\n} {\z K{continue}\z O{@#1}}% continue@...
+ \_replfromto {break@}{\n} {\z K{break}\z O{@#1}}% break@...
+ % Special characters
+ \_replthis{;}{\z C{;}} % semi-collon
+ \_replthis{?:}{\n\o?:\n} % elvis operator
+ \_edef\_tmpa {()\_string{\_string}+-*/=[]<>,:\_pcent\_string&|!}% non-letters
+ \_ea \_foreach \_tmpa
+ \_do {\_replthis{#1}{\n\o#1\n}}
+ %
+ \_foreach % keywords
+ {as}{as?}{break}{class}{continue}{do}{else}{false}{for}{fun}%
+ {if}{in}{!in}{interface}{is}{!is}{null}{object}{package}%
+ {return}{super}{this}{throw}{true}{try}{typealias}{typeof}%
+ {val}{var}{when}{while}{by}{catch}{constructor}{dynamic}%
+ {finally}{get}{import}{init}{set}{value}{class}{where}%
+ {abstract}{actual}{annotation}{companion}{const}{crossinline}%
+ {data}{enum}{expect}{external}{final}{infix}{inline}{inner}%
+ {internal}{lateinit}{noinline}{open}{operator}{out}{override}%
+ {private}{protected}{public}{reified}{sealed}{suspend}{tailrec}%
+ {vararg}{it}{equals}{compareTo}{get()}{get}{set}{set(value)}%
+ \_do {\_replthis{\n#1\n}{\z K{#1}}}
+ %
+ \_foreach % standard library extension functions
+ {all}{also}{any}{apply}{asIterable}{asSequence}{associate}%
+ {associateBy}{associateByTo}{associateTo}{associateWith}%
+ {associateWithTo}{average}{chunked}{contains}{count}{distinct}%
+ {distinctBy}{drop}{dropLast}{dropLastWhile}{dropWhile}{elementAt}%
+ {elementAtOrElse}{elementAtOrNull}{filter}{filterIndexed}%
+ {filterIndexedTo}{filterIsInstance}{filterIsInstanceTo}{filterNot}%
+ {filterNotNull}{filterNotNullTo}{filterNotTo}{filterTo}{find}%
+ {findLast}{first}{firstNotNullOf}{firstNotNullOfOrNull}%
+ {firstOrNull}{flatMap}{flatMapIndexed}{flatMapIndexedTo}%
+ {flatMapTo}{fold}{foldIndexed}{foldRight}{foldRightIndexed}%
+ {forEach}{forEachIndexed}{getOrElse}{getOrNull}{groupBy}%
+ {groupByTo}{groupingBy}{indexOf}{indexOfFirst}{indexOfLast}%
+ {intersect}{iterator}{joinTo}{joinToString}{last}{lastIndexOf}%
+ {lastOrNull}{let}{map}{mapIndexed}{mapIndexedNotNull}%
+ {mapIndexedNotNullTo}{mapIndexedTo}{mapNotNull}{mapNotNullTo}%
+ {mapTo}{max}{maxBy}{maxByOrNull}{maxOf}{maxOfOrNull}{maxOfWith}%
+ {maxOfWithOrNull}{maxOrNull}{maxWith}{maxWithOrNull}{min}{minBy}%
+ {minByOrNull}{minOf}{minOfOrNull}{minOfWith}{minOfWithOrNull}%
+ {minOrNull}{minus}{minusElement}{minWith}{minWithOrNull}{none}%
+ {onEach}{onEachIndexed}{partition}{plus}{plusElement}{random}%
+ {randomOrNull}{reduce}{reduceIndexed}{reduceIndexedOrNull}%
+ {reduceOrNull}{reduceRight}{reduceRightIndexed}%
+ {reduceRightIndexedOrNull}{reduceRightOrNull}{repeat}%
+ {requireNoNulls}{reverse}{reversed}{runningFold}%
+ {runningFoldIndexed}{runningReduce}{runningReduceIndexed}{scan}%
+ {scanIndexed}{shuffle}{single}{singleOrNull}{slice}{sortBy}%
+ {sortByDescending}{sortDescending}{sorted}{sortedBy}%
+ {sortedByDescending}{sortedDescending}{sortedWith}{subtract}{sum}%
+ {sumBy}{sumByDouble}{sumOf}{take}{takeIf}{takeLast}%
+ {takeLastWhile}{takeUnless}{takeWhile}{toBooleanArray}%
+ {toByteArray}{toCharArray}{toCollection}{toDoubleArray}%
+ {toFloatArray}{toHashSet}{toIntArray}{toList}{toLongArray}%
+ {toMutableList}{toMutableSet}{toSet}{toShortArray}{union}%
+ {windowed}{withIndex}{zip}{zipWithNext}{contract}%
+ \_do {\_replthis{.#1\n}{.\z F{#1}}%
+ \_replthis{\n#1\n}{\z F{#1}}}% invoke operators ( and { begin with \n
+ %
+ \_replthis{.}{\n.\n} % numbers
+ \_foreach 0123456789
+ \_do {\_replfromto{\n#1}{\n}{\c#1##1\e}}
+ \_replthis{\e.\c}{.}
+ \_replthis{\e.\n}{.\e}
+ \_replthis{\n.\c}{\c.}
+ \_replthis{e\e\o+\c}{e+}\_replthis{e\e\o-\c}{e-}
+ \_replthis{E\e\o+\c}{E+}\_replthis{E\e\o-\c}{E-}
+ \_def\c#1\e{\z N{#1}}
+ \_def\o#1{\z O{#1}} % others
+}
+
+\_endcode %------------------------------------------------
+
+
+\endinput
+
+2024-05-18: First version
diff --git a/Master/texmf-dist/tex/optex/base/if-macros.opm b/Master/texmf-dist/tex/optex/base/if-macros.opm
index eae011ae260..25af86fe303 100644
--- a/Master/texmf-dist/tex/optex/base/if-macros.opm
+++ b/Master/texmf-dist/tex/optex/base/if-macros.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \newif {Special if-macros, is-macros and loops <2023-12-07>} % preloaded in format
+\_codedecl \newif {Special if-macros, is-macros and loops <2024-02-19>} % preloaded in format
\_doc ----------------------------
\secc Classical \code{\\newif}
@@ -189,7 +189,7 @@
\_public \foreachdef ;
\_doc ----------------------------
- \secc Is-macros
+ \secc Is-macros and selection of cases
There are a collection of macros
\^`\isempty`, \^`\istoksempty`, \^`\isequal`, \^`\ismacro`,
\^`\isdefined`, \^`\isinlist`, \^`\isfile` and \^`\isfont`
@@ -339,14 +339,22 @@
\`\qcasesof` `{<string>} <list of cases>` behaves like \^`\casesof` but it
compares phrases with the given <string> using \^`\isequal`.
The <list of cases> includes pairs
- `{<phrase>} {<what to do if string=phrase>}` finalized by a
- pair `\_finc {<what to do else>}`.
+ `{<phrases>} {<what to do if string=phrase>}` finalized by a
+ pair `\_finc {<what to do else>}`. The `<phrases>` is a single
+ phrase or phrases separated by `|` which means \"or". For example
+ the pair `{ab|cde|f} {<code>}` runs <code> if the given <string> is `ab` or `cde` or~`f`.
+ The usage of `\qcasesof` can be found in
+ \ulink[http://petr.olsak.net/optex/optex-tricks.html\#thedimen]{OpTeX trick 0132}.
\_cod -----------------------------
\_long\_def \_qcasesof #1#2#3{\_ifx\_finc#2\_ea\_ignoresecond \_else \_ea\_usesecond \_fi
- {#3}{\_isequal{#1}{#2}\_iftrue \_ea\_ignoresecond \_else \_ea\_usesecond \_fi
- {\_finc{#3}}{\_qcasesof{#1}}}%
+ {#3}{\_qcasesofA{#1}#2|\_qcasesofA|{\_finc{#3}}{\_qcasesof{#1}}}%
}
+\_long\_def\_qcasesofA#1#2|{\_ifx\_qcasesofA#2\_ea\_usesecond \_else
+ \_isequal{#1}{#2}\_iftrue \_qcasesofB \_fi \_afterfi{\_qcasesofA{#1}}\_fi
+}
+\_long\_def\_qcasesofB #1\_qcasesofA|#2#3{\_fi\_fi#2}
+
\_public \qcasesof ;
\_doc -----------------------------
@@ -376,7 +384,8 @@
\_endcode
-2023-12-07 \_testparam define \long (big fixed)
+2024-02-19 \qcasesof reimplemented, it supports | for more phrases.
+2023-12-07 \_testparam define \long (big fixed).
2023-10-17 \qcasesof introduced, \xcasesof reimplemented.
2023-01-16 \isnextchar created expandable.
2022-12-02 \xcasesof: its first parameter is \long too.
diff --git a/Master/texmf-dist/tex/optex/base/luatex-ini.opm b/Master/texmf-dist/tex/optex/base/luatex-ini.opm
index 1deeca2b807..8c7723d7121 100644
--- a/Master/texmf-dist/tex/optex/base/luatex-ini.opm
+++ b/Master/texmf-dist/tex/optex/base/luatex-ini.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \pdfprimitive {LuaTeX initialization code <2020-02-21>} % preloaded in format
+\_codedecl \pdfprimitive {LuaTeX initialization code <2024-02-29>} % preloaded in format
\_let\_pdfpagewidth \pagewidth
\_let\_pdfpageheight \pageheight
@@ -79,6 +79,8 @@
\_protected\_def \_pdfmapline {\_pdfextension mapline }
\_protected\_def \_pdftrailer {\_pdfextension trailer }
\_protected\_def \_pdfglyphtounicode {\_pdfextension glyphtounicode }
+\_protected\_def \_pdfrunninglinkoff {\_pdfextension linkstate 1 }
+\_protected\_def \_pdfrunninglinkon {\_pdfextension linkstate 0 }
\_protected\_edef\_pdfcompresslevel {\_pdfvariable compresslevel}
\_protected\_edef\_pdfobjcompresslevel {\_pdfvariable objcompresslevel}
@@ -115,7 +117,8 @@
\pdfsetmatrix \pdfsave \pdfrestore \pdfobj \pdfrefobj \pdfannot
\pdfstartlink \pdfendlink \pdfoutline \pdfdest \pdfthread \pdfstartthread
\pdfendthread \pdfinfo \pdfcatalog \pdfnames \pdfincludechars \pdffontattr
- \pdfmapfile \pdfmapline \pdftrailer \pdfglyphtounicode \pdfcompresslevel
+ \pdfmapfile \pdfmapline \pdftrailer \pdfglyphtounicode
+ \pdfcompresslevel \pdfrunninglinkoff \pdfrunninglinkon
\pdfobjcompresslevel \pdfdecimaldigits \pdfgamma \pdfimageresolution
\pdfimageapplygamma \pdfimagegamma \pdfimagehicolor \pdfimageaddfilename
\pdfpkresolution \pdfinclusioncopyfonts \pdfinclusionerrorlevel
@@ -132,3 +135,8 @@
\_endcode
Common pdf\TeX/ primitives equivalents are declared here. Initial values are set.
+
+\_endinput
+
+2024-02-29 \pdfrunninglinkoff \pdfrunninglinkon added
+2020-02-21 released
diff --git a/Master/texmf-dist/tex/optex/base/margins.opm b/Master/texmf-dist/tex/optex/base/margins.opm
index c77926f9ad1..c7751ccb064 100644
--- a/Master/texmf-dist/tex/optex/base/margins.opm
+++ b/Master/texmf-dist/tex/optex/base/margins.opm
@@ -105,7 +105,7 @@
The `\_numprint` is `\_useit` by default (i.e.\ do nothing special)
because we have left-to-right mode as default. But a user can define
\begtt
- \_def\_numprint#1{{\textdir TLT #1}}
+ \_def\_numprint#1{{\_textdir TLT #1}}
\endtt
if the document is set to right-to-left mode.
\_cod -----------------------------
diff --git a/Master/texmf-dist/tex/optex/base/math-macros.opm b/Master/texmf-dist/tex/optex/base/math-macros.opm
index fa4317f25ae..9d0887ee0fb 100644
--- a/Master/texmf-dist/tex/optex/base/math-macros.opm
+++ b/Master/texmf-dist/tex/optex/base/math-macros.opm
@@ -1,6 +1,6 @@
% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \sin {Math macros plus mathchardefs <2023-05-24>} % preloaded in format
+\_codedecl \sin {Math macros plus mathchardefs <2024-06-02>} % preloaded in format
\_doc -----------------------------
The category code of the character `_` remains as the letter (11) and the mathcode
@@ -33,18 +33,18 @@
\_newifi\_ifmathsb \_mathsbfalse
\_def \_mathsbon {%
- \_directlua{
+ \_ifmathsb \_else \_directlua{
callback.add_to_callback("process_input_buffer",
function (str)
local num
str, num = string.gsub(str.." ", \_gsubrule)
if num>0 then str = string.gsub(str, \_gsubrule) end % \phi_i\rho_j -> \phi _i\rho _j
return str
- end, "_mathsb") }%
+ end, "_mathsb") }\_fi
\_global\_mathsbtrue
}
\_def \_mathsboff {%
- \_directlua{ callback.remove_from_callback("process_input_buffer", "_mathsb") }%
+ \_ifmathsb \_directlua{ callback.remove_from_callback("process_input_buffer", "_mathsb") }\_fi
\_global \_mathsbfalse
}
\_edef\_gsubrule{"(\_nbb[a-zA-Z]+)_([a-zA-Z]?[^_a-zA-Z])", "\_pcent 1 _\_pcent 2"}
@@ -707,7 +707,7 @@
impossible to use `\eqno` or `\leqno` or \^`\eqmark`.
\OpTeX/ offers
- `\dislaylines to<dimen>{<formula>\cr<formula>\cr...<formula>}`
+ `\displaylines to<dimen>{<formula>\cr<formula>\cr...<formula>}`
as an alternative case of usage `\displaylines`. See section 4.3 in the
\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]
{Typesetting Math with \OpTeX/}.
@@ -1110,6 +1110,7 @@
\_endcode %---------------------------------------------------
+2024-06-02 don't apply \mathsbon twice
2023-05-24 \matsbon: "local num" added
2023-05-22 \mathsbon: \alpha_i\beta_j -> \alpha _i\beta _j (bug fixed)
2023-04-15 \bbig introduced
diff --git a/Master/texmf-dist/tex/optex/base/more-macros.opm b/Master/texmf-dist/tex/optex/base/more-macros.opm
index 3f4916a9c3d..7e1d1e2b94a 100644
--- a/Master/texmf-dist/tex/optex/base/more-macros.opm
+++ b/Master/texmf-dist/tex/optex/base/more-macros.opm
@@ -216,13 +216,19 @@
\def\replAB#1{\immediateassigned{\def\tmp{#1}\replstring\tmp{A}{B}}\the\_tmptoks}
\replAB {text A \and A} % expands to "text B \and B"
\endtt
+
+ There exists another limitation of the \^`\replstring` macro, see
+ \ulink[http://petr.olsak.net/optex/optex-tricks.html\#xreplstring]{\OpTeX/ trick 0136}.
+ The expandable \^`\xreplstring` macro is defined by Lua code here.
+ And \ulink[http://petr.olsak.net/optex/optex-tricks.html\#replmacro]{\OpTeX/ trick 0137}
+ defines \^`\replmacro` which enables more general modifications of macros by regular expressions.
\_cod -----------------------------
\_newtoks\_tmptoks
\_catcode`!=3 \_catcode`?=3
\_def\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
\_long\_def\_replacestringsA##1#2{\_tmptoks{##1}\_replacestringsB}%
- \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_tmptoks\_ea{\_the\_tmptoks#3##1}%
+ \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_toksapp\_tmptoks{#3##1}%
\_ea\_replacestringsB\_fi}%
\_ea\_replacestringsA #1?#2!#2%
\_long\_def\_replacestringsA##1?{\_tmptoks{##1}\_edef#1{\_the\_tmptoks}}%
@@ -294,8 +300,9 @@
by optional syntax `\bp[<digits>]{<dimen>}` and
`\expr[<digits>]{<expression>}`. Default is \`\_decdigits`.
- The usage of prefixed versions \`\_expr` or \`\_bp` is more recommended
- because a user can re-define the control sequences `\expr` or `\bp`.
+ The usage of prefixed versions `\_expr` or `\_bp` is more recommended
+ for macro programmers because a user can re-define the control sequences
+ `\expr` or `\bp`.
\_cod -----------------------------
\_def\_decdigits{3} % digits after decimal point in \_bp and \_expr outputs.
diff --git a/Master/texmf-dist/tex/optex/base/optex-tricks.opm b/Master/texmf-dist/tex/optex/base/optex-tricks.opm
index 456a7472e1c..c90b429a4fc 100644
--- a/Master/texmf-dist/tex/optex/base/optex-tricks.opm
+++ b/Master/texmf-dist/tex/optex/base/optex-tricks.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \_undefined {OpTeX tricks ready to autoload <2024-02-13>} % chunks loaded on demand
+\_codedecl \_undefined {OpTeX tricks ready to autoload <2024-05-07>} % chunks loaded on demand
% Selected OpTeX tricks are here, they are auto-loaded if the macro is used first
% namespace: optextrick
@@ -59,6 +59,25 @@
\_nspublic \hours \minutes \seconds \weekday \Othe ;
+\_trick 0132 \thedimen ;
+%%%%%%%%%%%%
+
+\_sdef {_thedimen:pt}{1}
+\_sdef {_thedimen:cm}{28.4527559}
+\_sdef {_thedimen:mm}{2.84527559}
+\_sdef {_thedimen:in}{72.27}
+\_sdef {_thedimen:sp}{(1/65536)}
+\_sdef {_thedimen:pc}{12}
+\_sdef {_thedimen:bp}{1.00375}
+\_sdef {_thedimen:dd}{1.070008643}
+\_sdef {_thedimen:cc}{12.8401037}
+\_sdef {_thedimen:em}{(\number\fontdimen6\font/65536)}
+\_sdef {_thedimen:ex}{(\number\fontdimen5\font/65536)}
+
+\_def\thedimen #1#2#3{\_nnum{\_expr[5]{%
+ \_number\_dimexpr#1\_relax / 65536 / \_trycs{_thedimen:#2#3}{5000000000}}}#2#3}
+
+
\_trick 0063 \showpglists ;
%%%%%%%%%%%%
@@ -81,6 +100,52 @@
\_fi
}
+\_trick 0133 \shownodes ;
+%%%%%%%%%%%%
+
+\_def\shownodes#1{%
+ \_ifcat\_noexpand#1\_relax \_def\.tmp{#1}\_tmpnum=#1\_ea\.shownodesA
+ \_else \_def\.tmp{}\_afterfi{\_afterassignment\.shownodesA \_tmpnum=#1}\_fi
+}
+\_def\.shownodesA{%
+ \_wterm{==== Box \_the\_tmpnum\_space (\_ea\_string\.tmp):}%
+ \_directlua{
+ local nodetree = require("nodetree")
+ nodetree.print(tex.box[\_the\_tmpnum])
+}}
+
+
+\_trick 0134 \rebox \leftfill \rightfill \lrfill ;
+%%%%%%%%%%%%
+
+\_def\rebox{\_directlua{
+ local nod = tex.box[token.scan_int()] % read head node of the given box
+ if not(nod==nil) and nod.id==1 then % given box must be \vbox
+ for n in node.traverse(nod.head) do
+ if n.id==0 then % i.e. hlist (\hbox)
+ local nn = node.hpack (n.head) % calculate its natural width
+ n.width = nn.width % save natural width
+ nn.head = nil node.free (nn) % remove created box node
+ end
+ end
+ local nn = node.vpack (nod.head) % calculate main vlist (\vbox) width
+ nod.width = nn.width % save this width to nod.width
+ nn.head = nil node.free (nn) % remove created box node
+ for n in node.traverse(nod.head) do
+ if n.id==0 then
+ local nn = node.hpack (n.head, nod.width, "exactly") % \hbox to nod.width
+ n.width = nn.width % save changed hlist (\hbox) parameters
+ n.glue_order = nn.glue_order n.glue_set = nn.glue_set n.glue_sign = nn.glue_sign
+ nn.head = nil node.free (nn) % remove created box node
+ end
+ end
+ end
+}}
+\_def\leftfill {\_leftskip=0pt plus1fill \_parindent=0pt }
+\_def\rightfill{\_rightskip=0pt plus1fill \_parindent=0pt }
+\_def\lrfill{\_leftskip=0pt plus1fill \_rightskip=\_leftskip \_parindent=0pt }
+
+
\_trick 0101 \runsystem ;
%%%%%%%%%%%%
@@ -94,8 +159,8 @@
\_nspublic \exitstatus ;
-\_trick 105 \directoutput ;
-%%%%%%%%%%%
+\_trick 0105 \directoutput ;
+%%%%%%%%%%%%
\_newbox\.outbox
\_def\directoutput{\_begingroup \_afterassignment\.directoutputA \_setbox\.outbox=}
@@ -109,6 +174,107 @@
\_endgroup
}
+\_trick 0135 \directchar ;
+%%%%%%%%%%%%
+
+\_protected\_def\directchar{\_ifmmode \_ea\_Uchar\_else \_quitvmode \_ea\.directcharA\_fi}
+\_def\.directcharA{\_directlua{
+ local n = node.new(29, 256)
+ n.font = font.current()
+ n.char = token.scan_int()
+ node.write(n)
+}}
+
+\_trick 0137 \replmacro ;
+%%%%%%%%%%%%
+
+\_def\replmacro #1{\_ea\.replmacroA\_ea#1\_meaning#1\_relax}
+\_def\.replmacroA #1#2:#3->#4\_relax#5#6#7#8{%
+ {\_let\\=\_nbb \_edef\"{\_string\"}%
+ \_xargs\.replmacroB \{\}\$\&\#\^\~;\_ea
+ }\_ea\.replmacroC\_ea#1\_directlua{
+ local prefixes="\_luaescapestring{#2}"
+ local params="\_luaescapestring{#3}"
+ local body="\_luaescapestring{#4}"
+ prefixes = string.gsub(prefixes,"macro","")
+ \_ifx;#5;\_else prefixes = string.gsub(prefixes,#5)\_fi
+ \_ifx;#6;\_else params = string.gsub(params,#6)\_fi
+ \_ifx;#7;\_else body = string.gsub(body,#7)\_fi
+ \_ifx;#8;\_else body = string.gsub(body,#8)\_fi
+ tex.sprint("{"..prefixes.."}{"..params.."}{"..body.."}")
+ }%
+}
+\_def\.replmacroB #1{\_edef#1{\_csstring#1}}
+\_def\.replmacroC #1#2#3#4{\_useit#2\_def#1#3{#4}}
+
+
+\_trick 0136 \xreplstring ;
+%%%%%%%%%%%%
+
+\_directlua{%
+local scan_toks = token.scan_toks
+local put_next = token.put_next
+local create = token.create
+local lbrace = create(string.byte('{'))
+local rbrace = create(string.byte('}'))
+define_lua_command('xreplstring', function()
+ local macro_name = create(token.scan_csname())
+ put_next(create'_expandafter',
+ lbrace,macro_name,rbrace)
+ local macro_body = scan_toks(false,false)
+ local nested = token.scan_keyword('nested')
+ local find = scan_toks(false,false)
+ local replace = scan_toks(false,false)
+ local find_length = \_csstring\#find
+ local replace_length = \_csstring\#replace
+ local range = \_csstring\#macro_body - find_length + 1
+ local i = 1
+ local nested_level = 0
+ while i <= range do
+ if not nested then
+ if macro_body[i].tok == lbrace.tok then
+ nested_level = nested_level + 1
+ elseif macro_body[i].tok == rbrace.tok then
+ nested_level = nested_level - 1
+ end
+ end
+ if nested_level > 0 then i = i+1 else
+ for j = 0, find_length - 1 do
+ if not nested then
+ if macro_body[i + j].tok == lbrace.tok then
+ nested_level = nested_level + 1
+ i = i+j+1
+ break
+ end
+ end
+ if (macro_body[i + j].tok \_csstring\~= find[j+1].tok) then
+ i = i+1
+ break
+ else
+ if j == find_length - 1 then
+ for t = 0, find_length - 1 do
+ table.remove(macro_body,i)
+ end
+ for t = 0, replace_length - 1 do
+ table.insert(macro_body,i+t,replace[t+1])
+ end
+ range = \_csstring\#macro_body - find_length + 1
+ i = i+replace_length
+ break
+ end
+ end
+ end
+ end
+ end
+ put_next(rbrace)
+ put_next(macro_body)
+ put_next(create'_def',macro_name,lbrace)
+ if macro_name.protected then
+ put_next(create'_protected')
+ end
+end,'global') % we want to keep the meanig after group
+}
+
\_trick 0078 \algol ;
%%%%%%%%%%%%
@@ -175,6 +341,22 @@
}
\_def\ignoreinspic{\_let\_inspicB=\.inspicBnew}
+\_trick 0040 \tdnum ;
+%%%%%%%%%%%%
+
+\_def\tdnum #1 {\_isinlist{#1}{.}\_iftrue \_ea\.tdnumG \_else \_ea\.tdnumH \_fi #1\_end}
+\_def\.tdnumG #1.#2\_end {\.tdnumH#1\_end \.decdot \.tdnumB #2\_empty\_empty\_empty}
+\_def\.tdnumH#1\_end{\.tdnumA #1\_empty\_empty\_empty #1\_empty}
+\_def\.tdnumA #1#2#3{\_xcasesof
+ {\_ifx #1\_empty} {\.tdnumB}
+ {\_ifx #2\_empty} {\.tdnumB{}}
+ {\_ifx #3\_empty} {\_ea\.tdnumB\_ignoreit}
+ \_finc {\.tdnumA}
+}
+\_def\.tdnumB #1#2#3#4{#1#2#3\_ifx#4\_empty\_else \.numsep \_ea\.tdnumB\_ea#4\_fi}
+\_def\.numsep{\,}
+\_def\.decdot{.}
+
\_trick 0047 \style m \keepstyle ;
%%%%%%%%%%%%
@@ -755,17 +937,17 @@
\_trick 0130 \onlyifnew ;
%%%%%%%%%%%%
-\_def \onlyifnew#1#2{\_begingroup%
+\_def \onlyifnew#1#2{\_begingroup
\_edef\.tmpA{\_csstring #2}%
\_edef\.tmpB{\_string #2}%
- \_ea\_ifcsname\.tmpA\_endcsname%
+ \_ea\_ifcsname\.tmpA\_endcsname
\_ifx\.tmpA\.tmpB% #2 has no backslash
- \_def\.onlyifnewA{#1{_optextrick_onlyifnewB}}\_else%
- \_def\.onlyifnewA{#1\_optextrick_onlyifnewB}\_fi%
- \_else%
- \_ifx\.tmpA\.tmpB%
- \_def\.onlyifnewA{#1{#2}}\_else%
- \_def\.onlyifnewA{#1#2}\_fi%
+ \_def\.onlyifnewA{#1{_optextrick_onlyifnewB}}\_else
+ \_def\.onlyifnewA{#1\_optextrick_onlyifnewB}\_fi
+ \_else
+ \_ifx\.tmpA\.tmpB
+ \_def\.onlyifnewA{#1{#2}}\_else
+ \_def\.onlyifnewA{#1#2}\_fi
\_fi\_ea\_endgroup\.onlyifnewA}
%%%%%%%%%%%%
@@ -773,6 +955,12 @@
\_endcode
+2024-05-07 \replmacro added
+2024-05-02 \xreplstring added
+2024-04-15 \directchar added
+2024-03-21 \rebox added
+2024-03-19 \shownodes added
+2024-03-09 \thedimen added
2024-02-13 \onlyifnew added
2024-02-12 \pgforeground added
2023-11-15 \correctvsize added
diff --git a/Master/texmf-dist/tex/optex/base/optex.ini b/Master/texmf-dist/tex/optex/base/optex.ini
index a659f43dc8b..0c037d6f4c6 100644
--- a/Master/texmf-dist/tex/optex/base/optex.ini
+++ b/Master/texmf-dist/tex/optex/base/optex.ini
@@ -21,7 +21,7 @@
% OpTeX version
-\def\optexversion{1.14 Feb 2024}
+\def\optexversion{1.15 Jun 2024}
\def\fmtname{OpTeX}
\let\fmtversion=\optexversion
diff --git a/Master/texmf-dist/tex/optex/base/optex.lua b/Master/texmf-dist/tex/optex/base/optex.lua
index c6ea56d7946..71834a56aa9 100644
--- a/Master/texmf-dist/tex/optex/base/optex.lua
+++ b/Master/texmf-dist/tex/optex/base/optex.lua
@@ -12,7 +12,8 @@ local optex = _ENV.optex or {}
_ENV.optex = optex
-- Error function used by following functions for critical errors.
-local function err(message)
+local function err(...)
+ local message = fmt(...)
error("\nerror: "..message.."\n")
end
--
@@ -192,11 +193,11 @@ local valid_callback_types = {
-- `call_callback`. A default function is only needed by "exclusive" callbacks.
function callback.create_callback(name, cbtype, default)
if callback_types[name] then
- err("cannot create callback '"..name.."' - it already exists")
+ err("cannot create callback '%s' - it already exists", name)
elseif not valid_callback_types[cbtype] then
- err("cannot create callback '"..name.. "' with invalid callback type '"..cbtype.."'")
+ err("cannot create callback '%s' with invalid callback type '%s'", name, cbtype)
elseif ctype == "exclusive" and not default then
- err("unable to create exclusive callback '"..name.."', default function is required")
+ err("unable to create exclusive callback '%s', default function is required", name)
end
callback_types[name] = cbtype
@@ -227,7 +228,21 @@ function callback.add_to_callback(name, fn, description)
return call_callback(name, ...)
end)
else
- err("cannot add to callback '"..name.."' - no such callback exists")
+ err("cannot add '%s' to callback '%s' - no such callback exists", description, name)
+ end
+
+ if not description or description == "" then
+ err("missing description when adding a callback to '%s'", name)
+ end
+
+ for _, desc in ipairs(callback_description[name] or {}) do
+ if desc == description then
+ err("for callback '%s' there already is '%s' added", name, description)
+ end
+ end
+
+ if type(fn) ~= "function" then
+ err("expected Lua function to be added as '%s' for callback '%s'", description, name)
end
-- add function to callback list for this callback
@@ -251,6 +266,10 @@ function callback.remove_from_callback(name, description)
end
end
+ if not index then
+ err("can't remove '%s' from callback '%s': not found", description, name)
+ end
+
table.remove(descriptions, index)
local fn = table.remove(callback_functions[name], index)
@@ -293,7 +312,7 @@ function callback.call_callback(name, ...)
local functions = callback_functions[name] or {default_functions[name]}
if cbtype == nil then
- err("cannot call callback '"..name.."' - no such callback exists")
+ err("cannot call callback '%s' - no such callback exists", name)
elseif cbtype == "exclusive" then
-- only one function, atleast default function is guaranteed by
-- create_callback
@@ -483,7 +502,7 @@ callback.add_to_callback("finish_pdffile", function()
local obj = resource_dict_objects[type]
pdf.immediateobj(obj, tostring(dict))
end
-end)
+end, "_pageresources")
--
-- \medskip\secc[lua-colors] Handling of colors and transparency using attributes^^M
--
@@ -716,7 +735,16 @@ function optex.hook_into_luaotfload()
end)
end
+-- \`\_beglocalcontrol` `<tokens>` `\_endlocalcontrol` runs `<tokens>` fully at
+-- expand processor level despite the fact that `<tokens>` processes unexpandable commands.
+
+define_lua_command("_beglocalcontrol", function()
+ return tex.runtoks(token.get_next, true)
+end)
+
-- History:
+ -- 2024-06-02 more checking in add_to_callback and remove_from_callback
+ -- 2024-02-18 \_beglocalcontrol added
-- 2022-08-25 expose some useful functions in `optex` namespace
-- 2022-08-24 luaotfload transparency with attributes added
-- 2022-03-07 transparency in the colorize() function, current_tr added
diff --git a/Master/texmf-dist/tex/optex/base/others.opm b/Master/texmf-dist/tex/optex/base/others.opm
index 9b7e3a7ead8..b7ad0556fc4 100644
--- a/Master/texmf-dist/tex/optex/base/others.opm
+++ b/Master/texmf-dist/tex/optex/base/others.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \uv {Miscenaleous <2023-12-23>} % preloaded in format
+\_codedecl \uv {Miscenaleous <2024-06-27>} % preloaded in format
\_doc ----------------------------
\`\useOpTeX` and \`\useoptex` are declared as `\relax`.
@@ -94,9 +94,8 @@
First usage of `\lipsum` reads the \LaTeX/ file `lipsum.ltd.tex`
by \`\_lipsumload`
and prints the selected paragraph(s). Next usages of `\lipsum`
- prints the selected paragraph(s) from memory. This second and more
- usages of `\lipsum` are fully expandable. If you want to have all
- printings of `\lipsum` expandable, use dummy `\lipsum[0]` first.
+ prints the selected paragraph(s) from memory.
+ `\lipsum` is fully expandable.
`\lipsum` adds `\_par` after each printed paragraph. If you don't need
such `\_par` here, use \`\lipsumtext``[<number>]` or `\lipsum[<number>.]`
@@ -111,14 +110,15 @@
\_def\_lipsumA #1.#2]#3{\_ifx^#2^\_lipsumB #1\_empty-\_empty\_fin \_else \_lipsumdot[#1].\_fi}
\_def\_lipsumB #1-#2\_empty#3\_fin{%
\_fornum #1..\_ifx^#2^#1\_else#2\_fi \_do {\_lipsumtext[##1]\_par}}
-\_def\_lipsumload{{%
- \_setbox\_nonebox=\_vbox{\_tmpnum=0 % vertical mode during \input lipsum.ltd.tex
+\_def\_lipsumload{\_beglocalcontrol
+ {\_setbox\_nonebox=\_vpack{\_tmpnum=0 % vertical mode during \input lipsum.ltd.tex
\_def\ProvidesFile##1[##2]{}%
\_def\SetLipsumLanguage##1{}%
\_def\NewLipsumPar{\_incr\_tmpnum \_sxdef{_lip:\_the\_tmpnum}}%
\_opinput {lipsum.ltd.tex}%
- \_global\_let\_lipsumload=\_empty
- }}}
+ \_glet\_lipsumload=\_empty
+ }}%
+ \_endlocalcontrol}
\_def\_lipsumdot[#1]{\_lipsumload \_ea\_ea\_ea \_lipsumdotA \_csname _lip:#1\_endcsname.\_fin}
\_def\_lipsumdotA #1.#2\_fin {#1}
@@ -145,25 +145,29 @@
the `<cs-name>`.
\_cod -----------------------------
-\_def\_regtrick#1{\_ifx#1\_undefined\_def#1{\_loadtrick#1#1}\_else\_badtrick\_fi}
-\_def\_loadtrick#1{\_resetnamespace{optextrick}\_setctable\_optexcatcodes
+\_def\_regtrick#1{\_ifx#1\_undefined\_def#1{\_loadtrickD#1}\_else\_badtrick\_fi}
+\_def\_loadtrickD#1{\_loadtrick#1#1}
+\_def\_loadtrick#1{\_beglocalcontrol
+ \_resetnamespace{optextrick}\_setctable\_optexcatcodes
\_savecatcodetable\_tmpcatcodes \_catcodetable\_tmpcatcodes
\_long\_def\_loadtrickA ##1\_trick##2#1##3;{##1}%
\_wlog{Loading trick macros for \_string#1}%
- \_setbox\_nonebox=\_vbox{\_globaldefs=1 \_ea\_loadtrickA \_input {optex-tricks.opm}}%
+ \_setbox\_nonebox=\_vpack{\_globaldefs=1 \_ea\_loadtrickA \_input {optex-tricks.opm}}%
\_restorectable \_endnamespace
+ \_endlocalcontrol
}
\_def\_trick #1;{\_endinput}
\_public \loadtrick ;
\_xargs \_regtrick \begfile \createfile \beglua \begLUA \logginglua
- \sethours \setminutes \setseconds \setweekday \showpglists \runsystem
+ \sethours \setminutes \setseconds \setweekday \showpglists \shownodes \runsystem
\directoutput \algol \scaleto \scaletof \ttlineref \easylist \keepstyle \fcread
\shadedframe \roundframe \cancel \ignoreinspic \keystroke
\colortab \crx \crtop \crbot \crmid \longtable \vcent \vbot \tnote \tabnodes \tablebefore
\framedblocks \twoblocks \pstart \settabs \import \incrpp \ispageodd
\iniseccc \seccc \makeLOF \makeLOT \captionF \captionT \correctvsize \pgforeground
- \onlyifnew ;
+ \onlyifnew \thedimen \rebox \leftfill \rightfill \lrfill \directchar
+ \xreplstring \replmacro \tdnum ;
\_sdef{_item:m}{\_loadtrick{\style m}\_cs{_item:m}}
\_doc -----------------------------
@@ -240,6 +244,10 @@
\_endcode
+2024-06-27 \_loadtrickD introduced in order to save format size.
+2024-03-11 \_lipsumload+\_loadtrick: \vpack used instead \vbox.
+2024-03-04 \_beglocalcontrol used in \_lipsumload.
+2024-02-18 \_beglocalcontrol used in \_loadtrik.
2023-12-23 \_nonebox instead box 0 introduced.
2023-10-17 \_loadtrick introduced.
2022-05-04 \lipsum[<num>]. changed to \lipsum[<num>.] to keep macro expandable.
diff --git a/Master/texmf-dist/tex/optex/base/output.opm b/Master/texmf-dist/tex/optex/base/output.opm
index 5e4765766d1..e5bca3157e2 100644
--- a/Master/texmf-dist/tex/optex/base/output.opm
+++ b/Master/texmf-dist/tex/optex/base/output.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \nopagenumbers {Output routine <2023-04-28>} % preloaded in format
+\_codedecl \nopagenumbers {Output routine <2024-02-29>} % preloaded in format
\_doc -----------------------------
\`\_optexoutput` is the default output routine. You can create another
@@ -55,7 +55,7 @@
\_cod -----------------------------
\_newdimen \_xhsize \_xhsize=\_hsize
-\_def\_setxhsize {\_global\_xhsize=\_hsize \_global\_let\_setxhsize=\_relax}
+\_def\_setxhsize {\_global\_xhsize=\_hsize \_glet\_setxhsize=\_relax}
\_doc -----------------------------
\`\gpageno` counts pages from one in the whole document
@@ -78,7 +78,7 @@
\_resetattrs
\_istoksempty \_pgbackground
\_iffalse \_backgroundbox{\_the\_pgbackground}\_nointerlineskip \_fi
- \_makeheadline
+ \_pdfrunninglinkoff \_makeheadline \_pdfrunninglinkon
\_vbox to\_vsize {\_boxmaxdepth=\_maxdepth \_pagecontents}% \pagebody in plainTeX
\_makefootline}%
}
@@ -116,8 +116,8 @@
\_ifvoid\_topins \_else \_unvbox\_topins\_fi
\_dimen0=\_dp255 \_unvbox255 % open up \box255
\_ifvoid\_footins \_else % footnote info is present
- \_vskip\_skip\_footins
- \_footnoterule \_unvbox\_footins\_fi
+ \_pdfrunninglinkoff \_vskip\_skip\_footins
+ \_footnoterule \_unvbox\_footins \_pdfrunninglinkon \_fi
\_kern-\_dimen0 \_vskip \_pgbottomskip
}
\_def \_pagedest {{\_def\_destheight{25pt}\_dest[pg:\_the\_gpageno]}}
@@ -215,7 +215,7 @@
\_def \_draft {\_pgbackground={\_draftbox{\_draftfont DRAFT}}%
\_fontdef\_draftfont{\_setfontsize{at10pt}\_bf}%
- \_global\_let\_draftfont=\_draftfont
+ \_glet\_draftfont=\_draftfont
}
\_def \_draftbox #1{\_setbox0=\_hbox{\_setgreycolor{.8}#1}%
\_kern.5\_vsize \_kern\_voffset \_kern4.5\_wd0
@@ -264,6 +264,7 @@ The output routine \^`\_optexoutput` is similar as in plain \TeX. It does:
\_endinput
+2024-02-29 \_pdfrunninglinkoff, \_pdfrunninglinkon used
2022-04-28 \_optexshipout introduced
2022-10-22 \_normalbaselines added to \makehead/foot/line
2022-03-07 \_resetattrs instead \_resetcolor
diff --git a/Master/texmf-dist/tex/optex/base/parameters.opm b/Master/texmf-dist/tex/optex/base/parameters.opm
index 05abe422757..c53508d3c1c 100644
--- a/Master/texmf-dist/tex/optex/base/parameters.opm
+++ b/Master/texmf-dist/tex/optex/base/parameters.opm
@@ -64,8 +64,10 @@
node will not be ignored.
\_cod -----------------------------
+\_ifx\_matheqdirmode\_undefined \_else
\_matheqdirmode=1
\_breakafterdirmode=1
+\_fi
\_doc -----------------------------
\secc Plain \TeX/ registers
@@ -629,7 +631,8 @@ a register then \OpTeX/ macros still work without change.
\_endinput
History:
-2023-09-19 ... \matheqdirmode and \breakafterdirmode set (relevant when RTR typesetting)
+2024-04-30 ... \matheqdirmode set only if it is defined (LuaTeX 1.15 and newer).
+2023-09-19 ... \matheqdirmode and \breakafterdirmode set (relevant when RTL typesetting)
2021-04-13 ... \bibpart added
2021-04-07 ... \biboptions added, bug from iso690 fixed
2020-04-04 ... \tabspaces added
diff --git a/Master/texmf-dist/tex/optex/base/plain-macros.opm b/Master/texmf-dist/tex/optex/base/plain-macros.opm
index f3aa8c53347..a4fc792a929 100644
--- a/Master/texmf-dist/tex/optex/base/plain-macros.opm
+++ b/Master/texmf-dist/tex/optex/base/plain-macros.opm
@@ -54,9 +54,9 @@
% since this allows, for example, `\let\_par=\cr \obeylines \halign{...'
{\_catcode`\^^M=13 % these lines must end with %
\_gdef\_obeylines{\_catcode`\^^M=13\_let^^M\_par}%
- \_global\_let^^M=\_par} % this is in case ^^M appears in a \write
+ \_glet^^M=\_par} % this is in case ^^M appears in a \write
\_def\_obeyspaces{\_catcode`\ =13 }
-{\_obeyspaces\_global\_let =\_space}
+{\_obeyspaces\_glet =\_space}
\_public \obeylines \obeyspaces ;
\_doc -----------------------------
@@ -210,7 +210,7 @@
\_def\l{\_errmessage{\_usedirectly ł}}
\_def\L{\_errmessage{\_usedirectly Ł}}
%\def\_{\_ifmmode \kern.06em \vbox{\hrule width.3em}\else _\fi} % obsolete
-\_def\_{\_hbox{_}}
+\_protected\_def\_{\_relax \_ifmmode \_hbox{_}\_else _\_fi}
\_def\dag{\_errmessage{\_usedirectly †}}
\_def\ddag{\_errmessage{\_usedirectly ‡}}
\_def\copyright{\_errmessage{\_usedirectly ©}}
@@ -375,6 +375,7 @@
\_endcode % -------------------------------------
+2024-04-28 ... \_ corrected
2022-10-11 ... \_unichars extended
2022-02-19 ... \input hyphen.tex moved here (format file is 80k smaller)
2021-09-24 ... \_unichars introduced
diff --git a/Master/texmf-dist/tex/optex/base/references.opm b/Master/texmf-dist/tex/optex/base/references.opm
index cf43bb4049a..ab5968b9e9e 100644
--- a/Master/texmf-dist/tex/optex/base/references.opm
+++ b/Master/texmf-dist/tex/optex/base/references.opm
@@ -35,7 +35,7 @@
`\_wref\_Xlabel{<label>}{<text>}`.
\_cod ----------------------------
-\_def\_label[#1]{\_isempty{#1}\_iftrue \_global\_let \_lastlabel=\_undefined
+\_def\_label[#1]{\_isempty{#1}\_iftrue \_glet \_lastlabel=\_undefined
\_else \_isdefined{l0:#1}%
\_iftrue \_slideshook\_opwarning{Duplicated label [#1], ignored}\_else \_xdef\_lastlabel{#1}\_fi
\_fi \_ignorespaces
@@ -47,7 +47,7 @@
\_printlabel\_lastlabel
\_ewref \_Xlabel {{\_lastlabel}{#1}}%
\_sxdef{_lab:\_lastlabel}{#1}\_sxdef{l0:\_lastlabel}{}%
- \_global\_let\_lastlabel=\_undefined
+ \_glet\_lastlabel=\_undefined
\_fi
}
\_public \label \wlabel ;
diff --git a/Master/texmf-dist/tex/optex/base/table.opm b/Master/texmf-dist/tex/optex/base/table.opm
index 433ad412679..8da087386ab 100644
--- a/Master/texmf-dist/tex/optex/base/table.opm
+++ b/Master/texmf-dist/tex/optex/base/table.opm
@@ -195,8 +195,8 @@
\_def\_addtabitemx{\_ifnum\_colnum>0
\_addtabdata{&}\_addto\_ddlinedata{&\_dditem}\_fi
\_advance\_colnum by1 \_let\_tmpa=\_relax
- \_ifnum\_colnum>1 \_ea\_addtabdata\_ea{\_ea\_colnum\_the\_colnum\_relax}\_fi}
-\_def\_addtabdata#1{\_tabdata\_ea{\_the\_tabdata#1}}
+ \_ifnum\_colnum>1 \_etoksapp\_tabdata{\_colnum\_the\_colnum\_relax}\_fi}
+\_def\_addtabdata{\_toksapp\_tabdata}
\_doc -----------------------------
This code converts `||` or `|` from `\table` <declaration> to the <converted declaration>.
diff --git a/Master/texmf-dist/tex/optex/base/usebib.opm b/Master/texmf-dist/tex/optex/base/usebib.opm
index cb38eea7e84..dcacbb0ebcd 100644
--- a/Master/texmf-dist/tex/optex/base/usebib.opm
+++ b/Master/texmf-dist/tex/optex/base/usebib.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \readbibs {Reading bib databases <2023-06-25>} % loaded on demand by \usebib
+\_codedecl \readbibs {Reading bib databases <2024-02-18>} % loaded on demand by \usebib
\_doc -----------------------------
First, we implement the scanner of `.bib` files. Unfortunately, the format of
@@ -16,7 +16,10 @@
\_def\_readbibs #1{%
\_ifcsname _be:\_bibp*\_endcsname \_def\_citelist{}\_fi % \_citelist will be created
\_begingroup
- \_everyeof{@{}}\_foreach#1,\_do##1,{\_ea\_nextat\_input{##1.bib}}%
+ \_everyeof{@{}}\_foreach#1,\_do##1,{%
+ \_isfile{##1.bib}\_iftrue \_ea\_nextat\_input{##1.bib}
+ \_else \_opwarning{\_string\usebib: Missing ##1.bib file}
+ \_fi}%
\_endgroup
}
\_public \readbibs ;
@@ -448,17 +451,24 @@ If an entry with the same label is declared in `local.bib` and in
`global.bib` too then the first wins. So, you can set exceptions in your
`local.bib` file for your document.
-The `bib-<style>.opm` declares entry types (like `@BOOK`, `@ARTICLE`) and declares
+The `bib-<style>.opm` file declares entry types (like `@BOOK`, `@ARTICLE`) and declares
their mandatory and optional fields (like `author`, `title`). When
a mandatory field is missing in an entry in the `.bib` file then a warning is printed on the
terminal about it. You can suppress such warnings by command
\^`\nobibwarning`~`[<bib-labels>]`, where <bib-labels> is a comma-separated list
of labels (without spaces) where missing mandatory fields will be no warned.
-Old `.bib` files may use the obscure notation for accents like `{\"o}`.
-Recommendation: convert such old files to Unicode encoding. If you are
-unable to do this then you can set \^`\bibtexhook={`\^`\oldaccents}`.
+Users may redefine declarations and the formatting rules given by the macros
+from the style~file. Such a re-definition have to be included in the
+\^`\bibtexhook` token list, because the \^`\usebib` macro opens group, reads
+the macros from the style~file, then executes \^`\bibtexhook` (it is empty
+by default), then reads data from the `.bib` files, then prints the desired
+records and finally, it closes the group.
+For example, \^`\bibtexhook={`\^`\oldaccents}` can be set if
+your old `.bib` files use an obscure notation for accents like `{\"o}`.
+Recommendation: converting such old `.bib` files to Unicode encoding is much
+more conceptual solution of this problem.
\secc Notes for bib-style writers
@@ -665,6 +675,7 @@ author/editor data field. You can read them by
History:
--------
+2024-02-18: missing .bib files checked, doc improved
2023-06-25: \_fieldalias introduced
2023-06-07: bug fix (\_namecount declaration)
2023-06-06: \_slet{_bes:#1}{_relax}: bugfix when label not found and sorting
diff --git a/Master/texmf-dist/tex/optex/base/verbatim.opm b/Master/texmf-dist/tex/optex/base/verbatim.opm
index ac00369d337..3f486f83339 100644
--- a/Master/texmf-dist/tex/optex/base/verbatim.opm
+++ b/Master/texmf-dist/tex/optex/base/verbatim.opm
@@ -208,7 +208,7 @@
\_def\_tmpb{#1}% cmds used in local group
\_ifx\_vifilename\_tmpa \_else
\_openin\_vifile={#3}%
- \_global\_viline=0 \_global\_let\_vifilename=\_tmpa
+ \_global\_viline=0 \_glet\_vifilename=\_tmpa
\_ifeof\_vifile
\_opwarning{\_string\verbinput: file "#3" unable to read}
\_ea\_ea\_ea\_skiptorelax
diff --git a/Master/texmf-dist/tex/optex/pkg/math.opm b/Master/texmf-dist/tex/optex/pkg/math.opm
index 88bc81c627c..e3a9556eee4 100644
--- a/Master/texmf-dist/tex/optex/pkg/math.opm
+++ b/Master/texmf-dist/tex/optex/pkg/math.opm
@@ -3,7 +3,7 @@
% This file can serve as an template for other package files
% See end of the file for more information
-\_def\_math_version {0.11, 2023-04-15}
+\_def\_math_version {0.15, 2024-04-28}
\_codedecl \replacemissingchars {Doing math more comfortably <\_math_version>}
\_namespace{math}
@@ -21,12 +21,16 @@
\_nokvx {\_opwarning{\_the\_kvdict: unknown option "##1", ignored}}%
\_kvx {vert} {\.smartvert}% sets | as math active, to do better |x| or ||x||
\_kvx {dots} {\.smartdots}% \dots behaves like \ldots or \cdots
+ \_kvx {interval} {\_let\_=\.interval}% enables \_<0,1)
+ \_kvx {rmsbsp} {\.rmsbsp}% activates x_[text] and x^[text]
\_kvx {bfserif} {\.bfserif}% \bf, \bi select fonts with serifs
+ \_kvx {flexipa} {\.flexipa}% flexible partial symbol
\_kvx {mstyle} {\.mstyle{##1}}% sets mstyle=TeX or ISO or french or upright
\_kvx {bstyle} {\.bstyle{##1}}% sets bstyle=TeX or ISO or upright or OpTeX
\_kvx {rmchars} {\.rmchars{##1}}% does \.rmchars{<list>}
\_kvx {vargreek} {\.vargreek{##1}}% does \.vargreek{<list>}
\_kvx {text} {\.dotext{##1}}% does \.dotext{<list>}
+ \_kvx {enablefic}{\.enablefic}% enables final italic correction
\_readkv{#1}%
\.restorekvdict
}
@@ -124,6 +128,23 @@
\_nspublic \smartdots ;
\_doc
+ The macro \`\.interval` reads following tokens until the `)` or `>` is found in the input
+ queue and replaces \code{<} to `\langle` and `>` to rangle. The reading and replacing
+ process saves the tokens to the `\intevalL` macro only and finaly this macro is launched.
+ \_cod
+
+\_def\.interval{\_def\.intervalL{}\.intervalA}
+\_def\.intervalA{\_nospacefuturelet\.next\.intervalB}
+\_def\.intervalB{\_ifx\.next\_bgroup \_ea\.intervalC \_else \_ea\.intervalD \_fi}
+\_def\.intervalC#1{\_addto\.intervalL{{#1}}\.intervalA}
+\_def\.intervalD#1{\_casesof #1
+ < {\_addto\.intervalL{\langle}\.intervalA}
+ > {\_addto\.intervalL{\rangle}\.intervalL}
+ ) {\_addto\.intervalL{)}\.intervalL}
+ \_finc {\_addto\.intervalL{#1}\.intervalA}%
+}
+
+ \_doc
\`\smartvert` sets `|` as math-active character and declares it
equal to `\.autovert` macro. This macro checks two variants: there
is single `|` or there is double `||`. It runs \`\.autovertA` or
@@ -142,6 +163,22 @@
\_nspublic \smartvert ;
\_doc
+ \`\rmsbsp` activates `^` and `_` so they check the next character.
+ If it is `[` then `\mathbox` is used for subscript or superscript, else
+ normal behavior of subscript or superscript is kept.
+ \_cod
+
+\_def\.rmsbsp{%
+ \_adef ^{\_isnextchar[{\.rmsp}{\_sp}}
+ \_adef _{\_isnextchar[{\.rmsb}{\_sb}}
+ \_def\.rmsp[##1]{\_sp{\_mathbox{##1}}}
+ \_def\.rmsb[##1]{\_sb{\_mathbox{##1}}}
+ \_catcode `\^=12 \_catcode`\_=11
+ \_mathcode`_="8000 \_mathcode`^="8000
+}
+\_nspublic \rmsbsp ;
+
+ \_doc
The control sequences \`\N`, \`\Z`, \`\Q`, \`\R`, \`\C`
\`\sgn`, \`\argmin`, \`\argmax`, \`\grad`, \`\rank`, \`\tr`, \`\diag`, \`\Span`,
\`\Rng`, \`\Null`, \`\Ker`, \`\Res`, \`\tg`, \`\cotg`, \`\arctg`, \`\arccotg`,
@@ -247,6 +284,43 @@
\_nspublic \bfserif ;
\_doc
+ \`\flexipa` (or \`\flexiblepartial`) runs
+ \~`\partialsymbolvars` `{it}`\,`{rm}`\,`{bfsans}`\,`{it}`\,`{bfitsans}`.
+ The \`\partialsymbolvars` macro adds two tokens `\.partialvar \m<var>partial`
+ to `\_mit`, `\_marm`, `\_mabf`, `\_mait`, `\_mabi` macros.
+ The \`\.partialvar` macro sets appropriate
+ `\_Umathcode` of the `\.partialchar` to the code given by the parameter
+ `\m<var>partial`. Five macros
+ \`\mbfpartial`, \`\mitpartial`, \`\mbfitpartial`, \`\mbfsanspartial`, \`\mbfitsanspartial`
+ are declared in the macro file `unimath-table.opm`.
+ The math character \`\mrmpartial` (for upright variant) is declared here.
+ \_cod
+
+\_chardef\.partialchar="2202
+\_Umathchardef\.mrmpartial=0 1 \.partialchar
+\_def\.partialvar #1{\_Umathcode \.partialchar 0 1
+ \_ifx#1\.mrmpartial \.partialchar \_else\_ea`#1 \_fi
+}
+\_def\.inadd#1#2{\_ea\.inaddA#1{#2}#1}
+\_def\.inaddA\_inmath#1#2#3{\_protected\_def#3{\_inmath{#1#2}}}
+
+\_def\.partialsymbolvars #1#2#3#4#5{%
+ \_ifx\_ncharrmA\_undefined \_opwarning{\_string\flexipa: Unicode math must be loaded first}%
+ \_else
+ \_def\.tmp{\_ea\_addto \_ea\_mit \_ea {\_ea\.partialvar \_csname m#1partial\_endcsname}}%
+ \_ifx\_mit\mit \.tmp \_let\mit=\_mit \_else \.tmp \_fi
+ \_ea\.inadd \_ea\_marm \_ea {\_ea\.partialvar \_csname m#2partial\_endcsname}%
+ \_ea\.inadd \_ea\_mabf \_ea {\_ea\.partialvar \_csname m#3partial\_endcsname}%
+ \_ea\.inadd \_ea\_mait \_ea {\_ea\.partialvar \_csname m#4partial\_endcsname}%
+ \_ea\.inadd \_ea\_mabi \_ea {\_ea\.partialvar \_csname m#5partial\_endcsname}%
+ \_mit
+ \_fi
+}
+\_def\.flexipa{\.partialsymbolvars {it}{rm}{bfsans}{it}{bfitsans}}
+\_newpublic \_let \flexiblepartial=\.flexipa
+\_nspublic \flexipa \partialsymbolvars \mrmpartial ;
+
+ \_doc
The options `mstyle`, resp. `bstyle` run \`\.mstyle`, resp. \`\.bstyle`
and these macros set required shapes of math variables. This can be done
only when Unicode-math is loaded already. This is a reason why
@@ -436,6 +510,40 @@
\_nspublic \mathclap \mathrlap \mathllap ;
+ \_doc
+ \`\enablefic` enables final italic correction. The relevant lua function is
+ registered to `mlist_to_hlist` callback and \`\finalitalcorr` is set to one.
+ \_cod
+
+\_newcount \.finalitalcorr
+\_directlua{
+ function math.final_ital_corr(head, style)
+ if style=="text" and tex.count.\_pkglabel _finalitalcorr>0 then
+ for n in node.traverse(head) do
+ if n.next == nil and n.id == 29 then % last is glyph
+ local k = font.fonts[n.font].characters[n.char].italic
+ if not(k==nil) and (k>0) then
+ local kn = node.new("kern")
+ kn.kern = k kn.subtype = 3
+ node.insert_after(head, n, kn) % kern node is inserted
+ end
+ end
+ end
+ end
+ return head
+ end
+}
+\_def\.enablefic {\_directlua{ % math.final_ital_corr is registered to mlist_to_hlist
+ luatexbase.add_to_callback("mlist_to_hlist",
+ function(head, style, penalties)
+ head = node.mlist_to_hlist(head, style, penalties)
+ return math.final_ital_corr(head, style)
+ end, "italcorr after math")
+ }
+ \.finalitalcorr=1
+}
+\_nspublic \enablefic \finalitalcorr ;
+
\_endnamespace
\_endcode
@@ -451,6 +559,7 @@ The following macros are defined in this package:
gives better controlling of sizes of parentheses.
* \~`\smartdots` declares `\dots` macro more intelligent.
\~`\smartvert` declares \"`|`" for better spacing.
+* \~`\rmsbsp` activates roman subscripts and superscripts in `[...]`.
* There are many common math macros for sets or for operators, for example
\~`\R` or \~`\sgn`.
* \~`\eqsystem` enables to write systems of equations comfortably,
@@ -458,6 +567,7 @@ The following macros are defined in this package:
\~`\subeqmark` prints the given suffix as a part of the equation mark.
* \~`\scriptspaces` sets more spaces around rel, bin in script and scripscript styles.
* \~`\bfserif` sets `\bf` and `\bi` for math typesetting as for bold-serif, bold-italic-serif.
+* \~`\flexipa` enables flexible partial symbol.
* \~`\rmchars` sets selected characters printed as `\rm`,
\~`\vargreek` sets Greek leters to their variants.
* \~`\textvariables`, \~`\textdigits`, \~`\textmoremath`
@@ -465,22 +575,28 @@ The following macros are defined in this package:
(variables, digits, more characters).
* \~`\replacemissingchars` allows to re-declare all characters missing in math font
for printing them from additional math font.
+* \~`\enablefic` enables final italic correction of inline-math lists.
\enditems
-Eight options are provided by the `math` package. You can set them by
+Following options are provided by the `math` package. You can set them by
\^`\mathset``{<options>}` after `\load[math]`, for example
`\mathset{dots, vert, vargreek={\epsilon,\rho}}`. The options are:
\begitems
* `dots` sets more inteligent `\dots`, the same as \~`\smartdots`.
+* `interval` sets `\_` as prefix of intervals, see section~\ref[interval].
* `vert` sets more inteligent `|`, the same as \~`\smartvert`.
+* `rmsbsp` sets roman sub/supscripts in `[...]`, the same as \~`\rmsbsp`.
* `bfserif` sets bold-serif, bold-italic-serif, the same as \~`\bfserif`.
+* `flexipa` enables flexible partial symbol, the same as \~`\flexipa`.
* `mstyle=<style>`, `bstyle=<style>` are math styles explained in section~\ref[mstyle].
* `rmchars={<list>}` sets `\rm` for selected characters, the same as \~`\rmchars`,
see section~\ref[rmchars].
* `vargreek={<list>}` sets variants for Greek letetters, the same as \~`\vargreek`,
see section~\ref[rmchars].
* `text={<list>}` sets \~`\textvariables`, \~`\textdigits`, or \~`\textmoremath`,
- see section~\ref[textvars].
+ see section~\ref[textvars],
+* `enablefic` enables final italic correction of inline-math lists, does
+ \~`\enablefic`.
\enditems
This package is not definitive. I plan to add more features in new versions
@@ -545,6 +661,28 @@ You can try this after the \^`\smartdots` declaration:
`$a_1 + a_2 + \dots + a_n$ ` prints $a_1 + a_2 + \dots + a_n$,
+\sec[interval] Creating intervals more comfortable
+
+Several math books uses `\langle`, `\rangle` for denoting the interval boundary
+if the boundary number is element of the interval too. For example `$\langle 0,1)$`
+is printed as $\langle 0,1)$ and it
+means an interval from zero to one, zero is element of the interval but one
+isn't. The \TeX/ source of such math books looks badly because we cannot mark
+them like \code{$<0,1)$} because it prints $\string<0,1)$ but we want $\langle 0,1)$.
+
+This package creates the \^`\.interval` macro which can be set to be equal to `\_`
+(using the `interval` option). Then `\_` can be used just before the interval
+as a prefix. The \code{<} or `>` are automatically replaced by `\langle`, `\rangle`
+if `\_` is prefixed. So, you can write \code{$\\_<0,1)$} or `$\_(0,1>$` or \code{$\\_<0,1>$}
+or `$\_(0,1)$` in order to get $\langle0,1)$ or $(0,1\rangle$ or $\langle0,1\rangle$
+or $(0,1)$. The source with such intervals looks better.
+
+Note that `interval` option does `\let\_=`\^`\.interval`, so the original
+meaning of the `\_` control sequence (from plain \TeX/) is re-defined.
+The `\_` control sequence can be used for this purpose because
+the next token is `(` or \code{<}, i.e. it is non-letter.
+
+
\sec Using vertical bars with better spacing
The character \"`|`" is declared with Ord class by default in Plain \TeX/,
@@ -567,6 +705,12 @@ $$
$$
+\sec Roman subscript and superscript in `[...]`
+
+When you declare \^`\rmsbsp`, then you can write `x_[text]` or `x^[text]`
+and it is equivalent to `x_{\mathbox{text}}` or `x^{\mathbox{text}}`.
+
+
\sec Basic and typical macros for sets, functions etc.
These typical macros are defined in `math.opm`:
@@ -758,6 +902,34 @@ sign must follow and then the `{<list>}` with syntax mentioned above. For exampl
`\mathset{vargreek={\epsilon,\rho}}`.
+\sec[flexipa] Flexible partial symbol $\partial$
+
+Classical \TeX/ with Computer Modern fonts uses slanted `\partial` symbol
+$\mitpartial$. On the other hand, default setting of Unicode math gives
+upright `\partial` $\rm\partial$ but six variants of this symbol are provided:
+roman (upright) \^`\mrmpartial` $\mrmpartial$, bold \^`\mbfpartial` $\mbfpartial$,
+italic \^`\mitpartial` $\mitpartial$, bold italic \^`\mbfitpartial` $\mbfitpartial$,
+bold sans serif \^`\mbfsanspartial` $\mbfsanspartial$, bold italic sans serif
+\^`\mbfitsanspartial` $\mbfitsanspartial$.
+
+When you declare \^`\flexipa` or \^`\flexiblepartial` or use the `flexipa`
+package option, then the `\partial` symbols get italic variant as default
+and behaves like others Greek symbols: it changes its variant according to
+the `\rm`, `\it`, `\bf`, `\bi` selectors in math mode. You can declare what
+variant of the `\partial` character will be shown at what selector. This can
+be done by the \^`\partialsymbolvars`~`<default> <rm> <bf> <it> <bi>` macro.
+Each of these five parameters can be `{rm}` or `{bf}` or `{it}` or `{bfit}`
+or `{bfsans}` or `{bfitsans}`. For example the third parameter declares
+what variant of the partial symbol is printed when `\bf` selector is used
+in math mode. The `\flexipa` macro runs the following default setting:
+\begtt
+\partialsymbolvars {it} {rm} {bfsans} {it} {bfitsans}
+\endtt
+It means that default is italic variant and when `\rm` is selected then roman
+(upright) variant is printed, when `\bf` is selected then bold sans serif
+variant is printed etc.
+
+
\sec[textvars] Variables and digits from currently used text font
When Unicode math font is loaded then all variables and digits are printed
@@ -815,6 +987,31 @@ then you can load a next additional math font using another \o`\addUmathfont` an
by previous steps are replaced.
+\sec Final italic correction
+
+Classical \TeX/ adds italic correction after each Ord atom with a single
+letter from math italic font including the last one in inline-math. \LuaTeX/
+and \OpTeX/ does the same only when classical `tfm` math fonts are used. When
+you switch to Unicode math, the italic correction of the last glyph of the
+inline-math list is lost, unfortunately. Try this:
+
+\begtt
+$T$' the italic correction after $T$ is inserted (classical fonts)
+
+\fontfam[lm]
+$T$' the italic correction after $T$ isn't inserted (Unicode fonts)
+\bye
+\endtt
+
+This package provides the \^`\enablefic` command which enables the classical TeX
+feature: the final italic correction of the inline-math list is automatically added.
+
+When \^`\enablefic` (or `enablefic` option) is declared then you can control
+the behavior of this feature by the \^`\finalitalcorr` register: if it is positive
+then the feature is activated and if it is zero, the feature is deactivated.
+The \^`\enablefic` macro sets \^`\finalitalcorr``=1`.
+
+
\sec Miscelaneous commands
I created various commands at the requests of users. They asked me to create
@@ -901,6 +1098,7 @@ The user can read this warning and declare the macro after
`\load[<pkg>]` in this case.
\_doc
+ % optex -jobname math-doc '\docgen math'
\load [doc,math]
\def\opurl{http://petr.olsak.net/ftp/olsak/optex/optex-doc.pdf}
\def\tnurl{http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf}
@@ -931,6 +1129,10 @@ The user can read this warning and declare the macro after
\endinput
+0.15 2024-04-28 \_ as interval prefix added.
+0.14 2024-03-18 \flexipa introduced.
+0.13 2024-03-06 \enablefic introduced.
+0.12 2024-03-02 \rmsbsp introduced.
0.11 2023-04-15: \bbigp introduced.
0.10 2023-03-12: \mathclap etc. introduced.
0.09 2023-03-11: mstyle, bstyle options introduced.
diff --git a/Master/texmf-dist/tex/optex/pkg/mte.opm b/Master/texmf-dist/tex/optex/pkg/mte.opm
index 5352d5dd782..c3d304610c1 100644
--- a/Master/texmf-dist/tex/optex/pkg/mte.opm
+++ b/Master/texmf-dist/tex/optex/pkg/mte.opm
@@ -457,7 +457,7 @@
\.initexpansion % luacode, ex table initialized
\_protrudechars=2
\_adjustspacing=2
- \_def\.features{protrusion=p\.var;expansion=ex}% pr/pi and ex tables used
+ \_def\.features{protrusion=p\.var;expansion=ex;}% pr/pi and ex tables used
\_reloading \_currvar
}
\_def\.disablemte {%
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebacromac.tex b/Master/texmf-dist/tex/plain/cweb/cwebacromac.tex
index 4c12e413827..f8462d06a37 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebacromac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebacromac.tex
@@ -1,5 +1,5 @@
% hypertext macros for CWEB listings (in addition to cwebmac.tex)
-% Version 1.1 --- September 2023
+% Version 2.0 --- May 2024
\ifx\ifacrohint\undefined\endinput\fi % these are not standalone macros
\ifluatex % LuaTeX is almost like pdfTeX
\protected\def\pdfliteral {\pdfextension literal}
@@ -15,6 +15,19 @@
\let\pdfoutput=\outputmode
\fi % end of LuaTeX->pdfTeX redirection macros
+% Used in cwebmac.tex, pdfctwimac.tex, pdfproofmac.tex
+\def\tocpages{1} % Most programs have one-page Table-of-Contents
+\def\startpdf{\def\pagemode{/PageMode /UseOutlines}
+ \ifnum\contentspagenumber=0 \advance \pageno by -\tocpages
+ \def\pagelabels{/PageLabels << /Nums [ 0 << /S/D/St \tocpages >>
+ \the\pageno << /P(Contents) >> ] >>}
+ \else \twodigits=\pageno \pageno=\contentspagenumber
+ \advance \pageno by \tocpages \advance \twodigits by -\pageno
+ \def\pagelabels{/PageLabels << /Nums [ 0 << /S/D/St \the\pageno >>
+ \the\twodigits << /S/D/St \contentspagenumber >> ] >>} \fi
+ \ifpdflua\pdfcatalog{\pagemode\space\pagelabels}
+ \else \special{pdf: docview << \pagemode\space\pagelabels >>}\fi}
+
\ifacro % The following are general pdf macros
\def\thewidth{\the\wd0 \space}
\def\theheight{\the\ht\strutbox\space}
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebbin/dcwebmac.tex b/Master/texmf-dist/tex/plain/cweb/cwebbin/dcwebmac.tex
index 40343ff6225..09e222d3c3a 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebbin/dcwebmac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebbin/dcwebmac.tex
@@ -28,6 +28,7 @@
% Version 3.64 [p21] --- Andreas Scherer, Octobre 2005
% Version 3.64 [p22] --- Andreas Scherer, March 2016
% Version 4.9 --- Andreas Scherer, June 2022
+% Version 4.12 --- Andreas Scherer, May 2024
\ifx\undefined\botofcontents\input cwebmac.tex\fi
@@ -81,11 +82,11 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
- \titletrue % prepare to output the table of contents
+ \ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\redefcon
\ifhint\HINThome\fi% Mark the Table of contents as home page
- \topofcontents \startpdf
+ \topofcontents
\line{\headerline}
\let\ZZ=\contentsline
\readcontents\relax % read the contents info
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebbin/fcwebmac.tex b/Master/texmf-dist/tex/plain/cweb/cwebbin/fcwebmac.tex
index d7e65ec7854..82d67edb1a5 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebbin/fcwebmac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebbin/fcwebmac.tex
@@ -28,6 +28,7 @@
% Version 3.64 [p21] --- Andreas Scherer, October 2005
% Version 3.64 [p22] --- Andreas Scherer, March 2016
% Version 4.9 --- Andreas Scherer, June 2022
+% Version 4.12 --- Andreas Scherer, May 2024
% french translations --- Denis Roegel, 18 September 1994
@@ -107,12 +108,12 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
- \titletrue % prepare to output the table of contents
+ \ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\def\grouptitle{SOMMAIRE:}
\message{Sommaire:}
\ifhint\HINThome\fi% Mark the Table of contents as home page
- \topofcontents \startpdf
+ \topofcontents
\line{\hfil Section\ifhint\else\hbox to3em{\hss Page}\fi}% No Page in HINT
\let\ZZ=\contentsline
\readcontents\relax % read the contents info
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebbin/icwebmac.tex b/Master/texmf-dist/tex/plain/cweb/cwebbin/icwebmac.tex
index 81c425207c0..5f2e7d3a45a 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebbin/icwebmac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebbin/icwebmac.tex
@@ -28,6 +28,7 @@
% Version 3.64 [p21] --- Andreas Scherer, October 2005
% Version 3.64 [p22] --- Andreas Scherer, March 2016
% Version 4.9 --- Andreas Scherer, June 2022
+% Version 4.12 --- Andreas Scherer, May 2024
\ifx\undefined\botofcontents\input cwebmac.tex\fi
@@ -133,12 +134,12 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
- \titletrue % prepare to output the table of contents
+ \ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\def\grouptitle{INDICE}
\message{Indice:}
\ifhint\HINThome\fi% Mark the Table of contents as home page
- \topofcontents \startpdf
+ \topofcontents
\line{\hfil Sezione\ifhint\else\hbox to3em{\hss Pag.}\fi}% No Page in HINT
\let\ZZ=\contentsline
\readcontents\relax % read the contents info
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctproofmac.tex b/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctproofmac.tex
index 7abb58d883d..f41ad4d6334 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctproofmac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctproofmac.tex
@@ -1,10 +1,10 @@
% standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.11 --- October 2023
+% Version 4.12 --- May 2024
% modified for proofs in CTWILL
% modified for PDF/HINT output with 'tex "\let\pdf+' or '{hi|lua|pdf|xe}tex'
% This file is not copyrighted and can be used freely.
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CTWILL4.11+PROOFS+PDF}
+\xdef\fmtversion{\fmtversion+CTWILL4.12+PROOFS+PDF}
\let\:=\. % preserve a way to get the dot accent
% (all other accents will still work as usual)
@@ -216,7 +216,7 @@
\def\T#1{\leavevmode % octal, hex or decimal constant
\hbox{$\def\?{\kern.2em}%$%
\let\ \, % C++ digit separator becomes a little white space
- \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
+ \def\$##1{\egroup_{\rm##1}\bgroup}%$% suffix to constant
\def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
\let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
\def\U{\note{This code is used in section}} % xref for use of a section
@@ -274,8 +274,6 @@
\def\title{\expandafter\uppercase\expandafter{\jobname}}
\def\topofcontents{\centerline{\titlefont\title}\vskip.7in
\vfill} % this material will start the table of contents page
-\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines}
- \else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi}
\def\botofcontents{\vfill
\centerline{\covernote}} % this material will end the table of contents page
\def\covernote{}
@@ -400,12 +398,12 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
- \titletrue % prepare to output the table of contents
+ \ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\def\grouptitle{TABLE OF CONTENTS}
\message{Table of contents:}
\ifhint\HINThome\fi% Mark the Table of contents as home page
- \topofcontents \startpdf
+ \topofcontents
\line{\hfil Section\ifhint\else\hbox to3em{\hss Page}\fi}% No Page in HINT
\let\ZZ=\contentsline
\readcontents\relax % read the contents info
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctwimac.tex b/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctwimac.tex
index 1eb66a2db8b..2a0499949e6 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctwimac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfctwimac.tex
@@ -1,11 +1,11 @@
% standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.11 --- October 2023
+% Version 4.12 --- May 2024
% modified for pages produced by CTWILL
% further modified for page size of the MMIXware book
% modified for PDF output with 'tex "\let\pdf+' or '{lua|pdf|xe}tex'
% This file is not copyrighted and can be used freely.
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CTWILL4.11+LNCS+PDF}
+\xdef\fmtversion{\fmtversion+CTWILL4.12+LNCS+PDF}
\let\:=\. % preserve a way to get the dot accent
% (all other accents will still work as usual)
@@ -515,8 +515,6 @@
%\global\advance\pageno by1}
%\def\topofcontents{\centerline{\titlefont\title}\vskip.7in
%\vfill} % this material will start the table of contents page
-%\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines}
- %\else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi}
%\def\botofcontents{\vfill
%\centerline{\covernote}} % this material will end the table of contents page
%\def\covernote{}
@@ -569,11 +567,11 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
%\rightskip 0pt \hyphenpenalty 50 \tolerance 200
%\setpage \output={\normaloutput\page\lheader\rheader}
- %\titletrue % prepare to output the table of contents
+ %\ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
%\pageno=\contentspagenumber
%\def\grouptitle{TABLE OF CONTENTS}
%\message{Table of contents:}
- %\topofcontents \startpdf
+ %\topofcontents
%\line{\hfil Section\hbox to3em{\hss Page}}
%\let\ZZ=\contentsline
%\readcontents\relax % read the contents info
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfwebtocfront.tex b/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfwebtocfront.tex
index e26e628b0bb..1d8fd1a0aae 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfwebtocfront.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebbin/pdfwebtocfront.tex
@@ -1,28 +1,42 @@
-% pdfwebtofront.tex
+% pdfwebtocfront.tex
% Code from knuth.drv in https://github.com/oberdiek/latex-tds
-% 2020/06/20 v2.0 by Andreas Scherer.
+% 2024/05/25 v3.1 by Andreas Scherer.
%
% This file is part of project https://github.com/ascherer/cwebbin
% and may be distributed under the MIT License or the LaTeX Project
% Public License.
%
% Move table-of-contents page to the front in PDF output.
-% Works with pdftex and xetex in connection with either 'webmac.tex'
-% for Pascal/WEB programs or 'cwebmac.tex' for C/CWEB programs.
+% Works with pdftex/xetex/luatex and plain tex/dvipdf in connection
+% with either 'pwebmac.tex' for Pascal/WEB programs or 'cwebmac.tex'
+% for C/CWEB programs.
%
\ifx\detokenize\undefined\endinput\fi
+\ifx\twodigits\undefined\endinput\fi
\def\contentsfile{\jobname.toc} % file that gets table of contents info
\newif\iftexmf\texmffalse % special toc treatment for TeX, Metafont, etc.
\newread\testread
\openin\testread=\contentsfile\relax
\ifeof\testread % First run
-\else % Second run
+\else\closein\testread % Second run
+ % Fix page numbers in the PDF bootmarks with 'Page Labels'
+ \def\tocpages{1} % Most programs have one-page Table-of-Contents
+ \def\tocstart{2} % so we start with (fake) page 2 for the rest
+ \def\pagemode{/PageMode /UseOutlines}
+ \def\pagelabels{/PageLabels << /Nums [
+ \ifnum\contentspagenumber=0 0 << /P(Contents) >> \tocpages << /S/D/St 1 >>
+ \else 0 << /S/D/St \contentspagenumber >> \fi ] >> }
+ \def\startpdf{\ifpdflua\pdfcatalog{\pagemode\space\pagelabels}
+ \else {\special{pdf: docview << \pagemode\space\pagelabels >>}}\fi}
% Redefine '\con' to be invoked before the first '\N' (starred section).
\let\ORGcon\con
\def\con{%
% reduce size of PDF pages for more screen space
\pdfpagewidth=\pagewidth \advance\pdfpagewidth by 1in
\pdfpageheight=\fullpageheight \advance\pdfpageheight by 1in
+ \iftexmf \advance\pdfpageheight by 0.5in
+ \gtitle={Table of Contents} % overwrite default 'WEB output'
+ \mark{\noexpand\nullsec{\the\gtitle}} \fi
\ifpdflua \pdfhorigin=0.5in \pdfvorigin=0.5in
\else \global\pageshift=-0.5in
\global\hoffset=-0.5in \global\voffset=-0.5in \fi
@@ -34,27 +48,34 @@
}%
% Special variant for 'mf.web' and 'tex.web' (et al.).
% They all define a peculiar version of '\N' in their preamble.
- % And they put their tables-of-contents on a sparse 'page 2' and
- % start the main body on page '3'.
+ % And they put their tables-of-contents on sparse 'Contents' page(s)
+ % and start the main body on page '3'.
\edef\x{\jobname}%
\edef\y{\detokenize{tex}}%
\ifx\x\y \texmftrue\else
\edef\y{\detokenize{mf}}%
\ifx\x\y \texmftrue\else
\edef\y{\detokenize{pdftex}}%
- \ifx\x\y \texmftrue\else
+ \ifx\x\y \texmftrue \def\tocpages{2}\else
\edef\y{\detokenize{xetex}}%
\ifx\x\y \texmftrue\fi\fi\fi\fi
\iftexmf
+ % These main programs start on page '3' (after any number of ToC pages)
+ \def\pagelabels{/PageLabels << /Nums [
+ 0 << /P(Contents) >> \tocpages << /S/D/St 3 >> ] >> }
\expandafter\let\csname ORGN\expandafter\endcsname
\csname N\endcsname
\expandafter\outer\expandafter\def\csname N\endcsname{%
- \titletrue \con \pageno=2
+ \titletrue \con \pageno=\tocstart
\expandafter\let\csname N\expandafter\endcsname
\csname ORGN\endcsname
\csname N\endcsname
}%
\else % Much more general approach for WEB and CWEB programs.
+ \edef\y{\detokenize{mp}}%
+ % This main program starts on page '3' (after any number of ToC pages)
+ \ifx\x\y \def\pagelabels{/PageLabels << /Nums [
+ 0 << /P(Contents) >> \tocpages << /S/D/St 3 >> ] >> } \fi
% In fact, '\con' will be invoked _inside_ the first '\N' right _after_
% '\MN', but _before_ '\eject'. And '\topofcontents' gets in the twist
% as well.
diff --git a/Master/texmf-dist/tex/plain/cweb/cwebmac.tex b/Master/texmf-dist/tex/plain/cweb/cwebmac.tex
index a59f15b4441..99e899476ce 100644
--- a/Master/texmf-dist/tex/plain/cweb/cwebmac.tex
+++ b/Master/texmf-dist/tex/plain/cweb/cwebmac.tex
@@ -1,8 +1,8 @@
% standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.11 --- October 2023
+% Version 4.12 --- May 2024
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CWEB4.11}
-\chardef\cwebversion=4 \chardef\cwebrevision=11
+\xdef\fmtversion{\fmtversion+CWEB4.12}
+\chardef\cwebversion=4 \chardef\cwebrevision=12
\let\:=\. % preserve a way to get the dot accent
% (all other accents will still work as usual)
@@ -215,8 +215,8 @@
\def\T#1{\leavevmode % octal, hex or decimal constant
\hbox{$\def\?{\kern.2em}%$%
\let\ \, % C++ digit separator becomes a little white space
-% \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant % versions < 3.67
- \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant % in version 3.67
+% \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant %$% versions < 3.67
+ \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant %$% in version 3.67
\def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
\let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
\def\U{\note{This code is used in section}} % xref for use of a section
@@ -276,8 +276,6 @@
\def\title{\expandafter\uppercase\expandafter{\jobname}}
\def\topofcontents{\centerline{\titlefont\title}\vskip.7in
\vfill} % this material will start the table of contents page
-\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines}
- \else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi}
\def\botofcontents{\vfill
\centerline{\covernote}} % this material will end the table of contents page
\def\covernote{}
@@ -383,12 +381,12 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
- \titletrue % prepare to output the table of contents
+ \ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\def\grouptitle{TABLE OF CONTENTS}
\message{Table of contents:}
\ifhint\HINThome\fi% Mark the Table of contents as home page
- \topofcontents \startpdf
+ \topofcontents
\line{\hfil Section\ifhint\else\hbox to3em{\hss Page}\fi}% No Page in HINT
\let\ZZ=\contentsline
\readcontents\relax % read the contents info
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex b/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex
index 84de442c2c3..5911919c0db 100644
--- a/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex
+++ b/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex
@@ -556,3 +556,9 @@
% 2022/09/28
% remove outerness
\expandafter\def\expandafter\newdimen\expandafter{\newdimen}
+
+% 2024/06/19
+% more latex emulation
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+\providecommand\@spaces{\space\space\space\space} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex b/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex
index 27475c473a3..31df1879bd0 100644
--- a/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex
+++ b/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex
@@ -1,6 +1,9 @@
% Plain TeX interface to psfrag.
% David Carlisle
+% Note this needs etex not tex
+% as etex extensions are used to control expansion
+
\input miniltx
\makeatletter
diff --git a/Master/texmf-dist/tex/plain/pwebmac/pwebmac.tex b/Master/texmf-dist/tex/plain/pwebmac/pwebmac.tex
index a7bdc717b9e..01bba0e19f3 100644
--- a/Master/texmf-dist/tex/plain/pwebmac/pwebmac.tex
+++ b/Master/texmf-dist/tex/plain/pwebmac/pwebmac.tex
@@ -5,7 +5,7 @@
% macro integration \`a la CWEB by Andreas Scherer <andreas_tex@freenet.de>.
% This file is not copyrighted and can be used freely.
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+PWEBMAC4.11}
+\xdef\fmtversion{\fmtversion+PWEBMAC4.12}
\parskip 0pt % no stretch between paragraphs
\parindent 1em % for paragraphs and for the first line of Pascal text
@@ -351,8 +351,16 @@
\def\title{\expandafter\uppercase\expandafter{\jobname}}
\def\topofcontents{\centerline{\titlefont\title}\vskip.7in
\vfill} % this material will start the table of contents page
-\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines}
- \else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi}
+\def\startpdf{\ifpdf\def\pagemode{/PageMode /UseOutlines}
+ \ifnum\contentspagenumber=0 \advance \pageno by -1
+ \def\pagelabels{/PageLabels << /Nums [ 0 << /S/D/St 1 >>
+ \the\pageno << /P(Contents) >> ] >>}
+ \else \twodigits=\pageno \pageno=\contentspagenumber
+ \advance \pageno by 1 \advance \twodigits by -\pageno
+ \def\pagelabels{/PageLabels << /Nums [ 0 << /S/D/St \the\pageno >>
+ \the\twodigits << /S/D/St \contentspagenumber >> ] >>} \fi
+ \ifpdflua\pdfcatalog{\pagemode\space\pagelabels}
+ \else \special{pdf: docview << \pagemode\space\pagelabels >>}\fi\fi}
\def\botofcontents{\vfill
\centerline{\covernote}} % this material will end the table of contents page
\def\covernote{}
@@ -452,12 +460,12 @@
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
- \titletrue % prepare to output the table of contents
+ \startpdf \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\def\grouptitle{TABLE OF CONTENTS}
\message{Table of contents:}
\ifhint\HINThome\fi% Mark the Table of contents as home page
- \topofcontents \startpdf
+ \topofcontents
\line{\hfil Section\ifhint\else\hbox to3em{\hss Page}\fi}% No Page in HINT
\let\Z=\contentsline
\readcontents\relax % read the contents info