summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-11-21 03:02:30 +0000
committerNorbert Preining <norbert@preining.info>2019-11-21 03:02:30 +0000
commit6332f770ef657658c6e3068266d960d18d185036 (patch)
treeb298db49125a3c39b58ba699f7ca794bee5a2a7e /macros
parent18cfbeaea364a664e0f0b457430f65af66d8122c (diff)
CTAN sync 201911210302
Diffstat (limited to 'macros')
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin172925 -> 172925 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin219609 -> 219609 bytes
-rw-r--r--macros/latex-dev/base/classes.pdfbin521012 -> 521012 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin371678 -> 371678 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin270758 -> 270758 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin223439 -> 223439 bytes
-rw-r--r--macros/latex-dev/base/doc.pdfbin629235 -> 629059 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin470195 -> 470025 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1244549 -> 1244549 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin195881 -> 195881 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin261915 -> 261915 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin356976 -> 356976 bytes
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin156288 -> 156288 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin205211 -> 205211 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin294776 -> 294776 bytes
-rw-r--r--macros/latex-dev/base/latexchanges.pdfbin393049 -> 393049 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin245922 -> 245922 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin192302 -> 192302 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin238183 -> 238183 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin305414 -> 305243 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin202897 -> 202897 bytes
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin302613 -> 302613 bytes
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin883720 -> 883720 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin150027 -> 150027 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin141559 -> 141559 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin141541 -> 141541 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin135577 -> 135577 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin163984 -> 163984 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin133140 -> 133140 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin130835 -> 130835 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin144478 -> 144478 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin120216 -> 120216 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin147946 -> 147946 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin104948 -> 104948 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin137925 -> 137925 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin161072 -> 161072 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin150928 -> 150928 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin122094 -> 122094 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin137500 -> 137500 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin156557 -> 156557 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin36010 -> 36010 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin235074 -> 235074 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin283179 -> 283179 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin236105 -> 236105 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin302720 -> 302720 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin274333 -> 274333 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin255302 -> 255302 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin196332 -> 196332 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin365466 -> 365466 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin239763 -> 239763 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin368514 -> 368514 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin435463 -> 435463 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin490976 -> 490976 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin337112 -> 337112 bytes
-rw-r--r--macros/latex-dev/base/ltvers.dtx2
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin197804 -> 197804 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin215387 -> 215387 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin160679 -> 160679 bytes
-rw-r--r--macros/latex-dev/base/manual.pdfbin151360 -> 151360 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin226766 -> 226766 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin202434 -> 202434 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin216907 -> 216907 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin351771 -> 351771 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin214301 -> 214301 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin2878515 -> 2878515 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin182259 -> 182088 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin273653 -> 273653 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin156541 -> 156541 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin396690 -> 396690 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin337852 -> 337692 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin136159 -> 136159 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/README.md2
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerouterthemefocus.sty10
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerthemefocus.sty2
-rw-r--r--macros/latex/contrib/letterswitharrows/README7
-rw-r--r--macros/latex/contrib/letterswitharrows/letterswitharrows.dtx451
-rw-r--r--macros/latex/contrib/letterswitharrows/letterswitharrows.pdfbin0 -> 436269 bytes
78 files changed, 467 insertions, 9 deletions
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 0be2dbb993..2514e10177 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2020-02-01 pre-release 1
+Release 2020-02-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index e4c142d814..30aebe01bc 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index aca3807a38..31e0c133f0 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index 849df3eb68..46e254f6a6 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index 4c0920d2de..d65fb12386 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index cdc7ba9b7f..85eb37d861 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index 1b945ff227..7c66ffc92e 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index 77fad920ae..5d99480994 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index 8fbd4d9060..450c3bcf52 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index 2b573b44fd..51fffb6777 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index 1934970320..518c658f77 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index 07c3458fe9..5672a24f77 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index d05b97f8a2..5b0191c09d 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index 0325a5c0f6..ca875d0861 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index 133fc4ec8e..c08cf1dee0 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index 3015d4f6cc..2bfc9177d5 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexchanges.pdf b/macros/latex-dev/base/latexchanges.pdf
index 4733bde394..7be0efc653 100644
--- a/macros/latex-dev/base/latexchanges.pdf
+++ b/macros/latex-dev/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index a6ee7e1204..3ce4c2981a 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index fd5d09bc58..25e4db36ac 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
index c4f2139a54..5f5bd10430 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index 9e3acd9692..347fa214b0 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
index 6e3c1bffcd..7ee5ba62fd 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index f41f6d5338..216eb085ca 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index ff9dd2b645..a23406531a 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 9071142bdd..5406ef38b5 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index e983f8271a..cbe548dd31 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index 8f622be2e8..362cb19388 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index e732c2eb5c..4523c88d1b 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index c3846ae50a..d2ef5b415c 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index 3d03585511..f49ba834d4 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index 43bad563e2..9e60136533 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index e3346bd168..bde46974f0 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index d2603c5e12..d3617ff94f 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index 350475ad50..9d477c4a64 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index 4d30ee7848..d2f9f12f5a 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index e959779a0d..1eb1f713a5 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index 01156db306..f4d8242ec8 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index 755a203f80..2bd1505521 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index 235e76353e..d6be28c34f 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index 4c06e59b52..a958c52952 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index c60fa316ad..f515036706 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index f4f0cb26f9..fca9a36a20 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index 3fd293f21a..a42783165a 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index 2153ef469d..c810b80103 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index 97498888e5..f0a66f5964 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index 437b66bf80..702dd58e0f 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index b8e53cd09e..eb38d64694 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index ddd3dce0f1..b6a7d8fb38 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index 2d49d9f624..a1139c9692 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index 600351539f..0141fd4f68 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index 573fed918f..761da8a88b 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index c74bcc5c88..607b871600 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index 94beceec51..33ee86a199 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index d7dcc77b9c..29982202d7 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index b291b22aec..25b62b88e1 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index cb531ae0d2..4782d77fa4 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2020-02-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-1}
+\def\patch@level{-2}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 1b79bb6fc2..d96568eb4c 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index a75d953081..dc234911bb 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index c88cceb756..098a633051 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/manual.pdf b/macros/latex-dev/base/manual.pdf
index f77b4566e0..6d11064c8e 100644
--- a/macros/latex-dev/base/manual.pdf
+++ b/macros/latex-dev/base/manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index c79c67967f..e8f251f026 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index 0ef3e8b18a..f884e20d76 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index ea741a27a6..097fe26681 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index 72aa1d5021..377030d909 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index 07cb703868..185ee5607f 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index 8057676246..b37b468743 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index 5955ad04d9..a21c9f2ab7 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
index 70d0a35fa6..a62bf4292d 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 8d3774ebce..6237acf9dd 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index 1679d6e53a..9056877662 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index a6e4a9ef9a..79a8aa8098 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
index e3acd436b9..773dba3d41 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/README.md b/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/README.md
index f8acd784ff..1a6155d4c7 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/README.md
@@ -1,4 +1,4 @@
-# Focus v2.4
+# Focus v2.5
A presentation theme for LaTeX Beamer that aims at a clean and minimalist design,
so to minimize distractions and put the focus directly on the content.
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerouterthemefocus.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerouterthemefocus.sty
index c8fb6d55bc..26afe6799e 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerouterthemefocus.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerouterthemefocus.sty
@@ -50,7 +50,7 @@
}
% Plain header.
-\defbeamertemplate{frametitle}{plain}{%
+\defbeamertemplate*{frametitle}{plain}{%
% If not title page.
\ifnum\value{framenumber}>0%
\vspace{-1pt}%
@@ -108,7 +108,7 @@
}
% Full bar footline.
-\defbeamertemplate{footline}{fullbar}{%
+\defbeamertemplate*{footline}{fullbar}{%
% If not appendix.
\ifnum\mainend<0% From package appendixnumberbeamer.
%
@@ -133,7 +133,7 @@
}
% Empty footline.
-\defbeamertemplate{footline}{none}{}
+\defbeamertemplate*{footline}{none}{}
\DeclareOptionBeamer{numbering}{\def\beamer@focus@numbering{#1}}
\ExecuteOptionsBeamer{numbering=progressbar}
@@ -152,14 +152,14 @@
\end{tikzpicture}%
}
-\defbeamertemplate{background canvas}{focusplain}{%
+\defbeamertemplate*{background canvas}{focusplain}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
-\defbeamertemplate{background canvas}{focusframe}{%
+\defbeamertemplate*{background canvas}{focusframe}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[frametitle.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerthemefocus.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerthemefocus.sty
index 550e120c47..134cd0596b 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerthemefocus.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/beamerthemefocus.sty
@@ -19,7 +19,7 @@
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthemefocus}[2019/06/26 v2.4 Focus Beamer theme]
+\ProvidesPackage{beamerthemefocus}[2019/11/20 v2.5 Focus Beamer theme]
\mode<presentation>
diff --git a/macros/latex/contrib/letterswitharrows/README b/macros/latex/contrib/letterswitharrows/README
new file mode 100644
index 0000000000..33b6707811
--- /dev/null
+++ b/macros/latex/contrib/letterswitharrows/README
@@ -0,0 +1,7 @@
+The letterswitharrows package
+Copyright 2019 J. M. Teegen
+
+The letterswitharrows package does provides LaTeX math-mode commands for setting left and right arrows over mathematical symbols, so that the arrows dynamically scale with the symbols.
+While it is possible to set arrows over longer strings of symbols, the focus lies on single characters.
+
+For more information please consult the package documentation in letterswotharrows.pdf \ No newline at end of file
diff --git a/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx b/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx
new file mode 100644
index 0000000000..5048e1f713
--- /dev/null
+++ b/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx
@@ -0,0 +1,451 @@
+% \iffalse meta-comment
+%
+%% File: letterswitharrows.dtx
+%% Copyright 2019 J. Maximilian Teegen
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is J. M. Teegen.
+%%
+%% This work consists of the file letterswitharrows.dtx and its
+%% derived files letterswitharrows.sty and letterswitharrows.pdf.
+%
+%<*batch>
+%<*gobble>
+\ifx\jobname\relax\let\documentclass\undefined\fi
+\ifx\documentclass\undefined
+\csname fi\endcsname
+%</gobble>
+\input l3docstrip.tex
+\keepsilent
+\preamble
+\endpreamble
+\generate{\file{letterswitharrows.sty}{\from{letterswitharrows.dtx}{package}}}
+\endbatchfile
+%</batch>
+%<*gobble>
+\fi
+\expandafter\ifx\csname @currname\endcsname\empty
+\csname fi\endcsname
+%</gobble>
+%<*driver>
+\documentclass[full]{l3doc}
+\usepackage[presets={abc,ABC,cAcBcC,vec-cev},tweaks=false]{letterswitharrows}
+\usepackage{amssymb}
+\begin{document}
+\DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+%<*gobble>
+\fi
+%</gobble>
+% \fi
+
+% \title{The \pkg{letterswitharrows} package}
+% \author{Maximilian Teegen\\ \href{mailto:tex@jmteegen.eu}{tex@jmteegen.eu}}
+% \date{2019/11/19}
+
+% \maketitle
+
+% \begin{documentation}
+% This package does provides math-mode commands for setting left and right arrows over mathematical symbols, so that the arrows dynamically scale with the symbols.
+% Here is a sample: {\large\[
+% \vs \le \tv \in \vec{U_{\mathrlap\vr}} \qquad \left\vert \vec{AB} \right\vert = \left\vert \cev{AB} \right\vert \qquad A \mathrel{\arrowoverset*[-2mu]{\between}} B
+% \]} % Somehow embellishments don't work in the documentation!?
+% While it is possible to set arrows over longer strings of symbols, the focus lies on single characters.
+%
+% Only \textsc{pdf} output is supported. Output to \textsc{ps} is implemented, but rarely tested.
+% For a wider range of formats there is \pkg{pgf}-based output.
+
+% \section{Usage}
+% The package provides the general-purpose \tn{arrowoverset} command, as well as some sets of predefined shorthand commands.
+
+% \subsection{Presets}
+% The presets are selected by passing them as options to the \verb|presets| package option.
+% For instance, to define the \verb|abc| and the \verb|vec-cev| sets of commands you would load the package like so:
+% \begin{verbatim}
+% \usepackage[presets={abc,vec-cev}]{letterswitharrows}
+% \end{verbatim}
+% By default, the \verb|abc|, \verb|ABC| and \verb|cAcBcC| presets are loaded.
+
+% \DescribeOption{abc}
+% Passing \verb|abc| to the \verb|presets| option allows you to use the \tn{v\meta{char}} and \tn{\meta{char}v} commands for all the lower-case letters \verb|a| through \verb|z| except for \verb|v|.
+% \begin{function}{\v<char>,\<char>v,\vleft,\vright}
+% For the letter \verb|v| the commands \tn{vleft} and \tn{vright} are provided.
+% \[ \va, \vb, \vc, \dv, \mv, F_\tv \]
+% \begin{verbatim}
+% \[ \va, \vb, \vc, \dv, \mv, F_\tv \]
+% \end{verbatim}
+% \end{function}
+
+% \DescribeOption{ABC}
+% Passing \verb|ABC| to the \verb|presets| option allows you to use the \tn{v\meta{CHAR}} and \tn{\meta{CHAR}v} commands for all the upper-case letters \verb|A| through \verb|Z|.
+% \begin{function}{\v<CHAR>,\<CHAR>v}
+% \[ \vA, \vB, \vC, \Dv, \Ev, F_\Gv \]
+% \begin{verbatim}
+% \[ \vA, \vB, \vC, \Dv, \Ev, F_\Gv \]
+% \end{verbatim}
+% \end{function}
+
+% \DescribeOption{cAcBcC}
+% Passing \verb|cAcBcC| to the \verb|presets| option allows you to use the \tn{vc\meta{CHAR}} and \tn{c\meta{CHAR}v} commands for all the upper-case letters \verb|A| through \verb|Z| to set arrows over \tn{mathcal}-letters.
+% \begin{function}{\vc<CHAR>,\c<CHAR>v}
+% \[ \vcA, \vcB, \vcC, \cDv, \cEv, F_\cGv \]
+% \begin{verbatim}
+% \[ \vcA, \vcB, \vcC, \cDv, \cEv, F_\cGv \]
+% \end{verbatim}
+% \end{function}
+
+% \DescribeOption{vec-cev}
+% Passing \verb|vec-cev| to the \verb|presets| option (re)defines the \tn{vec} and \tn{cev} commands.
+% \begin{function}{\vec,\cev}
+% Unlike the other commands these do not automatically consume subsequent subscripts or \verb|'| tokens.
+% \[ \vec{\mathbf{x}} := \cev{AB} \qquad \langle \vw, \vright \rangle = 42 \]
+% \begin{verbatim}
+% \[ \vec{\mathbf{x}} := \cev{AB} \qquad \langle \vw, \vright \rangle = 42 \]
+% \end{verbatim}
+% \end{function}
+
+% \subsection{The \tn{arrowoverset} command}
+% \begin{function}{\arrowoverset,\arrowoverset*}
+% \begin{syntax}
+% |\arrowoverset | [\meta{xoffset}] [\meta{xscale}] [\meta{yoffset}] \Arg{math}
+% |\arrowoverset*| [\meta{xoffset}] [\meta{xscale}] [\meta{yoffset}] \Arg{math}
+% \end{syntax}
+% This command sets a right (or left if \tn{arrowoverset*} is used) arrow over \meta{math}.
+% The base length of the arrow is the width of the \meta{math} multiplied by \meta{xscale}, which must be specified as a fraction \meta{num}\verb|/|\meta{denom}.
+% The arrow is offset by \meta{xoffset} to the right, which must be a math skip expression, and by \meta{yoffset} to the top, which must be a skip expression.
+
+% This command consumes subsequent subscripts or up to two primes \verb|'|. The former does not affect the length of the arrow.
+% \end{function}
+
+% \subsection{Other package options}
+% \DescribeOption{pgf}
+% If you specify the \verb|pgf| option, every arrow is drawn as a \verb|pgfpicture|. This requires the \pkg{pgf} package, and slow in its current implementation.
+% \begin{texnote}
+% You can set up custom arrow drawing code by redefining \cs{__jmt_lwa_arrow_draw:nnn}.
+% The command is expected to draw an arrow with its head at the current position. Its length should be \verb|#1| and it should be drawn at a font size of \verb|#2|pt.
+% If \verb|#3| is \verb|-| if the arrow should point rightwards and empty otherwise.
+% \end{texnote}
+
+% \DescribeOption{tweaks}
+% Specifying the \verb|tweaks| option applies per-letter scaling adjustments to some of the single-letter shorthands. This is enabled by default.
+% These are specific to Latin Modern Math and subject to be changed on a whim. If you wish a more stable behaviour specify \verb|tweaks=false|
+
+% \end{documentation}
+% \begin{implementation}
+% \section{Implementation}
+
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage {letterswitharrows} {2019-11-19} {} {Draw arrows over math letters.}
+\RequirePackage{expl3,xparse,l3keys2e,mathtools}
+% TODO: I just use mathtools for mathrlap; replace.
+%</package>
+% \fi
+
+% \begin{macrocode}
+%<@@=jmt_lwa>
+\msg_new:nnn {letterswitharrows} {pdf-only} {Only~pdf~output~is~supported.}
+\AtBeginDocument{
+ \sys_if_output_pdf:F {
+ \msg_warning:nn {letterswitharrows} {pdf-only}
+ }
+}
+% \end{macrocode}
+% The drawing code.
+% \begin{macro}{\__@@_arrow_draw_special:nnn,\__@@_arrow_draw_pgf:nnn,\__@@_arrow_left:nn,\__@@_arrow_right:nn}
+% \begin{macrocode}
+\cs_new:Nn \__@@_arrow_draw_special:nnn % length, font size, sign
+{
+ \sys_if_output_pdf:TF {
+ \tex_special:D {pdf:~
+ q~
+ 1~J~1~j~
+ 1~0~0~\dim_to_decimal:n{#3#2pt/10}~0~0~cm~
+ .3~w~
+ q~
+ \dim_to_decimal:n{#3#2pt/10}~0~0~1~0~0~cm~
+ 1~0~0~1~-1~0~cm~
+ 0~1~m~
+ .25~0~1~0~1~0~c~
+ 1~0~.25~0~0~-1~c~
+ S~
+ Q~
+ 0~0~m~
+ -1~0~0~1~0~0~cm~
+ \dim_to_decimal:n{#3#1}~0~l~S~
+ Q
+ }
+ } {
+ \tex_special:D {"~
+ 1~setlinecap~1~setlinejoin~
+ 1~0~0~\dim_to_decimal:n{#3#2pt/10}~0~0~6~array~astore~concat~
+ .3~setlinewidth~
+ gsave~
+ \dim_to_decimal:n{#3#2pt/10}~0~0~1~0~0~6~array~astore~concat~
+ 1~0~0~1~-1~0~6~array~astore~concat~
+ 0~1~moveto~
+ .25~0~1~0~1~0~curveto~
+ 1~0~.25~0~0~-1~curveto~
+ stroke~
+ grestore~
+ 0~0~moveto~
+ -1~0~0~1~0~0~6~array~astore~concat~
+ \dim_to_decimal:n{#3#1}~0~lineto~stroke
+ }
+ }
+}
+
+% TODO
+% \tl_new:N \g_@@_pgf_arrow_style_tl
+% \tl_set:Nn \g_@@_pgf_arrow_style_tl
+% {Computer~Modern~Rightarrow[width=#2pt*2/10,length=#2pt/10,sharp]}
+
+\cs_new:Nn \__@@_arrow_draw_pgf:nnn {
+ \begin{pgfpicture}
+ \pgfsetlinewidth{#2pt/30}
+ \pgfsetarrowsstart
+ {Computer~Modern~Rightarrow[width=#2pt*2/10,length=#2pt/10,sharp]}
+ % \pgfsetarrowsstart{\tl_use:N \g_@@_pgf_arrow_style_tl}
+ \pgfpathmoveto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpoint{-#3#1}{0cm}}
+ \pgfusepath{stroke}
+ \pgfresetboundingbox
+ \end{pgfpicture}
+}
+
+\cs_new_eq:NN \__@@_arrow_draw:nnn \use_none:nnn
+
+\cs_new:Nn \__@@_arrow_right:nn {
+ \skip_horizontal:n {#1}
+ % \rule[\dimexpr -#2pt/6\relax]{#1}{\dimexpr #2pt/3\relax}
+ \__@@_arrow_draw:nnn {#1} {#2} {}
+}
+
+\cs_new:Nn \__@@_arrow_left:nn {
+ \__@@_arrow_draw:nnn {#1} {#2} {-}
+ \skip_horizontal:n {#1}
+ % \rule[\dimexpr -#2pt/6\relax]{#1}{\dimexpr #2pt/3\relax}
+}
+% \end{macrocode}
+% \end{macro}
+
+% The core functions.
+% \begin{macro}{\__@@_arrow_overset_style:Nnncnnn,\__@@_arrow_overset:nnnnn}
+% \begin{macrocode}
+\cs_new:Npn \__@@_arrow_overset_style:Nnncnnn #1#2#3#4#5#6#7 {
+ \hbox_set:Nn \l_tmpa_box {$\m@th#1#3$}
+ \dim_set:Nn \l_tmpa_dim {#2 pt/10}
+ \vbox:n {
+ \tex_lineskiplimit:D = \maxdimen
+ \tex_baselineskip:D = 0pt
+ \tex_lineskip:D = \dim_eval:n {\l_tmpa_dim * 3/2 + #7}
+ \tex_halign:D { ## \tex_cr:D
+ \skip_horizontal:n {\l_tmpa_dim / 2}
+ $
+ \m@th
+ #1
+ \tex_mskip:D \muskip_eval:n {#5}
+ \use:c {#4} {\dim_eval:n{\box_wd:N \l_tmpa_box * #6}} {#2}
+ $
+ \tex_cr:D
+ \box_use_drop:N \l_tmpa_box
+ \tex_cr:D
+ }
+ }
+}
+
+\cs_new:Nn \__@@_arrow_overset:nnnnn { % content, direction, xoffset, scale, yoffset
+ \mathchoice {
+ \__@@_arrow_overset_style:Nnncnnn
+ \displaystyle {\tf@size} {#1} {__@@_arrow_#2:nn} {#3} {#4} {#5}
+ } {
+ \__@@_arrow_overset_style:Nnncnnn
+ \textstyle {\tf@size} {#1} {__@@_arrow_#2:nn} {#3} {#4} {#5}
+ } {
+ \__@@_arrow_overset_style:Nnncnnn
+ \scriptstyle {\sf@size} {#1} {__@@_arrow_#2:nn} {#3} {#4} {#5}
+ } {
+ \__@@_arrow_overset_style:Nnncnnn
+ \scriptscriptstyle {\ssf@size} {#1} {__@@_arrow_#2:nn} {#3} {#4} {#5}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\@@_arrow_overset:w,\arrowoverset}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_arrow_overset:w {
+ \c_group_begin_token
+ \__@@_arrow_overset_aux:w
+}
+
+% This exp_args is necessary because _ generates the wrong token in expl3 syntax
+\exp_args:NNx \NewDocumentCommand \__@@_arrow_overset_aux:w
+ {s O{0mu} O{1} O{0ex} m t' e{\char_generate:nn {95}{8}} t'} {
+ \__@@_arrow_overset:nnnnn
+ {
+ #5
+ \c_math_superscript_token {
+ \scriptscriptstyle\IfBooleanT{#6}{\prime}\IfBooleanT{#8}{\prime}
+ } % TODO: Better positioning etc?
+ \exp_args:Nf\IfValueT{\use:n#7} {
+ \c_math_subscript_token {
+ \mathrlap{#7}
+ }
+ }
+ }
+ {\IfBooleanTF{#1}{left}{right}}
+ {#2} {#3} {#4}
+
+ \exp_args:Nf\IfValueTF{\use:n#7}{
+ % TODO: Better way to do this? This is all kinds of wrong.
+ \hphantom{\!\c_math_subscript_token{#7}}
+ } {}
+ \c_group_end_token
+}
+\cs_set_eq:NN \arrowoverset \@@_arrow_overset:w
+% \end{macrocode}
+% Replacements for \pkg{hyperref} bookmarks.
+% \begin{macrocode}
+\AtBeginDocument{
+ \@ifpackageloaded{hyperref}{
+ \pdfstringdefDisableCommands{
+ % Why does this only work with Expandable?
+ \DeclareExpandableDocumentCommand \@@_arrow_overset:w {s o o o m} {
+ \ifpdfstringunicode
+ {#5 \IfBooleanTF{#1}{\unichar{"20D6}}{\unichar{"20D7}}}
+ {#5}
+ }
+ }
+ }{}
+}
+% \end{macrocode}
+% \end{macro}
+
+% Package option handling.
+% \begin{variable}{\g_@@_tweak_shortcuts_bool,\g_@@_selected_presets_prop}
+% \begin{macro}{\__@@_arrow_draw:nnn}
+% \begin{macrocode}
+\bool_new:N \g_@@_tweak_shortcuts_bool
+\prop_new:N \g_@@_selected_presets_prop
+\keys_define:nn {letterswitharrows} {
+ mode .choice:,
+ mode / special .code:n = {
+ \cs_set_eq:NN \__@@_arrow_draw:nnn \__@@_arrow_draw_special:nnn
+ },
+ mode / pgf .code:n = {
+ \RequirePackage{pgf}
+ \ExplSyntaxOff\usepgflibrary{arrows.meta}\ExplSyntaxOn
+ \cs_set_eq:NN \__@@_arrow_draw:nnn \__@@_arrow_draw_pgf:nnn
+ },
+ mode .initial:n = {special},
+ pgf .meta:n = {mode = pgf},
+ presets .multichoices:nn = {abc, ABC, cAcBcC, vec-cev} {
+ \int_compare:nNnTF \l_keys_choice_int = 1 {
+ \prop_gclear:N \g_@@_selected_presets_prop
+ } {}
+ \prop_gput:NVn \g_@@_selected_presets_prop \l_keys_choice_tl {}
+ },
+ presets .initial:n = {abc, ABC, cAcBcC},
+ tweaks .bool_set:N = \g_@@_tweak_shortcuts_bool,
+ tweaks .initial:n = {true},
+}
+\ProcessKeysPackageOptions{letterswitharrows}
+% \end{macrocode}
+% \end{macro}
+% \end{variable}
+
+% \begin{macro}{\v<char>,\<char>v,\vleft,\vright}
+% \begin{macrocode}
+\prop_if_in:NnTF \g_@@_selected_presets_prop {abc} {
+ \int_step_inline:nnn {1} {26} {
+ \int_compare:nNnTF {#1} = {22} {
+ \cs_new:cpx {vright} {
+ \exp_not:N\@@_arrow_overset:w{v}
+ }
+ \cs_new:cpx {vleft} {
+ \exp_not:N\@@_arrow_overset:w*{v}
+ }
+ } {
+ \cs_new:cpx {v\int_to_alph:n{#1}} {
+ \exp_not:N\@@_arrow_overset:w{\int_to_alph:n{#1}}
+ }
+ \cs_new:cpx {\int_to_alph:n{#1}v} {
+ \exp_not:N\@@_arrow_overset:w*{\int_to_alph:n{#1}}
+ }
+ }
+ }
+} {}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\v<CHAR>,\<CHAR>v}
+% \begin{macrocode}
+\prop_if_in:NnTF \g_@@_selected_presets_prop {ABC} {
+ \int_step_inline:nnn {1} {26} {
+ \cs_new:cpx {v\int_to_Alph:n{#1}} {
+ \exp_not:N\@@_arrow_overset:w{\int_to_Alph:n{#1}}
+ }
+ \cs_new:cpx {\int_to_Alph:n{#1}v} {
+ \exp_not:N\@@_arrow_overset:w*{\int_to_Alph:n{#1}}
+ }
+ }
+} {}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\vc<CHAR>,\c<CHAR>v}
+% \begin{macrocode}
+\prop_if_in:NnTF \g_@@_selected_presets_prop {cAcBcC} {
+ \int_step_inline:nnn {1} {26} {
+ \cs_new:cpx {vc\int_to_Alph:n{#1}} {
+ \exp_not:N\@@_arrow_overset:w{\exp_not:N\mathcal{\int_to_Alph:n{#1}}}
+ }
+ \cs_new:cpx {c\int_to_Alph:n{#1}v} {
+ \exp_not:N\@@_arrow_overset:w*{\exp_not:N\mathcal{\int_to_Alph:n{#1}}}
+ }
+ }
+} {}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\vec,\cev}
+% \begin{macrocode}
+\prop_if_in:NnTF \g_@@_selected_presets_prop {vec-cev} {
+ \RenewDocumentCommand \vec {m} {
+ \@@_arrow_overset:w {#1} \scan_stop:
+ }
+ \DeclareDocumentCommand \cev {m} {
+ \@@_arrow_overset:w* {#1} \scan_stop:
+ }
+} {}
+% \end{macrocode}
+% \end{macro}
+% Some personal-preference tweaks.
+% \begin{macrocode}
+\bool_if:NTF \g_@@_tweak_shortcuts_bool {
+ \prop_if_in:NnTF \g_@@_selected_presets_prop {ABC} {
+ \cs_set:cpn {vS} {
+ \@@_arrow_overset:w[2mu][8/10]{S}
+ }
+ } {}
+ \prop_if_in:NnTF \g_@@_selected_presets_prop {abc} {
+ \cs_new:cpn {vell} {
+ \@@_arrow_overset:w{\ell}
+ }
+ \cs_new:cpn {ellv} {
+ \@@_arrow_overset:w{\ell}
+ }
+ } {}
+} {}
+% \end{macrocode}
+% \end{implementation}
+
diff --git a/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf b/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf
new file mode 100644
index 0000000000..794f77a705
--- /dev/null
+++ b/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf
Binary files differ