summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname816
-rw-r--r--FILES.byname.gzbin2537357 -> 2539028 bytes
-rw-r--r--FILES.last07days591
-rw-r--r--biblio/ctan-bibdata/ctan.bib62
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3695418 -> 3695334 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdfbin128252 -> 128252 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdfbin168279 -> 168279 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdfbin74185 -> 74185 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine.pdfbin125776 -> 126080 bytes
-rw-r--r--macros/latex/contrib/lettrine/lettrine.dtx98
-rw-r--r--macros/latex/contrib/memoir/README7
-rw-r--r--macros/latex/contrib/memoir/doc-src/memman.tex3122
-rw-r--r--macros/latex/contrib/memoir/doc-src/memsty.sty5
-rw-r--r--macros/latex/contrib/memoir/memman.pdfbin2845232 -> 2826438 bytes
-rw-r--r--macros/latex/contrib/memoir/memoir.dtx9
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.dtx1218
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.pdfbin918695 -> 939983 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin580394 -> 584003 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex204
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.ins2
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin598471 -> 602607 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.tex229
-rw-r--r--macros/latex/contrib/panneauxroute/README.md10
-rw-r--r--macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdfbin0 -> 670553 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex689
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13a.pdfbin0 -> 2270 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13b.pdfbin0 -> 2644 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA14.pdfbin0 -> 1705 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a1.pdfbin0 -> 1937 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a2.pdfbin0 -> 2124 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15b.pdfbin0 -> 2470 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15c.pdfbin0 -> 2152 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA16.pdfbin0 -> 3884 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA17.pdfbin0 -> 1769 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA18.pdfbin0 -> 1577 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA19.pdfbin0 -> 1891 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1a.pdfbin0 -> 1607 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1b.pdfbin0 -> 1596 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1c.pdfbin0 -> 1624 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1d.pdfbin0 -> 1627 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA20.pdfbin0 -> 2247 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA21.pdfbin0 -> 3036 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA23.pdfbin0 -> 1656 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA24.pdfbin0 -> 2041 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2a.pdfbin0 -> 1669 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2b.pdfbin0 -> 1589 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3.pdfbin0 -> 1565 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3a.pdfbin0 -> 1543 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3b.pdfbin0 -> 1540 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA4.pdfbin0 -> 4117 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA6.pdfbin0 -> 2046 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA7.pdfbin0 -> 1842 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA8.pdfbin0 -> 4457 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA9.pdfbin0 -> 2549 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC107.pdfbin0 -> 1634 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC108.pdfbin0 -> 1707 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC111.pdfbin0 -> 1646 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC112.pdfbin0 -> 1702 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC113.pdfbin0 -> 2418 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC114.pdfbin0 -> 2458 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC115.pdfbin0 -> 2461 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC116.pdfbin0 -> 2525 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC12.pdfbin0 -> 1444 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13a.pdfbin0 -> 1388 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13b.pdfbin0 -> 1393 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_1.pdfbin0 -> 9134 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_2.pdfbin0 -> 18670 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC18.pdfbin0 -> 1484 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1a.pdfbin0 -> 1440 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1b.pdfbin0 -> 1631 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1c.pdfbin0 -> 2212 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC207.pdfbin0 -> 1510 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC208.pdfbin0 -> 1584 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20a.pdfbin0 -> 2526 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20c.pdfbin0 -> 2059 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC23.pdfbin0 -> 18555 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a1.pdfbin0 -> 2242 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a4.pdfbin0 -> 2207 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b1.pdfbin0 -> 1464 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b2.pdfbin0 -> 1502 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c1.pdfbin0 -> 1968 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c2.pdfbin0 -> 2503 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25a.pdfbin0 -> 8028 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25b.pdfbin0 -> 6415 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26a.pdfbin0 -> 1538 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26b.pdfbin0 -> 1537 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC27.pdfbin0 -> 1428 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28a.pdfbin0 -> 1427 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28b.pdfbin0 -> 1463 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29a.pdfbin0 -> 1566 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29b.pdfbin0 -> 1475 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC3.pdfbin0 -> 6956 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC30.pdfbin0 -> 1487 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4a.pdfbin0 -> 2865 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4b.pdfbin0 -> 2923 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC5.pdfbin0 -> 2414 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC50.pdfbin0 -> 6610 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC6.pdfbin0 -> 1867 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC62.pdfbin0 -> 3478 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64a.pdfbin0 -> 2000 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64b.pdfbin0 -> 1663 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64c.pdfbin0 -> 3779 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d1.pdfbin0 -> 1461 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d2.pdfbin0 -> 1525 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC8.pdfbin0 -> 1504 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB0.pdfbin0 -> 1299 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1.pdfbin0 -> 1287 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB10a.pdfbin0 -> 3205 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB11.pdfbin0 -> 2706 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB12.pdfbin0 -> 3058 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13.pdfbin0 -> 2427 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13a.pdfbin0 -> 4830 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_110.pdfbin0 -> 2670 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_130.pdfbin0 -> 3430 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_15.pdfbin0 -> 1945 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_30.pdfbin0 -> 3338 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_50.pdfbin0 -> 2895 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_70.pdfbin0 -> 2544 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_90.pdfbin0 -> 2962 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB15.pdfbin0 -> 1417 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB16.pdfbin0 -> 1590 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB17.pdfbin0 -> 3096 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18a.pdfbin0 -> 2205 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18b.pdfbin0 -> 1949 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18c.pdfbin0 -> 1655 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB19.pdfbin0 -> 5662 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2a.pdfbin0 -> 1599 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2b.pdfbin0 -> 1577 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2c.pdfbin0 -> 1628 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3.pdfbin0 -> 1874 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB31.pdfbin0 -> 1355 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_110.pdfbin0 -> 3914 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_130.pdfbin0 -> 4678 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_15.pdfbin0 -> 2823 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_30.pdfbin0 -> 5335 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_50.pdfbin0 -> 4444 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_70.pdfbin0 -> 3990 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_90.pdfbin0 -> 4358 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34.pdfbin0 -> 2700 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34a.pdfbin0 -> 2482 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB35.pdfbin0 -> 2268 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB39.pdfbin0 -> 6692 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3a.pdfbin0 -> 2217 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB4.pdfbin0 -> 5574 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5a.pdfbin0 -> 3274 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5b.pdfbin0 -> 3016 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5c.pdfbin0 -> 2661 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a1.pdfbin0 -> 1586 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a2.pdfbin0 -> 2264 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a3.pdfbin0 -> 3165 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6d.pdfbin0 -> 8755 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7a.pdfbin0 -> 2567 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7b.pdfbin0 -> 3485 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB8.pdfbin0 -> 1910 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9a.pdfbin0 -> 1676 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9b.pdfbin0 -> 2397 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9c.pdfbin0 -> 2055 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9d.pdfbin0 -> 1750 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9e.pdfbin0 -> 2424 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9f.pdfbin0 -> 1857 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9g.pdfbin0 -> 2158 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9h.pdfbin0 -> 2815 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9i.pdfbin0 -> 3178 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB1.pdfbin0 -> 1546 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB2.pdfbin0 -> 1543 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB25.pdfbin0 -> 1798 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3a.pdfbin0 -> 6621 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3b.pdfbin0 -> 3542 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB4.pdfbin0 -> 2884 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB5.pdfbin0 -> 5069 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB6.pdfbin0 -> 1370 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB7.pdfbin0 -> 1524 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-1.pdfbin0 -> 1298 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-2.pdfbin0 -> 1306 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a1.pdfbin0 -> 1311 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a2.pdfbin0 -> 1335 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21b.pdfbin0 -> 1332 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c1.pdfbin0 -> 1415 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c2.pdfbin0 -> 1432 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d1.pdfbin0 -> 1451 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d2.pdfbin0 -> 1488 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21e.pdfbin0 -> 1491 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22a.pdfbin0 -> 2335 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22b.pdfbin0 -> 2757 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22c.pdfbin0 -> 3210 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB25.pdfbin0 -> 3296 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB26.pdfbin0 -> 10223 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27a.pdfbin0 -> 1776 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27b.pdfbin0 -> 2668 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB29.pdfbin0 -> 3527 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB40.pdfbin0 -> 2445 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB41.pdfbin0 -> 2877 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB42.pdfbin0 -> 1984 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB43.pdfbin0 -> 3347 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB44.pdfbin0 -> 11003 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB45a.pdfbin0 -> 1925 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49.pdfbin0 -> 4144 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty216
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE1.pdfbin0 -> 1403 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE10.pdfbin0 -> 2787 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE12.pdfbin0 -> 2264 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE14.pdfbin0 -> 1720 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15a.pdfbin0 -> 1615 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15c.pdfbin0 -> 2494 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE16.pdfbin0 -> 1866 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE17.pdfbin0 -> 1675 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE18.pdfbin0 -> 1528 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE19.pdfbin0 -> 2336 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20a.pdfbin0 -> 2004 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20b.pdfbin0 -> 2376 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE21.pdfbin0 -> 1603 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE22.pdfbin0 -> 2919 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE23.pdfbin0 -> 2295 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE24.pdfbin0 -> 2367 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE25.pdfbin0 -> 3459 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE26.pdfbin0 -> 2823 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE27.pdfbin0 -> 1903 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE28.pdfbin0 -> 1636 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE29.pdfbin0 -> 1669 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2a.pdfbin0 -> 3815 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2b.pdfbin0 -> 1815 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30a.pdfbin0 -> 2567 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30b.pdfbin0 -> 2555 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE3a.pdfbin0 -> 1546 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4a.pdfbin0 -> 1490 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4b.pdfbin0 -> 1898 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4c.pdfbin0 -> 2127 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE50.pdfbin0 -> 7626 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5a.pdfbin0 -> 1986 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5b.pdfbin0 -> 1671 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6a.pdfbin0 -> 2069 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6b.pdfbin0 -> 1997 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE7.pdfbin0 -> 1732 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE8.pdfbin0 -> 2002 bytes
-rw-r--r--macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE9.pdfbin0 -> 1867 bytes
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin9123899 -> 9105909 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex25
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex269
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCalisson.tex114
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartographie.tex101
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex6
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCDistributivite.tex4
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCDomino.tex4
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcrireQCMold.tex148
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex6
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCErathostene.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex1
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCMulArt.tex472
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex6
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNumberHive.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex4
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex4
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCReperage.tex7
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCSolides.tex19
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCStatistiquesold.tex2106
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCStatistiquesoldold.tex2109
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCThales.tex4
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty24
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp247
-rw-r--r--macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdfbin177321 -> 177327 bytes
-rw-r--r--macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex6
-rw-r--r--macros/latex/contrib/profmaquette/latex/ProfMaquette.sty30
-rw-r--r--macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdfbin40794 -> 40791 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdfbin201564 -> 201564 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalnotes.pdfbin197819 -> 197819 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-sidenotes.pdfbin295209 -> 295209 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-tabular.pdfbin285556 -> 285556 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdfbin198959 -> 198959 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses.pdfbin198794 -> 198794 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-antilabe.pdfbin210969 -> 210969 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-cross_referencing.pdfbin198304 -> 198304 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdfbin201443 -> 201443 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-glossaries.pdfbin285503 -> 285503 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-indexing.pdfbin278070 -> 278070 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdfbin276219 -> 276219 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdfbin292434 -> 292434 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-linespacing.pdfbin286626 -> 286626 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdfbin288123 -> 288123 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-notes-width.pdfbin204669 -> 204669 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdfbin212242 -> 212242 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-performances.pdfbin284583 -> 284583 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdfbin36940 -> 36940 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdfbin310603 -> 310603 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdfbin288795 -> 288795 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdfbin199918 -> 199918 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdfbin23442 -> 23441 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdfbin175650 -> 175650 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdfbin32047 -> 32047 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdfbin289211 -> 289211 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdfbin200041 -> 200041 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdfbin199278 -> 199278 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdfbin177110 -> 177110 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdfbin199681 -> 199681 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdfbin198615 -> 198615 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdfbin198665 -> 198665 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdfbin198797 -> 198797 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdfbin214377 -> 214377 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdfbin210488 -> 210488 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdfbin204974 -> 204974 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdfbin298422 -> 298422 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdfbin204015 -> 204015 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdfbin225555 -> 225555 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdfbin251002 -> 251002 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdfbin202381 -> 202381 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdfbin198565 -> 198565 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdfbin302774 -> 302774 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdfbin206955 -> 206955 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdfbin194198 -> 194198 bytes
-rw-r--r--macros/latex/contrib/reledmac/migration.pdfbin368429 -> 368426 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledmac.dtx23
-rw-r--r--macros/latex/contrib/reledmac/reledmac.pdfbin2152079 -> 2153144 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledpar.pdfbin1046914 -> 1046914 bytes
-rw-r--r--macros/latex/contrib/substitutefont/greek-palatino-didot.pdfbin351177 -> 0 bytes
-rw-r--r--macros/latex/contrib/substitutefont/greek-times-artemisia.pdfbin393346 -> 0 bytes
-rw-r--r--macros/latex/contrib/substitutefont/substitutefont-doc.html106
-rw-r--r--macros/latex/contrib/zref-check/CHANGELOG.md20
-rw-r--r--macros/latex/contrib/zref-check/zref-check-code.pdfbin745278 -> 745358 bytes
-rw-r--r--macros/latex/contrib/zref-check/zref-check-doc.pdfbin453555 -> 453465 bytes
-rw-r--r--macros/latex/contrib/zref-check/zref-check-doc.tex18
-rw-r--r--macros/latex/contrib/zref-check/zref-check.dtx1004
-rw-r--r--macros/latex/contrib/zref-clever/CHANGELOG.md10
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever-code.pdfbin1275753 -> 1271363 bytes
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever-doc.pdfbin346246 -> 345511 bytes
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever-doc.tex52
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever.dtx88
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/README (renamed from macros/latex/contrib/substitutefont/README)76
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/artemisia-greek.sty23
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf (renamed from macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf)bin322975 -> 320118 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex (renamed from macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex)23
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf (renamed from macros/latex/contrib/substitutefont/cyrillic-paratype.pdf)bin261997 -> 261997 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.tex (renamed from macros/latex/contrib/substitutefont/cyrillic-paratype.tex)41
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.pdfbin0 -> 522176 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.tex (renamed from macros/latex/contrib/substitutefont/greek-palatino-didot.tex)16
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.pdfbin0 -> 613142 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.tex (renamed from macros/latex/contrib/substitutefont/greek-times-artemisia.tex)20
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.pdfbin0 -> 506602 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.tex73
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html125
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/substitutefont-test.pdf (renamed from macros/latex/contrib/substitutefont/substitutefont-test.pdf)bin147683 -> 147378 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/substitutefont-test.tex (renamed from macros/latex/contrib/substitutefont/substitutefont-test.tex)2
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/substitutefont.sty (renamed from macros/latex/contrib/substitutefont/substitutefont.sty)39
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/substitutefont.sty.html (renamed from macros/latex/contrib/substitutefont/substitutefont.sty.html)88
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.pdfbin0 -> 439218 bytes
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.tex43
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/txfontsb-test.tex71
-rw-r--r--timestamp2
348 files changed, 7196 insertions, 7769 deletions
diff --git a/FILES.byname b/FILES.byname
index 840c004995..77c4b29ba5 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -116,7 +116,7 @@
2023/08/11 | 1448 | biblio/bibtex/bibtex-x/tests/bibtex8.test
2023/08/11 | 1632 | biblio/bibtex/bibtex-x/tests/bibtex8u-mem.test
2023/08/11 | 831 | biblio/bibtex/bibtex-x/tests/bibtexu-basic.test
-2023/08/11 | 2194 | biblio/bibtex/bibtex-x/tests/bibtexu-char.test
+2023/08/13 | 2193 | biblio/bibtex/bibtex-x/tests/bibtexu-char.test
2023/08/11 | 699 | biblio/bibtex/bibtex-x/tests/bibtexu-range.test
2023/08/11 | 970 | biblio/bibtex/bibtex-x/tests/bibtexu-sort.test
2023/08/11 | 1436 | biblio/bibtex/bibtex-x/tests/bibtexu.test
@@ -204,7 +204,7 @@
2023/07/15 | 94801 | biblio/bibtex/bibtex-x/utils.c
2022/04/29 | 5163 | biblio/bibtex/bibtex-x/utils.h
2023/07/15 | 3731 | biblio/bibtex/bibtex-x/version.h
-2023/08/12 | 520500 | biblio/bibtex/bibtex-x.zip
+2023/08/14 | 520504 | biblio/bibtex/bibtex-x.zip
1991/09/08 | 918 | biblio/bibtex/contrib/abstyles/a4c.sty
1991/09/28 | 1000 | biblio/bibtex/contrib/abstyles/a4c.tex
1992/05/25 | 17727 | biblio/bibtex/contrib/abstyles/aabbrv.bst
@@ -2056,12 +2056,12 @@
2023/07/04 | 1675 | biblio/citation-style-language/README.md
2023/07/04 | 12878 | biblio/citation-style-language/vancouver.csl
2023/07/04 | 4522435 | biblio/citation-style-language.zip
-2023/08/13 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/08/14 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/08/13 | 2801499 | biblio/ctan-bibdata/ctan.bib
-2023/08/13 | 3693129 | biblio/ctan-bibdata/ctan.pdf
+2023/08/14 | 2801500 | biblio/ctan-bibdata/ctan.bib
+2023/08/14 | 3695418 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/08/13 | 4093819 | biblio/ctan-bibdata.zip
+2023/08/14 | 4096458 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5421,7 +5421,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/08/13 | 100359 | FILES.last07days
+2023/08/14 | 104283 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -194023,7 +194023,7 @@
2013/07/01 | 1898068 | install/macros/latex/contrib/mdframed.tds.zip
2022/10/12 | 211667 | install/macros/latex/contrib/media4svg.tds.zip
2022/08/04 | 7385937 | install/macros/latex/contrib/media9.tds.zip
-2023/08/08 | 3623212 | install/macros/latex/contrib/memoir.tds.zip
+2023/08/14 | 3609753 | install/macros/latex/contrib/memoir.tds.zip
2020/08/06 | 24409080 | install/macros/latex/contrib/mercatormap.tds.zip
2022/10/18 | 815562 | install/macros/latex/contrib/mfirstuc.tds.zip
2023/03/13 | 3010612 | install/macros/latex/contrib/microtype.tds.zip
@@ -194149,7 +194149,7 @@
2022/10/31 | 367048 | install/macros/latex/contrib/ydoc.tds.zip
2020/04/09 | 806385 | install/macros/latex/contrib/zhlipsum.tds.zip
2022/07/14 | 321454 | install/macros/latex/contrib/zhnumber.tds.zip
-2023/06/19 | 1681297 | install/macros/latex/contrib/zref-clever.tds.zip
+2023/08/14 | 1675347 | install/macros/latex/contrib/zref-clever.tds.zip
2023/06/11 | 40733357 | install/macros/latex-dev/latex-base-dev.tds.zip
2023/06/11 | 2796041 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
2023/05/25 | 275474 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
@@ -227844,27 +227844,27 @@
2017/07/11 | 1480 | macros/latex/contrib/lettre/testfaxe.tex
2019/05/15 | 4894 | macros/latex/contrib/lettre/testfaxf.tex
2020/04/13 | 1084282 | macros/latex/contrib/lettre.zip
-2023/07/04 | 1055 | macros/latex/contrib/lettrine/contrib/lettrine-optfile.cfl
-2023/07/04 | 5136 | macros/latex/contrib/lettrine/contrib/lettrine-pacl.cfl
-2023/07/04 | 5159 | macros/latex/contrib/lettrine/contrib/lettrine-padl.cfl
-2023/07/04 | 3961 | macros/latex/contrib/lettrine/contrib/lettrine-pzc2.cfl
-2023/07/04 | 4165 | macros/latex/contrib/lettrine/contrib/lettrine-pzc3.cfl
-2023/07/04 | 128252 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
-2023/07/04 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
-2023/07/04 | 168279 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
-2023/07/04 | 13607 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
-2023/07/04 | 74185 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
-2023/07/04 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
-2023/07/04 | 125776 | macros/latex/contrib/lettrine/doc/lettrine.pdf
-2023/07/04 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
-2023/07/04 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
-2023/07/04 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
-2023/07/04 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
-2023/07/04 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
-2023/07/04 | 9682 | macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
-2023/07/04 | 47458 | macros/latex/contrib/lettrine/lettrine.dtx
-2023/07/04 | 1552 | macros/latex/contrib/lettrine/README.md
-2023/07/04 | 520683 | macros/latex/contrib/lettrine.zip
+2023/08/14 | 1055 | macros/latex/contrib/lettrine/contrib/lettrine-optfile.cfl
+2023/08/14 | 5136 | macros/latex/contrib/lettrine/contrib/lettrine-pacl.cfl
+2023/08/14 | 5159 | macros/latex/contrib/lettrine/contrib/lettrine-padl.cfl
+2023/08/14 | 3961 | macros/latex/contrib/lettrine/contrib/lettrine-pzc2.cfl
+2023/08/14 | 4165 | macros/latex/contrib/lettrine/contrib/lettrine-pzc3.cfl
+2023/08/14 | 128252 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+2023/08/14 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
+2023/08/14 | 168279 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+2023/08/14 | 13607 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
+2023/08/14 | 74185 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+2023/08/14 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
+2023/08/14 | 126080 | macros/latex/contrib/lettrine/doc/lettrine.pdf
+2023/08/14 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
+2023/08/14 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
+2023/08/14 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
+2023/08/14 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
+2023/08/14 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
+2023/08/14 | 9682 | macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
+2023/08/14 | 47622 | macros/latex/contrib/lettrine/lettrine.dtx
+2023/08/14 | 1552 | macros/latex/contrib/lettrine/README.md
+2023/08/14 | 521230 | macros/latex/contrib/lettrine.zip
1995/05/17 | 15851 | macros/latex/contrib/levy/levy.dtx
1995/05/17 | 3256 | macros/latex/contrib/levy/levy.ins
2005/04/30 | 7287 | macros/latex/contrib/levy.zip
@@ -229049,25 +229049,25 @@
2008/03/20 | 13908 | macros/latex/contrib/memexsupp/memexsupp.tex
2008/03/20 | 1336 | macros/latex/contrib/memexsupp/README
2008/03/20 | 123432 | macros/latex/contrib/memexsupp.zip
-2023/08/08 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps
-2023/08/08 | 206 | macros/latex/contrib/memoir/doc-src/Makeidxglo
-2023/08/08 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
-2023/08/08 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty
-2023/08/08 | 432 | macros/latex/contrib/memoir/doc-src/memman.gst
-2023/08/08 | 389 | macros/latex/contrib/memoir/doc-src/memman.ist
-2023/08/08 | 1520265 | macros/latex/contrib/memoir/doc-src/memman.tex
-2023/08/08 | 7423 | macros/latex/contrib/memoir/doc-src/memnoidxnum.tex
-2023/08/08 | 42311 | macros/latex/contrib/memoir/doc-src/memsty.sty
-2023/08/08 | 203838 | macros/latex/contrib/memoir/doc-src/setpage-example.pdf
-2023/08/08 | 17396 | macros/latex/contrib/memoir/doc-src/titlepages.sty
-2023/08/08 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
-2023/08/08 | 2845232 | macros/latex/contrib/memoir/memman.pdf
-2023/08/08 | 1122850 | macros/latex/contrib/memoir/memoir.dtx
-2023/08/08 | 3977 | macros/latex/contrib/memoir/memoir.ins
-2023/08/08 | 36627 | macros/latex/contrib/memoir/mempatch.dtx
-2023/08/08 | 2852 | macros/latex/contrib/memoir/mempatch.ins
-2023/08/08 | 52303 | macros/latex/contrib/memoir/README
-2023/08/08 | 3522153 | macros/latex/contrib/memoir.zip
+2023/08/14 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps
+2023/08/14 | 206 | macros/latex/contrib/memoir/doc-src/Makeidxglo
+2023/08/14 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
+2023/08/14 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty
+2023/08/14 | 432 | macros/latex/contrib/memoir/doc-src/memman.gst
+2023/08/14 | 389 | macros/latex/contrib/memoir/doc-src/memman.ist
+2023/08/14 | 1542304 | macros/latex/contrib/memoir/doc-src/memman.tex
+2023/08/14 | 7423 | macros/latex/contrib/memoir/doc-src/memnoidxnum.tex
+2023/08/14 | 42378 | macros/latex/contrib/memoir/doc-src/memsty.sty
+2023/08/14 | 203838 | macros/latex/contrib/memoir/doc-src/setpage-example.pdf
+2023/08/14 | 17396 | macros/latex/contrib/memoir/doc-src/titlepages.sty
+2023/08/14 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
+2023/08/14 | 2826438 | macros/latex/contrib/memoir/memman.pdf
+2023/08/14 | 1123032 | macros/latex/contrib/memoir/memoir.dtx
+2023/08/14 | 3977 | macros/latex/contrib/memoir/memoir.ins
+2023/08/14 | 36627 | macros/latex/contrib/memoir/mempatch.dtx
+2023/08/14 | 2852 | macros/latex/contrib/memoir/mempatch.ins
+2023/08/14 | 52462 | macros/latex/contrib/memoir/README
+2023/08/14 | 3508696 | macros/latex/contrib/memoir.zip
2013/05/13 | 5708 | macros/latex/contrib/memory/memory.dtx
2013/05/10 | 1942 | macros/latex/contrib/memory/memory.ins
2013/05/13 | 30008 | macros/latex/contrib/memory/memory.pdf
@@ -230572,15 +230572,15 @@
1996/03/22 | 18862 | macros/latex/contrib/niceframe/umrandb.mf
2015/01/17 | 1370 | macros/latex/contrib/niceframe/umrand.mf
2015/01/17 | 287910 | macros/latex/contrib/niceframe.zip
-2023/07/17 | 556612 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
-2023/07/17 | 918695 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
-2023/07/17 | 580394 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
-2023/07/14 | 238561 | macros/latex/contrib/nicematrix/nicematrix-french.tex
-2023/07/14 | 1428 | macros/latex/contrib/nicematrix/nicematrix.ins
-2023/07/17 | 598471 | macros/latex/contrib/nicematrix/nicematrix.pdf
-2023/07/14 | 248977 | macros/latex/contrib/nicematrix/nicematrix.tex
+2023/08/14 | 571811 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
+2023/08/14 | 939983 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
+2023/08/14 | 584003 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
+2023/08/14 | 240540 | macros/latex/contrib/nicematrix/nicematrix-french.tex
+2023/08/14 | 1428 | macros/latex/contrib/nicematrix/nicematrix.ins
+2023/08/14 | 602607 | macros/latex/contrib/nicematrix/nicematrix.pdf
+2023/08/14 | 250272 | macros/latex/contrib/nicematrix/nicematrix.tex
2023/05/15 | 1028 | macros/latex/contrib/nicematrix/README.md
-2023/07/17 | 2268187 | macros/latex/contrib/nicematrix.zip
+2023/08/14 | 2300862 | macros/latex/contrib/nicematrix.zip
2015/11/21 | 217 | macros/latex/contrib/nicetext/ANNOUNCE.txt
2012/03/18 | 254582 | macros/latex/contrib/nicetext/demo/arseneau.pdf
2011/09/14 | 10 | macros/latex/contrib/nicetext/demo/iso.txt
@@ -231531,6 +231531,220 @@
2023/03/02 | 105320 | macros/latex/contrib/pangram/pangram.pdf
2023/03/02 | 441 | macros/latex/contrib/pangram/README.md
2023/03/02 | 106070 | macros/latex/contrib/pangram.zip
+2023/08/14 | 670553 | macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf
+2023/08/14 | 47803 | macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex
+2023/08/14 | 753 | macros/latex/contrib/panneauxroute/README.md
+2023/08/12 | 2270 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13a.pdf
+2023/08/12 | 2644 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13b.pdf
+2023/08/12 | 1705 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA14.pdf
+2023/08/12 | 1937 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a1.pdf
+2023/08/12 | 2124 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a2.pdf
+2023/08/12 | 2470 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15b.pdf
+2023/08/12 | 2152 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15c.pdf
+2023/08/12 | 3884 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA16.pdf
+2023/08/12 | 1769 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA17.pdf
+2023/08/12 | 1577 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA18.pdf
+2023/08/12 | 1891 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA19.pdf
+2023/08/12 | 1607 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1a.pdf
+2023/08/12 | 1596 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1b.pdf
+2023/08/12 | 1624 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1c.pdf
+2023/08/12 | 1627 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1d.pdf
+2023/08/12 | 2247 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA20.pdf
+2023/08/12 | 3036 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA21.pdf
+2023/08/12 | 1656 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA23.pdf
+2023/08/12 | 2041 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA24.pdf
+2023/08/12 | 1669 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2a.pdf
+2023/08/12 | 1589 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2b.pdf
+2023/08/12 | 1543 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3a.pdf
+2023/08/12 | 1540 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3b.pdf
+2023/08/12 | 1565 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3.pdf
+2023/08/12 | 4117 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA4.pdf
+2023/08/12 | 2046 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA6.pdf
+2023/08/12 | 1842 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA7.pdf
+2023/08/12 | 4457 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA8.pdf
+2023/08/12 | 2549 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA9.pdf
+2023/08/12 | 1634 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC107.pdf
+2023/08/12 | 1707 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC108.pdf
+2023/08/12 | 1646 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC111.pdf
+2023/08/12 | 1702 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC112.pdf
+2023/08/12 | 2418 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC113.pdf
+2023/08/12 | 2458 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC114.pdf
+2023/08/12 | 2461 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC115.pdf
+2023/08/12 | 2525 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC116.pdf
+2023/08/12 | 1444 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC12.pdf
+2023/08/12 | 1388 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13a.pdf
+2023/08/12 | 1393 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13b.pdf
+2023/08/12 | 9134 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_1.pdf
+2023/08/12 | 18670 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_2.pdf
+2023/08/12 | 1484 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC18.pdf
+2023/08/12 | 1440 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1a.pdf
+2023/08/12 | 1631 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1b.pdf
+2023/08/12 | 2212 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1c.pdf
+2023/08/12 | 1510 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC207.pdf
+2023/08/12 | 1584 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC208.pdf
+2023/08/12 | 2526 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20a.pdf
+2023/08/12 | 2059 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20c.pdf
+2023/08/12 | 18555 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC23.pdf
+2023/08/12 | 2242 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a1.pdf
+2023/08/12 | 2207 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a4.pdf
+2023/08/12 | 1464 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b1.pdf
+2023/08/12 | 1502 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b2.pdf
+2023/08/12 | 1968 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c1.pdf
+2023/08/12 | 2503 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c2.pdf
+2023/08/12 | 8028 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25a.pdf
+2023/08/12 | 6415 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25b.pdf
+2023/08/12 | 1538 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26a.pdf
+2023/08/12 | 1537 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26b.pdf
+2023/08/12 | 1428 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC27.pdf
+2023/08/12 | 1427 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28a.pdf
+2023/08/12 | 1463 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28b.pdf
+2023/08/12 | 1566 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29a.pdf
+2023/08/12 | 1475 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29b.pdf
+2023/08/12 | 1487 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC30.pdf
+2023/08/12 | 6956 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC3.pdf
+2023/08/12 | 2865 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4a.pdf
+2023/08/12 | 2923 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4b.pdf
+2023/08/12 | 6610 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC50.pdf
+2023/08/12 | 2414 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC5.pdf
+2023/08/12 | 3478 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC62.pdf
+2023/08/12 | 2000 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64a.pdf
+2023/08/12 | 1663 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64b.pdf
+2023/08/12 | 3779 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64c.pdf
+2023/08/12 | 1461 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d1.pdf
+2023/08/12 | 1525 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d2.pdf
+2023/08/12 | 1867 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC6.pdf
+2023/08/12 | 1504 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC8.pdf
+2023/08/12 | 1299 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB0.pdf
+2023/08/12 | 3205 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB10a.pdf
+2023/08/12 | 2706 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB11.pdf
+2023/08/12 | 3058 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB12.pdf
+2023/08/12 | 4830 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13a.pdf
+2023/08/12 | 2427 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13.pdf
+2023/08/12 | 2670 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_110.pdf
+2023/08/12 | 3430 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_130.pdf
+2023/08/12 | 1945 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_15.pdf
+2023/08/12 | 3338 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_30.pdf
+2023/08/12 | 2895 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_50.pdf
+2023/08/12 | 2544 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_70.pdf
+2023/08/12 | 2962 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_90.pdf
+2023/08/12 | 1417 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB15.pdf
+2023/08/12 | 1590 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB16.pdf
+2023/08/12 | 3096 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB17.pdf
+2023/08/12 | 2205 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18a.pdf
+2023/08/12 | 1949 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18b.pdf
+2023/08/12 | 1655 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18c.pdf
+2023/08/12 | 5662 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB19.pdf
+2023/08/12 | 1287 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1.pdf
+2023/08/12 | 1599 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2a.pdf
+2023/08/12 | 1577 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2b.pdf
+2023/08/12 | 1628 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2c.pdf
+2023/08/12 | 1355 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB31.pdf
+2023/08/12 | 3914 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_110.pdf
+2023/08/12 | 4678 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_130.pdf
+2023/08/12 | 2823 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_15.pdf
+2023/08/12 | 5335 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_30.pdf
+2023/08/12 | 4444 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_50.pdf
+2023/08/12 | 3990 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_70.pdf
+2023/08/12 | 4358 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_90.pdf
+2023/08/12 | 2482 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34a.pdf
+2023/08/12 | 2700 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34.pdf
+2023/08/12 | 2268 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB35.pdf
+2023/08/12 | 6692 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB39.pdf
+2023/08/12 | 2217 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3a.pdf
+2023/08/12 | 1874 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3.pdf
+2023/08/12 | 5574 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB4.pdf
+2023/08/12 | 3274 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5a.pdf
+2023/08/12 | 3016 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5b.pdf
+2023/08/12 | 2661 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5c.pdf
+2023/08/12 | 1586 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a1.pdf
+2023/08/12 | 2264 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a2.pdf
+2023/08/12 | 3165 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a3.pdf
+2023/08/12 | 8755 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6d.pdf
+2023/08/12 | 2567 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7a.pdf
+2023/08/12 | 3485 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7b.pdf
+2023/08/12 | 1910 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB8.pdf
+2023/08/12 | 1676 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9a.pdf
+2023/08/12 | 2397 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9b.pdf
+2023/08/12 | 2055 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9c.pdf
+2023/08/12 | 1750 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9d.pdf
+2023/08/12 | 2424 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9e.pdf
+2023/08/12 | 1857 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9f.pdf
+2023/08/12 | 2158 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9g.pdf
+2023/08/12 | 2815 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9h.pdf
+2023/08/12 | 3178 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9i.pdf
+2023/08/12 | 1546 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB1.pdf
+2023/08/12 | 1798 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB25.pdf
+2023/08/12 | 1543 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB2.pdf
+2023/08/12 | 6621 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3a.pdf
+2023/08/12 | 3542 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3b.pdf
+2023/08/12 | 2884 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB4.pdf
+2023/08/12 | 5069 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB5.pdf
+2023/08/12 | 1370 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB6.pdf
+2023/08/12 | 1524 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB7.pdf
+2023/08/12 | 1298 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-1.pdf
+2023/08/12 | 1306 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-2.pdf
+2023/08/12 | 1311 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a1.pdf
+2023/08/12 | 1335 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a2.pdf
+2023/08/12 | 1332 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21b.pdf
+2023/08/12 | 1415 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c1.pdf
+2023/08/12 | 1432 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c2.pdf
+2023/08/12 | 1451 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d1.pdf
+2023/08/12 | 1488 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d2.pdf
+2023/08/12 | 1491 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21e.pdf
+2023/08/12 | 2335 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22a.pdf
+2023/08/12 | 2757 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22b.pdf
+2023/08/12 | 3210 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22c.pdf
+2023/08/12 | 3296 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB25.pdf
+2023/08/12 | 10223 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB26.pdf
+2023/08/12 | 1776 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27a.pdf
+2023/08/12 | 2668 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27b.pdf
+2023/08/12 | 3527 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB29.pdf
+2023/08/12 | 2445 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB40.pdf
+2023/08/12 | 2877 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB41.pdf
+2023/08/12 | 1984 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB42.pdf
+2023/08/12 | 3347 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB43.pdf
+2023/08/12 | 11003 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB44.pdf
+2023/08/12 | 1925 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB45a.pdf
+2023/08/12 | 4144 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49.pdf
+2023/08/14 | 14980 | macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty
+2023/08/12 | 2787 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE10.pdf
+2023/08/12 | 2264 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE12.pdf
+2023/08/12 | 1720 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE14.pdf
+2023/08/12 | 1615 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15a.pdf
+2023/08/12 | 2494 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15c.pdf
+2023/08/12 | 1866 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE16.pdf
+2023/08/12 | 1675 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE17.pdf
+2023/08/12 | 1528 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE18.pdf
+2023/08/12 | 2336 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE19.pdf
+2023/08/12 | 1403 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE1.pdf
+2023/08/12 | 2004 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20a.pdf
+2023/08/12 | 2376 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20b.pdf
+2023/08/12 | 1603 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE21.pdf
+2023/08/12 | 2919 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE22.pdf
+2023/08/12 | 2295 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE23.pdf
+2023/08/12 | 2367 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE24.pdf
+2023/08/12 | 3459 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE25.pdf
+2023/08/12 | 2823 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE26.pdf
+2023/08/12 | 1903 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE27.pdf
+2023/08/12 | 1636 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE28.pdf
+2023/08/12 | 1669 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE29.pdf
+2023/08/12 | 3815 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2a.pdf
+2023/08/12 | 1815 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2b.pdf
+2023/08/12 | 2567 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30a.pdf
+2023/08/12 | 2555 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30b.pdf
+2023/08/12 | 1546 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE3a.pdf
+2023/08/12 | 1490 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4a.pdf
+2023/08/12 | 1898 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4b.pdf
+2023/08/12 | 2127 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4c.pdf
+2023/08/12 | 7626 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE50.pdf
+2023/08/12 | 1986 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5a.pdf
+2023/08/12 | 1671 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5b.pdf
+2023/08/12 | 2069 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6a.pdf
+2023/08/12 | 1997 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6b.pdf
+2023/08/12 | 1732 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE7.pdf
+2023/08/12 | 2002 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE8.pdf
+2023/08/12 | 1867 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE9.pdf
+2023/08/14 | 1139969 | macros/latex/contrib/panneauxroute.zip
2006/08/07 | 477 | macros/latex/contrib/papercdcase/example.tex
2006/08/07 | 3107 | macros/latex/contrib/papercdcase/interactive.tex
2006/08/07 | 43207 | macros/latex/contrib/papercdcase/papercdcase.dtx
@@ -233194,132 +233408,130 @@
2022/05/05 | 80898 | macros/latex/contrib/prociagssymp/TestprocIAGssymp.pdf
2022/05/05 | 6335 | macros/latex/contrib/prociagssymp/TestprocIAGssymp.tex
2022/05/06 | 86110 | macros/latex/contrib/prociagssymp.zip
-2023/08/01 | 9123899 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2023/08/01 | 2248866 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
-2023/07/30 | 11046 | macros/latex/contrib/profcollege/latex/PfCAutomatismes.tex
-2023/07/30 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
-2023/07/30 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
-2023/07/30 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
-2023/07/30 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
-2023/07/30 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
-2023/07/30 | 4387 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
-2023/07/30 | 14927 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
-2023/07/30 | 6465 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
-2023/07/30 | 7230 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
-2023/07/30 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
-2023/07/30 | 25670 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
-2023/07/30 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
-2023/07/30 | 9724 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
-2023/07/30 | 7497 | macros/latex/contrib/profcollege/latex/PfCCible.tex
-2023/07/30 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
-2023/07/30 | 11255 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
-2023/07/30 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
-2023/07/30 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
-2023/07/30 | 23117 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
-2023/07/30 | 10479 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
-2023/07/30 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
-2023/07/30 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
-2023/07/30 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
-2023/07/30 | 58615 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
+2023/08/13 | 9105909 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/08/13 | 2253549 | macros/latex/contrib/profcollege/doc/profcollege-doc.zip
+2023/08/11 | 11046 | macros/latex/contrib/profcollege/latex/PfCAutomatismes.tex
+2023/08/11 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
+2023/08/11 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
+2023/08/11 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
+2023/08/11 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
+2023/08/11 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
+2023/08/11 | 4441 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
+2023/08/11 | 12069 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
+2023/08/11 | 6465 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
+2023/08/11 | 8870 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
+2023/08/11 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
+2023/08/11 | 25670 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
+2023/08/11 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
+2023/08/13 | 10129 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+2023/08/11 | 7497 | macros/latex/contrib/profcollege/latex/PfCCible.tex
+2023/08/11 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
+2023/08/11 | 11255 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
+2023/08/11 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
+2023/08/11 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
+2023/08/11 | 23237 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
+2023/08/11 | 10479 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
+2023/08/11 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
+2023/08/11 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
+2023/08/11 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
+2023/08/11 | 58611 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
2023/08/01 | 2734 | macros/latex/contrib/profcollege/latex/PfCdobble.lua
-2023/08/01 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
-2023/07/30 | 4117 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
-2023/07/04 | 9420 | macros/latex/contrib/profcollege/latex/PfCEcrireQCMold.tex
-2023/07/30 | 9326 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
-2023/07/30 | 2470 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
-2023/07/30 | 13189 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
-2023/07/30 | 2019 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
-2023/07/30 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
-2023/07/30 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
+2023/08/11 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
+2023/08/11 | 4113 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
+2023/08/11 | 9326 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
+2023/08/11 | 2470 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
+2023/08/11 | 13187 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+2023/08/11 | 2013 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
+2023/08/11 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
+2023/08/11 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
2023/06/23 | 23478 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
2023/06/23 | 19350 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
2023/06/23 | 20438 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
2023/06/23 | 27165 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
2023/06/23 | 15309 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
2023/06/23 | 22791 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
-2023/07/30 | 3800 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
-2023/07/30 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
-2023/07/30 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
-2023/07/30 | 15861 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
-2023/07/30 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
-2023/07/30 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
-2023/07/30 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
-2023/07/30 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
-2023/07/30 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
-2023/07/30 | 6941 | macros/latex/contrib/profcollege/latex/PfCGrimuku.tex
-2023/07/30 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
-2023/07/30 | 7105 | macros/latex/contrib/profcollege/latex/PfCHorloge.tex
-2023/07/30 | 3806 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
-2023/07/30 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
-2023/07/30 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
-2023/07/30 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
-2023/07/30 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
-2023/07/30 | 29330 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
+2023/08/11 | 3798 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
+2023/08/11 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
+2023/08/11 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
+2023/08/11 | 15861 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
+2023/08/11 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
+2023/08/11 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
+2023/08/11 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
+2023/08/11 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
+2023/08/11 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
+2023/08/11 | 6941 | macros/latex/contrib/profcollege/latex/PfCGrimuku.tex
+2023/08/11 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
+2023/08/11 | 7105 | macros/latex/contrib/profcollege/latex/PfCHorloge.tex
+2023/08/11 | 3806 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
+2023/08/11 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
+2023/08/11 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
+2023/08/11 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
+2023/08/11 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
+2023/08/11 | 29357 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
2023/08/01 | 54466 | macros/latex/contrib/profcollege/latex/PfCLogoNumberHive.png
-2023/07/30 | 2942 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
-2023/07/30 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
-2023/07/30 | 10548 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
-2023/07/30 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
-2023/07/30 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
-2023/07/30 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
-2023/07/30 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
-2023/07/30 | 4125 | macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
-2023/07/30 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
-2023/07/30 | 14120 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
-2023/07/30 | 38866 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
-2023/07/30 | 12062 | macros/latex/contrib/profcollege/latex/PfCNumberHive.tex
-2023/07/30 | 5591 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
-2023/07/30 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
-2023/07/30 | 5824 | macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
-2023/07/30 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
-2023/07/30 | 35829 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
-2023/07/30 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
-2023/07/30 | 8166 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
-2023/07/30 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
-2023/07/30 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
-2023/07/30 | 15405 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
-2023/07/30 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
-2023/07/30 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
-2023/07/30 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
-2023/07/30 | 9400 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
-2023/07/30 | 1287 | macros/latex/contrib/profcollege/latex/PfCPyraVoca.tex
-2023/07/30 | 26408 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
-2023/07/30 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
-2023/07/30 | 2305 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
-2023/07/30 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
-2023/07/30 | 7314 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
-2023/07/30 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
-2023/07/30 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
-2023/07/30 | 76929 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
-2023/07/30 | 15326 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
-2023/07/30 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
-2023/07/30 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
-2023/07/30 | 5223 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
-2023/07/30 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
-2023/07/30 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
-2023/07/30 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
-2023/07/30 | 16486 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
-2023/07/30 | 18239 | macros/latex/contrib/profcollege/latex/PfCRose.tex
-2023/07/30 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
-2023/07/30 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
-2023/07/30 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
-2023/07/30 | 28719 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
-2023/07/30 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
-2023/07/30 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
-2023/07/04 | 80994 | macros/latex/contrib/profcollege/latex/PfCStatistiquesoldold.tex
-2023/07/04 | 80418 | macros/latex/contrib/profcollege/latex/PfCStatistiquesold.tex
-2023/07/30 | 82730 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
-2023/07/30 | 82575 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
-2023/07/30 | 3466 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
-2023/07/30 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
-2023/07/30 | 56986 | macros/latex/contrib/profcollege/latex/PfCThales.tex
-2023/07/30 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
-2023/07/30 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
-2023/07/30 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
-2023/07/30 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
-2023/07/30 | 9734 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
-2023/07/30 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
-2023/08/01 | 18516 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/08/11 | 2942 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
+2023/08/11 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
+2023/08/11 | 10548 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
+2023/08/11 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
+2023/08/11 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
+2023/08/11 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
+2023/08/11 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
+2023/08/11 | 14951 | macros/latex/contrib/profcollege/latex/PfCMulArt.tex
+2023/08/11 | 4125 | macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
+2023/08/11 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
+2023/08/11 | 14120 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
+2023/08/11 | 38860 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+2023/08/11 | 12065 | macros/latex/contrib/profcollege/latex/PfCNumberHive.tex
+2023/08/11 | 5591 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
+2023/08/11 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
+2023/08/11 | 5824 | macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
+2023/08/11 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
+2023/08/11 | 35829 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
+2023/08/11 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
+2023/08/11 | 8166 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
+2023/08/11 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
+2023/08/11 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
+2023/08/11 | 15405 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
+2023/08/11 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
+2023/08/11 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
+2023/08/11 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
+2023/08/11 | 9404 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
+2023/08/11 | 1287 | macros/latex/contrib/profcollege/latex/PfCPyraVoca.tex
+2023/08/11 | 26408 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
+2023/08/11 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
+2023/08/11 | 2301 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+2023/08/11 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
+2023/08/11 | 7314 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
+2023/08/11 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
+2023/08/11 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
+2023/08/11 | 76961 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
+2023/08/11 | 15326 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
+2023/08/11 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
+2023/08/11 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
+2023/08/11 | 5223 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
+2023/08/11 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
+2023/08/11 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
+2023/08/11 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
+2023/08/11 | 16486 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
+2023/08/11 | 18239 | macros/latex/contrib/profcollege/latex/PfCRose.tex
+2023/08/11 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
+2023/08/11 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
+2023/08/11 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
+2023/08/11 | 28872 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
+2023/08/11 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
+2023/08/11 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
+2023/08/11 | 82730 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
+2023/08/11 | 82573 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
+2023/08/11 | 3466 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
+2023/08/11 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
+2023/08/11 | 56982 | macros/latex/contrib/profcollege/latex/PfCThales.tex
+2023/08/11 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
+2023/08/11 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
+2023/08/11 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
+2023/08/11 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
+2023/08/11 | 9734 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
+2023/08/11 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
+2023/08/11 | 18605 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2023/06/23 | 8247 | macros/latex/contrib/profcollege/metapost/datastest/PfCafganistan.dat
2023/06/23 | 10915 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud1.dat
2023/06/23 | 218 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud2.dat
@@ -233528,7 +233740,7 @@
2023/07/30 | 13485 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
2023/07/30 | 969 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp
2023/07/30 | 2335 | macros/latex/contrib/profcollege/metapost/PfCEngrenages.mp
-2023/07/30 | 53608 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
+2023/08/13 | 60200 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
2023/07/30 | 7465 | macros/latex/contrib/profcollege/metapost/PfCLabyNombre.mp
2023/07/30 | 1682 | macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp
2023/07/30 | 42630 | macros/latex/contrib/profcollege/metapost/PfCMonde.mp
@@ -233541,7 +233753,7 @@
2023/07/30 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
2023/07/30 | 1683 | macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp
2023/06/23 | 435 | macros/latex/contrib/profcollege/README
-2023/08/01 | 13791976 | macros/latex/contrib/profcollege.zip
+2023/08/14 | 13761445 | macros/latex/contrib/profcollege.zip
2022/04/26 | 130555 | macros/latex/contrib/proflabo/doc/ProfLabo-doc.pdf
2022/04/26 | 16528 | macros/latex/contrib/proflabo/doc/ProfLabo-doc.tex
2022/04/26 | 323 | macros/latex/contrib/proflabo/README.md
@@ -233589,13 +233801,13 @@
2023/04/13 | 6608 | macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex
2023/05/03 | 42723 | macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex
2023/08/09 | 1402708 | macros/latex/contrib/proflycee.zip
-2023/08/11 | 177321 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
-2023/08/11 | 39833 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
+2023/08/13 | 177327 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
+2023/08/13 | 39831 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
2023/06/23 | 17412 | macros/latex/contrib/profmaquette/doc/TestParcoursPerso.pdf
2023/06/23 | 756 | macros/latex/contrib/profmaquette/doc/TestParcoursPerso.tex
-2023/08/11 | 72506 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
+2023/08/13 | 72756 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
2023/06/23 | 355 | macros/latex/contrib/profmaquette/README
-2023/08/11 | 205075 | macros/latex/contrib/profmaquette.zip
+2023/08/14 | 205148 | macros/latex/contrib/profmaquette.zip
1996/02/05 | 1760 | macros/latex/contrib/progkeys/demo/demo.tex
1996/02/05 | 459 | macros/latex/contrib/progkeys/demo/prog1.tex
1996/02/05 | 347 | macros/latex/contrib/progkeys/demo/prog2.tex
@@ -234503,113 +234715,113 @@
2023/06/23 | 5602 | macros/latex/contrib/reledmac/doc-include/migrate-par.dtx
2023/06/23 | 16 | macros/latex/contrib/reledmac/doc-more/latexmkrc
2023/06/23 | 243 | macros/latex/contrib/reledmac/doc-more/makefile
-2023/07/21 | 40794 | macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+2023/08/14 | 40791 | macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
2023/06/23 | 4645 | macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.tex
-2023/07/21 | 201564 | macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+2023/08/14 | 201564 | macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
2023/06/23 | 1979 | macros/latex/contrib/reledmac/examples/1-criticalendnotes.tex
-2023/07/21 | 197819 | macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+2023/08/14 | 197819 | macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
2023/06/23 | 2161 | macros/latex/contrib/reledmac/examples/1-criticalnotes.tex
-2023/07/21 | 295209 | macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+2023/08/14 | 295209 | macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
2023/06/23 | 9804 | macros/latex/contrib/reledmac/examples/1-sidenotes.tex
-2023/07/21 | 285556 | macros/latex/contrib/reledmac/examples/1-tabular.pdf
+2023/08/14 | 285556 | macros/latex/contrib/reledmac/examples/1-tabular.pdf
2023/06/23 | 2004 | macros/latex/contrib/reledmac/examples/1-tabular.tex
-2023/07/21 | 198959 | macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+2023/08/14 | 198959 | macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
2023/06/23 | 2592 | macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.tex
-2023/07/21 | 198794 | macros/latex/contrib/reledmac/examples/1-verses.pdf
+2023/08/14 | 198794 | macros/latex/contrib/reledmac/examples/1-verses.pdf
2023/06/23 | 1902 | macros/latex/contrib/reledmac/examples/1-verses.tex
-2023/07/21 | 210969 | macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+2023/08/14 | 210969 | macros/latex/contrib/reledmac/examples/2-antilabe.pdf
2023/06/23 | 1998 | macros/latex/contrib/reledmac/examples/2-antilabe.tex
-2023/07/21 | 198304 | macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+2023/08/14 | 198304 | macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
2023/06/23 | 1857 | macros/latex/contrib/reledmac/examples/2-cross_referencing.tex
-2023/07/21 | 201443 | macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+2023/08/14 | 201443 | macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
2023/06/23 | 6806 | macros/latex/contrib/reledmac/examples/2-footnote_spacing.tex
-2023/07/21 | 285503 | macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+2023/08/14 | 285503 | macros/latex/contrib/reledmac/examples/2-glossaries.pdf
2023/06/23 | 1794 | macros/latex/contrib/reledmac/examples/2-glossaries.tex
-2023/07/21 | 278070 | macros/latex/contrib/reledmac/examples/2-indexing.pdf
+2023/08/14 | 278070 | macros/latex/contrib/reledmac/examples/2-indexing.pdf
2023/06/23 | 2761 | macros/latex/contrib/reledmac/examples/2-indexing.tex
-2023/07/21 | 276219 | macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+2023/08/14 | 276219 | macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
2023/06/23 | 1140 | macros/latex/contrib/reledmac/examples/2-lemma_disambigution.tex
-2023/07/21 | 292434 | macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+2023/08/14 | 292434 | macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
2023/06/23 | 11391 | macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.tex
-2023/07/21 | 286626 | macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+2023/08/14 | 286626 | macros/latex/contrib/reledmac/examples/2-linespacing.pdf
2023/06/23 | 1488 | macros/latex/contrib/reledmac/examples/2-linespacing.tex
-2023/07/21 | 288123 | macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+2023/08/14 | 288123 | macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
2023/06/23 | 21449 | macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.tex
-2023/07/21 | 204669 | macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+2023/08/14 | 204669 | macros/latex/contrib/reledmac/examples/2-notes-width.pdf
2023/06/23 | 1528 | macros/latex/contrib/reledmac/examples/2-notes-width.tex
-2023/07/21 | 212242 | macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+2023/08/14 | 212242 | macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
2023/06/23 | 5161 | macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.tex
-2023/07/21 | 284583 | macros/latex/contrib/reledmac/examples/2-performances.pdf
+2023/08/14 | 284583 | macros/latex/contrib/reledmac/examples/2-performances.pdf
2023/06/23 | 2710 | macros/latex/contrib/reledmac/examples/2-performances.tex
-2023/07/21 | 36940 | macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+2023/08/14 | 36940 | macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
2023/07/03 | 2524 | macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.tex
-2023/07/21 | 310603 | macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+2023/08/14 | 310603 | macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
2023/06/23 | 15949 | macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.tex
-2023/07/21 | 288795 | macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+2023/08/14 | 288795 | macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
2023/06/23 | 3065 | macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.tex
-2023/07/21 | 199918 | macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+2023/08/14 | 199918 | macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
2023/06/23 | 2006 | macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.tex
-2023/07/21 | 23442 | macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+2023/08/14 | 23441 | macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
2023/07/08 | 2395 | macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.tex
-2023/07/21 | 175650 | macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+2023/08/14 | 175650 | macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
2023/06/23 | 2912 | macros/latex/contrib/reledmac/examples/3-reledpar_mwe.tex
-2023/07/21 | 32047 | macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+2023/08/14 | 32047 | macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
2023/07/08 | 2034 | macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.tex
-2023/07/21 | 289211 | macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+2023/08/14 | 289211 | macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
2023/06/23 | 20137 | macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.tex
-2023/07/21 | 200041 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+2023/08/14 | 200041 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
2023/06/23 | 1665 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.tex
-2023/07/21 | 199278 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+2023/08/14 | 199278 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
2023/06/23 | 1627 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.tex
-2023/07/21 | 177110 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+2023/08/14 | 177110 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
2023/06/23 | 1553 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.tex
-2023/07/21 | 198615 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
-2023/07/21 | 199681 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+2023/08/14 | 198615 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+2023/08/14 | 199681 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
2023/06/23 | 1644 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.tex
2023/06/23 | 1603 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.tex
-2023/07/21 | 198665 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+2023/08/14 | 198665 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
2023/06/23 | 1609 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.tex
-2023/07/21 | 198797 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+2023/08/14 | 198797 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
2023/06/23 | 1611 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.tex
-2023/07/21 | 214377 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+2023/08/14 | 214377 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
2023/06/23 | 13653 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.tex
-2023/07/21 | 210488 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+2023/08/14 | 210488 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
2023/06/23 | 12681 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.tex
-2023/07/21 | 204974 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+2023/08/14 | 204974 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
2023/06/23 | 3005 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.tex
-2023/07/21 | 298422 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+2023/08/14 | 298422 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
2023/06/23 | 5587 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.tex
-2023/07/21 | 204015 | macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+2023/08/14 | 204015 | macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
2023/06/23 | 11558 | macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.tex
-2023/07/21 | 225555 | macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+2023/08/14 | 225555 | macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
2023/06/23 | 10033 | macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.tex
-2023/07/21 | 251002 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+2023/08/14 | 251002 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
2023/06/23 | 43045 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.tex
-2023/07/21 | 202381 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+2023/08/14 | 202381 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
2023/06/23 | 6540 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.tex
-2023/07/21 | 198565 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+2023/08/14 | 198565 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
2023/06/23 | 4504 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.tex
-2023/07/21 | 302774 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+2023/08/14 | 302774 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
2023/06/23 | 9314 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.tex
-2023/07/21 | 206955 | macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+2023/08/14 | 206955 | macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
2023/06/23 | 8510 | macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.tex
-2023/07/21 | 194198 | macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+2023/08/14 | 194198 | macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
2023/06/23 | 2157 | macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.tex
2023/06/23 | 49 | macros/latex/contrib/reledmac/examples/latexmkrc
2023/07/03 | 817 | macros/latex/contrib/reledmac/examples/makefile
2020/11/24 | 2269 | macros/latex/contrib/reledmac/examples/reledmac.xdy
2021/11/01 | 16 | macros/latex/contrib/reledmac/latexmkrc
-2023/07/20 | 1718 | macros/latex/contrib/reledmac/makefile
+2023/08/14 | 1718 | macros/latex/contrib/reledmac/makefile
2023/07/04 | 3495 | macros/latex/contrib/reledmac/migration.dtx
-2023/07/21 | 368429 | macros/latex/contrib/reledmac/migration.pdf
+2023/08/14 | 368426 | macros/latex/contrib/reledmac/migration.pdf
2023/06/23 | 3962 | macros/latex/contrib/reledmac/README.md
-2023/07/21 | 902227 | macros/latex/contrib/reledmac/reledmac.dtx
+2023/08/14 | 902600 | macros/latex/contrib/reledmac/reledmac.dtx
2023/06/23 | 2691 | macros/latex/contrib/reledmac/reledmac.ins
-2023/07/21 | 2152079 | macros/latex/contrib/reledmac/reledmac.pdf
+2023/08/14 | 2153144 | macros/latex/contrib/reledmac/reledmac.pdf
2023/07/20 | 306827 | macros/latex/contrib/reledmac/reledpar.dtx
2023/06/23 | 2638 | macros/latex/contrib/reledmac/reledpar.ins
-2023/07/21 | 1046914 | macros/latex/contrib/reledmac/reledpar.pdf
-2023/07/21 | 13625992 | macros/latex/contrib/reledmac.zip
+2023/08/14 | 1046914 | macros/latex/contrib/reledmac/reledpar.pdf
+2023/08/14 | 13626949 | macros/latex/contrib/reledmac.zip
1999/02/05 | 10370 | macros/latex/contrib/relenc/2sidedoc.sty
2011/04/06 | 6770 | macros/latex/contrib/relenc/README
1999/02/05 | 13969 | macros/latex/contrib/relenc/reldemo.tex
@@ -237533,21 +237745,6 @@
2016/01/07 | 8394 | macros/latex/contrib/substances/substances-examples.sub
2016/01/07 | 19876 | macros/latex/contrib/substances/substances.sty
2016/05/09 | 585013 | macros/latex/contrib/substances.zip
-2013/11/04 | 322975 | macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf
-2013/11/04 | 2640 | macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex
-2013/11/04 | 261997 | macros/latex/contrib/substitutefont/cyrillic-paratype.pdf
-2013/11/04 | 2997 | macros/latex/contrib/substitutefont/cyrillic-paratype.tex
-2013/11/04 | 351177 | macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
-2013/11/04 | 2200 | macros/latex/contrib/substitutefont/greek-palatino-didot.tex
-2013/11/04 | 393346 | macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
-2013/11/04 | 1743 | macros/latex/contrib/substitutefont/greek-times-artemisia.tex
-2013/11/04 | 4128 | macros/latex/contrib/substitutefont/README
-2013/11/04 | 7746 | macros/latex/contrib/substitutefont/substitutefont-doc.html
-2013/11/04 | 2760 | macros/latex/contrib/substitutefont/substitutefont.sty
-2013/11/04 | 4817 | macros/latex/contrib/substitutefont/substitutefont.sty.html
-2013/11/04 | 147683 | macros/latex/contrib/substitutefont/substitutefont-test.pdf
-2013/11/04 | 1579 | macros/latex/contrib/substitutefont/substitutefont-test.tex
-2013/11/04 | 1484145 | macros/latex/contrib/substitutefont.zip
2009/10/20 | 214 | macros/latex/contrib/substr/ChangeLog
2009/10/20 | 1089 | macros/latex/contrib/substr/README
2009/10/20 | 5724 | macros/latex/contrib/substr/substr.sty
@@ -242915,26 +243112,26 @@
2013/11/26 | 524 | macros/latex/contrib/ziffer/README
2013/11/26 | 3959 | macros/latex/contrib/ziffer/ziffer.sty
2013/11/30 | 2049 | macros/latex/contrib/ziffer.zip
-2023/06/14 | 3892 | macros/latex/contrib/zref-check/CHANGELOG.md
-2023/06/14 | 38 | macros/latex/contrib/zref-check/DEPENDS.txt
-2023/06/14 | 1002 | macros/latex/contrib/zref-check/README.md
-2023/06/14 | 1186166 | macros/latex/contrib/zref-check.zip
-2023/06/14 | 745278 | macros/latex/contrib/zref-check/zref-check-code.pdf
-2023/06/14 | 2175 | macros/latex/contrib/zref-check/zref-check-code.tex
-2023/06/14 | 453555 | macros/latex/contrib/zref-check/zref-check-doc.pdf
-2023/06/14 | 22491 | macros/latex/contrib/zref-check/zref-check-doc.tex
-2023/06/14 | 67973 | macros/latex/contrib/zref-check/zref-check.dtx
-2023/06/14 | 2607 | macros/latex/contrib/zref-check/zref-check.ins
-2023/06/19 | 7677 | macros/latex/contrib/zref-clever/CHANGELOG.md
-2023/06/19 | 70 | macros/latex/contrib/zref-clever/DEPENDS.txt
-2023/06/19 | 823 | macros/latex/contrib/zref-clever/README.md
-2023/06/19 | 1644303 | macros/latex/contrib/zref-clever.zip
-2023/06/19 | 1275753 | macros/latex/contrib/zref-clever/zref-clever-code.pdf
-2023/06/19 | 1543 | macros/latex/contrib/zref-clever/zref-clever-code.tex
-2023/06/19 | 346246 | macros/latex/contrib/zref-clever/zref-clever-doc.pdf
-2023/06/19 | 129121 | macros/latex/contrib/zref-clever/zref-clever-doc.tex
-2023/06/19 | 347286 | macros/latex/contrib/zref-clever/zref-clever.dtx
-2023/06/19 | 3187 | macros/latex/contrib/zref-clever/zref-clever.ins
+2023/08/13 | 4499 | macros/latex/contrib/zref-check/CHANGELOG.md
+2023/08/13 | 38 | macros/latex/contrib/zref-check/DEPENDS.txt
+2023/08/13 | 1002 | macros/latex/contrib/zref-check/README.md
+2023/08/14 | 1186489 | macros/latex/contrib/zref-check.zip
+2023/08/13 | 745358 | macros/latex/contrib/zref-check/zref-check-code.pdf
+2023/08/13 | 2175 | macros/latex/contrib/zref-check/zref-check-code.tex
+2023/08/13 | 453465 | macros/latex/contrib/zref-check/zref-check-doc.pdf
+2023/08/13 | 22652 | macros/latex/contrib/zref-check/zref-check-doc.tex
+2023/08/13 | 66673 | macros/latex/contrib/zref-check/zref-check.dtx
+2023/08/13 | 2607 | macros/latex/contrib/zref-check/zref-check.ins
+2023/08/14 | 8003 | macros/latex/contrib/zref-clever/CHANGELOG.md
+2023/08/14 | 70 | macros/latex/contrib/zref-clever/DEPENDS.txt
+2023/08/14 | 823 | macros/latex/contrib/zref-clever/README.md
+2023/08/14 | 1638584 | macros/latex/contrib/zref-clever.zip
+2023/08/14 | 1271363 | macros/latex/contrib/zref-clever/zref-clever-code.pdf
+2023/08/14 | 1543 | macros/latex/contrib/zref-clever/zref-clever-code.tex
+2023/08/14 | 345511 | macros/latex/contrib/zref-clever/zref-clever-doc.pdf
+2023/08/14 | 129389 | macros/latex/contrib/zref-clever/zref-clever-doc.tex
+2023/08/14 | 345946 | macros/latex/contrib/zref-clever/zref-clever.dtx
+2023/08/14 | 3187 | macros/latex/contrib/zref-clever/zref-clever.ins
2022/04/07 | 581 | macros/latex/contrib/zref/README.md
2023/06/14 | 2002 | macros/latex/contrib/zref-vario/CHANGELOG.md
2023/06/14 | 31 | macros/latex/contrib/zref-vario/DEPENDS.txt
@@ -272133,6 +272330,27 @@
2005/04/29 | 1995 | obsolete/macros/latex/contrib/subfigure/test5.tex
2002/07/30 | 20533 | obsolete/macros/latex/contrib/subfigure/test.tex
2006/03/21 | 389603 | obsolete/macros/latex/contrib/subfigure.zip
+2023/08/12 | 662 | obsolete/macros/latex/contrib/substitutefont/artemisia-greek.sty
+2023/08/13 | 320118 | obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf
+2023/08/13 | 2771 | obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex
+2023/08/13 | 261997 | obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf
+2023/08/13 | 3202 | obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.tex
+2023/08/13 | 522176 | obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
+2023/08/13 | 2240 | obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.tex
+2023/08/13 | 613142 | obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
+2023/08/13 | 1846 | obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.tex
+2023/08/13 | 506602 | obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.pdf
+2023/08/13 | 1820 | obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.tex
+2022/12/13 | 4857 | obsolete/macros/latex/contrib/substitutefont/README
+2023/08/13 | 9817 | obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html
+2023/08/13 | 2827 | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
+2023/08/13 | 5063 | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty.html
+2023/08/13 | 147378 | obsolete/macros/latex/contrib/substitutefont/substitutefont-test.pdf
+2023/08/13 | 1497 | obsolete/macros/latex/contrib/substitutefont/substitutefont-test.tex
+2023/08/12 | 439218 | obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.pdf
+2023/08/12 | 997 | obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.tex
+2023/08/13 | 1699 | obsolete/macros/latex/contrib/substitutefont/txfontsb-test.tex
+2023/08/14 | 2820961 | obsolete/macros/latex/contrib/substitutefont.zip
2004/02/10 | 241 | obsolete/macros/latex/contrib/switcheml/README
2004/02/10 | 2481 | obsolete/macros/latex/contrib/switcheml/switcheml.sty
2005/04/30 | 1637 | obsolete/macros/latex/contrib/switcheml.zip
@@ -285250,7 +285468,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2023/07/28 | 227574 | support/TeX4ht/source/ChangeLog
+2023/08/13 | 228180 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -285262,14 +285480,14 @@
2021/05/03 | 1121 | support/TeX4ht/source/README
2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua
2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex
-2023/07/28 | 1163447 | support/TeX4ht/source/tex4ht-4ht.tex
+2023/08/13 | 1163762 | support/TeX4ht/source/tex4ht-4ht.tex
2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex
2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex
2022/06/05 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex
2021/05/03 | 807 | support/TeX4ht/source/tex4ht-cpright.tex
2021/06/17 | 418876 | support/TeX4ht/source/tex4ht-c.tex
2021/05/03 | 420 | support/TeX4ht/source/tex4ht-dir.m4
-2021/05/03 | 100475 | support/TeX4ht/source/tex4ht-docbook.tex
+2023/08/13 | 101227 | support/TeX4ht/source/tex4ht-docbook.tex
2021/05/03 | 12368 | support/TeX4ht/source/tex4ht-docbook-xtpipes.tex
2021/05/03 | 47591 | support/TeX4ht/source/tex4ht-env.tex
2021/05/03 | 3704153 | support/TeX4ht/source/tex4ht-fonts-4hf.tex
@@ -285309,7 +285527,7 @@
2021/05/03 | 90707 | support/TeX4ht/source/tex4ht-jsml-xtpipes.tex
2023/02/27 | 8412 | support/TeX4ht/source/tex4ht-mathjax.tex
2021/05/03 | 102444 | support/TeX4ht/source/tex4ht-mathltx.tex
-2023/07/11 | 147484 | support/TeX4ht/source/tex4ht-mathml.tex
+2023/08/13 | 147855 | support/TeX4ht/source/tex4ht-mathml.tex
2021/05/03 | 8860 | support/TeX4ht/source/tex4ht-mathplayer.tex
2021/06/20 | 49012 | support/TeX4ht/source/tex4ht-mkht.tex
2021/05/03 | 26652 | support/TeX4ht/source/tex4ht-moz.tex
@@ -300839,13 +301057,13 @@
2022/02/27 | 108804 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r62206.tar.xz
2023/02/20 | 87356 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r65923.tar.xz
2022/04/21 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r63092.tar.xz
-2023/07/29 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67757.tar.xz
+2023/08/14 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67920.tar.xz
2022/02/27 | 93760 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r62206.tar.xz
2022/02/27 | 91280 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r62210.tar.xz
2023/02/20 | 76164 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r65923.tar.xz
2022/02/27 | 83964 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r62206.tar.xz
-2023/07/29 | 1102844 | systems/texlive/tlnet/archive/tex4ht.r67757.tar.xz
-2023/07/29 | 1447364 | systems/texlive/tlnet/archive/tex4ht.source.r67757.tar.xz
+2023/08/14 | 1102884 | systems/texlive/tlnet/archive/tex4ht.r67920.tar.xz
+2023/08/14 | 1459572 | systems/texlive/tlnet/archive/tex4ht.source.r67920.tar.xz
2023/02/20 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r65895.tar.xz
2023/02/20 | 62196 | systems/texlive/tlnet/archive/tex4ht.windows.r65891.tar.xz
2023/03/11 | 58016 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r66544.tar.xz
@@ -301106,7 +301324,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/08/13 | 428460 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67900.tar.xz
+2023/08/14 | 428548 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67905.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -301128,7 +301346,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/08/13 | 114128 | systems/texlive/tlnet/archive/texlive-scripts.r67900.tar.xz
+2023/08/14 | 114104 | systems/texlive/tlnet/archive/texlive-scripts.r67905.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -302068,11 +302286,11 @@
2023/05/11 | 1373804 | systems/texlive/tlnet/archive/unicodefonttable.doc.r67066.tar.xz
2023/05/11 | 7900 | systems/texlive/tlnet/archive/unicodefonttable.r67066.tar.xz
2023/05/11 | 22828 | systems/texlive/tlnet/archive/unicodefonttable.source.r67066.tar.xz
-2022/01/24 | 1725064 | systems/texlive/tlnet/archive/unicode-math.doc.r61719.tar.xz
+2023/08/14 | 3336280 | systems/texlive/tlnet/archive/unicode-math.doc.r67919.tar.xz
2023/05/13 | 105924 | systems/texlive/tlnet/archive/unicode-math-input.doc.r67089.tar.xz
2023/05/13 | 16528 | systems/texlive/tlnet/archive/unicode-math-input.r67089.tar.xz
-2022/01/24 | 42820 | systems/texlive/tlnet/archive/unicode-math.r61719.tar.xz
-2022/01/24 | 37864 | systems/texlive/tlnet/archive/unicode-math.source.r61719.tar.xz
+2023/08/14 | 42240 | systems/texlive/tlnet/archive/unicode-math.r67919.tar.xz
+2023/08/14 | 36928 | systems/texlive/tlnet/archive/unicode-math.source.r67919.tar.xz
2021/10/05 | 985200 | systems/texlive/tlnet/archive/unifith.doc.r60698.tar.xz
2021/10/05 | 14684 | systems/texlive/tlnet/archive/unifith.r60698.tar.xz
2023/05/09 | 204252 | systems/texlive/tlnet/archive/unifront.doc.r67054.tar.xz
@@ -302831,9 +303049,9 @@
2023/02/24 | 10856 | systems/texlive/tlnet/archive/xpinyin.source.r66115.tar.xz
2019/02/28 | 140412 | systems/texlive/tlnet/archive/xprintlen.doc.r35928.tar.xz
2019/02/28 | 1120 | systems/texlive/tlnet/archive/xprintlen.r35928.tar.xz
-2019/02/28 | 199392 | systems/texlive/tlnet/archive/xpunctuate.doc.r26641.tar.xz
-2019/02/28 | 1324 | systems/texlive/tlnet/archive/xpunctuate.r26641.tar.xz
-2019/02/28 | 4180 | systems/texlive/tlnet/archive/xpunctuate.source.r26641.tar.xz
+2023/08/14 | 217052 | systems/texlive/tlnet/archive/xpunctuate.doc.r67918.tar.xz
+2023/08/14 | 1436 | systems/texlive/tlnet/archive/xpunctuate.r67918.tar.xz
+2023/08/14 | 6288 | systems/texlive/tlnet/archive/xpunctuate.source.r67918.tar.xz
2019/02/28 | 210248 | systems/texlive/tlnet/archive/xq.doc.r35211.tar.xz
2019/02/28 | 44060 | systems/texlive/tlnet/archive/xq.r35211.tar.xz
2022/08/05 | 377076 | systems/texlive/tlnet/archive/xsavebox.doc.r64049.tar.xz
@@ -302999,16 +303217,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
-2023/08/13 | 5734320 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/08/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/08/13 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/08/14 | 5739869 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/08/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/08/14 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/08/13 | 21038588 | systems/texlive/tlnet/install-tl-windows.exe
-2023/08/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/08/13 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/08/13 | 26025607 | systems/texlive/tlnet/install-tl.zip
-2023/08/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/08/13 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/08/14 | 21038495 | systems/texlive/tlnet/install-tl-windows.exe
+2023/08/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/08/14 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/08/14 | 26025590 | systems/texlive/tlnet/install-tl.zip
+2023/08/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/08/14 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -303018,7 +303236,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/08/03 | 50576 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/08/11 | 7419 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/08/13 | 7323 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/05/31 | 215902 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -303060,12 +303278,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/08/13 | 18182808 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/08/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/08/14 | 18182211 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/08/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/08/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/08/13 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/08/13 | 2461292 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/08/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/08/14 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/08/14 | 2463708 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -313689,7 +313907,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/08/14 | 186 | timestamp
+2023/08/15 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index aa6b11c03d..a67eb5e9a1 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 0ad204e8cb..bd80184069 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,157 +1,543 @@
+2023/08/14 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
+2023/08/14 | 9682 | macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
+2023/08/14 | 939983 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
+2023/08/14 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
+2023/08/14 | 902600 | macros/latex/contrib/reledmac/reledmac.dtx
+2023/08/14 | 823 | macros/latex/contrib/zref-clever/README.md
+2023/08/14 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
+2023/08/14 | 8003 | macros/latex/contrib/zref-clever/CHANGELOG.md
+2023/08/14 | 753 | macros/latex/contrib/panneauxroute/README.md
+2023/08/14 | 7423 | macros/latex/contrib/memoir/doc-src/memnoidxnum.tex
+2023/08/14 | 74185 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+2023/08/14 | 70 | macros/latex/contrib/zref-clever/DEPENDS.txt
+2023/08/14 | 670553 | macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf
+2023/08/14 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
+2023/08/14 | 6288 | systems/texlive/tlnet/archive/xpunctuate.source.r67918.tar.xz
+2023/08/14 | 602607 | macros/latex/contrib/nicematrix/nicematrix.pdf
+2023/08/14 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
+2023/08/14 | 584003 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
+2023/08/14 | 5739869 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/08/14 | 571811 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
+2023/08/14 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
+2023/08/14 | 52462 | macros/latex/contrib/memoir/README
+2023/08/14 | 521230 | macros/latex/contrib/lettrine.zip
+2023/08/14 | 520504 | biblio/bibtex/bibtex-x.zip
+2023/08/14 | 5159 | macros/latex/contrib/lettrine/contrib/lettrine-padl.cfl
+2023/08/14 | 5136 | macros/latex/contrib/lettrine/contrib/lettrine-pacl.cfl
+2023/08/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/08/14 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/08/14 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/08/14 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/08/14 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/08/14 | 47803 | macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex
+2023/08/14 | 47622 | macros/latex/contrib/lettrine/lettrine.dtx
+2023/08/14 | 432 | macros/latex/contrib/memoir/doc-src/memman.gst
+2023/08/14 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
+2023/08/14 | 428548 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67905.tar.xz
+2023/08/14 | 42378 | macros/latex/contrib/memoir/doc-src/memsty.sty
+2023/08/14 | 42240 | systems/texlive/tlnet/archive/unicode-math.r67919.tar.xz
+2023/08/14 | 4165 | macros/latex/contrib/lettrine/contrib/lettrine-pzc3.cfl
+2023/08/14 | 4096458 | biblio/ctan-bibdata.zip
+2023/08/14 | 40791 | macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+2023/08/14 | 3977 | macros/latex/contrib/memoir/memoir.ins
+2023/08/14 | 3961 | macros/latex/contrib/lettrine/contrib/lettrine-pzc2.cfl
+2023/08/14 | 389 | macros/latex/contrib/memoir/doc-src/memman.ist
+2023/08/14 | 3695418 | biblio/ctan-bibdata/ctan.pdf
+2023/08/14 | 36940 | macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+2023/08/14 | 36928 | systems/texlive/tlnet/archive/unicode-math.source.r67919.tar.xz
+2023/08/14 | 368426 | macros/latex/contrib/reledmac/migration.pdf
+2023/08/14 | 36627 | macros/latex/contrib/memoir/mempatch.dtx
+2023/08/14 | 3609753 | install/macros/latex/contrib/memoir.tds.zip
+2023/08/14 | 3508696 | macros/latex/contrib/memoir.zip
+2023/08/14 | 345946 | macros/latex/contrib/zref-clever/zref-clever.dtx
+2023/08/14 | 345511 | macros/latex/contrib/zref-clever/zref-clever-doc.pdf
+2023/08/14 | 3336280 | systems/texlive/tlnet/archive/unicode-math.doc.r67919.tar.xz
+2023/08/14 | 32047 | macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+2023/08/14 | 3187 | macros/latex/contrib/zref-clever/zref-clever.ins
+2023/08/14 | 310603 | macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+2023/08/14 | 302774 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+2023/08/14 | 298422 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+2023/08/14 | 295209 | macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+2023/08/14 | 292434 | macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+2023/08/14 | 289211 | macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+2023/08/14 | 288795 | macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+2023/08/14 | 288123 | macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+2023/08/14 | 286626 | macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+2023/08/14 | 285556 | macros/latex/contrib/reledmac/examples/1-tabular.pdf
+2023/08/14 | 285503 | macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+2023/08/14 | 2852 | macros/latex/contrib/memoir/mempatch.ins
+2023/08/14 | 284583 | macros/latex/contrib/reledmac/examples/2-performances.pdf
+2023/08/14 | 2826438 | macros/latex/contrib/memoir/memman.pdf
+2023/08/14 | 2820961 | obsolete/macros/latex/contrib/substitutefont.zip
+2023/08/14 | 2801500 | biblio/ctan-bibdata/ctan.bib
+2023/08/14 | 278070 | macros/latex/contrib/reledmac/examples/2-indexing.pdf
+2023/08/14 | 276219 | macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+2023/08/14 | 26025590 | systems/texlive/tlnet/install-tl.zip
+2023/08/14 | 251002 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+2023/08/14 | 250272 | macros/latex/contrib/nicematrix/nicematrix.tex
+2023/08/14 | 2463708 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/08/14 | 240540 | macros/latex/contrib/nicematrix/nicematrix-french.tex
+2023/08/14 | 23441 | macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+2023/08/14 | 2300862 | macros/latex/contrib/nicematrix.zip
+2023/08/14 | 225555 | macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+2023/08/14 | 217052 | systems/texlive/tlnet/archive/xpunctuate.doc.r67918.tar.xz
+2023/08/14 | 2153144 | macros/latex/contrib/reledmac/reledmac.pdf
+2023/08/14 | 214377 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+2023/08/14 | 212242 | macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+2023/08/14 | 210969 | macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+2023/08/14 | 210488 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+2023/08/14 | 21038495 | systems/texlive/tlnet/install-tl-windows.exe
+2023/08/14 | 206 | macros/latex/contrib/memoir/doc-src/Makeidxglo
+2023/08/14 | 206955 | macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+2023/08/14 | 205148 | macros/latex/contrib/profmaquette.zip
+2023/08/14 | 204974 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+2023/08/14 | 204669 | macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+2023/08/14 | 204015 | macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+2023/08/14 | 203838 | macros/latex/contrib/memoir/doc-src/setpage-example.pdf
+2023/08/14 | 202381 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+2023/08/14 | 201564 | macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+2023/08/14 | 201443 | macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+2023/08/14 | 200041 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+2023/08/14 | 199918 | macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+2023/08/14 | 199681 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+2023/08/14 | 199278 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+2023/08/14 | 198959 | macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+2023/08/14 | 198797 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+2023/08/14 | 198794 | macros/latex/contrib/reledmac/examples/1-verses.pdf
+2023/08/14 | 198665 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+2023/08/14 | 198615 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+2023/08/14 | 198565 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+2023/08/14 | 198304 | macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+2023/08/14 | 197819 | macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+2023/08/14 | 194198 | macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+2023/08/14 | 18182211 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/08/14 | 177110 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+2023/08/14 | 175650 | macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+2023/08/14 | 17396 | macros/latex/contrib/memoir/doc-src/titlepages.sty
+2023/08/14 | 1718 | macros/latex/contrib/reledmac/makefile
+2023/08/14 | 168279 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+2023/08/14 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/08/14 | 1675347 | install/macros/latex/contrib/zref-clever.tds.zip
+2023/08/14 | 1638584 | macros/latex/contrib/zref-clever.zip
+2023/08/14 | 1552 | macros/latex/contrib/lettrine/README.md
+2023/08/14 | 1543 | macros/latex/contrib/zref-clever/zref-clever-code.tex
+2023/08/14 | 1542304 | macros/latex/contrib/memoir/doc-src/memman.tex
+2023/08/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/08/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/08/14 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps
+2023/08/14 | 14980 | macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty
+2023/08/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/08/14 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty
+2023/08/14 | 1459572 | systems/texlive/tlnet/archive/tex4ht.source.r67920.tar.xz
+2023/08/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/08/14 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
+2023/08/14 | 1436 | systems/texlive/tlnet/archive/xpunctuate.r67918.tar.xz
+2023/08/14 | 1428 | macros/latex/contrib/nicematrix/nicematrix.ins
+2023/08/14 | 13761445 | macros/latex/contrib/profcollege.zip
+2023/08/14 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67920.tar.xz
+2023/08/14 | 13626949 | macros/latex/contrib/reledmac.zip
+2023/08/14 | 13607 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
+2023/08/14 | 129389 | macros/latex/contrib/zref-clever/zref-clever-doc.tex
+2023/08/14 | 128252 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+2023/08/14 | 1271363 | macros/latex/contrib/zref-clever/zref-clever-code.pdf
+2023/08/14 | 126080 | macros/latex/contrib/lettrine/doc/lettrine.pdf
+2023/08/14 | 1186489 | macros/latex/contrib/zref-check.zip
+2023/08/14 | 114104 | systems/texlive/tlnet/archive/texlive-scripts.r67905.tar.xz
+2023/08/14 | 1139969 | macros/latex/contrib/panneauxroute.zip
+2023/08/14 | 1123032 | macros/latex/contrib/memoir/memoir.dtx
+2023/08/14 | 1102884 | systems/texlive/tlnet/archive/tex4ht.r67920.tar.xz
+2023/08/14 | 1055 | macros/latex/contrib/lettrine/contrib/lettrine-optfile.cfl
+2023/08/14 | 1046914 | macros/latex/contrib/reledmac/reledpar.pdf
+2023/08/14 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
+2023/08/13 | 9817 | obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html
2023/08/13 | 962 | macros/unicodetex/latex/unicode-math/unicode-math-code.ltx
2023/08/13 | 9568 | macros/unicodetex/latex/unicode-math/um-code-fontopt.dtx
2023/08/13 | 9464 | macros/unicodetex/latex/unicode-math/um-code-pkgopt.dtx
2023/08/13 | 9261 | macros/unicodetex/latex/unicode-math/um-code-setchar.dtx
+2023/08/13 | 9105909 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
2023/08/13 | 8889 | macros/unicodetex/latex/unicode-math/um-code-sscript.dtx
2023/08/13 | 7782 | macros/unicodetex/latex/unicode-math/um-code-sym-commands.dtx
+2023/08/13 | 745358 | macros/latex/contrib/zref-check/zref-check-code.pdf
+2023/08/13 | 7323 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/08/13 | 72756 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
2023/08/13 | 7244 | macros/unicodetex/latex/unicode-math/um-code-variables.dtx
2023/08/13 | 6940 | systems/texlive/tlnet/archive/collection-latexextra.r67902.tar.xz
+2023/08/13 | 66673 | macros/latex/contrib/zref-check/zref-check.dtx
+2023/08/13 | 613142 | obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
+2023/08/13 | 60200 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
2023/08/13 | 58806 | macros/unicodetex/latex/unicode-math/um-doc-main.tex
-2023/08/13 | 5734320 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/08/13 | 539764 | systems/texlive/tlnet/archive/msu-thesis.doc.r67903.tar.xz
2023/08/13 | 536376 | systems/texlive/tlnet/archive/joinbox.doc.r67902.tar.xz
2023/08/13 | 5222 | macros/unicodetex/latex/unicode-math/um-code-compat.dtx
+2023/08/13 | 522176 | obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
+2023/08/13 | 506602 | obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.pdf
+2023/08/13 | 5063 | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty.html
2023/08/13 | 4904 | macros/unicodetex/latex/unicode-math/um-code-amsmath.dtx
-2023/08/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/08/13 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/08/13 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/08/13 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/08/13 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/08/13 | 4680 | macros/unicodetex/latex/unicode-math/um-code-msg.dtx
2023/08/13 | 459 | macros/unicodetex/latex/unicode-math/RELEASE_CHECKLIST.md
+2023/08/13 | 453465 | macros/latex/contrib/zref-check/zref-check-doc.pdf
+2023/08/13 | 4499 | macros/latex/contrib/zref-check/CHANGELOG.md
2023/08/13 | 434981 | macros/unicodetex/latex/unicode-math/unicode-math-code.pdf
-2023/08/13 | 428460 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67900.tar.xz
2023/08/13 | 4207 | macros/unicodetex/latex/unicode-math/README.md
-2023/08/13 | 4093819 | biblio/ctan-bibdata.zip
-2023/08/13 | 3693129 | biblio/ctan-bibdata/ctan.pdf
+2023/08/13 | 39831 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
+2023/08/13 | 38 | macros/latex/contrib/zref-check/DEPENDS.txt
2023/08/13 | 3520 | macros/unicodetex/latex/unicode-math/um-doc-nfsssummary.tex
2023/08/13 | 3486 | macros/unicodetex/latex/unicode-math/unicode-math.dtx
2023/08/13 | 3485348 | install/macros/unicodetex/latex/unicode-math.tds.zip
2023/08/13 | 3435650 | macros/unicodetex/latex/unicode-math.zip
2023/08/13 | 3296 | macros/unicodetex/latex/unicode-math/um-doc-style.tex
+2023/08/13 | 3202 | obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.tex
+2023/08/13 | 320118 | obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf
2023/08/13 | 2951 | macros/unicodetex/latex/unicode-math/unimath-example.ltx
2023/08/13 | 2916 | systems/texlive/tlnet/archive/joinbox.r67902.tar.xz
2023/08/13 | 2835 | macros/unicodetex/latex/unicode-math/um-code-ui.dtx
-2023/08/13 | 2801499 | biblio/ctan-bibdata/ctan.bib
+2023/08/13 | 2827 | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
+2023/08/13 | 2771 | obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex
2023/08/13 | 271385 | macros/latex/contrib/xpunctuate/xpunctuate-doc.pdf
2023/08/13 | 2713763 | macros/unicodetex/latex/unicode-math/unimath-symbols.pdf
2023/08/13 | 26515 | macros/unicodetex/latex/unicode-math/um-code-alphabets.dtx
-2023/08/13 | 26025607 | systems/texlive/tlnet/install-tl.zip
+2023/08/13 | 261997 | obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf
+2023/08/13 | 2607 | macros/latex/contrib/zref-check/zref-check.ins
2023/08/13 | 2590 | macros/unicodetex/latex/unicode-math/um-doc-legacyfontdimen.tex
2023/08/13 | 24949 | macros/unicodetex/latex/unicode-math/um-code-main.dtx
-2023/08/13 | 2461292 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/08/13 | 241443 | macros/unicodetex/latex/unicode-math/unicode-math-table.tex
2023/08/13 | 228340 | macros/latex/contrib/xpunctuate.zip
+2023/08/13 | 228180 | support/TeX4ht/source/ChangeLog
+2023/08/13 | 22652 | macros/latex/contrib/zref-check/zref-check-doc.tex
+2023/08/13 | 2253549 | macros/latex/contrib/profcollege/doc/profcollege-doc.zip
+2023/08/13 | 2240 | obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.tex
+2023/08/13 | 2193 | biblio/bibtex/bibtex-x/tests/bibtexu-char.test
2023/08/13 | 21873 | macros/unicodetex/latex/unicode-math/unimath-example.pdf
-2023/08/13 | 21038588 | systems/texlive/tlnet/install-tl-windows.exe
+2023/08/13 | 2175 | macros/latex/contrib/zref-check/zref-check-code.tex
2023/08/13 | 2055 | macros/latex/contrib/xpunctuate/xpunctuate.ins
2023/08/13 | 2053 | macros/unicodetex/latex/unicode-math/unicode-math.ins
2023/08/13 | 203544 | systems/texlive/tlnet/archive/couleurs-fr.doc.r67901.tar.xz
2023/08/13 | 19760 | macros/unicodetex/latex/unicode-math/um-code-usv.dtx
2023/08/13 | 19106 | macros/unicodetex/latex/unicode-math/LICENSE
2023/08/13 | 18915 | macros/unicodetex/latex/unicode-math/um-code-mathmap.dtx
-2023/08/13 | 18182808 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/08/13 | 1846 | obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.tex
+2023/08/13 | 1820 | obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.tex
2023/08/13 | 18176 | macros/latex/contrib/xpunctuate/xpunctuate.dtx
-2023/08/13 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/08/13 | 177327 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
+2023/08/13 | 1699 | obsolete/macros/latex/contrib/substitutefont/txfontsb-test.tex
2023/08/13 | 166849 | macros/unicodetex/latex/unicode-math/unicode-math.pdf
2023/08/13 | 16308 | macros/unicodetex/latex/unicode-math/unimath-symbols.ltx
2023/08/13 | 1627 | macros/unicodetex/latex/unicode-math/um-doc-stixextract.tex
2023/08/13 | 15877 | macros/unicodetex/latex/unicode-math/CHANGES.md
-2023/08/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/08/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/08/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/08/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/08/13 | 1497 | obsolete/macros/latex/contrib/substitutefont/substitutefont-test.tex
+2023/08/13 | 147855 | support/TeX4ht/source/tex4ht-mathml.tex
+2023/08/13 | 147378 | obsolete/macros/latex/contrib/substitutefont/substitutefont-test.pdf
2023/08/13 | 13284 | systems/texlive/tlnet/archive/msu-thesis.r67903.tar.xz
2023/08/13 | 13074 | macros/unicodetex/latex/unicode-math/um-code-fontparam.dtx
2023/08/13 | 1294 | macros/latex/contrib/xpunctuate/README.md
2023/08/13 | 12495 | macros/unicodetex/latex/unicode-math/MANIFEST.md
2023/08/13 | 1190 | macros/unicodetex/latex/unicode-math/um-code-api.dtx
+2023/08/13 | 1163762 | support/TeX4ht/source/tex4ht-4ht.tex
2023/08/13 | 11513 | macros/unicodetex/latex/unicode-math/um-code-primes.dtx
2023/08/13 | 11444 | systems/texlive/tlnet/archive/couleurs-fr.r67901.tar.xz
-2023/08/13 | 114128 | systems/texlive/tlnet/archive/texlive-scripts.r67900.tar.xz
2023/08/13 | 11123 | macros/unicodetex/latex/unicode-math/um-code-epilogue.dtx
2023/08/13 | 10603 | macros/unicodetex/latex/unicode-math/um-code-opening.dtx
2023/08/13 | 1044 | macros/unicodetex/latex/unicode-math/unicode-math.ltx
2023/08/13 | 10420 | macros/unicodetex/latex/unicode-math/um-doc-mathfontdimen.tex
2023/08/13 | 10300 | macros/unicodetex/latex/unicode-math/um-code-mathtext.dtx
+2023/08/13 | 10129 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+2023/08/13 | 101227 | support/TeX4ht/source/tex4ht-docbook.tex
+2023/08/13 | 1002 | macros/latex/contrib/zref-check/README.md
2023/08/12 | 9981 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
+2023/08/12 | 997 | obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.tex
+2023/08/12 | 9134 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_1.pdf
+2023/08/12 | 8755 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6d.pdf
2023/08/12 | 8692 | systems/texlive/tlnet/archive/xkcdcolors.r67895.tar.xz
2023/08/12 | 82785 | macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc-prefix.pdf
+2023/08/12 | 8028 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25a.pdf
2023/08/12 | 7732108 | support/texlab.zip
+2023/08/12 | 7626 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE50.pdf
2023/08/12 | 7160 | systems/texlive/tlnet/archive/eolang.r67897.tar.xz
2023/08/12 | 70914 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf
+2023/08/12 | 6956 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC3.pdf
2023/08/12 | 6771 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
2023/08/12 | 672020 | systems/texlive/tlnet/archive/naive-ebnf.doc.r67892.tar.xz
+2023/08/12 | 6692 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB39.pdf
+2023/08/12 | 662 | obsolete/macros/latex/contrib/substitutefont/artemisia-greek.sty
+2023/08/12 | 6621 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3a.pdf
+2023/08/12 | 6610 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC50.pdf
+2023/08/12 | 6415 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25b.pdf
2023/08/12 | 632 | systems/texlive/tlnet/archive/collection-langfrench.r67898.tar.xz
2023/08/12 | 597464 | systems/texlive/tlnet/archive/l3kernel.source.r67891.tar.xz
2023/08/12 | 58373 | macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.tex
2023/08/12 | 5800 | systems/texlive/tlnet/archive/naive-ebnf.source.r67892.tar.xz
+2023/08/12 | 5662 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB19.pdf
2023/08/12 | 563476 | macros/latex/contrib/msu-thesis.zip
+2023/08/12 | 5574 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB4.pdf
2023/08/12 | 553580 | macros/latex/contrib/joinbox.zip
2023/08/12 | 5403096 | systems/texlive/tlnet/archive/stellenbosch-2.doc.r67894.tar.xz
-2023/08/12 | 520500 | biblio/bibtex/bibtex-x.zip
+2023/08/12 | 5335 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_30.pdf
+2023/08/12 | 5069 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB5.pdf
2023/08/12 | 5012 | systems/texlive/tlnet/archive/cahierprof.r67896.tar.xz
2023/08/12 | 483400 | systems/texlive/tlnet/archive/cahierprof.doc.r67896.tar.xz
+2023/08/12 | 4830 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13a.pdf
2023/08/12 | 46927 | macros/latex/contrib/couleurs-fr/tex/couleurs-fr.sty
+2023/08/12 | 4678 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_130.pdf
+2023/08/12 | 4457 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA8.pdf
+2023/08/12 | 4444 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_50.pdf
+2023/08/12 | 439218 | obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.pdf
+2023/08/12 | 4358 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_90.pdf
2023/08/12 | 432076 | systems/texlive/tlnet/archive/circledsteps.doc.r67889.tar.xz
2023/08/12 | 43133 | macros/latex/contrib/msu-thesis/msu-thesis.cls
2023/08/12 | 42169 | macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+2023/08/12 | 4144 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49.pdf
+2023/08/12 | 4117 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA4.pdf
+2023/08/12 | 3990 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_70.pdf
2023/08/12 | 393 | macros/latex/contrib/msu-thesis/samples/chap2bib.tex
+2023/08/12 | 3914 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_110.pdf
+2023/08/12 | 3884 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA16.pdf
+2023/08/12 | 3815 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2a.pdf
+2023/08/12 | 3779 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64c.pdf
2023/08/12 | 365869 | macros/latex/contrib/joinbox/joinbox.pdf
+2023/08/12 | 3542 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3b.pdf
+2023/08/12 | 3527 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB29.pdf
+2023/08/12 | 3485 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7b.pdf
+2023/08/12 | 3478 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC62.pdf
+2023/08/12 | 3459 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE25.pdf
+2023/08/12 | 3430 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_130.pdf
+2023/08/12 | 3347 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB43.pdf
+2023/08/12 | 3338 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_30.pdf
+2023/08/12 | 3296 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB25.pdf
2023/08/12 | 327 | macros/latex/contrib/msu-thesis/samples/chap4bib.tex
+2023/08/12 | 3274 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5a.pdf
+2023/08/12 | 3210 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22c.pdf
+2023/08/12 | 3205 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB10a.pdf
2023/08/12 | 319 | macros/latex/contrib/msu-thesis/samples/chap3bib.tex
+2023/08/12 | 3178 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9i.pdf
+2023/08/12 | 3165 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a3.pdf
+2023/08/12 | 3096 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB17.pdf
+2023/08/12 | 3058 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB12.pdf
+2023/08/12 | 3036 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA21.pdf
+2023/08/12 | 3016 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5b.pdf
+2023/08/12 | 2962 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_90.pdf
2023/08/12 | 2936 | macros/latex/contrib/msu-thesis/README.md
2023/08/12 | 2936 | macros/latex/contrib/joinbox/README.md
2023/08/12 | 2925012 | systems/texlive/tlnet/archive/simpleicons.r67888.tar.xz
+2023/08/12 | 2923 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4b.pdf
+2023/08/12 | 2919 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE22.pdf
2023/08/12 | 291696 | systems/texlive/tlnet/archive/dccpaper.doc.r67890.tar.xz
+2023/08/12 | 2895 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_50.pdf
+2023/08/12 | 2884 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB4.pdf
+2023/08/12 | 2877 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB41.pdf
+2023/08/12 | 2865 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4a.pdf
+2023/08/12 | 2823 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE26.pdf
+2023/08/12 | 2823 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_15.pdf
+2023/08/12 | 2815 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9h.pdf
+2023/08/12 | 2787 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE10.pdf
2023/08/12 | 277 | macros/latex/contrib/msu-thesis/samples/chap1bib.tex
+2023/08/12 | 2757 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22b.pdf
2023/08/12 | 27072 | systems/texlive/tlnet/archive/dccpaper.source.r67890.tar.xz
+2023/08/12 | 2706 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB11.pdf
+2023/08/12 | 2700 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34.pdf
+2023/08/12 | 2670 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_110.pdf
+2023/08/12 | 2668 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27b.pdf
+2023/08/12 | 2661 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5c.pdf
+2023/08/12 | 2644 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13b.pdf
+2023/08/12 | 2567 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30a.pdf
+2023/08/12 | 2567 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7a.pdf
+2023/08/12 | 2555 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30b.pdf
+2023/08/12 | 2549 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA9.pdf
+2023/08/12 | 2544 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_70.pdf
+2023/08/12 | 2526 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20a.pdf
+2023/08/12 | 2525 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC116.pdf
2023/08/12 | 25060 | systems/texlive/tlnet/archive/dccpaper.r67890.tar.xz
+2023/08/12 | 2503 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c2.pdf
+2023/08/12 | 2494 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15c.pdf
+2023/08/12 | 2482 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34a.pdf
+2023/08/12 | 2470 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15b.pdf
+2023/08/12 | 2461 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC115.pdf
+2023/08/12 | 2458 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC114.pdf
+2023/08/12 | 2445 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB40.pdf
+2023/08/12 | 2427 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13.pdf
+2023/08/12 | 2424 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9e.pdf
+2023/08/12 | 2418 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC113.pdf
2023/08/12 | 2416 | systems/texlive/tlnet/archive/naive-ebnf.r67892.tar.xz
+2023/08/12 | 2414 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC5.pdf
+2023/08/12 | 2397 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9b.pdf
+2023/08/12 | 2376 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20b.pdf
+2023/08/12 | 2367 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE24.pdf
2023/08/12 | 236377 | macros/latex/contrib/couleurs-fr.zip
+2023/08/12 | 2336 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE19.pdf
+2023/08/12 | 2335 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22a.pdf
+2023/08/12 | 2295 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE23.pdf
+2023/08/12 | 2270 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13a.pdf
+2023/08/12 | 2268 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB35.pdf
+2023/08/12 | 2264 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE12.pdf
+2023/08/12 | 2264 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a2.pdf
2023/08/12 | 224804 | systems/texlive/tlnet/archive/xkcdcolors.doc.r67895.tar.xz
+2023/08/12 | 2247 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA20.pdf
+2023/08/12 | 2242 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a1.pdf
+2023/08/12 | 2217 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3a.pdf
+2023/08/12 | 2212 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1c.pdf
+2023/08/12 | 2207 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a4.pdf
+2023/08/12 | 2205 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18a.pdf
+2023/08/12 | 2158 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9g.pdf
+2023/08/12 | 2152 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15c.pdf
2023/08/12 | 215120 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
2023/08/12 | 2138936 | systems/texlive/tlnet/archive/simpleicons.doc.r67888.tar.xz
+2023/08/12 | 2127 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4c.pdf
+2023/08/12 | 2124 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a2.pdf
2023/08/12 | 211 | macros/latex/contrib/joinbox/build.sh
+2023/08/12 | 2069 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6a.pdf
2023/08/12 | 2065404 | systems/texlive/tlnet/archive/stellenbosch-2.source.r67894.tar.xz
+2023/08/12 | 2059 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20c.pdf
+2023/08/12 | 2055 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9c.pdf
+2023/08/12 | 2046 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA6.pdf
+2023/08/12 | 2041 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA24.pdf
+2023/08/12 | 2004 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20a.pdf
+2023/08/12 | 2002 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE8.pdf
+2023/08/12 | 2000 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64a.pdf
+2023/08/12 | 1997 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6b.pdf
+2023/08/12 | 1986 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5a.pdf
+2023/08/12 | 1984 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB42.pdf
+2023/08/12 | 1968 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c1.pdf
+2023/08/12 | 1949 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18b.pdf
+2023/08/12 | 1945 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_15.pdf
+2023/08/12 | 1937 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a1.pdf
2023/08/12 | 1928 | systems/texlive/tlnet/archive/circledsteps.r67889.tar.xz
+2023/08/12 | 1925 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB45a.pdf
+2023/08/12 | 1910 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB8.pdf
+2023/08/12 | 1903 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE27.pdf
+2023/08/12 | 1898 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4b.pdf
+2023/08/12 | 1891 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA19.pdf
+2023/08/12 | 1874 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3.pdf
+2023/08/12 | 1867 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE9.pdf
+2023/08/12 | 1867 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC6.pdf
+2023/08/12 | 18670 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_2.pdf
+2023/08/12 | 1866 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE16.pdf
+2023/08/12 | 1857 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9f.pdf
+2023/08/12 | 18555 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC23.pdf
+2023/08/12 | 1842 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA7.pdf
+2023/08/12 | 1815 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2b.pdf
2023/08/12 | 181306 | dviware/dvidvi.zip
+2023/08/12 | 1798 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB25.pdf
2023/08/12 | 178272 | systems/texlive/tlnet/archive/profmaquette.doc.r67893.tar.xz
+2023/08/12 | 1776 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27a.pdf
+2023/08/12 | 1769 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA17.pdf
+2023/08/12 | 1750 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9d.pdf
2023/08/12 | 173512 | systems/texlive/tlnet/archive/l3kernel.r67891.tar.xz
+2023/08/12 | 1732 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE7.pdf
+2023/08/12 | 1720 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE14.pdf
2023/08/12 | 1708 | systems/texlive/tlnet/archive/collection-publishers.r67894.tar.xz
+2023/08/12 | 1707 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC108.pdf
+2023/08/12 | 1705 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA14.pdf
+2023/08/12 | 1702 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC112.pdf
2023/08/12 | 16930 | macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc-prefix.tex
+2023/08/12 | 1676 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9a.pdf
+2023/08/12 | 1675 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE17.pdf
+2023/08/12 | 1671 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5b.pdf
+2023/08/12 | 1669 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE29.pdf
+2023/08/12 | 1669 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2a.pdf
+2023/08/12 | 1663 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64b.pdf
+2023/08/12 | 1656 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA23.pdf
+2023/08/12 | 1655 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18c.pdf
+2023/08/12 | 1646 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC111.pdf
+2023/08/12 | 1636 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE28.pdf
+2023/08/12 | 1634 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC107.pdf
+2023/08/12 | 1631 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1b.pdf
+2023/08/12 | 1628 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2c.pdf
+2023/08/12 | 1627 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1d.pdf
+2023/08/12 | 1624 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1c.pdf
+2023/08/12 | 1615 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15a.pdf
+2023/08/12 | 1607 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1a.pdf
+2023/08/12 | 1603 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE21.pdf
2023/08/12 | 16020 | systems/texlive/tlnet/archive/eolang.source.r67897.tar.xz
+2023/08/12 | 1599 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2a.pdf
+2023/08/12 | 1596 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1b.pdf
+2023/08/12 | 1590 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB16.pdf
+2023/08/12 | 1589 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2b.pdf
+2023/08/12 | 1586 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a1.pdf
+2023/08/12 | 1584 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC208.pdf
+2023/08/12 | 1577 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2b.pdf
+2023/08/12 | 1577 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA18.pdf
+2023/08/12 | 1566 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29a.pdf
+2023/08/12 | 1565 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3.pdf
2023/08/12 | 1550020 | systems/texlive/tlnet/archive/stellenbosch-2.r67894.tar.xz
+2023/08/12 | 1546 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE3a.pdf
+2023/08/12 | 1546 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB1.pdf
+2023/08/12 | 1543 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB2.pdf
+2023/08/12 | 1543 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3a.pdf
+2023/08/12 | 1540 | macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3b.pdf
+2023/08/12 | 1538 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26a.pdf
+2023/08/12 | 1537 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26b.pdf
+2023/08/12 | 1528 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE18.pdf
+2023/08/12 | 1525 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d2.pdf
+2023/08/12 | 1524 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB7.pdf
+2023/08/12 | 1510 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC207.pdf
+2023/08/12 | 1504 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC8.pdf
+2023/08/12 | 1502 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b2.pdf
2023/08/12 | 14996 | macros/latex/contrib/joinbox/joinbox.tex
+2023/08/12 | 1491 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21e.pdf
+2023/08/12 | 1490 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4a.pdf
+2023/08/12 | 1488 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d2.pdf
+2023/08/12 | 1487 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC30.pdf
+2023/08/12 | 1484 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC18.pdf
+2023/08/12 | 1475 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29b.pdf
+2023/08/12 | 1464 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b1.pdf
+2023/08/12 | 1463 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28b.pdf
+2023/08/12 | 1461 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d1.pdf
+2023/08/12 | 1451 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d1.pdf
+2023/08/12 | 1444 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC12.pdf
+2023/08/12 | 1440 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1a.pdf
2023/08/12 | 1436428 | systems/texlive/tlnet/archive/eolang.doc.r67897.tar.xz
+2023/08/12 | 1432 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c2.pdf
+2023/08/12 | 1428 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC27.pdf
+2023/08/12 | 1427 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28a.pdf
+2023/08/12 | 1417 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB15.pdf
+2023/08/12 | 1415 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c1.pdf
+2023/08/12 | 1403 | macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE1.pdf
2023/08/12 | 139419 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+2023/08/12 | 1393 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13b.pdf
+2023/08/12 | 1388 | macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13a.pdf
+2023/08/12 | 1370 | macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB6.pdf
2023/08/12 | 13632 | systems/texlive/tlnet/archive/profmaquette.r67893.tar.xz
+2023/08/12 | 1355 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB31.pdf
+2023/08/12 | 1335 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a2.pdf
+2023/08/12 | 1332 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21b.pdf
+2023/08/12 | 1311 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a1.pdf
+2023/08/12 | 1306 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-2.pdf
+2023/08/12 | 1299 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB0.pdf
+2023/08/12 | 1298 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-1.pdf
+2023/08/12 | 1287 | macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1.pdf
2023/08/12 | 12842 | macros/latex/contrib/joinbox/joinbox.sty
2023/08/12 | 1276 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
2023/08/12 | 123277 | macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.pdf
2023/08/12 | 121780 | macros/latex/contrib/joinbox/tl-lion.pdf
2023/08/12 | 11995468 | systems/texlive/tlnet/archive/l3kernel.doc.r67891.tar.xz
2023/08/12 | 113915 | macros/latex/contrib/msu-thesis/msu-thesis.pdf
+2023/08/12 | 11003 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB44.pdf
2023/08/12 | 1088 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib
+2023/08/12 | 10223 | macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB26.pdf
2023/08/11 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
2023/08/11 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
2023/08/11 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
2023/08/11 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2023/08/11 | 998 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap
+2023/08/11 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
2023/08/11 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
+2023/08/11 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
2023/08/11 | 988 | support/texlab/crates/texlab/src/features/reference.rs
2023/08/11 | 987 | support/texlab/crates/commands/src/change_env.rs
2023/08/11 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
2023/08/11 | 97640 | macros/latex/contrib/l3kernel/l3seq.dtx
2023/08/11 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
+2023/08/11 | 9734 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
2023/08/11 | 970 | biblio/bibtex/bibtex-x/tests/bibtexu-sort.test
2023/08/11 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
2023/08/11 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
2023/08/11 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
2023/08/11 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
2023/08/11 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
+2023/08/11 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
+2023/08/11 | 9404 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
2023/08/11 | 933 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
2023/08/11 | 932 | support/texlab/crates/texlab/src/features/link.rs
+2023/08/11 | 9326 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
2023/08/11 | 92818 | macros/latex/contrib/l3kernel/l3int.dtx
2023/08/11 | 919 | biblio/bibtex/bibtex-x/tests/bibtex8-sort.test
2023/08/11 | 91740 | macros/latex/contrib/l3kernel/l3skip.dtx
@@ -166,10 +552,13 @@
2023/08/11 | 8975 | macros/latex/contrib/circledsteps/circledsteps-manual.tex
2023/08/11 | 8955 | support/texlab/crates/bibtex-utils/src/field/text.rs
2023/08/11 | 88833 | macros/latex/contrib/l3kernel/l3expan.dtx
+2023/08/11 | 8870 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
2023/08/11 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
2023/08/11 | 88106 | macros/latex/contrib/l3kernel/l3coffins.dtx
2023/08/11 | 87744 | macros/latex/contrib/l3kernel/l3box.dtx
2023/08/11 | 875 | support/texlab/crates/citeproc/src/lib.rs
+2023/08/11 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
+2023/08/11 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
2023/08/11 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
2023/08/11 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
2023/08/11 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
@@ -181,10 +570,15 @@
2023/08/11 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
2023/08/11 | 841 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
2023/08/11 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
+2023/08/11 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
2023/08/11 | 831 | biblio/bibtex/bibtex-x/tests/bibtexu-basic.test
+2023/08/11 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
2023/08/11 | 83077 | macros/latex/contrib/l3kernel/l3clist.dtx
2023/08/11 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
+2023/08/11 | 82730 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
+2023/08/11 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
2023/08/11 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
+2023/08/11 | 82573 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
2023/08/11 | 824 | support/texlab/crates/texlab/src/features/completion/field.rs
2023/08/11 | 8249 | support/texlab/crates/texlab/src/util/diagnostics.rs
2023/08/11 | 823 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
@@ -194,6 +588,7 @@
2023/08/11 | 820 | support/texlab/crates/distro/src/texlive.rs
2023/08/11 | 81941 | macros/latex/contrib/l3kernel/l3prefixes.pdf
2023/08/11 | 818 | support/texlab/crates/hover/src/label.rs
+2023/08/11 | 8166 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
2023/08/11 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
2023/08/11 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
2023/08/11 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
@@ -201,14 +596,19 @@
2023/08/11 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
2023/08/11 | 79 | support/texlab/crates/diagnostics/src/grammar.rs
2023/08/11 | 797 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
+2023/08/11 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
2023/08/11 | 79261 | macros/latex/contrib/l3kernel/l3str.dtx
2023/08/11 | 784 | biblio/bibtex/bibtex-x/tests/bibtexu-yannis.test
+2023/08/11 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
+2023/08/11 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
2023/08/11 | 778 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
2023/08/11 | 77774 | macros/latex/contrib/l3kernel/l3msg.dtx
2023/08/11 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
+2023/08/11 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
2023/08/11 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
2023/08/11 | 770 | support/texlab/crates/diagnostics/src/types.rs
2023/08/11 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
+2023/08/11 | 76961 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
2023/08/11 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
2023/08/11 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
2023/08/11 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
@@ -217,19 +617,20 @@
2023/08/11 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
2023/08/11 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
2023/08/11 | 750 | support/texlab/crates/diagnostics/src/util.rs
+2023/08/11 | 7497 | macros/latex/contrib/profcollege/latex/PfCCible.tex
2023/08/11 | 7472 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
2023/08/11 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
2023/08/11 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
2023/08/11 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
2023/08/11 | 74244 | macros/latex/contrib/l3kernel/l3text-case.dtx
-2023/08/11 | 7419 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/11 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
2023/08/11 | 7360498 | macros/latex/contrib/l3kernel/source3.pdf
2023/08/11 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
2023/08/11 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
+2023/08/11 | 7314 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
2023/08/11 | 728 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_568.txt.snap
2023/08/11 | 727116 | macros/latex/contrib/naive-ebnf/naive-ebnf.pdf
-2023/08/11 | 72506 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
+2023/08/11 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
2023/08/11 | 723302 | macros/latex/contrib/naive-ebnf.zip
2023/08/11 | 7214 | support/texlab/crates/hover/src/tests.rs
2023/08/11 | 720 | support/texlab/crates/hover/src/package.rs
@@ -239,11 +640,16 @@
2023/08/11 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
2023/08/11 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
2023/08/11 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2023/08/11 | 7105 | macros/latex/contrib/profcollege/latex/PfCHorloge.tex
+2023/08/11 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
+2023/08/11 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
2023/08/11 | 7079 | macros/latex/contrib/l3kernel/l3term-glossary.tex
+2023/08/11 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
2023/08/11 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
2023/08/11 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
2023/08/11 | 70679 | macros/latex/contrib/l3kernel/l3fp.dtx
2023/08/11 | 70538 | macros/latex/contrib/l3kernel/expl3.dtx
+2023/08/11 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
2023/08/11 | 70482 | macros/latex/contrib/l3kernel/l3prg.dtx
2023/08/11 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
2023/08/11 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
@@ -253,6 +659,7 @@
2023/08/11 | 6970534 | support/texlab/crates/completion-data/data/completion.json.gz
2023/08/11 | 6963 | support/texlab/crates/syntax/src/bibtex/cst.rs
2023/08/11 | 694 | support/texlab/crates/syntax/src/bibtex.rs
+2023/08/11 | 6941 | macros/latex/contrib/profcollege/latex/PfCGrimuku.tex
2023/08/11 | 689 | support/texlab/crates/syntax/src/latex.rs
2023/08/11 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
2023/08/11 | 681 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
@@ -271,6 +678,7 @@
2023/08/11 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
2023/08/11 | 6477 | support/texlab/crates/base-db/src/util/line_index.rs
2023/08/11 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
+2023/08/11 | 6465 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
2023/08/11 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
2023/08/11 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex
2023/08/11 | 642 | support/texlab/crates/texlab/src/features/completion/user_command.rs
@@ -280,6 +688,7 @@
2023/08/11 | 62840 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
2023/08/11 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
2023/08/11 | 6267 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
+2023/08/11 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
2023/08/11 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
2023/08/11 | 6224 | macros/latex/contrib/l3kernel/l3.ins
2023/08/11 | 621772 | macros/latex/contrib/l3kernel/expl3.pdf
@@ -289,6 +698,7 @@
2023/08/11 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
2023/08/11 | 60 | support/texlab/crates/bibtex-utils/src/field.rs
2023/08/11 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
+2023/08/11 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
2023/08/11 | 602 | support/texlab/crates/texlab/src/features/completion/component_command.rs
2023/08/11 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
2023/08/11 | 59921 | macros/latex/contrib/dccpaper/dccpaper-by.eps
@@ -296,9 +706,12 @@
2023/08/11 | 5900 | support/texlab/crates/base-db/src/util/label.rs
2023/08/11 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
2023/08/11 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
+2023/08/11 | 58611 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
2023/08/11 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
2023/08/11 | 58325 | support/texlab/crates/base-db/src/data.rs
+2023/08/11 | 5824 | macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
2023/08/11 | 5706 | support/texlab/crates/base-db/src/graph.rs
+2023/08/11 | 56982 | macros/latex/contrib/profcollege/latex/PfCThales.tex
2023/08/11 | 5684 | support/texlab/crates/parser/src/build_log.rs
2023/08/11 | 566 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
2023/08/11 | 5665 | dviware/dvidvi/ChangeLog
@@ -308,10 +721,12 @@
2023/08/11 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
2023/08/11 | 561 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
2023/08/11 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
+2023/08/11 | 5591 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
2023/08/11 | 558 | support/texlab/crates/commands/Cargo.toml
2023/08/11 | 558218 | macros/latex/contrib/l3kernel/l3doc.pdf
2023/08/11 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
2023/08/11 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
+2023/08/11 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
2023/08/11 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
2023/08/11 | 5557 | support/texlab/crates/base-db/src/util/queries.rs
2023/08/11 | 5556 | support/texlab/crates/symbols/src/document/tests.rs
@@ -323,6 +738,7 @@
2023/08/11 | 541 | support/texlab/crates/hover/src/entry_type.rs
2023/08/11 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
2023/08/11 | 5378 | support/texlab/crates/base-db/src/document.rs
+2023/08/11 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
2023/08/11 | 535 | support/texlab/crates/base-db/Cargo.toml
2023/08/11 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
2023/08/11 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
@@ -331,6 +747,7 @@
2023/08/11 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
2023/08/11 | 5295 | macros/latex/contrib/circledsteps/circledsteps.sty
2023/08/11 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
+2023/08/11 | 5223 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
2023/08/11 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
2023/08/11 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
2023/08/11 | 52059 | macros/latex/contrib/joinbox/latexframe.png
@@ -376,6 +793,8 @@
2023/08/11 | 47216 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
2023/08/11 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
2023/08/11 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
+2023/08/11 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
+2023/08/11 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
2023/08/11 | 46584 | macros/latex/contrib/l3kernel/l3prefixes.csv
2023/08/11 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
2023/08/11 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
@@ -386,6 +805,7 @@
2023/08/11 | 4574 | macros/latex/contrib/l3kernel/l3legacy.dtx
2023/08/11 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
2023/08/11 | 454 | support/texlab/crates/symbols/Cargo.toml
+2023/08/11 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
2023/08/11 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
2023/08/11 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
2023/08/11 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
@@ -400,6 +820,7 @@
2023/08/11 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
2023/08/11 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
2023/08/11 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2023/08/11 | 4441 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
2023/08/11 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
2023/08/11 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
2023/08/11 | 433107 | macros/latex/contrib/circledsteps.zip
@@ -415,8 +836,11 @@
2023/08/11 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
2023/08/11 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
2023/08/11 | 4144 | support/texlab/crates/diagnostics/src/grammar/tex.rs
+2023/08/11 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
2023/08/11 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
2023/08/11 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
+2023/08/11 | 4125 | macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
+2023/08/11 | 4113 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
2023/08/11 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
2023/08/11 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
2023/08/11 | 407 | support/texlab/crates/parser/Cargo.toml
@@ -435,12 +859,12 @@
2023/08/11 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
2023/08/11 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
2023/08/11 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
-2023/08/11 | 39833 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
2023/08/11 | 3959 | support/texlab/crates/base-db/src/config.rs
2023/08/11 | 395889 | macros/latex/contrib/l3kernel/l3news.pdf
2023/08/11 | 394 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
2023/08/11 | 394 | support/texlab/crates/diagnostics/Cargo.toml
2023/08/11 | 389 | support/texlab/crates/commands/src/lib.rs
+2023/08/11 | 38860 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
2023/08/11 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
2023/08/11 | 386 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
2023/08/11 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
@@ -449,16 +873,20 @@
2023/08/11 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
2023/08/11 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
2023/08/11 | 3838 | support/texlab/crates/commands/src/build.rs
+2023/08/11 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
2023/08/11 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
2023/08/11 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
+2023/08/11 | 3806 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
2023/08/11 | 380190 | support/texlab/images/demo.gif
2023/08/11 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
2023/08/11 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
+2023/08/11 | 3798 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
2023/08/11 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
2023/08/11 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
2023/08/11 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
2023/08/11 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
2023/08/11 | 3767 | support/texlab/README.md
+2023/08/11 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
2023/08/11 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
2023/08/11 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
2023/08/11 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
@@ -472,9 +900,11 @@
2023/08/11 | 3645 | macros/latex/contrib/dccpaper/README.md
2023/08/11 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
2023/08/11 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
+2023/08/11 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
2023/08/11 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
2023/08/11 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
2023/08/11 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
+2023/08/11 | 35829 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
2023/08/11 | 357 | support/texlab/crates/definition/Cargo.toml
2023/08/11 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
2023/08/11 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
@@ -491,9 +921,11 @@
2023/08/11 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
2023/08/11 | 3491 | support/texlab/crates/references/src/tests.rs
2023/08/11 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
+2023/08/11 | 3466 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
2023/08/11 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
2023/08/11 | 344973 | macros/latex/contrib/dccpaper/dccpaper.pdf
2023/08/11 | 344366 | macros/latex/contrib/dccpaper.zip
+2023/08/11 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
2023/08/11 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
2023/08/11 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
2023/08/11 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
@@ -506,6 +938,7 @@
2023/08/11 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
2023/08/11 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
2023/08/11 | 3286 | support/texlab/crates/diagnostics/src/tests.rs
+2023/08/11 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
2023/08/11 | 3265 | support/texlab/crates/completion-data/src/lib.rs
2023/08/11 | 3263 | support/texlab/crates/diagnostics/src/build_log.rs
2023/08/11 | 3250 | support/texlab/crates/definition/src/tests.rs
@@ -531,6 +964,7 @@
2023/08/11 | 3058 | macros/latex/contrib/l3kernel/README.md
2023/08/11 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
2023/08/11 | 30508 | macros/latex/contrib/l3kernel/l3intarray.dtx
+2023/08/11 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
2023/08/11 | 304307 | macros/latex/contrib/l3kernel/l3regex.dtx
2023/08/11 | 3027 | support/texlab/crates/diagnostics/src/citations.rs
2023/08/11 | 3021 | support/texlab/crates/diagnostics/src/labels.rs
@@ -546,17 +980,23 @@
2023/08/11 | 2972 | support/texlab/crates/test-utils/src/fixture.rs
2023/08/11 | 296516 | macros/latex/contrib/l3kernel/l3styleguide.pdf
2023/08/11 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
+2023/08/11 | 2942 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
+2023/08/11 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
+2023/08/11 | 29357 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
2023/08/11 | 291 | support/texlab/crates/test-utils/Cargo.toml
2023/08/11 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
2023/08/11 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
2023/08/11 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
2023/08/11 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
2023/08/11 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
+2023/08/11 | 28872 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
2023/08/11 | 2841 | fonts/simpleicons/enc/simpleiconsone.enc
2023/08/11 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
2023/08/11 | 2832 | support/texlab/crates/texlab/src/features/completion/label.rs
2023/08/11 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
2023/08/11 | 2821 | macros/latex/contrib/dccpaper/Makefile
+2023/08/11 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
+2023/08/11 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
2023/08/11 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
2023/08/11 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
2023/08/11 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
@@ -585,10 +1025,13 @@
2023/08/11 | 264 | fonts/simpleicons/tex/usimpleiconsthree.fd
2023/08/11 | 264 | fonts/simpleicons/tex/usimpleiconsseven.fd
2023/08/11 | 264 | fonts/simpleicons/tex/usimpleiconseight.fd
+2023/08/11 | 26408 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
2023/08/11 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
2023/08/11 | 2630 | macros/latex/contrib/naive-ebnf/naive-ebnf.ins
+2023/08/11 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
2023/08/11 | 2610 | support/texlab/crates/symbols/src/types.rs
2023/08/11 | 2609 | support/texlab/crates/texlab/src/server/extensions.rs
+2023/08/11 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
2023/08/11 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
2023/08/11 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
2023/08/11 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
@@ -598,6 +1041,8 @@
2023/08/11 | 2586 | support/texlab/texlab.tex
2023/08/11 | 2586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
2023/08/11 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
+2023/08/11 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
+2023/08/11 | 25670 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
2023/08/11 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
2023/08/11 | 254 | fonts/simpleicons/tex/usimpleiconstwo.fd
2023/08/11 | 254 | fonts/simpleicons/tex/usimpleiconssix.fd
@@ -606,16 +1051,20 @@
2023/08/11 | 2543 | support/texlab/crates/distro/src/lib.rs
2023/08/11 | 2535 | fonts/simpleicons/enc/simpleiconsthree.enc
2023/08/11 | 25351 | support/texlab/crates/texlab/src/features/completion/builder.rs
+2023/08/11 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
2023/08/11 | 25249 | macros/latex/contrib/l3kernel/l3deprecation.dtx
2023/08/11 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
2023/08/11 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
2023/08/11 | 250127 | macros/latex/contrib/l3kernel/l3news09.pdf
2023/08/11 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
+2023/08/11 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
2023/08/11 | 2496 | fonts/simpleicons/enc/simpleiconsonezero.enc
2023/08/11 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
2023/08/11 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
2023/08/11 | 24792 | macros/latex/contrib/l3kernel/source3body.tex
+2023/08/11 | 2470 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
2023/08/11 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2023/08/11 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
2023/08/11 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
2023/08/11 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
2023/08/11 | 244 | support/texlab/crates/base-db/src/util.rs
@@ -635,32 +1084,38 @@
2023/08/11 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
2023/08/11 | 234484 | macros/latex/contrib/xkcdcolors.zip
2023/08/11 | 2337 | support/texlab/crates/texlab/benches/bench_main.rs
+2023/08/11 | 23237 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
2023/08/11 | 2322 | support/texlab/crates/diagnostics/src/lib.rs
2023/08/11 | 231519 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
2023/08/11 | 2303 | fonts/simpleicons/enc/simpleiconsoneone.enc
2023/08/11 | 23036 | macros/latex/contrib/xkcdcolors/xkcdcolors.sty
+2023/08/11 | 2301 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
2023/08/11 | 23011 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
2023/08/11 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
2023/08/11 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
2023/08/11 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
+2023/08/11 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
2023/08/11 | 227 | support/texlab/crates/syntax/Cargo.toml
2023/08/11 | 227 | support/texlab/crates/distro/Cargo.toml
+2023/08/11 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
2023/08/11 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
2023/08/11 | 2263 | macros/latex/contrib/xkcdcolors/README.md
2023/08/11 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
2023/08/11 | 2229 | macros/latex/contrib/l3kernel/source3.tex
+2023/08/11 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
2023/08/11 | 22204 | support/texlab/crates/citeproc/src/driver.rs
+2023/08/11 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
2023/08/11 | 22004 | biblio/bibtex/bibtex-x/ChangeLog
2023/08/11 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
2023/08/11 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
2023/08/11 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
2023/08/11 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
2023/08/11 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
-2023/08/11 | 2194 | biblio/bibtex/bibtex-x/tests/bibtexu-char.test
2023/08/11 | 218315 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
2023/08/11 | 217219 | macros/latex/contrib/xkcdcolors/xkcdcolors-manual.pdf
2023/08/11 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
2023/08/11 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
+2023/08/11 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
2023/08/11 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
2023/08/11 | 2128479 | fonts/simpleicons/doc/simpleicons.pdf
2023/08/11 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
@@ -672,14 +1127,15 @@
2023/08/11 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
2023/08/11 | 208 | macros/latex/contrib/naive-ebnf/DEPENDS.txt
2023/08/11 | 2074 | support/texlab/crates/bibtex-utils/src/field/author.rs
+2023/08/11 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
2023/08/11 | 2068 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
2023/08/11 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
-2023/08/11 | 205075 | macros/latex/contrib/profmaquette.zip
2023/08/11 | 204992 | macros/latex/contrib/l3kernel/l3news12.pdf
2023/08/11 | 20464 | macros/latex/contrib/l3kernel/l3text-purify.dtx
2023/08/11 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
2023/08/11 | 2038 | macros/latex/contrib/l3kernel/interface3.tex
2023/08/11 | 2028356 | fonts/simpleicons/opentype/SimpleIcons.otf
+2023/08/11 | 2013 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
2023/08/11 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
2023/08/11 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
2023/08/11 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
@@ -687,6 +1143,7 @@
2023/08/11 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
2023/08/11 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
2023/08/11 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
+2023/08/11 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
2023/08/11 | 1980 | support/texlab/crates/symbols/src/document/bib.rs
2023/08/11 | 197 | support/texlab/crates/texlab/src/features.rs
2023/08/11 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -701,6 +1158,8 @@
2023/08/11 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
2023/08/11 | 1871 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
2023/08/11 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
+2023/08/11 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
+2023/08/11 | 18605 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2023/08/11 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
2023/08/11 | 18532 | macros/latex/contrib/l3kernel/l3fp-round.dtx
2023/08/11 | 1844 | fonts/simpleicons/doc/simpleicons.tex
@@ -708,6 +1167,7 @@
2023/08/11 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
2023/08/11 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
2023/08/11 | 1829 | support/texlab/crates/texlab/src/features/completion/color.rs
+2023/08/11 | 18239 | macros/latex/contrib/profcollege/latex/PfCRose.tex
2023/08/11 | 1820 | support/texlab/crates/commands/src/clean.rs
2023/08/11 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
2023/08/11 | 181 | support/texlab/CONTRIBUTING.md
@@ -721,7 +1181,7 @@
2023/08/11 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
2023/08/11 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
2023/08/11 | 17809 | macros/latex/contrib/l3kernel/l3pdf.dtx
-2023/08/11 | 177321 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
+2023/08/11 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
2023/08/11 | 1760 | support/texlab/crates/citeproc/src/output.rs
2023/08/11 | 175 | support/texlab/crates/symbols/src/lib.rs
2023/08/11 | 1748 | support/texlab/crates/texlab/src/features/rename/entry.rs
@@ -743,40 +1203,51 @@
2023/08/11 | 16709 | macros/latex/contrib/l3kernel/l3candidates.dtx
2023/08/11 | 16633 | macros/latex/contrib/l3kernel/l3text-map.dtx
2023/08/11 | 1660 | support/texlab/crates/texlab/src/features/hover.rs
+2023/08/11 | 16486 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
2023/08/11 | 1647 | support/texlab/crates/texlab/src/util.rs
2023/08/11 | 16391 | macros/latex/contrib/naive-ebnf/naive-ebnf.dtx
2023/08/11 | 1636 | support/texlab/crates/texlab/src/features/completion/argument.rs
2023/08/11 | 163456 | macros/latex/contrib/l3kernel/l3news08.pdf
2023/08/11 | 1632 | biblio/bibtex/bibtex-x/tests/bibtex8u-mem.test
2023/08/11 | 1626 | support/texlab/crates/bibtex-utils/src/field/number.rs
+2023/08/11 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
2023/08/11 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
2023/08/11 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
2023/08/11 | 1608 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
+2023/08/11 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
2023/08/11 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
2023/08/11 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
2023/08/11 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
2023/08/11 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
2023/08/11 | 15 | support/texlab/crates/bibtex-utils/src/lib.rs
+2023/08/11 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
2023/08/11 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
2023/08/11 | 158 | support/texlab/crates/base-db/src/lib.rs
+2023/08/11 | 15861 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
2023/08/11 | 1583 | support/texlab/crates/commands/src/placeholders.rs
2023/08/11 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
2023/08/11 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
2023/08/11 | 15622 | support/texlab/crates/citeproc/src/tests.rs
2023/08/11 | 156194 | macros/latex/contrib/l3kernel/l3doc.dtx
+2023/08/11 | 15405 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
+2023/08/11 | 15326 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
+2023/08/11 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
2023/08/11 | 152023 | macros/latex/contrib/l3kernel/l3docstrip.pdf
2023/08/11 | 1519 | macros/latex/contrib/circledsteps/ctikzexample.tex
2023/08/11 | 1519 | fonts/simpleicons/tex/simpleicons.sty
2023/08/11 | 151569 | macros/latex/contrib/l3kernel/l3news06.pdf
2023/08/11 | 1509 | support/texlab/crates/symbols/src/document.rs
+2023/08/11 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
2023/08/11 | 1506 | support/texlab/crates/texlab/src/features/completion/import.rs
2023/08/11 | 150675 | macros/latex/contrib/l3kernel/l3news02.pdf
2023/08/11 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
2023/08/11 | 150282 | macros/latex/contrib/l3kernel/l3news10.pdf
2023/08/11 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
2023/08/11 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
+2023/08/11 | 14951 | macros/latex/contrib/profcollege/latex/PfCMulArt.tex
2023/08/11 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex
2023/08/11 | 148 | support/texlab/crates/parser/src/lib.rs
+2023/08/11 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
2023/08/11 | 148704 | macros/latex/contrib/l3kernel/l3news03.pdf
2023/08/11 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
2023/08/11 | 1448 | biblio/bibtex/bibtex-x/tests/bibtex8.test
@@ -789,9 +1260,12 @@
2023/08/11 | 14296 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
2023/08/11 | 1428 | macros/latex/contrib/naive-ebnf/README.md
2023/08/11 | 1428 | biblio/bibtex/bibtex-x/tests/bibtex8-char.test
+2023/08/11 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
2023/08/11 | 1421 | macros/latex/contrib/circledsteps/README.md
2023/08/11 | 141613 | macros/latex/contrib/l3kernel/l3tl.dtx
+2023/08/11 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
2023/08/11 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2023/08/11 | 14120 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
2023/08/11 | 1409 | support/texlab/crates/references/src/entry.rs
2023/08/11 | 140150 | macros/latex/contrib/l3kernel/l3file.dtx
2023/08/11 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
@@ -810,6 +1284,7 @@
2023/08/11 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
2023/08/11 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
2023/08/11 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2023/08/11 | 13187 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
2023/08/11 | 131482 | macros/latex/contrib/l3kernel/l3basics.dtx
2023/08/11 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
2023/08/11 | 1304 | support/texlab/crates/texlab/src/features/definition.rs
@@ -819,6 +1294,7 @@
2023/08/11 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
2023/08/11 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
2023/08/11 | 1298 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2023/08/11 | 1287 | macros/latex/contrib/profcollege/latex/PfCPyraVoca.tex
2023/08/11 | 128317 | macros/latex/contrib/l3kernel/l3news07.pdf
2023/08/11 | 12806 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
2023/08/11 | 12777 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -840,6 +1316,8 @@
2023/08/11 | 122711 | macros/latex/contrib/l3kernel/l3news01.pdf
2023/08/11 | 1225 | support/texlab/crates/hover/src/citation.rs
2023/08/11 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
+2023/08/11 | 12069 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
+2023/08/11 | 12065 | macros/latex/contrib/profcollege/latex/PfCNumberHive.tex
2023/08/11 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
2023/08/11 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
2023/08/11 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
@@ -850,6 +1328,7 @@
2023/08/11 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
2023/08/11 | 11781 | macros/latex/contrib/l3kernel/l3fparray.dtx
2023/08/11 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
+2023/08/11 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
2023/08/11 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
2023/08/11 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
2023/08/11 | 114591 | macros/latex/contrib/l3kernel/l3news04.pdf
@@ -857,6 +1336,7 @@
2023/08/11 | 11420 | support/texlab/crates/parser/src/bibtex.rs
2023/08/11 | 11391 | macros/latex/contrib/joinbox/expl3.png
2023/08/11 | 113435 | macros/latex/contrib/l3kernel/l3str-convert.dtx
+2023/08/11 | 11255 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
2023/08/11 | 1124 | support/texlab/crates/distro/src/language.rs
2023/08/11 | 112487 | macros/latex/contrib/l3kernel/l3news05.pdf
2023/08/11 | 112274 | macros/latex/contrib/l3kernel/l3color.dtx
@@ -865,10 +1345,13 @@
2023/08/11 | 1120 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_amsthm.snap
2023/08/11 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
2023/08/11 | 11093 | support/texlab/crates/base-db/src/semantics/tex.rs
+2023/08/11 | 11046 | macros/latex/contrib/profcollege/latex/PfCAutomatismes.tex
2023/08/11 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
+2023/08/11 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
2023/08/11 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
2023/08/11 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
2023/08/11 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
+2023/08/11 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
2023/08/11 | 108 | support/texlab/crates/texlab/src/lib.rs
2023/08/11 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
2023/08/11 | 1081 | dviware/dvidvi/dvidvi.test
@@ -880,17 +1363,21 @@
2023/08/11 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
2023/08/11 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
2023/08/11 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
+2023/08/11 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
2023/08/11 | 1059 | support/texlab/crates/hover/src/string_ref.rs
2023/08/11 | 1056 | support/texlab/crates/definition/src/include.rs
+2023/08/11 | 10548 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
2023/08/11 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
2023/08/11 | 105012 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
2023/08/11 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
+2023/08/11 | 10479 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
2023/08/11 | 1046 | support/texlab/crates/definition/src/string_ref.rs
2023/08/11 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
2023/08/11 | 10328 | macros/latex/contrib/l3kernel/l3flag.dtx
2023/08/11 | 1025 | support/texlab/crates/texlab/src/features/completion/matcher.rs
2023/08/11 | 10257 | support/texlab/crates/texlab/src/util/cursor.rs
2023/08/11 | 102208 | macros/latex/contrib/dccpaper/dccpaper.dtx
+2023/08/11 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
2023/08/11 | 10108 | support/texlab/crates/base-db/src/workspace.rs
2023/08/11 | 1009 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
2023/08/11 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
@@ -1025,7 +1512,6 @@
2023/08/08 | 80620 | systems/texlive/tlnet/tlpkg/translations/uk.po
2023/08/08 | 7774 | macros/luatex/latex/luacomplex/luacomplex.tex
2023/08/08 | 770 | graphics/pgf/contrib/tikzfill/CHANGES.md
-2023/08/08 | 7423 | macros/latex/contrib/memoir/doc-src/memnoidxnum.tex
2023/08/08 | 70484 | systems/texlive/tlnet/tlpkg/translations/sl.po
2023/08/08 | 6974 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
2023/08/08 | 67354 | systems/texlive/tlnet/tlpkg/translations/pl.po
@@ -1039,34 +1525,22 @@
2023/08/08 | 62854 | systems/texlive/tlnet/tlpkg/translations/ja.po
2023/08/08 | 620009 | macros/latex/contrib/apa6.zip
2023/08/08 | 61459 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
-2023/08/08 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
2023/08/08 | 58302 | systems/texlive/tlnet/tlpkg/translations/nl.po
2023/08/08 | 58292 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
2023/08/08 | 57728 | systems/texlive/tlnet/tlpkg/translations/da.po
-2023/08/08 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
2023/08/08 | 5409 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex
2023/08/08 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
-2023/08/08 | 52303 | macros/latex/contrib/memoir/README
2023/08/08 | 486576 | systems/texlive/tlnet/archive/tikzpeople.doc.r67840.tar.xz
2023/08/08 | 47295 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2023/08/08 | 4728832 | systems/texlive/tlnet/archive/novel.doc.r67840.tar.xz
2023/08/08 | 4639 | graphics/pgf/contrib/tikzfill/tikzfill-doc.sty
-2023/08/08 | 432 | macros/latex/contrib/memoir/doc-src/memman.gst
-2023/08/08 | 42311 | macros/latex/contrib/memoir/doc-src/memsty.sty
2023/08/08 | 42059 | graphics/pgf/contrib/tikzfill/tikzfill.tex
2023/08/08 | 4197 | macros/luatex/latex/luacomplex/luacomplex.sty
2023/08/08 | 41277 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
2023/08/08 | 40961 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf
-2023/08/08 | 3977 | macros/latex/contrib/memoir/memoir.ins
-2023/08/08 | 389 | macros/latex/contrib/memoir/doc-src/memman.ist
-2023/08/08 | 36627 | macros/latex/contrib/memoir/mempatch.dtx
-2023/08/08 | 3623212 | install/macros/latex/contrib/memoir.tds.zip
-2023/08/08 | 3522153 | macros/latex/contrib/memoir.zip
2023/08/08 | 34968 | systems/texlive/tlnet/archive/tagpdf.r67840.tar.xz
2023/08/08 | 3036 | systems/texlive/tlnet/archive/modeles-factures-belges-assocs.r67840.tar.xz
2023/08/08 | 295284 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
-2023/08/08 | 2852 | macros/latex/contrib/memoir/mempatch.ins
-2023/08/08 | 2845232 | macros/latex/contrib/memoir/memman.pdf
2023/08/08 | 27432 | systems/texlive/tlnet/archive/luamplib.source.r67840.tar.xz
2023/08/08 | 260140 | systems/texlive/tlnet/archive/modeles-factures-belges-assocs.doc.r67840.tar.xz
2023/08/08 | 258446 | macros/latex/contrib/verbatimbox/verbatimbox.pdf
@@ -1075,18 +1549,12 @@
2023/08/08 | 23340 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
2023/08/08 | 2109884 | systems/texlive/tlnet/archive/tagpdf.doc.r67840.tar.xz
2023/08/08 | 2090 | macros/luatex/latex/lualinalg/README.txt
-2023/08/08 | 206 | macros/latex/contrib/memoir/doc-src/Makeidxglo
2023/08/08 | 20696 | systems/texlive/tlnet/archive/tikzpeople.r67840.tar.xz
2023/08/08 | 20611 | macros/latex/contrib/verbatimbox/verbatimbox.tex
-2023/08/08 | 203838 | macros/latex/contrib/memoir/doc-src/setpage-example.pdf
-2023/08/08 | 17396 | macros/latex/contrib/memoir/doc-src/titlepages.sty
2023/08/08 | 1644 | systems/texlive/tlnet/archive/chronology.r67840.tar.xz
2023/08/08 | 16028 | systems/texlive/tlnet/archive/context-handlecsv.r67840.tar.xz
2023/08/08 | 156876 | systems/texlive/tlnet/archive/luamplib.doc.r67840.tar.xz
2023/08/08 | 15207834 | macros/latex/contrib/jeuxcartes.zip
-2023/08/08 | 1520265 | macros/latex/contrib/memoir/doc-src/memman.tex
-2023/08/08 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps
-2023/08/08 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty
2023/08/08 | 1298 | macros/luatex/latex/luacomplex/README.txt
2023/08/08 | 12772 | systems/texlive/tlnet/archive/chronology.doc.r67840.tar.xz
2023/08/08 | 12132 | systems/texlive/tlnet/archive/luamplib.r67840.tar.xz
@@ -1096,7 +1564,6 @@
2023/08/08 | 116132 | systems/texlive/tlnet/archive/novel.r67840.tar.xz
2023/08/08 | 1140 | graphics/pgf/contrib/tikzfill/tikzfill.rhombus.sty
2023/08/08 | 1140 | graphics/pgf/contrib/tikzfill/tikzfill.hexagon.sty
-2023/08/08 | 1122850 | macros/latex/contrib/memoir/memoir.dtx
2023/08/08 | 1120 | graphics/pgf/contrib/tikzfill/tikzfill.image.sty
2023/08/08 | 10931 | graphics/pgf/contrib/tikzfill/tikzlibraryfill.image.code.tex
2023/08/08 | 109293 | macros/luatex/latex/luacomplex/luacomplex.pdf
@@ -1104,33 +1571,3 @@
2023/08/08 | 107622 | systems/texlive/tlnet/tlpkg/translations/ru.po
2023/08/08 | 1071216 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
2023/08/08 | 103515 | systems/texlive/tlnet/tlpkg/translations/sr.po
-2023/08/07 | 9953 | macros/luatex/generic/luamplib/NEWS
-2023/08/07 | 96212 | macros/luatex/generic/luamplib/luamplib.dtx
-2023/08/07 | 7724 | macros/latex/contrib/apa6/samples/bibliography.bib
-2023/08/07 | 6908 | macros/latex/contrib/apa6/samples/longsample.tex
-2023/08/07 | 6704 | macros/latex/contrib/apa6/apa6.ins
-2023/08/07 | 6249 | macros/latex/contrib/apa6/samples/shortsample.tex
-2023/08/07 | 603020 | macros/latex/contrib/apa6/apa6.pdf
-2023/08/07 | 5611 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
-2023/08/07 | 5548 | macros/latex/contrib/apa6/config/APAendfloat.cfg
-2023/08/07 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
-2023/08/07 | 3223 | macros/latex/contrib/apa6/config/APAngerman.txt
-2023/08/07 | 3221 | macros/latex/contrib/apa6/config/APAgreek.txt
-2023/08/07 | 3214 | macros/latex/contrib/apa6/config/APAgerman.txt
-2023/08/07 | 3213 | macros/latex/contrib/apa6/config/APAturkish.txt
-2023/08/07 | 3204 | macros/latex/contrib/apa6/config/APAczech.txt
-2023/08/07 | 3193 | macros/latex/contrib/apa6/config/APAdutch.txt
-2023/08/07 | 3169 | macros/latex/contrib/apa6/config/APAenglish.txt
-2023/08/07 | 3169 | macros/latex/contrib/apa6/config/APAamerican.txt
-2023/08/07 | 3164 | macros/latex/contrib/apa6/config/APAbritish.txt
-2023/08/07 | 2752 | macros/luatex/generic/luamplib/Makefile
-2023/08/07 | 2359601 | macros/latex/contrib/tagpdf.zip
-2023/08/07 | 202348 | install/macros/luatex/generic/luamplib.tds.zip
-2023/08/07 | 1996 | macros/luatex/generic/luamplib/README
-2023/08/07 | 187702 | macros/luatex/generic/luamplib.zip
-2023/08/07 | 172321 | macros/latex/contrib/apa6/apa6.dtx
-2023/08/07 | 153613 | macros/luatex/generic/luamplib/luamplib.pdf
-2023/08/07 | 1422 | macros/latex/contrib/apa6/README
-2023/08/07 | 13798 | macros/latex/contrib/apa6/pseudoTeX/apa6.ptex
-2023/08/07 | 13269 | macros/latex/contrib/apa6/pseudoTeX/TeX2WordForapa6.bas
-2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 8d2aa3bce2..28f1cf3216 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 14-08-2023, 02:00:44
+%% created at 15-08-2023, 02:01:02
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -35202,6 +35202,17 @@
this source file that each compile differently.},
}
+@manual{ctan-joinbox,
+ title = {The \texttt{joinbox} package},
+ subtitle = {Join boxes vertically or horizontally},
+ author = {Nan Geng},
+ date = {2023-08-14},
+ version = {1.0.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/joinbox},
+ url = {https://ctan.org/pkg/joinbox},
+}
+
@manual{ctan-josefin,
title = {The \texttt{josefin} package},
subtitle = {Josefin fonts with \LaTeX{} support},
@@ -38770,8 +38781,8 @@
title = {The \texttt{lettrine} package},
subtitle = {Typeset dropped capitals},
author = {Daniel Flipo},
- date = {2023-07-04},
- version = {2.51},
+ date = {2023-08-14},
+ version = {2.52},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/lettrine},
url = {https://ctan.org/pkg/lettrine},
@@ -44101,8 +44112,8 @@
title = {The \texttt{memoir} package},
subtitle = {Typeset fiction, non-fiction and mathematical books},
author = {Peter R. Wilson and Lars Madsen},
- date = {2023-08-08},
- version = {3.8},
+ date = {2023-08-14},
+ version = {3.8a},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/memoir},
url = {https://ctan.org/pkg/memoir},
@@ -48298,8 +48309,8 @@
title = {The \texttt{nicematrix} package},
subtitle = {Improve the typesetting of mathematical matrices with PGF},
author = {François Pantigny},
- date = {2023-07-17},
- version = {6.21a},
+ date = {2023-08-14},
+ version = {6.22},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/nicematrix},
url = {https://ctan.org/pkg/nicematrix},
@@ -50838,6 +50849,17 @@
url = {https://ctan.org/pkg/pangram},
}
+@manual{ctan-panneauxroute,
+ title = {The \texttt{panneauxroute} package},
+ subtitle = {Commands to display French road signs (vector graphics)},
+ author = {Cédric Pierquet},
+ date = {2023-08-14},
+ version = {0.1.0},
+ license = {lppl1.3c,cc-by-sa-3},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/panneauxroute},
+ url = {https://ctan.org/pkg/panneauxroute},
+}
+
@manual{ctan-paper,
title = {The \texttt{paper} package},
subtitle = {Versions of article class, tuned for scholarly publications},
@@ -54588,8 +54610,8 @@
title = {The \texttt{ProfCollege} package},
subtitle = {A \LaTeX{} package for French maths teachers in college},
author = {Christophe Poulain},
- date = {2023-08-01},
- version = {0.99-z-q},
+ date = {2023-08-14},
+ version = {0.99-z-r},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/profcollege},
url = {https://ctan.org/pkg/profcollege},
@@ -54621,8 +54643,8 @@
title = {The \texttt{profmaquette} package},
subtitle = {Use exercises in different types of documents},
author = {Christophe Poulain},
- date = {2023-08-11},
- version = {0.25},
+ date = {2023-08-14},
+ version = {0.35},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/profmaquette},
url = {https://ctan.org/pkg/profmaquette},
@@ -58524,8 +58546,8 @@
title = {The \texttt{reledmac} package},
subtitle = {Typeset scholarly editions},
author = {Maïeul Rouquette},
- date = {2023-07-21},
- version = {2.39.5},
+ date = {2023-08-14},
+ version = {2.39.6},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/reledmac},
url = {https://ctan.org/pkg/reledmac},
@@ -64987,10 +65009,10 @@
title = {The \texttt{substitutefont} package},
subtitle = {Easy font substitution},
author = {Günter Milde},
- date = {2016-06-24},
- version = {0.1.4},
+ date = {2023-08-14},
+ version = {0.1.5},
license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/substitutefont},
+ mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/substitutefont},
url = {https://ctan.org/pkg/substitutefont},
}
@@ -78429,8 +78451,8 @@
title = {The \texttt{zref-check} package},
subtitle = {Flexible cross-references with contextual checks based on zref},
author = {Gustavo Barros},
- date = {2023-06-14},
- version = {0.3.3},
+ date = {2023-08-14},
+ version = {0.3.4},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/zref-check},
url = {https://ctan.org/pkg/zref-check},
@@ -78456,8 +78478,8 @@
title = {The \texttt{zref-clever} package},
subtitle = {Clever \LaTeX{} cross-references based on zref},
author = {Gustavo Barros},
- date = {2023-06-19},
- version = {0.4.1},
+ date = {2023-08-14},
+ version = {0.4.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/zref-clever},
url = {https://ctan.org/pkg/zref-clever},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index 4e060ec8a7..0eb2bf7722 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
index 4b3ff4d6e1..84ba7a4344 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
index c616adba03..a780c1c0a6 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
index cc433b0fab..a88972db81 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine.pdf b/macros/latex/contrib/lettrine/doc/lettrine.pdf
index ad1c4ac4c0..0fde23f12d 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/lettrine.dtx b/macros/latex/contrib/lettrine/lettrine.dtx
index 3c1a191780..4f17f5f6b6 100644
--- a/macros/latex/contrib/lettrine/lettrine.dtx
+++ b/macros/latex/contrib/lettrine/lettrine.dtx
@@ -106,7 +106,7 @@
\ProvidesFile{lettrine.dtx}
%</dtx>
%<*sty|dtx>
- [2023-07-04 v2.51 (Daniel Flipo)]
+ [2023-08-14 v2.52 (Daniel Flipo)]
%</sty|dtx>
% \fi
%
@@ -182,10 +182,21 @@
% this requires the |graphicx| package to be loaded in the preamble.
% |\lettrine[image=true]{A}{n exemple}|\quad or just\\
% |\lettrine[image]{A}{n exemple}|\\
-% will load |A.eps|, |A.jpg|, |A.png| or |A.pdf| instead of letter~A.\\
-% N.B.: Redefining |\LettrineFont| as |\LettrineFontEPS| is no longer
-% supported and |\LettrineFontEPS| has been renamed as
-% |\LettrineImage|.
+% will load |A.eps|, |A.jpg|, |A.png| or |A.pdf| instead of letter~A.
+%
+% \changes{v2.52}{2023/08/14}{New option`viewport’ to be passed to
+% \cs{includegraphics}.}
+%
+% \item \lopt{viewport=}\meta{llx lly urx ury} is passed to
+% |\includegraphics| (same four dimen parameters); when present,
+% |\lettrine| only considers the contents of the rectangle defined by
+% its lower left and upper right corners to compute the size of the
+% final image. It’s up to the user to deal with the rest of the
+% image… f.i.\ providing a |\vspace*{...}| in case a significant part
+% sticks out on top of the defined rectangle. This option may be
+% useful in some special cases, see
+% \url{https://tex.stackexchange.com/questions/693270/} or when the
+% image’s bounding box is inaccurate.
%
% \changes{v1.8}{2015/02/06}{Added two keyval options:
% `grid’ (true/false) and `novskip’ to override \cs{DiscardVskip}.}
@@ -276,8 +287,9 @@
% specified as options passed to the \pkg{lettrine} \emph{package}.
% These options are the same as those of the |\lettrine| command
% previously described%
-% \footnote{With the exception of \lopt{ante} which doesn’t make
-% sense for a global usage.}: f.i. |\usepackage[lines=3]{lettrine}|
+% \footnote{With the exception of \lopt{ante} and \lopt{viewport}
+% which do not make sense for a global usage.}:
+% f.i.\ |\usepackage[lines=3]{lettrine}|
% will set the default to three lines of text.
% Options passed to the \pkg{lettrine} package override the defaults
% set in the \file{lettrine.cfg} file (see below) and will be
@@ -333,7 +345,7 @@
%
% A hook |\LettrineFontHook| is provided to change the font
% used for the dropped capital, syntax follows LaTeX’s
-% low-level font interface (see LaTeX Companion, p.187--192),
+% low-level font interface (see LaTeX Companion III, section~I-9.3),
% the |\selectfont| command is issued by |\LettrineFont|:\\
% |\renewcommand{\LettrineFontHook}{\fontfamily{ppl}|\ignorespaces
% |\fontseries{bx}%|\\
@@ -354,7 +366,7 @@
% mention the cm-super fonts and the type1ec package by
% Vladimir Volovich.}
%
-% \vspace{\baselineskip}
+% \vspace{.5\baselineskip}
% \textbf{Important notice:}
% the sizing works fine with \emph{fully scalable} fonts (like the
% standard PostScript or OpenType fonts), but might not work well
@@ -386,7 +398,7 @@
% (Palatino, Times, Utopia…), or any OpenType font, they are
% fully scalable too!
%
-% \newpage
+% \vspace{.5\baselineskip}
% \textbf{Breaking change in version~2.50:} in order to improve the
% alignment of side by side parboxes starting with a dropped cap, the
% internals of the |\lettrine{}| command have changed. Formerly, the
@@ -404,6 +416,7 @@
% for an example. Using the rollback mechanism to switch back to
% version~2.40 is another option: |\usepackage{lettrine}[=v2.4]|.
%
+% \vspace{.5\baselineskip}
% \textbf{Known issues:}
% \begin{itemize}
% \item Nothing is done to prevent page-breaking in a paragraph
@@ -552,6 +565,7 @@
\newif\ifL@image
\newif\ifL@grid
\newif\ifL@realh
+\newcommand*{\L@viewport}{}
% \end{macrocode}
%
% \begin{macro}{\LettrineTestString}
@@ -606,7 +620,7 @@
image.if = LettrineImage ,
grid.if = LettrineOnGrid ,
realheight.if = LettrineRealHeight ,
- refstring.default:n = \l@initial ,
+ refstring.default:n = \L@initial ,
refstring.store = \LettrineTestString ,
optionsfile.store = \DefaultOptionsFile
}
@@ -629,10 +643,11 @@
slope.code = \setlength{\L@slope}{#1} ,
novskip.code = \setlength{\L@novskip}{#1} ,
image.if = L@image ,
+ viewport.store = \L@viewport ,
grid.if = L@grid ,
realheight.if = L@realh ,
- refstring.default:n = \l@initial ,
- refstring.store = \l@refstring
+ refstring.default:n = \L@initial ,
+ refstring.store = \L@refstring
}
% \end{macrocode}
%
@@ -770,10 +785,10 @@
% In most cases, the default is a better choice .
% \begin{macrocode}
\def\compute@fontsize{%
- \ifx\l@refstring\@empty
+ \ifx\L@refstring\@empty
\def\Lettrine@RefString{\LettrineTestString}%
\else
- \def\Lettrine@RefString{\l@refstring}%
+ \def\Lettrine@RefString{\L@refstring}%
\fi
\sbox{\@tempboxa}{\LettrineFontHook
\fontsize{\L@height}{\L@height}\selectfont
@@ -803,30 +818,6 @@
% \end{macrocode}
% \end{macro}
%
-% \changes{v0.9}{1998/03/13}{\cs{LettrineFontEPS} added.}
-%
-% \changes{v2.21}{2018/08/28}{\cs{LettrineFontEPS} renamed as
-% \cs{LettrineImage}.}
-%
-% \begin{macro}{\LettrineImage}
-% The following definition is for use with dropped capitals defined
-% as images: EPS, PDF, JPG, PNG files (see examples in
-% lettrine-demo-fr.tex).
-% Its requires the |graphicx| package to be loaded in the
-% preamble with |\usepackage{graphicx}|. The image’s height is
-% computed just as in the standard case and passed to
-% |\includegraphics|.
-%
-% \changes{v1.6}{2004/05/22}{Added \cs{LettrineFontHook}
-% to \cs{LettrineFontEPS}. This is needed for color options.}
-%
-% \begin{macrocode}
-\newcommand*{\LettrineImage}{%
- \LettrineFontHook\includegraphics[height=\L@height]%
-}
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\setupL@lbox}
% The next (internal) command computes the requested size for the
% initial (letter or image) and prepares a box |\L@lbox| holding it.
@@ -834,10 +825,17 @@
\def\setupL@lbox{%
\computeL@height
\ifL@image
- \sbox{\L@lbox}{\LettrineImage{\l@initial}}%
+ \ifx\L@viewport\@empty
+ \sbox{\L@lbox}{\includegraphics[height=\L@height]{\L@initial}}%
+ \else
+ \sbox{\L@lbox}{%
+ \expanded{\noexpand\includegraphics%
+ [viewport=\L@viewport, height=\L@height]{\L@initial}%
+ }}%
+ \fi
\else
\compute@fontsize
- \sbox{\L@lbox}{\LettrineFont \l@initial}%
+ \sbox{\L@lbox}{\LettrineFont \L@initial}%
\fi
}
% \end{macrocode}
@@ -854,18 +852,18 @@
%
% \begin{macrocode}
\newcommand*{\LettrineOptionsFor}[2]{%
- \edef\l@tmpa{#1}%
+ \edef\L@tmpa{#1}%
% \end{macrocode}
% Gobble potential color commands for the initial.
% \begin{macrocode}
\begingroup
- \def\color##1##{\l@color{##1}}%
- \let\l@color\@gobbletwo
- \def\textcolor##1##{\l@textcolor{##1}}%
- \def\l@textcolor##1##2##3{##3}%
- \xdef\l@tmpb{\l@initial}%
+ \def\color##1##{\L@color{##1}}%
+ \let\L@color\@gobbletwo
+ \def\textcolor##1##{\L@textcolor{##1}}%
+ \def\L@textcolor##1##2##3{##3}%
+ \xdef\L@tmpb{\L@initial}%
\endgroup
- \ifx\l@tmpa\l@tmpb \SetKeys[LettrineLocal]{#2}\fi
+ \ifx\L@tmpa\L@tmpb \SetKeys[LettrineLocal]{#2}\fi
}
% \end{macrocode}
% \end{macro}
@@ -876,7 +874,7 @@
% \begin{macrocode}
\def\lettrine{\@ifnextchar[\@lettrine{\@lettrine[]}}
\def\@lettrine[#1]#2#3{%
- \def\l@initial{#2}\let\l@refstring\@empty
+ \def\L@initial{#2}\def\L@refstring{}\def\L@viewport{}%
% \end{macrocode}
%
% \changes{v1.9}{2015/08/31}{\cs{theDefaultLines} changed to
@@ -930,7 +928,7 @@
% config file \cs{DefaultOptionsFile}.}
% Then try to read an optional file (its name is given by
% |\DefaultOptionsFile|), do this inside a group, and define a
-% global command |\l@LOKeys| which will expand to the list of
+% global command |\L@LOKeys| which will expand to the list of
% options given by |\LettrineOptionsFor| for the current initial
% (defined by |#2|)…
%
diff --git a/macros/latex/contrib/memoir/README b/macros/latex/contrib/memoir/README
index 0edb2a1741..7ad41300bf 100644
--- a/macros/latex/contrib/memoir/README
+++ b/macros/latex/contrib/memoir/README
@@ -22,6 +22,13 @@ un-updated LaTeX systems and we often make no attempt to be backwards
compatible. Instead we assume that users use updated memoir with an
updated LaTeX installation.
+Changes (2023/08/14)
+
+o memoir v3.8a
+
+-- forgot to enable the announced stop if the LaTeX format is to old.
+-- updated the bibliography to more recent years.
+
Changes (2023/08/08)
o memoir v3.8
diff --git a/macros/latex/contrib/memoir/doc-src/memman.tex b/macros/latex/contrib/memoir/doc-src/memman.tex
index c95b8a0dae..c233cfecd9 100644
--- a/macros/latex/contrib/memoir/doc-src/memman.tex
+++ b/macros/latex/contrib/memoir/doc-src/memman.tex
@@ -32640,8 +32640,8 @@ than Archibald Smythe University will permit.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-09-06 15:05:23 +0200 (Thu, 06 Sep 2018) $}
-{$LastChangedRevision: 612 $}
+{$LastChangedDate: 2023-08-14 12:41:03 +0200 (Mon, 14 Aug 2023) $}
+{$LastChangedRevision: 777 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Packages and macros}
@@ -32654,7 +32654,8 @@ additional macros, some of which I will show you.
\section{Packages}
The packages that I have used that you are likely to have, and if
-you do not have them please consider getting them, are:
+you do not have them please consider getting them,
+are:\fxnote[author=dlf,vadj=0em]{2023/08/10: rewrite}
\begin{itemize}
\item \Lpack{etex} lets you take advantage of e\tx's extended support
for counters and such.
@@ -32668,14 +32669,14 @@ you do not have them please consider getting them, are:
\verb|\RequirePackage{etex}| \emph{before} \cs{documentclass}!
\item \Lpack{url}~\cite{URL} is for typesetting URL's without worrying
about special characters or line breaking.
-\item \Lpack{fixltx2e}~\cite{FIXLTX2E} eliminates some infelicities
- of the original LaTeX kernel. In particular it maintains the order
- of floats\index{float} on a twocolumn\index{column!double} page
- and ensures the correct marking
- on a twocolumn\index{column!double} page.
+% \item \Lpack{fixltx2e}~\cite{FIXLTX2E} eliminates some infelicities
+% of the original LaTeX kernel. In particular it maintains the order
+% of floats\index{float} on a twocolumn\index{column!double} page
+% and ensures the correct marking
+% on a twocolumn\index{column!double} page.
- Note that as of 2015, the functionality of this package has been
- merged into the \LaTeX{} kernel. Loading this package does nothing.
+% Note that as of 2015, the functionality of this package has been
+% merged into the \LaTeX{} kernel. Loading this package does nothing.
\item \Lpack{alltt}~\cite{ALLTT} is a basic package which provides a
@@ -38967,1381 +38968,2016 @@ end if
access CTAN is available at \url{http://www.tug.org}.
\par\vspace{\onelineskip}}
-%%%\begin{comment}
-\begin{thebibliography}{GMS94A}
-\small
+% %\begin{comment}
-%%% keep
-\bibitem[AHK90]{IMPATIENT}
- Paul W. Abrahams, Kathryn Hargreaves and Karl Berry.
- \newblock \emph{TeX for the Impatient}.
- \newblock Addison-Wesley, 1990.
- \newblock (Available at
- \url{ftp://tug.org/tex/impatient})
+% %%%\begin{comment}
+% \begin{thebibliography}{GMS94A}
+% \small
-\begin{comment}
-\bibitem[Ado01]{ADOBEBOOK}
- \emph{How to Create Adobe PDF eBooks}.
- \newblock Adobe Systems Inc.,
- \newblock 2001.
- \newblock (Available from
- \url{http://www.adobe.com/epaper/tips/acr5ebook/pdfs/eBook.pdf})
-\end{comment}
+% %%% keep
+% \bibitem[AHK90]{IMPATIENT}
+% Paul W. Abrahams, Kathryn Hargreaves and Karl Berry.
+% \newblock \emph{TeX for the Impatient}.
+% \newblock Addison-Wesley, 1990.
+% \newblock (Available at
+% \url{ftp://tug.org/tex/impatient})
-\LMnote{2010/09/28}{Added the \cs{CTANurl}'s and verified them}
+% \begin{comment}
+% \bibitem[Ado01]{ADOBEBOOK}
+% \emph{How to Create Adobe PDF eBooks}.
+% \newblock Adobe Systems Inc.,
+% \newblock 2001.
+% \newblock (Available from
+% \url{http://www.adobe.com/epaper/tips/acr5ebook/pdfs/eBook.pdf})
+% \end{comment}
-%%% keep
-\bibitem[Ars99]{URL}
- Donald Arseneau.
- \newblock \emph{The url package}.
- \newblock February, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/url/})
+% \LMnote{2010/09/28}{Added the \cs{CTANurl}'s and verified them}
-%%% keep
-% \bibitem[Ars01a]{TITLEREF}
+% %%% keep
+% \bibitem[Ars99]{URL}
% Donald Arseneau.
-% \newblock \emph{The titleref package}.
-% \newblock April, 2001.
+% \newblock \emph{The url package}.
+% \newblock February, 1999.
% \newblock (Available from CTAN via
-% \CTANurl{/macros/latex/contrib/titleref/})
-
-%%% keep
-\bibitem[Ars01b]{CHAPTERBIB}
- Donald Arseneau.
- \newblock \emph{The chapterbib package}.
- \newblock September, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/cite/})
-
-%%% keep
-\bibitem[Ars07]{FRAMED}
- Donald Arseneau.
- \newblock \emph{The framed package} v0.95.
- \newblock October, 2007.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/framed/})
+% \CTANurl{/macros/latex/contrib/url/})
+
+% %%% keep
+% % \bibitem[Ars01a]{TITLEREF}
+% % Donald Arseneau.
+% % \newblock \emph{The titleref package}.
+% % \newblock April, 2001.
+% % \newblock (Available from CTAN via
+% % \CTANurl{/macros/latex/contrib/titleref/})
+
+% %%% keep
+% \bibitem[Ars01b]{CHAPTERBIB}
+% Donald Arseneau.
+% \newblock \emph{The chapterbib package}.
+% \newblock September, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/cite/})
-\begin{comment}
-\bibitem[Bar92]{BAROLINI92}
- Helen Barolini.
- \newblock \emph{Aldus and his Dream Book}.
- \newblock Italica Press, 1992.
- \newblock ISBN 0--934977--22--4.
-
-\bibitem[Bar01]{BARTRAM01}
- Alan Bartram.
- \newblock \emph{Five hundred years of book design}.
- \newblock Yale university Press, 2001.
- \newblock ISBN 0--300--09058--7.
- \newblock (First published 2001 by The British Library)
-
-\bibitem[BDG89]{BIGELOW89}
- Charles Bigelow, Paul Hayden Duensing and Linnea Gentry (Eds).
- \newblock \emph{Fine Print on Type}. 1989.
- \newblock Fine Print, CA (ISBN 0--9607290-X) or
- \newblock Bedford Arts, CA (ISBN 0--938491--17--2).
-
-\bibitem[Boh90]{BOHLE90}
- Robert Bohle.
- \newblock \emph{Publication Design for Editors}.
- \newblock Prentice-Hall,
- \newblock 1990.
-\end{comment}
+% %%% keep
+% \bibitem[Ars07]{FRAMED}
+% Donald Arseneau.
+% \newblock \emph{The framed package} v0.95.
+% \newblock October, 2007.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/framed/})
-%%% keep
-\bibitem[Ber02]{JURABIB}
- Jens Berger.
- \newblock \emph{The titlesec and titletoc packages}.
- \newblock September, 2002.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/titlesec/})
-
-%%% keep
-\bibitem[Bez99]{TITLESEC}
- Javier Bezos.
- \newblock \emph{The titlesec and titletoc packages}.
- \newblock February, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/titlesec/})
+% \begin{comment}
+% \bibitem[Bar92]{BAROLINI92}
+% Helen Barolini.
+% \newblock \emph{Aldus and his Dream Book}.
+% \newblock Italica Press, 1992.
+% \newblock ISBN 0--934977--22--4.
+
+% \bibitem[Bar01]{BARTRAM01}
+% Alan Bartram.
+% \newblock \emph{Five hundred years of book design}.
+% \newblock Yale university Press, 2001.
+% \newblock ISBN 0--300--09058--7.
+% \newblock (First published 2001 by The British Library)
+
+% \bibitem[BDG89]{BIGELOW89}
+% Charles Bigelow, Paul Hayden Duensing and Linnea Gentry (Eds).
+% \newblock \emph{Fine Print on Type}. 1989.
+% \newblock Fine Print, CA (ISBN 0--9607290-X) or
+% \newblock Bedford Arts, CA (ISBN 0--938491--17--2).
+
+% \bibitem[Boh90]{BOHLE90}
+% Robert Bohle.
+% \newblock \emph{Publication Design for Editors}.
+% \newblock Prentice-Hall,
+% \newblock 1990.
+% \end{comment}
-\bibitem[Bir04]{BIRDSALL04}
- Derek Birdsall.
- \newblock \emph{notes on book design}.
- \newblock Yale University Press, 2004.
- \newblock ISBN 0--300--10347--6.
+% %%% keep
+% \bibitem[Ber02]{JURABIB}
+% Jens Berger.
+% \newblock \emph{The jurabib packages}.
+% \newblock January, 2004.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/jurabib/})
+
+% %%% keep
+% \bibitem[Bez99]{TITLESEC}
+% Javier Bezos.
+% \newblock \emph{The titlesec and titletoc packages}.
+% \newblock February, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/titlesec/})
+
+% \bibitem[Bir04]{BIRDSALL04}
+% Derek Birdsall.
+% \newblock \emph{notes on book design}.
+% \newblock Yale University Press, 2004.
+% \newblock ISBN 0--300--10347--6.
-\begin{comment}
-\bibitem[Bra94]{MAKEIDX}
- Johannes Braams \textit{et al}.
- \newblock \emph{Standard LaTeX2e packages makeidx and showidx}.
- \newblock November, 1994.
- \newblock (Available from CTAN as
- \url{/macros/latex/base/makeindx.dtx(ins)})
-\end{comment}
+% \begin{comment}
+% \bibitem[Bra94]{MAKEIDX}
+% Johannes Braams \textit{et al}.
+% \newblock \emph{Standard LaTeX2e packages makeidx and showidx}.
+% \newblock November, 1994.
+% \newblock (Available from CTAN as
+% \url{/macros/latex/base/makeindx.dtx(ins)})
+% \end{comment}
-%%% keep
-\bibitem[Bra97]{ALLTT}
- Johannes Braams.
- \newblock \emph{The alltt environment}.
- \newblock June, 1997.
- \newblock (Available as \texttt{alltt.dtx} and
- \texttt{alltt.ins} from CTAN via \CTANurl{/macros/latex/base/})
+% %%% keep
+% \bibitem[Bra97]{ALLTT}
+% Johannes Braams.
+% \newblock \emph{The alltt environment}.
+% \newblock June, 1997.
+% \newblock (Available as \texttt{alltt.dtx} and
+% \texttt{alltt.ins} from CTAN via \CTANurl{/macros/latex/base/})
-\bibitem[Bra20]{SOURCE2E}
- Johannes Braams \textit{et al}.
- \newblock \emph{The \LaTeXe\ Sourses}.
- \newblock October, 2020.
- \newblock (Available from CTAN via \CTANurl{/pkg/source2e})
+% \bibitem[Bra20]{SOURCE2E}
+% Johannes Braams \textit{et al}.
+% \newblock \emph{The \LaTeXe\ Sourses}.
+% \newblock October, 2020.
+% \newblock (Available from CTAN via \CTANurl{/pkg/source2e})
-%%% keep
-\bibitem[Bri99]{BRINGHURST99}
- Robert Bringhurst.
- \newblock \emph{The Elements of Typographic Style}.
- \newblock Hartley \& Marks, second edition,
- \newblock 1999. ISBN 0--88179--033--8.
+% %%% keep
+% \bibitem[Bri99]{BRINGHURST99}
+% Robert Bringhurst.
+% \newblock \emph{The Elements of Typographic Style}.
+% \newblock Hartley \& Marks, second edition,
+% \newblock 1999. ISBN 0--88179--033--8.
-\begin{comment}
-\bibitem[Bur59]{BURT59}
- C.~L.~Burt.
- \newblock \emph{A Psychological Study of Typography}.
- \newblock Cambridge University Press,
- \newblock 1959.
-\end{comment}
+% \begin{comment}
+% \bibitem[Bur59]{BURT59}
+% C.~L.~Burt.
+% \newblock \emph{A Psychological Study of Typography}.
+% \newblock Cambridge University Press,
+% \newblock 1959.
+% \end{comment}
-%%% keep
-\bibitem[Car14]{DELARRAY}
- David Carlisle.
- \newblock \emph{The delarray package}.
- \newblock October, 2014.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
-
-%%% keep
-\bibitem[Car95]{AFTERPAGE}
- David Carlisle.
- \newblock \emph{The afterpage package}.
- \newblock October, 1995.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
-
-%%% keep
-\bibitem[Car21]{LONGTABLE}
- David Carlisle.
- \newblock \emph{The longtable package}.
- \newblock May, 2021.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
-
-%%% keep
-\bibitem[Car98c]{ENUMERATE}
- David Carlisle.
- \newblock \emph{The enumerate package}.
- \newblock August, 1998.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
+% %%% keep
+% \bibitem[Car14]{DELARRAY}
+% David Carlisle.
+% \newblock \emph{The delarray package}.
+% \newblock October, 2014.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
-\begin{comment}
-\bibitem[Car98d]{REMRESET}
- David Carlisle.
- \newblock \emph{The remreset package}.
- \newblock August, 1998.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/carlisle})
-\end{comment}
+% %%% keep
+% \bibitem[Car95]{AFTERPAGE}
+% David Carlisle.
+% \newblock \emph{The afterpage package}.
+% \newblock October, 1995.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
-%%% keep
-\LMnote{2018/09/06}{Updated year}
-\bibitem[Car16]{TABULARX}
- David Carlisle.
- \newblock \emph{The tabularx package}.
- \newblock February, 2016.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
-
-%%% keep
-\bibitem[CR99]{GRAPHICX}
- David Carlisle and Sebastian Rahtz.
- \newblock \emph{The graphicx package}.
- \newblock February, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/graphics/})
-
-%%% keep
-\LMnote{2018/09/06}{updated year}
-\bibitem[Car14]{DCOLUMN}
- David Carlisle.
- \newblock \emph{The dcolumn package}.
- \newblock May, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
-
-\LMnote{2019/10/2}{Updated year}
-\bibitem[Car19]{textcase} % casing intentional
- David Carlisle.
-\newblock \emph{The \Lpack{textcase} package}.
-\newblock September, 2019.
-\newblock (Available from CTAN in
- \texttt{/macros/latex/contrib/textcase})
-
-
-
-%%% keep
-\bibitem[Car05]{COLOR}
- David Carlisle.
- \newblock \emph{Packages in the graphics bundle} (includes the color package).
- \newblock November, 2005.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/graphics/})
+% %%% keep
+% \bibitem[Car21]{LONGTABLE}
+% David Carlisle.
+% \newblock \emph{The longtable package}.
+% \newblock May, 2021.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
-\begin{comment}
-%%% keep, not anymore, the bidi package is a bit different now, Vafa
-%%% is the maintainer
- \bibitem[CK09]{BIDI} Fran\c{c}ois Charette and Vafa
- Khalighi. \newblock \emph{Bidi: A convenient interface
- for typesetting bidirectional texts with XeLaTeX}.
- \newblock 2009. \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/bidi/})
-\end{comment}
+% %%% keep
+% \bibitem[Car98c]{ENUMERATE}
+% David Carlisle.
+% \newblock \emph{The enumerate package}.
+% \newblock August, 1998.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
+% \begin{comment}
+% \bibitem[Car98d]{REMRESET}
+% David Carlisle.
+% \newblock \emph{The remreset package}.
+% \newblock August, 1998.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/carlisle})
+% \end{comment}
+% %%% keep
+% \LMnote{2018/09/06}{Updated year}
+% \bibitem[Car16]{TABULARX}
+% David Carlisle.
+% \newblock \emph{The tabularx package}.
+% \newblock February, 2016.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
+% %%% keep
+% \bibitem[CR99]{GRAPHICX}
+% David Carlisle and Sebastian Rahtz.
+% \newblock \emph{The graphicx package}.
+% \newblock February, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/graphics/})
+
+% %%% keep
+% \LMnote{2018/09/06}{updated year}
+% \bibitem[Car14]{DCOLUMN}
+% David Carlisle.
+% \newblock \emph{The dcolumn package}.
+% \newblock May, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
-%%% keep
-\bibitem[CB99]{CHAPPELL99}
- Warren Chappell and Robert Bringhurst.
- \newblock \emph{A Short History of the Printed Word}.
- \newblock Hartley \& Marks, 1999.
- \newblock ISBN 0--88179--154--7.
+% \LMnote{2019/10/2}{Updated year}
+% \bibitem[Car19]{textcase} % casing intentional
+% David Carlisle.
+% \newblock \emph{The \Lpack{textcase} package}.
+% \newblock September, 2019.
+% \newblock (Available from CTAN in
+% \texttt{/macros/latex/contrib/textcase})
-%%% keep
-\bibitem[CH88]{CHEN88}
- Pehong Chen and Michael A.~Harrison.
- \newblock `Index Preparation and Processing'.
- \newblock \emph{Software: Practice and Experience}, 19:8, pp. 897--915,
- September, 1988.
- \newblock (Available from CTAN via
- \CTANurl{/indexing/makeindex/paper/})
-\begin{comment}
-\bibitem[Che05]{CHENG05}
- Karen Cheng.
- \newblock \emph{Designing Type}.
- \newblock Yale University Press, 2005.
- \newblock ISBN 0--300--11150--9.
-\end{comment}
-%%% keep
-\bibitem[Chi93]{CMS}
- \newblock \emph{The Chicago Manual of Style}, Fourteenth Edition.
- \newblock The University of Chicago, 1993.
- \newblock ISBN 0--226--10389--7.
+% %%% keep
+% \bibitem[Car05]{COLOR}
+% David Carlisle.
+% \newblock \emph{Packages in the graphics bundle} (includes the color package).
+% \newblock November, 2005.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/graphics/})
+% \begin{comment}
+% %%% keep, not anymore, the bidi package is a bit different now, Vafa
+% %%% is the maintainer
+% \bibitem[CK09]{BIDI} Fran\c{c}ois Charette and Vafa
+% Khalighi. \newblock \emph{Bidi: A convenient interface
+% for typesetting bidirectional texts with XeLaTeX}.
+% \newblock 2009. \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/bidi/})
+% \end{comment}
-\begin{comment}
-\bibitem[Coc02]{SUBFIGURE}
- Steven Douglas Cochran.
- \newblock \emph{The subfigure package}.
- \newblock March, 2002.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/subfigure})
-
-\bibitem[CG96]{CONWAY96}
- John H.~Conway and Richard K.~Guy.
- \newblock \emph{The Book of Numbers}.
- \newblock Copernicus, Springer-Verlag, 1996.
- \newblock ISBN 0--387--97993--X.
-
-\bibitem[Cra92]{CRAIG92}
- James Craig.
- \newblock \emph{Designing with Type: A Basic Course in Typography}.
- \newblock Watson-Guptill, NY,
- \newblock 1992.
-\end{comment}
-%%% keep
-\bibitem[Dal99a]{NATBIB}
- Patrick W.~Daly.
- \newblock \emph{Natural Sciences Citations and References}.
- \newblock May, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/natbib/})
-
-%%% keep
-\bibitem[Dal99b]{MAKEBST}
- Patrick W.~Daly.
- \newblock \emph{Customizing Bibliographic Style Files}.
- \newblock August, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/custom-bib})
-\begin{comment}
-\bibitem[Deg92]{DEGANI92}
- Asaf Degani.
- \newblock \emph{On the Typography of Flight-Deck Documentation}.
- \newblock NASA Contractor Report \# 177605.
- \newblock December, 1992.
- \newblock (Available from
- \url{http://members.aol.com/willadams/typgrphy.htm#NASA})
-\end{comment}
-%%% keep
-\bibitem[Dow96]{DOWDING96}
- Geoffrey Dowding.
- \newblock \emph{Finer Points in the Spacing \& Arrangement of Type}.
- \newblock Hartley \& Marks, 1996.
- \newblock ISBN 0--88179--119--9.
+% %%% keep
+% \bibitem[CB99]{CHAPPELL99}
+% Warren Chappell and Robert Bringhurst.
+% \newblock \emph{A Short History of the Printed Word}.
+% \newblock Hartley \& Marks, 1999.
+% \newblock ISBN 0--88179--154--7.
-\begin{comment}
-\bibitem[Dow98]{DOWDING98}
- Geoffrey Dowding.
- \newblock \emph{An Introduction to the History of Printing Types}.
- \newblock The British Library and Oak Knoll Press, 1998.
- \newblock ISBN 0--7123--4563--9 \textsc{uk},
- 1--884718--44--2 \textsc{usa}.
-\end{comment}
+% %%% keep
+% \bibitem[CH88]{CHEN88}
+% Pehong Chen and Michael A.~Harrison.
+% \newblock `Index Preparation and Processing'.
+% \newblock \emph{Software: Practice and Experience}, 19:8, pp. 897--915,
+% September, 1988.
+% \newblock (Available from CTAN via
+% \CTANurl{/indexing/makeindex/paper/})
-%%% keep
-\bibitem[Dow00]{PATCHCMD}
- Michael J.~Downes.
- \newblock \emph{The patchcmd package}.
- \newblock July, 2000.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/patchcmd/})
-
-%%% keep
-\bibitem[Eij92]{TEXBYTOPIC}
- Victor Eijkhout.
- \newblock \emph{TeX by Topic}.
- \newblock Addison-Wesley, 1992.
- \newblock ISBN 0--201--56882--9.
- \newblock (Available from \url{http://www.eijkhout.net/tbt/}).
-
-%%% keep
-\bibitem[Eij99]{COMMENT}
- Victor Eijkhout.
- \newblock \emph{comment.sty}
- \newblock October, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/comment/})
+% \begin{comment}
+% \bibitem[Che05]{CHENG05}
+% Karen Cheng.
+% \newblock \emph{Designing Type}.
+% \newblock Yale University Press, 2005.
+% \newblock ISBN 0--300--11150--9.
+% \end{comment}
-\begin{comment}
-\bibitem[Fai98]{MOREVERB}
- Robin Fairbairns.
- \newblock \emph{The moreverb package}.
- \newblock December, 1998.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/moreverb})
-\end{comment}
+% %%% keep
+% \bibitem[Chi93]{CMS}
+% \newblock \emph{The Chicago Manual of Style}, Fourteenth Edition.
+% \newblock The University of Chicago, 1993.
+% \newblock ISBN 0--226--10389--7.
-%%% keep
-\bibitem[Fai00]{FOOTMISC}
- Robin Fairbairns.
- \newblock \emph{footmisc --- a portmanteau package for customising
- footnotes in LaTeX2e}.
- \newblock March, 2000.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/footmisc/})
-
-%%% keep
-\LMnote{2010/09/28}{link changed}
-\bibitem[FAQ]{FAQ}
- Robin Fairbairns.
- \newblock \emph{The UK TeX FAQ}.
- \newblock (Available from CTAN via
- \url{http://faq.tug.org/})
-\LMnote{2010/02/08}{Added from the main bib file}
-\bibitem[Far90]{FARIN90}
-Gerald Farin.
-\newblock \emph{Curves and Surfaces for Computer Aided Geometric
- Design --- A Practical Guide}.
-\newblock Academic Press, 2 edition, 1990.
+% \begin{comment}
+% \bibitem[Coc02]{SUBFIGURE}
+% Steven Douglas Cochran.
+% \newblock \emph{The subfigure package}.
+% \newblock March, 2002.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/subfigure})
+
+% \bibitem[CG96]{CONWAY96}
+% John H.~Conway and Richard K.~Guy.
+% \newblock \emph{The Book of Numbers}.
+% \newblock Copernicus, Springer-Verlag, 1996.
+% \newblock ISBN 0--387--97993--X.
+
+% \bibitem[Cra92]{CRAIG92}
+% James Craig.
+% \newblock \emph{Designing with Type: A Basic Course in Typography}.
+% \newblock Watson-Guptill, NY,
+% \newblock 1992.
+% \end{comment}
-\LMnote{2010/02/08}{Added from the main bib file}
-\bibitem[FP80]{FAUX80}
-I.~D. Faux and M.~J. Pratt.
-\newblock {\em Computational Geometry for Design and Manufacture}.
-\newblock Ellis Horwood, 1980.
+% %%% keep
+% \bibitem[Dal99a]{NATBIB}
+% Patrick W.~Daly.
+% \newblock \emph{Natural Sciences Citations and References}.
+% \newblock May, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/natbib/})
+% %%% keep
+% \bibitem[Dal99b]{MAKEBST}
+% Patrick W.~Daly.
+% \newblock \emph{Customizing Bibliographic Style Files}.
+% \newblock August, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/custom-bib})
+% \begin{comment}
+% \bibitem[Deg92]{DEGANI92}
+% Asaf Degani.
+% \newblock \emph{On the Typography of Flight-Deck Documentation}.
+% \newblock NASA Contractor Report \# 177605.
+% \newblock December, 1992.
+% \newblock (Available from
+% \url{http://members.aol.com/willadams/typgrphy.htm#NASA})
+% \end{comment}
-%%% keep
-\LMnote{2018/09/06}{Updated year}
-\bibitem[Fea16]{BOOKTABS}
- Simon Fear.
- \newblock \emph{Publication quality tables in LaTeX}.
- \newblock April, 2016.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/booktabs})
+% %%% keep
+% \bibitem[Dow96]{DOWDING96}
+% Geoffrey Dowding.
+% \newblock \emph{Finer Points in the Spacing \& Arrangement of Type}.
+% \newblock Hartley \& Marks, 1996.
+% \newblock ISBN 0--88179--119--9.
-\begin{comment}
-\bibitem[Fli98]{LETTRINE}
- Daniel Flipo.
- \newblock \emph{Typesetting `lettrines' in LaTeX2e documents}.
- \newblock March, 1998.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/lettrine})
-\end{comment}
+% \begin{comment}
+% \bibitem[Dow98]{DOWDING98}
+% Geoffrey Dowding.
+% \newblock \emph{An Introduction to the History of Printing Types}.
+% \newblock The British Library and Oak Knoll Press, 1998.
+% \newblock ISBN 0--7123--4563--9 \textsc{uk},
+% 1--884718--44--2 \textsc{usa}.
+% \end{comment}
-%%% keep
-\bibitem[Fly98]{FLYNN02}
- Peter Flynn.
- \newblock \emph{Formatting Information: A Beginner's Introduction to
- Typesetting with LaTeX2}.
- \newblock 2002.
- \newblock (Available from CTAN via
- \CTANurl{/info/beginlatex/})
+% %%% keep
+% \bibitem[Dow00]{PATCHCMD}
+% Michael J.~Downes.
+% \newblock \emph{The patchcmd package}.
+% \newblock July, 2000.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/patchcmd/})
+
+% %%% keep
+% \bibitem[Eij92]{TEXBYTOPIC}
+% Victor Eijkhout.
+% \newblock \emph{TeX by Topic}.
+% \newblock Addison-Wesley, 1992.
+% \newblock ISBN 0--201--56882--9.
+% \newblock (Available from \url{http://www.eijkhout.net/tbt/}).
+
+% %%% keep
+% \bibitem[Eij99]{COMMENT}
+% Victor Eijkhout.
+% \newblock \emph{comment.sty}
+% \newblock October, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/comment/})
-\begin{comment}
-\bibitem[Fra00]{CROP}
- Melchior Franz.
- \newblock \emph{The crop package}.
- \newblock February, 2000.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/crop})
-
-\bibitem[FOS98]{FRIEDL98}
- Friedrich Friedl, Nicolaus Ott and Bernard Stein.
- \newblock \emph{Typography: An Encyclopedic Survey of Type Designs and
- Techniques throughout History}.
- \newblock Black Dog \& Leventhal Publishers Inc., 1998.
- \newblock ISBN 1--57912--023--7.
-
-\bibitem[Gar66]{GARDNER66}
- Martin Gardner.
- \newblock \emph{More Mathematical Puzzles and Diversions}.
- \newblock Penguin Books, 1996.
- \newblock ISBN 0--14--020748--1.
-\end{comment}
+% \begin{comment}
+% \bibitem[Fai98]{MOREVERB}
+% Robin Fairbairns.
+% \newblock \emph{The moreverb package}.
+% \newblock December, 1998.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/moreverb})
+% \end{comment}
-%\bibitem[GMS94]{GOOSSENS94}
-% Michel Goossens, Frank Mittelbach and Alexander Samarin.
-% \newblock \emph{The LaTeX Companion}.
-% \newblock Addison-Wesley Publishing Company, 1994
-% \newblock (ISBN 0--201--54199--8), 1994.
-
-%%% keep
-\bibitem[GM\textsuperscript{+}07]{GCOMPANION}
- Michel Goossens, Frank Mittelbach, et al.
- \newblock \emph{The LaTeX Graphics Companion: Second edition}.
- \newblock Addison-Wesley, 2007.
- \newblock ISBN 0--321--50892--0.
-
-%%% keep
-\bibitem[GR99]{WCOMPANION}
- Michel Goossens and Sebastian Rahtz (with Eitan Gurari,
- Ross Moore and Robert Sutor).
- \newblock \emph{The LaTeX Web Companion: Integrating TeX, HTML and XML}.
- \newblock Addison-Wesley, 1999.
- \newblock ISBN 0--201--43311--7.
+% %%% keep
+% \bibitem[Fai00]{FOOTMISC}
+% Robin Fairbairns.
+% \newblock \emph{footmisc --- a portmanteau package for customising
+% footnotes in LaTeX2e}.
+% \newblock March, 2000.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/footmisc/})
-\begin{comment}
-\bibitem[Gou87]{GOULD87}
- J.~D.~Gould \textit{et al}.
- \newblock `Reading from CRT displays can be as fast as reading from paper'.
- \newblock \emph{Human Factors}, pp 497--517, 29:5, 1987.
-
-\bibitem[HR83]{HARTLEY83}
- J.~Hartley and D.~Rooum.
- \newblock `Sir Cyril Burt and typography'.
- \newblock \emph{British Journal of Psychology}, pp 203--212, 74:2, 1983.
-
-\bibitem[HM01]{HELLER01}
- Steven Heller and Philip B.~Meggs (Eds).
- \newblock \emph{Texts on Type: Critical Writings on Typography}.
- \newblock Allworth Press, 2001.
- \newblock ISBN 1--58115--082--2.
-\end{comment}
+% %%% keep
+% \LMnote{2010/09/28}{link changed}
+% \bibitem[FAQ]{FAQ}
+% Robin Fairbairns.
+% \newblock \emph{The UK TeX FAQ}.
+% \newblock (Available from CTAN via
+% \url{http://faq.tug.org/})
-%%% keep
-\bibitem[Hoe98]{HOENIG98}
- Alan Hoenig.
- \newblock \emph{TeX Unbound: LaTeX and TeX strategies for fonts,
- graphics, and more}.
- \newblock Oxford University Press, 1998.
- \newblock ISBN 0--19--509686--X.
+% \LMnote{2010/02/08}{Added from the main bib file}
+% \bibitem[Far90]{FARIN90}
+% Gerald Farin.
+% \newblock \emph{Curves and Surfaces for Computer Aided Geometric
+% Design --- A Practical Guide}.
+% \newblock Academic Press, 2 edition, 1990.
-\begin{comment}
-\bibitem[HK75]{HVISTENDAHL75}
- J.~K.~Hvistendahl and M.~R.~Kahl.
- \newblock `Roman vs. sans serif body type: Readability and reader prference'.
- \newblock \emph{AANPA News Research Bulletin}, pp 3--11, 17 Jan., 1975.
-\end{comment}
+% \LMnote{2010/02/08}{Added from the main bib file}
+% \bibitem[FP80]{FAUX80}
+% I.~D. Faux and M.~J. Pratt.
+% \newblock {\em Computational Geometry for Design and Manufacture}.
+% \newblock Ellis Horwood, 1980.
-%%% keep
-\bibitem[Jon95]{INDEX}
- David M.~Jones.
- \newblock \emph{A new implementation of LaTeX's indexing commands}.
- \newblock September, 1995.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/camel})
-%%% keep
-\bibitem[Keh98]{XINDY}
- Roger Kehr.
- \newblock \emph{xindy: A flexible indexing system}.
- \newblock February, 1998.
- \newblock (Available from CTAN via \CTANurl{/indexing/xindy/})
-%%% keep
-\bibitem[Ker07]{XCOLOR}
- Uwe Kern.
- \newblock \emph{Extending LaTeX's color facilities: the xcolor package}.
- \newblock January, 2007.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/xcolor/})
+% %%% keep
+% \LMnote{2018/09/06}{Updated year}
+% \bibitem[Fea16]{BOOKTABS}
+% Simon Fear.
+% \newblock \emph{Publication quality tables in LaTeX}.
+% \newblock April, 2016.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/booktabs})
-%%% keep, moved herer /daleif 2020/09/28
-\bibitem[Kha10]{BIDI} Vafa
- Khalighi.
- \newblock \emph{The \textsf{Bidi} package}.
- \newblock 2010. \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/bidi/})
+% \begin{comment}
+% \bibitem[Fli98]{LETTRINE}
+% Daniel Flipo.
+% \newblock \emph{Typesetting `lettrines' in LaTeX2e documents}.
+% \newblock March, 1998.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/lettrine})
+% \end{comment}
+% %%% keep
+% \bibitem[Fly98]{FLYNN02}
+% Peter Flynn.
+% \newblock \emph{Formatting Information: A Beginner's Introduction to
+% Typesetting with LaTeX2}.
+% \newblock 2002.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/beginlatex/})
+% \begin{comment}
+% \bibitem[Fra00]{CROP}
+% Melchior Franz.
+% \newblock \emph{The crop package}.
+% \newblock February, 2000.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/crop})
+
+% \bibitem[FOS98]{FRIEDL98}
+% Friedrich Friedl, Nicolaus Ott and Bernard Stein.
+% \newblock \emph{Typography: An Encyclopedic Survey of Type Designs and
+% Techniques throughout History}.
+% \newblock Black Dog \& Leventhal Publishers Inc., 1998.
+% \newblock ISBN 1--57912--023--7.
+
+% \bibitem[Gar66]{GARDNER66}
+% Martin Gardner.
+% \newblock \emph{More Mathematical Puzzles and Diversions}.
+% \newblock Penguin Books, 1996.
+% \newblock ISBN 0--14--020748--1.
+% \end{comment}
-%%% keep
-\bibitem[Knu84]{TEXBOOK}
- Donald E.~Knuth.
- \newblock \emph{The TeXbook}.
- \newblock Addison-Wesley, 1984.
- \newblock ISBN 0--201--13448--9.
+% %\bibitem[GMS94]{GOOSSENS94}
+% % Michel Goossens, Frank Mittelbach and Alexander Samarin.
+% % \newblock \emph{The LaTeX Companion}.
+% % \newblock Addison-Wesley Publishing Company, 1994
+% % \newblock (ISBN 0--201--54199--8), 1994.
+
+% %%% keep
+% \bibitem[GM\textsuperscript{+}07]{GCOMPANION}
+% Michel Goossens, Frank Mittelbach, et al.
+% \newblock \emph{The LaTeX Graphics Companion: Second edition}.
+% \newblock Addison-Wesley, 2007.
+% \newblock ISBN 0--321--50892--0.
+
+% %%% keep
+% \bibitem[GR99]{WCOMPANION}
+% Michel Goossens and Sebastian Rahtz (with Eitan Gurari,
+% Ross Moore and Robert Sutor).
+% \newblock \emph{The LaTeX Web Companion: Integrating TeX, HTML and XML}.
+% \newblock Addison-Wesley, 1999.
+% \newblock ISBN 0--201--43311--7.
-%%% keep
-\bibitem[Knu86]{TEXPROGRAM}
- Donald E.~Knuth.
- \newblock \emph{TeX: The Program}.
- \newblock Addison-Wesley, 1986.
- \newblock ISBN 0--201--13437--3.
+% \begin{comment}
+% \bibitem[Gou87]{GOULD87}
+% J.~D.~Gould \textit{et al}.
+% \newblock `Reading from CRT displays can be as fast as reading from paper'.
+% \newblock \emph{Human Factors}, pp 497--517, 29:5, 1987.
+
+% \bibitem[HR83]{HARTLEY83}
+% J.~Hartley and D.~Rooum.
+% \newblock `Sir Cyril Burt and typography'.
+% \newblock \emph{British Journal of Psychology}, pp 203--212, 74:2, 1983.
+
+% \bibitem[HM01]{HELLER01}
+% Steven Heller and Philip B.~Meggs (Eds).
+% \newblock \emph{Texts on Type: Critical Writings on Typography}.
+% \newblock Allworth Press, 2001.
+% \newblock ISBN 1--58115--082--2.
+% \end{comment}
-%%% keep
-\bibitem[Knu87]{CM}
- Donald E.~Knuth.
- \newblock \emph{Computer Modern Typefaces}.
- \newblock Addison-Wesley, 1987.
- \newblock ISBN 0--201--134446--2.
+% %%% keep
+% \bibitem[Hoe98]{HOENIG98}
+% Alan Hoenig.
+% \newblock \emph{TeX Unbound: LaTeX and TeX strategies for fonts,
+% graphics, and more}.
+% \newblock Oxford University Press, 1998.
+% \newblock ISBN 0--19--509686--X.
-%%% keep
-\bibitem[Knu92]{METAFONT}
- Donald E.~Knuth.
- \newblock \emph{The METAFONT Book}.
- \newblock Addison-Wesley, 1992.
- \newblock ISBN 0--201--13444--6.
+% \begin{comment}
+% \bibitem[HK75]{HVISTENDAHL75}
+% J.~K.~Hvistendahl and M.~R.~Kahl.
+% \newblock `Roman vs. sans serif body type: Readability and reader prference'.
+% \newblock \emph{AANPA News Research Bulletin}, pp 3--11, 17 Jan., 1975.
+% \end{comment}
-%%% keep
-\bibitem[Lam94]{LAMPORT94}
- Leslie Lamport.
- \newblock \emph{LaTeX: A Document Preparation System}.
- \newblock Addison-Wesley, 1994.
- \newblock ISBN 0--201--52983--1.
-
-%%% keep
-\bibitem[LEB04]{NTG}
- Leslie Lamport, Victor Eijkhout and Johannes Braams.
- \newblock \emph{NTG document classes for LaTeX version 2e}.
- \newblock June, 2004.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/ntgclass/})
+% %%% keep
+% \bibitem[Jon95]{INDEX}
+% David M.~Jones.
+% \newblock \emph{A new implementation of LaTeX's indexing commands}.
+% \newblock September, 1995.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/camel})
+
+% %%% keep
+% \bibitem[Keh98]{XINDY}
+% Roger Kehr.
+% \newblock \emph{xindy: A flexible indexing system}.
+% \newblock February, 1998.
+% \newblock (Available from CTAN via \CTANurl{/indexing/xindy/})
+
+% %%% keep
+% \bibitem[Ker07]{XCOLOR}
+% Uwe Kern.
+% \newblock \emph{Extending LaTeX's color facilities: the xcolor package}.
+% \newblock January, 2007.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/xcolor/})
+
+% %%% keep, moved herer /daleif 2020/09/28
+% \bibitem[Kha10]{BIDI} Vafa
+% Khalighi.
+% \newblock \emph{The \textsf{Bidi} package}.
+% \newblock 2010. \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/bidi/})
+
+
+
+% %%% keep
+% \bibitem[Knu84]{TEXBOOK}
+% Donald E.~Knuth.
+% \newblock \emph{The TeXbook}.
+% \newblock Addison-Wesley, 1984.
+% \newblock ISBN 0--201--13448--9.
+
+% %%% keep
+% \bibitem[Knu86]{TEXPROGRAM}
+% Donald E.~Knuth.
+% \newblock \emph{TeX: The Program}.
+% \newblock Addison-Wesley, 1986.
+% \newblock ISBN 0--201--13437--3.
+
+% %%% keep
+% \bibitem[Knu87]{CM}
+% Donald E.~Knuth.
+% \newblock \emph{Computer Modern Typefaces}.
+% \newblock Addison-Wesley, 1987.
+% \newblock ISBN 0--201--134446--2.
+
+% %%% keep
+% \bibitem[Knu92]{METAFONT}
+% Donald E.~Knuth.
+% \newblock \emph{The METAFONT Book}.
+% \newblock Addison-Wesley, 1992.
+% \newblock ISBN 0--201--13444--6.
+
+% %%% keep
+% \bibitem[Lam94]{LAMPORT94}
+% Leslie Lamport.
+% \newblock \emph{LaTeX: A Document Preparation System}.
+% \newblock Addison-Wesley, 1994.
+% \newblock ISBN 0--201--52983--1.
+
+% %%% keep
+% \bibitem[LEB04]{NTG}
+% Leslie Lamport, Victor Eijkhout and Johannes Braams.
+% \newblock \emph{NTG document classes for LaTeX version 2e}.
+% \newblock June, 2004.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/ntgclass/})
-\begin{comment}
-\bibitem[LMB99]{CLASSES}
- Leslie Lamport, Frank Mittelbach and Johannes Braams.
- \newblock \emph{Standard document classes for LaTeX version 2e}.
- \newblock September, 1999.
- \newblock (Available from CTAN as \url{/macros/latex/base/classes.dtx})
-
-\bibitem[Law90]{LAWSON90}
- Alexander Lawson.
- \newblock \emph{Anatomy of a Typeface}.
- \newblock David R.~Godine, 1990.
- \newblock ISBN 0--87923--333--8.
-
-\bibitem[LA90]{LAWSONAGNER90}
- Alexander S.~Lawson with Dwight Agner.
- \newblock \emph{Printing Types: An Introduction}.
- \newblock Beacon Press, 1990.
- \newblock ISBN 0--8070--6661--3.
-\end{comment}
+% \begin{comment}
+% \bibitem[LMB99]{CLASSES}
+% Leslie Lamport, Frank Mittelbach and Johannes Braams.
+% \newblock \emph{Standard document classes for LaTeX version 2e}.
+% \newblock September, 1999.
+% \newblock (Available from CTAN as \url{/macros/latex/base/classes.dtx})
+
+% \bibitem[Law90]{LAWSON90}
+% Alexander Lawson.
+% \newblock \emph{Anatomy of a Typeface}.
+% \newblock David R.~Godine, 1990.
+% \newblock ISBN 0--87923--333--8.
+
+% \bibitem[LA90]{LAWSONAGNER90}
+% Alexander S.~Lawson with Dwight Agner.
+% \newblock \emph{Printing Types: An Introduction}.
+% \newblock Beacon Press, 1990.
+% \newblock ISBN 0--8070--6661--3.
+% \end{comment}
-%%% keep
-\bibitem[Lea03]{TEXFONTSITE}
- Christopher League.
- \newblock \emph{TeX support for the FontSite 500 CD}.
- \newblock May 2003.
- \newblock (Available from
- \url{http://contrapunctus.net/fs500tex})
+% %%% keep
+% \bibitem[Lea03]{TEXFONTSITE}
+% Christopher League.
+% \newblock \emph{TeX support for the FontSite 500 CD}.
+% \newblock May 2003.
+% \newblock (Available from
+% \url{http://contrapunctus.net/fs500tex})
+
+% %%% keep
+% \bibitem[Leh04]{FONTINST}
+% Philipp Lehman.
+% \newblock \emph{The Font Installation Guide}.
+% \newblock December 2004.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/Type1fonts/fontinstallationguide})
-%%% keep
-\bibitem[Leh04]{FONTINST}
- Philipp Lehman.
- \newblock \emph{The Font Installation Guide}.
- \newblock December 2004.
- \newblock (Available from CTAN via
- \CTANurl{/info/Type1fonts/fontinstallationguide})
-
-%%% keep
-\bibitem[Leu92]{LEUNEN92}
- Mary-Claire van Leunen.
- \newblock \emph{A Handbook for Scholars}.
- \newblock Oxford University Press, 1992.
- \newblock ISBN 0--19--506954--4.
+% %%% keep
+% \bibitem[Leu92]{LEUNEN92}
+% Mary-Claire van Leunen.
+% \newblock \emph{A Handbook for Scholars}.
+% \newblock Oxford University Press, 1992.
+% \newblock ISBN 0--19--506954--4.
-\begin{comment}
-\bibitem[Liv02]{LIVIO02}
- Mario Livio.
- \newblock \emph{The Golden Ratio: The Story of Phi, the World's Most
- Astonishing Number}.
- \newblock Broadway Books, 2002.
- \newblock ISBN 0--7679--0816--3.
-\end{comment}
+% \begin{comment}
+% \bibitem[Liv02]{LIVIO02}
+% Mario Livio.
+% \newblock \emph{The Golden Ratio: The Story of Phi, the World's Most
+% Astonishing Number}.
+% \newblock Broadway Books, 2002.
+% \newblock ISBN 0--7679--0816--3.
+% \end{comment}
-%%% keep
-\bibitem[Lon91]{MULTIND}
- F.~W.~Long.
- \newblock \emph{multind}.
- \newblock August, 1991.
- \newblock (Available from CTAN as
- \CTANurl{/macros/latex209/contrib/misc/multind.sty})
-
-%%% keep
-\bibitem[Mad06]{CHAPSTYLES}
- Lars Madsen.
- \newblock \emph{Various chapter styles for the memoir class}.
- \newblock July, 2006.
- \newblock (Available from CTAN via
- \CTANurl{/info/latex-samples/MemoirChapStyles/})
-
-%%% keep
-\bibitem[Mad07]{MEMEXSUPP}
- Lars Madsen.
- \newblock \emph{The Memoir Experimental Support Package}.
- \newblock 2007.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/memexsupp/})
-
-%%% keep
-\bibitem[McD98]{SECTSTY}
- Rowland McDonnell.
- \newblock \emph{The sectsty package}.
- \newblock November, 1998.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/sectsty/})
+% %%% keep
+% \bibitem[Lon91]{MULTIND}
+% F.~W.~Long.
+% \newblock \emph{multind}.
+% \newblock August, 1991.
+% \newblock (Available from CTAN as
+% \CTANurl{/macros/latex209/contrib/misc/multind.sty})
+
+% %%% keep
+% \bibitem[Mad06]{CHAPSTYLES}
+% Lars Madsen.
+% \newblock \emph{Various chapter styles for the memoir class}.
+% \newblock July, 2006.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/latex-samples/MemoirChapStyles/})
-\begin{comment}
-\bibitem[McL75]{MCLEAN75}
- Ruari McLean.
- \newblock \emph{Jan Tschichold: Typographer}.
- \newblock David R.~Godine, 1975.
- \newblock ISBN 0--87923--841--0.
-\end{comment}
+% %%% keep
+% \bibitem[Mad07]{MEMEXSUPP}
+% Lars Madsen.
+% \newblock \emph{The Memoir Experimental Support Package}.
+% \newblock 2007.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/memexsupp/})
-%%% keep
-\bibitem[McL80]{MCLEAN80}
- Ruari McLean.
- \newblock \emph{The Thames \& Hudson Manual of Typography}.
- \newblock Thames \& Hudson, 1980.
- \newblock ISBN 0--500--68022--1.
+% %%% keep
+% \bibitem[McD98]{SECTSTY}
+% Rowland McDonnell.
+% \newblock \emph{The sectsty package}.
+% \newblock November, 1998.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/sectsty/})
-\begin{comment}
-\bibitem[McL95]{MCLEAN95}
- Ruari McLean (Ed).
- \newblock \emph{Typographers on Type}.
- \newblock W.~W.~Norton \& Co., 1995.
- \newblock ISBN 0--393--70201--4.
-
-\bibitem[MMc95]{MEGGS00}
- Philip B.~Meggs and Roy McKelvey (Eds).
- \newblock \emph{Revival of the Fittest: Digital Versions of the Classic Typefaces}.
- \newblock RC Publications, Inc., 2000.
- \newblock ISBN 1--883915--08--2.
-
-\bibitem[Mit95]{DOCSHORTVRB}
- Frank Mittelbach.
- \newblock \emph{The doc and shortvrb packages}.
- \newblock May, 1995.
- \newblock (Available from CTAN in
- \url{/macros/latex/base})
-\end{comment}
+% \begin{comment}
+% \bibitem[McL75]{MCLEAN75}
+% Ruari McLean.
+% \newblock \emph{Jan Tschichold: Typographer}.
+% \newblock David R.~Godine, 1975.
+% \newblock ISBN 0--87923--841--0.
+% \end{comment}
+
+% %%% keep
+% \bibitem[McL80]{MCLEAN80}
+% Ruari McLean.
+% \newblock \emph{The Thames \& Hudson Manual of Typography}.
+% \newblock Thames \& Hudson, 1980.
+% \newblock ISBN 0--500--68022--1.
+
+% \begin{comment}
+% \bibitem[McL95]{MCLEAN95}
+% Ruari McLean (Ed).
+% \newblock \emph{Typographers on Type}.
+% \newblock W.~W.~Norton \& Co., 1995.
+% \newblock ISBN 0--393--70201--4.
+
+% \bibitem[MMc95]{MEGGS00}
+% Philip B.~Meggs and Roy McKelvey (Eds).
+% \newblock \emph{Revival of the Fittest: Digital Versions of the Classic Typefaces}.
+% \newblock RC Publications, Inc., 2000.
+% \newblock ISBN 1--883915--08--2.
+
+% \bibitem[Mit95]{DOCSHORTVRB}
+% Frank Mittelbach.
+% \newblock \emph{The doc and shortvrb packages}.
+% \newblock May, 1995.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/base})
+% \end{comment}
-%%% keep
-\bibitem[Mit18]{MULTICOL}
- Frank Mittelbach.
- \newblock \emph{An environment for multicolumn output}.
- \newblock April, 2018.
- \newblock (Available from CTAN (the \texttt{multicol} package) via
- \CTANurl{/macros/latex/required/tools/})
-
-\bibitem[Mit2020a]{LTFILEHOOK}
- Frank Mittelbach
- \newblock \emph{The ltfilehook package}
- \newblock July 2020.
-
- \bibitem[Mit2020b]{LTHOOKS}
- Frank Mittelbach
- \newblock \emph{The lthooks package}
- \newblock July 2020.
-
- \bibitem[Mit2020c]{LTSHIPOUT}
- Frank Mittelbach
- \newblock \emph{The ltshipout package}
- \newblock July 2020.
+% %%% keep
+% \bibitem[Mit18]{MULTICOL}
+% Frank Mittelbach.
+% \newblock \emph{An environment for multicolumn output}.
+% \newblock April, 2018.
+% \newblock (Available from CTAN (the \texttt{multicol} package) via
+% \CTANurl{/macros/latex/required/tools/})
+
+% \bibitem[Mit2020a]{LTFILEHOOK}
+% Frank Mittelbach
+% \newblock \emph{The ltfilehook package}
+% \newblock July 2020.
+
+% \bibitem[Mit2020b]{LTHOOKS}
+% Frank Mittelbach
+% \newblock \emph{The lthooks package}
+% \newblock July 2020.
+
+% \bibitem[Mit2020c]{LTSHIPOUT}
+% Frank Mittelbach
+% \newblock \emph{The ltshipout package}
+% \newblock July 2020.
-%%keep
-\LMnote{2018/09/06}{Updated year}
-\bibitem[MC18]{ARRAY}
- Frank Mittelbach and David Carlisle.
- \newblock \emph{A new implementation of LaTeX's tabular and array environment}. \newblock May, 2018.
- \newblock (Available from CTAN (the \texttt{array} package) via
- \CTANurl{/macros/latex/required/tools/})
-
-%%% keep
-\bibitem[MC00]{FIXLTX2E}
- Frank Mittelbach and David Carlisle.
- \newblock \emph{The fixltx2e package}.
- \newblock December, 2016.
- \newblock As of 2015 the functionality of this package has been
- merged with the \LaTeX{} kernel.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/base/})
-
-%%% keep
-\bibitem[MG\textsuperscript{+}04]{COMPANION}
- Frank Mittelbach, Michael Goossens, et al.
- \newblock \emph{The LaTeX Companion: Second Edition}.
- \newblock Addison-Wesley, 2004.
- \newblock ISBN 0--201--36299--6.
+% %%keep
+% \LMnote{2018/09/06}{Updated year}
+% \bibitem[MC18]{ARRAY}
+% Frank Mittelbach and David Carlisle.
+% \newblock \emph{A new implementation of LaTeX's tabular and array environment}. \newblock May, 2018.
+% \newblock (Available from CTAN (the \texttt{array} package) via
+% \CTANurl{/macros/latex/required/tools/})
+
+% %%% keep
+% \bibitem[MC00]{FIXLTX2E}
+% Frank Mittelbach and David Carlisle.
+% \newblock \emph{The fixltx2e package}.
+% \newblock December, 2016.
+% \newblock As of 2015 the functionality of this package has been
+% merged with the \LaTeX{} kernel.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/base/})
+
+% %%% keep
+% \bibitem[MG\textsuperscript{+}04]{COMPANION}
+% Frank Mittelbach, Michael Goossens, et al.
+% \newblock \emph{The LaTeX Companion: Second Edition}.
+% \newblock Addison-Wesley, 2004.
+% \newblock ISBN 0--201--36299--6.
-\begin{comment}
-\bibitem[Mor99]{MORISON99}
- Stanley Morison.
- \newblock \emph{A Tally of Types}.
- \newblock David R. Godine, 1999.
- \newblock ISBN 1--56792--004--7.
-\end{comment}
+% \begin{comment}
+% \bibitem[Mor99]{MORISON99}
+% Stanley Morison.
+% \newblock \emph{A Tally of Types}.
+% \newblock David R. Godine, 1999.
+% \newblock ISBN 1--56792--004--7.
+% \end{comment}
-\LMnote{2010/02/08}{Added from the main bib file}
-\bibitem[Mor85]{MORTENSON85}
-Michael~E. Mortenson.
-\newblock \emph{Geometric Modeling}.
-\newblock John Wiley \& Sons, 1985.
+% \LMnote{2010/02/08}{Added from the main bib file}
+% \bibitem[Mor85]{MORTENSON85}
+% Michael~E. Mortenson.
+% \newblock \emph{Geometric Modeling}.
+% \newblock John Wiley \& Sons, 1985.
+
+
+% %%% keep
+% \bibitem[NG98]{SIDECAP}
+% Rolf Niespraschk and Hubert G\"{a}\ss{}lein.
+% \newblock \emph{The sidecap package}.
+% \newblock June, 1998.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/sidecap/})
+
+% %%% keep
+% \bibitem[Oet]{LSHORT}
+% Tobias Oetiker.
+% \newblock \emph{The Not So Short Introduction to LaTeX2e}.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/lshort/})
+
+% %%% keep
+% \bibitem[Oos96]{FANCYHDR}
+% Piet van Oostrum.
+% \newblock \emph{Page Layout in LaTeX}.
+% \newblock June, 1996.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/fancyhdr/})
+
+% %%% keep
+% \bibitem[Pak01]{SYMBOLS}
+% Scott Pakin.
+% \newblock \emph{The Comprehensive LaTeX Symbol List}.
+% \newblock July, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/symbols/comprehensive/})
+
+% %%% keep
+% \bibitem[dP84]{PARVILLE84}
+% H.~de~Parville.
+% \newblock Recreations mathematique: {La Tour d'Hanoi} et la question
+% du {Tonkin}.
+% \newblock \emph{La Nature}, part {I}:285--286, Paris 1884.
+
+% %%% keep
+% \bibitem[Pat88a]{BIBTEX}
+% Oren Patashnik.
+% \newblock \emph{BibTeXing}.
+% \newblock February, 1988.
+% \newblock (Available from CTAN as
+% \CTANurl{/bibliography/bibtex/distribs/doc/btxdoc.tex})
+
+% %%% keep
+% \bibitem[Pat88b]{BIBTEXHACK}
+% Oren Patashnik.
+% \newblock \emph{Designing BibTeX Styles}.
+% \newblock February, 1988.
+% \newblock (Available from CTAN as
+% \CTANurl{/bibliography/bibtex/distribs/doc/btxhak.tex})
+
+% %%% keep
+% \bibitem[Pug02]{MATHPAZO}
+% Diego Puga.
+% \newblock \emph{The Pazo Math fonts for mathematical typesetting
+% with the Palatino fonts}.
+% \newblock May, 2002.
+% \newblock (Available from CTAN via
+% \CTANurl{/fonts/mathpazo/})
+
+% %%% keep
+% \bibitem[Rahtz23a]{NAMEREF}
+% Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project.
+% \newblock \emph{Section name references in LaTeX}.
+% \newblock 2023.
+% \newblock (Available from CTAN (the \texttt{nameref} package) via
+% \CTANurl{/macros/latex/contrib/hyperref/})
+
+% %%% keep
+% \bibitem[Rahtz23b]{HYPERREF}
+% Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project.
+% \newblock \emph{Hypertext marks in LaTeX}.
+% \newblock 2023.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/hyperref/})
+
+% %%% keep
+% \bibitem[Rec97]{EPSLATEX}
+% Keith Reckdahl.
+% \newblock \emph{Using Imported Graphics in LaTeX2e}.
+% \newblock December, 1997. Updated in 2006.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/epslatex.pdf})
+
+% \begin{comment}
+% \bibitem[Reh72]{REHE72}
+% Rolf Rehe.
+% \newblock `Type and how to make it most legible'.
+% \newblock \emph{Design Research International}, 1972.
+% \end{comment}
+
+% %%% keep
+% \bibitem[Rei07]{REINGOLD07}
+% Edward M. Reingold.
+% \newblock `Writing numbers in words in TeX'.
+% \newblock TUGboat, 28, 2 pp 256--259, 2007.
+
+% \begin{comment}
+% \bibitem[RAE71]{ROBINSON71}
+% D.~O.~Robinson, M.~Abbamonte and S.~H.~Evans.
+% \newblock `Why serifs are important: The perception of small print'.
+% \newblock \emph{Visible Language}, pp 353--359, 4, 1971.
+
+% \bibitem[Rog43]{ROGERS43}
+% Bruce Rogers.
+% \newblock \emph{Paragraphs on Printing}.
+% \newblock William E. Rudge's Sons, Inc., 1943.
+% \newblock (Reissued by Dover, 1979, ISBN 0--486--23817--2)
+
+% \bibitem[Rog49]{ROGERS49}
+% Bruce Rogers.
+% \newblock \emph{Centaur Types}.
+% \newblock October House, 1949.
+% \end{comment}
+
+% %%% keep
+% \bibitem[RBC74]{ROUSEBALL}
+% W. W. Rouse Ball and H. S. M. Coxeter.
+% \newblock \emph{Mathematical Recreations and Essays}.
+% \newblock University of Toronto Press, twelfth edition, 1974.
+
+% \begin{comment}
+% \bibitem[Ryd76]{RYDER}
+% John Ryder.
+% \newblock \emph{Printing for Pleasure}. Revised edition.
+% \newblock The Bodley Head, 1976.
+% \newblock ISBN 0--370--10443--9.
+% \newblock (In the USA published by Henry Regenery Co., Michigan, 1977.
+% ISBN 0--8092--78103--3)
+% \end{comment}
+
+% %%% keep
+% \bibitem[SW94]{EBOOK}
+% Douglas Schenck and Peter Wilson.
+% \newblock \emph{Information Modeling the EXPRESS Way}.
+% \newblock Oxford University Press, 1994.
+% \newblock ISBN 0--19--508714--3.
+
+% %%% keep
+% \bibitem[SRR99]{VERBATIM}
+% Rainer Sch\"{o}pf, Bernd Raichle and Chris Rowley.
+% \newblock \emph{A New Implementation of LaTeX's verbatim
+% and verbatim* Environments}.
+% \newblock December, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
+
+% \begin{comment}
+% \bibitem[Sch97]{SCHRIVER97}
+% Karen A.~Schriver.
+% \newblock \emph{Dynamics in Document Design}.
+% \newblock Wiley \& Sons, 1997.
+
+% \bibitem[Sme96]{SMEIJERS96}
+% Fred Smeijers.
+% \newblock \emph{Counterpunch: making type in the sixteenth century,
+% designing typefaces now}.
+% \newblock Hyphen Press, London, 1996.
+% \newblock ISBN 0--907259--06--5.
+% \end{comment}
+
+
+% \bibitem[Sch07]{practex-2007-3-ms}
+% Martin Scharrer,
+% \newblock\emph{Version Control of LaTeX Documents with svn-multi}.
+% \newblock \emph{The Prac{\TeX} Journal}, 3, 2007.
+% \newblock ISSN 1556-6994.
+
+% \bibitem[Sch09]{svn-multi}
+% Martin Scharrer,
+% \newblock\emph{The \textsf{svn-multi} package}, 2009.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/svn-multi/})
+
+
+% %%% keep
+% \bibitem[Sne04]{SNEEP04}
+% Maarten Sneep.
+% \newblock \emph{The atmosphere in the laboratory: cavity ring-down
+% measurements on scattering and absorption}.
+% \newblock Phd thesis,
+% \newblock Vrijie Universiteit, Amsterdam, 2004.
+
+% %%% keep
+% \bibitem[Tal21]{DATETIME2}
+% Nicola L. C. Talbot.
+% \newblock \emph{datetime2: date and time formats}.
+% \newblock Martch, 2021.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/datetime2/})
+
+% %%% keep
+% \bibitem[Thi98]{ORNAMENTAL}
+% Christina Thiele.
+% \newblock `Hey --- it works: Ornamental rules'.
+% \newblock \emph{TUGboat},
+% \newblock vol. 19, no. 4, p 427, December 1998.
+
+% %%% keep
+% \bibitem[Thi99]{TTC199}
+% Christina Thiele.
+% \newblock `The Treasure Chest: Package tours from CTAN',
+% \newblock \emph{TUGboat},
+% \newblock vol. 20, no. 1, pp 53--58, March 1999.
+
+% %%% keep
+% \bibitem[TJ05]{CALC}
+% Kresten Krab Thorup, Frank Jensen (and Chris Rowley).
+% \newblock \emph{The calc package --- Infix notation arithmetic in LaTeX}.
+% \newblock August, 2005.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/required/tools/})
+
+% \begin{comment}
+% \bibitem[Tin63]{TINKER63}
+% Miles A.~Tinker.
+% \newblock \emph{Legibility of Print}.
+% \newblock Books on Demand (University Microfilms International), 1963.
+% \end{comment}
+
+% %%% keep
+% \bibitem[Tob00]{SETSPACE}
+% Geoffrey Tobin.
+% \newblock \emph{setspace.sty}.
+% \newblock December, 2000.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/setspace/})
+% %%% keep
+% \bibitem[Tsc91]{TSCHICHOLD91}
+% Jan Tschichold.
+% \newblock \emph{The Form of the Book}.
+% \newblock Lund Humphries, 1991.
+% \newblock ISBN 0--85331--623--6.
+
+% \begin{comment}
+% \bibitem[Tuf83]{TUFTE83}
+% Edward R. Tufte.
+% \newblock \emph{The Visual Display of Quantative Information}.
+% \newblock Graphics Press, 1983.
+% \end{comment}
+
+% %%% keep
+% \bibitem[Ume99]{GEOMETRY}
+% Hideo Umeki.
+% \newblock \emph{The geometry package}.
+% \newblock November, 1999.
+% \newblock (Available from CTAN in
+% \CTANurl{/macros/latex/contrib/geometry/})
+
+
+% \begin{comment}
+% \bibitem[Whe95]{WHEILDON95}
+% Colin Wheildon.
+% \newblock \emph{Type \& Layout}.
+% \newblock Strathmore Press, 1995.
+% \newblock ISBN 0--9624891--5--8.
+% \end{comment}
+
+% %%% keep
+% \bibitem[Wil00]{CATALOGUE}
+% Graham Williams.
+% \newblock \emph{The TeX Catalogue}.
+% \newblock (Latest version on CTAN as
+% \CTANurl{/help/Catalogue/catalogue.html})
+
+% %%% keep
+% \bibitem[Wil93]{ADRIANWILSON93}
+% Adrian Wilson.
+% \newblock \emph{The Design of Books}.
+% \newblock Chronicle Books, 1993.
+% \newblock ISBN 0--8118--0304--X.
+
+
+% %%% keep
+% \bibitem[Wil99b]{TOCVSEC2}
+% Peter Wilson.
+% \newblock \emph{The tocvsec2 package}.
+% \newblock January, 1999.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/tocvsec2/})
+
+% %%% keep
+% \bibitem[Wil00a]{EPIGRAPH}
+% Peter Wilson.
+% \newblock \emph{The epigraph package}.
+% \newblock February, 2000.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/epigraph/})
+
+% %%% keep
+% \bibitem[Wil00b]{ISOCLASS}
+% Peter Wilson.
+% \newblock \emph{LaTeX files for typesetting ISO standards}.
+% \newblock February, 2000.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/isostds/iso/})
+
+% %%% keep
+% \bibitem[Wil00c]{NEXTPAGE}
+% Peter Wilson.
+% \newblock \emph{The nextpage package}.
+% \newblock February, 2000.
+% \newblock (Available from CTAN as
+% \CTANurl{/macros/latex/contrib/misc/nextpage.sty})
+
+% \begin{comment}
+% \bibitem[Wil00d]{NEEDSPACE}
+% Peter Wilson.
+% \newblock \emph{The needspace package}.
+% \newblock March, 2000.
+% \newblock (Available from CTAN as
+% \url{/macros/latex/contrib/misc/needspace.sty})
+% \end{comment}
+
+% %%% keep
+% \bibitem[Wil00e]{XTAB}
+% Peter Wilson.
+% \newblock \emph{The xtab package}.
+% \newblock April 2000.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/xtab})
+
+% %%% keep
+% \bibitem[Wil01a]{ABSTRACT}
+% Peter Wilson.
+% \newblock \emph{The abstract package}.
+% \newblock February, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/abstract/})
+
+% \begin{comment}
+% %%% it no longer exist
+% \LMnote{2010/09/28}{Removed as it no longer exist}
+% \bibitem[Wil01b]{CHNGPAGE}
+% Peter Wilson.
+% \newblock \emph{The changepage package}.
+% \newblock February, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/changepage/})
+
+% \bibitem[Wil01c]{APPENDIX}
+% Peter Wilson.
+% \newblock \emph{The appendix package}.
+% \newblock March, 2001.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/appendix})
+% \end{comment}
+
+% %%% keep
+% \bibitem[Wil01d]{CCAPTION}
+% Peter Wilson.
+% \newblock \emph{The ccaption package}.
+% \newblock March, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/ccaption/})
+
+% %%% keep
+% \bibitem[Wil01e]{CHNGCNTR}
+% Peter Wilson.
+% \newblock \emph{The chngcntr package}.
+% \newblock April, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/chngcntr/})
+
+% %%% keep
+% \bibitem[Wil01f]{HANGING}
+% Peter Wilson.
+% \newblock \emph{The hanging package}.
+% \newblock March, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/hanging/})
+
+% %%% keep
+% \bibitem[Wil01g]{TITLING}
+% Peter Wilson.
+% \newblock \emph{The titling package}.
+% \newblock March, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/titling/})
+
+% %%% keep
+% \bibitem[Wil01h]{TOCBIBIND}
+% Peter Wilson.
+% \newblock \emph{The tocbibind package}.
+% \newblock April, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/tocbibind/})
+
+% %%% keep
+% \bibitem[Wil01i]{TOCLOFT}
+% Peter Wilson.
+% \newblock \emph{The tocloft package}.
+% \newblock April, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/tocloft/})
+
+
+% \begin{comment}
+% \bibitem[Wil01j]{MEMOIR}
+% Peter Wilson.
+% \newblock \emph{The LaTeX memoir class for configurable book
+% typesetting: Source code}.
+% \newblock July, 2001.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/memoir})
+
+% \bibitem[Wil01k]{VERSE}
+% Peter Wilson.
+% \newblock \emph{Typesetting simple verse with LaTeX}
+% \newblock July, 2001.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/verse})
+
+% \bibitem[Wil01l]{BOOKLET}
+% Peter Wilson.
+% \newblock \emph{Printing booklets with LaTeX}
+% \newblock August, 2001.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/booklet})
+% \end{comment}
+
+
+% %%% keep
+% \bibitem[Wil03b]{LEDMAC}
+% Peter Wilson.
+% \newblock \emph{ledmac: A presumptuous attempt to port EDMAC and
+% TABMAC to LaTeX}
+% \newblock November, 2003.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/ledmac/})
+
+% \begin{comment}
+% \bibitem[Wil04a]{GLISTER3}
+% Peter Wilson.
+% \newblock `Glisterings'.
+% \newblock TUGboat, 25, 2 pp 201--202, 2004.
+% \end{comment}
+
+
+% \LMnote{2010/02/08}{Added from the main bib file}
+% \bibitem[Wil04a]{BEZ123}
+% Peter Wilson.
+% \newblock \emph{The bez123 and multiply packages}, April 2004.
+% \newblock (Available from CTAN in \CTANurl{/macros/latex/contrib/bez123/})
+
+
+% %%% keep
+% \bibitem[Wil04b]{PAGENOTE}
+% Peter Wilson.
+% \newblock \emph{The pagenote package}
+% \newblock September, 2004.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/pagenote/})
+
+
+% %%% keep
+% \bibitem[Wil04c]{LAYOUTS}
+% Peter Wilson.
+% \newblock \emph{The layouts package}
+% \newblock October, 2004.
+% \newblock (Available from CTAN in
+% \CTANurl{/macros/latex/contrib/layouts/})
+
+
+% %%% keep
+% \bibitem[Wil07a]{TITLEPAGES}
+% Peter Wilson.
+% \newblock \emph{Some Examples of Title Pages}.
+% \newblock Herries Press, 2007.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/latex-samples/TitlePages/})
+
+% %%% keep
+% \begin{comment}
+% % repeated below
+% \bibitem[Wil07b]{MEMCODE} Peter Wilson. \newblock \emph{The \ltx\
+% memoir class for configurable book typesetting: source code}
+% \newblock November, 2007. \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/memoir})
+% \end{comment}
+% %%% keep
+
+% %%% keep, outcommented, as we do not use an addendum at the moment
+% \LMnote{2010/09/28}{out commented as we do not provide one at the moment}
+% \begin{comment}
+% \bibitem[Wil07d]{MEMADD}
+% Peter Wilson.
+% \newblock \emph{ADDENDUM: The Memoir Class for Configurable
+% Typesetting --- User Guide}
+% \newblock November, 2007.
+% \newblock (Available from CTAN in
+% \url{/macros/latex/contrib/memoir})
+% \end{comment}
+
+% %%% keep
+% \bibitem[Wil07e]{GLISTER07}
+% Peter Wilson.
+% \newblock `Glisterings', \emph{TUGboat}, 28(2):229--232, 2007.
+
+% \begin{comment}
+% \bibitem[Wil07f]{TUGKEYNOTE07}
+% Peter Wilson.
+% \newblock `Between then and now --- A meandering memoir',
+% \newblock \emph{TUGboat}, 28(3):280--298, 2007.
+% \end{comment}
+
+% %%% keep
+% \bibitem[Wil08a]{CHANGEPAGE}
+% Peter Wilson.
+% \newblock \emph{The changepage package}.
+% \newblock March, 2008.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/changepage/})
+
+% %%% keep
+% \bibitem[Wil08b]{GLISTER08}
+% Peter Wilson.
+% \newblock `Glisterings', \emph{TUGboat}, 29(2):324--327, 2008.
+
+% %%% keep
+% \bibitem[Wil09a]{FONTTABLE}
+% Peter Wilson.
+% \newblock \emph{The fonttable package}
+% \newblock April, 2009.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/fonttable/})
+
+% \bibitem[Wil19a]{MEMCODE}
+% Peter Wilson (with the assistance of Lars Madsen).
+% \newblock \emph{The \ltx\ memoir class for configurable book
+% typesetting: source code}
+% \newblock November, 2019.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/memoir/})
+
+% \bibitem[Wil23]{MEMMAN}
+% Peter Wilson (with the assistance of Lars Madsen).
+% \newblock \emph{The Memoir Class for Configurable Typesetting ---
+% User Guide}
+% \newblock November, 2023. Regularly updated.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/memoir/})
+
+% \bibitem[Wil18]{MEMDESIGN}
+% Peter Wilson.
+% \newblock \emph{A Few Notes on Book Design}
+% \newblock September, 2018.
+% \newblock (Available from CTAN via
+% \CTANurl{/info/memdesign/})
+
+
+% %%% keep
+% % \bibitem[Wil??]{RUMOUR}
+% % Peter Wilson.
+% % \newblock \emph{A Rumour of Humour: A scientist's commonplace book}.
+% % \newblock To be published.
+
+
+% \bibitem[Wri23]{SIUNITX}
+% Joseph Wright.
+% \newblock \emph{Siunitx — A comprehensive (SI) units package}
+% \newblock October, 2023.
+% \newblock (Available from CTAN via \CTANurl{/macros/latex/contrib/siunitx})
+
+
+
+
+% \begin{comment}
+% \bibitem[Wis03]{WISHART03}
+% David Wishart.
+% \newblock \emph{The Printing of Mathematics}
+% \newblock in \emph{Type \& Typography: Highlights from \emph{Matrix}, the
+% review for printers \& bibliophiles}.
+% \newblock Mark Batty Publisher, 2003.
+% \newblock ISBN 0--9715687--6--6.
+% \newblock (Originally published in \emph{Matrix 8}, 1988)
+
+% \bibitem[Wul53]{WULLING-FOOTNOTES}
+% Emerson G. Wulling.
+% \newblock \emph{A Comp's-Eye View of Footnotes}.
+% \newblock Sumac Press, 1953.
+
+% \bibitem[Zac69]{ZACHRISSOM69}
+% B.~Zachrissom.
+% \newblock \emph{Studies in the Legibility of Printed Text}.
+% \newblock Almqvist \& Wiksell, Stockholm, 1969.
+% \end{comment}
+
+% %%% keep
+% \bibitem[Zan98]{FANCYBOX}
+% Timothy Van Zandt.
+% \newblock \emph{Documentation for fancybox.sty: Box tips and tricks for
+% LaTeX},
+% \newblock November, 1998.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/fancybox/})
+
+% \begin{comment}
+% \bibitem[Zap00]{ZAPF00}
+% Hermann Zapf.
+% \newblock \emph{The Fine Art of Letters}.
+% \newblock The Grolier Club, 2000.
+% \newblock ISBN 0--910672--35--0.
+% \end{comment}
+
+% \end{thebibliography}
+
+% %\end{comment}
+
+
+
+\newcommand{\etalchar}[1]{$^{#1}$}
+\begin{thebibliography}{GMR{\etalchar{+}}07}
+
+\bibitem[AHB20]{IMPATIENT}
+Paul~W. Abrahams, Kathryn Hargreaves, and Karl Berry.
+\newblock Tex for the impatient, 2020.
+\newblock Originally published by Addison-Wesley in 1990. Out of print by 2003,
+ after which the rights were passed back to the authors, who open sourced the
+ book. \viaCTANurl{/info/impatient}.
+
+\bibitem[Ars10]{CHAPTERBIB}
+Donald Arseneau.
+\newblock {\em Chapterbib – multiple bibliographies in LaTeX}, 2010.
+\newblock \viaCTANurl{/macros/latex/contrib/cite}.
+
+\bibitem[Ars12]{FRAMED}
+Donald Arseneau.
+\newblock {\em The framed package}, 2012.
+\newblock \viaCTANurl{/macros/latex/contrib/framed/}.
+
+\bibitem[Ars13]{URL}
+Donal Arseneau.
+\newblock {\em The url package}, 2013.
+\newblock See also the \Lpack{xurl} package, \cite{XURL}.
+ \viaCTANurl{/macros/latex/contrib/url/}.
+
+\bibitem[BC74]{ROUSEBALL}
+W.~W.~Rouse Ball and H.~S.~M. Coxeter.
+\newblock {\em Mathematical Recreations and Essays}.
+\newblock University of Toronto Press, 12th edition, 1974.
+
+\bibitem[Ber04]{JURABIB}
+Jens Berger.
+\newblock {\em The jurabib Package}, 2004.
+\newblock \viaCTANurl{/macros/latex/contrib/jurabib/}.
+
+\bibitem[Bez21]{TITLESEC}
+Javier Bezos.
+\newblock {\em The titlesec, titleps and titletoc packages}, 2021.
+\newblock \viaCTANurl{/macros/latex/contrib/titlesec/}.
+
+\bibitem[Bir04]{BIRDSALL04}
+Derek Birdsall.
+\newblock {\em Notes on book design}.
+\newblock Yale University Press, 2004.
+\newblock ISBN 0--300--10347--6.
+
+\bibitem[Bra21]{ALLTT}
+Johannes Braams.
+\newblock {\em The alltt environment}, 2021.
+\newblock \viaCTANurl{/macros/latex/base/}.
+
+\bibitem[Bri99]{BRINGHURST99}
+Robert Bringhurst.
+\newblock {\em The Elements of Typographic Style}.
+\newblock Hartley \& Marks, 2nd edition, 1999.
+\newblock ISBN 0--88179--033--8.
+
+\bibitem[Car14a]{AFTERPAGE}
+David Carlisle.
+\newblock {\em The afterpage package}, 2014.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Car14b]{DCOLUMN}
+David Carlisle.
+\newblock {\em The dcolumn package}, 2014.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Car14c]{DELARRAY}
+David Carlisle.
+\newblock {\em The delarray package}, 2014.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Car15]{ENUMERATE}
+David Carlisle.
+\newblock {\em The enumerate package}, 2015.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Car20]{TABULARX}
+David Carlisle.
+\newblock {\em The tabularx package}, 2020.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Car21]{LONGTABLE}
+David Carlisle.
+\newblock {\em The longtable package}, 2021.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Car23]{textcase}
+David Carlisle.
+\newblock {\em The textcase package}, 2023.
+\newblock The package is marked \emph{obsolete} as of the June 2022 \LaTeX\
+ release as by then the functionality was provided by the kernel.
+ \viaCTANurl{/macros/latex/contrib/textcase}.
+
+\bibitem[CB99]{CHAPPELL99}
+Warren Chappell and Robert Bringhurst.
+\newblock {\em A Short history of the Printed Word}.
+\newblock Hartley \& Marks, 1999.
+\newblock ISBN 0--88179--154--7.
+
+\bibitem[CH88]{CHEN88}
+Pehong Chen and Michael~A. Harrison.
+\newblock Index preparation and processing.
+\newblock {\em Software: Practive and Experience}, 19(8):897--915, 1988.
+\newblock \viaCTANurl{/indexing/makeindex/paper/}.
+
+\bibitem[CL21]{COLOR}
+David Carlisle and The {LaTeX Project}.
+\newblock {\em Packages in the graphics bundle (including the color package)},
+ 2021.
+\newblock \viaCTANurl{/macros/latex/required/graphics/}.
+
+\bibitem[CMS93]{CMS}
+{\em The Chicago Manual of Style}.
+\newblock The University of Chicago, fourteenth edition, 1993.
+
+\bibitem[CR21]{GRAPHICX}
+David Carlisle and Sebastian Rahtz.
+\newblock {\em The graphicx package}, 2021.
+\newblock \viaCTANurl{/macros/latex/required/graphics/}.
+
+\bibitem[Dal03]{MAKEBST}
+Patrick~W. Daly.
+\newblock {\em Customizing Bibliographic Style Files}, 2003.
+\newblock \viaCTANurl{/macros/latex/contrib/custom-bib/}.
+
+\bibitem[Dal10]{NATBIB}
+Patrick~W. Daly.
+\newblock {\em Natural Sciences and References (Author-Year and Numerical
+ Schemes)}, 2010.
+\newblock \viaCTANurl{/macros/latex/contrib/natbib/}.
+
+\bibitem[Dow96]{DOWDING96}
+Geoffrey Dowding.
+\newblock {\em Finer Points in the Spacing \& Arrangement of Type}.
+\newblock Hartley \& Marks, 1996.
+\newblock ISBN 0--88179--119--9.
+
+\bibitem[Dow16]{PATCHCMD}
+Michael~J. Downes.
+\newblock {\em The patchcmd package}, 2016.
+\newblock \viaCTANurl{/macros/latex/contrib/patchcmd/}.
-%%% keep
-\bibitem[NG98]{SIDECAP}
- Rolf Niespraschk and Hubert G\"{a}\ss{}lein.
- \newblock \emph{The sidecap package}.
- \newblock June, 1998.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/sidecap/})
-
-%%% keep
-\bibitem[Oet]{LSHORT}
- Tobias Oetiker.
- \newblock \emph{The Not So Short Introduction to LaTeX2e}.
- \newblock (Available from CTAN via
- \CTANurl{/info/lshort/})
-
-%%% keep
-\bibitem[Oos96]{FANCYHDR}
- Piet van Oostrum.
- \newblock \emph{Page Layout in LaTeX}.
- \newblock June, 1996.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/fancyhdr/})
-
-%%% keep
-\bibitem[Pak01]{SYMBOLS}
- Scott Pakin.
- \newblock \emph{The Comprehensive LaTeX Symbol List}.
- \newblock July, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/info/symbols/comprehensive/})
-
-%%% keep
\bibitem[dP84]{PARVILLE84}
- H.~de~Parville.
- \newblock Recreations mathematique: {La Tour d'Hanoi} et la question
- du {Tonkin}.
- \newblock \emph{La Nature}, part {I}:285--286, Paris 1884.
+H.~de~Parville.
+\newblock {\em Recreations mathematique: {La Tour d'Hanoi} et la question du
+ {Tonkin}}.
+\newblock La Nature, 1884.
+\newblock part {I}:285--286, Paris 1884\fixme{data not correct}.
+
+\bibitem[Eij07]{TEXBYTOPIC}
+Victor Eijkhout.
+\newblock {\em TeX by Topic}, 2007.
+\newblock Originally published by Addison-Wesley in 1992. Out of print by the
+ late 90s. Copyright transfered back to the author who put it online.
+ \viaCTANurl{/info/texbytopic}.
+
+\bibitem[Eij16]{COMMENT}
+Victor Eijkhout.
+\newblock {\em The comment package}, 2016.
+\newblock \viaCTANurl{/macros/latex/contrib/comment/}.
-%%% keep
-\bibitem[Pat88a]{BIBTEX}
- Oren Patashnik.
- \newblock \emph{BibTeXing}.
- \newblock February, 1988.
- \newblock (Available from CTAN as
- \CTANurl{/bibliography/bibtex/distribs/doc/btxdoc.tex})
+\bibitem[FAQ]{FAQ}
+{\em TeX FAQ}.
+\newblock Available at \url{https://texfaq.org/}.
-%%% keep
-\bibitem[Pat88b]{BIBTEXHACK}
- Oren Patashnik.
- \newblock \emph{Designing BibTeX Styles}.
- \newblock February, 1988.
- \newblock (Available from CTAN as
- \CTANurl{/bibliography/bibtex/distribs/doc/btxhak.tex})
+\bibitem[Far90]{FARIN90}
+Gerald Farin.
+\newblock {\em Curves and Surfaces for Computer Aided Geometric Design -- A
+ Practical Guide}.
+\newblock Academic Press, 2nd edition, 1990.
+
+\bibitem[Fea20]{BOOKTABS}
+Simon Fear.
+\newblock {\em Publication quality tables in LaTeX}, 2020.
+\newblock Maintained by Danie Els. \viaCTANurl{/macros/latex/contrib/booktabs}.
+
+\bibitem[Fly05]{FLYNN02}
+Peter Flynn.
+\newblock {\em Formatting Information: A Beginner's Introduction to Typesetting
+ with \LaTeX2}, 2005.
+\newblock \viaCTANurl{/info/beginlatex/}.
+
+\bibitem[FM23]{FOOTMISC}
+Robin Fairbairns and Frank Mittelbach.
+\newblock {\em footmisc – a portmanteau package for customising footnotes in
+ \LaTeX}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/footmisc/}.
-%%% keep
-\bibitem[Pug02]{MATHPAZO}
- Diego Puga.
- \newblock \emph{The Pazo Math fonts for mathematical typesetting
- with the Palatino fonts}.
- \newblock May, 2002.
- \newblock (Available from CTAN via
- \CTANurl{/fonts/mathpazo/})
-
-%%% keep
-\bibitem[Rahtz23a]{NAMEREF}
- Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project.
- \newblock \emph{Section name references in LaTeX}.
- \newblock 2023.
- \newblock (Available from CTAN (the \texttt{nameref} package) via
- \CTANurl{/macros/latex/contrib/hyperref/})
-
-%%% keep
-\bibitem[Rahtz23b]{HYPERREF}
- Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project.
- \newblock \emph{Hypertext marks in LaTeX}.
- \newblock 2023.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/hyperref/})
-
-%%% keep
-\bibitem[Rec97]{EPSLATEX}
- Keith Reckdahl.
- \newblock \emph{Using Imported Graphics in LaTeX2e}.
- \newblock December, 1997. Updated in 2006.
- \newblock (Available from CTAN via
- \CTANurl{/info/epslatex.pdf})
+\bibitem[FP80]{FAUX80}
+I.~D. Faux and M.~J. Pratt.
+\newblock {\em Computational Geometry for Design and Manufacture}.
+\newblock Ellis Horwood, 1980.
-\begin{comment}
-\bibitem[Reh72]{REHE72}
- Rolf Rehe.
- \newblock `Type and how to make it most legible'.
- \newblock \emph{Design Research International}, 1972.
-\end{comment}
+\bibitem[GMR{\etalchar{+}}07]{GCOMPANION}
+Michel Goossens, Frank Mittelbach, Sebastian Rahtz, Denis Roegel, and Herbert
+ Vo{\ss}.
+\newblock {\em The LaTeX Graphics Companion: Second edition}.
+\newblock Addison-Wesley, 2007.
+\newblock ISBN 0--321--50892--0.
-%%% keep
-\bibitem[Rei07]{REINGOLD07}
- Edward M. Reingold.
- \newblock `Writing numbers in words in TeX'.
- \newblock TUGboat, 28, 2 pp 256--259, 2007.
+\bibitem[Hoe98]{HOENIG98}
+Alan Hoenig.
+\newblock {\em TeX Unbound: LaTeX and TeX strategies for fonts, graphics, and
+ more}.
+\newblock Oxford University Press, 1998.
+\newblock ISBN 0--19--509686--X.
-\begin{comment}
-\bibitem[RAE71]{ROBINSON71}
- D.~O.~Robinson, M.~Abbamonte and S.~H.~Evans.
- \newblock `Why serifs are important: The perception of small print'.
- \newblock \emph{Visible Language}, pp 353--359, 4, 1971.
-
-\bibitem[Rog43]{ROGERS43}
- Bruce Rogers.
- \newblock \emph{Paragraphs on Printing}.
- \newblock William E. Rudge's Sons, Inc., 1943.
- \newblock (Reissued by Dover, 1979, ISBN 0--486--23817--2)
-
-\bibitem[Rog49]{ROGERS49}
- Bruce Rogers.
- \newblock \emph{Centaur Types}.
- \newblock October House, 1949.
-\end{comment}
+\bibitem[Jon95]{INDEX}
+David~M. Jones.
+\newblock {\em A new implementation of LaTeX's indexing commands}, 1995.
+\newblock \viaCTANurl{/macros/latex/contrib/camel}.
-%%% keep
-\bibitem[RBC74]{ROUSEBALL}
- W. W. Rouse Ball and H. S. M. Coxeter.
- \newblock \emph{Mathematical Recreations and Essays}.
- \newblock University of Toronto Press, twelfth edition, 1974.
+\bibitem[Keh98]{XINDY}
+Roger Kehr.
+\newblock {\em xindy: A flexible indexing system}, 1998.
+\newblock See \url{http://www.xindy.org/doc/manual.html}.
-\begin{comment}
-\bibitem[Ryd76]{RYDER}
- John Ryder.
- \newblock \emph{Printing for Pleasure}. Revised edition.
- \newblock The Bodley Head, 1976.
- \newblock ISBN 0--370--10443--9.
- \newblock (In the USA published by Henry Regenery Co., Michigan, 1977.
- ISBN 0--8092--78103--3)
-\end{comment}
+\bibitem[Ker22]{XCOLOR}
+Uwe Kern.
+\newblock {\em Extending LaTeX's color facilities: the xcolor package}, 2022.
+\newblock \viaCTANurl{/macros/latex/contrib/xcolor/}.
-%%% keep
-\bibitem[SW94]{EBOOK}
- Douglas Schenck and Peter Wilson.
- \newblock \emph{Information Modeling the EXPRESS Way}.
- \newblock Oxford University Press, 1994.
- \newblock ISBN 0--19--508714--3.
-
-%%% keep
-\bibitem[SRR99]{VERBATIM}
- Rainer Sch\"{o}pf, Bernd Raichle and Chris Rowley.
- \newblock \emph{A New Implementation of LaTeX's verbatim
- and verbatim* Environments}.
- \newblock December, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
+\bibitem[Kha20]{BIDI}
+Vafa Khalighi.
+\newblock {\em The Bidi package}, 2020.
+\newblock \CTANurl{/macros/latex/contrib/bidi/}.
-\begin{comment}
-\bibitem[Sch97]{SCHRIVER97}
- Karen A.~Schriver.
- \newblock \emph{Dynamics in Document Design}.
- \newblock Wiley \& Sons, 1997.
-
-\bibitem[Sme96]{SMEIJERS96}
- Fred Smeijers.
- \newblock \emph{Counterpunch: making type in the sixteenth century,
- designing typefaces now}.
- \newblock Hyphen Press, London, 1996.
- \newblock ISBN 0--907259--06--5.
-\end{comment}
+\bibitem[Knu84]{TEXBOOK}
+Donald~E. Knuth.
+\newblock {\em The TeXBook}.
+\newblock Addison-Wesley, 1984.
+\newblock ISBN 0--201--13448--9.
+\bibitem[Knu86]{TEXPROGRAM}
+Donald~E. Knuth.
+\newblock {\em TeX: The Program}.
+\newblock Addison-Wesley, 1986.
+\newblock ISBN 0--201--13437--3.
-\bibitem[Sch07]{practex-2007-3-ms}
-Martin Scharrer,
-\newblock\emph{Version Control of LaTeX Documents with svn-multi}.
-\newblock \emph{The Prac{\TeX} Journal}, 3, 2007.
-\newblock ISSN 1556-6994.
+\bibitem[Knu87]{CM}
+Donald~E. Knuth.
+\newblock {\em Computer Modern Typefaces}.
+\newblock Addison-Wesley, 1987.
+\newblock ISBN 0--201--134446--2.
-\bibitem[Sch09]{svn-multi}
-Martin Scharrer,
-\newblock\emph{The \textsf{svn-multi} package}, 2009.
-\newblock (Available from CTAN via
-\CTANurl{/macros/latex/contrib/svn-multi/})
+\bibitem[Knu92]{METAFONT}
+Donald~E. Knuth.
+\newblock {\em The METAFONT Book}.
+\newblock Addison-Wesley, 1992.
+\newblock ISBN 0--201--13444--6.
+\bibitem[Lam94]{LAMPORT94}
+Leslie Lamport.
+\newblock {\em LaTeX: A Document Preparation System}.
+\newblock Addison-Wesley, 1994.
+\newblock ISBN 0--201--52983--1.
-%%% keep
-\bibitem[Sne04]{SNEEP04}
- Maarten Sneep.
- \newblock \emph{The atmosphere in the laboratory: cavity ring-down
- measurements on scattering and absorption}.
- \newblock Phd thesis,
- \newblock Vrijie Universiteit, Amsterdam, 2004.
+\bibitem[Lea03]{TEXFONTSITE}
+Christopher League.
+\newblock {\em TeX support for the FontSite 500 CD}, 2003.
+\newblock Was availalble from \url{http://contrapunctus.net/fs500tex}, the page
+ is now defunct.
-%%% keep
-\bibitem[Tal21]{DATETIME2}
- Nicola L. C. Talbot.
- \newblock \emph{datetime2: date and time formats}.
- \newblock Martch, 2021.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/datetime2/})
+\bibitem[Leh04]{FONTINST}
+Philipp Lehman.
+\newblock {\em The Font Installation Guide}, 2004.
+\newblock \viaCTANurl{/info/Type1fonts/fontinstallationguide}.
-%%% keep
-\bibitem[Thi98]{ORNAMENTAL}
- Christina Thiele.
- \newblock `Hey --- it works: Ornamental rules'.
- \newblock \emph{TUGboat},
- \newblock vol. 19, no. 4, p 427, December 1998.
+\bibitem[LLB23]{NTG}
+Victor~Eijkhout Leslie~Lamport and Johannes Braams.
+\newblock {\em NTG Document Classes for \LaTeX\ version 2e}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/ntgclass/}.
-%%% keep
-\bibitem[Thi99]{TTC199}
- Christina Thiele.
- \newblock `The Treasure Chest: Package tours from CTAN',
- \newblock \emph{TUGboat},
- \newblock vol. 20, no. 1, pp 53--58, March 1999.
-
-%%% keep
-\bibitem[TJ05]{CALC}
- Kresten Krab Thorup, Frank Jensen (and Chris Rowley).
- \newblock \emph{The calc package --- Infix notation arithmetic in LaTeX}.
- \newblock August, 2005.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/required/tools/})
+\bibitem[Lon91]{MULTIND}
+F.~W. Long.
+\newblock {\em The multind package}, 1991.
+\newblock NB: Made for LaTeX209.
+ \viaCTANurl{/macros/latex209/contrib/misc/multind.sty}.
+
+\bibitem[Mad12]{CHAPSTYLES}
+Lars Madsen.
+\newblock {\em Various chapter styles for the memoir class}, 2012.
+\newblock \viaCTANurl{/info/latex-samples/MemoirChapStyles/}.
+
+\bibitem[MC23]{ARRAY}
+Frank Mittelbach and David Carlisle.
+\newblock {\em A new implementation of \LaTeX's tabular and array environment},
+ 2023.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[McD02]{SECTSTY}
+Rowland McDonnell.
+\newblock {\em The sectsty package}, 2002.
+\newblock \viaCTANurl{/macros/latex/contrib/sectsty/}.
-\begin{comment}
-\bibitem[Tin63]{TINKER63}
- Miles A.~Tinker.
- \newblock \emph{Legibility of Print}.
- \newblock Books on Demand (University Microfilms International), 1963.
-\end{comment}
+\bibitem[McL80]{MCLEAN80}
+Ruari McLean.
+\newblock {\em The Thames \& Hudson Manual of Typography}.
+\newblock Thames \& Hudson, 1980.
+\newblock ISBN 0--500--68022--1.
+
+\bibitem[{Mic}99]{WCOMPANION}
+{Michel Goossens and Sebastian Rahtz (with Eitan Gurari, Ross Moore and Robert
+ Sutor)}.
+\newblock {\em The LaTeX Web Companion: Integrating TeX, HTML and XML}.
+\newblock Addison-Wesley, 1999.
+\newblock ISBN 0--201--43311--7\fixme{author needs fixing}.
+
+\bibitem[Mit23a]{MULTICOL}
+Frank Mittelbach.
+\newblock {\em And environment for multicolumn output}, 2023.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
+
+\bibitem[Mit23b]{LTHOOKS}
+Frank Mittelbach.
+\newblock {\em LaTeX's hook management}, 2023.
+\newblock \viaCTANurl{/macros/latex/base/lthooks-doc.pdf}.
+
+\bibitem[ML23]{LTSHIPOUT}
+Frank Mittelbach and The {LaTeX Project Team}.
+\newblock {\em The ltshipout documentation}, 2023.
+\newblock \viaCTANurl{/macros/latex/base/ltshipout-doc.pdf}.
+
+\bibitem[MOL23]{LTFILEHOOK}
+Frank Mittelbach, Phelype Oleinik, and The {LaTeX Project Team}.
+\newblock {\em The ltfilehook documentation}, 2023.
+\newblock \viaCTANurl{/macros/latex/base/ltfilehooks-doc.pdf}.
-%%% keep
-\bibitem[Tob00]{SETSPACE}
- Geoffrey Tobin.
- \newblock \emph{setspace.sty}.
- \newblock December, 2000.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/setspace/})
+\bibitem[Mor85]{MORTENSON85}
+Michael~E. Mortenson.
+\newblock {\em Geometric Modeling}.
+\newblock John Wiley \& Sons, 1985.
-%%% keep
-\bibitem[Tsc91]{TSCHICHOLD91}
- Jan Tschichold.
- \newblock \emph{The Form of the Book}.
- \newblock Lund Humphries, 1991.
- \newblock ISBN 0--85331--623--6.
+\bibitem[Mw04]{COMPANION}
+Frank Mittelbach and Michel~Goossens {with Johannes Braams, David Carlisle and
+ Chris Rowley}.
+\newblock {\em The \LaTeX\ Companion}.
+\newblock Addison-Wesley, 2nd edition, 2004.
+\newblock ISBN 0--201--36299--6.\fixme{with authors}.
+
+\bibitem[NG23]{SIDECAP}
+Rolf Niespraschk and Hubert G{\"{a}\ss{}}lein.
+\newblock {\em The sidecap package}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/sidecap/}.
+
+\bibitem[Oos22]{FANCYHDR}
+{Pieter van} Oostrum.
+\newblock {\em The fancyhdr and extramarks packages}, 2022.
+\newblock \viaCTANurl{/macros/latex/contrib/fancyhdr/}.
+
+\bibitem[OPHS21]{LSHORT}
+Tobias Oetiker, Hubert Partl, Irene Hyna, and Elisabeth Schlegl.
+\newblock {\em The Not So Short Introduction to LaTeX2e}, 2021.
+\newblock \viaCTANurl{/info/lshort/}.
+
+\bibitem[Pak21]{SYMBOLS}
+Scott Pakin.
+\newblock {\em The Comprehensive LaTeX Symbol List}, 2021.
+\newblock \viaCTANurl{/info/symbols/comprehensive/}.
-\begin{comment}
-\bibitem[Tuf83]{TUFTE83}
- Edward R. Tufte.
- \newblock \emph{The Visual Display of Quantative Information}.
- \newblock Graphics Press, 1983.
-\end{comment}
+\bibitem[Pat88a]{BIBTEX}
+Oren Patashnik.
+\newblock {\em BibTeXing}, 1988.
+\newblock \viaCTANurl{/biblio/bibtex/contrib/doc/btxdoc.pdf}.
-%%% keep
-\bibitem[Ume99]{GEOMETRY}
- Hideo Umeki.
- \newblock \emph{The geometry package}.
- \newblock November, 1999.
- \newblock (Available from CTAN in
- \CTANurl{/macros/latex/contrib/geometry/})
+\bibitem[Pat88b]{BIBTEXHACK}
+Oren Patashnik.
+\newblock {\em Designing BibTeX Styles}, 1988.
+\newblock \viaCTANurl{/biblio/bibtex/contrib/doc/btxhak.pdf}.
+\bibitem[Pug02]{MATHPAZO}
+Diego Puga.
+\newblock {\em The Pazo Math fonts for mathematical typesetting with the
+ Palatino fonts}, 2002.
+\newblock \viaCTANurl{/fonts/mathpazo/}.
-\begin{comment}
-\bibitem[Whe95]{WHEILDON95}
- Colin Wheildon.
- \newblock \emph{Type \& Layout}.
- \newblock Strathmore Press, 1995.
- \newblock ISBN 0--9624891--5--8.
-\end{comment}
+\bibitem[Rec06]{EPSLATEX}
+Keith Reckdahl.
+\newblock {\em Using Imported Graphics in LaTeX2e}, 2006.
+\newblock As the sources are not available, the document is only available
+ online. \viaCTANurl{/info/epslatex/english/epslatex.pdf}.
-%%% keep
-\bibitem[Wil00]{CATALOGUE}
- Graham Williams.
- \newblock \emph{The TeX Catalogue}.
- \newblock (Latest version on CTAN as
- \CTANurl{/help/Catalogue/catalogue.html})
+\bibitem[Rei07]{REINGOLD07}
+Edward~M. Reingold.
+\newblock Writing numbers in words in tex.
+\newblock {\em TUGboat}, 28(2):256--259, 2007.
-%%% keep
-\bibitem[Wil93]{ADRIANWILSON93}
- Adrian Wilson.
- \newblock \emph{The Design of Books}.
- \newblock Chronicle Books, 1993.
- \newblock ISBN 0--8118--0304--X.
-
-
-%%% keep
-\bibitem[Wil99b]{TOCVSEC2}
- Peter Wilson.
- \newblock \emph{The tocvsec2 package}.
- \newblock January, 1999.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/tocvsec2/})
-
-%%% keep
-\bibitem[Wil00a]{EPIGRAPH}
- Peter Wilson.
- \newblock \emph{The epigraph package}.
- \newblock February, 2000.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/epigraph/})
-
-%%% keep
-\bibitem[Wil00b]{ISOCLASS}
- Peter Wilson.
- \newblock \emph{LaTeX files for typesetting ISO standards}.
- \newblock February, 2000.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/isostds/iso/})
-
-%%% keep
-\bibitem[Wil00c]{NEXTPAGE}
- Peter Wilson.
- \newblock \emph{The nextpage package}.
- \newblock February, 2000.
- \newblock (Available from CTAN as
- \CTANurl{/macros/latex/contrib/misc/nextpage.sty})
+\bibitem[ROL23a]{HYPERREF}
+Sebastian Rahtz, Heiko Oberdiek, and The {LaTeX Project}.
+\newblock {\em Hypertext marks in LaTeX: a manual for hyperref}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/hyperref/}.
-\begin{comment}
-\bibitem[Wil00d]{NEEDSPACE}
- Peter Wilson.
- \newblock \emph{The needspace package}.
- \newblock March, 2000.
- \newblock (Available from CTAN as
- \url{/macros/latex/contrib/misc/needspace.sty})
-\end{comment}
+\bibitem[ROL23b]{NAMEREF}
+Sebastian Rahtz, Heiko Oberdiek, and The {LaTeX Project}.
+\newblock {\em Section name references in LaTeX}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/hyperref/}.
-%%% keep
-\bibitem[Wil00e]{XTAB}
- Peter Wilson.
- \newblock \emph{The xtab package}.
- \newblock April 2000.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/xtab})
-
-%%% keep
-\bibitem[Wil01a]{ABSTRACT}
- Peter Wilson.
- \newblock \emph{The abstract package}.
- \newblock February, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/abstract/})
+\bibitem[Sch07]{practex-2007-3-ms}
+Martin Scharrer.
+\newblock Version control of latex documents with svn-multi.
+\newblock {\em The Prac{\TeX} Journal}, 3, 2007.
+\newblock ISSN 1556-6994.
-\begin{comment}
-%%% it no longer exist
-\LMnote{2010/09/28}{Removed as it no longer exist}
-\bibitem[Wil01b]{CHNGPAGE}
- Peter Wilson.
- \newblock \emph{The changepage package}.
- \newblock February, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/changepage/})
-
-\bibitem[Wil01c]{APPENDIX}
- Peter Wilson.
- \newblock \emph{The appendix package}.
- \newblock March, 2001.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/appendix})
-\end{comment}
+\bibitem[Sch11]{svn-multi}
+Martin Scharrer.
+\newblock {\em The svn-multi package}, 2011.
+\newblock \viaCTANurl{/macros/latex/contrib/svn-multi/}.
-%%% keep
-\bibitem[Wil01d]{CCAPTION}
- Peter Wilson.
- \newblock \emph{The ccaption package}.
- \newblock March, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/ccaption/})
-
-%%% keep
-\bibitem[Wil01e]{CHNGCNTR}
- Peter Wilson.
- \newblock \emph{The chngcntr package}.
- \newblock April, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/chngcntr/})
-
-%%% keep
-\bibitem[Wil01f]{HANGING}
- Peter Wilson.
- \newblock \emph{The hanging package}.
- \newblock March, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/hanging/})
-
-%%% keep
-\bibitem[Wil01g]{TITLING}
- Peter Wilson.
- \newblock \emph{The titling package}.
- \newblock March, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/titling/})
-
-%%% keep
-\bibitem[Wil01h]{TOCBIBIND}
- Peter Wilson.
- \newblock \emph{The tocbibind package}.
- \newblock April, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/tocbibind/})
-
-%%% keep
-\bibitem[Wil01i]{TOCLOFT}
- Peter Wilson.
- \newblock \emph{The tocloft package}.
- \newblock April, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/tocloft/})
+\bibitem[Sne04]{SNEEP04}
+Maarten Sneep.
+\newblock {\em The atmosphere in the laboratory: cavity ring-down measurements
+ on scattering and absorption}.
+\newblock PhD thesis, Vrijie Universiteit, Amsterdam, 2004.
+\bibitem[SRR22]{VERBATIM}
+Rainer Sch{\"{o}}pf, Bernd Raichle, and Chris Rowley.
+\newblock {\em A New Implementation of LaTeX's verbatim and verbatim*
+ Environments}, 2022.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
-\begin{comment}
-\bibitem[Wil01j]{MEMOIR}
- Peter Wilson.
- \newblock \emph{The LaTeX memoir class for configurable book
- typesetting: Source code}.
- \newblock July, 2001.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/memoir})
-
-\bibitem[Wil01k]{VERSE}
- Peter Wilson.
- \newblock \emph{Typesetting simple verse with LaTeX}
- \newblock July, 2001.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/verse})
-
-\bibitem[Wil01l]{BOOKLET}
- Peter Wilson.
- \newblock \emph{Printing booklets with LaTeX}
- \newblock August, 2001.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/booklet})
-\end{comment}
+\bibitem[SW94]{EBOOK}
+Douglas Schenck and Peter Wilson.
+\newblock {\em Information Modeling the EXPRESS Way}.
+\newblock Oxford University Press, 1994.
+\newblock ISBN 0--19--508714--3.
+\bibitem[Tal21]{DATETIME2}
+Nicola L.~C. Talbot.
+\newblock {\em Datetime2: date and time formats}, 2021.
+\newblock \viaCTANurl{/macros/latex/contrib/datetime2/}.
-%%% keep
-\bibitem[Wil03b]{LEDMAC}
- Peter Wilson.
- \newblock \emph{ledmac: A presumptuous attempt to port EDMAC and
- TABMAC to LaTeX}
- \newblock November, 2003.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/ledmac/})
+\bibitem[TF22]{SETSPACE}
+Geoffrey Tobin and Robin Fairbairns.
+\newblock {\em The setspace package}, 2022.
+\newblock \viaCTANurl{/macros/latex/contrib/setspace/}.
-\begin{comment}
-\bibitem[Wil04a]{GLISTER3}
- Peter Wilson.
- \newblock `Glisterings'.
- \newblock TUGboat, 25, 2 pp 201--202, 2004.
-\end{comment}
+\bibitem[Thi98]{ORNAMENTAL}
+Christina Thiele.
+\newblock Hey -- it works: Ornamental rules.
+\newblock {\em TUGboat}, 19(4):427, 1998.
+
+\bibitem[Thi99]{TTC199}
+Christina Thiele.
+\newblock The treasure chest: Package tours from ctan.
+\newblock {\em TUGboat}, 20(1):53--58, 1999.
+\bibitem[TJR17]{CALC}
+Kresten~Krab Thorup, Frank Jensen, and Chris {Rowley\fxnote{should be (and
+ Chris Rowley)}}.
+\newblock {\em The calc package --- Infix notation arithmetic in LaTeX}, 2017.
+\newblock \viaCTANurl{/macros/latex/required/tools/}.
-\LMnote{2010/02/08}{Added from the main bib file}
-\bibitem[Wil04a]{BEZ123}
+\bibitem[Tsc91]{TSCHICHOLD91}
+Jan Tschichold.
+\newblock {\em The Form of the Book}.
+\newblock Lund Humphries, 1991.
+\newblock ISBN 0--85331--623--6.
+
+\bibitem[Ume20]{GEOMETRY}
+Hideo Umeki.
+\newblock {\em The geometry package}, 2020.
+\newblock \viaCTANurl{/macros/latex/contrib/geometry/}.
+
+\bibitem[vL92]{LEUNEN92}
+Mary-Claire van Leunen.
+\newblock {\em A Handbook for Scholars}.
+\newblock Oxford University Press, 1992.
+\newblock ISBN 0--19--506954--4.
+
+\bibitem[Vo{\ss}22]{XURL}
+Herbert Vo{\ss}.
+\newblock {\em Package xurl}, 2022.
+\newblock Extends the \Lpack{url} package to increase the number of allowed
+ break points in URLs. \viaCTANurl{/macros/latex/contrib/xurl}.
+
+\bibitem[Wil]{RUMOUR}
Peter Wilson.
-\newblock \emph{The bez123 and multiply packages}, April 2004.
-\newblock (Available from CTAN in \CTANurl{/macros/latex/contrib/bez123/})
+\newblock A rumour of humour: A scientist's commonplace book.
+\newblock To be published. Maintainers note: probably never will.
+\bibitem[Wil93]{ADRIANWILSON93}
+Adrian Wilson.
+\newblock {\em The Design of Books}.
+\newblock Chronicle Books, 1993.
+\newblock ISBN 0--8118--0304--X.
-%%% keep
-\bibitem[Wil04b]{PAGENOTE}
- Peter Wilson.
- \newblock \emph{The pagenote package}
- \newblock September, 2004.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/pagenote/})
+\bibitem[Wil00]{NEXTPAGE}
+Peter Wilson.
+\newblock {\em The nextpage package}, 2000.
+\newblock \viaCTANurl{/macros/latex/contrib/misc/nextpage.sty}.
+\bibitem[Wil02]{ISOCLASS}
+Peter Wilson.
+\newblock {\em LaTeX files for typesetting ISO standards}, 2002.
+\newblock \viaCTANurl{/macros/latex/contrib/isostds/iso/}.
-%%% keep
-\bibitem[Wil04c]{LAYOUTS}
- Peter Wilson.
- \newblock \emph{The layouts package}
- \newblock October, 2004.
- \newblock (Available from CTAN in
- \CTANurl{/macros/latex/contrib/layouts/})
+\bibitem[Wil04]{LAYOUTS}
+Peter Wilson.
+\newblock {\em The layouts package}, 2004.
+\newblock \viaCTANurl{/macros/latex/contrib/layouts/}.
+\bibitem[Wil07]{GLISTER07}
+Peter Wilson.
+\newblock Glisterings.
+\newblock {\em TUGboat}, 28(2):229--232, 2007.
-%%% keep
-\bibitem[Wil07a]{TITLEPAGES}
- Peter Wilson.
- \newblock \emph{Some Examples of Title Pages}.
- \newblock Herries Press, 2007.
- \newblock (Available from CTAN via
- \CTANurl{/info/latex-samples/TitlePages/})
+\bibitem[Wil08]{GLISTER08}
+Peter Wilson.
+\newblock Glisterings.
+\newblock {\em TUGboat}, 29(2):324--327, 2008.
-%%% keep
-\begin{comment}
- % repeated below
- \bibitem[Wil07b]{MEMCODE} Peter Wilson. \newblock \emph{The \ltx\
- memoir class for configurable book typesetting: source code}
- \newblock November, 2007. \newblock (Available from CTAN in
- \url{/macros/latex/contrib/memoir})
-\end{comment}
-%%% keep
+\bibitem[Wil09a]{ABSTRACT}
+Peter Wilson.
+\newblock {\em The abstract package}, 2009.
+\newblock \viaCTANurl{/macros/latex/contrib/abstract/}.
-%%% keep, outcommented, as we do not use an addendum at the moment
-\LMnote{2010/09/28}{out commented as we do not provide one at the moment}
-\begin{comment}
-\bibitem[Wil07d]{MEMADD}
+\bibitem[Wil09b]{BEZ123}
Peter Wilson.
- \newblock \emph{ADDENDUM: The Memoir Class for Configurable
- Typesetting --- User Guide}
- \newblock November, 2007.
- \newblock (Available from CTAN in
- \url{/macros/latex/contrib/memoir})
-\end{comment}
-
-%%% keep
-\bibitem[Wil07e]{GLISTER07}
+\newblock {\em The bez123 and multiply packages}, 2009.
+\newblock \viaCTANurl{/macros/latex/contrib/bez123/}.
+
+\bibitem[Wil09c]{CHANGEPAGE}
Peter Wilson.
- \newblock `Glisterings', \emph{TUGboat}, 28(2):229--232, 2007.
+\newblock {\em The changepage package}, 2009.
+\newblock \viaCTANurl{/macros/latex/contrib/changepage/}.
-\begin{comment}
-\bibitem[Wil07f]{TUGKEYNOTE07}
+\bibitem[Wil09d]{HANGING}
Peter Wilson.
- \newblock `Between then and now --- A meandering memoir',
- \newblock \emph{TUGboat}, 28(3):280--298, 2007.
-\end{comment}
+\newblock {\em The hanging package}, 2009.
+\newblock \viaCTANurl{/macros/latex/contrib/hanging/}.
-%%% keep
-\bibitem[Wil08a]{CHANGEPAGE}
- Peter Wilson.
- \newblock \emph{The changepage package}.
- \newblock March, 2008.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/changepage/})
+\bibitem[Wil09e]{TITLING}
+Peter Wilson.
+\newblock {\em The titling package}, 2009.
+\newblock \viaCTANurl{/macros/latex/contrib/titling/}.
-%%% keep
-\bibitem[Wil08b]{GLISTER08}
+\bibitem[Wil10a]{TITLEPAGES}
Peter Wilson.
- \newblock `Glisterings', \emph{TUGboat}, 29(2):324--327, 2008.
-
-%%% keep
-\bibitem[Wil09a]{FONTTABLE}
- Peter Wilson.
- \newblock \emph{The fonttable package}
- \newblock April, 2009.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/fonttable/})
-
-\bibitem[Wil19a]{MEMCODE}
-Peter Wilson (with the assistance of Lars Madsen).
- \newblock \emph{The \ltx\ memoir class for configurable book
- typesetting: source code}
- \newblock November, 2019.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/memoir/})
-
-\bibitem[Wil23]{MEMMAN}
-Peter Wilson (with the assistance of Lars Madsen).
- \newblock \emph{The Memoir Class for Configurable Typesetting ---
- User Guide}
- \newblock November, 2023. Regularly updated.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/memoir/})
-
-\bibitem[Wil18]{MEMDESIGN}
- Peter Wilson.
- \newblock \emph{A Few Notes on Book Design}
- \newblock September, 2018.
- \newblock (Available from CTAN via
- \CTANurl{/info/memdesign/})
-
-
-%%% keep
-% \bibitem[Wil??]{RUMOUR}
-% Peter Wilson.
-% \newblock \emph{A Rumour of Humour: A scientist's commonplace book}.
-% \newblock To be published.
+\newblock {\em Some Examples of Title Pages}.
+\newblock Herries Press, 2010.
+\newblock \viaCTANurl{/info/latex-samples/TitlePages/}.
+\bibitem[Wil10b]{TOCBIBIND}
+Peter Wilson.
+\newblock {\em The tocbibind package}, 2010.
+\newblock \viaCTANurl{/macros/latex/contrib/tocbibind/}.
-\bibitem[Wri23]{SIUNITX}
- Joseph Wright.
- \newblock \emph{Siunitx — A comprehensive (SI) units package}
- \newblock October, 2023.
- \newblock (Available from CTAN via \CTANurl{/macros/latex/contrib/siunitx})
+\bibitem[Wil11a]{CATALOGUE}
+Graham Williams.
+\newblock {\em The TeX Catalogue}, 2011.
+\newblock \viaCTANurl{/obsolete/help/Catalogue/catalogue.html}. Obsolete and
+ not maintained.
+\bibitem[Wil11b]{CCAPTION}
+Peter Wilson.
+\newblock {\em The ccaption package}, 2011.
+\newblock \viaCTANurl{/macros/latex/contrib/ccaption/}.
+\bibitem[Wil11c]{XTAB}
+Peter Wilson.
+\newblock {\em The xtab package}, 2011.
+\newblock \viaCTANurl{/macros/latex/contrib/xtab}.
+\bibitem[Wil14]{TOCVSEC2}
+Peter Wilson.
+\newblock {\em The tocvsec2 package}, 2014.
+\newblock \viaCTANurl{/macros/latex/contrib/tocvsec2/}.
-\begin{comment}
-\bibitem[Wis03]{WISHART03}
-David Wishart.
-\newblock \emph{The Printing of Mathematics}
-\newblock in \emph{Type \& Typography: Highlights from \emph{Matrix}, the
- review for printers \& bibliophiles}.
-\newblock Mark Batty Publisher, 2003.
-\newblock ISBN 0--9715687--6--6.
-\newblock (Originally published in \emph{Matrix 8}, 1988)
-
-\bibitem[Wul53]{WULLING-FOOTNOTES}
- Emerson G. Wulling.
- \newblock \emph{A Comp's-Eye View of Footnotes}.
- \newblock Sumac Press, 1953.
-
-\bibitem[Zac69]{ZACHRISSOM69}
- B.~Zachrissom.
- \newblock \emph{Studies in the Legibility of Printed Text}.
- \newblock Almqvist \& Wiksell, Stockholm, 1969.
-\end{comment}
+\bibitem[Wil16]{LEDMAC}
+Peter Wilson.
+\newblock {\em Ledmac: A presumptuous attempt to port EDMAC, TABMAC and
+ EDSTANZA to LaTeX}, 2016.
+\newblock \viaCTANurl{/macros/latex/contrib/ledmac/}. Deprecated, users should
+ use \Lpack{reledmac} instead.
-%%% keep
-\bibitem[Zan98]{FANCYBOX}
- Timothy Van Zandt.
- \newblock \emph{Documentation for fancybox.sty: Box tips and tricks for
- LaTeX},
- \newblock November, 1998.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/fancybox/})
+\bibitem[Wil17]{FONTTABLE}
+Peter Wilson.
+\newblock {\em The fonttable package}, 2017.
+\newblock \viaCTANurl{/macros/latex/contrib/fonttable/}.
-\begin{comment}
-\bibitem[Zap00]{ZAPF00}
- Hermann Zapf.
- \newblock \emph{The Fine Art of Letters}.
- \newblock The Grolier Club, 2000.
- \newblock ISBN 0--910672--35--0.
-\end{comment}
+\bibitem[Wil18a]{CHNGCNTR}
+Peter Wilson.
+\newblock {\em The chngcntr package}, 2018.
+\newblock The functionality is now included in the LaTeX kernel, loading the
+ package does nothing. \viaCTANurl{/macros/latex/contrib/chngcntr/}.
+
+\bibitem[Wil18b]{MEMDESIGN}
+Peter Wilson.
+\newblock {\em A Few Notes on Book Design}, 2018.
+\newblock \viaCTANurl{/info/memdesign/}.
+
+\bibitem[Wil20a]{EPIGRAPH}
+Peter Wilson.
+\newblock {\em The epigraph package}, 2020.
+\newblock \viaCTANurl{/macros/latex/contrib/epigraph/}.
+
+\bibitem[Wil20b]{TOCLOFT}
+Peter Wilson.
+\newblock {\em The tocloft package}, 2020.
+\newblock \viaCTANurl{/macros/latex/contrib/tocloft/}.
+
+\bibitem[Wil23a]{MEMCODE}
+Peter Wilson.
+\newblock {\em The \LaTeX\ memoir class for configurable book typesetting:
+ source code}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/memoir/}.
+
+\bibitem[Wil23b]{MEMMAN}
+Peter Wilson.
+\newblock {\em The Memoir Class for Configurable Typesetting -- User Guide},
+ 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/memoir/}.
+
+\bibitem[Wri23]{SIUNITX}
+Joseph Wright.
+\newblock {\em Siunitx — A comprehensive (SI) units package}, 2023.
+\newblock \viaCTANurl{/macros/latex/contrib/siunitx}.
+
+\bibitem[Zan10]{FANCYBOX}
+Timothy~Van Zandt.
+\newblock {\em Documentation for fancybox.sty: Box tips and tricks for LaTeX},
+ 2010.
+\newblock \viaCTANurl{/macros/latex/contrib/fancybox/}.
\end{thebibliography}
+
\clearpage
\twocolindex
diff --git a/macros/latex/contrib/memoir/doc-src/memsty.sty b/macros/latex/contrib/memoir/doc-src/memsty.sty
index 6f37b8e569..7e178a8fb6 100644
--- a/macros/latex/contrib/memoir/doc-src/memsty.sty
+++ b/macros/latex/contrib/memoir/doc-src/memsty.sty
@@ -18,6 +18,8 @@
\usepackage{pifont}
\usepackage{amsmath}
\usepackage[T1]{fontenc}
+\usepackage{xurl}
+
\providecommand{\LMnote}[2]{}
\providecommand{\PWnote}[2]{}
@@ -1127,6 +1129,9 @@ it to use the new width for the margin par}
}
}
+\newcommand\viaCTANurl[1]{CTAN: \CTANurl{#1}}
+
+
\newcommand\reimplemented[2]{%
\textit{Reimplemented, #1\footnote{#2}}
diff --git a/macros/latex/contrib/memoir/memman.pdf b/macros/latex/contrib/memoir/memman.pdf
index fff50043ec..706dc8ff11 100644
--- a/macros/latex/contrib/memoir/memman.pdf
+++ b/macros/latex/contrib/memoir/memman.pdf
Binary files differ
diff --git a/macros/latex/contrib/memoir/memoir.dtx b/macros/latex/contrib/memoir/memoir.dtx
index b22db8831b..fb6dc088cb 100644
--- a/macros/latex/contrib/memoir/memoir.dtx
+++ b/macros/latex/contrib/memoir/memoir.dtx
@@ -131,6 +131,8 @@
% \changes{v3.7r}{2022/07/29}{Maintenance}
% \changes{v3.7.19}{2022/11/17}{Maintenance}
% \changes{v3.8}{2023/08/08}{Maintenance, see the README for details}
+% \changes{v3.8a}{2023/08/14}{Forgot to enable stopping if the LaTeX
+% format is too old}
%
% \def\dtxfile{memoir.dtx}
%
@@ -431,8 +433,8 @@
% Announce the name, option files and version for LaTeX2e files:
% \begin{macrocode}
%<class>\ProvidesClass{memoir}%
-%<class> [2023/08/08 v3.8 configurable book, report, article document class]
-%<class>\newcommand\memversion{v3.8, 2023/08/08}
+%<class> [2023/08/14 v3.8a configurable book, report, article document class]
+%<class>\newcommand\memversion{v3.8a, 2023/08/14}
% \end{macrocode}
%
% \changes{v3.7m}{2020/08/05}{Added \cs{IfFormatAtLeastTF}}
@@ -456,6 +458,7 @@
%
% Stop the loading if the kernel is too old (as \cs{NeedsTeXFormat}
% only issues a warning). Though we cannot do much about nonstopmode.
+% \changes{v3.8a}{2023/08/14}{Forgot to enable the stop mode}
% \begin{macrocode}
%<class>\IfFormatAtLeastTF{\mem@atleast@kernel}{}{
%<class> \ClassError{memoir}{%
@@ -464,7 +467,7 @@
%<class> from at least \mem@atleast@kernel\space onwards. Please update your\MessageBreak
%<class> entire LaTeX installation instead of manually updating\MessageBreak
%<class> just memoir}{}
-%<class> % \batchmode\read-1to\@tempa% evil mode engaged
+%<class> \batchmode\read-1to\@tempa% evil mode engaged
%<class>}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.dtx b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
index 7f7920ec77..39677ce108 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.21a}
-\def\myfiledate{2023/07/17}
+\def\myfileversion{6.22}
+\def\myfiledate{2023/08/14}
%
%
%<*batchfile>
@@ -181,7 +181,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_msg_new:nnn #1 #2 #3
{
- \bool_if:NTF \c_@@_messages_for_Overleaf_bool
+ \bool_if:NTF \g_@@_messages_for_Overleaf_bool
{ \msg_new:nnn { nicematrix } { #1 } { #2 \\ #3 } }
{ \msg_new:nnnn { nicematrix } { #1 } { #2 } { #3 } }
}
@@ -192,14 +192,15 @@ version 2005/12/01 or later.
% warning on Overleaf. The argument is given by curryfication.
% \begin{macrocode}
\cs_new_protected:Npn \@@_error_or_warning:n
- { \bool_if:NTF \c_@@_messages_for_Overleaf_bool \@@_warning:n \@@_error:n }
+ { \bool_if:NTF \g_@@_messages_for_Overleaf_bool \@@_warning:n \@@_error:n }
% \end{macrocode}
%
% We try to detect whether the compilation is done on Overleaf. We use
% |\c_sys_jobname_str| because, with Overleaf, the value of |\c_sys_jobname_str|
% is always ``|output|''.
% \begin{macrocode}
-\bool_set:Nn \c_@@_messages_for_Overleaf_bool
+\bool_new:N \g_@@_messages_for_Overleaf_bool
+\bool_gset:Nn \g_@@_messages_for_Overleaf_bool
{
\str_if_eq_p:Vn \c_sys_jobname_str { _region_ } % for Emacs
|| \str_if_eq_p:Vn \c_sys_jobname_str { output } % for Overleaf
@@ -296,7 +297,7 @@ version 2005/12/01 or later.
\IfPackageLoadedTF { mdwtab }
{ \@@_fatal:n { mdwtab~loaded } }
{
- \bool_if:NF \c_@@_no_test_for_array_bool
+ \bool_if:NF \g_@@_no_test_for_array_bool
{
\group_begin:
\hbox_set:Nn \l_tmpa_box
@@ -310,10 +311,62 @@ version 2005/12/01 or later.
}
}
% \end{macrocode}
+%
+% \bigskip
+% \section{Collecting options}
+%
+% The following technic allows to create user commands with the ability to put
+% an arbitrary number of |[|\textsl{list of (key=val)}|]| after the name of the
+% command.
+%
+% \medskip
+% \emph{Exemple} :\par\nobreak
+%
+% |\@@_collect_options:n { \F } [x=a,y=b] [z=c,t=d] { arg }|
+%
+% will be transformed in :\quad |\F{x=a,y=b,z=c,t=d}{arg}|
+%
+% \smallskip
+% Therefore, by writing : |\def\G{\@@_collect_options:n{\F}}|,
+%
+% the command |\G| takes in an arbitrary number of optional arguments between
+% square brackets.
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_collect_options:n #1
+ {
+ \peek_meaning:NTF [
+ { \@@_collect_options:nw { #1 } }
+ { #1 { } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We use |\NewDocumentCommand| in order to be able to allow nested brackets
+% within the argument between |[| and |]|.
+% \begin{macrocode}
+\NewDocumentCommand \@@_collect_options:nw { m r[] }
+ { \@@_collect_options:nn { #1 } { #2 } }
+
+\cs_new_protected:Npn \@@_collect_options:nn #1 #2
+ {
+ \peek_meaning:NTF [
+ { \@@_collect_options:nnw { #1 } { #2 } }
+ { #1 { #2 } }
+ }
+
+\cs_new_protected:Npn \@@_collect_options:nnw #1#2[#3]
+ { \@@_collect_options:nn { #1 } { #2 , #3 } }
+% \end{macrocode}
+%
%
% \bigskip
% \section{Technical definitions}
%
+% The following token list will be used for definitions of user commands (with
+% |\NewDocumentCommand|) with an embellishment using an \emph{underscore} (there
+% may be problems because of the catcode of the underscore).
% \begin{macrocode}
\tl_new:N \l_@@_argspec_tl
% \end{macrocode}
@@ -942,6 +995,27 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_new:N \g_@@_aux_tl
% \end{macrocode}
+%
+% During the second run, if informations concerning the current environment has
+% been found in the |aux| file, the following flag will be raised.
+% \begin{macrocode}
+\bool_new:N \g_@@_aux_found_bool
+% \end{macrocode}
+%
+% \bigskip
+% In particuler, in that |aux| file, there will, for each environment of
+% \pkg{nicematrix}, an affectation for the the following sequence that will
+% contain informations about the size of the array.
+% \begin{macrocode}
+\seq_new:N \g_@@_size_seq
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\tl_new:N \g_@@_left_delim_tl
+\tl_new:N \g_@@_right_delim_tl
+\tl_new:N \g_@@_preamble_tl
+% \end{macrocode}
%
% \bigskip
% The following parameter corresponds to the key |columns-type| of the
@@ -956,6 +1030,16 @@ version 2005/12/01 or later.
\hook_gput_code:nnn { begindocument } { . }
{ \@@_set_preamble:Nn \l_@@_columns_type_tl { c } }
% \end{macrocode}
+%
+% \bigskip
+% The following parameters correspond to the keys |down|, |up| and |middle| of a
+% command such as |\Cdots|. Usually, the final user doesn't use that keys
+% directly because he uses the syntax with the embellishments |_|, |^| and |:|.
+% \begin{macrocode}
+\tl_new:N \l_@@_xdots_down_tl
+\tl_new:N \l_@@_xdots_up_tl
+\tl_new:N \l_@@_xdots_middle_tl
+% \end{macrocode}
%
% \bigskip
% \begin{macrocode}
@@ -1316,10 +1400,11 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% The following parameters correspond to the keys |fill|, |draw|, |tikz|, |borders|,
-% and |rounded-corners| of the command |\Block|.
+% The following parameters correspond to the keys |fill|, |opacity|, |draw|,
+% |tikz|, |borders|, and |rounded-corners| of the command |\Block|.
% \begin{macrocode}
\tl_new:N \l_@@_fill_tl
+\tl_new:N \l_@@_opacity_tl
\tl_new:N \l_@@_draw_tl
\seq_new:N \l_@@_tikz_seq
\clist_new:N \l_@@_borders_clist
@@ -1414,7 +1499,6 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_new:N \l_@@_hvlines_bool
% \end{macrocode}
-%
%
%
% \bigskip
@@ -1569,6 +1653,27 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+% \bigskip
+% The following internal parameters are for:
+% \begin{itemize}
+% \item |\Ldots| \emph{with both extremities open} (and hence also |\Hdotsfor| in an
+% exterior row;
+% \item |\Vdots| \emph{with both extremities open} (and hence also |\Vdotsfor| in an
+% exterior column;
+% \item when the special character ``|:|'' is used in order to put the label of
+% a so-called ``dotted line'' \emph{on the line}, a margin of
+% |\c_@@_innersep_middle_dim| will be added around the label.
+% \end{itemize}
+%
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \dim_const:Nn \c_@@_shift_Ldots_last_row_dim { 0.5 em }
+ \dim_const:Nn \c_@@_shift_exterior_Vdots_dim { 0.6 em }
+ \dim_const:Nn \c_@@_innersep_middle_dim { 0.17 em }
+ }
+% \end{macrocode}
+%
%
% \bigskip
% \section{The command \textbackslash tabularnote}
@@ -1937,7 +2042,6 @@ version 2005/12/01 or later.
\begin { pgfscope }
\pgfset
{
- % outer~sep = \c_zero_dim ,
inner~sep = \c_zero_dim ,
minimum~size = \c_zero_dim
}
@@ -1969,7 +2073,6 @@ version 2005/12/01 or later.
\begin { pgfscope }
\pgfset
{
- % outer~sep = \c_zero_dim ,
inner~sep = \c_zero_dim ,
minimum~size = \c_zero_dim
}
@@ -2051,14 +2154,13 @@ version 2005/12/01 or later.
\hook_gput_code:nnn { begindocument } { . }
{ \dim_set:Nn \l_@@_xdots_inter_dim { 0.45 em } }
% \end{macrocode}
-% We use a hook only by security in case \cls{revtex4-1}
-% is used (even though it is obsolete).
+% The unit is |em| and that's why we fix the dimension after the preamble.
%
% \bigskip
-% The following dimension is the minimal distance between a node (in fact an
-% anchor of that node) and a dotted line (we say ``minimal'' because, by
-% definition, a dotted line is not a continuous line and, therefore, this
-% distance may vary a little).
+% The following dimension is the distance between a node (in fact an
+% anchor of that node) and a dotted line (for real dotted lines, the actual
+% distance may, of course, be a bit larger, depending of the exact position of
+% the dots).
% \begin{macrocode}
\dim_new:N \l_@@_xdots_shorten_start_dim
\dim_new:N \l_@@_xdots_shorten_end_dim
@@ -2068,8 +2170,7 @@ version 2005/12/01 or later.
\dim_set:Nn \l_@@_xdots_shorten_end_dim { 0.3 em }
}
% \end{macrocode}
-% We use a hook only by security in case \cls{revtex4-1} is used (even though it
-% is obsolete).
+% The unit is |em| and that's why we fix the dimension after the preamble.
%
% \bigskip
% The following dimension is the radius of the dots for the dotted lines (when
@@ -2080,8 +2181,7 @@ version 2005/12/01 or later.
\hook_gput_code:nnn { begindocument } { . }
{ \dim_set:Nn \l_@@_xdots_radius_dim { 0.53 pt } }
% \end{macrocode}
-% We use a hook only by security in case \cls{revtex4-1} is used (even though it
-% is obsolete).
+% The unit is |em| and that's why we fix the dimension after the preamble.
%
%
% \bigskip
@@ -2130,7 +2230,7 @@ version 2005/12/01 or later.
%
% \bigskip
% The following parameter correspond to the key |corners|. The elements of that
-% |clist| must be in |NW|, |SW|, |NE| and |SE|.
+% |clist| must be within |NW|, |SW|, |NE| and |SE|.
% \begin{macrocode}
\clist_new:N \l_@@_corners_clist
% \end{macrocode}
@@ -2262,8 +2362,25 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
+% \bigskip
+% \begin{macrocode}
\keys_define:nn { NiceMatrix / xdots }
{
+ shorten-start .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 } } ,
+ shorten-end .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 } } ,
+ shorten-start .value_required:n = true ,
+ shorten-end .value_required:n = true ,
+ shorten .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ {
+ \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 }
+ \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 }
+ } ,
+ shorten .value_required:n = true ,
horizontal-labels .bool_set:N = \l_@@_xdots_h_labels_bool ,
horizontal-labels .default:n = true ,
line-style .code:n =
@@ -2277,25 +2394,6 @@ version 2005/12/01 or later.
line-style .value_required:n = true ,
color .tl_set:N = \l_@@_xdots_color_tl ,
color .value_required:n = true ,
- shorten .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- {
- \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 }
- \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 }
- } ,
- shorten-start .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 } } ,
- shorten-end .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 } } ,
-% \end{macrocode}
-% We use a hook only by security in case \cls{revtex4-1}
-% is used (even though it is obsolete). Idem for the following keys.
-% \begin{macrocode}
- shorten .value_required:n = true ,
- shorten-start .value_required:n = true ,
- shorten-end .value_required:n = true ,
radius .code:n =
\hook_gput_code:nnn { begindocument } { . }
{ \dim_set:Nn \l_@@_xdots_radius_dim { #1 } } ,
@@ -2305,14 +2403,17 @@ version 2005/12/01 or later.
{ \dim_set:Nn \l_@@_xdots_inter_dim { #1 } } ,
radius .value_required:n = true ,
% \end{macrocode}
-% The options |down| and |up| are not documented for the final user because he
-% should use the syntax with |^| and |_|.
+% The options |down|, |up| and |middle| are not documented for the final user
+% because he should use the syntax with |^|, |_| and |:|. We use
+% |\tl_put_right:Nn| and not |\tl_set:Nn| (or |.tl_set:N|) because we don't want
+% a direct use of |up=...| erased by a absent |^{...}|.
% \begin{macrocode}
- down .tl_set:N = \l_@@_xdots_down_tl ,
- up .tl_set:N = \l_@@_xdots_up_tl ,
+ down .code:n = \tl_put_right:Nn \l_@@_xdots_down_tl { #1 } , % modified 2023-08-09
+ up .code:n = \tl_put_right:Nn \l_@@_xdots_up_tl { #1 } ,
+ middle .code:n = \tl_put_right:Nn \l_@@_xdots_middle_tl { #1 } ,
% \end{macrocode}
% The key |draw-first|, which is meant to be used only with |\Ddots| and
-% |\Iddots|, which be catched when |\Ddots| or |\Iddots| is used (during the
+% |\Iddots|, will be catched when |\Ddots| or |\Iddots| is used (during the
% construction of the array and not when we draw the dotted lines).
% \begin{macrocode}
draw-first .code:n = \prg_do_nothing: ,
@@ -2787,6 +2888,7 @@ version 2005/12/01 or later.
unknown .code:n = \@@_error:n { Unknown~key~for~NiceTabular }
}
% \end{macrocode}
+%
%
% \bigskip
% \section{Important code used by \{NiceArrayWithDelims\} }
@@ -2812,9 +2914,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
% \end{macrocode}
-% We increment |\c@jCol|, which is the counter of the columns.
+% We increment the LaTeX counter |jCol|, which is the counter of the columns.
% \begin{macrocode}
- \int_gincr:N \c@jCol
+ \int_gincr:N \c@jCol
% \end{macrocode}
% Now, we increment the counter of the rows. We don't do this incrementation in
% the |\everycr| because some packages, like \pkg{arydshln}, create special rows
@@ -3225,9 +3327,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_array:n
{
- \bool_if:NTF \l_@@_tabular_bool
- { \dim_set_eq:NN \col@sep \tabcolsep }
- { \dim_set_eq:NN \col@sep \arraycolsep }
+ % modified 05-08-23
+ \dim_set:Nn \col@sep
+ { \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
\dim_compare:nNnTF \l_@@_tabular_width_dim = \c_zero_dim
{ \cs_set_nopar:Npn \@halignto { } }
{ \cs_set_nopar:Npx \@halignto { to \dim_use:N \l_@@_tabular_width_dim } }
@@ -3240,7 +3342,7 @@ version 2005/12/01 or later.
% |\l_@@_baseline_tl| may have the value |t|, |c| or |b|. However, if the value
% is |b|, we compose the |\array| (of \pkg{array}) with the option |t| and the
% right translation will be done further. Remark that |\str_if_eq:VnTF| is
-% fully expandable and you need something fully expandable here.
+% fully expandable and we need something fully expandable here.
% \begin{macrocode}
[ \str_if_eq:VnTF \l_@@_baseline_tl c c t ]
}
@@ -3740,7 +3842,6 @@ version 2005/12/01 or later.
\box_clear_new:N \l_@@_the_array_box
% \end{macrocode}
%
-%
% \medskip
% We compute the width of both delimiters. We remind that, when the
% environment |{NiceArray}| is used, it's possible to specify the delimiters in
@@ -3759,8 +3860,10 @@ version 2005/12/01 or later.
\dim_set:Nn \l_@@_right_delim_dim { \box_wd:N \l_tmpa_box }
}
{
- \dim_gset:Nn \l_@@_left_delim_dim { 2 \arraycolsep }
- \dim_gset:Nn \l_@@_right_delim_dim { 2 \arraycolsep }
+ % modified 05-08-23
+ \dim_gset:Nn \l_@@_left_delim_dim
+ { 2 \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
+ \dim_gset_eq:NN \l_@@_right_delim_dim \l_@@_left_delim_dim
}
% \end{macrocode}
%
@@ -4111,7 +4214,7 @@ version 2005/12/01 or later.
%
% \begin{macrocode}
\@@_provide_pgfsyspdfmark:
- \bool_if:NT \c_@@_footnote_bool \savenotes
+ \bool_if:NT \g_@@_footnote_bool \savenotes
% \end{macrocode}
%
% The aim of the following |\bgroup| (the corresponding |\egroup| is, of course,
@@ -4130,7 +4233,6 @@ version 2005/12/01 or later.
%
%
% \bigskip
-%
% \begin{macrocode}
\int_gzero:N \g_@@_block_box_int
\dim_zero:N \g_@@_width_last_col_dim
@@ -4199,12 +4301,12 @@ version 2005/12/01 or later.
% We load all the informations written in the |aux| file during previous
% compilations corresponding to the current environment.
% \begin{macrocode}
- \bool_gset_false:N \g_@@_aux_found_bool
- \tl_if_exist:cT { c_@@ _ \int_use:N \g_@@_env_int _ tl }
+ \tl_if_exist:cTF { c_@@ _ \int_use:N \g_@@_env_int _ tl }
{
\bool_gset_true:N \g_@@_aux_found_bool
\use:c { c_@@ _ \int_use:N \g_@@_env_int _ tl }
}
+ { \bool_gset_false:N \g_@@_aux_found_bool }
% \end{macrocode}
% Now, we prepare the token list for the instructions that we will have to write
% on the |aux| file at the end of the environment.
@@ -4358,7 +4460,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\int_compare:nNnT \l_@@_first_col_int = 0
{
- \skip_horizontal:N \col@sep
+ % \skip_horizontal:N \col@sep % 05-08-23
\skip_horizontal:N \g_@@_width_first_col_dim
}
% \end{macrocode}
@@ -4466,7 +4568,7 @@ version 2005/12/01 or later.
\bool_if:NT \g_@@_last_col_found_bool
{
\skip_horizontal:N \g_@@_width_last_col_dim
- \skip_horizontal:N \col@sep
+ % \skip_horizontal:N \col@sep % 2023-08-05
}
\bool_if:NT \l_@@_preamble_bool
{
@@ -4498,7 +4600,7 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
- \bool_if:NT \c_@@_footnote_bool \endsavenotes
+ \bool_if:NT \g_@@_footnote_bool \endsavenotes
}
% \end{macrocode}
% This is the end of the environment |{NiceArrayWithDelims}|.
@@ -4652,7 +4754,8 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_transform_preamble_ii:
{
-%
+% \end{macrocode}
+%
% \medskip
% If there was delimiters at the beginning or at the end of the preamble, the
% environment |{NiceArray}| is transformed into an environment |{xNiceMatrix}|.
@@ -6030,8 +6133,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
{
- \box_set_wd:Nn \l_@@_the_array_box
- { \box_wd:N \l_@@_the_array_box - \arraycolsep }
+ \int_compare:nNnT \c@jCol > 1 % added 2023-08-13
+ {
+ \box_set_wd:Nn \l_@@_the_array_box
+ { \box_wd:N \l_@@_the_array_box - \arraycolsep }
+ }
}
% \end{macrocode}
% We need a |{minipage}| because we will insert a LaTeX list for the tabular
@@ -7211,6 +7317,9 @@ version 2005/12/01 or later.
% \section{After the construction of the array}
%
% \bigskip
+% The following command will be used when the key |rounded-corners| is in force
+% (this is the key |rounded-corners| for the whole environment and \emph{not}
+% the key |rounded-corners| of a command |\Block|).
% \begin{macrocode}
\cs_new_protected:Npn \@@_deal_with_rounded_corners:
{
@@ -7223,9 +7332,11 @@ version 2005/12/01 or later.
}
{
\bool_set_true:N \l_@@_except_borders_bool
+ \clist_if_empty:NF \l_@@_corners_clist
+ { \@@_error:n { hvlines,~rounded-corners~and~corners } }
\tl_gput_right:Nn \g_@@_pre_code_after_tl
{
- \_@@_stroke_block:nnn
+ \@@_stroke_block:nnn
{
rounded-corners = \dim_use:N \l_@@_tab_rounded_corners_dim ,
draw = \l_@@_rules_color_tl
@@ -7235,6 +7346,7 @@ version 2005/12/01 or later.
}
}
}
+% \end{macrocode}
%
%
% \medskip
@@ -7950,6 +8062,25 @@ version 2005/12/01 or later.
}
}
% \end{macrocode}
+%
+% \medskip
+% If the final user uses the key |xdots/shorten| in |\NiceMatrixOptions| or at the
+% level of an environment (such as |{pNiceMatrix}|, etc.), only the so called
+% ``closed extremities'' will be shortened by that key. The following command
+% will be used \emph{after} the detection of the extremities of a dotted line
+% (hence at a time when we known wheter the extremities are closed or open) but
+% before the analyse of the keys of the individual command |\Cdots|, |\Vdots|.
+% Hence, the keys |shorten|, |shorten-start| and |shorten-end| of that
+% individual command will be applied.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_open_shorten:
+ {
+ \bool_if:NT \l_@@_initial_open_bool
+ { \dim_zero:N \l_@@_xdots_shorten_start_dim }
+ \bool_if:NT \l_@@_final_open_bool
+ { \dim_zero:N \l_@@_xdots_shorten_end_dim }
+ }
+% \end{macrocode}
%
% \medskip
% The following commmand (\emph{when it will be written}) will set the four
@@ -8050,7 +8181,7 @@ version 2005/12/01 or later.
}
}
% \end{macrocode}
-% If, in fact, all the cells of the columns are empty (no PGF/Tikz nodes in
+% If, in fact, all the cells of the column are empty (no PGF/Tikz nodes in
% those cells).
% \begin{macrocode}
\dim_compare:nNnT \l_@@_x_initial_dim = \c_max_dim
@@ -8109,6 +8240,7 @@ version 2005/12/01 or later.
% of the line.
% \begin{macrocode}
\group_begin:
+ \@@_open_shorten:
\int_compare:nNnTF { #1 } = 0
{ \color { nicematrix-first-row } }
{
@@ -8159,12 +8291,30 @@ version 2005/12/01 or later.
}
{ \@@_set_final_coords_from_anchor:n { base~west } }
% \end{macrocode}
+% Now the case of a |\Hdotsfor| (or when there is only a |\Ldots|) in the ``last
+% row'' (that case will probably arise when the final user draws an arrow to
+% indicate the number of columns of the matrix). In the ``first row'', we don't
+% need any adjustment.
+% \begin{macrocode}
+ \bool_lazy_all:nTF
+ {
+ \l_@@_initial_open_bool
+ \l_@@_final_open_bool
+ { \int_compare_p:nNn \l_@@_initial_i_int = \l_@@_last_row_int }
+ }
+ {
+ \dim_add:Nn \l_@@_y_initial_dim \c_@@_shift_Ldots_last_row_dim
+ \dim_add:Nn \l_@@_y_final_dim \c_@@_shift_Ldots_last_row_dim
+ }
+% \end{macrocode}
% We raise the line of a quantity equal to the radius of the dots because we
% want the dots really ``on'' the line of texte. Of course, maybe we should not
% do that when the option |line-style| is used (?).
% \begin{macrocode}
- \dim_add:Nn \l_@@_y_initial_dim \l_@@_xdots_radius_dim
- \dim_add:Nn \l_@@_y_final_dim \l_@@_xdots_radius_dim
+ {
+ \dim_add:Nn \l_@@_y_initial_dim \l_@@_xdots_radius_dim
+ \dim_add:Nn \l_@@_y_final_dim \l_@@_xdots_radius_dim
+ }
\@@_draw_line:
}
% \end{macrocode}
@@ -8185,6 +8335,7 @@ version 2005/12/01 or later.
% of the line.
% \begin{macrocode}
\group_begin:
+ \@@_open_shorten:
\int_compare:nNnTF { #1 } = 0
{ \color { nicematrix-first-row } }
{
@@ -8248,15 +8399,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_open_y_initial_dim:
{
- \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int - base }
- \dim_set:Nn \l_@@_y_initial_dim
- {
- \fp_to_dim:n
- {
- \pgf@y
- + ( \box_ht:N \strutbox + \extrarowheight ) * \arraystretch
- }
- } % modified 6.13c
+ \dim_set:Nn \l_@@_y_initial_dim { - \c_max_dim }
\int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
{
\cs_if_exist:cT
@@ -8269,6 +8412,19 @@ version 2005/12/01 or later.
{ \dim_max:nn \l_@@_y_initial_dim \pgf@y }
}
}
+ % modified 2023-08-10
+ \dim_compare:nNnT \l_@@_y_initial_dim = { - \c_max_dim }
+ {
+ \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int - base }
+ \dim_set:Nn \l_@@_y_initial_dim
+ {
+ \fp_to_dim:n
+ {
+ \pgf@y
+ + ( \box_ht:N \strutbox + \extrarowheight ) * \arraystretch
+ }
+ }
+ }
}
% \end{macrocode}
%
@@ -8276,10 +8432,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_open_y_final_dim:
{
- \@@_qpoint:n { row - \int_use:N \l_@@_final_i_int - base }
- \dim_set:Nn \l_@@_y_final_dim
- { \fp_to_dim:n { \pgf@y - ( \box_dp:N \strutbox ) * \arraystretch } }
- % modified 6.13c
+ \dim_set_eq:NN \l_@@_y_final_dim \c_max_dim
\int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
{
\cs_if_exist:cT
@@ -8292,6 +8445,13 @@ version 2005/12/01 or later.
{ \dim_min:nn \l_@@_y_final_dim \pgf@y }
}
}
+ % modified 2023-08-10
+ \dim_compare:nNnT \l_@@_y_final_dim = \c_max_dim
+ {
+ \@@_qpoint:n { row - \int_use:N \l_@@_final_i_int - base }
+ \dim_set:Nn \l_@@_y_final_dim
+ { \fp_to_dim:n { \pgf@y - ( \box_dp:N \strutbox ) * \arraystretch } }
+ }
}
% \end{macrocode}
%
@@ -8310,6 +8470,7 @@ version 2005/12/01 or later.
% of the line.
% \begin{macrocode}
\group_begin:
+ \@@_open_shorten:
\int_compare:nNnTF { #2 } = 0
{ \color { nicematrix-first-col } }
{
@@ -8341,80 +8502,112 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_actually_draw_Vdots:
{
% \end{macrocode}
-% The boolean |\l_tmpa_bool| indicates whether the column is of type |l| or may
-% be considered as if.
-% \begin{macrocode}
- \bool_set_false:N \l_tmpa_bool
+%
+% First, the case of a dotted line open on both sides.
+% \begin{macrocode}
+ \bool_lazy_and:nnTF \l_@@_initial_open_bool \l_@@_final_open_bool
% \end{macrocode}
-% First the case when the line is closed on both ends.
+%
+% We have to determine the $x$-value of the vertical rule that we will have
+% to draw.
% \begin{macrocode}
- \bool_lazy_or:nnF \l_@@_initial_open_bool \l_@@_final_open_bool
{
- \@@_set_initial_coords_from_anchor:n { south~west }
- \@@_set_final_coords_from_anchor:n { north~west }
- \bool_set:Nn \l_tmpa_bool
- { \dim_compare_p:nNn \l_@@_x_initial_dim = \l_@@_x_final_dim }
- }
+ \@@_open_y_initial_dim:
+ \@@_open_y_final_dim:
+ \int_compare:nNnTF \l_@@_initial_j_int = \c_zero_int
% \end{macrocode}
-% Now, we try to determine whether the column is of type |c| or may be
-% considered as if.
+% We have a dotted line open on both sides in the ``first column''.
% \begin{macrocode}
- \bool_if:NTF \l_@@_initial_open_bool
- \@@_open_y_initial_dim:
- { \@@_set_initial_coords_from_anchor:n { south } }
- \bool_if:NTF \l_@@_final_open_bool
- \@@_open_y_final_dim:
- { \@@_set_final_coords_from_anchor:n { north } }
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \bool_if:NTF \l_@@_final_open_bool
{
- \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@x
- \@@_qpoint:n { col - \int_eval:n { \l_@@_initial_j_int + 1 } }
- \dim_set:Nn \l_@@_x_initial_dim { ( \pgf@x + \l_tmpa_dim ) / 2 }
- \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
-% \end{macrocode}
-% We may think that the final user won't use a ``last column'' which contains
-% only a command |\Vdots|. However, if the |\Vdots| is in fact used to draw, not
-% a dotted line, but an arrow (to indicate the number of rows of the matrix), it
-% may be really encountered. That's why we do an adjustemnt for that case.
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_last_col_int > { -2 }
+ \@@_qpoint:n { col - 1 }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_sub:Nn \l_@@_x_initial_dim \l_@@_left_margin_dim
+ \dim_sub:Nn \l_@@_x_initial_dim \l_@@_extra_left_margin_dim
+ % \bool_if:NT \g_@@_delims_bool
+ % {
+ \dim_sub:Nn \l_@@_x_initial_dim \c_@@_shift_exterior_Vdots_dim
+ % }
+ }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn \l_@@_last_col_int > { -2 } }
+ { \int_compare_p:nNn \l_@@_initial_j_int = \g_@@_col_total_int }
+% \end{macrocode}
+% We have a dotted line open on both sides in the ``last column''.
+% \begin{macrocode}
{
- \int_compare:nNnT \l_@@_initial_j_int = \g_@@_col_total_int
- {
- \dim_set:Nn \l_tmpa_dim
- {
- \l_@@_right_margin_dim + \l_@@_extra_right_margin_dim
- + 2 mm
- }
- \dim_add:Nn \l_@@_x_initial_dim \l_tmpa_dim
- \dim_add:Nn \l_@@_x_final_dim \l_tmpa_dim
- }
+ \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_add:Nn \l_@@_x_initial_dim \l_@@_right_margin_dim
+ \dim_add:Nn \l_@@_x_initial_dim \l_@@_extra_right_margin_dim
+ % \bool_if:NT \g_@@_delims_bool
+ % {
+ \dim_add:Nn
+ \l_@@_x_initial_dim
+ \c_@@_shift_exterior_Vdots_dim
+ % }
}
+% \end{macrocode}
+% We have a dotted line open on both sides which is \emph{not} in an exterior column.
+% \begin{macrocode}
+ {
+ \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_initial_j_int + 1 } }
+ \dim_set:Nn \l_@@_x_initial_dim { ( \pgf@x + \l_tmpa_dim ) / 2 }
+ }
}
- { \dim_set_eq:NN \l_@@_x_initial_dim \l_@@_x_final_dim }
}
+% \end{macrocode}
+%
+% Now, the dotted line is \emph{not} open on both sides (maybe open on only one side).
+%
+% The boolean |\l_tmpa_bool| will indicate whether the column is of type |l| or
+% may be considered as if.
+% \begin{macrocode}
{
- \bool_if:NTF \l_@@_final_open_bool
- { \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim }
+ \bool_set_false:N \l_tmpa_bool
+ \bool_lazy_and:nnT
+ { ! \l_@@_initial_open_bool }
+ { ! \l_@@_final_open_bool }
{
+ \@@_set_initial_coords_from_anchor:n { south~west }
+ \@@_set_final_coords_from_anchor:n { north~west }
+ \bool_set:Nn \l_tmpa_bool
+ { \dim_compare_p:nNn \l_@@_x_initial_dim = \l_@@_x_final_dim }
+ }
+% \end{macrocode}
+% Now, we try to determine whether the column is of type |c| or may be
+% considered as if.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_initial_open_bool
+ {
+ \@@_open_y_initial_dim:
+ \@@_set_final_coords_from_anchor:n { north }
+ \dim_set_eq:NN \l_@@_x_initial_dim \l_@@_x_final_dim
+ }
+ {
+ \@@_set_initial_coords_from_anchor:n { south }
+ \bool_if:NTF \l_@@_final_open_bool
+ \@@_open_y_final_dim:
% \end{macrocode}
% Now the case where both extremities are closed. The first conditional tests
% whether the column is of type |c| or may be considered as if.
% \begin{macrocode}
- \dim_compare:nNnF \l_@@_x_initial_dim = \l_@@_x_final_dim
{
- \dim_set:Nn \l_@@_x_initial_dim
+ \@@_set_final_coords_from_anchor:n { north }
+ \dim_compare:nNnF \l_@@_x_initial_dim = \l_@@_x_final_dim
{
- \bool_if:NTF \l_tmpa_bool \dim_min:nn \dim_max:nn
- \l_@@_x_initial_dim \l_@@_x_final_dim
+ \dim_set:Nn \l_@@_x_initial_dim
+ {
+ \bool_if:NTF \l_tmpa_bool \dim_min:nn \dim_max:nn
+ \l_@@_x_initial_dim \l_@@_x_final_dim
+ }
}
- \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
- }
- }
+ }
+ }
}
+ \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
\@@_draw_line:
}
% \end{macrocode}
@@ -8439,6 +8632,7 @@ version 2005/12/01 or later.
% of the line.
% \begin{macrocode}
\group_begin:
+ \@@_open_shorten:
\keys_set:nn { NiceMatrix / xdots } { #3 }
\tl_if_empty:VF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Ddots:
@@ -8533,6 +8727,7 @@ version 2005/12/01 or later.
% of the line.
% \begin{macrocode}
\group_begin:
+ \@@_open_shorten:
\keys_set:nn { NiceMatrix / xdots } { #3 }
\tl_if_empty:VF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Iddots:
@@ -8639,18 +8834,19 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:n #1
{
- \@@_draw_unstandard_dotted_line:nVV
+ \@@_draw_unstandard_dotted_line:nVVV
{ #1 }
\l_@@_xdots_up_tl
\l_@@_xdots_down_tl
+ \l_@@_xdots_middle_tl
}
\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:n { o }
% \end{macrocode}
%
%
% \bigskip
-% The following Tikz styles are for both labels (set by the symbols |_| and |^|)
-% of a continous line with a non-standard style.
+% The following Tikz styles are for the three labels (set by the symbols |_|,
+% |^| and |=|) of a continous line with a non-standard style.
% \begin{macrocode}
\hook_gput_code:nnn { begindocument } { . }
{
@@ -8659,7 +8855,12 @@ version 2005/12/01 or later.
\tikzset
{
@@_node_above / .style = { sloped , above } ,
- @@_node_below / .style = { sloped , below }
+ @@_node_below / .style = { sloped , below } ,
+ @@_node_middle / .style =
+ {
+ sloped ,
+ inner~sep = \c_@@_innersep_middle_dim
+ }
}
}
{ }
@@ -8668,91 +8869,103 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:nnn #1 #2 #3
+\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:nnnn #1 #2 #3 #4
{
+% \end{macrocode}
+% We take into account the parameters |xdots/shorten-start| and
+% |xdots/shorten-end| ``by hand'' because, when we use the key |shorten >| and
+% |shorten <| of TikZ in the command |\draw|, we don't have the expected output
+% with |{decorate,decoration=brace}| is used.
+%
+% \medskip
+% The dimension |\l_@@_l_dim| is the length $\ell$ of the line to draw. We use
+% the floating point reals of the L3 programming layer to compute this length.
+% \begin{macrocode}
+ \dim_zero_new:N \l_@@_l_dim
+ \dim_set:Nn \l_@@_l_dim
+ {
+ \fp_to_dim:n
+ {
+ sqrt
+ (
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) ^ 2
+ +
+ ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) ^ 2
+ )
+ }
+ }
+ \bool_lazy_and:nnT % security
+ { \dim_compare_p:nNn { \dim_abs:n \l_@@_l_dim } < \c_@@_max_l_dim }
+ { \dim_compare_p:nNn { \dim_abs:n \l_@@_l_dim } > { 1 pt } }
+ {
+ \dim_set:Nn \l_tmpa_dim
+ {
+ \l_@@_x_initial_dim
+ + ( \l_@@_x_final_dim - \l_@@_x_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_start_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_tmpb_dim
+ {
+ \l_@@_y_initial_dim
+ + ( \l_@@_y_final_dim - \l_@@_y_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_start_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_@@_tmpc_dim
+ {
+ \l_@@_x_final_dim
+ - ( \l_@@_x_final_dim - \l_@@_x_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_end_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_@@_tmpd_dim
+ {
+ \l_@@_y_final_dim
+ - ( \l_@@_y_final_dim - \l_@@_y_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_end_dim \l_@@_l_dim
+ }
+ \dim_set_eq:NN \l_@@_x_initial_dim \l_tmpa_dim
+ \dim_set_eq:NN \l_@@_y_initial_dim \l_tmpb_dim
+ \dim_set_eq:NN \l_@@_x_final_dim \l_@@_tmpc_dim
+ \dim_set_eq:NN \l_@@_y_final_dim \l_@@_tmpd_dim
+ }
+% \end{macrocode}
+%
+%
+% If the key |xdots/horizontal-labels| has been used.
+% \begin{macrocode}
\bool_if:NT \l_@@_xdots_h_labels_bool
{
\tikzset
{
@@_node_above / .style = { auto = left } ,
- @@_node_below / .style = { auto = right }
+ @@_node_below / .style = { auto = right } ,
+ @@_node_middle / .style = { inner~sep = \c_@@_innersep_middle_dim }
}
}
+ \tl_if_empty:nF { #4 }
+ { \tikzset { @@_node_middle / .append~style = { fill = white } } }
\draw
- [
- shorten~> = \l_@@_xdots_shorten_end_dim ,
- shorten~< = \l_@@_xdots_shorten_start_dim ,
- #1
- ]
+ [ #1 ]
( \l_@@_x_initial_dim , \l_@@_y_initial_dim )
% \end{macrocode}
% Be careful: We can't put |\c_math_toggle_token| instead of |$| in the
% following lines because we are in the contents of Tikz nodes (and they will be
% \emph{rescanned} if the Tikz library \pkg{babel} is loaded).
% \begin{macrocode}
- -- node [ @@_node_above ] { $ \scriptstyle #2 $ }
+ -- node [ @@_node_middle] { $ \scriptstyle #4 $ }
node [ @@_node_below ] { $ \scriptstyle #3 $ }
+ node [ @@_node_above ] { $ \scriptstyle #2 $ }
( \l_@@_x_final_dim , \l_@@_y_final_dim ) ;
\end { scope }
}
-\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:nnn { n V V }
+\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:nnnn { n V V V }
% \end{macrocode}
%
% \bigskip
% The command |\@@_draw_standard_dotted_line:| draws the line with our system of dots
-% (which gives a dotted line with real round dots).
+% (which gives a dotted line with real rounded dots).
% \begin{macrocode}
\cs_new_protected:Npn \@@_draw_standard_dotted_line:
- {
- \bool_lazy_and:nnF
- { \tl_if_empty_p:N \l_@@_xdots_up_tl }
- { \tl_if_empty_p:N \l_@@_xdots_down_tl }
- {
- \pgfscope
- \pgftransformshift
- {
- \pgfpointlineattime { 0.5 }
- { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
- { \pgfpoint \l_@@_x_final_dim \l_@@_y_final_dim }
- }
- \fp_set:Nn \l_tmpa_fp
- {
- atand
- (
- \l_@@_y_final_dim - \l_@@_y_initial_dim ,
- \l_@@_x_final_dim - \l_@@_x_initial_dim
- )
- }
- \pgftransformrotate { \fp_use:N \l_tmpa_fp }
- \bool_if:NF \l_@@_xdots_h_labels_bool { \fp_zero:N \l_tmpa_fp }
- \pgfnode
- { rectangle }
- { south }
- {
- \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
- {
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_up_tl
- \c_math_toggle_token
- }
- }
- { }
- { \pgfusepath { } }
- \pgfnode
- { rectangle }
- { north }
- {
- \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
- {
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_down_tl
- \c_math_toggle_token
- }
- }
- { }
- { \pgfusepath { } }
- \endpgfscope
- }
+ {
\group_begin:
% \end{macrocode}
% The dimension |\l_@@_l_dim| is the length $\ell$ of the line to draw. We use
@@ -8783,6 +8996,15 @@ version 2005/12/01 or later.
{ \dim_compare_p:nNn \l_@@_l_dim = \c_zero_dim }
\@@_draw_standard_dotted_line_i:
\group_end:
+% \end{macrocode}
+% \begin{macrocode}
+ \bool_lazy_all:nF
+ {
+ { \tl_if_empty_p:N \l_@@_xdots_up_tl }
+ { \tl_if_empty_p:N \l_@@_xdots_down_tl }
+ { \tl_if_empty_p:N \l_@@_xdots_middle_tl }
+ }
+ \l_@@_labels_standard_dotted_line:
}
% \end{macrocode}
%
@@ -8796,43 +9018,15 @@ version 2005/12/01 or later.
% \end{macrocode}
% The number of dots will be |\l_tmpa_int + 1|.
% \begin{macrocode}
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \bool_if:NTF \l_@@_final_open_bool
- {
- \int_set:Nn \l_tmpa_int
- { \dim_ratio:nn \l_@@_l_dim \l_@@_xdots_inter_dim }
- }
- {
- \int_set:Nn \l_tmpa_int
- {
- \dim_ratio:nn
- { \l_@@_l_dim - \l_@@_xdots_shorten_start_dim }
- \l_@@_xdots_inter_dim
- }
- }
- }
+ \int_set:Nn \l_tmpa_int
{
- \bool_if:NTF \l_@@_final_open_bool
+ \dim_ratio:nn
{
- \int_set:Nn \l_tmpa_int
- {
- \dim_ratio:nn
- { \l_@@_l_dim - \l_@@_xdots_shorten_end_dim }
- \l_@@_xdots_inter_dim
- }
- }
- {
- \int_set:Nn \l_tmpa_int
- {
- \dim_ratio:nn
- {
- \l_@@_l_dim
- - \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
- }
- \l_@@_xdots_inter_dim
- }
- }
+ \l_@@_l_dim
+ - \l_@@_xdots_shorten_start_dim
+ - \l_@@_xdots_shorten_end_dim
+ }
+ \l_@@_xdots_inter_dim
}
% \end{macrocode}
%
@@ -8873,7 +9067,7 @@ version 2005/12/01 or later.
\dim_ratio:nn
{
\l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int
- + \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
+ + \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
}
{ 2 \l_@@_l_dim }
}
@@ -8891,6 +9085,85 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \l_@@_labels_standard_dotted_line:
+ {
+ \pgfscope
+ \pgftransformshift
+ {
+ \pgfpointlineattime { 0.5 }
+ { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
+ { \pgfpoint \l_@@_x_final_dim \l_@@_y_final_dim }
+ }
+ \fp_set:Nn \l_tmpa_fp
+ {
+ atand
+ (
+ \l_@@_y_final_dim - \l_@@_y_initial_dim ,
+ \l_@@_x_final_dim - \l_@@_x_initial_dim
+ )
+ }
+ \pgftransformrotate { \fp_use:N \l_tmpa_fp }
+ \bool_if:NF \l_@@_xdots_h_labels_bool { \fp_zero:N \l_tmpa_fp }
+ \tl_if_empty:NF \l_@@_xdots_middle_tl
+ {
+ \begin { pgfscope }
+ \pgfset { inner~sep = \c_@@_innersep_middle_dim }
+ \pgfnode
+ { rectangle }
+ { center }
+ {
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_middle_tl
+ \c_math_toggle_token
+ }
+ }
+ { }
+ {
+ \pgfsetfillcolor { white }
+ \pgfusepath { fill }
+ }
+ \end { pgfscope }
+ }
+ \tl_if_empty:NF \l_@@_xdots_up_tl
+ {
+ \pgfnode
+ { rectangle }
+ { south }
+ {
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_up_tl
+ \c_math_toggle_token
+ }
+ }
+ { }
+ { \pgfusepath { } }
+ }
+ \tl_if_empty:NF \l_@@_xdots_down_tl
+ {
+ \pgfnode
+ { rectangle }
+ { north }
+ {
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_down_tl
+ \c_math_toggle_token
+ }
+ }
+ { }
+ { \pgfusepath { } }
+ }
+ \endpgfscope
+ }
+% \end{macrocode}
+%
+% \bigskip
% \section{User commands available in the new environments}
%
%
@@ -8912,9 +9185,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\hook_gput_code:nnn { begindocument } { . }
{
- \tl_set:Nn \l_@@_argspec_tl { O { } E { _ ^ } { { } { } } }
+ \tl_set:Nn \l_@@_argspec_tl { m E { _ ^ : } { { } { } { } } }
\tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
- \exp_args:NNV \NewDocumentCommand \@@_Ldots \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Ldots
+ { \@@_collect_options:n { \@@_Ldots_i } }
+ \exp_args:NNV \NewDocumentCommand \@@_Ldots_i \l_@@_argspec_tl
{
\int_compare:nNnTF \c@jCol = 0
{ \@@_error:nn { in~first~col } \Ldots }
@@ -8923,7 +9198,7 @@ version 2005/12/01 or later.
{ \@@_error:nn { in~last~col } \Ldots }
{
\@@_instruction_of_type:nnn \c_false_bool { Ldots }
- { #1 , down = #2 , up = #3 }
+ { #1 , down = #2 , up = #3 , middle = #4 }
}
}
\bool_if:NF \l_@@_nullify_dots_bool
@@ -8934,7 +9209,9 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
- \exp_args:NNV \NewDocumentCommand \@@_Cdots \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Cdots
+ { \@@_collect_options:n { \@@_Cdots_i } }
+ \exp_args:NNV \NewDocumentCommand \@@_Cdots_i \l_@@_argspec_tl
{
\int_compare:nNnTF \c@jCol = 0
{ \@@_error:nn { in~first~col } \Cdots }
@@ -8943,7 +9220,7 @@ version 2005/12/01 or later.
{ \@@_error:nn { in~last~col } \Cdots }
{
\@@_instruction_of_type:nnn \c_false_bool { Cdots }
- { #1 , down = #2 , up = #3 }
+ { #1 , down = #2 , up = #3 , middle = #4 }
}
}
\bool_if:NF \l_@@_nullify_dots_bool
@@ -8954,7 +9231,9 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
- \exp_args:NNV \NewDocumentCommand \@@_Vdots \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Vdots
+ { \@@_collect_options:n { \@@_Vdots_i } }
+ \exp_args:NNV \NewDocumentCommand \@@_Vdots_i \l_@@_argspec_tl
{
\int_compare:nNnTF \c@iRow = 0
{ \@@_error:nn { in~first~row } \Vdots }
@@ -8963,7 +9242,7 @@ version 2005/12/01 or later.
{ \@@_error:nn { in~last~row } \Vdots }
{
\@@_instruction_of_type:nnn \c_false_bool { Vdots }
- { #1 , down = #2 , up = #3 }
+ { #1 , down = #2 , up = #3 , middle = #4 }
}
}
\bool_if:NF \l_@@_nullify_dots_bool
@@ -8975,7 +9254,9 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
- \exp_args:NNV \NewDocumentCommand \@@_Ddots \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Ddots
+ { \@@_collect_options:n { \@@_Ddots_i } }
+ \exp_args:NNV \NewDocumentCommand \@@_Ddots_i \l_@@_argspec_tl
{
\int_case:nnF \c@iRow
{
@@ -8991,7 +9272,7 @@ version 2005/12/01 or later.
{
\keys_set_known:nn { NiceMatrix / Ddots } { #1 }
\@@_instruction_of_type:nnn \l_@@_draw_first_bool { Ddots }
- { #1 , down = #2 , up = #3 }
+ { #1 , down = #2 , up = #3 , middle = #4 }
}
}
@@ -9003,7 +9284,9 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
- \exp_args:NNV \NewDocumentCommand \@@_Iddots \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Iddots
+ { \@@_collect_options:n { \@@_Iddots_i } }
+ \exp_args:NNV \NewDocumentCommand \@@_Iddots_i \l_@@_argspec_tl
{
\int_case:nnF \c@iRow
{
@@ -9019,7 +9302,7 @@ version 2005/12/01 or later.
{
\keys_set_known:nn { NiceMatrix / Ddots } { #1 }
\@@_instruction_of_type:nnn \l_@@_draw_first_bool { Iddots }
- { #1 , down = #2 , up = #3 }
+ { #1 , down = #2 , up = #3 , middle = #4 }
}
}
\bool_if:NF \l_@@_nullify_dots_bool
@@ -9099,13 +9382,15 @@ version 2005/12/01 or later.
% \begin{macrocode}
\hook_gput_code:nnn { begindocument } { . }
{
- \tl_set:Nn \l_@@_argspec_tl { O { } m O { } E { _ ^ } { { } { } } }
+ \tl_set:Nn \l_@@_argspec_tl { m m O { } E { _ ^ : } { { } { } { } } }
\tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
% \end{macrocode}
% We don't put |!| before the last optionnal argument for homogeneity with
% |\Cdots|, etc. which have only one optional argument.
% \begin{macrocode}
- \exp_args:NNV \NewDocumentCommand \@@_Hdotsfor_i \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Hdotsfor_i
+ { \@@_collect_options:n { \@@_Hdotsfor_ii } }
+ \exp_args:NNV \NewDocumentCommand \@@_Hdotsfor_ii \l_@@_argspec_tl
{
\tl_gput_right:Nx \g_@@_HVdotsfor_lines_tl
{
@@ -9116,7 +9401,8 @@ version 2005/12/01 or later.
{
#1 , #3 ,
down = \exp_not:n { #4 } ,
- up = \exp_not:n { #5 }
+ up = \exp_not:n { #5 } ,
+ middle = \exp_not:n { #6 }
}
}
\prg_replicate:nn { #2 - 1 } { & \multicolumn { 1 } { c } { } }
@@ -9178,12 +9464,17 @@ version 2005/12/01 or later.
%
% \begin{macrocode}
\group_begin:
+
+ \@@_open_shorten:
+
+
\int_compare:nNnTF { #1 } = 0
{ \color { nicematrix-first-row } }
{
\int_compare:nNnT { #1 } = \g_@@_row_total_int
{ \color { nicematrix-last-row } }
}
+
\keys_set:nn { NiceMatrix / xdots } { #4 }
\tl_if_empty:VF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Ldots:
@@ -9205,9 +9496,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\hook_gput_code:nnn { begindocument } { . }
{
- \tl_set:Nn \l_@@_argspec_tl { O { } m O { } E { _ ^ } { { } { } } }
+ \tl_set:Nn \l_@@_argspec_tl { m m O { } E { _ ^ : } { { } { } { } } }
\tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
- \exp_args:NNV \NewDocumentCommand \@@_Vdotsfor: \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Vdotsfor:
+ { \@@_collect_options:n { \@@_Vdotsfor_i } }
+ \exp_args:NNV \NewDocumentCommand \@@_Vdotsfor_i \l_@@_argspec_tl
{
\bool_gset_true:N \g_@@_empty_cell_bool
\tl_gput_right:Nx \g_@@_HVdotsfor_lines_tl
@@ -9218,14 +9511,16 @@ version 2005/12/01 or later.
{ #2 }
{
#1 , #3 ,
- down = \exp_not:n { #4 } , up = \exp_not:n { #5 }
+ down = \exp_not:n { #4 } ,
+ up = \exp_not:n { #5 } ,
+ middle = \exp_not:n { #6 }
}
}
}
}
% \end{macrocode}
-% Enf of |\AddToHook|.
%
+% \bigskip
% \begin{macrocode}
\cs_new_protected:Npn \@@_Vdotsfor:nnnn #1 #2 #3 #4
{
@@ -9279,6 +9574,11 @@ version 2005/12/01 or later.
%
% \begin{macrocode}
\group_begin:
+ \@@_open_shorten:
+
+
+
+
\int_compare:nNnTF { #2 } = 0
{ \color { nicematrix-first-col } }
{
@@ -9309,8 +9609,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\NewDocumentCommand \@@_rotate: { O { } }
{
- \bool_gset_true:N \g_@@_rotate_bool
- \keys_set:nn { NiceMatrix / rotate } { #1 }
+ \peek_remove_spaces:n
+ {
+ \bool_gset_true:N \g_@@_rotate_bool
+ \keys_set:nn { NiceMatrix / rotate } { #1 }
+ }
}
% \end{macrocode}
%
@@ -9364,7 +9667,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\hook_gput_code:nnn { begindocument } { . }
{
- \tl_set:Nn \l_@@_argspec_tl { O { } m m ! O { } E { _ ^ } { { } { } } }
+ \tl_set:Nn \l_@@_argspec_tl { O { } m m ! O { } E { _ ^ : } { { } { } { } } }
\tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
\exp_args:NNV \NewDocumentCommand \@@_line \l_@@_argspec_tl
{
@@ -9659,28 +9962,23 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The macro |\@@_actually_color:| will actually fill all the rectangles, color by
-% color (using the sequence |\l_@@_colors_seq| and all the token lists of the
-% form |\l_@@_color_|$i$|_tl|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_color:
- {
- \pgfpicture
- \pgf@relevantforpicturesizefalse
-% \end{macrocode}
-% If the final user has used the key |rounded-corners| for the environment
-% |{NiceTabular}|, we will clip to a rectangle with rounded corners before
-% filling the rectangles.
+% The following command must be used within a |\pgfpicture|.
% \begin{macrocode}
+\cs_new_protected:Npn \@@_clip_with_rounded_corners:
+ {
\dim_compare:nNnT \l_@@_tab_rounded_corners_dim > \c_zero_dim
{
+% \end{macrocode}
+% The TeX group is for |\pgfsetcornersarced| (whose scope is the TeX scope).
+% \begin{macrocode}
+ \group_begin:
\pgfsetcornersarced
{
\pgfpoint
{ \l_@@_tab_rounded_corners_dim }
{ \l_@@_tab_rounded_corners_dim }
}
-% \end{macrococde}
+% \end{macrocode}
% Because we want \pkg{nicematrix} compatible with arrays constructed by
% \pkg{array}, the nodes for the rows and columns (that is to say the nodes
% |row-|\textsl{i} and |col-|\textsl{j}) have not always the expected position,
@@ -9719,7 +10017,29 @@ version 2005/12/01 or later.
}
}
\pgfusepath { clip }
+ \group_end:
+% \end{macrocode}
+% The TeX group was for |\pgfsetcornersarced|.
+% \begin{macrocode}
}
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The macro |\@@_actually_color:| will actually fill all the rectangles, color by
+% color (using the sequence |\l_@@_colors_seq| and all the token lists of the
+% form |\l_@@_color_|$i$|_tl|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_color:
+ {
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+% \end{macrocode}
+% If the final user has used the key |rounded-corners| for the environment
+% |{NiceTabular}|, we will clip to a rectangle with rounded corners before
+% filling the rectangles.
+% \begin{macrocode}
+ \@@_clip_with_rounded_corners:
\seq_map_indexed_inline:Nn \g_@@_colors_seq
{
\begin { pgfscope }
@@ -9916,11 +10236,12 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% The command |\rowcolors| (accessible in the |code-before|) is inspired by the
+% The command |\rowcolors| (accessible in the |\CodeBefore|) is inspired by the
% command |\rowcolors| of the package \pkg{xcolor} (with the option |table|).
% However, the command |\rowcolors| of \pkg{nicematrix} has \emph{not} the
-% optional argument of the command |\rowcolors| of \pkg{xcolor}. Here is an
-% example: |\rowcolors{1}{blue!10}{}[respect-blocks]|.
+% optional argument of the command |\rowcolors| of \pkg{xcolor}.
+%
+% Here is an example: |\rowcolors{1}{blue!10}{}[respect-blocks]|.
%
% In \pkg{nicematrix}, the commmand |\@@_rowcolors| apperas as a special case of
% |\@@_rowlistcolors|.
@@ -9951,7 +10272,7 @@ version 2005/12/01 or later.
{
% \end{macrocode}
% We don't want to take into account a block which is completely in the ``first
-% column'' of (number $0$) or in the ``last column'' and that's why we filter
+% column'' (number~$0$) or in the ``last column'' and that's why we filter
% the sequence of the blocks (in a the sequence |\l_tmpa_seq|).
% \begin{macrocode}
\seq_set_eq:NN \l_tmpb_seq \g_@@_pos_of_blocks_seq
@@ -10276,7 +10597,8 @@ version 2005/12/01 or later.
\tl_gput_right:Nx \g__nicematrix_pre_code_before_tl
{
\@@_rowlistcolors
- [ #1 ] { \int_use:N \c@iRow } { #2 } [ restart, #3 ]
+ [ #1 ] { \int_use:N \c@iRow } { #2 }
+ [ restart, cols = \int_use:N \c@jCol - , #3 ]
}
}
}
@@ -10806,7 +11128,6 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_hline_ii:
{
- % \bool_set_false:N \l_@@_dotted_bool
\keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
\bool_if:NTF \l_@@_dotted_bool
\@@_hline_iv:
@@ -10989,7 +11310,7 @@ version 2005/12/01 or later.
% \bigskip
% The command |\@@_draw_hlines:| draws all the horizontal rules excepted in the
% blocks (even the virtual blocks determined by commands such as |\Cdots| and in
-% the corners (if the key |corners| is used)).
+% the corners --- if the key |corners| is used).
% \begin{macrocode}
\cs_new_protected:Npn \@@_draw_hlines:
{
@@ -11097,6 +11418,7 @@ version 2005/12/01 or later.
\str_clear_new:N \l_@@_command_str
\str_clear_new:N \l_@@_ccommand_str
\str_clear_new:N \l_@@_letter_str
+ \tl_clear_new:N \l_@@_other_keys_tl
\keys_set_known:nnN { NiceMatrix / custom-line } { #1 } \l_@@_other_keys_tl
% \end{macrocode}
% If the final user only wants to draw horizontal rules, he does not need to
@@ -11277,7 +11599,6 @@ version 2005/12/01 or later.
}
\seq_put_left:NV \l_@@_custom_line_commands_seq \l_@@_command_str
}
-\cs_generate_variant:Nn \@@_h_custom_line:nn { n V }
% \end{macrocode}
%
% \bigskip
@@ -11330,7 +11651,6 @@ version 2005/12/01 or later.
}
}
}
-\cs_generate_variant:Nn \@@_c_custom_line:nn { n V }
% \end{macrocode}
%
% \begin{macrocode}
@@ -11705,6 +12025,7 @@ version 2005/12/01 or later.
}
\iow_shipout:Nn \@mainaux \ExplSyntaxOff
}
+ \ignorespacesafterend
}
% \end{macrocode}
%
@@ -12089,12 +12410,21 @@ version 2005/12/01 or later.
C .value_forbidden:n = true ,
t .code:n = \str_set:Nn \l_@@_vpos_of_block_str t ,
t .value_forbidden:n = true ,
+ T .code:n = \str_set:Nn \l_@@_vpos_of_block_str T ,
+ T .value_forbidden:n = true ,
b .code:n = \str_set:Nn \l_@@_vpos_of_block_str b ,
b .value_forbidden:n = true ,
- color .tl_set:N = \l_@@_color_tl ,
+ B .code:n = \str_set:Nn \l_@@_vpos_of_block_str B ,
+ B .value_forbidden:n = true ,
+ color .code:n =
+ \@@_color:n { #1 }
+ \tl_set_rescan:Nnn
+ \l_@@_draw_tl
+ { \char_set_catcode_other:N ! }
+ { #1 } ,
color .value_required:n = true ,
respect-arraystretch .bool_set:N = \l_@@_respect_arraystretch_bool ,
- respect-arraystretch .default:n = true ,
+ respect-arraystretch .default:n = true
}
% \end{macrocode}
%
@@ -12105,22 +12435,14 @@ version 2005/12/01 or later.
% |<| and |>|. It's mandatory to use an expandable command.
%
%
+%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_block:n #1
- {
- \peek_meaning:NTF [
- { \@@_block_i:n { #1 } }
- { \@@_Block_i:[#1] }
- }
-
-\cs_new_protected:Npn \@@_block_i:n #1[#2] { \@@_block:n {#1,#2} }
-
-\cs_new_protected:Npn \@@_Block: { \@@_block:n { } }
+\cs_new_protected:Npn \@@_Block: { \@@_collect_options:n { \@@_Block_i: } }
% \end{macrocode}
-%
+%
% \bigskip
% \begin{macrocode}
-\NewExpandableDocumentCommand \@@_Block_i: { O { } m D < > { } +m }
+\NewExpandableDocumentCommand \@@_Block_i: { m m D < > { } +m }
{
% \end{macrocode}
% If the first mandatory argument of the command (which is the size of the block
@@ -12160,11 +12482,11 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% Now, the arguments have been extracted: |#1| is $i$ (the number of rows of the
-% block), |#2| is $j$ (the number of columns of the block), |#3| is the list of
-% \textsl{key=values} pairs, |#4| are the tokens to put before the math mode and
-% the beginning of the small array of the block and |#5| is the label of the
-% block.
+% Now, the arguments have been extracted:
+% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
+% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
+% the tokens to put before the math mode and before the composition of the block
+% and |#5| is the label (=content) of the block.
% \begin{macrocode}
\cs_new_protected:Npn \@@_Block_ii:nnnnn #1 #2 #3 #4 #5
{
@@ -12261,7 +12583,13 @@ version 2005/12/01 or later.
% right now in a box (because we have to take into account the dimensions of
% that box for the width of the current column or the height and the depth of the
% current row). However, that box will be put in the array \emph{after the
-% construction of the array} (by using \textsc{pgf}).
+% construction of the array} (by using \textsc{pgf}) with |\@@_draw_blocks:| and
+% above all |\@@_Block_v:nnnnnn| which will do the main job.
+%
+% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
+% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
+% the tokens to put before the math mode and before the composition of the block
+% and |#5| is the label (=content) of the block.
% \begin{macrocode}
\cs_new_protected:Npn \@@_Block_iv:nnnnn #1 #2 #3 #4 #5
{
@@ -12280,6 +12608,13 @@ version 2005/12/01 or later.
}
\box_gclear_new:c
{ g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+% \end{macrocode}
+% Now, we will actually compose the content of the |\Block| in a TeX box.
+% \emph{Be careful}: if after, the construction of the box, the boolean
+% |\g_@@_rotate_bool| is raised (which means that the command |\rotate| was
+% present in the content of the |\Block|) we will rotate the box but also,
+% maybe, change the position of the baseline!
+% \begin{macrocode}
\hbox_gset:cn
{ g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
{
@@ -12309,30 +12644,44 @@ version 2005/12/01 or later.
}
\g_@@_row_style_tl
}
- \group_begin:
\bool_if:NF \l_@@_respect_arraystretch_bool
{ \cs_set:Npn \arraystretch { 1 } }
\dim_zero:N \extrarowheight
+% \end{macrocode}
+% |#4| is the optional argument of the command |\Block|, provided with the
+% syntax |<...>|.
+% \begin{macrocode}
#4
% \end{macrocode}
-% If the box is rotated (the key |\rotate| may be in the previous |#4|), the
-% tabular used for the content of the cell will be constructed with a format
-% |c|. In the other cases, the tabular will be constructed with a format equal
-% to the key of position of the box. In other words: the alignment internal to
-% the tabular is the same as the external alignment of the tabular (that is to
-% say the position of the block in its zone of merged cells).
+% We adjust |\l_@@_hpos_block_str| when |\rotate| has been used (in the cell
+% where the command |\Block| is used but maybe in |#4|, |\RowStyle|,
+% |code-for-first-row|, etc.).
+% \begin{macrocode}
+ \@@_adjust_hpos_rotate:
+% \end{macrocode}
+% The boolean |\g_@@_rotate_bool| will be also considered \emph{after the composition
+% of the box} (in order to rotate the box).
+%
+% \medskip
+% Remind that we are in the command of composition of the box of the block.
+% Previously, we have only done some tuning. Now, we will actually compose the
+% content with a |{tabular}|, an |{array}| or a |{minipage}|.
% \begin{macrocode}
- \bool_if:NT \g_@@_rotate_bool { \str_set:Nn \l_@@_hpos_block_str c }
\bool_if:NTF \l_@@_tabular_bool
{
\bool_lazy_all:nTF
{
{ \int_compare_p:nNn { #2 } = 1 }
- { \dim_compare_p:n { \l_@@_col_width_dim >= \c_zero_dim } }
+% \end{macrocode}
+% Remind that, when the column has not a fixed width, the dimension
+% |\l_@@_col_width_dim| has the conventionnal value of $-1$~cm.
+% \begin{macrocode}
+ { \dim_compare_p:n { \l_@@_col_width_dim >= \c_zero_dim } }
{ ! \g_@@_rotate_bool }
}
% \end{macrocode}
-% When the block is mono-column in a column with a fixed width (eg |p{3cm}|).
+% When the block is mono-column in a column with a fixed width (eg |p{3cm}|), we
+% use a |{minipage}|.
% \begin{macrocode}
{
\use:x
@@ -12341,16 +12690,15 @@ version 2005/12/01 or later.
[ \str_lowercase:V { \l_@@_vpos_of_block_str } ]
{ \l_@@_col_width_dim }
\str_case:Vn \l_@@_hpos_block_str
- {
- c \centering
- r \raggedleft
- l \raggedright
- }
+ { c \centering r \raggedleft l \raggedright }
}
#5
\end { minipage }
}
- {
+% \end{macrocode}
+% In the other cases, we use a |{tabular}|.
+% \begin{macrocode}
+ {
\use:x
{
\exp_not:N \begin { tabular }%
@@ -12361,6 +12709,10 @@ version 2005/12/01 or later.
\end { tabular }
}
}
+% \end{macrocode}
+% If we are in a mathematical array (|\l_@@_tabular_bool| is |false|). The
+% composition is always done with an |{array}| (never with a |{minipage}|).
+% \begin{macrocode}
{
\c_math_toggle_token
\use:x
@@ -12373,30 +12725,18 @@ version 2005/12/01 or later.
\end { array }
\c_math_toggle_token
}
- \group_end:
- }
- \bool_if:NT \g_@@_rotate_bool
- {
- \box_grotate:cn
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- { 90 }
- \bool_if:NT \g_@@_rotate_c_bool
- {
- \hbox_gset:cn
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- {
- \c_math_toggle_token
- \vcenter
- {
- \box_use:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- \c_math_toggle_token
- }
- }
- \bool_gset_false:N \g_@@_rotate_bool
}
% \end{macrocode}
+% The box which will contain the content of the block has now been composed.
+%
+% \bigskip
+% If there were |\rotate| (which raises |\g_@@_rotate_bool|) in the content of
+% the |\Block|, we do a rotation of the box (and we also adjust the
+% baseline the rotated box).
+% \begin{macrocode}
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_box_of_block:
+% \end{macrocode}
+%
% If we are in a mono-column block, we take into account the width of that block
% for the width of the column.
% \begin{macrocode}
@@ -12449,8 +12789,17 @@ version 2005/12/01 or later.
% \begin{macrocode}
{
\exp_not:n { #3 } ,
- \l_@@_hpos_block_str ,
- \bool_if:NT \g_@@_rotate_c_bool { v-center }
+ \l_@@_hpos_block_str ,
+% \end{macrocode}
+% Now, we put a key for the vertical alignment.
+% \begin{macrocode}
+ \bool_if:NT \g_@@_rotate_bool
+ {
+ \bool_if:NTF \g_@@_rotate_c_bool
+ { v-center }
+ { \int_compare:nNnT \c@iRow = \l_@@_last_row_int T }
+ }
+
}
{
\box_use_drop:c
@@ -12460,12 +12809,74 @@ version 2005/12/01 or later.
\bool_set_false:N \g_@@_rotate_c_bool
}
% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new:Npn \@@_adjust_hpos_rotate:
+ {
+ \bool_if:NT \g_@@_rotate_bool
+ {
+ \str_set:Nx \l_@@_hpos_block_str
+ {
+ \bool_if:NTF \g_@@_rotate_c_bool
+ { c }
+ {
+ \str_case:VnF \l_@@_vpos_of_block_str
+ { b l B l t r T r }
+ { \int_compare:nNnTF \c@iRow = \l_@@_last_row_int r l }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Despite its name the following command rotates the box of the block \emph{but
+% also does vertical adjustement of the baseline of the block}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rotate_box_of_block:
+ {
+ \box_grotate:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ { 90 }
+ \int_compare:nNnT \c@iRow = \l_@@_last_row_int
+ {
+ \vbox_gset_top:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ {
+ \skip_vertical:n { 0.8 ex }
+ \box_use:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ \bool_if:NT \g_@@_rotate_c_bool
+ {
+ \hbox_gset:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ {
+ \c_math_toggle_token
+ \vcenter
+ {
+ \box_use:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ \c_math_toggle_token
+ }
+ }
+ }
+% \end{macrocode}
%
% \bigskip
% The following macro is for the standard case, where the block is not mono-row
% and not mono-column. In that case, the content of the block is \emph{not}
% composed right now in a box. The composition in a box will be done further,
-% just after the construction of the array.
+% just after the construction of the array (cf. |\@@_draw_blocks:| and
+% above all |\@@_Block_v:nnnnnn|).
+%
+% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
+% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
+% the tokens to put before the math mode and before the composition of the block
+% and |#5| is the label (=content) of the block.
% \begin{macrocode}
\cs_new_protected:Npn \@@_Block_v:nnnnn #1 #2 #3 #4 #5
{
@@ -12491,8 +12902,7 @@ version 2005/12/01 or later.
% the tabular is the same as the external alignment of the tabular (that is to
% say the position of the block in its zone of merged cells).
% \begin{macrocode}
- \bool_if:NT \g_@@_rotate_bool
- { \str_set:Nn \l_@@_hpos_block_str c }
+ % \@@_adjust_hpos_rotate:
\use:x
{
\exp_not:N \begin { tabular } [ \l_@@_vpos_of_block_str ]
@@ -12503,6 +12913,9 @@ version 2005/12/01 or later.
}
\group_end:
}
+% \end{macrocode}
+% When we are \emph{not} in an environments |{NiceTabular}| (or similar).
+% \begin{macrocode}
{
\group_begin:
\bool_if:NF \l_@@_respect_arraystretch_bool
@@ -12511,9 +12924,8 @@ version 2005/12/01 or later.
{
\dim_zero:N \extrarowheight
#4
- \bool_if:NT \g_@@_rotate_bool
- { \str_set:Nn \l_@@_hpos_block_str c }
- \c_math_toggle_token
+ % \@@_adjust_hpos_rotate:
+ \c_math_toggle_token % :n c
\use:x
{
\exp_not:N \begin { array } [ \l_@@_vpos_of_block_str ]
@@ -12550,6 +12962,8 @@ version 2005/12/01 or later.
{ \char_set_catcode_other:N ! }
{ #1 } ,
fill .value_required:n = true ,
+ opacity .tl_set:N = \l_@@_opacity_tl ,
+ opacity .value_required:n = true ,
draw .code:n =
\tl_set_rescan:Nnn
\l_@@_draw_tl
@@ -12564,7 +12978,6 @@ version 2005/12/01 or later.
\l_@@_draw_tl
{ \char_set_catcode_other:N ! }
{ #1 } ,
- color .value_required:n = true ,
borders .clist_set:N = \l_@@_borders_clist ,
borders .value_required:n = true ,
hvlines .meta:n = { vlines , hlines } ,
@@ -12574,36 +12987,29 @@ version 2005/12/01 or later.
hlines .default:n = true ,
line-width .dim_set:N = \l_@@_line_width_dim ,
line-width .value_required:n = true ,
+% \end{macrocode}
+% Some keys have not a property |.value_required:n| (or similar) because they
+% are in |FirstPass|.
+% \begin{macrocode}
l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
- l .value_forbidden:n = true ,
r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
- r .value_forbidden:n = true ,
c .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
- c .value_forbidden:n = true ,
L .code:n = \str_set:Nn \l_@@_hpos_block_str l
\bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
- L .value_forbidden:n = true ,
R .code:n = \str_set:Nn \l_@@_hpos_block_str r
\bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
- R .value_forbidden:n = true ,
C .code:n = \str_set:Nn \l_@@_hpos_block_str c
\bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
- C .value_forbidden:n = true ,
t .code:n = \str_set:Nn \l_@@_vpos_of_block_str t ,
- t .value_forbidden:n = true ,
T .code:n = \str_set:Nn \l_@@_vpos_of_block_str T ,
- T .value_forbidden:n = true ,
b .code:n = \str_set:Nn \l_@@_vpos_of_block_str b ,
- b .value_forbidden:n = true ,
B .code:n = \str_set:Nn \l_@@_vpos_of_block_str B ,
- B .value_forbidden:n = true ,
v-center .code:n = \str_set:Nn \l_@@_vpos_of_block_str { c } ,
v-center .value_forbidden:n = true ,
name .tl_set:N = \l_@@_block_name_str ,
name .value_required:n = true ,
name .initial:n = ,
respect-arraystretch .bool_set:N = \l_@@_respect_arraystretch_bool ,
- respect-arraystretch .default:n = true ,
transparent .bool_set:N = \l_@@_transparent_bool ,
transparent .default:n = true ,
transparent .initial:n = false ,
@@ -12765,6 +13171,21 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_if_empty:NF \l_@@_fill_tl
{
+ \tl_if_empty:NF \l_@@_opacity_tl
+ {
+ \tl_if_head_eq_meaning:nNTF \l_@@_fill_tl [
+ {
+ \tl_set:Nx \l_@@_fill_tl
+ {
+ [ opacity = \l_@@_opacity_tl ,
+ \tl_tail:V \l_@@_fill_tl
+ }
+ }
+ {
+ \tl_set:Nx \l_@@_fill_tl
+ { [ opacity = \l_@@_opacity_tl ] { \l_@@_fill_tl } }
+ }
+ }
\tl_gput_right:Nx \g_@@_pre_code_before_tl
{
\exp_not:N \roundedrectanglecolor
@@ -13005,14 +13426,17 @@ version 2005/12/01 or later.
% \end{macrocode}
% If we are in the first column, we must put the block as if it was with the key~|r|.
% \begin{macrocode}
- \int_compare:nNnT { #2 } = 0
- { \str_set:Nn \l_@@_hpos_block_str r }
+ \int_compare:nNnT { #2 } = 0 { \str_set:Nn \l_@@_hpos_block_str r }
+% \end{macrocode}
+% If we are in the last column, we must put the block as if it was with the key~|l|.
+% \begin{macrocode}
\bool_if:nT \g_@@_last_col_found_bool
{
\int_compare:nNnT { #2 } = \g_@@_col_total_int
{ \str_set:Nn \l_@@_hpos_block_str l }
}
% \end{macrocode}
+% |\l_tmpa_tl| will contain the anchor of the \textsc{pgf} node which will be used.
% \begin{macrocode}
\tl_set:Nx \l_tmpa_tl
{
@@ -13069,9 +13493,10 @@ version 2005/12/01 or later.
{ \box_use_drop:N \l_@@_cell_box } { } { }
}
% \end{macrocode}
-%
+% End of the case when |\l_@@_vpos_of_block_str| is equal to |c|, |T| or |B|.
+% Now, the other cases.
% \begin{macrocode}
- {
+ {
% \end{macrocode}
%
% \begin{macrocode}
@@ -13151,11 +13576,11 @@ version 2005/12/01 or later.
{ \CT@arc@ }
{ \@@_color:V \l_@@_draw_tl }
}
- \pgfsetcornersarced
+ \pgfsetcornersarced
{
\pgfpoint
- { \dim_use:N \l_@@_rounded_corners_dim }
- { \dim_use:N \l_@@_rounded_corners_dim }
+ { \l_@@_rounded_corners_dim }
+ { \l_@@_rounded_corners_dim }
}
\@@_cut_on_hyphen:w #2 \q_stop
\bool_lazy_and:nnT
@@ -13163,22 +13588,22 @@ version 2005/12/01 or later.
{ \int_compare_p:n { \l_tmpb_tl <= \c@jCol } }
{
\@@_qpoint:n { row - \l_tmpa_tl }
- \dim_set:Nn \l_tmpb_dim { \pgf@y }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@y
\@@_qpoint:n { col - \l_tmpb_tl }
- \dim_set:Nn \l_@@_tmpc_dim { \pgf@x }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
\@@_cut_on_hyphen:w #3 \q_stop
\int_compare:nNnT \l_tmpa_tl > \c@iRow
{ \tl_set:Nx \l_tmpa_tl { \int_use:N \c@iRow } }
\int_compare:nNnT \l_tmpb_tl > \c@jCol
{ \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
\@@_qpoint:n { row - \int_eval:n { \l_tmpa_tl + 1 } }
- \dim_set:Nn \l_tmpa_dim { \pgf@y }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
\@@_qpoint:n { col - \int_eval:n { \l_tmpb_tl + 1 } }
- \dim_set:Nn \l_@@_tmpd_dim { \pgf@x }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+ \pgfsetlinewidth { 1.1 \l_@@_line_width_dim }
\pgfpathrectanglecorners
{ \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
{ \pgfpoint \l_@@_tmpd_dim \l_tmpa_dim }
- \pgfsetlinewidth { 1.1 \l_@@_line_width_dim }
\dim_compare:nNnTF \l_@@_rounded_corners_dim = \c_zero_dim
{ \pgfusepathqstroke }
{ \pgfusepath { stroke } }
@@ -13252,7 +13677,7 @@ version 2005/12/01 or later.
position = ##1 ,
start = \l_@@_tmpd_tl ,
end = \int_eval:n { \l_tmpb_tl - 1 } ,
- total-width = \dim_use:N \l_@@_line_width_dim % added 2022-08-06
+ total-width = \dim_use:N \l_@@_line_width_dim
}
}
}
@@ -13405,6 +13830,7 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_block_tikz:nnnnn #1 #2 #3 #4 #5
{
\begin { tikzpicture }
+ \@@_clip_with_rounded_corners:
\clist_map_inline:nn { #5 }
{
\path [ ##1 ]
@@ -13702,6 +14128,7 @@ version 2005/12/01 or later.
delimiters / color .value_required:n = true ,
rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
rules .value_required:n = true ,
+ xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
}
% \end{macrocode}
@@ -14863,15 +15290,15 @@ version 2005/12/01 or later.
% The boolean |\g_@@_footnotehyper_bool| will indicate if the option
% |footnotehyper| is used.
% \begin{macrocode}
-\bool_new:N \c_@@_footnotehyper_bool
+\bool_new:N \g_@@_footnotehyper_bool
% \end{macrocode}
%
% \medskip
-% The boolean |\c_@@_footnote_bool| will indicate if the option |footnote| is
+% The boolean |\g_@@_footnote_bool| will indicate if the option |footnote| is
% used, but quicky, it will also be set to |true| if the option |footnotehyper|
% is used.
% \begin{macrocode}
-\bool_new:N \c_@@_footnote_bool
+\bool_new:N \g_@@_footnote_bool
% \end{macrocode}
%
% \begin{macrocode}
@@ -14900,10 +15327,10 @@ version 2005/12/01 or later.
renew-dots .value_forbidden:n = true ,
renew-matrix .code:n = \@@_renew_matrix: ,
renew-matrix .value_forbidden:n = true ,
- messages-for-Overleaf .bool_set:N = \c_@@_messages_for_Overleaf_bool ,
- footnote .bool_set:N = \c_@@_footnote_bool ,
- footnotehyper .bool_set:N = \c_@@_footnotehyper_bool ,
- no-test-for-array .bool_set:N = \c_@@_no_test_for_array_bool ,
+ messages-for-Overleaf .bool_set:N = \g_@@_messages_for_Overleaf_bool ,
+ footnote .bool_set:N = \g_@@_footnote_bool ,
+ footnotehyper .bool_set:N = \g_@@_footnotehyper_bool ,
+ no-test-for-array .bool_set:N = \g_@@_no_test_for_array_bool ,
no-test-for-array .default:n = true ,
unknown .code:n = \@@_error:n { Unknown~key~for~package }
}
@@ -14937,14 +15364,14 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{macrocode}
-\bool_if:NT \c_@@_footnote_bool
+\bool_if:NT \g_@@_footnote_bool
{
% \end{macrocode}
% The class \cls{beamer} has its own system to extract footnotes and that's why
% we have nothing to do if \cls{beamer} is used.
% \begin{macrocode}
\IfClassLoadedTF { beamer }
- { \bool_set_false:N \c_@@_footnote_bool }
+ { \bool_set_false:N \g_@@_footnote_bool }
{
\IfPackageLoadedTF { footnotehyper }
{ \@@_error:n { footnote~with~footnotehyper~package } }
@@ -14954,24 +15381,24 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\bool_if:NT \c_@@_footnotehyper_bool
+\bool_if:NT \g_@@_footnotehyper_bool
{
% \end{macrocode}
% The class \cls{beamer} has its own system to extract footnotes and that's why
% we have nothing to do if \cls{beamer} is used.
% \begin{macrocode}
\IfClassLoadedTF { beamer }
- { \bool_set_false:N \c_@@_footnote_bool }
+ { \bool_set_false:N \g_@@_footnote_bool }
{
\IfPackageLoadedTF { footnote }
{ \@@_error:n { footnotehyper~with~footnote~package } }
{ \usepackage { footnotehyper } }
}
- \bool_set_true:N \c_@@_footnote_bool
+ \bool_set_true:N \g_@@_footnote_bool
}
% \end{macrocode}
-% The flag |\c_@@_footnote_bool| is raised and so, we will only have to test
-% |\c_@@_footnote_bool| in order to know if we have to insert an environment
+% The flag |\g_@@_footnote_bool| is raised and so, we will only have to test
+% |\g_@@_footnote_bool| in order to know if we have to insert an environment
% |{savenotes}|.
%
% \bigskip
@@ -15004,7 +15431,7 @@ version 2005/12/01 or later.
% \section{Error messages of the package}
%
% \begin{macrocode}
-\bool_if:NTF \c_@@_messages_for_Overleaf_bool
+\bool_if:NTF \g_@@_messages_for_Overleaf_bool
{ \str_const:Nn \c_@@_available_keys_str { } }
{
\str_const:Nn \c_@@_available_keys_str
@@ -15078,6 +15505,15 @@ version 2005/12/01 or later.
{ ~Maybe~your~use~of~\token_to_str:N \Hdotsfor\ is~incorrect.}
}
% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { hvlines,~rounded-corners~and~corners }
+ {
+ Incompatible~options.\\
+ You~should~not~use~'hvlines',~'rounded-corners'~and~'corners'~at~this~time.\\
+ The~output~will~not~be~reliable.
+ }
+% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { negative~weight }
@@ -15159,7 +15595,7 @@ version 2005/12/01 or later.
The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
\g_@@_static_num_of_col_int\ columns~but~you~use~only~\int_use:N \c@jCol.\\
The~columns~you~did~not~used~won't~be~created.\\
- We~won't~have~similar~error~till~the~end~of~the~document.
+ You~won't~have~similar~error~till~the~end~of~the~document.
}
% \end{macrocode}
%
@@ -15546,7 +15982,7 @@ version 2005/12/01 or later.
The~name~'#1'~is~already~used~for~a~\token_to_str:N \SubMatrix\
in~this~\@@_full_name_env:.\\
This~key~will~be~ignored.\\
- \bool_if:NF \c_@@_messages_for_Overleaf_bool
+ \bool_if:NF \g_@@_messages_for_Overleaf_bool
{ For~a~list~of~the~names~already~used,~type~H~<return>. }
}
{
@@ -15626,7 +16062,7 @@ version 2005/12/01 or later.
\@@_msg_new:nn { last-col~non~empty~for~NiceMatrixOptions }
{
Erroneous~use.\\
- In~\NiceMatrixoptions,~you~must~use~the~key~
+ In~\token_to_str:N \NiceMatrixOptions,~you~must~use~the~key~
'last-col'~without~value.\\
However,~you~can~go~on~for~this~time~
(the~value~'\l_keys_value_tl'~will~be~ignored).
@@ -15844,8 +16280,8 @@ version 2005/12/01 or later.
}
{
The~available~keys~are~(in~alphabetic~order):~b,~B,~borders,~c,~draw,~fill,~
- hlines,~hvlines,~l,~line-width,~name,~rounded-corners,~r,~respect-arraystretch,~
- t,~T,~tikz,~transparent~and~vlines.
+ hlines,~hvlines,~l,~line-width,~name,~opacity,~rounded-corners,~r,~
+ respect-arraystretch,~t,~T,~tikz,~transparent~and~vlines.
}
% \end{macrocode}
%
@@ -16231,7 +16667,7 @@ version 2005/12/01 or later.
if~you~use~'columns-width=auto'.~If~you~don't~want~to~see~this~
message~again,~use~the~key~'allow-duplicate-names'~in~
'\token_to_str:N \NiceMatrixOptions'.\\
- \bool_if:NF \c_@@_messages_for_Overleaf_bool
+ \bool_if:NF \g_@@_messages_for_Overleaf_bool
{ For~a~list~of~the~names~already~used,~type~H~<return>. }
}
{
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.pdf b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
index bb9e3275e4..9f6fdcb2d2 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 8e78d18d23..ffb5945c23 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index 072769dfa6..cbb86d0723 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -509,7 +509,8 @@ option à mettre entre chevrons est proposée par |\Block| pour spécifier du co
LaTeX qui sera inséré \emph{avant} le début du mode mathématique.\footnote{Cet
argument entre chevrons peut aussi être utilisé pour insérer une commande de
fonte comme |\bfseries|, ce qui peut être utile dans le cas où la commande |\\| apparaît dans le
- contenu du bloc.}
+ contenu du bloc. On peut aussi y mettre la commmande |\rotate| fournie par
+ \pkg{nicematrix} (cf. partie~\ref{rotate}, p.~\pageref{rotate}).}
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
@@ -537,6 +538,10 @@ liste de couples \textsl{clé=valeur}. Les clés sont les suivantes :
\item \index{fill (clé de \texttt{\textbackslash Block})}
la clé \Definition{fill} prend en argument une couleur et remplit le bloc
avec cette couleur ;
+\item \index{opacity! (clé de la commande \texttt{\textbackslash Block})}
+\colorbox{yellow!50}{\bfseries Nouveau 6.22}\enskip
+la clé \Definition{opacity} fixe l'opacité de la couleur de remplissage donnée
+par |fill| ;
\item \index{draw (clé de \texttt{\textbackslash Block})}
la clé \Definition{draw} prend en argument une couleur et trace le cadre
avec cette couleur (la valeur par défaut de cette clé est la couleur courante
@@ -549,7 +554,8 @@ contenu et trace également le cadre avec cette couleur ;
les clés \Definition{hlines}, \Definition{vlines} et \Definition{hvlines}
tracent les filets correspondants dans le bloc\footnote{Néanmoins, les filets ne
sont pas tracés dans les sous-blocs du bloc, conformément à l'esprit de
- \pkg{nicematrix}: les filets ne sont pas tracés dans les blocs (cf.
+ \pkg{nicematrix}: les filets ne sont pas tracés dans les blocs, sauf s'ils
+ possèdent la clé |transparent| (cf.
section~\ref{rules} p.~\pageref{rules}).} ;
\item \index{line-width (clé de \texttt{\textbackslash Block})}
la clé \Definition{line-width} fixe la largeur utilisée pour tracer les
@@ -642,7 +648,7 @@ Les blocs mono-colonne ont un comportement spécial.
largeur de la colonne courante.
Dans les colonnes à largeur fixée (|p{...}|, |b{...}|, |m{...}|, |w{...}{...}|,
-|W{...}{...}|, |V| et |X|), le contenu du bloc est mis en forme comme un
+|W{...}{...}|, |V| et~|X|), le contenu du bloc est mis en forme comme un
paragraphe de cette largeur.
\item La spécification d'alignement horizontal donnée par le type de
@@ -867,23 +873,23 @@ Concernant le positionnement vertical, la commande |\Block| admet les clés
\begin{itemize}
\item \index{v-center (clé de \texttt{\textbackslash Block)})}
-Avec la clé |v-center|, le contenu du bloc est centré verticalement.
+Avec la clé \Definition{v-center}, le contenu du bloc est centré verticalement.
-\item Avec la clé |t|, la ligne de base du contenu du bloc est alignée avec la
+\item Avec la clé \Definition{t}, la ligne de base du contenu du bloc est alignée avec la
ligne de base de la première rangée concernée par le bloc.
-\item Avec la clé |b|, la ligne de base de la dernière rangée du contenu du bloc
+\item Avec la clé \Definition{b}, la ligne de base de la dernière rangée du contenu du bloc
(rappelons que le contenu du bloc peut comporter plusieurs rangées séparées par
|\\|) est alignée avec la ligne de base de la dernière des rangées du tableau
impliquées dans le bloc.
-\item Avec la clé |T|, le contenu du bloc est calé vers le haut.
+\item Avec la clé \Definition{T}, le contenu du bloc est calé vers le haut.
\colorbox{yellow!50}{Modification 6.18}\enskip Il n'y a plus de marge verticale.
Néanmoins, le contenu du bloc est (toujours) composé en interne dans une |{minipage}|, un
|{tabular}| ou un |{array}|, ce qui fait qu'il y souvent déjà une marge.
-\item Avec la clé |B|, le contenu du bloc est calé vers le bas.
+\item Avec la clé \Definition{B}, le contenu du bloc est calé vers le bas.
\end{itemize}
Quand aucune clé n'est donnée, c'est la clé |v-center| qui s'applique (sauf pour
@@ -1457,20 +1463,20 @@ la forme \textsl{clé=valeur}. Il y a d'abord trois clés pour spécifier les ou
qui permettront d'utiliser ce nouveau type de filet.
\begin{itemize}
-\item la clé |command| indique le nom (sans la contre-oblique) d'une commande
+\item la clé \Definition{command} indique le nom (sans la contre-oblique) d'une commande
qui sera créée par \pkg{nicematrix} et que l'utilisateur pourra utiliser pour
tracer des filets horizontaux (de manière similaire à |\hline|) ;
-\item la clé |ccommand| indique le nom (sans la contre-oblique) d'une commande
-qui sera créée par \pkg{nicematrix} et que l'utilisateur pourra utiliser pour
-tracer des filets horizontaux partiels (de manière similaire à |\cline|, d'où le
-nom |ccommand|) : l'argument de cette commande est une liste d'intervalles de
-colonnes spécifiés par la syntaxe $i$ ou $i$-$j$ ;\footnote{Il est recommandé de
- n'utiliser ces commandes qu'une seule fois par ligne car chaque utilisation
- crée un espace vertical entre les rangées correspondant à la largeur totale du
- trait qui sera tracé.}
-
-\item la clé |letter| prend en argument une lettre\footnote{Les lettres
+\item la clé \Definition{ccommand} indique le nom (sans la contre-oblique) d'une
+commande qui sera créée par \pkg{nicematrix} et que l'utilisateur pourra
+utiliser pour tracer des filets horizontaux partiels (de manière similaire à
+|\cline|, d'où le nom |ccommand|) : l'argument de cette commande est une liste
+d'intervalles de colonnes spécifiés par la syntaxe $i$ ou $i$-$j$ ;\footnote{Il
+ est recommandé de n'utiliser ces commandes qu'une seule fois par ligne car
+ chaque utilisation crée un espace vertical entre les rangées correspondant à
+ la largeur totale du trait qui sera tracé.}
+
+\item la clé \Definition{letter} prend en argument une lettre\footnote{Les lettres
suivantes ne sont pas autorisées : \verb+lcrpmbVX|()[]!@<>+} qui pourra être
utilisée par l'utilisateur dans le préambule d'un environnement à préambule
(comme |{NiceTabular}|) pour spécifier un filet vertical.
@@ -1494,14 +1500,14 @@ entre les filets (comme on peut le faire avec \pkg{colortbl} par exemple).
\index{multiplicity (clé de «custom-line»)}
\index{color!clé de «custom-line»}
\index{sep-color (clé de «custom-line»)}
-\item la clé |multiplicity| indique le nombre de traits successifs qui seront
-tracés : par exemple, une valeur de~$2$ va créer des filets doubles comme créés
-en standard par |\hline\hline| ou bien \verb+||+ dans le préambule d'un
-environnement ;
+\item la clé \Definition{multiplicity} indique le nombre de traits successifs
+qui seront tracés : par exemple, une valeur de~$2$ va créer des filets doubles
+comme créés en standard par |\hline\hline| ou bien \verb+||+ dans le préambule
+d'un environnement ;
-\item la clé |color| fixe la couleur des filets ;
+\item la clé \Definition{color} fixe la couleur des filets ;
-\item la clé |sep-color| fixe la couleur entre deux filets consécutifs (n'a
+\item la clé \Definition{sep-color} fixe la couleur entre deux filets consécutifs (n'a
d'intérêt que dans le cas où la clé |multiplicity| est utilisée).
\end{itemize}
@@ -1544,7 +1550,7 @@ Produit C & 5 & 4 & 1 \\
\index{tikzz@tikz!clé de «custom-line»}
\index{total-width (clé de «custom-line»)}
-On peut utiliser la clé |tikz| (si TikZ est chargé, \pkg{nicematrix} ne
+On peut utiliser la clé \Definition{tikz} (si TikZ est chargé, \pkg{nicematrix} ne
chargeant par défaut que \textsc{pgf}). Dans ce cas-là, le filet est tracé
directement avec TikZ en utilisant comme paramètres la valeur de la clé |tikz|
qui doit être une liste de couples \textsl{clé=valeur} applicables à un chemin
@@ -2288,7 +2294,10 @@ préambule) ;
\item \colorbox{yellow!50}{\textbf{Nouveau 6.21}}\enskip |\rowcolors| qui prend pour arguments deux couleurs et colorie la suite du
tableau avec ces deux couleurs ;
\item \colorbox{yellow!50}{\textbf{Nouveau 6.21}}\enskip |\rowlistcolors| qui prend pour argument une liste de couleurs et colorie
-la suite du tableau avec ces couleurs.
+la suite du tableau avec ces couleurs.\footnote{Quand la commande
+ |\rowlistcolors| (ou la commande |\rowcolors|) est utilisée dans une case de
+ la colonne~$j$, le coloriage ne s'applique que les colonnes au-delà de~$j$
+ (à dessein).}
\end{itemize}
\medskip
@@ -2340,24 +2349,24 @@ Elle prend aussi en premier argument optionnel, entre crochets, une liste de
couples \textsl{clé=valeur}.
\begin{itemize}
\item \index{nb-rows (clé de \texttt{\textbackslash RowStyle})}
-La clé |nb-rows| indique le nombre de rangées consécutives concernées par
+La clé \Definition{nb-rows} indique le nombre de rangées consécutives concernées par
les spécifications de cette commande (une valeur |*| signifie que toutes les
rangées restantes seront concernées).
-\item Les clés |cell-space-top-limit|, |cell-space-bottom-limit|
-et |cell-space-limits| sont disponibles avec le même effet que les clés globales
-de même nom (cf. p.~\pageref{cell-space}).
+\item Les clés \Definition{cell-space-top-limit}, \Definition{cell-space-bottom-limit}
+et \Definition{cell-space-limits} sont disponibles avec le même effet que les
+clés globales de même nom (cf. p.~\pageref{cell-space}).
\item
\index{rowcolor (clé de \texttt{\textbackslash RowStyle})}
\index{color!clé de \texttt{\textbackslash RowStyle}}
-La clé |rowcolor| fixe la couleur de fond et la clé |color| fixe la
-couleur du texte.\footnote{La clé |color| utilise la commande |\color| mais
+La clé \Definition{rowcolor} fixe la couleur de fond et la clé \Definition{color}
+fixe la couleur du texte.\footnote{La clé |color| utilise la commande |\color| mais
insère aussi une instruction |\leavevmode| devant. Cela évite un espace
vertical parasite dans les cases qui correspondent à des colonnes de type
|p|, |b|, |m|, |X| et |V| (qui débutent en mode vertical de LateX).}
\item \index{bold (clé de \texttt{\textbackslash RowStyle})}
-La clé |bold| impose des caractères gras aux éléments de la rangée, qu'ils
+La clé \Definition{bold} impose des caractères gras aux éléments de la rangée, qu'ils
soient en mode texte ou bien en mode mathématique.
\end{itemize}
@@ -3211,13 +3220,20 @@ $\begin{pmatrix}
\subsection{Les labels des lignes en pointillés}
-Les commandes |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots| et |\Hdotsfor|
-(ainsi que la commande |\line| dans le |\CodeAfter| décrite
+Les commandes |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|, |\Hdotsfor| et
+|\Vdotsfor| (ainsi que la commande |\line| dans le |\CodeAfter| décrite
p.~\pageref{line-in-code-after}) peuvent en fait prendre deux arguments
optionnels spécifiés par les caractères |_| et |^| pour des labels situés
au-dessous et au-dessus de la ligne. Les arguments sont composés en mode
mathématique avec |\scriptstyle|.
+\smallskip
+\colorbox{yellow!50}{\textbf{Nouveau 6.22}}\enskip La version 6.22 introduit un
+nouveau label spécifié par le caractère~«|:|» pour un label situé sur la ligne
+elle-même. Ce label est en fait composé sur un fond blanc qui est superposé sur
+la ligne en pointillés (voir un exemple p.~\pageref{ex:colon}).
+
+\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
$\begin{bNiceMatrix}
1 & \hspace*{1cm} & 0 \\[8mm]
@@ -3231,8 +3247,9 @@ $\begin{bNiceMatrix}
0 & & 1
\end{bNiceMatrix}$
-\medskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.20}}\enskip
+
+
+\bigskip
Avec la clé |xdots/horizontal-labels|, les labels restent horizontaux.\par\nobreak
\smallskip
@@ -3313,7 +3330,11 @@ Les clés \Definition{xdots/shorten-start} et \Definition{xdots/shorten-end}
indiquent la marge qui est laissée aux deux extrémités de la ligne. La clé
\Definition{xdots/shorten} fixe les deux clés simultanément. La valeur initiale
de $0.3$~em (il est conseillé d'utiliser une unité de mesure dépendante de la
-fonte courante).
+fonte courante).\footnote{En fait, quand on utilise ces clés au niveau de
+ |\NiceMatrixOptions| ou bien d'un environnement, seules les extrémités des
+ lignes qui s'arrêtent au niveau d'un contenu non vide de case sont concernées.
+ Quand on les utilise sur une commande |\Cdots| (ou |\Vdots|, etc.), toutes les
+ extrémités sont concernées.}
\medskip
L'option \Definition{xdots/inter} indique la distance entre deux points. La
@@ -3507,8 +3528,9 @@ peut spécifier les instructions du |code-after| à la fin de l'environnement,
après le mot-clé |\CodeAfter|. Bien que ce soit un mot-clé, |\CodeAfter| accepte
quand même un argument optionnel (entre crochets).\footnote{Les clés autorisées
dans cet argument optionnel sont les suivantes : |delimiters/color|, |rules|
- et ses sous-clés ainsi que |sub-matrix| (en lien avec la commande
- |\SubMatrix|) et ses sous-clés.}
+ et ses sous-clés, |sub-matrix| (en lien avec la commande
+ |\SubMatrix|) et ses sous-clés et |xdots| (pour la commande |\line|) et ses
+ sous-clés.}
\medskip
@@ -4141,7 +4163,7 @@ les notes de pied de page).
(sans aucun espace après), l'appel de note est composé en débordement vers la
droite (cela peut permettre de mieux conserver l'alignement des contenus d'une
colonne). Depuis la version 6.20a, ce comportement n'a lieu que le mode
-l'alignement de la cellule est |c| ou |r| (alignement horizontal centré ou en
+l'alignement de la case est |c| ou |r| (alignement horizontal centré ou en
butée à droite).
\item Si la clé |notes/para| est utilisée, les notes sont composées à la fin du
@@ -4483,7 +4505,6 @@ les environnements et commandes de \pkg{nicematrix} (comme
Nom & Prénom & Profession \\
Arvy & Jacques & Dentiste \\
Jalon & Amandine & Dentiste \\
- Sept & Huit & Neuf
\end{NiceTabular}
@@ -4654,9 +4675,10 @@ $A = \begin{pNiceMatrix}[last-row,last-col=4]
\bigskip
\colorbox{yellow!50}{\textbf{Nouveau 6.21}}\enskip La commande |\rotate| accepte
-une option |c| entre crochets : |\rotate[c]|. Quand cette clé est utilisée, le
-contenu, après rotation, est composé dans une |\vcenter|, ce qui fait que, le
-plus souvent, on obtiendra un centrage vertical.
+une option |c| entre crochets : |\rotate[c]| (les espaces sont supprimés après
+|\rotate[c]|). Quand cette clé est utilisée, le contenu, après rotation, est
+composé dans une |\vcenter|, ce qui fait que, le plus souvent, on obtiendra un
+centrage vertical.
\medskip
@@ -4670,7 +4692,7 @@ seront peut-être pas ceux attendus.
\label{small}
\index{small (clé pour un environnement)}
-\index{smallmatrix@\texttt{\{smallmatrix\}} (envionnement de \pkg{amsmath})}
+\index{smallmatrix@\texttt{\{smallmatrix\}} (environnement de \pkg{amsmath})}
Avec l'option |small|, les environnements de l'extension \pkg{nicematrix} sont
@@ -5038,10 +5060,10 @@ a & a & a
\end{pNiceMatrix}\]
\bigskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.17}}\enskip Puisque ces nœuds sont des
-nœuds PGF, on ne sera pas étonné d'appendre qu'ils sont tracés en utilisant un
-style PGF spécifique. Ce style est nommé |nicematrix/cell-node| et sa définition
-dans le fichier source |nicematrix.sty| est la suivante :
+Puisque ces nœuds sont des nœuds PGF, on ne sera pas étonné d'appendre qu'ils
+sont tracés en utilisant un style PGF spécifique. Ce style est nommé
+|nicematrix/cell-node| et sa définition dans le fichier source |nicematrix.sty|
+est la suivante :
\begin{Verbatim}
\pgfset
@@ -5065,14 +5087,12 @@ p.~\pageref{triangular}.
\subsubsection{La clé pgf-node-code}
\index{pgf-node-code}
-
-\colorbox{yellow!50}{\textbf{Nouveau 6.17}}\enskip \textbf{Pour les utilisateurs
-expérimentés}, \pkg{nicematrix} fournit la clé |pgf-node-code| qui correspond à
-du code PGF qui sera exécuté à la création, par PGF, des nœuds correspondants aux
-cases du tableau. Plus précisément, la valeur fournie à la clé |pgf-node-code|
-sera passée en cinquième argument de la commande |\pgfnode|. Cette valeur doit
-contenir au moins une instruction comme |\pgfusepath|, |\pgfusepathqstroke|,
-|\pgfusepathqfill|, etc.
+\textbf{Pour les utilisateurs expérimentés}, \pkg{nicematrix} fournit la clé
+|pgf-node-code| qui correspond à du code PGF qui sera exécuté à la création, par
+PGF, des nœuds correspondants aux cases du tableau. Plus précisément, la valeur
+fournie à la clé |pgf-node-code| sera passée en cinquième argument de la
+commande |\pgfnode|. Cette valeur doit contenir au moins une instruction comme
+|\pgfusepath|, |\pgfusepathqstroke|, |\pgfusepathqfill|, etc.
\subsubsection{Les colonnes V de varwidth}
@@ -5831,6 +5851,8 @@ avec |\RequirePackage|:
\RequirePackage{pgf}
\documentclass{sn-jnl}
\end{Verbatim}
+Mais il semble que ce ne soit plus nécessaire avec les versions récentes de
+\cls{sn-jnl}.
\medskip
L'extension \pkg{nicematrix} n'est pas parfaitement compatible avec les classes
@@ -5847,7 +5869,7 @@ cf.~p.~\pageref{custom-line}.
\medskip
Les colonnes |d| de l'extension \pkg{dcolumn} ne sont pas prises en compte (mais
-on utiliser la colonne |S| de \pkg{siunitx}).
+on peut utiliser les colonnes |S| de \pkg{siunitx}).
\section{Exemples}
@@ -5870,7 +5892,7 @@ Pour l'exemple suivant, la bibliothèque \pkg{patterns} de TikZ doit aussi être
\begin{Verbatim}
\ttfamily \small
-\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt]
+\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt,rounded-corners]
\Block[~emphase#tikz={pattern=grid,pattern color=lightgray}@]{}
{pattern = grid,\\ pattern color = lightgray}
& \Block[~emphase#tikz={pattern = north west lines,pattern color=blue}@]{}
@@ -5886,7 +5908,7 @@ Pour l'exemple suivant, la bibliothèque \pkg{patterns} de TikZ doit aussi être
\begin{center}
\ttfamily \small
-\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt]
+\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt,rounded-corners]
\Block[tikz={pattern=grid,pattern color=lightgray}]{}
{pattern = grid,\\ pattern color = lightgray}
& \Block[tikz={pattern = north west lines,pattern color=blue}]{}
@@ -5953,7 +5975,6 @@ tous les filets sauf ceux sur les bords (qui sont, bien entendu, ajoutés par
{
colframe = blue!50!black ,
colback = white ,
- colupper = red!50!black ,
fonttitle = \bfseries ,
nobeforeafter ,
center title
@@ -5994,7 +6015,6 @@ tous les filets sauf ceux sur les bords (qui sont, bien entendu, ajoutés par
{
colframe = blue!50!black ,
colback = white ,
- colupper = red!50!black ,
fonttitle = \bfseries ,
nobeforeafter ,
center title
@@ -6265,36 +6285,66 @@ On peut même tracer des lignes continues.\footnote{Dans ce document, la
sur la forme des pointes de flèches.}
\begin{Verbatim}
-\tikzset{H/.style = {solid,<->,shorten > = -1mm, shorten < = -1mm}}
-\tikzset{V/.style = {solid,<->}}
-\NiceMatrixOptions{xdots/horizontal-labels}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor[line-style=H]{3}^{3} & \Hdotsfor[line-style=H]{2}^{2} \\
-2 & 1 & 1 & 1 & 1 & \hspace*{4mm}\Vdotsfor[line-style=V]{3}^{3}\\
+\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor[line-style=V]{2}^{2}\\
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
\end{Verbatim}
\begin{center}
-\tikzset{H/.style = {solid,<->,shorten > = -1mm, shorten < = -1mm}}
-\tikzset{V/.style = {solid,<->}}
-\NiceMatrixOptions{xdots/horizontal-labels}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor[line-style=H]{3}^{3} & \Hdotsfor[line-style=H]{2}^{2} \\
-2 & 1 & 1 & 1 & 1 & \hspace*{4mm}\Vdotsfor[line-style=V]{3}^{3}\\
+\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor[line-style=V]{2}^{2}\\
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
\end{center}
+\interitem
+\label{ex:colon}
+Si on veut mettre les labels sur les flèches, il convient d'utiliser le
+caractère spécial~«|:|» :
+
+\begin{Verbatim}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$
+\end{Verbatim}
+
+
+\begin{center}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$
+\end{center}
+
+
+
\subsection{Lignes en tiretés}
\label{tiretes}
@@ -6678,7 +6728,7 @@ composantes de la matrice.\footnote{Pour la commande |\cline|, voir la remarque
\vspace{1cm}
Il est possible de colorier une rangée avec |\rowcolor| dans le |\CodeBefore|
(ou avec |\rowcolor| dans une case de la rangée si on utilise la clé
-|color-inside| − même si \pkg{colortbl} n'est pas chargé).
+|color-inside|).
\index{color-inside|textit}
diff --git a/macros/latex/contrib/nicematrix/nicematrix.ins b/macros/latex/contrib/nicematrix/nicematrix.ins
index 838315cbb2..171d3f7449 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.ins
+++ b/macros/latex/contrib/nicematrix/nicematrix.ins
@@ -38,7 +38,7 @@ LaTeX version 2005/12/01 or later.
\Msg{*}
\Msg{* \space\space nicematrix.sty}
\Msg{*}
-\Msg{* To produce the documentation run the file nicematrix.dtx}
+\Msg{* To produce the documentation run the file nicematrix.tex}
\Msg{* through XeLaTeX.}
\Msg{*}
\Msg{* Happy TeXing!}
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index d25ed70564..9bfc22dfcd 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix.tex b/macros/latex/contrib/nicematrix/nicematrix.tex
index 91758773dd..77c4e8d9f9 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix.tex
@@ -435,8 +435,8 @@ In the environments of \pkg{nicematrix}, it's possible to use the command
|\Block| in order to place an element in the center of a rectangle of merged
cells of the array.\footnote{The spaces after a command |\Block| are deleted.}
-The command |\Block| must be used in the upper leftmost cell of the array with
-two arguments.
+The command |\Block| must be used in the upper leftmost cell of the cells of the
+block with two mandatory arguments.
\begin{itemize}
\item The first argument is the size of the block with the syntax
@@ -483,7 +483,9 @@ That's why the command |\Block| provides an option between angle brackets to
specify some TeX code which will be inserted before the beginning of the
math mode.\footnote{This argument between angular brackets may also be used to
insert a command of font such as |\bfseries| when the command |\\| is used in
-the content of the block.}
+the content of the block. It's also possible to put in that optional argument
+the command |\rotate| provided by \pkg{nicematrix} (cf. part~\ref{rotate},
+p.~\pageref{rotate}).}
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
@@ -515,6 +517,10 @@ follows:
\item \index{fill (key of \texttt{\textbackslash Block})}
the key \Definition{fill} takes in as value a color and fills the block
with that color;
+\item \index{opacity (key of \texttt{\textbackslash Block})}
+\colorbox{yellow!50}{\bfseries New 6.22}\enskip the key
+\Definition{opacity} sets the opacity of
+the filling color specified by |fill|;
\item \index{draw (key of \texttt{\textbackslash Block})}
the key \Definition{draw} takes in as value a color and strokes the
frame of the block with that color (the default value of that key is the
@@ -529,7 +535,8 @@ color;
the keys \Definition{hlines}, \Definition{vlines} and
\Definition{hvlines} draw all the corresponding rules in the
block;\footnote{However, the rules are not drawn in the sub-blocks of the
-block, as always with \pkg{nicematrix}: the rules are not drawn in the blocks
+block, as always with \pkg{nicematrix}: the rules are not drawn in the blocks,
+except when they have the key |transparent|
(cf. section~\ref{rules} p.~\pageref{rules}).}
\item \index{line-width (key of \texttt{\textbackslash Block})}
the key \Definition{line-width} is the width of the rules (is relevant
@@ -842,24 +849,24 @@ is used for the horizontal alignement.},
\begin{itemize}
\item \index{v-center (key of \texttt{\textbackslash Block})}
-With the key |v-center|, the content of the block is vertically centered.
-\item With the key |t|, the baseline of the content of the block is aligned
-With the basline of the first row concerned by the block).
-\item with the key |b|, the baseline of the last row of the content of the
+With the key \Definition{v-center}, the content of the block is vertically centered.
+\item With the key \Definition{t}, the baseline of the content of the block is aligned
+with the baseline of the first row concerned by the block.
+\item with the key \Definition{b}, the baseline of the last row of the content of the
block (we recall that the content of a block may contains several lines
separated by |\\|) is aligned with the baseline of the last of the rows of the
array involved in the block.
-\item With the key |T|, the content of the block is set upwards.
+\item With the key \Definition{T}, the content of the block is set upwards.
\colorbox{yellow!50}{\textbf{Modification 6.18}}\enskip No vertical margin is
added. However, the contents of the block is (always) composed by
\pkg{nicematrix} in a |{minipage}|, a |{tabular}| or an |{array}| and, hence,
there will still remain a margin (in most cases).
-\item With the key |B|, the content of the block is set downwards.
+\item With the key \Definition{B}, the content of the block is set downwards.
\end{itemize}
-When no key is given, the key |v-center| applies (excepted in the mono-row blocks).
+When no key is given, the key |v-center| applies (except in the mono-row blocks).
@@ -967,7 +974,7 @@ text & text \\
\index{Lines in the tabulars|see{Rules}}
The usual techniques for the rules may be used in the environments of
-\pkg{nicematrix} (excepted |\vline|). However, there is some small differences
+\pkg{nicematrix} (except |\vline|). However, there is some small differences
with the classical environments.
\bigskip
@@ -1826,7 +1833,7 @@ h & i & j \\
\bigskip
\item The command \Definition{\textbackslash arraycolor} takes in as mandatory
-argument a color and color the whole tabular with that color (excepted the
+argument a color and color the whole tabular with that color (except the
potential exterior rows and columns: cf.~p.~\pageref{exterior}). It's only a
particular case of |\rectanglecolor|.
@@ -2227,7 +2234,10 @@ preamble of the array);
\item \colorbox{yellow!50}{\textbf{New 6.21}}\enskip |\rowcolors| which takes in as arguments two colors and color the rest of
the tabular with those colors;
\item \colorbox{yellow!50}{\textbf{New 6.21}}\enskip |\rowlistcolors| which takes in as argument a color and color the rest of
-the tabular with the colors of that list of colors.
+the tabular with the colors of that list of colors.\footnote{When the command
+ |\rowlistcolors| (or the command |\rowcolors| is used in a cell of the
+ column~$j$ of the array, the command applies only on the columns above~$j$ (by
+design).}
\end{itemize}
\smallskip
@@ -2278,23 +2288,23 @@ will be applied to each cell on the rest of the current row.
That command also takes in as optional argument (between square brackets)
a list of \textsl{key=value} pairs.
\begin{itemize}
-\item \index{nb-rows (key of \texttt{\textbackslash RowStyle})} The key |nb-rows| sets
+\item \index{nb-rows (key of \texttt{\textbackslash RowStyle})} The key \Definition{nb-rows} sets
the number of rows to which the specifications of the current command will
apply (with the special value |*|, it will apply to all the following rows).
-\item The keys |cell-space-top-limit|, |cell-space-bottom-limit| and
-|cell-space-limits| are available with the same meaning that the corresponding
-global keys (cf. p.~\pageref{cell-space}).
+\item The keys \Definition{cell-space-top-limit}, \Definition{cell-space-bottom-limit} and
+\Definition{cell-space-limits} are available with the same meaning that the
+corresponding global keys (cf. p.~\pageref{cell-space}).
\item \index{rowcolor (key of \texttt{\textbackslash RowStyle})}
\index{color!key of \texttt{\textbackslash RowStyle}}
-The key |rowcolor| sets
-the color of the background and the key |color| sets the
-color of the text.\footnote{The key |color| uses the command
+The key \Definition{rowcolor} sets the color of the background and the key
+\Definition{color} sets the color of the text.\footnote{The key |color| uses the command
|\color| but inserts also an instruction |\leavevmode| before. This
instruction prevents a extra vertical space in the cells which belong to
columns of type |p|, |b|, |m|, |X| and |V| (which start in
vertical mode of LaTeX).}
-\item \index{bold (key of \texttt{\textbackslash RowStyle})} The key |bold|
-enforces bold characters for the cells of the row, both in math and text mode.
+\item \index{bold (key of \texttt{\textbackslash RowStyle})} The key
+\Definition{bold} enforces bold characters for the cells of the row, both in
+math and text mode.
\end{itemize}
\medskip
@@ -2350,7 +2360,7 @@ Rio & Tokyo & Oslo
\bigskip
\index{columns-width}
In the environments of \pkg{nicematrix}, it's also possible to fix the \emph{minimal}
-width of all the columns (excepted the potential exterior columns: cf. p.~\pageref{exterior}) directly
+width of all the columns (except the potential exterior columns: cf. p.~\pageref{exterior}) directly
with the key |columns-width|.
\medskip
@@ -2745,7 +2755,7 @@ customized rules created by the key |custom-line|
(cf.~p.~\pageref{custom-line}).
\item A specification of color present in |code-for-first-row| also applies to
-a dotted line drawn in that exterior ``first row'' (excepted if a value has
+a dotted line drawn in that exterior ``first row'' (except if a value has
been given to |xdots/color|). Idem for the other exterior rows and columns.
\item Logically, the potential option |columns-width| (described
@@ -3135,12 +3145,18 @@ $\begin{pmatrix}
\subsection{The labels of the dotted lines}
-The commands |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots| and |\Hdotsfor|
-(and the command |\line| in the |\CodeAfter| which is described
-p.~\pageref{line-in-code-after}) accept two optional arguments specified
-by the tokens |_| and |^| for labels positionned below and above the line. The
+The commands |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|, |\Hdotsfor| and
+|\Vdotsfor| (and the command |\line| in the |\CodeAfter| which is described
+p.~\pageref{line-in-code-after}) accept two optional arguments specified by the
+tokens |_| and |^| for labels positionned below and above the line. The
arguments are composed in math mode with |\scriptstyle|.
+\colorbox{yellow!50}{\textbf{New 6.22}}\enskip The version 6.22 introduces a new
+label, specified by the token ``|:|'' for a label placed on the line. The label
+is composed on a white background which is put on the line previously drawn (see
+example on p.~\pageref{ex:colon}).
+
+\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
$\begin{bNiceMatrix}
1 & \hspace*{1cm} & 0 \\[8mm]
@@ -3156,7 +3172,6 @@ $\begin{bNiceMatrix}
\bigskip
-\colorbox{yellow!50}{\textbf{New 6.20}}\enskip
With the key |xdots/horizontal-labels|, the labels stay horizontal.\par\nobreak
%
\medskip
@@ -3232,7 +3247,13 @@ is 0.53~pt.
The keys \Definition{xdots/shorten-start} and \Definition{xdots/shorten-end} fix
the margin at the extremities of the line. The key |xdots/shorten| fixes both
parameters. The initial value is 0.3~em (it is recommanded to use a unit of
-length dependent of the current font).
+length dependent of the current font).\footnote{In fact, when
+ |xdots/shorten|, |xdots/shorten-start| and |xdots/shorten-end| are used in
+ |\NiceMatrixOptions| or at the level of an environment (such as
+ |{pNiceMatrix}|), those keys only apply to the extremeties of dotted lines
+ corresponding to a non-empty content of a cell. When they are used for a command
+ such as |\Cdots| (and, in that case, their names are |shorten|,
+ |shorten-start| and |shorten-end|), they apply to all the extremities.}
\bigskip
The option \Definition{xdots/inter} fixes the length between the dots. The
@@ -3427,8 +3448,9 @@ possible to give the instructions of the |code-after| at the end of the
environment, after the keyword |\CodeAfter|. Although |\CodeAfter| is a
keyword, it takes in an optional argument (between square
brackets).\footnote{Here are the keys accepted in that argument:
-|delimiters/color|, |rules| and its sub-keys and |sub-matrix| (linked to the
-command |\SubMatrix|) and its sub-keys.}
+|delimiters/color|, |rules| and its sub-keys, |sub-matrix| (linked to the
+command |\SubMatrix|) and its sub-keys and |xdots| (for the command |\line|) and
+its sub-keys.}
\medskip
@@ -3927,7 +3949,7 @@ environment (typically the environment |{table}|).
\smallskip
With the key |caption|, the caption, when it is long, is wrapped at the width of
-the tabular (excepted the potential exterior columns specified by |first-col|
+the tabular (except the potential exterior columns specified by |first-col|
and |last-col|: cf.~\ref{exterior}, p.~\pageref{exterior}), without the use of
the package \pkg{threeparttable} or the package \pkg{floatrow}.
@@ -3988,7 +4010,7 @@ perfectly compatible with \pkg{hyperref}.
The package \pkg{nicematrix} also provides a command |\tabularnote| which gives
the ability to specify notes that will be composed at the end of the array with
-a width of line equal to the width of the array (excepted the potential exterior
+a width of line equal to the width of the array (except the potential exterior
columns specified by |first-col| and |last-col|: cf.~\ref{exterior},
p.~\pageref{exterior}). With no surprise, that command is available only in the
environments |{NiceTabular}|, |{NiceTabular*}| and |{NiceTabularX}|.
@@ -4557,18 +4579,16 @@ $A = \begin{pNiceMatrix}[last-row=4,last-col=4]
\end{varwidth}
\bigskip
-\colorbox{yellow!50}{\textbf{New 6.21}}\enskip The command |\tabular| has a key
-|c|: |\tabular[c]|. When that key is used, the content is composed in a
-|\vcenter| and, therefore, in most cases, we will have a vertical alignment.
-
-
+\colorbox{yellow!50}{\textbf{New 6.21}}\enskip The command |\rotate| has a key
+|c|: |\rotate[c]| (spaces are deleted after |\rotate[c]|). When that key is
+used, the content is composed in a |\vcenter| and, therefore, in most cases, we
+will have a vertical alignment.
\bigskip
Caution: the command |\rotate| is designed to be used in a |\Block| or in
columns of type |l|, |r|, |c|, |w| ou |W|; if it is used in other column types
(such as |p{...}|), the result will maybe differ from what is expected.
-
\subsection{The option small}
\label{small}
@@ -4640,8 +4660,8 @@ value of these counters which are used internally by \pkg{nicematrix}.
In the |\CodeBefore| (cf. p. \pageref{code-before}) and in the |\CodeAfter|
(cf. p. \pageref{code-after}), |iRow| represents the total number of rows
-(excepted the potential exterior rows) and |jCol| represents the total number
-of columns (excepted the potential exterior columns).
+(except the potential exterior rows) and |jCol| represents the total number
+of columns (except the potential exterior columns).
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
@@ -4911,7 +4931,7 @@ $\begin{pNiceMatrix}
\end{pNiceMatrix}$
\medskip
-The nodes of the last column (excepted the potential ``last column'' specified
+The nodes of the last column (except the potential ``last column'' specified
by |last-col|\footnote{For the exterior columns, cf. part~\ref{exterior},
p.~\pageref{exterior}.}) may also be indicated by $i$-|last|. Similarly, the
nodes of the last row may be indicated by |last|-$j$.
@@ -4936,10 +4956,9 @@ a & a & a
\bigskip
-\colorbox{yellow!50}{\textbf{New 6.17}}\enskip Since those nodes are PGF
-nodes, one won't be surprised to learn that they are drawn by using a specific
-PGF style. That style is called |nicematrix/cell-node| and its definition in
-the source file |nicematrix.sty| is as follows:
+Since those nodes are PGF nodes, one won't be surprised to learn that they are
+drawn by using a specific PGF style. That style is called |nicematrix/cell-node|
+and its definition in the source file |nicematrix.sty| is as follows:
\begin{Verbatim}
\pgfset
@@ -4964,13 +4983,13 @@ For an example of utilisation, see part~\ref{triangular}, p.~\pageref{triangular
\index{pgf-node-code}
-\colorbox{yellow!50}{\textbf{New 6.17}}\enskip \textbf{For the experienced
-users}, \pkg{nicematrix} provides the key |pgf-node-code| which corresponds to
-some PGF node that will be executed at the creation, by PGF, of the nodes
-corresponding to the cells of the array. More pricisely, the value given to
-the key |pgf-node-code| will be passed in the fifth argument of the command
-|\pgfnode|. That value should contain at least an instruction such as
-|\pgfusepath|, |\pgfusepathqstroke|, |\pgfusepathqfill|, etc.
+\textbf{For the experienced users}, \pkg{nicematrix} provides the key
+|pgf-node-code| which corresponds to some PGF node that will be executed at the
+creation, by PGF, of the nodes corresponding to the cells of the array. More
+pricisely, the value given to the key |pgf-node-code| will be passed in the
+fifth argument of the command |\pgfnode|. That value should contain at least an
+instruction such as |\pgfusepath|, |\pgfusepathqstroke|, |\pgfusepathqfill|,
+etc.
\subsubsection{The columns V of varwidth}
@@ -5717,6 +5736,9 @@ be loaded before the |\documentclass| with |\RequirePackage|:
\documentclass{sn-jnl}
\end{Verbatim}
+However, it seems that this is no longer mandatory with the recent versions of
+\cls{sn-jnl}.
+
\bigskip
The package \pkg{nicematrix} is not fully compatible with the packages and classes
of \LuaTeX-ja: the detection of the empty corners (cf. % p.~\pageref{corners})
@@ -5754,7 +5776,7 @@ For the following example, we also need the Tikz library |patterns|.
\begin{Verbatim}
\ttfamily \small
-\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt]
+\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt,rounded-corners]
\Block[~emphase#tikz={pattern=grid,pattern color=lightgray}@]{}
{pattern = grid,\\ pattern color = lightgray}
& \Block[~emphase#tikz={pattern = north west lines,pattern color=blue}@]{}
@@ -5770,7 +5792,7 @@ For the following example, we also need the Tikz library |patterns|.
\begin{center}
\ttfamily \small
-\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt]
+\begin{NiceTabular}{X[m]X[m]X[m]}[hvlines,cell-space-limits=3pt,rounded-corners]
\Block[tikz={pattern=grid,pattern color=lightgray}]{}
{pattern = grid,\\ pattern color = lightgray}
& \Block[tikz={pattern = north west lines,pattern color=blue}]{}
@@ -5826,7 +5848,7 @@ seven & eight & nine
Here is an example of use of |{NiceTabular}| within a command |\tcbox| of
\pkg{tcolorbox}. We have used the key |hvlines-except-borders| in order all
-the rules excepted on the borders (which are, of course, added by \pkg{tcolorbox})
+the rules except on the borders (which are, of course, added by \pkg{tcolorbox})
\medskip
\begin{BVerbatim}
@@ -5834,7 +5856,6 @@ the rules excepted on the borders (which are, of course, added by \pkg{tcolorbox
{
colframe = blue!50!black ,
colback = white ,
- colupper = red!50!black ,
fonttitle = \bfseries ,
nobeforeafter ,
center title
@@ -5875,7 +5896,6 @@ the rules excepted on the borders (which are, of course, added by \pkg{tcolorbox
{
colframe = blue!50!black ,
colback = white ,
- colupper = red!50!black ,
fonttitle = \bfseries ,
nobeforeafter ,
center title
@@ -5905,34 +5925,6 @@ the rules excepted on the borders (which are, of course, added by \pkg{tcolorbox
\end{center}
-
-\vspace{1cm}
-That example shows the use of \pkg{nicematrix} in conjunction with
-\pkg{tcolorbox}. If one wishes a tabular with an exterior frame with rounded
-corners, it's not necessary to use \pkg{tcolorbox}: it's possible to use the
-command |\Block| with the key |rounded-corners|.
-
-\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=10.5cm]
-\begin{NiceTabular}{rcl}[hvlines-except-borders]
-\Block[draw,transparent,~emphase#rounded-corners@]{*-*}{}
- One & Two & Three \\
- Men & Mice & Lions \\
- Upper & Middle & Lower
-\end{NiceTabular}
-\end{BVerbatim}
-\begin{NiceTabular}{rcl}[hvlines-except-borders]
-\Block[draw,transparent,rounded-corners]{*-*}{}
- One & Two & Three \\
- Men & Mice & Lions \\
- Upper & Middle & Lower
-\end{NiceTabular}
-
-\medskip
-We have used the key |transparent| to have the rules specified by
-|hvlines-except-borders| drawn in the blocks (by default, the rules are not
-drawn in the blocks).
-
\subsection{Notes in the tabulars}
\index{nota@\textbf{Notes in the tabulars}|textit}
@@ -6168,36 +6160,65 @@ In fact, it's even possible to draw solid lines with the commands |\Cdots|,
has been loaded, which impacts the shape of the arrow tips.}
\begin{Verbatim}
-\tikzset{H/.style = {solid,<->,shorten > = -1mm, shorten < = -1mm}}
-\tikzset{V/.style = {solid,<->}}
-\NiceMatrixOptions{xdots/horizontal-labels}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor[line-style=H]{3}^{3} & \Hdotsfor[line-style=H]{2}^{2} \\
-2 & 1 & 1 & 1 & 1 & \hspace*{4mm}\Vdotsfor[line-style=V]{3}^{3}\\
+\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor[line-style=V]{2}^{2}\\
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
\end{Verbatim}
\begin{center}
-\tikzset{H/.style = {solid,<->,shorten > = -1mm, shorten < = -1mm}}
-\tikzset{V/.style = {solid,<->}}
-\NiceMatrixOptions{xdots/horizontal-labels}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor[line-style=H]{3}^{3} & \Hdotsfor[line-style=H]{2}^{2} \\
-2 & 1 & 1 & 1 & 1 & \hspace*{4mm}\Vdotsfor[line-style=V]{3}^{3}\\
+\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor[line-style=V]{2}^{2}\\
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
\end{center}
+\interitem
+\label{ex:colon}
+If you want the lable \emph{on the line}, you should use the special token~``|:|'':
+
+\begin{Verbatim}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$
+\end{Verbatim}
+
+
+\begin{center}
+\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
+2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$
+\end{center}
+
+
+
\subsection{Dashed rules}
\label{dashed}
@@ -6903,6 +6924,14 @@ The successive versions of the file |nicematrix.sty| provided by TeXLive are ava
\nolinkurl{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}
}
+\subsection*{Changes between version 6.21 and 6.22}
+
+Key |opacity| for the command |\Block|.
+
+It's now possible to put a label on a ``continuous dotted line'' with the
+specifier ``|:|''.
+
+
\subsection*{Changes between version 6.20a and 6.21}
Key |c| for the command |\tabularnote|.
diff --git a/macros/latex/contrib/panneauxroute/README.md b/macros/latex/contrib/panneauxroute/README.md
new file mode 100644
index 0000000000..32d6f73e73
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/README.md
@@ -0,0 +1,10 @@
+PanneauxRoute is a package to display french road signs.
+----------------------------------------------------------------------------------------------------
+PanneauxRoute est un package pour afficher des panneaux de signalisation routière (format vectoriel).
+-----------------------------------------------------------------------------------------------------
+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
+Sources......: https://www.geoinformations.developpement-durable.gouv.fr/panneaux-routiers-au-format-svg-et-png-par-a2688.html
+.............: http://sig974.free.fr/?p=1520
+Licence img..: CC BY-SA 3.0
diff --git a/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf
new file mode 100644
index 0000000000..9234ec3596
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex
new file mode 100644
index 0000000000..ae8de67450
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex
@@ -0,0 +1,689 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,11pt,a4paper]{article}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{tgpagella}
+\usepackage[scale=0.975]{cabin}
+\usepackage[scale=0.975]{inconsolata}
+\usepackage{PanneauxRoute}
+\usepackage{soul}
+\usepackage{codehigh}
+\usepackage{fontawesome5}
+\usepackage{multicol}
+\usepackage{tabularray}
+\DefTblrTemplate{contfoot-text}{normal}{\footnotesize \sffamily Suite page suivante}
+\SetTblrTemplate{contfoot-text}{normal}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [PanneauxRoute]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+
+\def\TPversion{0.1.0}
+\def\TPdate{14 août 2023}
+\usepackage{tcolorbox}
+
+
+\sethlcolor{lightgray!25}
+\NewDocumentCommand\MontreCode{ m }{%
+ \hl{\vphantom{\texttt{pf}}\texttt{#1}}%
+}
+
+\usepackage{babel}
+
+\NewDocumentCommand\PanneauTableau{ O{height=1cm} m }{%
+ $\vcenter{\hbox{\AffPanneau[#1]{#2}}}$%
+}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{PanneauxRoute}}\\
+ \\
+ {\LARGE Des panneaux de signalisation} \\
+ {\LARGE routière, au format vectoriel .} \\
+ \end{tabular}
+
+ \medskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/PanneauxRoute}}
+\end{tabular}
+\end{center}
+
+\hrule
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+\hrule
+
+\vspace*{5mm}
+
+\vfill
+
+\hfill
+\prPassNivVap[height=4cm]~~\rotatebox{15}{\prInterdTournG[height=3cm]}~~\rotatebox{-25}{\prImpasse[height=3cm]}
+\hfill~
+
+\medskip
+
+\hfill
+\prDebAutor[scale=0.25]
+\hfill~
+
+\vfill~
+
+\pagebreak
+
+\section{Le package PanneauxRoute}
+
+\subsection{Idée}
+
+L'idée est de proposer des panneaux de signalisation routière pour des documents \TeX.
+
+\smallskip
+
+Les panneaux sont au format \MontreCode{pdf}, obtenu à l'aide de fichiers \MontreCode{svg}, donc au format vectoriel, avec comme sources :
+
+\medskip
+
+\begin{itemize}
+ \item \og Annexe de l’Arrêté interministériel du 24 novembre 1967 \fg{} ; \hfill\href{https://equipementsdelaroute.cerema.fr/version-consolidee-de-l-arrete-du-24-novembre-1967-a537.html}{[lien]}
+ \item Le travail de Bertrand Bouteilles, sur le site de geoinformations.\hfill\href{https://www.geoinformations.developpement-durable.gouv.fr/panneaux-routiers-au-format-svg-et-png-par-a2688.html}{[lien]}
+ \item les fichiers \MontreCode{svg} de base sont proposés sous licence CC BY-SA 3.0.\hfill\href{http://sig974.free.fr/?p=1520}{[lien]}
+\end{itemize}
+
+\subsection{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale
+
+\subsection{Chargement}
+
+Le package se charge dans le préambule, via \MontreCode{\textbackslash usepackage\{PanneauxRoute\}}, et seul \MontreCode{graphicx} est chargé.
+
+\begin{codehigh}[language=latex/latex3,style/main=cyan!5,style/code=cyan!5]
+\usepackage{PanneauxRoute}
+\end{codehigh}
+
+\subsection{Commandes et utilisation}
+
+Chaque panneau (disponible) est disponible au format \MontreCode{pdf} (vectoriel, de fond transparent et provenant de fichiers \MontreCode{svg}) peut-être inséré de deux manières différentes :
+
+\begin{itemize}
+ \item grâce à la commande \MontreCode{\textbackslash AffPanneau} et le code (officiel) du panneau (voir tableaux) ;
+ \item grâce à une commande \textit{alias}, sous la forme \MontreCode{\textbackslash pr<NomPanneau>}.
+\end{itemize}
+
+\begin{codehigh}[language=latex/latex3,style/main=cyan!5,style/code=cyan!5]
+\AffPanneau[options graphicx]{<CodePanneau>}
+\pr<NomPanneau>[options graphicx]
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=cyan!5,style/code=cyan!5,style/demo=cyan!5]
+\AffPanneau{A3b} ou \prChausRetG
+\end{demohigh}
+
+Les deux commandes permettent d'insérer un panneau avec une hauteur de 1.15~cm, mais la taille du panneau peut-être modifiée grâce à un argument optionnel, et entre \MontreCode{[...]}, compatible avec les options de \MontreCode{\textbackslash includegraphics} (comme \MontreCode{scale}, \MontreCode{height} ou \MontreCode{width}).
+
+\medskip
+
+Par défaut (dû à \MontreCode{\textbackslash includegraphics}) les \textit{images} sont placées sur la ligne de base, mais avec \MontreCode{\textbackslash raisebox} ou \MontreCode{\textbackslash vcenter}, on peut décaler le panneau verticalement.
+
+\begin{demohigh}[language=latex/latex3,style/main=cyan!5,style/code=cyan!5,style/demo=cyan!5]
+\raisebox{-0.2\height}{\AffPanneau[height=2ex]{B2b}} donne pareil que \raisebox{-0.2\height}{\prInterdTournD[height=2ex]}
+\end{demohigh}
+
+\medskip
+
+Pour les panneaux de (début/fin de) limitation de vitesse, la commande associée nécessite un argument obligatoire, et entre \MontreCode{\{...\}}, avec comme possibilités \MontreCode{15/30/50/70/90/110/130} :
+
+\begin{demohigh}[language=latex/latex3,style/main=cyan!5,style/code=cyan!5,style/demo=cyan!5]
+\prLimVites{15}\prLimVites{30}\prLimVites{50}\prLimVites{70}
+\prLimVites{90}\prLimVites{110}\prLimVites{130}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=cyan!5,style/code=cyan!5,style/demo=cyan!5]
+\prFinLimVit{15}\prFinLimVit{30}\prFinLimVit{50}\prFinLimVit{70}
+\prFinLimVit{90}\prFinLimVit{110}\prFinLimVit{130}
+\end{demohigh}
+
+\pagebreak
+
+\section{Tableaux récapitulatifs des panneaux disponibles}
+
+\subsection{Panneaux de Danger}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ A1a & \PanneauTableau{A1a} & Virage à droite & \fakeverb{\prVirDroit} \\
+ A1b & \PanneauTableau{A1b} & Virage à gauche & \fakeverb{\prVirGauche}\\
+ A1c & \PanneauTableau{A1c} & Succession de virages dont le premier est à droite & \fakeverb{\prVirsDroit} \\
+ A1d & \PanneauTableau{A1d} & Succession de virages dont le premier est à gauche & \fakeverb{\prVirsGauche} \\
+ A2a & \PanneauTableau{A2a} & Cassis ou dos-d'âne & \fakeverb{\prDosAne} \\
+ A2b & \PanneauTableau{A2b} & Ralentisseur de type dos-d'âne & \fakeverb{\prRalDosAne} \\
+ A3 & \PanneauTableau{A3} & Chaussée rétrécie & \fakeverb{\prChausRet} \\
+ A3a & \PanneauTableau{A3a} & Chaussée rétrécie par la droite & \fakeverb{\prChausRetD} \\
+ A3b & \PanneauTableau{A3b} & Chaussée rétrécie par la gauche & \fakeverb{\prChausRetG} \\
+ A4 & \PanneauTableau{A4} & Chaussée particulièrement glissante & \fakeverb{\prChaussGliss} \\
+ A6 & \PanneauTableau{A6} & Pont mobile & \fakeverb{\prPontMob} \\
+ A7 & \PanneauTableau{A7} & Passage à niveau muni de barrières à fonctionnement manuel [\ldots] & \fakeverb{\prPassNiv} \\
+ A8 & \PanneauTableau{A8} & Passage à niveau sans barrières ni demi-barrières & \fakeverb{\prPassNivVap} \\
+ A9 & \PanneauTableau{A9} & Panneau traversée de voies de tramway & \fakeverb{\prPassTram} \\
+ A13a & \PanneauTableau{A13a} & Endroit fréquenté par les enfants & \fakeverb{\prEnfants} \\
+ A13b & \PanneauTableau{A13b} & Passage pour piéton & \fakeverb{\prPietons} \\
+ A14 & \PanneauTableau{A14} & Autres dangers & \fakeverb{\prDanger} \\
+ A15a1 & \PanneauTableau{A15a1} & Passage d'animaux domestiques & \fakeverb{\prAnimaux} \\
+ A15a2 & \PanneauTableau{A15a1} & Passage d'animaux domestiques \\
+ A15b & \PanneauTableau{A15b} & Passage d'animaux sauvages & \fakeverb{\prAnimauxSauv} \\
+ A15c & \PanneauTableau{A15c} & Passage de cavaliers & \fakeverb{\prCavaliers} \\
+ A16 & \PanneauTableau{A16} & Descente dangereuse & \fakeverb{\prDescente} \\
+ A17 & \PanneauTableau{A17} & Annonce de feux tricolores & \fakeverb{\prFeux} \\
+ A18 & \PanneauTableau{A18} & Circulation dans les deux sens & \fakeverb{\prDeuxSens} \\
+ A19 & \PanneauTableau{A19} & Risque de chute de pierres ou de présence sur la route [\ldots] & \fakeverb{\prChute} \\
+ A20 & \PanneauTableau{A20} & Débouché sur un quai ou une berge & \fakeverb{\prQuai} \\
+ A21 & \PanneauTableau{A21} & Débouché de cyclistes venant de droite ou de gauche & \fakeverb{\prVelos} \\
+ A23 & \PanneauTableau{A23} & Traversée d'une aire de danger aérien & \fakeverb{\prAvions} \\
+ A24 & \PanneauTableau{A24} & Vent latéral & \fakeverb{\prVent}
+\end{longtblr}
+
+\pagebreak
+
+\subsection{Panneaux d'Interdiction et de Priorité}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ AB1 & \PanneauTableau{AB1} & Intersection où le conducteur est tenu de céder le passage [\ldots] & \fakeverb{\prIntersect} \\
+ AB2 & \PanneauTableau{AB2} & Intersection avec une route dont les usagers doivent céder le passage[\ldots] & \fakeverb{\prIntersectPrio} \\
+ AB3a & \PanneauTableau{AB3a} & Cédez le passage à l'intersection & \fakeverb{\prCedez} \\
+ AB3b & \PanneauTableau{AB3b} & Cédez le passage à l'intersection & \fakeverb{\prCedezInter} \\
+ AB4 & \PanneauTableau{AB4} & Arrêt à l'intersection dans les conditions définies [\ldots] & \fakeverb{\prStop} \\
+ AB5 & \PanneauTableau{AB5} & Arrêt à l'intersection & \fakeverb{\prArretInter} \\
+ AB6 & \PanneauTableau{AB6} & Indication du caractère prioritaire d'une route & \fakeverb{\prRoutePrio} \\
+ AB7 & \PanneauTableau{AB7} & Fin du caractère prioritaire d'une route & \fakeverb{\prFinRoutePrio} \\
+ AB25 & \PanneauTableau{AB25} & Carrefour à sens giratoire & \fakeverb{\prRondPoint} \\
+\end{longtblr}
+
+\pagebreak
+
+\subsection{Panneaux d'Interdiction}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ B0 & \PanneauTableau{B0} & Circulation interdite à tout véhicule dans les deux sens & \fakeverb{\prCircInterd} \\
+ B1 & \PanneauTableau{B1} & Sens interdit à tout véhicule & \fakeverb{\prSensInterdit} \\
+ %B1j & \PanneauTableau{B1j} & Répétition d'interdiction d'accès à contresens de bretelles [\ldots] \\
+ B2a & \PanneauTableau{B2a} & Interdiction de tourner à gauche à la prochaine intersection & \fakeverb{\prInterdTournG} \\
+ B2b & \PanneauTableau{B2b} & Interdiction de tourner à droite à la prochaine intersection & \fakeverb{\prInterdTournD} \\
+ B2c & \PanneauTableau{B2c} & Interdiction de faire demi-tour sur la route suivie jusqu'à la prochaine intersection & \fakeverb{\prInterdDemiTour} \\
+ B3 & \PanneauTableau{B31} & Interdiction de dépasser tous les véhicules à moteur autres que ceux à deux roues sans side-car & \fakeverb{\prInterdDepass} \\
+ B3a & \PanneauTableau{B3a} & Interdiction aux véhicules automobiles, véhicules articulés, trains doubles ou [\ldots] & \fakeverb{\prInterdVehic} \\
+ B4 & \PanneauTableau{B4} & Arrêt au poste de douane & \fakeverb{\prHalteDouane} \\
+ B5a & \PanneauTableau{B5a} & Arrêt au poste de gendarmerie & \fakeverb{\prHalteGendarm} \\
+ B5b & \PanneauTableau{B5b} & Arrêt au poste de police & \fakeverb{\prHaltePolice} \\
+ B5c & \PanneauTableau{B5c} & Arrêt au poste de péage & \fakeverb{\prHaltePeage} \\
+ B6a1 & \PanneauTableau{B6a1} & Stationnement interdit & \fakeverb{\prStationInterd} \\
+ B6a2 & \PanneauTableau{B6a2} & Stationnement interdit du 1er au 15 du mois & \fakeverb{\prStationInterdQA} \\
+ B6a3 & \PanneauTableau{B6a3} & Stationnement interdit du 16 à la fin du mois & \fakeverb{\prStationInterdQB} \\
+ B6d & \PanneauTableau{B6d} & Arrêt et stationnement interdits & \fakeverb{\prArStatInterd} \\
+ B7a & \PanneauTableau{B7a} & Accès interdit aux véhicules à moteur à l'exception des cyclomoteurs & \fakeverb{\prInterdMotSaufCyc} \\
+ B7b & \PanneauTableau{B7b} & Accès interdit à tous les véhicules à moteur & \fakeverb{\prInterdMot} \\
+ B8 & \PanneauTableau{B8} & Accès interdit aux véhicules affectés au transport de marchandises & \fakeverb{\prInterdMarchand} \\
+ B9a & \PanneauTableau{B9a} & Accès interdit aux piétons & \fakeverb{\prInterdPietons} \\
+ B9b & \PanneauTableau{B9b} & Accès interdit aux cycles & \fakeverb{\prInterdCycles} \\
+ B9c & \PanneauTableau{B9c} & Accès interdit aux véhicules à traction animale & \fakeverb{\prInterdTracAnim} \\
+ B9d & \PanneauTableau{B9d} & Accès interdit aux véhicules agricoles à moteur & \fakeverb{\prInterdAgricMot} \\
+ B9e & \PanneauTableau{B9e} & Accès interdit aux voitures à bras à l'exclusion de celles visées [\ldots] & \fakeverb{\prInterdBras} \\
+ B9f & \PanneauTableau{B9f} & Accès interdit aux véhicules de transport en commun de personnes & \fakeverb{\prInterdTranspComm} \\
+ B9g & \PanneauTableau{B9g} & Accès interdit aux cyclomoteurs & \fakeverb{\prInterdCyclomot} \\
+ B9h & \PanneauTableau{B9h} & Accès interdit aux motocyclettes et motocyclettes légères [\ldots] & \fakeverb{\prInterdCycloMoto} \\
+ B9i & \PanneauTableau{B9i} & Accès interdit aux véhicules tractant une caravane ou une remorque de plus de 250 kg [\ldots] & \fakeverb{\prInterdCaravanes} \\
+ B10a & \PanneauTableau{B10a} & Accès interdit aux véhicules, véhicules articulés, trains doubles [\ldots] & \fakeverb{\prInterdLong} \\
+ B11 & \PanneauTableau{B11} & Accès interdit aux véhicules dont la largeur, chargement compris, est supérieure [\ldots] & \fakeverb{\prInterdLarg} \\
+ B12 & \PanneauTableau{B12} & Accès interdit aux véhicules dont la hauteur, chargement compris, est supérieure [\ldots] & \fakeverb{\prInterdHaut} \\
+ B13 & \PanneauTableau{B13} & Accès interdit aux véhicules, véhicules articulés, trains doubles ou ensemble de véhicules [\ldots] & \fakeverb{\prInterdPoids} \\
+ B13a & \PanneauTableau{B13a} & Accès interdit aux véhicules pesant sur un essieu plus que le nombre indiqué & \fakeverb{\prInterdPoidsEssieu} \\
+ B14\_x & Limite de vitesse & \PanneauTableau{B14_15}\PanneauTableau{B14_30}\PanneauTableau{B14_50}\PanneauTableau{B14_70}\PanneauTableau{B14_90}\PanneauTableau{B14_110}\PanneauTableau{B14_130} & \fakeverb{\prLimVites{x}}\\
+ B15 & \PanneauTableau{B15} & Cédez le passage à la circulation venant en sens inverse & \fakeverb{\prCedezInv} \\
+ B16 & \PanneauTableau{B16} & Signaux sonores interdits & \fakeverb{\prInterdSons} \\
+ B17 & \PanneauTableau{B17} & Interdiction aux véhicules de circuler sans maintenir entre eux un intervalle [\ldots] & \fakeverb{\prDistance} \\
+ B18a & \PanneauTableau{B18a} & Accès interdit aux véhicules transportant des marchandises explosives ou facilement [\ldots] & \fakeverb{\prExplos} \\
+ B18b & \PanneauTableau{B18b} & Accès interdit aux véhicules transportant des marchandises susceptibles de polluer les eaux [\ldots] & \fakeverb{\prPollu} \\
+ B18c & \PanneauTableau{B18c} & Accès interdit aux véhicules transportant des marchandises dangereuses définies par l'arrêté [\ldots] & \fakeverb{\prDangereuses} \\
+ B19 & \PanneauTableau{B19} & Autres interdictions dont la nature est indiquée par une inscription sur le panneau \\
+\end{longtblr}
+
+\pagebreak
+
+\subsection{Panneaux d'Obligation}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ B21-1 & \PanneauTableau{B21-1} & Obligation de tourner à droite avant le panneau & \fakeverb{\prObliAvDroite} \\
+ B21-2 & \PanneauTableau{B21-2} & Obligation de tourner à gauche avant le panneau & \fakeverb{\prObliAvGauche} \\
+ B21a1 & \PanneauTableau{B21a1} & Contournement obligatoire par la droite & \fakeverb{\prContournDroite} \\
+ B21a2 & \PanneauTableau{B21a2} & Contournement obligatoire par la gauche & \fakeverb{\prContournGauche} \\
+ B21b & \PanneauTableau{B21b} & Direction obligatoire à la prochaine intersection : tout droit & \fakeverb{\prToutDroit} \\
+ B21c1 & \PanneauTableau{B21c1} & Direction obligatoire à la prochaine intersection : à droite & \fakeverb{\prObliDroite} \\
+ B21c2 & \PanneauTableau{B21c2} & Direction obligatoire à la prochaine intersection : à gauche & \fakeverb{\prObliGauche} \\
+ B21d1 & \PanneauTableau{B21d1} & Directions obligatoires à la prochaine intersection : tout droit ou à droite & \fakeverb{\prObliToutDroite} \\
+ B21d2 & \PanneauTableau{B21d2} & Directions obligatoires à la prochaine intersection : tout droit ou à gauche & \fakeverb{\prObliToutGauche} \\
+ B21e & \PanneauTableau{B21e} & Directions obligatoires à la prochaine intersection : à droite ou à gauche & \fakeverb{\prObliDroiteGauche} \\
+ B22a & \PanneauTableau{B22a} & Piste ou bande obligatoire pour les cycles sans side-car & \fakeverb{\prObliCycles} \\
+ B22b & \PanneauTableau{B22b} & Chemin obligatoire pour piétons & \fakeverb{\prObliPietons} \\
+ B22c & \PanneauTableau{B22c} & Chemin obligatoire pour cavaliers & \fakeverb{\prObliCavaliers} \\
+ B25 & \PanneauTableau{B25} & Vitesse minimale obligatoire & \fakeverb{\prObliVitesse} \\
+ B26 & \PanneauTableau{B26} & Chaînes à neige obligatoires sur au moins deux roues motrices & \fakeverb{\prObliChaines} \\
+ B27a & \PanneauTableau{B27a} & Voie réservée aux véhicules routiers de transports en commun des lignes régulières dûment [\ldots] & \fakeverb{\prObliBus} \\
+ B27b & \PanneauTableau{B27b} & Voie réservée aux tramways & \fakeverb{\prObliTrams} \\
+ B29 & \PanneauTableau{B29} & Autres obligations dont la nature est mentionnée par une inscription sur le panneau \\
+\end{longtblr}
+
+\pagebreak
+
+\subsection{Panneaux de fin d'Interdiction}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ B31 & \PanneauTableau{B31} & Fin de toutes les interdictions précédemment signalées[\ldots] & \fakeverb{\prFinInterd} \\
+ B33\_x & Fin de Limite de vitesse & \PanneauTableau{B33_15}\PanneauTableau{B33_30}\PanneauTableau{B33_50}\PanneauTableau{B33_70}\PanneauTableau{B33_90}\PanneauTableau{B33_110}\PanneauTableau{B33_130} & \fakeverb{\prFinLimVit{x}} \\
+ B34 & \PanneauTableau{B34} & Fin d’interdiction de dépasser notifiée par le panneau B3 & \fakeverb{\prFinIntDepass} \\
+ B34a & \PanneauTableau{B34a} & Fin d’interdiction de dépasser notifiée par le panneau B3a & \fakeverb{\prFinIntDepassCam} \\
+ B35 & \PanneauTableau{B35} & Fin d'interdiction de l'usage de l'avertisseur sonore & \fakeverb{\prFinIntSons} \\
+ B39 & \PanneauTableau{B39} & Fin d'interdiction dont la nature est indiquée sur le panneau \\
+\end{longtblr}
+
+\pagebreak
+
+\subsection{Panneaux de fin d'Obligation}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ B40 & \PanneauTableau{B40} & Fin de piste ou bande obligatoire pour cycles & \fakeverb{\prFinPisteOblCycl} \\
+ B41 & \PanneauTableau{B41} & Fin de chemin obligatoire pour piétons & \fakeverb{\prFinChemPiet} \\
+ B42 & \PanneauTableau{B42} & Fin de chemin obligatoire pour cavaliers & \fakeverb{\prFinChemCav} \\
+ B43 & \PanneauTableau{B43} & Fin de vitesse minimale obligatoire & \fakeverb{\prFinVitObli} \\
+ B44 & \PanneauTableau{B44} & Fin d'obligation de l'usage des chaînes à neige & \fakeverb{\prFinChaines} \\
+ B45a & \PanneauTableau{B45a} & Fin de voie réservée aux véhicules routiers de transports en commun des lignes régulières [\ldots] & \fakeverb{\prFinVoieBus} \\
+ B49 & \PanneauTableau{B49} & Fin d'obligation dont la nature est mentionnée par une inscription sur le panneau \\
+\end{longtblr}
+
+\subsection{Panneaux d'Indication}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ C1a & \PanneauTableau{C1a} & Lieu aménagé pour le stationnement & \fakeverb{\prParking} \\
+ C1b & \PanneauTableau{C1b} & Lieu aménagé pour le stationnement gratuit à durée limitée avec contrôle par un disque & \fakeverb{\prParkDisq} \\
+ C1c & \PanneauTableau{C1c} & Lieu aménagé pour le stationnement payant & \fakeverb{\prParkPay} \\
+ C3 & \PanneauTableau{C3} & Risque d’incendie & \fakeverb{\prIncendie} \\
+ C44 & \PanneauTableau{C4a} & Vitesse conseillée & \fakeverb{\prVitConseil} \\
+ C4b & \PanneauTableau{C4b} & Fin de vitesse conseillée & \fakeverb{\prFinVitConseil} \\
+ C5 & \PanneauTableau{C5} & Station de taxis & \fakeverb{\prTaxis} \\
+ C6 & \PanneauTableau{B49} & Arrêt d’autobus & \fakeverb{\prArretBus} \\
+ C8 & \PanneauTableau{C8} & Emplacement d'arrêt d'urgence & \fakeverb{\prArretUrg} \\
+ %C9 & \PanneauTableau{C9} & Station d'autopartage \\
+ C12 & \PanneauTableau{C12} & Circulation à sens unique & \fakeverb{\prCircSensUniq} \\
+ C13a & \PanneauTableau{C13a} & Impasse & \fakeverb{\prImpasse} \\
+ C13b & \PanneauTableau{C13b} & Présignalisation d’une impasse & \fakeverb{\prPreImpasse} \\
+ %C13c & \PanneauTableau{C13c} & Impasse comportant une issue pour les piétons \\
+ %C13d & \PanneauTableau{C13d} & Impasse comportant une issue pour les piétons et les cyclistes \\
+ C18 & \PanneauTableau{C18} & Priorité par rapport à la circulation venant en sens inverse & \fakeverb{\prPriorSensInv}\\
+ C20a & \PanneauTableau{C20a} & Passage pour piétons & \fakeverb{\prPassPietons} \\
+ %C20b & \PanneauTableau{C20b} & Traversée de voie de véhicules routiers des services réguliers de transport en commun \\
+ C20c & \PanneauTableau{C20c} & Traversée de voies de tramways & \fakeverb{\prTravTrams} \\
+ C23 & \PanneauTableau{C23} & Stationnement réglementé pour les caravanes et les autocaravanes & \fakeverb{\prStatCarav} \\
+ C24a1 & \PanneauTableau{C24a1} & Voies affectées & \fakeverb{\prVoiesAffA} \\
+ C24a4 & \PanneauTableau{C24a4} & Voies affectées & \fakeverb{\prVoiesAffB} \\
+ C24b1 & \PanneauTableau{C24b1} & Voies affectées & \fakeverb{\prVoiesAffC} \\
+ C24b2 & \PanneauTableau{C24b2} & Voies affectées & \fakeverb{\prVoiesAffD} \\
+ C24c1 & \PanneauTableau{C24c1} & Voies affectées & \fakeverb{\prVoiesAffE} \\
+ C24c2 & \PanneauTableau{C24c2} & Voies affectées & \fakeverb{\prVoiesAffF} \\
+ C25a & \PanneauTableau{C25a} & Indication aux frontières des limites de vitesse sur le territoire français & \fakeverb{\prVitFront} \\
+ C25b & \PanneauTableau{C25b} & Rappel des limites de vitesse sur autoroute & \fakeverb{\prVitAutor} \\
+ C26a & \PanneauTableau{C26a} & Voie de détresse à droite & \fakeverb{\prDetresseD} \\
+ C26b & \PanneauTableau{C26b} & Voie de détresse à gauche & \fakeverb{\prDetresseG} \\
+ C27 & \PanneauTableau{C27} & Surélévation de chaussée & \fakeverb{\prChausseSur} \\
+ C28a & \PanneauTableau{C28a} & Réduction du nombre de voies sur une route à chaussées séparées ou sur un créneau [\ldots] & \fakeverb{\prReducVoieA} \\
+ C28b & \PanneauTableau{C28b} & Réduction du nombre de voies sur une route à chaussées séparées ou sur un créneau [\ldots]& \fakeverb{\prReducVoieB} \\
+ C29b & \PanneauTableau{C29b} & Créneau de dépassement à trois voies affectées "deux voies dans un sens et une voie dans l’autre" & \fakeverb{\prCreneauDepas} \\
+ C30 & \PanneauTableau{C30} & Fin d'un créneau de dépassement à trois voies affectées & \fakeverb{\prFinCreneauDepas} \\
+ C50 & \PanneauTableau{C50} & Indications diverses \\
+ %C51a & \PanneauTableau{C51a} & Présignalisation du début d'une section à vitesse régulée \\
+ %C51b & \PanneauTableau{C51b} & Fin de section à vitesse régulée \\
+ C62 & \PanneauTableau{B49} & Présignalisation d'une borne de retrait de ticket de péage & \fakeverb{\prTickPeage} \\
+ C64a & \PanneauTableau{C64a} & Paiement auprès d'un péagiste & \fakeverb{\prPaiemPeage} \\
+ C64b & \PanneauTableau{C64b} & Paiement automatique par CB & \fakeverb{\prPaiemCB} \\
+ C64c & \PanneauTableau{C64c} & Paiement automatique par pièces de monnaie & \fakeverb{\prPaiemPieces} \\
+ C64d1 & \PanneauTableau{C64d1} & Paiement automatique par pièces et billets & \fakeverb{\prPaiemPiecBil} \\
+ C64d2 & \PanneauTableau{C64d2} & Paiement automatique par Télépéage & \fakeverb{\prPaiemTelepeage} \\
+ % C64d & \PanneauTableau{C64d} & Paiement automatique par abonnement « télépéage » \\
+ C107 & \PanneauTableau{C107} & Route à accès réglementé & \fakeverb{\prRouteRegl} \\
+ C108 & \PanneauTableau{C108} & Fin de route à accès réglementé & \fakeverb{\prFinRouteRegl} \\
+ C111 & \PanneauTableau{C111} & Entrée d'un tunnel & \fakeverb{\prEntrTunnel} \\
+ C112 & \PanneauTableau{C112} & Sortie de tunnel & \fakeverb{\prSortieTunnel} \\
+ C113 & \PanneauTableau{C113} & Piste ou bande cyclable conseillée et réservée aux cycles à deux ou trois roues & \fakeverb{\prPisteCycl} \\
+ C114 & \PanneauTableau{C114} & Fin d'une piste ou d'une bande cyclable conseillée et réservée aux cycles à deux ou trois & \fakeverb{\prFinPisteCycl} \\
+ C115 & \PanneauTableau{C115} & Voie verte & \fakeverb{\prVoieVerte} \\
+ C116 & \PanneauTableau{C116} & Fin de voie verte & \fakeverb{\prFinVoieVerte} \\
+ C207 & \PanneauTableau{C207} & Début d’une section d’autoroute & \fakeverb{\prDebAutor} \\
+ C208 & \PanneauTableau{C208} & Fin d’une section d’autoroute & \fakeverb{\prFinAutor} \\
+\end{longtblr}
+
+\subsection{Panneaux de Signalisation des Services}
+
+\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}}
+ Type & Panneau & Signification & Alias \\
+ CE1 & \PanneauTableau{CE1} & Poste de secours & \fakeverb{\prPosteSecours} \\
+ CE2a & \PanneauTableau{CE2a} & Poste d'appel d'urgence & \fakeverb{\prPosteSecUrg} \\
+ CE2b & \PanneauTableau{CE2b} & Cabine téléphonique publique & \fakeverb{\prCabineTel} \\
+ CE3a & \PanneauTableau{CE3a} & Informations relatives aux services ou activités touristiques & \fakeverb{\prInfos} \\
+ %CE3b & \PanneauTableau{CE3b} & Panneau d’information service faisant partie du relais d’information service \\
+ CE4a & \PanneauTableau{CE4a} & Terrain de camping pour tentes & \fakeverb{\prCampingT} \\
+ CE4b & \PanneauTableau{CE4b} & Terrain de camping pour caravanes et autocaravanes & \fakeverb{\prCampingC} \\
+ CE4c & \PanneauTableau{CE4c} & Terrain de camping pour tentes, caravanes et autocaravanes & \fakeverb{\prCampingTC} \\
+ CE5a & \PanneauTableau{CE5a} & Auberge de jeunesse & \fakeverb{\prAubergJeun} \\
+ CE5b & \PanneauTableau{CE5b} & Chambre d'hôtes ou gîte & \fakeverb{\prGite} \\
+ CE6a & \PanneauTableau{CE6a} & Point de départ d’un itinéraire pédestre & \fakeverb{\prItinPedest} \\
+ CE6b & \PanneauTableau{CE6b} & Point de départ d'un circuit de ski de fond & \fakeverb{\prItinSkiFond} \\
+ CE7 & \PanneauTableau{CE7} & Emplacement pour pique-nique & \fakeverb{\prPicNic} \\
+ CE8 & \PanneauTableau{CE8} & Gare auto / train & \fakeverb{\prGareAutoTrain} \\
+ CE9 & \PanneauTableau{CE9} & Parc de stationnement sous vidéoprotection & \fakeverb{\prParkVideo} \\
+ CE10 & \PanneauTableau{CE10} & Embarcadère & \fakeverb{\prEmbarcad} \\
+ CE12 & \PanneauTableau{CE12} & Toilettes ouvertes au public & \fakeverb{\prToilettes} \\
+ CE14 & \PanneauTableau{CE14} & Installations accessibles aux personnes handicapées à mobilité réduite & \fakeverb{\prAccesHandic} \\
+ CE15a & \PanneauTableau{CE15a} & Poste de distribution de carburant ouvert 7 jours sur 7 et 24 heures sur 24 & \fakeverb{\prEssence} \\
+ CE15c & \PanneauTableau{CE15c} & Poste de distribution de carburant ouvert 7 jours sur 7 et 24 heures sur 24 [\ldots] & \fakeverb{\prEssenceGPL} \\
+ %CE15e & \PanneauTableau{CE15e} & Marque du poste de distribution de carburant ouvert 7 jours sur 7 et 24 heures sur 24 \\
+ %CE15f & \PanneauTableau{CE15f} & Marque du poste de distribution de carburant ouvert 7 jours sur 7 et 24 heures sur 24 [\ldots] \\
+ %CE15g & \PanneauTableau{CE15g} & Poste de distribution de carburant ouvert 7 jours sur 7 et 24 heures sur 24 [\ldots] \\
+ %CE15h & \PanneauTableau{CE15h} & Poste de distribution de carburant ouvert 7 jours sur 7 et 24 heures sur 24 [\ldots] \\
+ %CE15i & \PanneauTableau{CE15i} & Poste de recharge de véhicules électriques ouvert 7 jours sur 7 et 24 heures sur 24 [\ldots] \\
+ %CE15j & \PanneauTableau{CE15j} & Poste de recharge de véhicules électriques ouvert 7 jours sur 7 et 24 heures sur 24 [\ldots] \\
+ CE16 & \PanneauTableau{CE16} & Restaurant ouvert 7 jours sur 7 & \fakeverb{\prRestau} \\
+ CE17 & \PanneauTableau{CE17} & Hôtel ou motel ouvert 7 jours sur 7 & \fakeverb{\prHotel} \\
+ CE18 & \PanneauTableau{CE18} & Débit de boissons ou établissement proposant des collations sommaires ouvert 7 jours sur 7 & \fakeverb{\prBoissons} \\
+ CE19 & \PanneauTableau{CE19} & Emplacement de mise à l’eau d’embarcations légères & \fakeverb{\prEmbarcLeg} \\
+ CE20a & \PanneauTableau{CE20a} & Gare de téléphérique & \fakeverb{\prTelepher} \\
+ CE20b & \PanneauTableau{CE20b} & Point de départ d'un télésiège ou d'une télécabine & \fakeverb{\prTelecabin} \\
+ CE21 & \PanneauTableau{CE21} & Point de vue & \fakeverb{\prPointVue} \\
+ CE22 & \PanneauTableau{CE22} & Fréquence d’émission d’une station de radiodiffusion dédiée aux informations [\ldots] & \fakeverb{\prRadio} \\
+ CE23 & \PanneauTableau{CE23} & Jeux d'enfants & \fakeverb{\prJeuxEnfants} \\
+ CE24 & \PanneauTableau{CE24} & Station de vidange pour caravanes, auto-caravanes et cars & \fakeverb{\prVidange} \\
+ CE25 & \PanneauTableau{CE25} & Distributeur de billets de banque & \fakeverb{\prDistribBill} \\
+ CE26 & \PanneauTableau{CE26} & Station de gonflage, hors station service, dont l’usage est gratuit & \fakeverb{\prGonflage} \\
+ CE27 & \PanneauTableau{CE27} & Point de détente & \fakeverb{\prDetente} \\
+ CE28 & \PanneauTableau{CE28} & Poste de dépannage & \fakeverb{\prPosteDepann} \\
+ CE29 & \PanneauTableau{CE29} & Moyen de lutte contre l'incendie & \fakeverb{\prLutteIncendie} \\
+ CE30a & \PanneauTableau{CE30a} & Issue de secours vers la droite & \fakeverb{\prIssueSecD} \\
+ CE30b & \PanneauTableau{CE30b} & Issue de secours vers la gauche & \fakeverb{\prIssueSecG} \\
+ CE50 & \PanneauTableau{CE50} & Installations ou services divers \\
+ %CE51 & \PanneauTableau{CE51} & Point du réseau de distribution "écotaxe" (taxe nationale sur les véhicules [\ldots] \\
+ %CE52 & \PanneauTableau{CE52} & Lieu aménagé pour la pratique du covoiturage \\
+ %CE100 & \PanneauTableau{CE100} & Indication de l’enseigne de la ou des sociétés commerciales offrant un [\ldots] \\
+\end{longtblr}
+
+\section{Aliases, de hauteur 2.5ex}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prVirDroit[height=2.5ex]} : \verb+\prVirDroit+ \\
+ \raisebox{-0.2\height}{\prVirGauche[height=2.5ex]} : \verb+\prVirGauche+ \\
+ \raisebox{-0.2\height}{\prVirsDroit[height=2.5ex]} : \verb+\prVirsDroit+ \\
+ \raisebox{-0.2\height}{\prVirsGauche[height=2.5ex]} : \verb+\prVirsGauche+ \\
+ \raisebox{-0.2\height}{\prDosAne[height=2.5ex]} : \verb+\prDosAne+ \\
+ \raisebox{-0.2\height}{\prRalDosAne[height=2.5ex]} : \verb+\prRalDosAne+ \\
+ \raisebox{-0.2\height}{\prChausRet[height=2.5ex]} : \verb+\prChausRet+ \\
+ \raisebox{-0.2\height}{\prChausRetD[height=2.5ex]} : \verb+\prChausRetD+ \\
+ \raisebox{-0.2\height}{\prChausRetG[height=2.5ex]} : \verb+\prChausRetG+ \\
+ \raisebox{-0.2\height}{\prChaussGliss[height=2.5ex]} : \verb+\prChaussGliss+ \\
+ \raisebox{-0.2\height}{\prPontMob[height=2.5ex]} : \verb+\prPontMob+ \\
+ \raisebox{-0.2\height}{\prPassNiv[height=2.5ex]} : \verb+\prPassNiv+ \\
+ \raisebox{-0.2\height}{\prPassNivVap[height=2.5ex]} : \verb+\prPassNivVap+ \\
+ \raisebox{-0.2\height}{\prPassTram[height=2.5ex]} : \verb+\prPassTram+ \\
+ \raisebox{-0.2\height}{\prEnfants[height=2.5ex]} : \verb+\prEnfants+ \\
+ \raisebox{-0.2\height}{\prPietons[height=2.5ex]} : \verb+\prPietons+ \\
+ \raisebox{-0.2\height}{\prDanger[height=2.5ex]} : \verb+\prDanger+ \\
+ \raisebox{-0.2\height}{\prAnimaux[height=2.5ex]} : \verb+\prAnimaux+ \\
+ \raisebox{-0.2\height}{\prAnimauxSauv[height=2.5ex]} : \verb+\prAnimauxSauv+ \\
+ \raisebox{-0.2\height}{\prCavaliers[height=2.5ex]} : \verb+\prCavaliers+ \\
+ \raisebox{-0.2\height}{\prDescente[height=2.5ex]} : \verb+\prDescente+ \\
+ \raisebox{-0.2\height}{\prFeux[height=2.5ex]} : \verb+\prFeux+ \\
+ \raisebox{-0.2\height}{\prDeuxSens[height=2.5ex]} : \verb+\prDeuxSens+ \\
+ \raisebox{-0.2\height}{\prChute[height=2.5ex]} : \verb+\prChute+ \\
+ \raisebox{-0.2\height}{\prQuai[height=2.5ex]} : \verb+\prQuai+ \\
+ \raisebox{-0.2\height}{\prVelos[height=2.5ex]} : \verb+\prVelos+ \\
+ \raisebox{-0.2\height}{\prAvions[height=2.5ex]} : \verb+\prAvions+ \\
+ \raisebox{-0.2\height}{\prVent[height=2.5ex]} : \verb+\prVent+
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prIntersect[height=2.5ex]} : \verb+\prIntersect+ \\
+ \raisebox{-0.2\height}{\prIntersectPrio[height=2.5ex]} : \verb+\prIntersectPrio+ \\
+ \raisebox{-0.2\height}{\prCedez[height=2.5ex]} : \verb+\prCedez+ \\
+ \raisebox{-0.2\height}{\prCedezInter[height=2.5ex]} : \verb+\prCedezInter+ \\
+ \raisebox{-0.2\height}{\prStop[height=2.5ex]} : \verb+\prStop+ \\
+ \raisebox{-0.2\height}{\prArretInter[height=2.5ex]} : \verb+\prArretInter+ \\
+ \raisebox{-0.2\height}{\prRoutePrio[height=2.5ex]} : \verb+\prRoutePrio+ \\
+ \raisebox{-0.2\height}{\prFinRoutePrio[height=2.5ex]} : \verb+\prFinRoutePrio+ \\
+ \raisebox{-0.2\height}{\prRondPoint[height=2.5ex]} : \verb+\prRondPoint+
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prCircInterd[height=2.5ex]} : \verb+\prCircInterd+ \\
+ \raisebox{-0.2\height}{\prSensInterdit[height=2.5ex]} : \verb+\prSensInterdit+ \\
+ \raisebox{-0.2\height}{\prInterdTournG[height=2.5ex]} : \verb+\prInterdTournG+ \\
+ \raisebox{-0.2\height}{\prInterdTournD[height=2.5ex]} : \verb+\prInterdTournD+ \\
+ \raisebox{-0.2\height}{\prInterdDemiTour[height=2.5ex]} : \verb+\prInterdDemiTour+ \\
+ \raisebox{-0.2\height}{\prInterdDepass[height=2.5ex]} : \verb+\prInterdDepass+ \\
+ \raisebox{-0.2\height}{\prInterdVehic[height=2.5ex]} : \verb+\prInterdVehic+ \\
+ \raisebox{-0.2\height}{\prHalteDouane[height=2.5ex]} : \verb+\prHalteDouane+ \\
+ \raisebox{-0.2\height}{\prHalteGendarm[height=2.5ex]} : \verb+\prHalteGendarm+ \\
+ \raisebox{-0.2\height}{\prHaltePolice[height=2.5ex]} : \verb+\prHaltePolice+ \\
+ \raisebox{-0.2\height}{\prHaltePeage[height=2.5ex]} : \verb+\prHaltePeage+ \\
+ \raisebox{-0.2\height}{\prStationInterd[height=2.5ex]} : \verb+\prStationInterd+ \\
+ \raisebox{-0.2\height}{\prStationInterdQA[height=2.5ex]} : \verb+\prStationInterdQA+ \\
+ \raisebox{-0.2\height}{\prStationInterdQB[height=2.5ex]} : \verb+\prStationInterdQB+ \\
+ \raisebox{-0.2\height}{\prArStatInterd[height=2.5ex]} : \verb+\prArStatInterd+ \\
+ \raisebox{-0.2\height}{\prInterdMotSaufCyc[height=2.5ex]} : \verb+\prInterdMotSaufCyc+ \\
+ \raisebox{-0.2\height}{\prInterdMot[height=2.5ex]} : \verb+\prInterdMot+ \\
+ \raisebox{-0.2\height}{\prInterdMarchand[height=2.5ex]} : \verb+\prInterdMarchand+ \\
+ \raisebox{-0.2\height}{\prInterdPietons[height=2.5ex]} : \verb+\prInterdPietons+ \\
+ \raisebox{-0.2\height}{\prInterdCycles[height=2.5ex]} : \verb+\prInterdCycles+ \\
+ \raisebox{-0.2\height}{\prInterdTracAnim[height=2.5ex]} : \verb+\prInterdTracAnim+ \\
+ \raisebox{-0.2\height}{\prInterdAgricMot[height=2.5ex]} : \verb+\prInterdAgricMot+ \\
+ \raisebox{-0.2\height}{\prInterdBras[height=2.5ex]} : \verb+\prInterdBras+ \\
+ \raisebox{-0.2\height}{\prInterdTranspComm[height=2.5ex]} : \verb+\prInterdTranspComm+ \\
+ \raisebox{-0.2\height}{\prInterdCyclomot[height=2.5ex]} : \verb+\prInterdCyclomot+ \\
+ \raisebox{-0.2\height}{\prInterdCycloMoto[height=2.5ex]} : \verb+\prInterdCycloMoto+ \\
+ \raisebox{-0.2\height}{\prInterdCaravanes[height=2.5ex]} : \verb+\prInterdCaravanes+ \\
+ \raisebox{-0.2\height}{\prInterdLong[height=2.5ex]} : \verb+\prInterdLong+ \\
+ \raisebox{-0.2\height}{\prInterdLarg[height=2.5ex]} : \verb+\prInterdLarg+ \\
+ \raisebox{-0.2\height}{\prInterdHaut[height=2.5ex]} : \verb+\prInterdHaut+ \\
+ \raisebox{-0.2\height}{\prInterdPoids[height=2.5ex]} : \verb+\prInterdPoids+ \\
+ \raisebox{-0.2\height}{\prInterdPoidsEssieu[height=2.5ex]} : \verb+\prInterdPoidsEssieu+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{15}} : \verb+\prLimVites{15}+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{30}} : \verb+\prLimVites{30}+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{50}} : \verb+\prLimVites{50}+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{70}} : \verb+\prLimVites{70}+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{90}} : \verb+\prLimVites{90}+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{110}} : \verb+\prLimVites{110}+ \\
+ \raisebox{-0.2\height}{\prLimVites[height=2.5ex]{130}} : \verb+\prLimVites{130}+ \\
+ \raisebox{-0.2\height}{\prCedezInv[height=2.5ex]} : \verb+\prCedezInv+ \\
+ \raisebox{-0.2\height}{\prInterdSons[height=2.5ex]} : \verb+\prInterdSons+ \\
+ \raisebox{-0.2\height}{\prDistance[height=2.5ex]} : \verb+\prDistance+ \\
+ \raisebox{-0.2\height}{\prExplos[height=2.5ex]} : \verb+\prExplos+ \\
+ \raisebox{-0.2\height}{\prPollu[height=2.5ex]} : \verb+\prPollu+ \\
+ \raisebox{-0.2\height}{\prDangereuses[height=2.5ex]} : \verb+\prDangereuses+ \\
+ \raisebox{-0.2\height}{\prObliDroite[height=2.5ex]} : \verb+\prObliDroite+ \\
+ \raisebox{-0.2\height}{\prObliGauche[height=2.5ex]} : \verb+\prObliGauche+ \\
+ \raisebox{-0.2\height}{\prContournDroite[height=2.5ex]} : \verb+\prContournDroite+ \\
+ \raisebox{-0.2\height}{\prContournGauche[height=2.5ex]} : \verb+\prContournGauche+ \\
+ \raisebox{-0.2\height}{\prToutDroit[height=2.5ex]} : \verb+\prToutDroit+ \\
+ \raisebox{-0.2\height}{\prObliDroite[height=2.5ex]} : \verb+\prObliDroite+ \\
+ \raisebox{-0.2\height}{\prObliGauche[height=2.5ex]} : \verb+\prObliGauche+ \\
+ \raisebox{-0.2\height}{\prObliToutDroite[height=2.5ex]} : \verb+\prObliToutDroite+ \\
+ \raisebox{-0.2\height}{\prObliToutGauche[height=2.5ex]} : \verb+\prObliToutGauche+ \\
+ \raisebox{-0.2\height}{\prObliDroiteGauche[height=2.5ex]} : \verb+\prObliDroiteGauche+ \\
+ \raisebox{-0.2\height}{\prObliCycles[height=2.5ex]} : \verb+\prObliCycles+ \\
+ \raisebox{-0.2\height}{\prObliPietons[height=2.5ex]} : \verb+\prObliPietons+ \\
+ \raisebox{-0.2\height}{\prObliCavaliers[height=2.5ex]} : \verb+\prObliCavaliers+ \\
+ \raisebox{-0.2\height}{\prObliVitesse[height=2.5ex]} : \verb+\prObliVitesse+ \\
+ \raisebox{-0.2\height}{\prObliChaines[height=2.5ex]} : \verb+\prObliChaines+ \\
+ \raisebox{-0.2\height}{\prObliBus[height=2.5ex]} : \verb+\prObliBus+ \\
+ \raisebox{-0.2\height}{\prObliTrams[height=2.5ex]} : \verb+\prObliTrams+
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prFinInterd[height=2.5ex]} : \verb+\prFinInterd+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{15}} : \verb+\prFinLimVit{15}+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{30}} : \verb+\prFinLimVit{30}+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{50}} : \verb+\prFinLimVit{50}+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{70}} : \verb+\prFinLimVit{70}+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{90}} : \verb+\prFinLimVit{90}+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{110}} : \verb+\prFinLimVit{110}+ \\
+ \raisebox{-0.2\height}{\prFinLimVit[height=2.5ex]{130}} : \verb+\prFinLimVit{130}+ \\
+ \raisebox{-0.2\height}{\prFinIntDepass[height=2.5ex]} : \verb+\prFinIntDepass+ \\
+ \raisebox{-0.2\height}{\prFinIntDepassCam[height=2.5ex]} : \verb+\prFinIntDepassCam+ \\
+ \raisebox{-0.2\height}{\prFinIntSons[height=2.5ex]} : \verb+\prFinIntSons+ \\
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prFinPisteCycl[height=2.5ex]} : \verb+\prFinPisteCycl+ \\
+ \raisebox{-0.2\height}{\prFinChemPiet[height=2.5ex]} : \verb+\prFinChemPiet+ \\
+ \raisebox{-0.2\height}{\prFinChemCav[height=2.5ex]} : \verb+\prFinChemCav+ \\
+ \raisebox{-0.2\height}{\prFinVitObli[height=2.5ex]} : \verb+\prFinVitObli+ \\
+ \raisebox{-0.2\height}{\prFinChaines[height=2.5ex]} : \verb+\prFinChaines+ \\
+ \raisebox{-0.2\height}{\prFinVoieBus[height=2.5ex]} : \verb+\prFinVoieBus+
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prParking[height=2.5ex]} : \verb+\prParking+ \\
+ \raisebox{-0.2\height}{\prParkDisq[height=2.5ex]} : \verb+\prParkDisq+ \\
+ \raisebox{-0.2\height}{\prParkPay[height=2.5ex]} : \verb+\prParkPay+ \\
+ \raisebox{-0.2\height}{\prIncendie[height=2.5ex]} : \verb+\prIncendie+ \\
+ \raisebox{-0.2\height}{\prVitConseil[height=2.5ex]} : \verb+\prVitConseil+ \\
+ \raisebox{-0.2\height}{\prFinVitConseil[height=2.5ex]} : \verb+\prFinVitConseil+ \\
+ \raisebox{-0.2\height}{\prTaxis[height=2.5ex]} : \verb+\prTaxis+ \\
+ \raisebox{-0.2\height}{\prArretBus[height=2.5ex]} : \verb+\prArretBus+ \\
+ \raisebox{-0.2\height}{\prArretUrg[height=2.5ex]} : \verb+\prArretUrg+ \\
+ \raisebox{-0.2\height}{\prCircSensUniq[height=2.5ex]} : \verb+\prCircSensUniq+ \\
+ \raisebox{-0.2\height}{\prImpasse[height=2.5ex]} : \verb+\prImpasse+ \\
+ \raisebox{-0.2\height}{\prPreImpasse[height=2.5ex]} : \verb+\prPreImpasse+ \\
+ \raisebox{-0.2\height}{\prPriorSensInv[height=2.5ex]} : \verb+\\prPriorSensInv+ \\
+ \raisebox{-0.2\height}{\prPassPietons[height=2.5ex]} : \verb+\prPassPietons+ \\
+ \raisebox{-0.2\height}{\prTravTrams[height=2.5ex]} : \verb+\prTravTrams+ \\
+ \raisebox{-0.2\height}{\prStatCarav[height=2.5ex]} : \verb+\prStatCarav+ \\
+ \raisebox{-0.2\height}{\prVoiesAffA[height=2.5ex]} : \verb+\prVoiesAffA+ \\
+ \raisebox{-0.2\height}{\prVoiesAffB[height=2.5ex]} : \verb+\prVoiesAffB+ \\
+ \raisebox{-0.2\height}{\prVoiesAffC[height=2.5ex]} : \verb+\prVoiesAffC+ \\
+ \raisebox{-0.2\height}{\prVoiesAffD[height=2.5ex]} : \verb+\prVoiesAffD+ \\
+ \raisebox{-0.2\height}{\prVoiesAffE[height=2.5ex]} : \verb+\prVoiesAffE+ \\
+ \raisebox{-0.2\height}{\prVoiesAffF[height=2.5ex]} : \verb+\prVoiesAffF+ \\
+ \raisebox{-0.2\height}{\prVitFront[height=2.5ex]} : \verb+\prVitFront+ \\
+ \raisebox{-0.2\height}{\prVitAutor[height=2.5ex]} : \verb+\prVitAutor+ \\
+ \raisebox{-0.2\height}{\prDetresseD[height=2.5ex]} : \verb+\prDetresseD+ \\
+ \raisebox{-0.2\height}{\prDetresseG[height=2.5ex]} : \verb+\prDetresseG+ \\
+ \raisebox{-0.2\height}{\prChausseSur[height=2.5ex]} : \verb+\prChausseSur+ \\
+ \raisebox{-0.2\height}{\prReducVoieA[height=2.5ex]} : \verb+\prReducVoieA+ \\
+ \raisebox{-0.2\height}{\prReducVoieB[height=2.5ex]} : \verb+\prReducVoieB+ \\
+ \raisebox{-0.2\height}{\prCreneauDepas[height=2.5ex]} : \verb+\prCreneauDepas+ \\
+ \raisebox{-0.2\height}{\prFinCreneauDepas[height=2.5ex]} : \verb+\prFinCreneauDepas+
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prTickPeage[height=2.5ex]} : \verb+\prTickPeage+ \\
+ \raisebox{-0.2\height}{\prPaiemPeage[height=2.5ex]} : \verb+\prPaiemPeage+ \\
+ \raisebox{-0.2\height}{\prPaiemCB[height=2.5ex]} : \verb+\prPaiemCB+ \\
+ \raisebox{-0.2\height}{\prPaiemPieces[height=2.5ex]} : \verb+\prPaiemPieces+ \\
+ \raisebox{-0.2\height}{\prPaiemPiecBil[height=2.5ex]} : \verb+\prPaiemPiecBil+ \\
+ \raisebox{-0.2\height}{\prPaiemTelepeage[height=2.5ex]} : \verb+\prPaiemTelepeage+ \\
+ \raisebox{-0.2\height}{\prRouteRegl[height=2.5ex]} : \verb+\prRouteRegl+ \\
+ \raisebox{-0.2\height}{\prFinRouteRegl[height=2.5ex]} : \verb+\prFinRouteRegl+ \\
+ \raisebox{-0.2\height}{\prEntrTunnel[height=2.5ex]} : \verb+\prEntrTunnel+ \\
+ \raisebox{-0.2\height}{\prSortieTunnel[height=2.5ex]} : \verb+\prSortieTunnel+ \\
+ \raisebox{-0.2\height}{\prPisteCycl[height=2.5ex]} : \verb+\prPisteCycl+ \\
+ \raisebox{-0.2\height}{\prFinPisteCycl[height=2.5ex]} : \verb+\prFinPisteCycl+ \\
+ \raisebox{-0.2\height}{\prVoieVerte[height=2.5ex]} : \verb+\prVoieVerte+ \\
+ \raisebox{-0.2\height}{\prFinVoieVerte[height=2.5ex]} : \verb+\prFinVoieVerte+ \\
+ \raisebox{-0.2\height}{\prDebAutor[height=2.5ex]} : \verb+\prDebAutor+ \\
+ \raisebox{-0.2\height}{\prFinAutor[height=2.5ex]} : \verb+\prFinAutor+
+\end{multicols}
+
+\begin{multicols}{3}
+ \raisebox{-0.2\height}{\prPosteSecours[height=2.5ex]} : \verb+\prPosteSecours+ \\
+ \raisebox{-0.2\height}{\prPosteSecUrg[height=2.5ex]} : \verb+\prPosteSecUrg+ \\
+ \raisebox{-0.2\height}{\prCabineTel[height=2.5ex]} : \verb+\prCabineTel+ \\
+ \raisebox{-0.2\height}{\prInfos[height=2.5ex]} : \verb+\prInfos+ \\
+ \raisebox{-0.2\height}{\prCampingT[height=2.5ex]} : \verb+\prCampingT+ \\
+ \raisebox{-0.2\height}{\prCampingC[height=2.5ex]} : \verb+\prCampingC+ \\
+ \raisebox{-0.2\height}{\prCampingTC[height=2.5ex]} : \verb+\prCampingTC+ \\
+ \raisebox{-0.2\height}{\prAubergJeun[height=2.5ex]} : \verb+\prAubergJeun+ \\
+ \raisebox{-0.2\height}{\prGite[height=2.5ex]} : \verb+\prGite+ \\
+ \raisebox{-0.2\height}{\prItinPedest[height=2.5ex]} : \verb+\prItinPedest+ \\
+ \raisebox{-0.2\height}{\prItinSkiFond[height=2.5ex]} : \verb+\prItinSkiFond+ \\
+ \raisebox{-0.2\height}{\prPicNic[height=2.5ex]} : \verb+\prPicNic+ \\
+ \raisebox{-0.2\height}{\prGareAutoTrain[height=2.5ex]} : \verb+\prGareAutoTrain+ \\
+ \raisebox{-0.2\height}{\prParkVideo[height=2.5ex]} : \verb+\prParkVideo+ \\
+ \raisebox{-0.2\height}{\prEmbarcad[height=2.5ex]} : \verb+\prEmbarcad+ \\
+ \raisebox{-0.2\height}{\prToilettes[height=2.5ex]} : \verb+\prToilettes+ \\
+ \raisebox{-0.2\height}{\prAccesHandic[height=2.5ex]} : \verb+\prAccesHandic+ \\
+ \raisebox{-0.2\height}{\prEssence[height=2.5ex]} : \verb+\prEssence+ \\
+ \raisebox{-0.2\height}{\prEssenceGPL[height=2.5ex]} : \verb+\prEssenceGPL+ \\
+ \raisebox{-0.2\height}{\prRestau[height=2.5ex]} : \verb+\prRestau+ \\
+ \raisebox{-0.2\height}{\prHotel[height=2.5ex]} : \verb+\prHotel+ \\
+ \raisebox{-0.2\height}{\prBoissons[height=2.5ex]} : \verb+\prBoissons+ \\
+ \raisebox{-0.2\height}{\prEmbarcLeg[height=2.5ex]} : \verb+\prEmbarcLeg+ \\
+ \raisebox{-0.2\height}{\prTelepher[height=2.5ex]} : \verb+\prTelepher+ \\
+ \raisebox{-0.2\height}{\prTelecabin[height=2.5ex]} : \verb+\prTelecabin+ \\
+ \raisebox{-0.2\height}{\prPointVue[height=2.5ex]} : \verb+\prPointVue+ \\
+ \raisebox{-0.2\height}{\prRadio[height=2.5ex]} : \verb+\prRadio+ \\
+ \raisebox{-0.2\height}{\prJeuxEnfants[height=2.5ex]} : \verb+\prJeuxEnfants+ \\
+ \raisebox{-0.2\height}{\prVidange[height=2.5ex]} : \verb+\prVidange+ \\
+ \raisebox{-0.2\height}{\prDistribBill[height=2.5ex]} : \verb+\prDistribBill+ \\
+ \raisebox{-0.2\height}{\prGonflage[height=2.5ex]} : \verb+\prGonflage+ \\
+ \raisebox{-0.2\height}{\prDetente[height=2.5ex]} : \verb+\prDetente+ \\
+ \raisebox{-0.2\height}{\prPosteDepann[height=2.5ex]} : \verb+\prPosteDepann+ \\
+ \raisebox{-0.2\height}{\prLutteIncendie[height=2.5ex]} : \verb+\prLutteIncendie+ \\
+ \raisebox{-0.2\height}{\prIssueSecD[height=2.5ex]} : \verb+\prIssueSecD+ \\
+ \raisebox{-0.2\height}{\prIssueSecG[height=2.5ex]} : \verb+\prIssueSecG+
+\end{multicols}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13a.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13a.pdf
new file mode 100644
index 0000000000..8e151d383e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13b.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13b.pdf
new file mode 100644
index 0000000000..a321f11611
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA13b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA14.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA14.pdf
new file mode 100644
index 0000000000..b854ea305d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA14.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a1.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a1.pdf
new file mode 100644
index 0000000000..03199cc41a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a2.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a2.pdf
new file mode 100644
index 0000000000..a25bdb9f52
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15a2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15b.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15b.pdf
new file mode 100644
index 0000000000..c68db05cc2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15c.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15c.pdf
new file mode 100644
index 0000000000..db126defd4
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA15c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA16.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA16.pdf
new file mode 100644
index 0000000000..83397100e8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA16.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA17.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA17.pdf
new file mode 100644
index 0000000000..90f64df30d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA17.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA18.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA18.pdf
new file mode 100644
index 0000000000..2f24974fed
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA18.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA19.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA19.pdf
new file mode 100644
index 0000000000..6d45da0319
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA19.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1a.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1a.pdf
new file mode 100644
index 0000000000..6b835869e6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1b.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1b.pdf
new file mode 100644
index 0000000000..762cbb7c0d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1c.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1c.pdf
new file mode 100644
index 0000000000..9dde0db353
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1d.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1d.pdf
new file mode 100644
index 0000000000..a059949dd8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA1d.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA20.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA20.pdf
new file mode 100644
index 0000000000..20eb69e542
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA20.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA21.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA21.pdf
new file mode 100644
index 0000000000..c610cb0dc6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA21.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA23.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA23.pdf
new file mode 100644
index 0000000000..87640bad33
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA23.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA24.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA24.pdf
new file mode 100644
index 0000000000..59ca7e725a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA24.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2a.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2a.pdf
new file mode 100644
index 0000000000..db79542a81
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2b.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2b.pdf
new file mode 100644
index 0000000000..3378740865
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA2b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3.pdf
new file mode 100644
index 0000000000..51ac174408
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3a.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3a.pdf
new file mode 100644
index 0000000000..27774df940
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3b.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3b.pdf
new file mode 100644
index 0000000000..b52659b09a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA3b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA4.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA4.pdf
new file mode 100644
index 0000000000..12062a5f29
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA4.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA6.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA6.pdf
new file mode 100644
index 0000000000..a599c391d9
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA6.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA7.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA7.pdf
new file mode 100644
index 0000000000..63fdb705dc
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA7.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA8.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA8.pdf
new file mode 100644
index 0000000000..da9d1dc613
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA8.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA9.pdf b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA9.pdf
new file mode 100644
index 0000000000..4285dd069e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Danger/PanneauRouteA9.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC107.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC107.pdf
new file mode 100644
index 0000000000..08c41e1e45
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC107.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC108.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC108.pdf
new file mode 100644
index 0000000000..efe3017671
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC108.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC111.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC111.pdf
new file mode 100644
index 0000000000..ba4a5e6d6f
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC111.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC112.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC112.pdf
new file mode 100644
index 0000000000..e6e585de01
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC112.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC113.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC113.pdf
new file mode 100644
index 0000000000..9acf9a4cad
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC113.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC114.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC114.pdf
new file mode 100644
index 0000000000..bd5537eb83
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC114.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC115.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC115.pdf
new file mode 100644
index 0000000000..f477188539
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC115.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC116.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC116.pdf
new file mode 100644
index 0000000000..bb73cdc922
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC116.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC12.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC12.pdf
new file mode 100644
index 0000000000..ace75288f8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC12.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13a.pdf
new file mode 100644
index 0000000000..09d190c783
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13b.pdf
new file mode 100644
index 0000000000..a70efd43fa
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC13b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_1.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_1.pdf
new file mode 100644
index 0000000000..7b2fa46a3c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_2.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_2.pdf
new file mode 100644
index 0000000000..f923c5198b
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC14_2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC18.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC18.pdf
new file mode 100644
index 0000000000..495567875e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC18.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1a.pdf
new file mode 100644
index 0000000000..1878c3b4e3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1b.pdf
new file mode 100644
index 0000000000..e719d9669d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1c.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1c.pdf
new file mode 100644
index 0000000000..c70cde1fe3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC207.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC207.pdf
new file mode 100644
index 0000000000..0b99523c9c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC207.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC208.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC208.pdf
new file mode 100644
index 0000000000..bd03931ed3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC208.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20a.pdf
new file mode 100644
index 0000000000..8c3fbf6d49
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20c.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20c.pdf
new file mode 100644
index 0000000000..4daae236a9
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC20c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC23.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC23.pdf
new file mode 100644
index 0000000000..2e1c9ce1a2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC23.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a1.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a1.pdf
new file mode 100644
index 0000000000..a6080963e7
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a4.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a4.pdf
new file mode 100644
index 0000000000..f5962ddb21
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a4.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b1.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b1.pdf
new file mode 100644
index 0000000000..9ab21e1710
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b2.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b2.pdf
new file mode 100644
index 0000000000..451d3b05e0
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24b2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c1.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c1.pdf
new file mode 100644
index 0000000000..2a713d0602
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c2.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c2.pdf
new file mode 100644
index 0000000000..6492822b97
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24c2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25a.pdf
new file mode 100644
index 0000000000..dd887d7fff
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25b.pdf
new file mode 100644
index 0000000000..54dd9b92ad
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC25b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26a.pdf
new file mode 100644
index 0000000000..4c1f5d05ce
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26b.pdf
new file mode 100644
index 0000000000..e56ad5eb10
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC26b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC27.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC27.pdf
new file mode 100644
index 0000000000..c978130cb5
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC27.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28a.pdf
new file mode 100644
index 0000000000..9462b4c2e3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28b.pdf
new file mode 100644
index 0000000000..374cf59716
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC28b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29a.pdf
new file mode 100644
index 0000000000..7731474eb2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29b.pdf
new file mode 100644
index 0000000000..15a38e4c88
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC29b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC3.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC3.pdf
new file mode 100644
index 0000000000..905d032d60
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC3.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC30.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC30.pdf
new file mode 100644
index 0000000000..114d53e06b
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC30.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4a.pdf
new file mode 100644
index 0000000000..35f65f5eb1
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4b.pdf
new file mode 100644
index 0000000000..9f43936317
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC4b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC5.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC5.pdf
new file mode 100644
index 0000000000..d2d579b845
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC5.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC50.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC50.pdf
new file mode 100644
index 0000000000..3cf51a02c1
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC50.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC6.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC6.pdf
new file mode 100644
index 0000000000..88ac189cb5
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC6.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC62.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC62.pdf
new file mode 100644
index 0000000000..38dfb4905a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC62.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64a.pdf
new file mode 100644
index 0000000000..79ebca0d19
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64b.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64b.pdf
new file mode 100644
index 0000000000..9a34544f5c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64c.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64c.pdf
new file mode 100644
index 0000000000..7baa95d808
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d1.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d1.pdf
new file mode 100644
index 0000000000..930bc880cd
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d2.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d2.pdf
new file mode 100644
index 0000000000..c605533aa2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC64d2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC8.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC8.pdf
new file mode 100644
index 0000000000..802a5678a8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC8.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB0.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB0.pdf
new file mode 100644
index 0000000000..211d8fea2c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB0.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1.pdf
new file mode 100644
index 0000000000..cdb6300368
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB10a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB10a.pdf
new file mode 100644
index 0000000000..58c180aab6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB10a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB11.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB11.pdf
new file mode 100644
index 0000000000..fd62ffbdf6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB11.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB12.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB12.pdf
new file mode 100644
index 0000000000..2f7d62d3ad
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB12.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13.pdf
new file mode 100644
index 0000000000..ee31883021
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13a.pdf
new file mode 100644
index 0000000000..35a24a1edb
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB13a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_110.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_110.pdf
new file mode 100644
index 0000000000..f4ced24149
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_110.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_130.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_130.pdf
new file mode 100644
index 0000000000..28a146e5c2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_130.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_15.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_15.pdf
new file mode 100644
index 0000000000..bc9b6e7e9d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_15.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_30.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_30.pdf
new file mode 100644
index 0000000000..58c8a132b2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_30.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_50.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_50.pdf
new file mode 100644
index 0000000000..c85eb06539
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_50.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_70.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_70.pdf
new file mode 100644
index 0000000000..562ef27ce7
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_70.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_90.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_90.pdf
new file mode 100644
index 0000000000..3776f04182
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB14_90.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB15.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB15.pdf
new file mode 100644
index 0000000000..2114eeaed3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB15.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB16.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB16.pdf
new file mode 100644
index 0000000000..0bf59e9715
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB16.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB17.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB17.pdf
new file mode 100644
index 0000000000..373118598a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB17.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18a.pdf
new file mode 100644
index 0000000000..b69ed5d119
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18b.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18b.pdf
new file mode 100644
index 0000000000..e0724dcd56
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18c.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18c.pdf
new file mode 100644
index 0000000000..cbe96581b4
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB18c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB19.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB19.pdf
new file mode 100644
index 0000000000..99398cc337
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB19.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2a.pdf
new file mode 100644
index 0000000000..76cfbd6e8c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2b.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2b.pdf
new file mode 100644
index 0000000000..d61b6a589b
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2c.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2c.pdf
new file mode 100644
index 0000000000..78f7b57824
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3.pdf
new file mode 100644
index 0000000000..96b023afbd
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB31.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB31.pdf
new file mode 100644
index 0000000000..683ec52238
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB31.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_110.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_110.pdf
new file mode 100644
index 0000000000..6da3781893
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_110.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_130.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_130.pdf
new file mode 100644
index 0000000000..25ce0d0f0c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_130.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_15.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_15.pdf
new file mode 100644
index 0000000000..dc2450bd7b
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_15.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_30.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_30.pdf
new file mode 100644
index 0000000000..cb74c2abba
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_30.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_50.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_50.pdf
new file mode 100644
index 0000000000..3d10b9921e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_50.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_70.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_70.pdf
new file mode 100644
index 0000000000..69615f7303
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_70.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_90.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_90.pdf
new file mode 100644
index 0000000000..f6c29ffc84
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB33_90.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34.pdf
new file mode 100644
index 0000000000..fc7b3f7b58
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34a.pdf
new file mode 100644
index 0000000000..5a81ce0807
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB34a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB35.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB35.pdf
new file mode 100644
index 0000000000..b3700170a6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB35.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB39.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB39.pdf
new file mode 100644
index 0000000000..edf1f5b4f3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB39.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3a.pdf
new file mode 100644
index 0000000000..f001fb869a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB3a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB4.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB4.pdf
new file mode 100644
index 0000000000..f8edc0f6e2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB4.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5a.pdf
new file mode 100644
index 0000000000..3b7a2d9d86
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5b.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5b.pdf
new file mode 100644
index 0000000000..788f1b1fbd
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5c.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5c.pdf
new file mode 100644
index 0000000000..6a260ae5a7
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB5c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a1.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a1.pdf
new file mode 100644
index 0000000000..3e3c108d20
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a2.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a2.pdf
new file mode 100644
index 0000000000..e343e719ae
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a3.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a3.pdf
new file mode 100644
index 0000000000..c8f6d1005e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6a3.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6d.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6d.pdf
new file mode 100644
index 0000000000..ab05fe1628
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6d.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7a.pdf
new file mode 100644
index 0000000000..6c5689535d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7b.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7b.pdf
new file mode 100644
index 0000000000..d90b523601
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB7b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB8.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB8.pdf
new file mode 100644
index 0000000000..0d0729eb2e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB8.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9a.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9a.pdf
new file mode 100644
index 0000000000..ddb7f8cdf6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9b.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9b.pdf
new file mode 100644
index 0000000000..6b0cedd1d9
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9c.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9c.pdf
new file mode 100644
index 0000000000..329cc9741e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9d.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9d.pdf
new file mode 100644
index 0000000000..581cb411b5
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9d.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9e.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9e.pdf
new file mode 100644
index 0000000000..654b46988f
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9e.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9f.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9f.pdf
new file mode 100644
index 0000000000..025f7180d4
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9f.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9g.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9g.pdf
new file mode 100644
index 0000000000..daeafa6e98
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9g.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9h.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9h.pdf
new file mode 100644
index 0000000000..55792ae44a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9h.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9i.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9i.pdf
new file mode 100644
index 0000000000..6d325a7607
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB9i.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB1.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB1.pdf
new file mode 100644
index 0000000000..8f56c18fb8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB2.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB2.pdf
new file mode 100644
index 0000000000..3d5ddbee12
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB25.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB25.pdf
new file mode 100644
index 0000000000..46bf1752ab
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB25.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3a.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3a.pdf
new file mode 100644
index 0000000000..d19af15df9
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3b.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3b.pdf
new file mode 100644
index 0000000000..615ae1f21e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB3b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB4.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB4.pdf
new file mode 100644
index 0000000000..a39ae1a79e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB4.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB5.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB5.pdf
new file mode 100644
index 0000000000..74111dde53
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB5.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB6.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB6.pdf
new file mode 100644
index 0000000000..4978b6fdf7
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB6.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB7.pdf b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB7.pdf
new file mode 100644
index 0000000000..a1c89b7c38
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/IntersectionPriorite/PanneauRouteAB7.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-1.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-1.pdf
new file mode 100644
index 0000000000..e87280e678
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-2.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-2.pdf
new file mode 100644
index 0000000000..9efe15a119
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a1.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a1.pdf
new file mode 100644
index 0000000000..ce5162a3ac
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a2.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a2.pdf
new file mode 100644
index 0000000000..22433150d3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21a2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21b.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21b.pdf
new file mode 100644
index 0000000000..293a33e6ba
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c1.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c1.pdf
new file mode 100644
index 0000000000..e9edc1a363
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c2.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c2.pdf
new file mode 100644
index 0000000000..2f73fed73c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21c2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d1.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d1.pdf
new file mode 100644
index 0000000000..30fc1574f7
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d2.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d2.pdf
new file mode 100644
index 0000000000..a446737f0d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21d2.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21e.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21e.pdf
new file mode 100644
index 0000000000..3284c70af9
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB21e.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22a.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22a.pdf
new file mode 100644
index 0000000000..94729e6d93
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22b.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22b.pdf
new file mode 100644
index 0000000000..bae943870f
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22c.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22c.pdf
new file mode 100644
index 0000000000..32bc92e577
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB22c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB25.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB25.pdf
new file mode 100644
index 0000000000..aa7d83f7b6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB25.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB26.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB26.pdf
new file mode 100644
index 0000000000..4cb051c4a2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB26.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27a.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27a.pdf
new file mode 100644
index 0000000000..e4d3006b73
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27b.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27b.pdf
new file mode 100644
index 0000000000..d60d0fee60
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB27b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB29.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB29.pdf
new file mode 100644
index 0000000000..c835c2ef57
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB29.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB40.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB40.pdf
new file mode 100644
index 0000000000..82ed982c17
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB40.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB41.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB41.pdf
new file mode 100644
index 0000000000..dcc11270d5
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB41.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB42.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB42.pdf
new file mode 100644
index 0000000000..499c650517
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB42.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB43.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB43.pdf
new file mode 100644
index 0000000000..d6a9bc9cd2
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB43.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB44.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB44.pdf
new file mode 100644
index 0000000000..70b218d82c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB44.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB45a.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB45a.pdf
new file mode 100644
index 0000000000..58f0d23b3d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB45a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49.pdf
new file mode 100644
index 0000000000..016aa2324a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty b/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty
new file mode 100644
index 0000000000..d94943962b
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty
@@ -0,0 +1,216 @@
+% Author.........: C. Pierquet
+% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+% Sources........: https://www.geoinformations.developpement-durable.gouv.fr/panneaux-routiers-au-format-svg-et-png-par-a2688.html
+% : https://equipementsdelaroute.cerema.fr/version-consolidee-de-l-arrete-du-24-novembre-1967-a537.html
+% : Licence CC BY-SA 3.0 for svg source (http://sig974.free.fr/?p=1520)
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{PanneauxRoute}[2023/08/14 v0.1.0 Panneaux de signalisation fr]
+% 0.1.0 Version initiale
+
+%------Packages utiles
+\RequirePackage{graphicx}
+
+%-----Commande générique
+\NewDocumentCommand\AffPanneau{ O{height=1.15cm} m }{%
+ \IfFileExists{PanneauRoute#2.pdf}{\includegraphics[#1]{PanneauRoute#2.pdf}}{}%
+}
+
+%----Aliases
+\NewDocumentCommand\prVirDroit{ O{height=1.15cm} }{\AffPanneau[#1]{A1a}}
+\NewDocumentCommand\prVirGauche{ O{height=1.15cm} }{\AffPanneau[#1]{A1b}}
+\NewDocumentCommand\prVirsDroit{ O{height=1.15cm} }{\AffPanneau[#1]{A1c}}
+\NewDocumentCommand\prVirsGauche{ O{height=1.15cm} }{\AffPanneau[#1]{A1d}}
+\NewDocumentCommand\prDosAne{ O{height=1.15cm} }{\AffPanneau[#1]{A2a}}
+\NewDocumentCommand\prRalDosAne{ O{height=1.15cm} }{\AffPanneau[#1]{A2b}}
+\NewDocumentCommand\prChausRet{ O{height=1.15cm} }{\AffPanneau[#1]{A3}}
+\NewDocumentCommand\prChausRetD{ O{height=1.15cm} }{\AffPanneau[#1]{A3a}}
+\NewDocumentCommand\prChausRetG{ O{height=1.15cm} }{\AffPanneau[#1]{A3b}}
+\NewDocumentCommand\prChaussGliss{ O{height=1.15cm} }{\AffPanneau[#1]{A4}}
+\NewDocumentCommand\prPontMob{ O{height=1.15cm} }{\AffPanneau[#1]{A6}}
+\NewDocumentCommand\prPassNiv{ O{height=1.15cm} }{\AffPanneau[#1]{A7}}
+\NewDocumentCommand\prPassNivVap{ O{height=1.15cm} }{\AffPanneau[#1]{A8}}
+\NewDocumentCommand\prPassTram{ O{height=1.15cm} }{\AffPanneau[#1]{A9}}
+\NewDocumentCommand\prEnfants{ O{height=1.15cm} }{\AffPanneau[#1]{A13a}}
+\NewDocumentCommand\prPietons{ O{height=1.15cm} }{\AffPanneau[#1]{A13b}}
+\NewDocumentCommand\prDanger{ O{height=1.15cm} }{\AffPanneau[#1]{A14}}
+\NewDocumentCommand\prAnimaux{ O{height=1.15cm} }{\AffPanneau[#1]{A15a1}}
+\NewDocumentCommand\prAnimauxSauv{ O{height=1.15cm} }{\AffPanneau[#1]{A15b}}
+\NewDocumentCommand\prCavaliers{ O{height=1.15cm} }{\AffPanneau[#1]{A15c}}
+\NewDocumentCommand\prDescente{ O{height=1.15cm} }{\AffPanneau[#1]{A16}}
+\NewDocumentCommand\prFeux{ O{height=1.15cm} }{\AffPanneau[#1]{A17}}
+\NewDocumentCommand\prDeuxSens{ O{height=1.15cm} }{\AffPanneau[#1]{A18}}
+\NewDocumentCommand\prChute{ O{height=1.15cm} }{\AffPanneau[#1]{A19}}
+\NewDocumentCommand\prQuai{ O{height=1.15cm} }{\AffPanneau[#1]{A20}}
+\NewDocumentCommand\prVelos{ O{height=1.15cm} }{\AffPanneau[#1]{A21}}
+\NewDocumentCommand\prAvions{ O{height=1.15cm} }{\AffPanneau[#1]{A23}}
+\NewDocumentCommand\prVent{ O{height=1.15cm} }{\AffPanneau[#1]{A24}}
+
+\NewDocumentCommand\prIntersect{ O{height=1.15cm} }{\AffPanneau[#1]{AB1}}
+\NewDocumentCommand\prIntersectPrio{ O{height=1.15cm} }{\AffPanneau[#1]{AB2}}
+\NewDocumentCommand\prCedez{ O{height=1.15cm} }{\AffPanneau[#1]{AB3a}}
+\NewDocumentCommand\prCedezInter{ O{height=1.15cm} }{\AffPanneau[#1]{AB3b}}
+\NewDocumentCommand\prStop{ O{height=1.15cm} }{\AffPanneau[#1]{AB4}}
+\NewDocumentCommand\prArretInter{ O{height=1.15cm} }{\AffPanneau[#1]{AB5}}
+\NewDocumentCommand\prRoutePrio{ O{height=1.15cm} }{\AffPanneau[#1]{AB6}}
+\NewDocumentCommand\prFinRoutePrio{ O{height=1.15cm} }{\AffPanneau[#1]{AB7}}
+\NewDocumentCommand\prRondPoint{ O{height=1.15cm} }{\AffPanneau[#1]{AB25}}
+
+\NewDocumentCommand\prCircInterd{ O{height=1.15cm} }{\AffPanneau[#1]{B0}}
+\NewDocumentCommand\prSensInterdit{ O{height=1.15cm} }{\AffPanneau[#1]{B1}}
+\NewDocumentCommand\prInterdTournG{ O{height=1.15cm} }{\AffPanneau[#1]{B2a}}
+\NewDocumentCommand\prInterdTournD{ O{height=1.15cm} }{\AffPanneau[#1]{B2b}}
+\NewDocumentCommand\prInterdDemiTour{ O{height=1.15cm} }{\AffPanneau[#1]{B2c}}
+\NewDocumentCommand\prInterdDepass{ O{height=1.15cm} }{\AffPanneau[#1]{B31}}
+\NewDocumentCommand\prInterdVehic{ O{height=1.15cm} }{\AffPanneau[#1]{B3a}}
+\NewDocumentCommand\prHalteDouane{ O{height=1.15cm} }{\AffPanneau[#1]{B4}}
+\NewDocumentCommand\prHalteGendarm{ O{height=1.15cm} }{\AffPanneau[#1]{B5a}}
+\NewDocumentCommand\prHaltePolice{ O{height=1.15cm} }{\AffPanneau[#1]{B5b}}
+\NewDocumentCommand\prHaltePeage{ O{height=1.15cm} }{\AffPanneau[#1]{B5c}}
+\NewDocumentCommand\prStationInterd{ O{height=1.15cm} }{\AffPanneau[#1]{B6a1}}
+\NewDocumentCommand\prStationInterdQA{ O{height=1.15cm} }{\AffPanneau[#1]{B6a2}}
+\NewDocumentCommand\prStationInterdQB{ O{height=1.15cm} }{\AffPanneau[#1]{B6a3}}
+\NewDocumentCommand\prArStatInterd{ O{height=1.15cm} }{\AffPanneau[#1]{B6d}}
+\NewDocumentCommand\prInterdMotSaufCyc{ O{height=1.15cm} }{\AffPanneau[#1]{B7a}}
+\NewDocumentCommand\prInterdMot{ O{height=1.15cm} }{\AffPanneau[#1]{B7b}}
+\NewDocumentCommand\prInterdMarchand{ O{height=1.15cm} }{\AffPanneau[#1]{B8}}
+\NewDocumentCommand\prInterdPietons{ O{height=1.15cm} }{\AffPanneau[#1]{B9a}}
+\NewDocumentCommand\prInterdCycles{ O{height=1.15cm} }{\AffPanneau[#1]{B9b}}
+\NewDocumentCommand\prInterdTracAnim{ O{height=1.15cm} }{\AffPanneau[#1]{B9c}}
+\NewDocumentCommand\prInterdAgricMot{ O{height=1.15cm} }{\AffPanneau[#1]{B9d}}
+\NewDocumentCommand\prInterdBras{ O{height=1.15cm} }{\AffPanneau[#1]{B9e}}
+\NewDocumentCommand\prInterdTranspComm{ O{height=1.15cm} }{\AffPanneau[#1]{B9f}}
+\NewDocumentCommand\prInterdCyclomot{ O{height=1.15cm} }{\AffPanneau[#1]{B9g}}
+\NewDocumentCommand\prInterdCycloMoto{ O{height=1.15cm} }{\AffPanneau[#1]{B9h}}
+\NewDocumentCommand\prInterdCaravanes{ O{height=1.15cm} }{\AffPanneau[#1]{B9i}}
+\NewDocumentCommand\prInterdLong{ O{height=1.15cm} }{\AffPanneau[#1]{B10a}}
+\NewDocumentCommand\prInterdLarg{ O{height=1.15cm} }{\AffPanneau[#1]{B11}}
+\NewDocumentCommand\prInterdHaut{ O{height=1.15cm} }{\AffPanneau[#1]{B12}}
+\NewDocumentCommand\prInterdPoids{ O{height=1.15cm} }{\AffPanneau[#1]{B13}}
+\NewDocumentCommand\prInterdPoidsEssieu{ O{height=1.15cm} }{\AffPanneau[#1]{B13a}}
+\NewDocumentCommand\prLimVites{ O{height=1.15cm} m }{\AffPanneau[#1]{B14_#2}}
+\NewDocumentCommand\prCedezInv{ O{height=1.15cm} }{\AffPanneau[#1]{B15}}
+\NewDocumentCommand\prInterdSons{ O{height=1.15cm} }{\AffPanneau[#1]{B16}}
+\NewDocumentCommand\prDistance{ O{height=1.15cm} }{\AffPanneau[#1]{B17}}
+\NewDocumentCommand\prExplos{ O{height=1.15cm} }{\AffPanneau[#1]{B18a}}
+\NewDocumentCommand\prPollu{ O{height=1.15cm} }{\AffPanneau[#1]{B18b}}
+\NewDocumentCommand\prDangereuses{ O{height=1.15cm} }{\AffPanneau[#1]{B18c}}
+
+\NewDocumentCommand\prObliAvDroite{ O{height=1.15cm} }{\AffPanneau[#1]{B21-1}}
+\NewDocumentCommand\prObliAvGauche{ O{height=1.15cm} }{\AffPanneau[#1]{B21-2}}
+\NewDocumentCommand\prContournDroite{ O{height=1.15cm} }{\AffPanneau[#1]{B21a1}}
+\NewDocumentCommand\prContournGauche{ O{height=1.15cm} }{\AffPanneau[#1]{B21a2}}
+\NewDocumentCommand\prToutDroit{ O{height=1.15cm} }{\AffPanneau[#1]{B21b}}
+\NewDocumentCommand\prObliDroite{ O{height=1.15cm} }{\AffPanneau[#1]{B21c1}}
+\NewDocumentCommand\prObliGauche{ O{height=1.15cm} }{\AffPanneau[#1]{B21c2}}
+\NewDocumentCommand\prObliToutDroite{ O{height=1.15cm} }{\AffPanneau[#1]{B21d1}}
+\NewDocumentCommand\prObliToutGauche{ O{height=1.15cm} }{\AffPanneau[#1]{B21d2}}
+\NewDocumentCommand\prObliDroiteGauche{ O{height=1.15cm} }{\AffPanneau[#1]{B21e}}
+\NewDocumentCommand\prObliCycles{ O{height=1.15cm} }{\AffPanneau[#1]{B22a}}
+\NewDocumentCommand\prObliPietons{ O{height=1.15cm} }{\AffPanneau[#1]{B22b}}
+\NewDocumentCommand\prObliCavaliers{ O{height=1.15cm} }{\AffPanneau[#1]{B22c}}
+\NewDocumentCommand\prObliVitesse{ O{height=1.15cm} }{\AffPanneau[#1]{B25}}
+\NewDocumentCommand\prObliChaines{ O{height=1.15cm} }{\AffPanneau[#1]{B26}}
+\NewDocumentCommand\prObliBus{ O{height=1.15cm} }{\AffPanneau[#1]{B27a}}
+\NewDocumentCommand\prObliTrams{ O{height=1.15cm} }{\AffPanneau[#1]{B27b}}
+
+\NewDocumentCommand\prFinInterd{ O{height=1.15cm} }{\AffPanneau[#1]{B31}}
+\NewDocumentCommand\prFinLimVit{ O{height=1.15cm} m }{\AffPanneau[#1]{B33_#2}}
+\NewDocumentCommand\prFinIntDepass{ O{height=1.15cm} }{\AffPanneau[#1]{B34}}
+\NewDocumentCommand\prFinIntDepassCam{ O{height=1.15cm} }{\AffPanneau[#1]{B34a}}
+\NewDocumentCommand\prFinIntSons{ O{height=1.15cm} }{\AffPanneau[#1]{B35}}
+
+\NewDocumentCommand\prFinPisteOblCycl{ O{height=1.15cm} }{\AffPanneau[#1]{B40}}
+\NewDocumentCommand\prFinChemPiet{ O{height=1.15cm} }{\AffPanneau[#1]{B41}}
+\NewDocumentCommand\prFinChemCav{ O{height=1.15cm} }{\AffPanneau[#1]{B42}}
+\NewDocumentCommand\prFinVitObli{ O{height=1.15cm} }{\AffPanneau[#1]{B43}}
+\NewDocumentCommand\prFinChaines{ O{height=1.15cm} }{\AffPanneau[#1]{B44}}
+\NewDocumentCommand\prFinVoieBus{ O{height=1.15cm} }{\AffPanneau[#1]{B45a}}
+
+\NewDocumentCommand\prParking{ O{height=1.15cm} }{\AffPanneau[#1]{C1a}}
+\NewDocumentCommand\prParkDisq{ O{height=1.15cm} }{\AffPanneau[#1]{C1b}}
+\NewDocumentCommand\prParkPay{ O{height=1.15cm} }{\AffPanneau[#1]{C1c}}
+\NewDocumentCommand\prIncendie{ O{height=1.15cm} }{\AffPanneau[#1]{C3}}
+\NewDocumentCommand\prVitConseil{ O{height=1.15cm} }{\AffPanneau[#1]{C4a}}
+\NewDocumentCommand\prFinVitConseil{ O{height=1.15cm} }{\AffPanneau[#1]{C4b}}
+\NewDocumentCommand\prTaxis{ O{height=1.15cm} }{\AffPanneau[#1]{C5}}
+\NewDocumentCommand\prArretBus{ O{height=1.15cm} }{\AffPanneau[#1]{B49}}
+\NewDocumentCommand\prArretUrg{ O{height=1.15cm} }{\AffPanneau[#1]{C8}}
+\NewDocumentCommand\prCircSensUniq{ O{height=1.15cm} }{\AffPanneau[#1]{C12}}
+\NewDocumentCommand\prImpasse{ O{height=1.15cm} }{\AffPanneau[#1]{C13a}}
+\NewDocumentCommand\prPreImpasse{ O{height=1.15cm} }{\AffPanneau[#1]{C13b}}
+\NewDocumentCommand\prPriorSensInv{ O{height=1.15cm} }{\AffPanneau[#1]{C18}}
+\NewDocumentCommand\prPassPietons{ O{height=1.15cm} }{\AffPanneau[#1]{C20a}}
+\NewDocumentCommand\prTravTrams{ O{height=1.15cm} }{\AffPanneau[#1]{C20c}}
+\NewDocumentCommand\prStatCarav{ O{height=1.15cm} }{\AffPanneau[#1]{C23}}
+\NewDocumentCommand\prVoiesAffA{ O{height=1.15cm} }{\AffPanneau[#1]{C24a1}}
+\NewDocumentCommand\prVoiesAffB{ O{height=1.15cm} }{\AffPanneau[#1]{C24a4}}
+\NewDocumentCommand\prVoiesAffC{ O{height=1.15cm} }{\AffPanneau[#1]{C24b1}}
+\NewDocumentCommand\prVoiesAffD{ O{height=1.15cm} }{\AffPanneau[#1]{C24b2}}
+\NewDocumentCommand\prVoiesAffE{ O{height=1.15cm} }{\AffPanneau[#1]{C24c1}}
+\NewDocumentCommand\prVoiesAffF{ O{height=1.15cm} }{\AffPanneau[#1]{C24c2}}
+\NewDocumentCommand\prVitFront{ O{height=1.15cm} }{\AffPanneau[#1]{C25a}}
+\NewDocumentCommand\prVitAutor{ O{height=1.15cm} }{\AffPanneau[#1]{C25b}}
+\NewDocumentCommand\prDetresseD{ O{height=1.15cm} }{\AffPanneau[#1]{C26a}}
+\NewDocumentCommand\prDetresseG{ O{height=1.15cm} }{\AffPanneau[#1]{C26b}}
+\NewDocumentCommand\prChausseSur{ O{height=1.15cm} }{\AffPanneau[#1]{C27}}
+\NewDocumentCommand\prReducVoieA{ O{height=1.15cm} }{\AffPanneau[#1]{C28a}}
+\NewDocumentCommand\prReducVoieB{ O{height=1.15cm} }{\AffPanneau[#1]{C28b}}
+\NewDocumentCommand\prCreneauDepas{ O{height=1.15cm} }{\AffPanneau[#1]{C29b}}
+\NewDocumentCommand\prFinCreneauDepas{ O{height=1.15cm} }{\AffPanneau[#1]{C30}}
+
+\NewDocumentCommand\prTickPeage{ O{height=1.15cm} }{\AffPanneau[#1]{B49}}
+\NewDocumentCommand\prPaiemPeage{ O{height=1.15cm} }{\AffPanneau[#1]{C64a}}
+\NewDocumentCommand\prPaiemCB{ O{height=1.15cm} }{\AffPanneau[#1]{C64b}}
+\NewDocumentCommand\prPaiemPieces{ O{height=1.15cm} }{\AffPanneau[#1]{C64c}}
+\NewDocumentCommand\prPaiemPiecBil{ O{height=1.15cm} }{\AffPanneau[#1]{C64d1}}
+\NewDocumentCommand\prPaiemTelepeage{ O{height=1.15cm} }{\AffPanneau[#1]{C64d2}}
+\NewDocumentCommand\prRouteRegl{ O{height=1.15cm} }{\AffPanneau[#1]{C107}}
+\NewDocumentCommand\prFinRouteRegl{ O{height=1.15cm} }{\AffPanneau[#1]{C108}}
+\NewDocumentCommand\prEntrTunnel{ O{height=1.15cm} }{\AffPanneau[#1]{C111}}
+\NewDocumentCommand\prSortieTunnel{ O{height=1.15cm} }{\AffPanneau[#1]{C112}}
+\NewDocumentCommand\prPisteCycl{ O{height=1.15cm} }{\AffPanneau[#1]{C113}}
+\NewDocumentCommand\prFinPisteCycl{ O{height=1.15cm} }{\AffPanneau[#1]{C114}}
+\NewDocumentCommand\prVoieVerte{ O{height=1.15cm} }{\AffPanneau[#1]{C115}}
+\NewDocumentCommand\prFinVoieVerte{ O{height=1.15cm} }{\AffPanneau[#1]{C116}}
+\NewDocumentCommand\prDebAutor{ O{height=1.15cm} }{\AffPanneau[#1]{C207}}
+\NewDocumentCommand\prFinAutor{ O{height=1.15cm} }{\AffPanneau[#1]{C208}}
+
+\NewDocumentCommand\prPosteSecours{ O{height=1.15cm} }{\AffPanneau[#1]{CE1}}
+\NewDocumentCommand\prPosteSecUrg{ O{height=1.15cm} }{\AffPanneau[#1]{CE2a}}
+\NewDocumentCommand\prCabineTel{ O{height=1.15cm} }{\AffPanneau[#1]{CE2b}}
+\NewDocumentCommand\prInfos{ O{height=1.15cm} }{\AffPanneau[#1]{CE3a}}
+\NewDocumentCommand\prCampingT{ O{height=1.15cm} }{\AffPanneau[#1]{CE4a}}
+\NewDocumentCommand\prCampingC{ O{height=1.15cm} }{\AffPanneau[#1]{CE4b}}
+\NewDocumentCommand\prCampingTC{ O{height=1.15cm} }{\AffPanneau[#1]{CE4c}}
+\NewDocumentCommand\prAubergJeun{ O{height=1.15cm} }{\AffPanneau[#1]{CE5a}}
+\NewDocumentCommand\prGite{ O{height=1.15cm} }{\AffPanneau[#1]{CE5b}}
+\NewDocumentCommand\prItinPedest{ O{height=1.15cm} }{\AffPanneau[#1]{CE6a}}
+\NewDocumentCommand\prItinSkiFond{ O{height=1.15cm} }{\AffPanneau[#1]{CE6b}}
+\NewDocumentCommand\prPicNic{ O{height=1.15cm} }{\AffPanneau[#1]{CE7}}
+\NewDocumentCommand\prGareAutoTrain{ O{height=1.15cm} }{\AffPanneau[#1]{CE8}}
+\NewDocumentCommand\prParkVideo{ O{height=1.15cm} }{\AffPanneau[#1]{CE9}}
+\NewDocumentCommand\prEmbarcad{ O{height=1.15cm} }{\AffPanneau[#1]{CE10}}
+\NewDocumentCommand\prToilettes{ O{height=1.15cm} }{\AffPanneau[#1]{CE12}}
+\NewDocumentCommand\prAccesHandic{ O{height=1.15cm} }{\AffPanneau[#1]{CE14}}
+\NewDocumentCommand\prEssence{ O{height=1.15cm} }{\AffPanneau[#1]{CE15a}}
+\NewDocumentCommand\prEssenceGPL{ O{height=1.15cm} }{\AffPanneau[#1]{CE15c}}
+\NewDocumentCommand\prRestau{ O{height=1.15cm} }{\AffPanneau[#1]{CE16}}
+\NewDocumentCommand\prHotel{ O{height=1.15cm} }{\AffPanneau[#1]{CE17}}
+\NewDocumentCommand\prBoissons{ O{height=1.15cm} }{\AffPanneau[#1]{CE18}}
+\NewDocumentCommand\prEmbarcLeg{ O{height=1.15cm} }{\AffPanneau[#1]{CE19}}
+\NewDocumentCommand\prTelepher{ O{height=1.15cm} }{\AffPanneau[#1]{CE20a}}
+\NewDocumentCommand\prTelecabin{ O{height=1.15cm} }{\AffPanneau[#1]{CE20b}}
+\NewDocumentCommand\prPointVue{ O{height=1.15cm} }{\AffPanneau[#1]{CE21}}
+\NewDocumentCommand\prRadio{ O{height=1.15cm} }{\AffPanneau[#1]{CE22}}
+\NewDocumentCommand\prJeuxEnfants{ O{height=1.15cm} }{\AffPanneau[#1]{CE23}}
+\NewDocumentCommand\prVidange{ O{height=1.15cm} }{\AffPanneau[#1]{CE24}}
+\NewDocumentCommand\prDistribBill{ O{height=1.15cm} }{\AffPanneau[#1]{CE25}}
+\NewDocumentCommand\prGonflage{ O{height=1.15cm} }{\AffPanneau[#1]{CE26}}
+\NewDocumentCommand\prDetente{ O{height=1.15cm} }{\AffPanneau[#1]{CE27}}
+\NewDocumentCommand\prPosteDepann{ O{height=1.15cm} }{\AffPanneau[#1]{CE28}}
+\NewDocumentCommand\prLutteIncendie{ O{height=1.15cm} }{\AffPanneau[#1]{CE29}}
+\NewDocumentCommand\prIssueSecD{ O{height=1.15cm} }{\AffPanneau[#1]{CE30a}}
+\NewDocumentCommand\prIssueSecG{ O{height=1.15cm} }{\AffPanneau[#1]{CE30b}}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE1.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE1.pdf
new file mode 100644
index 0000000000..7c7bb5115c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE1.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE10.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE10.pdf
new file mode 100644
index 0000000000..c35266798e
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE10.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE12.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE12.pdf
new file mode 100644
index 0000000000..10140972d8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE12.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE14.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE14.pdf
new file mode 100644
index 0000000000..3b9f43ea99
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE14.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15a.pdf
new file mode 100644
index 0000000000..9bac127512
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15c.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15c.pdf
new file mode 100644
index 0000000000..63ff2daba8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE15c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE16.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE16.pdf
new file mode 100644
index 0000000000..acd7f34833
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE16.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE17.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE17.pdf
new file mode 100644
index 0000000000..84c7d0037b
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE17.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE18.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE18.pdf
new file mode 100644
index 0000000000..7700e0fb78
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE18.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE19.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE19.pdf
new file mode 100644
index 0000000000..b474163a57
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE19.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20a.pdf
new file mode 100644
index 0000000000..9a071baa4a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20b.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20b.pdf
new file mode 100644
index 0000000000..dde5d9d938
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE20b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE21.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE21.pdf
new file mode 100644
index 0000000000..031988f278
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE21.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE22.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE22.pdf
new file mode 100644
index 0000000000..1a242e42e5
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE22.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE23.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE23.pdf
new file mode 100644
index 0000000000..8bad81a89a
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE23.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE24.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE24.pdf
new file mode 100644
index 0000000000..d33aff160d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE24.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE25.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE25.pdf
new file mode 100644
index 0000000000..28c50798ac
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE25.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE26.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE26.pdf
new file mode 100644
index 0000000000..0a90b28a7c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE26.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE27.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE27.pdf
new file mode 100644
index 0000000000..96a9b487c0
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE27.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE28.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE28.pdf
new file mode 100644
index 0000000000..50f2936de6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE28.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE29.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE29.pdf
new file mode 100644
index 0000000000..3b3cd88e7d
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE29.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2a.pdf
new file mode 100644
index 0000000000..7b62579c50
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2b.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2b.pdf
new file mode 100644
index 0000000000..596754b012
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE2b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30a.pdf
new file mode 100644
index 0000000000..86794c1f36
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30b.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30b.pdf
new file mode 100644
index 0000000000..bd344793e6
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE30b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE3a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE3a.pdf
new file mode 100644
index 0000000000..d73799c2ad
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE3a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4a.pdf
new file mode 100644
index 0000000000..0bc772dd09
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4b.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4b.pdf
new file mode 100644
index 0000000000..4af21d43a8
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4c.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4c.pdf
new file mode 100644
index 0000000000..06cb5601ad
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE4c.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE50.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE50.pdf
new file mode 100644
index 0000000000..d54dab5807
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE50.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5a.pdf
new file mode 100644
index 0000000000..6250e9a3f3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5b.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5b.pdf
new file mode 100644
index 0000000000..62d8e3c7db
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE5b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6a.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6a.pdf
new file mode 100644
index 0000000000..d98df54549
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6a.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6b.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6b.pdf
new file mode 100644
index 0000000000..50a48a72f3
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE6b.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE7.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE7.pdf
new file mode 100644
index 0000000000..7f7274f575
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE7.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE8.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE8.pdf
new file mode 100644
index 0000000000..364fb5982c
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE8.pdf
Binary files differ
diff --git a/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE9.pdf b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE9.pdf
new file mode 100644
index 0000000000..16a8f835f5
--- /dev/null
+++ b/macros/latex/contrib/panneauxroute/tex/Services/PanneauRouteCE9.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index fe2337ad5b..3b1cda34d7 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex b/macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
index 79ffe0f582..8a7efd3342 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
@@ -111,20 +111,21 @@
% #1 Calcul %2 r\'eponse
\ifluatex
\mplibnumbersystem{double}
- \mplibforcehmode%
- \begin{mplibcode}%
- input PfCCalculatrice;
- LargeurEcran:=\useKV[ClesCalculatrice]{Largeur};
- boolean Calcul;
- Calcul=\useKV[ClesCalculatrice]{Calcul};
- LCD(#1)(#2)(#3);
- \end{mplibcode}
+ \mplibforcehmode%
+ \begin{mplibcode}%
+ input PfCCalculatrice;
+ LargeurEcran:=\useKV[ClesCalculatrice]{Largeur};
+ boolean Calcul;
+ Calcul=\useKV[ClesCalculatrice]{Calcul};
+ LCD(#1)(#2)(#3);
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
\else
- \begin{mpost}[mpsettings={input PfCCalculatrice;LargeurEcran:=\useKV[ClesCalculatrice]{Largeur};}]
- LCD(#1)(#2)(#3);
- \end{mpost}
+ \begin{mpost}[mpsettings={input PfCCalculatrice;LargeurEcran:=\useKV[ClesCalculatrice]{Largeur};}]
+ LCD(#1)(#2)(#3);
+ \end{mpost}
\fi
-}
+}%
\setKVdefault[ClesCalculatrice]{Ecran=false,NbLignes=0,BL=0.775,Largeur=120,Calcul=false}
diff --git a/macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex b/macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
index da114a33f2..a29f47f9af 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
@@ -1,19 +1,22 @@
%%%
% Calculs Croises
%%%
-\setKVdefault[CalculsCroises]{Largeur=20pt,Solution=false,Inverse=false,Creation=false,Graines=false,Vide=false,Couleur=LightGray,Negatifs=false,Aide=false}
+\setKVdefault[CalculsCroises]{Largeur=20pt,Solution=false,Inverse=false,Creation=false,Graines=false,Vide=false,Couleur=LightGray,Negatifs=false,Aide=false,CouleurS=blue}
\defKV[CalculsCroises]{Graine=\setKV[CalculsCroises]{Graines}}%
\defKV[CalculsCroises]{ListeNombres=\setKV[CalculsCroises]{Aide}}%
\newlength\PfCCalculsCroises%
+\newcounter{CCRetiensAide}%
+
\NewDocumentCommand\CalculsCroises{o m}{%
\useKVdefault[CalculsCroises]%
\savecomparemode%
\comparestrict%
\setKV[CalculsCroises]{#1}%
\colorlet{PfCCouleurCC}{\useKV[CalculsCroises]{Couleur}}%
+ \colorlet{PfCCouleurCCS}{\useKV[CalculsCroises]{CouleurS}}%
\setlength{\PfCCalculsCroises}{\useKV[CalculsCroises]{Largeur}+\tabcolsep}%
- \ifboolKV[CalculsCroises]{Inverse}{\setKV[CalculsCroises]{Solution}}{}%
+ \ifboolKV[CalculsCroises]{Inverse}{\setKV[CalculsCroises]{Solution}\colorlet{PfCCouleurCCS}{black}}{}%
\ifboolKV[CalculsCroises]{Creation}{%
\ifboolKV[CalculsCroises]{Graines}{\PfCGraineAlea{\useKV[CalculsCroises]{Graine}}}{}%
\ifboolKV[CalculsCroises]{Negatifs}{%
@@ -24,70 +27,145 @@
\MelangeListe{\PfCCCFoo}{9}%
\setsepchar{,}%
\readlist*\PfCListeCCNb{\faa}%
- \readlist*\PfCListeCCOp{#2}%
+ \readlist*\PfCListeCCOpRetiens{#2}%
+ \xdef\PfCFoo{}%
+ \xintFor* ##1 in{\xintSeq{1}{3}}\do{%
+ \xintifForLast{\xdef\PfCFoo{\PfCFoo,\PfCListeCCNb[##1],\PfCListeCCOpRetiens[##1],\PfCListeCCOpRetiens[\fpeval{##1+1}],\PfCListeCCOpRetiens[\fpeval{##1+2}]}}{\xdef\PfCFoo{\PfCFoo,\PfCListeCCNb[##1],\PfCListeCCOpRetiens[##1]}}%
+ }%
+ \xintFor* ##1 in{\xintSeq{4}{6}}\do{%
+ \xintifForLast{\xdef\PfCFoo{\PfCFoo,\PfCListeCCNb[##1],\PfCListeCCOpRetiens[\fpeval{##1+2}],\PfCListeCCOpRetiens[\fpeval{##1+3}],\PfCListeCCOpRetiens[\fpeval{##1+4}]}}{\xdef\PfCFoo{\PfCFoo,\PfCListeCCNb[##1],\PfCListeCCOpRetiens[\fpeval{##1+2}]}}%
+ }%
+ \xintFor* ##1 in{\xintSeq{7}{9}}\do{%
+ \xintifForLast{\xdef\PfCFoo{\PfCFoo,\PfCListeCCNb[##1]}}{\xdef\PfCFoo{\PfCFoo, \PfCListeCCNb[##1],\PfCListeCCOpRetiens[\fpeval{##1+4}]}}%
+ }%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfCListeCCOp{\PfCFoo}%
+ \reademptyitems
\xdef\PfCCCfoo{\useKV[CalculsCroises]{ListeNombres}}%
\readlist*\PfCListeCCAide{\PfCCCfoo}%
- \begin{NiceTabular}{*{6}{m{\useKV[CalculsCroises]{Largeur}}}}
- \rule{0pt}{\PfCCalculsCroises}\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[1]}}{%
- \ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[1]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[1]}}{}%
- }%
+ }{%
+ \ifboolKV[CalculsCroises]{Vide}{}{%
+ \readlist*\PfCListeCCOp{#2}%
+ \xdef\PfCCCfoo{\useKV[CalculsCroises]{ListeNombres}}%
+ \readlist*\PfCListeCCAide{\PfCCCfoo}%
+ }%
+ }%
+ % On affiche
+ \begin{NiceTabular}{*{6}{m{\useKV[CalculsCroises]{Largeur}}}}
+ \ifboolKV[CalculsCroises]{Vide}{%
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block[fill=black]{}{}&\Block{}{}&\Block[fill=black]{}{}&\Block{}{}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block[fill=black]{}{}&\Block{}{}&\Block[fill=black]{}{}&\Block{}{}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{}\\
+ }{%
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{%
+ \ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[1]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[1]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[1]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[1]}%
}{}%
- }}&\StrCompare{\PfCListeCCOp[1]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[1]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[2]}}{%
- \ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[2]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[2]}}{}%
- }%
+ }%
+ }&\StrCompare{\PfCListeCCOp[2]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[2]$}}&\Block{}{%
+ \ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[3]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[3]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[3]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[3]}%
}{}%
- }}&\StrCompare{\PfCListeCCOp[2]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[2]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[3]}}{%
- \ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[3]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[3]}}{}%
- }%
+ }%
+ }&\StrCompare{\PfCListeCCOp[4]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[4]$}}&\Block{}{%
+ \ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[5]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[5]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[5]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[5]}%
}{}%
- }}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCNb[1]\PfCListeCCOp[1]\PfCListeCCNb[2]\PfCListeCCOp[2]\PfCListeCCNb[3]}}}}\\
- \rule{0pt}{\PfCCalculsCroises}\StrCompare{\PfCListeCCOp[3]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[3]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[4]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[4]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[5]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[5]$}}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[4]}}{%
+ }%
+ }&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[1]\PfCListeCCOp[2]\PfCListeCCOp[3]\PfCListeCCOp[4]\PfCListeCCOp[5]}}}}\\
+ \rule{0pt}{\PfCCalculsCroises}\StrCompare{\PfCListeCCOp[6]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[6]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[7]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[7]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[8]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[8]$}}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{%
+ \setcounter{CCRetiensAide}{0}%
\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[4]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[4]}}{}%
- }%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[9]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[9]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[9]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[9]}%
}{}%
- }}&\StrCompare{\PfCListeCCOp[6]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[6]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[5]}}{%
- \ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[5]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[5]}}{}%
- }%
+ }%
+ }&\StrCompare{\PfCListeCCOp[10]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[10]$}}&\Block{}{%
+ \ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[11]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[11]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[11]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[11]}%
}{}%
- }}&\StrCompare{\PfCListeCCOp[7]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[7]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[6]}}{%
- \ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[6]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[6]}}{}%
- }%
+ }%
+ }&\StrCompare{\PfCListeCCOp[12]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[12]$}}&\Block{}{%
+ \ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[13]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[13]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[13]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[13]}%
}{}%
- }}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCNb[4]\PfCListeCCOp[6]\PfCListeCCNb[5]\PfCListeCCOp[7]\PfCListeCCNb[6]}}}}\\
- \rule{0pt}{\PfCCalculsCroises}\StrCompare{\PfCListeCCOp[8]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[8]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[9]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[9]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[10]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[10]$}}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[7]}}{%
+ }%
+ }&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[9]\PfCListeCCOp[10]\PfCListeCCOp[11]\PfCListeCCOp[12]\PfCListeCCOp[13]}}}}\\
+ \rule{0pt}{\PfCCalculsCroises}\StrCompare{\PfCListeCCOp[14]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[14]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[15]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[15]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[16]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[16]$}}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block{}{%
\ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}%
\xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[7]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[7]}}{}%
+ \xintifboolexpr{\PfCListeCCOp[17]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[17]}}{\stepcounter{CCRetiensAide}}%
}%
- }{}%
- }}&\StrCompare{\PfCListeCCOp[11]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[11]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[8]}}{%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[17]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[17]}%
+ }{}%
+ }%
+ }&\StrCompare{\PfCListeCCOp[18]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[18]$}}&\Block{}{%
\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[8]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[8]}}{}%
- }%
+ \setcounter{CCRetiensAide}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[19]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[19]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[19]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[19]}%
}{}%
- }}&\StrCompare{\PfCListeCCOp[12]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[12]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCNb[9]}}{%
- \ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCNb[9]==\PfCListeCCAide[##1]}{\num{\PfCListeCCNb[9]}}{}%
- }%
+ }%
+ }&\StrCompare{\PfCListeCCOp[20]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[20]$}}&\Block{}{%
+ \ifboolKV[CalculsCroises]{Aide}{%
+ \setcounter{CCRetiensAide}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
+ \xintifboolexpr{\PfCListeCCOp[21]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[21]}}{\stepcounter{CCRetiensAide}}%
+ }%
+ \xintifboolexpr{\theCCRetiensAide==\PfCListeCCAidelen}{\ifboolKV[CalculsCroises]{Solution}{\color{PfCCouleurCCS}\num{\PfCListeCCOp[21]}}{}}{}%
+ }{\ifboolKV[CalculsCroises]{Solution}{%
+ \color{PfCCouleurCCS}\num{\PfCListeCCOp[21]}%
}{}%
- }}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCNb[7]\PfCListeCCOp[11]\PfCListeCCNb[8]\PfCListeCCOp[12]\PfCListeCCNb[9]}}}}\\
- \rule{0pt}{\PfCCalculsCroises}\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCNb[1]\PfCListeCCOp[3]\PfCListeCCNb[4]\PfCListeCCOp[8]\PfCListeCCNb[7]}}}}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCNb[2]\PfCListeCCOp[4]\PfCListeCCNb[5]\PfCListeCCOp[9]\PfCListeCCNb[8]}}}}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCNb[3]\PfCListeCCOp[5]\PfCListeCCNb[6]\PfCListeCCOp[10]\PfCListeCCNb[9]}}}}\\
+ }%
+ }&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[17]\PfCListeCCOp[18]\PfCListeCCOp[19]\PfCListeCCOp[20]\PfCListeCCOp[21]}}}}\\
+ \rule{0pt}{\PfCCalculsCroises}\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[1]\PfCListeCCOp[6]\PfCListeCCOp[9]\PfCListeCCOp[14]\PfCListeCCOp[17]}}}}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[3]\PfCListeCCOp[7]\PfCListeCCOp[11]\PfCListeCCOp[15]\PfCListeCCOp[19]}}}}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[5]\PfCListeCCOp[8]\PfCListeCCOp[13]\PfCListeCCOp[16]\PfCListeCCOp[21]}}}}\\
+ }%
\CodeAfter
\tikz\draw (1-|1) rectangle (6-|6);
\xintFor* ##1 in{\xintSeq{2}{5}}\do{%
@@ -96,91 +174,6 @@
\xintFor* ##1 in{\xintSeq{2}{5}}\do{%
\tikz\draw (##1-|1) -- (##1-|6);
}%
- \end{NiceTabular}
- }{%
- \ifboolKV[CalculsCroises]{Vide}{%
- \begin{NiceTabular}{*{6}{m{\useKV[CalculsCroises]{Largeur}}}}
- \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block[fill=black]{}{}&\Block{}{}&\Block[fill=black]{}{}&\Block{}{}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block[fill=black]{}{}&\Block{}{}&\Block[fill=black]{}{}&\Block{}{}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block{}{}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{}\\
- \rule{0pt}{\PfCCalculsCroises}\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{}\\
- \CodeAfter
- \tikz\draw (1-|1) rectangle (6-|6);
- \xintFor* ##1 in{\xintSeq{2}{5}}\do{%
- \tikz\draw (1-|##1) -- (6-|##1);
- }%
- \xintFor* ##1 in{\xintSeq{2}{5}}\do{%
- \tikz\draw (##1-|1) -- (##1-|6);
- }%
- \end{NiceTabular}
- }{%
- \readlist*\PfCListeCCOp{#2}%
- \xdef\PfCCCfoo{\useKV[CalculsCroises]{ListeNombres}}%
- \readlist*\PfCListeCCAide{\PfCCCfoo}%
- \begin{NiceTabular}{*{6}{m{\useKV[CalculsCroises]{Largeur}}}}
- \rule{0pt}{\PfCCalculsCroises}\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[1]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[1]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[1]}}{}%
- }%
- }{}%
-}}&\StrCompare{\PfCListeCCOp[2]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[2]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[3]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[3]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[3]}}{}%
- }%
- }{}%
-}}&\StrCompare{\PfCListeCCOp[4]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[4]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[5]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[5]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[5]}}{}%
- }%
- }{}%
-}}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[1]\PfCListeCCOp[2]\PfCListeCCOp[3]\PfCListeCCOp[4]\PfCListeCCOp[5]}}}}\\
- \rule{0pt}{\PfCCalculsCroises}\StrCompare{\PfCListeCCOp[6]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[6]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[7]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[7]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[8]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[8]$}}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[9]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[9]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[9]}}{}%
- }%
- }{}%
-}}&\StrCompare{\PfCListeCCOp[10]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[10]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[11]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[11]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[11]}}{}%
- }%
- }{}%
-}}&\StrCompare{\PfCListeCCOp[12]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[12]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[13]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[13]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[13]}}{}%
- }%
- }{}%
-}}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[9]\PfCListeCCOp[10]\PfCListeCCOp[11]\PfCListeCCOp[12]\PfCListeCCOp[13]}}}}\\
- \rule{0pt}{\PfCCalculsCroises}\StrCompare{\PfCListeCCOp[14]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[14]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[15]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[15]$}}&\Block[fill=black]{}{~}&\StrCompare{\PfCListeCCOp[16]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[16]$}}\\
- \rule{0pt}{\PfCCalculsCroises}\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[17]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[17]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[17]}}{}%
- }%
- }{}%
-}}&\StrCompare{\PfCListeCCOp[18]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[18]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[19]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[19]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[19]}}{}%
- }%
- }{}%
-}}&\StrCompare{\PfCListeCCOp[20]}{*}[\PfCTestEtoile]\Block{}{\xintifboolexpr{\PfCTestEtoile==0}{$\times$}{$\PfCListeCCOp[20]$}}&\Block{}{\ifboolKV[CalculsCroises]{Solution}{\num{\PfCListeCCOp[21]}}{\ifboolKV[CalculsCroises]{Aide}{%
- \xintFor* ##1 in{\xintSeq{1}{\PfCListeCCAidelen}}\do{%
- \xintifboolexpr{\PfCListeCCOp[21]==\PfCListeCCAide[##1]}{\num{\PfCListeCCOp[21]}}{}%
- }%
- }{}%
-}}&\Block[borders={bottom,right,top},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[17]\PfCListeCCOp[18]\PfCListeCCOp[19]\PfCListeCCOp[20]\PfCListeCCOp[21]}}}}\\
- \rule{0pt}{\PfCCalculsCroises}\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[1]\PfCListeCCOp[6]\PfCListeCCOp[9]\PfCListeCCOp[14]\PfCListeCCOp[17]}}}}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[3]\PfCListeCCOp[7]\PfCListeCCOp[11]\PfCListeCCOp[15]\PfCListeCCOp[19]}}}}&&\Block[borders={left,bottom,right},fill=PfCCouleurCC]{}{\ifboolKV[CalculsCroises]{Inverse}{}{\num{\fpeval{\PfCListeCCOp[5]\PfCListeCCOp[8]\PfCListeCCOp[13]\PfCListeCCOp[16]\PfCListeCCOp[21]}}}}\\
- \CodeAfter
- \tikz\draw (1-|1) rectangle (6-|6);
- \xintFor* ##1 in{\xintSeq{2}{5}}\do{%
- \tikz\draw (1-|##1) -- (6-|##1);
- }%
- \xintFor* ##1 in{\xintSeq{2}{5}}\do{%
- \tikz\draw (##1-|1) -- (##1-|6);
- }%
- \end{NiceTabular}
- }%
- }%
- \restorecomparemode%
+ \end{NiceTabular}
+ \restorecomparemode%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCalisson.tex b/macros/latex/contrib/profcollege/latex/PfCCalisson.tex
index 08f3d91521..60c424bdff 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCalisson.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCalisson.tex
@@ -56,47 +56,86 @@
}%
}%
}%
- %Liste gauche : \the\tokcalissonlistetracesg%
+ % Liste gauche : \the\tokcalissonlistetracesg%
+% \par Pour la droite, Il reste \Reste
% Partie droite
- \StrLeft{0\Reste}{3}[\Depart]%
- \expandafter\UpdatetoksCalissondDepart\Depart\nil%
- \StrGobbleLeft{0\Reste}{3}[\Reste]%
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}-2}}}\do{%
+ \xintifboolexpr{\useKV[Calisson]{Taille}==2}{%
+ % 10
\StrLeft{0\Reste}{3}[\Depart]%
- \expandafter\UpdatetoksCalissond\Depart\nil%
+ \expandafter\UpdatetoksCalissondDepart\Depart\nil%
\StrGobbleLeft{0\Reste}{3}[\Reste]%
- }%
- \StrLeft{00\Reste}{3}[\Depart]%
- \StrGobbleLeft{00\Reste}{3}[\Reste]%
- \expandafter\UpdatetoksCalissond\Depart\nil%
-% fin premiere ligne
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}-1}}}\do{%
+ % 11
+ \StrLeft{00\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ \StrGobbleLeft{00\Reste}{3}[\Reste]%
+ % 12
\StrLeft{\Reste}{1}[\Depart]%
- \expandafter\UpdatetoksCalissond\Depart00\nil%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
\StrGobbleLeft{\Reste}{1}[\Reste]%
- \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}-1}}}\do{%
- \StrLeft{\Reste}{3}[\Depart]%
- \expandafter\UpdatetoksCalissond\Depart\nil%
- \StrGobbleLeft{\Reste}{3}[\Reste]%
- }%
+ % 13
+ \StrLeft{\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ \StrGobbleLeft{\Reste}{3}[\Reste]%
+ % 14
\StrLeft{00\Reste}{3}[\Depart]%
\expandafter\UpdatetoksCalissond\Depart\nil%
\StrGobbleLeft{00\Reste}{3}[\Reste]%
- }%
- %% fin des lignes intermédiaires
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}}}}\do{%
+ % 15
\StrLeft{\Reste}{1}[\Depart]%
- \expandafter\UpdatetoksCalissond\Depart00\nil%
+ \expandafter\UpdatetoksCalissond\Depart0\nil%
\StrGobbleLeft{\Reste}{1}[\Reste]%
- \xintifboolexpr{##1>\fpeval{\useKV[Calisson]{Taille}-1}}{}{%
- \xintFor* ##2 in {\xintSeq{\fpeval{\useKV[Calisson]{Taille}-##1}}{1}}\do{%
+ % 16
+ \StrLeft{\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ \StrGobbleLeft{\Reste}{3}[\Reste]%
+ % 17
+ \StrLeft{\Reste}{1}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart00\nil%
+% \StrGobbleLeft{\Reste}{2}[\Reste]%
+ }{%
+ \StrLeft{0\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissondDepart\Depart\nil%
+ \StrGobbleLeft{0\Reste}{3}[\Reste]%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}-2}}}\do{%
+ \StrLeft{0\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ \StrGobbleLeft{0\Reste}{3}[\Reste]%
+ }%
+ \StrLeft{00\Reste}{3}[\Depart]%
+ \StrGobbleLeft{00\Reste}{3}[\Reste]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ % \par A la première ligne : \the\tokcalissonlistetracesd
+ % fin premiere ligne
+ \StrLeft{0\Reste}{3}[\Depart]%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}-1}}}\do{%
+ \StrLeft{\Reste}{1}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart00\nil%
+ \StrGobbleLeft{\Reste}{1}[\Reste]%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}-1}}}\do{%
\StrLeft{\Reste}{3}[\Depart]%
\expandafter\UpdatetoksCalissond\Depart\nil%
\StrGobbleLeft{\Reste}{3}[\Reste]%
}%
+ \StrLeft{00\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ \StrGobbleLeft{00\Reste}{3}[\Reste]%
+ }
+ %% fin des lignes intermédiaires
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Calisson]{Taille}}}}\do{%
+ \StrLeft{\Reste}{1}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart00\nil%
+ \StrGobbleLeft{\Reste}{1}[\Reste]%
+ \xintifboolexpr{##1>\fpeval{\useKV[Calisson]{Taille}-1}}{}{%
+ \xintFor* ##2 in {\xintSeq{\fpeval{\useKV[Calisson]{Taille}-##1}}{1}}\do{%
+ \StrLeft{\Reste}{3}[\Depart]%
+ \expandafter\UpdatetoksCalissond\Depart\nil%
+ \StrGobbleLeft{\Reste}{3}[\Reste]%
+ }%
+ }%
}%
}%
-% \par Liste droite :\the\tokcalissonlistetracesd
+% \par Liste droite :\the\tokcalissonlistetracesd\par
+ %\par Liste cp : \tokcalissonlistetracesd{"0ss",0f0","ftf","ssf","0ff","tt0","0sf","sfs"}\the\tokcalissonlistetracesd\par
\BuildCalisson{\the\tokcalissonlistetracesg}{\the\tokcalissonlistetracesd}%
}%
@@ -109,7 +148,7 @@
%
Rayon=\useKV[Calisson]{Rayon};
Taille=\useKV[Calisson]{Taille};
- %
+ %
pair A,B,C,D,E,F,O;
O=(0,0);
path cc;
@@ -127,8 +166,8 @@
Bas=A--B--C;
TopGauche=E--F--A;
BasDroit=D--C--B;
- %
- pair Hor,Ver,Horn;
+ %
+ pair Hor,Ver,Horn,Retenir;
Hor=(1/Taille)[E,F];
Ver=rotation(Hor,E,60);
Horn=rotation(Hor,E,120);
@@ -140,36 +179,37 @@
for l=0 upto Taille:
n:=n+1;
M[n]=E+k*(Ver-E)+l*(Hor-E);
- % dotlabel.top(decimal(n),M[n]);
+ %dotlabel.top(decimal(n),M[n]);
endfor;
endfor;
for k=Taille upto 2*Taille-1:
for l=0 upto (2*Taille-1-k):
n:=n+1;
M[n]=E+k*(Ver-E)+l*(Hor-E);
- % dotlabel.top(decimal(n),M[n]);
+ %dotlabel.top(decimal(n),M[n]);
endfor;
endfor;
% Partie Droite -> ok
for k=1 upto Taille:
n:=n+1;
M[n]=E+k*(Horn-E);
- % dotlabel.top(decimal(n),M[n]);
+% dotlabel.top(decimal(n),M[n]);
endfor;
for k=1 upto Taille-1:
for l=0 upto Taille:
n:=n+1;
M[n]=E+k*(Ver-E)+l*(Horn-E);
- % dotlabel.top(decimal(n),M[n]);
+% dotlabel.top(decimal(n),M[n]);
endfor;
endfor;
for k=Taille upto 2*Taille-1:
for l=0 upto (2*Taille-1-k):
n:=n+1;
M[n]=E+k*(Ver-E)+l*(Horn-E);
- % dotlabel.top(decimal(n),M[n]);
+ %dotlabel.top(decimal(n),M[n]);
endfor;
endfor;
+ drawoptions();
%
%
string Retiens;
@@ -177,7 +217,7 @@
%
pair Depla;
Depla:=Hor;
- %
+ %
vardef LesTracesg(text t)=
trace polygone(A,B,C,D,E,F) withpen pencircle scaled 2;
for k=1 upto 2*Taille-1:
@@ -207,6 +247,11 @@
enddef;
%
vardef LesTracesd(text t)=
+ %if Taille=2:
+ %Hor:=(1/Taille)[E,F];
+ %Ver:=rotation(Hor,E,60);
+ %Horn:=rotation(Hor,E,120);
+ %fi;
for p_=t:
n:=n+1;
for d=1 upto 3:
@@ -215,6 +260,7 @@
elseif d=2:Depla:=Ver
else : Depla:=Hor
fi;
+% fill ((fullcircle scaled 3mm) shifted M[n]);
if (Retiens="0") or (Retiens="f"):
elseif Retiens="t":
trace (chemin(Depla,E) shifted (M[n]-E)) withpen pencircle scaled 2;
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
index fdfa7cd0a5..a2bccc2321 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
@@ -1,10 +1,11 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2}
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
+\defKV[Cartographie]{Traces=\setKV[Cartographie]{Codes}}
\newcommand\Cartographie[3][]{%
\ifluatex%
@@ -138,18 +139,20 @@
arborescence:=\useKV[Cartographie]{Arborescence};
LargeurCadre=\useKV[Cartographie]{Largeur};
HauteurCadre=\useKV[Cartographie]{Hauteur};
+ Epaisseur:=\useKV[Cartographie]{Epaisseur};
distanceecran=100*\useKV[Cartographie]{Echelle};
fleuves:=\useKV[Cartographie]{Fleuves};
- boolean Carte,Impression,VillesSup;
+ boolean Carte,Impression,VillesSup,Codes;
Carte=\useKV[Cartographie]{Carte};
Impression=\useKV[Cartographie]{Impression};
VillesSup=\useKV[Cartographie]{VillesSup};
+ Codes=\useKV[Cartographie]{Codes};
couleurfond:=\useKV[Cartographie]{CouleurFond};
if Impression:
- noncolore:=true;
- payscolor:=0.85white;
- couleurfond:=white;
- couleurfleuve:=couleurfond;
+ noncolore:=true;
+ payscolor:=0.85white;
+ couleurfond:=white;
+ couleurfleuve:=couleurfond;
fi;
capitales:=\useKV[Cartographie]{Capitales};
All:=\useKV[Cartographie]{All};
@@ -161,48 +164,52 @@
Caraibes:=\useKV[Cartographie]{Caraibes};
Afrique:=\useKV[Cartographie]{Afrique};
if Carte:
- Echelle:=\useKV[Cartographie]{AfficheEchelle};
- figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
- if \useKV[Cartographie]{PaysSeul}:
- projection:="bonne";
- theta:=#2;
- phi:=#3;
- zoom(echelle(#2,#3,\useKV[Cartographie]{EchelleCarte}));
- fill (bonnec(-90,-180) for k=-85 step 5 until 90:..bonnec(k,-180) endfor)..reverse(bonnec(-90,180) for k=-85 step 5 until 90:..bonnec(k,180) endfor)..cycle withcolor couleurfond;
- lecturep(arborescence&"PfC"&\useKV[Cartographie]{Pays}&".dat",couleurfond);%
- trace feuillet withpen pencircle scaled 2;
- if Echelle=true:
- draw ((Xa,Ya)+u*(1,1))--((Xa,Ya)+u*(2,1));
- labeloffset:=labeloffset*1.5;
- label.top(btex 0 etex,(Xa,Ya)+u*(1,1));
- label.top(TEX(""&decimal(Long)&"~km"),(Xa,Ya)+u*(2,1));
- labeloffset:=labeloffset/1.5;
- draw ((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9));
- draw (((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9))) shifted(u*(1,0));
- fi;
- else:
- projection:="bonne";
- Projection(#2,#3,echelle(#2,#3,\useKV[Cartographie]{EchelleCarte}));
- trace feuillet withpen pencircle scaled 2;
- fi;
- if VillesSup:
- nomfichiermul:=\useKV[Cartographie]{Villes};
- nblec:=scantokens readfrom nomfichiermul;
- drawoptions(withcolor (0.15,0.15,0.15));
- projection:="bonne";
- for p=1 upto nblec:
- pair Coord[],latlon;string p_;
- latlon=scantokens readfrom nomfichiermul;
- p_=scantokens readfrom nomfichiermul;
- Coord[p]=bonnec(ypart(latlon),xpart(latlon));
- dotlabel.scantokens readfrom nomfichiermul(TEX(""&p_&""),Coord[p]);
- endfor;
- drawoptions();
- closefrom nomfichiermul;
- fi;
+ Echelle:=\useKV[Cartographie]{AfficheEchelle};
+ figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
+ if \useKV[Cartographie]{PaysSeul}:
+ projection:="bonne";
+ theta:=#2;
+ phi:=#3;
+ zoom(echelle(#2,#3,\useKV[Cartographie]{EchelleCarte}));
+ fill (bonnec(-90,-180) for k=-85 step 5 until 90:..bonnec(k,-180) endfor)..reverse(bonnec(-90,180) for k=-85 step 5 until 90:..bonnec(k,180) endfor)..cycle withcolor couleurfond;
+ lecturep(arborescence&"PfC"&\useKV[Cartographie]{Pays}&".dat",couleurfond);%
+ if Echelle=true:
+ draw ((Xa,Ya)+u*(1,1))--((Xa,Ya)+u*(2,1));
+ labeloffset:=labeloffset*1.5;
+ label.top(btex 0 etex,(Xa,Ya)+u*(1,1));
+ label.top(TEX(""&decimal(Long)&"~km"),(Xa,Ya)+u*(2,1));
+ labeloffset:=labeloffset/1.5;
+ draw ((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9));
+ draw (((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9))) shifted(u*(1,0));
+ fi;
+ else:
+ projection:="bonne";
+ Projection(#2,#3,echelle(#2,#3,\useKV[Cartographie]{EchelleCarte}));
+ fi;
+ if Epaisseur>0:
+ trace feuillet withpen pencircle scaled Epaisseur;
+ fi;
+ if VillesSup:
+ nomfichiermul:=\useKV[Cartographie]{Villes};
+ nblec:=scantokens readfrom nomfichiermul;
+ drawoptions(withcolor (0.15,0.15,0.15));
+ projection:="bonne";
+ for p=1 upto nblec:
+ pair Coord[],latlon;string p_;
+ latlon=scantokens readfrom nomfichiermul;
+ p_=scantokens readfrom nomfichiermul;
+ Coord[p]=bonnec(ypart(latlon),xpart(latlon));
+ dotlabel.scantokens readfrom nomfichiermul(TEX(""&p_&""),Coord[p]);
+ endfor;
+ drawoptions();
+ closefrom nomfichiermul;
+ fi;
+ if Codes:
+ \useKV[Cartographie]{Traces};
+ fi;
else:
- draw(0,0)--(50,50);
- mappemonde(#2,#3);
+ draw(0,0)--(50,50);
+ mappemonde(#2,#3);
fi;
\end{mplibcode}
}
diff --git a/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex b/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
index a70b818b25..253f12533d 100644
--- a/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
@@ -57,6 +57,7 @@
endfor;
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\else
\begin{mpost}[mpsettings={numeric decalage;decalage=\useKV[ClesNombrePremier]{Decalage}*1mm; boolean Entoure; Entoure=\useKV[ClesNombrePremier]{Entoure};}]
input PfCArithmetique;
@@ -103,7 +104,8 @@
if \useKV[ClesNombrePremier]{Entoure}:
draw polygone(N[nbe-1][0]+(-0.25*dx,0.25*decalage),N[nbe-1][nbe-1]+(0.25*dx,0.25*decalage),N[nbe-1][nbe-1]+(0.25*dx,-0.25*decalage),N[nbe-1][0]+(-0.25*dx,-0.25*decalage)) dashed evenly;
fi;
- \end{mplibcode}
+\end{mplibcode}
+ \mplibnumbersystem{scaled}
\else
\begin{mpost}[mpsettings={numeric decalage;decalage=\useKV[ClesNombrePremier]{Decalage}*1mm;}]
input PfCArithmetique;
@@ -138,6 +140,7 @@
PositionsVide(NbEtape(#1));
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\else
\begin{mpost}[mpsettings={numeric decalage; decalage=\useKV[ClesNombrePremier]{Decalage}*1mm;}]
input PfCArithmetique;
@@ -258,6 +261,7 @@
trace feuillage;
draw Bilan;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\else
\begin{mpost}[mpsettings={numeric decalage;decalage=\useKV[ClesNombrePremier]{Decalage}*1mm;color CouleurTronc,CouleurFeuillage,CouleurFruits,CouleurTexte;CouleurTronc=\useKV[ClesNombrePremier]{CouleurTronc};CouleurFeuillage=\useKV[ClesNombrePremier]{CouleurFeuillage};CouleurFruits=\useKV[ClesNombrePremier]{CouleurFruits}; CouleurTexte=\useKV[ClesNombrePremier]{CouleurTexte}; boolean Vide; Vide=\useKV[ClesNombrePremier]{Vide};}]
input PfCArithmetiquePDF;
diff --git a/macros/latex/contrib/profcollege/latex/PfCDistributivite.tex b/macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
index b0d60d14e8..272e260d0a 100644
--- a/macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
@@ -995,9 +995,9 @@
\xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multi==0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{\Multij}{0}{0}\xintifboolexpr{\Multij<0}{)}{}}%
\xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multil==0}{\xintifboolexpr{#2=0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{0}{0}{\Multik}\xintifboolexpr{\Multik<0}{)}{}}%
\xintifboolexpr{\Multil==0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{\Multil}{0}\xintifboolexpr{\Multil<0}{)}{}%
- \xdef\Multim{\fpeval{#2*#4+#3*#5}}%
+ \xdef\Multim{\fpeval{#2*#4+#3*#5}}%
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multik}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multij}}}{}%
- \ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multik}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multij}}}{}%
+ \ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multik}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multij}}}{}%
}{}%
\xintifboolexpr{\useKV[ClesDistributivite]{Echange}==2}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\AffichageEchange{0}{\Multi}{0})}{\AffichageEchange{0}{\Multi}{0}}}{\AffichageEchange{0}{\Multi}{0}}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCDomino.tex b/macros/latex/contrib/profcollege/latex/PfCDomino.tex
index e0e8fbd417..a21e068e56 100644
--- a/macros/latex/contrib/profcollege/latex/PfCDomino.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCDomino.tex
@@ -94,7 +94,7 @@
\end{MyDominoMini}%
}{%
\begin{MyDominoMini}[sidebyside,sidebyside gap=4mm,righthand ratio=\ratiodomino]%
- \ListeDominos[\i,1]\tcblower\ListeDominos[\i,2]%
+ \ListeDominos[\i,1]\tcblower\ListeDominos[\i,2]%
\end{MyDominoMini}%
}%
};
@@ -120,7 +120,7 @@
}{%
\begin{MyDominoMini}[sidebyside,sidebyside gap=4mm,righthand ratio=\ratiodomino]%
\ListeDominos[1,1]\tcblower%
- \ListeDominos[1,2]%
+ \ListeDominos[1,2]%
\end{MyDominoMini}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcrireQCMold.tex b/macros/latex/contrib/profcollege/latex/PfCEcrireQCMold.tex
deleted file mode 100644
index a7d4622f5f..0000000000
--- a/macros/latex/contrib/profcollege/latex/PfCEcrireQCMold.tex
+++ /dev/null
@@ -1,148 +0,0 @@
-%%%
-% QCM
-%%%
-\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=2cm,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche}}%
-\newlength{\LargeurQCM}%
-\newlength{\PfCLargeurQCM}%
-\newcounter{QuestionQCM}%
-\newcounter{TitreQCM}%
-\ifdef{\QCM}{%
- \PackageWarning{ProfCollege}{La commande \noexpand\QCM étant définie par la classe du document, ProfCollege modifie sa commande \noexpand\QCM en \noexpand\QCMPfC.}%
- \newcommand\QCMPfC[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{§*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}%
- }{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
- }{%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}\xintifboolexpr{##2==\ListeQCM[##1,\NumeroReponse]}{\cellcolor{\useKV[ClesQCM]{Couleur}}}{}}{}\ListeQCM[##1,##2+1]%
- }\\
- }%
- \hline%
- \end{tabular}%
- }%
- }%
- \renewcommand{\arraystretch}{1}%
- }%
-}{%
- \NewDocumentCommand\QCM{om}{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
- }{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
- }{%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}\xintifboolexpr{##2==\ListeQCM[##1,\NumeroReponse]}{\cellcolor{\useKV[ClesQCM]{Couleur}}}{}}{}\ListeQCM[##1,##2+1]%
- }\\
- }%
- \hline%
- \end{tabular}%
- }%
- }%
- \renewcommand{\arraystretch}{1}%
- }%
-}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
index c4b19598fb..ecb975ff3b 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
@@ -52,7 +52,7 @@
\SI{#3}{\jour}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\jour}}%
+ \pointilles[\PfCLgUnites]\,\si{\jour}}%
\IfNoValueF{#4}{\,}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex b/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
index 68e7bdbea4..86d323139e 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
@@ -24,7 +24,7 @@
\def\BuildEngrenagesCode#1{%
u:=\useKV[Engrenages]{Unite};
CouleurEngrenage=\useKV[Engrenages]{Couleur};
- %
+ %
vardef LectureDonnees(text t)=
n:=0;k=0;l=0;
for p_=t:
@@ -38,7 +38,7 @@
fi;
endfor;
enddef;
- %
+ %
LectureDonnees(#1);
%
pair K;
@@ -48,7 +48,7 @@
trace Engrenage(Mm[1],Zz[1],(0,0));
%
Signe=1;
- %
+ %
for w=2 upto (n div 2):
K:=K+pointarc(cercles((0,0),u*Mm[w]*(Zz[w-1]+Zz[w])*0.5+0.04*u),0);
AngleRot[w]:=360/(2*Zz[w]);
diff --git a/macros/latex/contrib/profcollege/latex/PfCErathostene.tex b/macros/latex/contrib/profcollege/latex/PfCErathostene.tex
index 983770d0f9..2924d856d5 100644
--- a/macros/latex/contrib/profcollege/latex/PfCErathostene.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCErathostene.tex
@@ -69,7 +69,7 @@
}{%Le nombre choisi n'est pas un nombre premier, ses multiples ont déjà étaient criblés.
}%
}%
- }%
+ }%
\Body
\xintFor* ##1 in{\xintSeq{0}{\fpeval{\useKV[ClesEra]{Lignes}-1}}}\do{%
\xintFor* ##2 in{\xintSeq{1}{\useKV[ClesEra]{Colonnes}}}\do{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex b/macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
index be5e05d673..509ca1d200 100644
--- a/macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
@@ -203,6 +203,7 @@
Corps:=(Corps scaled \useKV[ClesLabyNb]{Echelle}) rotated \useKV[ClesLabyNb]{Angle};
trace Corps;
\end{mplibcode}
+\mplibnumbersystem{scaled}
\fi
}
diff --git a/macros/latex/contrib/profcollege/latex/PfCMulArt.tex b/macros/latex/contrib/profcollege/latex/PfCMulArt.tex
new file mode 100644
index 0000000000..601d6e52f1
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCMulArt.tex
@@ -0,0 +1,472 @@
+%%%
+% Mulart
+%%%
+\setKVdefault[TabMul]{Multiple=2,Cibles=false,Largeur=20pt,Couleurs=false,Graines=false,Operations=false,Enonce=false,SchemaEnonce=false}
+\defKV[TabMul]{Couleur=\setKV[TabMul]{Couleurs}}
+\defKV[TabMul]{Graine=\setKV[TabMul]{Graines}\PfCGraineAlea{#1}}
+\defKV[TabMul]{Cible=\setKV[TabMul]{Cibles}}%
+
+\newtoks\tokstabmul
+\newtoks\tokstabmulpdts
+\newtoks\tokstabmulnonpdts
+\newtoks\tokstabmulpdtscible
+\def\UpdatetoksTabMul#1\nil{\addtotok\tokstabmul{"#1",}}%
+\def\UpdatetoksTabMulPdts#1\nil{\addtotok\tokstabmulpdts{"#1",}}%
+\def\UpdatetoksTabMulNonPdts#1\nil{\addtotok\tokstabmulnonpdts{"#1",}}%
+\def\UpdatetoksTabMulPdtsCible#1\nil{\addtotok\tokstabmulpdtscible{"#1",}}%
+
+\NewDocumentCommand\TableauMultiplicatif{om}{%
+ \useKVdefault[TabMul]%
+ \setKV[TabMul]{#1}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfCListeTabMul{#2}%
+ \reademptyitems%
+ \StrLen{\PfCListeTabMul[1]}[\TailleTabMul]%
+ \tokstabmul{}%
+ \foreachitem\compteur\in\PfCListeTabMul{\expandafter\UpdatetoksTabMul\compteur\nil}%
+ \savecomparemode%
+ \comparestrict%
+ \ifboolKV[TabMul]{Cibles}{%
+ \tokstabmulpdtscible{}%
+ \xdef\PfCCompteurX{0}%
+ \xdef\PfCCompteurO{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\PfCListeTabMullen}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{\TailleTabMul}}\do{%
+ \StrChar{\PfCListeTabMul[##1]}{##2}[\PfCLettre]%
+ \IfStrEq{\PfCLettre}{x}{%
+ \xdef\PfCCompteurX{\fpeval{\PfCCompteurX+1}}%
+ }{\IfStrEq{\PfCLettre}{o}{%
+ \xdef\PfCCompteurO{\fpeval{\PfCCompteurO+1}}%
+ }{}%
+ }%
+ }%
+ }%
+ \xdef\PfCFooRetiensCible{\useKV[TabMul]{Cible}}%
+ \readlist*\PfCListeDesNombresCibles{\PfCFooRetiensCible}%
+ \xintFor* ##2 in{\xintSeq{1}{\PfCListeDesNombresCibleslen}}\do{%
+ \PfCListeDiviseurs{\PfCListeDesNombresCibles[##2]}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfCTabMulDiviseursCible{\PfCListeDiviseursRetour}%
+ \xdef\PfCFooListePdtCible{$1\times\num{\PfCListeDesNombresCibles[##2]}$,$\num{\PfCListeDesNombresCibles[##2]}\times1$}%
+ \xintFor* ##1 in {\xintSeq{1}{\PfCNbDiviseurs}}\do{%
+ \xdef\PfCFooListePdtCible{\PfCFooListePdtCible,$\num{\PfCTabMulDiviseursCible[##1]}\times\num{\fpeval{\PfCListeDesNombresCibles[##2]/\PfCTabMulDiviseursCible[##1]}}$,$\num{\fpeval{\PfCListeDesNombresCibles[##2]/\PfCTabMulDiviseursCible[##1]}}\times\num{\PfCTabMulDiviseursCible[##1]}$}%
+ }%
+ }%
+ \ignoreemptyitems%
+ \readlist*\PfCListeProduitsCible{\PfCFooListePdtCible}%
+ \foreachitem\compteur\in\PfCListeProduitsCible{\expandafter\UpdatetoksTabMulPdtsCible\compteur\nil}%
+ \BuildTabMulCible{\the\tokstabmul}{\the\tokstabmulpdtscible}{\PfCFooRetiensCible}%
+ }{%
+ \ifboolKV[TabMul]{Operations}{%
+ \xdef\PfCTabMulListePdts{4,6,8,9,10,12,14,15,16,18,20,21,24,25,27,28,30,32,35,36,40,42,45,48,49,50,54,56,60,63,64,70,72,80,81,90,100}%37
+ \xdef\PfCTabMulListeNonPdts{2,3,5,7,11,13,17,19,22,23,26,29,31,33,34,37,38,39,41,43,44,46,47,51,52,53,55,57,58,59,61,62,65,66,67,68,69,71,73,74,75,76,77,78,79,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,99}%62
+ \xdef\PfCCompteurX{0}
+ \xdef\PfCCompteurO{0}
+ \xintFor* ##1 in {\xintSeq{1}{\PfCListeTabMullen}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{\TailleTabMul}}\do{%
+ \StrChar{\PfCListeTabMul[##1]}{##2}[\PfCLettre]%
+ \IfStrEq{\PfCLettre}{x}{%
+ \xdef\PfCCompteurX{\fpeval{\PfCCompteurX+1}}%
+ }{\IfStrEq{\PfCLettre}{o}{%
+ \xdef\PfCCompteurO{\fpeval{\PfCCompteurO+1}}%
+ }{}%
+ }%
+ }%
+ }%
+ \xdef\NombreRepetX{\fpeval{ceil(\PfCCompteurX/37)}}%
+ \xdef\NombreRepetO{\fpeval{ceil(\PfCCompteurO/62)}}%
+ \xdef\PfCTabMulListeFinalePdts{}
+ \xdef\PfCTabMulListeFinaleNonPdts{}
+ \xintFor* ##1 in {\xintSeq{1}{\NombreRepetX}}\do{%
+ \xdef\PfCTabMulListeFinalePdts{\PfCTabMulListeFinalePdts,\PfCTabMulListePdts}
+ }%
+ \xintFor* ##1 in {\xintSeq{1}{\NombreRepetO}}\do{%
+ \xdef\PfCTabMulListeFinaleNonPdts{\PfCTabMulListeFinaleNonPdts,\PfCTabMulListeNonPdts}
+ }%
+ \MelangeListe{\PfCTabMulListeFinalePdts}{\PfCCompteurX}
+ \ignoreemptyitems
+ \readlist*\PfCListeProduits{\faa}
+ \MelangeListe{\PfCTabMulListeFinaleNonPdts}{\PfCCompteurO}
+ \ignoreemptyitems
+ \readlist*\PfCListeNonProduits{\faa}
+ \ifboolKV[TabMul]{Enonce}{%
+ \begin{enumerate}
+ \xintFor* ##1 in {\xintSeq{1}{\PfCCompteurX}}\do{%
+ \PfCListeDiviseurs{\PfCListeProduits[##1]}%
+ \ifnum\PfCNbDiviseurs>1\relax
+ \MelangeListe{\PfCListeDiviseursRetour}{1}%
+ \else
+ \xdef\faa{\PfCListeDiviseursRetour}
+ \fi
+ \ignoreemptyitems
+ \readlist*\PfCListeDiviseurChoisi{\faa}%
+ \item $\PfCListeDiviseurChoisi[1]\times\fpeval{\PfCListeProduits[##1]/\PfCListeDiviseurChoisi[1]}=$
+ }
+ \end{enumerate}
+ }{}
+ \ifboolKV[TabMul]{SchemaEnonce}{%
+ \tokstabmulpdts{}
+ \tokstabmulnonpdts{}
+ \xdef\PfCFoo{\PfCListeProduits[1]}
+ \xintFor* ##3 in {\xintSeq{2}{\PfCCompteurX}}\do{%
+ \xdef\PfCFoo{\PfCFoo,\PfCListeProduits[##3]}%
+ }%
+ \MelangeListe{\PfCFoo}{\PfCCompteurX}%
+ \ignoreemptyitems
+ \readlist*\PfCListeProduits{\faa}%
+ \foreachitem\compteur\in\PfCListeProduits{\expandafter\UpdatetoksTabMulPdts\compteur\nil}%
+ \foreachitem\compteur\in\PfCListeNonProduits{\expandafter\UpdatetoksTabMulNonPdts\compteur\nil}%
+ \BuildTabMulEnonce{\the\tokstabmul}{\the\tokstabmulpdts}{\the\tokstabmulnonpdts}
+ }{}%%
+ }{%
+ \BuildTabMul{\the\tokstabmul}%
+ }
+ }
+ \restorecomparemode%
+ \reademptyitems%
+}%
+
+\NewDocumentCommand\PfCListeDiviseurs{m}{%
+ \ifnum#1<10\relax
+ \xdef\PfCLimiteDiv{#1}
+ \else
+ \xdef\PfCLimiteDiv{10}
+ \fi
+ \xdef\PfCListeDiviseursRetour{}
+ \xdef\PfCNbDiviseurs{}
+ \xintFor* ##2 in {\xintSeq{2}{\PfCLimiteDiv}}\do{%
+ \modulo{#1}{##2}\relax
+ \ifnum\remainder=0\relax
+ \xdef\PfCListeDiviseursRetour{\PfCListeDiviseursRetour ##2,}%
+ \xdef\PfCNbDiviseurs{\fpeval{\PfCNbDiviseurs+1}}%
+ \fi
+ }%
+}%
+
+\def\TabMulCibleCode{%
+ NbCasesLarg=\TailleTabMul;
+ Largeur=\useKV[TabMul]{Largeur};
+ color CoulFond;
+ boolean Colore,Stop,Graines;
+ Colore=\useKV[TabMul]{Couleurs};
+ if Colore:
+ CoulFond=\useKV[TabMul]{Couleur};
+ fi;
+ Graines=\useKV[TabMul]{Graines};
+ if Graines:
+ randomseed:=\useKV[TabMul]{Graine};
+ fi;
+ vardef NombresCibles(text t)=
+ nbc=0;
+ for p_=t:
+ nbc:=nbc+1;
+ Cible[nbc]=p_;
+ endfor;
+ enddef;
+ %
+ vardef LectureDesProduits(text t)=
+ string Sproduits[];
+ nbp=0;
+ for p_=t:
+ nbp:=nbp+1;
+ Sproduits[nbp]=p_;
+ endfor;
+ enddef;
+ %
+ vardef Remplissage(text t)=
+ pair M[][];
+ n=0;
+ for p_=t:
+ for k=0 upto NbCasesLarg-1:
+ l:=n mod NbCasesLarg;
+ h:=n div NbCasesLarg;
+ M[l][h]=Largeur*(l,-h);
+ if (substring(k,k+1) of p_)="x":
+ if Colore:
+ fill ((unitsquare scaled Largeur) shifted M[l][h]) withcolor CoulFond;
+ fi;
+ label(TEX(Sproduits[ceiling(uniformdeviate(nbp))]),M[l][h] shifted (Largeur*(0.5,0.5)));
+ elseif (substring(k,k+1) of p_)="X":
+ fill ((unitsquare scaled Largeur) shifted M[l][h]);
+ else:
+ Stop:=false;
+ forever:
+ basea:=ceiling(1+uniformdeviate(9));
+ baseb:=ceiling(1+uniformdeviate(9));
+ basec:=0;
+ for r=1 upto nbc:
+ if (basea*baseb)<>Cible[r]:
+ basec:=basec+1;
+ fi;
+ endfor;
+ if basec=nbc:
+ Stop:=true;
+ fi;
+ exitif Stop;
+ endfor;
+ label(TEX("$\num{"&decimal(basea)&"}\times\num{"&decimal(baseb)&"}$"),M[l][h] shifted (Largeur*(0.5,0.5)));
+ fi;
+ trace (unitsquare scaled Largeur) shifted M[l][h];
+ n:=n+1;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef RemplissagePDF(text t)=
+ pair M[][];
+ n=0;
+ for p_=t:
+ for k=0 upto NbCasesLarg-1:
+ l:=n mod NbCasesLarg;
+ h:=n div NbCasesLarg;
+ M[l][h]=Largeur*(l,-h);
+ if (substring(k,k+1) of p_)="x":
+ if Colore:
+ fill ((unitsquare scaled Largeur) shifted M[l][h]) withcolor CoulFond;
+ fi;
+ label(LATEX(Sproduits[ceiling(uniformdeviate(nbp))]),M[l][h] shifted (Largeur*(0.5,0.5)));
+ elseif (substring(k,k+1) of p_)="X":
+ fill ((unitsquare scaled Largeur) shifted M[l][h]);
+ else:
+ Stop:=false;
+ forever:
+ basea:=ceiling(1+uniformdeviate(9));
+ baseb:=ceiling(1+uniformdeviate(9));
+ basec:=0;
+ for r=1 upto nbc:
+ if (basea*baseb)<>Cible[r]:
+ basec:=basec+1;
+ fi;
+ endfor;
+ if basec=nbc:
+ Stop:=true;
+ fi;
+ exitif Stop;
+ endfor;
+ label(LATEX("$\num{"&decimal(basea)&"}\times\num{"&decimal(baseb)&"}$"),M[l][h] shifted (Largeur*(0.5,0.5)));
+ fi;
+ trace (unitsquare scaled Largeur) shifted M[l][h];
+ n:=n+1;
+ endfor;
+ endfor;
+ enddef;
+}%
+
+\NewDocumentCommand\BuildTabMulCible{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \mplibnumbersystem{double}
+ \begin{mplibcode}
+ \TabMulCibleCode
+ NombresCibles(#3);
+ LectureDesProduits(#2);
+ Remplissage(#1);
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \else
+ \begin{mpost}[mpsettings={\TabMulCibleCode}]
+ NombresCibles(#3);
+ LectureDesProduits(#2);
+ RemplissagePDF(#1);
+ \end{mpost}
+ \fi
+}
+
+\def\TabMulCode{%
+ NbCasesLarg=\TailleTabMul;
+ Multiple=\useKV[TabMul]{Multiple};
+ Largeur=\useKV[TabMul]{Largeur};
+ color CoulFond;
+ boolean Colore,Stop,Graines;
+ Colore=\useKV[TabMul]{Couleurs};
+ if Colore:
+ CoulFond=\useKV[TabMul]{Couleur};
+ fi;
+ Graines=\useKV[TabMul]{Graines};
+ if Graines:
+ randomseed:=\useKV[TabMul]{Graine};
+ fi;
+ vardef Remplissage(text t)=
+ pair M[][];
+ n=0;
+ for p_=t:
+ for k=0 upto NbCasesLarg-1:
+ l:=n mod NbCasesLarg;
+ h:=n div NbCasesLarg;
+ M[l][h]=Largeur*(l,-h);
+ if (substring(k,k+1) of p_)="x":
+ if Colore:
+ fill ((unitsquare scaled Largeur) shifted M[l][h]) withcolor CoulFond;
+ fi;
+ label(TEX(decimal(Multiple*ceiling(uniformdeviate(9)+1))),M[l][h] shifted (Largeur*(0.5,0.5)));
+ elseif (substring(k,k+1) of p_)="X":
+ fill ((unitsquare scaled Largeur) shifted M[l][h]);
+ else:
+ Stop:=false;
+ forever:
+ base:=ceiling((1+uniformdeviate(9))*(1+uniformdeviate(9)));
+ if (base mod Multiple)>0:
+ Stop:=true;
+ fi;
+ exitif Stop;
+ endfor;
+ label(TEX(decimal(base)),M[l][h] shifted (Largeur*(0.5,0.5)));
+ fi;
+ trace (unitsquare scaled Largeur) shifted M[l][h];
+ n:=n+1;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef RemplissagePDF(text t)=
+ pair M[][];
+ n=0;
+ for p_=t:
+ for k=0 upto NbCasesLarg-1:
+ l:=n mod NbCasesLarg;
+ h:=n div NbCasesLarg;
+ M[l][h]=Largeur*(l,-h);
+ if (substring(k,k+1) of p_)="x":
+ if Colore:
+ fill ((unitsquare scaled Largeur) shifted M[l][h]) withcolor CoulFond;
+ fi;
+ label(LATEX(decimal(Multiple*ceiling(uniformdeviate(9)+1))),M[l][h] shifted (Largeur*(0.5,0.5)));
+ elseif (substring(k,k+1) of p_)="X":
+ fill ((unitsquare scaled Largeur) shifted M[l][h]);
+ else:
+ Stop:=false;
+ forever:
+ base:=ceiling((1+uniformdeviate(9))*(1+uniformdeviate(9)));
+ if (base mod Multiple)>0:
+ Stop:=true;
+ fi;
+ exitif Stop;
+ endfor;
+ label(LATEX(decimal(base)),M[l][h] shifted (Largeur*(0.5,0.5)));
+ fi;
+ trace (unitsquare scaled Largeur) shifted M[l][h];
+ n:=n+1;
+ endfor;
+ endfor;
+ enddef;
+ }
+
+\NewDocumentCommand\BuildTabMul{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \mplibnumbersystem{double}
+ \begin{mplibcode}
+ \TabMulCode
+ Remplissage(#1);
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \else
+ \begin{mpost}[mpsettings={\TabMulCode}]
+ Remplissage(#1);
+ \end{mpost}
+ \fi
+}
+
+\def\TabMulEnonceCode{
+ NbCasesLarg=\TailleTabMul;
+ Multiple=\useKV[TabMul]{Multiple};
+ Largeur=\useKV[TabMul]{Largeur};
+ color CoulFond;
+ boolean Colore,Stop;%,Graines;
+ Colore=\useKV[TabMul]{Couleurs};
+ if Colore:
+ CoulFond=\useKV[TabMul]{Couleur};
+ fi;
+ vardef Remplissage(text t)(text listepdt)(text listenonpdt)=
+ string pdt[],nonpdt[];
+ n:=0;
+ for p_=listepdt:
+ pdt[n]=p_;
+ n:=n+1;
+ endfor;
+ n:=0;
+ for p_=listenonpdt:
+ nonpdt[n]=p_;
+ n:=n+1;
+ endfor;
+ pair M[][];
+ n:=0;
+ nx=0;
+ no=0;
+ for p_=t:
+ for k=0 upto NbCasesLarg-1:
+ l:=n mod NbCasesLarg;
+ h:=n div NbCasesLarg;
+ M[l][h]=Largeur*(l,-h);
+ if (substring(k,k+1) of p_)="x":
+ if Colore:
+ fill ((unitsquare scaled Largeur) shifted M[l][h]) withcolor CoulFond;
+ fi;
+ label(TEX(pdt[nx]),M[l][h] shifted (Largeur*(0.5,0.5)));
+ nx:=nx+1;
+ elseif (substring(k,k+1) of p_)="X":
+ fill ((unitsquare scaled Largeur) shifted M[l][h]);
+ else:
+ label(TEX(nonpdt[no]),M[l][h] shifted (Largeur*(0.5,0.5)));
+ no:=no+1;
+ fi;
+ trace (unitsquare scaled Largeur) shifted M[l][h];
+ n:=n+1;
+ endfor;
+ endfor;
+ enddef;
+ vardef RemplissagePDF(text t)(text listepdt)(text listenonpdt)=
+ string pdt[],nonpdt[];
+ n:=0;
+ for p_=listepdt:
+ pdt[n]=p_;
+ n:=n+1;
+ endfor;
+ n:=0;
+ for p_=listenonpdt:
+ nonpdt[n]=p_;
+ n:=n+1;
+ endfor;
+ pair M[][];
+ n:=0;
+ nx=0;
+ no=0;
+ for p_=t:
+ for k=0 upto NbCasesLarg-1:
+ l:=n mod NbCasesLarg;
+ h:=n div NbCasesLarg;
+ M[l][h]=Largeur*(l,-h);
+ if (substring(k,k+1) of p_)="x":
+ if Colore:
+ fill ((unitsquare scaled Largeur) shifted M[l][h]) withcolor CoulFond;
+ fi;
+ label(TEX(pdt[nx]),M[l][h] shifted (Largeur*(0.5,0.5)));
+ nx:=nx+1;
+ elseif (substring(k,k+1) of p_)="X":
+ fill ((unitsquare scaled Largeur) shifted M[l][h]);
+ else:
+ label(TEX(nonpdt[no]),M[l][h] shifted (Largeur*(0.5,0.5)));
+ no:=no+1;
+ fi;
+ trace (unitsquare scaled Largeur) shifted M[l][h];
+ n:=n+1;
+ endfor;
+ endfor;
+ enddef;
+ }
+
+\NewDocumentCommand\BuildTabMulEnonce{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \mplibnumbersystem{double}
+ \begin{mplibcode}
+ \TabMulEnonceCode
+ Remplissage(#1)(#2)(#3);
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \else
+ \begin{mpost}[mpsettings={\TabMulEnonceCode}]
+ RemplissagePDF(#1)(#2)(#3);
+ \end{mpost}
+ \fi
+} \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
index 9b6c46725a..0941c913ee 100644
--- a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
@@ -288,7 +288,7 @@
nbspline=0;
%
nbpoints=50;
- %
+ %
vardef SplineCubique(expr xzero,yzero,xuno,yuno,dzero,duno)=
nbspline:=nbspline+1;
a[nbspline]*(xzero**3)+b[nbspline]*(xzero**2)+c[nbspline]*xzero+d[nbspline]=yzero;
@@ -737,7 +737,7 @@
dotlabel.lft(TEX("\num{"&decimal(k)&"}"),Origine*cm+(0,k*yu));
endfor;
fi;
-%
+%
drawoptions(withpen pencircle scaled(1));
drawarrow (u*(0,ymin-grilley)--u*(0,ymax+grilley)) shifted (u*(xpart(Origine),0));
drawarrow (u*(xmin-grillex,0)--u*(xmax+grillex,0)) shifted (u*(0,ypart(Origine)));
@@ -798,7 +798,7 @@
dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
endfor;
fi;
-%
+%
drawoptions(withpen pencircle scaled(1));
drawarrow (u*(0,ymin)--u*(0,ymax)) shifted (u*(xpart(Origine),0));
drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
diff --git a/macros/latex/contrib/profcollege/latex/PfCNumberHive.tex b/macros/latex/contrib/profcollege/latex/PfCNumberHive.tex
index 309d5aaa9f..3c7903c3a0 100644
--- a/macros/latex/contrib/profcollege/latex/PfCNumberHive.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCNumberHive.tex
@@ -47,7 +47,7 @@
\readlist*\ListeCompoNH{\faa}%
\foreachitem\compteur\in\ListeCompoNH{\expandafter\UpdatetoksNHive\compteur\nil}%
\begin{tikzpicture}
- \node[xshift=1cm,yshift=-1cm,rotate=45] at (0,0) {\includegraphics[scale=0.1]{LogoNumberHive.png}};
+ \node[xshift=1cm,yshift=-1cm,rotate=45] at (0,0) {\includegraphics[scale=0.1]{PfCLogoNumberHive.png}};
\node[anchor=north west] at (0,0) {\BuildNumberHiveAdditif{\the\toklistenumberhive}{\useKV[NumberHive]{Niveau}}{\useKV[NumberHive]{Jetons}}{\ListeAvantCouleurs}{\the\toklistecasescoloreesNH}};
\end{tikzpicture}
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex b/macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
index 3e17ac010e..fdd5c7b685 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
@@ -93,11 +93,11 @@
Produit[3]=Facteur[3] * Facteur[1];
for k=1 upto 3:
if Produit or Solution:
- label(TEX("\num{"&decimal(Produit[k])&"}"),(1.75[O,B[k]]-center BoiteRec));
+ label(LATEX("\num{"&decimal(Produit[k])&"}"),(1.75[O,B[k]]-center BoiteRec));
fi;
if Produit:
else:
- label(TEX("\num{"&decimal(Facteur[k])&"}"),(0.5[O,A[k]]-center BoiteRec));
+ label(LATEX("\num{"&decimal(Facteur[k])&"}"),(0.5[O,A[k]]-center BoiteRec));
fi;
endfor;
fi;
diff --git a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
index 1b425a7701..f921498c54 100644
--- a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
@@ -31,7 +31,7 @@
picture]{\node[name=RelieD-\theNbRelie,inner
sep=0pt]{};\fill[] (RelieD-\theNbRelie) circle[radius=1.5pt]}}cp{\useKV[ClesRelie]{LargeurD}}}%
\xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{\ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
-\ifx\bla\untest\bla%
+\ifx\bla\untest\bla%
\uppercase{&}\stepcounter{NbRelie}%
\else
\uppercase{&}\stepcounter{NbRelie}\tikz[remember
@@ -49,7 +49,7 @@
\begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}>{\tikz[remember
picture,baseline]{\node[name=RelieD-\theNbRelie]{\Large\textbullet};}}cp{\useKV[ClesRelie]{LargeurD}}}%
\xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{\ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
-\ifx\bla\untest\bla%
+\ifx\bla\untest\bla%
\uppercase{&}\stepcounter{NbRelie}%
\else
\uppercase{&}\stepcounter{NbRelie}\tikz[remember picture,baseline]{\node[name=RelieG-\theNbRelie]{\Large\textbullet};}
diff --git a/macros/latex/contrib/profcollege/latex/PfCReperage.tex b/macros/latex/contrib/profcollege/latex/PfCReperage.tex
index 0d4ba8b3d6..48d4942761 100644
--- a/macros/latex/contrib/profcollege/latex/PfCReperage.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCReperage.tex
@@ -147,6 +147,7 @@
% label.top(TEX("Oeil="&decimal(greenpart(Oeil))),(0,2cm));
% label.top(TEX("Oeil="&decimal(bluepart(Oeil))),(0,3cm));
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\else
\begin{mpost}[mpsettings={PfCRho=\useKV[ClesReperage]{Rho};PfCPhi=\useKV[ClesReperage]{Phi};PfCTheta=\useKV[ClesReperage]{Theta};color CouleurE,CouleurG;CouleurE=\useKV[ClesReperage]{CouleurE};CouleurG=\useKV[ClesReperage]{CouleurG};boolean AffichageNom,Axes;AffichageNom=\useKV[ClesReperage]{AffichageNom};Axes=\useKV[ClesReperage]{Axes};}]
input PfCSolid;
@@ -767,7 +768,7 @@
drawarrow (B+(-0.75*unitpx,0))--(C+(0.75*unitpx,0));
drawarrow (D+(0,-0.75*unitpy))--(E+(0,0.75*unitpy));
% graduation compl\`ete ou pas ?
- label.llft(btex \footnotesize 0 etex,A);
+ label.llft(TEX("\footnotesize 0"),A);
if #6>0:
for k=minx upto maxx:
if (xpart((k*unitex,0))>xpart(B+(-0.75*unitpx,0))) and (xpart((k*unitex,0))<xpart(C+(0.75*unitpx,0))):
@@ -2409,9 +2410,9 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\StrBefore{\ListePointDroite[1,1]}{.}[\PartieEntiere]%
\StrBehind{\ListePointDroite[1,1]}{.}[\PartieDecimale]%
\StrLen{\PartieDecimale}[\LongueurPartieDecimale]%
- \ifboolKV[ClesReperage]{Niveaux}{}{
+ \ifboolKV[ClesReperage]{Niveaux}{}{%
\setKV[ClesReperage]{Etages=\LongueurPartieDecimale}%
- }
+ }%
\xdef\Foo{\PartieEntiere}%
\xintFor* ##1 in {\xintSeq{1}{\LongueurPartieDecimale}}\do{%
\StrChar{\PartieDecimale}{##1}[\LettreActuelle]%
diff --git a/macros/latex/contrib/profcollege/latex/PfCSolides.tex b/macros/latex/contrib/profcollege/latex/PfCSolides.tex
index 7ae73c4b00..0dfa500bf1 100644
--- a/macros/latex/contrib/profcollege/latex/PfCSolides.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCSolides.tex
@@ -209,14 +209,15 @@
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}
\newcommand\MPSolidePyramide[4]{%
\ifluatex
- \mplibnumbersystem{double}
- \mplibforcehmode
- \begin{mplibcode}
+ \mplibnumbersystem{double}
+ \mplibforcehmode
+ \begin{mplibcode}
input PfCSolid;
@@ -381,14 +382,15 @@
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}
\newcommand\MPSolideCone[3]{%
\ifluatex
\mplibnumbersystem{double}
- \mplibforcehmode
- \begin{mplibcode}
+ \mplibforcehmode
+ \begin{mplibcode}
boolean NommeSommets,Code,Sections,Axes,RemplisSection;
NommeSommets=\useKV[ClesSolides]{Sommets};
Code=\useKV[ClesSolides]{Code};
@@ -532,14 +534,15 @@
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}
\newcommand\MPSolidePave[5]{%
\ifluatex
\mplibnumbersystem{double}
- \mplibforcehmode
- \begin{mplibcode}
+ \mplibforcehmode
+ \begin{mplibcode}
input PfCSolid;
boolean Pointilles,TraceArete,NommeSommets,Code,AutoLabel,Sections,RemplisSection;
@@ -709,6 +712,7 @@
\useKV[ClesSolides]{Traces};
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}
@@ -836,6 +840,7 @@
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}
diff --git a/macros/latex/contrib/profcollege/latex/PfCStatistiquesold.tex b/macros/latex/contrib/profcollege/latex/PfCStatistiquesold.tex
deleted file mode 100644
index ca8be38394..0000000000
--- a/macros/latex/contrib/profcollege/latex/PfCStatistiquesold.tex
+++ /dev/null
@@ -1,2106 +0,0 @@
-%%%
-% Statistiques
-%%%
-\newcommand\NbDonnees{}%
-\newcommand\SommeDonnees{}%
-\newcommand\EffectifTotal{}%
-\newcommand\Moyenne{}%
-\newcommand\Etendue{}%
-\newcommand\Mediane{}%
-\newcommand\DonneeMax{}%
-\newcommand\DonneeMin{}%
-\newcommand\EffectifMax{}%
-
-\setKVdefault[ClesStat]{ColVide=0,CaseVide=false,EffVide=false,%
-FreqVide=false,AngVide=false,ECCVide=false,TotalVide=false,Sondage=false,Liste=false,%
-Tableau=false,Stretch=1,Frequence=false,EffectifTotal=false,%
-Etendue=false,Moyenne=false,SET=false,ValeurExacte=false,Mediane=false,QuartileUn=false,QuartileTrois=false,Total=false,Concret=false,%
-Unite={},Largeur=1cm,Precision=2,PrecisionF=0,Donnee=Valeurs,Effectif=Effectif,Grille=false,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,Classes=false,TableauVide=false,ECC=false,Coupure=10,CouleurTab=gray!15,Graphique=false,Batons=true,%
-% Pour les diags batons
-EpaisseurBatons=1,ListeCouleursB={a},Lecture=false,LectureFine=false,AideLecture=false,Reponses=false,DonneesSup=false,AbscisseRotation=false,Tiret=false,AngleRotationAbscisse=0,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Depart=0,CouleurDefaut=black,Date=false,GrandNombrey=false,GrandNombrex=false,%
-% Pour les diags circulaires
-Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,ACompleter=false,%
-%Pour les représentations
-Representation=false,%
-%Pour les barres horizontales
-Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0,%Grille est dispo
-% Pour les histogrammes
-Histogramme=false,UniteAire=1,MemeAmpli,DepartHisto=1%
-}%
-%compl\'ements
-\defKV[ClesStat]{AngleRotationAbscisse=\setKV[ClesStat]{AbscisseRotation}}%
-\defKV[ClesStat]{AffichageDonnees=\setKV[ClesStat]{AffichageAngle=false}\setKV[ClesStat]{AffichageDonnee}}%
-\defKV[ClesStat]{CasesVides=\setKV[ClesStat]{CaseVide}}%
-\defKV[ClesStat]{LegendesVides=\setKV[ClesStat]{LegendeVide}}%
-\defKV[ClesStat]{GrandNombreO=\setKV[ClesStat]{GrandNombrey}}%
-\defKV[ClesStat]{GrandNombreA=\setKV[ClesStat]{GrandNombrex}}%
-% La construction du tableau
-\def\addtotok#1#2{#1\expandafter{\the#1#2}}%
-\newtoks\tabtoksa\newtoks\tabtoksb\newtoks\tabtoksc%
-\def\updatetoks#1/#2\nil{\addtotok\tabtoksa{\ifboolKV[ClesStat]{Qualitatif}{&#1}{&\num{#1}}}\addtotok\tabtoksb{&\num{#2}}}%
-%
-\newcounter{PfCCompteLignes}%
-%
-\def\BuildtabStat{% %%Tableau sans/avec total
- \setcounter{PfCCompteLignes}{0}%
- \tabtoksa{\useKV[ClesStat]{Donnee}}\tabtoksb{\useKV[ClesStat]{Effectif}}%
- \foreachitem\compteur\in\ListeComplete{\expandafter\updatetoks\compteur\nil}%
- \renewcommand{\arraystretch}{\useKV[ClesStat]{Stretch}}%
- \ifboolKV[ClesStat]{Total}{%
- \begin{NiceTabular}{c*{\fpeval{\ListeCompletelen+1}}{>{\centering\arraybackslash}p{\useKV[ClesStat]{Largeur}}}}%
- \CodeBefore%
- \rowcolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \columncolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \Body%
- \the\tabtoksa&Total\\%
- \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb&\num{\EffectifTotal}}\\%
- \ifboolKV[ClesStat]{Frequence}{\stepcounter{PfCCompteLignes}Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\num{\CalculFrequence{##1}}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}\\}{}%
- \ifboolKV[ClesStat]{Angle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}\\}{}%
- \ifboolKV[ClesStat]{SemiAngle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}\\}{}%
- \ifboolKV[ClesStat]{ECC}{\stepcounter{PfCCompteLignes}E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}\\}{}%
- \CodeAfter%
- % On crée la liste des colonnes à vider
- \xintifboolexpr{\useKV[ClesStat]{ColVide}>0}{%
- \xdef\FooStat{\useKV[ClesStat]{ColVide}}%
- \setsepchar{,}%
- \readlist*\ListeColonnesAVider{\FooStat}%
- \foreachitem\compteur\in\ListeColonnesAVider{%
- \tikz\fill[white] (row-2-|col-\fpeval{\compteur+1}) rectangle (last-|col-\fpeval{\compteur+2});%
- }%
- }{}%
- % On crée la liste des cases à vider
- \ifboolKV[ClesStat]{CaseVide}{%
- \xdef\FooStatCases{\useKV[ClesStat]{CasesVides}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeCasesAVider{\FooStatCases}%
- \foreachitem\compteur\in\ListeCasesAVider{%
- \tikz\fill[white] (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+1}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+1}) rectangle (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+2}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+2});%
- }%
- }{}%
- % On retrace le tableau
- %Les colonnes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\ListeCompletelen+3}}}\do{%
- \tikz\draw (row-1-|col-##1) -- (last-|col-##1);%
- }%
- % Les lignes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\thePfCCompteLignes+3}}}\do{%
- \tikz\draw (row-##1-|col-1) -- (row-##1-|last);%
- }%
- \end{NiceTabular}%
- }{%
- \begin{NiceTabular}{c*{\fpeval{\ListeCompletelen}}{>{\centering\arraybackslash}p{\useKV[ClesStat]{Largeur}}}}%
- \CodeBefore%
- \rowcolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \columncolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \Body%
- \the\tabtoksa\\%
- \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb}\\%
- \ifboolKV[ClesStat]{Frequence}{\stepcounter{PfCCompteLignes}Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\num{\CalculFrequence{##1}}}}}\\}{}%
- \ifboolKV[ClesStat]{Angle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}\\}{}%
- \ifboolKV[ClesStat]{SemiAngle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}\\}{}%
- \ifboolKV[ClesStat]{ECC}{\stepcounter{PfCCompteLignes}E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}\\}{}%
- \CodeAfter%
- % On crée la liste des colonnes à vider
- \xintifboolexpr{\useKV[ClesStat]{ColVide}>0}{%
- \xdef\FooStat{\useKV[ClesStat]{ColVide}}%
- \setsepchar{,}%
- \readlist*\ListeColonnesAVider{\FooStat}%
- \foreachitem\compteur\in\ListeColonnesAVider{%
- \tikz\fill[white] (row-2-|col-\fpeval{\compteur+1}) rectangle (last-|col-\fpeval{\compteur+2});%
- }%
- }{}%
- % On crée la liste des cases à vider
- \ifboolKV[ClesStat]{CaseVide}{%
- \xdef\FooStatCases{\useKV[ClesStat]{CasesVides}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeCasesAVider{\FooStatCases}%
- \foreachitem\compteur\in\ListeCasesAVider{%
- \tikz\fill[white] (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+1}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+1}) rectangle (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+2}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+2});%
- }%
- }{}%
- % On retrace le tableau
- %Les colonnes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\ListeCompletelen+2}}}\do{%
- \tikz\draw (row-1-|col-##1) -- (last-|col-##1);%
- }%
- % Les lignes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\thePfCCompteLignes+3}}}\do{%
- \tikz\draw (row-##1-|col-1) -- (row-##1-|last);%
- }%
- \end{NiceTabular}%
- }%
-}%
-
-% Pour construire le diagramme en barres horizontales
-\def\UpdatetoksHor#1/#2/#3\nil{\addtotok\toklistenomhor{"#1",}\addtotok\toklistedonhor{#3,}\addtotok\toklisteaffhor{"#2",}}%
-
-\newcommand\buildgraphbarhor{%
- \newtoks\toklistenomhor%
- \newtoks\toklistedonhor%
- \newtoks\toklisteaffhor%
- \newtoks\toklistecouleur%
- \xdef\PfCfooStat{}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xdef\PfCfooStat{\PfCfooStat \ListeComplete[##1,2],}%
- }%
- \xdef\DivMax{\fpeval{max(\PfCfooStat)}}%
- \xdef\ExposantDivMax{\fpeval{round(ln(\DivMax)/ln(10))}}%
- \xdef\DivMax{\fpeval{10**\ExposantDivMax}}%
- \xdef\PfCfooStat{}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xdef\PfCfooStat{\PfCfooStat \ListeComplete[##1,1]/\ListeComplete[##1,2]/\fpeval{\ListeComplete[##1,2]/\DivMax},}%
- }%
- \readlist*\ListeCompleteDiagHor{\PfCfooStat}%
- \foreachitem\compteur\in\ListeCompleteDiagHor{\expandafter\UpdatetoksHor\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \NewMPDiagBarreHor{\the\toklistenomhor}{\the\toklistedonhor}{\the\toklisteaffhor}{\the\toklistecouleur}%
-}%
-
-% Pour construire le diagramme en bâtons
-\def\Updatetoks#1/#2\nil{\addtotok\toklistepoint{(#1,#2),}}%
-\newcommand\buildgraph[1][]{%
- \newtoks\toklistepoint\toklistepoint{}%
- \newtoks\toklistecouleur\toklistecouleur{}%
- \newtoks\toklistelegende\toklistelegende{}%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{-1}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- \foreachitem\compteur\in\ListeComplete{\expandafter\Updatetoks\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleursB}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \MPStatNew{\the\toklistepoint}{\the\toklistecouleur}{\the\toklistelegende}
-}%
-
-% Pour construire le diagramme en bâtons qualitatif
-\def\Updatetoksq#1/#2\nil{\addtotok\toklistepointq{"#1",#2,}}%
-\newcommand\buildgraphq[1][]{%
- \newtoks\toklistepointq\toklistepointq{}%
- \newtoks\toklistecouleur\toklistecouleur{}%
- \newtoks\toklistelegende\toklistelegende{}%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{-1}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- \foreachitem\compteur\in\ListeComplete{\expandafter\Updatetoksq\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleursB}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \MPStatNew{\the\toklistepointq}{\the\toklistecouleur}{\the\toklistelegende}%
-}%
-
-\def\UpdateCoul#1\nil{\addtotok\toklistecouleur{#1,}}%
-\def\UpdateLegende#1\nil{\addtotok\toklistelegende{#1,}}%
-
-% Pour construire le diagramme circulaire qualitatif
-\def\buildgraphcq#1{%
- \newtoks\toklistepointq\toklistepointq{}%
- \newtoks\toklistecouleur\toklistecouleur{}%
- \newtoks\toklistelegende\toklistelegende{}%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{0}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- %
- \foreachitem\compteur\in\ListeComplete{\expandafter\Updatetoksq\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \NewMPStatCirculaireQ{\the\toklistepointq}{#1}{\the\toklistecouleur}{\the\toklistelegende}%
-}%
-
-%% calcul des fr\'equences
-\newcommand\CalculFrequence[1]{%
- \fpeval{round(\ListeComplete[#1,2]*100/\EffectifTotal,\useKV[ClesStat]{PrecisionF})}
-}
-
-%% calcul des angles
-\newcommand\CalculAngle[1]{%
- \fpeval{round(\ListeComplete[#1,2]*360/\EffectifTotal,0)}
-}
-\newcommand\CalculSemiAngle[1]{%
- \fpeval{round(\ListeComplete[#1,2]*180/\EffectifTotal,0)}
-}
-
-%% calcul des ECC
-\newcount\CompteurECC%
-\newcount\CompteurECCTotal%
-\newcount\CompteurECCC%
-\newcount\CompteurECCCTotal%
-
-\newcommand\CalculECC[1]{%
- \xdef\TotalECC{0}%
- \CompteurECC=1%
- \CompteurECCTotal=\numexpr#1+1%
- \whiledo{\CompteurECC < \CompteurECCTotal}{%
- \xdef\TotalECC{\fpeval{\TotalECC+\ListeComplete[\the\CompteurECC,2]}}%
- \CompteurECC=\numexpr\CompteurECC+1%
- }%
- \num{\TotalECC}%
-}
-
-\def\NewMPDiagBarreHorCode{%
- Longueur:=\useKV[ClesStat]{Longueur};
- Hauteur:=\useKV[ClesStat]{Hauteur};
- Ecart:=\useKV[ClesStat]{EcartBarre};
- ExposantDivMax:=\ExposantDivMax;
- ecarthachures=\useKV[ClesStat]{EcartHachures};
- epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean Hachures,Bicolore,Grille,AffichageDonnee,LegendeVide;
- Hachures=\useKV[ClesStat]{Hachures};
- Bicolore=\useKV[ClesStat]{Bicolore};
- Grille=\useKV[ClesStat]{Grille};
- AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- vardef CalculNombreDonneesEtDonneeMax(text t)=
- nbdon:=0;%nombre de données
- DonneeMax:=0;%donnée DonneeMaximale
- for p_=t:
- nbdon:=nbdon+1;
- if p_>DonneeMax:
- DonneeMax:=p_;
- fi;
- endfor;
- enddef;
- vardef ListeDonnees(text t)=
- n:=0;
- for p_=t:
- n:=n+1;
- Donnees[n]:=p_;
- endfor;
- enddef;
- vardef RecuperationCouleurs(text t)=
- color Col[];
- n:=0;
- for p_=t:
- n:=n+1;
- Col[n]=p_;
- endfor;
- enddef;
-}
-
-% Construction d'un diagramme en barres horizontal
-\newcommand\NewMPDiagBarreHor[4]{%
- % #1 Liste des noms
- % #2 Liste des valeurs associées
- % #3 Liste des valeurs à afficher (si pb calcul MP)
- % #4 Liste des couleurs
- \ifluatex%
- \mplibforcehmode%
- \begin{mplibcode}%
- \NewMPDiagBarreHorCode%
- vardef TraceDiag=
- if Grille:
- pair Zz[];%Pour déterminer "le dernier point"
- Zz0=(0,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz2=(0,(Hauteur+Ecart));
- Zz1=((1/DonneeMax)*Longueur,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz3=if ExposantDivMax=0 : (DonneeMax+1)[Zz0,Zz1] else: ((floor(DonneeMax*10+2))/10)[Zz0,Zz1];fi;
- if ExposantDivMax=0:
- for k=1 upto DonneeMax+1:
- trace (Zz0--Zz2) shifted (k*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- else:
- for k=1 upto (floor(DonneeMax*10+2)):
- trace (Zz0--Zz2) shifted ((k/10)*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- fi;
- if ExposantDivMax=0:
- for k=1 upto (DonneeMax+1):
- label.bot(TEX("\num{"&decimal(k)&"}"),Zz0+k*(Zz1-Zz0));
- endfor;
- else:
- if ExposantDivMax<5:
- for k=1 upto (floor(DonneeMax*10+2)):
- label.bot(TEX("\num{\fpeval{"&decimal(k)&"*(10**"&decimal(ExposantDivMax-1)&")}}"),Zz0+(k/10)*(Zz1-Zz0));
- endfor;
- else:
- dotlabel.bot(TEX("\num{\fpeval{10**"&decimal(ExposantDivMax)&"}}"),Zz1);
- fi;
- fi;
- fi;
- for k=0 upto nbdon-1:
- path RectangleDonnee;
- RectangleDonnee=(unitsquare xscaled ((Donnees[k+1]/DonneeMax)*Longueur) yscaled Hauteur) shifted(0,-k*(Hauteur+Ecart));
- if Hachures:
- fill RectangleDonnee withcolor white;
- trace Hachurage(RectangleDonnee,60 if
- (k mod 2)=0: +90 fi,ecarthachures,if (k mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures;
- else:
- remplis RectangleDonnee withcolor if unknown Col[k+1]: if Bicolore:Col[(k mod 2)+1] else: white fi; else:if Bicolore:Col[(k mod 2)+1] else: Col[k+1] fi; fi;
- fi;
- trace RectangleDonnee;
- endfor;
- if Grille:
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(0,(Hauteur+Ecart)) withpen pencircle scaled 1.5;
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(Zz3+u*(0.25,0)) withpen pencircle scaled 1.5;
- fi;
- enddef;
- vardef AffichageNom(text t)=
- k:=0;
- for p_=t:
- label.lft(TEX(p_),0.5[(0,0),(0,Hauteur)] shifted (0,-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- vardef AffichageDonnees(text t)=
- k:=0;
- for p_=t:
- label.rt(TEX("\num{"&p_&"}"),0.5[(0,0),(0,Hauteur)] shifted (((Donnees[k+1]/DonneeMax)*Longueur),-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- CalculNombreDonneesEtDonneeMax(#2);
- ListeDonnees(#2);
- RecuperationCouleurs(#4);
- TraceDiag;
- if LegendeVide=false:
- AffichageNom(#1);
- fi;
- if AffichageDonnee:
- AffichageDonnees(#3);
- fi;
- \end{mplibcode}
- \else%
- \begin{mpost}[mpsettings={\NewMPDiagBarreHorCode}]
- vardef TraceDiag=
- if Grille:
- pair Zz[];%Pour déterminer "le dernier point"
- Zz0=(0,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz2=(0,(Hauteur+Ecart));
- Zz1=((1/DonneeMax)*Longueur,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz3=if ExposantDivMax=0 : (DonneeMax+1)[Zz0,Zz1] else: ((floor(DonneeMax*10+2))/10)[Zz0,Zz1];fi;
- if ExposantDivMax=0:
- for k=1 upto DonneeMax+1:
- trace (Zz0--Zz2) shifted (k*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- else:
- for k=1 upto (floor(DonneeMax*10+2)):
- trace (Zz0--Zz2) shifted ((k/10)*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- fi;
- if ExposantDivMax=0:
- for k=1 upto (DonneeMax+1):
- label.bot(LATEX("\num{"&decimal(k)&"}"),Zz0+k*(Zz1-Zz0));
- endfor;
- else:
- if ExposantDivMax<5:
- for k=1 upto (floor(DonneeMax*10+2)):
- label.bot(LATEX("\num{\noexpand\fpeval{"&decimal(k)&"*(10**"&decimal(ExposantDivMax-1)&")}}"),Zz0+(k/10)*(Zz1-Zz0));
- endfor;
- else:
- dotlabel.bot(LATEX("\num{\noexpand\fpeval{10**"&decimal(ExposantDivMax)&"}}"),Zz1);
- fi;
- fi;
- fi;
- for k=0 upto nbdon-1:
- path RectangleDonnee;
- RectangleDonnee=(unitsquare xscaled ((Donnees[k+1]/DonneeMax)*Longueur) yscaled Hauteur) shifted(0,-k*(Hauteur+Ecart));
- if Hachures:
- fill RectangleDonnee withcolor white;
- trace Hachurage(RectangleDonnee,60 if
- (k mod 2)=0: +90 fi,ecarthachures,if (k mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures;
- else:
- remplis RectangleDonnee withcolor if unknown Col[k+1]: if Bicolore:Col[(k mod 2)+1] else: white fi; else:if Bicolore:Col[(k mod 2)+1] else: Col[k+1] fi; fi;
- fi;
- trace RectangleDonnee;
- endfor;
- if Grille:
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(0,(Hauteur+Ecart)) withpen pencircle scaled 1.5;
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(Zz3+u*(0.25,0)) withpen pencircle scaled 1.5;
- fi;
- enddef;
- vardef AffichageNom(text t)=
- k:=0;
- for p_=t:
- label.lft(LATEX(p_),0.5[(0,0),(0,Hauteur)] shifted (0,-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- vardef AffichageDonnees(text t)=
- k:=0;
- for p_=t:
- label.rt(LATEX("\num{"&p_&"}"),0.5[(0,0),(0,Hauteur)] shifted (((Donnees[k+1]/DonneeMax)*Longueur),-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- CalculNombreDonneesEtDonneeMax(#2);
- ListeDonnees(#2);
- RecuperationCouleurs(#4);
- TraceDiag;
- if LegendeVide=false:
- AffichageNom(#1);
- fi;
- if AffichageDonnee:
- AffichageDonnees(#3);
- fi;
- \end{mpost}
- \fi%
-}%
-
-\def\MPStatNewCode{%
- maxx:=0;
- maxy:=0;
- unitex:=\useKV[ClesStat]{Unitex}*cm;
- unitey:=\useKV[ClesStat]{Unitey}*cm;
- xpartorigine:=\useKV[ClesStat]{Origine};
- AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse};
- boolean Rotation,Lecture,LectureFine,AideLecture,DonneesSup,Reponses,Qualitatif,Tiret,LegendeVide,Retour,GrandNombrex,GrandNombrey,Date;
- GrandNombrex=\useKV[ClesStat]{GrandNombrex};
- GrandNombrey=\useKV[ClesStat]{GrandNombrey};
- if GrandNombrex:
- GrandNombreA=\useKV[ClesStat]{GrandNombreA};
- fi;
- if GrandNombrey:
- GrandNombreO=\useKV[ClesStat]{GrandNombreO};
- fi;
- Date:=\useKV[ClesStat]{Date};
- Rotation=\useKV[ClesStat]{AbscisseRotation};
- Lecture:=\useKV[ClesStat]{Lecture};
- LectureFine:=\useKV[ClesStat]{LectureFine};
- AideLecture:=\useKV[ClesStat]{AideLecture};
- DonneesSup:=\useKV[ClesStat]{DonneesSup};
- Reponses:=\useKV[ClesStat]{Reponses};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- epaisseurbatons=\useKV[ClesStat]{EpaisseurBatons};
- Qualitatif=\useKV[ClesStat]{Qualitatif};
- Tiret=\useKV[ClesStat]{Tiret};
- Retour=false;
- color CoulDefaut;
- CoulDefaut=\useKV[ClesStat]{CouleurDefaut};
- Depart=\useKV[ClesStat]{Depart};
- %
- pair A[],B[],P[];
- vardef toto(text t)=%points quantitatif
- n:=0;
- for p_=t:
- if pair p_:
- n:=n+1;
- P[n]=((xpart(p_)-(xpartorigine))*unitex,ypart(p_)*unitey);
- if xpart(p_)>maxx:
- maxx:=xpart(p_)-(xpartorigine);
- fi;
- if ypart(p_)>maxy:
- maxy:=ypart(p_);
- fi;
- A[n]=unitex*(xpart(p_)-(xpartorigine),0);
- B[n]=unitey*(0,ypart(p_));
- fi;
- endfor;
- enddef;
- vardef tutu(text t)=%points qualitatif
- n:=0;
- for p_=t:
- if numeric p_:
- P[n]=((n)*unitex,unitey*(p_-Depart));
- B[n]=(0,unitey*(p_-Depart));
- if p_>maxy:
- maxy:=p_;
- fi;
- else:
- n:=n+1;
- A[n]=unitex*(n,0);
- fi;
- endfor;
- maxy:=maxy-Depart;
- maxx:=n;
- enddef;
-}
-
-% Construction du graphique en bâtons
-\newcommand\MPStatNew[3]{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- \MPStatNewCode
- %
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#3:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- %
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#2:
- n:=n+1;
- if color p_:
- Col[n]=p_;
- else:
- Col[n]=CoulDefaut;
- fi;
- endfor;
- vardef tata(text t)=%affichage quantitatif
- l=0;
- for p_=t:
- if pair p_:
- l:=l+1;
- if Rotation:
- if Date:
- label.bot(TEX(decimal(xpart(p_))) rotated AngleRotation,A[l]);
- else:
- label.bot(TEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
- fi;
- else :
- if Date:
- label.bot(TEX(decimal(xpart(p_))),A[l]);
- else:
- label.bot(TEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
- fi;
- fi;
- if Reponses:
- if DonneesSup:
- Test(l);
- if Retour=false:
- if GrandNombrey:
- label.top(TEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
- else:
- label.top(TEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
- fi;
- fi;
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(TEX("\num{"&decimal(ypart(p_))&"}"),B[l]);
- fi;
- fi;
- fi;
- fi;
- endfor;
- enddef;
- vardef titi(text t)=%affichage qualitatif
- l:=0;
- for p_=t:
- if numeric p_:
- if Reponses:
- if DonneesSup:
- Test(l);
- if Retour=false:
- label.top(TEX("\num{"&decimal(p_)&"}"),P[l]);
- fi;
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
- fi;
- fi;
- fi;
- else:
- l:=l+1;
- if Rotation:
- if AngleRotation<>0:
- picture TEXTELABEL;
- TEXTELABEL=image(
- labeloffset:=labeloffset*2;
- label.lft(TEX(p_),A[l]);
- labeloffset:=labeloffset/2;
- );
- trace rotation(TEXTELABEL,A[l],AngleRotation);
- else :
- label.bot(TEX(p_),A[l]);
- fi;
- fi;
- fi;
- endfor;
- enddef;
- if Qualitatif: tutu(#1); else: toto(#1); fi;
- boolean Grille;
- Grille:=\useKV[ClesStat]{Grille};
- Pasx:=\useKV[ClesStat]{Pasx};
- Pasy:=\useKV[ClesStat]{Pasy};
- if Grille:
- drawoptions(withcolor 0.75white);
- for k=0 step Pasx until ((maxx+1)):
- trace (k*unitex,0)--(k*unitex,unitey*(maxy+2*Pasy));
- endfor;
- for k=0 step Pasy until ((maxy+2*Pasy)):
- trace (0,k*unitey)--(unitex*(maxx+1),k*unitey);
- endfor;
- drawoptions();
- fi;
- if epaisseurbatons<>0:
- for k=1 upto n:
- fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: CoulDefaut else:Col[k] fi;
- if AideLecture:
- draw B[k]--P[k] dashed evenly;
- fi;
- endfor;
- fi;
- if LectureFine:
- for k=0 step Pasy until ((maxy+1*Pasy)):
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- if GrandNombrey:
- label.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k+Depart)&"}}"),(0,k*unitey));
- else:
- label.lft(TEX("\num{"&decimal(k+Depart)&"}"),(0,k*unitey));
- fi;
- else:
- if GrandNombrey:
- dotlabel.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k+Depart)&"}}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k+Depart)&"}"),(0,k*unitey));
- fi;
- fi;
- endfor;
- fi;
- if Lecture:
- for k=0 step Pasy until Pasy:
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- if GrandNombrey:
- label.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k)&"}}"),(0,k*unitey));
- else:
- label.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- else:
- if GrandNombrey:
- dotlabel.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k)&"}}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- fi;
- endfor;
- fi;
- drawarrow (0,0)--unitex*(maxx+1,0);
- drawarrow (0,0)--unitey*(0,maxy+2*Pasy);
- label.lrt(btex \useKV[ClesStat]{Donnee} etex,unitex*(maxx+1,0));
- label.urt(btex \useKV[ClesStat]{Effectif} etex,unitey*(0,maxy+2*Pasy));
- if Qualitatif: titi(#1); else:tata(#1); fi;
- \end{mplibcode}
- \else
- \begin{mpost}[mpsettings={\MPStatNewCode}]
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#2:
- n:=n+1;
- if color p_:
- Col[n]=p_;
- else:
- Col[n]=CoulDefaut;
- fi;
- endfor;
- %
- vardef tata(text t)=%affichage quantitatif
- l=0;
- for p_=t:
- if pair p_:
- l:=l+1;
- if Rotation:
- label.bot(LATEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
- else :
- label.bot(LATEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
- fi;
- if Reponses:
- if DonneesSup:
- label.top(LATEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(LATEX("\num{"&decimal(ypart(p_))&"}"),B[l]);
- fi;
- fi;
- fi;
- fi;
- endfor;
- enddef;
- vardef titi(text t)=%affichage qualitatif
- l:=0;
- for p_=t:
- if numeric p_:
- if Reponses:
- if DonneesSup:
- label.top(LATEX("\num{"&decimal(p_)&"}"),P[l]);
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
- fi;
- fi;
- fi;
- else:
- l:=l+1;
- if Rotation:
- if AngleRotation<>0:
- picture TEXTELABEL;
- TEXTELABEL=image(
- labeloffset:=labeloffset*2;
- label.lft(LATEX(p_),A[l]);
- labeloffset:=labeloffset/2;
- );
- trace rotation(TEXTELABEL,A[l],AngleRotation);
- else :
- label.bot(LATEX(p_),A[l]);
- fi;
- fi;
- fi;
- endfor;
- enddef;
- if Qualitatif: tutu(#1); else: toto(#1); fi;
- boolean Grille;
- Grille:=\useKV[ClesStat]{Grille};
- Pasx:=\useKV[ClesStat]{Pasx};
- Pasy:=\useKV[ClesStat]{Pasy};
- if Grille:
- drawoptions(withcolor 0.75white);
- for k=0 step Pasx until ((maxx+1)):
- trace (k*unitex,0)--(k*unitex,unitey*(maxy+2*Pasy));
- endfor;
- for k=0 step Pasy until ((maxy+2*Pasy)):
- trace (0,k*unitey)--(unitex*(maxx+1),k*unitey);
- endfor;
- drawoptions();
- fi;
- if epaisseurbatons<>0:
- for k=1 upto n:
- fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: CoulDefaut else:Col[k] fi;
- if AideLecture:
- draw B[k]--P[k] dashed evenly;
- fi;
- endfor;
- fi;
- if LectureFine:
- for k=0 step Pasy until ((maxy+1*Pasy)):
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- if Lecture:
- for k=0 step Pasy until Pasy:
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- drawarrow (0,0)--unitex*(maxx+1,0);
- drawarrow (0,0)--unitey*(0,maxy+2*Pasy);
- label.lrt(btex \useKV[ClesStat]{Donnee} etex,unitex*(maxx+1,0));
- label.urt(btex \useKV[ClesStat]{Effectif} etex,unitey*(0,maxy+2*Pasy));
- if Qualitatif: titi(#1); else:tata(#1); fi;
- \end{mpost}
- \fi
-}
-
-\def\NewMPStatCirculaireCodeQ{%
- Rayon:=\useKV[ClesStat]{Rayon};
- ecarthachures=\useKV[ClesStat]{EcartHachures};
- epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean AffichageAngle,AffichageDonnee,Hachures,Inverse,Legende,LegendeVide,Retour,ACompleter;
- AffichageAngle=\useKV[ClesStat]{AffichageAngle};
- AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
- Hachures=\useKV[ClesStat]{Hachures};
- Inverse=\useKV[ClesStat]{LectureInverse};
- Legende=\useKV[ClesStat]{Legende};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- Retour=false;
- ACompleter=\useKV[ClesStat]{ACompleter};
- %
- pair A[],O,B[],C[],D[];
- O=(0,0);
- n:=0;
- numeric total[],ang[];
- total[0]=0;
- ang[0]:=0;
- path cc;
- cc=(fullcircle scaled (2*Rayon));
- vardef AfficheLegende(text t)=
- picture ResultatLegende;
- ResultatLegende=image(
- for p_=t:
- if string p_:
- n:=n+1;
- C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2);
- draw 0.95[O,C[n]]--1.05[O,C[n]];
- C[n]:=1.05[O,C[n]];
- Test(n);
- if (xpart(C[n])>xpart(O)) and (ypart(C[n])>ypart(O)):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.urt(TEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and (ypart(C[n])>ypart(O)):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.ulft(TEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.llft(TEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.lrt(TEX(p_),D[n]);fi;
- fi;
- fi;
- endfor;
- );
- ResultatLegende
- % fi;
- enddef;
- vardef AfficheLegendePDF(text t)=
- picture ResultatLegende;
- ResultatLegende=image(
- for p_=t:
- if string p_:
- n:=n+1;
- C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2);
- draw 0.95[O,C[n]]--1.05[O,C[n]];
- C[n]:=1.05[O,C[n]];
- Test(n);
- if (xpart(C[n])>xpart(O)) and (ypart(C[n])>ypart(O)):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.urt(LATEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and (ypart(C[n])>ypart(O)):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.ulft(LATEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.llft(LATEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.lrt(LATEX(p_),D[n]);fi;
- fi;
- fi;
- endfor;
- );
- ResultatLegende
- % fi;
- enddef;
-}
-
-% la construction du graphique qualitatif
-\def\NewMPStatCirculaireQ#1#2#3#4{%
- %#1 : la liste des données
- %#2 : 360 ou 180
- %#3 : liste des couleurs
- %#4 : liste des légendes à effacer.
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- \NewMPStatCirculaireCodeQ
- if Inverse=false:
- A[0]=point(0) of cc;
- else:
- A[0]=point(180) of cc;
- fi;
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#3:
- n:=n+1;
- Col[n]=p_;
- endfor;
- vardef toto(text t)=
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- total[n]:=total[n-1]+p_;
- fi;
- endfor;
- N=n;
- for k=1 upto N:
- ang[k]=(#2/total[N])*total[k];
- endfor;
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- if Inverse=false:
- A[n]=A[n-1] rotatedabout(O,p_*(#2/total[N]));
- else:
- A[n]=A[n-1] rotatedabout(O,-p_*(#2/total[N]));
- fi;
- %hachure ou pas ?
- if Hachures=false:
- fill (O--if Inverse=false:arccercle(A[n-1],A[n],O) else:
- arccercle(A[n],A[n-1],O) fi--cycle) withcolor if unknown Col[n]: white else:Col[n] fi;
- else:
- draw
- Hachurage((O--if Inverse=false:arccercle(A[n-1],A[n],O)
- else:arccercle(A[n],A[n-1],O) fi--cycle),p_*(#2/total[N]) if
- (n mod 2)=0: +90 else: -90 fi,ecarthachures,if (n mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures if AffichageAngle: withcolor 0.5white fi;
- fi;
- if ACompleter=false:
- draw A[n-1]--O--A[n] if Hachures: withpen pencircle scaled2 fi;
- fi;
- % Affichage des angles associ\'es
- if AffichageAngle:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fi;
- elseif AffichageDonnee:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,TEX(""&decimal(p_)&""));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((TEX(""&decimal(p_)&"")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((TEX(""&decimal(p_)&"")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((TEX(""&decimal(p_)&"")))));
- fi;
- fi;
- fi;
- %
- fi;
- endfor;
- if #2=360:
- draw cc if Hachures: withpen pencircle scaled2 fi;
- else:
- draw (subpath(0,length cc/2) of cc)--cycle if Hachures: withpen pencircle scaled2 fi;;
- fi;
- n:=0;
- enddef;
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#4:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- Figure(-10u,-10u,10u,10u);
- toto(#1);
- if Legende:
- n:=0;
- draw AfficheLegende(#1);
- fi;
- \end{mplibcode}
- \else
- \begin{mpost}[mpsettings={\NewMPStatCirculaireCodeQ}]
- pair A[],O,B[],C[],D[];
- O=(0,0);
- n:=0;
- numeric total[],ang[];
- total[0]=0;
- ang[0]:=0;
- path cc;
- cc=(fullcircle scaled (2*Rayon));
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#3:
- n:=n+1;
- Col[n]=p_;
- endfor;
- if Inverse=false:
- A[0]=point(0) of cc;
- else:
- A[0]=point(180) of cc;
- fi;
- vardef toto(text t)=
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- total[n]:=total[n-1]+p_;
- fi;
- endfor;
- N=n;
- for k=1 upto N:
- ang[k]=(#2/total[N])*total[k];
- endfor;
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- if Inverse=false:
- A[n]=A[n-1] rotatedabout(O,p_*(#2/total[N]));
- else:
- A[n]=A[n-1] rotatedabout(O,-p_*(#2/total[N]));
- fi;
- %hachure ou pas ?
- if Hachures=false:
- fill (O--if Inverse=false:arccercle(A[n-1],A[n],O) else:
- arccercle(A[n],A[n-1],O) fi--cycle) withcolor if unknown Col[n]: white else:Col[n] fi;
- else:
- draw
- Hachurage((O--if Inverse=false:arccercle(A[n-1],A[n],O)
- else:arccercle(A[n],A[n-1],O) fi--cycle),p_*(#2/total[N]) if
- (n mod 2)=0: +90 else: -90 fi,ecarthachures,if (n mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures if AffichageAngle: withcolor 0.5white fi;
- fi;
- if ACompleter=false:
- draw A[n-1]--O--A[n] if Hachures: withpen pencircle scaled2 fi;
- fi;
- % Affichage des angles associ\'es
- if AffichageAngle:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fi;
- elseif AffichageDonnee:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,LATEX(""&decimal(p_)&""));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((LATEX(""&decimal(p_)&"")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((LATEX(""&decimal(p_)&"")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((LATEX(""&decimal(p_)&"")))));
- fi;
- fi;
- fi;
- %
- fi;
- endfor;
- if #2=360:
- draw cc if Hachures: withpen pencircle scaled2 fi;
- else:
- draw (subpath(0,length cc/2) of cc)--cycle if Hachures: withpen pencircle scaled2 fi;;
- fi;
- enddef;
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#4:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- Figure(-10u,-10u,10u,10u);
- toto(#1);
- if Legende:
- n:=0;
- draw AfficheLegendePDF(#1);
- fi;
- \end{mpost}
- \fi
-}%
-
-%Pour la m\'ediane.
-\DTLgnewdb{mtdb}%
-\dtlexpandnewvalue%
-\newcount\nbdonnees%
-%
-\def\AjoutListEEaa#1\nil{\addtotok\tabtoksEEa{#1,}}%
-\def\AjoutListEEab#1\nil{\addtotok\tabtoksEEa{#1/}}%
-\def\AjoutListEEb#1\nil{\addtotok\tabtoksEEb{#1,}}%
-\def\AjoutListEEx#1\nil{\addtotok\tabtoksEE{#1,}}%
-\def\AjoutListEEy#1\nil{\addtotok\tabtoksEE{#1/}}%
-
-\DTLgnewdb{mtdbEE}%
-\DTLgnewdb{mtdbEEqual}%
-%
-
-% Pour les classes
-% Pour construire l'histogramme
-\def\UpdatetoksHisto#1/#2/#3\nil{\addtotok\toklisteelmtsclasse{#1,#2,}\addtotok\toklistedonhisto{#3,}}
-\def\UpdatetoksECC#1\nil{\addtotok\toklistedonhisto{#1,}}
-
-\NewDocumentCommand\buildgraphhisto{}{%
- \newtoks\toklisteelmtsclasse%
- \newtoks\toklistedonhisto%
- \newtoks\toklistecouleur%
- \newtoks\toklistelegende%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{-1}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- \foreachitem\compteur\in\ListeDepart{\expandafter\UpdatetoksHisto\compteur\nil}%
- \ifboolKV[ClesStat]{ECC}{%
- \toklistedonhisto{}%
- \xdef\PfCFooECC{\ListeDepart[1,3]}%
- \xintFor* ##1 in{\xintSeq{2}{\ListeDepartlen}}\do{%
- \xdef\PfCFooRetiens{0}%
- \xintFor* ##2 in{\xintSeq{1}{##1}}\do{%
- \xdef\PfCFooRetiens{\fpeval{\PfCFooRetiens+\ListeDepart[##2,3]}}%
- }%
- \xdef\PfCFooECC{\PfCFooECC,\PfCFooRetiens}%
- }%
- \readlist*\PfCListeECC{\PfCFooECC}%
- \foreachitem\compteur\in\PfCListeECC{\expandafter\UpdatetoksECC\compteur\nil}%
- }{}%
- \xdef\PfCEcartClasse{\fpeval{\ListeDepart[1,2]-\ListeDepart[1,1]}}%
- \foreachitem\compteur\in\ListeDepart{%
- \xdef\PfCEcartClasse{\PfCEcartClasse,\fpeval{\ListeDepart[\compteurcnt,2]-\ListeDepart[\compteurcnt,1]}}
- }%
- \xintifboolexpr{\fpeval{min(\PfCEcartClasse)}==\fpeval{max(\PfCEcartClasse)}}{}{\setKV[ClesStat]{MemeAmpli=false}}
- % Pour les couleurs
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- %
- \MPBuildHisto{\the\toklisteelmtsclasse}{\the\toklistedonhisto}{\the\toklistecouleur}{\the\toklistelegende}%
-}
-
-%% calcul des fr\'equences
-\newcommand\CalculFrequenceClasses[1]{%
- \fpeval{round(\ListeDepart[#1,3]*100/\EffectifTotal,\useKV[ClesStat]{PrecisionF})}
-}
-
-\newcommand\CalculECCClasses[1]{%
- \xdef\TotalECCC{0}%
- \CompteurECCC=1%
- \CompteurECCCTotal=\numexpr#1+1%
- \whiledo{\CompteurECCC < \CompteurECCCTotal}{%
- \xdef\TotalECCC{\fpeval{\TotalECCC+\ListeDepart[\the\CompteurECCC,3]}}%
- \CompteurECCC=\numexpr\CompteurECCC+1%
- }%
- \num{\TotalECCC}%
-}
-
-\NewDocumentCommand\buildtabclasses{}{%
- \setcounter{PfCCompteLignes}{0}%
- \renewcommand{\arraystretch}{\useKV[ClesStat]{Stretch}}%
- \begin{NiceTabular}{l*{\ListeDepartlen}{c}}%[hvlines]
- \CodeBefore%
- \rowcolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \columncolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \Body
- \useKV[ClesStat]{Donnee}\xintFor* ##1 in{\xintSeq{1}{\ListeDepartlen}}\do{%
- &$\num{\ListeDepart[##1,1]}\leqslant\dots<\num{\ListeDepart[##1,2]}$
- }\\
- \useKV[ClesStat]{Effectif}\xintFor* ##1 in{\xintSeq{1}{\ListeDepartlen}}\do{%
- &\ifboolKV[ClesStat]{EffVide}{}{\num{\ListeDepart[##1,3]}}%
- }\\
- \ifboolKV[ClesStat]{Frequence}{\stepcounter{PfCCompteLignes}Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeDepartlen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\num{\CalculFrequenceClasses{##1}}}}}\\
- }{}%
- \ifboolKV[ClesStat]{ECC}{\stepcounter{PfCCompteLignes}E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeDepartlen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECCClasses{##1}}}}\\}{}%
- \CodeAfter%
- % On crée la liste des colonnes à vider
- \xintifboolexpr{\useKV[ClesStat]{ColVide}>0}{%
- \xdef\FooStat{\useKV[ClesStat]{ColVide}}%
- \setsepchar{,}%
- \readlist*\ListeColonnesAVider{\FooStat}%
- \foreachitem\compteur\in\ListeColonnesAVider{%
- \tikz\fill[white] (row-2-|col-\fpeval{\compteur+1}) rectangle (last-|col-\fpeval{\compteur+2});%
- }%
- }{}%
-% % On crée la liste des cases à vider
- \ifboolKV[ClesStat]{CaseVide}{%
- \xdef\FooStatCases{\useKV[ClesStat]{CasesVides}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeCasesAVider{\FooStatCases}%
- \foreachitem\compteur\in\ListeCasesAVider{%
- \tikz\fill[white] (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+1}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+1}) rectangle (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+2}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+2});%
- }%
- }{}%
-% % On retrace le tableau
-% % Les colonnes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\ListeDepartlen+2}}}\do{%
- \tikz\draw (row-1-|col-##1) -- (last-|col-##1);%
- }%
-% % Les lignes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\thePfCCompteLignes+3}}}\do{%
- \tikz\draw (row-##1-|col-1) -- (row-##1-|last);%
- }%
- \end{NiceTabular}
-}%
-
-\NewDocumentCommand\MPBuildHisto{mmmm}{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- maxx:=-infinity;
- minx:=infinity;
- maxy:=-infinity;
- miny:=0;
- unitex:=\useKV[ClesStat]{Unitex}*cm;
- unitey:=\useKV[ClesStat]{Unitey}*cm;
- Pasx:=\useKV[ClesStat]{Pasx};
- Pasy:=\useKV[ClesStat]{Pasy};
- UniteAire=\useKV[ClesStat]{UniteAire};
- Ecarthachures=\useKV[ClesStat]{EcartHachures};
- Epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean MemeAmpli,Hachures,Lecture,LectureFine,AideLecture,DonneesSup,Tiret,LegendeVide,Retour,Mediane,ECC;
- ECC=\useKV[ClesStat]{ECC};
- Mediane=\useKV[ClesStat]{Mediane};
- MemeAmpli=\useKV[ClesStat]{MemeAmpli};
- Hachures:=\useKV[ClesStat]{Hachures};
- %
- Lecture:=\useKV[ClesStat]{Lecture};
- LectureFine:=\useKV[ClesStat]{LectureFine};
- Tiret=\useKV[ClesStat]{Tiret};
- AideLecture:=\useKV[ClesStat]{AideLecture};
- DonneesSup:=\useKV[ClesStat]{DonneesSup};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- Retour=false;
- % Test affichage
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#4:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- %Affichage ou pas des légendes
- vardef AfficheLegende(text t)=
- l=0;
- for p_=t:
- l:=l+1;
- if DonneesSup:
- Test(l);
- if Retour=false:
- label.top(TEX("\num{"&decimal(Y[l])&"}"),(unitex*(Depart+(0.5*(X[2*l]+X[2*l-2])-X[1])/Pasx),unitey*Z[l]));
- fi;
- fi;
- endfor;
- enddef;
- % on r\'ecup\`ere les couleurs
- Depart=\useKV[ClesStat]{DepartHisto};
- color Col[],CoulDefaut;
- CoulDefaut=white;
- n:=0;
- for p_=#3:
- n:=n+1;
- Col[n]=p_;
- endfor;
- %
- numeric X[];
- numeric ecartabs[];
- vardef RecupValeursAbscisses(text t)=
- p:=0;
- for p_=t:
- p:=p+1;
- X[p]:=p_;
- if X[p]<minx:
- minx:=X[p];
- fi;
- if X[p]>maxx:
- maxx:=X[p];
- fi;
- endfor;
- X[0]=X[1];
- TotalAbscisses=p;
- enddef;
- numeric Y[],Z[];
- numeric EffectifTotal[];
- numeric EffectifTotalA[];
- vardef RecupValeursDonnees(text t)=
- p:=0;
- EffectifTotal[0]:=0;
- EffectifTotalA[0]:=0;
- for p_=t:
- p:=p+1;
- EffectifTotal[p]:=p_;
- EffectifTotalA[p]:=EffectifTotalA[p-1]+p_;
- Y[p]:=p_;
- Z[p]=(Y[p]/(UniteAire*(X[2*p]-X[2*p-1])/Pasx));
- R[p]=ceiling(Z[p]);
- if R[p]>maxy:
- maxy:=R[p];
- fi;
- endfor;
- NbDonnees:=p;
- enddef;
- %On affiche la médiane dans le cas des ECC
- vardef AfficheMedianeECC(text t)=
- YMed:=Z[NbDonnees]/2;
- DemiDonnees:=EffectifTotal[NbDonnees]/2;
- p:=0;
- forever:
- p:=p+1;
- exitif EffectifTotal[p]>DemiDonnees;
- endfor;
- path MedHor,MedLineaire,MedVer;
- MedLineaire=(unitex*(Depart+(X[2*p-2]-X[1]/Pasx)),unitey*Z[p-1])--(unitex*(Depart+(X[2*p]-X[1])/Pasx),unitey*Z[p]);
- MedHor=((0,unitey*YMed)--(unitex*((maxx-minx)/Pasx+2),unitey*YMed));
- MedVer=(xpart(MedLineaire intersectionpoint MedHor),0)--(MedLineaire intersectionpoint MedHor);
- draw MedLineaire;
- draw MedHor;
- draw MedVer;
- enddef;
- % On affiche la médiane dans le cas non ECC
- vardef AfficheMediane(text t)=
- DemiDonnees:=EffectifTotalA[NbDonnees]/2;
- p:=0;
- forever:
- p:=p+1;
- exitif EffectifTotalA[p]>DemiDonnees;
- endfor;
- path MedVer;
- numeric CoefLineaire,pMed;
- pMed=p;
- CoefLineaire=(DemiDonnees-EffectifTotalA[p-1])/Y[p];
- MedVer=(unitex*(Depart+(X[2*p-2]-X[1])/Pasx+CoefLineaire*(X[2*p]-X[2*p-2])/Pasx),0)--(unitex*(Depart+(X[2*p-2]-X[1])/Pasx+CoefLineaire*(X[2*p]-X[2*p-2])/Pasx),unitey*Z[p]);
- draw MedVer dashed evenly;
- enddef;
- % On commence le tracé : on récupère les informations
- RecupValeursAbscisses(#1);
- RecupValeursDonnees(#2);
- % on définit une grille
- vardef Grille=
- if MemeAmpli:
- Ajout:=1;
- else:
- Ajout:=3;
- fi;
- drawoptions(withcolor 0.7white);
- for k=0 upto ((maxx-minx)/Pasx+2):
- trace (unitex*k,0)--(unitex*k,(maxy+Ajout)*unitey);%withcolor red;
- endfor;
- for k=0 upto (maxy+Ajout):
- trace (0,k*unitey)--(unitex*((maxx-minx)/Pasx+2),k*unitey);% withcolor blue;
- endfor;
- drawoptions();
- enddef;
- % Fin Grille
- % On trace les rectangles
- vardef AfficheRectangles=
- if Hachures:
- Grille;
- for k=2 step 2 until TotalAbscisses:
- draw hachurage(polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)),60,0.2,0);
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- else:
- for k=2 step 2 until TotalAbscisses:
- fill polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)) withcolor if unknown Col[k/2]: CoulDefaut else: Col[k/2] fi;
- endfor;
- Grille;
- for k=2 step 2 until TotalAbscisses:
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- fi;
- enddef;
- % Affichage final
- if ECC:
- AfficheRectangles;
- if Mediane:
- AfficheMedianeECC(#2);
- fi;
- else:
- if Mediane:
- AfficheMediane(#2);
- if Hachures:
- Grille;
- %Partie gauche
- for k=2 step 2 until (2*pMed-2):
- draw hachurage(polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)),60,0.2,0);
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- draw hachurage(polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed])),60,0.2,0);
- draw polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed]));
- % Partie droite
- for k=2*pMed+2 step 2 until TotalAbscisses:
- draw hachurage(polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)),120,0.2,1);
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- draw hachurage(polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed])),120,0.2,1);
- draw polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed]));
- else:
- %Partie gauche
- for k=2 step 2 until (2*pMed-2):
- fill polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)) withcolor if unknown Col[1]: CoulDefaut else: Col[1] fi;
- endfor;
- fill polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed])) withcolor if unknown Col[1]: CoulDefaut else: Col[1] fi ;
- % Partie droite
- for k=2*pMed+2 step 2 until TotalAbscisses:
- fill polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)) withcolor if unknown Col[2]: CoulDefaut else: Col[2] fi;
- endfor;
- fill polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed])) withcolor if unknown Col[2]: CoulDefaut else: Col[2] fi;
- Grille;
- %Partie Gauche
- for k=2 step 2 until (2*pMed-2):
- trace polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- trace polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed]));%(Y[pMed]/(UniteAire*(X[2*pMed-2]-X[2*pMed-3])/Pasx))));
- for k=2*pMed+2 step 2 until TotalAbscisses:
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- draw polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed]));
- fi;
- draw MedVer withpen pencircle scaled 2;
- else:
- AfficheRectangles;
- fi;
- fi;
- %Affichage ou pas des axes, de la médiane
- if MemeAmpli:
- drawarrow (0,0)--unitey*(0,maxy+1);
- EcartAmpli:=(X[2]-X[1])/Pasx;
- if AideLecture:
- for k=2 step 2 until TotalAbscisses:
- trace ((unitex*(Depart+(X[k]-X[1])/Pasx),unitey*Z[k/2]))--(unitey*(0,Z[k/2])) dashed evenly;
- endfor;
- fi;
- if LectureFine:
- for k=0 upto ((maxy+1)):
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- if Lecture:
- for k=0 upto 1:
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- else:%Pas même ampli : on n'affiche pas l'axe vertical
- trace hachurage(polygone((unitex,unitey*(maxy+2)),(unitex*2,unitey*(maxy+2)),(unitex*2,unitey*(maxy+1)),(unitex,unitey*(maxy+1))),60,0.2,0);
- trace polygone((unitex,unitey*(maxy+2)),(unitex*2,unitey*(maxy+2)),(unitex*2,unitey*(maxy+1)),(unitex,unitey*(maxy+1)));
- label.rt(TEX(decimal(UniteAire)&"~\useKV[ClesStat]{Effectif}"),(unitex*2,unitey*(maxy+1.5)));
-% if Mediane:
-% AfficheMediane(#2);
-% fi;
- fi;
- % On trace l'axe des abscisses
- drawarrow (0,0)--unitex*((maxx-minx)/Pasx+2,0);
- %On labelise l'axe des abscisses
- dotlabel.bot(TEX("\num{"&decimal(X[1])&"}"),unitex*(Depart,0));
- for k=2 step 2 until TotalAbscisses:
- dotlabel.bot(TEX("\num{"&decimal(X[k])&"}"),unitex*(Depart+(X[k]-X[1])/Pasx,0));
- endfor;
- label.rt(TEX("\useKV[ClesStat]{Donnee}"),(unitex*((maxx-minx)/Pasx+2),0));
- %On affiche les données sup ou pas.
- AfficheLegende(#2);
- \end{mplibcode}
- \fi
-}
-%
-
-\newcommand\Stat[2][]{%
- \useKVdefault[ClesStat]%
- \setKV[ClesStat]{#1}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeAvantUtilisation{#2}%
- \xintifboolexpr{\listlen\ListeAvantUtilisation[1]==3}{\setKV[ClesStat]{Classes}}{}%
- \ifboolKV[ClesStat]{Classes}{%
- \setsepchar[*]{,*/}%
- \readlist*\ListeDepart{#2}%
- \xdef\EffectifTotal{0}%
- \xintFor* ##1 in{\xintSeq{1}{\ListeDepartlen}}\do{%
- \xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeDepart[##1,3]}}%
- }%
- \ifboolKV[ClesStat]{Histogramme}{%
- \buildgraphhisto%
- }{%
- \ifboolKV[ClesStat]{Tableau}{%
- \buildtabclasses%
- }{}%
- }%
- }{%
- \setsepchar{,}%
- \ifboolKV[ClesStat]{Representation}{%
- \setKV[TraceG]{Xmin=0,Ymin=0}%
- \setKV[TraceG]{#1}%
- \readlist*\ListePointsPlaces{#2}%
- \newtoks\toklistepoint%
- \foreachitem\compteur\in\ListePointsPlaces{\expandafter\Updatetoks\compteur\nil}%
- \MPPlacePoint[#1]{\the\toklistepoint}%
- }{%
- \ifboolKV[ClesStat]{Liste}{%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\Liste{#2}%
- \xdef\foo{}%
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \xintFor* ##1 in {\xintSeq {1}{\Listelen}}\do{%
- \xdef\foo{\foo 1/\Liste[##1],}%
- }%
- \readlist*\ListeComplete{\foo}%
- \setKV[ClesStat]{Qualitatif}%
- }{%
- \ifboolKV[ClesStat]{Sondage}{%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\Liste{#2}%
- % "liste vide"
- \newtoks\tabtoksEEa%
- \tabtoksEEa{}%
- %
- % "liste vide"
- \newtoks\tabtoksEEb%
- \tabtoksEEb{}%
- %
- \readlist*\ListeSansDoublonsEE{999}% %% Pour ne pas avoir une liste vide
- %
- \newcount\cmptEE%
- \newcount\PasNumEE% %% Permettra de savoir si ce sondage est qualitatif ou quantitatif
- \PasNumEE=0\relax%
- \DTLcleardb{mtdbEE}%
- % on range les resultats du sondage par ordre croissant.
- \foreachitem\x\in\Liste{%
- \DTLnewrow{mtdbEE}%
- \DTLnewdbentry{mtdbEE}{Numeric}{\x}%
- }%
- \dtlsort{Numeric}{mtdbEE}{\dtlicompare}%
- \DTLforeach{mtdbEE}{\nba=Numeric}{%
- \IfDecimal{\nba}{}{\PasNumEE=\numexpr\PasNumEE+1\relax}%
- \cmptEE=0\relax%
- \foreachitem\nbb\in\ListeSansDoublonsEE{%
- \ifthenelse{\equal{\nba}{\nbb}}{\cmptEE=\numexpr\cmptEE+1\relax}{}%
- }%
- \ifthenelse{\equal{\the\cmptEE}{0}}{%
- \expandafter\AjoutListEEb\nba\nil%
- \xdef\listEEa{\the\tabtoksEEb}%
- \ignoreemptyitems%
- \setsepchar{,}%
- \readlist*\ListeSansDoublonsEE\listEEa% %%% Enl\`eve tous les \'elements
- %%% identiques de Liste
- }{}%
- }%
- \foreachitem\nba\in\ListeSansDoublonsEE{%
- \cmptEE=0\relax%
- \DTLforeach{mtdbEE}{\nbb=Numeric}{%
- \ifthenelse{\equal{\nba}{\nbb}}{\cmptEE=\numexpr\cmptEE+1\relax}{}%
- }%
- \expandafter\AjoutListEEab\nba\nil%
- \expandafter\AjoutListEEaa\the\cmptEE\nil% %%% Compte tous les \'elements
- %%% identiques de Liste
- }%
- \xdef\listEEb{\the\tabtoksEEa}
- \ignoreemptyitems%
- \setsepchar[*]{,*/}%
- \readlist*\ListeComplete\listEEb%
- %
- \ifthenelse{\equal{\the\PasNumEE}{0}}{\setKV[ClesStat]{Quantitatif}}{\setKV[ClesStat]{Qualitatif}}%
- }{%
- \ifboolKV[ClesStat]{Qualitatif}{%
- % % on lit la liste \'ecrite sous la forme valeur/effectif
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \readlist*\ListeInitiale{#2}%
- % "liste vide"
- \newtoks\tabtoksEE%
- \tabtoksEE{}%
- \DTLcleardb{mtdbEEqual}%
- \foreachitem\x\in\ListeInitiale{%
- \DTLnewrow{mtdbEEqual}%
- \itemtomacro\ListeInitiale[\xcnt,1]\x%
- \DTLnewdbentry{mtdbEEqual}{Val}{\x}%
- \itemtomacro\ListeInitiale[\xcnt,2]\y%
- \DTLnewdbentry{mtdbEEqual}{Eff}{\y}%
- }%
- \DTLforeach{mtdbEEqual}{\Val=Val,\Eff=Eff}{%
- \expandafter\AjoutListEEy\Val\nil%
- \expandafter\AjoutListEEx\Eff\nil%
- }%
- \xdef\listEE{\the\tabtoksEE}
- \ignoreemptyitems%
- \setsepchar[*]{,*/}%
- \readlist*\ListeComplete\listEE%
- }{% Dans le qualitatif, on trie d'abord les valeurs.
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \readlist*\ListeInitiale{#2}%
- % "liste vide"
- \newtoks\tabtoksEE%
- \tabtoksEE{}%
- \DTLcleardb{mtdbEEqual}%
- \foreachitem\x\in\ListeInitiale{%
- \DTLnewrow{mtdbEEqual}%
- \itemtomacro\ListeInitiale[\xcnt,1]\x%
- \DTLnewdbentry{mtdbEEqual}{Val}{\x}%
- \itemtomacro\ListeInitiale[\xcnt,2]\y%
- \DTLnewdbentry{mtdbEEqual}{Eff}{\y}%
- }%
- \dtlsort{Val}{mtdbEEqual}{\dtlicompare}%
- \DTLforeach{mtdbEEqual}{\Val=Val,\Eff=Eff}{%
- \expandafter\AjoutListEEy\Val\nil%
- \expandafter\AjoutListEEx\Eff\nil%
- }%
- \xdef\listEE{\the\tabtoksEE}
- \ignoreemptyitems%
- \setsepchar[*]{,*/}%
- \readlist*\ListeComplete\listEE%
- }}}%
- % on cr\'ee la base de donn\'ees des valeurs dans le cas qualitatif
- \DTLcleardb{mtdb}%
- % on les trie pour la m\'ediane dans le cas qualitatif % Touhami / Texnique.fr
- \foreachitem\x\in\ListeComplete{%
- \DTLnewrow{mtdb}%
- \itemtomacro\ListeComplete[\xcnt,2]\y%
- \DTLnewdbentry{mtdb}{Numeric}{\y}%
- }%
- \dtlsort{Numeric}{mtdb}{\dtlicompare}%
- % % on r\'einitialise les valeurs des crit\`eres de position et de
- % dispersion
- \renewcommand\NbDonnees{}%
- \renewcommand\SommeDonnees{}%
- \renewcommand\EffectifTotal{}%
- \renewcommand\Moyenne{}%
- \renewcommand\Etendue{}%
- \renewcommand\Mediane{}%
- \renewcommand\DonneeMax{0}%
- \renewcommand\EffectifMax{0}%
- \renewcommand\DonneeMin{999999999}%
- \ifboolKV[ClesStat]{Qualitatif}{%D\'ebut qualitatif
- % Calculs
- % %% celui de la somme des donn\'ees
- \foreachitem\don\in\ListeComplete{\xdef\SommeDonnees{\fpeval{\SommeDonnees+\ListeComplete[\doncnt,2]}}}%
- % %% celui de l'effectif total
- \ifboolKV[ClesStat]{EffectifTotal}{%
- \ifboolKV[ClesStat]{Liste}{L'effectif total de la s\'erie est
- \num{\ListeCompletelen}.\par}{%
- \foreachitem\don\in\ListeComplete{\xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeComplete[\doncnt,2]}}}%
- L'effectif total de la s\'erie est : \[\ListeComplete[1,2]\xintFor* ##1 in
- {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\ListeComplete[##1,2]}=\num{\EffectifTotal}\]}
- }{}%
- \ifboolKV[ClesStat]{Liste}{\xdef\EffectifTotal{\ListeCompletelen}}{\xdef\EffectifTotal{\SommeDonnees}}%
- % %% celui de la moyenne
- \xdef\Moyenne{\fpeval{\SommeDonnees/\ListeCompletelen}}%
- \ifboolKV[ClesStat]{Moyenne}{%
- \ifboolKV[ClesStat]{Liste}{%
- La somme des donn\'ees de la s\'erie est :%
- \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
- \[
- \num{\ListeComplete[1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\num{\ListeComplete[##1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- \]}{%
- \[
- \num{\ListeComplete[1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{3}}\do{%
- +\num{\ListeComplete[##1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}+\dots\xintFor* ##1 in {\xintSeq {\ListeCompletelen-1}{\ListeCompletelen}}\do{%
- +\num{\ListeComplete[##1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- \]%
- }%
- \ifboolKV[ClesStat]{SET}{}{Le nombre de donn\'ees de la s\'erie est \num{\ListeCompletelen}.\\}%
- Donc la moyenne de la s\'erie est \'egale \`a :%
- \[\frac{\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}{\num{\ListeCompletelen}}%\IfInteger{\fpeval{round(\fpeval{\SommeDonnees/\ListeCompletelen},\useKV[ClesStat]{Precision})}}{=}{\approx}
- \ifboolKV[ClesStat]{ValeurExacte}{}{%
- \opdiv*{\SommeDonnees}{\ListeCompletelen}{resultatmoy}{restemoy}%
- \opround{resultatmoy}{\useKV[ClesStat]{Precision}}{resultatmoy1}%
- \opcmp{resultatmoy}{resultatmoy1}\ifopeq=\else\approx\fi%
- \num{\fpeval{round(\SommeDonnees/\ListeCompletelen,\useKV[ClesStat]{Precision})}}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- }%
- \]%
- }{Pas de moyenne possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}%
- % % %% celui de l'\'etendue
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintifboolexpr{\ListeComplete[##1,2]>\DonneeMax}{%
- \xdef\DonneeMax{\ListeComplete[##1,2]}%
- }{}%
- \xintifboolexpr{\ListeComplete[##1,2]<\DonneeMin}{%
- \xdef\DonneeMin{\ListeComplete[##1,2]}%
- }{}%
- }%
- \xdef\EffectifMax{\DonneeMax}%
- \xdef\Etendue{\fpeval{\DonneeMax-\DonneeMin}}%
- \ifboolKV[ClesStat]{Etendue}{%
- \ifboolKV[ClesStat]{Liste}{%
- L'\'etendue de la s\'erie est \'egale \`a $\num{\DonneeMax}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\DonneeMin}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- }{Pas d'\'etendue possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}%
- % celui de la mediane
- %%% Recuperation de la mediane %%%%%%%%%%%%%%%%%%%%%
- \newcount\Recapmed%
- \newcount\Recapmeda%
- \ifodd\number\ListeCompletelen%odd impair
- \Recapmed=\fpeval{(\ListeCompletelen+1)/2}\relax%
- \else%
- \Recapmed=\fpeval{\ListeCompletelen/2}\relax%
- \Recapmeda=\numexpr\Recapmed+1\relax%
- \fi%
- \newcount\Recapk%
- \Recapk=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\Recapk=\numexpr\Recapk+1\relax%
- \ifnum\Recapk=\Recapmed%
- \ifodd\number\ListeCompletelen%
- \xdef\Mediane{\numeroDonnee}%
- \else%
- \xdef\Mediane{\numeroDonnee}%
- \fi%
- \fi%
- \ifnum\Recapk=\Recapmeda%
- \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}%
- \fi%
- }%
- %%%
- \ifboolKV[ClesStat]{Mediane}{%
- \ifboolKV[ClesStat]{Liste}{%
- On range les donn\'ees par ordre croissant :%
- \nbdonnees=0%
- \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
- \[\DTLforeach{mtdb}{\numeroDonnee=Numeric}{\num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\DTLiflastrow{.}{;}}\]%
- }{%
- \medskip%
- \begin{center}
- \begin{minipage}{0.9\linewidth}
- \DTLforeach*{mtdb}{\numeroDonnee=Numeric}{\num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\DTLiflastrow{.}{;
- }\nbdonnees=\fpeval{\nbdonnees+1}\modulo{\nbdonnees}{\useKV[ClesStat]{Coupure}}\xintifboolexpr{\remainder==0}{\\}{}}
- \end{minipage}
- \end{center}%
- \medskip%
- }%
- \newcount\med%
- \newcount\meda%
- \ifodd\number\ListeCompletelen%odd impair
- \med=\fpeval{(\ListeCompletelen+1)/2}\relax%
- L'effectif total de la s\'erie est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$.\\
- \else% pair
- \med=\fpeval{\ListeCompletelen/2}\relax%
- \meda=\numexpr\med+1\relax%
- L'effectif total de la s\'erie est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\the\med}+\num{\the\med}$.\\
- \fi%
- \newcount\k%
- \k=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\k=\numexpr\k+1\relax%
- \ifnum\k=\med %La m\'ediane vaut \numeroDonnee\fi
- \ifodd\number\ListeCompletelen%
- La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee.\\Donc la m\'ediane de la s\'erie est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \xdef\Mediane{\numeroDonnee}%
- \else%
- La \the\med\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\numeroDonnee}%
- \fi%
- \fi%
- \ifnum\k=\meda
- La \the\meda\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.} Donc la m\'ediane de la s\'erie est \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \fi%
- }%
- %%%%%%%
- }{Pas de m\'ediane possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}
- %%% Quartile un
- \newcount\PfCQuartileUn%
- \modulo{\ListeCompletelen}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileUn=\fpeval{\ListeCompletelen/4}%
- \else%
- \PfCQuartileUn=\fpeval{ceil(\ListeCompletelen/4)}%
- \fi%
- \newcount\PfCQunk%
- \PfCQunk=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\PfCQunk=\numexpr\PfCQunk+1\relax%
- \ifnum\PfCQunk=\PfCQuartileUn%
- \xdef\QuartileUn{\numeroDonnee}%
- \fi%
- }%
- %%% Quartile trois
- \newcount\PfCQuartileTrois%
- \modulo{\ListeCompletelen}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileTrois=\fpeval{3*\ListeCompletelen/4}%
- \else%
- \PfCQuartileTrois=\fpeval{ceil(3*\ListeCompletelen/4)}%
- \fi%
- \newcount\PfCQtroisk%
- \PfCQtroisk=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\PfCQtroisk=\numexpr\PfCQtroisk+1\relax%
- \ifnum\PfCQtroisk=\PfCQuartileTrois%La m\'ediane vaut \numeroDonnee\fi
- \xdef\QuartileTrois{\numeroDonnee}%
- \fi%
- }%
- % Construction du tableau
- \ifboolKV[ClesStat]{Tableau}{%
- \ifboolKV[ClesStat]{Liste}{Pas de tableau possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un tableau avec cette liste.}{\BuildtabStat}}{}%
- % Construction du graphique
- \ifboolKV[ClesStat]{Graphique}{%
- \ifboolKV[ClesStat]{Liste}{Pas de graphique possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un graphique avec cette liste.}{%
- \ifboolKV[ClesStat]{Barre}{%
- \buildgraphbarhor%
- }{%
- \ifboolKV[ClesStat]{Angle}{%
- \buildgraphcq{360}%
- }{%
- \ifboolKV[ClesStat]{SemiAngle}{%
- \buildgraphcq{180}%
- }{%
- \buildgraphq[#1]%
- }%
- }%
- }%
- }%
- }{}%
- }{%%%%%%%%%%%%%%%%%%%%%D\'ebut quantitatif
- % % on effectue les calculs
- % %% celui de la somme des donn\'ees
- \foreachitem\don\in\ListeComplete{\xdef\SommeDonnees{\fpeval{\SommeDonnees+\ListeComplete[\doncnt,1]*\ListeComplete[\doncnt,2]}}}%
- % %% celui de l'effectif total
- \foreachitem\don\in\ListeComplete{\xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeComplete[\doncnt,2]}}}%
- % %% celui de l'\'etendue
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintifboolexpr{\ListeComplete[##1,1]>\DonneeMax}{%
- \xdef\DonneeMax{\ListeComplete[##1,1]}%
- }{}%
- \xintifboolexpr{\ListeComplete[##1,1]<\DonneeMin}{%
- \xdef\DonneeMin{\ListeComplete[##1,1]}%
- }{}%
- }%
- % \xdef\EffectifMax{\DonneeMax}%
- \xdef\Etendue{\fpeval{\DonneeMax-\DonneeMin}}%%
- % %% celui de la moyenne
- \xdef\Moyenne{\fpeval{\SommeDonnees/\EffectifTotal}}%
- \ifboolKV[ClesStat]{EffectifTotal}{%
- L'effectif total de la s\'erie est : \[\ListeComplete[1,2]\xintFor* ##1 in
- {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\ListeComplete[##1,2]}=\num{\EffectifTotal}\]
- }{}%
- \ifboolKV[ClesStat]{Moyenne}{%
- La somme des donn\'ees de la s\'erie est :%
- \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
- \[
- \ifnum\ListeComplete[1,2]=1\else\num{\ListeComplete[1,2]}\times\fi\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\ifnum\ListeComplete[##1,2]=1\else\num{\ListeComplete[##1,2]}\times\fi\num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- \]
- }{%
- \[
- \ifnum\ListeComplete[1,2]=1\else\num{\ListeComplete[1,2]}\times\fi\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{2}}\do{%
- +\ifnum\ListeComplete[##1,2]=1\else\num{\ListeComplete[##1,2]}\times\fi\num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }+\dots\xintFor* ##1 in {\xintSeq {\ListeCompletelen-1}{\ListeCompletelen}}\do{%
- +\ifnum\ListeComplete[##1,2]=1\else\num{\ListeComplete[##1,2]}\times\fi\num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- \]
- }%
- \ifboolKV[ClesStat]{SET}{}{L'effectif total de la s\'erie est :%
- \ifboolKV[ClesStat]{Liste}{ \num{\EffectifTotal}\\}{%
- \[\num{\ListeComplete[1,2]}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\num{\ListeComplete[##1,2]}
- }=\num{\EffectifTotal}
- \]%
- }%
- }%
- Donc la moyenne de la s\'erie est \'egale \`a :%
- \[\frac{\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}{\num{\EffectifTotal}}%
- \ifboolKV[ClesStat]{ValeurExacte}{}{%
- \opdiv*{\SommeDonnees}{\EffectifTotal}{resultatmoy}{restemoy}%
- \opround{resultatmoy}{\useKV[ClesStat]{Precision}}{resultatmoy1}%
- \opcmp{resultatmoy}{resultatmoy1}\ifopeq=\else\approx\fi%
- \num{\fpeval{round(\SommeDonnees/\EffectifTotal,\useKV[ClesStat]{Precision})}}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- }%
- \]%
- }{}%
- % % Affichage des r\'eponses.
- % %% pour l'\'etendue
- \ifboolKV[ClesStat]{Etendue}{L'\'etendue de la s\'erie est \'egale \`a $\num{\ListeComplete[\ListeCompletelen,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}}{}%
- % pour la m\'ediane
- %%% Recuperation Mediane
- \newcount\Recupmed%
- \newcount\Recupmeda%
- \ifodd\number\EffectifTotal%odd impair
- \Recupmed=\fpeval{(\EffectifTotal+1)/2}\relax%
- \else% pair
- \Recupmed=\fpeval{\EffectifTotal/2}\relax%
- \Recupmeda=\numexpr\Recupmed+1\relax%
- \fi%
- \newcount\Recupk%
- \Recupk=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \Recupk=\numexpr\Recupk+1\relax%
- \ifnum\Recupk=\Recupmed%
- \ifodd\number\EffectifTotal%
- \xdef\Mediane{\ListeComplete[##1,1]}%
- \else%
- \xdef\Mediane{\ListeComplete[##1,1]}%
- \fi%
- \fi%
- \ifnum\Recupk=\Recupmeda%
- \xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}%
- \fi%
- }%
- }%
- %%%
- \ifboolKV[ClesStat]{Mediane}{%
-
- \newcount\med%
- \newcount\meda%
- \ifodd\number\EffectifTotal%odd impair
- \med=\fpeval{(\EffectifTotal+1)/2}\relax%
- L'effectif total de la s\'erie est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$. %
- \else% pair
- \med=\fpeval{\EffectifTotal/2}\relax%
- \meda=\numexpr\med+1\relax%
- L'effectif total de la s\'erie est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med}}+\num{\fpeval{\med}}$. %
- \fi%
- \newcount\k%
- \k=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \k=\numexpr\k+1\relax%
- \ifnum\k=\med%
- \ifodd\number\EffectifTotal%
- La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee. Donc la m\'ediane de la s\'erie est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \else%
- La \the\med\ieme{} donn\'ee est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\ListeComplete[##1,1]}%
- \fi%
- \fi%
- \ifnum\k=\meda%
- La \the\meda\ieme{} donn\'ee est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\\Donc la m\'ediane de la s\'erie est \xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \fi%
- }%
- }%
- }{}%
- %%% Quartile un
- \newcount\PfCQuartileUn%
- \modulo{\EffectifTotal}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileUn=\fpeval{\EffectifTotal/4}%
- \else%
- \PfCQuartileUn=\fpeval{ceil(\EffectifTotal/4)}%
- \fi%
- \newcount\PfCQunk%
- \PfCQunk=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \PfCQunk=\numexpr\PfCQunk+1\relax%
- \ifnum\PfCQunk=\PfCQuartileUn%
- \xdef\QuartileUn{\ListeComplete[##1,1]}%
- \fi%
- }%
- }%
- %%% Quartile trois
- \newcount\PfCQuartileTrois%
- \modulo{\EffectifTotal}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileTrois=\fpeval{3*\EffectifTotal/4}%
- \else%
- \PfCQuartileTrois=\fpeval{ceil(3*\EffectifTotal/4)}%
- \fi%
- \newcount\PfCQtroisk%
- \PfCQtroisk=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \PfCQtroisk=\numexpr\PfCQtroisk+1\relax%
- \ifnum\PfCQtroisk=\PfCQuartileTrois%
- \xdef\QuartileTrois{\ListeComplete[##1,1]}%
- \fi%
- }%
- }%
- % Construction de tableau
- \ifboolKV[ClesStat]{Tableau}{\BuildtabStat}{}%
- % Construction du graphique ??
- \ifboolKV[ClesStat]{Graphique}{%
- \ifboolKV[ClesStat]{Angle}{%
- \buildgraphcq{360}%
- }{%
- \ifboolKV[ClesStat]{SemiAngle}{%
- \buildgraphcq{180}%
- }{%
- \buildgraph[#1]%
- }%
- }%
- }{}%
- }%
- }%
- }%
-}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCStatistiquesoldold.tex b/macros/latex/contrib/profcollege/latex/PfCStatistiquesoldold.tex
deleted file mode 100644
index 72a33f9dd4..0000000000
--- a/macros/latex/contrib/profcollege/latex/PfCStatistiquesoldold.tex
+++ /dev/null
@@ -1,2109 +0,0 @@
-%%%
-% Statistiques
-%%%
-\newcommand\NbDonnees{}%
-\newcommand\SommeDonnees{}%
-\newcommand\EffectifTotal{}%
-\newcommand\Moyenne{}%
-\newcommand\Etendue{}%
-\newcommand\Mediane{}%
-\newcommand\DonneeMax{}%
-\newcommand\DonneeMin{}%
-\newcommand\EffectifMax{}%
-\newcommand\PfCArticleMediane{la}%
-
-\setKVdefault[ClesStat]{ColVide=0,CaseVide=false,EffVide=false,%
-FreqVide=false,AngVide=false,ECCVide=false,TotalVide=false,Sondage=false,Liste=false,%
-Tableau=false,Stretch=1,Frequence=false,EffectifTotal=false,%
-Etendue=false,Moyenne=false,SET=false,ValeurExacte=false,Mediane=false,DetailsMediane=false,UneMediane=false,QuartileUn=false,QuartileTrois=false,Total=false,Concret=false,%
-Unite={},Largeur=1cm,Precision=2,PrecisionF=0,Donnee=Valeurs,Effectif=Effectif,Grille=false,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,Classes=false,TableauVide=false,ECC=false,Coupure=10,CouleurTab=gray!15,Graphique=false,Batons=true,%
-% Pour les diags batons
-EpaisseurBatons=1,ListeCouleursB={a},Lecture=false,LectureFine=false,AideLecture=false,Reponses=false,DonneesSup=false,AbscisseRotation=false,Tiret=false,AngleRotationAbscisse=0,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Depart=0,CouleurDefaut=black,Date=false,GrandNombrey=false,GrandNombrex=false,%
-% Pour les diags circulaires
-Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,ACompleter=false,%
-%Pour les représentations
-Representation=false,%
-%Pour les barres horizontales
-Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0,%Grille est dispo
-% Pour les histogrammes
-Histogramme=false,UniteAire=1,MemeAmpli,DepartHisto=1%
-}%
-%compl\'ements
-\defKV[ClesStat]{AngleRotationAbscisse=\setKV[ClesStat]{AbscisseRotation}}%
-\defKV[ClesStat]{AffichageDonnees=\setKV[ClesStat]{AffichageAngle=false}\setKV[ClesStat]{AffichageDonnee}}%
-\defKV[ClesStat]{CasesVides=\setKV[ClesStat]{CaseVide}}%
-\defKV[ClesStat]{LegendesVides=\setKV[ClesStat]{LegendeVide}}%
-\defKV[ClesStat]{GrandNombreO=\setKV[ClesStat]{GrandNombrey}}%
-\defKV[ClesStat]{GrandNombreA=\setKV[ClesStat]{GrandNombrex}}%
-% La construction du tableau
-\def\addtotok#1#2{#1\expandafter{\the#1#2}}%
-\newtoks\tabtoksa\newtoks\tabtoksb\newtoks\tabtoksc%
-\def\updatetoks#1/#2\nil{\addtotok\tabtoksa{\ifboolKV[ClesStat]{Qualitatif}{&#1}{&\num{#1}}}\addtotok\tabtoksb{&\num{#2}}}%
-%
-\newcounter{PfCCompteLignes}%
-%
-\def\BuildtabStat{% %%Tableau sans/avec total
- \setcounter{PfCCompteLignes}{0}%
- \tabtoksa{\useKV[ClesStat]{Donnee}}\tabtoksb{\useKV[ClesStat]{Effectif}}%
- \foreachitem\compteur\in\ListeComplete{\expandafter\updatetoks\compteur\nil}%
- \renewcommand{\arraystretch}{\useKV[ClesStat]{Stretch}}%
- \ifboolKV[ClesStat]{Total}{%
- \begin{NiceTabular}{c*{\fpeval{\ListeCompletelen+1}}{>{\centering\arraybackslash}p{\useKV[ClesStat]{Largeur}}}}%
- \CodeBefore%
- \rowcolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \columncolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \Body%
- \the\tabtoksa&Total\\%
- \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb&\num{\EffectifTotal}}\\%
- \ifboolKV[ClesStat]{Frequence}{\stepcounter{PfCCompteLignes}Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\num{\CalculFrequence{##1}}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}\\}{}%
- \ifboolKV[ClesStat]{Angle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}\\}{}%
- \ifboolKV[ClesStat]{SemiAngle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}\\}{}%
- \ifboolKV[ClesStat]{ECC}{\stepcounter{PfCCompteLignes}E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}\\}{}%
- \CodeAfter%
- % On crée la liste des colonnes à vider
- \xintifboolexpr{\useKV[ClesStat]{ColVide}>0}{%
- \xdef\FooStat{\useKV[ClesStat]{ColVide}}%
- \setsepchar{,}%
- \readlist*\ListeColonnesAVider{\FooStat}%
- \foreachitem\compteur\in\ListeColonnesAVider{%
- \tikz\fill[white] (row-2-|col-\fpeval{\compteur+1}) rectangle (last-|col-\fpeval{\compteur+2});%
- }%
- }{}%
- % On crée la liste des cases à vider
- \ifboolKV[ClesStat]{CaseVide}{%
- \xdef\FooStatCases{\useKV[ClesStat]{CasesVides}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeCasesAVider{\FooStatCases}%
- \foreachitem\compteur\in\ListeCasesAVider{%
- \tikz\fill[white] (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+1}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+1}) rectangle (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+2}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+2});%
- }%
- }{}%
- % On retrace le tableau
- %Les colonnes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\ListeCompletelen+3}}}\do{%
- \tikz\draw (row-1-|col-##1) -- (last-|col-##1);%
- }%
- % Les lignes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\thePfCCompteLignes+3}}}\do{%
- \tikz\draw (row-##1-|col-1) -- (row-##1-|last);%
- }%
- \end{NiceTabular}%
- }{%
- \begin{NiceTabular}{c*{\fpeval{\ListeCompletelen}}{>{\centering\arraybackslash}p{\useKV[ClesStat]{Largeur}}}}%
- \CodeBefore%
- \rowcolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \columncolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \Body%
- \the\tabtoksa\\%
- \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb}\\%
- \ifboolKV[ClesStat]{Frequence}{\stepcounter{PfCCompteLignes}Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\num{\CalculFrequence{##1}}}}}\\}{}%
- \ifboolKV[ClesStat]{Angle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}\\}{}%
- \ifboolKV[ClesStat]{SemiAngle}{\stepcounter{PfCCompteLignes}Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}\\}{}%
- \ifboolKV[ClesStat]{ECC}{\stepcounter{PfCCompteLignes}E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}\\}{}%
- \CodeAfter%
- % On crée la liste des colonnes à vider
- \xintifboolexpr{\useKV[ClesStat]{ColVide}>0}{%
- \xdef\FooStat{\useKV[ClesStat]{ColVide}}%
- \setsepchar{,}%
- \readlist*\ListeColonnesAVider{\FooStat}%
- \foreachitem\compteur\in\ListeColonnesAVider{%
- \tikz\fill[white] (row-2-|col-\fpeval{\compteur+1}) rectangle (last-|col-\fpeval{\compteur+2});%
- }%
- }{}%
- % On crée la liste des cases à vider
- \ifboolKV[ClesStat]{CaseVide}{%
- \xdef\FooStatCases{\useKV[ClesStat]{CasesVides}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeCasesAVider{\FooStatCases}%
- \foreachitem\compteur\in\ListeCasesAVider{%
- \tikz\fill[white] (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+1}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+1}) rectangle (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+2}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+2});%
- }%
- }{}%
- % On retrace le tableau
- %Les colonnes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\ListeCompletelen+2}}}\do{%
- \tikz\draw (row-1-|col-##1) -- (last-|col-##1);%
- }%
- % Les lignes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\thePfCCompteLignes+3}}}\do{%
- \tikz\draw (row-##1-|col-1) -- (row-##1-|last);%
- }%
- \end{NiceTabular}%
- }%
-}%
-
-% Pour construire le diagramme en barres horizontales
-\def\UpdatetoksHor#1/#2/#3\nil{\addtotok\toklistenomhor{"#1",}\addtotok\toklistedonhor{#3,}\addtotok\toklisteaffhor{"#2",}}%
-
-\newcommand\buildgraphbarhor{%
- \newtoks\toklistenomhor%
- \newtoks\toklistedonhor%
- \newtoks\toklisteaffhor%
- \newtoks\toklistecouleur%
- \xdef\PfCfooStat{}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xdef\PfCfooStat{\PfCfooStat \ListeComplete[##1,2],}%
- }%
- \xdef\DivMax{\fpeval{max(\PfCfooStat)}}%
- \xdef\ExposantDivMax{\fpeval{round(ln(\DivMax)/ln(10))}}%
- \xdef\DivMax{\fpeval{10**\ExposantDivMax}}%
- \xdef\PfCfooStat{}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xdef\PfCfooStat{\PfCfooStat \ListeComplete[##1,1]/\ListeComplete[##1,2]/\fpeval{\ListeComplete[##1,2]/\DivMax},}%
- }%
- \readlist*\ListeCompleteDiagHor{\PfCfooStat}%
- \foreachitem\compteur\in\ListeCompleteDiagHor{\expandafter\UpdatetoksHor\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \NewMPDiagBarreHor{\the\toklistenomhor}{\the\toklistedonhor}{\the\toklisteaffhor}{\the\toklistecouleur}%
-}%
-
-% Pour construire le diagramme en bâtons
-\def\Updatetoks#1/#2\nil{\addtotok\toklistepoint{(#1,#2),}}%
-\newcommand\buildgraph[1][]{%
- \newtoks\toklistepoint\toklistepoint{}%
- \newtoks\toklistecouleur\toklistecouleur{}%
- \newtoks\toklistelegende\toklistelegende{}%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{-1}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- \foreachitem\compteur\in\ListeComplete{\expandafter\Updatetoks\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleursB}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \MPStatNew{\the\toklistepoint}{\the\toklistecouleur}{\the\toklistelegende}
-}%
-
-% Pour construire le diagramme en bâtons qualitatif
-\def\Updatetoksq#1/#2\nil{\addtotok\toklistepointq{"#1",#2,}}%
-\newcommand\buildgraphq[1][]{%
- \newtoks\toklistepointq\toklistepointq{}%
- \newtoks\toklistecouleur\toklistecouleur{}%
- \newtoks\toklistelegende\toklistelegende{}%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{-1}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- \foreachitem\compteur\in\ListeComplete{\expandafter\Updatetoksq\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleursB}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \MPStatNew{\the\toklistepointq}{\the\toklistecouleur}{\the\toklistelegende}%
-}%
-
-\def\UpdateCoul#1\nil{\addtotok\toklistecouleur{#1,}}%
-\def\UpdateLegende#1\nil{\addtotok\toklistelegende{#1,}}%
-
-% Pour construire le diagramme circulaire qualitatif
-\def\buildgraphcq#1{%
- \newtoks\toklistepointq\toklistepointq{}%
- \newtoks\toklistecouleur\toklistecouleur{}%
- \newtoks\toklistelegende\toklistelegende{}%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{0}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- %
- \foreachitem\compteur\in\ListeComplete{\expandafter\Updatetoksq\compteur\nil}%
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \NewMPStatCirculaireQ{\the\toklistepointq}{#1}{\the\toklistecouleur}{\the\toklistelegende}%
-}%
-
-%% calcul des fr\'equences
-\newcommand\CalculFrequence[1]{%
- \fpeval{round(\ListeComplete[#1,2]*100/\EffectifTotal,\useKV[ClesStat]{PrecisionF})}
-}
-
-%% calcul des angles
-\newcommand\CalculAngle[1]{%
- \fpeval{round(\ListeComplete[#1,2]*360/\EffectifTotal,0)}
-}
-\newcommand\CalculSemiAngle[1]{%
- \fpeval{round(\ListeComplete[#1,2]*180/\EffectifTotal,0)}
-}
-
-%% calcul des ECC
-\newcount\CompteurECC%
-\newcount\CompteurECCTotal%
-\newcount\CompteurECCC%
-\newcount\CompteurECCCTotal%
-
-\newcommand\CalculECC[1]{%
- \xdef\TotalECC{0}%
- \CompteurECC=1%
- \CompteurECCTotal=\numexpr#1+1%
- \whiledo{\CompteurECC < \CompteurECCTotal}{%
- \xdef\TotalECC{\fpeval{\TotalECC+\ListeComplete[\the\CompteurECC,2]}}%
- \CompteurECC=\numexpr\CompteurECC+1%
- }%
- \num{\TotalECC}%
-}
-
-\def\NewMPDiagBarreHorCode{%
- Longueur:=\useKV[ClesStat]{Longueur};
- Hauteur:=\useKV[ClesStat]{Hauteur};
- Ecart:=\useKV[ClesStat]{EcartBarre};
- ExposantDivMax:=\ExposantDivMax;
- ecarthachures=\useKV[ClesStat]{EcartHachures};
- epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean Hachures,Bicolore,Grille,AffichageDonnee,LegendeVide;
- Hachures=\useKV[ClesStat]{Hachures};
- Bicolore=\useKV[ClesStat]{Bicolore};
- Grille=\useKV[ClesStat]{Grille};
- AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- vardef CalculNombreDonneesEtDonneeMax(text t)=
- nbdon:=0;%nombre de données
- DonneeMax:=0;%donnée DonneeMaximale
- for p_=t:
- nbdon:=nbdon+1;
- if p_>DonneeMax:
- DonneeMax:=p_;
- fi;
- endfor;
- enddef;
- vardef ListeDonnees(text t)=
- n:=0;
- for p_=t:
- n:=n+1;
- Donnees[n]:=p_;
- endfor;
- enddef;
- vardef RecuperationCouleurs(text t)=
- color Col[];
- n:=0;
- for p_=t:
- n:=n+1;
- Col[n]=p_;
- endfor;
- enddef;
-}
-
-% Construction d'un diagramme en barres horizontal
-\newcommand\NewMPDiagBarreHor[4]{%
- % #1 Liste des noms
- % #2 Liste des valeurs associées
- % #3 Liste des valeurs à afficher (si pb calcul MP)
- % #4 Liste des couleurs
- \ifluatex%
- \mplibforcehmode%
- \begin{mplibcode}%
- \NewMPDiagBarreHorCode%
- vardef TraceDiag=
- if Grille:
- pair Zz[];%Pour déterminer "le dernier point"
- Zz0=(0,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz2=(0,(Hauteur+Ecart));
- Zz1=((1/DonneeMax)*Longueur,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz3=if ExposantDivMax=0 : (DonneeMax+1)[Zz0,Zz1] else: ((floor(DonneeMax*10+2))/10)[Zz0,Zz1];fi;
- if ExposantDivMax=0:
- for k=1 upto DonneeMax+1:
- trace (Zz0--Zz2) shifted (k*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- else:
- for k=1 upto (floor(DonneeMax*10+2)):
- trace (Zz0--Zz2) shifted ((k/10)*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- fi;
- if ExposantDivMax=0:
- for k=1 upto (DonneeMax+1):
- label.bot(TEX("\num{"&decimal(k)&"}"),Zz0+k*(Zz1-Zz0));
- endfor;
- else:
- if ExposantDivMax<5:
- for k=1 upto (floor(DonneeMax*10+2)):
- label.bot(TEX("\num{\fpeval{"&decimal(k)&"*(10**"&decimal(ExposantDivMax-1)&")}}"),Zz0+(k/10)*(Zz1-Zz0));
- endfor;
- else:
- dotlabel.bot(TEX("\num{\fpeval{10**"&decimal(ExposantDivMax)&"}}"),Zz1);
- fi;
- fi;
- fi;
- for k=0 upto nbdon-1:
- path RectangleDonnee;
- RectangleDonnee=(unitsquare xscaled ((Donnees[k+1]/DonneeMax)*Longueur) yscaled Hauteur) shifted(0,-k*(Hauteur+Ecart));
- if Hachures:
- fill RectangleDonnee withcolor white;
- trace Hachurage(RectangleDonnee,60 if
- (k mod 2)=0: +90 fi,ecarthachures,if (k mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures;
- else:
- remplis RectangleDonnee withcolor if unknown Col[k+1]: if Bicolore:Col[(k mod 2)+1] else: white fi; else:if Bicolore:Col[(k mod 2)+1] else: Col[k+1] fi; fi;
- fi;
- trace RectangleDonnee;
- endfor;
- if Grille:
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(0,(Hauteur+Ecart)) withpen pencircle scaled 1.5;
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(Zz3+u*(0.25,0)) withpen pencircle scaled 1.5;
- fi;
- enddef;
- vardef AffichageNom(text t)=
- k:=0;
- for p_=t:
- label.lft(TEX(p_),0.5[(0,0),(0,Hauteur)] shifted (0,-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- vardef AffichageDonnees(text t)=
- k:=0;
- for p_=t:
- label.rt(TEX("\num{"&p_&"}"),0.5[(0,0),(0,Hauteur)] shifted (((Donnees[k+1]/DonneeMax)*Longueur),-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- CalculNombreDonneesEtDonneeMax(#2);
- ListeDonnees(#2);
- RecuperationCouleurs(#4);
- TraceDiag;
- if LegendeVide=false:
- AffichageNom(#1);
- fi;
- if AffichageDonnee:
- AffichageDonnees(#3);
- fi;
- \end{mplibcode}
- \else%
- \begin{mpost}[mpsettings={\NewMPDiagBarreHorCode}]
- vardef TraceDiag=
- if Grille:
- pair Zz[];%Pour déterminer "le dernier point"
- Zz0=(0,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz2=(0,(Hauteur+Ecart));
- Zz1=((1/DonneeMax)*Longueur,-(nbdon-1)*(Hauteur+Ecart)-Ecart);
- Zz3=if ExposantDivMax=0 : (DonneeMax+1)[Zz0,Zz1] else: ((floor(DonneeMax*10+2))/10)[Zz0,Zz1];fi;
- if ExposantDivMax=0:
- for k=1 upto DonneeMax+1:
- trace (Zz0--Zz2) shifted (k*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- else:
- for k=1 upto (floor(DonneeMax*10+2)):
- trace (Zz0--Zz2) shifted ((k/10)*(Zz1-Zz0)) dashed evenly withcolor 0.5white;
- endfor;
- fi;
- if ExposantDivMax=0:
- for k=1 upto (DonneeMax+1):
- label.bot(LATEX("\num{"&decimal(k)&"}"),Zz0+k*(Zz1-Zz0));
- endfor;
- else:
- if ExposantDivMax<5:
- for k=1 upto (floor(DonneeMax*10+2)):
- label.bot(LATEX("\num{\noexpand\fpeval{"&decimal(k)&"*(10**"&decimal(ExposantDivMax-1)&")}}"),Zz0+(k/10)*(Zz1-Zz0));
- endfor;
- else:
- dotlabel.bot(LATEX("\num{\noexpand\fpeval{10**"&decimal(ExposantDivMax)&"}}"),Zz1);
- fi;
- fi;
- fi;
- for k=0 upto nbdon-1:
- path RectangleDonnee;
- RectangleDonnee=(unitsquare xscaled ((Donnees[k+1]/DonneeMax)*Longueur) yscaled Hauteur) shifted(0,-k*(Hauteur+Ecart));
- if Hachures:
- fill RectangleDonnee withcolor white;
- trace Hachurage(RectangleDonnee,60 if
- (k mod 2)=0: +90 fi,ecarthachures,if (k mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures;
- else:
- remplis RectangleDonnee withcolor if unknown Col[k+1]: if Bicolore:Col[(k mod 2)+1] else: white fi; else:if Bicolore:Col[(k mod 2)+1] else: Col[k+1] fi; fi;
- fi;
- trace RectangleDonnee;
- endfor;
- if Grille:
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(0,(Hauteur+Ecart)) withpen pencircle scaled 1.5;
- drawarrow (0,-(nbdon-1)*(Hauteur+Ecart)-Ecart)--(Zz3+u*(0.25,0)) withpen pencircle scaled 1.5;
- fi;
- enddef;
- vardef AffichageNom(text t)=
- k:=0;
- for p_=t:
- label.lft(LATEX(p_),0.5[(0,0),(0,Hauteur)] shifted (0,-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- vardef AffichageDonnees(text t)=
- k:=0;
- for p_=t:
- label.rt(LATEX("\num{"&p_&"}"),0.5[(0,0),(0,Hauteur)] shifted (((Donnees[k+1]/DonneeMax)*Longueur),-k*(Hauteur+Ecart)));
- k:=k+1;
- endfor;
- enddef;
- CalculNombreDonneesEtDonneeMax(#2);
- ListeDonnees(#2);
- RecuperationCouleurs(#4);
- TraceDiag;
- if LegendeVide=false:
- AffichageNom(#1);
- fi;
- if AffichageDonnee:
- AffichageDonnees(#3);
- fi;
- \end{mpost}
- \fi%
-}%
-
-\def\MPStatNewCode{%
- maxx:=0;
- maxy:=0;
- unitex:=\useKV[ClesStat]{Unitex}*cm;
- unitey:=\useKV[ClesStat]{Unitey}*cm;
- xpartorigine:=\useKV[ClesStat]{Origine};
- AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse};
- boolean Rotation,Lecture,LectureFine,AideLecture,DonneesSup,Reponses,Qualitatif,Tiret,LegendeVide,Retour,GrandNombrex,GrandNombrey,Date;
- GrandNombrex=\useKV[ClesStat]{GrandNombrex};
- GrandNombrey=\useKV[ClesStat]{GrandNombrey};
- if GrandNombrex:
- GrandNombreA=\useKV[ClesStat]{GrandNombreA};
- fi;
- if GrandNombrey:
- GrandNombreO=\useKV[ClesStat]{GrandNombreO};
- fi;
- Date:=\useKV[ClesStat]{Date};
- Rotation=\useKV[ClesStat]{AbscisseRotation};
- Lecture:=\useKV[ClesStat]{Lecture};
- LectureFine:=\useKV[ClesStat]{LectureFine};
- AideLecture:=\useKV[ClesStat]{AideLecture};
- DonneesSup:=\useKV[ClesStat]{DonneesSup};
- Reponses:=\useKV[ClesStat]{Reponses};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- epaisseurbatons=\useKV[ClesStat]{EpaisseurBatons};
- Qualitatif=\useKV[ClesStat]{Qualitatif};
- Tiret=\useKV[ClesStat]{Tiret};
- Retour=false;
- color CoulDefaut;
- CoulDefaut=\useKV[ClesStat]{CouleurDefaut};
- Depart=\useKV[ClesStat]{Depart};
- %
- pair A[],B[],P[];
- vardef toto(text t)=%points quantitatif
- n:=0;
- for p_=t:
- if pair p_:
- n:=n+1;
- P[n]=((xpart(p_)-(xpartorigine))*unitex,ypart(p_)*unitey);
- if xpart(p_)>maxx:
- maxx:=xpart(p_)-(xpartorigine);
- fi;
- if ypart(p_)>maxy:
- maxy:=ypart(p_);
- fi;
- A[n]=unitex*(xpart(p_)-(xpartorigine),0);
- B[n]=unitey*(0,ypart(p_));
- fi;
- endfor;
- enddef;
- vardef tutu(text t)=%points qualitatif
- n:=0;
- for p_=t:
- if numeric p_:
- P[n]=((n)*unitex,unitey*(p_-Depart));
- B[n]=(0,unitey*(p_-Depart));
- if p_>maxy:
- maxy:=p_;
- fi;
- else:
- n:=n+1;
- A[n]=unitex*(n,0);
- fi;
- endfor;
- maxy:=maxy-Depart;
- maxx:=n;
- enddef;
-}
-
-% Construction du graphique en bâtons
-\newcommand\MPStatNew[3]{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- \MPStatNewCode
- %
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#3:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- %
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#2:
- n:=n+1;
- if color p_:
- Col[n]=p_;
- else:
- Col[n]=CoulDefaut;
- fi;
- endfor;
- vardef tata(text t)=%affichage quantitatif
- l=0;
- for p_=t:
- if pair p_:
- l:=l+1;
- if Rotation:
- if Date:
- label.bot(TEX(decimal(xpart(p_))) rotated AngleRotation,A[l]);
- else:
- label.bot(TEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
- fi;
- else :
- if Date:
- label.bot(TEX(decimal(xpart(p_))),A[l]);
- else:
- label.bot(TEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
- fi;
- fi;
- if Reponses:
- if DonneesSup:
- Test(l);
- if Retour=false:
- if GrandNombrey:
- label.top(TEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
- else:
- label.top(TEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
- fi;
- fi;
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(TEX("\num{"&decimal(ypart(p_))&"}"),B[l]);
- fi;
- fi;
- fi;
- fi;
- endfor;
- enddef;
- vardef titi(text t)=%affichage qualitatif
- l:=0;
- for p_=t:
- if numeric p_:
- if Reponses:
- if DonneesSup:
- Test(l);
- if Retour=false:
- label.top(TEX("\num{"&decimal(p_)&"}"),P[l]);
- fi;
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
- fi;
- fi;
- fi;
- else:
- l:=l+1;
- if Rotation:
- if AngleRotation<>0:
- picture TEXTELABEL;
- TEXTELABEL=image(
- labeloffset:=labeloffset*2;
- label.lft(TEX(p_),A[l]);
- labeloffset:=labeloffset/2;
- );
- trace rotation(TEXTELABEL,A[l],AngleRotation);
- else :
- label.bot(TEX(p_),A[l]);
- fi;
- fi;
- fi;
- endfor;
- enddef;
- if Qualitatif: tutu(#1); else: toto(#1); fi;
- boolean Grille;
- Grille:=\useKV[ClesStat]{Grille};
- Pasx:=\useKV[ClesStat]{Pasx};
- Pasy:=\useKV[ClesStat]{Pasy};
- if Grille:
- drawoptions(withcolor 0.75white);
- for k=0 step Pasx until ((maxx+1)):
- trace (k*unitex,0)--(k*unitex,unitey*(maxy+2*Pasy));
- endfor;
- for k=0 step Pasy until ((maxy+2*Pasy)):
- trace (0,k*unitey)--(unitex*(maxx+1),k*unitey);
- endfor;
- drawoptions();
- fi;
- if epaisseurbatons<>0:
- for k=1 upto n:
- fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: CoulDefaut else:Col[k] fi;
- if AideLecture:
- draw B[k]--P[k] dashed evenly;
- fi;
- endfor;
- fi;
- if LectureFine:
- for k=0 step Pasy until ((maxy+1*Pasy)):
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- if GrandNombrey:
- label.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k+Depart)&"}}"),(0,k*unitey));
- else:
- label.lft(TEX("\num{"&decimal(k+Depart)&"}"),(0,k*unitey));
- fi;
- else:
- if GrandNombrey:
- dotlabel.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k+Depart)&"}}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k+Depart)&"}"),(0,k*unitey));
- fi;
- fi;
- endfor;
- fi;
- if Lecture:
- for k=0 step Pasy until Pasy:
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- if GrandNombrey:
- label.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k)&"}}"),(0,k*unitey));
- else:
- label.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- else:
- if GrandNombrey:
- dotlabel.lft(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreO}*"&decimal(k)&"}}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- fi;
- endfor;
- fi;
- drawarrow (0,0)--unitex*(maxx+1,0);
- drawarrow (0,0)--unitey*(0,maxy+2*Pasy);
- label.lrt(btex \useKV[ClesStat]{Donnee} etex,unitex*(maxx+1,0));
- label.urt(btex \useKV[ClesStat]{Effectif} etex,unitey*(0,maxy+2*Pasy));
- if Qualitatif: titi(#1); else:tata(#1); fi;
- \end{mplibcode}
- \else
- \begin{mpost}[mpsettings={\MPStatNewCode}]
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#2:
- n:=n+1;
- if color p_:
- Col[n]=p_;
- else:
- Col[n]=CoulDefaut;
- fi;
- endfor;
- %
- vardef tata(text t)=%affichage quantitatif
- l=0;
- for p_=t:
- if pair p_:
- l:=l+1;
- if Rotation:
- label.bot(LATEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
- else :
- label.bot(LATEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
- fi;
- if Reponses:
- if DonneesSup:
- label.top(LATEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(LATEX("\num{"&decimal(ypart(p_))&"}"),B[l]);
- fi;
- fi;
- fi;
- fi;
- endfor;
- enddef;
- vardef titi(text t)=%affichage qualitatif
- l:=0;
- for p_=t:
- if numeric p_:
- if Reponses:
- if DonneesSup:
- label.top(LATEX("\num{"&decimal(p_)&"}"),P[l]);
- else:
- if Tiret:
- trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
- else:
- dotlabel.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
- fi;
- fi;
- fi;
- else:
- l:=l+1;
- if Rotation:
- if AngleRotation<>0:
- picture TEXTELABEL;
- TEXTELABEL=image(
- labeloffset:=labeloffset*2;
- label.lft(LATEX(p_),A[l]);
- labeloffset:=labeloffset/2;
- );
- trace rotation(TEXTELABEL,A[l],AngleRotation);
- else :
- label.bot(LATEX(p_),A[l]);
- fi;
- fi;
- fi;
- endfor;
- enddef;
- if Qualitatif: tutu(#1); else: toto(#1); fi;
- boolean Grille;
- Grille:=\useKV[ClesStat]{Grille};
- Pasx:=\useKV[ClesStat]{Pasx};
- Pasy:=\useKV[ClesStat]{Pasy};
- if Grille:
- drawoptions(withcolor 0.75white);
- for k=0 step Pasx until ((maxx+1)):
- trace (k*unitex,0)--(k*unitex,unitey*(maxy+2*Pasy));
- endfor;
- for k=0 step Pasy until ((maxy+2*Pasy)):
- trace (0,k*unitey)--(unitex*(maxx+1),k*unitey);
- endfor;
- drawoptions();
- fi;
- if epaisseurbatons<>0:
- for k=1 upto n:
- fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: CoulDefaut else:Col[k] fi;
- if AideLecture:
- draw B[k]--P[k] dashed evenly;
- fi;
- endfor;
- fi;
- if LectureFine:
- for k=0 step Pasy until ((maxy+1*Pasy)):
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- if Lecture:
- for k=0 step Pasy until Pasy:
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- drawarrow (0,0)--unitex*(maxx+1,0);
- drawarrow (0,0)--unitey*(0,maxy+2*Pasy);
- label.lrt(btex \useKV[ClesStat]{Donnee} etex,unitex*(maxx+1,0));
- label.urt(btex \useKV[ClesStat]{Effectif} etex,unitey*(0,maxy+2*Pasy));
- if Qualitatif: titi(#1); else:tata(#1); fi;
- \end{mpost}
- \fi
-}
-
-\def\NewMPStatCirculaireCodeQ{%
- Rayon:=\useKV[ClesStat]{Rayon};
- ecarthachures=\useKV[ClesStat]{EcartHachures};
- epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean AffichageAngle,AffichageDonnee,Hachures,Inverse,Legende,LegendeVide,Retour,ACompleter;
- AffichageAngle=\useKV[ClesStat]{AffichageAngle};
- AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
- Hachures=\useKV[ClesStat]{Hachures};
- Inverse=\useKV[ClesStat]{LectureInverse};
- Legende=\useKV[ClesStat]{Legende};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- Retour=false;
- ACompleter=\useKV[ClesStat]{ACompleter};
- %
- pair A[],O,B[],C[],D[];
- O=(0,0);
- n:=0;
- numeric total[],ang[];
- total[0]=0;
- ang[0]:=0;
- path cc;
- cc=(fullcircle scaled (2*Rayon));
- %
- vardef AfficheLegende(text t)=
- picture ResultatLegende;
- ResultatLegende=image(
- for p_=t:
- if string p_:
- n:=n+1;
- C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2);
- draw 0.95[O,C[n]]--1.05[O,C[n]];
- C[n]:=1.05[O,C[n]];
- Test(n);
- if ((xpart(C[n])>xpart(O)) or (xpart(C[n])=xpart(O))) and ((ypart(C[n])>ypart(O)) or (ypart(C[n])=ypart(O))):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.urt(TEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and ((ypart(C[n])>ypart(O)) or (ypart(C[n])=ypart(O))):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.ulft(TEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.llft(TEX(p_),D[n]);fi;
- fi;
- if ((xpart(C[n])>xpart(O)) or (xpart(C[n])=xpart(O))) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.lrt(TEX(p_),D[n]);fi;
- fi;
- fi;
- endfor;
- );
- ResultatLegende
- % fi;
- enddef;
- vardef AfficheLegendePDF(text t)=
- picture ResultatLegende;
- ResultatLegende=image(
- for p_=t:
- if string p_:
- n:=n+1;
- C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2);
- draw 0.95[O,C[n]]--1.05[O,C[n]];
- C[n]:=1.05[O,C[n]];
- Test(n);
- if (xpart(C[n])>xpart(O)) and ((ypart(C[n])>ypart(O)) or (ypart(C[n])=ypart(O))):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.urt(LATEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and ((ypart(C[n])>ypart(O)) or (ypart(C[n])=ypart(O))):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.ulft(LATEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]-(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.llft(LATEX(p_),D[n]);fi;
- fi;
- if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)):
- D[n]=C[n]+(0.5cm,0);
- draw C[n]--D[n];
- if Retour=false:label.lrt(LATEX(p_),D[n]);fi;
- fi;
- fi;
- endfor;
- );
- ResultatLegende
- % fi;
- enddef;
-}
-
-% la construction du graphique qualitatif
-\def\NewMPStatCirculaireQ#1#2#3#4{%
- %#1 : la liste des données
- %#2 : 360 ou 180
- %#3 : liste des couleurs
- %#4 : liste des légendes à effacer.
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- \NewMPStatCirculaireCodeQ
- if Inverse=false:
- A[0]=point(0) of cc;
- else:
- A[0]=point(180) of cc;
- fi;
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#3:
- n:=n+1;
- Col[n]=p_;
- endfor;
- vardef toto(text t)=
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- total[n]:=total[n-1]+p_;
- fi;
- endfor;
- N=n;
- for k=1 upto N:
- ang[k]=(#2/total[N])*total[k];
- endfor;
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- if Inverse=false:
- A[n]=A[n-1] rotatedabout(O,p_*(#2/total[N]));
- else:
- A[n]=A[n-1] rotatedabout(O,-p_*(#2/total[N]));
- fi;
- %hachure ou pas ?
- if Hachures=false:
- fill (O--if Inverse=false:arccercle(A[n-1],A[n],O) else:
- arccercle(A[n],A[n-1],O) fi--cycle) withcolor if unknown Col[n]: white else:Col[n] fi;
- else:
- draw
- Hachurage((O--if Inverse=false:arccercle(A[n-1],A[n],O)
- else:arccercle(A[n],A[n-1],O) fi--cycle),p_*(#2/total[N]) if
- (n mod 2)=0: +90 else: -90 fi,ecarthachures,if (n mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures if AffichageAngle: withcolor 0.5white fi;
- fi;
- if ACompleter=false:
- draw A[n-1]--O--A[n] if Hachures: withpen pencircle scaled2 fi;
- fi;
- % Affichage des angles associ\'es
- if AffichageAngle:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((TEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fi;
- elseif AffichageDonnee:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,TEX(""&decimal(p_)&""));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((TEX(""&decimal(p_)&"")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((TEX(""&decimal(p_)&"")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((TEX(""&decimal(p_)&"")))));
- fi;
- fi;
- fi;
- %
- fi;
- endfor;
- if #2=360:
- draw cc if Hachures: withpen pencircle scaled2 fi;
- else:
- draw (subpath(0,length cc/2) of cc)--cycle if Hachures: withpen pencircle scaled2 fi;;
- fi;
- n:=0;
- enddef;
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#4:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- Figure(-10u,-10u,10u,10u);
- toto(#1);
- if Legende:
- n:=0;
- draw AfficheLegende(#1);
- fi;
- \end{mplibcode}
- \else
- \begin{mpost}[mpsettings={\NewMPStatCirculaireCodeQ}]
- pair A[],O,B[],C[],D[];
- O=(0,0);
- n:=0;
- numeric total[],ang[];
- total[0]=0;
- ang[0]:=0;
- path cc;
- cc=(fullcircle scaled (2*Rayon));
- % on r\'ecup\`ere les couleurs
- color Col[];
- n:=0;
- for p_=#3:
- n:=n+1;
- Col[n]=p_;
- endfor;
- if Inverse=false:
- A[0]=point(0) of cc;
- else:
- A[0]=point(180) of cc;
- fi;
- vardef toto(text t)=
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- total[n]:=total[n-1]+p_;
- fi;
- endfor;
- N=n;
- for k=1 upto N:
- ang[k]=(#2/total[N])*total[k];
- endfor;
- n:=0;
- for p_=t:
- if numeric p_:
- n:=n+1;
- if Inverse=false:
- A[n]=A[n-1] rotatedabout(O,p_*(#2/total[N]));
- else:
- A[n]=A[n-1] rotatedabout(O,-p_*(#2/total[N]));
- fi;
- %hachure ou pas ?
- if Hachures=false:
- fill (O--if Inverse=false:arccercle(A[n-1],A[n],O) else:
- arccercle(A[n],A[n-1],O) fi--cycle) withcolor if unknown Col[n]: white else:Col[n] fi;
- else:
- draw
- Hachurage((O--if Inverse=false:arccercle(A[n-1],A[n],O)
- else:arccercle(A[n],A[n-1],O) fi--cycle),p_*(#2/total[N]) if
- (n mod 2)=0: +90 else: -90 fi,ecarthachures,if (n mod 2)=0 : 0 else: 1 fi)
- withpen pencircle scaled epaisseurhachures if AffichageAngle: withcolor 0.5white fi;
- fi;
- if ACompleter=false:
- draw A[n-1]--O--A[n] if Hachures: withpen pencircle scaled2 fi;
- fi;
- % Affichage des angles associ\'es
- if AffichageAngle:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((LATEX("\ang{"&decimal(round(p_*(#2/total[N])))&"}")))));
- fi;
- fi;
- elseif AffichageDonnee:
- if round(p_*(#2/total[N]))>15:
- if (n mod 2)=0:
- marque_a:=20*0.75*Rayon/cm;
- else:
- marque_a:=20*0.5*Rayon/cm;
- fi;
- if Hachures:
- if Inverse=false:
- undraw
- Codeangle(A[n-1],O,A[n],0,LATEX(""&decimal(p_)&""));
- else:
- undraw
- Codeangle(A[n],O,A[n-1],0,(((LATEX(""&decimal(p_)&"")))));
- fi;
- fill cercles(w shifted(marque_ang*unitvector(w-O)),3mm) withcolor
- blanc;
- fi;
- if Inverse=false:
- draw
- Codeangle(A[n-1],O,A[n],0,(((LATEX(""&decimal(p_)&"")))));
- else:
- draw
- Codeangle(A[n],O,A[n-1],0,(((LATEX(""&decimal(p_)&"")))));
- fi;
- fi;
- fi;
- %
- fi;
- endfor;
- if #2=360:
- draw cc if Hachures: withpen pencircle scaled2 fi;
- else:
- draw (subpath(0,length cc/2) of cc)--cycle if Hachures: withpen pencircle scaled2 fi;;
- fi;
- enddef;
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#4:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- Figure(-10u,-10u,10u,10u);
- toto(#1);
- if Legende:
- n:=0;
- draw AfficheLegendePDF(#1);
- fi;
- \end{mpost}
- \fi
-}%
-
-%Pour la m\'ediane.
-\DTLgnewdb{mtdb}%
-\dtlexpandnewvalue%
-\newcount\nbdonnees%
-%
-\def\AjoutListEEaa#1\nil{\addtotok\tabtoksEEa{#1,}}%
-\def\AjoutListEEab#1\nil{\addtotok\tabtoksEEa{#1/}}%
-\def\AjoutListEEb#1\nil{\addtotok\tabtoksEEb{#1,}}%
-\def\AjoutListEEx#1\nil{\addtotok\tabtoksEE{#1,}}%
-\def\AjoutListEEy#1\nil{\addtotok\tabtoksEE{#1/}}%
-
-\DTLgnewdb{mtdbEE}%
-\DTLgnewdb{mtdbEEqual}%
-%
-
-% Pour les classes
-% Pour construire l'histogramme
-\def\UpdatetoksHisto#1/#2/#3\nil{\addtotok\toklisteelmtsclasse{#1,#2,}\addtotok\toklistedonhisto{#3,}}
-\def\UpdatetoksECC#1\nil{\addtotok\toklistedonhisto{#1,}}
-
-\NewDocumentCommand\buildgraphhisto{}{%
- \newtoks\toklisteelmtsclasse%
- \newtoks\toklistedonhisto%
- \newtoks\toklistecouleur%
- \newtoks\toklistelegende%
- \ifboolKV[ClesStat]{LegendeVide}{%
- \xdef\foo{\useKV[ClesStat]{LegendesVides}}%
- \readlist*\ListeLegendesAEffacer{\foo}%
- }{\xdef\foo{-1}\readlist*\ListeLegendesAEffacer{\foo}%
- }%
- \foreachitem\compteur\in\ListeLegendesAEffacer{\expandafter\UpdateLegende\compteur\nil}%
- \foreachitem\compteur\in\ListeDepart{\expandafter\UpdatetoksHisto\compteur\nil}%
- \ifboolKV[ClesStat]{ECC}{%
- \toklistedonhisto{}%
- \xdef\PfCFooECC{\ListeDepart[1,3]}%
- \xintFor* ##1 in{\xintSeq{2}{\ListeDepartlen}}\do{%
- \xdef\PfCFooRetiens{0}%
- \xintFor* ##2 in{\xintSeq{1}{##1}}\do{%
- \xdef\PfCFooRetiens{\fpeval{\PfCFooRetiens+\ListeDepart[##2,3]}}%
- }%
- \xdef\PfCFooECC{\PfCFooECC,\PfCFooRetiens}%
- }%
- \readlist*\PfCListeECC{\PfCFooECC}%
- \foreachitem\compteur\in\PfCListeECC{\expandafter\UpdatetoksECC\compteur\nil}%
- }{}%
- \xdef\PfCEcartClasse{\fpeval{\ListeDepart[1,2]-\ListeDepart[1,1]}}%
- \foreachitem\compteur\in\ListeDepart{%
- \xdef\PfCEcartClasse{\PfCEcartClasse,\fpeval{\ListeDepart[\compteurcnt,2]-\ListeDepart[\compteurcnt,1]}}
- }%
- \xintifboolexpr{\fpeval{min(\PfCEcartClasse)}==\fpeval{max(\PfCEcartClasse)}}{}{\setKV[ClesStat]{MemeAmpli=false}}
- % Pour les couleurs
- \xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
- \readlist*\ListeCouleur{\ListeAvantCouleurs}%
- \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- %
- \MPBuildHisto{\the\toklisteelmtsclasse}{\the\toklistedonhisto}{\the\toklistecouleur}{\the\toklistelegende}%
-}
-
-%% calcul des fr\'equences
-\newcommand\CalculFrequenceClasses[1]{%
- \fpeval{round(\ListeDepart[#1,3]*100/\EffectifTotal,\useKV[ClesStat]{PrecisionF})}
-}
-
-\newcommand\CalculECCClasses[1]{%
- \xdef\TotalECCC{0}%
- \CompteurECCC=1%
- \CompteurECCCTotal=\numexpr#1+1%
- \whiledo{\CompteurECCC < \CompteurECCCTotal}{%
- \xdef\TotalECCC{\fpeval{\TotalECCC+\ListeDepart[\the\CompteurECCC,3]}}%
- \CompteurECCC=\numexpr\CompteurECCC+1%
- }%
- \num{\TotalECCC}%
-}
-
-\NewDocumentCommand\buildtabclasses{}{%
- \setcounter{PfCCompteLignes}{0}%
- \renewcommand{\arraystretch}{\useKV[ClesStat]{Stretch}}%
- \begin{NiceTabular}{l*{\ListeDepartlen}{c}}%[hvlines]
- \CodeBefore%
- \rowcolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \columncolor{\useKV[ClesStat]{CouleurTab}}{1}%
- \Body
- \useKV[ClesStat]{Donnee}\xintFor* ##1 in{\xintSeq{1}{\ListeDepartlen}}\do{%
- &$\num{\ListeDepart[##1,1]}\leqslant\dots<\num{\ListeDepart[##1,2]}$
- }\\
- \useKV[ClesStat]{Effectif}\xintFor* ##1 in{\xintSeq{1}{\ListeDepartlen}}\do{%
- &\ifboolKV[ClesStat]{EffVide}{}{\num{\ListeDepart[##1,3]}}%
- }\\
- \ifboolKV[ClesStat]{Frequence}{\stepcounter{PfCCompteLignes}Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeDepartlen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\num{\CalculFrequenceClasses{##1}}}}}\\
- }{}%
- \ifboolKV[ClesStat]{ECC}{\stepcounter{PfCCompteLignes}E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeDepartlen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECCClasses{##1}}}}\\}{}%
- \CodeAfter%
- % On crée la liste des colonnes à vider
- \xintifboolexpr{\useKV[ClesStat]{ColVide}>0}{%
- \xdef\FooStat{\useKV[ClesStat]{ColVide}}%
- \setsepchar{,}%
- \readlist*\ListeColonnesAVider{\FooStat}%
- \foreachitem\compteur\in\ListeColonnesAVider{%
- \tikz\fill[white] (row-2-|col-\fpeval{\compteur+1}) rectangle (last-|col-\fpeval{\compteur+2});%
- }%
- }{}%
-% % On crée la liste des cases à vider
- \ifboolKV[ClesStat]{CaseVide}{%
- \xdef\FooStatCases{\useKV[ClesStat]{CasesVides}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeCasesAVider{\FooStatCases}%
- \foreachitem\compteur\in\ListeCasesAVider{%
- \tikz\fill[white] (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+1}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+1}) rectangle (row-\fpeval{\ListeCasesAVider[\compteurcnt,1]+2}-|col-\fpeval{\ListeCasesAVider[\compteurcnt,2]+2});%
- }%
- }{}%
-% % On retrace le tableau
-% % Les colonnes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\ListeDepartlen+2}}}\do{%
- \tikz\draw (row-1-|col-##1) -- (last-|col-##1);%
- }%
-% % Les lignes
- \xintFor* ##1 in {\xintSeq{1}{\fpeval{\thePfCCompteLignes+3}}}\do{%
- \tikz\draw (row-##1-|col-1) -- (row-##1-|last);%
- }%
- \end{NiceTabular}
-}%
-
-\NewDocumentCommand\MPBuildHisto{mmmm}{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- maxx:=-infinity;
- minx:=infinity;
- maxy:=-infinity;
- miny:=0;
- unitex:=\useKV[ClesStat]{Unitex}*cm;
- unitey:=\useKV[ClesStat]{Unitey}*cm;
- Pasx:=\useKV[ClesStat]{Pasx};
- Pasy:=\useKV[ClesStat]{Pasy};
- UniteAire=\useKV[ClesStat]{UniteAire};
- Ecarthachures=\useKV[ClesStat]{EcartHachures};
- Epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean MemeAmpli,Hachures,Lecture,LectureFine,AideLecture,DonneesSup,Tiret,LegendeVide,Retour,Mediane,ECC;
- ECC=\useKV[ClesStat]{ECC};
- Mediane=\useKV[ClesStat]{Mediane};
- MemeAmpli=\useKV[ClesStat]{MemeAmpli};
- Hachures:=\useKV[ClesStat]{Hachures};
- %
- Lecture:=\useKV[ClesStat]{Lecture};
- LectureFine:=\useKV[ClesStat]{LectureFine};
- Tiret=\useKV[ClesStat]{Tiret};
- AideLecture:=\useKV[ClesStat]{AideLecture};
- DonneesSup:=\useKV[ClesStat]{DonneesSup};
- LegendeVide=\useKV[ClesStat]{LegendeVide};
- Retour=false;
- % Test affichage
- vardef Test(expr nb)=
- Retour:=false;
- op:=0;
- for l_=#4:
- if l_=nb:
- op:=op+1;
- fi;
- endfor;
- if op>0:
- Retour:=true;
- fi;
- enddef;
- %Affichage ou pas des légendes
- vardef AfficheLegende(text t)=
- l=0;
- for p_=t:
- l:=l+1;
- if DonneesSup:
- Test(l);
- if Retour=false:
- label.top(TEX("\num{"&decimal(Y[l])&"}"),(unitex*(Depart+(0.5*(X[2*l]+X[2*l-2])-X[1])/Pasx),unitey*Z[l]));
- fi;
- fi;
- endfor;
- enddef;
- % on r\'ecup\`ere les couleurs
- Depart=\useKV[ClesStat]{DepartHisto};
- color Col[],CoulDefaut;
- CoulDefaut=white;
- n:=0;
- for p_=#3:
- n:=n+1;
- Col[n]=p_;
- endfor;
- %
- numeric X[];
- numeric ecartabs[];
- vardef RecupValeursAbscisses(text t)=
- p:=0;
- for p_=t:
- p:=p+1;
- X[p]:=p_;
- if X[p]<minx:
- minx:=X[p];
- fi;
- if X[p]>maxx:
- maxx:=X[p];
- fi;
- endfor;
- X[0]=X[1];
- TotalAbscisses=p;
- enddef;
- numeric Y[],Z[];
- numeric EffectifTotal[];
- numeric EffectifTotalA[];
- vardef RecupValeursDonnees(text t)=
- p:=0;
- EffectifTotal[0]:=0;
- EffectifTotalA[0]:=0;
- for p_=t:
- p:=p+1;
- EffectifTotal[p]:=p_;
- EffectifTotalA[p]:=EffectifTotalA[p-1]+p_;
- Y[p]:=p_;
- Z[p]=(Y[p]/(UniteAire*(X[2*p]-X[2*p-1])/Pasx));
- R[p]=ceiling(Z[p]);
- if R[p]>maxy:
- maxy:=R[p];
- fi;
- endfor;
- NbDonnees:=p;
- enddef;
- %On affiche la médiane dans le cas des ECC
- vardef AfficheMedianeECC(text t)=
- YMed:=Z[NbDonnees]/2;
- DemiDonnees:=EffectifTotal[NbDonnees]/2;
- p:=0;
- forever:
- p:=p+1;
- exitif EffectifTotal[p]>DemiDonnees;
- endfor;
- path MedHor,MedLineaire,MedVer;
- MedLineaire=(unitex*(Depart+(X[2*p-2]-X[1]/Pasx)),unitey*Z[p-1])--(unitex*(Depart+(X[2*p]-X[1])/Pasx),unitey*Z[p]);
- MedHor=((0,unitey*YMed)--(unitex*((maxx-minx)/Pasx+2),unitey*YMed));
- MedVer=(xpart(MedLineaire intersectionpoint MedHor),0)--(MedLineaire intersectionpoint MedHor);
- draw MedLineaire;
- draw MedHor;
- draw MedVer;
- enddef;
- % On affiche la médiane dans le cas non ECC
- vardef AfficheMediane(text t)=
- DemiDonnees:=EffectifTotalA[NbDonnees]/2;
- p:=0;
- forever:
- p:=p+1;
- exitif EffectifTotalA[p]>DemiDonnees;
- endfor;
- path MedVer;
- numeric CoefLineaire,pMed;
- pMed=p;
- CoefLineaire=(DemiDonnees-EffectifTotalA[p-1])/Y[p];
- MedVer=(unitex*(Depart+(X[2*p-2]-X[1])/Pasx+CoefLineaire*(X[2*p]-X[2*p-2])/Pasx),0)--(unitex*(Depart+(X[2*p-2]-X[1])/Pasx+CoefLineaire*(X[2*p]-X[2*p-2])/Pasx),unitey*Z[p]);
- draw MedVer dashed evenly;
- enddef;
- % On commence le tracé : on récupère les informations
- RecupValeursAbscisses(#1);
- RecupValeursDonnees(#2);
- % on définit une grille
- vardef Grille=
- if MemeAmpli:
- Ajout:=1;
- else:
- Ajout:=3;
- fi;
- drawoptions(withcolor 0.7white);
- for k=0 upto ((maxx-minx)/Pasx+2):
- trace (unitex*k,0)--(unitex*k,(maxy+Ajout)*unitey);%withcolor red;
- endfor;
- for k=0 upto (maxy+Ajout):
- trace (0,k*unitey)--(unitex*((maxx-minx)/Pasx+2),k*unitey);% withcolor blue;
- endfor;
- drawoptions();
- enddef;
- % Fin Grille
- % On trace les rectangles
- vardef AfficheRectangles=
- if Hachures:
- Grille;
- for k=2 step 2 until TotalAbscisses:
- draw hachurage(polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)),60,0.2,0);
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- else:
- for k=2 step 2 until TotalAbscisses:
- fill polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)) withcolor if unknown Col[k/2]: CoulDefaut else: Col[k/2] fi;
- endfor;
- Grille;
- for k=2 step 2 until TotalAbscisses:
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- fi;
- enddef;
- % Affichage final
- if ECC:
- AfficheRectangles;
- if Mediane:
- AfficheMedianeECC(#2);
- fi;
- else:
- if Mediane:
- AfficheMediane(#2);
- if Hachures:
- Grille;
- %Partie gauche
- for k=2 step 2 until (2*pMed-2):
- draw hachurage(polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)),60,0.2,0);
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- draw hachurage(polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed])),60,0.2,0);
- draw polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed]));
- % Partie droite
- for k=2*pMed+2 step 2 until TotalAbscisses:
- draw hachurage(polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)),120,0.2,1);
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- draw hachurage(polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed])),120,0.2,1);
- draw polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed]));
- else:
- %Partie gauche
- for k=2 step 2 until (2*pMed-2):
- fill polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)) withcolor if unknown Col[1]: CoulDefaut else: Col[1] fi;
- endfor;
- fill polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed])) withcolor if unknown Col[1]: CoulDefaut else: Col[1] fi ;
- % Partie droite
- for k=2*pMed+2 step 2 until TotalAbscisses:
- fill polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0)) withcolor if unknown Col[2]: CoulDefaut else: Col[2] fi;
- endfor;
- fill polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed])) withcolor if unknown Col[2]: CoulDefaut else: Col[2] fi;
- Grille;
- %Partie Gauche
- for k=2 step 2 until (2*pMed-2):
- trace polygone(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- trace polygone(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed-2]-X[1])/Pasx),unitey*Z[pMed]));%(Y[pMed]/(UniteAire*(X[2*pMed-2]-X[2*pMed-3])/Pasx))));
- for k=2*pMed+2 step 2 until TotalAbscisses:
- draw chemin(unitex*(Depart+(X[k]-X[1])/Pasx,0),(unitex*(Depart+(X[k]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),unitey*(Y[k/2]/(UniteAire*(X[k]-X[k-1])/Pasx))),(unitex*(Depart+(X[k-1]-X[1])/Pasx),0));
- endfor;
- draw polygone(unitex*(Depart+(X[2*pMed]-X[1])/Pasx,0),point(0) of MedVer,point(1) of MedVer,(unitex*(Depart+(X[2*pMed]-X[1])/Pasx),unitey*Z[pMed]));
- fi;
- draw MedVer withpen pencircle scaled 2;
- else:
- AfficheRectangles;
- fi;
- fi;
- %Affichage ou pas des axes, de la médiane
- if MemeAmpli:
- drawarrow (0,0)--unitey*(0,maxy+1);
- EcartAmpli:=(X[2]-X[1])/Pasx;
- if AideLecture:
- for k=2 step 2 until TotalAbscisses:
- trace ((unitex*(Depart+(X[k]-X[1])/Pasx),unitey*Z[k/2]))--(unitey*(0,Z[k/2])) dashed evenly;
- endfor;
- fi;
- if LectureFine:
- for k=0 upto ((maxy+1)):
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- if Lecture:
- for k=0 upto 1:
- if Tiret:
- trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- else:
- dotlabel.lft(TEX("\num{"&decimal(k*UniteAire*EcartAmpli)&"}"),(0,k*unitey));
- fi;
- endfor;
- fi;
- else:%Pas même ampli : on n'affiche pas l'axe vertical
- trace hachurage(polygone((unitex,unitey*(maxy+2)),(unitex*2,unitey*(maxy+2)),(unitex*2,unitey*(maxy+1)),(unitex,unitey*(maxy+1))),60,0.2,0);
- trace polygone((unitex,unitey*(maxy+2)),(unitex*2,unitey*(maxy+2)),(unitex*2,unitey*(maxy+1)),(unitex,unitey*(maxy+1)));
- label.rt(TEX(decimal(UniteAire)&"~\useKV[ClesStat]{Effectif}"),(unitex*2,unitey*(maxy+1.5)));
-% if Mediane:
-% AfficheMediane(#2);
-% fi;
- fi;
- % On trace l'axe des abscisses
- drawarrow (0,0)--unitex*((maxx-minx)/Pasx+2,0);
- %On labelise l'axe des abscisses
- dotlabel.bot(TEX("\num{"&decimal(X[1])&"}"),unitex*(Depart,0));
- for k=2 step 2 until TotalAbscisses:
- dotlabel.bot(TEX("\num{"&decimal(X[k])&"}"),unitex*(Depart+(X[k]-X[1])/Pasx,0));
- endfor;
- label.rt(TEX("\useKV[ClesStat]{Donnee}"),(unitex*((maxx-minx)/Pasx+2),0));
- %On affiche les données sup ou pas.
- AfficheLegende(#2);
- \end{mplibcode}
- \fi
-}
-%
-
-\newcommand\Stat[2][]{%
- \useKVdefault[ClesStat]%
- \setKV[ClesStat]{#1}%
- \ifboolKV[ClesStat]{UneMediane}{\renewcommand{\PfCArticleMediane}{une}}{\renewcommand{\PfCArticleMediane}{la}}%
- \setsepchar[*]{,*/}%
- \readlist*\ListeAvantUtilisation{#2}%
- \xintifboolexpr{\listlen\ListeAvantUtilisation[1]==3}{\setKV[ClesStat]{Classes}}{}%
- \ifboolKV[ClesStat]{Classes}{%
- \setsepchar[*]{,*/}%
- \readlist*\ListeDepart{#2}%
- \xdef\EffectifTotal{0}%
- \xintFor* ##1 in{\xintSeq{1}{\ListeDepartlen}}\do{%
- \xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeDepart[##1,3]}}%
- }%
- \ifboolKV[ClesStat]{Histogramme}{%
- \buildgraphhisto%
- }{%
- \ifboolKV[ClesStat]{Tableau}{%
- \buildtabclasses%
- }{}%
- }%
- }{%
- \setsepchar{,}%
- \ifboolKV[ClesStat]{Representation}{%
- \setKV[TraceG]{Xmin=0,Ymin=0}%
- \setKV[TraceG]{#1}%
- \readlist*\ListePointsPlaces{#2}%
- \newtoks\toklistepoint%
- \foreachitem\compteur\in\ListePointsPlaces{\expandafter\Updatetoks\compteur\nil}%
- \MPPlacePoint[#1]{\the\toklistepoint}%
- }{%
- \ifboolKV[ClesStat]{Liste}{%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\Liste{#2}%
- \xdef\foo{}%
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \xintFor* ##1 in {\xintSeq {1}{\Listelen}}\do{%
- \xdef\foo{\foo 1/\Liste[##1],}%
- }%
- \readlist*\ListeComplete{\foo}%
- \setKV[ClesStat]{Qualitatif}%
- }{%
- \ifboolKV[ClesStat]{Sondage}{%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\Liste{#2}%
- % "liste vide"
- \newtoks\tabtoksEEa%
- \tabtoksEEa{}%
- %
- % "liste vide"
- \newtoks\tabtoksEEb%
- \tabtoksEEb{}%
- %
- \readlist*\ListeSansDoublonsEE{999}% %% Pour ne pas avoir une liste vide
- %
- \newcount\cmptEE%
- \newcount\PasNumEE% %% Permettra de savoir si ce sondage est qualitatif ou quantitatif
- \PasNumEE=0\relax%
- \DTLcleardb{mtdbEE}%
- % on range les resultats du sondage par ordre croissant.
- \foreachitem\x\in\Liste{%
- \DTLnewrow{mtdbEE}%
- \DTLnewdbentry{mtdbEE}{Numeric}{\x}%
- }%
- \dtlsort{Numeric}{mtdbEE}{\dtlicompare}%
- \DTLforeach{mtdbEE}{\nba=Numeric}{%
- \IfDecimal{\nba}{}{\PasNumEE=\numexpr\PasNumEE+1\relax}%
- \cmptEE=0\relax%
- \foreachitem\nbb\in\ListeSansDoublonsEE{%
- \ifthenelse{\equal{\nba}{\nbb}}{\cmptEE=\numexpr\cmptEE+1\relax}{}%
- }%
- \ifthenelse{\equal{\the\cmptEE}{0}}{%
- \expandafter\AjoutListEEb\nba\nil%
- \xdef\listEEa{\the\tabtoksEEb}%
- \ignoreemptyitems%
- \setsepchar{,}%
- \readlist*\ListeSansDoublonsEE\listEEa% %%% Enl\`eve tous les \'elements
- %%% identiques de Liste
- }{}%
- }%
- \foreachitem\nba\in\ListeSansDoublonsEE{%
- \cmptEE=0\relax%
- \DTLforeach{mtdbEE}{\nbb=Numeric}{%
- \ifthenelse{\equal{\nba}{\nbb}}{\cmptEE=\numexpr\cmptEE+1\relax}{}%
- }%
- \expandafter\AjoutListEEab\nba\nil%
- \expandafter\AjoutListEEaa\the\cmptEE\nil% %%% Compte tous les \'elements
- %%% identiques de Liste
- }%
- \xdef\listEEb{\the\tabtoksEEa}
- \ignoreemptyitems%
- \setsepchar[*]{,*/}%
- \readlist*\ListeComplete\listEEb%
- %
- \ifthenelse{\equal{\the\PasNumEE}{0}}{\setKV[ClesStat]{Quantitatif}}{\setKV[ClesStat]{Qualitatif}}%
- }{%
- \ifboolKV[ClesStat]{Qualitatif}{%
- % % on lit la liste \'ecrite sous la forme valeur/effectif
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \readlist*\ListeInitiale{#2}%
- % "liste vide"
- \newtoks\tabtoksEE%
- \tabtoksEE{}%
- \DTLcleardb{mtdbEEqual}%
- \foreachitem\x\in\ListeInitiale{%
- \DTLnewrow{mtdbEEqual}%
- \itemtomacro\ListeInitiale[\xcnt,1]\x%
- \DTLnewdbentry{mtdbEEqual}{Val}{\x}%
- \itemtomacro\ListeInitiale[\xcnt,2]\y%
- \DTLnewdbentry{mtdbEEqual}{Eff}{\y}%
- }%
- \DTLforeach{mtdbEEqual}{\Val=Val,\Eff=Eff}{%
- \expandafter\AjoutListEEy\Val\nil%
- \expandafter\AjoutListEEx\Eff\nil%
- }%
- \xdef\listEE{\the\tabtoksEE}
- \ignoreemptyitems%
- \setsepchar[*]{,*/}%
- \readlist*\ListeComplete\listEE%
- }{% Dans le qualitatif, on trie d'abord les valeurs.
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \readlist*\ListeInitiale{#2}%
- % "liste vide"
- \newtoks\tabtoksEE%
- \tabtoksEE{}%
- \DTLcleardb{mtdbEEqual}%
- \foreachitem\x\in\ListeInitiale{%
- \DTLnewrow{mtdbEEqual}%
- \itemtomacro\ListeInitiale[\xcnt,1]\x%
- \DTLnewdbentry{mtdbEEqual}{Val}{\x}%
- \itemtomacro\ListeInitiale[\xcnt,2]\y%
- \DTLnewdbentry{mtdbEEqual}{Eff}{\y}%
- }%
- \dtlsort{Val}{mtdbEEqual}{\dtlicompare}%
- \DTLforeach{mtdbEEqual}{\Val=Val,\Eff=Eff}{%
- \expandafter\AjoutListEEy\Val\nil%
- \expandafter\AjoutListEEx\Eff\nil%
- }%
- \xdef\listEE{\the\tabtoksEE}
- \ignoreemptyitems%
- \setsepchar[*]{,*/}%
- \readlist*\ListeComplete\listEE%
- }}}%
- % on cr\'ee la base de donn\'ees des valeurs dans le cas qualitatif
- \DTLcleardb{mtdb}%
- % on les trie pour la m\'ediane dans le cas qualitatif % Touhami / Texnique.fr
- \foreachitem\x\in\ListeComplete{%
- \DTLnewrow{mtdb}%
- \itemtomacro\ListeComplete[\xcnt,2]\y%
- \DTLnewdbentry{mtdb}{Numeric}{\y}%
- }%
- \dtlsort{Numeric}{mtdb}{\dtlicompare}%
- % % on r\'einitialise les valeurs des crit\`eres de position et de
- % dispersion
- \renewcommand\NbDonnees{}%
- \renewcommand\SommeDonnees{}%
- \renewcommand\EffectifTotal{}%
- \renewcommand\Moyenne{}%
- \renewcommand\Etendue{}%
- \renewcommand\Mediane{}%
- \renewcommand\DonneeMax{0}%
- \renewcommand\EffectifMax{0}%
- \renewcommand\DonneeMin{999999999}%
- \ifboolKV[ClesStat]{Qualitatif}{%D\'ebut qualitatif
- % Calculs
- % %% celui de la somme des donn\'ees
- \foreachitem\don\in\ListeComplete{\xdef\SommeDonnees{\fpeval{\SommeDonnees+\ListeComplete[\doncnt,2]}}}%
- % %% celui de l'effectif total
- \ifboolKV[ClesStat]{EffectifTotal}{%
- \ifboolKV[ClesStat]{Liste}{L'effectif total de la s\'erie est
- \num{\ListeCompletelen}.\par}{%
- \foreachitem\don\in\ListeComplete{\xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeComplete[\doncnt,2]}}}%
- L'effectif total de la s\'erie est : \[\ListeComplete[1,2]\xintFor* ##1 in
- {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\ListeComplete[##1,2]}=\num{\EffectifTotal}\]}
- }{}%
- \ifboolKV[ClesStat]{Liste}{\xdef\EffectifTotal{\ListeCompletelen}}{\xdef\EffectifTotal{\SommeDonnees}}%
- % %% celui de la moyenne
- \xdef\Moyenne{\fpeval{\SommeDonnees/\ListeCompletelen}}%
- \ifboolKV[ClesStat]{Moyenne}{%
- \ifboolKV[ClesStat]{Liste}{%
- La somme des donn\'ees de la s\'erie est :%
- \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
- \[
- \num{\ListeComplete[1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\num{\ListeComplete[##1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- \]}{%
- \[
- \num{\ListeComplete[1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{3}}\do{%
- +\num{\ListeComplete[##1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}+\dots\xintFor* ##1 in {\xintSeq {\ListeCompletelen-1}{\ListeCompletelen}}\do{%
- +\num{\ListeComplete[##1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- \]%
- }%
- \ifboolKV[ClesStat]{SET}{}{Le nombre de donn\'ees de la s\'erie est \num{\ListeCompletelen}.\\}%
- Donc la moyenne de la s\'erie est \'egale \`a :%
- \[\frac{\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}{\num{\ListeCompletelen}}%\IfInteger{\fpeval{round(\fpeval{\SommeDonnees/\ListeCompletelen},\useKV[ClesStat]{Precision})}}{=}{\approx}
- \ifboolKV[ClesStat]{ValeurExacte}{}{%
- \opdiv*{\SommeDonnees}{\ListeCompletelen}{resultatmoy}{restemoy}%
- \opround{resultatmoy}{\useKV[ClesStat]{Precision}}{resultatmoy1}%
- \opcmp{resultatmoy}{resultatmoy1}\ifopeq=\else\approx\fi%
- \num{\fpeval{round(\SommeDonnees/\ListeCompletelen,\useKV[ClesStat]{Precision})}}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- }%
- \]%
- }{Pas de moyenne possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}%
- % % %% celui de l'\'etendue
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintifboolexpr{\ListeComplete[##1,2]>\DonneeMax}{%
- \xdef\DonneeMax{\ListeComplete[##1,2]}%
- }{}%
- \xintifboolexpr{\ListeComplete[##1,2]<\DonneeMin}{%
- \xdef\DonneeMin{\ListeComplete[##1,2]}%
- }{}%
- }%
- \xdef\EffectifMax{\DonneeMax}%
- \xdef\Etendue{\fpeval{\DonneeMax-\DonneeMin}}%
- \ifboolKV[ClesStat]{Etendue}{%
- \ifboolKV[ClesStat]{Liste}{%
- L'\'etendue de la s\'erie est \'egale \`a $\num{\DonneeMax}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\DonneeMin}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- }{Pas d'\'etendue possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}%
- % celui de la mediane
- %%% Recuperation de la mediane %%%%%%%%%%%%%%%%%%%%%
- \newcount\Recapmed%
- \newcount\Recapmeda%
- \ifodd\number\ListeCompletelen%odd impair
- \Recapmed=\fpeval{(\ListeCompletelen+1)/2}\relax%
- \else%
- \Recapmed=\fpeval{\ListeCompletelen/2}\relax%
- \Recapmeda=\numexpr\Recapmed+1\relax%
- \fi%
- \newcount\Recapk%
- \Recapk=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\Recapk=\numexpr\Recapk+1\relax%
- \ifnum\Recapk=\Recapmed%
- \ifodd\number\ListeCompletelen%
- \xdef\Mediane{\numeroDonnee}%
- \else%
- \xdef\Mediane{\numeroDonnee}%
- \fi%
- \fi%
- \ifnum\Recapk=\Recapmeda%
- \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}%
- \fi%
- }%
- %%%
- \ifboolKV[ClesStat]{Mediane}{%
- \ifboolKV[ClesStat]{Liste}{%
- On range les donn\'ees par ordre croissant :%
- \nbdonnees=0%
- \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
- \[\DTLforeach{mtdb}{\numeroDonnee=Numeric}{\num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\DTLiflastrow{.}{;}}\]%
- }{%
- \medskip%
- \begin{center}
- \begin{minipage}{0.9\linewidth}
- \DTLforeach*{mtdb}{\numeroDonnee=Numeric}{\num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\DTLiflastrow{.}{;
- }\nbdonnees=\fpeval{\nbdonnees+1}\modulo{\nbdonnees}{\useKV[ClesStat]{Coupure}}\xintifboolexpr{\remainder==0}{\\}{}}
- \end{minipage}
- \end{center}%
- \medskip%
- }%
- \newcount\med%
- \newcount\meda%
- \ifodd\number\ListeCompletelen%odd impair
- \med=\fpeval{(\ListeCompletelen+1)/2}\relax%
- L'effectif total de la s\'erie est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$.\\
- \else% pair
- \med=\fpeval{\ListeCompletelen/2}\relax%
- \meda=\numexpr\med+1\relax%
- L'effectif total de la s\'erie est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\the\med}+\num{\the\med}$.\\
- \fi%
- \newcount\k%
- \k=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\k=\numexpr\k+1\relax%
- \ifnum\k=\med %La m\'ediane vaut \numeroDonnee\fi
- \ifodd\number\ListeCompletelen%
- La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee.\\Donc la m\'ediane de la s\'erie est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \xdef\Mediane{\numeroDonnee}%
- \else%
- La \the\med\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\numeroDonnee}%
- \fi%
- \fi%
- \ifnum\k=\meda
- La \the\meda\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\\Donc \PfCArticleMediane{} m\'ediane de la s\'erie est \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}$\ifboolKV[ClesStat]{DetailsMediane}{\dfrac{\num{\Mediane}+\num{\numeroDonnee}}{2}=}{}\num{\Mediane}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \fi%
- }%
- %%%%%%%
- }{Pas de m\'ediane possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}
- %%% Quartile un
- \newcount\PfCQuartileUn%
- \modulo{\ListeCompletelen}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileUn=\fpeval{\ListeCompletelen/4}%
- \else%
- \PfCQuartileUn=\fpeval{ceil(\ListeCompletelen/4)}%
- \fi%
- \newcount\PfCQunk%
- \PfCQunk=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\PfCQunk=\numexpr\PfCQunk+1\relax%
- \ifnum\PfCQunk=\PfCQuartileUn%
- \xdef\QuartileUn{\numeroDonnee}%
- \fi%
- }%
- %%% Quartile trois
- \newcount\PfCQuartileTrois%
- \modulo{\ListeCompletelen}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileTrois=\fpeval{3*\ListeCompletelen/4}%
- \else%
- \PfCQuartileTrois=\fpeval{ceil(3*\ListeCompletelen/4)}%
- \fi%
- \newcount\PfCQtroisk%
- \PfCQtroisk=0%
- \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\PfCQtroisk=\numexpr\PfCQtroisk+1\relax%
- \ifnum\PfCQtroisk=\PfCQuartileTrois%La m\'ediane vaut \numeroDonnee\fi
- \xdef\QuartileTrois{\numeroDonnee}%
- \fi%
- }%
- % Construction du tableau
- \ifboolKV[ClesStat]{Tableau}{%
- \ifboolKV[ClesStat]{Liste}{Pas de tableau possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un tableau avec cette liste.}{\BuildtabStat}}{}%
- % Construction du graphique
- \ifboolKV[ClesStat]{Graphique}{%
- \ifboolKV[ClesStat]{Liste}{Pas de graphique possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un graphique avec cette liste.}{%
- \ifboolKV[ClesStat]{Barre}{%
- \buildgraphbarhor%
- }{%
- \ifboolKV[ClesStat]{Angle}{%
- \buildgraphcq{360}%
- }{%
- \ifboolKV[ClesStat]{SemiAngle}{%
- \buildgraphcq{180}%
- }{%
- \buildgraphq[#1]%
- }%
- }%
- }%
- }%
- }{}%
- }{%%%%%%%%%%%%%%%%%%%%%D\'ebut quantitatif
- % % on effectue les calculs
- % %% celui de la somme des donn\'ees
- \foreachitem\don\in\ListeComplete{\xdef\SommeDonnees{\fpeval{\SommeDonnees+\ListeComplete[\doncnt,1]*\ListeComplete[\doncnt,2]}}}%
- % %% celui de l'effectif total
- \foreachitem\don\in\ListeComplete{\xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeComplete[\doncnt,2]}}}%
- % %% celui de l'\'etendue
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintifboolexpr{\ListeComplete[##1,1]>\DonneeMax}{%
- \xdef\DonneeMax{\ListeComplete[##1,1]}%
- }{}%
- \xintifboolexpr{\ListeComplete[##1,1]<\DonneeMin}{%
- \xdef\DonneeMin{\ListeComplete[##1,1]}%
- }{}%
- }%
- % \xdef\EffectifMax{\DonneeMax}%
- \xdef\Etendue{\fpeval{\DonneeMax-\DonneeMin}}%%
- % %% celui de la moyenne
- \xdef\Moyenne{\fpeval{\SommeDonnees/\EffectifTotal}}%
- \ifboolKV[ClesStat]{EffectifTotal}{%
- L'effectif total de la s\'erie est : \[\ListeComplete[1,2]\xintFor* ##1 in
- {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\ListeComplete[##1,2]}=\num{\EffectifTotal}\]
- }{}%
- \ifboolKV[ClesStat]{Moyenne}{%
- La somme des donn\'ees de la s\'erie est :%
- \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
- \[
- \ifnum\ListeComplete[1,2]=1\else\num{\ListeComplete[1,2]}\times\fi\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\ifnum\ListeComplete[##1,2]=1\else\num{\ListeComplete[##1,2]}\times\fi\num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- \]
- }{%
- \[
- \ifnum\ListeComplete[1,2]=1\else\num{\ListeComplete[1,2]}\times\fi\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{2}}\do{%
- +\ifnum\ListeComplete[##1,2]=1\else\num{\ListeComplete[##1,2]}\times\fi\num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }+\dots\xintFor* ##1 in {\xintSeq {\ListeCompletelen-1}{\ListeCompletelen}}\do{%
- +\ifnum\ListeComplete[##1,2]=1\else\num{\ListeComplete[##1,2]}\times\fi\num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}
- \]
- }%
- \ifboolKV[ClesStat]{SET}{}{L'effectif total de la s\'erie est :%
- \ifboolKV[ClesStat]{Liste}{ \num{\EffectifTotal}\\}{%
- \[\num{\ListeComplete[1,2]}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{%
- +\num{\ListeComplete[##1,2]}
- }=\num{\EffectifTotal}
- \]%
- }%
- }%
- Donc la moyenne de la s\'erie est \'egale \`a :%
- \[\frac{\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}{\num{\EffectifTotal}}%
- \ifboolKV[ClesStat]{ValeurExacte}{}{%
- \opdiv*{\SommeDonnees}{\EffectifTotal}{resultatmoy}{restemoy}%
- \opround{resultatmoy}{\useKV[ClesStat]{Precision}}{resultatmoy1}%
- \opcmp{resultatmoy}{resultatmoy1}\ifopeq=\else\approx\fi%
- \num{\fpeval{round(\SommeDonnees/\EffectifTotal,\useKV[ClesStat]{Precision})}}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}%
- }%
- \]%
- }{}%
- % % Affichage des r\'eponses.
- % %% pour l'\'etendue
- \ifboolKV[ClesStat]{Etendue}{L'\'etendue de la s\'erie est \'egale \`a $\num{\ListeComplete[\ListeCompletelen,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}}{}%
- % pour la m\'ediane
- %%% Recuperation Mediane
- \newcount\Recupmed%
- \newcount\Recupmeda%
- \ifodd\number\EffectifTotal%odd impair
- \Recupmed=\fpeval{(\EffectifTotal+1)/2}\relax%
- \else% pair
- \Recupmed=\fpeval{\EffectifTotal/2}\relax%
- \Recupmeda=\numexpr\Recupmed+1\relax%
- \fi%
- \newcount\Recupk%
- \Recupk=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \Recupk=\numexpr\Recupk+1\relax%
- \ifnum\Recupk=\Recupmed%
- \ifodd\number\EffectifTotal%
- \xdef\Mediane{\ListeComplete[##1,1]}%
- \else%
- \xdef\Mediane{\ListeComplete[##1,1]}%
- \fi%
- \fi%
- \ifnum\Recupk=\Recupmeda%
- \xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}%
- \fi%
- }%
- }%
- %%%
- \ifboolKV[ClesStat]{Mediane}{%
-
- \newcount\med%
- \newcount\meda%
- \ifodd\number\EffectifTotal%odd impair
- \med=\fpeval{(\EffectifTotal+1)/2}\relax%
- L'effectif total de la s\'erie est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$. %
- \else% pair
- \med=\fpeval{\EffectifTotal/2}\relax%
- \meda=\numexpr\med+1\relax%
- L'effectif total de la s\'erie est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med}}+\num{\fpeval{\med}}$. %
- \fi%
- \newcount\k%
- \k=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \k=\numexpr\k+1\relax%
- \ifnum\k=\med%
- \ifodd\number\EffectifTotal%
- La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee. Donc la m\'ediane de la s\'erie est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \else%
- La \the\med\ieme{} donn\'ee est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\ListeComplete[##1,1]}%
- \fi%
- \fi%
- \ifnum\k=\meda%
- La \the\meda\ieme{} donn\'ee est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\\Donc \PfCArticleMediane{} m\'ediane de la s\'erie est $\ifboolKV[ClesStat]{DetailsMediane}{\dfrac{\num{\Mediane}+\num{\ListeComplete[##1,1]}}2=}{}\xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}\num{\Mediane}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
- \fi%
- }%
- }%
- }{}%
- %%% Quartile un
- \newcount\PfCQuartileUn%
- \modulo{\EffectifTotal}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileUn=\fpeval{\EffectifTotal/4}%
- \else%
- \PfCQuartileUn=\fpeval{ceil(\EffectifTotal/4)}%
- \fi%
- \newcount\PfCQunk%
- \PfCQunk=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \PfCQunk=\numexpr\PfCQunk+1\relax%
- \ifnum\PfCQunk=\PfCQuartileUn%
- \xdef\QuartileUn{\ListeComplete[##1,1]}%
- \fi%
- }%
- }%
- %%% Quartile trois
- \newcount\PfCQuartileTrois%
- \modulo{\EffectifTotal}{4}\relax%
- \ifnum\remainder=0%
- \PfCQuartileTrois=\fpeval{3*\EffectifTotal/4}%
- \else%
- \PfCQuartileTrois=\fpeval{ceil(3*\EffectifTotal/4)}%
- \fi%
- \newcount\PfCQtroisk%
- \PfCQtroisk=0%
- \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
- \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
- \PfCQtroisk=\numexpr\PfCQtroisk+1\relax%
- \ifnum\PfCQtroisk=\PfCQuartileTrois%
- \xdef\QuartileTrois{\ListeComplete[##1,1]}%
- \fi%
- }%
- }%
- % Construction de tableau
- \ifboolKV[ClesStat]{Tableau}{\BuildtabStat}{}%
- % Construction du graphique ??
- \ifboolKV[ClesStat]{Graphique}{%
- \ifboolKV[ClesStat]{Angle}{%
- \buildgraphcq{360}%
- }{%
- \ifboolKV[ClesStat]{SemiAngle}{%
- \buildgraphcq{180}%
- }{%
- \buildgraph[#1]%
- }%
- }%
- }{}%
- }%
- }%
- }%
-}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex b/macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
index 23f8e431fe..7cc556894d 100644
--- a/macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
@@ -959,7 +959,7 @@
%
\xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
\ifboolKV[ClesTableaux]{Milliards}{%
- &&&&&&}{}%
+ &&&&&&}{}%
\ifboolKV[ClesTableaux]{Millions}{%
&&&}{}%
&&&&&&&&&&\\}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCThales.tex b/macros/latex/contrib/profcollege/latex/PfCThales.tex
index 7e1583c23e..1b8ed8a5ba 100644
--- a/macros/latex/contrib/profcollege/latex/PfCThales.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCThales.tex
@@ -678,7 +678,7 @@
\xdef\ResultatThalesz{\fpeval{round(#8*#3/#6,\useKV[ClesThales]{Precision})}}%
}{}}{}
}}{}
- }%
+ }%
%%
\StrMid{\the\zzz}{1}{1}[\cmza]%
\StrMid{\the\yyy}{1}{1}[\cmya]%
@@ -903,7 +903,7 @@
\edef\Nomz{#5}\valz=#8\Valz=#3\denoz=#6%
}{}}{}
}}{}
- }%
+ }%
%%
\StrMid{\the\zzz}{1}{1}[\cmza]%
\StrMid{\the\yyy}{1}{1}[\cmya]%
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index 1a1ef8f18d..de1b3c5da0 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2023/08/02}%
+\def\filedate{2023/08/15}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-z-q}%
+\def\fileversion{0.99-z-r}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -61,6 +61,7 @@
\ifluatex%
\RequirePackage{luacas}%
\RequirePackage{luamplib}%
+\mplibtextextlabel{enable}%à partir de la v2.25 de mplibcode
\everymplib{input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur; beginfig(1);}%
\everyendmplib{endfig;}%
\else%
@@ -135,15 +136,15 @@
%% Colorer en mode mathématique. \color ne gère pas les espaces propres au mode mathématique. Donc besoin de changer
% https://tex.stackexchange.com/questions/21598/how-to-color-math-symbols
-\makeatletter%
-\def\mathcolor#1#{\@mathcolor{#1}}%
-\def\@mathcolor#1#2#3{%
- \protect\leavevmode%
- \begingroup%
- \color#1{#2}#3%
- \endgroup%
-}%
-\makeatother%
+%\makeatletter%
+%\def\mathcolor#1#{\@mathcolor{#1}}%
+%\def\@mathcolor#1#2#3{%
+% \protect\leavevmode%
+% \begingroup%
+% \color#1{#2}#3%
+% \endgroup%
+%}%
+%\makeatother%
% Pb ProfCollege<->Chinois soulev\'e par Denis
% Solution by egreg :)
@@ -572,6 +573,7 @@
}%\emoticon
}%\raisebox
}%
+\input{PfCMulArt}
\input{PfCGrimuku}
\input{PfCHorloge}
\input{PfCCible}
diff --git a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
index 52869904af..95c18757f1 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
@@ -1315,19 +1315,19 @@ enddef;
%Outils
numeric echelleequerre;
-echelleequerre=2;
-vardef equerre(expr dte,drte,perpe,sens)=
+echelleequerre=0.5;
+vardef equerreold(expr dte,drte,perpe,sens)=
save picequerre;
picture picequerre;
pair ww,t[];
path intermede;
pair perpen,ptt,pttt;
perpen:=projection(perpe,dte,drte);
- %if sens=1 :
- ptt:=longueurequerre*(drte-dte) rotated 90 shifted perpen;
- %else :
-% ptt:=longueurequerre*(drte-dte) rotated (-90) shifted perpen;
- %fi;
+ if sens=1 :
+ ptt:=echelleequerre*(drte-dte) rotated 90 shifted perpen;
+ else :
+ ptt:=echelleequerre*(drte-dte) rotated (-90) shifted perpen;
+ fi;
ww=unitvector(drte-dte);
intermede=ptt--(10[ptt,(perpen rotatedabout(ptt,if sens=1: 30 else:-30 fi))]);
pttt=intermede intersectionpoint (10[dte,drte]--10[drte,dte]);
@@ -1338,6 +1338,78 @@ vardef equerre(expr dte,drte,perpe,sens)=
picequerre
enddef;
+vardef equerre(text gradua)(expr ea,eb,ec)=
+ save picequerre;
+ picture picequerre;
+ pair EA,EB,EC,ED,EE,EF,EI;
+ EA:=ea;
+ EB:=eb;
+ EC:=ec;
+ ED=projection(EC,EA,EB);
+ EE-ED=EB-EA;
+ EF-ED=echelleequerre*abs(EE-ED)*(unitvector(EE-ED) rotated 90);
+ EI=CentreCercleI(EE,ED,EF);
+ picequerre=image(
+ fill (EE--ED--EF--cycle) withcolor 0.7white;
+ draw codeperp(EE,ED,EF,5);
+ draw EE--ED--EF--cycle;
+ fill ((((EE--ED--EF--cycle) shifted ((0,0)-EI)) scaled 0.5) shifted EI) withcolor white;
+ trace (((EE--ED--EF--cycle) shifted ((0,0)-EI)) scaled 0.5) shifted EI;
+ % if abs(EE-ED)>abs(EF-ED):
+% for k=10 upto 50:%
+% trace (ED+k*1mm*unitvector(EE-ED))--(ED+k*1mm*unitvector(EE-ED)+1mm*unitvector(EF-ED));
+% endfor;
+% else:
+% for k=10 upto 50:%
+% trace (ED+k*1mm*unitvector(EF-ED))--(ED+k*1mm*unitvector(EF-ED)+1mm*unitvector(EE-ED));
+% endfor;
+% fi;
+ );
+ picequerre
+enddef;
+
+
+% ww;
+% pair Intermede;
+% pair perpen,I,ptt;%,pttt
+% perpen:=projection(perpe,dte,drte);
+% Intermede:=echelleequerre[dte,drte];
+% ptt-perpen=abs(Intermede-perpen)*0.5*unitvector(perpe-perpen);
+% I:=CentreCercleI(perpen,ptt,Intermede);
+% ww=unitvector(drte-dte);
+% intermede=ptt--(10[ptt,(perpen rotatedabout(ptt,if sens=1: 30 else:-30 fi))]);
+% pttt=intermede intersectionpoint (10[dte,drte]--10[drte,dte]);
+% picequerre=image(
+%
+% draw codeperp(ptt,perpen,Intermede,5);
+% k=0;
+% pair Equa,Equb,Equc;
+% Equa:=perpen;
+% boolean Stop;
+% Stop=false;
+% forever:
+% label.top(TEX(decimal(angle(drte-perpen)-angle(perpe-perpen))),A);
+% for k=1 upto 100:
+% k:=k+1;
+% Equa:=perpen+k*1mm*unitvector(drte-perpen);
+% dotlabel("",Equa);
+% Equb:=Equa+1mm*unitvector(drte-perpen);
+% Equc:=rotation(Equb,Equa,-angle((drte-perpen)-(perpe-perpen)));
+% drawoptions(withcolor red);
+% dotlabel("",Equc);
+% drawoptions();
+% if abs(Equa-perpen)>9mm:%
+% trace Equa--Equc;
+% fi;
+ % if abs(drte-Equa)<1cm:
+% Stop:=false;
+% fi;
+% exitif: Stop;
+% endfor;
+% );
+% picequerre
+%enddef;
+
vardef regle(expr depart,arrivee,rr)=
save picregle;
picture picregle,grad[],gradu[],final;
@@ -1425,16 +1497,167 @@ vardef crayon(expr depart,arrive,ptplace,nbechelle)=
piccray
enddef;
-boolean Simple;
-Simple=false;
+boolean Simpleold;
+Simpleold=false;
+
+vardef Rapporteur(text t)(expr rapcentre,pointsupport,rr,pasgrad)=
+ picture rap;
+ path cc,cd,cent;
+ pair grada[],gradb[],rapv,rapw,rapt,rapww,rapvv,rap[],rapp[],RA[],RB[];
+ boolean Simple,Double,Aleph,Tiret;
+ Simple=true;
+ Double=false;
+ Aleph=false;
+ Tiret=false;
+ for p_=t:
+ if p_="Double":
+ Double:=true;
+ Simple:=false;
+ elseif p_="Aleph":
+ Aleph:=true;
+ Tiret:=true;
+ elseif p_="Tiret":
+ Tiret:=true;
+ fi;
+ endfor;
+ % Le cercle
+ RA1=0.3[rapcentre,pointsupport];
+ RA2=0.375[rapcentre,pointsupport];
+ RA3=0.45[rapcentre,pointsupport];
+ RB1=rotation(RA1,rapcentre,rr*45);
+ RB2=rotation(RA2,rapcentre,rr*45);
+ RB3=rotation(RA3,rapcentre,rr*45);
+ cc=cercles(rapcentre,0.75*abs(rapcentre-pointsupport));
+ rapt=cc intersectionpoint (rapcentre--pointsupport);
+ rapw=rapt-2*unitvector(pointsupport-rapcentre);rapv=symetrie(rapw,rapt);
+ rapww=rapt-5*unitvector(pointsupport-rapcentre);rapvv=symetrie(rapww,rapt);
+ grada0=(rapww-rapcentre) shifted rapcentre;
+ gradb0=(rapvv-rapcentre) shifted rapcentre;
+ path cerc;
+ cerc=subpath((angle(pointsupport-rapcentre)*(length cc))/360,((length cc)/2)+(angle(pointsupport-rapcentre)*(length cc))/360) of cc;
+ % On trace les graduations
+ for i=0 upto 71 :
+ for j=1 upto 4 :
+ grada[5*i+j]=(rapw-rapcentre) rotated (rr*(5*i+j)) shifted rapcentre;
+ gradb[5*i+j]=(rapv-rapcentre) rotated (rr*(5*i+j)) shifted rapcentre;
+ endfor;
+ grada[5*(i+1)]=(rapww-rapcentre) rotated (rr*(5*(i+1))) shifted rapcentre;
+ gradb[5*(i+1)]=(rapvv-rapcentre) rotated (rr*(5*(i+1))) shifted rapcentre;
+ endfor;
+ if Aleph:
+ fincompteur:=72;
+ else:
+ fincompteur:=36;
+ fi;
+ if (pasgrad=10) or (pasgrad=5) or (pasgrad=1):
+ for i=0 upto (fincompteur-1)/2:
+ draw grada[10*i]--gradb[10*i] withpen pencircle scaled 1.15;
+ endfor;
+ fi;
+ if (pasgrad=5) or (pasgrad=1):
+ for i=1 step 2 until (fincompteur-1):
+% draw grada[5*i]--gradb[5*i];
+ draw 0.9[grada[5*i],gradb[5*i]]--0.9[gradb[5*i],grada[5*i]];
+ endfor;
+ fi;
+ if pasgrad=1:
+ for i=0 upto (fincompteur-1) :
+ for j=1 upto 4 :
+ draw grada[5*i+j]--gradb[5*i+j];
+ endfor;
+ endfor;
+ fi;
+ % On affiche les graduations
+ picture nomb[],nombre[];
+ if Aleph:
+ for j=0 upto (fincompteur/2):
+ nombre[10*j]=image(
+ label.top(TEX("\fontsize{4}{4}\selectfont"&decimal(10*j)&""),gradb[10*j]);
+ currentpicture:=currentpicture rotatedabout(gradb[10*j],angle(gradb[10*j]-rapcentre)-90);
+ );
+ endfor;
+ else:
+ if rr=1:
+ for j=0 upto 18:
+ nombre[10*j]=image(
+ label.bot(TEX("\fontsize{4}{4}\selectfont"&decimal(10*j)&""),grada[10*j]);
+ currentpicture:=currentpicture rotatedabout(grada[10*j],angle(grada[10*j]-rapcentre)-90);
+ );
+ endfor
+ for j=0 upto 18:
+ nombre[10*j+1]=image(
+ label.top(TEX("\fontsize{4}{4}\selectfont"&decimal(180-10*j)&""),gradb[10*j]);
+ currentpicture:=currentpicture rotatedabout(gradb[10*j],angle(gradb[10*j]-rapcentre)-90);
+ );
+ endfor
+ else:
+ for j=0 upto 18:
+ nombre[10*j]=image(
+ label.bot(TEX("\fontsize{4}{4}\selectfont"&decimal(180-10*j)&""),grada[10*j]);
+ currentpicture:=currentpicture rotatedabout(grada[10*j],angle(grada[10*j]-rapcentre)-90);
+ );
+ endfor
+ for j=18 downto 0:
+ nombre[10*j+1]=image(
+ label.top(TEX("\fontsize{4}{4}\selectfont"&decimal(10*j)&""),gradb[10*j]);
+ currentpicture:=currentpicture rotatedabout(gradb[10*j],angle(gradb[10*j]-rapcentre)-90);
+ );
+ endfor
+ fi;
+ fi;
+ picture $;
+ $=image(
+ if Aleph:
+ for i=0 upto (fincompteur/2)-1 :
+ draw nombre[10*i];
+ endfor;
+ else:
+ for i=0 upto (fincompteur/2) :
+ draw nombre[10*i+1];
+ if Simple=false:
+ draw nombre[10*i];
+ fi;
+ endfor;
+ fi;
+ if Aleph:
+ draw cc;
+ draw grada[0]--grada[180];
+ else:
+ if rr=-1:
+ draw cerc reflectedabout(pointsupport,rapcentre)--cycle;
+ else:
+ draw cerc--cycle;
+ fi;
+ fi;
+ cent=cercle(rapcentre,0.05*u);
+ if Tiret:
+ trace ((0.05[rapcentre,grada[0]])--(0.05[rapcentre,grada[180]])) withpen pencircle scaled 1.25;
+ trace rotation(((0.05[rapcentre,grada[0]])--(0.05[rapcentre,grada[180]])),rapcentre,90) withpen pencircle scaled 1.25;
+ else:
+ fill cent withcolor if unknown fillrap: 0.9white else: fillrap fi;
+ fi;
+ if Aleph=true:
+ if rr=1:
+ for k=1 upto 3:
+ drawarrow arccercle(RA[k],RB[k],rapcentre);
+ endfor;
+ else:
+ for k=1 upto 3:
+ drawarrow reverse(arccercle(RB[k],RA[k],rapcentre));
+ endfor;
+ fi;
+ fi;
+ );
+ $
+ enddef;
vardef rapporteur(expr centre,segment,rr)=
save raps;
picture raps;
raps=image(
- Simple:=true;
+ Simpleold:=true;
trace rapporteurdouble(centre,segment,rr);
- Simple:=false;
+ Simpleold:=false;
);
raps
enddef;
@@ -1491,7 +1714,7 @@ vardef rapporteurdouble(expr centre,segment,rr)=
rap=image(
for i=0 upto 18 :
draw nombre[10*i+1];
- if Simple=false:
+ if Simpleold=false:
draw nombre[10*i];
fi;
endfor;
diff --git a/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
index f07591d735..07505355dc 100644
--- a/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
+++ b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
index b8eddd64a9..119220d8f1 100644
--- a/macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
+++ b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex
@@ -1,7 +1,7 @@
% with lualatex
\documentclass[12pt,french]{article}
-\usepackage[nonamssymb]{ProfCollege}
-\usepackage{ProfMaquette}
+\usepackage[nonamssymb]{ProfCollegeT}
+\usepackage{ProfMaquetteT}
\input{Christ7}
\usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
\usepackage{fourier-otf}
@@ -1055,7 +1055,7 @@ Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour le
\clearpage
\section*{Historique}
\begin{description}
-\item[\PfMfiledate{}--v \PfMfileversion] Adaptation du multicolonnage des corrections.
+\item[\PfMfiledate{}--v \PfMfileversion] Amélioration de la gestion des parcours.
\end{description}
\end{document}
%%% Local Variables:
diff --git a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
index 7bf0695b40..5467145dca 100644
--- a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
+++ b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2023/08/11}%
+\def\filedate{2023/08/15}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.25}%
+\def\fileversion{0.35}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -562,11 +562,12 @@
\setKV[SchemaParcours]{#1}%
\setlength{\PfMLargeurSchemaParcours}{\useKV[SchemaParcours]{Largeur}}%
\colorlet{PfMCouleurSP}{\useKV[SchemaParcours]{Couleur}}%
- \@ifundefined{Op@ParcoursTotalExo}{Recompilez pour obtenir le parcours.}%
+ \@ifundefined{Op@\Alph{PfMMaquette}-ParcoursTotalExo}{Recompilez pour obtenir le parcours.}%
{%
- \opexport{ParcoursTotalExo}{\ParcoursTotalExo}%
+ \opexport{\Alph{PfMMaquette}-ParcoursTotalExo}{\ParcoursTotalExo}%
+% Total Exo : \ParcoursTotalExo
\setsepchar{,}\ignoreemptyitems%
- \readlist*\ListeExercicesPA{\csname Parcours#2\endcsname}
+ \readlist*\ListeExercicesPA{\csname \Alph{PfMMaquette}Parcours#2\endcsname}
\reademptyitems%
\xdef\PfMFooTestA{\ListeExercicesPA[1]}%
\ifnum\ListeExercicesPAlen>1\relax%
@@ -633,14 +634,14 @@
}%
\NewDocumentCommand\RemplisParcours{m}{%
- \ifcsname trajet#1\endcsname
- \expandafter\xdef\csname trajet#1\endcsname{\csname trajet#1\endcsname,\thePfMExo}%
+ \ifcsname \Alph{PfMMaquette}trajet#1\endcsname
+ \expandafter\xdef\csname \Alph{PfMMaquette}trajet#1\endcsname{\csname \Alph{PfMMaquette}trajet#1\endcsname,\thePfMExo}%
% Yes !
\else
% No !
- \expandafter\xdef\csname trajet#1\endcsname{\thePfMExo}%
+ \expandafter\xdef\csname \Alph{PfMMaquette}trajet#1\endcsname{\thePfMExo}%
\fi
- \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname Parcours#1\endcsname{\csname trajet#1\endcsname}}%
+ \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Alph{PfMMaquette}Parcours#1\endcsname{\csname \Alph{PfMMaquette}trajet#1\endcsname}}%
}%
\def\exerciceParcoursPerso{%
@@ -665,10 +666,11 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \immediate\write\@auxout{\string\opcopy{\thePfMExo}{ParcoursTotalExo}}%
+ \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Alph{PfMMaquette}-ParcoursTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Parcours}{%
- \setsepchar{,}%
+ % Remise à zéro de conteneurs des parcours
+ \setsepchar{,}%
\xdef\PfMFooListeParcours{\useKV[ClesExercices]{Trajet}}
\readlist*\ListeParcours{\PfMFooListeParcours}%
\foreachitem\compteur\in\ListeParcours{%
@@ -1623,10 +1625,10 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\setKV[Boulot]{#1}%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzParcoursCor{#2}
- \ifboolKV[Boulot]{CorrectionColonnes}{toto\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- Ici titi \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageCorrige%
\ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
}{}%
diff --git a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
index 5e909f2618..60338e42e3 100644
--- a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+++ b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
index 7f1a3f2a21..ddf25cb1b1 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
index f4a5bb01cb..11dd132d39 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
index 987e032a3d..0447e70ff1 100644
--- a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-tabular.pdf b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
index 85d0794e08..473b331ca4 100644
--- a/macros/latex/contrib/reledmac/examples/1-tabular.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
index 4c42b3d749..33792294d3 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses.pdf b/macros/latex/contrib/reledmac/examples/1-verses.pdf
index 388cf73893..924b446177 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
index 5388414b8f..402770d913 100644
--- a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
index a4015e73f2..5954a2a351 100644
--- a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
index da7f38b90f..9748d65ef8 100644
--- a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
index c69e90fe7c..0b65e75e61 100644
--- a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-indexing.pdf b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
index c43f51792f..f4a3f666c6 100644
--- a/macros/latex/contrib/reledmac/examples/2-indexing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
index dc32c431d4..b8edca611d 100644
--- a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
index 8e019018a7..47faba3add 100644
--- a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
index 0a2959a973..4229efb7d3 100644
--- a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
index 68db151c62..d8b637f78e 100644
--- a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
index b4fa1ad4ec..bea9f2fabe 100644
--- a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
index a8a7e0d133..da6d64d0ad 100644
--- a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-performances.pdf b/macros/latex/contrib/reledmac/examples/2-performances.pdf
index 04dcd59a4b..2919633fe7 100644
--- a/macros/latex/contrib/reledmac/examples/2-performances.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-performances.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
index f73c0d2746..2f4ae19f60 100644
--- a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
index 5a0ac5cfd0..4cceacd00e 100644
--- a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
index a5a33ef242..ae56460969 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
index bafc56551b..86ad69706f 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
index 3d2c7279cc..3674f61d90 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
index 6284f80796..9c59e861ac 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
index 608d2c1994..bdb75fa784 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
index f5c722af26..d5c03f495b 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
index a2b226dedd..a63bb77d7f 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
index acca2243d0..4357102511 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
index 3844975323..a1492b7e89 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
index fe2d44821c..5d02c56e1a 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
index 4b089e7d9e..ed296ca882 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
index 884217598a..4729d30c66 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
index cf173f73a9..53ae862348 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
index a0b156c7c5..233d271669 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
index 0f3be6d960..ef4dfaf6fa 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
index 93aa647613..692814022a 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
index 32807ea89d..c9e12f6e0c 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
index 0c4545c50f..19a20c4b69 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
index 222b4e5363..9d7f56f3e9 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
index 2cf058f3fe..6fd0abd546 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
index 3b8845b3b4..e0ef394cfc 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
index 91ce4b624e..acecb25046 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
index 4f4c9481f5..3c70dc6a17 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
index 729345b91f..40265033d5 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
index 2b7f0ea220..92521b0f5e 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/migration.pdf b/macros/latex/contrib/reledmac/migration.pdf
index 84f43f9641..afc3bc1eb4 100644
--- a/macros/latex/contrib/reledmac/migration.pdf
+++ b/macros/latex/contrib/reledmac/migration.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledmac.dtx b/macros/latex/contrib/reledmac/reledmac.dtx
index 938d323c0f..111de50ddd 100644
--- a/macros/latex/contrib/reledmac/reledmac.dtx
+++ b/macros/latex/contrib/reledmac/reledmac.dtx
@@ -597,6 +597,7 @@
% \changes{v2.39.3}{2023/07/08}{Fix bug with \protect\cs{edlabel} after tabular environment (added by v2.39.2).}
% \changes{v2.39.4}{2023/07/20}{Fix bug with hyperlink when using \protect\cs{footnoteXmark} and \protect\cs{footnoteXtext}.}
% \changes{v2.39.5}{2023/07/21}{The fix in v2.39.4 did'nt work well in tabular environment.}
+% \changes{v2.39.6}{2023/08/14}{Fix compatibility with memoir v3.8.}
% Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename)
% has version number \fileversion, last revised \filedate.}}
%
@@ -4509,7 +4510,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2023/07/21 v2.39.5 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2023/08/15 v2.39.6 typesetting critical editions]%
% \end{macrocode}
%
% \subsection{Package options}
@@ -5165,6 +5166,13 @@
}%
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\led@error@fail@patch@mempnum}
+% \begin{macrocode}
+\newcommand{\led@error@fail@patch@mempnum}{%
+ \reledmac@error{Fail to patch \string\@mempnum\space command}{\@ehc}%
+}%
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\led@warn@edinde@outsidenumbering}
% \begin{macrocode}
\newcommand{\led@warn@edinde@outsidenumbering}{%
@@ -16658,18 +16666,21 @@
\par@patch@thepage%
}%
-\ifl@dmemoir%
+\ifboolexpr{%
+ bool {l@dmemoir}%
+ and test {\ifdef{\@mempnum}}%Only with memoir < 3.8
+}{%
\apptocmd{\@mempnum}%
{\par@patch@pagenumbering}%
{}%%
- {\led@error@fail@patch@@mempnum}%
-
-\else%
+ {\led@error@fail@patch@mempnum}%
+ }%
+ {%
\apptocmd{\pagenumbering}%
{\par@patch@pagenumbering}%
{}%
{\led@error@fail@patch@pagenumbering}%
-\fi%
+ }%
\AtBeginDocument{\par@patch@thepage}%
% \end{macrocode}
diff --git a/macros/latex/contrib/reledmac/reledmac.pdf b/macros/latex/contrib/reledmac/reledmac.pdf
index 6352d4da46..4e8e834c1b 100644
--- a/macros/latex/contrib/reledmac/reledmac.pdf
+++ b/macros/latex/contrib/reledmac/reledmac.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledpar.pdf b/macros/latex/contrib/reledmac/reledpar.pdf
index ee5dd56dfc..437e917b6c 100644
--- a/macros/latex/contrib/reledmac/reledpar.pdf
+++ b/macros/latex/contrib/reledmac/reledpar.pdf
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf b/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
deleted file mode 100644
index 933663d561..0000000000
--- a/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf b/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
deleted file mode 100644
index 9045f6c7a3..0000000000
--- a/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/substitutefont-doc.html b/macros/latex/contrib/substitutefont/substitutefont-doc.html
deleted file mode 100644
index 8df4b99b40..0000000000
--- a/macros/latex/contrib/substitutefont/substitutefont-doc.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.12: http://docutils.sourceforge.net/" />
-<title>substitutefont</title>
-<meta name="copyright" content="© 2010 Günter Milde &lt;milde&#64;users.sf.net&gt;" />
-<link rel="stylesheet" href="../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" />
-<link rel="stylesheet" href="../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" />
-</head>
-<body>
-<div class="document" id="substitutefont">
-<h1 class="title">substitutefont</h1>
-<h2 class="subtitle" id="combine-font-families">Combine font families</h2>
-
-<dl class="docinfo simple">
-<dt class="copyright">Copyright</dt>
-<dd class="copyright">© 2010 Günter Milde &lt;<a class="reference external" href="mailto:milde&#64;users.sf.net">milde&#64;users.sf.net</a>&gt;</dd>
-<dt>Contributor</dt>
-<dd><p>Special thanks to Ulrike Fischer who provided
-the indirect definition with active <tt class="literal">\nfss&#64;catcodes</tt>.</p>
-</dd>
-<dt>Licence</dt>
-<dd><p>This work may be distributed and/or modified under the
-conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>,
-either version&nbsp;1.3 of this license or (at your option)
-any later version.</p>
-</dd>
-</dl>
-<p>In traditional 8-bit LaTeX, fonts are restricted to 256 glyphs per file.
-To support different languages and scripts, the New Font Selection Scheme
-uses a set of TeX font encodings <a class="citation-reference" href="#encguide" id="id1">[encguide]</a>.</p>
-<p>Many Latin TeX fonts do not support Greek or Cyrillic, while many non-Latin
-fonts are extensions of a Latin font family but use a different family name
-due to license reasons or the creators preference.</p>
-<p>The <cite>substitutefont</cite> package facilitates the task to set up a font family as
-substitute for another one in a specified <a class="reference external" href="encguide">font encoding</a>.</p>
-<dl class="field-list">
-<dt>News</dt>
-<dd><p>2013-11-04 Documentation/Test fixes.</p>
-</dd>
-<dt>Source</dt>
-<dd><p><a class="reference external" href="substitutefont.sty">substitutefont.sty</a></p>
-<p>The literate source was converted with <a class="reference external" href="http://pylit.berlios.de">PyLit</a> to <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> and
-with <a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> to the HTML documentation <a class="reference external" href="substitutefont.sty.html">substitutefont.sty.html</a>.</p>
-</dd>
-</dl>
-<div class="section" id="usage">
-<h1>Usage</h1>
-<p>The macro <tt class="literal"><span class="pre">\substitutefont{&lt;encoding&gt;}{&lt;family&gt;}{&lt;new-family&gt;}</span></tt> selects
-the font family &lt;new-family&gt; as replacement for &lt;family&gt; in the font
-encoding &lt;encoding&gt;. The substitution must be defined before the first use
-of the specified font encoding, preferably in the document preamble.
-In contrast to the (deprecated) <tt class="literal">\substitutefontfamily</tt> macro provided by
-<a class="reference external" href="http://www.ctan.org/pkg/babel">Babel</a>, <tt class="literal">\substitutefont</tt> does not write auxiliary files.</p>
-<p>The <tt class="literal">&lt;encoding&gt;</tt> is one of the LaTeX font encodings <a class="citation-reference" href="#encguide" id="id2">[encguide]</a>, e.g., T1
-for Latin, T2A for Cyrillic(Russian), or LGR for Greek.</p>
-<p>For <tt class="literal">&lt;family&gt;</tt> and <tt class="literal"><span class="pre">&lt;new-family&gt;</span></tt>, use the «TeX names» of the font.
-There are defined by a TeX font package’s <tt class="literal">*.fd</tt> or <tt class="literal">*.sty</tt> file(s).
-LaTeX stores the default family names for Roman, Sans-Serif, and Teletype
-fonts in the <tt class="literal">\rmdefault</tt>, <tt class="literal">\sfdefault</tt>, and <tt class="literal">\ttdefault</tt> macros
-respectively.</p>
-<p>Example: Set the font family to Palatino using the standard package
-<cite>mathpazo</cite> for Latin and <a class="reference external" href="http://www.ctan.org/pkg/gfsdidot">GFS Didot</a> for Greek:</p>
-<pre class="literal-block">\usepackage[sc,slantedGreek]{mathpazo}
-\usepackage{substitutefont}
-\substitutefont{LGR}{\rmdefault}{udidot}
-</pre>
-<p>For details on LaTeX font selection, see <a class="citation-reference" href="#encguide" id="id3">[encguide]</a> and <a class="citation-reference" href="#fntguide" id="id4">[fntguide]</a>.</p>
-</div>
-<div class="section" id="tests-examples">
-<h1>Tests/Examples</h1>
-<ul class="simple">
-<li><p>Simple test with Latin fonts:
-<a class="reference external" href="substitutefont-test.tex">substitutefont-test.tex</a>, <a class="reference external" href="substitutefont-test.pdf">substitutefont-test.pdf</a></p></li>
-<li><p>Palatino with Greek from <a class="reference external" href="http://www.ctan.org/pkg/gfsdidot">GFS Didot</a>:
-<a class="reference external" href="greek-palatino-didot.tex">greek-palatino-didot.tex</a>, <a class="reference external" href="greek-palatino-didot.pdf">greek-palatino-didot.pdf</a></p></li>
-<li><p>Times/Helvetica/Courier (<a class="reference external" href="http://www.ctan.org/pkg/newtx">newtx</a>) with <a class="reference external" href="http://www.ctan.org/pkg/gfsartemisia">GFS Artemisia</a>, <a class="reference external" href="http://www.ctan.org/pkg/gfsneohellenic">GFS
-Neohellenic</a>, and teletype from the <a class="reference external" href="http://www.ctan.org/pkg/cbgreek-complete">CB</a> fonts: <a class="reference external" href="http://www.ctan.org/pkg/txfontsb">txfontsb</a>
-<a class="reference external" href="greek-times-artemisia.tex">greek-times-artemisia.tex</a>, <a class="reference external" href="greek-times-artemisia.pdf">greek-times-artemisia.pdf</a></p></li>
-<li><p>Latin Modern with Cyrillic from <a class="reference external" href="http://www.ctan.org/pkg/cm-lgc">CM LGC</a>:
-<a class="reference external" href="cyrillic-lm-lgc.tex">cyrillic-lm-lgc.tex</a>, <a class="reference external" href="cyrillic-lm-lgc.pdf">cyrillic-lm-lgc.pdf</a></p></li>
-<li><p>Times/Helvetica/Courier (TeX Gyre) with Cyrillic <a class="reference external" href="http://www.ctan.org/pkg/paratype">ParaType</a> fonts:
-<a class="reference external" href="cyrillic-paratype.tex">cyrillic-paratype.tex</a>, <a class="reference external" href="cyrillic-paratype.pdf">cyrillic-paratype.pdf</a></p></li>
-</ul>
-</div>
-<div class="section" id="references">
-<h1>References</h1>
-<dl class="citation"><dt class="label">[encguide]</dt>
-<dd id="encguide">
-<em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>, <a class="fn-backref" href="#id3">3</a>)</em> <p class="last">Frank Mittelbach, Robin Fairbairns, Werner Lemberg,
-LaTeX3 Project Team, <cite>LaTeX font encodings</cite>:
-<a class="reference external" href="http://mirror.ctan.org/macros/latex/doc/encguide.pdf">http://mirror.ctan.org/macros/latex/doc/encguide.pdf</a>.</p>
-</dd>
-</dl>
-<dl class="citation"><dt class="label"><a class="fn-backref" href="#id4">[fntguide]</a></dt>
-<dd id="fntguide">
-<p class="first last">LaTeX3 Project Team, <cite>LaTeX 2e font selection</cite>:
-<a class="reference external" href="http://mirror.ctan.org/macros/latex/doc/fntguide.pdf">http://mirror.ctan.org/macros/latex/doc/fntguide.pdf</a>.</p>
-</dd>
-</dl>
-</div>
-</div>
-</body>
-</html>
diff --git a/macros/latex/contrib/zref-check/CHANGELOG.md b/macros/latex/contrib/zref-check/CHANGELOG.md
index b9c41de170..75b91e2d0a 100644
--- a/macros/latex/contrib/zref-check/CHANGELOG.md
+++ b/macros/latex/contrib/zref-check/CHANGELOG.md
@@ -1,6 +1,24 @@
# Changelog
-## [Unreleased](https://github.com/gusbrs/zref-check/compare/v0.3.3...HEAD)
+## [Unreleased](https://github.com/gusbrs/zref-check/compare/v0.3.4...HEAD)
+
+## [v0.3.4](https://github.com/gusbrs/zref-check/compare/v0.3.3...v0.3.4) (2023-08-13)
+
+### Added
+- Support for empty labels in `\zcheck`.
+- New alias `ok` of `msglevel=none` for local use.
+- New `manual` check.
+
+### Changed
+- Calls to `\zcheck` with no checks issue a message, also subject to the
+ `msglevel` option.
+
+### Removed
+- Option values `msglevel=obeydraft`, `msglevel=obeyfinal`,
+ `onpage=obeydraft`, and `onpage=obeyfinal`, which had been deprecated since
+ v0.2.2 (2021-12-07), have been removed.
+- Option `labelcmd`, which had been deprecated since v0.2.4 (2022-02-08), has
+ been removed.
## [v0.3.3](https://github.com/gusbrs/zref-check/compare/v0.3.2...v0.3.3) (2023-06-14)
diff --git a/macros/latex/contrib/zref-check/zref-check-code.pdf b/macros/latex/contrib/zref-check/zref-check-code.pdf
index fdd972c94d..73d1816b1d 100644
--- a/macros/latex/contrib/zref-check/zref-check-code.pdf
+++ b/macros/latex/contrib/zref-check/zref-check-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-check/zref-check-doc.pdf b/macros/latex/contrib/zref-check/zref-check-doc.pdf
index 64afffc6f2..d6ba5308cb 100644
--- a/macros/latex/contrib/zref-check/zref-check-doc.pdf
+++ b/macros/latex/contrib/zref-check/zref-check-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-check/zref-check-doc.tex b/macros/latex/contrib/zref-check/zref-check-doc.tex
index 420ec0f900..9d0205c571 100644
--- a/macros/latex/contrib/zref-check/zref-check-doc.tex
+++ b/macros/latex/contrib/zref-check/zref-check-doc.tex
@@ -49,6 +49,10 @@
\NewDocumentCommand\opt{m}{\texttt{#1}}
+\makeatletter
+\newcommand{\zcrequiredkernel}{\zrefcheck@required@kernel}
+\makeatother
+
\begin{document}
\GetFileInfo{zref-check.sty}
@@ -165,10 +169,9 @@ using \cs{zrefchecksetup} (see Section~\ref{sec:user-interface}).
\pkg{zref} is required, of course, but in particular, its modules
\pkg{zref-user} and \pkg{zref-abspage} are loaded by default. \pkg{ifdraft}
(from the \pkg{oberdiek} bundle) is also loaded by default. A \LaTeX{} kernel
-later than 2021-06-01 is required, since we rely on the new hook system from
-\pkg{ltcmdhooks} for the sectioning checks. If \pkg{hyperref} is loaded and
-option \pkg{hyperref} is given, \pkg{zref-check} makes use of it, but it does
-not load the package for you.
+later than \zcrequiredkernel{} is required as well. If \pkg{hyperref} is
+loaded and option \pkg{hyperref} is given, \pkg{zref-check} makes use of it,
+but it does not load the package for you.
\section{User interface}
@@ -329,6 +332,9 @@ The available checks are the following:
\item[far] Not \opt{close}.
+\item[manual] A check which always fails. Can be used to keep track of
+ relations not covered by the other regular checks.
+
\end{description}
@@ -363,9 +369,9 @@ terminal and to the log file, \opt{info} issues messages to the log file only,
\opt{info} if option \opt{draft} is passed to \cs{documentclass}, and to
\opt{warn} otherwise. \opt{warniffinal} corresponds to \opt{warn} if option
\opt{final} is (explicitly) passed to \cs{documentclass} and \opt{info}
-otherwise. \opt{ignore} is provided as convenience alias for
+otherwise. \opt{ignore} and \opt{ok} are provided as convenience aliases for
\opt{msglevel=none} for local use only. This option only affects the messages
-issued by the checks in \cs{zcheck}, not other messages or warnings of the
+related to the checks in \cs{zcheck}, not other messages or warnings of the
package. In particular, it does not affect warnings issued for undefined
labels, which just use \cs{zref@refused} and thus are the same as standard
\LaTeX{} ones for this purpose.
diff --git a/macros/latex/contrib/zref-check/zref-check.dtx b/macros/latex/contrib/zref-check/zref-check.dtx
index 58eb421cdd..c3a05b9990 100644
--- a/macros/latex/contrib/zref-check/zref-check.dtx
+++ b/macros/latex/contrib/zref-check/zref-check.dtx
@@ -72,23 +72,22 @@
% the new hook system in \pkg{ltcmdhooks}, which was released with the
% 2021/06/01 \LaTeX{} kernel.
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
+\def\zrefcheck@required@kernel{2021-06-01}
+\NeedsTeXFormat{LaTeX2e}[\zrefcheck@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
-\IfFormatAtLeastTF{2021-06-01}
+\IfFormatAtLeastTF{\zrefcheck@required@kernel}
{}
{%
\PackageError{zref-check}{LaTeX kernel too old}
{%
- 'zref-check' requires a LaTeX kernel newer than 2021-06-01.%
- \MessageBreak Loading will abort!%
+ 'zref-check' requires a LaTeX kernel \zrefcheck@required@kernel\space or newer.%
}%
- \endinput
}%
% \end{macrocode}
%
% Identify the package.
% \begin{macrocode}
-\ProvidesExplPackage {zref-check} {2023-06-14} {0.3.3}
+\ProvidesExplPackage {zref-check} {2023-08-13} {0.3.4}
{Flexible cross-references with contextual checks based on zref}
% \end{macrocode}
%
@@ -193,6 +192,13 @@
Same~page~check~\msg_line_context:.~
Double-check~'#1'~for~label~'#2'~on~page~#3.
}
+\msg_new:nnn { zref-check } { empty-label }
+ {
+ Check~failed~\msg_line_context:.~
+ Failed~check~'#1'~for~empty~label.
+ }
+\msg_new:nnn { zref-check } { no-checks }
+ { No~checks~for~'\iow_char:N\\zcheck'~\msg_line_context:. }
% \end{macrocode}
%
% \begin{macrocode}
@@ -214,9 +220,9 @@
}
\msg_new:nnn { zref-check } { missing-hyperref }
{ Missing~'hyperref'~package. \iow_newline: Setting~'hyperref=false'. }
-\msg_new:nnn { zref-check } { ignore-document-only }
+\msg_new:nnn { zref-check } { ignore-ok-document-only }
{
- Option~'ignore'~only~available~in~the~document. \iow_newline:
+ Option~'#1'~only~available~in~the~document. \iow_newline:
Use~option~'msglevel'~instead.
}
\msg_new:nnn { zref-check } { option-preamble-only }
@@ -379,27 +385,18 @@
{ \tl_set:Nn \l_@@_msglevel_tl { warning } }
{ \tl_set:Nn \l_@@_msglevel_tl { info } }
} ,
- msglevel / obeydraft .code:n =
- {
- % NOTE Option value deprecated in 2021-12-07 for v0.2.2.
- \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative }
- { msglevel=obeydraft } { msglevel=infoifdraft }
- } ,
- msglevel / obeyfinal .code:n =
- {
- % NOTE Option value deprecated in 2021-12-07 for v0.2.2.
- \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative }
- { msglevel=obeyfinal } { msglevel=warniffinal }
- } ,
msglevel .value_required:n = true ,
msglevel .initial:n = warn ,
% \end{macrocode}
-% \opt{ignore} is a convenience alias for \opt{msglevel=none}, but only for
-% use in the document body.
+% \opt{ignore} and \opt{ok} are convenience aliases for \opt{msglevel=none},
+% but only for use in the document body.
% \begin{macrocode}
ignore .code:n =
- { \msg_warning:nn { zref-check } { ignore-document-only } } ,
- ignore .value_forbidden:n = true
+ { \msg_warning:nnn { zref-check } { ignore-ok-document-only } { ignore } } ,
+ ignore .value_forbidden:n = true ,
+ ok .code:n =
+ { \msg_warning:nnn { zref-check } { ignore-ok-document-only } { ok } } ,
+ ok .value_forbidden:n = true ,
}
% \end{macrocode}
% \end{variable}
@@ -408,7 +405,10 @@
\AddToHook { begindocument }
{
\keys_define:nn { zref-check }
- { ignore .meta:n = { msglevel = none } }
+ {
+ ignore .meta:n = { msglevel = none } ,
+ ok .meta:n = { msglevel = none } ,
+ }
}
% \end{macrocode}
%
@@ -441,18 +441,6 @@
{ \bool_set_true:N \l_@@_msgonpage_bool }
{ \bool_set_false:N \l_@@_msgonpage_bool }
} ,
- onpage / obeydraft .code:n =
- {
- % NOTE Option value deprecated in 2021-12-07 for v0.2.2.
- \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative }
- { onpage=obeydraft } { onpage=labelseqifdraft }
- } ,
- onpage / obeyfinal .code:n =
- {
- % NOTE Option value deprecated in 2021-12-07 for v0.2.2.
- \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative }
- { onpage=obeyfinal } { onpage=msgiffinal }
- } ,
onpage .value_required:n = true ,
onpage .initial:n = labelseq
}
@@ -483,22 +471,6 @@
% \end{variable}
%
%
-% \subsubsection*{\opt{labelcmd} option}
-%
-% \begin{macrocode}
-\keys_define:nn { zref-check }
- {
- labelcmd .code:n =
- {
- % NOTE Option value deprecated in 2022-02-08 for v0.2.4.
- \msg_warning:nnn { zref-check }{ option-deprecated }
- { labelcmd }
- } ,
- }
-% \end{macrocode}
-%
-%
-%
% \subsubsection*{Package options}
%
% \pkg{zref-check} does not accept load-time options. Despite the tradition
@@ -631,30 +603,30 @@
% \begin{macrocode}
\ior_open:Nn \g_tmpa_ior { \g_tmpa_tl }
\group_begin:
- \int_zero:N \l_tmpa_int
- \tl_clear:N \l_tmpa_tl
- \tl_clear:N \l_tmpb_tl
- \bool_set_false:N \l_tmpa_bool
- \ior_map_variable:NNn \g_tmpa_ior \l_tmpa_tl
- {
- \tl_map_variable:NNn \l_tmpa_tl \l_tmpb_tl
- {
- \tl_if_eq:NnTF \l_tmpb_tl { \zref@newlabel }
- {
+ \int_zero:N \l_tmpa_int
+ \tl_clear:N \l_tmpa_tl
+ \tl_clear:N \l_tmpb_tl
+ \bool_set_false:N \l_tmpa_bool
+ \ior_map_variable:NNn \g_tmpa_ior \l_tmpa_tl
+ {
+ \tl_map_variable:NNn \l_tmpa_tl \l_tmpb_tl
+ {
+ \tl_if_eq:NnTF \l_tmpb_tl { \zref@newlabel }
+ {
% \end{macrocode}
% Found a \cs{zref@label}, signal it.
% \begin{macrocode}
- \bool_set_true:N \l_tmpa_bool
- }
- {
- \bool_if:NTF \l_tmpa_bool
- {
- \bool_set_false:N \l_tmpa_bool
- \int_incr:N \l_tmpa_int
- \prop_gput:Nxx \g_@@_auxfile_lblseq_prop
- { \l_tmpb_tl } { \int_use:N \l_tmpa_int }
- }
- {
+ \bool_set_true:N \l_tmpa_bool
+ }
+ {
+ \bool_if:NTF \l_tmpa_bool
+ {
+ \bool_set_false:N \l_tmpa_bool
+ \int_incr:N \l_tmpa_int
+ \prop_gput:Nxx \g_@@_auxfile_lblseq_prop
+ { \l_tmpb_tl } { \int_use:N \l_tmpa_int }
+ }
+ {
% \end{macrocode}
% If there is not a match of the first token with \cs{zref@newlabel}, break
% the loop and discard the rest of the line, to ensure no babel calls to
@@ -662,11 +634,11 @@
% loop and discards the rest of the \cs{zref@newlabel} lines after we got the
% label we wanted, since we reset \cs{l_tmpa_bool} in the \texttt{T} branch.
% \begin{macrocode}
- \tl_map_break:
- }
- }
- }
- }
+ \tl_map_break:
+ }
+ }
+ }
+ }
\group_end:
\ior_close:N \g_tmpa_ior
}
@@ -942,65 +914,68 @@
{
\group_begin:
% \end{macrocode}
-% Process local options and checks.
+% Process local options and checks. We use \cs{seq_set_split:Nnn} to set
+% \cs{l_@@_zcheck_labels_seq} -- instead of \cs{seq_set_from_clist:Nn} -- to
+% support empty labels.
% \begin{macrocode}
- \keys_set:nn { zref-check / zcheck } {#3}
- \seq_set_from_clist:Nn \l_@@_zcheck_labels_seq {#1}
+ \keys_set:nn { zref-check / zcheck } {#3}
+ \seq_set_split:Nnn \l_@@_zcheck_labels_seq { , } {#1}
% \end{macrocode}
% Names of the labels for this zcheck call.
% \begin{macrocode}
- \int_gincr:N \g_@@_id_int
- \tl_set:Nx \l_@@_checkbeg_tl
- { \@@_check_lblfmt:n { \g_@@_id_int } }
+ \int_gincr:N \g_@@_id_int
+ \tl_set:Nx \l_@@_checkbeg_tl
+ { \@@_check_lblfmt:n { \g_@@_id_int } }
% \end{macrocode}
% Set checkbeg label.
% \begin{macrocode}
- \zref@labelbylist { \l_@@_checkbeg_tl } { zrefcheck-check }
+ \zref@labelbylist { \l_@@_checkbeg_tl } { zrefcheck-check }
% \end{macrocode}
% Typeset \marg{text}, with hyperlink when appropriate. Even though the first
% argument can receive a list of labels, there is no meaningful way to set
% links to multiple targets. Hence, only the first one is considered for
% hyperlinking.
% \begin{macrocode}
- \seq_get:NN \l_@@_zcheck_labels_seq \l_@@_link_label_tl
- \bool_set:Nn \l_@@_link_star_bool {#2}
- \zref@ifrefundefined { \l_@@_link_label_tl }
+ \seq_get:NN \l_@@_zcheck_labels_seq \l_@@_link_label_tl
+ \bool_set:Nn \l_@@_link_star_bool {#2}
+ \zref@ifrefundefined { \l_@@_link_label_tl }
% \end{macrocode}
% If the reference is undefined, just typeset.
% \begin{macrocode}
- {#4}
- {
- \bool_if:nTF
- {
- \l_@@_use_hyperref_bool &&
- ! \l_@@_link_star_bool
- }
- {
- \exp_args:Nx \zrefcheck_get_astl:nnn
- { \l_@@_link_label_tl }
- { anchor } { \l_@@_link_anchor_tl }
- \hyperlink { \l_@@_link_anchor_tl } {#4}
- }
- {#4}
- }
+ {#4}
+ {
+ \bool_if:nTF
+ {
+ \l_@@_use_hyperref_bool &&
+ ! \l_@@_link_star_bool
+ }
+ {
+ \exp_args:Nx \zrefcheck_get_astl:nnn
+ { \l_@@_link_label_tl }
+ { anchor } { \l_@@_link_anchor_tl }
+ \hyperlink { \l_@@_link_anchor_tl } {#4}
+ }
+ {#4}
+ }
% \end{macrocode}
% Set checkend label.
% \begin{macrocode}
- \bool_if:NT \l_@@_zcheck_end_label_bool
- {
- \zref@labelbylist
- { \@@_end_lblfmt:n { \l_@@_checkbeg_tl } }
- { zrefcheck-end }
- }
+ \bool_if:NT \l_@@_zcheck_end_label_bool
+ {
+ \zref@labelbylist
+ { \@@_end_lblfmt:n { \l_@@_checkbeg_tl } }
+ { zrefcheck-end }
+ }
% \end{macrocode}
% Check if \meta{labels} are defined.
% \begin{macrocode}
- \seq_map_function:NN \l_@@_zcheck_labels_seq \zref@refused
+ \seq_map_inline:Nn \l_@@_zcheck_labels_seq
+ { \tl_if_empty:nF {##1} { \zref@refused {##1} } }
% \end{macrocode}
% Run the checks.
% \begin{macrocode}
- \@@_run_checks:nnx { \l_@@_zcheck_checks_seq }
- { \l_@@_zcheck_labels_seq } { \l_@@_checkbeg_tl }
+ \@@_run_checks:nnx { \l_@@_zcheck_checks_seq }
+ { \l_@@_zcheck_labels_seq } { \l_@@_checkbeg_tl }
\group_end:
}
% \end{macrocode}
@@ -1119,6 +1094,7 @@
nextsec ,
secsbefore ,
secsafter ,
+ manual ,
}
% \end{macrocode}
% \end{variable}
@@ -1171,6 +1147,7 @@
secsafter ,
close ,
far ,
+ manual ,
}
{
\keys_define:nn { zref-check / zcheck }
@@ -1199,11 +1176,15 @@
\cs_new_protected:Npn \@@_run_checks:nnn #1#2#3
{
\group_begin:
- \seq_map_inline:Nn #2
- {
- \seq_map_inline:Nn #1
- { \@@_do_check:nnn {####1} {##1} {#3} }
- }
+ \seq_map_inline:Nn #2
+ {
+ \seq_if_empty:NTF #1
+ { \@@_message:nnnn { no-checks } { } { } { } }
+ {
+ \seq_map_inline:Nn #1
+ { \@@_do_check:nnn {####1} {##1} {#3} }
+ }
+ }
\group_end:
}
\cs_generate_variant:Nn \@@_run_checks:nnn { nnx }
@@ -1215,11 +1196,13 @@
% {
% \l_@@_passedcheck_bool ,
% \l_@@_onpage_bool ,
+% \l_@@_empty_label_bool ,
% \c_@@_onpage_checks_seq
% }
% \begin{macrocode}
\bool_new:N \l_@@_passedcheck_bool
\bool_new:N \l_@@_onpage_bool
+\bool_new:N \l_@@_empty_label_bool
\seq_const_from_clist:Nn \c_@@_onpage_checks_seq
{ above , below , before , after }
% \end{macrocode}
@@ -1239,119 +1222,127 @@
\cs_new_protected:Npn \@@_do_check:nnn #1#2#3
{
\group_begin:
+ \bool_set_true:N \l_@@_passedcheck_bool
+ \bool_set_false:N \l_@@_onpage_bool
+ \bool_set_false:N \l_@@_empty_label_bool
+ \cs_if_exist:cTF { @@_check_ #1 :nnF }
+ {
% \end{macrocode}
% \meta{label beg} may be defined or not, it is arbitrary user input. Whether
% this is the case is checked in \cs{@@_zcheck:nnnnn}, and due warning already
-% ensues. And there is no point in checking ``relative position'' of an
-% undefined label. Hence, in the absence of |#2|, we do nothing at all here.
-% \begin{macrocode}
- \zref@ifrefundefined {#2}
- {}
- {
- \tl_if_empty:nF {#1}
- {
- \bool_set_true:N \l_@@_passedcheck_bool
- \bool_set_false:N \l_@@_onpage_bool
- \cs_if_exist:cTF { @@_check_ #1 :nnF }
- {
- % ``label beg'' vs ``reference beg''.
- \use:c { @@_check_ #1 :nnF }
- {#2} {#3}
- { \bool_set_false:N \l_@@_passedcheck_bool }
- % ``reference end'' \emph{may} exist or not depending on the
- % checks.
- \zref@ifrefundefined { \@@_end_lblfmt:n {#3} }
- {
- % ``label end'' \emph{may} have been created by the
- % target commands.
- \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
- {}
- {
- % ``label end'' vs ``reference beg''.
- \exp_args:Nno \use:c { @@_check_ #1 :nnF }
- { \@@_end_lblfmt:n {#2} } {#3}
- { \bool_set_false:N \l_@@_passedcheck_bool }
- }
- }
- {
- % ``label beg'' vs ``reference end''.
- \exp_args:Nnno \use:c { @@_check_ #1 :nnF }
- {#2} { \@@_end_lblfmt:n {#3} }
- { \bool_set_false:N \l_@@_passedcheck_bool }
- % ``label end'' \emph{may} have been created by the
- % target commands.
- \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
- {}
- {
- % ``label end'' vs ``reference beg''.
- \exp_args:Nno \use:c { @@_check_ #1 :nnF }
- { \@@_end_lblfmt:n {#2} } {#3}
- { \bool_set_false:N \l_@@_passedcheck_bool }
- % ``label end'' vs ``reference end''.
- \exp_args:Nnoo \use:c { @@_check_ #1 :nnF }
- { \@@_end_lblfmt:n {#2} }
- { \@@_end_lblfmt:n {#3} }
- { \bool_set_false:N \l_@@_passedcheck_bool }
- }
- }
+% ensues. So there's no need to do it again here. The only exception is the
+% case of empty labels, for which we want to issue a failed check warning.
+% \begin{macrocode}
+ \zref@ifrefundefined {#2}
+ {
+ \tl_if_empty:nT {#2}
+ {
+ \bool_set_false:N \l_@@_passedcheck_bool
+ \bool_set_true:N \l_@@_empty_label_bool
+ }
+ }
+ {
+ % ``label beg'' vs ``reference beg''.
+ \use:c { @@_check_ #1 :nnF }
+ {#2} {#3}
+ { \bool_set_false:N \l_@@_passedcheck_bool }
+ % ``reference end'' \emph{may} exist or not depending on the
+ % checks.
+ \zref@ifrefundefined { \@@_end_lblfmt:n {#3} }
+ {
+ % ``label end'' \emph{may} have been created by the
+ % target commands.
+ \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
+ {}
+ {
+ % ``label end'' vs ``reference beg''.
+ \exp_args:Nno \use:c { @@_check_ #1 :nnF }
+ { \@@_end_lblfmt:n {#2} } {#3}
+ { \bool_set_false:N \l_@@_passedcheck_bool }
+ }
+ }
+ {
+ % ``label beg'' vs ``reference end''.
+ \exp_args:Nnno \use:c { @@_check_ #1 :nnF }
+ {#2} { \@@_end_lblfmt:n {#3} }
+ { \bool_set_false:N \l_@@_passedcheck_bool }
+ % ``label end'' \emph{may} have been created by the
+ % target commands.
+ \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
+ {}
+ {
+ % ``label end'' vs ``reference beg''.
+ \exp_args:Nno \use:c { @@_check_ #1 :nnF }
+ { \@@_end_lblfmt:n {#2} } {#3}
+ { \bool_set_false:N \l_@@_passedcheck_bool }
+ % ``label end'' vs ``reference end''.
+ \exp_args:Nnoo \use:c { @@_check_ #1 :nnF }
+ { \@@_end_lblfmt:n {#2} }
+ { \@@_end_lblfmt:n {#3} }
+ { \bool_set_false:N \l_@@_passedcheck_bool }
+ }
+ }
% \end{macrocode}
% Handle option \opt{onpage=msg}. This is only granted for tests which
% perform ``within this page'' checks (\opt{above}, \opt{below}, \opt{before},
% \opt{after}) \emph{and} if any of the two by two checks uses a ``within this
% page'' comparison. If both conditions are met, signal.
% \begin{macrocode}
- \seq_if_in:NnT \c_@@_onpage_checks_seq {#1}
- {
- \@@_check_thispage:nnT
- {#2} {#3}
- { \bool_set_true:N \l_@@_onpage_bool }
- \zref@ifrefundefined { \@@_end_lblfmt:n {#3} }
- {
- \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
- {}
- {
- \@@_check_thispage:nnT
- { \@@_end_lblfmt:n {#2} } {#3}
- { \bool_set_true:N \l_@@_onpage_bool }
- }
- }
- {
- \@@_check_thispage:nnT
- {#2} { \@@_end_lblfmt:n {#3} }
- { \bool_set_true:N \l_@@_onpage_bool }
- \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
- {}
- {
- \@@_check_thispage:nnT
- { \@@_end_lblfmt:n {#2} } {#3}
- { \bool_set_true:N \l_@@_onpage_bool }
- \@@_check_thispage:nnT
- { \@@_end_lblfmt:n {#2} }
- { \@@_end_lblfmt:n {#3} }
- { \bool_set_true:N \l_@@_onpage_bool }
- }
- }
- }
- \bool_if:NTF \l_@@_passedcheck_bool
- {
- \bool_if:nT
- {
- \l_@@_msgonpage_bool &&
- \l_@@_onpage_bool
- }
- {
- \@@_message:nnnx { double-check } {#1} {#2}
- { \zref@extractdefault {#3} {page} {'unknown'} }
- }
- }
- {
- \@@_message:nnnx { check-failed } {#1} {#2}
- { \zref@extractdefault {#3} {page} {'unknown'} }
- }
- }
- { \msg_warning:nnn { zref-check } { check-missing } {#1} }
- }
- }
+ \seq_if_in:NnT \c_@@_onpage_checks_seq {#1}
+ {
+ \@@_check_thispage:nnT
+ {#2} {#3}
+ { \bool_set_true:N \l_@@_onpage_bool }
+ \zref@ifrefundefined { \@@_end_lblfmt:n {#3} }
+ {
+ \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
+ {}
+ {
+ \@@_check_thispage:nnT
+ { \@@_end_lblfmt:n {#2} } {#3}
+ { \bool_set_true:N \l_@@_onpage_bool }
+ }
+ }
+ {
+ \@@_check_thispage:nnT
+ {#2} { \@@_end_lblfmt:n {#3} }
+ { \bool_set_true:N \l_@@_onpage_bool }
+ \zref@ifrefundefined { \@@_end_lblfmt:n {#2} }
+ {}
+ {
+ \@@_check_thispage:nnT
+ { \@@_end_lblfmt:n {#2} } {#3}
+ { \bool_set_true:N \l_@@_onpage_bool }
+ \@@_check_thispage:nnT
+ { \@@_end_lblfmt:n {#2} }
+ { \@@_end_lblfmt:n {#3} }
+ { \bool_set_true:N \l_@@_onpage_bool }
+ }
+ }
+ }
+ }
+ }
+ { \msg_warning:nnn { zref-check } { check-missing } {#1} }
+ \bool_if:NTF \l_@@_passedcheck_bool
+ {
+ \bool_if:nT
+ {
+ \l_@@_msgonpage_bool &&
+ \l_@@_onpage_bool
+ }
+ {
+ \@@_message:nnnx { double-check } {#1} {#2}
+ { \zref@extractdefault {#3} {page} {'unknown'} }
+ }
+ }
+ {
+ \bool_if:NTF \l_@@_empty_label_bool
+ { \@@_message:nnnn { empty-label } {#1} { } { } }
+ {
+ \@@_message:nnnx { check-failed } {#1} {#2}
+ { \zref@extractdefault {#3} {page} {'unknown'} }
+ }
+ }
\group_end:
}
\cs_generate_variant:Nn \@@_do_check:nnn { nnV }
@@ -1385,25 +1376,25 @@
\prg_new_protected_conditional:Npnn \@@_check_thispage:nn #1#2 { T , F , TF }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int } &&
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int } &&
% \end{macrocode}
% `0' is the default value of \texttt{abspage}, but this value should not
% happen normally for this property, since even the first page, after it gets
% shipped out, will receive value `1'. So, if we do find `0' here, better
% signal something is wrong. This comment extends to all page number checks.
% \begin{macrocode}
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_otherpage:nn #1#2 { T , F , TF }
@@ -1423,23 +1414,23 @@
\prg_new_protected_conditional:Npnn \@@_check_above:nn #1#2 { F , TF }
{
\group_begin:
- \@@_check_thispage:nnTF {#1} {#2}
- {
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { lblseq } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { lblseq } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } < { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
- }
- { \group_insert_after:N \prg_return_false: }
+ \@@_check_thispage:nnTF {#1} {#2}
+ {
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { lblseq } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { lblseq } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } < { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
+ }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_below:nn #1#2 { F , TF }
@@ -1501,128 +1492,128 @@
\prg_new_protected_conditional:Npnn \@@_check_nextpage:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int + 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int + 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_prevpage:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int - 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int - 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_pagesbefore:nn #1#2 { F , TF }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } < { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } < { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\cs_new_eq:NN \@@_check_ppbefore:nnF \@@_check_pagesbefore:nnF
\prg_new_protected_conditional:Npnn \@@_check_pagesafter:nn #1#2 { F , TF }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } > { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } > { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\cs_new_eq:NN \@@_check_ppafter:nnF \@@_check_pagesafter:nnF
\prg_new_protected_conditional:Npnn \@@_check_pagegap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \int_abs:n { \l_@@_lbl_int - \l_@@_ref_int } } > { 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \int_abs:n { \l_@@_lbl_int - \l_@@_ref_int } } > { 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_facing:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
% \end{macrocode}
% There exists no ``facing'' page if the document is not twoside.
% \begin{macrocode}
- \legacy_if_p:n { @twoside } &&
+ \legacy_if_p:n { @twoside } &&
% \end{macrocode}
% Now we test ``facing''.
% \begin{macrocode}
+ (
(
- (
- \int_if_odd_p:n { \l_@@_ref_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int - 1 }
- ) ||
- (
- \int_if_even_p:n { \l_@@_ref_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int + 1 }
- )
- ) &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \int_if_odd_p:n { \l_@@_ref_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int - 1 }
+ ) ||
+ (
+ \int_if_even_p:n { \l_@@_ref_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int + 1 }
+ )
+ ) &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
% \end{macrocode}
@@ -1636,21 +1627,21 @@
\prg_new_protected_conditional:Npnn \@@_check_close:nn #1#2 { F , TF }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \int_abs:n { \l_@@_lbl_int - \l_@@_ref_int } }
- <
- { \l_@@_close_range_int + 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \int_abs:n { \l_@@_lbl_int - \l_@@_ref_int } }
+ <
+ { \l_@@_close_range_int + 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_far:nn #1#2 { F }
@@ -1677,14 +1668,14 @@
\prg_new_protected_conditional:Npnn \@@_check_thischap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int } &&
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int } &&
% \end{macrocode}
% `0' is the default value of \texttt{zc@abschap} property, and means here no
% \cs{chapter} has yet been issued, therefore it cannot be ``this chapter'',
@@ -1693,81 +1684,81 @@
% not require the ``current'' one to exist. This comment extends to all
% chapter checks.
% \begin{macrocode}
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_nextchap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int + 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int + 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_prevchap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int - 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int - 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_chapsafter:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } > { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } > { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_chapsbefore:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_int } < { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } < { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
% \end{macrocode}
@@ -1788,18 +1779,18 @@
\prg_new_protected_conditional:Npnn \@@_check_thissec:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int } &&
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int } &&
% \end{macrocode}
% `0' is the default value of \texttt{zc@abssec} property, and means here no
% \cs{section} has yet been issued since its counter has been reset, which
@@ -1808,97 +1799,97 @@
% about the need of the ``current'' section to exist to be able to refer to a
% ``future'' one also holds. This comment extends to all section checks.
% \begin{macrocode}
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_nextsec:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int + 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int + 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_prevsec:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } = { \l_@@_ref_int - 1 } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } = { \l_@@_ref_int - 1 } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_secsafter:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } > { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } > { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \@@_check_secsbefore:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l_@@_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
- \bool_lazy_and:nnTF
- { \l_@@_integer_bool }
- {
- \int_compare_p:nNn
- { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
- \int_compare_p:nNn
- { \l_@@_lbl_int } < { \l_@@_ref_int } &&
- ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
- ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l_@@_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l_@@_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l_@@_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l_@@_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l_@@_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l_@@_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l_@@_lbl_b_int } = { \l_@@_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l_@@_lbl_int } < { \l_@@_ref_int } &&
+ ! \int_compare_p:nNn { \l_@@_lbl_int } = { 0 } &&
+ ! \int_compare_p:nNn { \l_@@_ref_int } = { 0 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
% \end{macrocode}
@@ -1906,6 +1897,17 @@
%
%
%
+% \subsubsection{Manual}
+%
+% \begin{macro}{ \@@_check_manual:nn }
+% \begin{macrocode}
+\prg_new_protected_conditional:Npnn \@@_check_manual:nn #1#2 { F }
+ { \prg_return_false: }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \section{\pkg{zref-clever} integration}
%
%
diff --git a/macros/latex/contrib/zref-clever/CHANGELOG.md b/macros/latex/contrib/zref-clever/CHANGELOG.md
index 0298bbd36a..a48047cdeb 100644
--- a/macros/latex/contrib/zref-clever/CHANGELOG.md
+++ b/macros/latex/contrib/zref-clever/CHANGELOG.md
@@ -1,6 +1,14 @@
# Changelog
-## [Unreleased](https://github.com/gusbrs/zref-clever/compare/v0.4.1...HEAD)
+## [Unreleased](https://github.com/gusbrs/zref-clever/compare/v0.4.2...HEAD)
+
+## [v0.4.2](https://github.com/gusbrs/zref-clever/compare/v0.4.1...v0.4.2) (2023-08-14)
+
+### Changed
+- Thanks to better support for `zref` in `memoir`, the corresponding
+ compatibility module has been simplified and made more robust, without loss
+ of functionality.
+- Use `\label` instead of `\zlabel` in regression tests.
## [v0.4.1](https://github.com/gusbrs/zref-clever/compare/v0.4.0...v0.4.1) (2023-06-19)
diff --git a/macros/latex/contrib/zref-clever/zref-clever-code.pdf b/macros/latex/contrib/zref-clever/zref-clever-code.pdf
index f87257bca4..0ff0e7173a 100644
--- a/macros/latex/contrib/zref-clever/zref-clever-code.pdf
+++ b/macros/latex/contrib/zref-clever/zref-clever-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-clever/zref-clever-doc.pdf b/macros/latex/contrib/zref-clever/zref-clever-doc.pdf
index 18256a8c36..248321f082 100644
--- a/macros/latex/contrib/zref-clever/zref-clever-doc.pdf
+++ b/macros/latex/contrib/zref-clever/zref-clever-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-clever/zref-clever-doc.tex b/macros/latex/contrib/zref-clever/zref-clever-doc.tex
index 65235075ba..69584c2fb6 100644
--- a/macros/latex/contrib/zref-clever/zref-clever-doc.tex
+++ b/macros/latex/contrib/zref-clever/zref-clever-doc.tex
@@ -67,7 +67,7 @@
\NewDocumentCommand\username{m}{`\texttt{#1}'}
\makeatletter
-\newcommand{\zcrequiredkernelversion}{\zc@required@kernel@version}
+\newcommand{\zcrequiredkernel}{\zrefclever@required@kernel}
\makeatother
\setlength{\marginparsep}{2\labelsep}
@@ -416,12 +416,11 @@ using \cs{zcsetup} (see \zcref{sec:user-interface}).
\pkg{zref-clever} requires \pkg{zref}, particularly its \pkg{zref-base},
\pkg{zref-user} and \pkg{zref-abspage} modules, and the \LaTeX{} kernel
-\zcrequiredkernelversion{}, or newer. It requires UTF-8 input encoding, which
-has been the kernel's default for some time. It also needs \pkg{ifdraft}.
-Some packages are leveraged by \pkg{zref-clever} if they are present, but are
-not loaded by default or required by it, namely: \pkg{hyperref},
-\pkg{zref-check}, and \pkg{zref}'s \pkg{zref-hyperref} and \pkg{zref-xr}
-modules.
+\zcrequiredkernel{}, or newer. It requires UTF-8 input encoding, which has
+been the kernel's default for some time. It also needs \pkg{ifdraft}. Some
+packages are leveraged by \pkg{zref-clever} if they are present, but are not
+loaded by default or required by it, namely: \pkg{hyperref}, \pkg{zref-check},
+and \pkg{zref}'s \pkg{zref-hyperref} and \pkg{zref-xr} modules.
\section{User interface}
@@ -2370,22 +2369,15 @@ employs environment hooks to \env{appendices} and \env{subappendices} and a
command hook to \cs{appendix} for the purpose.
\DescribeOption{memoir} %
-The \cls{memoir} class implements several features with one or another
-implication for cross-referencing, usually bearing just the standard
-referencing system in mind, and related mainly to captions, subfloats, and
-notes. This compatibility module tries to adjust \pkg{zref-clever} to these
-features with support for the following: i) set counter types for counters
-\texttt{subfigure}, \texttt{subtable}, and \texttt{poemline} (used in the
-\env{verse} environment); ii) configure resetting behavior
-(\opt{counterresetby} option) for \texttt{subfigure} and \texttt{subtable}
-counters; iii) provide the \pkg{zref} property ``\texttt{subcaption}'' so that
-we can refer to, for example, \texttt{\cs{zcref}[ref=subcaption]\{subcap-1\}}
-to emulate the functionality of \cls{memoir}'s \cs{subcaptionref}; iv) provide
-that \cs{footnote}, \cs{verbfootnote}, \cs{sidefootnote}, and \cs{pagenote}
-get a proper \opt{currentcounter} set; and v) set counter types for counters
-\texttt{sidefootnote} and \texttt{pagenote}. The most sensitive changes are
-the use of \pkg{ltcmdhooks} command hooks on \cs{@memsubcaption},
-\cs{@makefntext}, and \cs{@makesidefntext}.
+This compatibility module provides support for some of \cls{memoir}'s
+cross-referencing features. Namely, it: i) sets counter types for counters
+\texttt{subfigure}, \texttt{subtable}, \texttt{poemline} (used in the
+\env{verse} environment), \texttt{sidefootnote}, and \texttt{pagenote}; ii)
+configures resetting behavior (\opt{counterresetby} option) for
+\texttt{subfigure} and \texttt{subtable} counters; iii) provides the
+\pkg{zref} property ``\texttt{subcaption}'' so that we can refer to, for
+example, \texttt{\cs{zcref}[ref=subcaption]\{subcap-1\}} to emulate the
+functionality of \cls{memoir}'s \cs{subcaptionref}.
\DescribeOption{amsmath} %
The module ensures proper \opt{currentcounter} values are in place for the
@@ -2598,6 +2590,7 @@ were generously provided by (in chronological order):
% 2022-04-09: https://github.com/latex3/hyperref/issues/229#issuecomment-1093870142
% 2023-01-02: https://tex.stackexchange.com/q/670399 (comments)
% 2023-06-01: https://github.com/latex3/latex2e/pull/956
+ % 2023-07-27: https://chat.stackexchange.com/transcript/message/64067726#64067726
Phelype Oleinik,
% 2021-08-20: https://tex.stackexchange.com/q/611370 (comments)
% 2021-09-09: https://tex.stackexchange.com/a/614704
@@ -2623,6 +2616,7 @@ were generously provided by (in chronological order):
% 2023-01-02: https://chat.stackexchange.com/transcript/message/62684358#62684358
% and following discussion.
% 2023-02-10: https://tex.stackexchange.com/a/674846
+ % 2023-07-27: https://chat.stackexchange.com/transcript/message/64067575#64067575
Frank Mittelbach,
% 2021-10-14: https://github.com/latex3/latex2e/issues/687
\username{samcarter},
@@ -2648,10 +2642,20 @@ were generously provided by (in chronological order):
Thomas F. Sturm,
% 2023-02-09: https://github.com/T-F-S/tcolorbox/issues/206
% 2023-05-12: https://github.com/T-F-S/tcolorbox/issues/230
- and Yukai Chou. % 'muzimuzhi'
+ Yukai Chou, % 'muzimuzhi'
% 2023-02-18: https://github.com/gusbrs/zref-clever/pull/14
% 2023-02-18: https://github.com/gusbrs/zref-clever/pull/15
% 2023-05-11: https://github.com/T-F-S/tcolorbox/issues/230
+ and Lars Madsen.
+ % 2023-07-24: https://chat.stackexchange.com/transcript/message/64039717#64039717
+ % and following discussion.
+ % 2023-07-26: https://chat.stackexchange.com/transcript/message/64057725#64057725
+ % 2023-07-31: https://chat.stackexchange.com/transcript/message/64105457#64105457
+ % and following discussion.
+ % 2023-08-08: Improved 'zref' and 'zref-clever' support for 'memoir' with
+ % v3.8. Email exchange "Subject: [FR] Improve support for zref
+ % in memoir", starting with
+ % rfc822msgid:CAM9ALR84v=nUTO14moPhbuDjQx9EJ1pcWAku5FdwOo9hbadwYA@mail.gmail.com.
The package's language files have been provided or improved thanks to:
Denis Bitouzé (French),
diff --git a/macros/latex/contrib/zref-clever/zref-clever.dtx b/macros/latex/contrib/zref-clever/zref-clever.dtx
index 044e23adbd..f14fb7601d 100644
--- a/macros/latex/contrib/zref-clever/zref-clever.dtx
+++ b/macros/latex/contrib/zref-clever/zref-clever.dtx
@@ -151,25 +151,23 @@
% we require that too. Hence we make the cut at this latter kernel release.
%
% \begin{macrocode}
-\newcommand{\zc@required@kernel@version}{2023-06-01}
-\NeedsTeXFormat{LaTeX2e}
+\def\zrefclever@required@kernel{2023-06-01}
+\NeedsTeXFormat{LaTeX2e}[\zrefclever@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
-\IfFormatAtLeastTF{\zc@required@kernel@version}
+\IfFormatAtLeastTF{\zrefclever@required@kernel}
{}
{%
\PackageError{zref-clever}{LaTeX kernel too old}
{%
- 'zref-clever' requires a LaTeX kernel \zc@required@kernel@version\space or newer.%
- \MessageBreak Loading will abort!%
+ 'zref-clever' requires a LaTeX kernel \zrefclever@required@kernel\space or newer.%
}%
- \endinput
}%
% \end{macrocode}
%
%
% Identify the package.
% \begin{macrocode}
-\ProvidesExplPackage {zref-clever} {2023-06-19} {0.4.1}
+\ProvidesExplPackage {zref-clever} {2023-08-14} {0.4.2}
{Clever LaTeX cross-references based on zref}
% \end{macrocode}
%
@@ -3768,6 +3766,10 @@
% This allows one to manually specify the reference type. It is the
% equivalent of \pkg{cleveref}'s optional argument to \cs{label}.
%
+% NOTE \pkg{tcolorbox} uses the \opt{reftype} option to support its \opt{label
+% type} option when \opt{label is zlabel}. Hence \emph{don't} make any
+% breaking changes here without previous communication.
+%
% \begin{macrocode}
\tl_new:N \l_@@_reftype_override_tl
\keys_define:nn { zref-clever/label }
@@ -7405,7 +7407,7 @@
% This avoids using the internal \cs[replace=false]{hyper@@link}, using only
% public \pkg{hyperref} commands (see
% \url{https://github.com/latex3/hyperref/issues/229#issuecomment-1093870142},
-% thanks \contributor{Ulrike Fisher}).
+% thanks \contributor{Ulrike Fischer}).
% \begin{syntax}
% \cs{@@_hyperlink:nnn} \Arg{url/file} \Arg{anchor} \Arg{text}
% \end{syntax}
@@ -7816,38 +7818,24 @@
% \subsection{\opt{memoir}}
%
% The \cls{memoir} document class has quite a number of cross-referencing
-% related features, mostly dealing with captions, subfloats, and notes. Some
-% of them are implemented in ways which make difficult the use of \pkg{zref},
-% particularly \cs{zlabel}, short of redefining the whole stuff ourselves.
-% Fortunately, however, the kernel's new \texttt{label} hook, and the
-% \opt{labelhook} option, make things somewhat easier.
-%
-% \begin{enumerate}
-% \item The \cs{subcaptionref} command, which makes a reference to the
-% subcaption without the number of the main caption (e.g. ``(b)'', instead
-% of ``2.3(b)''), for labels set inside the \meta{subtitle} argument of the
-% subcaptioning commands, namely: \cs{subcaption}, \cs{contsubcaption},
-% \cs{subbottom}, \cs{contsubbottom}, \cs{subtop}. This functionality is
-% implemented by \cls{memoir} by setting a \emph{second label} with prefix
-% \texttt{sub@\meta{label}}, and storing there just that part of interest.
-% With \pkg{zref} this part is easier, since we can just add an extra
-% property and retrieve it later on. The thing is that it is hard to find a
-% place to hook into to add the property to the \texttt{main} list, since
-% \cls{memoir} does not really consider the possibility of some other
-% command setting labels. \cs{@memsubcaption} is the best place to hook I
-% could find. It is used by subcaptioning commands, and only those. And
-% there is no hope for an environment hook in this case anyway.
-% \item \cls{memoir}'s \cs{footnote}, \cs{verbfootnote}, \cs{sidefootnote} and
-% \cs{pagenote}, just as the regular \cs{footnote} until recently in the
-% kernel, do not set \cs{@currentcounter} alongside \cs{@currentlabel},
-% proper referencing to them requires setting the type for it.
-% \item Note that \cls{memoir}'s appendix features ``emulates'' the
-% \pkg{appendix} package, hence the corresponding compatibility module is
-% loaded for \cls{memoir} even if that package is not itself loaded. The
-% same is true for the \cs{appendix} command module, since it is also
-% defined.
-% \end{enumerate}
-%
+% related features, mostly dealing with captions, subfloats, and notes. It
+% used to be the case that a good number of them where implemented in ways
+% which make difficult the use of \pkg{zref}, particularly \cs{zlabel}, short
+% of redefining the whole stuff ourselves. Problematic cases included: i)
+% side captions; ii) bilingual captions; iii) subcaption references; and iv)
+% footnotes, verbfootnotes, sidefootnotes, and pagenotes.
+%
+% However, since then, the situation has much improved, given two main
+% upstream changes: i) the kernel's new \texttt{label} hook with argument,
+% introduced in the release of 2023-06-01 (thanks to \contributor{Ulrike
+% Fischer} and \contributor{Phelype Oleinik}) and ii) better support for
+% \pkg{zref} and \pkg{zref-clever} from the \cls{memoir} class itself, with
+% release of \texttt{2023/08/08 v3.8} (thanks to \contributor{Lars Madsen}).
+%
+% Also, note that \cls{memoir}'s appendix features ``emulates'' the
+% \pkg{appendix} package, hence the corresponding compatibility module is
+% loaded for \cls{memoir} even if that package is not itself loaded. The same
+% is true for the \cs{appendix} command module, since it is also defined.
%
% \begin{macrocode}
\@@_compat_module:nn { memoir }
@@ -7876,27 +7864,15 @@
} ,
}
% \end{macrocode}
-% Support for \texttt{subcaption} reference.
+% Support for \texttt{subcaption} references.
% \begin{macrocode}
\zref@newprop { subcaption }
{ \cs_if_exist_use:c { @@@@thesub \@captype } }
- \AddToHook{ cmd / @memsubcaption / before }
+ \AddToHook{ memoir/subcaption/aftercounter }
{ \zref@localaddprop \ZREF@mainlist { subcaption } }
% \end{macrocode}
-% Support for \cs{footnote}, \cs{verbfootnote}, \cs{sidefootnote}, and
-% \cs{pagenote}.
+% Support for \cs{sidefootnote} and \cs{pagenote}.
% \begin{macrocode}
- \tl_new:N \l_@@_memoir_footnote_type_tl
- \tl_set:Nn \l_@@_memoir_footnote_type_tl { footnote }
- \AddToHook { env / minipage / begin }
- { \tl_set:Nn \l_@@_memoir_footnote_type_tl { mpfootnote } }
- \AddToHook { cmd / @makefntext / before }
- {
- \@@_zcsetup:x
- { currentcounter = \l_@@_memoir_footnote_type_tl }
- }
- \AddToHook { cmd / @makesidefntext / before }
- { \@@_zcsetup:n { currentcounter = sidefootnote } }
\@@_zcsetup:n
{
countertype =
@@ -7905,8 +7881,6 @@
pagenote = endnote ,
} ,
}
- \AddToHook { file / \jobname.ent / before }
- { \@@_zcsetup:x { currentcounter = pagenote } }
\msg_info:nnn { zref-clever } { compat-class } { memoir }
}
}
diff --git a/macros/latex/contrib/substitutefont/README b/obsolete/macros/latex/contrib/substitutefont/README
index 61c4a1416e..72c0c57c44 100644
--- a/macros/latex/contrib/substitutefont/README
+++ b/obsolete/macros/latex/contrib/substitutefont/README
@@ -11,20 +11,24 @@ Combine font families
either version 1.3 of this license or (at your option)
any later version.
-.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
+:Abastract: In traditional 8-bit LaTeX, fonts are restricted to 256 glyphs
+ per file. To support different languages and scripts, the New
+ Font Selection Scheme uses a set of TeX font encodings
+ [encguide]_.
-In traditional 8-bit LaTeX, fonts are restricted to 256 glyphs per file.
-To support different languages and scripts, the New Font Selection Scheme
-uses a set of TeX font encodings [encguide]_.
+ Many Latin TeX fonts do not support Greek or Cyrillic, while
+ many non-Latin fonts are extensions of a Latin font family but
+ use a different family name due to license reasons or the
+ creators preference.
-Many Latin TeX fonts do not support Greek or Cyrillic, while many non-Latin
-fonts are extensions of a Latin font family but use a different family name
-due to license reasons or the creators preference.
+ The `substitutefont` package facilitates the task to set up a
+ font family as substitute for another one in a specified `font
+ encoding <encguide>`_.
-The `substitutefont` package facilitates the task to set up a font family as
-substitute for another one in a specified `font encoding <encguide>`_.
+:News: The package is obsoleted by the NFSS command
+ ``\DeclareFontfamilySubstitution`` added to the
+ LaTeX kernel in the 2020-02 release [ltnews31]_.
-:News: 2013-11-04 Documentation/Test fixes.
:Source: `<substitutefont.sty>`_
@@ -34,18 +38,28 @@ substitute for another one in a specified `font encoding <encguide>`_.
Usage
=====
+.. admonition:: This package is obsolete.
+
+ Authors are encouraged to use the command
+ ``\DeclareFontfamilySubstitution`` provided by the LaTeX kernel.
+
+ Existing documents can be updated by removing
+ ``\usepackage{substitutefont}`` and replacing all uses of
+ ``\substitutefont`` with ``\DeclareFontFamilySubstitution``.
+
+
The macro ``\substitutefont{<encoding>}{<family>}{<new-family>}`` selects
the font family <new-family> as replacement for <family> in the font
encoding <encoding>. The substitution must be defined before the first use
of the specified font encoding, preferably in the document preamble.
-In contrast to the (deprecated) ``\substitutefontfamily`` macro provided by
+In contrast to the deprecated ``\substitutefontfamily`` macro provided by
Babel_, ``\substitutefont`` does not write auxiliary files.
The ``<encoding>`` is one of the LaTeX font encodings [encguide]_, e.g., T1
for Latin, T2A for Cyrillic(Russian), or LGR for Greek.
For ``<family>`` and ``<new-family>``, use the «TeX names» of the font.
-There are defined by a TeX font package's ``*.fd`` or ``*.sty`` file(s).
+They are defined by a TeX font package's ``*.fd`` or ``*.sty`` file(s).
LaTeX stores the default family names for Roman, Sans-Serif, and Teletype
fonts in the ``\rmdefault``, ``\sfdefault``, and ``\ttdefault`` macros
respectively.
@@ -67,8 +81,9 @@ Tests/Examples
* Palatino with Greek from `GFS Didot`_:
`<greek-palatino-didot.tex>`__, `<greek-palatino-didot.pdf>`__
* Times/Helvetica/Courier (newtx_) with `GFS Artemisia`_, `GFS
- Neohellenic`_, and teletype from the CB_ fonts: txfontsb_
+ Neohellenic`_, and teletype from the CB_ fonts:
`<greek-times-artemisia.tex>`__, `<greek-times-artemisia.pdf>`__
+ (see also package txfontsb_)
* Latin Modern with Cyrillic from `CM LGC`_:
`<cyrillic-lm-lgc.tex>`__, `<cyrillic-lm-lgc.pdf>`__
* Times/Helvetica/Courier (TeX Gyre) with Cyrillic ParaType_ fonts:
@@ -80,22 +95,27 @@ References
.. [encguide] Frank Mittelbach, Robin Fairbairns, Werner Lemberg,
LaTeX3 Project Team, `LaTeX font encodings`:
- http://mirror.ctan.org/macros/latex/doc/encguide.pdf.
+ https://mirrors.ctan.org/macros/latex/doc/encguide.pdf.
.. [fntguide] LaTeX3 Project Team, `LaTeX 2e font selection`:
- http://mirror.ctan.org/macros/latex/doc/fntguide.pdf.
-
-.. _Babel: http://www.ctan.org/pkg/babel
-.. _CM LGC: http://www.ctan.org/pkg/cm-lgc
-.. _CB: http://www.ctan.org/pkg/cbgreek-complete
-.. _GFS Artemisia: http://www.ctan.org/pkg/gfsartemisia
-.. _GFS Didot: http://www.ctan.org/pkg/gfsdidot
-.. _GFS Neohellenic: http://www.ctan.org/pkg/gfsneohellenic
-.. _mathpazo: http://www.ctan.org/pkg/mathpazo
-.. _newtx: http://www.ctan.org/pkg/newtx
-.. _txfontsb: http://www.ctan.org/pkg/txfontsb
-.. _ParaType: http://www.ctan.org/pkg/paratype
-
-.. _PyLit: http://pylit.berlios.de
+ https://mirrors.ctan.org/macros/latex/doc/fntguide.pdf.
+
+.. [ltnews31] `LaATeX News`, Issue 31, February 2020, p. 3:
+ https://www.latex-project.org/news/latex2e-news/ltnews31.pdf.
+
+.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
+
+.. _Babel: https://ctan.org/pkg/babel
+.. _CM LGC: https://ctan.org/pkg/cm-lgc
+.. _CB: https://ctan.org/pkg/cbgreek-complete
+.. _GFS Artemisia: https://ctan.org/pkg/gfsartemisia
+.. _GFS Didot: https://ctan.org/pkg/gfsdidot
+.. _GFS Neohellenic: https://ctan.org/pkg/gfsneohellenic
+.. _mathpazo: https://ctan.org/pkg/mathpazo
+.. _newtx: https://ctan.org/pkg/newtx
+.. _txfontsb: https://ctan.org/pkg/txfontsb
+.. _ParaType: https://ctan.org/pkg/paratype
+
+.. _PyLit: https://pypi.org/project/pylit/
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Docutils: http://docutils.sourceforge.net/rst.html
diff --git a/obsolete/macros/latex/contrib/substitutefont/artemisia-greek.sty b/obsolete/macros/latex/contrib/substitutefont/artemisia-greek.sty
new file mode 100644
index 0000000000..efab528a0d
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/artemisia-greek.sty
@@ -0,0 +1,23 @@
+% :Copyright: © 2013, 2023 Günter Milde
+% :Licence: This work may be distributed and/or modified under the
+% conditions of the `LaTeX Project Public License`_, either
+% version 1.3 of this license or any later version.
+%
+% :Identification:
+% ::
+
+\ProvidesFile{artemisia-greek.sty}
+[2023-08-12 v0.2 Artemisia as Greek complement to default Roman font.]
+
+\NeedsTeXFormat{LaTeX2e}
+
+% make sure LGR is available
+\@ifundefined{ver@lgrenc.def}
+ {\input{lgrenc.def}}
+ {}
+
+% set font substitution
+% \RequirePackage{substitutefont}
+% \substitutefont{LGR}{\rmdefault}{artemisia}
+
+\DeclareFontFamilySubstitution{LGR}{\rmdefault}{artemisia}
diff --git a/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf b/obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf
index 027656c642..d55e85d379 100644
--- a/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf
+++ b/obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.pdf
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex b/obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex
index 2e68c7b876..e8d5f5bf0b 100644
--- a/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex
+++ b/obsolete/macros/latex/contrib/substitutefont/cyrillic-lm-lgc.tex
@@ -1,7 +1,5 @@
\documentclass[a4paper]{scrartcl}
-\usepackage{fixltx2e} % LaTeX patches, \textsubscript
\usepackage[T2A, T1]{fontenc}
-\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
\usepackage{bookmark}
@@ -10,11 +8,16 @@
% Combine "Latin Modern" fonts for Latin and
% "CLG" fonts for Cyrillic.
-\usepackage{substitutefont}
\usepackage{lmodern}
-\substitutefont{T2A}{lmr}{fcm}
-\substitutefont{T2A}{lmss}{fcs}
-\substitutefont{T2A}{lmtt}{fct}
+% Use LaTeX kernel macro instead of the obsolete "substitutefont" package:
+\DeclareFontFamilySubstitution{T2A}{lmr}{fcm}
+\DeclareFontFamilySubstitution{T2A}{lmss}{fcs}
+\DeclareFontFamilySubstitution{T2A}{lmtt}{fct}
+% \usepackage{substitutefont}
+% \substitutefont{T2A}{lmr}{fcm}
+% \substitutefont{T2A}{lmss}{fcs}
+% \substitutefont{T2A}{lmtt}{fct}
+
\begin{document}
@@ -29,16 +32,16 @@ fonts supporting T1:
\begin{itemize}
-\item The \href{http://www.ctan.org/pkg/cm-super}{CM-Super} package installes
+\item The \href{https://ctan.org/pkg/cm-super}{CM-Super} package installes
itself as CM substitute and is used for Cyrillic text, too.
-\item \href{http://www.ctan.org/pkg/lm}{Latin Modern} does not include Cyrillic
+\item \href{https://ctan.org/pkg/lm}{Latin Modern} does not include Cyrillic
fonts. The default substitution is CM, either CM-Super or
- \href{http://www.ctan.org/pkg/LH}{LH} bitmap fonts.
+ \href{https://ctan.org/pkg/LH}{LH} bitmap fonts.
\end{itemize}
The preamble code of this document uses \emph{substitutefont} to set up the
-vector-fonts from the \href{http://www.ctan.org/pkg/cm-lgc}{cm-lgc}
+vector-fonts from the \href{https://ctan.org/pkg/cm-lgc}{cm-lgc}
package as a Cyrillic replacement for Latin Modern.
\section{\foreignlanguage{russian}{Тест шрифтов}}
diff --git a/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf b/obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf
index 98a826b890..06cbd6b1c5 100644
--- a/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf
+++ b/obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.pdf
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/cyrillic-paratype.tex b/obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.tex
index d5a4ac2a9f..e005a5300e 100644
--- a/macros/latex/contrib/substitutefont/cyrillic-paratype.tex
+++ b/obsolete/macros/latex/contrib/substitutefont/cyrillic-paratype.tex
@@ -1,7 +1,5 @@
\documentclass[a4paper]{article}
-\usepackage{fixltx2e} % LaTeX patches, \textsubscript
\usepackage[T2A,T1]{fontenc}
-\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
\usepackage{bookmark}
@@ -11,9 +9,9 @@
% Combine "TeX Gyre" fonts for Latin and "ParaType" fonts for Cyrillic:
% 1. Load paratype font-packages to get scaled Paratype fonts
-\usepackage[scaled=0.9]{PTSerif}
-\usepackage[scaled=0.9]{PTSans}
-\usepackage[scaled=0.87]{PTMono}
+\usepackage[scaled=0.95]{PTSerif}
+\usepackage[scaled=0.95]{PTSans}
+\usepackage[scaled=0.9]{PTMono}
% 2. Load TeX Gyre font-packages (after Paratype to use them as default fonts)
\usepackage{tgtermes}
@@ -21,45 +19,50 @@
\usepackage{tgcursor}
% 3. Set up the substitutions:
-\usepackage{substitutefont}
-\substitutefont{T2A}{\rmdefault}{PTSerif-TLF}
-\substitutefont{T2A}{\sfdefault}{PTSans-TLF}
-\substitutefont{T2A}{\ttdefault}{PTMono-TLF}
+% Use LaTeX kernel macro instead of the obsolete "substitutefont" package:
+\DeclareFontFamilySubstitution{T2A}{lmr}{fcm}
+\DeclareFontFamilySubstitution{T2A}{\rmdefault}{PTSerif-TLF}
+\DeclareFontFamilySubstitution{T2A}{\sfdefault}{PTSans-TLF}
+\DeclareFontFamilySubstitution{T2A}{\ttdefault}{PTMono-TLF}
+% \usepackage{substitutefont}
+% \substitutefont{T2A}{\rmdefault}{PTSerif-TLF}
+% \substitutefont{T2A}{\sfdefault}{PTSans-TLF}
+% \substitutefont{T2A}{\ttdefault}{PTMono-TLF}
\begin{document}
\section*{Cyrillic fonts to match Times/Helvetica/Curier}
-The \href{http://www.ctan.org/pkg/tex-gyre}{TeX Gyre} project provides
+The \href{https://ctan.org/pkg/tex-gyre}{TeX Gyre} project provides
extensions to the URW standard Postscript fonts. Cyrillic extensions by
Valek Filippov were part of TeXGyre but removed due to license
-incompatibility.
+incompatibility.
-These fonts are still available in the
+These fonts are still available in the
\href{http://packages.debian.org/stable/scalable-cyrfonts-tex}%
{scalable-cyrfonts-tex} Debian package but not on CTAN. Furthermore, both
-\href{http://www.ctan.org/pkg/fouriernc}{Fourier New Century} and
+\href{https://ctan.org/pkg/fouriernc}{Fourier New Century} and
\emph{Free New Century} use the TeX-name \emph{fnc}. Therefore
\emph{scalable-cyrfonts-tex} conflicts with the Debian
\href{http://packages.debian.org/stable/texlive-fonts-extra}%
{texlive-fonts-extra} package.
The Cyrillic fonts from the
-\href{http://www.ctan.org/pkg/paratype}{paratype} package are not exact
+\href{https://ctan.org/pkg/paratype}{paratype} package are not exact
matches but fit quite well if they are downscaled a bit. As the Paratype
package includes also T1 encoded fonts, Paratype fonts can be used for both
Latin and Cyrillic text.
Other vector fonts supporting Cyrillic include
-\href{http://www.ctan.org/pkg/dejavu}{Deja Vu},
-\href{http://www.ctan.org/pkg/droid}{Droid},
-\href{http://www.ctan.org/pkg/gentium-tug}{Gentium}, and
-\href{http://www.ctan.org/pkg/libertine}{Linux Libertine}.
+\href{https://ctan.org/pkg/dejavu}{Deja Vu},
+\href{https://ctan.org/pkg/droid}{Droid},
+\href{https://ctan.org/pkg/gentium-tug}{Gentium}, and
+\href{https://ctan.org/pkg/libertine}{Linux Libertine}.
\section*{\selectlanguage{russian}Тест шрифтов}
-\newcommand{\teststring}{Hello world!
+\newcommand{\teststring}{Hello world!
\foreignlanguage{russian}{Здравствуй, мир!}}
\begin{description}
diff --git a/obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf b/obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
new file mode 100644
index 0000000000..009a755071
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.pdf
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/greek-palatino-didot.tex b/obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.tex
index e8bddaf56c..e125f27948 100644
--- a/macros/latex/contrib/substitutefont/greek-palatino-didot.tex
+++ b/obsolete/macros/latex/contrib/substitutefont/greek-palatino-didot.tex
@@ -2,26 +2,26 @@
\documentclass[a4paper,DIV14]{scrartcl}
\usepackage{parskip}
\usepackage[LGR,T1]{fontenc}
-\usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
\usepackage{bookmark}
\pagestyle{empty}
-\usepackage{substitutefont}
+% \usepackage{substitutefont} % obsolete
+
% Serif
\usepackage[sc,slantedGreek]{mathpazo}
-\substitutefont{LGR}{\rmdefault}{udidot}
+\DeclareFontFamilySubstitution{LGR}{\rmdefault}{udidot}
% Sans
\usepackage[scale=.90]{tgheros}
-\substitutefont{LGR}{\sfdefault}{neohellenic}
+\DeclareFontFamilySubstitution{LGR}{\sfdefault}{neohellenic}
% Monospaced
% \usepackage[matchlowercase]{tgcursor}
\renewcommand{\ttdefault}{txtt}
-\substitutefont{LGR}{\ttdefault}{cmtt} % CB fonts
-% \substitutefont{LGR}{\ttdefault}{fdm} % Droid Sans Mono
+\DeclareFontFamilySubstitution{LGR}{\ttdefault}{cmtt} % CB fonts
+% \DeclareFontFamilySubstitution{LGR}{\ttdefault}{fdm} % Droid Sans Mono
% Teststring
@@ -77,8 +77,8 @@ Helvetica (TG Heros) with GFS Neohellenic:
There is no Greek extension for the monospaced standard PS font Curier.
A good replacement are the teletype fonts from
-\href{http://www.ctan.org/pkg/newtx}{txfonts} and
-\href{http://www.ctan.org/pkg/cbgreek-complete}{CB-Greek}:
+\href{https://ctan.org/pkg/newtx}{txfonts} and
+\href{https://ctan.org/pkg/cbgreek-complete}{CB-Greek}:
\begin{description}
diff --git a/obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf b/obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
new file mode 100644
index 0000000000..39b20c4174
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.pdf
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/greek-times-artemisia.tex b/obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.tex
index b6740a37f6..88d96d4fba 100644
--- a/macros/latex/contrib/substitutefont/greek-times-artemisia.tex
+++ b/obsolete/macros/latex/contrib/substitutefont/greek-times-artemisia.tex
@@ -2,7 +2,6 @@
\documentclass{article}
\usepackage{parskip}
\usepackage[LGR,T1]{fontenc}
-\usepackage[utf8]{inputenc}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
\usepackage{bookmark}
\pagestyle{empty}
@@ -14,7 +13,8 @@
\substitutefont{LGR}{\rmdefault}{artemisia}
% Sans
-\substitutefont{LGR}{\sfdefault}{neohellenic}
+% \substitutefont{LGR}{\sfdefault}{neohellenic}
+\substitutefont{LGR}{\sfdefault}{maksf}
% Monospaced
\substitutefont{LGR}{\ttdefault}{cmtt} % CB fonts
@@ -32,13 +32,13 @@
\section*{Times/Helvetica/TXTT and Greek replacements}
-Use Times, Helvetica, and TXTT from the
-\href{http://www.ctan.org/pkg/newtx}{newtx} package and
-\href{http://www.ctan.org/pkg/gfsartemisia}{GFS Artemisia},
-\href{http://www.ctan.org/pkg/gfsneohellenic}{GFS Neohellenic},
-and \href{http://www.ctan.org/pkg/cbgreek-complete}{CB-Fonts},
+Use Times, Helvetica, and TXTT (from the
+\href{https://ctan.org/pkg/newtx}{newtx} package) with
+\href{https://ctan.org/pkg/gfsartemisia}{GFS Artemisia},
+\href{https://ctan.org/pkg/kerkis}{Kerkis Sans},
+and \href{https://ctan.org/pkg/cbgreek-complete}{CB-Fonts Mono},
for Greek text.\footnote{%
-See the \href{http://www.ctan.org/pkg/txfontsb}{txfontsb}
+See the \href{https://ctan.org/pkg/txfontsb}{txfontsb}
package for an alternative.}
\begin{description}
@@ -65,7 +65,11 @@ package for an alternative.}
\item [sf sc:] \textsf{\textsc\alphabet}
\item [tt:] \texttt{\alphabet}
+
+ % \item [tt bf:] \texttt{\textbf\alphabet} % not in CB-Greek
+ \item [tt it:] \texttt{\textit\alphabet}
+
\end{description}
\end{document}
diff --git a/obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.pdf b/obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.pdf
new file mode 100644
index 0000000000..78d00695ef
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.pdf
Binary files differ
diff --git a/obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.tex b/obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.tex
new file mode 100644
index 0000000000..75a08664b1
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/greek-times-freeserifb.tex
@@ -0,0 +1,73 @@
+% Example and test for the substitutefont package:
+\documentclass{article}
+\usepackage{parskip}
+\usepackage[LGR,T1]{fontenc}
+\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
+\usepackage{bookmark}
+\pagestyle{empty}
+
+% \usepackage{substitutefont} % obsolete
+
+% Serif
+\usepackage[scaled=0.97]{newtxtext}
+\DeclareFontFamilySubstitution{LGR}{\rmdefault}{txrc}
+
+% Sans
+\DeclareFontFamilySubstitution{LGR}{\sfdefault}{neohellenic}
+% \DeclareFontFamilySubstitution{LGR}{\sfdefault}{epigrafica}
+
+% Monospaced
+\DeclareFontFamilySubstitution{LGR}{\ttdefault}{cmtt} % CB fonts
+
+
+% Teststring
+\newcommand{\alphabet}{%
+ abcdefghjiklmnoprqrstuvwxyzäöüß
+ {\fontencoding{LGR}\selectfont abgdezhjiklmnxoprsctufqyw} \\
+ ABCDEFGHJIKLMNOPRQRSTUVWXYZÄÖÜ
+ {\fontencoding{LGR}\selectfont ABGDEZHJIKLMNXOPRSTUFQYW}%
+}
+
+\begin{document}
+
+\section*{Times/Helvetica/TXTT and Greek replacements}
+
+Use Times, Helvetica, and TXTT (from the
+\href{https://ctan.org/pkg/newtx}{newtx} package) with
+\href{https://ctan.org/pkg/txfontsb}{FreeSerifb},
+\href{https://ctan.org/pkg/gfsneohellenic}{GFS Neohellenic},
+and \href{https://ctan.org/pkg/cbgreek-complete}{CB-Fonts},
+for Greek text.
+
+\begin{description}
+ \item [Normal:] \alphabet
+
+ \item [it:] \textit{\alphabet}
+
+ \item [sl:] \textsl{\alphabet}
+
+ \item [bf:] \textbf{\alphabet}
+
+ \item [bf it:] \textbf{\textit\alphabet}
+
+ \item [sc:] \textsc{\alphabet}
+
+ % \item [bf sc:] \textsc{\textbf\alphabet} missing in Bodoni
+
+ \item [sf:] \textsf{\alphabet}
+
+ \item [sf bf:] \textsf{\textbf\alphabet}
+
+ \item [sf sl:] \textsf{\textsl\alphabet}
+
+ \item [sf sc:] \textsf{\textsc\alphabet}
+
+ \item [tt:] \texttt{\alphabet}
+
+ % \item [tt bf:] \texttt{\textbf\alphabet} % not in CB-Greek
+
+ \item [tt it:] \texttt{\textit\alphabet}
+
+\end{description}
+
+\end{document}
diff --git a/obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html b/obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html
new file mode 100644
index 0000000000..2c95198cbe
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta charset="utf-8" />
+<meta name="generator" content="Docutils 0.21b.dev: https://docutils.sourceforge.io/" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<meta name="dcterms.rights" content="© 2010 Günter Milde &lt;milde&#64;users.sf.net&gt;" />
+<title>substitutefont</title>
+<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
+<link rel="stylesheet" href="../../Python/docutils/docutils/docutils/writers/html5_polyglot/minimal.css" type="text/css" />
+<link rel="stylesheet" href="../../Python/docutils/docutils/docutils/writers/html5_polyglot/responsive.css" type="text/css" />
+</head>
+<body>
+<main id="substitutefont">
+<h1 class="title">substitutefont</h1>
+<p class="subtitle" id="combine-font-families">Combine font families</p>
+<dl class="docinfo">
+<dt class="copyright">Copyright<span class="colon">:</span></dt>
+<dd class="copyright">© 2010 Günter Milde &lt;<a class="reference external" href="mailto:milde&#64;users.sf.net">milde&#64;users.sf.net</a>&gt;</dd>
+<dt class="contributor">Contributor<span class="colon">:</span></dt>
+<dd class="contributor"><p>Special thanks to Ulrike Fischer who provided
+the indirect definition with active <span class="docutils literal">\nfss&#64;catcodes</span>.</p>
+</dd>
+<dt class="licence">Licence<span class="colon">:</span></dt>
+<dd class="licence"><p>This work may be distributed and/or modified under the
+conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>,
+either version 1.3 of this license or (at your option)
+any later version.</p>
+</dd>
+<dt class="abastract">Abastract<span class="colon">:</span></dt>
+<dd class="abastract"><p>In traditional 8-bit LaTeX, fonts are restricted to 256 glyphs
+per file. To support different languages and scripts, the New
+Font Selection Scheme uses a set of TeX font encodings
+<a class="citation-reference" href="#encguide" id="citation-reference-1" role="doc-biblioref">[encguide]</a>.</p>
+<p>Many Latin TeX fonts do not support Greek or Cyrillic, while
+many non-Latin fonts are extensions of a Latin font family but
+use a different family name due to license reasons or the
+creators preference.</p>
+<p>The <cite>substitutefont</cite> package facilitates the task to set up a
+font family as substitute for another one in a specified <a class="reference external" href="encguide">font
+encoding</a>.</p>
+</dd>
+<dt class="news">News<span class="colon">:</span></dt>
+<dd class="news"><p>The package is obsoleted by the NFSS command
+<span class="docutils literal">\DeclareFontfamilySubstitution</span> added to the
+LaTeX kernel in the 2020-02 release <a class="citation-reference" href="#ltnews31" id="citation-reference-2" role="doc-biblioref">[ltnews31]</a>.</p>
+</dd>
+<dt class="source">Source<span class="colon">:</span></dt>
+<dd class="source"><p><a class="reference external" href="substitutefont.sty">substitutefont.sty</a></p>
+<p>The literate source was converted with <a class="reference external" href="https://pypi.org/project/pylit/">PyLit</a> to <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> and
+with <a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> to the HTML documentation <a class="reference external" href="substitutefont.sty.html">substitutefont.sty.html</a>.</p>
+</dd>
+</dl>
+<section id="usage">
+<h2>Usage</h2>
+<aside class="admonition admonition-this-package-is-obsolete">
+<p class="admonition-title">This package is obsolete.</p>
+<p>Authors are encouraged to use the command
+<span class="docutils literal">\DeclareFontfamilySubstitution</span> provided by the LaTeX kernel.</p>
+<p>Existing documents can be updated by removing
+<span class="docutils literal">\usepackage{substitutefont}</span> and replacing all uses of
+<span class="docutils literal">\substitutefont</span> with <span class="docutils literal">\DeclareFontFamilySubstitution</span>.</p>
+</aside>
+<p>The macro <span class="docutils literal"><span class="pre">\substitutefont{&lt;encoding&gt;}{&lt;family&gt;}{&lt;new-family&gt;}</span></span> selects
+the font family &lt;new-family&gt; as replacement for &lt;family&gt; in the font
+encoding &lt;encoding&gt;. The substitution must be defined before the first use
+of the specified font encoding, preferably in the document preamble.
+In contrast to the deprecated <span class="docutils literal">\substitutefontfamily</span> macro provided by
+<a class="reference external" href="https://ctan.org/pkg/babel">Babel</a>, <span class="docutils literal">\substitutefont</span> does not write auxiliary files.</p>
+<p>The <span class="docutils literal">&lt;encoding&gt;</span> is one of the LaTeX font encodings <a class="citation-reference" href="#encguide" id="citation-reference-3" role="doc-biblioref">[encguide]</a>, e.g., T1
+for Latin, T2A for Cyrillic(Russian), or LGR for Greek.</p>
+<p>For <span class="docutils literal">&lt;family&gt;</span> and <span class="docutils literal"><span class="pre">&lt;new-family&gt;</span></span>, use the «TeX names» of the font.
+They are defined by a TeX font package’s <span class="docutils literal">*.fd</span> or <span class="docutils literal">*.sty</span> file(s).
+LaTeX stores the default family names for Roman, Sans-Serif, and Teletype
+fonts in the <span class="docutils literal">\rmdefault</span>, <span class="docutils literal">\sfdefault</span>, and <span class="docutils literal">\ttdefault</span> macros
+respectively.</p>
+<p>Example: Set the font family to Palatino using the standard package
+<cite>mathpazo</cite> for Latin and <a class="reference external" href="https://ctan.org/pkg/gfsdidot">GFS Didot</a> for Greek:</p>
+<pre class="literal-block">\usepackage[sc,slantedGreek]{mathpazo}
+\usepackage{substitutefont}
+\substitutefont{LGR}{\rmdefault}{udidot}</pre>
+<p>For details on LaTeX font selection, see <a class="citation-reference" href="#encguide" id="citation-reference-4" role="doc-biblioref">[encguide]</a> and <a class="citation-reference" href="#fntguide" id="citation-reference-5" role="doc-biblioref">[fntguide]</a>.</p>
+</section>
+<section id="tests-examples">
+<h2>Tests/Examples</h2>
+<ul class="simple">
+<li><p>Simple test with Latin fonts:
+<a class="reference external" href="substitutefont-test.tex">substitutefont-test.tex</a>, <a class="reference external" href="substitutefont-test.pdf">substitutefont-test.pdf</a></p></li>
+<li><p>Palatino with Greek from <a class="reference external" href="https://ctan.org/pkg/gfsdidot">GFS Didot</a>:
+<a class="reference external" href="greek-palatino-didot.tex">greek-palatino-didot.tex</a>, <a class="reference external" href="greek-palatino-didot.pdf">greek-palatino-didot.pdf</a></p></li>
+<li><p>Times/Helvetica/Courier (<a class="reference external" href="https://ctan.org/pkg/newtx">newtx</a>) with <a class="reference external" href="https://ctan.org/pkg/gfsartemisia">GFS Artemisia</a>, <a class="reference external" href="https://ctan.org/pkg/gfsneohellenic">GFS
+Neohellenic</a>, and teletype from the <a class="reference external" href="https://ctan.org/pkg/cbgreek-complete">CB</a> fonts:
+<a class="reference external" href="greek-times-artemisia.tex">greek-times-artemisia.tex</a>, <a class="reference external" href="greek-times-artemisia.pdf">greek-times-artemisia.pdf</a>
+(see also package <a class="reference external" href="https://ctan.org/pkg/txfontsb">txfontsb</a>)</p></li>
+<li><p>Latin Modern with Cyrillic from <a class="reference external" href="https://ctan.org/pkg/cm-lgc">CM LGC</a>:
+<a class="reference external" href="cyrillic-lm-lgc.tex">cyrillic-lm-lgc.tex</a>, <a class="reference external" href="cyrillic-lm-lgc.pdf">cyrillic-lm-lgc.pdf</a></p></li>
+<li><p>Times/Helvetica/Courier (TeX Gyre) with Cyrillic <a class="reference external" href="https://ctan.org/pkg/paratype">ParaType</a> fonts:
+<a class="reference external" href="cyrillic-paratype.tex">cyrillic-paratype.tex</a>, <a class="reference external" href="cyrillic-paratype.pdf">cyrillic-paratype.pdf</a></p></li>
+</ul>
+</section>
+<section id="references">
+<h2>References</h2>
+<div role="list" class="citation-list">
+<div class="citation" id="encguide" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>encguide<span class="fn-bracket">]</span></span>
+<span class="backrefs">(<a role="doc-backlink" href="#citation-reference-1">1</a>,<a role="doc-backlink" href="#citation-reference-3">2</a>,<a role="doc-backlink" href="#citation-reference-4">3</a>)</span>
+<p>Frank Mittelbach, Robin Fairbairns, Werner Lemberg,
+LaTeX3 Project Team, <cite>LaTeX font encodings</cite>:
+<a class="reference external" href="https://mirrors.ctan.org/macros/latex/doc/encguide.pdf">https://mirrors.ctan.org/macros/latex/doc/encguide.pdf</a>.</p>
+</div>
+<div class="citation" id="fntguide" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">fntguide</a><span class="fn-bracket">]</span></span>
+<p>LaTeX3 Project Team, <cite>LaTeX 2e font selection</cite>:
+<a class="reference external" href="https://mirrors.ctan.org/macros/latex/doc/fntguide.pdf">https://mirrors.ctan.org/macros/latex/doc/fntguide.pdf</a>.</p>
+</div>
+<div class="citation" id="ltnews31" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-2">ltnews31</a><span class="fn-bracket">]</span></span>
+<p><cite>LaATeX News</cite>, Issue 31, February 2020, p. 3:
+<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews31.pdf">https://www.latex-project.org/news/latex2e-news/ltnews31.pdf</a>.</p>
+</div>
+</div>
+</section>
+</main>
+</body>
+</html>
diff --git a/macros/latex/contrib/substitutefont/substitutefont-test.pdf b/obsolete/macros/latex/contrib/substitutefont/substitutefont-test.pdf
index d357cf6764..7a3da290c2 100644
--- a/macros/latex/contrib/substitutefont/substitutefont-test.pdf
+++ b/obsolete/macros/latex/contrib/substitutefont/substitutefont-test.pdf
Binary files differ
diff --git a/macros/latex/contrib/substitutefont/substitutefont-test.tex b/obsolete/macros/latex/contrib/substitutefont/substitutefont-test.tex
index 0d32eb18ce..6c33a67122 100644
--- a/macros/latex/contrib/substitutefont/substitutefont-test.tex
+++ b/obsolete/macros/latex/contrib/substitutefont/substitutefont-test.tex
@@ -1,7 +1,5 @@
\documentclass[a4paper]{article}
-\usepackage{fixltx2e} % LaTeX patches, \textsubscript
\usepackage[T1,OT1]{fontenc}
-\usepackage[utf8]{inputenc}
\usepackage{parskip}
\title{Simple substitutefont test}
diff --git a/macros/latex/contrib/substitutefont/substitutefont.sty b/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
index 1960c8cff9..f3e5a086be 100644
--- a/macros/latex/contrib/substitutefont/substitutefont.sty
+++ b/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
@@ -1,56 +1,57 @@
% Easy font substitution
% **********************
-%
+%
% :Copyright: © 2010 Günter Milde
-%
+%
% :Contributor: Special thanks to Ulrike Fischer who provided
% the indirect definition with active ``\nfss@catcodes``.
-%
+%
% :Licence: This work may be distributed and/or modified under the
% conditions of the `LaTeX Project Public License`_, either
% version 1.3 of this license or any later version.
-%
+%
% :Abstract: Provide the ``\substitutefont`` macro for defining
% substitute fonts for specified font encodings.
-%
+%
% :Identification:
% ::
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{substitutefont}
-[2012/07/07 v0.1.3 combine font families]
+[2023-08-13 v0.1.5 combine font families (obsolete)]
% Changelog:
% .. class:: borderless
-%
-% ============ ===== =================================================
+%
+% ============ ===== ================================================
% 2010-11-04 0.1 initial version
% 2012-04-30 0.1.1 documentation update, upload to CTAN
% 2012-07-05 0.1.2 documentation/example update
% 2012-07-07 0.1.3 bugfix (comment usage example)
% 2013-11-04 0.1.4 documentation update
-% ============ ===== =================================================
-%
-%
+% 2023-08-13 0.1.5 declare obsolete, update documentation and tests
+% ============ ===== ================================================
+%
+%
% Usage
% =====
-%
+%
% The macro ``\substitutefont{<encoding>}{<family>}{<new-family>}``
% selects the font <new-family> as replacement for <family> if the font
% encoding is <encoding> in the variants "normal", "italic", "slanted",
% and "small-caps" and the shapes "medium", "bold", and "bold-extended".
-%
+%
% Example:
% Palatino with the standard package `mathpazo`_ for Latin and
% `GFS Didot`_ for Greek:
-%
+%
% .. code:: latex
-%
+%
% \usepackage[sc,slantedGreek]{mathpazo}
% \usepackage{substitutefont}
% \substitutefont{LGR}{\rmdefault}{udidot}
-%
-%
+%
+%
% Implementation
% ==============
% ::
@@ -76,5 +77,5 @@
\endgroup
% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-% .. _GFS Didot: http://mirror.ctan.org/help/Catalogue/entries/gfsdidot.html
-% .. _mathpazo: http://www.ctan.org/pkg/mathpazo
+% .. _GFS Didot: https://mirrors.ctan.org/help/Catalogue/entries/gfsdidot.html
+% .. _mathpazo: https://ctan.org/pkg/mathpazo
diff --git a/macros/latex/contrib/substitutefont/substitutefont.sty.html b/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty.html
index 9d91bd89a9..4e4bf9a636 100644
--- a/macros/latex/contrib/substitutefont/substitutefont.sty.html
+++ b/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty.html
@@ -1,50 +1,44 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.12: http://docutils.sourceforge.net/" />
+<meta charset="utf-8" />
+<meta name="generator" content="Docutils 0.21b.dev: https://docutils.sourceforge.io/" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<meta name="dcterms.rights" content="© 2010 Günter Milde" />
<title>Easy font substitution</title>
-<meta name="copyright" content="© 2010 Günter Milde" />
-<link rel="stylesheet" href="../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" />
-<link rel="stylesheet" href="../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" />
+<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
+<link rel="stylesheet" href="../../Python/docutils/docutils/docutils/writers/html5_polyglot/minimal.css" type="text/css" />
+<link rel="stylesheet" href="../../Python/docutils/docutils/docutils/writers/html5_polyglot/responsive.css" type="text/css" />
</head>
<body>
-<div class="document" id="easy-font-substitution">
+<main id="easy-font-substitution">
<h1 class="title">Easy font substitution</h1>
-
<dl class="docinfo">
-<dt class="copyright">Copyright</dt>
+<dt class="copyright">Copyright<span class="colon">:</span></dt>
<dd class="copyright">© 2010 Günter Milde</dd>
-<dt>Contributor</dt>
-<dd><p>Special thanks to Ulrike Fischer who provided
-the indirect definition with active <tt class="literal">\nfss&#64;catcodes</tt>.</p>
+<dt class="contributor">Contributor<span class="colon">:</span></dt>
+<dd class="contributor"><p>Special thanks to Ulrike Fischer who provided
+the indirect definition with active <span class="docutils literal">\nfss&#64;catcodes</span>.</p>
</dd>
-<dt>Licence</dt>
-<dd><p>This work may be distributed and/or modified under the
+<dt class="licence">Licence<span class="colon">:</span></dt>
+<dd class="licence"><p>This work may be distributed and/or modified under the
conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either
-version&nbsp;1.3 of this license or any later version.</p>
+version 1.3 of this license or any later version.</p>
</dd>
-<dt>Identification</dt>
-<dd><pre class="literal-block">\NeedsTeXFormat{LaTeX2e}
+<dt class="identification">Identification<span class="colon">:</span></dt>
+<dd class="identification"><pre class="literal-block">\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{substitutefont}
-[2012/07/07 v0.1.3 combine font families]
-</pre>
+[2023-08-13 v0.1.5 combine font families (obsolete)]</pre>
</dd>
</dl>
-<div class="abstract topic">
-<p class="topic-title first">Abstract</p>
-<p>Provide the <tt class="literal">\substitutefont</tt> macro for defining
+<div class="topic abstract" role="doc-abstract">
+<p class="topic-title">Abstract</p>
+<p>Provide the <span class="docutils literal">\substitutefont</span> macro for defining
substitute fonts for specified font encodings.</p>
</div>
-<dl class="docutils">
+<dl>
<dt>Changelog:</dt>
<dd><table class="borderless">
-<colgroup>
-<col width="18%" />
-<col width="8%" />
-<col width="74%" />
-</colgroup>
<tbody>
<tr><td><p>2010-11-04</p></td>
<td><p>0.1</p></td>
@@ -66,29 +60,32 @@ substitute fonts for specified font encodings.</p>
<td><p>0.1.4</p></td>
<td><p>documentation update</p></td>
</tr>
+<tr><td><p>2023-08-13</p></td>
+<td><p>0.1.5</p></td>
+<td><p>declare obsolete, update documentation and tests</p></td>
+</tr>
</tbody>
</table>
</dd>
</dl>
-<div class="section" id="usage">
-<h1>Usage</h1>
-<p>The macro <tt class="literal"><span class="pre">\substitutefont{&lt;encoding&gt;}{&lt;family&gt;}{&lt;new-family&gt;}</span></tt>
+<section id="usage">
+<h2>Usage</h2>
+<p>The macro <span class="docutils literal"><span class="pre">\substitutefont{&lt;encoding&gt;}{&lt;family&gt;}{&lt;new-family&gt;}</span></span>
selects the font &lt;new-family&gt; as replacement for &lt;family&gt; if the font
encoding is &lt;encoding&gt; in the variants “normal”, “italic”, “slanted”,
and “small-caps” and the shapes “medium”, “bold”, and “bold-extended”.</p>
-<dl class="docutils">
+<dl>
<dt>Example:</dt>
-<dd><p>Palatino with the standard package <a class="reference external" href="http://www.ctan.org/pkg/mathpazo">mathpazo</a> for Latin and
-<a class="reference external" href="http://mirror.ctan.org/help/Catalogue/entries/gfsdidot.html">GFS Didot</a> for Greek:</p>
-<pre class="code latex literal-block"><span class="keyword">\usepackage</span><span class="name attribute">[sc,slantedGreek]</span><span class="name builtin">{</span>mathpazo<span class="name builtin">}</span>
+<dd><p>Palatino with the standard package <a class="reference external" href="https://ctan.org/pkg/mathpazo">mathpazo</a> for Latin and
+<a class="reference external" href="https://mirrors.ctan.org/help/Catalogue/entries/gfsdidot.html">GFS Didot</a> for Greek:</p>
+<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[sc,slantedGreek]</span><span class="name builtin">{</span>mathpazo<span class="name builtin">}</span>
<span class="keyword">\usepackage</span><span class="name builtin">{</span>substitutefont<span class="name builtin">}</span>
-<span class="keyword">\substitutefont</span><span class="name builtin">{</span>LGR<span class="name builtin">}{</span><span class="keyword">\rmdefault</span><span class="name builtin">}{</span>udidot<span class="name builtin">}</span>
-</pre>
+<span class="keyword">\substitutefont</span><span class="name builtin">{</span>LGR<span class="name builtin">}{</span><span class="keyword">\rmdefault</span><span class="name builtin">}{</span>udidot<span class="name builtin">}</span></code></pre>
</dd>
</dl>
-</div>
-<div class="section" id="implementation">
-<h1>Implementation</h1>
+</section>
+<section id="implementation">
+<h2>Implementation</h2>
<pre class="literal-block">\begingroup
\nfss&#64;catcodes
\newcommand*{\substitutefont}[3]{%
@@ -107,9 +104,8 @@ and “small-caps” and the shapes “medium”, “bold”, and “bold-extend
\DeclareFontShape{#1}{#2}{bx}{sc}{&lt;-&gt;ssub * #3/bx/sc}{}
}
\global\let\substitutefont\substitutefont
-\endgroup
-</pre>
-</div>
-</div>
+\endgroup</pre>
+</section>
+</main>
</body>
</html>
diff --git a/obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.pdf b/obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.pdf
new file mode 100644
index 0000000000..2758e3b764
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.pdf
Binary files differ
diff --git a/obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.tex b/obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.tex
new file mode 100644
index 0000000000..4bd193e914
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/test-artemisia-greek.tex
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{parskip}
+\usepackage[LGR,T1]{fontenc}
+\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
+\pagestyle{empty}
+
+\usepackage[scaled=0.97]{newtxtext}
+\usepackage{artemisia-greek}
+
+\begin{document}
+
+\section*{Times and Artemisia}
+
+Combine Times from the \href{https://ctan.org/pkg/newtx}{newtx} package
+with \href{https://ctan.org/pkg/gfsartemisia}{GFS Artemisia},
+for Greek text.
+
+% Teststring
+\newcommand{\alphabet}{%
+ abcdefghjiklmnoprqrstuvwxyzäöüß
+ {\fontencoding{LGR}\selectfont abgdezhjiklmnxoprsctufqyw} \\
+ ABCDEFGHJIKLMNOPRQRSTUVWXYZÄÖÜ
+ {\fontencoding{LGR}\selectfont ABGDEZHJIKLMNXOPRSTUFQYW}%
+}
+
+\begin{description}
+ \item [Normal:] \alphabet
+
+ \item [it:] \textit{\alphabet}
+
+ \item [sl:] \textsl{\alphabet}
+
+ \item [bf:] \textbf{\alphabet}
+
+ \item [bf it:] \textbf{\textit\alphabet}
+
+ \item [sc:] \textsc{\alphabet}
+
+ % \item [bf sc:] \textsc{\textbf\alphabet} missing in Bodoni
+
+\end{description}
+
+\end{document}
diff --git a/obsolete/macros/latex/contrib/substitutefont/txfontsb-test.tex b/obsolete/macros/latex/contrib/substitutefont/txfontsb-test.tex
new file mode 100644
index 0000000000..cbbeed7eb3
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/txfontsb-test.tex
@@ -0,0 +1,71 @@
+% Example and test for the substitutefont package:
+\documentclass{article}
+\usepackage{parskip}
+\usepackage[LGR,T1]{fontenc}
+\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
+\usepackage{bookmark}
+\pagestyle{empty}
+
+\usepackage{substitutefont}
+
+% Serif
+\usepackage{txfontsb}
+% \substitutefont{LGR}{\rmdefault}{txrc}
+
+% Sans
+% \substitutefont{LGR}{\sfdefault}{neohellenic}
+\substitutefont{LGR}{\sfdefault}{epigrafica}
+
+% Monospaced
+\substitutefont{LGR}{\ttdefault}{cmtt} % CB fonts
+
+
+% Teststring
+\newcommand{\alphabet}{%
+ abcdefghjiklmnoprqrstuvwxyzäöüß
+ {\fontencoding{LGR}\selectfont abgdezhjiklmnxoprsctufqyw} \\
+ ABCDEFGHJIKLMNOPRQRSTUVWXYZÄÖÜ
+ {\fontencoding{LGR}\selectfont ABGDEZHJIKLMNXOPRSTUFQYW}%
+}
+
+\begin{document}
+
+\section*{TX fonts and Greek replacements with ``txfontsb''}
+
+% Use Times, Helvetica, and TXTT (from the
+% \href{https://ctan.org/pkg/newtx}{newtx} package) with
+% \href{https://ctan.org/pkg/txfontsb}{FreeSerifb},
+% \href{https://ctan.org/pkg/gfsneohellenic}{GFS Neohellenic},
+% and \href{https://ctan.org/pkg/cbgreek-complete}{CB-Fonts},
+% for Greek text.
+
+\begin{description}
+ \item [Normal:] \alphabet
+
+ \item [it:] \textit{\alphabet}
+
+ \item [sl:] \textsl{\alphabet}
+
+ \item [bf:] \textbf{\alphabet}
+
+ \item [bf it:] \textbf{\textit\alphabet}
+
+ \item [sc:] \textsc{\alphabet}
+
+ % \item [bf sc:] \textsc{\textbf\alphabet} missing in Bodoni
+
+ \item [sf:] \textsf{\alphabet}
+
+ \item [sf bf:] \textsf{\textbf\alphabet}
+
+ % \item [sf sl:] \textsf{\textsl\alphabet}
+ %
+ % \item [sf sc:] \textsf{\textsc\alphabet}
+
+ \item [tt:] \texttt{\alphabet}
+
+ % \item [tt bf:] \texttt{\textbf\alphabet}
+
+\end{description}
+
+\end{document}
diff --git a/timestamp b/timestamp
index 13e4f5d4c7..97eb9b9280 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-08-14-02-02
+2023-08-15-02-02