From acf3807dc0f375729de890a56d32a063fc95bacf Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 8 Feb 2023 03:02:25 +0000 Subject: CTAN sync 202302080302 --- macros/latex/contrib/eolang/LICENSE.txt | 2 +- macros/latex/contrib/eolang/eolang.dtx | 14 +- macros/latex/contrib/eolang/eolang.ins | 4 +- macros/latex/contrib/eolang/eolang.pdf | Bin 2007063 -> 2015121 bytes macros/latex/contrib/l3kernel/CHANGELOG.md | 14 +- macros/latex/contrib/l3kernel/README.md | 2 +- macros/latex/contrib/l3kernel/expl3.dtx | 4 +- macros/latex/contrib/l3kernel/expl3.pdf | Bin 622496 -> 622668 bytes macros/latex/contrib/l3kernel/interface3.pdf | Bin 1778766 -> 1778236 bytes macros/latex/contrib/l3kernel/interface3.tex | 2 +- macros/latex/contrib/l3kernel/l3basics.dtx | 2 +- macros/latex/contrib/l3kernel/l3bootstrap.dtx | 2 +- macros/latex/contrib/l3kernel/l3box.dtx | 2 +- macros/latex/contrib/l3kernel/l3candidates.dtx | 4 +- macros/latex/contrib/l3kernel/l3cctab.dtx | 2 +- macros/latex/contrib/l3kernel/l3clist.dtx | 2 +- macros/latex/contrib/l3kernel/l3coffins.dtx | 4 +- macros/latex/contrib/l3kernel/l3color.dtx | 4 +- macros/latex/contrib/l3kernel/l3debug.dtx | 4 +- macros/latex/contrib/l3kernel/l3deprecation.dtx | 2 +- macros/latex/contrib/l3kernel/l3doc.dtx | 2 +- macros/latex/contrib/l3kernel/l3doc.pdf | Bin 557491 -> 557684 bytes macros/latex/contrib/l3kernel/l3docstrip.dtx | 2 +- macros/latex/contrib/l3kernel/l3docstrip.pdf | Bin 151518 -> 151708 bytes macros/latex/contrib/l3kernel/l3expan.dtx | 2 +- macros/latex/contrib/l3kernel/l3file.dtx | 2 +- macros/latex/contrib/l3kernel/l3flag.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-assign.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-aux.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-basics.dtx | 4 +- macros/latex/contrib/l3kernel/l3fp-convert.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-expo.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-extended.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-logic.dtx | 4 +- macros/latex/contrib/l3kernel/l3fp-parse.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-random.dtx | 4 +- macros/latex/contrib/l3kernel/l3fp-round.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-traps.dtx | 4 +- macros/latex/contrib/l3kernel/l3fp-trig.dtx | 4 +- macros/latex/contrib/l3kernel/l3fp.dtx | 2 +- macros/latex/contrib/l3kernel/l3fparray.dtx | 4 +- macros/latex/contrib/l3kernel/l3int.dtx | 2 +- macros/latex/contrib/l3kernel/l3intarray.dtx | 4 +- .../latex/contrib/l3kernel/l3kernel-functions.dtx | 4 +- macros/latex/contrib/l3kernel/l3keys.dtx | 4 +- macros/latex/contrib/l3kernel/l3legacy.dtx | 4 +- macros/latex/contrib/l3kernel/l3luatex.dtx | 2 +- macros/latex/contrib/l3kernel/l3msg.dtx | 2 +- macros/latex/contrib/l3kernel/l3names.dtx | 2 +- macros/latex/contrib/l3kernel/l3news.pdf | Bin 395876 -> 395876 bytes macros/latex/contrib/l3kernel/l3news01.pdf | Bin 122710 -> 122710 bytes macros/latex/contrib/l3kernel/l3news02.pdf | Bin 150674 -> 150674 bytes macros/latex/contrib/l3kernel/l3news03.pdf | Bin 148706 -> 148706 bytes macros/latex/contrib/l3kernel/l3news04.pdf | Bin 114586 -> 114586 bytes macros/latex/contrib/l3kernel/l3news05.pdf | Bin 112485 -> 112485 bytes macros/latex/contrib/l3kernel/l3news06.pdf | Bin 151569 -> 151569 bytes macros/latex/contrib/l3kernel/l3news07.pdf | Bin 128316 -> 128316 bytes macros/latex/contrib/l3kernel/l3news08.pdf | Bin 163456 -> 163456 bytes macros/latex/contrib/l3kernel/l3news09.pdf | Bin 250136 -> 250136 bytes macros/latex/contrib/l3kernel/l3news10.pdf | Bin 150283 -> 150283 bytes macros/latex/contrib/l3kernel/l3news11.pdf | Bin 170076 -> 170076 bytes macros/latex/contrib/l3kernel/l3news12.pdf | Bin 204992 -> 204992 bytes macros/latex/contrib/l3kernel/l3pdf.dtx | 2 +- macros/latex/contrib/l3kernel/l3prefixes.pdf | Bin 81614 -> 81614 bytes macros/latex/contrib/l3kernel/l3prg.dtx | 2 +- macros/latex/contrib/l3kernel/l3prop.dtx | 2 +- macros/latex/contrib/l3kernel/l3quark.dtx | 2 +- macros/latex/contrib/l3kernel/l3regex.dtx | 2 +- macros/latex/contrib/l3kernel/l3seq.dtx | 2 +- macros/latex/contrib/l3kernel/l3skip.dtx | 2 +- macros/latex/contrib/l3kernel/l3sort.dtx | 2 +- macros/latex/contrib/l3kernel/l3str-convert.dtx | 4 +- macros/latex/contrib/l3kernel/l3str.dtx | 2 +- macros/latex/contrib/l3kernel/l3styleguide.pdf | Bin 295977 -> 296142 bytes macros/latex/contrib/l3kernel/l3styleguide.tex | 2 +- macros/latex/contrib/l3kernel/l3syntax-changes.pdf | Bin 242645 -> 242810 bytes macros/latex/contrib/l3kernel/l3syntax-changes.tex | 2 +- macros/latex/contrib/l3kernel/l3sys.dtx | 2 +- macros/latex/contrib/l3kernel/l3term-glossary.pdf | Bin 215187 -> 215352 bytes macros/latex/contrib/l3kernel/l3term-glossary.tex | 2 +- macros/latex/contrib/l3kernel/l3text-case.dtx | 14 +- macros/latex/contrib/l3kernel/l3text-map.dtx | 2 +- macros/latex/contrib/l3kernel/l3text-purify.dtx | 70 +- macros/latex/contrib/l3kernel/l3text.dtx | 72 +- macros/latex/contrib/l3kernel/l3tl-analysis.dtx | 2 +- macros/latex/contrib/l3kernel/l3tl.dtx | 2 +- macros/latex/contrib/l3kernel/l3token.dtx | 2 +- macros/latex/contrib/l3kernel/l3unicode.dtx | 2 +- macros/latex/contrib/l3kernel/source3.pdf | Bin 7326573 -> 7322241 bytes macros/latex/contrib/l3kernel/source3.tex | 2 +- .../contrib/pdfmanagement-testphase/CHANGELOG.md | 11 +- .../contrib/pdfmanagement-testphase/README.md | 2 +- .../contrib/pdfmanagement-testphase/color-ltx.sty | 2 +- .../colorspace-patches-tmp-ltx.sty | 2 +- .../fontspec-luatex-tmp-ltx.sty | 2 +- .../pdfmanagement-testphase/hyperref-generic.dtx | 6 +- .../pdfmanagement-testphase/hyperref-generic.pdf | Bin 961697 -> 961811 bytes .../l3backend-testphase.dtx | 18 +- .../l3backend-testphase.pdf | Bin 686355 -> 686518 bytes .../contrib/pdfmanagement-testphase/l3pdfannot.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfannot.pdf | Bin 586554 -> 586720 bytes .../contrib/pdfmanagement-testphase/l3pdfdict.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfdict.pdf | Bin 514179 -> 514471 bytes .../pdfmanagement-testphase/l3pdffield-action.dtx | 2 +- .../pdfmanagement-testphase/l3pdffield-action.pdf | Bin 557485 -> 557646 bytes .../l3pdffield-checkbox.dtx | 2 +- .../l3pdffield-checkbox.pdf | Bin 540519 -> 540685 bytes .../pdfmanagement-testphase/l3pdffield-choice.dtx | 4 +- .../pdfmanagement-testphase/l3pdffield-choice.pdf | Bin 543750 -> 542954 bytes .../l3pdffield-pushbutton.dtx | 2 +- .../l3pdffield-pushbutton.pdf | Bin 535929 -> 536072 bytes .../l3pdffield-radiobutton.dtx | 2 +- .../l3pdffield-radiobutton.pdf | Bin 591353 -> 591503 bytes .../l3pdffield-textfield.dtx | 2 +- .../l3pdffield-textfield.pdf | Bin 515167 -> 515315 bytes .../contrib/pdfmanagement-testphase/l3pdffield.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdffield.pdf | Bin 749265 -> 749402 bytes .../contrib/pdfmanagement-testphase/l3pdffile.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdffile.pdf | Bin 560851 -> 561134 bytes .../pdfmanagement-testphase/l3pdfmanagement.dtx | 4 +- .../pdfmanagement-testphase/l3pdfmanagement.pdf | Bin 681080 -> 681340 bytes .../contrib/pdfmanagement-testphase/l3pdfmeta.dtx | 14 +- .../contrib/pdfmanagement-testphase/l3pdfmeta.pdf | Bin 837061 -> 810105 bytes .../contrib/pdfmanagement-testphase/l3pdftools.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdftools.pdf | Bin 526049 -> 526218 bytes .../contrib/pdfmanagement-testphase/l3pdfxform.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfxform.pdf | Bin 425888 -> 426193 bytes .../contrib/pdfmanagement-testphase/ltdocinit.dtx | 4 +- .../contrib/pdfmanagement-testphase/ltdocinit.pdf | Bin 587989 -> 588291 bytes .../output-patches-tmp-ltx.pdf | Bin 386776 -> 386602 bytes .../pdfmanagement-firstaid.dtx | 67 +- .../pdfmanagement-firstaid.pdf | Bin 438899 -> 444424 bytes .../pdfmanagement-testphase.dtx | 6 +- .../pdfmanagement-testphase.pdf | Bin 455472 -> 455780 bytes .../xcolor-patches-tmp-ltx.sty | 2 +- macros/latex/contrib/physics2/doc/phy2docdef.tex | 2 +- .../latex/contrib/physics2/doc/physics2-legacy.pdf | Bin 97795 -> 97692 bytes macros/latex/contrib/physics2/doc/physics2.pdf | Bin 87054 -> 87049 bytes .../latex/contrib/physics2/tex/phy-ab.braket.sty | 2 +- .../latex/contrib/physics2/tex/phy-ab.legacy.sty | 2 +- macros/latex/contrib/physics2/tex/phy-ab.sty | 15 +- .../contrib/physics2/tex/phy-bm-um.legacy.sty | 2 +- macros/latex/contrib/physics2/tex/phy-braket.sty | 2 +- macros/latex/contrib/physics2/tex/phy-common.sty | 2 +- macros/latex/contrib/physics2/tex/phy-diagmat.sty | 2 +- .../latex/contrib/physics2/tex/phy-doubleprod.sty | 2 +- .../latex/contrib/physics2/tex/phy-explsetup.sty | 2 +- .../contrib/physics2/tex/phy-nabla.legacy.sty | 2 +- .../latex/contrib/physics2/tex/phy-op.legacy.sty | 2 +- .../contrib/physics2/tex/phy-qtext.legacy.sty | 2 +- macros/latex/contrib/physics2/tex/phy-xmat.sty | 2 +- macros/latex/contrib/resolsysteme/README.md | 7 + .../contrib/resolsysteme/doc/ResolSysteme-doc.pdf | Bin 0 -> 123651 bytes .../contrib/resolsysteme/doc/ResolSysteme-doc.tex | 626 +++++++++++++++++ .../doc/ResolSysteme-exemples-pyluatex.pdf | Bin 0 -> 95573 bytes .../doc/ResolSysteme-exemples-pyluatex.tex | 107 +++ .../resolsysteme/doc/ResolSysteme-exemples.pdf | Bin 0 -> 134039 bytes .../resolsysteme/doc/ResolSysteme-exemples.tex | 103 +++ .../contrib/resolsysteme/tex/ResolSysteme.sty | 751 +++++++++++++++++++++ macros/xetex/latex/xduts/xduts.dtx | 46 +- macros/xetex/latex/xduts/xduts.pdf | Bin 333537 -> 333533 bytes 161 files changed, 1922 insertions(+), 279 deletions(-) create mode 100644 macros/latex/contrib/resolsysteme/README.md create mode 100644 macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf create mode 100644 macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex create mode 100644 macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf create mode 100644 macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex create mode 100644 macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf create mode 100644 macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex create mode 100644 macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty (limited to 'macros') diff --git a/macros/latex/contrib/eolang/LICENSE.txt b/macros/latex/contrib/eolang/LICENSE.txt index bd949ffdab..5744f745f0 100644 --- a/macros/latex/contrib/eolang/LICENSE.txt +++ b/macros/latex/contrib/eolang/LICENSE.txt @@ -1,6 +1,6 @@ (The MIT License) -Copyright (c) 2021-2022 Yegor Bugayenko +Copyright (c) 2021-2023 Yegor Bugayenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal diff --git a/macros/latex/contrib/eolang/eolang.dtx b/macros/latex/contrib/eolang/eolang.dtx index f49cc47530..daca8ee56f 100644 --- a/macros/latex/contrib/eolang/eolang.dtx +++ b/macros/latex/contrib/eolang/eolang.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % (The MIT License) % -% Copyright (c) 2021-2022 Yegor Bugayenko +% Copyright (c) 2021-2023 Yegor Bugayenko % % Permission is hereby granted, free of charge, to any person obtaining a copy % of this software and associated documentation files (the 'Software'), to deal @@ -50,7 +50,7 @@ %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{eolang} %<*package> -[2023-01-30 0.11.0 Formulas and Graphs for EO Programming Language] +[2023-02-07 0.11.1 Formulas and Graphs for EO Programming Language] % %<*driver> \documentclass{ltxdoc} @@ -767,7 +767,7 @@ $macro = $ARGV[0]; open(my $fh, '<', $ARGV[1]); my $tex; { local $/; $tex = <$fh>; } -print '% This file is auto-generated', "\n"; +print "% This file is auto-generated by 0.11.1\n"; print '% There are ', length($tex), ' chars in the input: ', $ARGV[1], "\n"; print '% ---', "\n"; @@ -782,9 +782,13 @@ foreach my $t (@lines) { print '% ---', "\n"; $tex =~ s/%.*\n/\n/g; $tex =~ s/^\s+|\s+$//g; -my $gathered = (0 == $tex =~ /\n\s+/g); +my $indents = $tex =~ /\n +/g; +my $gathered = (0 == $indents); if ($gathered) { print '% The "gathered" is used since all lines are left-aligned' . "\n"; +} else { + print '% The "gathered" is NOT used because ' . + $indents . " lines are indented\n"; } my $align = 0; print '% The "align" is NOT used by default' . "\n"; @@ -861,7 +865,7 @@ if ($macro ne 'phiq') { } } $tex =~ s/\$/\\xi{}/g; -$tex =~ s/(?(])([0-9A-F]{2}(?:-[0-9A-F]{2})+| diff --git a/macros/latex/contrib/eolang/eolang.ins b/macros/latex/contrib/eolang/eolang.ins index 4e11a335ff..329210aa0f 100644 --- a/macros/latex/contrib/eolang/eolang.ins +++ b/macros/latex/contrib/eolang/eolang.ins @@ -1,6 +1,6 @@ %% (The MIT License) %% -%% Copyright (c) 2021-2022 Yegor Bugayenko +%% Copyright (c) 2021-2023 Yegor Bugayenko %% %% Permission is hereby granted, free of charge, to any person obtaining a copy %% of this software and associated documentation files (the 'Software'), to deal @@ -26,7 +26,7 @@ \preamble (The MIT License) -Copyright (c) 2021-2022 Yegor Bugayenko +Copyright (c) 2021-2023 Yegor Bugayenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal diff --git a/macros/latex/contrib/eolang/eolang.pdf b/macros/latex/contrib/eolang/eolang.pdf index c97623759b..a09b3b17cd 100644 Binary files a/macros/latex/contrib/eolang/eolang.pdf and b/macros/latex/contrib/eolang/eolang.pdf differ diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md index 5126f2d23f..82278061e3 100644 --- a/macros/latex/contrib/l3kernel/CHANGELOG.md +++ b/macros/latex/contrib/l3kernel/CHANGELOG.md @@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2023-02-07] + +### Changed +- Swap meaning of `el` and `el-x-iota` when case changing + Greek: match traditional LaTeX approach + +### Deprecated +- `\l_text_accents_tl` and `\l_text_letterlike_tl` + ## [2023-02-02] ### Fixed @@ -26,7 +35,7 @@ this project uses date-based 'snapshot' version identifiers. ### Fixed - Allow for multi-part BCP47 strings in case changing - Loading with plain TeX due to `\outer` status of `^^L` - issue [\#1161](https://github.com/latex3/latex3/issues/1161)) + issue ([\#1161](https://github.com/latex3/latex3/issues/1161)) ### Changed - Leave catcode of `&` unchanged in code environment @@ -1285,7 +1294,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2023-02-02...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2023-02-07...HEAD +[2023-02-07]: https://github.com/latex3/latex3/compare/2023-02-02...2023-02-07 [2023-02-02]: https://github.com/latex3/latex3/compare/2023-02-01...2023-02-02 [2023-02-01]: https://github.com/latex3/latex3/compare/2023-01-24...2023-02-01 [2023-01-24]: https://github.com/latex3/latex3/compare/2023-01-16...2023-01-24 diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md index 6e36cbfae2..9bcc6c0a9d 100644 --- a/macros/latex/contrib/l3kernel/README.md +++ b/macros/latex/contrib/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2023-02-02 +Release 2023-02-07 Overview -------- diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx index e637d81fdb..4d0e803169 100644 --- a/macros/latex/contrib/l3kernel/expl3.dtx +++ b/macros/latex/contrib/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> % -\def\ExplFileDate{2023-02-02}% +\def\ExplFileDate{2023-02-07}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf index f2c43ad71f..90d00b4e66 100644 Binary files a/macros/latex/contrib/l3kernel/expl3.pdf and b/macros/latex/contrib/l3kernel/expl3.pdf differ diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf index a7d3482798..e1fee791bd 100644 Binary files a/macros/latex/contrib/l3kernel/interface3.pdf and b/macros/latex/contrib/l3kernel/interface3.pdf differ diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex index 094b5d62a3..d97dc1ba20 100644 --- a/macros/latex/contrib/l3kernel/interface3.tex +++ b/macros/latex/contrib/l3kernel/interface3.tex @@ -54,7 +54,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2023-02-02} +\date{Released 2023-02-07} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx index d81b2bae1a..d7b2bcc207 100644 --- a/macros/latex/contrib/l3kernel/l3basics.dtx +++ b/macros/latex/contrib/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx index 5e748d0749..da2ddd858f 100644 --- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx +++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx index 4b569231ea..ed7b1f499a 100644 --- a/macros/latex/contrib/l3kernel/l3box.dtx +++ b/macros/latex/contrib/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index 41adf61e05..d7a9faaf36 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -663,7 +663,7 @@ % % \begin{implementation} % -% \section{\pkg{l3candidates} Implementation} +% \section{\pkg{l3candidates} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx index b30a0fad2a..a014eca213 100644 --- a/macros/latex/contrib/l3kernel/l3cctab.dtx +++ b/macros/latex/contrib/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx index 9667a70ce7..18b0bbbf41 100644 --- a/macros/latex/contrib/l3kernel/l3clist.dtx +++ b/macros/latex/contrib/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx index e241c13570..6cd5f2f30e 100644 --- a/macros/latex/contrib/l3kernel/l3coffins.dtx +++ b/macros/latex/contrib/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -430,7 +430,7 @@ % % \begin{implementation} % -% \section{\pkg{l3coffins} Implementation} +% \section{\pkg{l3coffins} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx index 60d5274c2a..8bb2c04496 100644 --- a/macros/latex/contrib/l3kernel/l3color.dtx +++ b/macros/latex/contrib/l3kernel/l3color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -512,7 +512,7 @@ % % \begin{implementation} % -% \section{\pkg{l3color} Implementation} +% \section{\pkg{l3color} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx index 3f62b3acc3..654dc67d82 100644 --- a/macros/latex/contrib/l3kernel/l3debug.dtx +++ b/macros/latex/contrib/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -116,7 +116,7 @@ % % \begin{implementation} % -% \section{\pkg{l3debug} Implementation} +% \section{\pkg{l3debug} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx index 78ccdb850a..6edda3b0e3 100644 --- a/macros/latex/contrib/l3kernel/l3deprecation.dtx +++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx index e1e458a063..fc8f8a4f6f 100644 --- a/macros/latex/contrib/l3kernel/l3doc.dtx +++ b/macros/latex/contrib/l3kernel/l3doc.dtx @@ -85,7 +85,7 @@ and all files in that bundle must be distributed together. % require you to do updates, if the class changes.}} % % \author{\Team} -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % \maketitle % \tableofcontents % diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/contrib/l3kernel/l3doc.pdf index 47b2917719..e5ea0ed020 100644 Binary files a/macros/latex/contrib/l3kernel/l3doc.pdf and b/macros/latex/contrib/l3kernel/l3doc.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx index 458a42c0d3..eaf08a66a2 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.dtx +++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf index 7975a52eae..67b30abda3 100644 Binary files a/macros/latex/contrib/l3kernel/l3docstrip.pdf and b/macros/latex/contrib/l3kernel/l3docstrip.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx index 25d18bf883..f0f2be2c6c 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx index eaf8a13f43..b353f4d692 100644 --- a/macros/latex/contrib/l3kernel/l3file.dtx +++ b/macros/latex/contrib/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx index 06d64bfd61..4c80bf9c8a 100644 --- a/macros/latex/contrib/l3kernel/l3flag.dtx +++ b/macros/latex/contrib/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx index 7824662987..adf9beb783 100644 --- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx index dc39e538ff..56944602e4 100644 --- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx index ec2d23e3e2..5fc4cb3638 100644 --- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -50,7 +50,7 @@ % % \begin{implementation} % -% \section{\pkg{l3fp-basics} Implementation} +% \section{\pkg{l3fp-basics} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx index 59ca84397e..d456f93ec4 100644 --- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx index 9319fd88e2..098b706e98 100644 --- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx index 3a3d8e92c2..22a35fb02b 100644 --- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx index aa8d81d9f5..22f83cecb8 100644 --- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -50,7 +50,7 @@ % % \begin{implementation} % -% \section{\pkg{l3fp-logic} Implementation} +% \section{\pkg{l3fp-logic} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx index e513481ec7..0c8f552371 100644 --- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx index 699f9d2c33..44f57195d4 100644 --- a/macros/latex/contrib/l3kernel/l3fp-random.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -50,7 +50,7 @@ % % \begin{implementation} % -% \section{\pkg{l3fp-random} Implementation} +% \section{\pkg{l3fp-random} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx index 445945e639..ba4ea77f47 100644 --- a/macros/latex/contrib/l3kernel/l3fp-round.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx index e639360224..3bb294c1c8 100644 --- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % \maketitle % % \begin{documentation} @@ -49,7 +49,7 @@ % % \begin{implementation} % -% \section{\pkg{l3fp-traps} Implementation} +% \section{\pkg{l3fp-traps} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx index cfc3f01cbb..c52460da1a 100644 --- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -50,7 +50,7 @@ % % \begin{implementation} % -% \section{\pkg{l3fp-trig} Implementation} +% \section{\pkg{l3fp-trig} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx index 21e6aa21c2..9f871243bd 100644 --- a/macros/latex/contrib/l3kernel/l3fp.dtx +++ b/macros/latex/contrib/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx index 4141d52c9c..044792037b 100644 --- a/macros/latex/contrib/l3kernel/l3fparray.dtx +++ b/macros/latex/contrib/l3kernel/l3fparray.dtx @@ -32,7 +32,7 @@ % % % \title{^^A -% The \textsf{l3fparray} package: fast global floating point arrays^^A +% The \textsf{l3fparray} package: Fast global floating point arrays^^A % } % % \author{^^A @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx index 5769d09bdd..7fe87163cb 100644 --- a/macros/latex/contrib/l3kernel/l3int.dtx +++ b/macros/latex/contrib/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx index 28988ff55c..b6c902814f 100644 --- a/macros/latex/contrib/l3kernel/l3intarray.dtx +++ b/macros/latex/contrib/l3kernel/l3intarray.dtx @@ -32,7 +32,7 @@ % % % \title{^^A -% The \textsf{l3intarray} package: fast global integer arrays^^A +% The \textsf{l3intarray} package: Fast global integer arrays^^A % } % % \author{^^A @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx index 9a6aaed95c..f3707adfba 100644 --- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx +++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx @@ -31,7 +31,7 @@ % \fi % % \title{^^A -% The \pkg{l3kernel-functions} package\\ Kernel-reserved functions^^A +% The \pkg{l3kernel-functions} package: Kernel-reserved functions^^A % } % % \author{^^A @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx index 053117bc9a..ed30315940 100644 --- a/macros/latex/contrib/l3kernel/l3keys.dtx +++ b/macros/latex/contrib/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -1059,7 +1059,7 @@ % % \begin{implementation} % -% \section{\pkg{l3keys} Implementation} +% \section{\pkg{l3keys} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx index 58ee6dc083..8c1f7f79c3 100644 --- a/macros/latex/contrib/l3kernel/l3legacy.dtx +++ b/macros/latex/contrib/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -89,7 +89,7 @@ % % \begin{implementation} % -% \section{\pkg{l3legacy} Implementation} +% \section{\pkg{l3legacy} implementation} % % \begin{macrocode} %<*package> diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx index 9b56ccdafc..dd31c52398 100644 --- a/macros/latex/contrib/l3kernel/l3luatex.dtx +++ b/macros/latex/contrib/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx index d4df83f36d..bb4f895b28 100644 --- a/macros/latex/contrib/l3kernel/l3msg.dtx +++ b/macros/latex/contrib/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx index 4b48f239c8..bd52590502 100644 --- a/macros/latex/contrib/l3kernel/l3names.dtx +++ b/macros/latex/contrib/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf index 5dc5869a54..aff1b227c4 100644 Binary files a/macros/latex/contrib/l3kernel/l3news.pdf and b/macros/latex/contrib/l3kernel/l3news.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf index 100b8c6464..203189c5d6 100644 Binary files a/macros/latex/contrib/l3kernel/l3news01.pdf and b/macros/latex/contrib/l3kernel/l3news01.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf index 423d0391c4..3b801b0869 100644 Binary files a/macros/latex/contrib/l3kernel/l3news02.pdf and b/macros/latex/contrib/l3kernel/l3news02.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf index f6270d299d..50b9fa7a66 100644 Binary files a/macros/latex/contrib/l3kernel/l3news03.pdf and b/macros/latex/contrib/l3kernel/l3news03.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf index 9360e407cf..19b7903852 100644 Binary files a/macros/latex/contrib/l3kernel/l3news04.pdf and b/macros/latex/contrib/l3kernel/l3news04.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf index 45ae1d35b9..0d0d1ab94b 100644 Binary files a/macros/latex/contrib/l3kernel/l3news05.pdf and b/macros/latex/contrib/l3kernel/l3news05.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf index 3bea97815f..afc88af47c 100644 Binary files a/macros/latex/contrib/l3kernel/l3news06.pdf and b/macros/latex/contrib/l3kernel/l3news06.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf index 72db554b9d..9fba5965b9 100644 Binary files a/macros/latex/contrib/l3kernel/l3news07.pdf and b/macros/latex/contrib/l3kernel/l3news07.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf index f7e962eb28..5db8d5e6b9 100644 Binary files a/macros/latex/contrib/l3kernel/l3news08.pdf and b/macros/latex/contrib/l3kernel/l3news08.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf index 7cd2bc5943..309a3a0e4c 100644 Binary files a/macros/latex/contrib/l3kernel/l3news09.pdf and b/macros/latex/contrib/l3kernel/l3news09.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf index 2cbe98cdfd..07719156f3 100644 Binary files a/macros/latex/contrib/l3kernel/l3news10.pdf and b/macros/latex/contrib/l3kernel/l3news10.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf index 9675352bbd..d88ae99e25 100644 Binary files a/macros/latex/contrib/l3kernel/l3news11.pdf and b/macros/latex/contrib/l3kernel/l3news11.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf index bcdf74f1fc..6de636c397 100644 Binary files a/macros/latex/contrib/l3kernel/l3news12.pdf and b/macros/latex/contrib/l3kernel/l3news12.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/contrib/l3kernel/l3pdf.dtx index ad5331e6d9..711a0356d4 100644 --- a/macros/latex/contrib/l3kernel/l3pdf.dtx +++ b/macros/latex/contrib/l3kernel/l3pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf index 76d1d9033f..1109d4214a 100644 Binary files a/macros/latex/contrib/l3kernel/l3prefixes.pdf and b/macros/latex/contrib/l3kernel/l3prefixes.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx index a38c870780..9d93c1ba4c 100644 --- a/macros/latex/contrib/l3kernel/l3prg.dtx +++ b/macros/latex/contrib/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx index eb283e133d..cde6c2e9b5 100644 --- a/macros/latex/contrib/l3kernel/l3prop.dtx +++ b/macros/latex/contrib/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx index 7d8d73af98..9f23be6c1c 100644 --- a/macros/latex/contrib/l3kernel/l3quark.dtx +++ b/macros/latex/contrib/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx index 4313a8d556..a9388f5983 100644 --- a/macros/latex/contrib/l3kernel/l3regex.dtx +++ b/macros/latex/contrib/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx index fb61c51d2f..18a0e3ede9 100644 --- a/macros/latex/contrib/l3kernel/l3seq.dtx +++ b/macros/latex/contrib/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx index dd32c108e7..41b0811306 100644 --- a/macros/latex/contrib/l3kernel/l3skip.dtx +++ b/macros/latex/contrib/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx index 847d821745..42350bbacb 100644 --- a/macros/latex/contrib/l3kernel/l3sort.dtx +++ b/macros/latex/contrib/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx index 28d441bd49..fdad7cda0f 100644 --- a/macros/latex/contrib/l3kernel/l3str-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx @@ -32,7 +32,7 @@ % % % \title{^^A -% The \textsf{l3str-convert} package: string encoding conversions^^A +% The \textsf{l3str-convert} package: String encoding conversions^^A % } % % \author{^^A @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx index caadc5f874..55f9bd7f6c 100644 --- a/macros/latex/contrib/l3kernel/l3str.dtx +++ b/macros/latex/contrib/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf index eb33e858bf..be3d8f1838 100644 Binary files a/macros/latex/contrib/l3kernel/l3styleguide.pdf and b/macros/latex/contrib/l3kernel/l3styleguide.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex index 3410b68916..93da6a38a6 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.tex +++ b/macros/latex/contrib/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2023-02-02} +\date{Released 2023-02-07} \begin{document} diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf index e3e0b9100b..2a250fbb38 100644 Binary files a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf and b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex index 78f9205600..dfc0ec169e 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2023-02-02} +\date{Released 2023-02-07} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx index 7584376c31..006f044bd0 100644 --- a/macros/latex/contrib/l3kernel/l3sys.dtx +++ b/macros/latex/contrib/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf index 74004efcf3..52b130b915 100644 Binary files a/macros/latex/contrib/l3kernel/l3term-glossary.pdf and b/macros/latex/contrib/l3kernel/l3term-glossary.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex index e6e9b82093..d0ed2cadb5 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.tex +++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2023-02-02} +\date{Released 2023-02-07} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx index 6eded32a30..72ecd8c335 100644 --- a/macros/latex/contrib/l3kernel/l3text-case.dtx +++ b/macros/latex/contrib/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -1124,12 +1124,6 @@ % Handling the \emph{ypogegrammeni} output depends on the selected approach % \begin{macrocode} \cs_new:Npn \@@_change_case_upper_el_ypogegrammeni:n #1 - { - \@@_change_case_codepoint:nn { upper } {#1} - \codepoint_generate:nn { "0399 } - { \char_value_catcode:n { "0399 } } - } -\cs_new:cpn { @@_change_case_upper_el-x-iota_ypogegrammeni:n } #1 { \int_case:nnF { \@@_codepoint_from_chars:Nw #1 } @@ -1145,6 +1139,12 @@ } \cs_new:Npn \@@_change_case_upper_el_ypogegrammeni_aux:n #1 { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } } +\cs_new:cpn { @@_change_case_upper_el-x-iota_ypogegrammeni:n } #1 + { + \@@_change_case_codepoint:nn { upper } {#1} + \codepoint_generate:nn { "0399 } + { \char_value_catcode:n { "0399 } } + } % \end{macrocode} % For clearing out trailing combining marks after we have dealt with % the first one. diff --git a/macros/latex/contrib/l3kernel/l3text-map.dtx b/macros/latex/contrib/l3kernel/l3text-map.dtx index e170a00a5d..9b8a706db4 100644 --- a/macros/latex/contrib/l3kernel/l3text-map.dtx +++ b/macros/latex/contrib/l3kernel/l3text-map.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx index 5ad506e3cb..01b69e2e95 100644 --- a/macros/latex/contrib/l3kernel/l3text-purify.dtx +++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -464,40 +464,15 @@ % gets converted to two letters. (At some stage an alternative version % can presumably be added to \pkg{babel} or similar.) % \begin{macrocode} -\bool_lazy_or:nnTF - { \sys_if_engine_luatex_p: } - { \sys_if_engine_xetex_p: } +\cs_set_protected:Npn \@@_loop:Nn #1#2 { - \cs_set_protected:Npn \@@_loop:Nn #1#2 + \quark_if_recursion_tail_stop:N #1 + \text_declare_purify_equivalent:Nx #1 { - \quark_if_recursion_tail_stop:N #1 - \text_declare_purify_equivalent:Nx #1 - { - \char_generate:nn { "#2 } - { \char_value_catcode:n { "#2 } } - } - \@@_loop:Nn - } - } - { - \cs_set_protected:Npn \@@_loop:Nn #1#2 - { - \quark_if_recursion_tail_stop:N #1 - \text_declare_purify_equivalent:Nx #1 - { - \exp_args:Ne \@@_tmp:n - { \__kernel_codepoint_to_bytes:n { "#2 } } - } - \@@_loop:Nn - } - \cs_set:Npn \@@_tmp:n #1 { \@@_tmp:nnnn #1 } - \cs_set:Npn \@@_tmp:nnnn #1#2#3#4 - { - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#1} { 13 } - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#2} { 13 } + \codepoint_generate:nn {"#2} + { \char_value_catcode:n {"#2} } } + \@@_loop:Nn } \@@_loop:Nn \AA { 00C5 } @@ -547,7 +522,7 @@ \exp_not:v { c_@@_purify_ \token_to_str:N #1 _tl } } } -\tl_map_inline:Nn \l_text_accents_tl +\tl_map_inline:nn { \` \' \^ \~ \= \u \. \" \r \H \v \d \c \k \b \t } { \text_declare_purify_equivalent:Nn #1 { \@@_purify_accent:NN #1 } } % \end{macrocode} % First set up the combining accents. @@ -557,34 +532,9 @@ { \quark_if_recursion_tail_stop:N #1 \tl_const:cx { c_@@_purify_ \token_to_str:N #1 _tl } - { \@@_tmp:n {#2} } + { \codepoint_generate:nn {"#2} { \char_value_catcode:n { "#2 } } } \@@_loop:Nn } - \bool_lazy_or:nnTF - { \sys_if_engine_luatex_p: } - { \sys_if_engine_xetex_p: } - { - \cs_set:Npn \@@_tmp:n #1 - { - \char_generate:nn { "#1 } - { \char_value_catcode:n { "#1 } } - } - } - { - \cs_set:Npn \@@_tmp:n #1 - { - \exp_args:Ne \@@_tmp_aux:n - { \__kernel_codepoint_to_bytes:n { "#1 } } - } - \cs_set:Npn \@@_tmp_aux:n #1 { \@@_tmp:nnnn #1 } - \cs_set:Npn \@@_tmp:nnnn #1#2#3#4 - { - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#1} { 13 } - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#2} { 13 } - } - } \@@_loop:Nn \` { 0300 } \' { 0301 } @@ -617,7 +567,7 @@ \quark_if_recursion_tail_stop:N #1 \tl_const:cx { c_@@_purify_ \token_to_str:N #1 _ \token_to_str:N #2 _tl } - { \@@_tmp:n {#3} } + { \codepoint_generate:nn {"#3} { \char_value_catcode:n { "#3 } } } \@@_loop:NNn } \@@_loop:NNn diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index b651674006..c9121e6750 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -31,7 +31,7 @@ % \fi % % \title{^^A -% The \textsf{l3text} package: text processing^^A +% The \textsf{l3text} package: Text processing^^A % } % % \author{^^A @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % @@ -58,7 +58,8 @@ % % \section{Expanding text} % -% \begin{function}[EXP, added = 2020-01-02]{\text_expand:n} +% \begin{function}[EXP, added = 2020-01-02, updated = 2023-02-07] +% {\text_expand:n} % \begin{syntax} % \cs{text_expand:n} \Arg{text} % \end{syntax} @@ -69,8 +70,7 @@ % \cs{l_text_math_delims_tl} or as the argument to commands listed % in \cs{l_text_math_arg_tl}). Commands which are neither engine- % nor \LaTeX{} protected are expanded exhaustively. -% Any commands listed in \cs{l_text_expand_exclude_tl}, -% \cs{l_text_accents_tl} and \cs{l_text_letterlike_tl} are excluded from +% Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from % expansion. % \end{function} % @@ -84,7 +84,11 @@ % \end{syntax} % Declares that the \meta{replacement} tokens should be used whenever the % \meta{cmd} (a single token) is encountered. The \meta{replacement} tokens -% should be expandable. +% should be expandable. A token can be \enquote{replaced} by itself if +% the defined replacement wraps it in \cs{exp_not:n}, for example +% \begin{verbatim} +% \text_declare_expand_equivalent:Nn \' { \exp_not:n { \' } } +% \end{verbatim} % \end{function} % % \section{Case changing} @@ -165,8 +169,9 @@ % \item Greek (\texttt{el}). % Removes accents from Greek letters when uppercasing; titlecasing % leaves accents in place. A variant \texttt{el-x-iota} is available -% which retains the \textit{ypogegrammeni} (subscript muted iota) -% when uppercasing: the standard version converts these to a following +% which converts the \textit{ypogegrammeni} (subscript muted iota) +% to capital iota when uppercasing: the standard version retains the +% subscript versions. % capital iota. % \item Lithuanian (\texttt{lt}). % The lowercase letters i and j should retain a dot above when the @@ -255,16 +260,6 @@ % % \section{Control variables} % -% \begin{variable}{\l_text_accents_tl} -% Lists commands which represent accents, and which are left unchanged -% by expansion. (Defined only for the \LaTeXe{} package.) -% \end{variable} -% -% \begin{variable}{\l_text_letterlike_tl} -% Lists commands which represent letters; these are left unchanged by -% expansion. (Defined only for the \LaTeXe{} package.) -% \end{variable} -% % \begin{variable}{\l_text_math_arg_tl} % Lists commands present in the \meta{text} where the argument of the % command should be treated as math mode material. The treatment here is @@ -794,27 +789,10 @@ % \subsection{Configuration variables} % % \begin{variable}{\l_text_accents_tl, \l_text_letterlike_tl} -% Special cases for accents and letter-like symbols, which in some cases will -% need to be converted further. +% Used to be used for excluding these ideas from expansion: now deprecated. % \begin{macrocode} \tl_new:N \l_text_accents_tl -\tl_set:Nn \l_text_accents_tl - { \` \' \^ \~ \= \u \. \" \r \H \v \d \c \k \b \t } \tl_new:N \l_text_letterlike_tl -\tl_set:Nn \l_text_letterlike_tl - { - \AA \aa - \AE \ae - \DH \dh - \DJ \dj - \IJ \ij - \L \l - \NG \ng - \O \o - \OE \oe - \SS \ss - \TH \th - } % \end{macrocode} % \end{variable} % @@ -1513,6 +1491,28 @@ % \end{macrocode} % \end{macro} % +% Prevent expansion of various standard values. +% \begin{macrocode} +\tl_map_inline:nn + { \` \' \^ \~ \= \u \. \" \r \H \v \d \c \k \b \t } + { \text_declare_expand_equivalent:Nn #1 { \exp_not:n {#1} } } +\tl_map_inline:nn + { + \AA \aa + \AE \ae + \DH \dh + \DJ \dj + \IJ \ij + \L \l + \NG \ng + \O \o + \OE \oe + \SS \ss + \TH \th + } + { \text_declare_expand_equivalent:Nn #1 { \exp_not:n {#1} } } +% \end{macrocode} +% % \begin{macrocode} % % \end{macrocode} diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx index 5a15396013..6789869b12 100644 --- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx +++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx index c7506c3389..607298dae9 100644 --- a/macros/latex/contrib/l3kernel/l3tl.dtx +++ b/macros/latex/contrib/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx index cb080df9e0..42efb7c938 100644 --- a/macros/latex/contrib/l3kernel/l3token.dtx +++ b/macros/latex/contrib/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx index 7cdc28d3c7..425fd5cf07 100644 --- a/macros/latex/contrib/l3kernel/l3unicode.dtx +++ b/macros/latex/contrib/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-02-02} +% \date{Released 2023-02-07} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf index 8c50e540dd..5d4e061c78 100644 Binary files a/macros/latex/contrib/l3kernel/source3.pdf and b/macros/latex/contrib/l3kernel/source3.pdf differ diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex index fb2ae94400..c30527964b 100644 --- a/macros/latex/contrib/l3kernel/source3.tex +++ b/macros/latex/contrib/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2023-02-02} +\date{Released 2023-02-07} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md index dd6e4ddb0b..6340136c0b 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md +++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md @@ -5,7 +5,16 @@ first release 0.95a, 2021-02-23 will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), this project uses date-based 'snapshot' version identifiers. -## [2022-11-03] +## [2023-02-07] + +### Fixed + - pdf A4 uses pdfaid:rev not pdfaid:year. + - pdfcreationdate and pdfmoddate key + +### Added + - firstaid support for luacolor (pdfmode) + +## [2022-11-03] ### Added - ltdocinit: expl3 functions to retrieve values from the document properties. diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md index 3431370418..51efd816a5 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/README.md +++ b/macros/latex/contrib/pdfmanagement-testphase/README.md @@ -1,6 +1,6 @@ # LaTeX PDF management testphase bundle -Version: 0.95t, 2022-11-03 +Version: 0.95u, 2023-02-07 This package is used during a test phase to load the new PDF management code of LaTeX. diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty index 582203d369..e6464c3527 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty @@ -24,7 +24,7 @@ %% This file has the LPPL maintenance status "maintained". %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{color-ltx}[2022-11-03 v0.95t +\ProvidesPackage{color-ltx}[2023-02-07 v0.95u Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)] \edef\Gin@codes{% \catcode`\noexpand\^^A\the\catcode`\^^A\relax diff --git a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty index 0a9f312282..b9c37a0869 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty @@ -19,7 +19,7 @@ % % for those people who are interested. \NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2022-11-03}{0.95t} +\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2023-02-07}{0.95u} {temporay patches to for the colorspace package to test pdfresource management ... UF} % colorspace can define more models, that l3color can't yet handle. diff --git a/macros/latex/contrib/pdfmanagement-testphase/fontspec-luatex-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/fontspec-luatex-tmp-ltx.sty index eef806874c..d58ac829fd 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/fontspec-luatex-tmp-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/fontspec-luatex-tmp-ltx.sty @@ -40,7 +40,7 @@ \RequirePackage{xparse} \ProvidesExplPackage{fontspec-luatex-tmp-ltx}% - {2022/01/15}{2022-11-03}{0.95t} + {2022/01/15}{2023-02-07}{0.95u} %%^^A%% fontspec-code-load.dtx -- part of FONTSPEC %%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx index f8f939c1d1..0a80dc1bda 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx @@ -82,7 +82,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -969,7 +969,7 @@ %<@@=hyp> % \end{macrocode} % \begin{macrocode} -\ProvidesFile{hgeneric-testphase.def}[2022-11-03 v0.95t % +\ProvidesFile{hgeneric-testphase.def}[2023-02-07 v0.95u % generic Hyperref driver for the LaTeX PDF management testphase bundle] \RequirePackage{etoolbox} %why? @@ -3940,7 +3940,7 @@ \pdfmanagement_add:nnx {Info}{#2}{(##1)} } \@@_store_metadata:nn {pdf#1}{##1} - \AddToDocumentProperties[document]{#1}{#2} + \AddToDocumentProperties[document]{#1}{##1} } } \keys_define:nn { hyp / info } diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf index 7de3a1192a..050ce269eb 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf and b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx index f1d4085ac2..d6c6c742c8 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx @@ -45,7 +45,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % @@ -56,27 +56,27 @@ % \begin{macrocode} %\ProvidesExplFile %<*dvipdfmx> - {l3backend-testphase-dvipdfmx.def}{2022-11-03}{} + {l3backend-testphase-dvipdfmx.def}{2023-02-07}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx} % %<*dvips> - {l3backend-testphase-dvips.def}{2022-11-03}{} + {l3backend-testphase-dvips.def}{2023-02-07}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvips} % %<*dvisvgm> - {l3backend-testphase-dvisvgm.def}{2022-11-03}{} + {l3backend-testphase-dvisvgm.def}{2023-02-07}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm} % %<*luatex> - {l3backend-testphase-luatex.def}{2022-11-03}{} + {l3backend-testphase-luatex.def}{2023-02-07}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)} % %<*pdftex> - {l3backend-testphase-pdftex.def}{2022-11-03}{} + {l3backend-testphase-pdftex.def}{2023-02-07}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)} % %<*xdvipdfmx> - {l3backend-testphase-xetex.def}{2022-11-03}{} + {l3backend-testphase-xetex.def}{2023-02-07}{} {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX} % % \end{macrocode} @@ -2001,8 +2001,8 @@ %<*drivers> \pdfmanagement_add:nnn{Info}{CreationDate}{(D:20010101205959-00'00')} \pdfmanagement_add:nnn{Info}{ModDate}{(D:20010101205959-00'00')} - \AddToDocumentProperties[document]{pdfcreationdate}{D:20010101205959-00'00'} - \AddToDocumentProperties[document]{pdfmoddate}{D:20010101205959-00'00'} + \AddToDocumentProperties[document]{creationdate}{D:20010101205959-00'00'} + \AddToDocumentProperties[document]{moddate}{D:20010101205959-00'00'} \AddToDocumentProperties[hyperref]{pdfmetadate}{D:20010101205959-00'00'} \AddToDocumentProperties[hyperref]{pdfdate}{D:20010101205959-00'00'} \AddToDocumentProperties[hyperref]{pdfinstanceid}{uuid:0a57c455-157a-4141-8c19-6237d832fc80} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf index 7d24551cff..9bace5d9c8 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx index c42ad3d6dc..b34c9610fd 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -432,7 +432,7 @@ % \begin{macrocode} %<@@=pdfannot> %<*header> -\ProvidesExplPackage{l3pdfannot}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdfannot}{2023-02-07}{0.95u} {PDF-annotations} \RequirePackage{l3pdfdict} % diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf index b8669c8b52..8b8e35a3b4 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx index a5c5681945..e8bc32484a 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -208,7 +208,7 @@ % \begin{macrocode} %<@@=pdfdict> %<*header> -\ProvidesExplPackage{l3pdfdict}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdfdict}{2023-02-07}{0.95u} {Tools for PDF dictionaries (LaTeX PDF management testphase bundle)} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf index a9df422a86..e83d445c94 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx index f7d13de933..96855a08c2 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf index 3f9175847c..bebc9d08d4 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx index f348aba947..5fba604620 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx @@ -64,7 +64,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf index 863325d9d2..466fd5a705 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx index 4fa78b0a70..3c0541b947 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -428,7 +428,7 @@ % ,\tl_to_str:n % ,\use:c % } -% \section{\pkg{l3pdffield-radiobutton} Implementation} +% \section{\pkg{l3pdffield-choice} Implementation} % \begin{macrocode} %<*package> %<@@=pdffield> diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf index 052361aea2..d506fa15f4 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx index f8f8b7ef12..a078ea2fb8 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx @@ -55,7 +55,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf index 35dd709ee9..853f8adaa9 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx index a698c52cc4..36ab234bbf 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx @@ -83,7 +83,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf index 48a75e5371..838b411c46 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx index 350a263a81..ecf4211755 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf index 59554bbaa1..5c4e030d3e 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx index 6737658cb8..3bc48a0cb4 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx @@ -69,7 +69,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -973,7 +973,7 @@ %<*package> %<@@=pdffield> \NeedsTeXFormat{LaTeX2e} -\ProvidesExplPackage{l3pdffield-testphase}{2022-11-03}{0.95t}% +\ProvidesExplPackage{l3pdffield-testphase}{2023-02-07}{0.95u}% {form fields} % \end{macrocode} % \subsection{hyperref specific command} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf index c2ceb53f6a..60b5c4d669 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx index 54d84d08b5..e682ad4e10 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -396,7 +396,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdffile}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdffile}{2023-02-07}{0.95u} {embedding and referencing files in PDF---LaTeX PDF management testphase bundle} \RequirePackage{l3pdftools} %temporarly!! % diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf index 654b7ebd79..074a7ada21 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx index f391e0fd98..a9c96844d9 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx @@ -57,7 +57,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -632,7 +632,7 @@ %<@@=pdfmanagement> %<*header> % -\ProvidesExplPackage{l3pdfmanagement}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdfmanagement}{2023-02-07}{0.95u} {Management of core PDF dictionaries (LaTeX PDF management testphase bundle)} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf index 082ae161ed..1466bb0a6f 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx index 32cfb038db..be0db1b9f3 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -562,7 +562,7 @@ % \begin{macrocode} %<@@=pdfmeta> %<*header> -\ProvidesExplPackage{l3pdfmeta}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdfmeta}{2023-02-07}{0.95u} {PDF-Standards---LaTeX PDF management testphase bundle} % % \end{macrocode} @@ -2156,14 +2156,14 @@ % CreationDate % \begin{macrocode} \@@_xmp_date_get:nNN - {document/pdfcreationdate}\l_@@_tmpa_tl\l_@@_tmpa_seq + {document/creationdate}\l_@@_tmpa_tl\l_@@_tmpa_seq \@@_xmp_add_packet_line:nne{xmp}{CreateDate}{\@@_xmp_print_date:N\l_@@_tmpa_seq} \pdfmanagement_add:nnx{Info}{CreationDate}{(\l_@@_tmpa_tl)} % \end{macrocode} % ModifyDate % \begin{macrocode} \@@_xmp_date_get:nNN - {document/pdfmoddate}\l_@@_tmpa_tl\l_@@_tmpa_seq + {document/moddate}\l_@@_tmpa_tl\l_@@_tmpa_seq \@@_xmp_add_packet_line:nne{xmp}{ModifyDate}{\@@_xmp_print_date:N\l_@@_tmpa_seq} \pdfmanagement_add:nnx{Info}{ModDate}{(\l_@@_tmpa_tl)} % \end{macrocode} @@ -2191,8 +2191,10 @@ { \@@_xmp_add_packet_line:nne {pdfaid}{part}{\pdfmeta_standard_item:n{level}} \@@_xmp_add_packet_line:nne - {pdfaid}{conformance}{\pdfmeta_standard_item:n{conformance}} - \@@_xmp_add_packet_line:nne {pdfaid}{year} {\pdfmeta_standard_item:n{year}} + {pdfaid}{conformance}{\pdfmeta_standard_item:n{conformance}} + \int_compare:nNnTF {0\pdfmeta_standard_item:n{level}}<{4} + {\@@_xmp_add_packet_line:nne {pdfaid}{year} {\pdfmeta_standard_item:n{year}}} + {\@@_xmp_add_packet_line:nne {pdfaid}{rev} {\pdfmeta_standard_item:n{year}}} \@@_xmp_add_packet_line:nne {pdfxid}{GTS_PDFXVersion}{\GetDocumentProperties{document/pdfstandard-X}} \@@_xmp_add_packet_line:nne diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf index 27f0243093..f13004eea6 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx index 0cce54f81b..9609617ddc 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -211,7 +211,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdftools}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdftools}{2023-02-07}{0.95u} {candidate commands for l3pdf---LaTeX PDF management testphase bundle} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf index d998b8d767..01556046ec 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx index 1da25fb12f..3f6350f95f 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -132,7 +132,7 @@ % \begin{macrocode} %<@@=pdf> %<*header> -\ProvidesExplPackage{l3pdfxform}{2022-11-03}{0.95t} +\ProvidesExplPackage{l3pdfxform}{2023-02-07}{0.95u} {command to create xforms (beta)---LaTeX PDF management testphase bundle} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf index 5396976ad4..87ced6bc38 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx index 8456882f17..ada32d8d2f 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -215,7 +215,7 @@ % \begin{macrocode} %<@@=pdfmanagement> %<*header> -\ProvidesExplPackage{ltdocinit}{2022-11-03}{0.95t} +\ProvidesExplPackage{ltdocinit}{2023-02-07}{0.95u} {Initialize document metadata} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf index bdf6fb8dc0..882188cde8 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf and b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf index da529c2630..7d24fbf133 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf and b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx index 45174deaae..2025a4fa18 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -63,11 +63,13 @@ % |debug={firstaidoff={name1,name2,...},...}|. % \begin{macrocode} %<*package> -\ProvidesExplPackage{pdfmanagement-firstaid}{2022-11-03}{0.95t} +\ProvidesExplPackage{pdfmanagement-firstaid}{2023-02-07}{0.95u} {LaTeX PDF management testphase bundle / firstaid-patches} %<@@=pdfmanagement> -\clist_map_inline:nn {pgf,transparent,xmp,pdflscape,xcolor,color,beamer,output,colorspace,fontspec} +\clist_map_inline:nn + {pgf,transparent,xmp,pdflscape,xcolor,color, + beamer,output,colorspace,fontspec,luacolor} { \bool_new:c { g_@@_firstaid_#1_bool } \bool_gset_true:c { g_@@_firstaid_#1_bool } @@ -195,6 +197,65 @@ {\RequirePackage{xcolor-patches-tmp-ltx}} } % \end{macrocode} +% +% \subsection{luacolor} +% +% The luacolor package doesn't take colors from l3color into account. +% We add a fix, but only for pdf mode. It is disable if luacolor is updated, +% assuming that the update will then handle it (or expl3 directly) +% \begin{macrocode} +\bool_lazy_all:nT + { + {\sys_if_engine_luatex_p:} + {\g_@@_firstaid_luacolor_bool} + {\sys_if_output_pdf_p:} + } + { + \AddToHook{package/luacolor/after} + { + \@ifpackagelater{luacolor}{2021-02-18}{} + { + \cs_set_protected:Npn \__color_backend_select:nn #1#2 + { + \tl_set:Nn \l__color_backend_fill_tl {#1} + \tl_set:Nn \l__color_backend_stroke_tl {#2} + \LuaCol@setattribute\LuaCol@Attribute + { + \directlua + { + oberdiek.luacolor.get("\luaescapestring{#1~#2}") + } + } + } + \cs_set_protected:Npn \__color_backend_fill:n #1 + { + \tl_set:Nn \l__color_backend_fill_tl {#1} + \LuaCol@setattribute\LuaCol@Attribute + { + \directlua + { + oberdiek.luacolor.get("\luaescapestring{#1}") + } + } + } + \cs_set_protected:Npn \__color_backend_stroke:n #1 + { + \tl_set:Nn \l__color_backend_stroke_tl {#1} + \LuaCol@setattribute\LuaCol@Attribute + { + \directlua + { + oberdiek.luacolor.get("\luaescapestring{#1}") + } + } + } + \cs_set_protected:Npn \__color_backend_reset: {} + \cs_set_eq:NN \__color_backend_fill_reset: \__color_backend_reset: + \cs_set_eq:NN \__color_backend_stroke_reset: \__color_backend_reset: + } + } + } +% \end{macrocode} % \subsection{\pkg{pgf}} % % In \pkg{pgf}, resource management is set up in the file |pgfutil-common.tex|. diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf index 46da216155..b1cd065bde 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf and b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx index e9b145d964..8110f77cba 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.95t, released 2022-11-03} +% \date{Version 0.95u, released 2023-02-07} % % \maketitle % \begin{documentation} @@ -386,7 +386,7 @@ % \begin{macrocode} %<@@=pdf> %<*package> -\ProvidesExplPackage{pdfmanagement-testphase}{2022-11-03}{0.95t} +\ProvidesExplPackage{pdfmanagement-testphase}{2023-02-07}{0.95u} {LaTeX PDF management testphase bundle} \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} \IfFormatAtLeastTF{2020-10-01}{}{ @@ -414,7 +414,7 @@ % to allow to set it in the document. % \begin{macrocode} %<*header> -\ProvidesExplFile{pdfmanagement-testphase.ltx}{2022-11-03}{0.95t} +\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-02-07}{0.95u} {PDF~management~code~(testphase)} % %<*package> diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf index a0461cad30..39df81d3ba 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf and b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf differ diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty index ed93544f26..9ef9dcce2d 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty @@ -1,6 +1,6 @@ %% LaTeX2e file `xcolor-patches.sty' %% -\ProvidesPackage{xcolor-patches-tmp-ltx}[2022-11-03 v0.95t patch xcolor for l3color] +\ProvidesPackage{xcolor-patches-tmp-ltx}[2023-02-07 v0.95u patch xcolor for l3color] \@ifundefined{color_set:nn}{\RequirePackage{l3color}}{} \ExplSyntaxOn diff --git a/macros/latex/contrib/physics2/doc/phy2docdef.tex b/macros/latex/contrib/physics2/doc/phy2docdef.tex index 55ee148034..d5d0699a76 100644 --- a/macros/latex/contrib/physics2/doc/phy2docdef.tex +++ b/macros/latex/contrib/physics2/doc/phy2docdef.tex @@ -64,7 +64,7 @@ \newenvironment{example} {\stepcounter{example}\example@start}{\example@end} \author{Zhang Tingxuan} -\date{2023/01/25\quad Version 0.1\thanks{% +\date{2023/02/07\quad Version 0.1.1\thanks{% \url{https://www.github.com/AlphaZTX/physics2}}} \makeatother \endinput \ No newline at end of file diff --git a/macros/latex/contrib/physics2/doc/physics2-legacy.pdf b/macros/latex/contrib/physics2/doc/physics2-legacy.pdf index 5a2d78c54d..796463ab07 100644 Binary files a/macros/latex/contrib/physics2/doc/physics2-legacy.pdf and b/macros/latex/contrib/physics2/doc/physics2-legacy.pdf differ diff --git a/macros/latex/contrib/physics2/doc/physics2.pdf b/macros/latex/contrib/physics2/doc/physics2.pdf index a997e2da85..a5721ef991 100644 Binary files a/macros/latex/contrib/physics2/doc/physics2.pdf and b/macros/latex/contrib/physics2/doc/physics2.pdf differ diff --git a/macros/latex/contrib/physics2/tex/phy-ab.braket.sty b/macros/latex/contrib/physics2/tex/phy-ab.braket.sty index 4e3ab66141..a65ce94bc5 100644 --- a/macros/latex/contrib/physics2/tex/phy-ab.braket.sty +++ b/macros/latex/contrib/physics2/tex/phy-ab.braket.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-ab.braket.sty} - [2023/1/25 `ab.braket' module of `physics2.sty'] + [2023/01/25 `ab.braket' module of `physics2.sty'] % This module requires \phy@abopen and \phy@abclose from `ab'. \phy@requiremodule{ab} \ifdefined\phy@bra@@ diff --git a/macros/latex/contrib/physics2/tex/phy-ab.legacy.sty b/macros/latex/contrib/physics2/tex/phy-ab.legacy.sty index 018f221997..d21e52f5d1 100644 --- a/macros/latex/contrib/physics2/tex/phy-ab.legacy.sty +++ b/macros/latex/contrib/physics2/tex/phy-ab.legacy.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-ab.legacy.sty} - [2023/1/25 `ab.legacy' module of `physics2.sty'] + [2023/01/25 `ab.legacy' module of `physics2.sty'] \phy@requiremodule{ab} % The `tight' bool option, true or false. \phy@define@key{ab.legacy}{order}[\mathcal{O}]{\def\phy@ab@ordersym{#1}} diff --git a/macros/latex/contrib/physics2/tex/phy-ab.sty b/macros/latex/contrib/physics2/tex/phy-ab.sty index 9bf477804f..089d01b53c 100644 --- a/macros/latex/contrib/physics2/tex/phy-ab.sty +++ b/macros/latex/contrib/physics2/tex/phy-ab.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-ab.sty} - [2023/1/25 `ab' (autobraces) module of `physics2.sty'] + [2023/02/07 `ab' (autobraces) module of `physics2.sty'] % \phy@requiremodule{common} % The `tightbraces' bool option, true or false. \phy@define@key{ab}{tightbraces}[true]{\def\@phy@abtight{#1}} @@ -67,15 +67,16 @@ \expandafter\def\csname phy@del\string\biggg\endcsname#1#2#3{\bigggl#1#3\bigggr#2} \expandafter\def\csname phy@del\string\Biggg\endcsname#1#2#3{\Bigggl#1#3\Bigggr#2} % \phy@AB@gb(a|b|..): gobble (a|b|..) arguments in the middle. -\def\phy@AB@gba#1#2#3{#1#3} -% In next two lines, #5 or #6 may contain more than one token, so they're grouped. \def\phy@AB@gbc#1#2#3#4#5{#1{#5}} -\def\phy@AB@gbd#1#2#3#4#5#6{#1{#6}} % \phy@d@lx (phy_del_x): the internal defination of \ab. % #1: `mb', according to \phy@AB@gen; #2: `ab'; #3: star or big or left delimiter. -\def\phy@d@lx#1#2#3{\ifcsname phy@del\string#3\endcsname - \phy@AB@gbd{\csname phy@d@lx#1\endcsname#3}% #3 is star or biggg, then get the next argument. - \else\phy@AB@gba{\csname phy@d@lx#2\endcsname#3}\fi}% #3 is delimiter, the braces are automatic. +\def\phy@d@lx#1#2#3{% + \ifcsname phy@del\string#3\endcsname% + \def\reserved@a{#1}% #3 is star or biggg, then get the next argument. + \else% + \def\reserved@a{#2}% #3 is delimiter, the braces are automatic. + \fi% + \csname phy@d@lx\reserved@a\endcsname#3} % The first two arguments of \phy@d@lx need to be generated by the following two commands. \def\phy@d@l@genxm#1{% generate arguments like `mb' \expandafter\def\csname phy@d@lx#1\endcsname##1##2{% diff --git a/macros/latex/contrib/physics2/tex/phy-bm-um.legacy.sty b/macros/latex/contrib/physics2/tex/phy-bm-um.legacy.sty index c97b925deb..36ffe206a6 100644 --- a/macros/latex/contrib/physics2/tex/phy-bm-um.legacy.sty +++ b/macros/latex/contrib/physics2/tex/phy-bm-um.legacy.sty @@ -16,7 +16,7 @@ %% %% The Current Maintainer of this work is Zhang Tingxuan. %% -\ProvidesExplFile{phy-bm-um.legacy.sty}{2023/1/25}{} +\ProvidesExplFile{phy-bm-um.legacy.sty}{2023/01/25}{} {`bm-um.legacy' module of `physics2.sty'} \AtBeginDocument { diff --git a/macros/latex/contrib/physics2/tex/phy-braket.sty b/macros/latex/contrib/physics2/tex/phy-braket.sty index 29c2656726..a6e88c13cc 100644 --- a/macros/latex/contrib/physics2/tex/phy-braket.sty +++ b/macros/latex/contrib/physics2/tex/phy-braket.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-braket.sty} - [2023/1/25 `braket' module of `physics2.sty'] + [2023/01/25 `braket' module of `physics2.sty'] % Here we need to get the definition of \phy@abopen and \phy@abclose. \phy@requiremodule{ab} \ifdefined\phy@abb@bkv diff --git a/macros/latex/contrib/physics2/tex/phy-common.sty b/macros/latex/contrib/physics2/tex/phy-common.sty index 1b0776a807..f20d258365 100644 --- a/macros/latex/contrib/physics2/tex/phy-common.sty +++ b/macros/latex/contrib/physics2/tex/phy-common.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-common.sty} - [2023/1/25 `common' module of `physics2.sty'] + [2023/01/25 `common' module of `physics2.sty'] % Check if `unicode-math' loaded and (re)define the vert symbols. % The `\relax'es here are for \ifx to compare. \AtBeginDocument{\ifcsname symrm\endcsname diff --git a/macros/latex/contrib/physics2/tex/phy-diagmat.sty b/macros/latex/contrib/physics2/tex/phy-diagmat.sty index c917f797b7..e90c99d928 100644 --- a/macros/latex/contrib/physics2/tex/phy-diagmat.sty +++ b/macros/latex/contrib/physics2/tex/phy-diagmat.sty @@ -16,7 +16,7 @@ %% %% The Current Maintainer of this work is Zhang Tingxuan. %% -\ProvidesExplFile{phy-diagmat.sty}{2023/1/25}{} +\ProvidesExplFile{phy-diagmat.sty}{2023/01/25}{} {`diagmat' module of `physics2.sty'} \phy@requiremodule { explsetup } \RequirePackage { amsmath } diff --git a/macros/latex/contrib/physics2/tex/phy-doubleprod.sty b/macros/latex/contrib/physics2/tex/phy-doubleprod.sty index e8981b8aa7..1888b6e70a 100644 --- a/macros/latex/contrib/physics2/tex/phy-doubleprod.sty +++ b/macros/latex/contrib/physics2/tex/phy-doubleprod.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-doubleprod.sty} - [2023/1/25 `doubleprod' (double binary) module of `physics2.sty'] + [2023/01/25 `doubleprod' (double binary) module of `physics2.sty'] % The options, true or false. \phy@define@key{doubleprod}{crosssymbol}{\def\@phy@dbl@c{#1}} \phy@define@key{doubleprod}{dotsymbol}{\def\@phy@dbl@d{#1}} diff --git a/macros/latex/contrib/physics2/tex/phy-explsetup.sty b/macros/latex/contrib/physics2/tex/phy-explsetup.sty index e4aa63c752..a861201f9a 100644 --- a/macros/latex/contrib/physics2/tex/phy-explsetup.sty +++ b/macros/latex/contrib/physics2/tex/phy-explsetup.sty @@ -16,7 +16,7 @@ %% %% The Current Maintainer of this work is Zhang Tingxuan. %% -\ProvidesExplFile{phy-explsetup.sty}{2023/1/25}{} +\ProvidesExplFile{phy-explsetup.sty}{2023/01/25}{} {`explsetup' module of `physics2.sty'} % temporary variables \int_new:N \l__phy_tmpa_int diff --git a/macros/latex/contrib/physics2/tex/phy-nabla.legacy.sty b/macros/latex/contrib/physics2/tex/phy-nabla.legacy.sty index d5d225afca..04d75d88fd 100644 --- a/macros/latex/contrib/physics2/tex/phy-nabla.legacy.sty +++ b/macros/latex/contrib/physics2/tex/phy-nabla.legacy.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-nabla.legacy.sty} - [2023/1/25 `nabla.legacy' (autobraces) module of `physics2.sty'] + [2023/01/25 `nabla.legacy' (autobraces) module of `physics2.sty'] \phy@requiremodule{ab} % This package required `fixdif' package version 2.x. \RequirePackage{fixdif}[2023/01/31] diff --git a/macros/latex/contrib/physics2/tex/phy-op.legacy.sty b/macros/latex/contrib/physics2/tex/phy-op.legacy.sty index 6125f370e3..ec7bd359d4 100644 --- a/macros/latex/contrib/physics2/tex/phy-op.legacy.sty +++ b/macros/latex/contrib/physics2/tex/phy-op.legacy.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-op.legacy.sty} - [2023/1/25 `op.legacy' module of `physics2.sty'] + [2023/01/25 `op.legacy' module of `physics2.sty'] \phy@define@key{op.lega}{ReIm}[true]{\def\phy@reserveda{#1}} % The keys for \PV and \pv \phy@define@key{op.lega}{PV}{\def\@phy@oplega@PV{#1}} diff --git a/macros/latex/contrib/physics2/tex/phy-qtext.legacy.sty b/macros/latex/contrib/physics2/tex/phy-qtext.legacy.sty index a6a3162fca..6ac0d250b0 100644 --- a/macros/latex/contrib/physics2/tex/phy-qtext.legacy.sty +++ b/macros/latex/contrib/physics2/tex/phy-qtext.legacy.sty @@ -17,7 +17,7 @@ %% The Current Maintainer of this work is Zhang Tingxuan. %% \ProvidesFile{phy-qtext.legacy.sty} - [2023/1/25 `qtext.legacy' module of `physics2.sty'] + [2023/01/25 `qtext.legacy' module of `physics2.sty'] \RequirePackage{amstext} \def\phy@qtext@#1#2{#1\text{#2}\quad} \DeclareRobustCommand\qqtext{\@ifstar{\phy@qtext@{}}{\phy@qtext@\quad}} diff --git a/macros/latex/contrib/physics2/tex/phy-xmat.sty b/macros/latex/contrib/physics2/tex/phy-xmat.sty index 7a0b2d33d3..9e7058b062 100644 --- a/macros/latex/contrib/physics2/tex/phy-xmat.sty +++ b/macros/latex/contrib/physics2/tex/phy-xmat.sty @@ -16,7 +16,7 @@ %% %% The Current Maintainer of this work is Zhang Tingxuan. %% -\ProvidesExplFile{phy-xmat.sty}{2023/1/25}{} +\ProvidesExplFile{phy-xmat.sty}{2023/01/25}{} {`xmat' module of `physics2.sty'} \phy@requiremodule { explsetup } \RequirePackage { amsmath } diff --git a/macros/latex/contrib/resolsysteme/README.md b/macros/latex/contrib/resolsysteme/README.md new file mode 100644 index 0000000000..d5227b9250 --- /dev/null +++ b/macros/latex/contrib/resolsysteme/README.md @@ -0,0 +1,7 @@ +ResolSysteme is a package to work with Linear Systems and matrix. +------------------------------------------------------------------------- +ResolSysteme est un package pour travailler avec des systèmes linéaires. +------------------------------------------------------------------------- +Author : Cédric Pierquet +email : cpierquet@outlook.fr +Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf new file mode 100644 index 0000000000..7e155db216 Binary files /dev/null and b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf differ diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex new file mode 100644 index 0000000000..143dd66394 --- /dev/null +++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex @@ -0,0 +1,626 @@ +% !TeX TXS-program:compile = txs:///arara +% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} +% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') + +\documentclass[a4paper,11pt]{article} +\def\TPversion{0.1.1} +\def\TPdate{7 Février 2023} +\usepackage[executable=python.exe]{pyluatex} +\usepackage[table,svgnames]{xcolor} +\usepackage{amsmath,amssymb} +\usepackage[bold-style=ISO,math-style=french]{unicode-math} +\setmainfont{TeX Gyre Schola} +\setmathfont{TeX Gyre Schola Math} +\usepackage[pyluatex]{ResolSysteme} +\usepackage{awesomebox} +\usepackage{fontawesome5} +\usepackage{systeme} +\usepackage{enumitem} +\usepackage{tabularray} +\usepackage{multicol} +\usepackage{fancyvrb} +\usepackage{fancyhdr} +\sisetup{locale=FR,output-decimal-marker={,}} +\fancyhf{} +\renewcommand{\headrulewidth}{0pt} +\lfoot{\sffamily\small [ResolSysteme]} +\cfoot{\sffamily\small - \thepage{} -} +\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} + +%\usepackage{hvlogos} +\usepackage{hologo} +\providecommand\tikzlogo{Ti\textit{k}Z} +\providecommand\TeXLive{\TeX{}Live\xspace} +\providecommand\PSTricks{\textsf{PSTricks}\xspace} +\let\pstricks\PSTricks +\let\TikZ\tikzlogo +\newcommand\TableauDocumentation{% + \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} + {\huge \LaTeX} & & & & &\\ + & {\huge \hologo{pdfLaTeX}} & & & & \\ + & & {\huge \hologo{LuaLaTeX}} & & & \\ + & & & {\huge \TikZ} & & \\ + & & & & {\huge \TeXLive} & \\ + & & & & & {\huge \hologo{MiKTeX}} \\ + \end{tblr} +} + +\usepackage{hyperref} +\urlstyle{same} +\hypersetup{pdfborder=0 0 0} +\usepackage[margin=1.5cm]{geometry} +\setlength{\parindent}{0pt} +\definecolor{LightGray}{gray}{0.9} + +\usepackage[french]{babel} + +\usepackage[most]{tcolorbox} +\tcbuselibrary{minted} +\NewTCBListing{PresentationCode}{ O{blue} m }{% + sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,% + colback=#1!1!white,colframe=#1!75!black,colbacklower=white,% + attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,% + boxed title style={% + colframe=#1!75!black,colback=#1!15!white,% + ,sharp corners=downhill,arc=12pt,% + },% + top=\baselineskip,% + fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,% + listing engine=minted,minted style=colorful, + minted language=tex,minted options={tabsize=4,fontsize=\small,autogobble}, + #2 +} + +\NewTCBListing{PresentationCodePython}{ O{DarkRed} m }{% + sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,% + colback=#1!1!white,colframe=#1!75!black,colbacklower=white,% + attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code Python,% + boxed title style={% + colframe=#1!75!black,colback=#1!15!white,% + ,sharp corners=downhill,arc=12pt,% + },% + fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,% + listing engine=minted,minted style=colorful, + minted language=python,minted options={tabsize=2,fontsize=\footnotesize,autogobble}, + #2 +} + +\newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}} + +\begin{document} + +\setlength{\aweboxleftmargin}{0.07\linewidth} +\setlength{\aweboxcontentwidth}{0.93\linewidth} +\setlength{\aweboxvskip}{8pt} + +\pagestyle{fancy} + +\thispagestyle{empty} + +\vspace{2cm} + +\begin{center} + \begin{minipage}{0.75\linewidth} + \begin{tcolorbox}[colframe=yellow,colback=yellow!15] + \begin{center} + \begin{tabular}{c} + {\Huge \texttt{ResolSysteme [fr]}}\\ + \\ + {\LARGE Des outils pour des} \\ + \\ + {\LARGE systèmes linéaires,} \\ + \\ + {\LARGE avec xint ou pyluatex.} \\ + \end{tabular} + + \bigskip + + {\small \texttt{Version \TPversion{} -- \TPdate}} + \end{center} + \end{tcolorbox} +\end{minipage} +\end{center} + +\vspace{0.5cm} + +\begin{center} + \begin{tabular}{c} + \texttt{Cédric Pierquet}\\ + {\ttfamily c pierquet -- at -- outlook . fr}\\ + \texttt{\url{https://github.com/cpierquet/ResolSysteme}} +\end{tabular} +\end{center} + +\vspace{0.25cm} + +{$\blacktriangleright$~~Des commandes pour travailler sur des matrices carrées (2x2, 3x3 ou 4x4).} + +\smallskip + +{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2x2, 3x3 ou 4x4).} + +\smallskip + +\vspace{1cm} + +\begin{center} + \begin{tcolorbox}[enhanced,colframe=ForestGreen,colback=lightgray!5,center,width=0.95\linewidth,drop fuzzy shadow=lightgray] + Le \textbf{déterminant} de $A=\begin{pNiceMatrix} -1&{0,5} \\ \frac12&4 \end{pNiceMatrix}$ est + $\det(A)=\DetMatrice[dec](-1,0.5 § 1/2,4)$. + + \medskip + + L'\textbf{inverse} de la matrice $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\-2&-3&-5&-6 \end{pNiceMatrix}$ est $A^{-1}=\MatriceInversePY*[n](1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$. + + \medskip + + La \textbf{solution} de $\systeme[xyzt]{y+z+t=1,x+z+t=-1,x+y+t=1,x+y+z=0}$ est $\mathcal{S}=\left\lbrace\SolutionSystemePY*[d](0,1,1,1 § 1,0,1,1 § 1,1,0,1 § 1,1,1,0)(1,-1,1,0)\right\rbrace$. + \end{tcolorbox} +\end{center} + +\vspace{0.5cm} + +%\hfill{}\textit{Merci aux membres du groupe \faFacebook{} du \og Coin \LaTeX{} \fg{} pour leur aide et leurs idées !} + +%\hfill{}\textit{Merci à Denis Bitouzé et à Patrick Bideault pour leurs retours et idées !} + +\vfill + +\hrule + +\medskip + +\TableauDocumentation + +\medskip + +\hrule + +\medskip + +\newpage + +\phantomsection +\hypertarget{matoc}{} + +\tableofcontents + +\newpage + +\part{Introduction} + +\section{Le package ResolSysteme} + +\subsection{Introduction} + +\begin{noteblock} +L'idée est de \textit{proposer} des outils pour travailler sur des systèmes linéaires (de taille réduite !) : + +\begin{itemize} + \item en affichant la \textbf{solution} (si elle existe) ; + \item en affichant le \textbf{déterminant} et l'éventuelle \textbf{inverse} de la matrice des coefficients. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{noteblock} + +\begin{importantblock} +À noter que les calculs -- en interne -- peuvent être effectués de deux manières : + +\begin{itemize} + \item via les packages \textsf{xint*} pour des formats \textbf{2x2} ou \textbf{3x3} ; + \item via \textsf{python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2x2}, \textbf{3x3} ou \textbf{4x4}. +\end{itemize} + +Il n'est pas prévu -- pour le moment -- de travailler sur des matrices/systèmes plus grands. +\end{importantblock} + +\begin{warningblock} +L'utilisation de \textsf{pyluatex} nécessite une compilation adaptée, à savoir en \hologo{LuaLaTeX} et en activant le mode \textsf{--shell-escape}. + +\smallskip + +La méthode par \textsf{python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé ! +\end{warningblock} + +\subsection{Packages utilisés, choix de formatage} + +\begin{noteblock} +Le package charge les packages suivantes : + +\begin{itemize} + \item \texttt{xintexpr} et \texttt{xinttools} ; + \item \texttt{sinuitx}, \texttt{nicefrac} et \texttt{nicematrix} ; + \item \texttt{xstring} et \texttt{listofitems}. +\end{itemize} + +Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} (obligatoire pour \textsf{pyluatex} !!) ou \textsf{xelatex}. +\end{noteblock} + +\begin{importantblock} +Les nombres sont formatés par la commande \texttt{\textbackslash num} de \textsf{sinuitx}, donc les options choisies par l'utilisateur se propageront aux résultats numériques. + +\smallskip + +L'affichage des matrices est gérée par le package \textsf{nicematrix}, et des options spécifiques \textit{simples} pourront être placées dans les différentes commandes. +\end{importantblock} + +\subsection{Chargement du package, et option} + +\begin{importantblock} +Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{python} est utilisé. +\end{importantblock} + +\begin{PresentationCode}{listing only} +%chargement du package sans passer par pyluatex, calculs via xint +\usepackage{ResolSysteme} +\end{PresentationCode} + +\begin{PresentationCode}{listing only} +%chargement du package pyluatex et du package avec [pyluatex] +\usepackage[options]{pyluatex} +\usepackage[pyluatex]{ResolSysteme} +\end{PresentationCode} + +\pagebreak + +\part{Commandes} + +\section{Une commande interne : écriture sous forme d'une fraction} + +\subsection{La commande} + +\begin{cautionblock} +En \textit{interne}, le code utilise une commande pour formater un résultat sous forme fractionnaire, avec gestion des entiers et gestion du signe \og $-$ \fg. +\end{cautionblock} + +\begin{PresentationCode}{listing only} +\ConvVersFrac(*)[option de formatage]{calcul} +\end{PresentationCode} + +\subsection{Utilisation} + +\begin{tipblock} +Concernant cette commande, qui est dans un bloc \texttt{ensuremath} : + +\begin{itemize} + \item la version \textit{étoilée} force l'écriture du signe \og $-$ \fg{} avant l'éventuelle fraction ; + \item le premier argument, \textit{optionnel} et entre \textsf{[...]} permet de spécifier un formatage du résultat : + \begin{itemize} + \item \Cle{t} pour l'affichage de la fraction en mode \textsf{tfrac} ; + \item \Cle{d} pour l'affichage de la fraction en mode \textsf{dfrac} ; + \item \Cle{n} pour l'affichage de la fraction en mode \textsf{nicefrac} ; + \item \Cle{dec} pour l'affichage du résultat en mode \texttt{décimal} (sans arrondi !) ; + \item \Cle{dec=k} pour l'affichage du résultat en mode \texttt{décimal} arrondi à $10^{-k}$ ; + \end{itemize} + \item le second argument, \textit{obligatoire}, est quant à lui, le calcul en syntaxe \textsf{xint}. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{tipblock} + +\begin{PresentationCode}{listing only} +\ConvVersFrac{-10+1/3*(-5/16)} %sortie par défaut (fraction avec - sur numérateur) + +\ConvVersFrac*{-10+1/3*(-5/16)} %sortie avec - avant la fraction + +\ConvVersFrac*[d]{-10+1/3*(-5/16)} %sortie en displaystyle + +\ConvVersFrac[n]{-10+1/3*(-5/16)} %sortie en nicefrac + +\ConvVersFrac[dec=4]{-10+1/3*(-5/16)} %sortie en décimal arrondi à 0,0001 + +\ConvVersFrac{2+91/7} %entier correctement formaté +\end{PresentationCode} + +\begin{PresentationCode}{text only} +\hfill\ConvVersFrac{-10+1/3*(-5/16)} \qquad +\ConvVersFrac*{-10+1/3*(-5/16)} \qquad +\ConvVersFrac*[d]{-10+1/3*(-5/16)} \qquad +\ConvVersFrac[n]{-10+1/3*(-5/16)} \qquad +\ConvVersFrac[dec=4]{-10+1/3*(-5/16)} \qquad +\ConvVersFrac{2+91/7}\hfill~ +\end{PresentationCode} + +\subsection{Interaction avec les commandes \og matricielles \fg, limitations} + +\begin{warningblock} +En \textit{interne}, le formatage des résultats est géré par cette commande, et les options disponibles existent donc de la même manière pour les commandes liées aux systèmes linéaires. + +\smallskip + +Il ne sera par contre pas possible de spécifier des options différentes pour chacun des coefficients, autrement dit l'éventuelle option se propagera sur l'ensemble des résultats ! + +\smallskip + +Les \textit{transformations} en fraction devraient pouvoir fonctionner avec des calculs \textit{classiques}, mais il est possible que, dans des cas \textit{spécifiques}, les résultats ne soient pas ceux attendus ! +\end{warningblock} + +\pagebreak + +\section{Calcul de déterminant} + +\subsection{Introduction} + +\begin{cautionblock} +La première commande (matricielle) disponible est pour calculer le déterminant d'une matrice : + +\begin{itemize} + \item \textbf{2x2} ou \textbf{3x3} pour le package \textit{classique} ; + \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package \textit{lua}. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{cautionblock} + +\begin{PresentationCode}{listing only} +%version classique +\DetMatrice(*)[option de formatage](matrice) + +%version python +\DetMatricePY(*)[option de formatage](matrice) +\end{PresentationCode} + +\subsection{Utilisation} + +\begin{tipblock} +Concernant cette commande, qui est à insérer dans un environnement \textit{math} : + +\begin{itemize} + \item la version \textit{étoilée} force l'écriture du signe \og $-$ \fg{} avant l'éventuelle fraction ; + \item le premier argument, \textit{optionnel} et entre \textsf{[...]} permet de spécifier un formatage du résultat : + \begin{itemize} + \item \Cle{t} pour l'affichage de la fraction en mode \textsf{tfrac} ; + \item \Cle{d} pour l'affichage de la fraction en mode \textsf{dfrac} ; + \item \Cle{n} pour l'affichage de la fraction en mode \textsf{nicefrac} ; + \item \Cle{dec} pour l'affichage du résultat en mode \texttt{décimal} (sans arrondi !) ; + \item \Cle{dec=k} pour l'affichage du résultat en mode \texttt{décimal} arrondi à $10^{-k}$ ; + \end{itemize} + \item le second argument, \textit{obligatoire} et entre \textsf{(...)}, est quant à lui, la matrice donnée par ses coefficients \textsf{a11,a12,... § a21,a22,...} (syntaxe \textit{héritée} de \texttt{sympy}). +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{tipblock} + +\begin{PresentationCode}{} +%version classique +Le dét. de $A=\begin{pNiceMatrix}1&2\\3&4\end{pNiceMatrix}$ est +$\det(A)=\DetMatrice(1,2 § 3,4)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version classique +Le dét. de $A=\begin{pNiceMatrix}-1&{0,5}\\\frac12&4\end{pNiceMatrix}$ est +$\det(A)=\DetMatrice[dec](-1,0.5 § 1/2,4)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version classique +Le dét. de $A=\begin{pNiceMatrix}-1&\frac13&4\\\frac13&4&-1\\-1&0&0\end{pNiceMatrix}$ est +$\det(A) \approx \DetMatrice[dec=3](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version python +Le dé. de $A=\begin{pNiceMatrix}1&2\\3&4\end{pNiceMatrix}$ est +$\det(A)=\DetMatricePY(1,2 § 3,4)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +Le dét. de $A=\begin{pNiceMatrix}-1&{0,5}\\\frac12&4\end{pNiceMatrix}$ est +$\det(A)=\DetMatricePY*[d](-1,0.5 § 1/2,4)$.\end{PresentationCode} + +\begin{PresentationCode}{} +%version python +Le dét. de $A=\begin{pNiceMatrix}-1&\frac13&4\\\frac13&4&-1\\-1&0&0\end{pNiceMatrix}$ est +$\det(A) \approx \DetMatricePY[dec=3](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$. +\end{PresentationCode} + +\section{Inverse d'une matrice} + +\subsection{Introduction} + +\begin{cautionblock} +La deuxième commande (matricielle) disponible est pour calculer l'éventuelle inverse d'une matrice : + +\begin{itemize} + \item \textbf{2x2} ou \textbf{3x3} pour le package \textit{classique} ; + \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package \textit{lua}. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{cautionblock} + +\begin{PresentationCode}{listing only} +%version classique +\MatriceInverse(*)[option de formatage](matrice) + +%version python +\MatriceInversePY(*)[option de formatage](matrice) +\end{PresentationCode} + +\subsection{Utilisation} + +\begin{tipblock} +Concernant cette commande, qui est à insérer dans un environnement \textit{math} : + +\begin{itemize} + \item la version \textit{étoilée} force l'écriture du signe \og $-$ \fg{} avant l'éventuelle fraction ; + \item le premier argument, \textit{optionnel} et entre \textsf{[...]} permet de spécifier un formatage du résultat : + \begin{itemize} + \item \Cle{t} pour l'affichage de la fraction en mode \textsf{tfrac} ; + \item \Cle{d} pour l'affichage de la fraction en mode \textsf{dfrac} ; + \item \Cle{n} pour l'affichage de la fraction en mode \textsf{nicefrac} ; + \item \Cle{dec} pour l'affichage du résultat en mode \texttt{décimal} (sans arrondi !) ; + \item \Cle{dec=k} pour l'affichage du résultat en mode \texttt{décimal} arrondi à $10^{-k}$ ; + \end{itemize} + \item le deuxième argument, \textit{optionnel} et entre \textsf{<...>} correspond aux \Cle{options} à passer à l'environnement \texttt{pNiceMatrix} ; + \item le troisième argument, \textit{obligatoire} et entre \textsf{(...)}, est quant à lui, la matrice donnée par ses coefficients \textsf{a11,a12,... § a21,a22,...} (syntaxe héritée de \texttt{sympy}). +\end{itemize} +À noter que si la matrice n'est pas inversible, le texte \texttt{Matrice non inversible} est affiché. +\end{tipblock} + +\begin{PresentationCode}{} +%version classique +L'inverse de $A=\begin{pNiceMatrix}1&2\\3&4\end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse(1,2 § 3,4)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version classique +L'inverse de $A=\begin{pNiceMatrix}1&2&3\\4&5&6\\7&8&8\end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse[n](1,2,3 § 4,5,6 § 7,8,8)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version python +L'inverse de $A=\begin{pNiceMatrix}1&2\\3&4\end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY*[d](1,2 § 3,4)$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version python +L'inv. de $A=\begin{pNiceMatrix}1&2&3&4\\5&6&7&0\\1&1&1&1\\-2&-3&-5&-6\end{pNiceMatrix}$ est +$A^{-1}= +\MatriceInversePY*[n](1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$. +\end{PresentationCode} + +\section{Résolution d'un système linéaire} + +\subsection{Introduction} + +\begin{cautionblock} +La deuxième commande (matricielle) disponible est pour déterminer l'éventuelle solution d'un système linéaire qui s'écrit matriciellement $A\times X=B$: + +\begin{itemize} + \item \textbf{2x2} ou \textbf{3x3} pour le package \textit{classique} ; + \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package \textit{lua}. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{cautionblock} + +\begin{PresentationCode}{listing only} +%version classique +\SolutionSysteme(*)[opt de formatage](matriceA)(matriceB)[opt Matrice] + +%version python +\SolutionSystemePY(*)[opt de formatage](matriceA)(matriceB)[opt Matrice] +\end{PresentationCode} + +\subsection{Utilisation} + +\begin{tipblock} +Concernant cette commande, qui est à insérer dans un environnement \textit{math} : + +\begin{itemize} + \item la version \textit{étoilée} force l'écriture du signe \og $-$ \fg{} avant l'éventuelle fraction ; + \item le premier argument, \textit{optionnel} et entre \textsf{[...]} permet de spécifier un formatage du résultat : + \begin{itemize} + \item \Cle{t} pour l'affichage de la fraction en mode \textsf{tfrac} ; + \item \Cle{d} pour l'affichage de la fraction en mode \textsf{dfrac} ; + \item \Cle{n} pour l'affichage de la fraction en mode \textsf{nicefrac} ; + \item \Cle{dec} pour l'affichage du résultat en mode \texttt{décimal} (sans arrondi !) ; + \item \Cle{dec=k} pour l'affichage du résultat en mode \texttt{décimal} arrondi à $10^{-k}$ ; + \end{itemize} + \item le deuxième argument, \textit{optionnel} et entre \textsf{<...>} correspond aux \Cle{options} à passer à l'environnement \texttt{pNiceMatrix} ; + \item le troisième argument, \textit{obligatoire} et entre \textsf{(...)}, est quant à lui, la matrice $A$ donnée par ses coefficients \textsf{a11,a12,... § a21,a22,...} (syntaxe héritée de \texttt{sympy}) ; + \item le quatrième argument, \textit{obligatoire} et entre \textsf{(...)}, est quant à lui, la matrice $B$ donnée par ses coefficients \textsf{b11,b21,...} (syntaxe héritée de \texttt{sympy}) ; + \item le dernier argument, \textit{optionnel} et entre \textsf{[...]}, permet -- grâce à \Cle{Matrice} -- de présenter le vecteur solution. +\end{itemize} +À noter que si la matrice n'est pas inversible, le texte \texttt{Matrice non inversible} est affiché. +\end{tipblock} + +\begin{PresentationCode}{} +%version classique +La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=% +\left\lbrace \SolutionSysteme*[d](3,1,-2 § 2,-1,1 § 1,-1,-2)(-1,4,5) \right\rbrace$.\\ +\end{PresentationCode} + +\begin{PresentationCode}{} +%version python +La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=% +\left\lbrace \SolutionSystemePY(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5) \right\rbrace$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%version python +La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$ +est $\mathcal{S}=% +\left\lbrace + \SolutionSystemePY% + [dec]% + (1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)(-10,0,4,7)% + [Matrice] +\right\rbrace$. +\end{PresentationCode} + +\begin{PresentationCode}{} +%pas de solution +La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=% +\left\lbrace \SolutionSystemePY(1,2 § 4,8)(-5,1) \right\rbrace$. +\end{PresentationCode} + +\pagebreak + +\part{Fonctions python utilisées} + +\begin{cautionblock} +Les fonctions utilisées par les packages \textsf{pyluatex} ou \textsf{pythontex} sont données ci-dessous. + +Elles sont accessibles en \textit{natif} une fois l'option \textsf{lua} activée, grâce notamment à la macro \texttt{\textbackslash py}. +\end{cautionblock} + +\begin{PresentationCodePython}{listing only} +import sympy as sy +x = sy.Symbol('x') +y = sy.Symbol('y') +z = sy.Symbol('z') +t = sy.Symbol('t') + +def resol_systeme_QQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,u) : + solution=sy.solve([a*x+b*y+c*z+d*t-e,f*x+g*y+h*z+i*t-j,k*x+l*y+m*z+n*t-o,p*x+q*y+r*z+s*t-u],[x,y,z,t]) + return solution + +def resol_systeme_TT(a,b,c,d,e,f,g,h,i,j,k,l) : + solution=sy.solve([a*x+b*y+c*z-d,e*x+f*y+g*z-h,i*x+j*y+k*z-l],[x,y,z]) + return solution + +def resol_systeme_DD(a,b,c,d,e,f) : + solution=sy.solve([a*x+b*y-c,d*x+e*y-f],[x,y]) + return solution + +def det_matrice_QQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : + MatTmp = sy.Matrix(([a,b,c,d],[e,f,g,h],[i,j,k,l],[m,n,o,p])) + DetMatTmp = MatTmp.det() + return DetMatTmp + +def det_matrice_TT(a,b,c,d,e,f,g,h,i) : + MatTmp = sy.Matrix(([a,b,c],[d,e,f],[g,h,i])) + DetMatTmp = MatTmp.det() + return DetMatTmp + +def det_matrice_DD(a,b,c,d) : + MatTmp = sy.Matrix(([a,b],[c,d])) + DetMatTmp = MatTmp.det() + return DetMatTmp + +def inverse_matrice_QQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : + MatTmp = sy.Matrix(([a,b,c,d],[e,f,g,h],[i,j,k,l],[m,n,o,p])) + DetMatTmp = MatTmp.inv() + return DetMatTmp + +def inverse_matrice_DD(a,b,c,d) : + MatTmp = sy.Matrix(([a,b],[c,d])) + InvMatTmp = MatTmp.inv() + return InvMatTmp + +def inverse_matrice_TT(a,b,c,d,e,f,g,h,i) : + MatTmp = sy.Matrix(([a,b,c],[d,e,f],[g,h,i])) + InvMatTmp = MatTmp.inv() + return InvMatTmp +\end{PresentationCodePython} + +\pagebreak + +\part{Historique} + +\verb|v0.1.1|~:~~~~Correction d'un bug avec le caractère \og ; \fg{} + +\verb|v0.1.0|~:~~~~Version initiale + +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf new file mode 100644 index 0000000000..3275b5262e Binary files /dev/null and b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf differ diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex new file mode 100644 index 0000000000..c6439a053c --- /dev/null +++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex @@ -0,0 +1,107 @@ +% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] + +\documentclass[french,a4paper,10pt]{article} +\usepackage[margin=1.5cm]{geometry} +\usepackage[executable=python.exe]{pyluatex} +\usepackage[pyluatex]{ResolSysteme} +\usepackage{systeme} +\usepackage[most]{tcolorbox} +\sisetup{locale=FR,output-decimal-marker={,}} +\usepackage{babel} +\newtcblisting{ShowCodeTeX}[1][]{colback=white,colframe=red!75!black,listing options={style=tcblatex},#1} + +\begin{document} + +\part*{Version \og pyluatex \fg} + +\section{Préambule, avec le package pyluatex} + +\begin{ShowCodeTeX}[listing only] +\documentclass[french,a4paper,10pt]{article} +\usepackage[margin=1.5cm]{geometry} +\usepackage[executable=python.exe]{pyluatex} +\usepackage[pyluatex]{ResolSysteme} %version pyluatex, lua + shell-escape +\usepackage{systeme} +\sisetup{locale=FR,output-decimal-marker={,}} +\end{ShowCodeTeX} + +\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY(1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY*(1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&6 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY(1,2 § 3,6)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY*[d](1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2&3\\4&5&6\\7&8&8 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY(1,2,3 § 4,5,6 § 7,8,8)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2&3\\4&5&6\\7&8&8 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInversePY*(1,2,3 § 4,5,6 § 7,8,8)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pNiceMatrix}$ +est $A^{-1}=\MatriceInversePY*[n](1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. +\end{ShowCodeTeX} + +\section{Résolution d'un système, 2x2 ou 3x3 ou 4x4} + +\begin{ShowCodeTeX} +La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=% +\left\lbrace \SolutionSystemePY(-9,-8 § 3,-6)(-8,-7) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=% +\left\lbrace \SolutionSystemePY(1,2 § 4,8)(-5,1) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=% +\left\lbrace \SolutionSystemePY*[d](-9,-8 § 3,-6)(-8,-7) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=% +\left\lbrace \SolutionSystemePY(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{x+y+z=-1,3x+2y-z=-5,-x-y+2z=0}$ est donnée par $X=% +\SolutionSystemePY*[d](1,1,1 § 3,2,-1 § -1,-1,2)(-1,-5,0)[Matrice]$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme[xyzt]{y+z+t=1,x+z+t=-1,x+y+t=1,x+y+z=0}$ est $\mathcal{S}=% +\left\lbrace\SolutionSystemePY*[d](0,1,1,1 § 1,0,1,1 § 1,1,0,1 § 1,1,1,0)(1,-1,1,0)\right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$ est $\mathcal{S}= +\left\lbrace +\SolutionSystemePY + [dec] + (1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)(-10,0,4,7) + [Matrice] +\right\rbrace$. +\end{ShowCodeTeX} + +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf new file mode 100644 index 0000000000..2afa0bbc42 Binary files /dev/null and b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf differ diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex new file mode 100644 index 0000000000..f9daeb9826 --- /dev/null +++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex @@ -0,0 +1,103 @@ +% !TeX document-id = {f9c98d52-d889-44e1-8a1d-1b1aa5b344f6} +% !TeX TXS-program:compile = txs:///pdflatex + +\documentclass[french,a4paper,10pt]{article} +\usepackage[margin=1.5cm]{geometry} +\usepackage{ResolSysteme} +\usepackage{systeme} +\usepackage{babel} +\usepackage[most]{tcolorbox} +\sisetup{locale=FR,output-decimal-marker={,}} +\newtcblisting{ShowCodeTeX}[1][]{colback=white,colframe=red!75!black,listing options={style=tcblatex},#1} + +\begin{document} + +\part*{Version \og classique \fg{} avec xint} + +\section{Préambule sans utiliser python} + +\begin{ShowCodeTeX}[listing only] +\documentclass[french,a4paper,10pt]{article} +\usepackage[margin=1.5cm]{geometry} +\usepackage{ResolSysteme} %version classique +\usepackage{systeme} +\sisetup{locale=FR,output-decimal-marker={,}} +\end{ShowCodeTeX} + +\section{Déterminant d'une matrice, 2x2 ou 3x3} + +\begin{ShowCodeTeX} +Le déterminant de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$\det(A)=\DetMatrice(1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +Le déterminant de $A=\begin{pNiceMatrix} -1&{0,5} \\ \frac12&4 \end{pNiceMatrix}$ est +$\det(A)=\DetMatrice[dec](-1,0.5 § 1/2,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +Le dét. de $A=\begin{pNiceMatrix} -1&\frac13&4 \\ \frac13&4&-1 \\ -1&0&0 \end{pNiceMatrix}$ est +$\det(A) \approx \DetMatrice[dec=3](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$. +\end{ShowCodeTeX} + +\section{Inverse d'une matrice, 2x2 ou 3x3} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse(1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse*(1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse[d](1,2 § 3,4)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2&3\\4&5&6\\7&8&8 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse(1,2,3 § 4,5,6 § 7,8,8)$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +L'inverse de $A=\begin{pNiceMatrix} 1&2&3\\4&5&6\\7&8&8 \end{pNiceMatrix}$ est +$A^{-1}=\MatriceInverse[n](1,2,3 § 4,5,6 § 7,8,8)$. +\end{ShowCodeTeX} + +\section*{Résolution d'un système, 2x2 ou 3x3} + +\begin{ShowCodeTeX} +La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=% +\left\lbrace \SolutionSysteme(-9,-8 § 3,-6)(-8,-7) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=% +\left\lbrace \SolutionSysteme*[d](-9,-8 § 3,-6)(-8,-7) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=% +\left\lbrace \SolutionSysteme(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est donnée par $X=% +\SolutionSysteme(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5)[Matrice]$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=% +\left\lbrace \SolutionSysteme(3,1,-2 § 2,-1,1 § 1,-1,-2)(-1,4,5) \right\rbrace$. +\end{ShowCodeTeX} + +\begin{ShowCodeTeX} +La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=% +\left\lbrace \SolutionSysteme*[d](3,1,-2 § 2,-1,1 § 1,-1,-2)(-1,4,5) \right\rbrace$. +\end{ShowCodeTeX} + +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty new file mode 100644 index 0000000000..338e8b3d3c --- /dev/null +++ b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty @@ -0,0 +1,751 @@ +% Author.........: C. Pierquet +% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{ResolSysteme}[2023/02/07 v0.1.1 Travailler sur un systeme lineaire avec xint ou pyluatex] +% 0.1.1 Correction d'un bug avec le séparateur ";" +% 0.1.0 Version initiale + +%------Option(s) +\newif\if@pyluatex \@pyluatexfalse +\DeclareOption{pyluatex}{\@pyluatextrue} +\DeclareOption*{} +\ProcessOptions\relax + +%------Packages utiles +\RequirePackage{nicematrix} +\RequirePackage{ifthen} +\RequirePackage{xintexpr} +\RequirePackage{xinttools} +\RequirePackage{listofitems} +\RequirePackage{siunitx} +\RequirePackage{nicefrac} +\RequirePackage{xstring} + +%-------Option pyluatex pour les scripts python via pyluatex ! +\if@pyluatex %package pyluatex à charger par l'utilisateur ! +\begin{python} +import sympy as sy +x = sy.Symbol('x') +y = sy.Symbol('y') +z = sy.Symbol('z') +t = sy.Symbol('t') + +def resol_systeme_QQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,u) : + solution=sy.solve([a*x+b*y+c*z+d*t-e,f*x+g*y+h*z+i*t-j,k*x+l*y+m*z+n*t-o,p*x+q*y+r*z+s*t-u],[x,y,z,t]) + return solution + +def resol_systeme_TT(a,b,c,d,e,f,g,h,i,j,k,l) : + solution=sy.solve([a*x+b*y+c*z-d,e*x+f*y+g*z-h,i*x+j*y+k*z-l],[x,y,z]) + return solution + +def resol_systeme_DD(a,b,c,d,e,f) : + solution=sy.solve([a*x+b*y-c,d*x+e*y-f],[x,y]) + return solution + +def det_matrice_QQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : + MatTmp = sy.Matrix(([a,b,c,d],[e,f,g,h],[i,j,k,l],[m,n,o,p])) + DetMatTmp = MatTmp.det() + return DetMatTmp + +def det_matrice_TT(a,b,c,d,e,f,g,h,i) : + MatTmp = sy.Matrix(([a,b,c],[d,e,f],[g,h,i])) + DetMatTmp = MatTmp.det() + return DetMatTmp + +def det_matrice_DD(a,b,c,d) : + MatTmp = sy.Matrix(([a,b],[c,d])) + DetMatTmp = MatTmp.det() + return DetMatTmp + +def inverse_matrice_QQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : + MatTmp = sy.Matrix(([a,b,c,d],[e,f,g,h],[i,j,k,l],[m,n,o,p])) + DetMatTmp = MatTmp.inv() + return DetMatTmp + +def inverse_matrice_DD(a,b,c,d) : + MatTmp = sy.Matrix(([a,b],[c,d])) + InvMatTmp = MatTmp.inv() + return InvMatTmp + +def inverse_matrice_TT(a,b,c,d,e,f,g,h,i) : + MatTmp = sy.Matrix(([a,b,c],[d,e,f],[g,h,i])) + InvMatTmp = MatTmp.inv() + return InvMatTmp + +\end{python} +\fi + +%------conversion en fraction, version interne ! +\NewDocumentCommand\ConvVersFrac{ s O{} m }{% + %*=moins devant + %2=argument.optionnel[d/t/dec=...] + %3=argument mandataire {calcul ou fraction} + \def\calculargument{\xintPRaw{\xintIrr{\xinteval{#3}}}}%on calcule et on transforme en A/B + \IfSubStr{\calculargument}{/}%on teste si le symbole / apparaît + {%si oui := fraction + \StrBefore{\calculargument}{/}[\numerateur]%on extrait le numérateur + \StrBehind{\calculargument}{/}[\denominateur]%on extrait le dénominateur + \ifblank{#2}% + {% + \IfBooleanTF{#1}% + {% + \ifthenelse{\numerateur < 0}% + {\ensuremath{-\frac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}% + {\ensuremath{\frac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {\ensuremath{\frac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {}%si l'argument optionnel est vide + \IfStrEq{#2}{d}% + {% + \IfBooleanTF{#1}% + {% + \ifthenelse{\numerateur < 0}% + {\ensuremath{-\dfrac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}% + {\ensuremath{\dfrac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {\ensuremath{\dfrac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {}%si l'argument optionnel est vide + \IfStrEq{#2}{t}% + {% + \IfBooleanTF{#1}% + {% + \ifthenelse{\numerateur < 0}% + {\ensuremath{-\tfrac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}% + {\ensuremath{\tfrac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {\ensuremath{\tfrac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {}%si l'argument optionnel est vide + \IfStrEq{#2}{n}% + {% + \IfBooleanTF{#1}% + {% + \ifthenelse{\numerateur < 0}% + {\ensuremath{-\nicefrac{\num{\fpeval{abs(\numerateur)}}}{\num{\denominateur}}}}% + {\ensuremath{\nicefrac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {\ensuremath{\nicefrac{\num{\numerateur}}{\num{\denominateur}}}}% + }% + {}%si l'argument optionnel est vide + \IfSubStr{#2}{dec}%on veut la forme décimale + {% + \IfSubStr{#2}{=}%si on rajoute une précision + {% + \StrBehind{#2}{=}[\precdecimal]% + \ensuremath{\num{\xintfloateval{round(#3,\precdecimal)}}}% + }% + {% + \ensuremath{\num{\xintfloateval{#3}}}% + }% + }% + {}%si l'argument optionnel est vide + }{%si non := entier + \num{\calculargument}%on affiche l'entier, avec le package siunitx + }% +} + +%------Commande classique, 2x2 ou 3x3 +\NewDocumentCommand\MatriceInverse{ s O{} D<>{} r() }{% + %*=fractions avec - devant + %2=options conversion + %3=options nicematrix + %4=matrice (,,;,,) + %--------------------- + %lectures des matrices + \setsepchar{§/,}% + \readlist*\MAMATRICEA{#4}% + \def\MatDim{\MAMATRICEAlen}% + %les coeffs de A et le déterminant et les coeff de l'inverse + \ifnum \MAMATRICEAlen=3 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[2,1]\MatD + \itemtomacro\MAMATRICEA[2,2]\MatE + \itemtomacro\MAMATRICEA[2,3]\MatF + \itemtomacro\MAMATRICEA[3,1]\MatG + \itemtomacro\MAMATRICEA[3,2]\MatH + \itemtomacro\MAMATRICEA[3,3]\MatI + %le déterminant + \def\DETMATRICE{\xinteval{\MatA*\MatE*\MatI+\MatD*\MatH*\MatC+\MatB*\MatF*\MatG-\MatG*\MatE*\MatC-\MatD*\MatB*\MatI-\MatA*\MatH*\MatF}}% + %matrice inverse, si elle existe... + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + {% + \def\MatInvA{\ConvVersFrac*[#2]{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}}% + \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}}% + \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}}% + \def\MatInvD{\ConvVersFrac*[#2]{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}}% + \def\MatInvE{\ConvVersFrac*[#2]{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}}% + \def\MatInvF{\ConvVersFrac*[#2]{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}}% + \def\MatInvG{\ConvVersFrac*[#2]{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}}% + \def\MatInvH{\ConvVersFrac*[#2]{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}}% + \def\MatInvI{\ConvVersFrac*[#2]{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}}% + }% + {% + \def\MatInvA{\ConvVersFrac[#2]{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}}% + \def\MatInvB{\ConvVersFrac[#2]{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}}% + \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}}% + \def\MatInvD{\ConvVersFrac[#2]{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}}% + \def\MatInvE{\ConvVersFrac[#2]{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}}% + \def\MatInvF{\ConvVersFrac[#2]{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}}% + \def\MatInvG{\ConvVersFrac[#2]{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}}% + \def\MatInvH{\ConvVersFrac[#2]{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}}% + \def\MatInvI{\ConvVersFrac[#2]{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}}% + }% + \begin{pNiceMatrix}[#3] + {\MatInvA}&{\MatInvB}&{\MatInvC} \\ + {\MatInvD}&{\MatInvE}&{\MatInvF} \\ + {\MatInvG}&{\MatInvH}&{\MatInvI} + \end{pNiceMatrix}% + }% + \fi + \ifnum \MAMATRICEAlen=2 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[2,1]\MatC + \itemtomacro\MAMATRICEA[2,2]\MatD + %le déterminant + \def\DETMATRICE{\xinteval{\MatA*\MatD-\MatB*\MatC}}% + %matrice inverse, si elle existe... + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + {% + \def\MatInvA{\ConvVersFrac*[#2]{(\MatD)/\DETMATRICE}}% + \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB)/\DETMATRICE}}% + \def\MatInvC{\ConvVersFrac*[#2]{(-\MatC)/\DETMATRICE}}% + \def\MatInvD{\ConvVersFrac*[#2]{(\MatA)/\DETMATRICE}}% + }% + {% + \def\MatInvA{\ConvVersFrac[#2]{(\MatD)/\DETMATRICE}}% + \def\MatInvB{\ConvVersFrac[#2]{(-\MatB)/\DETMATRICE}}% + \def\MatInvC{\ConvVersFrac[#2]{(-\MatC)/\DETMATRICE}}% + \def\MatInvD{\ConvVersFrac[#2]{(\MatA)/\DETMATRICE}}% + }% + \begin{pNiceMatrix}[#3] + {\MatInvA}&{\MatInvB} \\ + {\MatInvC}&{\MatInvD} + \end{pNiceMatrix}% + }% + \fi +} + +\NewDocumentCommand\DetMatrice{ s O{} r() }{% + %*=fractions avec - devant + %2=options conversion + %3=matrice (,,;,,) + %--------------------- + %lectures des matrices + \setsepchar{§/,}% + \readlist*\MAMATRICEA{#3}% + %les coeffs de A et le déterminant et les coeff de l'inverse + \ifnum \MAMATRICEAlen=3 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[2,1]\MatD + \itemtomacro\MAMATRICEA[2,2]\MatE + \itemtomacro\MAMATRICEA[2,3]\MatF + \itemtomacro\MAMATRICEA[3,1]\MatG + \itemtomacro\MAMATRICEA[3,2]\MatH + \itemtomacro\MAMATRICEA[3,3]\MatI + %le déterminant + \def\DETMATRICE{\xinteval{\MatA*\MatE*\MatI+\MatD*\MatH*\MatC+\MatB*\MatF*\MatG-\MatG*\MatE*\MatC-\MatD*\MatB*\MatI-\MatA*\MatH*\MatF}}% + \fi + \ifnum \MAMATRICEAlen=2 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[2,1]\MatC + \itemtomacro\MAMATRICEA[2,2]\MatD + %le déterminant + \def\DETMATRICE{\xinteval{\MatA*\MatD-\MatB*\MatC}}% + \fi + \IfBooleanTF{#1}% + {% + \ConvVersFrac*[#2]{\DETMATRICE}% + }% + {% + \ConvVersFrac[#2]{\DETMATRICE}% + }% +} + +\NewDocumentCommand\SolutionSysteme{ s O{} D<>{} r() r() O{} }{% + %*=fractions avec - devant + %2=options conversion + %3=options nicematrix + %4=matrice (,,;,,) principale + %5=matrice (;;) second membre + %6=résultat sous forme d'une matrice + %--------------------- + %lectures des matrices + \setsepchar{§/,}% + \readlist*\MAMATRICEA{#4}% + \setsepchar{,}% + \readlist*\MAMATRICEB{#5}% + \def\MatDim{\MAMATRICEAlen}% + %les coeffs de A et le déterminant et les coeff de l'inverse + \ifnum \MAMATRICEAlen=3 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[2,1]\MatD + \itemtomacro\MAMATRICEA[2,2]\MatE + \itemtomacro\MAMATRICEA[2,3]\MatF + \itemtomacro\MAMATRICEA[3,1]\MatG + \itemtomacro\MAMATRICEA[3,2]\MatH + \itemtomacro\MAMATRICEA[3,3]\MatI + %le déterminant + \def\DETMATRICE{\xinteval{\MatA*\MatE*\MatI+\MatD*\MatH*\MatC+\MatB*\MatF*\MatG-\MatG*\MatE*\MatC-\MatD*\MatB*\MatI-\MatA*\MatH*\MatF}}% + %les coeffs de B + \itemtomacro\MAMATRICEB[1]\MatBA + \itemtomacro\MAMATRICEB[2]\MatBB + \itemtomacro\MAMATRICEB[3]\MatBC + %matrice inverse, si elle existe... + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \def\MatInvA{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}% + \def\MatInvB{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}% + \def\MatInvC{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}% + \def\MatInvD{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}% + \def\MatInvE{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}% + \def\MatInvF{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}% + \def\MatInvG{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}% + \def\MatInvH{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}% + \def\MatInvI{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}% + % + \IfBooleanTF{#1}%version étoilée := moinsdevant + {% + \def\MatResA{\ConvVersFrac*[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB+\MatInvC*\MatBC}}% + \def\MatResB{\ConvVersFrac*[#2]{\MatInvD*\MatBA+\MatInvE*\MatBB+\MatInvF*\MatBC}}% + \def\MatResC{\ConvVersFrac*[#2]{\MatInvG*\MatBA+\MatInvH*\MatBB+\MatInvI*\MatBC}}% + }% + {% + \def\MatResA{\ConvVersFrac[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB+\MatInvC*\MatBC}}% + \def\MatResB{\ConvVersFrac[#2]{\MatInvD*\MatBA+\MatInvE*\MatBB+\MatInvF*\MatBC}}% + \def\MatResC{\ConvVersFrac[#2]{\MatInvG*\MatBA+\MatInvH*\MatBB+\MatInvI*\MatBC}}% + }% + \IfStrEq{#6}{Matrice}%si matrice + {% + \begin{pNiceMatrix}[#3] + {\MatResA} \\ + {\MatResB} \\ + {\MatResC} + \end{pNiceMatrix}% + }% + {% + \left( {\MatResA} ; {\MatResB} ; {\MatResC} \right)% + }% + }% + \fi + \ifnum \MAMATRICEAlen=2 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[2,1]\MatC + \itemtomacro\MAMATRICEA[2,2]\MatD + %le déterminant + \def\DETMATRICE{\xinteval{\MatA*\MatD-\MatB*\MatC}}% + %les coeffs de B + \itemtomacro\MAMATRICEB[1]\MatBA + \itemtomacro\MAMATRICEB[2]\MatBB + %matrice inverse, si elle existe... + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \def\MatInvA{(\MatD)/\DETMATRICE}% + \def\MatInvB{(-\MatB)/\DETMATRICE}% + \def\MatInvC{(-\MatC)/\DETMATRICE}% + \def\MatInvD{(\MatA)/\DETMATRICE}% + % + \IfBooleanTF{#1}% + {% + \def\MatResA{\ConvVersFrac*[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB}}% + \def\MatResB{\ConvVersFrac*[#2]{\MatInvC*\MatBA+\MatInvD*\MatBB}}% + }% + {% + \def\MatResA{\ConvVersFrac[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB}}% + \def\MatResB{\ConvVersFrac[#2]{\MatInvC*\MatBA+\MatInvD*\MatBB}}% + }% + \IfStrEq{#6}{Matrice}%si matrice + {% + \begin{pNiceMatrix}[#3] + {\MatResA} \\ + {\MatResB} + \end{pNiceMatrix}% + }% + {% + \left( {\MatResA} ; {\MatResB} \right)% + }% + }% + \fi +} + +%------Commandes via pyluatex +\if@pyluatex %package pyluatex à charger par l'utilisateur ! +\NewDocumentCommand\SolutionSystemePY{ s O{} D<>{} r() r() O{} }{% + %*=avec le moins devant + %2=Option Fraction + %3=matrice du système + %4=second membre + %5=option NiceMatrix + %6=résultat sous forme d'une matrice + %--------------------- + %lectures des matrices + \setsepchar{§/,}% + \readlist*\MAMATRICEA{#4}% + \setsepchar{,}% + \readlist*\MAMATRICEB{#5}% + %système QuatreQuatre + \ifnum \MAMATRICEAlen=4 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[1,4]\MatD + \itemtomacro\MAMATRICEA[2,1]\MatE + \itemtomacro\MAMATRICEA[2,2]\MatF + \itemtomacro\MAMATRICEA[2,3]\MatG + \itemtomacro\MAMATRICEA[2,4]\MatH + \itemtomacro\MAMATRICEA[3,1]\MatI + \itemtomacro\MAMATRICEA[3,2]\MatJ + \itemtomacro\MAMATRICEA[3,3]\MatK + \itemtomacro\MAMATRICEA[3,4]\MatL + \itemtomacro\MAMATRICEA[4,1]\MatM + \itemtomacro\MAMATRICEA[4,2]\MatN + \itemtomacro\MAMATRICEA[4,3]\MatO + \itemtomacro\MAMATRICEA[4,4]\MatP + %les coeffs de B + \itemtomacro\MAMATRICEB[1]\MatBA + \itemtomacro\MAMATRICEB[2]\MatBB + \itemtomacro\MAMATRICEB[3]\MatBC + \itemtomacro\MAMATRICEB[4]\MatBD + %les solutions + \def\DETMATRICE{\xinteval{\py{det_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)}}}% + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + { + \def\MatResA{\ConvVersFrac*[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[x]}}}% + \def\MatResB{\ConvVersFrac*[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[y]}}}% + \def\MatResC{\ConvVersFrac*[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[z]}}}% + \def\MatResD{\ConvVersFrac*[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[t]}}}% + }% + {% + \def\MatResA{\ConvVersFrac[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[x]}}}% + \def\MatResB{\ConvVersFrac[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[y]}}}% + \def\MatResC{\ConvVersFrac[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[z]}}}% + \def\MatResD{\ConvVersFrac[#2]{\py{resol_systeme_QQ(\MatA,\MatB,\MatC,\MatD,\MatBA,\MatE,\MatF,\MatG,\MatH,\MatBB,\MatI,\MatJ,\MatK,\MatL,\MatBC,\MatM,\MatN,\MatO,\MatP,\MatBD)[t]}}}% + }% + \IfStrEq{#6}{Matrice}%si matrice + {% + \begin{pNiceMatrix}[#3] + {\MatResA} \\ + {\MatResB} \\ + {\MatResC} \\ + {\MatResD} + \end{pNiceMatrix}% + }% + {% + \left( {\MatResA} ; {\MatResB} ; {\MatResC} ; {\MatResD} \right)% + }% + }% + \fi + %système TroisTrois + \ifnum \MAMATRICEAlen=3 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[2,1]\MatD + \itemtomacro\MAMATRICEA[2,2]\MatE + \itemtomacro\MAMATRICEA[2,3]\MatF + \itemtomacro\MAMATRICEA[3,1]\MatG + \itemtomacro\MAMATRICEA[3,2]\MatH + \itemtomacro\MAMATRICEA[3,3]\MatI + %les coeffs de B + \itemtomacro\MAMATRICEB[1]\MatBA + \itemtomacro\MAMATRICEB[2]\MatBB + \itemtomacro\MAMATRICEB[3]\MatBC + %les solutions + \def\DETMATRICE{\xinteval{\py{det_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)}}}% + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + { + \def\MatResA{\ConvVersFrac*[#2]{\py{resol_systeme_TT(\MatA,\MatB,\MatC,\MatBA,\MatD,\MatE,\MatF,\MatBB,\MatG,\MatH,\MatI,\MatBC)[x]}}}% + \def\MatResB{\ConvVersFrac*[#2]{\py{resol_systeme_TT(\MatA,\MatB,\MatC,\MatBA,\MatD,\MatE,\MatF,\MatBB,\MatG,\MatH,\MatI,\MatBC)[y]}}}% + \def\MatResC{\ConvVersFrac*[#2]{\py{resol_systeme_TT(\MatA,\MatB,\MatC,\MatBA,\MatD,\MatE,\MatF,\MatBB,\MatG,\MatH,\MatI,\MatBC)[z]}}}% + }% + {% + \def\MatResA{\ConvVersFrac[#2]{\py{resol_systeme_TT(\MatA,\MatB,\MatC,\MatBA,\MatD,\MatE,\MatF,\MatBB,\MatG,\MatH,\MatI,\MatBC)[x]}}}% + \def\MatResB{\ConvVersFrac[#2]{\py{resol_systeme_TT(\MatA,\MatB,\MatC,\MatBA,\MatD,\MatE,\MatF,\MatBB,\MatG,\MatH,\MatI,\MatBC)[y]}}}% + \def\MatResC{\ConvVersFrac[#2]{\py{resol_systeme_TT(\MatA,\MatB,\MatC,\MatBA,\MatD,\MatE,\MatF,\MatBB,\MatG,\MatH,\MatI,\MatBC)[z]}}}% + }% + \IfStrEq{#6}{Matrice}%si matrice + {% + \begin{pNiceMatrix}[#3] + {\MatResA} \\ + {\MatResB} \\ + {\MatResC} + \end{pNiceMatrix}% + }% + {% + \left( {\MatResA} ; {\MatResB} ; {\MatResC} \right)% + }% + }% + \fi + %système DeuxDeux + \ifnum \MAMATRICEAlen=2 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[2,1]\MatC + \itemtomacro\MAMATRICEA[2,2]\MatD + %les coeffs de B + \itemtomacro\MAMATRICEB[1]\MatBA + \itemtomacro\MAMATRICEB[2]\MatBB + %solutions + \def\DETMATRICE{\xinteval{\py{det_matrice_DD(\MatA,\MatB,\MatC,\MatD)}}}% + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + { + \def\MatResA{\ConvVersFrac*[#2]{\py{resol_systeme_DD(\MatA,\MatB,\MatBA,\MatC,\MatD,\MatBB)[x]}}}% + \def\MatResB{\ConvVersFrac*[#2]{\py{resol_systeme_DD(\MatA,\MatB,\MatBA,\MatC,\MatD,\MatBB)[y]}}}% + }% + {% + \def\MatResA{\ConvVersFrac[#2]{\py{resol_systeme_DD(\MatA,\MatB,\MatBA,\MatC,\MatD,\MatBB)[x]}}}% + \def\MatResB{\ConvVersFrac[#2]{\py{resol_systeme_DD(\MatA,\MatB,\MatBA,\MatC,\MatD,\MatBB)[y]}}}% + }% + \IfStrEq{#6}{Matrice}%si matrice + {% + \begin{pNiceMatrix}[#3] + {\MatResA} \\ + {\MatResB} + \end{pNiceMatrix}% + }% + {% + \left( {\MatResA} ; {\MatResB} \right)% + }% + }% + \fi +} + +\NewDocumentCommand\MatriceInversePY{ s O{} D<>{} r() }{% + %*=fractions avec - devant + %2=options conversion + %3=options nicematrix + %4=matrice (,,;,,) + %--------------------- + %lectures des matrices + \setsepchar{§/,}% + \readlist*\MAMATRICEA{#4}% + %les coeffs de A et le déterminant et les coeff de l'inverse + \ifnum \MAMATRICEAlen=4 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[1,4]\MatD + \itemtomacro\MAMATRICEA[2,1]\MatE + \itemtomacro\MAMATRICEA[2,2]\MatF + \itemtomacro\MAMATRICEA[2,3]\MatG + \itemtomacro\MAMATRICEA[2,4]\MatH + \itemtomacro\MAMATRICEA[3,1]\MatI + \itemtomacro\MAMATRICEA[3,2]\MatJ + \itemtomacro\MAMATRICEA[3,3]\MatK + \itemtomacro\MAMATRICEA[3,4]\MatL + \itemtomacro\MAMATRICEA[4,1]\MatM + \itemtomacro\MAMATRICEA[4,2]\MatN + \itemtomacro\MAMATRICEA[4,3]\MatO + \itemtomacro\MAMATRICEA[4,4]\MatP + %les solutions + \def\DETMATRICE{\xinteval{\py{det_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)}}}% + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + { + \def\MatInvA{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[0]}}}% + \def\MatInvB{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[1]}}}% + \def\MatInvC{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[2]}}}% + \def\MatInvD{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[3]}}}% + \def\MatInvE{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[4]}}}% + \def\MatInvF{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[5]}}}% + \def\MatInvG{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[6]}}}% + \def\MatInvH{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[7]}}}% + \def\MatInvI{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[8]}}}% + \def\MatInvJ{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[9]}}}% + \def\MatInvK{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[10]}}}% + \def\MatInvL{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[11]}}}% + \def\MatInvM{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[12]}}}% + \def\MatInvN{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[13]}}}% + \def\MatInvO{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[14]}}}% + \def\MatInvP{\ConvVersFrac*[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[15]}}}% + }% + {% + \def\MatInvA{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[0]}}}% + \def\MatInvB{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[1]}}}% + \def\MatInvC{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[2]}}}% + \def\MatInvD{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[3]}}}% + \def\MatInvE{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[4]}}}% + \def\MatInvF{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[5]}}}% + \def\MatInvG{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[6]}}}% + \def\MatInvH{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[7]}}}% + \def\MatInvI{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[8]}}}% + \def\MatInvJ{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[9]}}}% + \def\MatInvK{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[10]}}}% + \def\MatInvL{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[11]}}}% + \def\MatInvM{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[12]}}}% + \def\MatInvN{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[13]}}}% + \def\MatInvO{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[14]}}}% + \def\MatInvP{\ConvVersFrac[#2]{\py{inverse_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)[15]}}}% + }% + \begin{pNiceMatrix}[#3] + {\MatInvA} & {\MatInvB} & {\MatInvC} & {\MatInvD} \\ + {\MatInvE} & {\MatInvF} & {\MatInvG} & {\MatInvH} \\ + {\MatInvI} & {\MatInvJ} & {\MatInvK} & {\MatInvL} \\ + {\MatInvM} & {\MatInvN} & {\MatInvO} & {\MatInvP} \\ + \end{pNiceMatrix}% + }% + \fi + \ifnum \MAMATRICEAlen=3 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[2,1]\MatD + \itemtomacro\MAMATRICEA[2,2]\MatE + \itemtomacro\MAMATRICEA[2,3]\MatF + \itemtomacro\MAMATRICEA[3,1]\MatG + \itemtomacro\MAMATRICEA[3,2]\MatH + \itemtomacro\MAMATRICEA[3,3]\MatI + \def\DETMATRICE{\xinteval{\py{det_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)}}}% + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + {% + \def\MatInvA{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[0]}}} + \def\MatInvB{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[1]}}} + \def\MatInvC{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[2]}}} + \def\MatInvD{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[3]}}} + \def\MatInvE{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[4]}}} + \def\MatInvF{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[5]}}} + \def\MatInvG{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[6]}}} + \def\MatInvH{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[7]}}} + \def\MatInvI{\ConvVersFrac*[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[8]}}} + }% + {% + \def\MatInvA{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[0]}}} + \def\MatInvB{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[1]}}} + \def\MatInvC{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[2]}}} + \def\MatInvD{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[3]}}} + \def\MatInvE{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[4]}}} + \def\MatInvF{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[5]}}} + \def\MatInvG{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[6]}}} + \def\MatInvH{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[7]}}} + \def\MatInvI{\ConvVersFrac[#2]{\py{inverse_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)[8]}}} + }% + \begin{pNiceMatrix}[#3] + {\MatInvA} & {\MatInvB} & {\MatInvC} \\ + {\MatInvD} & {\MatInvE} & {\MatInvF} \\ + {\MatInvG} & {\MatInvH} & {\MatInvI} + \end{pNiceMatrix}% + }% + \fi + \ifnum \MAMATRICEAlen=2 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[2,1]\MatC + \itemtomacro\MAMATRICEA[2,2]\MatD + \def\DETMATRICE{\xinteval{\py{det_matrice_DD(\MatA,\MatB,\MatC,\MatD)}}}% + \xintifboolexpr{\DETMATRICE == 0}% + {\text{Matrice non inversible}}% + {% + \IfBooleanTF{#1}% + {% + \def\MatInvA{\ConvVersFrac*[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[0]}}} + \def\MatInvB{\ConvVersFrac*[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[1]}}} + \def\MatInvC{\ConvVersFrac*[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[2]}}} + \def\MatInvD{\ConvVersFrac*[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[3]}}} + }% + {% + \def\MatInvA{\ConvVersFrac[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[0]}}} + \def\MatInvB{\ConvVersFrac[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[1]}}} + \def\MatInvC{\ConvVersFrac[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[2]}}} + \def\MatInvD{\ConvVersFrac[#2]{\py{inverse_matrice_DD(\MatA,\MatB,\MatC,\MatD)[3]}}} + }% + \begin{pNiceMatrix}[#3] + {\MatInvA} & {\MatInvB} \\ + {\MatInvC} & {\MatInvD} + \end{pNiceMatrix}% + }% + \fi +} + +\NewDocumentCommand\DetMatricePY{ s O{} r() }{% + %*=fractions avec - devant + %2=options conversion + %3=matrice (,,;,,) + %--------------------- + %lectures des matrices + \setsepchar{§/,}% + \readlist*\MAMATRICEA{#3}% + \def\MatDim{\MAMATRICEAlen}% + %les coeffs de A et le déterminant et les coeff de l'inverse + \ifnum \MAMATRICEAlen=4 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[1,4]\MatD + \itemtomacro\MAMATRICEA[2,1]\MatE + \itemtomacro\MAMATRICEA[2,2]\MatF + \itemtomacro\MAMATRICEA[2,3]\MatG + \itemtomacro\MAMATRICEA[2,4]\MatH + \itemtomacro\MAMATRICEA[3,1]\MatI + \itemtomacro\MAMATRICEA[3,2]\MatJ + \itemtomacro\MAMATRICEA[3,3]\MatK + \itemtomacro\MAMATRICEA[3,4]\MatL + \itemtomacro\MAMATRICEA[4,1]\MatM + \itemtomacro\MAMATRICEA[4,2]\MatN + \itemtomacro\MAMATRICEA[4,3]\MatO + \itemtomacro\MAMATRICEA[4,4]\MatP + %les solutions + \def\DETMATRICE{\xinteval{\py{det_matrice_QQ(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI,\MatJ,\MatK,\MatL,\MatM,\MatN,\MatO,\MatP)}}}% + \fi + \ifnum \MAMATRICEAlen=3 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[1,3]\MatC + \itemtomacro\MAMATRICEA[2,1]\MatD + \itemtomacro\MAMATRICEA[2,2]\MatE + \itemtomacro\MAMATRICEA[2,3]\MatF + \itemtomacro\MAMATRICEA[3,1]\MatG + \itemtomacro\MAMATRICEA[3,2]\MatH + \itemtomacro\MAMATRICEA[3,3]\MatI + \def\DETMATRICE{\xinteval{\py{det_matrice_TT(\MatA,\MatB,\MatC,\MatD,\MatE,\MatF,\MatG,\MatH,\MatI)}}}% + \fi + \ifnum \MAMATRICEAlen=2 + \itemtomacro\MAMATRICEA[1,1]\MatA + \itemtomacro\MAMATRICEA[1,2]\MatB + \itemtomacro\MAMATRICEA[2,1]\MatC + \itemtomacro\MAMATRICEA[2,2]\MatD + \def\DETMATRICE{\xinteval{\py{det_matrice_DD(\MatA,\MatB,\MatC,\MatD)}}}% + \fi + \IfBooleanTF{#1}% + {% + \ConvVersFrac*[#2]{\DETMATRICE}% + }% + {% + \ConvVersFrac[#2]{\DETMATRICE}% + }% +} +\fi + +\endinput \ No newline at end of file diff --git a/macros/xetex/latex/xduts/xduts.dtx b/macros/xetex/latex/xduts/xduts.dtx index 6816aa31a1..3bb022f91e 100644 --- a/macros/xetex/latex/xduts/xduts.dtx +++ b/macros/xetex/latex/xduts/xduts.dtx @@ -1,7 +1,7 @@ % \iffalse %<*driver> \ProvidesFile{xduts.dtx} -[2023/02/03 v4.4.0.0 Xidian University TeX Suite] +[2023/02/06 v4.4.2.0 Xidian University TeX Suite] % %\NeedsTeXFormat{LaTeX2e} %\RequirePackage{expl3} @@ -9,7 +9,7 @@ %\ProvidesExplClass{xduugtp} %\ProvidesExplClass{xdupgthesis} %\ProvidesExplClass{xduugthesis} -% {2023/02/03}{4.4.0.0} +% {2023/02/06}{4.4.2.0} % {Xidian University Font package} % {Xidian University Undergraduate Thesis Proposal class} % {Xidian University Postgraduate Thesis document class} @@ -5180,6 +5180,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{macrocode} % \end{macro} % \begin{macro}{\DeclareCaptionFont,\captionsetup*} +% \changes{v4.4.2.0}{2023/02/06}{修正\pkgx{algorithm}算法caption对齐方式} % \changes{v3.1.1.0}{2022/12/04}{修正\pkgx{algorithm}算法caption格式设置} % \changes{v3.0.0.0}{2022/12/03}{设置\pkgx{algorithm}算法caption格式} % \changes{v2.18.0.0}{2022/11/28}{设置\pkgx{algorithm}算法caption对齐方式} @@ -5208,13 +5209,13 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} { \captionsetup* [ algorithm ] { format = hang } } { \captionsetup* [ algorithm ] { format = plain } } \captionsetup* [ ruled ] { strut = off } - \tl_if_eq:NnTF \l_@@_ft_cap_align_tl { left } + \tl_if_eq:NnTF \l_@@_alg_cap_align_tl { left } { \captionsetup* [ algorithm ] { singlelinecheck = false, justification = justified } } { - \tl_if_eq:NnTF \l_@@_ft_cap_align_tl { centering } + \tl_if_eq:NnTF \l_@@_alg_cap_align_tl { centering } { \captionsetup* [ algorithm ] { singlelinecheck = false, justification = centerlast } @@ -5227,6 +5228,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} } % \end{macrocode} % \end{macro} +% \changes{v4.4.1.0}{2023/02/06}{修正\pkgx{algorithm}算法三线间距配置} % \changes{v3.1.0.0}{2022/12/03}{设置\pkgx{algorithm}算法三线间距} % \begin{macro}{\ctex_at_end_preamble:n} % 设置\pkgx{algorithm}算法三线间距。 @@ -5235,14 +5237,18 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} { \bool_if:NT \l_@@_add_alg_rule_vspace_bool { - \cs_set:Npn \fs@ruled + \@ifpackageloaded { algorithm } { - \cs_set_eq:NN \@fs@capt \floatc@plain - \cs_set:Npn \@fs@pre { \hrule height .8pt depth 0pt \kern 5pt } - \cs_set:Npn \@fs@post { \kern 5pt \hrule \relax } - \cs_set:Npn \@fs@mid { \kern 5pt \hrule \kern 5pt } - \cs_set_eq:NN \@fs@iftopcapt \iftrue + \cs_set:Npn \fs@ruled + { + \cs_set_eq:NN \@fs@capt \floatc@plain + \cs_set:Npn \@fs@pre { \hrule height .8pt depth 0pt \kern 5pt } + \cs_set:Npn \@fs@post { \kern 5pt \hrule \relax } + \cs_set:Npn \@fs@mid { \kern 5pt \hrule \kern 5pt } + \cs_set_eq:NN \@fs@iftopcapt \iftrue + } } + { } } } % \end{macrocode} @@ -5257,7 +5263,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} \ctex_at_end_preamble:n { - \cs_if_exist:NT \thealgocf + \@ifpackageloaded { algorithm2e } { \SetAlgoCaptionSeparator { \hbox_to_wd:nn { \l_@@_cap_label_sep_tl } { } } \bool_if:NTF \l_@@_alg_small_cap_bool @@ -5320,14 +5326,16 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} } } } - \RenewDocumentCommand { \algocf@makecaption@ruled } { mm } - { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } - \RenewDocumentCommand { \algocf@makecaption@boxed } { mm } - { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } + \RenewDocumentCommand { \algocf@makecaption@ruled } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } + \RenewDocumentCommand { \algocf@makecaption@boxed } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } } + { } } % \end{macrocode} % \end{macro} +% \changes{v4.4.1.0}{2023/02/06}{修正\pkgx{algorithm2e}算法三线间距配置} % \changes{v3.1.0.0}{2022/12/03}{设置\pkgx{algorithm2e}算法三线间距} % \begin{macro}{\ctex_at_end_preamble:n} % 设置\pkgx{algorithm2e}算法三线间距。 @@ -5336,8 +5344,12 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} { \bool_if:NT \l_@@_add_alg_rule_vspace_bool { - \dim_set:Nn \interspacetitleruled { 5pt } - \dim_set:Nn \interspacealgoruled { 5pt } + \@ifpackageloaded { algorithm2e } + { + \dim_set:Nn \interspacetitleruled { 5pt } + \dim_set:Nn \interspacealgoruled { 5pt } + } + { } } } % \end{macrocode} diff --git a/macros/xetex/latex/xduts/xduts.pdf b/macros/xetex/latex/xduts/xduts.pdf index 9f5ee31794..224504c986 100644 Binary files a/macros/xetex/latex/xduts/xduts.pdf and b/macros/xetex/latex/xduts/xduts.pdf differ -- cgit v1.2.3