summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/baskervaldx/ly1minbaskervaldx.fd136
-rw-r--r--Master/texmf-dist/tex/latex/baskervaldx/ot1minbaskervaldx.fd132
-rw-r--r--Master/texmf-dist/tex/latex/baskervaldx/t1minbaskervaldx.fd135
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Dnom.fd26
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-LF.fd108
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-OsF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Sup.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TLF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TOsF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Dnom.fd26
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-LF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-OsF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Sup.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TLF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TOsF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Dnom.fd26
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-LF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-OsF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Sup.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TLF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TOsF.fd109
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-LF.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-OsF.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TLF.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TOsF.fd50
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/baskervillef.fontspec8
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/baskervillef.sty193
-rw-r--r--Master/texmf-dist/tex/latex/baskervillef/omlzbami.fd28
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamercolorthemeSimplePlus.sty48
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerfontthemeSimplePlus.sty40
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerinnerthemeSimplePlus.sty98
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerthemeSimplePlus.sty25
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-software/software.bbx2
-rw-r--r--Master/texmf-dist/tex/latex/coloredtheorem/coloredtheorem.sty50
-rw-r--r--Master/texmf-dist/tex/latex/delimset/delimset.sty43
-rw-r--r--Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty6
-rw-r--r--Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty55
-rw-r--r--Master/texmf-dist/tex/latex/ffcode/ffcode.sty10
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd1
-rw-r--r--Master/texmf-dist/tex/latex/gelasiomath/untxmia.fd139
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/gentium.sty16
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/gentiumbook.sty16
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/l7xgentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/l7xgentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/lgrgentium.fd58
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/lgrgentiumbook.fd55
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/ly1gentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/ly1gentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/ot1gentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/ot1gentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/qxgentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/qxgentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t1gentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t1gentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t2agentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t2agentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t2bgentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t2bgentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t2cgentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t2cgentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t5gentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/t5gentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/ts1gentium.fd58
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/ts1gentiumbook.fd55
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/x2gentium.fd90
-rw-r--r--Master/texmf-dist/tex/latex/gentium-tug/x2gentiumbook.fd87
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def28
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty43
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty6
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty270
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty17
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty6
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty4
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex34
-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/libertinus-type1/LY1LibertinusSerifDisplay-LF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-OsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-Sup.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TLF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TOsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-LF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-OsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-Sup.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TLF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TOsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-LF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-OsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-Sup.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TLF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TOsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-LF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-OsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TLF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TOsF.fd36
-rw-r--r--Master/texmf-dist/tex/latex/libertinus-type1/libertinus-type1.sty4
-rw-r--r--Master/texmf-dist/tex/latex/newtx/newtx.sty32
-rw-r--r--Master/texmf-dist/tex/latex/reledmac/reledmac.sty3
-rw-r--r--Master/texmf-dist/tex/latex/scrlayer-fancyhdr/scrlayer-fancyhdr.sty97
-rw-r--r--Master/texmf-dist/tex/latex/tabularray-abnt/tabularray-abnt.sty249
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlibrarytikzlings.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty347
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty50
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-apes.sty75
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-bats.sty52
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty56
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty67
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-bugs.sty66
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty54
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-chickens.sty32
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty90
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-elephants.sty46
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty65
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty52
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty70
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-meerkats.sty47
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty40
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty64
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty20
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty42
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty36
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty42
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty66
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty42
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty71
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmen.sty67
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty64
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings-wolves.sty42
-rw-r--r--Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty12
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua328
-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.lua153
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua259
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua116
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua35
-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.lua43
-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.lua159
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua578
-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.lua51
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua86
-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.lua161
-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.lua66
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua20
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua94
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua119
-rw-r--r--Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua4
-rw-r--r--Master/texmf-dist/tex/latex/yb-book/yb-book.cls30
166 files changed, 4263 insertions, 6275 deletions
diff --git a/Master/texmf-dist/tex/latex/baskervaldx/ly1minbaskervaldx.fd b/Master/texmf-dist/tex/latex/baskervaldx/ly1minbaskervaldx.fd
new file mode 100644
index 00000000000..adbcd9e134d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/baskervaldx/ly1minbaskervaldx.fd
@@ -0,0 +1,136 @@
+%% Generated by msharpe on 2022/01/20
+%%
+\ProvidesFile{ly1minbaskervaldx.fd}
+ [2022/01/20 (msharpe) Font definitions for LY1/minbaskervaldx.]
+
+\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
+ \let\ntxmath@scaled\@empty
+\fi
+
+\ifdefined\@Baskervaldx@swfalse %
+\else
+ \expandafter\newif\csname if@Baskervaldx@sw\endcsname
+\fi
+
+\DeclareFontFamily{LY1}{minbaskervaldx}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{b}{sc}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{b}{scit}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{b}{sw}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-swash-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{b}{nw}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-swash-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{b}{scsl}{
+ <-> ssub * minbaskervaldx/b/scit
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{b}{sl}{
+ <-> ssub * minbaskervaldx/b/it
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{m}{sc}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{m}{scit}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-sc-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{m}{sw}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-swash-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{m}{nw}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-swash-ly1
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{m}{scsl}{
+ <-> ssub * minbaskervaldx/m/scit
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{m}{sl}{
+ <-> ssub * minbaskervaldx/m/it
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{scsl}{
+ <-> ssub * minbaskervaldx/b/scsl
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{sc}{
+ <-> ssub * minbaskervaldx/b/sc
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{n}{
+ <-> ssub * minbaskervaldx/b/n
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{it}{
+ <-> ssub * minbaskervaldx/b/it
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{sw}{
+ <-> ssub * minbaskervaldx/b/sw
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{sl}{
+ <-> ssub * minbaskervaldx/b/sl
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{scit}{
+ <-> ssub * minbaskervaldx/b/scit
+}{}
+
+\DeclareFontShape{LY1}{minbaskervaldx}{bx}{nw}{
+ <-> ssub * minbaskervaldx/b/nw
+}{}
+
+\if@Baskervaldx@sw % swash is default
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{b}{n}{
+ <-> ssub * minbaskervaldx/b/nw
+ }{}
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{b}{it}{
+ <-> ssub * minbaskervaldx/b/sw
+ }{}
+
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{m}{n}{
+ <-> ssub * minbaskervaldx/m/nw
+ }{}
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{m}{it}{
+ <-> ssub * minbaskervaldx/m/sw
+ }{}
+
+\else %default is no swash
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{b}{n}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-ly1
+ }{}
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{b}{it}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-ly1
+ }{}
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{m}{n}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-ly1
+ }{}
+
+ \DeclareFontShape{LY1}{minbaskervaldx}{m}{it}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-ly1
+ }{}
+
+\fi
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervaldx/ot1minbaskervaldx.fd b/Master/texmf-dist/tex/latex/baskervaldx/ot1minbaskervaldx.fd
new file mode 100644
index 00000000000..bf81ed57a66
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/baskervaldx/ot1minbaskervaldx.fd
@@ -0,0 +1,132 @@
+%% Generated by msharpe on 2022/01/20
+%%
+\ProvidesFile{ot1minbaskervaldx.fd}
+ [2022/01/20 (msharpe) Font definitions for OT1/minbaskervaldx.]
+
+
+\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
+ \let\ntxmath@scaled\@empty
+\fi
+
+\DeclareFontFamily{OT1}{minbaskervaldx}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{b}{sc}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{b}{scit}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{b}{sw}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-swash-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{b}{nw}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-swash-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{b}{scsl}{
+ <-> ssub * minbaskervaldx/b/scit
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{b}{sl}{
+ <-> ssub * minbaskervaldx/b/it
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{m}{sc}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{m}{scit}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-sc-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{m}{sw}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-swash-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{m}{nw}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-swash-ot1
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{m}{scsl}{
+ <-> ssub * minbaskervaldx/m/scit
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{m}{sl}{
+ <-> ssub * minbaskervaldx/m/it
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{scsl}{
+ <-> ssub * minbaskervaldx/b/scsl
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{sc}{
+ <-> ssub * minbaskervaldx/b/sc
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{n}{
+ <-> ssub * minbaskervaldx/b/n
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{it}{
+ <-> ssub * minbaskervaldx/b/it
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{sw}{
+ <-> ssub * minbaskervaldx/b/sw
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{sl}{
+ <-> ssub * minbaskervaldx/b/sl
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{scit}{
+ <-> ssub * minbaskervaldx/b/scit
+}{}
+
+\DeclareFontShape{OT1}{minbaskervaldx}{bx}{nw}{
+ <-> ssub * minbaskervaldx/b/nw
+}{}
+
+\if@Baskervaldx@sw % swash is default
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{b}{n}{
+ <-> ssub * minbaskervaldx/b/nw
+ }{}
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{b}{it}{
+ <-> ssub * minbaskervaldx/b/sw
+ }{}
+
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{m}{n}{
+ <-> ssub * minbaskervaldx/m/nw
+ }{}
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{m}{it}{
+ <-> ssub * minbaskervaldx/m/sw
+ }{}
+
+\else %default is no swash
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{b}{n}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-ot1
+ }{}
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{b}{it}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-ot1
+ }{}
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{m}{n}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-ot1
+ }{}
+
+ \DeclareFontShape{OT1}{minbaskervaldx}{m}{it}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-ot1
+ }{}
+
+\fi
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervaldx/t1minbaskervaldx.fd b/Master/texmf-dist/tex/latex/baskervaldx/t1minbaskervaldx.fd
new file mode 100644
index 00000000000..73a7365b226
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/baskervaldx/t1minbaskervaldx.fd
@@ -0,0 +1,135 @@
+%% Generated by msharpe on 2022/01/20
+%%
+\ProvidesFile{t1minbaskervaldx.fd}
+ [2022/01/20 (msharpe) Font definitions for T1/minbaskervaldx.]
+
+\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
+ \let\ntxmath@scaled\@empty
+\fi
+
+\ifdefined\@Baskervaldx@swfalse %
+\else
+ \expandafter\newif\csname if@Baskervaldx@sw\endcsname
+\fi
+
+\DeclareFontFamily{T1}{minbaskervaldx}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{b}{sc}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{b}{scit}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{b}{sw}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-swash-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{b}{nw}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-swash-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{b}{scsl}{
+ <-> ssub * minbaskervaldx/b/scit
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{b}{sl}{
+ <-> ssub * minbaskervaldx/b/it
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{m}{sc}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{m}{scit}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-sc-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{m}{sw}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-swash-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{m}{nw}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-swash-t1
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{m}{scsl}{
+ <-> ssub * minbaskervaldx/m/scit
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{m}{sl}{
+ <-> ssub * minbaskervaldx/m/it
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{scsl}{
+ <-> ssub * minbaskervaldx/b/scsl
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{sc}{
+ <-> ssub * minbaskervaldx/b/sc
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{n}{
+ <-> ssub * minbaskervaldx/b/n
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{it}{
+ <-> ssub * minbaskervaldx/b/it
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{sw}{
+ <-> ssub * minbaskervaldx/b/sw
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{sl}{
+ <-> ssub * minbaskervaldx/b/sl
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{scit}{
+ <-> ssub * minbaskervaldx/b/scit
+}{}
+
+\DeclareFontShape{T1}{minbaskervaldx}{bx}{nw}{
+ <-> ssub * minbaskervaldx/b/nw
+}{}
+
+\if@Baskervaldx@sw % swash is default
+
+ \DeclareFontShape{T1}{minbaskervaldx}{b}{n}{
+ <-> ssub * minbaskervaldx/b/nw
+ }{}
+
+ \DeclareFontShape{T1}{minbaskervaldx}{b}{it}{
+ <-> ssub * minbaskervaldx/b/sw
+ }{}
+
+
+ \DeclareFontShape{T1}{minbaskervaldx}{m}{n}{
+ <-> ssub * minbaskervaldx/m/nw
+ }{}
+
+ \DeclareFontShape{T1}{minbaskervaldx}{m}{it}{
+ <-> ssub * minbaskervaldx/m/sw
+ }{}
+
+\else %default is no swash
+
+ \DeclareFontShape{T1}{minbaskervaldx}{b}{n}{
+ <-> \ntxmath@scaled Baskervaldx-Bol-tlf-t1
+ }{}
+
+ \DeclareFontShape{T1}{minbaskervaldx}{b}{it}{
+ <-> \ntxmath@scaled Baskervaldx-BolIta-tlf-t1
+ }{}
+
+ \DeclareFontShape{T1}{minbaskervaldx}{m}{n}{
+ <-> \ntxmath@scaled Baskervaldx-Reg-tlf-t1
+ }{}
+
+ \DeclareFontShape{T1}{minbaskervaldx}{m}{it}{
+ <-> \ntxmath@scaled Baskervaldx-Ita-tlf-t1
+ }{}
+\fi
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Dnom.fd b/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Dnom.fd
deleted file mode 100644
index d50fad10935..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Dnom.fd
+++ /dev/null
@@ -1,26 +0,0 @@
-%% Generated by autoinst on 2016/11/16
-%%
-\ProvidesFile{LY1BaskervilleF-Dnom.fd}
- [2016/11/16 (autoinst) Font definitions for LY1/BaskervilleF-Dnom.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{BaskervilleF-Dnom}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{LY1}{BaskervilleF-Dnom}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-dnom-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Dnom}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-dnom-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Dnom}{m}{sl}{
- <-> ssub * BaskervilleF-Dnom/m/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-LF.fd b/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-LF.fd
deleted file mode 100644
index 654a5bde46c..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-LF.fd
+++ /dev/null
@@ -1,108 +0,0 @@
-%%
-\ProvidesFile{LY1BaskervilleF-LF.fd}
- [2016/11/15 (autoinst) Font definitions for LY1/BaskervilleF-LF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{BaskervilleF-LF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-ly1
-}{}
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{m}{scsl}{
- <-> ssub * BaskervilleF-LF/m/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{scsl}{
- <-> ssub * BaskervilleF-LF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{b}{sl}{
- <-> ssub * BaskervilleF-LF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{sw}{
- <-> ssub * BaskervilleF-LF/b/sw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{scit}{
- <-> ssub * BaskervilleF-LF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{sl}{
- <-> ssub * BaskervilleF-LF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{n}{
- <-> ssub * BaskervilleF-LF/b/n
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{nw}{
- <-> ssub * BaskervilleF-LF/b/nw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{scsl}{
- <-> ssub * BaskervilleF-LF/b/scsl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{sc}{
- <-> ssub * BaskervilleF-LF/b/sc
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-LF}{bx}{it}{
- <-> ssub * BaskervilleF-LF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-OsF.fd b/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-OsF.fd
deleted file mode 100644
index 38a316f2ab3..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-OsF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{LY1BaskervilleF-OsF.fd}
- [2016/11/15 (autoinst) Font definitions for LY1/BaskervilleF-OsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{BaskervilleF-OsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-ly1
-}{}
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{m}{scsl}{
- <-> ssub * BaskervilleF-OsF/m/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{scsl}{
- <-> ssub * BaskervilleF-OsF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{b}{sl}{
- <-> ssub * BaskervilleF-OsF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{it}{
- <-> ssub * BaskervilleF-OsF/b/it
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{scsl}{
- <-> ssub * BaskervilleF-OsF/b/scsl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{sc}{
- <-> ssub * BaskervilleF-OsF/b/sc
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{nw}{
- <-> ssub * BaskervilleF-OsF/b/nw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{sl}{
- <-> ssub * BaskervilleF-OsF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{n}{
- <-> ssub * BaskervilleF-OsF/b/n
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{scit}{
- <-> ssub * BaskervilleF-OsF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-OsF}{bx}{sw}{
- <-> ssub * BaskervilleF-OsF/b/sw
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Sup.fd b/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Sup.fd
deleted file mode 100644
index 6db2508ceca..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-Sup.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{LY1BaskervilleF-Sup.fd}
- [2016/11/15 (autoinst) Font definitions for LY1/BaskervilleF-Sup.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{BaskervilleF-Sup}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{m}{sl}{
- <-> ssub * BaskervilleF-Sup/m/it
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-sup-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{b}{sl}{
- <-> ssub * BaskervilleF-Sup/b/it
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{bx}{sl}{
- <-> ssub * BaskervilleF-Sup/b/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{bx}{n}{
- <-> ssub * BaskervilleF-Sup/b/n
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-Sup}{bx}{it}{
- <-> ssub * BaskervilleF-Sup/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TLF.fd b/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TLF.fd
deleted file mode 100644
index 46e3797d23a..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TLF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{LY1BaskervilleF-TLF.fd}
- [2016/11/15 (autoinst) Font definitions for LY1/BaskervilleF-TLF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{BaskervilleF-TLF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-ly1
-}{}
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{m}{scsl}{
- <-> ssub * BaskervilleF-TLF/m/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{scsl}{
- <-> ssub * BaskervilleF-TLF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{b}{sl}{
- <-> ssub * BaskervilleF-TLF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{sw}{
- <-> ssub * BaskervilleF-TLF/b/sw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{scit}{
- <-> ssub * BaskervilleF-TLF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{n}{
- <-> ssub * BaskervilleF-TLF/b/n
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{sl}{
- <-> ssub * BaskervilleF-TLF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{nw}{
- <-> ssub * BaskervilleF-TLF/b/nw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{scsl}{
- <-> ssub * BaskervilleF-TLF/b/scsl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{sc}{
- <-> ssub * BaskervilleF-TLF/b/sc
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TLF}{bx}{it}{
- <-> ssub * BaskervilleF-TLF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TOsF.fd b/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TOsF.fd
deleted file mode 100644
index 84ffeccdda0..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/LY1BaskervilleF-TOsF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{LY1BaskervilleF-TOsF.fd}
- [2016/11/15 (autoinst) Font definitions for LY1/BaskervilleF-TOsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{BaskervilleF-TOsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-ly1
-}{}
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{m}{scsl}{
- <-> ssub * BaskervilleF-TOsF/m/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-swash-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-sc-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-ly1
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{scsl}{
- <-> ssub * BaskervilleF-TOsF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{b}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{sw}{
- <-> ssub * BaskervilleF-TOsF/b/sw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{n}{
- <-> ssub * BaskervilleF-TOsF/b/n
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{scit}{
- <-> ssub * BaskervilleF-TOsF/b/scit
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/sl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{nw}{
- <-> ssub * BaskervilleF-TOsF/b/nw
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{sc}{
- <-> ssub * BaskervilleF-TOsF/b/sc
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{scsl}{
- <-> ssub * BaskervilleF-TOsF/b/scsl
-}{}
-
-\DeclareFontShape{LY1}{BaskervilleF-TOsF}{bx}{it}{
- <-> ssub * BaskervilleF-TOsF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Dnom.fd b/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Dnom.fd
deleted file mode 100644
index 1202e952ce7..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Dnom.fd
+++ /dev/null
@@ -1,26 +0,0 @@
-%% Generated by autoinst on 2016/11/16
-%%
-\ProvidesFile{OT1BaskervilleF-Dnom.fd}
- [2016/11/16 (autoinst) Font definitions for OT1/BaskervilleF-Dnom.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{BaskervilleF-Dnom}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{OT1}{BaskervilleF-Dnom}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-dnom-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Dnom}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-dnom-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Dnom}{m}{sl}{
- <-> ssub * BaskervilleF-Dnom/m/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-LF.fd b/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-LF.fd
deleted file mode 100644
index 1f1fb9f2bcc..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-LF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{OT1BaskervilleF-LF.fd}
- [2016/11/15 (autoinst) Font definitions for OT1/BaskervilleF-LF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{BaskervilleF-LF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{scsl}{
- <-> ssub * BaskervilleF-LF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{b}{sl}{
- <-> ssub * BaskervilleF-LF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-ot1G
-}{}
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{scsl}{
- <-> ssub * BaskervilleF-LF/m/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{scsl}{
- <-> ssub * BaskervilleF-LF/b/scsl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{sc}{
- <-> ssub * BaskervilleF-LF/b/sc
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{it}{
- <-> ssub * BaskervilleF-LF/b/it
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{sl}{
- <-> ssub * BaskervilleF-LF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{scit}{
- <-> ssub * BaskervilleF-LF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{n}{
- <-> ssub * BaskervilleF-LF/b/n
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{sw}{
- <-> ssub * BaskervilleF-LF/b/sw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-LF}{bx}{nw}{
- <-> ssub * BaskervilleF-LF/b/nw
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-OsF.fd b/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-OsF.fd
deleted file mode 100644
index bc42394879e..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-OsF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{OT1BaskervilleF-OsF.fd}
- [2016/11/15 (autoinst) Font definitions for OT1/BaskervilleF-OsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{BaskervilleF-OsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-ot1G
-}{}
-\DeclareFontShape{OT1}{BaskervilleF-LF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{m}{scsl}{
- <-> ssub * BaskervilleF-OsF/m/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{scsl}{
- <-> ssub * BaskervilleF-OsF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{b}{sl}{
- <-> ssub * BaskervilleF-OsF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{scit}{
- <-> ssub * BaskervilleF-OsF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{sl}{
- <-> ssub * BaskervilleF-OsF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{n}{
- <-> ssub * BaskervilleF-OsF/b/n
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{sw}{
- <-> ssub * BaskervilleF-OsF/b/sw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{nw}{
- <-> ssub * BaskervilleF-OsF/b/nw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{sc}{
- <-> ssub * BaskervilleF-OsF/b/sc
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{scsl}{
- <-> ssub * BaskervilleF-OsF/b/scsl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-OsF}{bx}{it}{
- <-> ssub * BaskervilleF-OsF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Sup.fd b/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Sup.fd
deleted file mode 100644
index 3683a6e0972..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-Sup.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{OT1BaskervilleF-Sup.fd}
- [2016/11/15 (autoinst) Font definitions for OT1/BaskervilleF-Sup.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{BaskervilleF-Sup}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{m}{sl}{
- <-> ssub * BaskervilleF-Sup/m/it
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-sup-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{b}{sl}{
- <-> ssub * BaskervilleF-Sup/b/it
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{bx}{it}{
- <-> ssub * BaskervilleF-Sup/b/it
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{bx}{n}{
- <-> ssub * BaskervilleF-Sup/b/n
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-Sup}{bx}{sl}{
- <-> ssub * BaskervilleF-Sup/b/sl
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TLF.fd b/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TLF.fd
deleted file mode 100644
index 8addf6cb9a1..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TLF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{OT1BaskervilleF-TLF.fd}
- [2016/11/15 (autoinst) Font definitions for OT1/BaskervilleF-TLF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{BaskervilleF-TLF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-ot1G
-}{}
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{m}{scsl}{
- <-> ssub * BaskervilleF-TLF/m/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{scsl}{
- <-> ssub * BaskervilleF-TLF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{b}{sl}{
- <-> ssub * BaskervilleF-TLF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{sl}{
- <-> ssub * BaskervilleF-TLF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{scit}{
- <-> ssub * BaskervilleF-TLF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{sw}{
- <-> ssub * BaskervilleF-TLF/b/sw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{n}{
- <-> ssub * BaskervilleF-TLF/b/n
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{nw}{
- <-> ssub * BaskervilleF-TLF/b/nw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{sc}{
- <-> ssub * BaskervilleF-TLF/b/sc
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{scsl}{
- <-> ssub * BaskervilleF-TLF/b/scsl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TLF}{bx}{it}{
- <-> ssub * BaskervilleF-TLF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TOsF.fd b/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TOsF.fd
deleted file mode 100644
index db827a236bb..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/OT1BaskervilleF-TOsF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{OT1BaskervilleF-TOsF.fd}
- [2016/11/15 (autoinst) Font definitions for OT1/BaskervilleF-TOsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{BaskervilleF-TOsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-ot1G
-}{}
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{m}{scsl}{
- <-> ssub * BaskervilleF-TOsF/m/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-ot1G
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-swash-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-sc-ot1
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{scsl}{
- <-> ssub * BaskervilleF-TOsF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{b}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{nw}{
- <-> ssub * BaskervilleF-TOsF/b/nw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{scit}{
- <-> ssub * BaskervilleF-TOsF/b/scit
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{n}{
- <-> ssub * BaskervilleF-TOsF/b/n
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{sw}{
- <-> ssub * BaskervilleF-TOsF/b/sw
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/sl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{it}{
- <-> ssub * BaskervilleF-TOsF/b/it
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{scsl}{
- <-> ssub * BaskervilleF-TOsF/b/scsl
-}{}
-
-\DeclareFontShape{OT1}{BaskervilleF-TOsF}{bx}{sc}{
- <-> ssub * BaskervilleF-TOsF/b/sc
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Dnom.fd b/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Dnom.fd
deleted file mode 100644
index 20fe2459abc..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Dnom.fd
+++ /dev/null
@@ -1,26 +0,0 @@
-%% Generated by autoinst on 2016/11/16
-%%
-\ProvidesFile{T1BaskervilleF-Dnom.fd}
- [2016/11/16 (autoinst) Font definitions for T1/BaskervilleF-Dnom.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{BaskervilleF-Dnom}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{T1}{BaskervilleF-Dnom}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-dnom-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Dnom}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-dnom-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Dnom}{m}{sl}{
- <-> ssub * BaskervilleF-Dnom/m/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-LF.fd b/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-LF.fd
deleted file mode 100644
index 9fc4a59f7df..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-LF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{T1BaskervilleF-LF.fd}
- [2016/11/15 (autoinst) Font definitions for T1/BaskervilleF-LF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{BaskervilleF-LF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{scsl}{
- <-> ssub * BaskervilleF-LF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{b}{sl}{
- <-> ssub * BaskervilleF-LF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-t1
-}{}
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{m}{scsl}{
- <-> ssub * BaskervilleF-LF/m/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{sw}{
- <-> ssub * BaskervilleF-LF/b/sw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{scit}{
- <-> ssub * BaskervilleF-LF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{n}{
- <-> ssub * BaskervilleF-LF/b/n
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{sl}{
- <-> ssub * BaskervilleF-LF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{nw}{
- <-> ssub * BaskervilleF-LF/b/nw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{scsl}{
- <-> ssub * BaskervilleF-LF/b/scsl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{sc}{
- <-> ssub * BaskervilleF-LF/b/sc
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-LF}{bx}{it}{
- <-> ssub * BaskervilleF-LF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-OsF.fd b/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-OsF.fd
deleted file mode 100644
index d22af531ec0..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-OsF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{T1BaskervilleF-OsF.fd}
- [2016/11/15 (autoinst) Font definitions for T1/BaskervilleF-OsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{BaskervilleF-OsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-t1
-}{}
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{m}{scsl}{
- <-> ssub * BaskervilleF-OsF/m/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{scsl}{
- <-> ssub * BaskervilleF-OsF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{b}{sl}{
- <-> ssub * BaskervilleF-OsF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{it}{
- <-> ssub * BaskervilleF-OsF/b/it
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{sc}{
- <-> ssub * BaskervilleF-OsF/b/sc
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{scsl}{
- <-> ssub * BaskervilleF-OsF/b/scsl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{nw}{
- <-> ssub * BaskervilleF-OsF/b/nw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{n}{
- <-> ssub * BaskervilleF-OsF/b/n
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{scit}{
- <-> ssub * BaskervilleF-OsF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{sl}{
- <-> ssub * BaskervilleF-OsF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-OsF}{bx}{sw}{
- <-> ssub * BaskervilleF-OsF/b/sw
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Sup.fd b/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Sup.fd
deleted file mode 100644
index 5502fa27e3d..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-Sup.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{T1BaskervilleF-Sup.fd}
- [2016/11/15 (autoinst) Font definitions for T1/BaskervilleF-Sup.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{BaskervilleF-Sup}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-sup-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-sup-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{m}{sl}{
- <-> ssub * BaskervilleF-Sup/m/it
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-sup-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-sup-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{b}{sl}{
- <-> ssub * BaskervilleF-Sup/b/it
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{bx}{it}{
- <-> ssub * BaskervilleF-Sup/b/it
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{bx}{sl}{
- <-> ssub * BaskervilleF-Sup/b/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-Sup}{bx}{n}{
- <-> ssub * BaskervilleF-Sup/b/n
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TLF.fd b/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TLF.fd
deleted file mode 100644
index 810df70c788..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TLF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{T1BaskervilleF-TLF.fd}
- [2016/11/15 (autoinst) Font definitions for T1/BaskervilleF-TLF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{BaskervilleF-TLF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-t1
-}{}
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{m}{scsl}{
- <-> ssub * BaskervilleF-TLF/m/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{scsl}{
- <-> ssub * BaskervilleF-TLF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{b}{sl}{
- <-> ssub * BaskervilleF-TLF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{n}{
- <-> ssub * BaskervilleF-TLF/b/n
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{scit}{
- <-> ssub * BaskervilleF-TLF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{sw}{
- <-> ssub * BaskervilleF-TLF/b/sw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{sl}{
- <-> ssub * BaskervilleF-TLF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{nw}{
- <-> ssub * BaskervilleF-TLF/b/nw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{scsl}{
- <-> ssub * BaskervilleF-TLF/b/scsl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{sc}{
- <-> ssub * BaskervilleF-TLF/b/sc
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TLF}{bx}{it}{
- <-> ssub * BaskervilleF-TLF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TOsF.fd b/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TOsF.fd
deleted file mode 100644
index c123ea1b048..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/T1BaskervilleF-TOsF.fd
+++ /dev/null
@@ -1,109 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{T1BaskervilleF-TOsF.fd}
- [2016/11/15 (autoinst) Font definitions for T1/BaskervilleF-TOsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{BaskervilleF-TOsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{scsl}{
- <-> ssub * BaskervilleF-TOsF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{b}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-t1
-}{}
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{sl}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-th-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{nw}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{sw}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-swash-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{scit}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{sc}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-sc-t1
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{m}{scsl}{
- <-> ssub * BaskervilleF-TOsF/m/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{nw}{
- <-> ssub * BaskervilleF-TOsF/b/nw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{n}{
- <-> ssub * BaskervilleF-TOsF/b/n
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{sw}{
- <-> ssub * BaskervilleF-TOsF/b/sw
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{scit}{
- <-> ssub * BaskervilleF-TOsF/b/scit
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/sl
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{it}{
- <-> ssub * BaskervilleF-TOsF/b/it
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{sc}{
- <-> ssub * BaskervilleF-TOsF/b/sc
-}{}
-
-\DeclareFontShape{T1}{BaskervilleF-TOsF}{bx}{scsl}{
- <-> ssub * BaskervilleF-TOsF/b/scsl
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-LF.fd b/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-LF.fd
deleted file mode 100644
index 180a8f96ab0..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-LF.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{TS1BaskervilleF-LF.fd}
- [2016/11/15 (autoinst) Font definitions for TS1/BaskervilleF-LF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{TS1}{BaskervilleF-LF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-lf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-lf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{m}{sl}{
- <-> ssub * BaskervilleF-LF/m/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-lf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-lf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{b}{sl}{
- <-> ssub * BaskervilleF-LF/b/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{bx}{n}{
- <-> ssub * BaskervilleF-LF/b/n
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{bx}{sl}{
- <-> ssub * BaskervilleF-LF/b/sl
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-LF}{bx}{it}{
- <-> ssub * BaskervilleF-LF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-OsF.fd b/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-OsF.fd
deleted file mode 100644
index f36c8f4817e..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-OsF.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{TS1BaskervilleF-OsF.fd}
- [2016/11/15 (autoinst) Font definitions for TS1/BaskervilleF-OsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{TS1}{BaskervilleF-OsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-osf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-osf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{m}{sl}{
- <-> ssub * BaskervilleF-OsF/m/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-osf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-osf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{b}{sl}{
- <-> ssub * BaskervilleF-OsF/b/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{bx}{sl}{
- <-> ssub * BaskervilleF-OsF/b/sl
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{bx}{n}{
- <-> ssub * BaskervilleF-OsF/b/n
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-OsF}{bx}{it}{
- <-> ssub * BaskervilleF-OsF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TLF.fd b/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TLF.fd
deleted file mode 100644
index df709d5a6cb..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TLF.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{TS1BaskervilleF-TLF.fd}
- [2016/11/15 (autoinst) Font definitions for TS1/BaskervilleF-TLF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{TS1}{BaskervilleF-TLF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{b}{sl}{
- <-> ssub * BaskervilleF-TLF/b/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tlf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{m}{sl}{
- <-> ssub * BaskervilleF-TLF/m/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{bx}{n}{
- <-> ssub * BaskervilleF-TLF/b/n
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{bx}{sl}{
- <-> ssub * BaskervilleF-TLF/b/sl
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TLF}{bx}{it}{
- <-> ssub * BaskervilleF-TLF/b/it
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TOsF.fd b/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TOsF.fd
deleted file mode 100644
index 06157ba2115..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/TS1BaskervilleF-TOsF.fd
+++ /dev/null
@@ -1,50 +0,0 @@
-%% Generated by autoinst on 2016/11/15
-%%
-\ProvidesFile{TS1BaskervilleF-TOsF.fd}
- [2016/11/15 (autoinst) Font definitions for TS1/BaskervilleF-TOsF.]
-
-\expandafter\ifx\csname BaskervilleF@scale\endcsname\relax
- \let\BaskervilleF@@scale\@empty
-\else
- \edef\BaskervilleF@@scale{s*[\csname BaskervilleF@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{TS1}{BaskervilleF-TOsF}{\providecommand{\BaskervilleF@spc}{}\BaskervilleF@spc}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{m}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-Italic-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{m}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Regular-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{m}{sl}{
- <-> ssub * BaskervilleF-TOsF/m/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{b}{it}{
- <-> \BaskervilleF@@scale BaskervilleF-BoldItalic-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{b}{n}{
- <-> \BaskervilleF@@scale BaskervilleF-Bold-tosf-ts1
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{b}{sl}{
- <-> ssub * BaskervilleF-TOsF/b/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{bx}{it}{
- <-> ssub * BaskervilleF-TOsF/b/it
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{bx}{n}{
- <-> ssub * BaskervilleF-TOsF/b/n
-}{}
-
-\DeclareFontShape{TS1}{BaskervilleF-TOsF}{bx}{sl}{
- <-> ssub * BaskervilleF-TOsF/b/sl
-}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/baskervillef.fontspec b/Master/texmf-dist/tex/latex/baskervillef/baskervillef.fontspec
deleted file mode 100644
index 458070550c8..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/baskervillef.fontspec
+++ /dev/null
@@ -1,8 +0,0 @@
-\defaultfontfeatures[baskervillef]
- {
- Extension = .otf ,
- UprightFont = BaskervilleF-Regular,
- BoldFont = BaskervilleF-Bold,
- ItalicFont = BaskervilleF-Italic,
- BoldItalicFont = BaskervilleF-BoldItalic
- }
diff --git a/Master/texmf-dist/tex/latex/baskervillef/baskervillef.sty b/Master/texmf-dist/tex/latex/baskervillef/baskervillef.sty
deleted file mode 100644
index f3123f3642c..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/baskervillef.sty
+++ /dev/null
@@ -1,193 +0,0 @@
-%%
-\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{1.043}
-\def\filedate{2017/03/10}
-\ProvidesPackage{baskervillef}
- [\filedate\space v\fileversion. Style file for BaskervilleF.]
-
-\RequirePackage[LY1,T1]{fontenc}
-\RequirePackage{textcomp}
-\IfFileExists{mweights.sty}{\RequirePackage{mweights}}{}
-\RequirePackage{etoolbox,xstring,ifthen}
-\IfFileExists{fontaxes.sty}{
- \RequirePackage{fontaxes}
- \DeclareRobustCommand\swshape{\not@math@alphabet\swshape\relax
- \fontprimaryshape\itdefault\fontsecondaryshape\swdefault\selectfont}
- \fa@naming@exception{shape}{{n}{sw}}{nw}
- \fa@naming@exception{shape}{{it}{sw}}{sw}
-
- \fa@naming@exception{figures}{{superior}{proportional}}{Sup}
- \fa@naming@exception{figures}{{superior}{tabular}}{Sup}
- \def\sufigures{\@nomath\sufigures
- \fontfigurestyle{superior}\selectfont}
- \DeclareTextFontCommand{\textsu}{\sufigures}
- \let\textsuperior\textsu
-
- \fa@naming@exception{figures}{{denominators}{proportional}}{Dnom}
- \fa@naming@exception{figures}{{denominators}{tabular}}{Dnom}
- \def\defigures{\@nomath\defigures
- \fontfigurestyle{denominators}\selectfont}
- \DeclareTextFontCommand{\textde}{\defigures}
- \let\textdenominators\textde
-}{}
-%\providecommand*{\textfrac}[2]{%
-% \textsu{#1}\kern0em\textfractionsolidus\kern0em\textde{#2}}
-
-%Variant of Todd Lehman's macro
-\newcommand{\textfrac}[3][]{% like \textfrac[1]{7}{8}
- \mbox{%
- \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
- {\textlf{#1}\kern.05em}{}%
- \textsu{#2}%
- \StrRight{#2}{1}[\@digit@]%
- % look for 1, 2, 3, 4, 7
- \ifcase\@digit@\or\kern.02em\or\kern.03em\or\kern.01em\or\kern.02em\or\or\or\kern-.09em\fi%
- \kern.03em\textfractionsolidus\kern.02em%
- \StrLeft{#3}{1}[\@digit@]%
- % look for 1, 4, 5, 7
- \ifcase\@digit@\or\kern.02em\or\or\or\kern-.06em\or\kern-.04em\or\or\kern.06em\fi%
- \textde{#3}% denominator [#3]
- }%
-}
-
-
-
-\IfFileExists{xkeyval.sty}{
- \newcommand*{\BaskervilleF@scale}{1}
- \RequirePackage{xkeyval}
- \DeclareOptionX{scale}{\renewcommand*{\BaskervilleF@scale}{##1}}
- \DeclareOptionX{scaled}{\renewcommand*{\BaskervilleF@scale}{##1}}
-}{
- \let\DeclareOptionX\DeclareOption
- \let\ExecuteOptionsX\ExecuteOptions
- \let\ProcessOptionsX\ProcessOptions
-}
-\let\orig@footnote=\thefootnote
-\let\orig@makefnmark=\@makefnmark
-\def\bfseries@rm{b}
-\def\mdseries@rm{m}
-
-\newif\ifBaskervilleF@thrm
-\newif\ifBaskervilleF@sups
-\newif\ifBaskervilleF@scosf
-\def\useosf{\edef\BaskervilleF@figurestyle{OsF}}
-\@onlypreamble\useosf
-\def\useproportional{\edef\BaskervilleF@figurealign{}}
-\@onlypreamble\useproportional
-%\newif\ifBaskervilleF@babel
-%\ifdefined\bbl@tempa \BaskervilleF@babeltrue\fi
-
-\def\BaskervilleF@sp{.26em}
-\def\BaskervilleF@stretch{.13em}
-\def\BaskervilleF@shrink{.08em}
-
-\DeclareOptionX{spacing}[.26em]{\gdef\BaskervilleF@sp{#1}}
-\DeclareOptionX{stretch}[.13em]{\gdef\BaskervilleF@stretch{#1}}
-\DeclareOptionX{shrink}[.08em]{\gdef\BaskervilleF@shrink{#1}}
-\DeclareOptionX{theoremfont}{\BaskervilleF@thrmtrue}
-\DeclareOptionX{lining}{\edef\BaskervilleF@figurestyle{LF}}
-\DeclareOptionX{lf}{\edef\BaskervilleF@figurestyle{LF}}
-\DeclareOptionX{oldstyle}{\edef\BaskervilleF@figurestyle{OsF}}
-\DeclareOptionX{osf}{\edef\BaskervilleF@figurestyle{OsF}}
-\DeclareOptionX{tabular}{\edef\BaskervilleF@figurealign{T}}
-\DeclareOptionX{t}{\edef\BaskervilleF@figurealign{T}}
-\DeclareOptionX{proportional}{\edef\BaskervilleF@figurealign{}}
-\DeclareOptionX{p}{\edef\BaskervilleF@figurealign{}}
-\DeclareOptionX{sups}{\BaskervilleF@supstrue}
-\DeclareOptionX{scosf}{\BaskervilleF@scosftrue}
-\ExecuteOptionsX{lining,tabular}
-\ProcessOptionsX\relax
-
-\def\BaskervilleF@spc{%
- \fontdimen2\font=\BaskervilleF@sp
- \fontdimen3\font=\BaskervilleF@stretch
- \fontdimen4\font=\BaskervilleF@shrink
-} % used to change default text spacing via fd files
-\ifBaskervilleF@thrm
- \ifdefined\newtheoremstyle
- \newtheoremstyle{plain}
- {\topsep} % ABOVESPACE
- {\topsep} % BELOWSPACE
- {\slshape} % BODYFONT--\slshape is defined to be \itshape with upright figures and punctuation
- {} % INDENT (empty value is the same as 0pt)
- {\bfseries} % HEADFONT--you may want to add \tlfstyle so the number is tab lining, regardless of text figure selection
- {.} % HEADPUNCT
- {5pt plus 1pt minus 1pt} % HEADSPACE
- {} % CUSTOM-HEAD-SPEC\newtheorem{thm}{Theorem}[section]
- \fi%
-\fi
-
-\DeclareRobustCommand{\lfstyle}{%
- \not@math@alphabet\lfstyle\relax
- \fontfamily{BaskervilleF-LF}\selectfont %
-}% to get lf
-\DeclareRobustCommand{\tlfstyle}{%
- \not@math@alphabet\tlfstyle\relax
- \fontfamily{BaskervilleF-TLF}\selectfont %
-}% to get tlf
-\DeclareRobustCommand{\osfstyle}{%
- \not@math@alphabet\osfstyle\relax
- \fontfamily{BaskervilleF-OsF}\selectfont %
-}% to get osf
-\DeclareRobustCommand{\tosfstyle}{%
- \not@math@alphabet\tosfstyle\relax
- \fontfamily{BaskervilleF-TOsF}\selectfont %
-}% to get tosf
-\DeclareRobustCommand{\textlf}[1]{%
- {\lfstyle #1}%
-}% to get lf
-\DeclareRobustCommand{\texttlf}[1]{%
- {\tlfstyle #1}%
-}% to get tlf
-\DeclareRobustCommand{\textosf}[1]{%
- {\osfstyle #1}%
-}% to get osf
-\DeclareRobustCommand{\texttosf}[1]{%
- {\tosfstyle #1}%
-}% to get tosf
-\ifBaskervilleF@scosf %
-\DeclareRobustCommand{\textsc}[1]{%
-{\fontfamily{BaskervilleF-\BaskervilleF@figurealign%
-OsF}\fontshape{n}\selectfont #1}%
-}\fi% use OsF in small caps
-
-\renewcommand*{\rmdefault}{BaskervilleF-TLF} % always TLF in math
-\renewcommand*{\familydefault}{\rmdefault}
-
-\let\textcircled\undefined
-\newcommand{\textcircled}[1]{\hmode@bgroup
- \ooalign{%
- \hfil \raise .38ex\hbox {\footnotesize\scshape \lowercase{#1}}\hfil \crcr
- {\fontencoding{TS1}\fontseries{m}\fontshape{n}\selectfont \char"4F}%\textbigcircle % bigcircle
- }%
- \egroup}
-
-\ifBaskervilleF@sups %
- \ifdefined\sufigures
- \def\f@@tn@te{footnote}
- \def\@makefnmark{%
- \ifx\@mpfn\f@@tn@te%
- \ifx\thefootnote\orig@footnote%
- \hbox{\sufigures\hspace*{.04em}\@thefnmark\hspace*{.04em}}%
- \else%
- \orig@makefnmark%
- \fi
- \else%
- \orig@makefnmark%
- \fi}%
- \fi%
-\fi
-
-%\ifBaskervilleF@babel
-% \renewcommand*{\rmdefault}{BaskervilleF-\BaskervilleF@figurealign%
-% \BaskervilleF@figurestyle}
-% \normalfont
-%\else
- \AtEndPreamble{%
- \renewcommand*{\rmdefault}{BaskervilleF-\BaskervilleF@figurealign%
- \BaskervilleF@figurestyle}
- \normalfont}
-%\fi
-\renewcommand*{\familydefault}{\rmdefault}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/baskervillef/omlzbami.fd b/Master/texmf-dist/tex/latex/baskervillef/omlzbami.fd
deleted file mode 100644
index 0ddbef5ac33..00000000000
--- a/Master/texmf-dist/tex/latex/baskervillef/omlzbami.fd
+++ /dev/null
@@ -1,28 +0,0 @@
-%Filename: omlzbami.fd
-%Created by: tex ba-drv
-%Created using fontinst v1.933
-
-%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
-
-\ProvidesFile{omlzbami.fd}
- [2016/11/11 Fontinst v1.933 font definitions for OML/zbami.]
-
-\expandafter\ifx\csname ntxmath@scaled\endcsname\relax
- \let\ntxmath@scaled\@empty%
-\fi
-\DeclareFontFamily{OML}{zbami}{\skewchar \font =127}
-\DeclareFontShape{OML}{zbami}{m}{it}{
- <-> \ntxmath@scaled zbami
-}{}
-
-\DeclareFontShape{OML}{zbami}{b}{it}{
- <-> \ntxmath@scaled zbabmi
-}{}
-
-\DeclareFontShape{OML}{zbami}{m}{sl}{<->ssub * zbami/m/it}{}
-\DeclareFontShape{OML}{zbami}{bx}{it}{<->ssub * zbami/b/it}{}
-\DeclareFontShape{OML}{zbami}{b}{sl}{<->ssub * zbami/b/it}{}
-\DeclareFontShape{OML}{zbami}{bx}{sl}{<->ssub * zbami/b/sl}{}
-
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamercolorthemeSimplePlus.sty b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamercolorthemeSimplePlus.sty
index 906498e4078..5ab1413ee0d 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamercolorthemeSimplePlus.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamercolorthemeSimplePlus.sty
@@ -1,33 +1,37 @@
-% !TEX TS-program = xelatex
-% !TEX encoding = UTF-8 Unicode
+%-------------------------------------------------------------
+% Package: beamertheme-SimplePlus
+% Author: Pin-Yen Huang (pyhuang97@gmail.com)
+% Version: 1.1, 2025-01-07
+% Link: https://github.com/pm25/SimplePlus-BeamerTheme
+% This is free and unencumbered software released into the
+% public domain; see <http://unlicense.org> for details.
+%-------------------------------------------------------------
-%----------------------------------------------------------------------------------------
-% Package: beamertheme-SimplePlus
-% Author: Pin-Yen Huang (pyhuang97@gmail.com)
-% Version: 1.0, 2021-12-16
-% Link: https://github.com/PM25/SimplePlus-BeamerTheme
-% This is free and unencumbered software released into the
-% public domain; see <http://unlicense.org> for details.
-%----------------------------------------------------------------------------------------
+%--------------------------------------
+% Color Settings
+%--------------------------------------
-% define color
-\definecolor{InvisibleRed}{rgb}{0.97, 0.92, 0.92}
-\definecolor{InvisibleGreen}{rgb}{0.92, 0.97, 0.92}
-\definecolor{InvisibleBlue}{rgb}{0.92, 0.92, 0.97}
+% define custom colors
+\definecolor{MutedRed}{rgb}{0.97, 0.92, 0.92}
+\definecolor{MutedGreen}{rgb}{0.92, 0.97, 0.92}
+\definecolor{MutedBlue}{rgb}{0.92, 0.92, 0.97}
+\definecolor{MutedBlack}{rgb}{0.95, 0.95, 0.95}
\definecolor{MediumRed}{rgb}{0.925, 0.345, 0.345}
\definecolor{MediumGreen}{rgb}{0.37, 0.7, 0.66}
\definecolor{MediumBlue}{rgb}{0.015, 0.315, 0.45}
+\definecolor{MediumBlack}{rgb}{0.219, 0.259, 0.349}
-\definecolor{DarkBlue}{rgb}{0.05, 0.15, 0.35}
+\definecolor{DarkBlue}{rgb}{0.05, 0.15, 0.35}
-% set color
+% set beamer color themes
\usecolortheme[named=DarkBlue]{structure}
+% customize colors for elements
\setbeamercolor{titlelike}{parent=structure}
-\setbeamercolor{block title}{bg=MediumBlue}
-\setbeamercolor{block body}{bg=InvisibleBlue}
-\setbeamercolor{block title example}{bg=MediumGreen}
-\setbeamercolor{block body example}{bg=InvisibleGreen}
-\setbeamercolor{block title alerted}{bg=MediumRed}
-\setbeamercolor{block body alerted}{bg=InvisibleRed} \ No newline at end of file
+\setbeamercolor{block title}{fg=white,bg=MediumBlue}
+\setbeamercolor{block body}{fg=black,bg=MutedBlue}
+\setbeamercolor{block title example}{fg=white,bg=MediumGreen}
+\setbeamercolor{block body example}{fg=black,bg=MutedGreen}
+\setbeamercolor{block title alerted}{fg=white,bg=MediumRed}
+\setbeamercolor{block body alerted}{fg=black,bg=MutedRed} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerfontthemeSimplePlus.sty b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerfontthemeSimplePlus.sty
index 9c57bc7cc32..840a09a6792 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerfontthemeSimplePlus.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerfontthemeSimplePlus.sty
@@ -1,38 +1,32 @@
-% !TEX TS-program = xelatex
-% !TEX encoding = UTF-8 Unicode
-
-%----------------------------------------------------------------------------------------
-% Package: beamertheme-SimplePlus
-% Author: Pin-Yen Huang (pyhuang97@gmail.com)
-% Version: 1.0, 2021-12-16
-% Link: https://github.com/PM25/SimplePlus-BeamerTheme
-% This is free and unencumbered software released into the
-% public domain; see <http://unlicense.org> for details.
-%----------------------------------------------------------------------------------------
-
-\mode<presentation>
-
-%%%%%%%%%%%% fonts
+%-------------------------------------------------------------
+% Package: beamertheme-SimplePlus
+% Author: Pin-Yen Huang (pyhuang97@gmail.com)
+% Version: 1.1, 2025-01-07
+% Link: https://github.com/pm25/SimplePlus-BeamerTheme
+% This is free and unencumbered software released into the
+% public domain; see <http://unlicense.org> for details.
+%-------------------------------------------------------------
+
+%--------------------------------------
+% Font Settings
+%--------------------------------------
\setbeamerfont{structure}{family=\sffamily,series=\mdseries}
-\setbeamerfont{title}{size=\huge,series=\bfseries,parent=structure}
+\setbeamerfont{title}{size=\LARGE,series=\bfseries,parent=structure}
\setbeamerfont{subtitle}{size=\normalsize,parent=title}
\setbeamerfont{date}{size=\scriptsize,series=\mdseries,parent=structure}
\setbeamerfont{author}{size=\large,series=\mdseries,parent=structure}
\setbeamerfont{institute}{size=\scriptsize,series=\mdseries,parent=structure}
-\setbeamerfont{section in toc}{size=\Large,series=\bfseries,parent=structure}
+\setbeamerfont{section in toc}{size=\large,series=\bfseries,parent=structure}
\setbeamerfont{section in head/foot}{size=\tiny,parent=structure}
\setbeamerfont{subsection in toc}{size=\small,series=\mdseries,parent={section in toc}}
-\setbeamerfont{frametitle}{size=\LARGE,series=\bfseries,parent=structure}
-\setbeamerfont{framesubtitle}{parent=frametitle,size=\Large}
+\setbeamerfont{frametitle}{size=\Large,series=\bfseries,parent=structure}
+\setbeamerfont{framesubtitle}{parent=frametitle,size=\large}
\setbeamerfont{caption}{size=\footnotesize}
\setbeamerfont{item}{parent=structure,series=\mdseries}
-\setbeamerfont{block title}{size=\large,series=\mdseries,parent={structure,block body}}
-
-\mode
-<all>
+\setbeamerfont{block title}{size=\large,series=\mdseries,parent={structure,block body}} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerinnerthemeSimplePlus.sty b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerinnerthemeSimplePlus.sty
index 43ab163d188..f6475f09489 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerinnerthemeSimplePlus.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerinnerthemeSimplePlus.sty
@@ -1,60 +1,78 @@
-% !TEX TS-program = xelatex
-% !TEX encoding = UTF-8 Unicode
-
-%----------------------------------------------------------------------------------------
-% Package: beamertheme-SimplePlus
-% Author: Pin-Yen Huang (pyhuang97@gmail.com)
-% Version: 1.0, 2021-12-16
-% Link: https://github.com/PM25/SimplePlus-BeamerTheme
-% This is free and unencumbered software released into the
-% public domain; see <http://unlicense.org> for details.
-%----------------------------------------------------------------------------------------
+%-------------------------------------------------------------
+% Package: beamertheme-SimplePlus
+% Author: Pin-Yen Huang (pyhuang97@gmail.com)
+% Version: 1.1, 2025-01-07
+% Link: https://github.com/pm25/SimplePlus-BeamerTheme
+% This is free and unencumbered software released into the
+% public domain; see <http://unlicense.org> for details.
+%-------------------------------------------------------------
-\pgfdeclareverticalshading[lower.bg,upper.bg]{bmb@transition}{200cm}{%
- color(0pt)=(lower.bg); color(2pt)=(lower.bg); color(4pt)=(lower.bg)}
+%--------------------------------------
+% Inner Theme Settings
+%--------------------------------------
-\setbeamersize{text margin left=2em,text margin right=2em}
+\pgfdeclareverticalshading[lower.bg,upper.bg]{bmb@transition}{200cm}{%
+color(0pt)=(lower.bg); color(2pt)=(lower.bg); color(4pt)=(lower.bg)}
-% table of contents (overview)
-\setbeamertemplate{section in toc}[sections numbered]
-\setbeamertemplate{subsection in toc}{\leavevmode\leftskip=3.2em\rlap{\hskip-2em\inserttocsectionnumber.\inserttocsubsectionnumber}\inserttocsubsection\par}
+\setbeamersize{text margin left=2em,text margin right=2em}
\setbeamertemplate{footline}[frame number]
\setbeamertemplate{navigation symbols}{}
+
\setbeamertemplate{blocks}[rounded][shadow=false]
+
\setbeamertemplate{enumerate items}[default]
+\setbeamertemplate{enumerate subitem}[default]
+\setbeamertemplate{itemize items}[circle]
+\setbeamertemplate{itemize subitem}[circle]
+
+% table of contents (overview) settings
+\setbeamertemplate{section in toc}[sections numbered]
+\setbeamertemplate{subsection in toc}{%
+ \leavevmode
+ \leftskip=3.2em
+ \rlap{\hskip-2em\inserttocsectionnumber.\inserttocsubsectionnumber}
+ \inserttocsubsection\par
+}
-\setbeamertemplate{frametitle}{\vspace*{0.5em}\bfseries\insertframetitle\par\vskip-6pt\hrulefill\vspace{-0.1em}}
+% frame title customization
+\setbeamertemplate{frametitle}{%
+ \vspace*{0.5em}
+ \bfseries\insertframetitle\par
+ \vskip-6pt
+ \hrulefill\vspace{-0.1em}
+}
-\setbeamertemplate{title page}{
- \vspace{7em}
+% title page customization
+\setbeamertemplate{title page}{%
+ \vspace{6em}
\begingroup
- \centering
- % ------------------------
- \begin{beamercolorbox}[sep=8pt,center]{title}
+ \centering
+ % ------------------------
+ \begin{beamercolorbox}[sep=10pt,center]{title}
\usebeamerfont{title}\inserttitle\par%
\ifx\insertsubtitle\@empty%
\else%
- \vskip0.25em%
- {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
- \fi%
- \end{beamercolorbox}%
- \vskip0.5em\par
- % ------------------------
- \begin{beamercolorbox}[sep=8pt,center]{author}
+ \vskip0.25em%
+ {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
+ \fi%
+ \end{beamercolorbox}%
+ \vskip0.5em\par
+ % ------------------------
+ \begin{beamercolorbox}[sep=8pt,center]{author}
\usebeamerfont{author}\insertauthor
- \end{beamercolorbox}
- \vskip-1em
- % ------------------------
- \begin{beamercolorbox}[sep=8pt,center]{institute}
+ \end{beamercolorbox}
+ \vskip-1em
+ % ------------------------
+ \begin{beamercolorbox}[sep=8pt,center]{institute}
\usebeamerfont{institute}\insertinstitute
- \end{beamercolorbox}
- % ------------------------
- \begin{beamercolorbox}[sep=8pt,center]{date}
+ \end{beamercolorbox}
+ % ------------------------
+ \begin{beamercolorbox}[sep=8pt,center]{date}
\usebeamerfont{date}\insertdate
- \end{beamercolorbox}\vskip0.5em
- % ------------------------
- {\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
+ \end{beamercolorbox}\vskip0.5em
+ % ------------------------
+ {\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
\endgroup
\vfill
} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerthemeSimplePlus.sty b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerthemeSimplePlus.sty
index 5ff53a743ed..01c94d97aac 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerthemeSimplePlus.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-simpleplus/beamerthemeSimplePlus.sty
@@ -1,21 +1,18 @@
-% !TEX TS-program = xelatex
-% !TEX encoding = UTF-8 Unicode
+%-------------------------------------------------------------
+% Package: beamertheme-SimplePlus
+% Author: Pin-Yen Huang (pyhuang97@gmail.com)
+% Version: 1.1, 2025-01-07
+% Link: https://github.com/pm25/SimplePlus-BeamerTheme
+% This is free and unencumbered software released into the
+% public domain; see <http://unlicense.org> for details.
+%-------------------------------------------------------------
-%----------------------------------------------------------------------------------------
-% Package: beamertheme-SimplePlus
-% Author: Pin-Yen Huang (pyhuang97@gmail.com)
-% Version: 1.0, 2021-12-16
-% Link: https://github.com/PM25/SimplePlus-BeamerTheme
-% This is free and unencumbered software released into the
-% public domain; see <http://unlicense.org> for details.
-%----------------------------------------------------------------------------------------
+%--------------------------------------
+% Beamer Settings
+%--------------------------------------
\mode<presentation>
-% Settings
-\usetheme{Madrid}
-\useinnertheme{circles}
-
\usefonttheme{SimplePlus}
\usecolortheme{SimplePlus}
\useinnertheme{SimplePlus}
diff --git a/Master/texmf-dist/tex/latex/biblatex-software/software.bbx b/Master/texmf-dist/tex/latex/biblatex-software/software.bbx
index ad9edc60537..ec7570489bd 100644
--- a/Master/texmf-dist/tex/latex/biblatex-software/software.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-software/software.bbx
@@ -154,7 +154,7 @@
\DeclareFieldFormat{eprint:swmath}{%
\mkbibacro{SWMATH}\addcolon\addspace%
\ifhyperref
- {\href{https://www.swmath.org/software/#1}{%
+ {\href{https://www.zbmath.org/software/#1}{%
\(\langle\)swmath\addcolon\nolinkurl{#1}\(\rangle\)%
\iffieldundef{eprintclass}
{}
diff --git a/Master/texmf-dist/tex/latex/coloredtheorem/coloredtheorem.sty b/Master/texmf-dist/tex/latex/coloredtheorem/coloredtheorem.sty
index 4d24f770564..20f23cc5900 100644
--- a/Master/texmf-dist/tex/latex/coloredtheorem/coloredtheorem.sty
+++ b/Master/texmf-dist/tex/latex/coloredtheorem/coloredtheorem.sty
@@ -12,29 +12,39 @@
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2006/05/20 or later.
%%
-\NeedsTeXFormat{LaTeX2e}[2020/06/01]
-\ProvidesPackage{coloredtheorem}
- [2024/09/15 v1.0.4 - A colorful boxed theorem environment]
+\def\cthfileversion{1.1.0}
+\def\cthfiledate {2025/01/03}
+\edef\cthfilename {\@currname}
-\RequirePackage{tcolorbox}
+\ProvidesPackage{coloredtheorem}[%
+ \cthfiledate\ v\cthfileversion (João M. Lourenço) - A colorful boxed theorem environment.]
+
+\RequirePackage[most]{tcolorbox}
\tcbuselibrary{breakable}
\gdef\tcbth{cth}
-\expandafter\NewDocumentCommand\csname\tcbth newtheorem\endcsname { m m O{} }{%
+\NewDocumentCommand{\TcbthNewDocumentCommand}{m}{%
+ \expandafter\NewDocumentCommand\csname\tcbth#1\endcsname}
+\NewDocumentCommand{\TcbthNewDocumentEnvironment}{m}{%
+ \expandafter\NewDocumentEnvironment\expandafter{\tcbth#1}}
+\NewDocumentCommand{\TcbthGdef}{O{\tcbth}mm}{%
+ \expandafter\gdef\csname#1#2\endcsname{#3}}
+
+\TcbthNewDocumentCommand{newtheorem} { m m O{} }{%
\expandafter\newcounter\expandafter{\tcbth#1}%
- \expandafter\gdef\csname\tcbth#1name\endcsname{#2}%
- \expandafter\gdef\csname\tcbth list#1name\endcsname{List of #2s}%
- \expandafter\gdef\csname#1autorefname\endcsname{#2}%
+ \TcbthGdef{#1name}{#2}%
+ \TcbthGdef{list#1name}{List of #2s}%
+ \TcbthGdef[]{#1autorefname}{#2}%
\AtEndPreamble{%
\ifdefined\crefname\expandafter\crefname\expandafter{\tcbth#1}{#2}{#2s}\fi}%
- \expandafter\gdef\csname\tcbth listof#1s\endcsname
+ \TcbthGdef{listof#1s}
{%
\ifdefined\chapter\chapter*{\csname\tcbth list#1name\endcsname}%
\else\section*{\csname\tcbth list#1name\endcsname}\fi%
\expandafter\@starttoc\expandafter{lo#1}%
}
- \expandafter\NewDocumentEnvironment\expandafter{\tcbth#1} {O{} m O{}}%
+ \TcbthNewDocumentEnvironment{#1} {O{} m O{}}%
{% \begin{tcb<SOMETHING>}
\begin{center}%
\ifx\relax##2\relax
@@ -48,14 +58,28 @@
{\protect\numberline{\csname the\tcbth#1\endcsname}##1}%
\fi
\fi
- \begin{tcolorbox}[breakable,
+ \begin{tcolorbox}[breakable,lowerbox=ignored,left=0mm,right=0mm,top=0mm,bottom=0mm,
title={\textbf{\csname\tcbth#1name\endcsname
\ifx\relax##2\relax\else
~\csname the\tcbth#1\endcsname\fi}~~##2},
#3, ##3,
]%
- \let\origpar=\par%
- \def\par{\origpar\medskip}%
+ % \let\origpar=\par%
+ % \def\par{\origpar\medskip}%
+ \ignorespaces%
+ }{% \end{tcb<SOMETHING>}
+ \end{tcolorbox}%
+ \end{center}%
+ }%
+ \TcbthNewDocumentEnvironment{#1*} {O{} m O{}}%
+ {% \begin{tcb<SOMETHING>}
+ \begin{center}%
+ \begin{tcolorbox}[breakable,lowerbox=ignored,left=0mm,right=0mm,top=0mm,bottom=0mm,
+ title={\textbf{\csname\tcbth#1name\endcsname}~~##2},
+ #3, ##3,
+ ]%
+ % \let\origpar=\par%
+ % \def\par{\origpar\medskip}%
\ignorespaces%
}{% \end{tcb<SOMETHING>}
\end{tcolorbox}%
diff --git a/Master/texmf-dist/tex/latex/delimset/delimset.sty b/Master/texmf-dist/tex/latex/delimset/delimset.sty
index 28ba8ba53e3..d5650adc0d6 100644
--- a/Master/texmf-dist/tex/latex/delimset/delimset.sty
+++ b/Master/texmf-dist/tex/latex/delimset/delimset.sty
@@ -6,18 +6,18 @@
%%
%% delimset.dtx (with options: `package')
%%
-%% Copyright (C) 2016-2024 Niklas Beisert
+%% Copyright (C) 2016-2025 Niklas Beisert
%%
%% 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
+%% 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.
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesPackage{delimset}[2024/07/17 v2.0 convenient size control for delimiter sets]
+\ProvidesPackage{delimset}[2025/01/05 v2.1 convenient size control for delimiter sets]
\RequirePackage{amsmath}
\RequirePackage{keyval}
@@ -126,14 +126,23 @@
\newcommand{\dlm@var@pl}[1]{\dlm@var@l.\mathopen{#1}}
\newcommand{\dlm@var@pr}[1]{\mathclose{#1}\dlm@var@r.}
+\newcount\dlm@reg@lvl
+\dlm@reg@lvl\z@
+\def\dlm@reg@dot{.}
+\newcommand{\dlm@reg@set}[1]{\edef\dlm@reg@cur{#1}\ifx\dlm@reg@cur\dlm@reg@dot%
+ \edef\dlm@reg@cur{\dlm@reg@dot\the\dlm@reg@lvl}\fi}
+\newcommand{\dlm@reg@step}[1]{\global\advance\dlm@reg@lvl#1%
+ \ifnum\dlm@reg@lvl<\z@\PackageError{delimset}{register stack exhausted}{}%
+ \dlm@reg@lvl\z@\fi}
\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{\dlm@reg@save}[2]{\dlm@reg@set{#1}%
+ \expandafter\dlm@reg@save@init\csname dlm@reg@init@\dlm@reg@cur\endcsname%
+ \expandafter\gdef\csname dlm@reg@sel@\dlm@reg@cur\endcsname{#2}}
+\newcommand{\dlm@reg@init}[1]{\dlm@reg@set{#1}%
+ \csname dlm@reg@init@\dlm@reg@cur\endcsname}
+\newcommand{\dlm@reg@sel}{\csname dlm@reg@sel@\dlm@reg@cur\endcsname}
\newcommand{\parsedelimflags}{\dlm@setsize{0.6}\let\dlm@phantom\@firstofone%
\dlm@enclose@openclose\dlm@enclose@inline\dlm@parseflags}
@@ -165,11 +174,13 @@
\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{[}{}{\dlm@reg@step\@ne\dlm@reg@save\dlm@reg@dot{#2}%
+ \def\selecteddelim{0}#2}
+\dlm@parsedef{]}{}{\dlm@reg@init\dlm@reg@dot\dlm@reg@step\m@ne%
+ \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}}}
+ {\PackageError{delimset}{must select delimiter}{}}{\dlm@reg@sel}}
\dlm@parsedef{.}{}{#1}
\dlm@parsedef{:}{}{\dlm@enclose@block\dlm@parseflags{#1}{#2}}
@@ -218,8 +229,14 @@
\newcommand{\dlm@sel@delimtriple}[4]{\ifcase\selecteddelim\selectdeliml#1%
\or\selectdelim#2\or\selectdelim#3\else\selectdelimr#4\fi}
-\newcommand{\usedelim}{\@ifnextchar]{\parsedelimflags{}{}}{\parsedelimflags%
- {\PackageError{delimset}{must select delimiter}{}}{}<}}
+\newcommand{\usedelim}{%
+ \@ifnextchar]{\parsedelimflags{}{}}{%
+ \@ifnextchar({\parsedelimflags{}{}<.}{%
+ \@ifnextchar|{\parsedelimflags{}{}<.}{%
+ \@ifnextchar,{\parsedelimflags{}{}<.}{%
+ \@ifnextchar){\parsedelimflags{}{}<.}{%
+ \@ifnextchar?{\parsedelimflags{}{}<.}{%
+ \parsedelimflags{}{}<}}}}}}}
\ifdlm@std
\providecommand{\brk}[1][r]{\begingroup\def\dlm@use{\delim()}%
diff --git a/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty b/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty
index 9f4cf8e57b1..8cd63b9d55c 100644
--- a/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty
+++ b/Master/texmf-dist/tex/latex/fancyhdr/extramarks.sty
@@ -21,14 +21,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{extramarks}
- [2025/01/01 v5.0
+ [2025/01/06 v5.1
Extra marks for LaTeX]
% Copyright (C) 1994-2025 by Pieter van Oostrum <pieter@vanoostrum.org>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand\DeclareRelease[3]{}
\providecommand\DeclareCurrentRelease[2]{}
\DeclareRelease{v4}{2024/11/30}{extramarks-v4.sty}
-\DeclareCurrentRelease{}{2025/01/01}
+\DeclareCurrentRelease{}{2025/01/06}
\@ifundefined{NewMarkClass}
{\PackageWarningNoLine{extramarks}{%
**************************************************\MessageBreak
@@ -40,7 +40,7 @@ You are advised to update your LaTeX installation.\MessageBreak
**************************************************}
\RequirePackage{extramarks-v4}\endinput}{}
\AtBeginDocument{%
- \@ifpackageloaded{multicol}%
+ \IfPackageLoadedT{multicol}%
{\IfPackageAtLeastF{multicol}{2024-11-21}{%
\PackageWarningNoLine{extramarks}{%
You are using package `extramarks' with a version\MessageBreak
diff --git a/Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty b/Master/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
index 4a8932b6db3..5371c91febb 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}%
- [2025/01/01 v5.0
+ [2025/01/06 v5.1
Extensive control of page headers and footers]%
% Copyright (C) 1994-2025 by Pieter van Oostrum <pieter@vanoostrum.org>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -269,26 +269,55 @@
\ExplSyntaxOn
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2021-06-01}{
- \cs_new:Npn \f@nch@clear@par@hook:n #1{
- \tl_clear:c {__hook~#1}
+ \def\f@nch@saveclr@parhook #1{
+ \expandafter\let\csname f@nch@__hook~#1\expandafter\endcsname
+ \csname __hook~#1\endcsname
+ \tl_gclear:c {__hook~#1}
+ \expandafter\let\csname f@nch@__hook_toplevel~#1\expandafter\endcsname
+ \csname __hook_toplevel~#1\endcsname
+ \tl_gclear:c {__hook_toplevel~#1}
+ \expandafter\let\csname f@nch@__hook_next~#1\expandafter\endcsname
+ \csname __hook_next~#1\endcsname
+ \tl_gclear:c {__hook_next~#1}
+ \expandafter\let\csname f@nch@g__hook_#1_code_prop\expandafter\endcsname
+ \csname g__hook_#1_code_prop\endcsname
+ \prop_gclear_new:c {g__hook_#1_code_prop}
}
- \newcommand\f@nch@resetpar{
+ \def\f@nch@restore@parhook #1{
+ \global\expandafter\let\csname __hook~#1\expandafter\endcsname
+ \csname f@nch@__hook~#1\endcsname
+ \global\expandafter\let\csname __hook_toplevel~#1\expandafter\endcsname
+ \csname f@nch@__hook_toplevel~#1\endcsname
+ \global\expandafter\let\csname __hook_next~#1\expandafter\endcsname
+ \csname f@nch@__hook_next~#1\endcsname
+ \global\expandafter\let\csname g__hook_#1_code_prop\expandafter\endcsname
+ \csname f@nch@g__hook_#1_code_prop\endcsname
+ }
+ \def\f@nch@resetpar{
\f@nch@everypar{}
- \f@nch@clear@par@hook:n{para/before}
- \f@nch@clear@par@hook:n{para/begin}
- \f@nch@clear@par@hook:n{para/end}
- \f@nch@clear@par@hook:n{para/after}
+ \f@nch@saveclr@parhook{para/before}
+ \f@nch@saveclr@parhook{para/begin}
+ \f@nch@saveclr@parhook{para/end}
+ \f@nch@saveclr@parhook{para/after}
+ }
+ \def\f@nch@restorepar{
+ \f@nch@restore@parhook{para/before}
+ \f@nch@restore@parhook{para/begin}
+ \f@nch@restore@parhook{para/end}
+ \f@nch@restore@parhook{para/after}
}
}{
- \newcommand\f@nch@resetpar{
- \f@nch@everypar{}
+ \def\f@nch@resetpar{
+ \f@nch@everypar{}
+ }
+ \def\f@nch@restorepar{}
}
-}
\ExplSyntaxOff
\else
- \newcommand\f@nch@resetpar{%
+ \def\f@nch@resetpar{%
\f@nch@everypar{}%
}
+ \def\f@nch@restorepar{}
\fi
\newcommand\f@nch@noUppercase[2][]{#2}
\def\f@nch@reset{\f@nch@resetpar\restorecr\endlinechar=13
@@ -427,6 +456,7 @@
}%
#5%
\ifdefined\UseHook\UseHook{fancyhdr/head/end}\UseHook{fancyhdr/after}\fi
+ \f@nch@restorepar
}
\newcommand\f@nch@foot[8]{%
\f@nch@reset
@@ -443,6 +473,7 @@
}%
#5%
\ifdefined\UseHook\UseHook{fancyhdr/foot/end}\UseHook{fancyhdr/after}\fi
+ \f@nch@restorepar
}
\newlength\f@nch@widthL
\newlength\f@nch@widthC
diff --git a/Master/texmf-dist/tex/latex/ffcode/ffcode.sty b/Master/texmf-dist/tex/latex/ffcode/ffcode.sty
index 53a051d7f7c..0e6c0d1e816 100644
--- a/Master/texmf-dist/tex/latex/ffcode/ffcode.sty
+++ b/Master/texmf-dist/tex/latex/ffcode/ffcode.sty
@@ -31,7 +31,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ffcode}
-[2025/01/02 0.10.0 Fixed Font Code]
+[2025/01/05 0.10.1 Fixed Font Code]
@@ -94,16 +94,16 @@
\makeatletter
\lstnewenvironment{ffcode}[1][]
- {\ff@set{#1}\ifdefined\ff@samepage\begin{minipage}{\linewidth}\fi}
- {\ifdefined\ff@samepage\end{minipage}\fi}
+ {\ff@set{#1}\ifdefined\ff@samepage\noindent\minipage{\linewidth}\fi}
+ {\ifdefined\ff@samepage\endminipage\fi}
\makeatother
\makeatletter
\newcommand\ffinput[2][]{%
\ff@set{#1}%
- \ifdefined\ff@samepage\begin{minipage}{\linewidth}\fi%
+ \ifdefined\ff@samepage\noindent\minipage{\linewidth}\fi%
\lstinputlisting[#1]{#2}%
- \ifdefined\ff@samepage\end{minipage}\fi%
+ \ifdefined\ff@samepage\endminipage\fi%
}
\makeatother
diff --git a/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd b/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd
index da0a9da6553..2eace69615a 100644
--- a/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd
+++ b/Master/texmf-dist/tex/latex/gelasiomath/t1mingelasio.fd
@@ -47,5 +47,4 @@
\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
deleted file mode 100644
index 212e5b2386e..00000000000
--- a/Master/texmf-dist/tex/latex/gelasiomath/untxmia.fd
+++ /dev/null
@@ -1,139 +0,0 @@
-%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/gentium-tug/gentium.sty b/Master/texmf-dist/tex/latex/gentium-tug/gentium.sty
deleted file mode 100644
index 149866f8d8a..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/gentium.sty
+++ /dev/null
@@ -1,16 +0,0 @@
-% This file is part of the Gentium package for TeX.
-% It is licensed under the Expat License, see doc//README for details.
-%
-\ProvidesPackage{gentium} [2022/05/09 Style file for gentium.]
-%
-% Options:
-% [scaled=0.9] --> Scale = 0.9
-%
-\RequirePackage{xkeyval}
-\newcommand*{\gentium@scale}{1}
-\DeclareOptionX{scaled}{\renewcommand*{\gentium@scale}{#1}}
-\ProcessOptionsX\relax
-
-\renewcommand{\rmdefault}{gentium}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/gentiumbook.sty b/Master/texmf-dist/tex/latex/gentium-tug/gentiumbook.sty
deleted file mode 100644
index b6e126313eb..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/gentiumbook.sty
+++ /dev/null
@@ -1,16 +0,0 @@
-% This file is part of the Gentium package for TeX.
-% It is licensed under the Expat License, see doc//README for details.
-%
-\ProvidesPackage{gentiumbook} [2022/05/09 Style file for gentiumbook.]
-%
-% Options:
-% [scaled=0.9] --> Scale = 0.9
-%
-\RequirePackage{xkeyval}
-\newcommand*{\gentiumbook@scale}{1}
-\DeclareOptionX{scaled}{\renewcommand*{\gentiumbook@scale}{#1}}
-\ProcessOptionsX\relax
-
-\renewcommand{\rmdefault}{gentiumbook}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/l7xgentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/l7xgentium.fd
deleted file mode 100644
index 41c59d1ea59..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/l7xgentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{l7xgentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{L7x}{gentium}{}
-
-\DeclareFontShape{L7x}{gentium}{m}{n}{
- <-> \gentium@@scale l7x-gentiumplus-regular
-}{}
-
-\DeclareFontShape{L7x}{gentium}{m}{it}{
- <-> \gentium@@scale l7x-gentiumplus-italic
-}{}
-
-\DeclareFontShape{L7x}{gentium}{b}{n}{
- <-> \gentium@@scale l7x-gentiumplus-bold
-}{}
-
-\DeclareFontShape{L7x}{gentium}{b}{it}{
- <-> \gentium@@scale l7x-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{L7x}{gentium}{sb}{n}{
- <-> \gentium@@scale l7x-gentiumbook-regular
-}{}
-
-\DeclareFontShape{L7x}{gentium}{sb}{it}{
- <-> \gentium@@scale l7x-gentiumbook-italic
-}{}
-
-\DeclareFontShape{L7x}{gentium}{eb}{n}{
- <-> \gentium@@scale l7x-gentiumbook-bold
-}{}
-
-\DeclareFontShape{L7x}{gentium}{eb}{it}{
- <-> \gentium@@scale l7x-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{L7x}{gentium}{m}{sc}{
- <-> \gentium@@scale l7x-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{m}{scit}{
- <-> \gentium@@scale l7x-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{b}{sc}{
- <-> \gentium@@scale l7x-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{b}{scit}{
- <-> \gentium@@scale l7x-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{sb}{sc}{
- <-> \gentium@@scale l7x-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{sb}{scit}{
- <-> \gentium@@scale l7x-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{eb}{sc}{
- <-> \gentium@@scale l7x-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{eb}{scit}{
- <-> \gentium@@scale l7x-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{L7x}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{L7x}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{L7x}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{L7x}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{L7x}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{L7x}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{L7x}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{L7x}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{L7x}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{L7x}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{L7x}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{L7x}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/l7xgentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/l7xgentiumbook.fd
deleted file mode 100644
index 351972c61af..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/l7xgentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{l7xgentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{L7x}{gentiumbook}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale l7x-gentiumbook-regular
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale l7x-gentiumbook-italic
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale l7x-gentiumbook-bold
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale l7x-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale l7x-gentiumplus-regular
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale l7x-gentiumplus-italic
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale l7x-gentiumplus-bold
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale l7x-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale l7x-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale l7x-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale l7x-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale l7x-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale l7x-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale l7x-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale l7x-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale l7x-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{L7x}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{L7x}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{L7x}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/lgrgentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/lgrgentium.fd
deleted file mode 100644
index fd2caeae60f..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/lgrgentium.fd
+++ /dev/null
@@ -1,58 +0,0 @@
-\ProvidesFile{lgrgentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LGR}{gentium}{}
-
-\DeclareFontShape{LGR}{gentium}{m}{n}{
- <-> \gentium@@scale lgr-gentiumplus-regular
-}{}
-
-\DeclareFontShape{LGR}{gentium}{m}{it}{
- <-> \gentium@@scale lgr-gentiumplus-italic
-}{}
-
-\DeclareFontShape{LGR}{gentium}{b}{n}{
- <-> \gentium@@scale lgr-gentiumplus-bold
-}{}
-
-\DeclareFontShape{LGR}{gentium}{b}{it}{
- <-> \gentium@@scale lgr-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{LGR}{gentium}{sb}{n}{
- <-> \gentium@@scale lgr-gentiumbook-regular
-}{}
-
-\DeclareFontShape{LGR}{gentium}{sb}{it}{
- <-> \gentium@@scale lgr-gentiumbook-italic
-}{}
-
-\DeclareFontShape{LGR}{gentium}{eb}{n}{
- <-> \gentium@@scale lgr-gentiumbook-bold
-}{}
-
-\DeclareFontShape{LGR}{gentium}{eb}{it}{
- <-> \gentium@@scale lgr-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{LGR}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{LGR}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{LGR}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{LGR}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{LGR}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{LGR}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{LGR}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{LGR}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{LGR}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{LGR}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{LGR}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{LGR}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{LGR}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/lgrgentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/lgrgentiumbook.fd
deleted file mode 100644
index 9f40176617e..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/lgrgentiumbook.fd
+++ /dev/null
@@ -1,55 +0,0 @@
-\ProvidesFile{lgrgentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LGR}{gentiumbook}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale lgr-gentiumbook-regular
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale lgr-gentiumbook-italic
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale lgr-gentiumbook-bold
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale lgr-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale lgr-gentiumplus-regular
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale lgr-gentiumplus-italic
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale lgr-gentiumplus-bold
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale lgr-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{LGR}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{LGR}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{LGR}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/ly1gentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/ly1gentium.fd
deleted file mode 100644
index 5eb60baf4c5..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/ly1gentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{ly1gentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{gentium}{}
-
-\DeclareFontShape{LY1}{gentium}{m}{n}{
- <-> \gentium@@scale texnansi-gentiumplus-regular
-}{}
-
-\DeclareFontShape{LY1}{gentium}{m}{it}{
- <-> \gentium@@scale texnansi-gentiumplus-italic
-}{}
-
-\DeclareFontShape{LY1}{gentium}{b}{n}{
- <-> \gentium@@scale texnansi-gentiumplus-bold
-}{}
-
-\DeclareFontShape{LY1}{gentium}{b}{it}{
- <-> \gentium@@scale texnansi-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{LY1}{gentium}{sb}{n}{
- <-> \gentium@@scale texnansi-gentiumbook-regular
-}{}
-
-\DeclareFontShape{LY1}{gentium}{sb}{it}{
- <-> \gentium@@scale texnansi-gentiumbook-italic
-}{}
-
-\DeclareFontShape{LY1}{gentium}{eb}{n}{
- <-> \gentium@@scale texnansi-gentiumbook-bold
-}{}
-
-\DeclareFontShape{LY1}{gentium}{eb}{it}{
- <-> \gentium@@scale texnansi-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{LY1}{gentium}{m}{sc}{
- <-> \gentium@@scale texnansi-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{m}{scit}{
- <-> \gentium@@scale texnansi-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{b}{sc}{
- <-> \gentium@@scale texnansi-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{b}{scit}{
- <-> \gentium@@scale texnansi-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{sb}{sc}{
- <-> \gentium@@scale texnansi-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{sb}{scit}{
- <-> \gentium@@scale texnansi-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{eb}{sc}{
- <-> \gentium@@scale texnansi-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{eb}{scit}{
- <-> \gentium@@scale texnansi-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{LY1}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{LY1}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{LY1}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{LY1}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{LY1}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{LY1}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{LY1}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{LY1}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{LY1}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{LY1}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{LY1}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{LY1}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/ly1gentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/ly1gentiumbook.fd
deleted file mode 100644
index 7d5a9926a44..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/ly1gentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{ly1gentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{LY1}{gentiumbook}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-regular
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-italic
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-bold
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-regular
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-italic
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-bold
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale texnansi-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale texnansi-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{LY1}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{LY1}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{LY1}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/ot1gentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/ot1gentium.fd
deleted file mode 100644
index cfc420bfe8c..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/ot1gentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{ot1gentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{gentium}{}
-
-\DeclareFontShape{OT1}{gentium}{m}{n}{
- <-> \gentium@@scale ot1-gentiumplus-regular
-}{}
-
-\DeclareFontShape{OT1}{gentium}{m}{it}{
- <-> \gentium@@scale ot1-gentiumplus-italic
-}{}
-
-\DeclareFontShape{OT1}{gentium}{b}{n}{
- <-> \gentium@@scale ot1-gentiumplus-bold
-}{}
-
-\DeclareFontShape{OT1}{gentium}{b}{it}{
- <-> \gentium@@scale ot1-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{OT1}{gentium}{sb}{n}{
- <-> \gentium@@scale ot1-gentiumbook-regular
-}{}
-
-\DeclareFontShape{OT1}{gentium}{sb}{it}{
- <-> \gentium@@scale ot1-gentiumbook-italic
-}{}
-
-\DeclareFontShape{OT1}{gentium}{eb}{n}{
- <-> \gentium@@scale ot1-gentiumbook-bold
-}{}
-
-\DeclareFontShape{OT1}{gentium}{eb}{it}{
- <-> \gentium@@scale ot1-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{OT1}{gentium}{m}{sc}{
- <-> \gentium@@scale ot1-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{m}{scit}{
- <-> \gentium@@scale ot1-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{b}{sc}{
- <-> \gentium@@scale ot1-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{b}{scit}{
- <-> \gentium@@scale ot1-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{sb}{sc}{
- <-> \gentium@@scale ot1-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{sb}{scit}{
- <-> \gentium@@scale ot1-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{eb}{sc}{
- <-> \gentium@@scale ot1-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{eb}{scit}{
- <-> \gentium@@scale ot1-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{OT1}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{OT1}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{OT1}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{OT1}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{OT1}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{OT1}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{OT1}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{OT1}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{OT1}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{OT1}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{OT1}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{OT1}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/ot1gentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/ot1gentiumbook.fd
deleted file mode 100644
index 9816eb345a2..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/ot1gentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{ot1gentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{OT1}{gentiumbook}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale ot1-gentiumbook-regular
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale ot1-gentiumbook-italic
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale ot1-gentiumbook-bold
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale ot1-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale ot1-gentiumplus-regular
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale ot1-gentiumplus-italic
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale ot1-gentiumplus-bold
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale ot1-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale ot1-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale ot1-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale ot1-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale ot1-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale ot1-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale ot1-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale ot1-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale ot1-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{OT1}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{OT1}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{OT1}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/qxgentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/qxgentium.fd
deleted file mode 100644
index 0ab6644e08a..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/qxgentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{qxgentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{QX}{gentium}{}
-
-\DeclareFontShape{QX}{gentium}{m}{n}{
- <-> \gentium@@scale qx-gentiumplus-regular
-}{}
-
-\DeclareFontShape{QX}{gentium}{m}{it}{
- <-> \gentium@@scale qx-gentiumplus-italic
-}{}
-
-\DeclareFontShape{QX}{gentium}{b}{n}{
- <-> \gentium@@scale qx-gentiumplus-bold
-}{}
-
-\DeclareFontShape{QX}{gentium}{b}{it}{
- <-> \gentium@@scale qx-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{QX}{gentium}{sb}{n}{
- <-> \gentium@@scale qx-gentiumbook-regular
-}{}
-
-\DeclareFontShape{QX}{gentium}{sb}{it}{
- <-> \gentium@@scale qx-gentiumbook-italic
-}{}
-
-\DeclareFontShape{QX}{gentium}{eb}{n}{
- <-> \gentium@@scale qx-gentiumbook-bold
-}{}
-
-\DeclareFontShape{QX}{gentium}{eb}{it}{
- <-> \gentium@@scale qx-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{QX}{gentium}{m}{sc}{
- <-> \gentium@@scale qx-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{m}{scit}{
- <-> \gentium@@scale qx-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{b}{sc}{
- <-> \gentium@@scale qx-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{b}{scit}{
- <-> \gentium@@scale qx-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{sb}{sc}{
- <-> \gentium@@scale qx-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{sb}{scit}{
- <-> \gentium@@scale qx-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{eb}{sc}{
- <-> \gentium@@scale qx-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{eb}{scit}{
- <-> \gentium@@scale qx-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{QX}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{QX}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{QX}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{QX}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{QX}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{QX}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{QX}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{QX}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{QX}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{QX}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{QX}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{QX}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{QX}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/qxgentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/qxgentiumbook.fd
deleted file mode 100644
index 613f7897974..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/qxgentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{qxgentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{QX}{gentiumbook}{}
-
-\DeclareFontShape{QX}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale qx-gentiumbook-regular
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale qx-gentiumbook-italic
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale qx-gentiumbook-bold
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale qx-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale qx-gentiumplus-regular
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale qx-gentiumplus-italic
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale qx-gentiumplus-bold
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale qx-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale qx-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale qx-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale qx-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale qx-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale qx-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale qx-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale qx-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale qx-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{QX}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{QX}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{QX}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{QX}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{QX}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{QX}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{QX}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{QX}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{QX}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{QX}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t1gentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/t1gentium.fd
deleted file mode 100644
index 38d5d486231..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t1gentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{t1gentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{gentium}{}
-
-\DeclareFontShape{T1}{gentium}{m}{n}{
- <-> \gentium@@scale ec-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T1}{gentium}{m}{it}{
- <-> \gentium@@scale ec-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T1}{gentium}{b}{n}{
- <-> \gentium@@scale ec-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T1}{gentium}{b}{it}{
- <-> \gentium@@scale ec-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T1}{gentium}{sb}{n}{
- <-> \gentium@@scale ec-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T1}{gentium}{sb}{it}{
- <-> \gentium@@scale ec-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T1}{gentium}{eb}{n}{
- <-> \gentium@@scale ec-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T1}{gentium}{eb}{it}{
- <-> \gentium@@scale ec-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T1}{gentium}{m}{sc}{
- <-> \gentium@@scale ec-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{m}{scit}{
- <-> \gentium@@scale ec-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{b}{sc}{
- <-> \gentium@@scale ec-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{b}{scit}{
- <-> \gentium@@scale ec-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{sb}{sc}{
- <-> \gentium@@scale ec-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{sb}{scit}{
- <-> \gentium@@scale ec-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{eb}{sc}{
- <-> \gentium@@scale ec-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{eb}{scit}{
- <-> \gentium@@scale ec-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T1}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{T1}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T1}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T1}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T1}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{T1}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T1}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T1}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T1}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{T1}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T1}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T1}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T1}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t1gentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/t1gentiumbook.fd
deleted file mode 100644
index 06545a5c0a6..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t1gentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{t1gentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T1}{gentiumbook}{}
-
-\DeclareFontShape{T1}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale ec-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale ec-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale ec-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale ec-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale ec-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale ec-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale ec-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale ec-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale ec-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale ec-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale ec-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale ec-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale ec-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale ec-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale ec-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale ec-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T1}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{T1}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T1}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T1}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T1}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{T1}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{T1}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T1}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T1}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T1}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t2agentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/t2agentium.fd
deleted file mode 100644
index b3eff907490..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t2agentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{t2agentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T2A}{gentium}{}
-
-\DeclareFontShape{T2A}{gentium}{m}{n}{
- <-> \gentium@@scale t2a-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T2A}{gentium}{m}{it}{
- <-> \gentium@@scale t2a-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T2A}{gentium}{b}{n}{
- <-> \gentium@@scale t2a-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T2A}{gentium}{b}{it}{
- <-> \gentium@@scale t2a-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T2A}{gentium}{sb}{n}{
- <-> \gentium@@scale t2a-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T2A}{gentium}{sb}{it}{
- <-> \gentium@@scale t2a-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T2A}{gentium}{eb}{n}{
- <-> \gentium@@scale t2a-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T2A}{gentium}{eb}{it}{
- <-> \gentium@@scale t2a-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T2A}{gentium}{m}{sc}{
- <-> \gentium@@scale t2a-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{m}{scit}{
- <-> \gentium@@scale t2a-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{b}{sc}{
- <-> \gentium@@scale t2a-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{b}{scit}{
- <-> \gentium@@scale t2a-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{sb}{sc}{
- <-> \gentium@@scale t2a-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{sb}{scit}{
- <-> \gentium@@scale t2a-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{eb}{sc}{
- <-> \gentium@@scale t2a-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{eb}{scit}{
- <-> \gentium@@scale t2a-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{T2A}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2A}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2A}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2A}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{T2A}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2A}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2A}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2A}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{T2A}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2A}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2A}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2A}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t2agentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/t2agentiumbook.fd
deleted file mode 100644
index 97f57699784..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t2agentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{t2agentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T2A}{gentiumbook}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale t2a-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale t2a-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale t2a-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale t2a-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale t2a-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale t2a-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale t2a-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale t2a-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale t2a-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale t2a-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale t2a-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale t2a-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale t2a-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale t2a-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale t2a-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale t2a-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2A}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{T2A}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2A}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t2bgentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/t2bgentium.fd
deleted file mode 100644
index 256e54f399c..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t2bgentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{t2bgentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T2B}{gentium}{}
-
-\DeclareFontShape{T2B}{gentium}{m}{n}{
- <-> \gentium@@scale t2b-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T2B}{gentium}{m}{it}{
- <-> \gentium@@scale t2b-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T2B}{gentium}{b}{n}{
- <-> \gentium@@scale t2b-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T2B}{gentium}{b}{it}{
- <-> \gentium@@scale t2b-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T2B}{gentium}{sb}{n}{
- <-> \gentium@@scale t2b-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T2B}{gentium}{sb}{it}{
- <-> \gentium@@scale t2b-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T2B}{gentium}{eb}{n}{
- <-> \gentium@@scale t2b-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T2B}{gentium}{eb}{it}{
- <-> \gentium@@scale t2b-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T2B}{gentium}{m}{sc}{
- <-> \gentium@@scale t2b-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{m}{scit}{
- <-> \gentium@@scale t2b-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{b}{sc}{
- <-> \gentium@@scale t2b-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{b}{scit}{
- <-> \gentium@@scale t2b-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{sb}{sc}{
- <-> \gentium@@scale t2b-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{sb}{scit}{
- <-> \gentium@@scale t2b-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{eb}{sc}{
- <-> \gentium@@scale t2b-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{eb}{scit}{
- <-> \gentium@@scale t2b-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{T2B}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2B}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2B}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2B}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{T2B}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2B}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2B}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2B}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{T2B}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2B}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2B}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2B}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t2bgentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/t2bgentiumbook.fd
deleted file mode 100644
index 2d12d3c83d4..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t2bgentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{t2bgentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T2B}{gentiumbook}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale t2b-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale t2b-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale t2b-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale t2b-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale t2b-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale t2b-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale t2b-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale t2b-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale t2b-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale t2b-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale t2b-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale t2b-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale t2b-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale t2b-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale t2b-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale t2b-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2B}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{T2B}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2B}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t2cgentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/t2cgentium.fd
deleted file mode 100644
index 6381b98b855..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t2cgentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{t2cgentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T2C}{gentium}{}
-
-\DeclareFontShape{T2C}{gentium}{m}{n}{
- <-> \gentium@@scale t2c-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T2C}{gentium}{m}{it}{
- <-> \gentium@@scale t2c-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T2C}{gentium}{b}{n}{
- <-> \gentium@@scale t2c-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T2C}{gentium}{b}{it}{
- <-> \gentium@@scale t2c-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T2C}{gentium}{sb}{n}{
- <-> \gentium@@scale t2c-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T2C}{gentium}{sb}{it}{
- <-> \gentium@@scale t2c-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T2C}{gentium}{eb}{n}{
- <-> \gentium@@scale t2c-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T2C}{gentium}{eb}{it}{
- <-> \gentium@@scale t2c-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T2C}{gentium}{m}{sc}{
- <-> \gentium@@scale t2c-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{m}{scit}{
- <-> \gentium@@scale t2c-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{b}{sc}{
- <-> \gentium@@scale t2c-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{b}{scit}{
- <-> \gentium@@scale t2c-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{sb}{sc}{
- <-> \gentium@@scale t2c-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{sb}{scit}{
- <-> \gentium@@scale t2c-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{eb}{sc}{
- <-> \gentium@@scale t2c-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{eb}{scit}{
- <-> \gentium@@scale t2c-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{T2C}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2C}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2C}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T2C}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{T2C}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2C}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2C}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T2C}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{T2C}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2C}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2C}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T2C}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t2cgentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/t2cgentiumbook.fd
deleted file mode 100644
index a2177734046..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t2cgentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{t2cgentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T2C}{gentiumbook}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale t2c-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale t2c-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale t2c-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale t2c-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale t2c-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale t2c-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale t2c-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale t2c-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale t2c-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale t2c-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale t2c-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale t2c-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale t2c-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale t2c-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale t2c-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale t2c-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T2C}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{T2C}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T2C}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t5gentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/t5gentium.fd
deleted file mode 100644
index a387d914675..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t5gentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{t5gentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T5}{gentium}{}
-
-\DeclareFontShape{T5}{gentium}{m}{n}{
- <-> \gentium@@scale t5-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T5}{gentium}{m}{it}{
- <-> \gentium@@scale t5-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T5}{gentium}{b}{n}{
- <-> \gentium@@scale t5-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T5}{gentium}{b}{it}{
- <-> \gentium@@scale t5-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T5}{gentium}{sb}{n}{
- <-> \gentium@@scale t5-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T5}{gentium}{sb}{it}{
- <-> \gentium@@scale t5-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T5}{gentium}{eb}{n}{
- <-> \gentium@@scale t5-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T5}{gentium}{eb}{it}{
- <-> \gentium@@scale t5-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T5}{gentium}{m}{sc}{
- <-> \gentium@@scale t5-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{m}{scit}{
- <-> \gentium@@scale t5-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{b}{sc}{
- <-> \gentium@@scale t5-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{b}{scit}{
- <-> \gentium@@scale t5-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{sb}{sc}{
- <-> \gentium@@scale t5-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{sb}{scit}{
- <-> \gentium@@scale t5-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{eb}{sc}{
- <-> \gentium@@scale t5-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{eb}{scit}{
- <-> \gentium@@scale t5-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T5}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{T5}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T5}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T5}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{T5}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{T5}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T5}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T5}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{T5}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{T5}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T5}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T5}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{T5}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/t5gentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/t5gentiumbook.fd
deleted file mode 100644
index ca7c6d4a154..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/t5gentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{t5gentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{T5}{gentiumbook}{}
-
-\DeclareFontShape{T5}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale t5-gentiumbook-regular
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale t5-gentiumbook-italic
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale t5-gentiumbook-bold
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale t5-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale t5-gentiumplus-regular
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale t5-gentiumplus-italic
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale t5-gentiumplus-bold
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale t5-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale t5-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale t5-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale t5-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale t5-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale t5-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale t5-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale t5-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale t5-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{T5}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{T5}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T5}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T5}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{T5}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{T5}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{T5}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T5}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T5}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{T5}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/ts1gentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/ts1gentium.fd
deleted file mode 100644
index 86cd1ee95c0..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/ts1gentium.fd
+++ /dev/null
@@ -1,58 +0,0 @@
-\ProvidesFile{ts1gentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{TS1}{gentium}{}
-
-\DeclareFontShape{TS1}{gentium}{m}{n}{
- <-> \gentium@@scale ts1-gentiumplus-regular
-}{}
-
-\DeclareFontShape{TS1}{gentium}{m}{it}{
- <-> \gentium@@scale ts1-gentiumplus-italic
-}{}
-
-\DeclareFontShape{TS1}{gentium}{b}{n}{
- <-> \gentium@@scale ts1-gentiumplus-bold
-}{}
-
-\DeclareFontShape{TS1}{gentium}{b}{it}{
- <-> \gentium@@scale ts1-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{TS1}{gentium}{sb}{n}{
- <-> \gentium@@scale ts1-gentiumbook-regular
-}{}
-
-\DeclareFontShape{TS1}{gentium}{sb}{it}{
- <-> \gentium@@scale ts1-gentiumbook-italic
-}{}
-
-\DeclareFontShape{TS1}{gentium}{eb}{n}{
- <-> \gentium@@scale ts1-gentiumbook-bold
-}{}
-
-\DeclareFontShape{TS1}{gentium}{eb}{it}{
- <-> \gentium@@scale ts1-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{TS1}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{TS1}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{TS1}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{TS1}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{TS1}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{TS1}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{TS1}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{TS1}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{TS1}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{TS1}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{TS1}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{TS1}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{TS1}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/ts1gentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/ts1gentiumbook.fd
deleted file mode 100644
index d7ab1c50651..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/ts1gentiumbook.fd
+++ /dev/null
@@ -1,55 +0,0 @@
-\ProvidesFile{ts1gentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{TS1}{gentiumbook}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale ts1-gentiumbook-regular
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale ts1-gentiumbook-italic
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale ts1-gentiumbook-bold
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale ts1-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale ts1-gentiumplus-regular
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale ts1-gentiumplus-italic
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale ts1-gentiumplus-bold
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale ts1-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{TS1}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{TS1}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{TS1}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/x2gentium.fd b/Master/texmf-dist/tex/latex/gentium-tug/x2gentium.fd
deleted file mode 100644
index 5de43cb035b..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/x2gentium.fd
+++ /dev/null
@@ -1,90 +0,0 @@
-\ProvidesFile{x2gentium.fd}
- [2022/05/30 Font definitions for gentium.]
-
-\expandafter\ifx\csname gentium@scale\endcsname\relax
- \let\gentium@@scale\@empty
-\else
- \edef\gentium@@scale{s*[\csname gentium@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{X2}{gentium}{}
-
-\DeclareFontShape{X2}{gentium}{m}{n}{
- <-> \gentium@@scale x2-gentiumplus-regular
-}{}
-
-\DeclareFontShape{X2}{gentium}{m}{it}{
- <-> \gentium@@scale x2-gentiumplus-italic
-}{}
-
-\DeclareFontShape{X2}{gentium}{b}{n}{
- <-> \gentium@@scale x2-gentiumplus-bold
-}{}
-
-\DeclareFontShape{X2}{gentium}{b}{it}{
- <-> \gentium@@scale x2-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{X2}{gentium}{sb}{n}{
- <-> \gentium@@scale x2-gentiumbook-regular
-}{}
-
-\DeclareFontShape{X2}{gentium}{sb}{it}{
- <-> \gentium@@scale x2-gentiumbook-italic
-}{}
-
-\DeclareFontShape{X2}{gentium}{eb}{n}{
- <-> \gentium@@scale x2-gentiumbook-bold
-}{}
-
-\DeclareFontShape{X2}{gentium}{eb}{it}{
- <-> \gentium@@scale x2-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{X2}{gentium}{m}{sc}{
- <-> \gentium@@scale x2-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{m}{scit}{
- <-> \gentium@@scale x2-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{b}{sc}{
- <-> \gentium@@scale x2-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{b}{scit}{
- <-> \gentium@@scale x2-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{sb}{sc}{
- <-> \gentium@@scale x2-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{sb}{scit}{
- <-> \gentium@@scale x2-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{eb}{sc}{
- <-> \gentium@@scale x2-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{eb}{scit}{
- <-> \gentium@@scale x2-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{X2}{gentium}{m}{sl}{<->ssub * gentium/m/it}{}
-\DeclareFontShape{X2}{gentium}{b}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{X2}{gentium}{bx}{sl}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{X2}{gentium}{bx}{it}{<->ssub * gentium/b/it}{}
-\DeclareFontShape{X2}{gentium}{bx}{n}{<->ssub * gentium/b/n}{}
-\DeclareFontShape{X2}{gentium}{sb}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{X2}{gentium}{sbx}{sl}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{X2}{gentium}{sbx}{it}{<->ssub * gentium/sb/it}{}
-\DeclareFontShape{X2}{gentium}{sbx}{n}{<->ssub * gentium/sb/n}{}
-\DeclareFontShape{X2}{gentium}{eb}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{X2}{gentium}{ebx}{sl}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{X2}{gentium}{ebx}{it}{<->ssub * gentium/eb/it}{}
-\DeclareFontShape{X2}{gentium}{ebx}{n}{<->ssub * gentium/eb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/gentium-tug/x2gentiumbook.fd b/Master/texmf-dist/tex/latex/gentium-tug/x2gentiumbook.fd
deleted file mode 100644
index d1b7860265a..00000000000
--- a/Master/texmf-dist/tex/latex/gentium-tug/x2gentiumbook.fd
+++ /dev/null
@@ -1,87 +0,0 @@
-\ProvidesFile{x2gentiumbook.fd}
- [2022/05/30 Font definitions for gentiumbook.]
-
-\expandafter\ifx\csname gentiumbook@scale\endcsname\relax
- \let\gentiumbook@@scale\@empty
-\else
- \edef\gentiumbook@@scale{s*[\csname gentiumbook@scale\endcsname]}%
-\fi
-
-\DeclareFontFamily{X2}{gentiumbook}{}
-
-\DeclareFontShape{X2}{gentiumbook}{m}{n}{
- <-> \gentiumbook@@scale x2-gentiumbook-regular
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{m}{it}{
- <-> \gentiumbook@@scale x2-gentiumbook-italic
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{b}{n}{
- <-> \gentiumbook@@scale x2-gentiumbook-bold
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{b}{it}{
- <-> \gentiumbook@@scale x2-gentiumbook-bolditalic
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sl}{n}{
- <-> \gentiumbook@@scale x2-gentiumplus-regular
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sl}{it}{
- <-> \gentiumbook@@scale x2-gentiumplus-italic
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sb}{n}{
- <-> \gentiumbook@@scale x2-gentiumplus-bold
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sb}{it}{
- <-> \gentiumbook@@scale x2-gentiumplus-bolditalic
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{m}{sc}{
- <-> \gentiumbook@@scale x2-gentiumbook-regular-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{m}{scit}{
- <-> \gentiumbook@@scale x2-gentiumbook-italic-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{b}{sc}{
- <-> \gentiumbook@@scale x2-gentiumbook-bold-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{b}{scit}{
- <-> \gentiumbook@@scale x2-gentiumbook-bolditalic-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sl}{sc}{
- <-> \gentiumbook@@scale x2-gentiumplus-regular-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sl}{scit}{
- <-> \gentiumbook@@scale x2-gentiumplus-italic-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sb}{sc}{
- <-> \gentiumbook@@scale x2-gentiumplus-bold-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{sb}{scit}{
- <-> \gentiumbook@@scale x2-gentiumplus-bolditalic-sc
-}{}
-
-\DeclareFontShape{X2}{gentiumbook}{m}{sl}{<->ssub * gentiumbook/m/it}{}
-\DeclareFontShape{X2}{gentiumbook}{b}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{X2}{gentiumbook}{bx}{sl}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{X2}{gentiumbook}{bx}{it}{<->ssub * gentiumbook/b/it}{}
-\DeclareFontShape{X2}{gentiumbook}{bx}{n}{<->ssub * gentiumbook/b/n}{}
-\DeclareFontShape{X2}{gentiumbook}{sl}{sl}{<->ssub * gentiumbook/sl/it}{}
-\DeclareFontShape{X2}{gentiumbook}{sb}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{X2}{gentiumbook}{sbx}{sl}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{X2}{gentiumbook}{sbx}{it}{<->ssub * gentiumbook/sb/it}{}
-\DeclareFontShape{X2}{gentiumbook}{sbx}{n}{<->ssub * gentiumbook/sb/n}{}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex b/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex
index 02d77a0e39b..24a8c0d2d73 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `example-glossaries-xr.tex,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossaries-extra-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty
index 1758ebb8f6c..4e677a61d0f 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra-2021-11-22.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossaries-extra-abbrstyles.def b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def
index 38278ded3fa..a60b5878cf1 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra-abbrstyles.def,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -38,7 +38,7 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesFile{glossaries-extra-abbrstyles.def}[2023/06/28 v1.52 (NLCT)]
+\ProvidesFile{glossaries-extra-abbrstyles.def}[2025/01/03 v1.54 (NLCT)]
\newcommand*{\glsxtrlongshortname}{%
\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}%
}
@@ -4107,30 +4107,6 @@
\renewcommand*{\GLSxtrfullplformat}[2]{%
\GLSxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}%
}%
- \renewcommand*{\glsxtrinlinefullformat}[2]{%
- \glsxtruserlongshortformat{##1}{##2}%
- {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}%
- }%
- \renewcommand*{\glsxtrinlinefullplformat}[2]{%
- \glsxtruserlongshortplformat{##1}{##2}%
- {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}%
- }%
- \renewcommand*{\Glsxtrinlinefullformat}[2]{%
- \Glsxtruserlongshortformat{##1}{##2}%
- {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}%
- }%
- \renewcommand*{\Glsxtrinlinefullplformat}[2]{%
- \Glsxtruserlongshortplformat{##1}{##2}%
- {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}%
- }%
- \renewcommand*{\GLSxtrinlinefullformat}[2]{%
- \GLSxtruserlongshortformat{##1}{##2}%
- {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}%
- }%
- \renewcommand*{\GLSxtrinlinefullplformat}[2]{%
- \GLSxtruserlongshortplformat{##1}{##2}%
- {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}%
- }%
}
\newcommand*{\glsxtrlongshortuserdescname}{%
\protect\glslonguserfont{\the\glslongtok}%
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty
index 19c3d97561c..53340997e34 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra-bib2gls-2021-11-22.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossaries-extra-bib2gls.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty
index d320836a2d5..07911716435 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra-bib2gls.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,8 +40,8 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-bib2gls-2021-11-22.sty}
-\DeclareCurrentRelease{v1.53}{2023-09-29}
-\ProvidesPackage{glossaries-extra-bib2gls}[2023/09/29 v1.53 (NLCT)]
+\DeclareCurrentRelease{v1.54}{2025-01-03}
+\ProvidesPackage{glossaries-extra-bib2gls}[2025/01/03 v1.54 (NLCT)]
\ifglsacronym
\providecommand*{\printunsrtacronyms}[1][]{%
\printunsrtglossary[type=\acronymtype,#1]}%
@@ -78,6 +78,7 @@
\robustify\glsdisplaynumberlist
\renewcommand*{\glsentrynumberlist}[1]{\glsxtrusefield{#1}{location}}
\providecommand{\IfTeXParserLib}[2]{#2}
+\providecommand{\IfNotBibGls}[2]{#1}
\newcommand*{\glshex}{\string\u}
\newcommand*{\glscapturedgroup}{\string\$}
\ifdef\glshashchar
@@ -215,6 +216,16 @@
\setentrycounter[#1]{#2}%
\glsxtrmultisupplocation{#5}{#4}{#3}%
}
+\ExplSyntaxOn
+\cs_new:Npn \glsxtr@setlocationanchor #1 #2
+ {
+ \group_begin:
+ \glswrglossdisableanchorcmds
+ \exp_args:NNNe
+ \group_end:
+ \tl_set:Nn #1 { \text_purify:n { #2 } }
+ }
+\ExplSyntaxOff
\ifundef\hyperlink
{
\newcommand*{\glsxtrdisplaylocnameref}[8]{%
@@ -224,7 +235,7 @@
{
\newcommand*{\glsxtrdisplaylocnameref}[8]{%
\def\glsxtrrecentanchor{#6}%
- \def\glsxtrlocationanchor{#2.#7}%
+ \glsxtr@setlocationanchor\glsxtrlocationanchor{#2.#7}%
\let\glsxtractualanchor\glsxtrlocationanchor
\glsxtrsetactualanchor{#2}%
\ifcsdef{glsxtr#2locfmt}%
@@ -939,6 +950,30 @@
\string=\glshex 0099\string=\glshex 009A\string=\glshex 009B\string=\glshex 009C
\string=\glshex 009D\string=\glshex 009E\string=\glshex 009F
}
+\newcommand*{\glsxtrcontrolIrules}{%
+ \string'\glshex 200B\string'\string=\glshex 200C\string=\glshex 200D
+ \string=\glshex 200E\string=\glshex 200F\string=\glshex 0001
+ \string=\glshex 0002\string=\glshex 0003\string=\glshex 0004\string=\glshex 0005
+ \string=\glshex 0006\string=\glshex 0007\string=\glshex 0008
+ \string=\string'\glshex 0009\string'\string=\string'\glshex 000B\string'
+ \string=\glshex 000E\string=\glshex 000F\string=\string'\glshex
+0010\string'\string=\glshex 0011
+ \string=\glshex 0012\string=\glshex 0013\string=\glshex 0014\string=\glshex 0015
+ \string=\glshex 0016\string=\glshex 0017\string=\glshex 0018\string=\glshex 0019
+ \string=\glshex 001A\string=\glshex 001B\string=\glshex 0080
+ \string=\glshex 0081\string=\glshex 0082\string=\glshex 0083\string=\glshex 0084
+ \string=\glshex 0085\string=\glshex 0086\string=\glshex 0087\string=\glshex 0088
+ \string=\glshex 0089\string=\glshex 008A\string=\glshex 008B\string=\glshex 008C
+ \string=\glshex 008D\string=\glshex 008E\string=\glshex 008F\string=\glshex 0090
+ \string=\glshex 0091\string=\glshex 0092\string=\glshex 0093\string=\glshex 0094
+ \string=\glshex 0095\string=\glshex 0096\string=\glshex 0097\string=\glshex 0098
+ \string=\glshex 0099\string=\glshex 009A\string=\glshex 009B\string=\glshex 009C
+ \string=\glshex 009D\string=\glshex 009E\string=\glshex 009F
+}
+\newcommand*{\glsxtrcontrolIIrules}{%
+ \glshex 001C\string<\glshex 001D
+ \string<\glshex 001E\string<\glshex 001F
+}
\newcommand*{\glsxtrspacerules}{%
\string' \string'\string;
\string'\glshex 00A0\string'\string;
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty
index 9bd57a68124..1f2259b4d72 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra-stylemods-2021-11-22.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossaries-extra-stylemods.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty
index eb132de50b9..14b0c5a7691 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra-stylemods.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,8 +40,8 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-stylemods-2021-11-22.sty}
-\DeclareCurrentRelease{v1.53}{2023-09-29}
-\ProvidesPackage{glossaries-extra-stylemods}[2023/09/29 v1.53 (NLCT)]
+\DeclareCurrentRelease{v1.54}{2025-01-03}
+\ProvidesPackage{glossaries-extra-stylemods}[2025/01/03 v1.54 (NLCT)]
\newcommand*{\@glsxtr@loadstyles}{}
\DeclareOption{all}{%
\appto\@glsxtr@loadstyles{%
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty
index 3e49330d312..68dd84a7ebc 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossaries-extra.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,8 +40,8 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-2021-11-22.sty}
-\DeclareCurrentRelease{v1.53}{2023-09-29}
-\ProvidesPackage{glossaries-extra}[2023/09/29 v1.53 (NLCT)]
+\DeclareCurrentRelease{v1.54}{2025-01-03}
+\ProvidesPackage{glossaries-extra}[2025/01/03 v1.54 (NLCT)]
\RequirePackage{xkeyval}
\RequirePackage{etoolbox}
\@ifpackageloaded{glossaries}
@@ -978,9 +978,12 @@
\providecommand{\glssentencecase}[1]{\makefirstuc{#1}}
\providecommand{\glslowercase}[1]{\MakeTextLowercase{#1}}
\providecommand{\glsuppercase}[1]{\mfirstucMakeUppercase{#1}}
-\providecommand{\@Glsentryfield}[2]{%
+\ExplSyntaxOn
+\providecommand{\glspdfsentencecase}[1]{ \exp_args:Ne \MFUsentencecase { #1 } }
+\ExplSyntaxOff
+\def\@Glsentryfield#1#2{%
\glstexorpdfstring{\@Gls@entry@field{#1}{#2}}%
- {\MFUsentencecase{\@gls@entry@field{#1}{#2}}}%
+ {\glspdfsentencecase{\@gls@entry@field{#1}{#2}}}%
}
\ifdef\glstexorpdfstring
{}
@@ -1199,19 +1202,23 @@
#2%
}%
}
+\ExplSyntaxOn
+\clist_new:N \__glossariesxtr_glolist_clist
\newcommand*{\GlsXtrIfInGlossary}[4]{%
- \ifcsdef{glolist@#2}%
- {%
- \protected@edef\@glsxtr@tmp{#1}%
- \letcs\@glsxtr@tmplist{glolist@#2}%
- \expandafter\DTLifinlist\expandafter{\@glsxtr@tmp}{\@glsxtr@tmplist}%
- {#3}{#4}%
- }%
- {%
- \glsxtrundefaction{Glossary type `#1' doesn't exist}{}%
- #4%
- }%
+ \tl_if_exist:cTF { glolist@#2 }
+ {
+ \exp_args:NNv \clist_set:Nn
+ \__glossariesxtr_glolist_clist { glolist@#2 }
+ \clist_if_in:NnTF
+ \__glossariesxtr_glolist_clist { #1 }
+ { #3 } { #4 }
+ }
+ {
+ \glsxtrundefaction{Glossary ~ type ~ `#1' ~ doesn't ~ exist}{}
+ #4
+ }
}
+\ExplSyntaxOff
\newcommand*{\glsxtrifkeydefined}[3]{%
\key@ifundefined{glossentry}{#1}{#3}{#2}%
}
@@ -5040,9 +5047,17 @@
}%
}
-\newcommand{\glsxtrhyperlink}[2]{%
- \glsdoshowtarget{#1}{\hyperlink{#1}{#2}}%
-}%
+\ifdef\glsdohyperlinkhook
+{
+ \newcommand{\glsxtrhyperlink}[2]{%
+ \glsdoshowtarget{#1}{\glsdohyperlinkhook{#1}{#2}\hyperlink{#1}{#2}}%
+ }%
+}
+{
+ \newcommand{\glsxtrhyperlink}[2]{%
+ \glsdoshowtarget{#1}{\hyperlink{#1}{#2}}%
+ }%
+}
\renewrobustcmd*{\glshyperlink}[2][\glsentrytext{\@glo@label}]{%
\glsdoifexists{#2}%
{%
@@ -6910,6 +6925,11 @@
\GlsXtrNoGlsWarningTail
}
\newcommand*{\GlsXtrDefaultResourceOptions}{}
+\NewDocumentCommand\BibGlsOptions{m}{%
+ \protected@write\@auxout{}{\string\bibgls@options{#1}}%
+}
+\newcommand{\bibgls@options}[1]{}
+\@onlypreamble\BibGlsOptions
\newcommand*{\glsxtrresourcefile}[2][]{%
\@glsxtr@if@record@only
{\renewcommand{\glsindexingsetting}{bib2gls}}%
@@ -6993,6 +7013,10 @@
\newcommand*{\glsxtr@pluralsuffixes}[4]{}
\newcommand*{\glsxtr@shortcutsval}[1]{}
\newcommand*{\glsxtr@linkprefix}[1]{}
+\ifglsautomake
+ \providecommand{\@gls@run@unrestricted@shell}[1]{\immediate\write18{#1}}
+ \providecommand{\@gls@run@output@dir}[1]{}
+\fi
\newcommand*{\glsxtr@writefields}{%
\protected@write\@auxout{}%
{\string\providecommand*{\string\glsxtr@fields}[1]{}}%
@@ -7037,7 +7061,9 @@
\let\glsxtr@writefields\relax
\ifglsautomake
\IfFileExists{\jobname.aux}%
- {\immediate\write18{bib2gls \jobname}}{}%
+ {%
+ \@gls@run@unrestricted@shell{bib2gls \@gls@run@output@dir{--dir} \jobname}%
+ }{}%
\ifx\@gls@doautomake\@gls@doautomake@err
\let\@gls@doautomake\relax
\fi
@@ -7114,6 +7140,39 @@
\newcommand*{\GlsXtrStandaloneEntryName}[1]{%
\glstarget{#1}{\glossentryname{#1}}%
}
+\newcommand*{\Glsxtrglossentry}[1]{%
+ \glsxtrtitleorpdforheading
+ {\@Glsxtrglossentry{#1}}%
+ {\GlsXtrStandaloneEntryPdfNameFirstUc{#1}}%
+ {\GlsXtrStandaloneEntryHeadNameFirstUc{#1}}%
+}
+\newrobustcmd*{\@Glsxtrglossentry}[1]{%
+ \glsxtrtitleorpdforheading
+ {%
+ \glsdoifexists{#1}%
+ {%
+ \begingroup
+ \protected@edef\glscurrententrylabel{\glsdetoklabel{#1}}%
+ \protected@edef\currentglossary{\GlsXtrStandaloneGlossaryType}%
+ \ifglshasparent{#1}%
+ {\GlsXtrStandaloneSubEntryItem{#1}}%
+ {\glsentryitem{#1}}%
+ \GlsXtrStandaloneEntryNameFirstUc{#1}%
+ \endgroup
+ }%
+ }%
+ {\GlsXtrStandaloneEntryPdfNameFirstUc{#1}}%
+ {\GlsXtrStandaloneEntryHeadNameFirstUc{#1}}%
+}
+\newcommand*{\GlsXtrStandaloneEntryHeadNameFirstUc}[1]{%
+ \Glsxtrheadname{#1}%
+}
+\newcommand*{\GlsXtrStandaloneEntryPdfNameFirstUc}[1]{%
+ \Glsentryname{#1}%
+}
+\newcommand*{\GlsXtrStandaloneEntryNameFirstUc}[1]{%
+ \glstarget{#1}{\Glossentryname{#1}}%
+}
\newcommand{\GlsXtrStandaloneGlossaryType}{\glsentrytype{\glscurrententrylabel}}
\newcommand*{\GlsXtrStandaloneSubEntryItem}[1]{%
\GlsXtrIfFieldEqNum{level}{#1}{1}{\glssubentryitem{#1}}{}%
@@ -7133,6 +7192,24 @@
{#1}%
}%
}
+\newrobustcmd*{\@glsxtrglossentryother}[3]{%
+ \glsxtrtitleorpdforheading
+ {%
+ \glsdoifexists{#1}%
+ {%
+ \begingroup
+ \protected@edef\glscurrententrylabel{\glsdetoklabel{#1}}%
+ \protected@edef\currentglossary{\GlsXtrStandaloneGlossaryType}%
+ \ifglshasparent{#1}%
+ {\GlsXtrStandaloneSubEntryItem{#1}}%
+ {\glsentryitem{#1}}%
+ \GlsXtrStandaloneEntryOther{#1}{#2}%
+ \endgroup
+ }%
+ }%
+ {\GlsXtrStandaloneEntryPdfOther{#1}{#2}}%
+ {#3}%
+}
\newcommand*{\GlsXtrStandaloneEntryHeadOther}[2]{%
\ifcsdef{glsxtrhead#2}%
{\csuse{glsxtrhead#2}{#1}}%
@@ -7141,7 +7218,25 @@
\newcommand*{\GlsXtrStandaloneEntryPdfOther}[2]{%
\@gls@entry@field{#1}{#2}%
}
-\newrobustcmd*{\@glsxtrglossentryother}[3]{%
+\newcommand*{\GlsXtrStandaloneEntryOther}[2]{%
+ \glstarget{#1}{\glossentrynameother{#1}{#2}}%
+}
+\newcommand*{\Glsxtrglossentryother}[3]{%
+ \ifstrempty{#1}%
+ {%
+ \glsxtrtitleorpdforheading
+ {\@Glsxtrglossentryother{#2}{#3}{\GlsXtrStandaloneEntryHeadOtherFirstUc{#3}{#2}}}%
+ {\GlsXtrStandaloneEntryPdfOtherFirstUc{#2}{#3}}%
+ {\GlsXtrStandaloneEntryHeadOtherFirstUc{#3}{#2}}%
+ }%
+ {%
+ \glsxtrtitleorpdforheading
+ {\@Glsxtrglossentryother{#2}{#3}{#1}}%
+ {\GlsXtrStandaloneEntryPdfOtherFirstUc{#2}{#3}}%
+ {#1}%
+ }%
+}
+\newrobustcmd*{\@Glsxtrglossentryother}[3]{%
\glsxtrtitleorpdforheading
{%
\glsdoifexists{#1}%
@@ -7152,23 +7247,33 @@
\ifglshasparent{#1}%
{\GlsXtrStandaloneSubEntryItem{#1}}%
{\glsentryitem{#1}}%
- \GlsXtrStandaloneEntryOther{#1}{#2}%
+ \GlsXtrStandaloneEntryOtherFirstUc{#1}{#2}%
\endgroup
}%
}%
- {\GlsXtrStandaloneEntryPdfOther{#1}{#2}}%
+ {\GlsXtrStandaloneEntryPdfOtherFirstUc{#1}{#2}}%
{#3}%
}
-\newcommand*{\GlsXtrStandaloneEntryOther}[2]{%
- \glstarget{#1}{\glossentrynameother{#1}{#2}}%
+\newcommand*{\GlsXtrStandaloneEntryHeadOtherFirstUc}[2]{%
+ \ifcsdef{glsxtrhead#2}%
+ {\csuse{glsxtrhead#2}{#1}}%
+ {\@Gls@entry@field{\NoCaseChange{#1}}{#2}}%
+}
+\newcommand*{\GlsXtrStandaloneEntryPdfOtherFirstUc}[2]{%
+ \MFUsentencecase{\@gls@entry@field{#1}{#2}}%
+}
+\newcommand*{\GlsXtrStandaloneEntryOtherFirstUc}[2]{%
+ \glstarget{#1}{\Glossentrynameother{#1}{#2}}%
}
\newcommand{\glsxtrtarget}[2]{%
\GlsXtrIfFieldUndef{\glsxtrtargetfield}{#1}%
{%
\@glstarget{\glolinkprefix #1}{#2}%
\xGlsXtrSetField{#1}{\glsxtrtargetfield}{\glolinkprefix #1}%
- }{#2}%
+ }%
+ {\glsxtrtargetdup{#1}{#2}}%
}
+\newcommand{\glsxtrtargetdup}[2]{#2}
\newcommand{\glsxtrtargetfield}{target}
\ifdef\@printgloss@checkexists
{
@@ -9825,6 +9930,7 @@ defined}{}%
\@glsdoifexistsorwarn{#1}%
{%
\glssetabbrvfmt{\glscategory{#1}}%
+ \glsxtrprenamehook{#1}%
\glshasattribute{#1}{glossnamefont}%
{%
\protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}%
@@ -9887,6 +9993,7 @@ defined}{}%
\@glsdoifexistsorwarn{#1}%
{%
\glssetabbrvfmt{\glscategory{#1}}%
+ \glsxtrprenamehook{#1}%
\glshasattribute{#1}{glossnamefont}%
{%
\protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}%
@@ -9934,6 +10041,7 @@ defined}{}%
\@glsdoifexistsorwarn{#1}%
{%
\glssetabbrvfmt{\glscategory{#1}}%
+ \glsxtrprenamehook{#1}%
\glshasattribute{#1}{glossnamefont}%
{%
\protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}%
@@ -9963,6 +10071,7 @@ defined}{}%
\@glsdoifexistsorwarn{#1}%
{%
\glssetabbrvfmt{\glscategory{#1}}%
+ \glsxtrprenamehook{#1}%
\glshasattribute{#1}{glossnamefont}%
{%
\protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}%
@@ -9983,6 +10092,7 @@ defined}{}%
}%
}
}
+\newcommand*{\glsxtrprenamehook}[1]{}
\newcommand*{\glsxtrpostnamehook}[1]{%
\let\@glsnumberformat\@glsxtr@defaultnumberformat
\glsxtrdoautoindexname{#1}{indexname}%
@@ -10024,6 +10134,7 @@ defined}{}%
{%
\glsxtr@setaccessdisplay{#2}%
\glssetabbrvfmt{\glscategory{#1}}%
+ \glsxtrprenamehook{#1}%
\glshasattribute{#1}{glossnamefont}%
{%
\protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}%
@@ -10072,6 +10183,33 @@ defined}{}%
\glsxtrpostnamehook{#1}%
}%
}
+\newrobustcmd*{\Glossentrynameother}[2]{%
+ \@glsdoifexistsorwarn{#1}%
+ {%
+ \glsxtr@setaccessdisplay{#2}%
+ \glssetabbrvfmt{\glscategory{#1}}%
+ \glsxtrprenamehook{#1}%
+ \glshasattribute{#1}{glossnamefont}%
+ {%
+ \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}%
+ \ifcsdef{\@glsxtr@attrval}%
+ {%
+ \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}%
+ }%
+ {%
+ \GlossariesExtraWarning{Unknown control sequence name
+ `\@glsxtr@attrval' supplied in glossnamefont attribute
+ for entry `#1'. Reverting to default \string\glsnamefont}%
+ \let\@glsxtr@glossnamefont\glsnamefont
+ }%
+ }%
+ {\let\@glsxtr@glossnamefont\glsnamefont}%
+ \@glsxtr@accessdisplay
+ {\@glsxtr@glossnamefont{\@Gls@entry@field{#1}{#2}}}%
+ {#1}%
+ \glsxtrpostnamehook{#1}%
+ }%
+}
\newif\if@glsxtr@format@override
\@glsxtr@format@overridefalse
\@ifpackageloaded{hyperref}
@@ -12354,7 +12492,7 @@ defined}{}%
\newcommand*{\Glsfmtlong}[1]{%
\glstexorpdfstring
{\Glsxtrtitlelong{#1}}%
- {\MFUsentencecase{\glsentrylong{#1}}}%
+ {\glspdfsentencecase{\glsentrylong{#1}}}%
}
\glsmfuaddmap{\glsfmtlong}{\Glsfmtlong}
\newcommand*{\GLSfmtlong}[1]{%
@@ -12371,7 +12509,7 @@ defined}{}%
\newcommand*{\Glsfmtlongpl}[1]{%
\glstexorpdfstring
{\Glsxtrtitlelongpl{#1}}%
- {\MFUsentencecase{\glsentrylongpl{#1}}}%
+ {\glspdfsentencecase{\glsentrylongpl{#1}}}%
}
\glsmfuaddmap{\glsfmtlongpl}{\Glsfmtlongpl}
\newcommand*{\GLSfmtlongpl}[1]{%
@@ -12390,7 +12528,7 @@ defined}{}%
\newcommand*{\Glsfmtfull}[1]{%
\glstexorpdfstring
{\Glsxtrtitlefull{#1}}%
- {\MFUsentencecase{\glspdffmtfull{#1}{}}}%
+ {\glspdfsentencecase{\glspdffmtfull{#1}{}}}%
}
\glsmfuaddmap{\glsfmtfull}{\Glsfmtfull}
\ExplSyntaxOn
@@ -12409,7 +12547,7 @@ defined}{}%
\newcommand*{\Glsfmtfullpl}[1]{%
\glstexorpdfstring
{\Glsxtrtitlefullpl{#1}}%
- {\MFUsentencecase{\glspdffmtfullpl{#1}{}}}%
+ {\glspdfsentencecase{\glspdffmtfullpl{#1}{}}}%
}
\glsmfuaddmap{\glsfmtfullpl}{\Glsfmtfullpl}
\ExplSyntaxOn
@@ -12558,7 +12696,7 @@ defined}{}%
\newcommand*{\Pglsfmtshort}[1]{%
\glstexorpdfstring
{\Pglsxtrtitleshort{#1}}%
- {\MFUsentencecase{%
+ {\glspdfsentencecase{%
\pglsprefix{#1}{prefix}%
\glsentryshort{#1}}%
}%
@@ -12579,7 +12717,7 @@ defined}{}%
\newcommand*{\Pglsfmtshortpl}[1]{%
\glstexorpdfstring
{\Pglsxtrtitleshortpl{#1}}%
- {\MFUsentencecase
+ {\glspdfsentencecase
{%
\pglsprefix{#1}{prefixplural}%
\glsentryshortpl{#1}%
@@ -12602,7 +12740,7 @@ defined}{}%
\newcommand*{\Pglsfmtlong}[1]{%
\glstexorpdfstring
{\Pglsxtrtitlelong{#1}}%
- {\MFUsentencecase{%
+ {\glspdfsentencecase{%
\pglsprefix{#1}{prefixfirst}%
\glsentrylong{#1}}%
}%
@@ -12623,7 +12761,7 @@ defined}{}%
\newcommand*{\Pglsfmtlongpl}[1]{%
\glstexorpdfstring
{\Pglsxtrtitlelongpl{#1}}%
- {\MFUsentencecase
+ {\glspdfsentencecase
{%
\pglsprefix{#1}{prefixfirstplural}%
\glsentrylongpl{#1}%
@@ -14022,33 +14160,45 @@ defined}{}%
{\string\mglsWriteSeparateRefsFalse\space can only be used before
the first instance of any \string\mgls-like command}}%
}
-\newcommand{\glsxtr@newmgls}[5]{%
+\newcommand{\glsxtr@newmgls}[6][]{%
\edef\@glsxr@newmgls@do{%
- \noexpand\newrobustcmd*{\expandonce{\csname #1\endcsname}}%
- {\noexpand\@gls@hyp@opt\expandonce{\csname ns@glsxtr@#1\endcsname}}%
- \noexpand\newcommand*{\expandonce{\csname ns@glsxtr@#1\endcsname}}[2][]{%
+ \noexpand\newrobustcmd*{\expandonce{\csname #2\endcsname}}%
+ {\noexpand\@gls@hyp@opt\expandonce{\csname ns@glsxtr@#2\endcsname}}%
+ \noexpand\newcommand*{\expandonce{\csname ns@glsxtr@#2\endcsname}}[2][]{%
\noexpand\new@ifnextchar[%
- {\expandonce{\csname glsxtr@#1\endcsname}{####1}{####2}}%
- {\expandonce{\csname glsxtr@#1\endcsname}{####1}{####2}[]}%
+ {\expandonce{\csname glsxtr@#2\endcsname}{####1}{####2}}%
+ {\expandonce{\csname glsxtr@#2\endcsname}{####1}{####2}[]}%
}%
- \noexpand\def\expandonce{\csname glsxtr@#1\endcsname}####1####2[####3]{%
- \noexpand\def\noexpand\glsxtrcurrentmglscsname{#1}%
+ \noexpand\def\expandonce{\csname glsxtr@#2\endcsname}####1####2[####3]{%
+ \noexpand\@glsxtr@mgls@linkdefs{\unexpanded{#1}}%
+ \noexpand\def\noexpand\glsxtrcurrentmglscsname{#2}%
\noexpand\glsxtr@mgls@inner{####1}{####2}{####3}%
- {\noexpand#2}{\noexpand#3}{\noexpand#4}{\noexpand#5}%
+ {\noexpand#3}{\noexpand#4}{\noexpand#5}{\noexpand#6}%
}%
}%
\@glsxr@newmgls@do
\ifx\@glsxtr@record@setting\@glsxtr@record@setting@off
\else
\ifdef\@glsxtr@mglslikelist
- {\xappto\@glsxtr@mglslikelist{,#1}}%
+ {\xappto\@glsxtr@mglslikelist{,#2}}%
{%
- \gdef\@glsxtr@mglslikelist{#1}%
+ \gdef\@glsxtr@mglslikelist{#2}%
\AtEndDocument{\immediate\protected@write\@auxout{}%
{\string\@glsxtr@mglslike{\@glsxtr@mglslikelist}}}%
}%
\fi
}
+\newcommand{\@glsxtr@mgls@linkdefs}[1]{%
+ \ifstrempty{#1}%
+ {%
+ \let\glsxtrifwasglslike\@firstoftwo
+ \def\glsxtrcurrentfield{}%
+ }%
+ {%
+ \let\glsxtrifwasglslike\@secondoftwo
+ \def\glsxtrcurrentfield{#1}%
+ }%
+}
\newcommand*{\@glsxtr@mglslike}[1]{}
\newcommand*{\GlsXtrMglsOrGls}[2]{%
\def\@glsxtr@mgls@or@gls@mcs{#1}%
@@ -14124,27 +14274,27 @@ defined}{}%
\def\@Glsfullorfirst#1#2[#3]{%
\ifglshasshort{#2}{\@Glsxtr@full{#1}{#2}[#3]}{\@Glsfirst@{#1}{#2}[#3]}%
}
-\glsxtr@newmgls{mglsshort}%
+\glsxtr@newmgls[short]{mglsshort}%
{\@glsshortortext}{\@glsshortortext}{\@glsshortortext}{\@glsshortortext}%
-\glsxtr@newmgls{mglslong}%
+\glsxtr@newmgls[long]{mglslong}%
{\@glslongortext}{\@glslongortext}{\@glslongortext}{\@glslongortext}%
-\glsxtr@newmgls{mglsfull}%
+\glsxtr@newmgls[first]{mglsfull}%
{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}%
-\glsxtr@newmgls{Mglsshort}%
+\glsxtr@newmgls[short]{Mglsshort}%
{\@Glsshortortext}{\@glsshortortext}{\@Glsshortortext}{\@glsshortortext}%
\glsmfuaddmap{\mglsshort}{\Mglsshort}
-\glsxtr@newmgls{Mglslong}%
+\glsxtr@newmgls[long]{Mglslong}%
{\@Glslongortext}{\@glslongortext}{\@Glslongortext}{\@glslongortext}%
\glsmfuaddmap{\mglslong}{\Mglslong}
-\glsxtr@newmgls{Mglsfull}%
+\glsxtr@newmgls[first]{Mglsfull}%
{\@Glsfullorfirst}{\@glsfullorfirst}{\@Glsfullorfirst}{\@glsfullorfirst}%
\glsmfuaddmap{\mglsfull}{\Mglsfull}
-\glsxtr@newmgls{mglsname}%
+\glsxtr@newmgls[name]{mglsname}%
{\@glsname@}{\@glsname@}{\@glsname@}{\@glsname@}%
-\glsxtr@newmgls{Mglsname}%
+\glsxtr@newmgls[name]{Mglsname}%
{\@Glsname@}{\@glsname@}{\@Glsname@}{\@glsname@}%
\glsmfuaddmap{\mglsname}{\Mglsname}
-\glsxtr@newmgls{MGlsname}%
+\glsxtr@newmgls[name]{MGlsname}%
{\@Glsname@}{\@Glsname@}{\@Glsname@}{\@Glsname@}%
\glsmfublocker{\MGlsname}
\def\@glssymbolorgls#1#2[#3]{%
@@ -14153,12 +14303,12 @@ defined}{}%
\def\@glssymbolorGls#1#2[#3]{%
\ifglshassymbol{#2}{\@glssymbol@{#1}{#2}[#3]}{\@Gls@{#1}{#2}[#3]}%
}
-\glsxtr@newmgls{mglssymbol}%
+\glsxtr@newmgls[symbol]{mglssymbol}%
{\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}%
-\glsxtr@newmgls{Mglssymbol}%
+\glsxtr@newmgls[symbol]{Mglssymbol}%
{\@glssymbolorGls}{\@glssymbolorgls}{\@glssymbolorGls}{\@glssymbolorgls}%
\glsmfuaddmap{\mglssymbol}{\Mglssymbol}
-\glsxtr@newmgls{MGlssymbol}%
+\glsxtr@newmgls[symbol]{MGlssymbol}%
{\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}%
\glsmfublocker{\MGlssymbol}
\newcommand{\mglsfield}{useri}
@@ -14173,12 +14323,12 @@ defined}{}%
\expandafter\glssentencecase\expandafter{\glscurrentfieldvalue#3}}}%
{\@Gls@{#1}{#2}[#3]}%
}
-\glsxtr@newmgls{mglsusefield}%
+\glsxtr@newmgls[\mglsfield]{mglsusefield}%
{\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}%
-\glsxtr@newmgls{Mglsusefield}%
+\glsxtr@newmgls[\mglsfield]{Mglsusefield}%
{\@Glsfieldorgls}{\@glsfieldorgls}{\@Glsfieldorgls}{\@glsfieldorgls}%
\glsmfuaddmap{\mglsusefield}{\Mglsusefield}
-\glsxtr@newmgls{MGlsusefield}%
+\glsxtr@newmgls[\mglsfield]{MGlsusefield}%
{\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}%
\glsmfublocker{\MGlsusefield}
\newcommand*{\mpglsWarning}{%
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty
index 45ce9dfc835..247528db1c5 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-bookindex-2021-11-22.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossary-bookindex.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty
index 89a30b762b4..e5369e5aa0f 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-bookindex.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,11 +40,13 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\DeclareRelease{v1.48}{2021-11-22}{glossary-bookindex-2021-11-22.sty}
-\DeclareCurrentRelease{v1.53}{2023-09-29}
-\ProvidesPackage{glossary-bookindex}[2023/09/29 v1.53 (NLCT)]
+\DeclareCurrentRelease{v1.54}{2025-01-03}
+\ProvidesPackage{glossary-bookindex}[2025/01/03 v1.54 (NLCT)]
\RequirePackage{multicol}
\RequirePackage{glossary-tree}
\newcommand{\glsxtrbookindexcols}{2}
+\newcommand*{\glsxtrbookindextarget}[2]{\glstarget{#1}{#2}}
+\newcommand*{\glsxtrbookindexsubtarget}[2]{\glsxtrbookindextarget{#1}{#2}}
\newcommand*{\glsxtrbookindexname}[1]{\glossentryname{#1}}
\newcommand*{\glsxtrbookindexsubname}[1]{\glsxtrbookindexname{#1}}
\providecommand*{\glsxtrprelocation}{\space}
@@ -72,12 +74,13 @@
\newcommand{\glsxtrbookindexpostgroupskip}{\indexspace}
\newcommand{\glsxtrbookindexpresubgroupskip}[3]{\par\medskip}
\newcommand{\glsxtrbookindexpostsubgroupskip}[2]{\par\medskip}
+\newcommand{\glsxtrbookindexsubsubitem}[1]{\glstreesubsubitem}
\newcommand*{\glsxtrbookindexformatheader}[1]{%
\par{\centering\glstreegroupheaderfmt{#1}\par}%
}
\newcommand*{\glsxtrbookindexformatsubheader}[5]{%
\ifnum#2>1\relax
- \glstreesubsubitem\glstreegroupheaderfmt{#5}%
+ \glsxtrbookindexsubsubitem{#2}\glstreegroupheaderfmt{#5}%
\else
\glstreesubitem\glstreegroupheaderfmt{#5}%
\fi
@@ -171,7 +174,7 @@
\let\@glsxtr@bookindex@subsubatendgroup\relax
\glstreeitem
\glsentryitem{##1}%
- \glstarget{##1}{\glsxtrbookindexname{##1}}%
+ \glsxtrbookindextarget{##1}{\glsxtrbookindexname{##1}}%
\glsxtrbookindexprelocation{##1}%
\glsxtrbookindexlocation{##1}{##2}%
}%
@@ -202,9 +205,9 @@
\edef\@glsxtr@bookindex@atsubsubendgroup{%
\noexpand\glsxtrbookindexatsubsubendgroup{##1}%
}%
- \glstreesubsubitem
+ \glsxtrbookindexsubsubitem{##1}%
\fi
- \glstarget{##2}{\glsxtrbookindexsubname{##2}}%
+ \glsxtrbookindexsubtarget{##2}{\glsxtrbookindexsubname{##2}}%
\glsxtrbookindexsubprelocation{##2}%
\glsxtrbookindexsublocation{##2}{##3}%
}%
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty
index 88cd6f37a5f..4460b463501 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-longextra-2021-11-22.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossary-longextra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty
index c6e9c4c12db..265ede1dad9 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-longextra.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,8 +40,8 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\DeclareRelease{v1.48}{2021-11-22}{glossary-longextra-2021-11-22.sty}
-\DeclareCurrentRelease{v1.53}{2023-09-29}
-\ProvidesPackage{glossary-longextra}[2023/09/29 v1.53 (NLCT)]
+\DeclareCurrentRelease{v1.54}{2025-01-03}
+\ProvidesPackage{glossary-longextra}[2025/01/03 v1.54 (NLCT)]
\RequirePackage{glossary-longbooktabs}
\newcommand{\glslongextraNameFmt}[1]{%
\glsentryitem{#1}\glstarget{#1}{\glossentryname{#1}}%
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty
index 529e7c904ed..9c70599a6b1 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-table.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -39,7 +39,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-table}[2023/09/29 v1.53 (NLCT)]
+\ProvidesPackage{glossary-table}[2025/01/03 v1.54 (NLCT)]
\RequirePackage{longtable}
\RequirePackage{array}
\RequirePackage{booktabs}
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty
index 3b8e06b179b..bbb89f53581 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-topic-2021-11-22.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% 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/glossaries-extra/glossary-topic.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty
index 010a949ed8a..b9f63032401 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty
@@ -7,7 +7,7 @@
%% glossaries-extra.dtx (with options: `glossary-topic.sty,package')
%%
%% glossaries-extra.dtx
-%% Copyright 2023 Nicola Talbot
+%% Copyright 2025 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -40,8 +40,8 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\DeclareRelease{v1.48}{2021-11-22}{glossary-topic-2021-11-22.sty}
-\DeclareCurrentRelease{v1.53}{2023-09-29}
-\ProvidesPackage{glossary-topic}[2023/09/29 v1.53 (NLCT)]
+\DeclareCurrentRelease{v1.54}{2025-01-03}
+\ProvidesPackage{glossary-topic}[2025/01/03 v1.54 (NLCT)]
\RequirePackage{multicol}
\newglossarystyle{topic}{%
\renewenvironment{theglossary}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index ee46de3b465..fd8da0a356d 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-12-09}%
+\def\ExplFileDate{2024-12-25}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -3473,7 +3473,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_chk_if_free_cs:N #1
\cs_gset_nopar:Npe #1 { \__kernel_exp_not:w {#2} }
}
-\cs_generate_variant:Nn \tl_const:Nn { Ne , c , ce }
+\cs_generate_variant:Nn \tl_const:Nn { NV , Ne , c , cV , ce }
\cs_generate_variant:Nn \tl_const:Nn { Nx , cx }
\cs_new_protected:Npn \tl_clear:N #1
{ \tex_let:D #1 = ~ \c_empty_tl }
@@ -12474,6 +12474,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#3}
}
}
+\cs_new_protected:Npn \file_forget:n #1
+ { \cs_undefine:c { __file_seen_ \file_full_name:n {#1} : } }
\cs_new_protected:Npn \file_get_full_name:nN #1#2
{
\file_get_full_name:nNF {#1} #2
@@ -30678,11 +30680,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \color_select:nn #1#2
{
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn \l__color_current_tl {#1} {#2}
\__color_finalise_current:
\__color_select:N \l__color_current_tl
}
+\cs_new_protected:Npn \__color_select_main:Nnn #1#2#3
+ {
+ \use:e
+ {
+ \exp_not:N \__color_select_main:Nw \exp_not:N #1
+ \exp_not:n {#2} / / \exp_not:N \s__color_mark
+ #3 / / \exp_not:N \s__color_stop
+ }
+ }
\cs_new_protected:Npn \__color_select_main:Nw
#1 #2 / #3 / #4 \s__color_mark #5 / #6 / #7 \s__color_stop
{
@@ -30729,10 +30739,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \color_math:nnn #1#2#3
{
\__color_math:nn {#3}
- {
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
- }
+ { \__color_select_main:Nnn \l__color_current_tl {#1} {#2} }
}
\cs_new_protected:Npn \__color_math:nn #1#2
{
@@ -30830,14 +30837,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \color_fill:nn #1#2
{
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn \l__color_current_tl {#1} {#2}
\exp_after:wN \__color_draw:nnn \l__color_current_tl { fill }
}
\cs_new_protected:Npn \color_stroke:nn #1#2
{
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn \l__color_current_tl {#1} {#2}
\exp_after:wN \__color_draw:nnn \l__color_current_tl { stroke }
}
\cs_new_protected:Npn \__color_draw:nnn #1#2#3
@@ -30966,6 +30971,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prop_new:c { l__color_named_._prop }
\tl_new:c { l__color_named_._tl }
\tl_set:ce { l__color_named_._tl } { \__color_model:N \l__color_current_tl }
+\prop_put:cve { l__color_named_._prop } { l__color_named_._tl }
+ { \__color_values:N \l__color_current_tl }
\cs_new_protected:Npn \color_export:nnN #1#2#3
{
\group_begin:
@@ -30978,8 +30985,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \color_export:nnnN #1#2#3#4
{
- \__color_select_main:Nw #4
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn #4 {#1} {#2}
\__color_export:nN {#3} #4
}
\cs_new_protected:Npn \__color_export:nN #1#2
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 3e221f84262..e63ad6c9a29 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-12-09}%
+\def\ExplFileDate{2024-12-25}%
\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 704ecfd2ff8..29b9700c170 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-12-09}%
+\def\ExplFileDate{2024-12-25}%
\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 aa6217f3f5e..7f73b6bdd6f 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-12-09}%
+\def\ExplFileDate{2024-12-25}%
\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 6361b7c36c2..7b5724918d0 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-12-09}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-12-25}{}{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 33d0a1c401f..0649af9fbbd 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-12-09}{}
+\ProvidesExplClass{l3doc}{2024-12-25}{}
{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/libertinus-type1/LY1LibertinusSerifDisplay-LF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-LF.fd
new file mode 100644
index 00000000000..675b5c520b0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-LF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{LY1LibertinusSerifDisplay-LF.fd}
+ [2025/01/06 (autoinst) Font definitions for LY1/LibertinusSerifDisplay-LF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{LibertinusSerifDisplay-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-LF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-LF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-LF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-OsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-OsF.fd
new file mode 100644
index 00000000000..0585155d823
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-OsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{LY1LibertinusSerifDisplay-OsF.fd}
+ [2025/01/06 (autoinst) Font definitions for LY1/LibertinusSerifDisplay-OsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{LibertinusSerifDisplay-OsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-OsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-osf-ly1
+}{}
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-OsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-OsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-Sup.fd b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-Sup.fd
new file mode 100644
index 00000000000..c6245ad52fc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-Sup.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{LY1LibertinusSerifDisplay-Sup.fd}
+ [2025/01/06 (autoinst) Font definitions for LY1/LibertinusSerifDisplay-Sup.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{LibertinusSerifDisplay-Sup}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-Sup}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-sup-ly1
+}{}
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-Sup}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-Sup/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TLF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TLF.fd
new file mode 100644
index 00000000000..4dbd5ed45df
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TLF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{LY1LibertinusSerifDisplay-TLF.fd}
+ [2025/01/06 (autoinst) Font definitions for LY1/LibertinusSerifDisplay-TLF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{LibertinusSerifDisplay-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-TLF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-TLF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TLF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TOsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TOsF.fd
new file mode 100644
index 00000000000..9daa7c9def8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/LY1LibertinusSerifDisplay-TOsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{LY1LibertinusSerifDisplay-TOsF.fd}
+ [2025/01/06 (autoinst) Font definitions for LY1/LibertinusSerifDisplay-TOsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{LibertinusSerifDisplay-TOsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-TOsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tosf-ly1
+}{}
+
+\DeclareFontShape{LY1}{LibertinusSerifDisplay-TOsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TOsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-LF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-LF.fd
new file mode 100644
index 00000000000..18e075c4c17
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-LF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{OT1LibertinusSerifDisplay-LF.fd}
+ [2025/01/06 (autoinst) Font definitions for OT1/LibertinusSerifDisplay-LF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{LibertinusSerifDisplay-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-LF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-LF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-LF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-OsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-OsF.fd
new file mode 100644
index 00000000000..1a93dc4556f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-OsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{OT1LibertinusSerifDisplay-OsF.fd}
+ [2025/01/06 (autoinst) Font definitions for OT1/LibertinusSerifDisplay-OsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{LibertinusSerifDisplay-OsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-OsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-osf-ot1
+}{}
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-OsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-OsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-Sup.fd b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-Sup.fd
new file mode 100644
index 00000000000..94017ea5ea9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-Sup.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{OT1LibertinusSerifDisplay-Sup.fd}
+ [2025/01/06 (autoinst) Font definitions for OT1/LibertinusSerifDisplay-Sup.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{LibertinusSerifDisplay-Sup}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-Sup}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-sup-ot1
+}{}
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-Sup}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-Sup/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TLF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TLF.fd
new file mode 100644
index 00000000000..d28a6d314e4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TLF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{OT1LibertinusSerifDisplay-TLF.fd}
+ [2025/01/06 (autoinst) Font definitions for OT1/LibertinusSerifDisplay-TLF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{LibertinusSerifDisplay-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-TLF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-TLF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TLF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TOsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TOsF.fd
new file mode 100644
index 00000000000..665713dd765
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/OT1LibertinusSerifDisplay-TOsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{OT1LibertinusSerifDisplay-TOsF.fd}
+ [2025/01/06 (autoinst) Font definitions for OT1/LibertinusSerifDisplay-TOsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{LibertinusSerifDisplay-TOsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-TOsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tosf-ot1
+}{}
+
+\DeclareFontShape{OT1}{LibertinusSerifDisplay-TOsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TOsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-LF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-LF.fd
new file mode 100644
index 00000000000..0969b057446
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-LF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{T1LibertinusSerifDisplay-LF.fd}
+ [2025/01/06 (autoinst) Font definitions for T1/LibertinusSerifDisplay-LF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{LibertinusSerifDisplay-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-LF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-lf-t1
+}{}
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-LF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-LF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-OsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-OsF.fd
new file mode 100644
index 00000000000..e7f27072c1d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-OsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{T1LibertinusSerifDisplay-OsF.fd}
+ [2025/01/06 (autoinst) Font definitions for T1/LibertinusSerifDisplay-OsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{LibertinusSerifDisplay-OsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-OsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-osf-t1
+}{}
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-OsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-OsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-Sup.fd b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-Sup.fd
new file mode 100644
index 00000000000..c8be09520a5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-Sup.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{T1LibertinusSerifDisplay-Sup.fd}
+ [2025/01/06 (autoinst) Font definitions for T1/LibertinusSerifDisplay-Sup.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{LibertinusSerifDisplay-Sup}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-Sup}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-sup-t1
+}{}
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-Sup}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-Sup/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TLF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TLF.fd
new file mode 100644
index 00000000000..c1ab0fca6b3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TLF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{T1LibertinusSerifDisplay-TLF.fd}
+ [2025/01/06 (autoinst) Font definitions for T1/LibertinusSerifDisplay-TLF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{LibertinusSerifDisplay-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-TLF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-TLF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TLF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TOsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TOsF.fd
new file mode 100644
index 00000000000..4c7f62718b9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/T1LibertinusSerifDisplay-TOsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{T1LibertinusSerifDisplay-TOsF.fd}
+ [2025/01/06 (autoinst) Font definitions for T1/LibertinusSerifDisplay-TOsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{LibertinusSerifDisplay-TOsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-TOsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tosf-t1
+}{}
+
+\DeclareFontShape{T1}{LibertinusSerifDisplay-TOsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TOsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-LF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-LF.fd
new file mode 100644
index 00000000000..c4294297aef
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-LF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{TS1LibertinusSerifDisplay-LF.fd}
+ [2025/01/06 (autoinst) Font definitions for TS1/LibertinusSerifDisplay-LF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{TS1}{LibertinusSerifDisplay-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-LF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-lf-ts1
+}{}
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-LF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-LF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-OsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-OsF.fd
new file mode 100644
index 00000000000..10f8081082e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-OsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{TS1LibertinusSerifDisplay-OsF.fd}
+ [2025/01/06 (autoinst) Font definitions for TS1/LibertinusSerifDisplay-OsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{TS1}{LibertinusSerifDisplay-OsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-OsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-osf-ts1
+}{}
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-OsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-OsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TLF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TLF.fd
new file mode 100644
index 00000000000..2ebdfae07b6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TLF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{TS1LibertinusSerifDisplay-TLF.fd}
+ [2025/01/06 (autoinst) Font definitions for TS1/LibertinusSerifDisplay-TLF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{TS1}{LibertinusSerifDisplay-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-TLF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-TLF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TLF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TOsF.fd b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TOsF.fd
new file mode 100644
index 00000000000..b85286beaa2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/TS1LibertinusSerifDisplay-TOsF.fd
@@ -0,0 +1,36 @@
+%% Generated by autoinst on 2025/01/06
+%%
+\ProvidesFile{TS1LibertinusSerifDisplay-TOsF.fd}
+ [2025/01/06 (autoinst) Font definitions for TS1/LibertinusSerifDisplay-TOsF.]
+
+\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
+
+\expandafter\ifx\csname LibertinusSerifDisplay@scale\endcsname\relax
+ \let\LibertinusSerifDisplay@@scale\@empty
+\else
+ \edef\LibertinusSerifDisplay@@scale{s*[\csname LibertinusSerifDisplay@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{TS1}{LibertinusSerifDisplay-TOsF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-TOsF}{m}{n}{
+ <-> \LibertinusSerifDisplay@@scale LibertinusSerifDisplay-Regular-tosf-ts1
+}{}
+
+\DeclareFontShape{TS1}{LibertinusSerifDisplay-TOsF}{regular}{n}{
+ <-> alias * LibertinusSerifDisplay-TOsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/libertinus-type1/libertinus-type1.sty b/Master/texmf-dist/tex/latex/libertinus-type1/libertinus-type1.sty
index 0ace2a84ef8..c809d41b796 100644
--- a/Master/texmf-dist/tex/latex/libertinus-type1/libertinus-type1.sty
+++ b/Master/texmf-dist/tex/latex/libertinus-type1/libertinus-type1.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{libertinus-type1}[%
- 2024/09/22 (Bob Tennent) Supports libertinus fonts for latex/pdflatex.]
+ 2025/01/06 (Bob Tennent) Supports libertinus fonts for latex/pdflatex.]
\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp}
\newif\iflibertinus@otf
@@ -208,5 +208,7 @@ use libertinus.sty or libertinus-otf.sty.\MessageBreak
\DeclareTextFontCommand{\textsup}{\sufigures}
\let\textsuperior\textsup
+\providecommand*\libertinusDisplay{\fontfamily{LibertinusSerifDisplay-\libertinusserif@figurealign\libertinusserif@figurestyle}\selectfont}
+
\def\libertinusseriflgr{\fontencoding{LGR}\fontfamily{\libertinusserif@family}\selectfont}
\def\libertinussanslgr{\fontencoding{LGR}\fontfamily{\libertinussans@family}\selectfont}
diff --git a/Master/texmf-dist/tex/latex/newtx/newtx.sty b/Master/texmf-dist/tex/latex/newtx/newtx.sty
index 8d86b9aeaf4..248532224ac 100644
--- a/Master/texmf-dist/tex/latex/newtx/newtx.sty
+++ b/Master/texmf-dist/tex/latex/newtx/newtx.sty
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}
%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.751}
-\def\filedate{2024/06/22}
+\def\fileversion{1.755}
+\def\filedate{2025/01/06}
\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]
@@ -208,10 +208,10 @@ propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw}
\def\ntx@sc{BaskervilleF@scale}\def\ntx@TF{baskervillef}
\let\ntx@MF\ntx@TF\def\ntx@id{7}\def\ntx@minfam{minbaskervillef}\fi}
\DeclareOptionX{baskervaldx}[true]{\@nameuse{if#1}
- \def\ntx@sc{Baskervaldx@scale}\def\ntx@TF{baskervaldx}
+ \def\ntx@sc{Baskervaldx@scale}\def\ntx@TF{Baskervaldx}
\let\ntx@MF\ntx@TF\def\ntx@id{8}\def\ntx@minfam{minbaskervaldx}\fi}
\DeclareOptionX{Baskervaldx}[true]{\@nameuse{if#1}
- \def\ntx@sc{Baskervaldx@scale}\def\ntx@TF{baskervaldx}
+ \def\ntx@sc{Baskervaldx@scale}\def\ntx@TF{Baskervaldx}
\let\ntx@MF\ntx@TF\def\ntx@id{8}\def\ntx@minfam{minbaskervaldx}\fi}
%\DeclareOptionX{utopia}[true]{%
% \@nameuse{if#1}\def\ntx@TF{utopia}\let\ntx@MF\ntx@TF\def\ntx@id{0}\def\ntx@minfam{}\fi}
@@ -804,11 +804,8 @@ propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw}
%\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
+\ifthenelse{\equal{}{\tx@sfrac}\OR\ntx@id=16\OR\ntx@id=4}{}{%
+%case \textsfrac defined, not minion nor gelasio
\ifnum\tx@debase=0
\newcommand*{\textsmde}[1]{%
\setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}
@@ -816,13 +813,22 @@ propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw}
\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
+ \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
+}
+%\def\tx@mksmde{%
+%\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
+%\fi %\ifnum\ntx@id=4
+%\fi %\ifnum\ntx@id=16
+%}
+%\if X\tx@sfrac\tx@mksmde\fi
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/reledmac/reledmac.sty b/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
index bb7171dfa6d..db3e2b57ca8 100644
--- a/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
+++ b/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
@@ -37,7 +37,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2024/05/11 v2.40.1 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2025/01/07 v2.40.2 typesetting critical editions]%
\RequirePackage{xargs}%
\RequirePackage{xparse}[2017/03/07]%
\RequirePackage{etoolbox}%
@@ -577,6 +577,7 @@
\ifl@dpairing%
\unless\ifl@dpaging%
\global\c@pstartL=\c@pstart%
+ \global\c@pstartR=\c@pstart%
\fi%
\fi%
\fi%
diff --git a/Master/texmf-dist/tex/latex/scrlayer-fancyhdr/scrlayer-fancyhdr.sty b/Master/texmf-dist/tex/latex/scrlayer-fancyhdr/scrlayer-fancyhdr.sty
index 285d5bc5e69..3bf4018e424 100644
--- a/Master/texmf-dist/tex/latex/scrlayer-fancyhdr/scrlayer-fancyhdr.sty
+++ b/Master/texmf-dist/tex/latex/scrlayer-fancyhdr/scrlayer-fancyhdr.sty
@@ -24,9 +24,10 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%% docstrip run: identify
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{scrlayer-fancyhdr}[2022-07-08 v0.2.2
- combining fancyhdr with KOMA-Script's scrlayer]
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\ProvidesPackage{scrlayer-fancyhdr}
+ [2025-01-07 v0.3
+ combining fancyhdr with KOMA-Script's scrlayer]
%%% docstrip run: init
\RequirePackage{scrlayer}[2021/02/15]
%%% docstrip run: options
@@ -35,34 +36,74 @@
\DeclareOption{compatV3}{\PassOptionsToPackage{compatV3}{fancyhdr}}
\DeclareOption{myheadings}{\PassOptionsToPackage{myheadings}{fancyhdr}}
\DeclareOption{headings}{\PassOptionsToPackage{headings}{fancyhdr}}
+\DeclareOption{twoside}{\PassOptionsToPackage{twoside}{fancyhdr}}
%%% docstrip run: body
\KOMAProcessOptions
\RequirePackage{fancyhdr}
-\DeclareNewLayer[%
- background,oddpage,
- head,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@head\f@nch@Oolh\f@nch@olh\f@nch@och\f@nch@orh\f@nch@Oorh}}
-]{fancy.head.odd}
-\DeclareNewLayer[%
- background,evenpage,
- head,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@head\f@nch@Oelh\f@nch@elh\f@nch@ech\f@nch@erh\f@nch@Oerh}}
-]{fancy.head.even}
-\DeclareNewLayer[%
- foreground,oddpage,
- foot,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@foot\f@nch@Oolf\f@nch@olf\f@nch@ocf\f@nch@orf\f@nch@Oorf}}
-]{fancy.foot.odd}
-\DeclareNewLayer[%
- foreground,evenpage,
- foot,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@foot\f@nch@Oelf\f@nch@elf\f@nch@ecf\f@nch@erf\f@nch@Oerf}}
-]{fancy.foot.even}
-\@ifpackagelater{fancyhdr}{2019/03/21}{%
+\IfPackageAtLeastTF{fancyhdr}{2025/01/01}{%
+ \DeclareNewLayer[%
+ background,oddpage,
+ head,
+ contents={\hb@xt@ \layerwidth{%
+ \f@nch@head\f@nch@Oolh\f@nch@olh\f@nch@och\f@nch@orh\f@nch@Oorh
+ \f@nch@width@olh\f@nch@width@och\f@nch@width@orh
+ }}
+ ]{fancy.head.odd}
+ \DeclareNewLayer[%
+ background,evenpage,
+ head,
+ contents={\hb@xt@ \layerwidth{%
+ f@nch@head\f@nch@Oelh\f@nch@elh\f@nch@ech\f@nch@erh\f@nch@Oerh
+ \f@nch@width@elh\f@nch@width@ech\f@nch@width@erh
+ }}
+ ]{fancy.head.even}
+ \DeclareNewLayer[%
+ foreground,oddpage,
+ foot,
+ contents={\hb@xt@ \layerwidth{%
+ \f@nch@foot\f@nch@Oolf\f@nch@olf\f@nch@ocf\f@nch@orf\f@nch@Oorf
+ \f@nch@width@olf\f@nch@width@ocf\f@nch@width@orf
+ }}
+ ]{fancy.foot.odd}
+ \DeclareNewLayer[%
+ foreground,evenpage,
+ foot,
+ contents={\hb@xt@ \layerwidth{%
+ f@nch@foot\f@nch@Oelf\f@nch@elf\f@nch@ecf\f@nch@erf\f@nch@Oerf
+ \f@nch@width@elf\f@nch@width@ecf\f@nch@width@erf
+ }}
+ ]{fancy.foot.even}
+}{%
+ \DeclareNewLayer[%
+ background,oddpage,
+ head,
+ contents={\hb@xt@ \layerwidth{%
+ \f@nch@head\f@nch@Oolh\f@nch@olh\f@nch@och\f@nch@orh\f@nch@Oorh
+ }}
+ ]{fancy.head.odd}
+ \DeclareNewLayer[%
+ background,evenpage,
+ head,
+ contents={\hb@xt@ \layerwidth{%
+ \f@nch@head\f@nch@Oelh\f@nch@elh\f@nch@ech\f@nch@erh\f@nch@Oerh
+ }}
+ ]{fancy.head.even}
+ \DeclareNewLayer[%
+ foreground,oddpage,
+ foot,
+ contents={\hb@xt@ \layerwidth{%
+ \f@nch@foot\f@nch@Oolf\f@nch@olf\f@nch@ocf\f@nch@orf\f@nch@Oorf
+ }}
+ ]{fancy.foot.odd}
+ \DeclareNewLayer[%
+ foreground,evenpage,
+ foot,
+ contents={\hb@xt@ \layerwidth{%
+ \f@nch@foot\f@nch@Oelf\f@nch@elf\f@nch@ecf\f@nch@erf\f@nch@Oerf
+ }}
+ ]{fancy.foot.even}
+}
+\IfPackageAtLeastTF{fancyhdr}{2019/03/21}{%
\DeclarePageStyleByLayers[
onselect={\def\@mkboth{\protect\markboth}},
]{f@nch@fancycore}{%
diff --git a/Master/texmf-dist/tex/latex/tabularray-abnt/tabularray-abnt.sty b/Master/texmf-dist/tex/latex/tabularray-abnt/tabularray-abnt.sty
index e29559ebac8..14eb5a86117 100644
--- a/Master/texmf-dist/tex/latex/tabularray-abnt/tabularray-abnt.sty
+++ b/Master/texmf-dist/tex/latex/tabularray-abnt/tabularray-abnt.sty
@@ -16,8 +16,8 @@
%%% file name
\ProvidesFile{tabularray-abnt.sty}
- [2025/01/03 tabularray-abnt style (require tabularray package)]
-\typeout{tabularray-abnt style 2025-01-03 <January/2025>.}
+ [2025/01/06 tabularray-abnt style (require tabularray package)]
+\typeout{tabularray-abnt style 2025-01-06 <January/2025>.}
%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% It not works on older LaTeX compatibility mode (documentstyle)
@@ -51,6 +51,7 @@
%% Required package
\RequirePackage{tabularray}
+\UseTblrLibrary{hook}
%%% %----------------------
%%> \section{ABNT theme}
@@ -61,7 +62,10 @@
\SetTblrTemplate{firsthead-text,lasthead-text,conthead-text}{abnt}
\SetTblrTemplate{caption,lasthead,capcont}{abnt}
\DefTblrTemplate{firstfoot,middlefoot}{default}{}% disabling the first and middle footnote
- \SetTblrTemplate{lastfoot-text,lastfoot-text-note}{abnt}
+
+%%% \SetTblrTemplate{lastfoot-text,lastfoot-text-note}{abnt}
+
+ %% for abntexto, need to change lot write
\if@tabularray@abnt@using@abntexto
\SetTblrTemplate{caption-lot}{abnt}
\fi
@@ -87,10 +91,13 @@
\SetTblrTemplate{firsthead-text,lasthead-text,conthead-text}{abnt}
\SetTblrTemplate{caption,lasthead,capcont}{abnt}
\DefTblrTemplate{firstfoot,middlefoot}{default}{}% desabling first and middle footnote
- \SetTblrTemplate{lastfoot-text,lastfoot-text-note}{abnt}
- \if@tabularray@abnt@using@abntexto
- \SetTblrTemplate{caption-lot}{abnt}
- \fi
+
+%%% \SetTblrTemplate{lastfoot-text,lastfoot-text-note}{abnt}
+
+%%% %% for abntexto, need to change lot write
+%%% \if@tabularray@abnt@using@abntexto
+%%% %%\SetTblrTemplate{caption-lot}{abnt}
+%%% \fi
\SetTblrTemplate{remark-tag}{abnt}
\SetTblrTemplate{remark}{abnt}
@@ -100,8 +107,8 @@
\SetTblrStyle{lastfoot}{font=\footnotesize}
%% Change specific for ``quadro'
- \SetTblrTemplate{caption-tag}{quadro}
- \SetTblrTemplate{caption-lot}{quadro}
+ \SetTblrTemplate{caption-tag}{quadro} % caption change
+ \SetTblrTemplate{caption-lot}{quadro} % lot wire change
}
%%% -----------------------------
@@ -117,7 +124,22 @@
\fi
\fi
-%% additional texto for header
+%% counting table and quadro together
+
+%%% \ExplSyntaxOn
+\if@tabularray@abnt@using@abntexto
+
+%%% \newcommand{\tabularray@abnt@tblr@count@roman}{\romannumeral\inteval{\g__tblr_table_count_int + \countquadro}}
+ \newcommand{\tabularray@abnt@tblr@count@roman}{\romannumeral\inteval{\value{table} + \countquadro}}
+\else
+
+%%% \newcommand{\tabularray@abnt@tblr@count@roman}{\romannumeral\inteval{\g__tblr_table_count_int + \value{quadro}}}
+ \newcommand{\tabularray@abnt@tblr@count@roman}{\romannumeral\inteval{\value{table} + \value{quadro}}}
+\fi
+
+%%% \ExplSyntaxOff
+
+%% additional text for header
\DefTblrTemplate{firsthead-text}{abnt}{\par~\hfill(continua)} % first header
\DefTblrTemplate{lasthead-text}{abnt}{\par~\hfill(conclusão)} % last header
\DefTblrTemplate{conthead-text}{abnt}{\par~\hfill(continuação)} % middle header
@@ -128,8 +150,12 @@
\UseTblrTemplate{caption-text}{default}
%%% % like \ifdefined, but with csname
- \ifcsname tblr@abnt@spanpages@\roman{table}\endcsname % if span pages
- \UseTblrTemplate{firsthead-text}{abnt} % acrescentar o firsthead-text
+ \ifcsname tabularray@abnt@tblr@spanpages@\tabularray@abnt@tblr@count@roman\endcsname % if span pages
+ \UseTblrTemplate{firsthead-text}{abnt} % add the firsthead-text
+
+%%% DEBUG:\tabularray@abnt@tblr@count@roman
+%%% \else
+%%% DEBUG (no span pages): \roman{tabularray@abnt@global@tblr@counter}
\fi
}
@@ -151,50 +177,104 @@
%%% %-------------------------------------------------
%%> \section{To save ``page span'' status}
-\newif\if@tablular@abnt@mark@spanpages%
-\@tablular@abnt@mark@spanpagesfalse % initially false
+\newif\if@tablularray@abnt@mark@spanpages
-%%% % tblr with long optional option
-\AddToHook{env/tblr/before}
-{
- \@tablular@abnt@mark@spanpagestrue
-}
-\AddToHook{env/tblr/after}
-{
- \@tablular@abnt@mark@spanpagesfalse
- \DefTblrTemplate{lastfoot-text}{abnt}{}
- \DefTblrTemplate{lastfoot-text-note}{abnt}{}
-}
+%%% \AtBeginDocument{%
-%%% % longtblr
-\AddToHook{env/longtblr/before}
-{
- \@tablular@abnt@mark@spanpagestrue
-}
-\AddToHook{env/longtblr/after}
-{
- \@tablular@abnt@mark@spanpagesfalse
- \DefTblrTemplate{lastfoot-text}{abnt}{}
- \DefTblrTemplate{lastfoot-text-note}{abnt}{}
-}
+%%% % \@tablularray@abnt@mark@spanpagesfalse % initially false
+\global\let\if@tablularray@abnt@mark@spanpages\iffalse
+
+%%% } % \AtBeginDocument{%
+
+%%% hook tabularray not working as expected. Need more recente version of tabularray?
+%%% \AddToHook{tabularray/table/before}
+%%% {
+
+%%% % \@tablularray@abnt@mark@spanpagestrue
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iftrue
+%%% }
+%%% \AddToHook{tabularray/table/after}
+%%% {
+
+%%%% \@tablularray@abnt@mark@spanpagesfalse
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iffalse
+%%% }
+
+%%% % check page span status for longtblr
+\AddToHook{env/longtblr/after}{ \global\let\if@tablularray@abnt@mark@spanpages\iftrue }
+\AddToHook{env/longtblr/end}{ \global\let\if@tablularray@abnt@mark@spanpages\iffalse }
+
+%%% % check page span status for tblr (with possible long option)
+\AddToHook{env/tblr/after}{ \global\let\if@tablularray@abnt@mark@spanpages\iftrue }
+\AddToHook{env/tblr/end}{ \global\let\if@tablularray@abnt@mark@spanpages\iffalse }
+
+%%% % check page span status for tblr like env
+%%% % Not work as exprected
+%%% \AddToHook{tabularray/table/before}{ \global\let\if@tablularray@abnt@mark@spanpages\iftrue }
+%%% \AddToHook{tabularray/table/after}{ \global\let\if@tablularray@abnt@mark@spanpages\iffalse }
+
+%%% {
+
+
+%%% \AddToHook{env/longtblr/begin}
+%%% {
+
+%%% % \@tablularray@abnt@mark@spanpagestrue
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iftrue
+%%% }
+
+%%% \AddToHook{env/longtblr/end}
+%%% {
+
+%%% \@tablularray@abnt@mark@spanpagesfalse
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iffalse
+%%% }
+
+%%% % For tblr with long opcion
+%%% \AddToHook{env/tblr/begin}
+%%% {
+
+%%% % \@tablularray@abnt@mark@spanpagestrue
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iftrue
+%%% }
+
+%%% \AddToHook{env/tblr/end}
+%%% {
+
+%%% % \@tablularray@abnt@mark@spanpagesfalse
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iffalse
+%% }
+
+%%% talltblr fit in single page (no hook)
%% if change pages, mark as ``span pages'' on aux file
+
+%%% \AddToHook{shipout/after}
\AddToHook{shipout/after}
{
- \if@tablular@abnt@mark@spanpages
+ \if@tablularray@abnt@mark@spanpages
+ %% to the associated commands act globally
%% tip from https://tex.stackexchange.com/questions/115932/on-the-basics-of-writing-to-reading-from-auxiliary-files-aux-toc-etc
- \immediate\write\@auxout{\gdef\string\tblr@abnt@spanpages@\roman{table}{true}}
- \fi
+ \immediate\write\@auxout{\gdef\string\tabularray@abnt@tblr@spanpages@\tabularray@abnt@tblr@count@roman{true}}
+
+%%% \else % DEBUG
+%%% \immediate\write\@auxout{\gdef\string\tabularray@abnt@tblr@spanpages@\tabularray@abnt@tblr@count@roman{false}}
+
+\fi
%% to the associated commands act globally
%% tip from https://tex.stackexchange.com/questions/566884/setting-a-newif-to-false-ignored-on-first-check-in-custom-itemize-environment
- \global\let\if@tablular@abnt@mark@spanpages\iffalse
-}
+ \global\let\if@tablularray@abnt@mark@spanpages\iffalse
+
+%%% % DEBUG:
+%%% \immediate\write\@auxout{\gdef\string\tabularray@abnt@shipout@message{DEGUB: page=\thepage, tblrnum=\tabularray@abnt@tblr@count@roman}}
+}
%% For abntexto class, need change the form to write on ``lot''
+%% For others, only add global counter
\if@tabularray@abnt@using@abntexto
\ExplSyntaxOn
\DefTblrTemplate{caption-lot}{abnt}
- {
+ {
\tl_if_empty:NTF \lTblrEntryTl
{\tl_set_eq:NN \l__tblr_caption_short_tl \lTblrCaptionTl}
{\tl_set_eq:NN \l__tblr_caption_short_tl \lTblrEntryTl}
@@ -204,9 +284,22 @@
\addtoext{lot}{lofi}{\protect\lotlabelbox{\thetable}{\l__tblr_caption_short_tl}}
}
\ExplSyntaxOff
+%%%\else% \if@tabularray@abnt@using@abntexto
+%%% \ExplSyntaxOn
+%%% \DefTblrTemplate {caption-lot}{abnt}
+%%% {
+%%%
+%%% %% \stepcounter{tabularray@abnt@global@tblr@counter}% global table/quadro counter
+%%% \tl_if_empty:NTF \lTblrEntryTl
+%%% { \tl_set_eq:NN \l__tblr_caption_short_tl \lTblrCaptionTl }
+%%% { \tl_set_eq:NN \l__tblr_caption_short_tl \lTblrEntryTl }
+%%% \addcontentsline { lot } { table }
+%%% { \protect\numberline { \thetable } { \l__tblr_caption_short_tl } }
+%%% }
+%%% \ExplSyntaxOff
\fi% \if@tabularray@abnt@using@abntexto
-%% Change reamrk to use for source and note as ABNT
+%% Change remark to use for source and note as ABNT
\DefTblrTemplate{remark-tag}{abnt}{\InsertTblrRemarkTag}
%% Change left margin using tip from
@@ -230,6 +323,12 @@
\providecommand{\quadroname}{Quadro}
\providecommand{\listquadroname}{Lista de quadros}
\@ifpackageloaded{babel}{
+ \ifdefined\captionsportugese
+ \addto\captionsportugese{% portugese
+ \renewcommand{\quadroname}{Quadro}
+ \renewcommand{\listquadroname}{Lista de quadros}
+ }
+ \fi
\ifdefined\captionsbrazil
\addto\captionsbrazil{% brazilian portugese
\renewcommand{\quadroname}{Quadro}
@@ -237,7 +336,7 @@
}
\fi
\ifdefined\captionsbrazilian
- \addto\captionsbrazil{% brazilian portugese
+ \addto\captionsbrazilian{% brazilian portugese
\renewcommand{\quadroname}{Quadro}
\renewcommand{\listquadroname}{Lista de quadros}
}
@@ -257,20 +356,21 @@
%% using command from ABNTexto
\definelegendplace{quadro}{Quadro}{quad.\,}{loq} % new legend entry
-\ifdefined\chapter
- \newcommand{\listadequadros}{\notoc\nonum\chapter{\listquadroname}\makeloq}
-\else
- \newcommand{\listadequadros}{\notoc\nonum\section{\listquadroname}\makeloq}
-\fi
+ \ifdefined\chapter
+ \newcommand{\listadequadros}{\notoc\nonum\chapter{\listquadroname}\makeloq}
+ \else
+ \newcommand{\listadequadros}{\notoc\nonum\section{\listquadroname}\makeloq}
+ \fi
%% Caution: don't put space between braces and parameters
\DefTblrTemplate{caption-tag}{quadro}{\quadroname\hspace{0.25em}\the\countquadro}
\ExplSyntaxOn
- \DefTblrTemplate {caption-lot}{quadro}
+ \DefTblrTemplate{caption-lot}{quadro}
{
- \addtocounter{table}{-1}%Não contar como table
-
- %% counter created by \definelegendplace{quadro} is not \c@quadro+, but \countquadro, and is necessary to use TeX command to increase
+
+%%% \stepcounter{tabularray@abnt@global@tblr@counter}% global table/quadro counter
+ \addtocounter{table}{-1}%Não contar como table
+ %% counter created by \definelegendplace{quadro} is not \c@quadro+, but \countquadro, and is necessary to use TeX command to increase
\global\advance\countquadro by 1% count as ``quadro''
\tl_if_empty:NTF \lTblrEntryTl
{\tl_set_eq:NN \l__tblr_caption_short_tl \lTblrCaptionTl}
@@ -307,10 +407,12 @@
\DefTblrTemplate {caption-tag} {quadro} {\quadroname\hspace{0.25em}\thequadro}
\ExplSyntaxOn
- \DefTblrTemplate { caption-lot } { quadro }
+ \DefTblrTemplate{caption-lot}{quadro}
{
- \addtocounter{table}{-1}
- \stepcounter{quadro}
+
+%%% \stepcounter{tabularray@abnt@global@tblr@counter}% global table/quadro counter
+ \addtocounter{table}{-1}% not count as table
+ \stepcounter{quadro}% count as quadro
\tl_if_empty:NTF \lTblrEntryTl
{ \tl_set_eq:NN \l__tblr_caption_short_tl \lTblrCaptionTl }
{ \tl_set_eq:NN \l__tblr_caption_short_tl \lTblrEntryTl }
@@ -327,29 +429,56 @@
%% To set table font for new envrronment
\NewDocumentCommand{\SetAbntTblrFont}{+m}
{
- \gdef\AbntTblrFont{#1}
+ \gdef\@tabularray@abnt@tblr@font{#1}
}
%%% % New environments for tables
\NewDocumentEnvironment{abnttblr}{+o +m +b}{
-\ifdefined\AbntTblrFont \AbntTblrFont \fi
+\ifdefined\@tabularray@abnt@tblr@font \@tabularray@abnt@tblr@font \fi
\begin{tblr}[theme=abnt,#1]{#2}
#3
\end{tblr}
}{}
\NewDocumentEnvironment{tallabnttblr}{+o +m +b}{
-\ifdefined\AbntTblrFont \AbntTblrFont \fi
+
+%%% tallabnttblr begin
+%%% \if@tablularray@abnt@mark@spanpages
+%%% DEBUG: mark span pages active
+%%% \fi
+%%% table+quadro counter = \tabularray@abnt@tblr@count@roman
+\ifdefined\@tabularray@abnt@tblr@font \@tabularray@abnt@tblr@font \fi
\begin{talltblr}[theme=abnt,#1]{#2}
#3
\end{talltblr}
+
+%%% tallabnttblr end
+%%% \if@tablularray@abnt@mark@spanpages
+%%% DEBUG: mark span pages active
+%%% \fi
+%%% table+quadro counter = \tabularray@abnt@tblr@count@roman
}{}
\NewDocumentEnvironment{longabnttblr}{+o +m +b}{
-\ifdefined\AbntTblrFont \AbntTblrFont \fi
+
+%%% longabnttblr begin
+%%% \if@tablularray@abnt@mark@spanpages
+%%% DEBUG: mark span pages active
+%%% \fi
+%%% table+quadro counter = \tabularray@abnt@tblr@count@roman
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iftrue
+\ifdefined\@tabularray@abnt@tblr@font \@tabularray@abnt@tblr@font \fi
\begin{longtblr}[theme=abnt,#1]{#2}
#3
\end{longtblr}
+
+%%% \global\let\if@tablularray@abnt@mark@spanpages\iffalse
+
+%%% longabnttblr end
+%%% \if@tablularray@abnt@mark@spanpages
+%%% DEBUG: mark span pages active
+%%% \fi
+%%% table+quadro counter = \tabularray@abnt@tblr@count@roman
}{}
%% end: tabularray-abnt.sty
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlibrarytikzlings.code.tex b/Master/texmf-dist/tex/latex/tikzlings/tikzlibrarytikzlings.code.tex
index 2c4d97db21c..7fcc0e83971 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlibrarytikzlings.code.tex
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlibrarytikzlings.code.tex
@@ -29,6 +29,6 @@
\tikzset{
tikzling/.pic={\tikzling},
- tikzling/.search also={,/tikz,/pgf,/thing},
- thing/.search also={,/tikz,/pgf},
+ tikzling/.search also={,/tikz,/pgf,/thing},
+ thing/.search also={,/tikz,/pgf},
} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty
index 6b5f2fc8a71..ef2fb63bebf 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty
@@ -12,7 +12,7 @@
% See https://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-addons}[2024/12/12 version v2.1 Draw additional items for the tikzlings]
+\ProvidesPackage{tikzlings-addons}[2025/01/05 version v2.2 Draw additional items for the tikzlings]
\RequirePackage{tikz}
\usetikzlibrary{patterns} % for the wizard hat
@@ -58,63 +58,81 @@
\end{scope}%
}
+\def\thing@listhead{}
+\def\thing@listacces{}
+\def\thing@headtext{head}
+\def\thing@accesstext{acess}
+
+\ExplSyntaxOn
+\NewDocumentCommand{\thing@ini}{om}{
+ \expandafter\newif\csname ifthing@#2\endcsname
+ \def\thing@tmp{#1}
+ \ifx\thing@headtext\thing@tmp
+ \tl_put_right:Nn \thing@listhead { {#2} }
+ \fi
+ \ifx\thing@accesstext\thing@tmp
+ \tl_put_right:Nn \thing@listacces { {#2} }
+ \fi
+}
+\ExplSyntaxOff
+
% Hats %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifthing@hat
-\newif\ifthing@tophat
-\newif\ifthing@beret
-\newif\ifthing@strawhat
-\newif\ifthing@harlequin
-\newif\ifthing@witch
-\newif\ifthing@magichat
-\newif\ifthing@crown
-\newif\ifthing@queencrown
-\newif\ifthing@kingcrown
-\newif\ifthing@santa
-\newif\ifthing@chef
-\newif\ifthing@graduate
-\newif\ifthing@sombrero
-\newif\ifthing@alien
+\thing@ini[head]{hat}
+\thing@ini[head]{tophat}
+\thing@ini[head]{beret}
+\thing@ini[head]{strawhat}
+\thing@ini[head]{harlequin}
+\thing@ini[head]{witch}
+\thing@ini[head]{magichat}
+\thing@ini[head]{crown}
+\thing@ini[head]{queencrown}
+\thing@ini[head]{kingcrown}
+\thing@ini[head]{santa}
+\thing@ini[head]{chef}
+\thing@ini[head]{graduate}
+\thing@ini[head]{sombrero}
+\thing@ini[head]{alien}
% Communication %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifthing@book
-\newif\ifthing@signpost
+\thing@ini[acess]{book}
+\thing@ini[acess]{signpost}
\newif\ifthing@speech
\newif\ifthing@think
% Food %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifthing@pizza
+\thing@ini[acess]{pizza}
\newif\ifthing@davidlikespineapplepizza
-\newif\ifthing@cheese
-\newif\ifthing@baguette
-\newif\ifthing@cake
-\newif\ifthing@icecream
-\newif\ifthing@milkshake
-\newif\ifthing@wine
-\newif\ifthing@cocktail
-\newif\ifthing@banana
+\thing@ini[acess]{cheese}
+\thing@ini[acess]{baguette}
+\thing@ini[acess]{cake}
+\thing@ini[acess]{icecream}
+\thing@ini[acess]{milkshake}
+\thing@ini[acess]{wine}
+\thing@ini[acess]{cocktail}
+\thing@ini[acess]{banana}
% Sport %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifthing@cricket
-\newif\ifthing@hockey
-\newif\ifthing@football
+\thing@ini[acess]{cricket}
+\thing@ini[acess]{hockey}
+\thing@ini[acess]{football}
% Other %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifthing@crystalball
-\newif\ifthing@magicwand
-\newif\ifthing@rollingpin
-\newif\ifthing@lightsaber
-\newif\ifthing@torch
-\newif\ifthing@basket
-\newif\ifthing@easter
-\newif\ifthing@crozier
-\newif\ifthing@shovel
-\newif\ifthing@pickaxe
-\newif\ifthing@strawbroom
-\newif\ifthing@broom
-\newif\ifthing@umbrella
-\newif\ifthing@umbrellaclosed
-\newif\ifthing@handbag
-\newif\ifthing@stick
+\thing@ini[acess]{crystalball}
+\thing@ini[acess]{magicwand}
+\thing@ini[acess]{rollingpin}
+\thing@ini[acess]{lightsaber}
+\thing@ini[acess]{torch}
+\thing@ini[acess]{basket}
+\thing@ini[acess]{easter}
+\thing@ini[acess]{crozier}
+\thing@ini[acess]{shovel}
+\thing@ini[acess]{pickaxe}
+\thing@ini[acess]{strawbroom}
+\thing@ini[acess]{broom}
+\thing@ini[acess]{umbrella}
+\thing@ini[acess]{umbrellaclosed}
+\thing@ini[acess]{handbag}
+\thing@ini[acess]{stick}
\tikzset{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% General
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -126,58 +144,58 @@
% Hats
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- hat/.code = \thing@hattrue
+ hat/.code = \thing@hattrue
\def\thing@hat{#1},
- hat/.default = blue!40!black,
- tophat/.code = \thing@tophattrue
+ hat/.default = blue!40!black,
+ tophat/.code = \thing@tophattrue
\def\thing@tophat{#1},
top hat/.forward to = /thing/tophat,
tophat/.default = black!90!white,
- beret/.code = \thing@berettrue
+ beret/.code = \thing@berettrue
\def\thing@beret{#1},
- beret/.default = black,
+ beret/.default = black,
strawhat/.code = \thing@strawhattrue
\def\thing@strawhat{#1},
straw hat/.forward to = /thing/strawhat,
strawhat/.default = gray!30!white,
ribbon/.code = \def\thing@ribbon{#1},
ribbon = black,
- harlequin/.code = \thing@harlequintrue
+ harlequin/.code = \thing@harlequintrue
\def\thing@harlequin{#1},
harlequin/.default = blue,
- niuqelrah/.code = \def\thing@niuqelrah{#1},
- niuqelrah = red,
- witch/.code = \thing@witchtrue
- \def\thing@witch{#1},
- witch/.default = black,
- magichat/.code = \thing@magichattrue
+ niuqelrah/.code = \def\thing@niuqelrah{#1},
+ niuqelrah = red,
+ witch/.code = \thing@witchtrue
+ \def\thing@witch{#1},
+ witch/.default = black,
+ magichat/.code = \thing@magichattrue
\def\thing@magichat{#1},
magic hat/.forward to = /thing/magichat,
magichat/.default = violet,
magicstars/.code = \def\thing@magicstars{#1},
- magic stars/.forward to = /thing/magicstars,
- magicstars = yellow!80!brown,
- crown/.code = \thing@crowntrue
+ magic stars/.forward to = /thing/magicstars,
+ magicstars = yellow!80!brown,
+ crown/.code = \thing@crowntrue
\def\thing@crown{#1},
- crown/.default = yellow!90!orange,
- queencrown/.code = \thing@queencrowntrue
+ crown/.default = yellow!90!orange,
+ queencrown/.code = \thing@queencrowntrue
\def\thing@queencrown{#1},
queen crown/.forward to = /thing/queencrown,
queencrown/.default = yellow,
- kingcrown/.code = \thing@kingcrowntrue
+ kingcrown/.code = \thing@kingcrowntrue
\def\thing@kingcrown{#1},
king crown/.forward to = /thing/kingcrown,
kingcrown/.default = gray,
- santa/.code = \thing@santatrue
+ santa/.code = \thing@santatrue
\def\thing@santa{#1},
santa/.default = red!80!black,
- chef/.code = \thing@cheftrue
- \def\thing@chef{#1},
- chef/.default = gray!20!white,
- graduate/.code = \thing@graduatetrue
+ chef/.code = \thing@cheftrue
+ \def\thing@chef{#1},
+ chef/.default = gray!20!white,
+ graduate/.code = \thing@graduatetrue
\def\thing@graduate{#1},
graduate/.default = black,
- tassel/.code = \def\thing@tassel{#1},
+ tassel/.code = \def\thing@tassel{#1},
tassel = red,
sombrero/.code = \thing@sombrerotrue
\def\thing@sombrero{#1},
@@ -187,10 +205,10 @@
sombrerob/.code = \def\thing@sombrerob{#1},
sombrerob = red,
sombreroc/.code = \def\thing@sombreroc{#1},
- sombreroc = blue,
- alien/.code = \thing@alientrue
+ sombreroc = blue,
+ alien/.code = \thing@alientrue
\def\thing@alien{#1},
- alien/.default = green,
+ alien/.default = green,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Communication
@@ -203,17 +221,17 @@
book color/.forward to = /thing/bookcolour,
bookcolor/.forward to = /thing/bookcolour,
bookcolour = brown,
- signpost/.code = \thing@signposttrue
+ signpost/.code = \thing@signposttrue
\def\thing@signpost{#1},
sign post/.forward to = /thing/signpost,
signcolour/.code = \def\thing@signcolour{#1},
sign colour/.forward to = /thing/signcolour,
sign color/.forward to = /thing/signcolour,
- signcolor/.forward to = /thing/signcolour,
- signcolour = brown!50!black,
+ signcolor/.forward to = /thing/signcolour,
+ signcolour = brown!50!black,
signback/.code = \def\thing@signback{#1},
sign back/.forward to = /thing/signback,
- signback = green!40!black,
+ signback = green!40!black,
speech/.code = \thing@speechtrue
\def\thing@speech{#1},
think/.code = \thing@thinktrue
@@ -221,7 +239,7 @@
bubblecolour/.code = \def\thing@bubblecolour{#1},
bubble colour/.forward to = /thing/bubblecolour,
bubble color/.forward to = /thing/bubblecolour,
- bubblecolor/.forward to = /thing/bubblecolour,
+ bubblecolor/.forward to = /thing/bubblecolour,
bubblecolour = gray!30!white,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -230,12 +248,12 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pizza/.code = \thing@pizzatrue,
davidlikespineapplepizza/.code = \thing@davidlikespineapplepizzatrue
- \thing@speechtrue
+ \thing@speechtrue
\def\thing@speech{\scalebox{\scalingfactor}{\scalebox{0.9}{\tiny ih, che schifo!}}},
david likes pineapple pizza/.forward to = /thing/davidlikespineapplepizza,
cheese/.code = \thing@cheesetrue
\def\thing@cheese{#1},
- cheese/.default = yellow!30!orange!60!white,
+ cheese/.default = yellow!30!orange!60!white,
baguette/.code = \thing@baguettetrue
\def\thing@baguette{#1},
baguette/.default = brown,
@@ -254,17 +272,17 @@
flavourb = white!70!brown,
flavourc/.code = \def\thing@flavourc{#1},
flavour c/.forward to = /thing/flavourc,
- flavourc = red!50!white,
+ flavourc = red!50!white,
milkshake/.code = \thing@milkshaketrue
- \def\thing@milkshake{#1},
- milkshake/.default = red!20!white,
+ \def\thing@milkshake{#1},
+ milkshake/.default = red!20!white,
wine/.code = \thing@winetrue
- \def\thing@wine{#1},
- wine/.default = red!70!black,
- cocktail/.code = \thing@cocktailtrue,
+ \def\thing@wine{#1},
+ wine/.default = red!70!black,
+ cocktail/.code = \thing@cocktailtrue,
banana/.code = \thing@bananatrue
\def\thing@banana{#1},
- banana/.default = yellow!80!orange,
+ banana/.default = yellow!80!orange,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Sport
@@ -286,11 +304,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
crystalball/.code = \thing@crystalballtrue
\def\thing@crystalball{#1},
- crystal ball/.forward to = /thing/crystalball,
- crystalball/.default = cyan,
+ crystal ball/.forward to = /thing/crystalball,
+ crystalball/.default = cyan,
magicwand/.code = \thing@magicwandtrue,
magic want/.forward to = /thing/magicwand,
- rollingpin/.code = \thing@rollingpintrue
+ rollingpin/.code = \thing@rollingpintrue
\def\thing@rollingpin{#1},
rolling pin/.forward to = /thing/rollingpin,
rollingpin/.default = brown,
@@ -347,12 +365,12 @@
umbrella closed/.forward to = /thing/umbrellaclosed,
handbag/.code = \thing@handbagtrue
\def\thing@handbag{#1},
- handbag/.default = red!70!black,
+ handbag/.default = red!70!black,
stick/.code = \thing@sticktrue
\def\thing@stick{#1},
stick/.default = brown!50!black,
leaf/.store in = \thing@leaf,
- leaf = green!70!red,
+ leaf = green!70!red,
}
\def\thing@draw{%
@@ -367,7 +385,7 @@
\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}%
\pgfmathsetmacro{\xscalefactor}{\tmpscaleA}
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
-\pgfmathsetmacro{\decoscalefactor}{sign(\tmpscaleA)*sign(\tmpscaleD)*\scalingfactor}%
+\pgfmathsetmacro{\decoscalefactor}{sign(\tmpscaleA)*sign(\tmpscaleD)*\scalingfactor}%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -378,15 +396,15 @@
% Hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@hat
\fill[\thing@hat,rotate around={-15:(-0.3,2.01)}] (-0.3,2.01) rectangle (0.46,2.31);
- \fill[\thing@hat] (0.05,1.92) ellipse[x radius=0.6, y radius=0.1, rotate=-15];
- \fill[\thing@hat] (0.14,2.2) ellipse[x radius=0.37, y radius=0.08, rotate=-15];
+ \fill[\thing@hat] (0.05,1.92) ellipse[x radius=0.6, y radius=0.1, rotate=-15];
+ \fill[\thing@hat] (0.14,2.2) ellipse[x radius=0.37, y radius=0.08, rotate=-15];
\fi
%
% Tophat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@tophat
\fill[\thing@tophat] (0.1,1.94) ellipse[x radius=0.48, y radius=0.1, rotate=-15];
\fill[\thing@tophat,rotate around={-15:(0.15,2.165)}] (-0.17, 1.94) -- (0.46, 1.94) -- (0.52, 2.39) -- (-0.22, 2.39) -- cycle;
- \fill[\thing@tophat] (0.21,2.385) ellipse[x radius=0.37, y radius=0.08, rotate=-15];
+ \fill[\thing@tophat] (0.21,2.385) ellipse[x radius=0.37, y radius=0.08, rotate=-15];
\fi
%
% Beret %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -401,13 +419,13 @@
% Straw hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@strawhat
\begin{scope}[xshift=-16,rotate=12,yshift=-1]
- \fill[\thing@strawhat,rotate=-15] (0.44,2.0) ellipse[x radius=0.75, y radius=0.1];
+ \fill[\thing@strawhat,rotate=-15] (0.44,2.0) ellipse[x radius=0.75, y radius=0.1];
\fill[\thing@strawhat,rotate=-15] (0.1,2.05) rectangle (0.78,2.5);
- \fill[\thing@strawhat,rotate=-15] (0.44,2.5) ellipse[x radius=0.34, y radius=0.08];
+ \fill[\thing@strawhat,rotate=-15] (0.44,2.5) ellipse[x radius=0.34, y radius=0.08];
\fill[\thing@strawhat,rotate=-15] (-0.3,2.02) -- (1.18,2.02) -- (0.78,2.2) -- (0.1,2.2) -- cycle;
- \fill[\thing@ribbon,rotate=-15] (0.44,2.2) ellipse[x radius=0.34, y radius=0.08];
+ \fill[\thing@ribbon,rotate=-15] (0.44,2.2) ellipse[x radius=0.34, y radius=0.08];
\fill[\thing@ribbon,rotate=-15] (0.1,2.2) rectangle (0.78,2.3);
- \fill[\thing@strawhat,rotate=-15] (0.44,2.3) ellipse[x radius=0.34, y radius=0.08];
+ \fill[\thing@strawhat,rotate=-15] (0.44,2.3) ellipse[x radius=0.34, y radius=0.08];
\end{scope}
\fi
%
@@ -424,8 +442,8 @@
%
% witch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@witch
- \begin{scope}[xshift=-26]
- \fill[\thing@witch,rotate=-15] (0.44,2.13) ellipse[x radius=0.75, y radius=0.17];
+ \begin{scope}[xshift=-26]
+ \fill[\thing@witch,rotate=-15] (0.44,2.13) ellipse[x radius=0.75, y radius=0.17];
\fill[\thing@witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2);
\end{scope}
\fi
@@ -433,9 +451,7 @@
% magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@magichat
\begin{scope}[xshift=-26]
- \path[preaction={fill, \thing@magichat!100},rotate=-5,
- pattern=fivepointed stars, pattern color=\thing@magicstars!100]
- (0.36,1.95)--(0.86,2.95)--(1.20,1.85);
+ \path[preaction={fill, \thing@magichat!100},rotate=-5,pattern=fivepointed stars, pattern color=\thing@magicstars!100] (0.36,1.95)--(0.86,2.95)--(1.20,1.85);
\end{scope}
\fi
%
@@ -502,17 +518,8 @@
% Santa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@santa
\begin{scope}[xshift=-26]
- \fill[\thing@santa]
- (0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) ..
- (1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) ..
- (1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) ..
- (1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) ..
- (0.430,1.803) -- cycle;
- \fill[white!80!brown]
- (0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) ..
- (1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) ..
- (1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) ..
- (0.44,1.733) -- cycle;
+ \fill[\thing@santa] (0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) .. (1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) .. (1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) .. (1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) .. (0.430,1.803) -- cycle;
+ \fill[white!80!brown] (0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) .. (1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) .. (1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) .. (0.44,1.733) -- cycle;
\fill[white!80!brown] (1.6,1.0) circle[radius=0.17];
\end{scope}
\fi
@@ -520,7 +527,7 @@
% Chef hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@chef
\begin{scope}[xshift=-26]
- \fill[\thing@chef,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.08];
+ \fill[\thing@chef,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.08];
\fill[\thing@chef,rotate=-15] (0.07,2.1) rectangle (0.81,2.55);
\fill[\thing@chef] (1.01,2.47) circle[radius=0.17];
\fill[\thing@chef] (1.24,2.35) circle[radius=0.15];
@@ -532,7 +539,7 @@
% graduate hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@graduate
\begin{scope}[xshift=-26]
- \fill[\thing@graduate,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.1];
+ \fill[\thing@graduate,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.1];
\fill[\thing@graduate,rotate=-15] (0.07,2.1) rectangle (0.81,2.3);
\fill[\thing@graduate] (0.3,2.25) -- (1.05,2.35) -- (1.7,1.95) -- (0.92,1.85) -- cycle;
\fill[\thing@tassel,rounded corners=\scalingfactor*1] (1.12,1.89) -- (1.01,2.1) -- (1.09,2.11) -- (1.2,1.9) -- (1.2,1.3) -- (1.12,1.3) -- cycle;
@@ -548,9 +555,9 @@
\draw[decorate,decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*6pt},\thing@sombreroa, line width=\scalingfactor*1pt] (-0.81, 1.8) .. controls (-0.30, 2.1) and (0.30, 2.1) .. ( 0.82, 1.8);
\begin{scope}
\clip (-.45,2) to[in=200] (0,2.8) to[out=-20] (.45,2) -- cycle;
- \draw[decorate,decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*3pt},\thing@sombreroa, line width=\scalingfactor*1pt] (-.4,2.4) to[bend left] (.4,2.4);
- \fill[decorate,decoration={shape backgrounds,shape=circle, shape size=\scalingfactor*2pt, shape evenly spread=7}, \thing@sombreroc] (-.3,2.6) to[bend left] (.3,2.6);
- \fill[decorate,decoration={shape backgrounds,shape=circle,shape size=\scalingfactor*2pt,shape evenly spread=9},\thing@sombreroc] (-.4,2.18) to[bend left] (.4,2.18);
+ \draw[decorate,decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*3pt},\thing@sombreroa, line width=\scalingfactor*1pt] (-.4,2.4) to[bend left] (.4,2.4);
+ \fill[decorate,decoration={shape backgrounds,shape=circle, shape size=\scalingfactor*2pt, shape evenly spread=7}, \thing@sombreroc] (-.3,2.6) to[bend left] (.3,2.6);
+ \fill[decorate,decoration={shape backgrounds,shape=circle,shape size=\scalingfactor*2pt,shape evenly spread=9},\thing@sombreroc] (-.4,2.18) to[bend left] (.4,2.18);
\end{scope}
\fi
%
@@ -571,8 +578,7 @@
% book %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@book
\begin{scope}[xshift=-25,yshift=1]
- \fill[\thing@bookcolour,rotate=-20]
- (0.40,1.20) rectangle (0.80,0.60);
+ \fill[\thing@bookcolour,rotate=-20] (0.40,1.20) rectangle (0.80,0.60);
\node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (0.88,0.70) {\thing@book};%
\end{scope}
\fi
@@ -599,7 +605,7 @@
% think bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@think
\begin{scope}[xshift=-26]
- \fill[\thing@bubblecolour] (2,2.4) ellipse[x radius=0.7, y radius=0.35];
+ \fill[\thing@bubblecolour] (2,2.4) ellipse[x radius=0.7, y radius=0.35];
\fill[\thing@bubblecolour] (1.55,2.35) circle[radius=0.25] (2.0,2.15) circle[radius=0.25] (2.4,2.25) circle[radius=0.25] (1.6,2.55) circle[radius=0.25] (2.0,2.6) circle[radius=0.25] (2.35,2.5) circle[radius=0.25] (1.65,1.95) circle[radius=0.1] (1.55,1.80) circle[radius=0.06] (1.47,1.70) circle[radius=0.03];
\node at (2,2.4) {\thing@think};
\end{scope}
@@ -616,9 +622,9 @@
\begin{scope}[xshift=-28,yshift=2]
\fill[brown] (1.00,0.60) ellipse[x radius=0.4, y radius=0.2];
\fill[red!70!black] (1.00,0.60) ellipse[x radius=0.34, y radius=0.16];
- \fill[white!85!yellow] (1.15,0.65) ellipse[x radius=0.065, y radius=0.04];
- \fill[white!85!yellow] (0.81,0.57) ellipse[x radius=0.065, y radius=0.04];
- \fill[white!85!yellow] (0.95,0.68) ellipse[x radius=0.065, y radius=0.04];
+ \fill[white!85!yellow] (1.15,0.65) ellipse[x radius=0.065, y radius=0.04];
+ \fill[white!85!yellow] (0.81,0.57) ellipse[x radius=0.065, y radius=0.04];
+ \fill[white!85!yellow] (0.95,0.68) ellipse[x radius=0.065, y radius=0.04];
\fill[white!85!yellow] (1.02,0.54) ellipse[x radius=0.065, y radius=0.04];
\fill[green!40!brown] (1.09,0.54) ellipse[x radius=0.07, y radius=0.02];
\fill[green!40!brown,rotate=20] (1.0,0.34) ellipse[x radius=0.07, y radius=0.02];
@@ -631,18 +637,18 @@
\begin{scope}[xshift=-28,yshift=2]
\fill[brown] (1.00,0.60) ellipse[x radius=0.4, y radius=0.2];
\fill[red!70!black] (1.00,0.60) ellipse[x radius=0.34, y radius=0.16];
- \fill[yellow!70!brown] (1.15,0.65) ellipse[x radius=0.08, y radius=0.06];
- \fill[red!70!black] (1.15,0.65) ellipse[x radius=0.04, y radius=0.03];
- \fill[yellow!70!brown] (0.81,0.57) ellipse[x radius=0.08, y radius=0.06];
- \fill[red!70!black] (0.81,0.57) ellipse[x radius=0.04, y radius=0.03];
- \fill[yellow!70!brown] (0.95,0.68) ellipse[x radius=0.08, y radius=0.06];
- \fill[red!70!black] (0.95,0.68) ellipse[x radius=0.04, y radius=0.03];
+ \fill[yellow!70!brown] (1.15,0.65) ellipse[x radius=0.08, y radius=0.06];
+ \fill[red!70!black] (1.15,0.65) ellipse[x radius=0.04, y radius=0.03];
+ \fill[yellow!70!brown] (0.81,0.57) ellipse[x radius=0.08, y radius=0.06];
+ \fill[red!70!black] (0.81,0.57) ellipse[x radius=0.04, y radius=0.03];
+ \fill[yellow!70!brown] (0.95,0.68) ellipse[x radius=0.08, y radius=0.06];
+ \fill[red!70!black] (0.95,0.68) ellipse[x radius=0.04, y radius=0.03];
\fill[yellow!70!brown] (1.02,0.54) ellipse[x radius=0.08, y radius=0.06];
- \fill[red!70!black] (1.02,0.54) ellipse[x radius=0.04, y radius=0.03];
+ \fill[red!70!black] (1.02,0.54) ellipse[x radius=0.04, y radius=0.03];
\fill[green!40!brown] (1.09,0.54) ellipse[x radius=0.07, y radius=0.02];
\fill[green!40!brown,rotate=20] (1.0,0.34) ellipse[x radius=0.07, y radius=0.02];
\fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse[x radius=0.07, y radius=0.02];
- \fill[green!40!brown] (1.00,0.60) ellipse[x radius=0.03, y radius=0.06];
+ \fill[green!40!brown] (1.00,0.60) ellipse[x radius=0.03, y radius=0.06];
\end{scope}
\fi
%
@@ -682,7 +688,7 @@
\fill[\thing@cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20);
\fill[\thing@flavoura] (0.85,1.03) circle[radius=0.12];
\fill[\thing@flavourb] (1.05,0.95) circle[radius=0.12];
- \fill[\thing@flavourc] (0.95,1.1) circle[radius=0.12];
+ \fill[\thing@flavourc] (0.95,1.1) circle[radius=0.12];
\end{scope}
\fi
%
@@ -692,7 +698,7 @@
\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse[x radius=0.17, y radius=0.05];
\fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse[x radius=0.12, y radius=0.03];
\begin{scope}
- \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03);
+ \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03);
\fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse[x radius=0.18, y radius=0.4];
\fill[\thing@milkshake, rotate=-10] (0.8,0.94) ellipse[x radius=0.15, y radius=0.36];
\end{scope}
@@ -700,7 +706,7 @@
\fill[red!90!black] (1.0,1.1) circle[radius=0.05];
\fill[white!85!yellow] (0.94,1.05) circle[radius=0.05] (1.03,1.03) circle[radius=0.05];
\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse[x radius=0.17, y radius=0.05];
- \fill[red!90!black,rotate=20] (1.2,0.58) rectangle (1.22,0.85);
+ \fill[red!90!black,rotate=20] (1.2,0.58) rectangle (1.22,0.85);
\end{scope}
\fi
%
@@ -711,11 +717,11 @@
\fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse[x radius=0.12, y radius=0.03];
\fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse[x radius=0.03, y radius=0.2];
\begin{scope}
- \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03);
+ \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03);
\fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse[x radius=0.18, y radius=0.4];
\end{scope}
\begin{scope}
- \clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87);
+ \clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87);
\fill[\thing@wine, rotate=-10] (0.8,1.1) ellipse[x radius=0.15, y radius=0.36];
\end{scope}
\end{scope}
@@ -790,7 +796,7 @@
\ifthing@crystalball
\shade[ball color=\thing@crystalball,opacity=0.7] (0,0.8) circle[radius=0.33];
\fi
-%
+%
% magic wand %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@magicwand
\begin{scope}[xshift=-16,yshift=2]
@@ -818,51 +824,36 @@
% torch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@torch
\begin{scope}[xshift=-26]
- \fill[red!50!yellow]
- (1.4338,1.025) .. controls (1.4308,0.8877) and (1.3468,0.8997) ..
- (1.2447,0.748) .. controls (1.1427,0.8982) and (1.0721,0.8892) ..
- (1.0646,1.024) .. controls (1.0541,1.1714) and (1.2642,1.1654) ..
- (1.2492,1.386) .. controls (1.3093,1.3110) and (1.4383,1.2705) ..
- (1.4338,1.025) -- cycle;
- \fill[red!25!yellow, scale=0.67, xshift=17, yshift=15]
- (1.4338,1.025) .. controls (1.4308,0.8877) and (1.3468,0.8997) ..
- (1.2447,0.748) .. controls (1.1427,0.8982) and (1.0721,0.8892) ..
- (1.0646,1.024) .. controls (1.0541,1.1714) and (1.2642,1.1654) ..
- (1.2492,1.386) .. controls (1.3093,1.3110) and (1.4383,1.2705) ..
- (1.4338,1.025) -- cycle;
- \fill[white!50!yellow, scale=0.4, xshift=53.5, yshift=45.3]
- (1.4338,1.025) .. controls (1.4308,0.8877) and (1.3468,0.8997) ..
- (1.2447,0.748) .. controls (1.1427,0.8982) and (1.0721,0.8892) ..
- (1.0646,1.024) .. controls (1.0541,1.1714) and (1.2642,1.1654) ..
- (1.2492,1.386) .. controls (1.3093,1.3110) and (1.4383,1.2705) ..
- (1.4338,1.025) -- cycle;
+ \fill[red!50!yellow] (1.4338,1.025) .. controls (1.4308,0.8877) and (1.3468,0.8997) .. (1.2447,0.748) .. controls (1.1427,0.8982) and (1.0721,0.8892) .. (1.0646,1.024) .. controls (1.0541,1.1714) and (1.2642,1.1654) .. (1.2492,1.386) .. controls (1.3093,1.3110) and (1.4383,1.2705) .. (1.4338,1.025) -- cycle;
+ \fill[red!25!yellow, scale=0.67, xshift=17, yshift=15] (1.4338,1.025) .. controls (1.4308,0.8877) and (1.3468,0.8997) .. (1.2447,0.748) .. controls (1.1427,0.8982) and (1.0721,0.8892) .. (1.0646,1.024) .. controls (1.0541,1.1714) and (1.2642,1.1654) .. (1.2492,1.386) .. controls (1.3093,1.3110) and (1.4383,1.2705) .. (1.4338,1.025) -- cycle;
+ \fill[white!50!yellow, scale=0.4, xshift=53.5, yshift=45.3] (1.4338,1.025) .. controls (1.4308,0.8877) and (1.3468,0.8997) .. (1.2447,0.748) .. controls (1.1427,0.8982) and (1.0721,0.8892) .. (1.0646,1.024) .. controls (1.0541,1.1714) and (1.2642,1.1654) .. (1.2492,1.386) .. controls (1.3093,1.3110) and (1.4383,1.2705) .. (1.4338,1.025) -- cycle;
\fill[\thing@torch,rounded corners=\scalingfactor*1]
(1.1,0.96) -- (0.77,0.25) -- (0.83,0.25) -- (1.3,0.86) -- cycle;
\fill[\thing@torch,rotate=-28] (0.62,1.32) ellipse[x radius=0.2, y radius=0.08];
\end{scope}
\fi%
-%
+%
% basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@basket
\begin{scope}[xshift=-28.5]
\fill[\thing@basket, start angle=180, end angle=360, x radius=0.35, y radius=0.35] (0.65,0.61) arc -- cycle;
\fill[\thing@basket, start angle=180, end angle=0, even odd rule] [x radius=0.35, y radius=0.5] (0.65,0.6) arc -- cycle [x radius=0.3, y radius=0.45] (0.7,0.6) arc -- cycle;
- \fill[\thing@basket, even odd rule] (1,0.6) ellipse[x radius=0.35, y radius=0.1] (1,0.6) ellipse[x radius=0.3, y radius=0.07];
+ \fill[\thing@basket, even odd rule] (1,0.6) ellipse[x radius=0.35, y radius=0.1] (1,0.6) ellipse[x radius=0.3, y radius=0.07];
\fill[\thing@basket!75!black] (1,0.6) ellipse[x radius=0.3, y radius=0.07];
- \end{scope}
-\fi%
+ \end{scope}
+\fi%
%
% easter basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@easter
\begin{scope}[xshift=-28.5]
\begin{scope}
- \clip [start angle=180, end angle=0, x radius=0.3, y radius=0.45] (0.7,0.6) arc -- cycle [start angle=180, end angle=360, x radius=0.3, y radius=0.07] (0.7,0.6) arc -- cycle;
+ \clip [start angle=180, end angle=0, x radius=0.3, y radius=0.45] (0.7,0.6) arc -- cycle [start angle=180, end angle=360, x radius=0.3, y radius=0.07] (0.7,0.6) arc -- cycle;
\fill[\thing@eggb, rotate=-5] (0.95,0.72) ellipse[x radius=0.09, y radius=0.13];
\fill[\thing@egga, rotate=10] (0.94,0.42) ellipse[x radius=0.09, y radius=0.13];
\fill[\thing@eggc, rotate=-30] (0.7,1.08) ellipse[x radius=0.09, y radius=0.13];
\end{scope}
- \end{scope}
-\fi%
+ \end{scope}
+\fi%
%
% crozier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthing@crozier
@@ -871,7 +862,7 @@
\clip [rotate=-20] (0.6,2.3) rectangle (1.1,1.999);
\fill[even odd rule,\thing@crozier] (1.5,1.6) circle[radius=0.2] (1.5,1.6) circle[radius=0.1];
\end{scope}
- \fill[\thing@crozier,rotate=-20] (0.663,0.5) rectangle (0.763,2.0);
+ \fill[\thing@crozier,rotate=-20] (0.663,0.5) rectangle (0.763,2.0);
\end{scope}
\fi
%
@@ -935,9 +926,9 @@
\fill[\thing@leaf] (-0.01,0) .. controls (-0.1,0) and (-0.02, 0.2) .. (0,0.2) .. controls (0.02, 0.2) and (0.1,0) .. (0.01,0.0);
\path[clip] (-0.04,-0.04)-- (-0.01,0) .. controls (-0.1,0) and (-0.02, 0.2) .. (0,0.2) .. controls (0.02, 0.2) and (0.1,0) .. (0.01,0)-- (0.04,-0.04) --cycle;
\draw[\thing@leaf!80!, line width=0.1] (0,-0.04) -- (0,0.2) \foreach \i in {0.02,0.04,...,0.2} {(0,\i) -- ++(0.1,\i) (0,\i) -- ++(-0.1,\i)} ;
- \end{scope}
+ \end{scope}
%stick itself
- \fill[\thing@stick!90!red] (-0.04,0.8) -- (-0.04,0.4) arc[start angle=345,end angle=270,radius=0.03] -- ++(0,-0.01) arc[start angle=90,end angle=15,radius=0.03] -- (-0.04,0) arc [start angle=180, end angle=360 ,x radius=0.04, y radius=0.02] -- (0.04, 0.4) arc [start angle=180, end angle=120, radius=0.08] arc [start angle=-90, end angle=90, x radius=0.02, y radius=0.04] arc [start angle=240, end angle=180, radius=0.08] -- (0.04,0.75) arc [start angle=0, end angle=120 ,x radius=0.04, y radius=0.02] --cycle;
+ \fill[\thing@stick!90!red] (-0.04,0.8) -- (-0.04,0.4) arc[start angle=345,end angle=270,radius=0.03] -- ++(0,-0.01) arc[start angle=90,end angle=15,radius=0.03] -- (-0.04,0) arc [start angle=180, end angle=360 ,x radius=0.04, y radius=0.02] -- (0.04, 0.4) arc [start angle=180, end angle=120, radius=0.08] arc [start angle=-90, end angle=90, x radius=0.02, y radius=0.04] arc [start angle=240, end angle=180, radius=0.08] -- (0.04,0.75) arc [start angle=0, end angle=120 ,x radius=0.04, y radius=0.02] --cycle;
\fill[\thing@stick!90!] (0.08, 0.51) ellipse [x radius=0.02, y radius=0.04] (0,0.75) ellipse [x radius=0.04, y radius=0.02] ;
\draw[\thing@stick!90!red, line width=0.06] (0.08, 0.51) ellipse [x radius=0.016, y radius=0.032]
ellipse [x radius=0.012, y radius=0.024] ellipse [x radius=0.008, y radius=0.016] (0,0.75) ellipse [y radius=0.016, x radius=0.032] ellipse [y radius=0.012, x radius=0.024] ellipse [y radius=0.008, x radius=0.016] ;
@@ -946,3 +937,19 @@
\fi
%
}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Random items
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pgfmathdeclarerandomlist{head}{\thing@listhead}
+\pgfmathdeclarerandomlist{accessories}{\thing@listacces}
+
+\def\shufflethings{%
+ \pgfmathrandomitem{\head}{head}%
+ \edef\randomhead{\head}%
+ \pgfmathrandomitem{\accessories}{accessories}%
+ \edef\randomaccessories{\accessories}%
+}
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty
index 752231cc5b5..a8dfafb0b69 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-anteaters}[2024/12/12 version v2.1 Drawing anteaters in TikZ]
+\ProvidesPackage{tikzlings-anteaters}[2025/01/05 version v2.2 Drawing anteaters in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -50,28 +50,28 @@
body/.store in = \anteater@body,
body = red!55!green!75!blue!66!white,
eye/.store in = \anteater@eye,
- eye = \anteater@body!70!brown!50!darkgray,
+ eye = \anteater@body!70!brown!50!darkgray,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \anteater@threeDtrue,
+ 3D/.code = \anteater@threeDtrue,
leftstep/.code = \anteater@leftsteptrue,
left step/.forward to = /anteater/leftstep,
rightstep/.code = \anteater@rightsteptrue,
- right step/.forward to = /anteater/rightstep,
- back/.code = \anteater@backtrue,
+ right step/.forward to = /anteater/rightstep,
+ back/.code = \anteater@backtrue,
contour/.code = \anteater@contourtrue
\def\anteater@contour{#1},
- contour/.default = black,
- outline/.forward to = /anteater/contour,
+ contour/.default = black,
+ outline/.forward to = /anteater/contour,
}
\def\anteater@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.75,0.1) rectangle (1.12,2.26);
@@ -89,7 +89,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -107,25 +107,25 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname anteaterhookbackground\endcsname
\csname tikzlinghookbackground\endcsname
- %
+ %
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifanteater@leftstep
- \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
\ifanteater@rightstep
\anteater@part@draw[\anteater@body!70!brown!50!darkgray] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
\anteater@part@draw[\anteater@body!70!brown!50!darkgray] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \fi% step
%
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifanteater@back
@@ -140,9 +140,8 @@
%
% Collar %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifanteater@back
- \anteater@part@draw[\anteater@body!45!white!95!orange] (-0,1.47) ellipse [x radius=0.36, y radius=0.28];
- \anteater@part@draw[\anteater@body!70!brown!50!darkgray]
- (-0,1.47) ellipse [x radius=0.35, y radius=0.23];
+ \anteater@part@draw[\anteater@body!45!white!95!orange] (-0,1.47) ellipse [x radius=0.36, y radius=0.28];
+ \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0,1.47) ellipse [x radius=0.35, y radius=0.23];
\else% back
\anteater@part@draw[\anteater@body!45!white!95!orange] (0.33, 1.55) -- (-0.33, 1.55) .. controls (-0.5, 1.05) and (-0.1, 0.95) .. (0, 0.60) .. controls (0.1, 0.95) and (0.5, 1.05) .. (0.33, 1.55) -- cycle;
\anteater@part@draw[\anteater@body!70!brown!50!darkgray] (0.33, 1.55) -- (-0.33, 1.55) .. controls (-0.45, 1.1) and (-0.1, 1) .. (0, 0.70) .. controls (0.1, 1) and (0.45, 1.1) .. (0.33, 1.55) -- cycle;
@@ -151,15 +150,15 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname anteaterhookbelly\endcsname
\csname tikzlinghookbelly\endcsname
- %
+ %
\ifanteater@back
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\anteater@part@draw[\anteater@body] (-0,1.73) ellipse [x radius=0.36, y radius=0.33];
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (0.5551, 2.2281) .. controls (0.4961, 2.2273) and (0.4390, 2.2093) .. (0.3831, 2.1919) .. controls (0.3282, 2.173) and (0.2725, 2.1539) .. (0.2231, 2.1228) .. controls (0.1875, 2.0984) and (0.1524, 2.0637) .. (0.1470, 2.0187) .. controls (0.1446, 2.0028) and (0.1518, 1.9881) .. (0.1584, 1.9744) .. controls (0.1706, 1.9343) and (0.2090, 1.9063) .. (0.25, 1.9017) .. controls (0.3079, 1.8943) and (0.3684, 1.9134) .. (0.4132, 1.9504) .. controls (0.4657, 1.9988) and (0.5111, 2.0545) .. (0.5513, 2.1133) .. controls (0.5692, 2.1404) and (0.5854, 2.1692) .. (0.5945, 2.2004) .. controls (0.5989, 2.2232) and (0.5717, 2.2282) .. (0.5551, 2.2281) -- cycle;
- \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.5551, 2.2281) .. controls (-0.4961, 2.2273) and (-0.4390, 2.2093) .. (-0.3831, 2.1919) .. controls (-0.3282, 2.173) and (-0.2725, 2.1539) .. (-0.2231, 2.1228) .. controls (-0.1875, 2.0984) and (-0.1524, 2.0637) .. (-0.1470, 2.0187) .. controls (-0.1446, 2.0028) and (-0.1518, 1.9881) .. (-0.1584, 1.9744) .. controls (-0.1706, 1.9343) and (-0.2090, 1.9063) .. (-0.25, 1.9017) .. controls (-0.3079, 1.8943) and (-0.3684, 1.9134) .. (-0.4132, 1.9504) .. controls (-0.4657, 1.9988) and (-0.5111, 2.0545) .. (-0.5513, 2.1133) .. controls (-0.5692, 2.1404) and (-0.5854, 2.1692) .. (-0.5945, 2.2004) .. controls (-0.5989, 2.2232) and (-0.5717, 2.2282) .. (-0.5551, 2.2281) -- cycle;
- %
+ \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (0.5551, 2.2281) .. controls (0.4961, 2.2273) and (0.4390, 2.2093) .. (0.3831, 2.1919) .. controls (0.3282, 2.173) and (0.2725, 2.1539) .. (0.2231, 2.1228) .. controls (0.1875, 2.0984) and (0.1524, 2.0637) .. (0.1470, 2.0187) .. controls (0.1446, 2.0028) and (0.1518, 1.9881) .. (0.1584, 1.9744) .. controls (0.1706, 1.9343) and (0.2090, 1.9063) .. (0.25, 1.9017) .. controls (0.3079, 1.8943) and (0.3684, 1.9134) .. (0.4132, 1.9504) .. controls (0.4657, 1.9988) and (0.5111, 2.0545) .. (0.5513, 2.1133) .. controls (0.5692, 2.1404) and (0.5854, 2.1692) .. (0.5945, 2.2004) .. controls (0.5989, 2.2232) and (0.5717, 2.2282) .. (0.5551, 2.2281) -- cycle;
+ \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.5551, 2.2281) .. controls (-0.4961, 2.2273) and (-0.4390, 2.2093) .. (-0.3831, 2.1919) .. controls (-0.3282, 2.173) and (-0.2725, 2.1539) .. (-0.2231, 2.1228) .. controls (-0.1875, 2.0984) and (-0.1524, 2.0637) .. (-0.1470, 2.0187) .. controls (-0.1446, 2.0028) and (-0.1518, 1.9881) .. (-0.1584, 1.9744) .. controls (-0.1706, 1.9343) and (-0.2090, 1.9063) .. (-0.25, 1.9017) .. controls (-0.3079, 1.8943) and (-0.3684, 1.9134) .. (-0.4132, 1.9504) .. controls (-0.4657, 1.9988) and (-0.5111, 2.0545) .. (-0.5513, 2.1133) .. controls (-0.5692, 2.1404) and (-0.5854, 2.1692) .. (-0.5945, 2.2004) .. controls (-0.5989, 2.2232) and (-0.5717, 2.2282) .. (-0.5551, 2.2281) -- cycle;
+ %
\else% back
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -169,19 +168,18 @@
(-0.4086, 1.9465) .. controls (-0.4679, 1.9952) and (-0.6205, 2.1813) .. (-0.5862, 2.2146) .. controls (-0.5517, 2.2477) and (-0.3434, 2.1152) .. (-0.2841, 2.0665) .. controls (-0.2249, 2.0177) and (-0.2048, 1.9515) .. (-0.2391, 1.9184) .. controls (-0.2736, 1.8853) and (-0.3494, 1.8979) .. (-0.40861, 1.9465) -- cycle;
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \anteater@part@draw[\anteater@body]
- (0.33, 1.71) .. controls (0.16, 1.52) and (0.1, 1.5) .. (0.08, 1.05) .. controls (0.07, 1) and (-0.07, 1) .. (-0.08, 1.05) .. controls (-0.1, 1.5) and (-0.16, 1.52) .. (-0.33, 1.7) .. controls (-0.45, 1.85) and (-0.22, 2.05) .. (0, 2.05) .. controls (0.22, 2.05) and (0.45, 1.85) .. (0.33, 1.7) -- cycle;
+ \anteater@part@draw[\anteater@body] (0.33, 1.71) .. controls (0.16, 1.52) and (0.1, 1.5) .. (0.08, 1.05) .. controls (0.07, 1) and (-0.07, 1) .. (-0.08, 1.05) .. controls (-0.1, 1.5) and (-0.16, 1.52) .. (-0.33, 1.7) .. controls (-0.45, 1.85) and (-0.22, 2.05) .. (0, 2.05) .. controls (0.22, 2.05) and (0.45, 1.85) .. (0.33, 1.7) -- cycle;
%
% Cheeks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\anteater@part@draw[\anteater@body!45!white!95!orange] (0.3508, 1.739) .. controls (0.3508, 1.739) and (0.2861, 1.8489) .. (0.1571, 1.7664) .. controls (0.0279, 1.684) and (0.0627, 1.0524) .. (0.0627, 1.0524) .. controls (0.0627, 1.0524) and (0.131, 1.3772) .. (0.2314, 1.44) .. controls (0.3599, 1.5206) and (0.3508, 1.739) .. (0.3508, 1.739) -- cycle
(-0.3508, 1.739) .. controls (-0.3508, 1.739) and (-0.2861, 1.8489) .. (-0.1571, 1.7664) .. controls (-0.0279, 1.684) and (-0.0627, 1.0524) .. (-0.0627, 1.0524) .. controls (-0.0627, 1.0524) and (-0.131, 1.3772) .. (-0.2314, 1.44) .. controls (-0.3599, 1.5206) and (-0.3508, 1.739) .. (-0.3508, 1.739) -- cycle;
- %
+ %
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\anteater@part@draw[\anteater@body!70!brown!50!darkgray] (0, 1.08) ellipse[x radius=0.08, y radius=0.05];
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\anteater@part@draw[\anteater@eye] (0.23, 1.7) circle[radius=0.05];
- \anteater@part@draw[\anteater@eye] (-0.23, 1.7) circle[radius=0.05];
+ \anteater@part@draw[\anteater@eye] (-0.23, 1.7) circle[radius=0.05];
\fi% back
%
% Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -192,7 +190,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname anteaterhookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-apes.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-apes.sty
index 6f071aaa89b..58edf5c636a 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-apes.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-apes.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-apes}[2024/12/12 version v2.1 Drawing apes in TikZ]
+\ProvidesPackage{tikzlings-apes}[2025/01/05 version v2.2 Drawing apes in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -54,8 +54,8 @@
body/.store in = \ape@body,
body = red!15!brown!80!black,
eye/.store in = \ape@eye,
- eye = \ape@body!40!black,
- eyes/.forward to = /ape/eye,
+ eye = \ape@body!40!black,
+ eyes/.forward to = /ape/eye,
skin/.store in = \ape@skin,
skin = \ape@body!50!gray,
nose/.store in = \ape@nose,
@@ -73,29 +73,30 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \ape@threeDtrue,
+ 3D/.code = \ape@threeDtrue,
handposition/.code = \csname ape@handposition@#1true\endcsname,
- kikazaru/.code = \ape@handposition@hearnoeviltrue,
+ kikazaru/.code = \ape@handposition@hearnoeviltrue,
mizaru/.code = \ape@handposition@seenoeviltrue,
iwazaru/.code = \ape@handposition@speaknoeviltrue,
- %clap/.code = \ape@handposition@claptrue, %%% should we support this too?
- %waving/.code = \ape@handposition@wavingtrue, %%% should we support this too?
- hearnoevil/.code = \ape@handposition@hearnoeviltrue,
- seenoevil/.code = \ape@handposition@seenoeviltrue,
+ %clap/.code = \ape@handposition@claptrue, %%% should we support this too?
+ %waving/.code = \ape@handposition@wavingtrue, %%% should we support this too?
+ hearnoevil/.code = \ape@handposition@hearnoeviltrue,
+ seenoevil/.code = \ape@handposition@seenoeviltrue,
speaknoevil/.code = \ape@handposition@speaknoeviltrue,
back/.code = \ape@backtrue,
openmouth/.code = \ape@openmouthtrue,
+ open mouth/.forward to = /ape/openmouth,
contour/.code = \ape@contourtrue
\def\ape@contour{#1}
\def\ape@mouth{#1},
- contour/.default = black,
+ contour/.default = black,
outline/.forward to = /ape/contour,
}
\def\ape@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-1.435,0.1) rectangle (1.435, 2.27);
@@ -112,7 +113,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -130,12 +131,12 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname apehookbackground\endcsname
- \csname tikzlinghookbackground\endcsname
+ \csname tikzlinghookbackground\endcsname
%
% Draw backside partially in reversed order %%%%%%%%%%%%%%%%%%%%%%%%
\ifape@back
@@ -149,19 +150,19 @@
\ape@part@draw[\ape@arms] (0.9,1.61) ellipse[x radius=0.15, y radius=0.6, rotate=125];
% see-no-evil pose backside %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@seenoevil%
- \ape@part@draw[\ape@skin!90!white] (-0.325,1.91) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (-0.325,1.91) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (-0.59,1.97) arc [start angle=25, end angle=335,x radius=0.475, y radius=0.15] --cycle;
\ape@part@draw[\ape@arms] (-0.93,1.70) ellipse[x radius=0.15, y radius=0.6, rotate=70];
- \ape@part@draw[\ape@skin!90!white] (0.325,1.91) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
- \ape@part@draw[\ape@arms] (0.59,1.97) arc [start angle=155, end angle=-155,x radius=0.475, y radius=0.15] --cycle;
+ \ape@part@draw[\ape@skin!90!white] (0.325,1.91) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@arms] (0.59,1.97) arc [start angle=155, end angle=-155,x radius=0.475, y radius=0.15] --cycle;
\ape@part@draw[\ape@arms] (0.93,1.70) ellipse[x radius=0.15, y radius=0.6, rotate=110];
% speak-no-evil pose backside %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@speaknoevil%
\ape@part@draw[\ape@arms] (-0.85,1.55) ellipse[x radius=0.15, y radius=0.6, rotate=-100];
- \ape@part@draw[\ape@skin!90!white] (-0.275,1.46) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (-0.275,1.46) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (-0.53,1.52) {[rotate=-10] arc [start angle=15, end angle=335,x radius=0.475, y radius=0.15]} --cycle;
\ape@part@draw[\ape@arms] (0.85,1.55) ellipse[x radius=0.15, y radius=0.6, rotate=100];
- \ape@part@draw[\ape@skin!90!white] (0.275,1.46) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (0.275,1.46) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (0.53,1.52) {[rotate=10] arc [start angle=165, end angle=-155,x radius=0.475, y radius=0.15]} --cycle;
% clapping hand pose backside %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@clap%
@@ -173,9 +174,9 @@
\ape@part@draw[\ape@arms] (0.75,1.95) ellipse[x radius=0.15, y radius=0.6, rotate=150];
% waving left hand pose backside %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@waving%
- \ape@part@draw[\ape@arms] (-0.53,1.115) {[rotate=5] arc [start angle=25, end angle=335,x radius=0.475, y radius=0.15]} --cycle;
+ \ape@part@draw[\ape@arms] (-0.53,1.115) {[rotate=5] arc [start angle=25, end angle=335,x radius=0.475, y radius=0.15]} --cycle;
\ape@part@draw[\ape@arms] (-0.9,1.25) ellipse[x radius=0.15, y radius=0.6, rotate=-60];
- \ape@part@draw[\ape@skin!90!white] (0.97,3.2) ++(390:0.3 and 0.1) {[rotate=90] arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle};
+ \ape@part@draw[\ape@skin!90!white] (0.97,3.2) ++(390:0.3 and 0.1) {[rotate=90] arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle};
\ape@part@draw[\ape@arms] (1.35,2.74) {[rotate=100] arc [start angle=335, end angle=25,x radius=0.475, y radius=0.15]} --cycle;
\ape@part@draw[\ape@arms] (0.93,1.70) ellipse[x radius=0.15, y radius=0.6, rotate=-70];
% default pose backside %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -187,10 +188,10 @@
\fi\fi\fi\fi\fi
%
% legs / feet backside %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \ape@part@draw[\ape@skin] (1.2,0.27) ++(210:0.3 and 0.1) {[rotate=180] arc [start angle=210, end angle=-30,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=-30, end angle=-240,x radius=0.15, y radius=0.03]}-- cycle};
+ \ape@part@draw[\ape@skin] (1.2,0.27) ++(210:0.3 and 0.1) {[rotate=180] arc [start angle=210, end angle=-30,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=-30, end angle=-240,x radius=0.15, y radius=0.03]}-- cycle};
\ape@part@draw[\ape@legs] (0.7,0.67) ellipse[x radius=0.15, y radius=0.6, rotate=-30];
\ape@part@draw[\ape@legs] (0.52,0.68) ellipse[x radius=0.15, y radius=0.7, rotate=-45];
- \ape@part@draw[\ape@skin] (-1.2,0.27) ++(-30:0.3 and 0.1) {[rotate=180] arc [start angle=-30, end angle=210,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=210, end angle=420,x radius=0.15, y radius=0.03]}-- cycle};
+ \ape@part@draw[\ape@skin] (-1.2,0.27) ++(-30:0.3 and 0.1) {[rotate=180] arc [start angle=-30, end angle=210,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=210, end angle=420,x radius=0.15, y radius=0.03]}-- cycle};
\ape@part@draw[\ape@legs] (-0.7,0.67) ellipse[x radius=0.15, y radius=0.6, rotate=30];
\ape@part@draw[\ape@legs] (-0.52,0.68) ellipse[x radius=0.15, y radius=0.7, rotate=45];
%
@@ -239,10 +240,8 @@
\fi
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \ape@part@draw[\ape@skin] (0.675,0.2) ++(-30:0.3 and 0.1) arc [start angle=-30, end angle=210,x radius=0.3, y radius=0.1] {[rotate=-10] arc
- [start angle=210, end angle=420,x radius=0.15, y radius=0.03]}-- cycle;
- \ape@part@draw[\ape@skin] (-0.675,0.2) ++(210:0.3 and 0.1) arc [start angle=210, end angle=-30,x radius=0.3, y radius=0.1] {[rotate=10] arc
- [start angle=-30, end angle=-240,x radius=0.15, y radius=0.03]}-- cycle;
+ \ape@part@draw[\ape@skin] (0.675,0.2) ++(-30:0.3 and 0.1) arc [start angle=-30, end angle=210,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=210, end angle=420,x radius=0.15, y radius=0.03]}-- cycle;
+ \ape@part@draw[\ape@skin] (-0.675,0.2) ++(210:0.3 and 0.1) arc [start angle=210, end angle=-30,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=-30, end angle=-240,x radius=0.15, y radius=0.03]}-- cycle;
%
% Legs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ape@part@draw[\ape@legs] (0.52,0.68) ellipse[x radius=0.15, y radius=0.7, rotate=-45];
@@ -261,18 +260,18 @@
% see-no-evil pose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@seenoevil
\ape@part@draw[\ape@arms] (-0.93,1.70) ellipse[x radius=0.15, y radius=0.6, rotate=70];
- \ape@part@draw[\ape@skin!90!white] (-0.325,1.91) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (-0.325,1.91) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (-0.59,1.97) arc [start angle=25, end angle=335,x radius=0.475, y radius=0.15] --cycle;
\ape@part@draw[\ape@arms] (0.93,1.70) ellipse[x radius=0.15, y radius=0.6, rotate=110];
- \ape@part@draw[\ape@skin!90!white] (0.325,1.91) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
- \ape@part@draw[\ape@arms] (0.59,1.97) arc [start angle=155, end angle=-155,x radius=0.475, y radius=0.15] --cycle;
+ \ape@part@draw[\ape@skin!90!white] (0.325,1.91) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@arms] (0.59,1.97) arc [start angle=155, end angle=-155,x radius=0.475, y radius=0.15] --cycle;
% speak-no-evil pose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@speaknoevil%
\ape@part@draw[\ape@arms] (-0.85,1.55) ellipse[x radius=0.15, y radius=0.6, rotate=-100];
- \ape@part@draw[\ape@skin!90!white] (-0.275,1.46) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (-0.275,1.46) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (-0.53,1.52) {[rotate=-10] arc [start angle=15, end angle=335,x radius=0.475, y radius=0.15]} --cycle;
\ape@part@draw[\ape@arms] (0.85,1.55) ellipse[x radius=0.15, y radius=0.6, rotate=100];
- \ape@part@draw[\ape@skin!90!white] (0.275,1.46) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (0.275,1.46) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (0.53,1.52) {[rotate=10] arc [start angle=165, end angle=-155,x radius=0.475, y radius=0.15]} --cycle;
% clapping pose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@clap%
@@ -285,18 +284,18 @@
% waving hand pose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else\ifape@handposition@waving%
\ape@part@draw[\ape@arms] (-0.93,1.70) ellipse[x radius=0.15, y radius=0.6, rotate=70];
- \ape@part@draw[\ape@skin!90!white] (-0.97,3.2) ++(150:0.3 and 0.1) {[rotate=-90] arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle};
+ \ape@part@draw[\ape@skin!90!white] (-0.97,3.2) ++(150:0.3 and 0.1) {[rotate=-90] arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle};
\ape@part@draw[\ape@arms] (-1.35,2.74) {[rotate=80] arc [start angle=25, end angle=335,x radius=0.475, y radius=0.15]} --cycle;
\ape@part@draw[\ape@arms] (0.9,1.25) ellipse[x radius=0.15, y radius=0.6, rotate=60];
- \ape@part@draw[\ape@skin!90!white] (0.325,1.05) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (0.325,1.05) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (0.53,1.115) {[rotate=-5] arc [start angle=155, end angle=-155,x radius=0.475, y radius=0.15]} --cycle;
% normal pose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else
\ape@part@draw[\ape@arms] (-0.9,1.25) ellipse[x radius=0.15, y radius=0.6, rotate=-60];
- \ape@part@draw[\ape@skin!90!white] (-0.325,1.05) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (-0.325,1.05) ++(390:0.3 and 0.1) arc [start angle=390, end angle=150,x radius=0.3, y radius=0.1] {[rotate=10] arc [start angle=150, end angle=-60,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (-0.53,1.115) {[rotate=5] arc [start angle=25, end angle=335,x radius=0.475, y radius=0.15]} --cycle;
\ape@part@draw[\ape@arms] (0.9,1.25) ellipse[x radius=0.15, y radius=0.6, rotate=60];
- \ape@part@draw[\ape@skin!90!white] (0.325,1.05) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
+ \ape@part@draw[\ape@skin!90!white] (0.325,1.05) ++(150:0.3 and 0.1) arc [start angle=150, end angle=390,x radius=0.3, y radius=0.1] {[rotate=-10] arc [start angle=30, end angle=240,x radius=0.15, y radius=0.03] } -- cycle;
\ape@part@draw[\ape@arms] (0.53,1.115) {[rotate=-5] arc [start angle=155, end angle=-155,x radius=0.475, y radius=0.15]} --cycle;
\fi\fi\fi\fi\fi%
\fi%
@@ -340,7 +339,7 @@
%In addition to the colour of the body, the colour of various body parts can be adjusted:
%\begin{tcblisting}{title={Eye colour}}
%\ape[eye=red]
-%\end{tcblisting}
+%\end{tcblisting}
%\begin{tcblisting}{title={Nose colour}}
%\ape[nose=red]
%\end{tcblisting}
@@ -378,7 +377,7 @@
%\begin{tcblisting}{title={speak no evil}}
%\ape[handposition=speaknoevil]
%\end{tcblisting}
-% As shortcuts, these three apes are also available via
+% As shortcuts, these three apes are also available via
%\saminline|\ape[seenoevil]|, \saminline|\ape[hearnoevil]|, \saminline|\ape[speaknoevil]| and \saminline|\ape[mizaru]|, \saminline|\ape[kikazaru]|, \saminline|\ape[iwazaru]|.
%
%To see a hooting ape:
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bats.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bats.sty
index 562fb80b62c..3c0880f950c 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bats.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bats.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-bats}[2024/12/12 version v2.1 Drawing bats in TikZ]
+\ProvidesPackage{tikzlings-bats}[2025/01/05 version v2.2 Drawing bats in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,13 +26,14 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname bathookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifbat@threeD
\newif\ifbat@back
\newif\ifbat@contour
\newif\ifbat@teeth
+\newif\ifbat@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -50,39 +51,41 @@
body/.store in = \bat@body,
body = black!75!white,
ears/.store in = \bat@ears,
- ears = \bat@body,
+ ears = \bat@body,
eye/.store in = \bat@eye,
eye = white,
pupil/.store in = \bat@pupil,
pupil = black,
mouth/.store in = \bat@mouth,
- mouth = black,
+ mouth = black,
feet/.store in = \bat@feet,
- feet = orange,
+ feet = orange,
wings/.store in = \bat@wings,
- wings = 1,
+ wings = 1,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- teeth/.code = \bat@teethtrue
- \def\bat@teeth{#1},
+ teeth/.code = \bat@teethtrue
+ \def\bat@teeth{#1},
teeth/.default = white,
- 3D/.code = \bat@threeDtrue,
- back/.code = \bat@backtrue,
+ openmouth/.code = \bat@openmouthtrue,
+ open mouth/.forward to = /bat/openmouth,
+ 3D/.code = \bat@threeDtrue,
+ back/.code = \bat@backtrue,
contour/.code = \bat@contourtrue
\def\bat@contour{#1}
\def\bat@antennas{#1}
\def\bat@mouth{#1},
- contour/.default = black,
- outline/.forward to = /bat/contour,
+ contour/.default = black,
+ outline/.forward to = /bat/contour,
}
\def\bat@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.44,0.0) rectangle (0.44, 2.2);
@@ -99,7 +102,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -117,7 +120,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -171,13 +174,17 @@
%
% Teeth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifbat@teeth
- \bat@part@draw[\bat@teeth] (-0.1,1.36) -- (-0.12,1.3) -- (-0.14,1.38) -- cycle;
- \bat@part@draw[\bat@teeth] (0.1,1.36) -- (0.12,1.3) -- (0.14,1.38) -- cycle;
+ \bat@part@draw[\bat@teeth] (-0.1,1.36) -- (-0.12,1.3) -- (-0.14,1.38) -- cycle;
+ \bat@part@draw[\bat@teeth] (0.1,1.36) -- (0.12,1.3) -- (0.14,1.38) -- cycle;
\fi
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\bat@mouth,line width=\scalingfactor*0.4pt] (0.18, 1.42) arc [start angle=-40, end angle=-140, radius=0.23];
- %
+ \ifbat@openmouth
+ \filldraw[\bat@mouth,line width=\scalingfactor*0.4pt] (0.18, 1.42) arc [start angle=-40, end angle=-140, radius=0.23];
+ \else
+ \draw[\bat@mouth,line width=\scalingfactor*0.4pt] (0.18, 1.42) arc [start angle=-40, end angle=-140, radius=0.23];
+ \fi
+ %
%
\fi% back
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -234,7 +241,12 @@
%\bat[feet=red]
%\end{tcblisting}
%
-%The spread of the wings can be adjusted by passing values between 0 and 1 to the \saminline|wings| option:
+% The bat can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\bat[openmouth]
+%\end{tcblisting}
+%
+%With the \saminline|wings| option, one can adjust the spread of the wings. It accepts values between~0 and~1:
%\begin{tcblisting}{title={Wing span}}
%\bat[wings=0.5]
%\end{tcblisting}
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty
index 4c550dc729d..a85104c34ef 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-bears}[2024/12/12 version v2.1 Draw teddy bears in TikZ]
+\ProvidesPackage{tikzlings-bears}[2025/01/05 version v2.2 Draw teddy bears in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
\newif\ifbear@threeD
\newif\ifbear@back
\newif\ifbear@contour
+\newif\ifbear@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -48,7 +49,7 @@
body/.store in = \bear@body,
body = brown!70!black,
eye/.store in = \bear@eye,
- eye = \bear@body!42!black,
+ eye = \bear@body!42!black,
mouth/.store in = \bear@mouth,
mouth = \bear@body!42!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -56,19 +57,21 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \bear@threeDtrue,
- back/.code = \bear@backtrue,
+ openmouth/.code = \bear@openmouthtrue,
+ open mouth/.forward to = /bear/openmouth,
+ 3D/.code = \bear@threeDtrue,
+ back/.code = \bear@backtrue,
contour/.code = \bear@contourtrue
\def\bear@contour{#1}
\def\bear@mouth{#1},
- contour/.default = black,
- outline/.forward to = /bear/contour,
+ contour/.default = black,
+ outline/.forward to = /bear/contour,
}
\def\bear@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.8, 0.0) rectangle (0.8, 2.13);
@@ -85,7 +88,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -111,11 +114,11 @@
\pgfmathsetmacro{\bear@sat}{(array({\bear@hsbcolorspec},1))-0.38}
\pgfmathsetmacro{\bear@bright}{(array({\bear@hsbcolorspec},2))+0.35}
\definecolor{bear@bright}{hsb}{\bear@hue,\bear@sat,\bear@bright}
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,12 +131,12 @@
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifbear@back
- \bear@part@draw[\bear@body] (0.425, 0.3) circle[radius=0.28];
+ \bear@part@draw[\bear@body] (0.425, 0.3) circle[radius=0.28];
\bear@part@draw[\bear@body] (-0.425, 0.3) circle[radius=0.28];
\fi% back
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bear@part@draw[\bear@body] (0,0.75) ellipse[x radius=0.55, y radius=0.65];
+ \bear@part@draw[\bear@body] (0,0.75) ellipse[x radius=0.55, y radius=0.65];
\unless\ifbear@back
\bear@part@draw[bear@bright] (0,0.7) ellipse[x radius=0.35, y radius=0.4];
\fi% back
@@ -144,9 +147,9 @@
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifbear@back
- \bear@part@draw[\bear@body] (0.425, 0.3) circle[radius=0.28];
+ \bear@part@draw[\bear@body] (0.425, 0.3) circle[radius=0.28];
\bear@part@draw[\bear@body] (-0.425, 0.3) circle[radius=0.28];
- \bear@part@draw[bear@bright] (0.425, 0.3) circle[radius=0.17];
+ \bear@part@draw[bear@bright] (0.425, 0.3) circle[radius=0.17];
\bear@part@draw[bear@bright] (-0.425, 0.3) circle[radius=0.17];
\fi% back
%
@@ -159,21 +162,25 @@
\fi% back
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bear@part@draw[\bear@body] (0, 1.55) circle[radius=0.5];
+ \bear@part@draw[\bear@body] (0, 1.55) circle[radius=0.5];
%
% Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifbear@back
%
% Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bear@part@draw[bear@bright] (0, 1.4) ellipse[x radius=0.28, y radius=0.2];
- \bear@part@draw[bear@bright!60!red] (0, 1.5) ellipse[x radius=0.15, y radius=0.08];
+ \bear@part@draw[bear@bright] (0, 1.4) ellipse[x radius=0.28, y radius=0.2];
+ \bear@part@draw[bear@bright!60!red] (0, 1.5) ellipse[x radius=0.15, y radius=0.08];
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bear@part@draw[\bear@eye] (-0.155, 1.7) circle[radius=0.05];
- \bear@part@draw[\bear@eye] (0.155, 1.7) circle[radius=0.05];
+ \bear@part@draw[\bear@eye] (-0.155, 1.7) circle[radius=0.05];
+ \bear@part@draw[\bear@eye] (0.155, 1.7) circle[radius=0.05];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\bear@mouth,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16];
+ \ifbear@openmouth
+ \filldraw[\bear@mouth,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16];
+ \else
+ \draw[\bear@mouth,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16];
+ \fi
%
\fi% back
%
@@ -222,6 +229,11 @@
%\bear[mouth=red]
%\end{tcblisting}
%
+% The bear can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\bear[openmouth]
+%\end{tcblisting}
+%
%To view the teddy bear from behind:
%\begin{tcblisting}{title={Back view}}
%\bear[back]
@@ -247,9 +259,9 @@
%%\usepackage{bearwear}
%\bear
%\bearwear[
-% long sleeves,
+% long sleeves,
% shirt=red!80!black
%]
%\end{tcblisting}
%
-%Many more options and examples can be found in the package documentation \url{https://ctan.org/pkg/bearwear}.
+%Many more options and examples can be found in the package documentation \url{https://ctan.org/pkg/bearwear}.
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty
index 160f01664ee..18d8ff9bcde 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-bees}[2024/12/12 version v2.1 Drawing bees in TikZ]
+\ProvidesPackage{tikzlings-bees}[2025/01/05 version v2.2 Drawing bees in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,12 +26,13 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname beehookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifbee@threeD
\newif\ifbee@back
\newif\ifbee@contour
+\newif\ifbee@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -49,36 +50,38 @@
body/.store in = \bee@body,
body = yellow!70!orange,
hands/.store in = \bee@hands,
- hands = black,
+ hands = black,
wings/.store in = \bee@wings,
- wings = blue!20!cyan!30!white,
+ wings = blue!20!cyan!30!white,
stripes/.store in = \bee@stripes,
- stripes = black,
+ stripes = black,
antennas/.store in = \bee@antennas,
- antennas = black,
+ antennas = black,
eye/.store in = \bee@eye,
- eye = black,
+ eye = black,
mouth/.store in = \bee@mouth,
- mouth = black,
+ mouth = black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \bee@threeDtrue,
- back/.code = \bee@backtrue,
+ openmouth/.code = \bee@openmouthtrue,
+ open mouth/.forward to = /bee/openmouth,
+ 3D/.code = \bee@threeDtrue,
+ back/.code = \bee@backtrue,
contour/.code = \bee@contourtrue
\def\bee@contour{#1}
\def\bee@antennas{#1}
\def\bee@mouth{#1},
- contour/.default = black,
- outline/.forward to = /bee/contour,
+ contour/.default = black,
+ outline/.forward to = /bee/contour,
}
\def\bee@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.88,0.1) rectangle (0.88, 2.4);
@@ -95,7 +98,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -113,11 +116,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \csname beeshookbackground\endcsname
+ \csname beehookbackground\endcsname
\csname tikzlinghookbackground\endcsname
%
\ifbee@back
@@ -141,18 +144,11 @@
\fi% back
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \begin{scope}
- \bee@part@draw[\bee@body] (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
- \clip (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
- % stripes
- \bee@part@draw[\bee@stripes] (-0.475,1.3) arc(180:360:0.5 and 0.1) -- ++ (0,-0.15) arc(360:180:0.5 and 0.1) -- cycle
- (-0.475,1.0) arc(180:360:0.5 and 0.1) -- ++ (0,-0.15) arc(360:180:0.5 and 0.1) -- cycle
- (-0.475,0.65) arc(180:360:0.5 and 0.1) -- ++ (0,-0.15) arc(360:180:0.5 and 0.1) -- cycle
- (-0.475,0.35) arc(180:360:0.5 and 0.1) -- ++ (0,-0.15) arc(360:180:0.5 and 0.1) -- cycle;
- \end{scope}
+ \bee@part@draw[\bee@body] (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
+ \bee@part@draw[\bee@stripes] (-0.3845, 1.2427).. controls (-0.3978, 1.1967) and (-0.4102, 1.1508) .. (-0.4213, 1.1051).. controls (-0.339, 1.0724) and (-0.1703, 1.05) .. (0.025, 1.05).. controls (0.2024, 1.05) and (0.3578, 1.0685) .. (0.4466, 1.0964).. controls (0.4345, 1.1426) and (0.4206, 1.1889) .. (0.4053, 1.2351).. controls (0.3136, 1.2136) and (0.1774, 1.2) .. (0.025, 1.2).. controls (-0.1445, 1.2) and (-0.2941, 1.2169) .. (-0.3845, 1.2427) -- cycle(-0.4505, 0.9692).. controls (-0.4588, 0.9242) and (-0.4654, 0.88) .. (-0.4704, 0.8366).. controls (-0.4375, 0.7877) and (-0.2284, 0.75) .. (0.025, 0.75).. controls (0.2433, 0.75) and (0.4285, 0.778) .. (0.4966, 0.817).. controls (0.4925, 0.8629) and (0.4858, 0.9099) .. (0.4772, 0.9575).. controls (0.3973, 0.9236) and (0.2251, 0.9) .. (0.025, 0.9).. controls (-0.1973, 0.9) and (-0.3855, 0.929) .. (-0.4505, 0.9692) -- cycle(-0.475, 0.65) -- (-0.475, 0.5798).. controls (-0.4712, 0.5424) and (-0.465, 0.5067) .. (-0.4563, 0.4729).. controls (-0.3973, 0.4309) and (-0.2042, 0.4) .. (0.025, 0.4).. controls (0.2141, 0.4) and (0.3785, 0.421) .. (0.4635, 0.452).. controls (0.4809, 0.5028) and (0.4921, 0.5583) .. (0.4975, 0.6175).. controls (0.43, 0.5782) and (0.2442, 0.55) .. (0.025, 0.55).. controls (-0.2511, 0.55) and (-0.475, 0.5947) .. (-0.475, 0.65) -- cycle(-0.3628, 0.2869).. controls (-0.2871, 0.2009) and (-0.1703, 0.15) .. (-0.0, 0.15).. controls (0.1603, 0.15) and (0.2765, 0.1965) .. (0.3564, 0.2753).. controls (0.2681, 0.2596) and (0.1523, 0.25) .. (0.025, 0.25).. controls (-0.1315, 0.25) and (-0.2711, 0.2644) .. (-0.3628, 0.2869) -- cycle;
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \csname beeshookbelly\endcsname
+ \csname beehookbelly\endcsname
\csname tikzlinghookbelly\endcsname
%
% Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -171,16 +167,20 @@
\else% back
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bee@part@draw[\bee@eye] (-0.15,1.8) circle[radius=0.05];
- \bee@part@draw[\bee@eye] (0.15,1.8) circle[radius=0.05];
+ \bee@part@draw[\bee@eye] (-0.15,1.8) circle[radius=0.05];
+ \bee@part@draw[\bee@eye] (0.15,1.8) circle[radius=0.05];
%
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bee@part@draw[\bee@hands] (-0.25,0.88) circle[x radius=0.07,y radius=0.2, rotate=25];
\bee@part@draw[\bee@hands] (0.25,0.88) circle[x radius=0.07,y radius=0.2, rotate=-25];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\bee@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.6) arc [start angle=-40, end angle=-140, radius=0.16];
- %
+ \ifbee@openmouth
+ \filldraw[\bee@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.6) arc [start angle=-40, end angle=-140, radius=0.16];
+ \else
+ \draw[\bee@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.6) arc [start angle=-40, end angle=-140, radius=0.16];
+ \fi
+ %
% Antenna %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fill[\bee@antennas,rotate around={15:(-0.175,2.115)}] (-0.2,1.93) rectangle (-0.15,2.3);
\fill[\bee@antennas,rotate around={-15:(0.175,2.115)}] (0.2,1.93) rectangle (0.15,2.3);
@@ -190,7 +190,7 @@
\fi% back
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \csname beeshookbody\endcsname
+ \csname beehookbody\endcsname
\csname tikzlinghookbody\endcsname
%
}
@@ -246,6 +246,11 @@
%\bee[stripes=red]
%\end{tcblisting}
%
+% The bee can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\bee[openmouth]
+%\end{tcblisting}
+%
%To view the bee from behind:
%\begin{tcblisting}{title={back view}}
%\bee[back]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bugs.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bugs.sty
index fdf74195fb5..8f618899f58 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bugs.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bugs.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-bugs}[2024/12/12 version v2.1 Drawing bugs in TikZ]
+\ProvidesPackage{tikzlings-bugs}[2025/01/05 version v2.2 Drawing bugs in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,7 +26,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname bughookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifbug@threeD
@@ -34,6 +34,7 @@
\newif\ifbug@rightstep
\newif\ifbug@back
\newif\ifbug@contour
+\newif\ifbug@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -51,21 +52,21 @@
body/.store in = \bug@body,
body = black!90!white,
arms/.store in = \bug@arms,
- arms = red!80!black,
+ arms = red!80!black,
wings/.store in = \bug@wings,
- wings = red!80!black,
+ wings = red!80!black,
dots/.store in = \bug@dots,
- dots = black!90!white,
+ dots = black!90!white,
antennas/.store in = \bug@antennas,
- antennas = red!80!black,
+ antennas = red!80!black,
eye/.store in = \bug@eye,
eye = white,
pupil/.store in = \bug@pupil,
pupil = black,
mouth/.store in = \bug@mouth,
- mouth = red,
+ mouth = red,
feet/.store in = \bug@feet,
- feet = red!80!black,
+ feet = red!80!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
@@ -75,20 +76,22 @@
leftstep/.code = \bug@leftsteptrue,
left step/.forward to = /bug/leftstep,
rightstep/.code = \bug@rightsteptrue,
- right step/.forward to = /bug/rightstep,
- back/.code = \bug@backtrue,
+ right step/.forward to = /bug/rightstep,
+ openmouth/.code = \bug@openmouthtrue,
+ open mouth/.forward to = /bug/openmouth,
+ back/.code = \bug@backtrue,
contour/.code = \bug@contourtrue
\def\bug@contour{#1}
\def\bug@antennas{#1}
\def\bug@mouth{#1},
- contour/.default = black,
- outline/.forward to = /bug/contour,
+ contour/.default = black,
+ outline/.forward to = /bug/contour,
}
\def\bug@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.92,0.02) rectangle (0.92, 2.36);
@@ -105,7 +108,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -123,7 +126,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -131,19 +134,19 @@
\csname tikzlinghookbackground\endcsname
%
\ifbug@back
- %
+ %
% Antenna %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\draw[\bug@antennas,line width=\scalingfactor*0.8pt] (0.1134, 1.911) .. controls (0.0917, 2.0537) and (0.0986, 2.1999) .. (0.1608, 2.2816) .. controls (0.245, 2.3919) and (0.3278, 2.3011) .. (0.3272, 2.2192) .. controls (0.3266, 2.1341) and (0.2237, 2.0423) .. (0.1978, 2.1538);
\draw[\bug@antennas,line width=\scalingfactor*0.8pt] (-0.1134, 1.911) .. controls (-0.0917, 2.0537) and (-0.0986, 2.1999) .. (-0.1608, 2.2816) .. controls (-0.245, 2.3919) and (-0.3278, 2.3011) .. (-0.3272, 2.2192) .. controls (-0.3266, 2.1341) and (-0.2237, 2.0423) .. (-0.1978, 2.1538);
\else% back
%
% Wings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bug@part@draw[\bug@wings] (-0.0955, 1.4222) .. controls (-0.2086, 1.6765) and (-0.692, 1.2508) .. (-0.8174, 1.0023) .. controls (-0.9304, 0.7786) and (-0.9533, 0.379) .. (-0.7355, 0.2548) .. controls (-0.5988, 0.1768) and (-0.4043, 0.3269) .. (-0.3054, 0.4494) .. controls (-0.097, 0.7075) and (0.0589, 1.0749) .. (-0.0955, 1.4222) -- cycle;
+ \bug@part@draw[\bug@wings] (-0.0955, 1.4222) .. controls (-0.2086, 1.6765) and (-0.692, 1.2508) .. (-0.8174, 1.0023) .. controls (-0.9304, 0.7786) and (-0.9533, 0.379) .. (-0.7355, 0.2548) .. controls (-0.5988, 0.1768) and (-0.4043, 0.3269) .. (-0.3054, 0.4494) .. controls (-0.097, 0.7075) and (0.0589, 1.0749) .. (-0.0955, 1.4222) -- cycle;
\bug@part@draw[\bug@wings] (0.0955, 1.4222) .. controls (0.2086, 1.6765) and (0.692, 1.2508) .. (0.8174, 1.0023) .. controls (0.9304, 0.7786) and (0.9533, 0.379) .. (0.7355, 0.2548) .. controls (0.5988, 0.1768) and (0.4043, 0.3269) .. (0.3054, 0.4494) .. controls (0.097, 0.7075) and (-0.0589, 1.0749) .. (0.0955, 1.4222) -- cycle;
\ifbug@contour
- \bug@part@draw[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
- \else% contour
- \fill[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
+ \bug@part@draw[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
+ \else% contour
+ \fill[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
\fi% contour
\fi% back
%
@@ -152,12 +155,12 @@
\bug@part@draw[\bug@feet] (-0.2,0.12) ellipse[x radius=0.18, y radius=0.06];
\else% step
\bug@part@draw[\bug@feet] (-0.2,0.1) ellipse[x radius=0.18, y radius=0.06];
- \fi% step
+ \fi% step
\ifbug@rightstep
\bug@part@draw[\bug@feet] (0.2,0.12) ellipse[x radius=0.18, y radius=0.06];
\else% step
\bug@part@draw[\bug@feet] (0.2,0.1) ellipse[x radius=0.18, y radius=0.06];
- \fi% step
+ \fi% step
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bug@part@draw[\bug@body] ( 0.55, 0.75) .. controls ( 0.55, 0.40) and ( 0.55, 0.08) .. ( 0.00, 0.08) .. controls (-0.55, 0.08) and (-0.55, 0.40) .. (-0.55, 0.75) .. controls (-0.55, 1.13) and (-0.30, 1.44) .. ( 0.00, 1.44) .. controls ( 0.30, 1.44) and ( 0.55, 1.13) .. ( 0.55, 0.75) -- cycle;
@@ -173,12 +176,12 @@
\ifbug@back
%
% Wings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \bug@part@draw[\bug@wings] (-0.0955, 1.4222) .. controls (-0.2086, 1.6765) and (-0.692, 1.2508) .. (-0.8174, 1.0023) .. controls (-0.9304, 0.7786) and (-0.9533, 0.379) .. (-0.7355, 0.2548) .. controls (-0.5988, 0.1768) and (-0.4043, 0.3269) .. (-0.3054, 0.4494) .. controls (-0.097, 0.7075) and (0.0589, 1.0749) .. (-0.0955, 1.4222) -- cycle;
+ \bug@part@draw[\bug@wings] (-0.0955, 1.4222) .. controls (-0.2086, 1.6765) and (-0.692, 1.2508) .. (-0.8174, 1.0023) .. controls (-0.9304, 0.7786) and (-0.9533, 0.379) .. (-0.7355, 0.2548) .. controls (-0.5988, 0.1768) and (-0.4043, 0.3269) .. (-0.3054, 0.4494) .. controls (-0.097, 0.7075) and (0.0589, 1.0749) .. (-0.0955, 1.4222) -- cycle;
\bug@part@draw[\bug@wings] (0.0955, 1.4222) .. controls (0.2086, 1.6765) and (0.692, 1.2508) .. (0.8174, 1.0023) .. controls (0.9304, 0.7786) and (0.9533, 0.379) .. (0.7355, 0.2548) .. controls (0.5988, 0.1768) and (0.4043, 0.3269) .. (0.3054, 0.4494) .. controls (0.097, 0.7075) and (-0.0589, 1.0749) .. (0.0955, 1.4222) -- cycle;
\ifbug@contour
- \bug@part@draw[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
+ \bug@part@draw[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
\else% contour
- \fill[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
+ \fill[\bug@dots] (-0.2,0.85) circle [radius=0.08] (-0.5,0.8) circle [radius=0.08] (-0.8,0.75) circle [radius=0.08] (-0.35,0.6) circle [radius=0.08] (-0.65,0.5) circle [radius=0.08] (-0.3,1.05) circle [radius=0.08] (-0.6,1.1) circle [radius=0.08] (-0.35,1.35) circle [radius=0.08] (0.2,0.85) circle [radius=0.08] (0.5,0.8) circle [radius=0.08] (0.8,0.75) circle [radius=0.08] (0.35,0.6) circle [radius=0.08] (0.65,0.5) circle [radius=0.08] (0.3,1.05) circle [radius=0.08] (0.6,1.1) circle [radius=0.08] (0.35,1.35) circle [radius=0.08];
\fi% contour
\else% back
%
@@ -193,8 +196,12 @@
\bug@part@draw[\bug@arms] (0.25,0.88) circle[x radius=0.07,y radius=0.18, rotate=-35];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\bug@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.56) arc [start angle=-40, end angle=-140, radius=0.16];
- %
+ \ifbug@openmouth
+ \filldraw[\bug@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.56) arc [start angle=-40, end angle=-140, radius=0.16];
+ \else
+ \draw[\bug@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.56) arc [start angle=-40, end angle=-140, radius=0.16];
+ \fi
+ %
% Antenna %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\draw[\bug@antennas,line width=\scalingfactor*0.8pt] (0.1134, 1.911) .. controls (0.0917, 2.0537) and (0.0986, 2.1999) .. (0.1608, 2.2816) .. controls (0.245, 2.3919) and (0.3278, 2.3011) .. (0.3272, 2.2192) .. controls (0.3266, 2.1341) and (0.2237, 2.0423) .. (0.1978, 2.1538);
\draw[\bug@antennas,line width=\scalingfactor*0.8pt] (-0.1134, 1.911) .. controls (-0.0917, 2.0537) and (-0.0986, 2.1999) .. (-0.1608, 2.2816) .. controls (-0.245, 2.3919) and (-0.3278, 2.3011) .. (-0.3272, 2.2192) .. controls (-0.3266, 2.1341) and (-0.2237, 2.0423) .. (-0.1978, 2.1538);
@@ -261,6 +268,11 @@
%\bug[feet=blue]
%\end{tcblisting}
%
+% The bug can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\bug[openmouth]
+%\end{tcblisting}
+%
%And the bug can lift its legs:
%\begin{tcblisting}{title={Walking}}
%\bug[leftstep]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty
index a4c244794ee..41dc7521ad7 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-cats}[2024/12/12 version v2.1 Drawing cats in TikZ]
+\ProvidesPackage{tikzlings-cats}[2025/01/05 version v2.2 Drawing cats in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -24,13 +24,13 @@
\else
\ifdefined\pdfrandomseed % pdflatex
\else
- \ifdefined\randomseed
+ \ifdefined\randomseed
\let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
\else
\let\pdfrandomseed\time % pre TL19 xelatex
\fi
\fi
- \pgfmathsetseed{\number\pdfrandomseed}
+ \pgfmathsetseed{\number\pdfrandomseed}
\fi
\ExplSyntaxOff
@@ -59,6 +59,7 @@
\newif\ifcat@schroedinger
\newif\ifcat@back
\newif\ifcat@contour
+\newif\ifcat@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -103,21 +104,23 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \cat@threeDtrue,
schroedinger/.code = \cat@schroedingertrue,
- back/.code = \cat@backtrue,
+ openmouth/.code = \cat@openmouthtrue,
+ open mouth/.forward to = /cat/openmouth,
+ 3D/.code = \cat@threeDtrue,
+ back/.code = \cat@backtrue,
contour/.code = \cat@contourtrue
\def\cat@contour{#1}
\def\cat@whiskers{#1},
- contour/.default = black,
- outline/.forward to = /cat/contour,
+ contour/.default = black,
+ outline/.forward to = /cat/contour,
}
\def\cat@draw{%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.56,0.1) rectangle (1.63, 2.22);
@@ -134,7 +137,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -152,7 +155,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -164,7 +167,7 @@
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifcat@back
- \cat@part@draw[\cat@paws] (-0.255,0.3) circle[radius=0.18];
+ \cat@part@draw[\cat@paws] (-0.255,0.3) circle[radius=0.18];
\cat@part@draw[\cat@paws] (0.255,0.3) circle[radius=0.18];
\fi% back
%
@@ -176,10 +179,8 @@
\csname tikzlinghookbelly\endcsname
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \cat@part@draw[\cat@body]
- (0.12, 2.0392) .. controls (0.16, 2.1584) and (0.37, 2.22) .. (0.37, 2.20) .. controls (0.37, 2.2) and (0.39, 1.9) .. (0.2721, 1.9) .. controls (0.1891, 1.88) and (0.12, 1.88) .. (0.12, 2.0392) -- cycle;
- \cat@part@draw[\cat@body]
- (-0.12, 2.0392) .. controls (-0.16, 2.1584) and (-0.37, 2.22) .. (-0.37, 2.20) .. controls (-0.37, 2.2) and (-0.39, 1.9) .. (-0.2721, 1.9) .. controls (-0.1891, 1.88) and (-0.12, 1.88) .. (-0.12, 2.0392) -- cycle;
+ \cat@part@draw[\cat@body] (0.12, 2.0392) .. controls (0.16, 2.1584) and (0.37, 2.22) .. (0.37, 2.20) .. controls (0.37, 2.2) and (0.39, 1.9) .. (0.2721, 1.9) .. controls (0.1891, 1.88) and (0.12, 1.88) .. (0.12, 2.0392) -- cycle;
+ \cat@part@draw[\cat@body] (-0.12, 2.0392) .. controls (-0.16, 2.1584) and (-0.37, 2.22) .. (-0.37, 2.20) .. controls (-0.37, 2.2) and (-0.39, 1.9) .. (-0.2721, 1.9) .. controls (-0.1891, 1.88) and (-0.12, 1.88) .. (-0.12, 2.0392) -- cycle;
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cat@part@draw[\cat@body] (0,1.64) circle[radius=0.44];
@@ -196,7 +197,11 @@
\cat@part@draw[\cat@pupil] ( 0.1720, 1.8071) .. controls ( 0.1720+\cat@pupil@width, 1.7827+\cat@pupil@offset) and ( 0.1720+\cat@pupil@width, 1.7584-\cat@pupil@offset) .. ( 0.1720, 1.7341) .. controls ( 0.1720-\cat@pupil@width, 1.7584-\cat@pupil@offset) and ( 0.1720-\cat@pupil@width, 1.7827+\cat@pupil@offset) .. ( 0.1720, 1.8071) -- cycle;
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\cat@whiskers,line width=\scalingfactor*0.2pt] (-0.16, 1.527) .. controls (-0.16, 1.527) and (-0.062, 1.420) .. ( 0.000, 1.556) .. controls ( 0.062, 1.420) and ( 0.16, 1.527) .. ( 0.16, 1.527);
+ \ifcat@openmouth
+ \filldraw[\cat@whiskers,line width=\scalingfactor*0.2pt] (-0.16, 1.527) .. controls (-0.16, 1.527) and (-0.062, 1.420) .. ( 0.000, 1.556) .. controls ( 0.062, 1.420) and ( 0.16, 1.527) .. ( 0.16, 1.527) (0.16,1.527) arc [start angle=-20, end angle=-160, radius=0.17];
+ \else
+ \draw[\cat@whiskers,line width=\scalingfactor*0.2pt] (-0.16, 1.527) .. controls (-0.16, 1.527) and (-0.062, 1.420) .. ( 0.000, 1.556) .. controls ( 0.062, 1.420) and ( 0.16, 1.527) .. ( 0.16, 1.527);
+ \fi
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cat@part@draw[\cat@nose] (-0.069, 1.6452) .. controls (-0.0524, 1.6613) and (0.0524, 1.6613) .. (0.069, 1.6452) .. controls (0.08, 1.625) and (0.0206, 1.55) .. (0, 1.55) .. controls (-0.0206, 1.55) and (-0.08, 1.625) .. (-0.069, 1.6452) -- cycle;
@@ -210,8 +215,8 @@
\fill[\cat@whiskers] (-0.0671, 1.6243) .. controls (-0.1414, 1.6725) and (-0.2182, 1.6964) .. (-0.2925, 1.6482) -- (-0.2925, 1.6582) .. controls (-0.2179, 1.7066) and (-0.1417, 1.6727) .. (-0.0671, 1.6243) -- cycle;
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \cat@part@draw[\cat@paws] (-0.255,0.3) circle[radius=0.18];
- \cat@part@draw[\cat@paws] (0.255,0.3) circle[radius=0.18];
+ \cat@part@draw[\cat@paws] (-0.255,0.3) circle[radius=0.18];
+ \cat@part@draw[\cat@paws] (0.255,0.3) circle[radius=0.18];
%
\fi% back
%
@@ -224,7 +229,7 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.55,0.39) rectangle (0.55, 2.06);
@@ -241,7 +246,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -257,7 +262,7 @@
\fi% 3D
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% Drawing the tomebstone
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -343,6 +348,11 @@
%\cat[paws=red]
%\end{tcblisting}
%
+% The cat can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\cat[openmouth]
+%\end{tcblisting}
+%
%The shape of the \saminline|pupil| can be changed with the \saminline|pupilwidth| option:
%\begin{tcblisting}{title={Width of pupils}}
%\cat[pupilwidth=0.015]
@@ -358,7 +368,7 @@
%\cat[wide pupils]
%
%\cat[very wide pupils]
-%\end{samcode}
+%\end{samcode}
%
%\tcblower
%\begin{tikzpicture}[yshift=2.4cm,xshift=1.8cm]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-chickens.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-chickens.sty
index 41dc89c1939..ff770860fda 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-chickens.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-chickens.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-chickens}[2024/12/12 version v2.1 Draw chickens in TikZ]
+\ProvidesPackage{tikzlings-chickens}[2025/01/05 version v2.2 Draw chickens in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -31,7 +31,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname chickenhookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifchicken@threeD
@@ -61,24 +61,24 @@
bill/.store in = \chicken@bill,
bill = yellow,
feet/.store in = \chicken@feet,
- feet = orange!90!yellow,
+ feet = orange!90!yellow,
comb/.store in = \chicken@comb,
- comb = red,
+ comb = red,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3D/.code = \chicken@threeDtrue,
- back/.code = \chicken@backtrue,
+ back/.code = \chicken@backtrue,
contour/.code = \chicken@contourtrue
\def\chicken@contour{#1},
- contour/.default = black,
- outline/.forward to = /chicken/contour,
+ contour/.default = black,
+ outline/.forward to = /chicken/contour,
baby/.code = \chicken@babytrue
\def\chicken@baby{#1}
\def\chicken@bill{\chicken@feet},
- baby/.default = yellow!80!orange,
+ baby/.default = yellow!80!orange,
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -89,11 +89,11 @@
\def\chicken@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.96, 0.08) rectangle (0.96, 2.35);
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% store the current scale factor
@@ -106,7 +106,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -136,7 +136,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -187,7 +187,7 @@
% Bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifchicken@back
\chicken@part@draw[\chicken@comb] (-0.04, 1.57) ellipse[x radius=0.04, y radius=0.08, rotate=-20];
- \chicken@part@draw[\chicken@comb] (0.04, 1.57) ellipse[x radius=0.04, y radius=0.08, rotate=20];
+ \chicken@part@draw[\chicken@comb] (0.04, 1.57) ellipse[x radius=0.04, y radius=0.08, rotate=20];
\chicken@part@draw[\chicken@bill] (-0.09, 1.7) -- (0, 1.58) -- (0.09, 1.7) arc [start angle=50, end angle=130, radius=0.14] -- cycle;
\fi% back
%
@@ -225,7 +225,7 @@
\def\chicken@drawbaby{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.53, 0.1) rectangle (0.53, 1.22);
@@ -242,7 +242,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -260,7 +260,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts (center: x=0.925)
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty
index b1fcf7747d1..1e5bba28a7b 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-coatis}[2024/12/12 version v2.1 Drawing coatis in TikZ]
+\ProvidesPackage{tikzlings-coatis}[2025/01/05 version v2.2 Drawing coatis in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -51,7 +51,7 @@
body/.store in = \coati@body,
body = brown!50!darkgray!97!yellow!50!darkgray,
eye/.store in = \coati@eye,
- eye = coati@bodybright!50!black,
+ eye = coati@bodybright!50!black,
rotatehead/.store in = \coati@rotatehead,
rotate head/.forward to = /coati/rotatehead,
rotatehead = 0,
@@ -60,23 +60,23 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \coati@threeDtrue,
+ 3D/.code = \coati@threeDtrue,
sideward/.code = \coati@sidewardtrue,
leftstep/.code = \coati@leftsteptrue,
left step/.forward to = /coati/leftstep,
rightstep/.code = \coati@rightsteptrue,
- right step/.forward to = /coati/rightstep,
- back/.code = \coati@backtrue,
+ right step/.forward to = /coati/rightstep,
+ back/.code = \coati@backtrue,
contour/.code = \coati@contourtrue
\def\coati@contour{#1},
- contour/.default = black,
- outline/.forward to = /coati/contour,
+ contour/.default = black,
+ outline/.forward to = /coati/contour,
}
\def\coati@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.84,0.1) rectangle (1.63,2.26);
@@ -93,7 +93,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -120,44 +120,41 @@
\pgfmathsetmacro{\coati@sat}{(array({\coati@hsbcolorspec},1)+0.1)}
\pgfmathsetmacro{\coati@bright}{(array({\coati@hsbcolorspec},2))+0.13}
\definecolor{coati@bodybright}{hsb}{\coati@hue,\coati@sat,\coati@bright}
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname coatihookbackground\endcsname
\csname tikzlinghookbackground\endcsname
- %
+ %
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifcoati@leftstep
\coati@part@draw[coati@bodybright!80!white] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
\coati@part@draw[coati@bodybright!80!white] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \fi% step
\ifcoati@rightstep
\coati@part@draw[coati@bodybright!80!white] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
\coati@part@draw[coati@bodybright!80!white] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \fi% step
%
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifcoati@back
\coati@part@draw[\coati@body] (0.2845, 0.5595) .. controls (0.6382, 0.8326) and (0.7302, 1.5138) .. (1.0504, 1.6639) .. controls (1.3206, 1.7840) and (1.7609, 1.3537) .. (1.5608, 1.3437) .. controls (0.9203, 2.0442) and (0.8642, 0.6247) .. (0.5001, 0.3831) .. controls (0.3214, 0.2645) and (-0.1764, 0.1117) .. (-0.1408, 0.3245) .. controls (-0.1082, 0.5191) and (0.0508, 0.3791) .. (0.2845, 0.5595) -- cycle;
- \begin{scope}
- \clip (0.2845, 0.5595) .. controls (0.6382, 0.8326) and (0.7302, 1.5138) .. (1.0504, 1.6639) .. controls (1.3206, 1.7840) and (1.7609, 1.3537) .. (1.5608, 1.3437) .. controls (0.9203, 2.0442) and (0.8642, 0.6247) .. (0.5001, 0.3831) .. controls (0.3214, 0.2645) and (-0.1764, 0.1117) .. (-0.1408, 0.3245) .. controls (-0.1082, 0.5191) and (0.0508, 0.3791) .. (0.2845, 0.5595) -- cycle;
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.8,1.15)}] (0.6,1.1) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.9,1.35)}] (0.7,1.3) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-50:(1.0,1.5)}] (0.8,1.45) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-80:(1.2,1.6)}] (1.0,1.55) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-130:(1.5,1.5)}] (1.3,1.45) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.55,0.65)}] (0.35,0.6) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.65,0.9)}] (0.45,0.85) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-40:(0.35,0.45)}] (0.15,0.4) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-60:(0.05,0.3)}] (-0.15,0.25) rectangle ++(0.4,0.1);
- \end{scope}
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (1.48, 1.554) -- (1.4139, 1.4752).. controls (1.4389, 1.4583) and (1.4649, 1.4375) .. (1.492, 1.4127) -- (1.5537, 1.4862).. controls (1.5333, 1.5087) and (1.5084, 1.5318) .. (1.48, 1.554) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (1.2166, 1.6794) -- (1.2121, 1.5329).. controls (1.2432, 1.5385) and (1.2764, 1.5364) .. (1.3119, 1.5258) -- (1.3158, 1.6501).. controls (1.2832, 1.6633) and (1.2498, 1.6736) .. (1.2166, 1.6794) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (1.0093, 1.6405).. controls (0.9821, 1.6229) and (0.9566, 1.6014) .. (0.9325, 1.5765) -- (1.0545, 1.4296).. controls (1.0777, 1.4572) and (1.1021, 1.4801) .. (1.1281, 1.4976) -- (1.0093, 1.6405) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange](0.8327, 1.4466).. controls (0.8154, 1.4193) and (0.7988, 1.3901) .. (0.7823, 1.3602) -- (0.9497, 1.2635).. controls (0.9655, 1.2946) and (0.9818, 1.3236) .. (0.9987, 1.3507) -- (0.8327, 1.4466) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.7253, 1.2508).. controls (0.7107, 1.2213) and (0.6961, 1.1912) .. (0.6814, 1.1607) -- (0.859, 1.0582).. controls (0.8717, 1.0897) and (0.8844, 1.1212) .. (0.8975, 1.1514) -- (0.7253, 1.2508) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.5972, 0.9882).. controls (0.5821, 0.9583) and (0.5665, 0.9288) .. (0.5505, 0.8997) -- (0.7501, 0.7845).. controls (0.7627, 0.8154) and (0.7754, 0.8463) .. (0.7878, 0.8781) -- (0.5972, 0.9882) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.464, 0.7574).. controls (0.4448, 0.7293) and (0.4248, 0.7022) .. (0.4037, 0.6767) -- (0.6357, 0.5427).. controls (0.6519, 0.5703) and (0.6676, 0.5997) .. (0.6828, 0.6311) -- (0.464, 0.7574) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange](0.2881, 0.5624).. controls (0.2869, 0.5615) and (0.2857, 0.5604) .. (0.2845, 0.5595).. controls (0.2564, 0.5378) and (0.2295, 0.521) .. (0.2036, 0.5074) -- (0.3683, 0.3141).. controls (0.4022, 0.3288) and (0.4337, 0.3442) .. (0.461, 0.3595) -- (0.2881, 0.5624) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.0822, 0.4628).. controls (0.0453, 0.4543) and (0.0123, 0.4501) .. (-0.0164, 0.445) -- (0.039, 0.2211).. controls (0.0701, 0.2242) and (0.1034, 0.23) .. (0.1379, 0.2379) -- (0.0822, 0.4628) -- cycle;
\fi% back
%
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -170,26 +167,26 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname coatihookbelly\endcsname
\csname tikzlinghookbelly\endcsname
- %
+ %
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{scope}[rotate around={\coati@rotatehead:(0,1.68)}]
%
% Sidewards head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifcoati@sideward
- %
+ %
% Left Ear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coati@part@draw[coati@bodybright!45!white!95!orange] (-0.212, 2.135) ellipse[x radius=0.09, y radius=0.12, rotate=-16];
\unless\ifcoati@back
\coati@part@draw[coati@bodybright!80!white] (-0.212, 2.135) ellipse[x radius=0.065, y radius=0.09, rotate=-16];
\fi% back
- %
+ %
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifcoati@back
\coati@part@draw[coati@bodybright!45!white!95!orange] (0.4569, 1.5608) .. controls (0.3680, 1.3594) and (0.0005, 1.2699) .. (-0.1826, 1.3507) .. controls (-0.3657, 1.4315) and (-0.5475, 1.7632) .. (-0.4587, 1.9646) .. controls (-0.1103, 2.3578) and (0.5123, 2.0832) .. (0.4569, 1.5608) -- cycle;
\else% back
\coati@part@draw[coati@bodybright!45!white!95!orange] (0.4808, 1.7911) .. controls (0.5682, 1.2837) and (-0.3468, 1.3575) .. (-0.6360, 1.3679) .. controls (-0.7582, 1.4729) and (-0.5198, 1.7911) .. (-0.5198, 1.7911) .. controls (-0.3597, 2.2914) and (0.3207, 2.2914) .. (0.4808, 1.7911) -- cycle;
\fi% back
- %
+ %
% Cheek %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifcoati@back
\coati@part@draw[coati@bodybright!80!white] (0.30, 1.4552) .. controls (0.30, 1.4552) and (0.1016, 1.7565) .. (-0.0005, 1.7581) -- (-0.6360, 1.3679) .. controls (-0.3083, 1.3437) and (0.0283, 1.332) .. (0.30, 1.4552) -- cycle (-0.4166, 1.9824) .. controls (-0.4166, 1.9824) and (-0.2413, 1.9758) .. (-0.2226, 1.9112) -- (-0.6875, 1.4906) .. controls (-0.6875, 1.4906) and (-0.5712, 1.7549) .. (-0.4166, 1.9824) -- cycle;
@@ -214,7 +211,7 @@
%
% Normal Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else% sidewards
- %
+ %
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifcoati@back
\coati@part@draw[coati@bodybright!45!white!95!orange] (0.5, 1.8) .. controls (0.5, 1.58) and (0.2, 1.35) .. (0, 1.35) .. controls (-0.2, 1.35) and (-0.5, 1.58) .. (-0.5, 1.8) .. controls (-0.34, 2.3) and (0.34, 2.3) .. (0.5, 1.8) -- cycle;
@@ -228,7 +225,7 @@
\fi% back
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \unless\ifcoati@back
+ \unless\ifcoati@back
\coati@part@draw[coati@bodybright!50!black] (0, 1.248) circle[radius=0.09];
\fi% back
%
@@ -241,35 +238,32 @@
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coati@part@draw[coati@bodybright!45!white!95!orange] (0.44, 2.02) circle[radius=0.12];
\coati@part@draw[coati@bodybright!45!white!95!orange] (-0.44, 2.02) circle[radius=0.12];
- \unless\ifcoati@back
- \coati@part@draw[coati@bodybright!80!white] (0.44, 2.02) circle[radius=0.09];
+ \unless\ifcoati@back
+ \coati@part@draw[coati@bodybright!80!white] (0.44, 2.02) circle[radius=0.09];
\coati@part@draw[coati@bodybright!80!white] (-0.44, 2.02) circle[radius=0.09];
\fi% back
- %
+ %
\fi% sidewards
\end{scope}
%
% Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifcoati@back
\coati@part@draw[\coati@body] (0.2845, 0.5595) .. controls (0.6382, 0.8326) and (0.7302, 1.5138) .. (1.0504, 1.6639) .. controls (1.3206, 1.7840) and (1.7609, 1.3537) .. (1.5608, 1.3437) .. controls (0.9203, 2.0442) and (0.8642, 0.6247) .. (0.5001, 0.3831) .. controls (0.3214, 0.2645) and (-0.1764, 0.1117) .. (-0.1408, 0.3245) .. controls (-0.1082, 0.5191) and (0.0508, 0.3791) .. (0.2845, 0.5595) -- cycle;
- \begin{scope}
- \clip (0.2845, 0.5595) .. controls (0.6382, 0.8326) and (0.7302, 1.5138) .. (1.0504, 1.6639) .. controls (1.3206, 1.7840) and (1.7609, 1.3537) .. (1.5608, 1.3437) .. controls (0.9203, 2.0442) and (0.8642, 0.6247) .. (0.5001, 0.3831) .. controls (0.3214, 0.2645) and (-0.1764, 0.1117) .. (-0.1408, 0.3245) .. controls (-0.1082, 0.5191) and (0.0508, 0.3791) .. (0.2845, 0.5595) -- cycle;
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.8,1.15)}] (0.6,1.1) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.9,1.35)}] (0.7,1.3) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-50:(1.0,1.5)}] (0.8,1.45) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-80:(1.2,1.6)}] (1.0,1.55) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-130:(1.5,1.5)}] (1.3,1.45) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.55,0.65)}] (0.35,0.6) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-30:(0.65,0.9)}] (0.45,0.85) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-40:(0.35,0.45)}] (0.15,0.4) rectangle ++(0.4,0.1);
- \coati@part@draw[coati@bodybright!45!white!95!orange,rotate around={-60:(0.05,0.3)}] (-0.15,0.25) rectangle ++(0.4,0.1);
- \end{scope}
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (1.48, 1.554) -- (1.4139, 1.4752).. controls (1.4389, 1.4583) and (1.4649, 1.4375) .. (1.492, 1.4127) -- (1.5537, 1.4862).. controls (1.5333, 1.5087) and (1.5084, 1.5318) .. (1.48, 1.554) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (1.2166, 1.6794) -- (1.2121, 1.5329).. controls (1.2432, 1.5385) and (1.2764, 1.5364) .. (1.3119, 1.5258) -- (1.3158, 1.6501).. controls (1.2832, 1.6633) and (1.2498, 1.6736) .. (1.2166, 1.6794) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (1.0093, 1.6405).. controls (0.9821, 1.6229) and (0.9566, 1.6014) .. (0.9325, 1.5765) -- (1.0545, 1.4296).. controls (1.0777, 1.4572) and (1.1021, 1.4801) .. (1.1281, 1.4976) -- (1.0093, 1.6405) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange](0.8327, 1.4466).. controls (0.8154, 1.4193) and (0.7988, 1.3901) .. (0.7823, 1.3602) -- (0.9497, 1.2635).. controls (0.9655, 1.2946) and (0.9818, 1.3236) .. (0.9987, 1.3507) -- (0.8327, 1.4466) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.7253, 1.2508).. controls (0.7107, 1.2213) and (0.6961, 1.1912) .. (0.6814, 1.1607) -- (0.859, 1.0582).. controls (0.8717, 1.0897) and (0.8844, 1.1212) .. (0.8975, 1.1514) -- (0.7253, 1.2508) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.5972, 0.9882).. controls (0.5821, 0.9583) and (0.5665, 0.9288) .. (0.5505, 0.8997) -- (0.7501, 0.7845).. controls (0.7627, 0.8154) and (0.7754, 0.8463) .. (0.7878, 0.8781) -- (0.5972, 0.9882) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.464, 0.7574).. controls (0.4448, 0.7293) and (0.4248, 0.7022) .. (0.4037, 0.6767) -- (0.6357, 0.5427).. controls (0.6519, 0.5703) and (0.6676, 0.5997) .. (0.6828, 0.6311) -- (0.464, 0.7574) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange](0.2881, 0.5624).. controls (0.2869, 0.5615) and (0.2857, 0.5604) .. (0.2845, 0.5595).. controls (0.2564, 0.5378) and (0.2295, 0.521) .. (0.2036, 0.5074) -- (0.3683, 0.3141).. controls (0.4022, 0.3288) and (0.4337, 0.3442) .. (0.461, 0.3595) -- (0.2881, 0.5624) -- cycle;
+ \coati@part@draw[coati@bodybright!45!white!95!orange] (0.0822, 0.4628).. controls (0.0453, 0.4543) and (0.0123, 0.4501) .. (-0.0164, 0.445) -- (0.039, 0.2211).. controls (0.0701, 0.2242) and (0.1034, 0.23) .. (0.1379, 0.2379) -- (0.0822, 0.4628) -- cycle;
\fi% back
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname coatihookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-elephants.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-elephants.sty
index 0bfa9ffc50d..d846c1d9d45 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-elephants.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-elephants.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-elephants}[2024/12/12 version v2.1 Draw teddy elephants in TikZ]
+\ProvidesPackage{tikzlings-elephants}[2025/01/05 version v2.2 Draw teddy elephants in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -50,32 +50,32 @@
eye/.store in = \elephant@eye,
eye = \elephant@body!30!black,
ears/.store in = \elephant@ears,
- ears = \elephant@body!30!white,
+ ears = \elephant@body!30!white,
feet/.store in = \elephant@feet,
- feet = \elephant@body!30!white,
+ feet = \elephant@body!30!white,
hands/.store in = \elephant@hands,
- hands = \elephant@body!30!white,
+ hands = \elephant@body!30!white,
belly/.store in = \elephant@belly,
- belly = \elephant@body!30!white,
+ belly = \elephant@body!30!white,
tail/.store in = \elephant@tail,
- tail = \elephant@body!30!white,
+ tail = \elephant@body!30!white,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \elephant@threeDtrue,
- back/.code = \elephant@backtrue,
+ 3D/.code = \elephant@threeDtrue,
+ back/.code = \elephant@backtrue,
contour/.code = \elephant@contourtrue
\def\elephant@contour{#1},
- contour/.default = black,
- outline/.forward to = /elephant/contour,
+ contour/.default = black,
+ outline/.forward to = /elephant/contour,
}
\def\elephant@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.86, 0.0) rectangle (0.86, 2.17);
@@ -92,7 +92,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -110,7 +110,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -123,14 +123,14 @@
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifelephant@back
- \elephant@part@draw[\elephant@body] (0.425, 0.3) circle[radius=0.28];
+ \elephant@part@draw[\elephant@body] (0.425, 0.3) circle[radius=0.28];
\elephant@part@draw[\elephant@body] (-0.425, 0.3) circle[radius=0.28];
\elephant@part@draw[\elephant@body] (0.57,0.74) circle [radius=0.20];
\elephant@part@draw[\elephant@body] (-0.57,0.74) circle [radius=0.20];
\fi% back
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \elephant@part@draw[\elephant@body] (0,0.75) ellipse[x radius=0.55, y radius=0.65];
+ \elephant@part@draw[\elephant@body] (0,0.75) ellipse[x radius=0.55, y radius=0.65];
\unless\ifelephant@back
\elephant@part@draw[\elephant@belly] (0,0.7) ellipse[x radius=0.35, y radius=0.4];
\fi% back
@@ -141,14 +141,14 @@
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifelephant@back
- \elephant@part@draw[\elephant@body] (0.425, 0.3) circle[radius=0.28];
+ \elephant@part@draw[\elephant@body] (0.425, 0.3) circle[radius=0.28];
\elephant@part@draw[\elephant@body] (-0.425, 0.3) circle[radius=0.28];
- \elephant@part@draw[\elephant@feet] (0.425, 0.3) circle[radius=0.17];
+ \elephant@part@draw[\elephant@feet] (0.425, 0.3) circle[radius=0.17];
\elephant@part@draw[\elephant@feet] (-0.425, 0.3) circle[radius=0.17];
- \elephant@part@draw[\elephant@body] (0.57,0.75) circle [radius=0.20];
+ \elephant@part@draw[\elephant@body] (0.57,0.75) circle [radius=0.20];
\elephant@part@draw[\elephant@hands] (0.57,0.74) circle [radius=0.12];
\elephant@part@draw[\elephant@body] (-0.57,0.74) circle [radius=0.20];
- \elephant@part@draw[\elephant@hands] (-0.57,0.74) circle [radius=0.12];
+ \elephant@part@draw[\elephant@hands] (-0.57,0.74) circle [radius=0.12];
\fi% back
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -156,11 +156,11 @@
\elephant@part@draw[\elephant@body] (-0.5, 1.7) ellipse [x radius=0.35,y radius=0.45];
\unless\ifelephant@back
\elephant@part@draw[\elephant@ears] (0.5, 1.7) ellipse [x radius=0.25,y radius=0.35];
- \elephant@part@draw[\elephant@ears] (-0.5, 1.7) ellipse [x radius=0.25,y radius=0.35];
+ \elephant@part@draw[\elephant@ears] (-0.5, 1.7) ellipse [x radius=0.25,y radius=0.35];
\fi% back
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \elephant@part@draw[\elephant@body] (0, 1.55) circle[radius=0.5];
+ \elephant@part@draw[\elephant@body] (0, 1.55) circle[radius=0.5];
%
% Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifelephant@back
@@ -175,8 +175,8 @@
\fi% 3D
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \elephant@part@draw[\elephant@eye] (-0.155, 1.7) circle[radius=0.05];
- \elephant@part@draw[\elephant@eye] (0.155, 1.7) circle[radius=0.05];
+ \elephant@part@draw[\elephant@eye] (-0.155, 1.7) circle[radius=0.05];
+ \elephant@part@draw[\elephant@eye] (0.155, 1.7) circle[radius=0.05];
%
\fi% back
%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty
index 42fd5586e4e..22f48a85c03 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-hippos}[2024/12/12 version v2.1 Drawing hippos in TikZ]
+\ProvidesPackage{tikzlings-hippos}[2025/01/05 version v2.2 Drawing hippos in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
\newif\ifhippo@threeD
\newif\ifhippo@back
\newif\ifhippo@contour
+\newif\ifhippo@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -48,9 +49,9 @@
body/.store in = \hippo@body,
body = gray!55!white,
eye/.store in = \hippo@eye,
- eye = white,
+ eye = white,
pupil/.store in = \hippo@pupil,
- pupil = black,
+ pupil = black,
toes/.store in = \hippo@toes,
toes = \hippo@body,
mouth/.store in = \hippo@mouth,
@@ -60,19 +61,22 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \hippo@threeDtrue,
+ openmouth/.code = \hippo@openmouthtrue,
+ open mouth/.forward to = /hippo/openmouth,
+ 3D/.code = \hippo@threeDtrue
+ \def\hippo@mouth{black},
back/.code = \hippo@backtrue,
contour/.code = \hippo@contourtrue
\def\hippo@contour{#1}
\def\hippo@mouth{#1},
- contour/.default = black,
- outline/.forward to = /hippo/contour,
+ contour/.default = black,
+ outline/.forward to = /hippo/contour,
}
\def\hippo@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.625, 2.17);
@@ -89,7 +93,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -107,12 +111,12 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname hippohookbackground\endcsname
- \csname tikzlinghookbackground\endcsname
+ \csname tikzlinghookbackground\endcsname
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hippo@part@draw[\hippo@body!70!black] (0.23,2.03) ellipse[x radius=0.09, y radius=0.13, rotate=-30];
@@ -120,11 +124,8 @@
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifhippo@back
- \begin{scope}
- \clip (-0.5,0.4) rectangle (0.5,0.13);
- \hippo@part@draw[\hippo@body!70!black] (-0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \hippo@part@draw[\hippo@body!70!black] (0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \end{scope}
+ \hippo@part@draw[\hippo@body!70!black] (-0.08,0.13) arc [start angle=0, end angle=180, x radius=0.17, y radius=0.19] -- cycle;
+ \hippo@part@draw[\hippo@body!70!black](0.08,0.13) arc [start angle=180, end angle=0, x radius=0.17, y radius=0.19] -- cycle;
\fi% back
%
% Nose if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -138,7 +139,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname hippohookbelly\endcsname
\csname tikzlinghookbelly\endcsname
- %
+ %
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifhippo@back
\hippo@part@draw[\hippo@body!70!black] (0.35,1.0) ellipse[x radius=0.24, y radius=0.13, rotate=90];
@@ -170,24 +171,21 @@
\hippo@part@draw[\hippo@mouth] (0.07, 1.63) circle[radius=0.035];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \ifhippo@threeD
- \draw[black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
- \else% 3D
+ \ifhippo@openmouth
+ \filldraw[\hippo@mouth,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
+ \else% open mouth
\draw[\hippo@mouth,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
- \fi% 3D
+ \fi% open mouth
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \begin{scope}
- \clip (-0.5,0.4) rectangle (0.5,0.13);
- \hippo@part@draw[\hippo@body!70!black] (-0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \hippo@part@draw[\hippo@body!70!black] (0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \hippo@part@draw[\hippo@toes] (0.25,0.13) ellipse[x radius=0.05, y radius=0.1];
- \hippo@part@draw[\hippo@toes] (0.13,0.11) ellipse[x radius=0.05, y radius=0.1];
- \hippo@part@draw[\hippo@toes] (0.37,0.11) ellipse[x radius=0.05, y radius=0.1];
- \hippo@part@draw[\hippo@toes] (-0.25,0.13) ellipse[x radius=0.05, y radius=0.1];
- \hippo@part@draw[\hippo@toes] (-0.13,0.11) ellipse[x radius=0.05, y radius=0.1];
- \hippo@part@draw[\hippo@toes] (-0.37,0.11) ellipse[x radius=0.05, y radius=0.1];
- \end{scope}
+ \hippo@part@draw[\hippo@body!70!black] (-0.08,0.13) arc [start angle=0, end angle=180, x radius=0.17, y radius=0.19] -- cycle;
+ \hippo@part@draw[\hippo@body!70!black](0.08,0.13) arc [start angle=180, end angle=0, x radius=0.17, y radius=0.19] -- cycle;
+ \hippo@part@draw[\hippo@toes] (-0.08,0.13) arc [start angle=0, end angle=180, x radius=0.05, y radius=0.08] -- cycle;
+ \hippo@part@draw[\hippo@toes] (-0.2,0.13) arc [start angle=0, end angle=180, x radius=0.05, y radius=0.1] -- cycle;
+ \hippo@part@draw[\hippo@toes] (-0.32,0.13) arc [start angle=0, end angle=180, x radius=0.05, y radius=0.08] -- cycle;
+ \hippo@part@draw[\hippo@toes] (0.08,0.13) arc [start angle=180, end angle=0, x radius=0.05, y radius=0.08] -- cycle;
+ \hippo@part@draw[\hippo@toes] (0.2,0.13) arc [start angle=180, end angle=0, x radius=0.05, y radius=0.1] -- cycle;
+ \hippo@part@draw[\hippo@toes] (0.32,0.13) arc [start angle=180, end angle=0, x radius=0.05, y radius=0.08] -- cycle;
%
\fi% back
%
@@ -239,6 +237,11 @@
%\hippo[mouth=red]
%\end{tcblisting}
%
+% The hippo can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\hippo[openmouth]
+%\end{tcblisting}
+%
%The hippo can also do its nails:
%\begin{tcblisting}{title={Toe colour}}
%\hippo[toes=red]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty
index 4d26d34f99a..3b3a2975177 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty
@@ -12,12 +12,12 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-koalas}[2024/12/12 version v2.1 Drawing koalas in TikZ]
+\ProvidesPackage{tikzlings-koalas}[2025/01/05 version v2.2 Drawing koalas in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
\usetikzlibrary{shadows.blur}
-\usetikzlibrary{fadings}
+\usetikzlibrary{fadings}
\tikzfading[name=koala@blush,inner color=transparent!50,outer color=transparent!100]
@@ -38,6 +38,7 @@
\newif\ifkoala@threeD
\newif\ifkoala@back
\newif\ifkoala@contour
+\newif\ifkoala@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -55,7 +56,7 @@
body/.store in = \koala@body,
body = gray!75!white,
eye/.store in = \koala@eye,
- eye = black,
+ eye = black,
mouth/.store in = \koala@mouth,
mouth = \koala@body!40!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -65,23 +66,25 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
blush/.code = \koala@blushtrue
\def\koala@blushcolor{#1},
- blush/.default = red,
- sleeping/.code = \koala@sleepingtrue,
+ blush/.default = red,
+ sleeping/.code = \koala@sleepingtrue,
+ openmouth/.code = \koala@openmouthtrue,
+ open mouth/.forward to = /koala/openmouth,
3D/.code = \koala@threeDtrue
- \def\koala@mouth{black},
- back/.code = \koala@backtrue,
+ \def\koala@mouth{black},
+ back/.code = \koala@backtrue,
contour/.code = \koala@contourtrue
\def\koala@contour{#1}
\def\koala@blushcolor{#1}
\def\koala@mouth{#1},
- contour/.default = black,
- outline/.forward to = /koala/contour,
+ contour/.default = black,
+ outline/.forward to = /koala/contour,
}
\def\koala@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.88,0.1) rectangle (0.88, 2.35);
@@ -98,7 +101,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -116,7 +119,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -124,7 +127,7 @@
\csname tikzlinghookbackground\endcsname
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \koala@part@draw[\koala@body!50!black] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \koala@part@draw[\koala@body!50!black] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\koala@part@draw[\koala@body!50!black] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -173,18 +176,22 @@
\fill[\koala@body!50!black,rotate around={-20:(-0.2925, 1.6925)}] (-0.29, 1.68) rectangle ++(-0.005, 0.03);
\fill[\koala@body!50!black,rotate around={20:(-0.2143, 1.6925)}] (-0.2168, 1.68) rectangle ++(-0.005, 0.03);
\fill[\koala@body!50!black,rotate around={-40:(-0.3255, 1.7025)}] (-0.323, 1.69) rectangle ++(-0.005, 0.03);
- \fill[\koala@body!50!black,rotate around={40:(-0.1813, 1.7025)}] (-0.1838, 1.69) rectangle ++(-0.005, 0.03);
+ \fill[\koala@body!50!black,rotate around={40:(-0.1813, 1.7025)}] (-0.1838, 1.69) rectangle ++(-0.005, 0.03);
\fill[\koala@body!50!black, even odd rule] (0.3331, 1.741) .. controls (0.3331, 1.685) and (0.1737, 1.685) .. (0.1737, 1.741) .. controls (0.1737, 1.848) and (0.3331, 1.848) .. (0.3331, 1.741) -- cycle (0.328, 1.741) .. controls (0.323, 1.705) and (0.184, 1.705) .. (0.179, 1.741) .. controls (0.184, 1.843) and (0.323, 1.843) .. (0.328, 1.741) -- cycle;
\fill[\koala@body!50!black, even odd rule] (-0.3331, 1.741) .. controls (-0.3331, 1.685) and (-0.1737, 1.685) .. (-0.1737, 1.741) .. controls (-0.1737, 1.848) and (-0.3331, 1.848) .. (-0.3331, 1.741) -- cycle (-0.328, 1.741) .. controls (-0.323, 1.705) and (-0.184, 1.705) .. (-0.179, 1.741) .. controls (-0.184, 1.843) and (-0.323, 1.843) .. (-0.328, 1.741) -- cycle;
\else% sleeping
- \koala@part@draw[\koala@eye] (-0.255, 1.74) circle[radius=0.08];
- \koala@part@draw[\koala@eye] (0.255, 1.74) circle[radius=0.08];
- \fill[white] (-0.27, 1.76) circle[radius=0.015];
- \fill[white] (0.24, 1.76) circle[radius=0.015];
+ \koala@part@draw[\koala@eye] (-0.255, 1.74) circle[radius=0.08];
+ \koala@part@draw[\koala@eye] (0.255, 1.74) circle[radius=0.08];
+ \fill[white] (-0.27, 1.76) circle[radius=0.015];
+ \fill[white] (0.24, 1.76) circle[radius=0.015];
\fi% sleeping
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\koala@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
+ \ifkoala@openmouth
+ \filldraw[\koala@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
+ \else
+ \draw[\koala@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
+ \fi
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -194,7 +201,7 @@
%
% Blushed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifkoala@blush
- \fill[\koala@blushcolor,path fading=koala@blush] (-0.3, 1.52) circle[radius=0.1];
+ \fill[\koala@blushcolor,path fading=koala@blush] (-0.3, 1.52) circle[radius=0.1];
\fill[\koala@blushcolor,path fading=koala@blush] (0.3, 1.52) circle[radius=0.1];
\fi% blush
%
@@ -245,6 +252,11 @@
%\koala[mouth=red]
%\end{tcblisting}
%
+% The koala can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\koala[openmouth]
+%\end{tcblisting}
+%
%It can also blush
%\begin{tcblisting}{title={Blushing koala}}
%\koala[blush=red]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty
index 05f4a2de540..b8cd2cdb387 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty
@@ -1,4 +1,4 @@
-\ProvidesPackage{tikzlings-list}[2024/12/12 version v2.1 Helper package for the tikzlings]
+\ProvidesPackage{tikzlings-list}[2025/01/05 version v2.2 Helper package for the tikzlings]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty
index 04866b0eb01..8a274a550e8 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty
@@ -12,12 +12,12 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-marmots}[2024/12/12 version v2.1 Drawing marmots in TikZ]
+\ProvidesPackage{tikzlings-marmots}[2025/01/05 version v2.2 Drawing marmots in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
\usetikzlibrary{shadows.blur}
-\usetikzlibrary{fadings}
+\usetikzlibrary{fadings}
\tikzfading[name=marmot@blush,inner color=transparent!50,outer color=transparent!100]
@@ -28,13 +28,13 @@
\else
\ifdefined\pdfrandomseed % pdflatex
\else
- \ifdefined\randomseed
+ \ifdefined\randomseed
\let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
\else
\let\pdfrandomseed\time % pre TL19 xelatex
\fi
\fi
- \pgfmathsetseed{\number\pdfrandomseed}
+ \pgfmathsetseed{\number\pdfrandomseed}
\fi
\ExplSyntaxOff
@@ -47,7 +47,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname marmothookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifmarmot@blush
@@ -60,6 +60,7 @@
\newif\ifmarmot@rightstep
\newif\ifmarmot@back
\newif\ifmarmot@contour
+\newif\ifmarmot@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -77,7 +78,7 @@
body/.store in = \marmot@body,
body = brown,
eye/.store in = \marmot@eye,
- eye = \marmot@body!50!black,
+ eye = \marmot@body!50!black,
mouth/.store in = \marmot@mouth,
mouth = \marmot@body!50!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -87,13 +88,15 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
blush/.code = \marmot@blushtrue
\def\marmot@blushcolor{#1},
- blush/.default = red,
- whiskers/.code = \marmot@whiskerstrue
+ blush/.default = red,
+ whiskers/.code = \marmot@whiskerstrue
\def\marmot@whiskers{#1},
whiskers/.default = gray,
- teeth/.code = \marmot@teethtrue
- \def\marmot@teeth{#1},
+ teeth/.code = \marmot@teethtrue
+ \def\marmot@teeth{#1},
teeth/.default = white,
+ openmouth/.code = \marmot@openmouthtrue,
+ open mouth/.forward to = /marmot/openmouth,
3D/.code = \marmot@threeDtrue,
shadow/.code = \marmot@shadowtrue,
askphil/.code = \marmot@askphiltrue,
@@ -101,20 +104,20 @@
leftstep/.code = \marmot@leftsteptrue,
left step/.forward to = /marmot/leftstep,
rightstep/.code = \marmot@rightsteptrue,
- right step/.forward to = /marmot/rightstep,
- back/.code = \marmot@backtrue,
+ right step/.forward to = /marmot/rightstep,
+ back/.code = \marmot@backtrue,
contour/.code = \marmot@contourtrue
\def\marmot@contour{#1}
\def\marmot@blushcolor{#1}
\def\marmot@mouth{#1},
- contour/.default = black,
- outline/.forward to = /marmot/contour,
+ contour/.default = black,
+ outline/.forward to = /marmot/contour,
}
\def\marmot@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.905, 2.17);
@@ -131,7 +134,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -171,20 +174,20 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmarmot@leftstep
- \marmot@part@draw[\marmot@body!50!black] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \marmot@part@draw[\marmot@body!50!black] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \marmot@part@draw[\marmot@body!50!black] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \marmot@part@draw[\marmot@body!50!black] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
\ifmarmot@rightstep
- \marmot@part@draw[\marmot@body!50!black] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \marmot@part@draw[\marmot@body!50!black] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \marmot@part@draw[\marmot@body!50!black] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \marmot@part@draw[\marmot@body!50!black] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -221,17 +224,21 @@
\marmot@part@draw[\marmot@body!50!black] (-0.385,0.93) ellipse[x radius=0.24, y radius=0.13, rotate=-70];
%
% Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \marmot@part@draw[\marmot@body!50!white] (0,1.47) ellipse[x radius=0.23, y radius=0.13];
+ \marmot@part@draw[\marmot@body!50!white] (0,1.47) ellipse[x radius=0.23, y radius=0.13];
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\marmot@part@draw[\marmot@body!50!black] (0,1.6) circle[radius=0.08];
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \marmot@part@draw[\marmot@eye] (-0.155,1.77) circle[radius=0.05];
- \marmot@part@draw[\marmot@eye] (0.155,1.77) circle[radius=0.05];
+ \marmot@part@draw[\marmot@eye] (-0.155,1.77) circle[radius=0.05];
+ \marmot@part@draw[\marmot@eye] (0.155,1.77) circle[radius=0.05];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \fill[\marmot@mouth] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] -- (-0.14,1.51) -- (-0.14,1.51) arc [start angle=-160, end angle=-20, radius=0.144] -- cycle ;
+ \ifmarmot@openmouth
+ \filldraw[\marmot@mouth, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.155] (-0.145,1.51) arc [start angle=-120, end angle=-60, radius=0.29];
+ \else
+ \draw[\marmot@mouth, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16];
+ \fi
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -241,8 +248,8 @@
%
% Blushed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmarmot@blush
- \fill[\marmot@blushcolor,path fading=marmot@blush] (-0.295,1.6) circle[radius=0.1];
- \fill[\marmot@blushcolor,path fading=marmot@blush] (0.295,1.6) circle[radius=0.1];
+ \fill[\marmot@blushcolor,path fading=marmot@blush] (-0.295,1.6) circle[radius=0.1];
+ \fill[\marmot@blushcolor,path fading=marmot@blush] (0.295,1.6) circle[radius=0.1];
\fi% blush
%
% Wiskers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -259,7 +266,7 @@
\ifmarmot@teeth
\fill[\marmot@body!50!black] (0.048,1.413) rectangle (-0.048,1.373);
\fill[\marmot@teeth] (-0.045,1.407) rectangle (-0.004,1.376);
- \fill[\marmot@teeth] (0.045,1.407) rectangle (0.004,1.376);
+ \fill[\marmot@teeth] (0.045,1.407) rectangle (0.004,1.376);
\fi% teeth
%
\fi% back
@@ -309,6 +316,11 @@
%\marmot[mouth=red]
%\end{tcblisting}
%
+% The marmot can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\marmot[openmouth]
+%\end{tcblisting}
+%
%The marmot can also blush
%\begin{tcblisting}{title={Blushing marmot}}
%\marmot[blush=red]
@@ -334,7 +346,7 @@
%\marmot[askphil]
%\end{tcblisting}
%
-%If a good weather prognosis is derived, the happy marmot can dance by lifting up its left and right foot:
+%If a good weather prognosis is derived, the happy marmot can dance by lifting up its left and right foot:
%\begin{tcblisting}{title={Walking}}
%\marmot[leftstep]
%\marmot[rightstep,xshift=2cm]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-meerkats.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-meerkats.sty
index 8dba4e39bf9..42337105d62 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-meerkats.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-meerkats.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-meerkats}[2024/12/12 version v2.1 Drawing meerkats in TikZ]
+\ProvidesPackage{tikzlings-meerkats}[2025/01/05 version v2.2 Drawing meerkats in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,13 +26,14 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname meerkathookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifmeerkat@standing
\newif\ifmeerkat@threeD
\newif\ifmeerkat@back
\newif\ifmeerkat@contour
+\newif\ifmeerkat@openmouth
\def\meerkat@shift{0}
@@ -74,28 +75,30 @@
nose/.store in = \meerkat@nose,
nose = \meerkat@body!50!black,
mouth/.store in = \meerkat@mouth,
- mouth = \meerkat@body!50!black,
+ mouth = \meerkat@body!50!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ openmouth/.code = \meerkat@openmouthtrue,
+ open mouth/.forward to = /meerkat/openmouth,
+ standing/.code = \meerkat@standingtrue
+ \def\meerkat@shift{15},
3D/.code = \meerkat@threeDtrue,
- back/.code = \meerkat@backtrue,
+ back/.code = \meerkat@backtrue,
contour/.code = \meerkat@contourtrue
\def\meerkat@contour{#1}
\def\meerkat@blushcolor{#1}
\def\meerkat@mouth{#1},
- contour/.default = black,
- outline/.forward to = /meerkat/contour,
- standing/.code = \meerkat@standingtrue
- \def\meerkat@shift{15},
+ contour/.default = black,
+ outline/.forward to = /meerkat/contour,
}
\def\meerkat@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmeerkat@standing
@@ -116,7 +119,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -134,7 +137,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -145,7 +148,7 @@
%
\unless\ifmeerkat@back
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \meerkat@part@draw[\meerkat@tail] (0.0071, 1.0065).. controls (0.0949, 0.7556) and (0.2077, 0.5139) .. (0.3436, 0.2854).. controls (0.3809, 0.2966) and (0.4183, 0.3078) .. (0.4557, 0.319).. controls (0.3377, 0.5524) and (0.2434, 0.7968) .. (0.174, 1.049);
+ \meerkat@part@draw[\meerkat@tail] (0.0071, 1.0065).. controls (0.0949, 0.7556) and (0.2077, 0.5139) .. (0.3436, 0.2854).. controls (0.3809, 0.2966) and (0.4183, 0.3078) .. (0.4557, 0.319).. controls (0.3377, 0.5524) and (0.2434, 0.7968) .. (0.174, 1.049);
%
% Tip of tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\meerkat@part@draw[\meerkat@tip] (0.8483, 0.1284).. controls (0.7159, 0.1309) and (0.575, 0.1064) .. (0.4503, 0.163).. controls (0.3999, 0.1871) and (0.3617, 0.2328) .. (0.3436, 0.2854).. controls (0.3809, 0.2966) and (0.4183, 0.3078) .. (0.4557, 0.319).. controls (0.5224, 0.2163) and (0.6411, 0.1646) .. (0.7581, 0.145).. controls (0.7881, 0.1389) and (0.8182, 0.1337) .. (0.8483, 0.1284) -- cycle;
@@ -157,11 +160,11 @@
%
\ifmeerkat@back
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \meerkat@part@draw[\meerkat@tail] (0.0071, 1.0065).. controls (0.0949, 0.7556) and (0.2077, 0.5139) .. (0.3436, 0.2854).. controls (0.3809, 0.2966) and (0.4183, 0.3078) .. (0.4557, 0.319).. controls (0.3377, 0.5524) and (0.2434, 0.7968) .. (0.174, 1.049);
+ \meerkat@part@draw[\meerkat@tail] (0.0071, 1.0065).. controls (0.0949, 0.7556) and (0.2077, 0.5139) .. (0.3436, 0.2854).. controls (0.3809, 0.2966) and (0.4183, 0.3078) .. (0.4557, 0.319).. controls (0.3377, 0.5524) and (0.2434, 0.7968) .. (0.174, 1.049);
%
% Tip of tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\meerkat@part@draw[\meerkat@tip] (0.8483, 0.1284).. controls (0.7159, 0.1309) and (0.575, 0.1064) .. (0.4503, 0.163).. controls (0.3999, 0.1871) and (0.3617, 0.2328) .. (0.3436, 0.2854).. controls (0.3809, 0.2966) and (0.4183, 0.3078) .. (0.4557, 0.319).. controls (0.5224, 0.2163) and (0.6411, 0.1646) .. (0.7581, 0.145).. controls (0.7881, 0.1389) and (0.8182, 0.1337) .. (0.8483, 0.1284) -- cycle;
- \fi %back
+ \fi %back
\else % sitting meerkat
%
\unless\ifmeerkat@back
@@ -190,7 +193,7 @@
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\meerkat@part@draw[\meerkat@body] (0,0.77) circle [radius=0.35];
- %
+ %
% Upper body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmeerkat@back
\meerkat@part@draw[\meerkat@upperbody] (-0.374, 1.32).. controls (-0.3892, 1.1462) and (-0.2287, 0.903) .. (-0.0859, 0.7515).. controls (-0.0594, 0.7213) and (-0.031, 0.691) .. (0.0, 0.66).. controls (0.031, 0.691) and (0.0595, 0.7213) .. (0.0859, 0.7515).. controls (0.2399, 0.9179) and (0.3892, 1.1462) .. (0.374, 1.32).. controls (0.374, 1.4277) and (0.1868, 1.582) .. (0.0, 1.65).. controls (-0.1876, 1.5817) and (-0.374, 1.4271) .. (-0.374, 1.32) -- cycle;
@@ -223,8 +226,11 @@
\meerkat@part@draw[\meerkat@nose] (0.0176, 1.6987) -- (0.0437, 1.7439).. controls (0.0534, 1.7607) and (0.0455, 1.7743) .. (0.0261, 1.7743) -- (-0.0261, 1.7743).. controls (-0.0455, 1.7743) and (-0.0534, 1.7607) .. (-0.0437, 1.7439) -- (-0.0176, 1.6987).. controls (-0.0079, 1.6819) and (0.0079, 1.6819) .. (0.0176, 1.6987) -- cycle;
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\meerkat@mouth,line width=\scalingfactor*0.4pt] (0.0, 1.6871).. controls (0.0412, 1.6415) and (0.1351, 1.6616) .. (0.154, 1.7201);
- \draw[\meerkat@mouth,line width=\scalingfactor*0.4pt](0.0, 1.6871).. controls (-0.0412, 1.6415) and (-0.1351, 1.6616) .. (-0.154, 1.7201);
+ \ifmeerkat@openmouth
+ \filldraw[\meerkat@mouth,line width=\scalingfactor*0.4pt] (-0.16, 1.727) .. controls (-0.16, 1.727) and (-0.062, 1.62) .. (0, 1.7) .. controls (0.062, 1.62) and (0.16, 1.727) .. (0.16, 1.727) (0.16, 1.727) arc [start angle=-20, end angle=-160, radius=0.17];
+ \else
+ \draw[\meerkat@mouth,line width=\scalingfactor*0.4pt] (-0.16, 1.727) .. controls (-0.16, 1.727) and (-0.062, 1.62) .. (0, 1.7) .. controls (0.062, 1.62) and (0.16, 1.727) .. (0.16, 1.727);
+ \fi
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\meerkat@part@draw[\meerkat@eyecircles,rotate=30] (0.75,1.7) ellipse [x radius=0.14, y radius=0.08];
@@ -238,7 +244,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname meerkathookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
\end{scope}% body shift
}
@@ -308,6 +314,11 @@
%\meerkat[tip=red]
%\end{tcblisting}
%
+% The meerkat can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\meerkat[openmouth]
+%\end{tcblisting}
+%
%The meerkat can also stand up
%\begin{tcblisting}{title={Standing meerkat}}
%\meerkat[standing]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty
index 26424c00af9..f6bc29e3a14 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-mice}[2024/12/12 version v2.1 Drawing mice in TikZ]
+\ProvidesPackage{tikzlings-mice}[2025/01/05 version v2.2 Drawing mice in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,7 +26,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname mousehookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifmouse@threeD
@@ -52,7 +52,7 @@
body/.store in = \mouse@body,
body = gray!90!white,
eye/.store in = \mouse@eye,
- eye = \mouse@body!50!black,
+ eye = \mouse@body!50!black,
whiskers/.store in = \mouse@whiskers,
whiskers = \mouse@body!50!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -68,19 +68,19 @@
leftstep/.code = \mouse@leftsteptrue,
left step/.forward to = /mouse/leftstep,
rightstep/.code = \mouse@rightsteptrue,
- right step/.forward to = /mouse/rightstep,
- back/.code = \mouse@backtrue,
+ right step/.forward to = /mouse/rightstep,
+ back/.code = \mouse@backtrue,
contour/.code = \mouse@contourtrue
\def\mouse@contour{#1}
\def\mouse@whiskers{#1},
- contour/.default = black,
- outline/.forward to = /mouse/contour,
+ contour/.default = black,
+ outline/.forward to = /mouse/contour,
}
\def\mouse@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.905, 2.17);
@@ -97,7 +97,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -115,24 +115,24 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname mousehookbackground\endcsname
\csname tikzlinghookbackground\endcsname
- %
+ %
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmouse@leftstep
- \mouse@part@draw[\mouse@body!65!white] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \mouse@part@draw[\mouse@body!65!white] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \mouse@part@draw[\mouse@body!65!white] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \mouse@part@draw[\mouse@body!65!white] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
\ifmouse@rightstep
- \mouse@part@draw[\mouse@body!65!white] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \mouse@part@draw[\mouse@body!65!white] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \mouse@part@draw[\mouse@body!65!white] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \mouse@part@draw[\mouse@body!65!white] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -154,7 +154,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname mousehookbelly\endcsname
\csname tikzlinghookbelly\endcsname
- %
+ %
% Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmouse@back
\mouse@part@draw[\mouse@body!65!white] (1.0825, 1.6326) .. controls (1.3527, 1.7527) and (1.6609, 1.3164) .. (1.5928, 1.3124) .. controls (0.9164, 2.186) and (0.8338, 0.6325) .. (0.3708, 0.4451) .. controls (0.2529, 0.3974) and (-0.0064, 0.3874) .. (-0.0064, 0.3874) .. controls (-0.0776, 0.3765) and (-0.0862, 0.5026) .. (-0.0092, 0.5034) .. controls (-0.0092, 0.5034) and (0.0363, 0.4591) .. (0.3516, 0.54360) .. controls (0.6710, 0.6988) and (0.7613, 1.4825) .. (1.0825, 1.6326) -- cycle;
@@ -162,11 +162,7 @@
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmouse@back
- \mouse@part@draw[\mouse@body!65!white]
- (0.5, 1.8) .. controls (0.5, 1.58) and (0.2, 1.35) ..
- (0, 1.35) .. controls (-0.2, 1.35) and (-0.5, 1.58) ..
- (-0.5, 1.8) .. controls (-0.34, 2.3) and (0.34, 2.3) ..
- (0.5, 1.8) -- cycle;
+ \mouse@part@draw[\mouse@body!65!white] (0.5, 1.8) .. controls (0.5, 1.58) and (0.2, 1.35) .. (0, 1.35) .. controls (-0.2, 1.35) and (-0.5, 1.58) .. (-0.5, 1.8) .. controls (-0.34, 2.3) and (0.34, 2.3) .. (0.5, 1.8) -- cycle;
\else% back
\mouse@part@draw[\mouse@body!65!white] (0.5, 1.8) .. controls (0.5, 1.58) and (0.2, 1.25) .. (0, 1.16) .. controls (-0.2, 1.25) and (-0.5, 1.58) .. (-0.5, 1.8) .. controls (-0.34, 2.3) and (0.34, 2.3) .. (0.5, 1.8) -- cycle;
\fi% back
@@ -198,7 +194,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname mousehookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty
index a5cc848713c..6363a8944cc 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-moles}[2024/12/12 version v2.1 Drawing moles in TikZ]
+\ProvidesPackage{tikzlings-moles}[2025/01/05 version v2.2 Drawing moles in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,7 +26,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname moleshookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifmoles@threeD
@@ -34,6 +34,7 @@
\newif\ifmoles@rightstep
\newif\ifmoles@back
\newif\ifmoles@contour
+\newif\ifmoles@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -51,13 +52,13 @@
body/.store in = \moles@body,
body = gray,
eye/.store in = \moles@eye,
- eye = \moles@body!60!black,
+ eye = \moles@body!60!black,
feet/.store in = \moles@feet,
feet = red!20!white!50!brown,
hands/.store in = \moles@hands,
- hands = red!20!white!50!brown,
+ hands = red!20!white!50!brown,
muzzle/.store in = \moles@muzzle,
- muzzle = red!20!white!50!brown,
+ muzzle = red!20!white!50!brown,
mouth/.store in = \moles@mouth,
mouth = \moles@body!60!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -65,24 +66,26 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \moles@threeDtrue,
+ openmouth/.code = \moles@openmouthtrue,
+ open mouth/.forward to = /moles/openmouth,
+ 3D/.code = \moles@threeDtrue,
leftstep/.code = \moles@leftsteptrue,
left step/.forward to = /moles/leftstep,
rightstep/.code = \moles@rightsteptrue,
- right step/.forward to = /moles/rightstep,
- back/.code = \moles@backtrue,
+ right step/.forward to = /moles/rightstep,
+ back/.code = \moles@backtrue,
contour/.code = \moles@contourtrue
\def\moles@contour{#1}
\def\moles@mouth{#1}
\def\moles@eye{#1},
- contour/.default = black,
- outline/.forward to = /moles/contour,
+ contour/.default = black,
+ outline/.forward to = /moles/contour,
}
\def\moles@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.905, 2.17);
@@ -99,7 +102,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -117,7 +120,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -126,15 +129,15 @@
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmoles@leftstep
- \moles@part@draw[\moles@feet] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \moles@part@draw[\moles@feet] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \moles@part@draw[\moles@feet] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \moles@part@draw[\moles@feet] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \fi% step
\ifmoles@rightstep
- \moles@part@draw[\moles@feet] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \moles@part@draw[\moles@feet] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \moles@part@draw[\moles@feet] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \moles@part@draw[\moles@feet] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \fi% step
%
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifmoles@back
@@ -187,15 +190,19 @@
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifmoles@threeD
- \fill[\moles@eye] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15];
- \fill[\moles@eye!50!black] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15];
+ \fill[\moles@eye] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15];
+ \fill[\moles@eye!50!black] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15];
\else% 3D
- \fill[\moles@eye] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15];
- \fill[\moles@eye] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15];
+ \fill[\moles@eye] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15];
+ \fill[\moles@eye] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15];
\fi% 3D
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\moles@mouth, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] ;
+ \ifmoles@openmouth
+ \filldraw[\moles@mouth, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] ;
+ \else
+ \draw[\moles@mouth, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16];
+ \fi
%
\fi% back
%
@@ -241,23 +248,24 @@
%\begin{tcblisting}{title={Eye colour}}
%\moles[eye=red]
%\end{tcblisting}
-%
%\begin{tcblisting}{title={Muzzle colour}}
%\moles[muzzle=red]
%\end{tcblisting}
-%
%\begin{tcblisting}{title={Hand colour}}
%\moles[hands=red]
%\end{tcblisting}
-%
%\begin{tcblisting}{title={Foot colour}}
%\moles[feet=red]
%\end{tcblisting}
-%
%\begin{tcblisting}{title={Mouth colour}}
%\moles[mouth=red]
%\end{tcblisting}
%
+% The mole can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\moles[openmouth]
+%\end{tcblisting}
+%
%And the mole can lift its legs:
%\begin{tcblisting}{title={Walking}}
%\moles[leftstep]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty
index f74c7554960..23b9f0ff8e7 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-owls}[2024/12/12 version v2.1 Draw owls in TikZ]
+\ProvidesPackage{tikzlings-owls}[2025/01/05 version v2.2 Draw owls in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,7 +26,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname owlhookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifowl@threeD
@@ -55,24 +55,24 @@
bill/.store in = \owl@bill,
bill = orange,
feet/.store in = \owl@feet,
- feet = orange,
+ feet = orange,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3D/.code = \owl@threeDtrue,
- back/.code = \owl@backtrue,
+ back/.code = \owl@backtrue,
contour/.code = \owl@contourtrue
\def\owl@contour{#1},
- contour/.default = black,
- outline/.forward to = /owl/contour,
+ contour/.default = black,
+ outline/.forward to = /owl/contour,
}
\def\owl@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.73, 0.08) rectangle (0.73, 2.24);
@@ -89,7 +89,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -107,7 +107,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -116,7 +116,7 @@
%
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\owl@part@draw[\owl@body] (0.575,0.8) ellipse[x radius=0.38, y radius=0.1, rotate=-80];
- \owl@part@draw[\owl@body] (-0.575,0.8) ellipse[x radius=0.38, y radius=0.1, rotate=80];
+ \owl@part@draw[\owl@body] (-0.575,0.8) ellipse[x radius=0.38, y radius=0.1, rotate=80];
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifowl@back
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty
index c1c797be0d8..241f76a2a22 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-pandas}[2024/12/12 version v2.1 Drawing pandas in TikZ]
+\ProvidesPackage{tikzlings-pandas}[2025/01/05 version v2.2 Drawing pandas in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,12 +26,13 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname pandahookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifpanda@threeD
\newif\ifpanda@back
\newif\ifpanda@contour
+\newif\ifpanda@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -49,29 +50,31 @@
body/.store in = \panda@body,
body = white!90!gray,
eye/.store in = \panda@eye,
- eye = white,
+ eye = white,
pupil/.store in = \panda@pupil,
- pupil = black,
+ pupil = black,
mouth/.store in = \panda@mouth,
- mouth = black,
+ mouth = black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \panda@threeDtrue,
- back/.code = \panda@backtrue,
+ openmouth/.code = \panda@openmouthtrue,
+ open mouth/.forward to = /panda/openmouth,
+ 3D/.code = \panda@threeDtrue,
+ back/.code = \panda@backtrue,
contour/.code = \panda@contourtrue
\def\panda@contour{#1}
\def\panda@mouth{#1},
- contour/.default = black,
- outline/.forward to = /panda/contour,
+ contour/.default = black,
+ outline/.forward to = /panda/contour,
}
\def\panda@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.62,0.05) rectangle (0.62, 2.18);
@@ -88,7 +91,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -106,7 +109,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -115,7 +118,7 @@
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpanda@back
- \panda@part@draw[black] (0.32, 0.27) circle[radius=0.2];
+ \panda@part@draw[black] (0.32, 0.27) circle[radius=0.2];
\panda@part@draw[black] (-0.32, 0.27) circle[radius=0.2];
\fi% back
%
@@ -136,7 +139,7 @@
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifpanda@back
- \panda@part@draw[black] (0.32, 0.27) circle[radius=0.2];
+ \panda@part@draw[black] (0.32, 0.27) circle[radius=0.2];
\panda@part@draw[black] (-0.32, 0.27) circle[radius=0.2];
\fi% back
%
@@ -159,7 +162,11 @@
\panda@part@draw[\panda@pupil] (-0.17, 1.695) circle[radius=0.02];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\panda@mouth,line width=\scalingfactor*0.2pt] (-0.16, 1.477) .. controls (-0.16, 1.477) and (-0.062, 1.37) .. (0, 1.506) .. controls (0.062, 1.37) and (0.16, 1.477) .. (0.16, 1.477);
+ \ifpanda@openmouth
+ \filldraw[\panda@mouth,line width=\scalingfactor*0.2pt] (-0.16, 1.477) .. controls (-0.16, 1.477) and (-0.062, 1.37) .. (0, 1.506) .. controls (0.062, 1.37) and (0.16, 1.477) .. (0.16, 1.477) (0.16,1.477) arc [start angle=-20, end angle=-160, radius=0.17];
+ \else
+ \draw[\panda@mouth,line width=\scalingfactor*0.2pt] (-0.16, 1.477) .. controls (-0.16, 1.477) and (-0.062, 1.37) .. (0, 1.506) .. controls (0.062, 1.37) and (0.16, 1.477) .. (0.16, 1.477);
+ \fi
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\panda@part@draw[black] (0,1.55) ellipse[x radius=0.07, y radius=0.04];
@@ -214,6 +221,11 @@
%\panda[mouth=red]
%\end{tcblisting}
%
+% The panda can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\panda[openmouth]
+%\end{tcblisting}
+%
%To view the panda from behind:
%\begin{tcblisting}{title={Back view}}
%\panda[back]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty
index cac37ccfbd7..93a76e7ab02 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-penguins}[2024/12/12 version v2.1 Draw penguins in TikZ]
+\ProvidesPackage{tikzlings-penguins}[2025/01/05 version v2.2 Draw penguins in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,7 +26,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname penguinhookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifpenguin@threeD
@@ -53,28 +53,28 @@
feet/.store in = \penguin@feet,
feet = yellow!50!orange,
bill/.store in = \penguin@bill,
- bill = orange,
+ bill = orange,
eye/.store in = \penguin@eye,
eye = white!95!black,
pupil/.store in = \penguin@pupil,
- pupil = black,
+ pupil = black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \penguin@threeDtrue,
- back/.code = \penguin@backtrue,
+ 3D/.code = \penguin@threeDtrue,
+ back/.code = \penguin@backtrue,
contour/.code = \penguin@contourtrue
\def\penguin@contour{#1},
- contour/.default = black,
- outline/.forward to = /penguin/contour,
+ contour/.default = black,
+ outline/.forward to = /penguin/contour,
}
\def\penguin@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.865, 0.15) rectangle (0.865, 2.13);
@@ -91,7 +91,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -109,7 +109,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -118,14 +118,12 @@
%
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\penguin@part@draw[\penguin@body] (0.575,1.2) ellipse[x radius=0.38, y radius=0.1, rotate=-50];
- \penguin@part@draw[\penguin@body] (-0.575,1.2) ellipse[x radius=0.38, y radius=0.1, rotate=50];
+ \penguin@part@draw[\penguin@body] (-0.575,1.2) ellipse[x radius=0.38, y radius=0.1, rotate=50];
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpenguin@back
- \penguin@part@draw[\penguin@feet]
- (-0.265, 0.3941) .. controls (-0.283, 0.4505) and (-0.373, 0.6014) .. (-0.470, 0.6533) .. controls (-0.571, 0.7075) and (-0.576, 0.6369) .. (-0.554, 0.596) .. controls (-0.526, 0.5416) and (-0.573, 0.5302) .. (-0.602, 0.5384) .. controls (-0.695, 0.5653) and (-0.767, 0.5169) .. (-0.684, 0.434) .. controls (-0.664, 0.4137) and (-0.587, 0.3557) .. (-0.699, 0.3492) .. controls (-0.772, 0.345) and (-0.779, 0.268) .. (-0.689, 0.2445) .. controls (-0.597, 0.2206) and (-0.476, 0.2043) .. (-0.34, 0.2096) .. controls (-0.252, 0.2131) and (-0.237, 0.3059) .. (-0.265, 0.3941) -- cycle;
- \penguin@part@draw[\penguin@feet]
- (0.265, 0.3941) .. controls (0.283, 0.4505) and (0.3725, 0.6014) .. (0.469, 0.6533) .. controls (0.571, 0.7075) and (0.5756, 0.6369) .. (0.554, 0.596) .. controls (0.526, 0.5416) and (0.5733, 0.5302) .. (0.602, 0.5384) .. controls (0.695, 0.5653) and (0.7672, 0.5169) .. (0.684, 0.434) .. controls (0.663, 0.4137) and (0.587, 0.3557) .. (0.699, 0.3492) .. controls (0.772, 0.345) and (0.7789, 0.268) .. (0.689, 0.2445) .. controls (0.597, 0.2206) and (0.4764, 0.2043) .. (0.34, 0.2096) .. controls (0.252, 0.2131) and (0.2368, 0.3059) .. (0.265, 0.3941) -- cycle;
+ \penguin@part@draw[\penguin@feet] (-0.265, 0.3941) .. controls (-0.283, 0.4505) and (-0.373, 0.6014) .. (-0.470, 0.6533) .. controls (-0.571, 0.7075) and (-0.576, 0.6369) .. (-0.554, 0.596) .. controls (-0.526, 0.5416) and (-0.573, 0.5302) .. (-0.602, 0.5384) .. controls (-0.695, 0.5653) and (-0.767, 0.5169) .. (-0.684, 0.434) .. controls (-0.664, 0.4137) and (-0.587, 0.3557) .. (-0.699, 0.3492) .. controls (-0.772, 0.345) and (-0.779, 0.268) .. (-0.689, 0.2445) .. controls (-0.597, 0.2206) and (-0.476, 0.2043) .. (-0.34, 0.2096) .. controls (-0.252, 0.2131) and (-0.237, 0.3059) .. (-0.265, 0.3941) -- cycle;
+ \penguin@part@draw[\penguin@feet] (0.265, 0.3941) .. controls (0.283, 0.4505) and (0.3725, 0.6014) .. (0.469, 0.6533) .. controls (0.571, 0.7075) and (0.5756, 0.6369) .. (0.554, 0.596) .. controls (0.526, 0.5416) and (0.5733, 0.5302) .. (0.602, 0.5384) .. controls (0.695, 0.5653) and (0.7672, 0.5169) .. (0.684, 0.434) .. controls (0.663, 0.4137) and (0.587, 0.3557) .. (0.699, 0.3492) .. controls (0.772, 0.345) and (0.7789, 0.268) .. (0.689, 0.2445) .. controls (0.597, 0.2206) and (0.4764, 0.2043) .. (0.34, 0.2096) .. controls (0.252, 0.2131) and (0.2368, 0.3059) .. (0.265, 0.3941) -- cycle;
\fi% back
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -142,10 +140,8 @@
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifpenguin@back
- \penguin@part@draw[\penguin@feet]
- (-0.265, 0.3941) .. controls (-0.283, 0.4505) and (-0.373, 0.6014) .. (-0.470, 0.6533) .. controls (-0.571, 0.7075) and (-0.576, 0.6369) .. (-0.554, 0.596) .. controls (-0.526, 0.5416) and (-0.573, 0.5302) .. (-0.602, 0.5384) .. controls (-0.695, 0.5653) and (-0.767, 0.5169) .. (-0.684, 0.434) .. controls (-0.664, 0.4137) and (-0.587, 0.3557) .. (-0.699, 0.3492) .. controls (-0.772, 0.345) and (-0.779, 0.268) .. (-0.689, 0.2445) .. controls (-0.597, 0.2206) and (-0.476, 0.2043) .. (-0.34, 0.2096) .. controls (-0.252, 0.2131) and (-0.237, 0.3059) .. (-0.265, 0.3941) -- cycle;
- \penguin@part@draw[\penguin@feet]
- (0.265, 0.3941) .. controls (0.283, 0.4505) and (0.3725, 0.6014) .. (0.469, 0.6533) .. controls (0.571, 0.7075) and (0.5756, 0.6369) .. (0.554, 0.596) .. controls (0.526, 0.5416) and (0.5733, 0.5302) .. (0.602, 0.5384) .. controls (0.695, 0.5653) and (0.7672, 0.5169) .. (0.684, 0.434) .. controls (0.663, 0.4137) and (0.587, 0.3557) .. (0.699, 0.3492) .. controls (0.772, 0.345) and (0.7789, 0.268) .. (0.689, 0.2445) .. controls (0.597, 0.2206) and (0.4764, 0.2043) .. (0.34, 0.2096) .. controls (0.252, 0.2131) and (0.2368, 0.3059) .. (0.265, 0.3941) -- cycle;
+ \penguin@part@draw[\penguin@feet] (-0.265, 0.3941) .. controls (-0.283, 0.4505) and (-0.373, 0.6014) .. (-0.470, 0.6533) .. controls (-0.571, 0.7075) and (-0.576, 0.6369) .. (-0.554, 0.596) .. controls (-0.526, 0.5416) and (-0.573, 0.5302) .. (-0.602, 0.5384) .. controls (-0.695, 0.5653) and (-0.767, 0.5169) .. (-0.684, 0.434) .. controls (-0.664, 0.4137) and (-0.587, 0.3557) .. (-0.699, 0.3492) .. controls (-0.772, 0.345) and (-0.779, 0.268) .. (-0.689, 0.2445) .. controls (-0.597, 0.2206) and (-0.476, 0.2043) .. (-0.34, 0.2096) .. controls (-0.252, 0.2131) and (-0.237, 0.3059) .. (-0.265, 0.3941) -- cycle;
+ \penguin@part@draw[\penguin@feet] (0.265, 0.3941) .. controls (0.283, 0.4505) and (0.3725, 0.6014) .. (0.469, 0.6533) .. controls (0.571, 0.7075) and (0.5756, 0.6369) .. (0.554, 0.596) .. controls (0.526, 0.5416) and (0.5733, 0.5302) .. (0.602, 0.5384) .. controls (0.695, 0.5653) and (0.7672, 0.5169) .. (0.684, 0.434) .. controls (0.663, 0.4137) and (0.587, 0.3557) .. (0.699, 0.3492) .. controls (0.772, 0.345) and (0.7789, 0.268) .. (0.689, 0.2445) .. controls (0.597, 0.2206) and (0.4764, 0.2043) .. (0.34, 0.2096) .. controls (0.252, 0.2131) and (0.2368, 0.3059) .. (0.265, 0.3941) -- cycle;
\fi% back
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty
index 00162b7424a..13845d86718 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-pigs}[2024/12/12 version v2.1 Drawing pigs in TikZ]
+\ProvidesPackage{tikzlings-pigs}[2025/01/05 version v2.2 Drawing pigs in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -27,12 +27,13 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname pighookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifpig@threeD
\newif\ifpig@back
\newif\ifpig@contour
+\newif\ifpig@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -50,9 +51,9 @@
body/.store in = \pig@body,
body = piglight,
eye/.store in = \pig@eye,
- eye = gray,
+ eye = gray,
tail/.store in = \pig@tail,
- tail = pig@bodysat22,
+ tail = pig@bodysat22,
mouth/.store in = \pig@mouth,
mouth = gray,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -60,21 +61,23 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ openmouth/.code = \pig@openmouthtrue,
+ open mouth/.forward to = /pig/openmouth,
3D/.code = \pig@threeDtrue
- \def\pig@mouth{gray!70!black},
- back/.code = \pig@backtrue,
+ \def\pig@mouth{gray!70!black},
+ back/.code = \pig@backtrue,
contour/.code = \pig@contourtrue
\def\pig@contour{#1}
\def\pig@mouth{#1}
\def\pig@tail{#1},
- contour/.default = black,
- outline/.forward to = /pig/contour,
+ contour/.default = black,
+ outline/.forward to = /pig/contour,
}
\def\pig@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.905, 2.27);
@@ -91,7 +94,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -168,7 +171,11 @@
\pig@part@draw[gray] ( 0.06, 1.62) circle[radius=0.035];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\pig@mouth,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16] ;
+ \ifpig@openmouth
+ \filldraw[\pig@mouth,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16];
+ \else
+ \draw[\pig@mouth,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16];
+ \fi
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pig@part@draw[pig@bodysat22] (0.3216,0.15) arc (-15:195:0.12) -- (0.16,0.15) to [bend left] (0.25,0.15) -- cycle;
@@ -178,13 +185,13 @@
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pig@part@draw[pig@bodysat22] (0.22, 2.0392) .. controls (0.22, 2.1584) and (0.49460, 2.255) .. (0.49460, 2.255) .. controls (0.49460, 2.255) and (0.5300, 1.86) .. (0.3721, 1.86) .. controls (0.2891, 1.86) and (0.22, 1.9201) .. (0.22, 2.0392) -- cycle;
- \pig@part@draw[\pig@body] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
+ \pig@part@draw[\pig@body] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
\pig@part@draw[pig@bodysat22] (-0.22, 2.0392) .. controls (-0.22, 2.1584) and (-0.49460, 2.255) .. (-0.49460, 2.255) .. controls (-0.49460, 2.255) and (-0.5300, 1.86) .. (-0.3721, 1.86) .. controls (-0.2891, 1.86) and (-0.22, 1.9201) .. (-0.22, 2.0392) -- cycle;
- \pig@part@draw[\pig@body] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
- %
+ \pig@part@draw[\pig@body] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
+ %
% Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpig@back
- \draw[\pig@tail,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);
+ \draw[\pig@tail,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);
\fi% back
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -235,6 +242,11 @@
%\pig[mouth=red]
%\end{tcblisting}
%
+% The pig can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\pig[openmouth]
+%\end{tcblisting}
+%
%To view the pig from behind:
%\begin{tcblisting}{title={Back view}}
%\pig[back]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty
index a05fb3b38b3..47f868b0b71 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-rhinos}[2024/12/12 version v2.1 Drawing rhinos in TikZ]
+\ProvidesPackage{tikzlings-rhinos}[2025/01/05 version v2.2 Drawing rhinos in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,12 +26,13 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname rhinohookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifrhino@threeD
\newif\ifrhino@back
\newif\ifrhino@contour
+\newif\ifrhino@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -51,32 +52,34 @@
toes/.store in = \rhino@toes,
toes = \rhino@body,
eye/.store in = \rhino@eye,
- eye = white,
+ eye = white,
pupil/.store in = \rhino@pupil,
- pupil = black,
+ pupil = black,
mouth/.store in = \rhino@mouth,
- mouth = \rhino@body!50!black,
+ mouth = \rhino@body!50!black,
horn/.store in = \rhino@horn,
- horn = white!95!yellow,
+ horn = white!95!yellow,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ openmouth/.code = \rhino@openmouthtrue,
+ open mouth/.forward to = /rhino/openmouth,
3D/.code = \rhino@threeDtrue
- \def\rhino@mouth{black},
- back/.code = \rhino@backtrue,
+ \def\rhino@mouth{black},
+ back/.code = \rhino@backtrue,
contour/.code = \rhino@contourtrue
\def\rhino@contour{#1}
\def\rhino@mouth{#1},
- contour/.default = black,
- outline/.forward to = /rhino/contour,
+ contour/.default = black,
+ outline/.forward to = /rhino/contour,
}
\def\rhino@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.625, 2.17);
@@ -93,7 +96,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -111,7 +114,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -124,11 +127,8 @@
%
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifrhino@back
- \begin{scope}
- \clip (-0.5,0.4) rectangle (0.5,0.13);
- \rhino@part@draw[\rhino@body!70!black] (-0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \rhino@part@draw[\rhino@body!70!black] (0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \end{scope}
+ \rhino@part@draw[\rhino@body!70!black] (-0.08,0.13) arc [start angle=0, end angle=180, x radius=0.17, y radius=0.19] -- cycle;
+ \rhino@part@draw[\rhino@body!70!black](0.08,0.13) arc [start angle=180, end angle=0, x radius=0.17, y radius=0.19] -- cycle;
\fi% back
%
% Nose if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -175,20 +175,21 @@
\rhino@part@draw[\rhino@horn] (0, 1.7911) .. controls (-0.0231, 1.7372) and (-0.0463, 1.6832) .. (-0.0642, 1.6274) .. controls (-0.0687, 1.6132) and (-0.0724, 1.5981) .. (-0.0678, 1.5834) .. controls (-0.0603, 1.552) and (-0.0287, 1.5287) .. (0, 1.531) .. controls (0.0287, 1.5287) and (0.0603, 1.552) .. (0.0678, 1.5834) .. controls (0.0724, 1.5981) and (0.0687, 1.6132) .. (0.0642, 1.6274) .. controls (0.0463, 1.6832) and (0.0231, 1.7372) .. (0, 1.7911) -- cycle;
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\rhino@mouth,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
+ \ifrhino@openmouth
+ \filldraw[\rhino@mouth,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
+ \else
+ \draw[\rhino@mouth,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
+ \fi
%
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \begin{scope}
- \clip (-0.5,0.4) rectangle (0.5,0.13);
- \rhino@part@draw[\rhino@body!70!black] (-0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \rhino@part@draw[\rhino@body!70!black] (0.25,0.15) ellipse[x radius=0.16, y radius=0.17];
- \rhino@part@draw[\rhino@toes] (0.25,0.13) ellipse[x radius=0.05, y radius=0.1];
- \rhino@part@draw[\rhino@toes] (0.13,0.11) ellipse[x radius=0.05, y radius=0.1];
- \rhino@part@draw[\rhino@toes] (0.37,0.11) ellipse[x radius=0.05, y radius=0.1];
- \rhino@part@draw[\rhino@toes] (-0.25,0.13) ellipse[x radius=0.05, y radius=0.1];
- \rhino@part@draw[\rhino@toes] (-0.13,0.11) ellipse[x radius=0.05, y radius=0.1];
- \rhino@part@draw[\rhino@toes] (-0.37,0.11) ellipse[x radius=0.05, y radius=0.1];
- \end{scope}
+ \rhino@part@draw[\rhino@body!70!black] (-0.08,0.13) arc [start angle=0, end angle=180, x radius=0.17, y radius=0.19] -- cycle;
+ \rhino@part@draw[\rhino@toes] (-0.08,0.13) arc [start angle=0, end angle=180, x radius=0.05, y radius=0.08] -- cycle;
+ \rhino@part@draw[\rhino@toes] (-0.2,0.13) arc [start angle=0, end angle=180, x radius=0.05, y radius=0.1] -- cycle;
+ \rhino@part@draw[\rhino@toes] (-0.32,0.13) arc [start angle=0, end angle=180, x radius=0.05, y radius=0.08] -- cycle;
+ \rhino@part@draw[\rhino@body!70!black](0.08,0.13) arc [start angle=180, end angle=0, x radius=0.17, y radius=0.19] -- cycle;
+ \rhino@part@draw[\rhino@toes] (0.08,0.13) arc [start angle=180, end angle=0, x radius=0.05, y radius=0.08] -- cycle;
+ \rhino@part@draw[\rhino@toes] (0.2,0.13) arc [start angle=180, end angle=0, x radius=0.05, y radius=0.1] -- cycle;
+ \rhino@part@draw[\rhino@toes] (0.32,0.13) arc [start angle=180, end angle=0, x radius=0.05, y radius=0.08] -- cycle;
%
\fi% back
%
@@ -243,6 +244,11 @@
%\rhino[horn=red]
%\end{tcblisting}
%
+% The rhino can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\rhino[openmouth]
+%\end{tcblisting}
+%
%The hippo can also do its nails:
%\begin{tcblisting}{title={Toe colour}}
%\rhino[toes=red]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty
index ffb5aeff0cd..c412796adc6 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-sheep}[2024/12/12 version v2.1 Drawing sheep in TikZ]
+\ProvidesPackage{tikzlings-sheep}[2025/01/05 version v2.2 Drawing sheep in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -54,7 +54,7 @@
body/.store in = \sheep@body,
body = brown!50!darkgray!97!yellow!50!darkgray,
eye/.store in = \sheep@eye,
- eye = sheep@bright!50!black,
+ eye = sheep@bright!50!black,
nose/.store in = \sheep@nose,
nose = sheep@bright!50!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -64,22 +64,22 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
blush/.code = \sheep@blushtrue
\def\sheep@blushcolor{#1},
- blush/.default = red,
+ blush/.default = red,
monocle/.code = \sheep@monocletrue,
- 3D/.code = \sheep@threeDtrue,
- back/.code = \sheep@backtrue,
+ 3D/.code = \sheep@threeDtrue,
+ back/.code = \sheep@backtrue,
contour/.code = \sheep@contourtrue
\def\sheep@contour{#1}
\def\sheep@blushcolor{#1}
\def\sheep@nose{#1},
- contour/.default = black,
- outline/.forward to = /sheep/contour,
+ contour/.default = black,
+ outline/.forward to = /sheep/contour,
}
\def\sheep@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.7,0.08) rectangle (0.7,2.33);
@@ -94,10 +94,10 @@
\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}%
\pgfmathsetmacro{\xscalefactor}{\tmpscaleA}
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
- \pgfmathsetmacro{\decoscalefactor}{sign(\tmpscaleA)*sign(\tmpscaleD)*\scalingfactor}%
+ \pgfmathsetmacro{\decoscalefactor}{sign(\tmpscaleA)*sign(\tmpscaleD)*\scalingfactor}%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -123,23 +123,23 @@
\pgfmathsetmacro{\sheep@sat}{(array({\sheep@hsbcolorspec},1))}
\pgfmathsetmacro{\sheep@bright}{(array({\sheep@hsbcolorspec},2))+0.1}
\definecolor{sheep@bright}{hsb}{\sheep@hue,\sheep@sat,\sheep@bright}
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname sheephookbackground\endcsname
\csname tikzlinghookbackground\endcsname
- %
+ %
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\sheep@part@draw[sheep@bright] (0.22, 2.0392) .. controls (0.22, 2.1584) and (0.49460, 2.255) .. (0.49460, 2.255) .. controls (0.49460, 2.255) and (0.5300, 1.86) .. (0.3721, 1.86) .. controls (0.2891, 1.86) and (0.22, 1.9201) .. (0.22, 2.0392) -- cycle;
- \sheep@part@draw[sheep@bright!55!white] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
+ \sheep@part@draw[sheep@bright!55!white] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
\sheep@part@draw[sheep@bright] (-0.22, 2.0392) .. controls (-0.22, 2.1584) and (-0.49460, 2.255) .. (-0.49460, 2.255) .. controls (-0.49460, 2.255) and (-0.5300, 1.86) .. (-0.3721, 1.86) .. controls (-0.2891, 1.86) and (-0.22, 1.9201) .. (-0.22, 2.0392) -- cycle;
- \sheep@part@draw[sheep@bright!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
- %
+ \sheep@part@draw[sheep@bright!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
+ %
% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsheep@back
\sheep@part@draw[sheep@bright] (0.3216,0.15) arc (-15:195:0.12) -- (0.16,0.15) to [bend left] (0.25,0.15) -- cycle;
@@ -175,10 +175,10 @@
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\sheep@part@draw[sheep@bright] (0.22, 2.0392) .. controls (0.22, 2.1584) and (0.49460, 2.255) .. (0.49460, 2.255) .. controls (0.49460, 2.255) and (0.5300, 1.86) .. (0.3721, 1.86) .. controls (0.2891, 1.86) and (0.22, 1.9201) .. (0.22, 2.0392) -- cycle;
- \sheep@part@draw[sheep@bright!55!white] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
+ \sheep@part@draw[sheep@bright!55!white] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
\sheep@part@draw[sheep@bright] (-0.22, 2.0392) .. controls (-0.22, 2.1584) and (-0.49460, 2.255) .. (-0.49460, 2.255) .. controls (-0.49460, 2.255) and (-0.5300, 1.86) .. (-0.3721, 1.86) .. controls (-0.2891, 1.86) and (-0.22, 1.9201) .. (-0.22, 2.0392) -- cycle;
- \sheep@part@draw[sheep@bright!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
- %
+ \sheep@part@draw[sheep@bright!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
+ %
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifsheep@back
\sheep@part@draw[\sheep@eye] (0.2, 1.66) circle[radius=0.06];
@@ -197,7 +197,7 @@
%
% Blush %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsheep@blush
- \fill[\sheep@blushcolor,path fading=sheep@blush] (-0.25, 1.5) circle[radius=0.1];
+ \fill[\sheep@blushcolor,path fading=sheep@blush] (-0.25, 1.5) circle[radius=0.1];
\fill[\sheep@blushcolor,path fading=sheep@blush] (0.25, 1.5) circle[radius=0.1];
\fi% blush
%
@@ -212,7 +212,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname sheephookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty
index 4ef859d6a34..514fd727316 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-sloths}[2024/12/12 version v2.1 Drawing sloths in TikZ]
+\ProvidesPackage{tikzlings-sloths}[2025/01/05 version v2.2 Drawing sloths in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -28,13 +28,14 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname slothhookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifsloth@sleeping
\newif\ifsloth@threeD
\newif\ifsloth@back
\newif\ifsloth@contour
+\newif\ifsloth@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -52,7 +53,7 @@
body/.store in = \sloth@body,
body = slothcol,
eye/.store in = \sloth@eye,
- eye = black,
+ eye = black,
eyelid/.store in = \sloth@eyelid,
eyelid = sloth@bright10!50!white,
mouth/.store in = \sloth@mouth,
@@ -62,21 +63,23 @@
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- sleeping/.code = \sloth@sleepingtrue,
- 3D/.code = \sloth@threeDtrue,
- back/.code = \sloth@backtrue,
+ sleeping/.code = \sloth@sleepingtrue,
+ openmouth/.code = \sloth@openmouthtrue,
+ open mouth/.forward to = /sloth/openmouth,
+ 3D/.code = \sloth@threeDtrue,
+ back/.code = \sloth@backtrue,
contour/.code = \sloth@contourtrue
\def\sloth@contour{#1}
\def\sloth@mouth{#1}
\def\sloth@eyelid{#1},
- contour/.default = black,
- outline/.forward to = /sloth/contour,
+ contour/.default = black,
+ outline/.forward to = /sloth/contour,
}
\def\sloth@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.7,0.12) rectangle (0.7, 2.27);
@@ -93,7 +96,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -119,11 +122,11 @@
\pgfmathsetmacro{\sloth@sat}{(array({\sloth@hsbcolorspec},1))}
\pgfmathsetmacro{\sloth@bright}{(array({\sloth@hsbcolorspec},2))+0.1}
\definecolor{sloth@bright10}{hsb}{\sloth@hue,\sloth@sat,\sloth@bright}
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -133,7 +136,7 @@
% Arms if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsloth@back
\sloth@part@draw[sloth@bright10] (0.53,0.95) ellipse[x radius=0.1, y radius=0.27, rotate=10];
- \sloth@part@draw[sloth@bright10] (-0.53,0.95) ellipse[x radius=0.1, y radius=0.27, rotate=-10];
+ \sloth@part@draw[sloth@bright10] (-0.53,0.95) ellipse[x radius=0.1, y radius=0.27, rotate=-10];
\fi% back
%
% Feet if back%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -149,8 +152,7 @@
\fi% back
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \sloth@part@draw[\sloth@body] (0.53,0.85) .. controls (0.53,0.29) and (0.32,0.22) .. (0,0.22) .. controls (-0.32,0.22) and (-0.53,0.29) ..
- (-0.53,0.85) .. controls (-0.53,1.41) and (-0.32,1.87) .. (0,1.87) .. controls (0.33,1.87) and (0.53,1.41) .. (0.53,0.85) -- cycle;
+ \sloth@part@draw[\sloth@body] (0.53,0.85) .. controls (0.53,0.29) and (0.32,0.22) .. (0,0.22) .. controls (-0.32,0.22) and (-0.53,0.29) .. (-0.53,0.85) .. controls (-0.53,1.41) and (-0.32,1.87) .. (0,1.87) .. controls (0.33,1.87) and (0.53,1.41) .. (0.53,0.85) -- cycle;
%
% Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifsloth@back
@@ -165,11 +167,7 @@
\sloth@part@draw[sloth@bright10] (-0.1128,2.0724) .. controls (-0.1128,2.0724) and (-0.1499,2.2329) .. (-0.0972,2.2525) .. controls (-0.1082,2.1318) and (-0.0047,2.0839) .. (-0.0047,2.0839) .. controls (-0.0047,2.0839) and (-0.0219,2.1866) .. (0.0145,2.1933) .. controls (0.0142,2.1159) and (0.0770,2.0884) .. (0.0770,2.0884) -- cycle;
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \sloth@part@draw[sloth@bright10]
- ( 0.50,1.67) .. controls ( 0.50,1.91) and ( 0.27,2.10) ..
- ( 0.00,2.10) .. controls (-0.27,2.10) and (-0.50,1.91) .. (-0.50,1.67) .. controls (-0.50,1.43) and (-0.33,1.28) ..
- ( 0.00,1.28) .. controls ( 0.33,1.28) and ( 0.50,1.43) ..
- ( 0.50,1.67) -- cycle;
+ \sloth@part@draw[sloth@bright10] ( 0.50,1.67) .. controls ( 0.50,1.91) and ( 0.27,2.10) .. ( 0.00,2.10) .. controls (-0.27,2.10) and (-0.50,1.91) .. (-0.50,1.67) .. controls (-0.50,1.43) and (-0.33,1.28) .. ( 0.00,1.28) .. controls ( 0.33,1.28) and ( 0.50,1.43) .. ( 0.50,1.67) -- cycle;
%
% Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifsloth@back
@@ -188,20 +186,20 @@
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsloth@sleeping
- \fill[\sloth@eyelid] (0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={44:(0.195, 1.76)}] (0.195, 1.701) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={-22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={-44:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid] (0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={44:(0.195, 1.76)}] (0.195, 1.701) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={-22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={-44:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);
%
- \fill[\sloth@eyelid] (-0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={44:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={-22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);
- \fill[\sloth@eyelid,rotate around={-44:(-0.195, 1.76)}] (-0.195, 1.701) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid] (-0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={44:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={-22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);
+ \fill[\sloth@eyelid,rotate around={-44:(-0.195, 1.76)}] (-0.195, 1.701) rectangle ++(0.005, 0.02);
%
\sloth@part@draw[\sloth@eyelid] (0.237, 1.743) .. controls (0.237, 1.712) and (0.157, 1.712) .. (0.157, 1.743) .. controls (0.157, 1.802) and (0.237, 1.802) .. (0.237, 1.743) -- cycle;
- \sloth@part@draw[\sloth@eyelid] (-0.237, 1.743) .. controls (-0.237, 1.712) and (-0.157, 1.712) .. (-0.157, 1.743) .. controls (-0.157, 1.802) and (-0.237, 1.802) .. (-0.237, 1.743) -- cycle;
+ \sloth@part@draw[\sloth@eyelid] (-0.237, 1.743) .. controls (-0.237, 1.712) and (-0.157, 1.712) .. (-0.157, 1.743) .. controls (-0.157, 1.802) and (-0.237, 1.802) .. (-0.237, 1.743) -- cycle;
\else% sleeping
\sloth@part@draw[\sloth@eye] (0.193,1.75) circle[radius=0.04];
\sloth@part@draw[\sloth@eye] (-0.193,1.75) circle[radius=0.04];
@@ -213,7 +211,11 @@
\sloth@part@draw[sloth@bright10!40!black] (0,1.665) ellipse[x radius=0.078, y radius=0.048];
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \draw[\sloth@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.55) arc [start angle=-40, end angle=-140, radius=0.16];
+ \ifsloth@openmouth
+ \filldraw[\sloth@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.55) arc [start angle=-40, end angle=-140, radius=0.16];
+ \else
+ \draw[\sloth@mouth,line width=\scalingfactor*0.4pt] (0.115, 1.55) arc [start angle=-40, end angle=-140, radius=0.16];
+ \fi
%
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\sloth@part@draw[sloth@bright10] (-0.50, 1.24) .. controls (-0.54, 1.24) and (-0.55, 1.20) .. (-0.56, 1.17) .. controls (-0.61, 1.06) and (-0.63, 0.95) .. (-0.64, 0.83) .. controls (-0.64, 0.80) and (-0.64, 0.77) .. (-0.63, 0.74) .. controls (-0.57, 0.66) and (-0.47, 0.60) .. (-0.38, 0.56) .. controls (-0.31, 0.54) and (-0.23, 0.52) .. (-0.16, 0.54) .. controls (-0.12, 0.54) and (-0.10, 0.59) .. (-0.13, 0.61) .. controls (-0.17, 0.68) and (-0.24, 0.73) .. (-0.30, 0.77) .. controls (-0.34, 0.79) and (-0.38, 0.81) .. (-0.42, 0.83) .. controls (-0.41, 0.92) and (-0.41, 1.01) .. (-0.42, 1.09) .. controls (-0.43, 1.14) and (-0.44, 1.19) .. (-0.48, 1.23) .. controls (-0.48, 1.24) and (-0.49, 1.24) .. (-0.50, 1.24) -- cycle;
@@ -304,6 +306,11 @@
%\sloth[mouth=red]
%\end{tcblisting}
%
+% The sloth can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\sloth[openmouth]
+%\end{tcblisting}
+%
%If tired, the sloth can take a nap:
%\begin{tcblisting}{title={Sleep}}
%\sloth[sleeping]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmen.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmen.sty
index 56dfd45859f..600b17227a2 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmen.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmen.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-snowmen}[2024/12/12 version v2.1 Draw snowmen in TikZ]
+\ProvidesPackage{tikzlings-snowmen}[2025/01/05 version v2.2 Draw snowmen in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -26,13 +26,14 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname snowmanhookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifsnowman@threeD
\newif\ifsnowman@back
\newif\ifsnowman@globalwarming
\newif\ifsnowman@contour
+\newif\ifsnowman@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -56,29 +57,31 @@
mouth/.store in = \snowman@mouth,
mouth = black,
buttons/.store in = \snowman@buttons,
- buttons = black,
+ buttons = black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \snowman@threeDtrue,
+ openmouth/.code = \snowman@openmouthtrue,
+ open mouth/.forward to = /snowman/openmouth,
+ 3D/.code = \snowman@threeDtrue,
back/.code = \snowman@backtrue,
globalwarming/.code= \snowman@globalwarmingtrue
\def\snowman@globalwarming{#1},
- globalwarming/.default = blue!10!white,
+ globalwarming/.default = blue!10!white,
global warming/.forward to = /snowman/globalwarming,
contour/.code = \snowman@contourtrue
\def\snowman@contour{#1}
\def\snowman@mouth{#1},
- contour/.default = black,
- outline/.forward to = /snowman/contour,
+ contour/.default = black,
+ outline/.forward to = /snowman/contour,
}
\def\snowman@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.75, 0.0) rectangle (0.75, 2.13);
@@ -95,7 +98,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -113,7 +116,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -135,25 +138,25 @@
\csname tikzlinghookbelly\endcsname
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \fill[\snowman@mouth] (0,1.23) circle[radius=0.025];
- \fill[\snowman@mouth] (0.06,1.3) circle[radius=0.025];
- \fill[\snowman@mouth] (-0.06,1.27) circle[radius=0.025];
- \fill[\snowman@mouth] (0.09,1.37) circle[radius=0.025];
- \fill[\snowman@mouth] (-0.18,1.28) circle[radius=0.025];
- \fill[\snowman@mouth] (0.2,1.28) circle[radius=0.025];
+ \fill[\snowman@mouth] (0,1.23) circle[radius=0.025];
+ \fill[\snowman@mouth] (0.06,1.3) circle[radius=0.025];
+ \fill[\snowman@mouth] (-0.06,1.27) circle[radius=0.025];
+ \fill[\snowman@mouth] (0.09,1.37) circle[radius=0.025];
+ \fill[\snowman@mouth] (-0.18,1.28) circle[radius=0.025];
+ \fill[\snowman@mouth] (0.2,1.28) circle[radius=0.025];
\fill[\snowman@mouth] (-0.25,1.2) circle[radius=0.025];
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \snowman@part@draw[\snowman@eye] (-0.5,1.75) circle[radius=0.06];
- \snowman@part@draw[\snowman@eye] (-0.1,1.55) circle[radius=0.06];
+ \snowman@part@draw[\snowman@eye] (-0.5,1.75) circle[radius=0.06];
+ \snowman@part@draw[\snowman@eye] (-0.1,1.55) circle[radius=0.06];
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \snowman@part@draw[\snowman@nose] (-0.6,1.4) -- (-0.8,1.42) -- (-0.6,1.54) (-0.6,1.4) arc[radius=0.07, start angle=-90, end angle=90];
+ \snowman@part@draw[\snowman@nose] (-0.6,1.4) -- (-0.8,1.42) -- (-0.6,1.54) (-0.6,1.4) arc[radius=0.07, start angle=-90, end angle=90];
%
% Buttons %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\snowman@part@draw[\snowman@buttons] (0.1,0.8) circle[radius=0.06];
\snowman@part@draw[\snowman@buttons] (-0.15,0.55) circle[radius=0.06];
- \snowman@part@draw[\snowman@buttons] (0,0.25) circle[radius=0.06];
+ \snowman@part@draw[\snowman@buttons] (0,0.25) circle[radius=0.06];
%
% normal snowman %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\else% global warming
@@ -165,7 +168,7 @@
% Body + Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\snowman@part@draw[\snowman@body] (0,0.5) ellipse[x radius=0.6, y radius=0.5];
\snowman@part@draw[\snowman@body] (0,1.1) ellipse[x radius=0.5, y radius=0.4];
- \snowman@part@draw[\snowman@body] (0,1.7) circle[radius=0.4];
+ \snowman@part@draw[\snowman@body] (0,1.7) circle[radius=0.4];
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname snowmanhookbelly\endcsname
@@ -182,18 +185,25 @@
\fill[\snowman@mouth] (-0.08,1.522) circle[radius=0.016];
\fill[\snowman@mouth] (0.12,1.543) circle[radius=0.016];
\fill[\snowman@mouth] (-0.12,1.543) circle[radius=0.016];
+ \ifsnowman@openmouth
+ \fill[\snowman@mouth] (0,1.57) circle[radius=0.016];
+ \fill[\snowman@mouth] (-0.04,1.565) circle[radius=0.016];
+ \fill[\snowman@mouth] (-0.08,1.56) circle[radius=0.016];
+ \fill[\snowman@mouth] (0.04,1.565) circle[radius=0.016];
+ \fill[\snowman@mouth] (0.08,1.56) circle[radius=0.016];
+ \fi
%
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \snowman@part@draw[\snowman@eye] (-0.155,1.8) circle[radius=0.04];
- \snowman@part@draw[\snowman@eye] (0.155,1.8) circle[radius=0.04];
+ \snowman@part@draw[\snowman@eye] (-0.155,1.8) circle[radius=0.04];
+ \snowman@part@draw[\snowman@eye] (0.155,1.8) circle[radius=0.04];
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\snowman@part@draw[\snowman@nose] (0,1.72) arc [radius=0.05, start angle=90, end angle=270] (0,1.62) -- (0.15,1.64) -- (0,1.72);
%
% Buttons %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \snowman@part@draw[\snowman@buttons] (0,1.15) circle[radius=0.04];
- \snowman@part@draw[\snowman@buttons] (0,0.95) circle[radius=0.04];
- \snowman@part@draw[\snowman@buttons] (0,0.75) circle[radius=0.04];
+ \snowman@part@draw[\snowman@buttons] (0,1.15) circle[radius=0.04];
+ \snowman@part@draw[\snowman@buttons] (0,0.95) circle[radius=0.04];
+ \snowman@part@draw[\snowman@buttons] (0,0.75) circle[radius=0.04];
%
\fi% back
%
@@ -250,6 +260,11 @@
%\snowman[buttons=red]
%\end{tcblisting}
%
+% The snowman can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\snowman[openmouth]
+%\end{tcblisting}
+%
%The biggest enemy of the snowman are raising temperatures:
%\begin{tcblisting}{title={Global warming}}
%\snowman[globalwarming,tophat]
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty
index a15844ddfef..7f132d75853 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-squirrels}[2024/12/12 version v2.1 Drawing squirrels in TikZ]
+\ProvidesPackage{tikzlings-squirrels}[2025/01/05 version v2.2 Drawing squirrels in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -33,6 +33,7 @@
\newif\ifsquirrel@rightstep
\newif\ifsquirrel@back
\newif\ifsquirrel@contour
+\newif\ifsquirrel@openmouth
\tikzset{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -50,20 +51,25 @@
body/.store in = \squirrel@body,
body = brown!40!gray!90!red,
eye/.store in = \squirrel@eye,
- eye = white,
+ eye = white,
pupil/.store in = \squirrel@pupil,
- pupil = black,
+ pupil = black,
+ mouth/.store in = \squirrel@mouth,
+ mouth = \squirrel@body!70!brown!60!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 3D/.code = \squirrel@threeDtrue,
+ openmouth/.code = \squirrel@openmouthtrue,
+ open mouth/.forward to = /squirrel/openmouth,
+ 3D/.code = \squirrel@threeDtrue
+ \def\squirrel@mouth{\squirrel@body!40!black},
leftstep/.code = \squirrel@leftsteptrue,
left step/.forward to = /squirrel/leftstep,
rightstep/.code = \squirrel@rightsteptrue,
- right step/.forward to = /squirrel/rightstep,
- back/.code = \squirrel@backtrue,
+ right step/.forward to = /squirrel/rightstep,
+ back/.code = \squirrel@backtrue,
contour/.code = \squirrel@contourtrue
\def\squirrel@contour{#1},
contour/.default = black,
@@ -73,7 +79,7 @@
\def\squirrel@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.53,0.1) rectangle (1.12,2.15);
%
@@ -89,7 +95,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -107,24 +113,24 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname squirrelhookbackground\endcsname
\csname tikzlinghookbackground\endcsname
- %
+ %
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsquirrel@leftstep
\squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
\squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \fi% step
\ifsquirrel@rightstep
\squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
\squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
- \fi% step
+ \fi% step
%
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifsquirrel@back
@@ -133,8 +139,7 @@
\fi% back
%
% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \squirrel@part@draw[\squirrel@body]
- (0.5,0.5) .. controls (0.5,0.09) and (-0.5,0.09) .. (-0.5,0.5) .. controls (-0.5,0.85) and (-0.25,1.6) .. (0,1.7) .. controls (0.25,1.6) and (0.5,0.85) .. (0.5,0.5) -- cycle;
+ \squirrel@part@draw[\squirrel@body] (0.5,0.5) .. controls (0.5,0.09) and (-0.5,0.09) .. (-0.5,0.5) .. controls (-0.5,0.85) and (-0.25,1.6) .. (0,1.7) .. controls (0.25,1.6) and (0.5,0.85) .. (0.5,0.5) -- cycle;
%
% Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifsquirrel@back
@@ -146,17 +151,16 @@
\csname tikzlinghookbelly\endcsname
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (0.1920,1.9906) .. controls (0.1657,2.0780) and (0.1839,2.1332) .. (0.1839,2.1332) .. controls (0.1839,2.1332) and (0.1123,2.1773) .. (0.0941,2.0720) .. controls (0.0716,2.0156) and (0.0753,1.9519) .. (0.1023,1.9293) .. controls (0.1293,1.9068) and (0.1696,1.9342) .. (0.1920,1.9906) -- cycle;
- \squirrel@part@draw[\squirrel@body!70!brown!50!darkgray]
- (-0.1920,1.9906) .. controls (-0.1657,2.0780) and (-0.1839,2.1332) .. (-0.1839,2.1332) .. controls (-0.1839,2.1332) and (-0.1123,2.1773) .. (-0.0941,2.0720) .. controls (-0.0716,2.0156) and (-0.0753,1.9519) .. (-0.1023,1.9293) .. controls (-0.1293,1.9068) and (-0.1696,1.9342) .. (-0.1920,1.9906) -- cycle;
+ \squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (0.1920,1.9906) .. controls (0.1657,2.0780) and (0.1839,2.1332) .. (0.1839,2.1332) .. controls (0.1839,2.1332) and (0.1123,2.1773) .. (0.0941,2.0720) .. controls (0.0716,2.0156) and (0.0753,1.9519) .. (0.1023,1.9293) .. controls (0.1293,1.9068) and (0.1696,1.9342) .. (0.1920,1.9906) -- cycle;
+ \squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (-0.1920,1.9906) .. controls (-0.1657,2.0780) and (-0.1839,2.1332) .. (-0.1839,2.1332) .. controls (-0.1839,2.1332) and (-0.1123,2.1773) .. (-0.0941,2.0720) .. controls (-0.0716,2.0156) and (-0.0753,1.9519) .. (-0.1023,1.9293) .. controls (-0.1293,1.9068) and (-0.1696,1.9342) .. (-0.1920,1.9906) -- cycle;
%
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsquirrel@contour
- \squirrel@part@draw[\squirrel@body] (0,1.75) circle[radius=0.3];
- \squirrel@part@draw[\squirrel@body] (0.2,1.6) circle[radius=0.15];
+ \squirrel@part@draw[\squirrel@body] (0,1.75) circle[radius=0.3];
+ \squirrel@part@draw[\squirrel@body] (0.2,1.6) circle[radius=0.15];
\squirrel@part@draw[\squirrel@body] (-0.2,1.6) circle[radius=0.15];
\ifsquirrel@back
- \squirrel@part@draw[\squirrel@body] (0,1.75) circle[radius=0.3];
+ \squirrel@part@draw[\squirrel@body] (0,1.75) circle[radius=0.3];
\fi% back
\else% contour
\squirrel@part@draw[\squirrel@body] (0,1.75) circle[radius=0.3] (0.2,1.6) circle[radius=0.15] (-0.2,1.6) circle[radius=0.15];
@@ -170,7 +174,7 @@
%
% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\squirrel@part@draw[\squirrel@body!70!brown!60!black] (0,1.66) ellipse[x radius=0.06, y radius=0.03];
- %
+ %
% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\squirrel@part@draw[\squirrel@eye] (0.07,1.78) ellipse[x radius=0.05, y radius=0.07];
\squirrel@part@draw[\squirrel@eye] (-0.07,1.78) ellipse[x radius=0.05, y radius=0.07];
@@ -179,15 +183,19 @@
%
% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifsquirrel@contour
+ \draw[\squirrel@contour,fill=white,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61) (0.15,1.61) arc [start angle=-20, end angle=-160, radius=0.16];
\draw[\squirrel@contour,fill=white,line width=\scalingfactor*0.4pt] (-0.025,1.567) rectangle ++(0.02,0.03);
\draw[\squirrel@contour,fill=white,line width=\scalingfactor*0.4pt] (0.025,1.567) rectangle ++(-0.02,0.03);
\draw[\squirrel@contour,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61);
\else% contour
+ \ifsquirrel@openmouth
+ \filldraw[\squirrel@mouth,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61) (0.15,1.61) arc [start angle=-20, end angle=-160, radius=0.16];
+ \fi% open mouth
\fill[white] (-0.025,1.567) rectangle ++(0.02,0.03);
\fill[white] (0.025,1.567) rectangle ++(-0.02,0.03);
- \draw[\squirrel@body!70!brown!60!black,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61);
+ \draw[\squirrel@mouth,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61);
\fi% contour
- %
+ %
% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (0.2,0.85) ellipse[x radius=0.22, y radius=0.11, rotate=70];
\squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (-0.2,0.85) ellipse[x radius=0.22, y radius=0.11, rotate=-70];
@@ -197,7 +205,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname squirrelhookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -238,6 +246,14 @@
%\begin{tcblisting}{title={Pupil colour}}
%\squirrel[pupil=red]
%\end{tcblisting}
+%\begin{tcblisting}{title={Mouth colour}}
+%\squirrel[mouth=red]
+%\end{tcblisting}
+%
+% The squirrel can open its mouth:
+%\begin{tcblisting}{title={Open mouth}}
+%\squirrel[openmouth]
+%\end{tcblisting}
%
%And the squirrel can lift its legs:
%\begin{tcblisting}{title={Walking}}
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-wolves.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-wolves.sty
index f55179ca06d..f4bf79719a9 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-wolves.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-wolves.sty
@@ -12,7 +12,7 @@
%% See https://www.latex-project.org/lppl.txt
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-wolves}[2024/12/12 version v2.1 Drawing wolves in TikZ]
+\ProvidesPackage{tikzlings-wolves}[2025/01/05 version v2.2 Drawing wolves in TikZ]
\RequirePackage{tikz}
\RequirePackage{tikzlings-addons}
@@ -27,7 +27,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname wolfhookforeground\endcsname
\csname tikzlinghookforeground\endcsname
- %
+ %
}
\newif\ifwolf@threeD
@@ -53,9 +53,9 @@
body/.store in = \wolf@body,
body = gray!90!white,
eye/.store in = \wolf@eye,
- eye = white,
+ eye = white,
pupil/.store in = \wolf@pupil,
- pupil = black,
+ pupil = black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% options
@@ -69,18 +69,18 @@
leftstep/.code = \wolf@leftsteptrue,
left step/.forward to = /wolf/leftstep,
rightstep/.code = \wolf@rightsteptrue,
- right step/.forward to = /wolf/rightstep,
- back/.code = \wolf@backtrue,
+ right step/.forward to = /wolf/rightstep,
+ back/.code = \wolf@backtrue,
contour/.code = \wolf@contourtrue
\def\wolf@contour{#1},
- contour/.default = black,
- outline/.forward to = /wolf/contour,
+ contour/.default = black,
+ outline/.forward to = /wolf/contour,
}
\def\wolf@draw{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
- % minimal bounding box size
+ % minimal bounding box size
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (-0.625,0.1) rectangle (0.905, 2.17);
@@ -97,7 +97,7 @@
\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
+ %
% switch between 2D, 3D and contours, from
% https://chat.stackexchange.com/transcript/message/45991801#45991801
%
@@ -115,32 +115,32 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Body parts
- %
+ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname wolfhookbackground\endcsname
\csname tikzlinghookbackground\endcsname
- %
+ %
% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifwolf@leftstep
- \wolf@part@draw[\wolf@body!65!white] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \wolf@part@draw[\wolf@body!65!white] (-0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \wolf@part@draw[\wolf@body!65!white] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \wolf@part@draw[\wolf@body!65!white] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
\ifwolf@rightstep
- \wolf@part@draw[\wolf@body!65!white] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
+ \wolf@part@draw[\wolf@body!65!white] (0.255,0.25) ellipse[x radius=0.23, y radius=0.09];
\else% step
- \wolf@part@draw[\wolf@body!65!white] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
+ \wolf@part@draw[\wolf@body!65!white] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09];
\fi% step
%
% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\wolf@part@draw[\wolf@body] (0.22, 2.0392) .. controls (0.22, 2.1584) and (0.49460, 2.255) .. (0.49460, 2.255) .. controls (0.49460, 2.255) and (0.5300, 1.86) .. (0.3721, 1.86) .. controls (0.2891, 1.86) and (0.22, 1.9201) .. (0.22, 2.0392) -- cycle;
- \wolf@part@draw[\wolf@body!55!white] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
+ \wolf@part@draw[\wolf@body!55!white] (0.22, 2.0392) .. controls (0.26, 2.1584) and (0.47, 2.22) .. (0.47, 2.20) .. controls (0.47, 2.2) and (0.49, 1.9) .. (0.3721, 1.9) .. controls (0.2891, 1.88) and (0.22, 1.88) .. (0.22, 2.0392) -- cycle;
\wolf@part@draw[\wolf@body] (-0.22, 2.0392) .. controls (-0.22, 2.1584) and (-0.49460, 2.255) .. (-0.49460, 2.255) .. controls (-0.49460, 2.255) and (-0.5300, 1.86) .. (-0.3721, 1.86) .. controls (-0.2891, 1.86) and (-0.22, 1.9201) .. (-0.22, 2.0392) -- cycle;
- \wolf@part@draw[\wolf@body!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
- %
+ \wolf@part@draw[\wolf@body!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle;
+ %
% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\unless\ifwolf@back
\wolf@part@draw[\wolf@body!50!darkgray] (1.0893, 1.5779) .. controls (0.3433, 1.6612) and (0.4863, 0.6062) .. (-0.0243, 0.348) .. controls (1.0671, 0.068) and (0.8133, 1.1808) .. (1.0893, 1.5779) -- cycle;
@@ -161,7 +161,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname wolfhookbelly\endcsname
\csname tikzlinghookbelly\endcsname
- %
+ %
% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifwolf@back
\wolf@part@draw[\wolf@body!70!white!95!brown] (0.5, 1.8) .. controls (0.5, 1.58) and (0.2, 1.35) .. (0, 1.35) .. controls (-0.2, 1.35) and (-0.5, 1.58) .. (-0.5, 1.8) .. controls (-0.34, 2.3) and (0.34, 2.3) .. (0.5, 1.8) -- cycle;
@@ -202,7 +202,7 @@
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname wolfhookbody\endcsname
\csname tikzlinghookbody\endcsname
- %
+ %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty
index d7ef80175d3..4db7af570ac 100644
--- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty
+++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty
@@ -12,7 +12,7 @@
% See https://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings}[2024/12/12 version v2.1 Collection of packages to draw animals and other beings in TikZ]
+\ProvidesPackage{tikzlings}[2025/01/05 version v2.2 Collection of packages to draw animals and other beings in TikZ]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -49,13 +49,13 @@
\else
\ifdefined\pdfrandomseed % pdflatex
\else
- \ifdefined\randomseed
+ \ifdefined\randomseed
\let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
\else
\let\pdfrandomseed\time % pre TL19 xelatex
\fi
\fi
- \pgfmathsetseed{\number\pdfrandomseed}
+ \pgfmathsetseed{\number\pdfrandomseed}
\fi
% #1: tikzling name.
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 821fe562258..f0b32574e1f 100644
--- a/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
+++ b/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
@@ -11,14 +11,15 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2024/07/16 version 3.00 Graphic Object Library]
+\ProvidesPackage{tkz-elements}[2025/01/06 version 3.10 Graphic Object Library]
%\RequirePackage{luacode}
\directlua{
require "tkz_elements_main"
- tkz_epsilon=1e-8
- tkz_dc=2
- indirect = true
+ tkz_epsilon = 1e-8
+ tkz_dc = 2
+ indirect = true
+ inside = true
init_elements()}%
\newenvironment{tkzelements}
@@ -52,7 +53,7 @@
tex.sprint("\string\\coordinate ("..K..") at ("..V.re..","..V.im..") ; \string\r")
end}}
-\def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}}
+\def\tkzUseLua#1{\directlua{tex.print(#1)}}
\makeatletter
\def\tkzDrawLuaEllipse{\pgfutil@ifnextchar[{\tkz@DrawLuaEllipse}{\tkz@DrawLuaEllipse[]}}
\def\tkz@DrawLuaEllipse[#1](#2,#3,#4){%
@@ -67,6 +68,7 @@ end}}
\pgfmathprintnumber{#2}
\endgroup
}
+\let\percentchar\@percentchar
\makeatother
\endinput
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 6bb0c7c4f04..7ed5e1839f9 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -24,6 +24,8 @@ function circle: new (c, t) -- c --> center t --> through
local east = c + point (radius,0)
local north = c + point (0,radius)
local west = c - point (radius,0)
+ local perimeter = 2*math.pi*radius
+ local area = 4*math.pi*radius*radius
local o = { center = c,
through = t,
ct = ct,
@@ -33,7 +35,9 @@ function circle: new (c, t) -- c --> center t --> through
east = east,
north = north,
west = west,
- type = type}
+ type = type,
+ perimeter = perimeter,
+ area = area}
setmetatable(o, self)
self.__index = self
return o
@@ -51,26 +55,12 @@ end
-----------------------
-- boolean --
-----------------------
-function circle: in_out (pt)
- local d
- d = point.abs (pt - self.center)
- if math.abs(d-self.radius) < tkz_epsilon
- then
- return true
- else
- return false
- end
+function circle:in_out(pt)
+ return math.abs(point.abs(pt - self.center) - self.radius) < tkz_epsilon
end
-function circle: in_out_disk (pt)
- local d
- d = point.abs (pt - self.center)
- if d <= self.radius
- then
- return true
- else
- return false
- end
+function circle:in_out_disk(pt)
+ return point.abs(pt - self.center) <= self.radius
end
-- new version 1.80 added
@@ -78,6 +68,16 @@ function circle : circles_position (C)
return circles_position_ (self.center,self.radius,C.center,C.radius)
end
+function circle:is_tangent(l)
+ local a, b = intersection(self, l)
+ -- Checks whether the intersection produces valid points
+ if not a or not b then
+ return false
+ end
+ -- Checks whether the distance between the two intersection points is less than a given tolerance
+ return (point.abs(b - a) < tkz_epsilon)
+end
+
-----------------------
-- real --
-----------------------
@@ -131,59 +131,64 @@ end
-----------------------
-- lines --
-----------------------
-function circle: tangent_at (pt)
- return line : new ( rotation_ (pt,math.pi/2,self.center),rotation_ (pt,-math.pi/2,self.center))
+function circle:tangent_at(pt)
+ return line:new(
+ rotation_(pt, math.pi / 2, self.center),
+ rotation_(pt, -math.pi / 2, self.center)
+ )
+end
+
+
+ function circle:tangent_from(pt)
+ local t1, t2 = tangent_from_(self.center, self.through, pt)
+ return line:new(pt, t1), line:new(pt, t2)
end
-function circle: tangent_from (pt)
- local t1,t2
- t1,t2 = tangent_from_ (self.center,self.through,pt)
- return line :new (pt,t1),line : new (pt,t2)
+ function circle:radical_axis(C)
+ local t1, t2
+ if self.radius > C.radius then
+ t1, t2 = radical_axis_(self.center, self.through, C.center, C.through)
+ else
+ t1, t2 = radical_axis_(C.center, C.through, self.center, self.through)
+ end
+ return line:new(t1, t2)
end
- function circle: radical_axis (C)
- local t1,t2
- if self.radius > C.radius then
- t1,t2 = radical_axis_ (self.center,self.through,C.center,C.through)
- else
- t1,t2 = radical_axis_ (C.center,C.through,self.center,self.through)
- end
- return line :new (t1,t2)
- end
-function circle: radical_center (C1,C2)
-if C2 == nil then
- if self.radius > C1.radius then
- return radical_center_ (self.center,self.through,C1.center,C1.through)
- else
- return radical_center_ (C1.center,C1.through,self.center,self.through)
- end
-else
- return radical_center3 (self,C1,C2)
-end
-end
+ function circle:radical_center(C1, C2)
+ if C2 == nil then
+ if self.radius > C1.radius then
+ return radical_center_(self.center, self.through, C1.center, C1.through)
+ else
+ return radical_center_(C1.center, C1.through, self.center, self.through)
+ end
+ else
+ return radical_center3(self, C1, C2)
+ end
+ end
-function circle : radical_circle (C1,C2)
- local rc
- if C2 == nil then
- rc = self : radical_center (C1)
- return self : orthogonal_from (rc)
- else
- rc = self : radical_center (C1,C2)
- return C1 : orthogonal_from (rc)
- end
-end
+ function circle : radical_circle (C1,C2)
+ local rc
+ if C2 == nil then
+ rc = self : radical_center (C1)
+ return self : orthogonal_from (rc)
+ else
+ rc = self : radical_center (C1,C2)
+ return C1 : orthogonal_from (rc)
+ end
+ end
- function circle : external_tangent(C)
- local i,t1,t2,k,T1,T2
- i = barycenter_ ({C.center,self.radius},{self.center,-C.radius})
- t1,t2 = tangent_from_ (self.center,self.through,i)
- k = point.mod((C.center-i)/(self.center-i))
- T1 = homothety_(i,k,t1)
- T2 = homothety_(i,k,t2)
- return line : new (t1,T1),line : new (t2,T2)
+ function circle:external_tangent(C)
+ local i, t1, t2, k, T1, T2
+ i = barycenter_({C.center, self.radius}, {self.center, -C.radius})
+ t1, t2 = tangent_from_(self.center, self.through, i)
+ k = point.mod((C.center - i) / (self.center - i))
+ T1 = homothety_(i, k, t1)
+ T2 = homothety_(i, k, t2)
+ return line:new(t1, T1), line:new(t2, T2)
end
+
function circle : internal_tangent(C)
local i,t1,t2,k,T1,T2
i = barycenter_ ({C.center,self.radius},{self.center,C.radius})
@@ -221,54 +226,52 @@ function circle: orthogonal_through (pta,ptb)
return circle : new (orthogonal_through_ (self.center,self.through,pta,ptb),pta)
end
- function circle: inversion_L (L)
- local p,q
- if L: in_out (self.center) then
- return L
- else
- p = L: projection (self.center)
- q = inversion_ (self.center,self.through,p)
- return circle: new (midpoint_(self.center,q),q)
- end
+ function circle:inversion_L(L)
+ if L:in_out(self.center) then
+ return L
+ else
+ local p = L:projection(self.center)
+ local q = inversion_(self.center, self.through, p)
+ return circle:new(midpoint_(self.center, q), q)
+ end
end
-
- function circle: inversion_C (C)
- local p,q,x,y
- if C: in_out (self.center) then
- p = C : antipode (self.center)
- q = inversion_ (self.center,self.through,p)
- x = ortho_from_ ( q , self.center , p )
- y = ortho_from_ ( q , p, self.center)
- return line : new (x,y)
- else
- x,y = intersection_lc_ (self.center,C.center,C.center,C.through)
- X = inversion_ (self.center,self.through,x)
- Y = inversion_ (self.center,self.through,y)
- return circle : new (midpoint_(X,Y),X)
- end
+
+ function circle:inversion_C(C)
+ local p, q, x, y, X, Y
+ if C:in_out(self.center) then
+ p = C:antipode(self.center)
+ q = inversion_(self.center, self.through, p)
+ x = ortho_from_(q, self.center, p)
+ y = ortho_from_(q, p, self.center)
+ return line:new(x, y)
+ else
+ x, y = intersection_lc_(self.center, C.center, C.center, C.through)
+ X = inversion_(self.center, self.through, x)
+ Y = inversion_(self.center, self.through, y)
+ return circle:new(midpoint_(X, Y), X)
+ end
end
-function circle: inversion (...)
- local obj,nb,t
- local tp = table.pack(...)
- obj = tp[1]
- nb = tp.n
- if nb == 1 then
- if obj.type == "point" then
- return inversion_ (self.center,self.through,obj)
- elseif obj.type == "line" then
- return self: inversion_L (obj)
- else
- return self: inversion_C (obj)
- end
- else
- t = {}
- for i=1,tp.n do
- table.insert( t , inversion_ (self.center,self.through , tp[i]) )
+ function circle:inversion(...)
+ local tp = table.pack(...)
+ local obj = tp[1]
+ local nb = tp.n
+ if nb == 1 then
+ if obj.type == "point" then
+ return inversion_(self.center, self.through, obj)
+ elseif obj.type == "line" then
+ return self:inversion_L(obj)
+ else
+ return self:inversion_C(obj)
end
- return table.unpack ( t )
- end
-end
+ else
+ local t = {}
+ for i = 1, nb do
+ table.insert(t, inversion_(self.center, self.through, tp[i]))
+ end
+ return table.unpack(t)
+ end
+ end
function circle: draw ()
local x,y
@@ -282,4 +285,111 @@ function circle: midcircle(C)
return midcircle_ (self,C)
end
+-- -----------------------------------------------------------
+-- Circle tangent to a circle passing through two points
+function circle : c_c_pp(a,b)
+
+ -- test If one point is inside the disk and the other is outside, there is no solution.
+ if (self:in_out_disk(a) and not self:in_out_disk(b)) or ( self:in_out_disk(b) and not self:in_out_disk(a)) then
+ tex.error("An error has occurred", {"Bad configuration. Only one point is in the disk"})
+return end
+
+-- Find the mediator of the current line
+local lab = line : new (a,b)
+local lmed = lab : mediator()
+
+if self : is_tangent (lab) then
+ local c = intersection (self,lab)
+ local d = self : antipode (c)
+
+ return circle:new (circum_circle_(a, b, d),a),
+ circle:new (circum_circle_(a, b, d),a)
+end
+
+-- pb are (AB) tgt to circle A and B equidistant of O tgt and equidistant
+if lab : is_equidistant (self.center) then
+ local t1,t2 = intersection (lmed,self)
+ return circle:new (circum_circle_(a, b, t1),t1),
+ circle:new (circum_circle_(a, b, t2),t2)
+else
+ -- Create a circumcircle passing through a, b, and a point on C
+ local Cc = circle:new(circum_circle_(a, b, self.center), a)
+ -- Find the intersection points of C and Cc
+ local c, d = intersection(self, Cc)
+ -- Create a line passing through the two intersection points
+ local lcd = line:new(c, d)
+ -- Find the intersection of the current line (self) with the line lcd
+ local i = intersection(lab, lcd)
+ -- Create tangents from the intersection point to C
+ local lt, ltp = self:tangent_from(i)
+ -- Get the tangent points
+ local t, tp = lt.pb, ltp.pb
+ -- Return two new circles tangent to C and passing through the tangent points
+ return circle:new(intersection(lmed, line:new(self.center, t)), t),
+ circle:new(intersection(lmed, line:new(self.center, tp)), tp)
+end
+end
+
+
+-- Circle tangent to two circles passing through a point
+function circle : c_cc_p (C,p)
+ local i = self: external_similitude (C)
+ local lofcenters = line : new (self.center,C.center)
+ local u1,u2 = intersection (lofcenters,self)
+ local v1,v2 = intersection (lofcenters,C)
+ local u1,v1 = self : common_tangent (C)
+ local o = circum_circle_(u1,v1,p)
+ local a,b = intersection_lc_(i,p,o,p)
+ if (point.abs(a - b) < tkz_epsilon) then
+ local li = line:new (i,p)
+ return C : c_lc_p (li,a)
+ else
+ local q
+ -- problem if p == q ?
+ if (point.abs(a - p) < tkz_epsilon) then q = b else q=a end
+ return C : c_c_pp (p,q)
+ end
+end
+
+-- Circle tangent to one circle, on line and passing through a point
+function circle : c_lc_p (l,p,inside)
+ inside = inside or false
+ if self : in_out (p) then
+ local t1 = intersection_ll_( self.north,p,l.pa,l.pb)
+ local t2 = intersection_ll_( self.south,p,l.pa,l.pb)
+ local l1 = l : ortho_from (t1)
+ local l2 = l : ortho_from (t2)
+ local o1 = intersection_ll_( self.center,p,l1.pa,l1.pb)
+ local o2 = intersection_ll_( self.center,p,l2.pa,l2.pb)
+ return circle:new(o1,t1),circle:new(o2,t2)
+ else
+ if l : in_out (p) then
+ local i = l : projection (self.center)
+ local lortho = l : ortho_from (p)
+ local u = lortho : report (self.radius,p)
+ local v = lortho : report (-self.radius,p)
+ local ux,uy = mediator_ (self.center,u)
+ local vx,vy = mediator_ (self.center,v)
+ -- pb if c tgt l
+ local o1= intersection_ll_(u,v,ux,uy)
+ local o2 = intersection_ll_(u,v,vx,vy)
+ return circle:new(o1,p),circle:new(o2,p)
+ else -- genral case
+ local u = self.north
+ local v = self.south
+ local h = intersection_ll_(u,v,l.pa,l.pb)
+ if inside then
+ local o = circum_circle_(p,u,h)
+ local q = intersection_lc_(p,v,o,p)
+ return self : c_c_pp (p,q)
+ else
+ local o = circum_circle_(p,v,h)
+ local q = intersection_lc_(u,p,o,v)
+ return self : c_c_pp (p,q)
+ end
+ end
+ end
+end
+
+
return circle \ No newline at end of file
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 6d5fae53ec3..3469a89c418 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 cbc3a3969c9..9983ae3391e 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 3208f7a5d3a..5dfece2eb38 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -37,45 +37,52 @@ function orthogonal_from_ (a,b,p)
return tangent_from_ (a,b,p)
end
-function orthogonal_through_ (a,b,x,y)
- local d,z
- d = 1/point.mod(x-a)
- z = a +(b-a)*d
- return circum_center_ (x,y,z)
+function orthogonal_through_(a, b, x, y)
+ local d = 1 / point.mod(x - a)
+ local z = a + (b - a) * d
+ return circum_center_(x, y, z)
end
-function inversion_ (c,p,pt)
- local ry = point.abs(c-p)
- local d = point.abs(c-pt)
- local r = (ry*ry)/d
- return c+polar_ (r,point.arg(pt-c))
+function inversion_(c, p, pt)
+ local ry = point.abs(c - p)
+ local d = point.abs(c - pt)
+ local r = (ry * ry) / d
+ return c + polar_(r, point.arg(pt - c))
end
-function circles_position_ (c1,r1,c2,r2)
- local d,max,min
- d = point.mod(c1-c2)
- max = r1+r2
- min = math.abs ( r1 - r2)
- if d > max then return "outside"
- elseif math.abs(d - max) < tkz_epsilon then return "outside tangent" -- epsilon
- elseif math.abs(d - min) < tkz_epsilon then return "inside tangent" -- epsilon
- elseif d < min then return "inside"
- else return "intersect"
- end
+function circles_position_(c1, r1, c2, r2)
+ local d = point.mod(c1 - c2)
+ local max = r1 + r2
+ local min = math.abs(r1 - r2)
+
+ if d > max then
+ return "outside"
+ elseif math.abs(d - max) < tkz_epsilon then
+ return "outside tangent"
+ elseif math.abs(d - min) < tkz_epsilon then
+ return "inside tangent"
+ elseif d < min then
+ return "inside"
+ else
+ return "intersect"
+ end
end
+
-function radical_axis_ (c1,p1,c2,p2)
- local ci,cj
- r1 = point.abs(c1-p1)
- r2 = point.abs(c2-p2)
- d = point.abs(c1-c2)
- h = (r1*r1-r2*r2+d*d)/(2*d)
- ck = radical_center_ (c1,p1,c2,p2)
- cj = rotation_ (ck,-math.pi/2,c1)
- ci = symmetry_ (ck,cj)
- return cj,ci
+function radical_axis_(c1, p1, c2, p2)
+ local r1 = point.abs(c1 - p1)
+ local r2 = point.abs(c2 - p2)
+ local d = point.abs(c1 - c2)
+ local h = (r1 * r1 - r2 * r2 + d * d) / (2 * d)
+
+ local ck = radical_center_(c1, p1, c2, p2)
+ local cj = rotation_(ck, -math.pi / 2, c1)
+ local ci = symmetry_(ck, cj)
+
+ return cj, ci
end
+
function radical_center_ (c1,p1,c2,p2)
local d,r1,r2,h
r1 = point.abs(c1-p1)
@@ -96,18 +103,16 @@ return intersection_ll_ (t1,t2,t3,t4)
end
end
-function south_pole_ (c,p)
- local r
- r = point.abs (c-p)
- return c - point (0,r)
- end
+function south_pole_(c, p)
+ return c - point(0, point.abs(c - p))
+end
+
-function north_pole_ (c,p)
- local r
- r = point.abs (c-p)
- return c + point (0,r)
+function north_pole_(c, p)
+ return c + point(0, point.abs(c - p))
end
+
function antipode_ (c,pt)
return 2 * c - pt
end
@@ -126,42 +131,46 @@ function circlepoint_ (c,t,k)
end
function midcircle_(C1,C2)
- local state,r,s,t1,t2,T1,T2,p,a,b,c,d,Cx,Cy,i,j
- state = circles_position_(C1.center,C1.radius,C2.center,C2.radius)
- i = barycenter_ ({C2.center,C1.radius},{C1.center,-C2.radius})
- j = barycenter_ ({C2.center,C1.radius},{C1.center,C2.radius})
- t1,t2 = tangent_from_ (C1.center,C1.through,i)
- T1,T2 = tangent_from_ (C2.center,C2.through,i)
+ local state, r, s, t1, t2, T1, T2, p, a, b, c, d, Cx, Cy, i, j
+ state = circles_position_(C1.center, C1.radius, C2.center, C2.radius)
+ i = barycenter_({C2.center, C1.radius}, {C1.center, -C2.radius})
+ j = barycenter_({C2.center, C1.radius}, {C1.center, C2.radius})
+ t1, t2 = tangent_from_(C1.center, C1.through, i)
+ T1, T2 = tangent_from_(C2.center, C2.through, i)
- if (state == 'outside') or (state == 'outside tangent')then
- p = math.sqrt(point.mod(i-t1)*point.mod(i-T1))
- return circle : radius (i,p)
- elseif state == 'intersect' then
- r,s = intersection (C1,C2)
- return circle : radius (i,point.mod(r-i)) , circle : radius (j,point.mod(r-j))
- elseif (state == 'inside') or (state == 'inside tangent') then
- a,b = intersection_lc_ (C1.center,C2.center,C1.center,C1.through)
- c,d = intersection_lc_ (C1.center,C2.center,C2.center,C2.through)
-
+ if (state == 'outside') or (state == 'outside tangent') then
+ p = math.sqrt(point.mod(i - t1) * point.mod(i - T1))
+ return circle:radius(i, p)
+ elseif state == 'intersect' then
+ r, s = intersection(C1, C2)
+ return circle:radius(i, point.mod(r - i)), circle:radius(j, point.mod(r - j))
+ elseif (state == 'inside') or (state == 'inside tangent') then
+ a, b = intersection_lc_(C1.center, C2.center, C1.center, C1.through)
+ c, d = intersection_lc_(C1.center, C2.center, C2.center, C2.through)
+
+ -- Ensure the smaller radius circle is used first
if C1.radius < C2.radius then
z.u, z.v, z.r, z.s = a, b, c, d
else
z.u, z.v, z.r, z.s = c, d, a, b
end
- if (in_segment_ (z.s,z.v,z.u) == true)
- then
- Cx = circle : diameter (z.r,z.v)
- Cy = circle : diameter (z.u,z.s)
- else
- Cx = circle : diameter (z.s,z.v)
- Cy = circle : diameter (z.u,z.r)
- end
- if (Cx.radius) < (Cy.radius) then
- return Cy : orthogonal_from (j)
- else
- return Cx : orthogonal_from (j)
- end
- end
+ -- Determine circle orientation and return orthogonal from j
+ if in_segment_(z.s, z.v, z.u) then
+ Cx = circle:diameter(z.r, z.v)
+ Cy = circle:diameter(z.u, z.s)
+ else
+ Cx = circle:diameter(z.s, z.v)
+ Cy = circle:diameter(z.u, z.r)
+ end
+
+ -- Return the circle with the smaller radius orthogonal from j
+ if Cx.radius < Cy.radius then
+ return Cy:orthogonal_from(j)
+ else
+ return Cx:orthogonal_from(j)
+ end
+ end
end
+
\ No newline at end of file
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 750bafe0784..cb318bb6d00 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -72,133 +72,142 @@ function intersection_le (L,E)
end
end
-function intersection_ll_ (a,b,c,d)
- local x1,x2,x3,x4,y1,y2,y3,y4,DN,NX,NY
- x1 = a.re
- y1 = a.im
- x2 = b.re
- y2 = b.im
- x3 = c.re
- y3 = c.im
- x4 = d.re
- y4 = d.im
- DN = (x1-x2)*(y3-y4) - (y1-y2)*(x3-x4)
- if math.abs ( DN ) < tkz_epsilon then
- return false
- else
- NX = (x1*y2-y1*x2)*(x3-x4) - (x1-x2)*(x3*y4-y3*x4)
- NY = (x1*y2-y1*x2)*(y3-y4) - (y1-y2)*(x3*y4-y3*x4)
- return point (NX/DN,NY/DN)
+function intersection_ll_(a, b, c, d)
+ local x1, y1, x2, y2, x3, y3, x4, y4
+ local DN, NX, NY
+
+ x1, y1 = a.re, a.im
+ x2, y2 = b.re, b.im
+ x3, y3 = c.re, c.im
+ x4, y4 = d.re, d.im
+
+ DN = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4)
+
+ if math.abs(DN) < tkz_epsilon then
+ return false
end
+
+ NX = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4)
+ NY = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4)
+
+ return point(NX / DN, NY / DN)
end
-function intersection_lc_ (pa,pb,c,p)
- local zh, dh, arg_ab, test, phi,c1,c2,r
- r = point.mod (c-p)
- zh = projection_ (pa,pb,c)
- dh = point.abs (c - zh)
- arg_ab = point.arg (pa - pb)
- if dh < tkz_epsilon
- then
- return
- c + polar_ (r , math.pi + arg_ab), -- through center
- c + polar_ (r , arg_ab)
- elseif math.abs (r - dh) < tkz_epsilon
- then
- return zh , zh -- tangent
- elseif dh > r
- then return false , false -- no intersection
- else
- phi = math.asin (dh / r)
- -- phi = angle_normalize(phi)
- test = (pa-pb) * point.conj (c-zh)
- if test.im < 0
- then phi = math.pi + phi
- end
- c1 = angle_normalize (arg_ab + phi )
- c2 = angle_normalize (math.pi + arg_ab - phi )
- if c2 < c1 then
- return
- c + polar_ (r, c2) ,
- c + polar_ (r, c1)
- else
- return
- c + polar_ (r, c1) ,
- c + polar_ (r, c2)
- end -- if
- end -- if
+function intersection_lc_(pa, pb, c, p)
+ local zh, dh, arg_ab, phi, c1, c2, r, test
-end -- function
+ r = point.mod(c - p)
+ zh = projection_(pa, pb, c)
+ dh = point.abs(c - zh)
+ arg_ab = point.arg(pa - pb)
+
+ if dh < tkz_epsilon then
+ -- Le centre du cercle est sur la droite
+ return c + polar_(r, math.pi + arg_ab), c + polar_(r, arg_ab)
+ elseif math.abs(r - dh) < tkz_epsilon then
+ -- La droite est tangente au cercle
+ return zh, zh
+ elseif dh > r then
+ -- Aucune intersection
+ return false, false
+ else
+ -- Il y a une intersection, calcul de l'angle
+ phi = math.asin(dh / r)
+ test = (pa - pb) * point.conj(c - zh)
+ if test.im < 0 then
+ phi = math.pi + phi
+ end
+
+ c1 = angle_normalize(arg_ab + phi)
+ c2 = angle_normalize(math.pi + arg_ab - phi)
+
+ -- Retourner les deux points d'intersection
+ if c2 < c1 then
+ return c + polar_(r, c2), c + polar_(r, c1)
+ else
+ return c + polar_(r, c1), c + polar_(r, c2)
+ end
+ end
+end
-function intersection_cc_ (ca,pa,cb,pb )
- local d, cosphi, phi,ra,rb,c1,c2,epsilon
+function intersection_cc_(ca, pa, cb, pb)
+ local d, cosphi, phi, ra, rb, c1, c2, epsilon
+
+ -- Précision pour arrondir les résultats
epsilon = 12
- d = point.abs (ca - cb)
- ra = point.abs (ca - pa)
- rb = point.abs (cb - pb)
- cosphi = tkzround(((ra * ra + d * d - rb * rb)
- /( 2 * ra * d )) , epsilon)
- phi = tkzround (math.acos(cosphi),epsilon)
- if not phi then
- return false , false
- elseif phi == 0 then
- return ca + polar_ (ra, phi + point.arg (cb - ca)) ,
- ca + polar_ (ra, phi + point.arg (cb - ca))
- else
- c1 = angle_normalize ( phi + point.arg(cb - ca))
- c2 = angle_normalize (-phi + point.arg(cb - ca))
- if c1 < c2 then
- return
- ca + polar_(ra, c1),
- ca + polar_(ra, c2)
-else
- return
- ca + polar_(ra, c2),
- ca + polar_(ra, c1)
- end -- if
- end -- if
- end -- function
-
-function intersection ( X , Y )
- local i,z1,z2
- local t = {}
-
- if X.type == 'circle'
- then
- if Y.type == 'circle'
- then
- z1,z2 = intersection_cc ( X , Y )
- table.insert (t , z1 )
- table.insert (t , z2 )
- else -- Y[i] est une droite
- z1,z2 = intersection_lc ( Y , X )
- table.insert (t , z1 )
- table.insert (t , z2 )
- end -- if
- else
- if X.type == 'line' then
- if Y.type == 'circle'
- then
- z1,z2 = intersection_lc ( X , Y )
- table.insert ( t , z1 )
- table.insert ( t , z2 )
- else
- if Y.type == 'line' then
- z1 = intersection_ll ( X , Y )
- table.insert (t , z1 )
- else -- ellipse
- z1,z2 = intersection_le ( X , Y )
- table.insert ( t , z1 )
- table.insert ( t , z2 )
- end
- end -- if
- else
- if X.type == 'ellipse' then
- z1,z2 = intersection_le ( Y,X)
- table.insert ( t , z1 )
- table.insert ( t , z2 )
- end
+ -- Distance entre les centres des cercles
+ d = point.abs(ca - cb)
+ -- Rayons des cercles
+ ra = point.abs(ca - pa)
+ rb = point.abs(cb - pb)
+
+ -- Calcul du cosinus de l'angle phi entre les centres et les points sur les cercles
+ cosphi = tkzround((ra * ra + d * d - rb * rb) / (2 * ra * d), epsilon)
+
+ -- Calcul de l'angle phi
+ phi = tkzround(math.acos(cosphi), epsilon)
+
+ -- Si phi est invalide (par exemple, cosphi > 1 ou < -1), aucune intersection
+ if not phi then
+ return false, false
+ elseif phi == 0 then
+ -- Les cercles sont tangents l'un à l'autre, retourne le même point pour les deux intersections
+ return ca + polar_(ra, point.arg(cb - ca)), ca + polar_(ra, point.arg(cb - ca))
+ else
+ -- Calcul des angles des points d'intersection
+ c1 = angle_normalize(phi + point.arg(cb - ca))
+ c2 = angle_normalize(-phi + point.arg(cb - ca))
+
+ -- Retourner les points d'intersection dans l'ordre croissant des angles
+ if c1 < c2 then
+ return ca + polar_(ra, c1), ca + polar_(ra, c2)
+ else
+ return ca + polar_(ra, c2), ca + polar_(ra, c1)
+ end
+ end
+end
+
+function intersection(X, Y)
+ local t = {} -- Tableau pour stocker les points d'intersection
+
+ -- Cas où X est un cercle
+ if X.type == 'circle' then
+ if Y.type == 'circle' then
+ -- Intersection entre deux cercles
+ local z1, z2 = intersection_cc(X, Y)
+ table.insert(t, z1)
+ table.insert(t, z2)
+ else -- Y est une droite
+ local z1, z2 = intersection_lc(Y, X) -- Intersection entre un cercle et une droite
+ table.insert(t, z1)
+ table.insert(t, z2)
+ end
+
+ -- Cas où X est une droite
+ elseif X.type == 'line' then
+ if Y.type == 'circle' then
+ -- Intersection entre une droite et un cercle
+ local z1, z2 = intersection_lc(X, Y)
+ table.insert(t, z1)
+ table.insert(t, z2)
+ elseif Y.type == 'line' then
+ -- Intersection entre deux droites
+ local z1 = intersection_ll(X, Y)
+ table.insert(t, z1)
+ else -- Y est une ellipse
+ local z1, z2 = intersection_le(X, Y) -- Intersection entre une droite et une ellipse
+ table.insert(t, z1)
+ table.insert(t, z2)
end
- end -- if
- return table.unpack ( t )
-end -- function \ No newline at end of file
+
+ -- Cas où X est une ellipse
+ elseif X.type == 'ellipse' then
+ -- Intersection entre une ellipse et l'autre objet (cercle, droite ou ellipse)
+ local z1, z2 = intersection_le(Y, X)
+ table.insert(t, z1)
+ table.insert(t, z2)
+ end
+
+ -- Retourner les résultats sous forme de valeurs distinctes
+ return table.unpack(t)
+end
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 31c735df6f9..dfea7c4d3c6 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -15,16 +15,17 @@
---------------------------------------------------------------------------
-- Lines
---------------------------------------------------------------------------
-function normalize_ (a,b)
- return a+(b-a)/point.mod(b-a)
+function normalize_(a, b)
+ return a + (b - a) / point.mod(b - a)
end
-function ortho_from_ ( p , a , b )
- return p+(b-a)*point(0,1)
+
+function ortho_from_(p, a, b)
+ return p + (b - a) * point(0, 1)
end
function ll_from_ ( p , a , b )
- return p+b-a
+ return p + b - a
end
function slope_ (a,b)
@@ -32,7 +33,7 @@ function slope_ (a,b)
end
function gold_segment_ (a,b)
- return a + (b-a)*tkzinvphi
+ return a + (b - a) * tkzinvphi
end
function online_ (a,b,t)
@@ -52,26 +53,25 @@ function equilateral_tr_ (a,b)
return rotation_ (a,math.pi/3,b)
end
-function isosceles_right_tr (a,b)
- local pt
- pt = rotation_ (a,math.pi/4,b)
- return a + (pt-a) * math.sin(math.pi/4)
+function isosceles_right_tr(a, b)
+ local pt = rotation_(a, math.pi / 4, b)
+ return a + (pt - a) * math.sin(math.pi / 4)
end
-function gold_tr (a,b)
- local pt
- pt = rotation_ (a,math.pi/2,b)
- return a + (pt-a) * tkzinvphi
+
+function gold_tr(a, b)
+ local pt = rotation_(a, math.pi / 2, b)
+ return a + (pt - a) * tkzinvphi
end
+
function euclide_tr (a,b)
return rotation_ (a,math.pi/5,b)
end
function golden_tr (a,b)
- local pt
- pt = rotation_ (a,2*math.pi/5,b)
- return a + (pt-a) * tkzphi
+ local pt = rotation_ (a,2*math.pi/5,b)
+ return a + (pt-a) * tkzphi
end
function div_harmonic_int_(a,b,n)
@@ -97,66 +97,56 @@ function projection ( Dt,pt )
return projection_ ( Dt.pa,Dt.pb,pt )
end
-function projection_ ( pa,pb,pt )
- local v
- local z
- if aligned ( pa,pb,pt ) then
- return pt
- else
- v = pb - pa
- z = ((pt - pa)..v)/(point.norm(v)) -- .. dot product
- return pa + z * v
- end
+function projection_(pa, pb, pt)
+ if aligned(pa, pb, pt) then
+ return pt
+ else
+ local v = pb - pa
+ local z = ((pt - pa) .. v) / point.norm(v) -- .. dot product
+ return pa + z * v
+ end
end
+
function symmetry_axial_(pa,pb,pt)
- local p
- p = projection_ (pa,pb,pt)
+ local p = projection_ (pa,pb,pt)
return symmetry_(p,pt)
end
-function set_symmetry_axial_ (u,v,...)
- local tp = table.pack(...)
- local i
+function set_symmetry_axial_(u, v, ...)
local t = {}
- for i=1,tp.n do
- table.insert( t , symmetry_axial_ (u,v , tp[i]) )
- end
- return table.unpack ( t )
+ for _, value in ipairs({...}) do
+ table.insert(t, symmetry_axial_(u, v, value))
+ end
+ return table.unpack(t)
end
+
function square_ (a,b)
return rotation_ (b,-math.pi/2,a), rotation_ (a,math.pi/2,b)
end
-function in_segment_ (a,b,pt)
- local sc
- sc = point.mod (pt-a) + point.mod (pt-b) - point.mod(b-a)
- if sc <= tkz_epsilon
- then
- return true
+function in_segment_(a, b, pt)
+ return point.mod(pt - a) + point.mod(pt - b) - point.mod(b - a) <= tkz_epsilon
+end
+
+function report_(za, zb, d, pt)
+ local len = point.mod(zb - za)
+ local t = d / len
+ local result = barycenter_({za, 1 - t}, {zb, t})
+
+ if pt then
+ return result + pt - za
else
- return false
+ return result
end
end
-function report_ (za,zb,d,pt)
- local t,len
- len = point.mod(zb-za)
- t = d/len
- if pt == nil
- then
- return barycenter_({za,1-t},{zb,(t)})
-else
- return barycenter_({za,1-t},{zb,(t)}) +pt-za
-end
+function colinear_at_(za, zb, pt, k)
+ if k then
+ return pt + k * (zb - za)
+ else
+ return pt + (zb - za)
+ end
end
-function colinear_at_ (za,zb,pt,k)
- if k == nil
- then
- return pt+zb-za
-else
- return pt+k*(zb-za)
-end
-end
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 d3efe9b2909..8b666897686 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -38,27 +38,26 @@ function Cramer22(a1,a2,b1,b2)
return a1*b2-a2*b1
end
-function aligned ( m,a,b )
+function aligned(m, a, b)
local z
- z = (b-a)/(m-b)
- if math.abs(z.im) < tkz_epsilon
- then
- return true
- else
- return false
- end
-end
+ z = (b - a) / (m - b)
+ if math.abs(z.im) < tkz_epsilon then
+ return true
+ else
+ return false
+ end
+end
-function islinear (z1,z2,z3)
- local dp
- dp = (z2-z1) ^ (z3-z1)
- if math.abs(dp) < tkz_epsilon
- then
+function islinear(z1, z2, z3)
+ local dp
+ dp = (z2 - z1) ^ (z3 - z1)
+ if math.abs(dp) < tkz_epsilon then
return true
- else
+ else
return false
end
end
+is_linear = islinear
function isortho (z1,z2,z3)
local dp
@@ -71,6 +70,8 @@ function isortho (z1,z2,z3)
end
end
+is_ortho = isortho
+
function parabola (a,b,c)
local xa,xb,xc,ya,yb,yc
xa = a.re
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 3ced42be40c..47d3ce99679 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 59454e78f02..9937c0589dd 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -23,30 +23,29 @@ function polar_ (radius, phi)
end
function barycenter_ (...)
-local cp = table.pack(...)
-local i
-local sum = 0
-local weight=0
-for i=1,cp.n do
- sum = sum + cp[i][1]*cp[i][2]
- weight = weight + cp[i][2]
-end
-return sum/weight
+ local cp = table.pack(...)
+ local sum = 0
+ local weight = 0
+ for i = 1, cp.n do
+ sum = sum + cp[i][1] * cp[i][2]
+ weight = weight + cp[i][2]
+ end
+ return sum / weight
end
-function rotation_ (c,a,pt)
- local z = point( math.cos(a) , math.sin(a) )
- return z*(pt-c)+c
+function rotation_ (c, a, pt)
+ local z = point(math.cos(a), math.sin(a))
+ return z * (pt - c) + c
end
-function set_rotation_ (c,angle,...)
+-- Define the set_rotation_ function
+function set_rotation_ (c, angle, ...)
local tp = table.pack(...)
- local i
local t = {}
for i=1,tp.n do
- table.insert( t , rotation_(c , angle , tp[i] ))
+ table.insert(t, rotation_(c, angle, tp[i]))
end
- return table.unpack ( t )
+ return table.unpack(t)
end
function symmetry_(c,pt)
@@ -55,8 +54,7 @@ end
function set_symmetry_ (c,...)
local tp = table.pack(...)
- local i
- local t = {}
+ local t = {}
for i=1,tp.n do
table.insert( t , symmetry_ (c , tp[i]) )
end
@@ -69,8 +67,7 @@ end
function set_homothety_ (c,coeff,...)
local tp = table.pack(...)
- local i
- local t = {}
+ local t = {}
for i=1,tp.n do
table.insert( t , homothety_ (c, coeff , tp[i]) )
end
@@ -83,7 +80,6 @@ end
function set_translation_ (u,...)
local tp = table.pack(...)
- local i
local t = {}
for i=1,tp.n do
table.insert( t , (u + tp[i]) )
@@ -101,7 +97,6 @@ end
function midpoints_ (...)
local arg = table.pack(...)
local n = arg.n
- local i
local t = {}
for i=1, n-1 do
table.insert( t , (arg[i]+arg[i+1])/2 )
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 0dfed425ae2..01d98ad29a3 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 5a81a993e1a..b27353f2dc1 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -70,20 +70,32 @@ w = point.abs(b-a)
return barycenter_ ({a,u*u},{b,v*v},{c,w*w})
end
-function nagel_point_ (a,b,c)
- local u,v,w
- u,v,w = extouch_tr_ ( a,b,c )
-return intersection_ll_ (a,u,b,v)
+function nagel_point_ (a, b, c)
+ -- Calculate the excircle tangency points (u, v, w)
+ local u, v, w = extouch_tr_ (a, b, c)
+
+ -- Find the intersection of lines through a and u, and through b and v
+ return intersection_ll_ (a, u, b, v)
end
-function feuerbach_point_ (a,b,c)
- local i,h,e,ma
- i,h = in_circle_ (a,b,c)
- e = euler_center_ (a,b,c)
- ma = (b+c)/2
-return intersection_cc_ (i,h,e,ma)
+
+function feuerbach_point_ (a, b, c)
+ local i, h, e, ma
+
+ -- Calculate the incenter and some related point (likely the orthocenter or another center)
+ i, h = in_circle_ (a, b, c)
+
+ -- Calculate the Euler center (center of the nine-point circle)
+ e = euler_center_ (a, b, c)
+
+ -- Calculate the midpoint of side BC
+ ma = (b + c) / 2
+
+ -- Find the intersection of the circles at (i, h) and (e, ma), which gives the Feuerbach point
+ return intersection_cc_ (i, h, e, ma)
end
+
function spieker_center_ (a,b,c)
return in_center_ (medial_tr_ ( a,b,c))
end
@@ -160,18 +172,28 @@ function ex_circle_ ( a,b,c )
projection_ (b,a,o)
end
-function euler_circle_ (a,b,c)
- local o,ma,mb,mc,H,ha,hb,hc
- o = euler_center_ (a,b,c)
- ma,mb,mc = medial_tr_ ( a,b,c)
- ha,hb,hc = orthic_tr_ ( a,b,c)
- local _,_,H,_ = euler_line_ (a,b,c)
- return
- o,ma,mb,mc,ha,hb,hc,
- midpoint_ ( H,a ),
- midpoint_ ( H,b ),
- midpoint_ ( H,c )
+function euler_circle_ (a, b, c)
+ local o, ma, mb, mc, H, ha, hb, hc
+ -- Compute the Euler center (center of the nine-point circle)
+ o = euler_center_ (a, b, c)
+
+ -- Calculate the medial triangle (midpoints of the sides)
+ ma, mb, mc = medial_tr_ (a, b, c)
+
+ -- Calculate the orthic triangle (feet of the altitudes)
+ ha, hb, hc = orthic_tr_ (a, b, c)
+
+ -- Get the Euler line and midpoint (H) on the Euler line
+ _, _, H, _ = euler_line_ (a, b, c)
+
+ -- Return all relevant geometric elements
+ return
+ o, ma, mb, mc, ha, hb, hc,
+ midpoint_ (H, a), -- Midpoint between H and vertex a
+ midpoint_ (H, b), -- Midpoint between H and vertex b
+ midpoint_ (H, c) -- Midpoint between H and vertex c
end
+
--------------------
-- triangles --
--------------------
@@ -194,15 +216,21 @@ function anti_tr_(a,b,c)
barycenter_ ( {a,1} , {b,1} , {c,-1} )
end
-function incentral_tr_ (a,b,c)
- local i,r,s,t
- i = in_center_ (a , b , c)
- r = intersection_ll_ ( a,i , b,c)
- s = intersection_ll_ ( b,i , a,c)
- t = intersection_ll_ ( c,i , a,b)
-return r,s,t
+function incentral_tr_ (a, b, c)
+ local i, r, s, t
+ -- Compute the incenter (center of the incircle)
+ i = in_center_ (a, b, c)
+
+ -- Calculate the points of tangency where the incircle touches the sides
+ r = intersection_ll_ (a, i, b, c) -- Intersection of lines a-i and b-c
+ s = intersection_ll_ (b, i, a, c) -- Intersection of lines b-i and a-c
+ t = intersection_ll_ (c, i, a, b) -- Intersection of lines c-i and a-b
+
+ -- Return the points of tangency that form the incentral triangle
+ return r, s, t
end
+
function excentral_tr_ (a,b,c)
local r,s,t,ka,kb,kc
ka = point.abs (b-c)
@@ -290,19 +318,22 @@ function area_ (a,b,c)
return point.mod(a - projection_(b,c,a))*point.mod (b - c)/2
end
-function check_equilateral_ (a,b,c)
- local A,B,C
- A = b - c
- B = a - c
- C = a - b
- if (point.abs(A)-point.abs(B) < tkz_epsilon) and (point.abs(B)-point.abs(C) < tkz_epsilon)
- then
- return true
- else
- return false
+function check_equilateral_ (a, b, c)
+ local A, B, C
+ -- Compute the vectors representing the sides of the triangle
+ A = b - c -- Side from b to c
+ B = a - c -- Side from a to c
+ C = a - b -- Side from a to b
+
+ -- Check if all sides have approximately equal lengths
+ if (point.abs(A) - point.abs(B) < tkz_epsilon) and (point.abs(B) - point.abs(C) < tkz_epsilon) then
+ return true -- The triangle is equilateral
+ else
+ return false -- The triangle is not equilateral
end
end
+
function parallelogram_ (a,b,c)
local x = c + a - b
return x
@@ -337,22 +368,34 @@ function in_out_ (a,b,c,pt)
end
end
-function soddy_center_ (a,b,c)
- local i,ha,hb,hc,e,f,g,x,y,z,xp,yp,zp
- i,e,f,g = in_circle_ (a,b,c)
- ha,hb,hc = orthic_tr_ (a,b,c)
- x,xp = intersection_lc_ (a,ha,a,g)
- if (point.mod(ha-x)<point.mod(ha-xp)) then else x,xp=swap(x,xp) end
- y,yp = intersection_lc_ (b,hb,b,e)
- if (point.mod(hb-y)<point.mod(hb-yp)) then else y,yp=swap(y,yp) end
- z,zp = intersection_lc_ (c,hc,c,f)
- if (point.mod(hc-z)<point.mod(hc-zp)) then else z,zp=swap(z,zp) end
- xi,t = intersection_lc_ (xp,e,a,g)
- if in_out_ (a,b,c,xi) then else xi,t = swap(xi,t) end
- yi,t = intersection_lc_ (yp,f,b,e)
- if in_out_ (a,b,c,yi) then else yi,t = swap(yi,t) end
- zi,t = intersection_lc_ (zp,g,c,f)
- if in_out_ (a,b,c,zi) then else zi,t = swap(zi,t) end
- s = circum_center_ (xi,yi,zi)
- return s,xi,yi,zi
+function soddy_center_ (a,b,c)
+ -- Step 1: Compute the incenter and excircle centers
+ local i,e,f,g = in_circle_ (a,b,c)
+ local ha,hb,hc = orthic_tr_ (a,b,c)
+
+ -- Step 2: Find the intersection points for the tangent lines
+ local x,xp = intersection_lc_ (a,ha,a,g)
+ if (point.mod(ha-x) < point.mod(ha-xp)) then else x,xp = swap(x,xp) end
+
+ local y,yp = intersection_lc_ (b,hb,b,e)
+ if (point.mod(hb-y) < point.mod(hb-yp)) then else y,yp = swap(y,yp) end
+
+ local z,zp = intersection_lc_ (c,hc,c,f)
+ if (point.mod(hc-z) < point.mod(hc-zp)) then else z,zp = swap(z,zp) end
+
+ -- Step 3: Calculate the intersections with the opposite triangle sides
+ local xi,t = intersection_lc_ (xp,e,a,g)
+ if in_out_ (a,b,c,xi) then else xi,t = swap(xi,t) end
+
+ local yi,t = intersection_lc_ (yp,f,b,e)
+ if in_out_ (a,b,c,yi) then else yi,t = swap(yi,t) end
+
+ local zi,t = intersection_lc_ (zp,g,c,f)
+ if in_out_ (a,b,c,zi) then else zi,t = swap(zi,t) end
+
+ -- Step 4: Calculate the circumcenter of the triangle formed by the tangent points
+ local s = circum_center_ (xi,yi,zi)
+
+ return s,xi,yi,zi -- Return the Soddy center and the tangent points
end
+
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 4d24d9d229c..2b4b320e19a 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -16,7 +16,7 @@
-- Lines
-- -------------------------------------------------------------------------
line = {}
-function line: new(za, zb)
+function line:new(za, zb)
local type = 'line'
local mid = (za+zb)/2
local north_pa = rotation_ (za,math.pi/2,zb)
@@ -49,122 +49,119 @@ end
-------------------
-- Result -> real
-------------------
-function line: distance (pt)
+function line:distance(pt)
return point.mod(projection(self,pt)-pt)
end
-function length(a,b)
- return point.abs (a-b)
-end
-
-function line: slope ()
+function line:slope()
return slope_(self.pa,self.pb)
end
-------------------
-- Result -> boolean
-------------------
-function line: in_out (pt)
- local sc
- sc = math.abs ((pt-self.pa)^(pt-self.pb))
- if sc <= tkz_epsilon
- then
- return true
- else
- return false
- end
+function line:in_out(pt)
+ return math.abs((pt - self.pa) ^ (pt - self.pb)) <= tkz_epsilon
end
-function line: in_out_segment (pt)
- local sc
- sc = point.mod (pt-self.pa) + point.mod (pt-self.pb) - point.mod(self.pb-self.pa)
- if sc <= tkz_epsilon
- then
- return true
- else
- return false
- end
+function line:in_out_segment(pt)
+ return point.mod(pt - self.pa) + point.mod(pt - self.pb) - point.mod(self.pb - self.pa) <= tkz_epsilon
+end
+
+function line:is_parallel(L)
+ return math.abs(self.slope - L.slope) < tkz_epsilon
+end
+
+function line:is_orthogonal(L)
+ return math.abs(self.slope * L.slope + 1) < tkz_epsilon
+end
+
+function line:is_equidistant(p)
+ return math.abs( (point.mod(self.pa-p)-(point.mod(self.pb-p)))) < tkz_epsilon
end
-------------------
-- Result -> point
-------------------
-function line: barycenter (ka,kb)
+function line:barycenter(ka,kb)
return barycenter_({self.pa,ka},{self.pb,kb})
end
-function line: point (t) -- t=o A t=1 B t = AM / AB
+function line:point(t) -- t=o A t=1 B t = AM / AB
return barycenter_({self.pa,1-t},{self.pb,(t)})
end
-function line: midpoint ()
+function line:midpoint()
return (self.pa+self.pb)/2
end
-function line: harmonic_int (pt)
+function line:harmonic_int(pt)
return div_harmonic_int_(self.pa,self.pb,pt)
end
-function line: harmonic_ext (pt)
+function line:harmonic_ext(pt)
return div_harmonic_ext_(self.pa,self.pb,pt)
end
-function line: harmonic_both (k)
+function line:harmonic_both(k)
return div_harmonic_both_(self.pa,self.pb,k)
end
-function line: gold_ratio()
+function line:gold_ratio()
return self.pa + (self.pb-self.pa)*tkzinvphi
end
-function line: normalize ()
+function line:normalize()
return self.pa+(self.pb-self.pa)/point.mod(self.pb-self.pa)
end
-function line: normalize_inv ()
+function line:normalize_inv()
return normalize_ (self.pb,self.pa)
end
-function line: _east (d)
+function line:_east(d)
local d = d or 1
return self.pb+ d/self.length * (self.pb-self.pa)
end
-function line: _west (d)
+function line:_west(d)
local d = d or 1
return self.pa+ d/self.length * (self.pa-self.pb)
end
-function line: _north_pa (d)
+function line:_north_pa(d)
local d = d or 1
return d/self.length * ( self.north_pa - self.pa ) + self.pa
end
-function line: _south_pa (d)
+function line:_south_pa(d)
local d = d or 1
return d/self.length *( self.south_pa - self.pa ) + self.pa
end
-function line: _south_pb (d)
+function line:_south_pb(d)
local d = d or 1
return d/self.length *( self.south_pb - self.pb ) + self.pb
end
-function line: _north_pb (d)
+function line:_north_pb(d)
local d = d or 1
return d/self.length *( self.north_pb - self.pb ) + self.pb
end
-function line : report (d,pt)
- local t
- t = d/self.length
- if pt == nil
- then
- return barycenter_({self.pa,1-t},{self.pb,(t)})
- else
- return barycenter_({self.pa,1-t},{self.pb,(t)}) +pt-self.pa
- end
+function line:report(d, pt)
+ if not self.length or self.length == 0 then
+ error("self.length must be non-zero")
+ end
+ local t = d / self.length
+ local result = barycenter_({self.pa, 1 - t}, {self.pb, t})
+ if pt then
+ return result + pt - self.pa
+ else
+ return result
+ end
end
-function line : colinear_at (pt,k)
+
+function line:colinear_at (pt,k)
if k == nil
then
return colinear_at_ (self.pa,self.pb,pt,1)
@@ -173,28 +170,28 @@ function line : colinear_at (pt,k)
end
end
-------------- transformations -------------
-function line: translation_pt ( pt )
+function line:translation_pt( pt )
return translation_ ( self.pb-self.pa,pt )
end
-function line: translation_C ( obj )
+function line:translation_C( obj )
local pa,pb,x,y
pa = obj.center
pb = obj.through
- x,y = set_translation_ ( self.pb-self.pa,pa,pb )
+ x,y = set_translation_( self.pb-self.pa,pa,pb )
return circle : new (x,y)
end
-function line: translation_T ( obj )
+function line: translation_T( obj )
local pa,pb,pc,x,y,z
pa = obj.pa
pb = obj.pb
pc = obj.pc
- x,y,z = set_translation_ ( self.pb-self.pa,pa,pb,pc )
+ x,y,z = set_translation_( self.pb-self.pa,pa,pb,pc )
return triangle : new (x,y,z)
end
-function line: translation_L ( obj )
+function line: translation_L( obj )
local pa,pb,x,y
pa = obj.pa
pb = obj.pb
@@ -202,35 +199,42 @@ function line: translation_L ( obj )
return line : new (x,y)
end
-function line: translation (...)
- local obj,nb,t
+function line:translation(...)
+ local obj, nb, t
local tp = table.pack(...)
obj = tp[1]
nb = tp.n
- if nb == 1 then
- if obj.type == "point" then
- return translation_ ( self.pb-self.pa,obj )
- elseif obj.type == "line" then
- return self: translation_L (obj)
- elseif obj.type == "triangle" then
- return self: translation_T (obj)
- else
- return self: translation_C (obj)
- end
- else
+
+ -- If only one object is passed
+ if nb == 1 then
+ if obj.type == "point" then
+ return translation_(self.pb - self.pa, obj) -- Translate point
+ elseif obj.type == "line" then
+ return self:translation_L(obj) -- Translate line
+ elseif obj.type == "triangle" then
+ return self:translation_T(obj) -- Translate triangle
+ elseif obj.type == "circle" then
+ return self:translation_C(obj) -- Translate circle
+ else
+ error("Unsupported object type for translation")
+ end
+ else
+ -- If multiple objects are passed, translate each one
t = {}
- for i=1,tp.n do
- table.insert(t , translation_ ( self.pb-self.pa , tp[i]))
- end
- return table.unpack ( t )
- end
+ for i = 1, nb do
+ -- Translate each object using the translation vector
+ table.insert(t, translation_(self.pb - self.pa, tp[i]))
+ end
+ return table.unpack(t) -- Return the translated objects
+ end
end
+
function line: set_translation ( ...)
return set_translation_ ( self.pb-self.pa,... )
end
-function line: projection (...)
+function line:projection(...)
local obj,nb,t
local tp = table.pack(...)
obj = tp[1]
@@ -246,7 +250,7 @@ function line: projection (...)
end
end
-function line: set_projection (...)
+function line:set_projection(...)
local tp = table.pack(...)
local i
local t = {}
@@ -256,31 +260,31 @@ function line: set_projection (...)
return table.unpack ( t )
end
-function line: symmetry_axial_L ( obj )
+function line:symmetry_axial_L( obj )
local pa,pb,x,y
pa = obj.pa
pb = obj.pb
- x,y = self:set_reflection ( pa,pb )
+ x,y = self:set_reflection(pa, pb)
return line : new (x,y)
end
-function line: symmetry_axial_T ( obj )
+function line:symmetry_axial_T( obj )
local pa,pb,pc,x,y,z
pa = obj.pa
pb = obj.pb
pc = obj.pc
- x,y,z = self:set_reflection ( pa,pb,pc )
+ x,y,z = self:set_reflection (pa, pb, pc)
return triangle : new (x,y,z)
end
-function line: symmetry_axial_C ( obj )
+function line:symmetry_axial_C( obj )
local pa,pb,x,y
pa = obj.center
pb = obj.through
- x,y = self:set_reflection ( pa,pb )
+ x,y = self:set_reflection( pa,pb )
return circle : new (x,y)
end
-function line: reflection (...)
+function line:reflection(...)
local obj,nb,t
local tp = table.pack(...)
obj = tp[1]
@@ -304,203 +308,379 @@ function line: reflection (...)
end
end
-function line: set_reflection (...)
+function line:set_reflection (...)
return set_symmetry_axial_ ( self.pb,self.pa,... )
end
-------------------
-- Result -> line
-------------------
-function line: ll_from ( pt )
+function line:ll_from( pt )
return line : new (pt,pt+self.pb-self.pa)
end
-function line: ortho_from ( pt )
+function line:ortho_from( pt )
return line : new (pt+(self.pb-self.pa)*point(0,-1),pt+(self.pb-self.pa)*point(0,1))
end
-function line: mediator ()
- local m
- m = midpoint_ (self.pa,self.pb)
+function line:mediator()
+ local 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)
+function line:perpendicular_bisector ()
+ local 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 (swap)
- if swap == nil then
- swap = false
- end
+function line:circle(swap)
+ swap = swap or false
if swap then
- return circle : new (self.pb,self.pa)
+ return circle:new(self.pb,self.pa)
else
- return circle : new (self.pa,self.pb)
+ return circle:new(self.pa,self.pb)
end
end
-function line: circle_swap ()
+function line:circle_swap()
return circle : new (self.pb,self.pa)
end
-function line : diameter ()
- local c = midpoint_ (self.pa,self.pb)
- return circle : new (c,self.pb)
+function line:diameter()
+ local c = midpoint_(self.pa,self.pb)
+ return circle:new (c,self.pb)
end
-function line : apollonius (k)
+function line:apollonius(k)
local z1,z2,c
- z1 = barycenter_ ({self.pa,1},{self.pb,k})
- z2 = barycenter_ ({self.pa,1},{self.pb,-k})
- c = midpoint_ (z1,z2)
+ z1 = barycenter_({self.pa,1},{self.pb,k})
+ z2 = barycenter_({self.pa,1},{self.pb,-k})
+ c = midpoint_ (z1,z2)
return circle : new (c,z2)
end
+function line:test(x,y)
+
+end
+
+
+-- Circle tangent to a line passing through two points
+-- In general, there are two solutions
+function line:c_l_pp(a, b) -- a and b on the same side
+ -- Initialisation
+ local lab = line:new(a, b) -- Line through a and b
+ local Cab = circle:diameter(a, b) -- Circle with a and b diameters
+ local i = intersection(lab, self) -- Intersection with current line
+
+ -- One point on the line (a)
+ if self : in_out(a) and not self:in_out(b) then
+ local lmed = lab : mediator()
+ local laperp = self:ortho_from(a)
+ local o = intersection(lmed,laperp)
+ return circle:new(o,a),
+ circle:new(o,a)
+ end
+ -- One point on the line (b)
+ if self:in_out(b) and not self:in_out(a) then
+ local lmed = lab:mediator()
+ local laperp = self:ortho_from(b)
+ local o = intersection(lmed,laperp)
+ return circle:new(o,b),
+ circle:new(o,b)
+ end
+ -- Check: if the intersection exists and lies on the segment [a, b].
+ if i and lab:in_out_segment(i) then
+ return nil, nil -- No circle is possible
+ end
+
+ -- If the current line is orthogonal to lab
+ if self:is_orthogonal(lab) then
+ local lmed = lab:mediator()
+ local m = midpoint(a, b)
+ local r = length(m, i)
+ local pt1 = lab:isosceles_s(r)
+ local pt2 = lab:isosceles_s(r, true)
+ return circle:new(pt1, a),
+ circle:new(pt2, a)
+ end
+
+ -- If the two lines are parallel
+ if lab:is_parallel(self) then
+ local mid = midpoint(a, b) -- Midpoint of segment [a, b]
+ local proj = self:projection(mid) -- Mid projection on the running line
+
+ return circle:new(circum_center_(a, b, proj), proj),
+ circle:new(circum_center_(a, b, proj), proj)
+ end
+
+ -- General case
+ local t = Cab:tangent_from(i).pb
+ local x, y = intersection(self, circle:new(i, t))
+ return circle:new(intersection(self:ortho_from(x), lab:mediator()), x),
+ circle:new(intersection(self:ortho_from(y), lab:mediator()), y)
+end
+
+
+-- Circle tangent to two straight lines passing through a given point
+function line:c_ll_p(a, p)
+
+ -- Compute the bisector of the triangle formed by self.pa, self.pb, and a
+ local lbi = bisector(self.pa, self.pb, a)
+
+ if lbi:in_out(p) then
+ -- Orthogonal projection of p onto the bisector
+ local lp = lbi:ortho_from(p)
+
+ -- Intersection of line from p to its projection with self.pa and self.pb
+ local i = intersection_ll_(p, lp.pb, self.pa, self.pb)
+
+ -- Intersection points of the line with the circle defined by (i, p)
+ local t1, t2 = intersection_lc_(self.pa, self.pb, i, p)
+
+ -- Create the main line and find orthogonal projections from t1 and t2
+ local lab = line:new(self.pa, self.pb)
+ local x = lab:ortho_from(t1).pb
+ local y = lab:ortho_from(t2).pb
+
+ -- Return two circles based on the orthogonal projections and points t1, t2
+ return circle:new(intersection_ll_(x, t1, self.pa, p), t1),
+ circle:new(intersection_ll_(y, t2, self.pa, p), t2)
+ else
+ -- Reflection of p across the bisector
+ local q = lbi : reflection (p)
+
+ -- Compute circles from the Wallis construction
+ local c1, c2 = self:c_l_pp(p, q)
+
+ -- Return two circles with centers and points on their circumference
+ return c1,c2
+ end
+end
+
+
+
----------------------
-- Result -> triangle
----------------------
-function line: equilateral (swap)
- if swap == nil then
- swap = false
- end
- if swap then
- return triangle : new (self.pa,self.pb,rotation_ (self.pa,-math.pi/3,self.pb))
+function line:equilateral(swap)
+ swap = swap or false
+ if swap then
+ return triangle:new(self.pa, self.pb, rotation_(self.pa, -math.pi / 3, self.pb))
else
- return triangle : new (self.pa,self.pb,rotation_ (self.pa,math.pi/3,self.pb))
-end
+ return triangle:new(self.pa, self.pb, rotation_(self.pa, math.pi / 3, self.pb))
+ end
end
-function line: isosceles (phi,swap)
- local pta,ptb
- if swap == nil then
- swap = false
- end
+function line:isosceles(phi,swap)
+ local pta,ptb
+ swap = swap or false
if swap then
- pta = rotation_ (self.pa,-phi,self.pb)
- ptb = rotation_ (self.pb,phi,self.pa)
- return triangle : new (self.pa,self.pb, intersection_ll_ (self.pa,pta,self.pb,ptb ))
+ pta = rotation_(self.pa,-phi,self.pb)
+ ptb = rotation_(self.pb,phi,self.pa)
+ return triangle : new (self.pa,self.pb, intersection_ll_(self.pa,pta,self.pb,ptb ))
else
- pta = rotation_ (self.pa,phi,self.pb)
- ptb = rotation_ (self.pb,-phi,self.pa)
+ pta = rotation_(self.pa,phi,self.pb)
+ ptb = rotation_(self.pb,-phi,self.pa)
return triangle : new (self.pa,self.pb, intersection_ll_ (self.pa,pta,self.pb,ptb ))
end
end
+line.isosceles_a = line.isosceles
+
+function line:isosceles_s(a,swap)
+ local c1,c2,pta,ptb,pt1,pt2
+ c1 = circle : radius (self.pa,a)
+ c2 = circle : radius (self.pb,a)
+ pta,ptb = intersection_cc (c1,c2)
+ if get_angle(self.pa,self.pb,pta) < get_angle(self.pa,self.pb,ptb) then
+ pt1=pta pt2=ptb
+ else pt1=ptb pt2=pta end
+ swap = swap or false
+ if swap then
+ return triangle : new (self.pa,self.pb,pt2 )
+ else
+ return triangle : new (self.pa,self.pb,pt1)
+end
+end
-function line: two_angles (alpha,beta)
+function line:two_angles(alpha,beta,swap)
local pta,ptb,pt
- pta = rotation_ (self.pa,alpha,self.pb)
- ptb = rotation_ (self.pb,-beta,self.pa)
- pt = intersection_ll_ (self.pa,pta,self.pb,ptb)
- return triangle : new (self.pa,self.pb,pt)
+ swap = swap or false
+ if swap then
+ pta = rotation_(self.pa,-alpha,self.pb)
+ ptb = rotation_(self.pb,beta,self.pa)
+ else
+ pta = rotation_(self.pa,alpha,self.pb)
+ ptb = rotation_(self.pb,-beta,self.pa)
+ end
+ pt = intersection_ll_(self.pa,pta,self.pb,ptb)
+ return triangle:new(self.pa,self.pb,pt)
end
-function line: school ()
+function line:school(swap)
local pta,ptb,pt
- pta = rotation_ (self.pa,math.pi/6,self.pb)
- ptb = rotation_ (self.pb,-math.pi/3,self.pa)
- pt = intersection_ll_ (self.pa,pta,self.pb,ptb)
- return triangle : new (self.pa,self.pb,pt)
+ swap = swap or false
+ if swap then
+ pta = rotation_(self.pa,-math.pi/6,self.pb)
+ ptb = rotation_(self.pb,math.pi/3,self.pa)
+ else
+ pta = rotation_(self.pa,math.pi/6,self.pb)
+ ptb = rotation_(self.pb,-math.pi/3,self.pa)
+ end
+ pt = intersection_ll_(self.pa,pta,self.pb,ptb)
+ return triangle:new(self.pa,self.pb,pt)
end
-function line: half ()
+function line:half(swap)
local x,pt
x = midpoint_(self.pa,self.pb)
- pt = rotation_ (self.pb,-math.pi/2,x)
- return triangle : new (self.pa,self.pb,pt)
+ swap = swap or false
+ if swap then
+ pt = rotation_(self.pb,math.pi/2,x)
+ else
+ pt = rotation_(self.pb,-math.pi/2,x)
+ end
+ return triangle:new(self.pa,self.pb,pt)
end
-function line: sss (a,b)
+function line:sss(a,b,swap)
local pta,ptb,i,j
+ swap = swap or false
pta = self.pa + point ( a, 0 )
ptb = self.pb + point ( -b , 0)
i,j = intersection_cc_ (self.pa,pta,self.pb,ptb)
- return triangle : new (self.pa,self.pb,i),triangle : new (self.pa,self.pb,j)
+ if swap then
+ return triangle : new (self.pa,self.pb,j)
+ else
+ return triangle : new (self.pa,self.pb,i)
+ end
end
-function line: ssa (a,phi)
- local x,y,pt
- x = rotation_ (self.pb,-phi,self.pa)
- y = self.pa + polar_ ( a , self.slope)
- i,j = intersection_lc_ (self.pb,x,self.pa,y)
- return triangle : new (self.pa,self.pb,i),triangle : new (self.pa,self.pb,j)
+function line:ssa(a, phi,swap)
+ local x, y, i, j
+ swap = swap or false
+ x = rotation_(self.pb, -phi, self.pa)
+ y = self.pa + polar_(a, self.slope)
+ i, j = intersection_lc_(self.pb, x, self.pa, y)
+ if swap then
+ return triangle:new(self.pa, self.pb, j)
+ else
+ return triangle:new(self.pa, self.pb, i)
+ end
end
-function line: sas (a,phi)
- local x,pt
- x = self.pa + polar_ ( a , self.slope)
- pt = rotation_ (self.pa,phi,x)
- return triangle : new (self.pa,self.pb,pt)
+function line:sas(a, phi,swap)
+ local x, pt
+ swap = swap or false
+ x = self.pa + polar_(a, self.slope)
+ if swap then
+ pt = rotation_(self.pa, -phi, x)
+ else
+ pt = rotation_(self.pa, phi, x)
+ end
+ return triangle:new(self.pa, self.pb, pt)
end
-function line: asa (alpha,beta)
+function line:asa(alpha,beta,swap)
local pta,ptb,pt
+ swap = swap or false
+ if swap then
+ pta = rotation_ (self.pa,-alpha,self.pb)
+ ptb = rotation_ (self.pb,beta,self.pa)
+ else
pta = rotation_ (self.pa,alpha,self.pb)
ptb = rotation_ (self.pb,-beta,self.pa)
- pt = intersection_ll_ (self.pa,pta,self.pb,ptb)
+ end
+ pt = intersection_ll_ (self.pa,pta,self.pb,ptb)
return triangle : new (self.pa,self.pb,pt)
end
---- sacred triangles ----
-function line: gold (swap)
+function line:gold(swap)
local pt
- if swap == nil then
- swap = false
- end
-if swap then
- pt = rotation_ (self.pa,-math.pi/2,self.pb)
- return triangle : new (self.pa,self.pb, self.pa + (pt-self.pa) * tkzinvphi)
-else
- pt = rotation_ (self.pa,math.pi/2,self.pb)
- return triangle : new (self.pa,self.pb, self.pa + (pt-self.pa) * tkzinvphi)
-end
+ swap = swap or false
+ if swap then
+ pt = rotation_ (self.pa,-math.pi/2,self.pb)
+ return triangle : new (self.pa,self.pb, self.pa + (pt-self.pa) * tkzinvphi)
+ else
+ pt = rotation_ (self.pa,math.pi/2,self.pb)
+ return triangle : new (self.pa,self.pb, self.pa + (pt-self.pa) * tkzinvphi)
+ end
end
-function line: sublime ()
+function line:sublime(swap)
local pta,ptb,pt
- pta = rotation_ (self.pa,2*math.pi/5,self.pb)
- ptb = rotation_ (self.pb,-2*math.pi/5,self.pa)
- pt = intersection_ll_ (self.pa,pta,self.pb,ptb)
- return triangle : new (self.pa,self.pb,pt)
+ swap = swap or false
+ if swap then
+ pta = rotation_(self.pa,-2*math.pi/5,self.pb)
+ ptb = rotation_(self.pb,2*math.pi/5,self.pa)
+ pt = intersection_ll_(self.pa,pta,self.pb,ptb)
+ return triangle:new(self.pa,self.pb,pt)
+ else
+ pta = rotation_(self.pa,2*math.pi/5,self.pb)
+ ptb = rotation_(self.pb,-2*math.pi/5,self.pa)
+ pt = intersection_ll_(self.pa,pta,self.pb,ptb)
+ return triangle:new(self.pa,self.pb,pt)
+end
end
line.euclid = line.sublime
-function line: euclide (swap)
- if swap == nil then
- return triangle : new (self.pa,self.pb, rotation_ (self.pa,math.pi/5,self.pb))
- else
- return triangle : new (self.pa,self.pb, rotation_ (self.pa,-math.pi/5,self.pb))
- end
+function line:euclide (swap)
+ swap = swap or false
+ if swap then
+ return triangle : new (self.pa,self.pb, rotation_(self.pa,-math.pi/5,self.pb))
+ else
+ return triangle : new (self.pa,self.pb, rotation_(self.pa,math.pi/5,self.pb))
+ end
end
-function line: divine ()
- local pta,ptb,pt,h
- pta = rotation_ (self.pa,math.pi/5,self.pb)
- ptb = rotation_ (self.pb,-math.pi/5,self.pa)
- pt = intersection_ll_ (self.pa,pta,self.pb,ptb)
- return triangle : new (self.pa,self.pb,pt)
-end
+ function line:divine(swap)
+ local pta, ptb, pt
+ swap = swap or false
+ if swap then
+ pta = rotation_(self.pa, -math.pi / 5, self.pb)
+ ptb = rotation_(self.pb, math.pi / 5, self.pa)
+ pt = intersection_ll_(self.pa, pta, self.pb, ptb)
+ return triangle:new(self.pa, self.pb, pt)
+ else
+ pta = rotation_(self.pa, math.pi / 5, self.pb)
+ ptb = rotation_(self.pb, -math.pi / 5, self.pa)
+ pt = intersection_ll_(self.pa, pta, self.pb, ptb)
+ return triangle:new(self.pa, self.pb, pt)
+ end
+ end
-function line: cheops ()
- local m,n,pt
- m = midpoint_ (self.pa,self.pb)
- n = rotation_ (m,- math.pi/2,self.pa)
- pt = m + (n-m)* tkzsqrtphi
- return triangle : new (self.pa,self.pb,pt)
+function line:cheops(swap)
+ local m, n, pt
+ m = midpoint_(self.pa, self.pb)
+ swap = swap or false
+ if swap then
+ n = rotation_(m, math.pi / 2, self.pa)
+ pt = m + (n - m) * tkzsqrtphi
+else
+ n = rotation_(m, -math.pi / 2, self.pa)
+ pt = m + (n - m) * tkzsqrtphi
+ end
+ return triangle:new(self.pa, self.pb, pt)
end
-function line: egyptian ()
- local n,pt
- n = rotation_ (self.pb,- math.pi/2,self.pa)
- pt = self.pb + (n-self.pb)/point.mod(n-self.pb)*self.length* 0.75
- return triangle : new (self.pa,self.pb,pt)
+
+function line:egyptian(swap)
+ local n, pt
+ swap = swap or false
+ if swap then
+ n = rotation_(self.pb, math.pi / 2, self.pa)
+ pt = self.pb + (n - self.pb) / point.mod(n - self.pb) * self.length * 0.75
+ else
+ n = rotation_(self.pb, -math.pi / 2, self.pa)
+ pt = self.pb + (n - self.pb) / point.mod(n - self.pb) * self.length * 0.75
+ end
+ return triangle:new(self.pa, self.pb, pt)
end
+
line.pythagoras = line.egyptian
line.isis = line.egyptian
line.golden = line.sublime
@@ -509,12 +689,14 @@ line.golden_gnomon = line.divine
------------------------------
-- Result -> square
------------------------------
-function line: square (swap)
- if swap == nil
+function line:square (swap)
+ swap = swap or false
+ if swap
then
- return square : side (self.pa,self.pb)
- else
return square : side (self.pa,self.pb,indirect)
+ else
+ return square : side (self.pa,self.pb)
+
end
end
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 e4f5c7623ea..e5843dae1a0 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 f0bd69b95e7..07048af557f 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -44,26 +44,37 @@ function matrix.__sub(m1,m2)
return add_matrix(m1,k_mul_matrix(-1, m2))
end
-function matrix.__pow( m, num )
- if num =='T' then
- return transposeMatrix(m)
- else
- if num == 0 then
- return matrix:new( #m,"I" )
- end
- if num < 0 then
- local i; m,i = inv_matrix ( m )
- if not m then return m, i end
- num = -num
- end
- local mt = m
- for i = 2,num do
- mt = mul_matrix(mt,m)
- end
- return mt
-end
+function matrix.__pow(m, num)
+ -- Handle transpose (when num is 'T')
+ if num == 'T' then
+ return transposeMatrix(m)
+ end
+
+ -- Handle exponentiation by 0 (returns the identity matrix)
+ if num == 0 then
+ return matrix:new(#m, "I") -- Identity matrix
+ end
+
+ -- Handle negative exponents (invert the matrix)
+ if num < 0 then
+ local inv_matrix, err = inv_matrix(m)
+ if not inv_matrix then
+ return nil, err -- Return nil and the error if matrix is non-invertible
+ end
+ num = -num -- Make exponent positive for easier handling
+ m = inv_matrix -- Now use the inverted matrix
+ end
+
+ -- Now handle the positive exponentiation
+ local result = m
+ for i = 2, num do
+ result = mul_matrix(result, m) -- Repeated multiplication
+ end
+
+ return result
end
+
function matrix.__tostring( A )
local mt = (A.type=='matrix' and A.set or A)
local k = {}
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 7fcac90d860..5f01756b5a4 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -14,19 +14,31 @@
-- ----------------------------------------------------------------
--
-- ----------------------------------------------------------------
-function get_points (obj)
-if obj.type == 'line' then return obj.pa,obj.pb
- elseif
- obj.type == 'triangle' then return obj.pa,obj.pb,obj.pc
- elseif
- obj.type == 'circle' then return obj.center,obj.through
- elseif
- obj.type == 'ellipse' then return obj.pc,obj.pa,obj.pb
- elseif
- obj.type == 'square' or obj.type == 'rectangle' or obj.type == 'quadrilateral' or obj.type == 'parallelogram'
- then return obj.pa,obj.pb,obj.pc,obj.pd
-end
-end
+function get_points(obj)
+ -- Map of object types to their respective point keys
+ local point_map = {
+ line = {"pa", "pb"}, -- Line has two points
+ triangle = {"pa", "pb", "pc"}, -- Triangle has three points
+ circle = {"center", "through"}, -- Circle has center and a point through its circumference
+ ellipse = {"pc", "pa", "pb"}, -- Ellipse has three key points
+ square = {"pa", "pb", "pc", "pd"}, -- Square has four vertices
+ rectangle = {"pa", "pb", "pc", "pd"}, -- Rectangle has four vertices
+ quadrilateral = {"pa", "pb", "pc", "pd"}, -- Quadrilateral has four vertices
+ parallelogram = {"pa", "pb", "pc", "pd"} -- Parallelogram has four vertices
+ }
+
+ -- Check if the object's type is recognized
+ if point_map[obj.type] then
+ local points = {}
+ -- Iterate over the keys for the given type and extract the corresponding values
+ for _, key in ipairs(point_map[obj.type]) do
+ table.insert(points, obj[key])
+ end
+ -- Return all points as multiple return values
+ return table.unpack(points)
+ end
+ end
+
function set_lua_to_tex (t)
for k,v in pairs(t) do
@@ -35,29 +47,49 @@ function set_lua_to_tex (t)
end
function bisector (a,b,c)
- local i
- i = in_center_ (a,b,c)
+ local i = in_center_ (a,b,c)
return line : new (a,intersection_ll_ (a,i,b,c))
end
-function altitude (a,b,c)
- local o,p
- o = ortho_center_ (a,b,c)
- p = projection_ (b,c,a)
- return line : new (a,p)
+function altitude(a, b, c)
+ local o, p
+ -- Get the orthocenter (which is the point of concurrency of the altitudes)
+ o = ortho_center_(a, b, c)
+
+ -- Get the perpendicular projection of point 'a' onto the line defined by 'b' and 'c'
+ p = projection_(b, c, a)
+
+ -- Return the altitude, which is the line from point 'a' to the point 'p'
+ return line:new(a, p)
end
-function bisector_ext(a,b,c) -- n =1 swap n=2 2 swap
- local i,p
- i = in_center_ (a,b,c)
- p = rotation_ (a,math.pi/2,i)
- return line : new (a,p)
+
+function bisector_ext(a, b, c) -- n=1 swap n=2 swap 2
+ local i, p
+ -- Get the incenter of the triangle
+ i = in_center_(a, b, c)
+
+ -- Rotate the incenter by 90 degrees around point 'a' to compute the external bisector
+ p = rotation_(a, math.pi / 2, i)
+
+ -- Return the external bisector as the line passing through points 'a' and 'p'
+ return line:new(a, p)
end
+
function equilateral (a,b)
return equilateral_tr_ (a,b)
end
function midpoint (a,b)
return (a+b)/2
+end
+
+function midpoints (...)
+ return midpoints_(...)
+end
+
+
+function length(a,b)
+ return point.abs (a-b)
end \ No newline at end of file
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 a6dc3360f99..8cd02bf73ee 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 3ec0262051e..be28002328c 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -252,28 +252,28 @@ function point: west(d)
-- return symmetry_ (self ,pt)
-- end
-function point: symmetry (...)
- local obj,nb,t
- local tp = table.pack(...)
- obj = tp[1]
- nb = tp.n
- if nb == 1 then
- if obj.type == "point" then
- return symmetry_ (self,obj)
- elseif obj.type == "line" then
- return line: new (set_symmetry_ (self,obj.pa,obj.pb))
- elseif obj.type == "circle" then
- return circle: new (set_symmetry_ (self,obj.center,obj.through))
- else
- return triangle: new (set_symmetry (self,obj.pa,obj.pb,obj.pc))
- end
- else
- local t = {}
- for i=1,tp.n do
- table.insert( t , symmetry_ (self , tp[i]) )
- end
- return table.unpack ( t )
- end
+function point:symmetry(...)
+ local tp = table.pack(...) -- Pack arguments into a table
+ local nb = tp.n -- Number of arguments
+ local obj = tp[1] -- The first object in the arguments
+
+ if nb == 1 then -- If there's only one argument
+ if obj.type == "point" then
+ return symmetry_(self, obj) -- Apply symmetry on the point
+ elseif obj.type == "line" then
+ return line:new(set_symmetry_(self, obj.pa, obj.pb)) -- Create a new line
+ elseif obj.type == "circle" then
+ return circle:new(set_symmetry_(self, obj.center, obj.through)) -- Create a new circle
+ else
+ return triangle:new(set_symmetry(self, obj.pa, obj.pb, obj.pc)) -- Create a new triangle
+ end
+ else -- If there are multiple arguments
+ local results = {} -- Initialize a table to store results
+ for i = 1, nb do
+ table.insert(results, symmetry_(self, tp[i])) -- Apply symmetry on each object
+ end
+ return table.unpack(results) -- Return the results as separate values
+ end
end
function point: set_symmetry (...)
@@ -288,56 +288,56 @@ function point:set_rotation (angle,...)
return set_rotation_ ( self,angle,... )
end
-function point : rotation (angle,...)
- local obj,nb,t
- local tp = table.pack(...)
- obj = tp[1]
- nb = tp.n
- if nb == 1 then
- if obj.type == "point" then
- return rotation_ (self,angle,obj )
- elseif obj.type == "line" then
- return line : new (set_rotation_ (self, angle,obj.pa,obj.pb ))
- elseif obj.type == "triangle" then
- return triangle: new (set_rotation_ (self, angle,obj.pa,obj.pb,obj.pc))
- elseif obj.type == "circle" then
-return circle : new (set_rotation_ (self,angle,obj.center,obj.through))
- else
-return square: new (set_rotation_(self,angle,obj.pa,obj.pb,obj.pc,obj.pd))
- end
- else
- t = {}
- for i=1,tp.n do
- table.insert( t , rotation_ ( self,angle,tp[i]))
- end
- return table.unpack ( t )
- end
+function point:rotation(angle, ...)
+ local tp = table.pack(...) -- Pack arguments into a table
+ local nb = tp.n -- Number of arguments
+ local obj = tp[1] -- The first object in the arguments
+
+ if nb == 1 then -- If there's only one argument
+ if obj.type == "point" then
+ return rotation_(self, angle, obj) -- Rotate the point
+ elseif obj.type == "line" then
+ return line:new(set_rotation_(self, angle, obj.pa, obj.pb)) -- Rotate the line
+ elseif obj.type == "triangle" then
+ return triangle:new(set_rotation_(self, angle, obj.pa, obj.pb, obj.pc)) -- Rotate the triangle
+ elseif obj.type == "circle" then
+ return circle:new(set_rotation_(self, angle, obj.center, obj.through)) -- Rotate the circle
+ else -- For other shapes like square
+ return square:new(set_rotation_(self, angle, obj.pa, obj.pb, obj.pc, obj.pd)) -- Rotate the square
+ end
+ else -- If there are multiple arguments
+ local results = {} -- Initialize a table to store results
+ for i = 1, nb do
+ table.insert(results, rotation_(self, angle, tp[i])) -- Rotate each object
+ end
+ return table.unpack(results) -- Return the results as separate values
+ end
end
-function point : homothety (coeff,...)
-local obj,nb,t
-local tp = table.pack(...)
-obj = tp[1]
-nb = tp.n
- if nb == 1 then
- if obj.type == "point" then
- return homothety_ (self,coeff,obj )
- elseif obj.type == "line" then
- return line : new (set_homothety_ (self, coeff,obj.pa,obj.pb ))
- elseif obj.type == "triangle" then
- return triangle: new (set_homothety_(self,coeff,obj.pa,obj.pb,obj.pc))
- elseif obj.type == "circle" then
- return circle: new (set_homothety_(self,coeff,obj.center,obj.through))
- else
-return square: new (set_homothety_(self,coeff,obj.pa,obj.pb))
- end
- else
- t = {}
- for i=1,tp.n do
- table.insert( t , homothety_ ( self,coeff,tp[i]))
- end
- return table.unpack ( t )
- end
+function point:homothety(coeff, ...)
+ local tp = table.pack(...) -- Pack arguments into a table
+ local nb = tp.n -- Number of arguments
+ local obj = tp[1] -- The first object in the arguments
+ local t = {} -- Initialize a table to store results
+
+ if nb == 1 then -- If there's only one argument
+ if obj.type == "point" then
+ return homothety_(self, coeff, obj) -- Apply homothety to the point
+ elseif obj.type == "line" then
+ return line:new(set_homothety_(self, coeff, obj.pa, obj.pb)) -- Apply homothety to the line
+ elseif obj.type == "triangle" then
+ return triangle:new(set_homothety_(self, coeff, obj.pa, obj.pb, obj.pc)) -- Apply homothety to the triangle
+ elseif obj.type == "circle" then
+ return circle:new(set_homothety_(self, coeff, obj.center, obj.through)) -- Apply homothety to the circle
+ else -- For other shapes like square
+ return square:new(set_homothety_(self, coeff, obj.pa, obj.pb, obj.pc, obj.pd)) -- Apply homothety to the square
+ end
+ else -- If there are multiple arguments
+ for i = 1, nb do
+ table.insert(t, homothety_(self, coeff, tp[i])) -- Apply homothety to each object
+ end
+ return table.unpack(t) -- Return the results as separate values
+ end
end
function point: normalize()
@@ -345,16 +345,19 @@ function point: normalize()
return point(self.re/d,self.im/d)
end
-function point: orthogonal(d)
+function point:orthogonal(d)
local m
- if d==nil then
- return point(-self.im,self.re)
-else
- m = point.mod(self)
- return point(-self.im*d/m,self.re*d/m)
-end
+ if d == nil then
+ -- If no scaling factor d is provided, return the point rotated 90 degrees counterclockwise
+ return point(-self.im, self.re)
+ else
+ -- If a scaling factor d is provided, scale the orthogonal point
+ m = point.mod(self) -- Get the modulus (magnitude) of the current point
+ return point(-self.im * d / m, self.re * d / m) -- Return the scaled orthogonal point
+ end
end
+
function point : at (z)
return point(self.re+z.re,self.im+z.im)
end
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 fc3e95b28fc..0cc6ca30a6e 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 a5317220209..5247d48e1b7 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -24,34 +24,34 @@ function rectangle: new (za, zb,zc,zd)
end
if math.abs(point.abs (zc-za)-point.abs (zd-zb)) < tkz_epsilon then else error ("it's not a rectangle")
end
- local type = 'rectangle'
- local center = midpoint_ (za,zc)
- local exradius = point.abs (center-za)
- local ab = line : new (za,zb)
- local bc = line : new (zb,zc)
- local cd = line : new (zc,zd)
- local da = line : new (zd,za)
- local ac = line : new (za,zc)
- local bd = line : new (zb,zd)
- local length = point.mod (zb-za)
- local width = point.mod (zd-za)
- local diagonal = point.abs (zc-za)
- local o = { pa = za,
- pb = zb,
- pc = zc,
- pd = zd,
- ab = ab,
- ac = ac,
- bc = bc,
- da = da,
- cd = cd,
- bd = bd,
- diagonal = diagonal,
- exradius = exradius,
- center = center,
- length = length,
- width = width,
- type = type }
+ local type = 'rectangle'
+ local center = midpoint_ (za,zc)
+ local circumradius = point.abs (center-za)
+ local ab = line : new (za,zb)
+ local bc = line : new (zb,zc)
+ local cd = line : new (zc,zd)
+ local da = line : new (zd,za)
+ local ac = line : new (za,zc)
+ local bd = line : new (zb,zd)
+ local length = point.mod (zb-za)
+ local width = point.mod (zd-za)
+ local diagonal = point.abs (zc-za)
+ local o = { pa = za,
+ pb = zb,
+ pc = zc,
+ pd = zd,
+ ab = ab,
+ ac = ac,
+ bc = bc,
+ da = da,
+ cd = cd,
+ bd = bd,
+ diagonal = diagonal,
+ circumradius = circumradius,
+ center = center,
+ length = length,
+ width = width,
+ type = type }
setmetatable(o, self)
self.__index = self
return o
@@ -69,7 +69,7 @@ function rectangle : gold (za,zb,swap)
local zc,zd
local a = point.arg (zb-za)
local d = point.abs(zb-za)/tkzphi
- if swap == nil then swap = false end
+ swap = swap or false
if swap then
zc = zb : south (d/scale)
zc = rotation_ (zb,a,zc)
@@ -87,7 +87,7 @@ end
function rectangle : diagonal (za,zc,swap)
local zb,zd
- if swap == nil then swap = false end
+ swap = swap or false
if swap then
zd = point (zc.re,za.im)
zb = point (za.re,zc.im)
@@ -102,7 +102,7 @@ end
function rectangle : side (za,zb,d,swap)
local a,zc,zd
a = point.arg (zb-za)
- if swap == nil then swap = false end
+ swap = swap or false
if swap then
zc = zb : south (d/scale)
zc = rotation_ (zb,a,zc)
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 bf49fca814c..65c197d3152 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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 @@
-- version 2005/12/01 or later.
-- This work has the LPPL maintenance status “maintained”.
-- The Current Maintainer of this work is Alain Matthes.
-
+-- za = center zb a vertex
regular_polygon = {}
function regular_polygon: new (za, zb ,nb)
local type = 'regular_polygon'
@@ -19,24 +19,28 @@ function regular_polygon: new (za, zb ,nb)
local center = za
local through = zb
local angle = 2 * math.pi/nb
- local exradius = point.abs (zb-za)
+ local circumradius = point.abs (zb-za)
local circle = circle : new (za,zb)
- local inradius = exradius * math.cos(math.pi/nb)
- local side = exradius * math.sin(math.pi/nb)
+ local inradius = circumradius * math.cos(math.pi/nb)
+ local side = circumradius * math.sin(math.pi/nb)
local next = table[2]
local first = table[1]
local proj = projection_ (first,next,za)
+ local perimeter = nb * side
+ local area = (perimeter * inradius)/2
local o = { type = type,
center = center,
through = through,
- exradius = exradius,
+ circumradius= circumradius,
inradius = inradius,
table = table,
circle = circle,
nb = nb,
angle = angle,
side = side,
- proj = proj }
+ proj = proj,
+ perimeter = perimeter,
+ area = area}
setmetatable(o, self)
self.__index = self
return o
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 68bfa8dec00..d968feacdec 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -27,38 +27,42 @@ function square: new (za, zb,zc,zd)
if math.abs(point.abs (zb-za) - point.abs (zd-za)) < tkz_epsilon then else error ("it's not a square (side)")
end
- local type = 'square'
- local side = point.abs ( zb - za )
- local pc = rotation_ (zb,-math.pi/2,za)
- local pd = rotation_ (za,math.pi/2,zb)
- local center = midpoint_ (za,zc)
- local exradius = point.abs (center-za)
- local inradius = exradius * math.cos(math.pi/4)
- local diagonal = math.sqrt(2) * side
- local proj = projection_ (za,zb,center)
- local ab = line : new (za,zb)
- local bc = line : new (zb,zc)
- local cd = line : new (zc,zd)
- local da = line : new (zd,za)
- local bd = line : new (zb,zd)
- local ac = line : new (za,zc)
- local o = { pa = za,
- pb = zb,
- pc = zc,
- pd = zd,
- side = side,
- center = center,
- exradius = exradius,
- inradius = inradius,
- diagonal = diagonal,
- proj = proj,
- ab = ab,
- ac = ac,
- bc = bc,
- da = da,
- cd = cd,
- bd = bd,
- type = type }
+ local type = 'square'
+ local side = point.abs ( zb - za )
+ local pc = rotation_ (zb,-math.pi/2,za)
+ local pd = rotation_ (za,math.pi/2,zb)
+ local center = midpoint_ (za,zc)
+ local circumradius = point.abs (center-za)
+ local inradius = circumradius * math.cos(math.pi/4)
+ local diagonal = math.sqrt(2) * side
+ local proj = projection_ (za,zb,center)
+ local ab = line : new (za,zb)
+ local bc = line : new (zb,zc)
+ local cd = line : new (zc,zd)
+ local da = line : new (zd,za)
+ local bd = line : new (zb,zd)
+ local ac = line : new (za,zc)
+ local area = side * side
+ local perimeter = 4 * side
+ local o = { pa = za,
+ pb = zb,
+ pc = zc,
+ pd = zd,
+ side = side,
+ center = center,
+ circumradius = circumradius,
+ inradius = inradius,
+ diagonal = diagonal,
+ proj = proj,
+ ab = ab,
+ ac = ac,
+ bc = bc,
+ da = da,
+ cd = cd,
+ bd = bd,
+ type = type,
+ area = area,
+ perimeter = perimeter }
setmetatable(o, self)
self.__index = self
return o
@@ -71,16 +75,20 @@ function square : rotation (zi,za)
return square : new (za,zb,zc,zd)
end
-function square : side (za,zb,swap)
- if swap == nil
- then
- local zc = rotation_ (zb,-math.pi/2,za)
- local zd = rotation_ (za,math.pi/2,zb)
- return square : new (za,zb,zc,zd)
+function square:side(za, zb, swap)
+ swap = swap or false
+ if swap then
+ -- Rotate zb clockwise around za to get zc
+ local zc = rotation_(zb, math.pi / 2, za)
+ -- Rotate za counterclockwise around zb to get zd
+ local zd = rotation_(za, -math.pi / 2, zb)
+ return square:new(za, zb, zc, zd)
else
- local zc = rotation_ (zb,math.pi/2,za)
- local zd = rotation_ (za,-math.pi/2,zb)
- return square : new (za,zb,zc,zd)
+ -- Rotate zb counterclockwise around za to get zc
+ local zc = rotation_(zb, -math.pi / 2, za)
+ -- Rotate za clockwise around zb to get zd
+ local zd = rotation_(za, math.pi / 2, zb)
+ return square:new(za, zb, zc, zd)
end
end
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 6318a7d8d11..52677400339 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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
@@ -30,6 +30,10 @@ function triangle: new (za, zb ,zc)
local ab = line : new (za,zb)
local ca = line : new (zc,za)
local bc = line : new (zb,zc)
+ local semiperimeter = (a+b+c)/2
+ local area = math.sqrt((semiperimeter)*(semiperimeter-a)*(semiperimeter-b)*(semiperimeter-c))
+ local inradius = area / semiperimeter
+ local circumradius = (a*b*c)/(4*inradius*semiperimeter)
local o = { pa = za,
pb = zb,
pc = zc,
@@ -48,7 +52,11 @@ function triangle: new (za, zb ,zc)
bc = bc,
alpha = alpha,
beta = beta,
- gamma = gamma}
+ gamma = gamma,
+ semiperimeter = semiperimeter,
+ area = area,
+ inradius = inradius,
+ circumradius = circumradius}
setmetatable(o, self)
self.__index = self
return o
@@ -110,24 +118,25 @@ function triangle: euler_points ()
return midpoint_ ( H,self.pa ), midpoint_ ( H,self.pb ), midpoint_ ( H,self.pc )
end
-function triangle: nine_points ()
- local H,ma,mb,mc,H,ha,hb,hc
- ma,mb,mc = medial_tr_ ( self.pa , self.pb , self.pc)
- ha,hb,hc = orthic_tr_ ( self.pa , self.pb , self.pc)
- H = ortho_center_ ( self.pa , self.pb , self.pc )
- return
- ma,mb,mc,
- ha,hb,hc,
- midpoint_ ( H,self.pa ),
- midpoint_ ( H,self.pb ),
- midpoint_ ( H,self.pc )
+function triangle:nine_points()
+ local ma, mb, mc, ha, hb, hc, H
+ -- Calculate the medial triangle
+ ma, mb, mc = medial_tr_(self.pa, self.pb, self.pc)
+ -- Calculate the orthic triangle
+ ha, hb, hc = orthic_tr_(self.pa, self.pb, self.pc)
+ -- Calculate the orthocenter
+ H = ortho_center_(self.pa, self.pb, self.pc)
+
+ -- Return the points of the nine-point circle
+ return ma, mb, mc, ha, hb, hc,
+ midpoint_(H, self.pa), midpoint_(H, self.pb), midpoint_(H, self.pc)
end
+
function triangle : point (t)
- local t1,t2,p
- p = (self.a + self.b + self.c)
- t1 = self.a / p
- t2 = (self.a + self.b) / p
+ local p = (self.a + self.b + self.c)
+ local t1 = self.a / p
+ local t2 = (self.a + self.b) / p
if t<= t1 then
return self.ab : point (t/t1)
elseif t <= t2 then
@@ -163,11 +172,10 @@ function triangle: euler_line ()
end
function triangle: symmedian_line (n)
- local a,b,c,l
- a = self.pa
- b = self.pb
- c = self.pc
- l = self : lemoine_point ()
+ local a = self.pa
+ local b = self.pb
+ local c = self.pc
+ local l = self : lemoine_point ()
if n==1 then
return line : new (b,intersection_ll_ (b,l,a,c))
elseif n==2 then
@@ -184,23 +192,22 @@ function triangle: altitude (n)
c = self.pc
o = ortho_center_ (a,b,c)
if n==1 then
- p = projection_ (a,c,b)
+ p = projection_ (a,c,b)
return line : new (b,p)
elseif n==2 then
p = projection_ (a,b,c)
return line : new (c,p)
else
- p = projection_ (b,c,a)
+ p = projection_ (b,c,a)
return line : new (a,p)
end
end
function triangle: bisector (n)
- local a,b,c,i
- a = self.pa
- b = self.pb
- c = self.pc
- i = in_center_ (a,b,c)
+ local a = self.pa
+ local b = self.pb
+ local c = self.pc
+ local i = in_center_ (a,b,c)
if n==1 then
return line : new (b,intersection_ll_ (b,i,a,c))
elseif n==2 then
@@ -211,10 +218,9 @@ function triangle: bisector (n)
end
function triangle: bisector_ext(n) -- n =1 swap n=2 2 swap
-local a,b,c
- a = self.pa
- b = self.pb
- c = self.pc
+ local a = self.pa
+ local b = self.pb
+ local c = self.pc
if n==1 then -- ac
return line : new (b,bisector_ext_ (b,c,a))
elseif n==2 then -- ab
@@ -254,21 +260,21 @@ end
-----------------------
--- Result -> circles --
-----------------------
-function triangle: euler_circle ()
+function triangle:euler_circle()
return circle : new (euler_center_ ( self.pa , self.pb , self.pc),midpoint_( self.pb , self.pc))
end
-function triangle: circum_circle()
+function triangle:circum_circle()
return circle : new (circum_circle_ ( self.pa , self.pb , self.pc), self.pa )
end
-function triangle: in_circle ()
+function triangle:in_circle()
local o
o = in_center_ ( self.pa , self.pb , self.pc)
return circle : new (o, projection_ (self.pb , self.pc,o) )
end
-function triangle: ex_circle (n) -- n =1 swap n=2 2 swap
+function triangle:ex_circle (n) -- n =1 swap n=2 2 swap
local a,b,c,o
a = self.pa
b = self.pb
@@ -505,5 +511,42 @@ function triangle: check_acutangle()
end
end
+-- Circle tangent to two straight lines passing through a given point
+function triangle:c_ll_p(p)
+
+ -- Compute the bisector of the triangle
+ local lbi = bisector(self.pa, self.pb,self.pc)
+
+ if lbi:in_out(p) then
+ -- Orthogonal projection of p onto the bisector
+ local lp = lbi:ortho_from(p)
+
+ -- Intersection of line from p to its projection with self.pa and self.pb
+ local i = intersection_ll_(p, lp.pb, self.pa, self.pb)
+
+ -- Intersection points of the line with the circle defined by (i, p)
+ local t1, t2 = intersection_lc_(self.pa, self.pb, i, p)
+
+ -- Create the main line and find orthogonal projections from t1 and t2
+ local lab = line:new(self.pa, self.pb)
+ local x = lab:ortho_from(t1).pb
+ local y = lab:ortho_from(t2).pb
+
+ -- Return two circles based on the orthogonal projections and points t1, t2
+ return circle:new(intersection_ll_(x, t1, self.pa, p), t1),
+ circle:new(intersection_ll_(y, t2, self.pa, p), t2)
+ else
+ local lab = line:new(self.pa, self.pb)
+ -- Reflection of p across the bisector
+ local q = lbi : reflection (p)
+
+ -- Compute circles from the Wallis construction
+ local c1, c2 = lab:c_l_pp(p, q)
+
+ -- Return two circles with centers and points on their circumference
+ return c1,c2
+ end
+end
+
return triangle \ No newline at end of file
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 fcd63c783a5..7e9f0ff94fe 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/07/16
--- version 3.00
+-- date 2025/01/06
+-- version 3.10
-- 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/yb-book/yb-book.cls b/Master/texmf-dist/tex/latex/yb-book/yb-book.cls
index 6809591e635..fd9069b5cf6 100644
--- a/Master/texmf-dist/tex/latex/yb-book/yb-book.cls
+++ b/Master/texmf-dist/tex/latex/yb-book/yb-book.cls
@@ -32,7 +32,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{yb-book}
-[2025/01/02 0.5.0 YB Branded Book Style]
+[2025/01/05 0.5.1 YB Branded Book Style]
@@ -80,6 +80,8 @@
\makeatother
\LoadClass{book}
+\RequirePackage[utf8]{inputenc}
+
\RequirePackage{geometry}
\geometry{
paperwidth=6in, paperheight=9in,
@@ -204,9 +206,9 @@
\fancyhf{}
\fancyhead[L,C,LO,CO]{}
\fancyhead[R,RO]{
- \begin{textblock}{4}(11.5,1)
+ \begin{textblock}{4}(11.5,1)%
\tikz \node [color=gray, rotate=270,
- font=\ttfamily\scriptsize, text width=5in] at (0,0) {
+ font=\ttfamily\scriptsize, text width=5in] at (0,0) {%
Copyright \textcopyright{} \the\year{} by \theauthor{}.
All rights reserved. No part of the contents of
this book may be reproduced or transmitted in any
@@ -214,11 +216,11 @@
of the publisher. This particular manuscript is
printed for \textbf{\thereviewer{}} and may be used only
for one-time review. The manuscript has to be destroyed
- after the review.
+ after the review.%
};
\end{textblock}
}
- \fancyfoot[C,CO,CE]{\small\ttfamily
+ \fancyfoot[C,CO,CE]{\small\ttfamily%
page \#\thepage{} of \pageref{LastPage}}
\fi
\makeatother
@@ -281,16 +283,16 @@
\makeindex
\indexsetup{othercode={\hyphenpenalty=10000}}
\makeatletter
-\newcommand\ybPrintIndex[1][Index]{
+\newcommand\ybPrintIndex[1][Index]{%
\ifdefined\yb@authordraft\else
- \cleardoublepage
- {
- \setstretch{1.0}
- \small
- \addcontentsline{toc}{chapter}{#1}
- \printindex
- }
- \fi
+ \cleardoublepage%
+ {%
+ \setstretch{1.0}%
+ \small%
+ \addcontentsline{toc}{chapter}{#1}%
+ \printindex%
+ }%
+ \fi%
}
\makeatother