summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-01-29 03:01:53 +0000
committerNorbert Preining <norbert@preining.info>2023-01-29 03:01:53 +0000
commitdab4e7c261c34234f9d9f1ac92923d6f903046ef (patch)
tree63b6eec067a9ff0bcd62088dd8b708ce880ece58
parent261f52e7813eade06f278eda62023fda3d266980 (diff)
CTAN sync 202301290301
-rw-r--r--FILES.byname1076
-rw-r--r--FILES.byname.gzbin2512511 -> 2512713 bytes
-rw-r--r--FILES.last07days1141
-rw-r--r--biblio/ctan-bibdata/ctan.bib54
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3645768 -> 3646557 bytes
-rw-r--r--fonts/uptex-fonts/LICENSE4
-rw-r--r--fonts/uptex-fonts/README.md2
-rw-r--r--fonts/uptex-fonts/README_uptex_font.md6
-rw-r--r--fonts/uptex-fonts/cmap/UTF8-UTF16171
-rw-r--r--fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H42
-rw-r--r--fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V19
-rw-r--r--fonts/uptex-fonts/cmap/UniJISup-UTF16-H42
-rw-r--r--fonts/uptex-fonts/cmap/UniJISup-UTF16-V19
-rw-r--r--fonts/uptex-fonts/cmap/cid_mapping.md11
-rw-r--r--fonts/uptex-fonts/source/punctuation.md2
-rw-r--r--macros/latex/contrib/bmstu/README.md12
-rw-r--r--macros/latex/contrib/bmstu/bmstu-appendix.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-appendix.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu-biblio.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-biblio.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu-defabbr.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu-essay.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-essay.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu-figure.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-figure.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu-listing.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-listing.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu-logo.pdf (renamed from macros/latex/contrib/bmstu/img/bmstu-logo.pdf)bin129396 -> 129396 bytes
-rw-r--r--macros/latex/contrib/bmstu/bmstu-title.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-title.sty)140
-rw-r--r--macros/latex/contrib/bmstu/bmstu-toc.sty (renamed from macros/latex/contrib/bmstu/sty/bmstu-toc.sty)2
-rw-r--r--macros/latex/contrib/bmstu/bmstu.cls6
-rw-r--r--macros/latex/contrib/bmstu/examples/bmstu-examples.pdf (renamed from macros/latex/contrib/bmstu/examples/examples.pdf)bin877742 -> 877742 bytes
-rw-r--r--macros/latex/contrib/bmstu/examples/bmstu-examples.tex (renamed from macros/latex/contrib/bmstu/examples/examples.tex)29
-rw-r--r--macros/latex/contrib/bmstu/manifest.txt9
-rw-r--r--macros/latex/contrib/fixdif/fixdif-zh-cn.pdfbin163584 -> 159497 bytes
-rw-r--r--macros/latex/contrib/fixdif/fixdif-zh-cn.tex75
-rw-r--r--macros/latex/contrib/fixdif/fixdif.dtx191
-rw-r--r--macros/latex/contrib/fixdif/fixdif.pdfbin97610 -> 92154 bytes
-rw-r--r--macros/latex/contrib/hvfloat/Changes3
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdfbin80294 -> 80292 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdfbin86722 -> 86842 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capPos.pdfbin95389 -> 98124 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capVPos.inc32
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdfbin81991 -> 82105 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdfbin83275 -> 83450 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex6
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdfbin79445 -> 79548 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdfbin85824 -> 85983 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdfbin0 -> 1759640 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex802
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdfbin2314853 -> 2318150 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex7
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdfbin619030 -> 617080 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdfbin77658 -> 77798 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdfbin86404 -> 86556 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdfbin84813 -> 84573 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdfbin85098 -> 85253 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdfbin0 -> 85743 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.tex64
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdfbin86773 -> 84722 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex6
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdfbin84020 -> 84306 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdfbin83977 -> 84127 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdfbin84013 -> 84232 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdfbin85512 -> 85692 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdfbin142624 -> 142671 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdfbin146172 -> 146434 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdfbin94586 -> 94782 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdfbin146343 -> 146566 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdfbin92182 -> 92370 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdfbin89784 -> 89748 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdfbin92984 -> 93075 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdfbin145736 -> 146003 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdfbin77805 -> 77702 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdfbin86523 -> 86699 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdfbin174218 -> 173970 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdfbin85566 -> 85689 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdfbin86318 -> 86575 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdfbin84292 -> 84447 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdfbin84680 -> 84939 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdfbin79267 -> 78972 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdfbin0 -> 89816 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.tex81
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdfbin79967 -> 81234 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex13
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdfbin90508 -> 90660 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdfbin87935 -> 88153 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex8
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdfbin90332 -> 90479 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdfbin0 -> 87462 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.tex81
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdfbin87855 -> 88039 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdfbin0 -> 87342 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.tex81
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdfbin80290 -> 81413 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdfbin0 -> 1615749 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.tex81
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/preamble.ltx3
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdfbin80126 -> 80120 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdfbin89340 -> 89638 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdfbin81033 -> 81082 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdfbin85585 -> 85693 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex10
-rwxr-xr-x[-rw-r--r--]macros/latex/contrib/hvfloat/doc/examples/runAll.sh2
-rwxr-xr-x[-rw-r--r--]macros/latex/contrib/hvfloat/doc/examples/runEXA.sh3
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdfbin143952 -> 144213 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdfbin144771 -> 145001 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdfbin144003 -> 144288 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdfbin144217 -> 144422 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdfbin143517 -> 143782 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdfbin143873 -> 144144 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdfbin144879 -> 145100 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdfbin144315 -> 144505 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex10
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdfbin120949 -> 120723 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdfbin121917 -> 121738 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin7372289 -> 5163692 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex9
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty268
-rw-r--r--macros/latex/contrib/moodle/README.md37
-rw-r--r--macros/latex/contrib/moodle/moodle.dtx5715
-rw-r--r--macros/latex/contrib/moodle/moodle.ins4
-rw-r--r--macros/latex/contrib/moodle/moodle.pdfbin260933 -> 369655 bytes
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin9585861 -> 9671406 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty1641
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp9
-rw-r--r--macros/latex/contrib/ufrgscca/README.md5
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf646
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.tex2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty8
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca.cls6
-rw-r--r--macros/xetex/latex/xduts/README.md41
-rw-r--r--macros/xetex/latex/xduts/xduts.dtx125
-rw-r--r--macros/xetex/latex/xduts/xduts.ins3
-rw-r--r--macros/xetex/latex/xduts/xduts.pdfbin331323 -> 332217 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb290
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2444276 -> 2444348 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin752817 -> 753109 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini10
-rw-r--r--timestamp2
201 files changed, 8941 insertions, 4803 deletions
diff --git a/FILES.byname b/FILES.byname
index caf5b56b98..ea919d73b4 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2048,12 +2048,12 @@
2022/12/25 | 1673 | biblio/citation-style-language/README.md
2022/12/25 | 11958 | biblio/citation-style-language/vancouver.csl
2022/12/25 | 604004 | biblio/citation-style-language.zip
-2023/01/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/01/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/01/27 | 2763000 | biblio/ctan-bibdata/ctan.bib
-2023/01/27 | 3644759 | biblio/ctan-bibdata/ctan.pdf
+2023/01/28 | 2763851 | biblio/ctan-bibdata/ctan.bib
+2023/01/28 | 3645768 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/01/27 | 4038963 | biblio/ctan-bibdata.zip
+2023/01/28 | 4040652 | biblio/ctan-bibdata.zip
2022/02/06 | 3110 | biblio/pbibtex/pbibtex-base/cpp.awk
2022/02/06 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2022/02/06 | 22422 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5407,7 +5407,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/01/27 | 642602 | FILES.last07days
+2023/01/28 | 645363 | 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
@@ -145742,107 +145742,107 @@
2016/09/29 | 1744 | fonts/uppunctlm/vf/ec-uplmri8.vf
2016/09/29 | 1744 | fonts/uppunctlm/vf/ec-uplmri9.vf
2016/10/13 | 184883 | fonts/uppunctlm.zip
-2022/03/10 | 5895 | fonts/uptex-fonts/cmap/cid_mapping.md
-2022/03/10 | 188427 | fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H
-2022/03/10 | 6082 | fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V
-2022/03/10 | 188342 | fonts/uptex-fonts/cmap/UniJISup-UTF16-H
-2022/03/10 | 6054 | fonts/uptex-fonts/cmap/UniJISup-UTF16-V
-2022/03/10 | 76445 | fonts/uptex-fonts/cmap/UTF8-UTF16
-2022/03/10 | 1591 | fonts/uptex-fonts/LICENSE
-2022/03/10 | 4380 | fonts/uptex-fonts/README_ASCII_Corp.txt
-2022/03/10 | 553 | fonts/uptex-fonts/README.md
-2022/03/10 | 6295 | fonts/uptex-fonts/README_uptex_font.md
-2022/03/10 | 2989 | fonts/uptex-fonts/source/Makefile
-2022/03/10 | 5271 | fonts/uptex-fonts/source/makejvf-upjis.cnf
-2022/03/10 | 2290 | fonts/uptex-fonts/source/makejvf-upjpn.cnf
-2022/03/10 | 2918 | fonts/uptex-fonts/source/makepl.perl
-2022/03/10 | 29158 | fonts/uptex-fonts/source/punctuation.md
-2022/03/10 | 4252 | fonts/uptex-fonts/source/upjisr-h-hk.pl
-2022/03/10 | 3274 | fonts/uptex-fonts/source/upjisr-h.pl
-2022/03/10 | 3291 | fonts/uptex-fonts/source/upjisr-v.pl
-2022/03/10 | 3244 | fonts/uptex-fonts/source/upkorr-h.pl
-2022/03/10 | 3261 | fonts/uptex-fonts/source/upkorr-v.pl
-2022/03/10 | 914 | fonts/uptex-fonts/source/uprml-h-hk.pl
-2022/03/10 | 419 | fonts/uptex-fonts/source/uprml-h.pl
-2022/03/10 | 3270 | fonts/uptex-fonts/source/upschr-h.pl
-2022/03/10 | 3279 | fonts/uptex-fonts/source/upschr-v.pl
-2022/03/10 | 2753 | fonts/uptex-fonts/source/uptchr-h.pl
-2022/03/10 | 2770 | fonts/uptex-fonts/source/uptchr-v.pl
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/ugbm.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/ugbmv.tfm
-2022/03/10 | 1300 | fonts/uptex-fonts/tfm/ugoth10.tfm
-2022/03/10 | 1300 | fonts/uptex-fonts/tfm/umin10.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/upgbm-hq.tfm
-2022/03/10 | 432 | fonts/uptex-fonts/tfm/upgbm-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upgbm-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/uphygt-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/uphygt-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/uphysmjm-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/uphysmjm-v.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upjisg-hq.tfm
-2022/03/10 | 812 | fonts/uptex-fonts/tfm/upjisg-h.tfm
-2022/03/10 | 536 | fonts/uptex-fonts/tfm/upjisg-v.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upjisr-hq.tfm
-2022/03/10 | 812 | fonts/uptex-fonts/tfm/upjisr-h.tfm
-2022/03/10 | 536 | fonts/uptex-fonts/tfm/upjisr-v.tfm
-2022/03/10 | 812 | fonts/uptex-fonts/tfm/upjpngt-h.tfm
-2022/03/10 | 536 | fonts/uptex-fonts/tfm/upjpngt-v.tfm
-2022/03/10 | 812 | fonts/uptex-fonts/tfm/upjpnrm-h.tfm
-2022/03/10 | 536 | fonts/uptex-fonts/tfm/upjpnrm-v.tfm
-2022/03/10 | 516 | fonts/uptex-fonts/tfm/upkorgt-h.tfm
-2022/03/10 | 516 | fonts/uptex-fonts/tfm/upkorgt-v.tfm
-2022/03/10 | 516 | fonts/uptex-fonts/tfm/upkorrm-h.tfm
-2022/03/10 | 516 | fonts/uptex-fonts/tfm/upkorrm-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/upmhm-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upmhm-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/upmsl-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upmsl-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/uprml-hq.tfm
-2022/03/10 | 432 | fonts/uptex-fonts/tfm/uprml-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/uprml-v.tfm
-2022/03/10 | 536 | fonts/uptex-fonts/tfm/upschgt-h.tfm
-2022/03/10 | 528 | fonts/uptex-fonts/tfm/upschgt-v.tfm
-2022/03/10 | 536 | fonts/uptex-fonts/tfm/upschrm-h.tfm
-2022/03/10 | 528 | fonts/uptex-fonts/tfm/upschrm-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/upstht-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upstht-v.tfm
-2022/03/10 | 172 | fonts/uptex-fonts/tfm/upstsl-h.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/upstsl-v.tfm
-2022/03/10 | 504 | fonts/uptex-fonts/tfm/uptchgt-h.tfm
-2022/03/10 | 504 | fonts/uptex-fonts/tfm/uptchgt-v.tfm
-2022/03/10 | 504 | fonts/uptex-fonts/tfm/uptchrm-h.tfm
-2022/03/10 | 504 | fonts/uptex-fonts/tfm/uptchrm-v.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/urml.tfm
-2022/03/10 | 108 | fonts/uptex-fonts/tfm/urmlv.tfm
-2022/03/10 | 960 | fonts/uptex-fonts/tfm/utgoth10.tfm
-2022/03/10 | 960 | fonts/uptex-fonts/tfm/utmin10.tfm
-2022/03/10 | 644724 | fonts/uptex-fonts/vf/ugoth10.vf
-2022/03/10 | 644724 | fonts/uptex-fonts/vf/umin10.vf
-2022/03/10 | 100 | fonts/uptex-fonts/vf/upjisg-hq.vf
-2022/03/10 | 653500 | fonts/uptex-fonts/vf/upjisg-h.vf
-2022/03/10 | 653468 | fonts/uptex-fonts/vf/upjisg-v.vf
-2022/03/10 | 100 | fonts/uptex-fonts/vf/upjisr-hq.vf
-2022/03/10 | 653500 | fonts/uptex-fonts/vf/upjisr-h.vf
-2022/03/10 | 653468 | fonts/uptex-fonts/vf/upjisr-v.vf
-2022/03/10 | 1590520 | fonts/uptex-fonts/vf/upjpngt-h.vf
-2022/03/10 | 1590492 | fonts/uptex-fonts/vf/upjpngt-v.vf
-2022/03/10 | 1590520 | fonts/uptex-fonts/vf/upjpnrm-h.vf
-2022/03/10 | 1590492 | fonts/uptex-fonts/vf/upjpnrm-v.vf
-2022/03/10 | 694132 | fonts/uptex-fonts/vf/upkorgt-h.vf
-2022/03/10 | 694132 | fonts/uptex-fonts/vf/upkorgt-v.vf
-2022/03/10 | 694136 | fonts/uptex-fonts/vf/upkorrm-h.vf
-2022/03/10 | 694136 | fonts/uptex-fonts/vf/upkorrm-v.vf
-2022/03/10 | 1370960 | fonts/uptex-fonts/vf/upschgt-h.vf
-2022/03/10 | 1370968 | fonts/uptex-fonts/vf/upschgt-v.vf
-2022/03/10 | 1370960 | fonts/uptex-fonts/vf/upschrm-h.vf
-2022/03/10 | 1370968 | fonts/uptex-fonts/vf/upschrm-v.vf
-2022/03/10 | 1662628 | fonts/uptex-fonts/vf/uptchgt-h.vf
-2022/03/10 | 1662628 | fonts/uptex-fonts/vf/uptchgt-v.vf
-2022/03/10 | 1662628 | fonts/uptex-fonts/vf/uptchrm-h.vf
-2022/03/10 | 1662628 | fonts/uptex-fonts/vf/uptchrm-v.vf
-2022/03/10 | 644904 | fonts/uptex-fonts/vf/utgoth10.vf
-2022/03/10 | 644904 | fonts/uptex-fonts/vf/utmin10.vf
-2022/03/10 | 8043371 | fonts/uptex-fonts.zip
+2023/01/28 | 6493 | fonts/uptex-fonts/cmap/cid_mapping.md
+2023/01/28 | 188465 | fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H
+2023/01/28 | 6104 | fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V
+2023/01/28 | 188381 | fonts/uptex-fonts/cmap/UniJISup-UTF16-H
+2023/01/28 | 6076 | fonts/uptex-fonts/cmap/UniJISup-UTF16-V
+2023/01/28 | 78916 | fonts/uptex-fonts/cmap/UTF8-UTF16
+2023/01/28 | 1591 | fonts/uptex-fonts/LICENSE
+2023/01/28 | 4380 | fonts/uptex-fonts/README_ASCII_Corp.txt
+2023/01/28 | 553 | fonts/uptex-fonts/README.md
+2023/01/28 | 6462 | fonts/uptex-fonts/README_uptex_font.md
+2023/01/28 | 2989 | fonts/uptex-fonts/source/Makefile
+2023/01/28 | 5271 | fonts/uptex-fonts/source/makejvf-upjis.cnf
+2023/01/28 | 2290 | fonts/uptex-fonts/source/makejvf-upjpn.cnf
+2023/01/28 | 2918 | fonts/uptex-fonts/source/makepl.perl
+2023/01/28 | 29159 | fonts/uptex-fonts/source/punctuation.md
+2023/01/28 | 4252 | fonts/uptex-fonts/source/upjisr-h-hk.pl
+2023/01/28 | 3274 | fonts/uptex-fonts/source/upjisr-h.pl
+2023/01/28 | 3291 | fonts/uptex-fonts/source/upjisr-v.pl
+2023/01/28 | 3244 | fonts/uptex-fonts/source/upkorr-h.pl
+2023/01/28 | 3261 | fonts/uptex-fonts/source/upkorr-v.pl
+2023/01/28 | 914 | fonts/uptex-fonts/source/uprml-h-hk.pl
+2023/01/28 | 419 | fonts/uptex-fonts/source/uprml-h.pl
+2023/01/28 | 3270 | fonts/uptex-fonts/source/upschr-h.pl
+2023/01/28 | 3279 | fonts/uptex-fonts/source/upschr-v.pl
+2023/01/28 | 2753 | fonts/uptex-fonts/source/uptchr-h.pl
+2023/01/28 | 2770 | fonts/uptex-fonts/source/uptchr-v.pl
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/ugbm.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/ugbmv.tfm
+2023/01/28 | 1300 | fonts/uptex-fonts/tfm/ugoth10.tfm
+2023/01/28 | 1300 | fonts/uptex-fonts/tfm/umin10.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upgbm-hq.tfm
+2023/01/28 | 432 | fonts/uptex-fonts/tfm/upgbm-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upgbm-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/uphygt-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/uphygt-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/uphysmjm-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/uphysmjm-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upjisg-hq.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjisg-h.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjisg-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upjisr-hq.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjisr-h.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjisr-v.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjpngt-h.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjpngt-v.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjpnrm-h.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjpnrm-v.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorgt-h.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorgt-v.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorrm-h.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorrm-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upmhm-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upmhm-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upmsl-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upmsl-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/uprml-hq.tfm
+2023/01/28 | 432 | fonts/uptex-fonts/tfm/uprml-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/uprml-v.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upschgt-h.tfm
+2023/01/28 | 528 | fonts/uptex-fonts/tfm/upschgt-v.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upschrm-h.tfm
+2023/01/28 | 528 | fonts/uptex-fonts/tfm/upschrm-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upstht-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upstht-v.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upstsl-h.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upstsl-v.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchgt-h.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchgt-v.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchrm-h.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchrm-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/urml.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/urmlv.tfm
+2023/01/28 | 960 | fonts/uptex-fonts/tfm/utgoth10.tfm
+2023/01/28 | 960 | fonts/uptex-fonts/tfm/utmin10.tfm
+2023/01/28 | 644724 | fonts/uptex-fonts/vf/ugoth10.vf
+2023/01/28 | 644724 | fonts/uptex-fonts/vf/umin10.vf
+2023/01/28 | 100 | fonts/uptex-fonts/vf/upjisg-hq.vf
+2023/01/28 | 653500 | fonts/uptex-fonts/vf/upjisg-h.vf
+2023/01/28 | 653468 | fonts/uptex-fonts/vf/upjisg-v.vf
+2023/01/28 | 100 | fonts/uptex-fonts/vf/upjisr-hq.vf
+2023/01/28 | 653500 | fonts/uptex-fonts/vf/upjisr-h.vf
+2023/01/28 | 653468 | fonts/uptex-fonts/vf/upjisr-v.vf
+2023/01/28 | 1590520 | fonts/uptex-fonts/vf/upjpngt-h.vf
+2023/01/28 | 1590492 | fonts/uptex-fonts/vf/upjpngt-v.vf
+2023/01/28 | 1590520 | fonts/uptex-fonts/vf/upjpnrm-h.vf
+2023/01/28 | 1590492 | fonts/uptex-fonts/vf/upjpnrm-v.vf
+2023/01/28 | 694132 | fonts/uptex-fonts/vf/upkorgt-h.vf
+2023/01/28 | 694132 | fonts/uptex-fonts/vf/upkorgt-v.vf
+2023/01/28 | 694136 | fonts/uptex-fonts/vf/upkorrm-h.vf
+2023/01/28 | 694136 | fonts/uptex-fonts/vf/upkorrm-v.vf
+2023/01/28 | 1370960 | fonts/uptex-fonts/vf/upschgt-h.vf
+2023/01/28 | 1370968 | fonts/uptex-fonts/vf/upschgt-v.vf
+2023/01/28 | 1370960 | fonts/uptex-fonts/vf/upschrm-h.vf
+2023/01/28 | 1370968 | fonts/uptex-fonts/vf/upschrm-v.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchgt-h.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchgt-v.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchrm-h.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchrm-v.vf
+2023/01/28 | 644904 | fonts/uptex-fonts/vf/utgoth10.vf
+2023/01/28 | 644904 | fonts/uptex-fonts/vf/utmin10.vf
+2023/01/28 | 8044288 | fonts/uptex-fonts.zip
2002/09/12 | 831 | fonts/urw/antiqua/doc/antiqua.txt
2002/09/12 | 1021 | fonts/urw/antiqua/doc/readme.antiqua
1997/07/09 | 18854 | fonts/urw/antiqua/doc/uaqr8ac.afm.org
@@ -193128,7 +193128,7 @@
2022/09/26 | 662797 | install/fonts/theanooldstyle.tds.zip
2022/09/24 | 3638749 | install/fonts/tinos.tds.zip
2022/09/25 | 827639 | install/fonts/universalis.tds.zip
-2022/03/10 | 8052461 | install/fonts/uptex-fonts.tds.zip
+2023/01/28 | 8053378 | install/fonts/uptex-fonts.tds.zip
2011/10/10 | 102166 | install/fonts/urw/antiqua.tds.zip
2012/02/06 | 254553 | install/fonts/urw/arial.tds.zip
2022/09/29 | 736803 | install/fonts/urw/classico.tds.zip
@@ -193368,7 +193368,7 @@
2009/07/04 | 209300 | install/macros/latex/contrib/mlist.tds.zip
2010/04/09 | 1603258 | install/macros/latex/contrib/modroman.tds.zip
2012/10/30 | 302018 | install/macros/latex/contrib/monofill.tds.zip
-2021/02/07 | 526164 | install/macros/latex/contrib/moodle.tds.zip
+2023/01/28 | 675120 | install/macros/latex/contrib/moodle.tds.zip
2015/07/22 | 581662 | install/macros/latex/contrib/morefloats.tds.zip
2015/11/09 | 2594087 | install/macros/latex/contrib/morehype.tds.zip
2011/04/18 | 126939 | install/macros/latex/contrib/moreverb.tds.zip
@@ -214479,13 +214479,21 @@
2022/09/22 | 199133 | macros/latex/contrib/blowup/blowup.pdf
2022/09/19 | 485 | macros/latex/contrib/blowup/README.md
2022/09/22 | 366926 | macros/latex/contrib/blowup.zip
-2022/01/24 | 3861 | macros/latex/contrib/bmstu/bmstu.cls
-2022/01/23 | 877742 | macros/latex/contrib/bmstu/examples/examples.pdf
-2022/01/23 | 11590 | macros/latex/contrib/bmstu/examples/examples.tex
-2022/01/02 | 78838 | macros/latex/contrib/bmstu/examples/inc/img/tux.png
-2022/01/23 | 354190 | macros/latex/contrib/bmstu/examples/inc/img/tuz.png
-2022/01/06 | 101 | macros/latex/contrib/bmstu/examples/inc/lst/main.c
-2021/03/30 | 129396 | macros/latex/contrib/bmstu/img/bmstu-logo.pdf
+2023/01/28 | 1143 | macros/latex/contrib/bmstu/bmstu-appendix.sty
+2023/01/28 | 902 | macros/latex/contrib/bmstu/bmstu-biblio.sty
+2023/01/28 | 3877 | macros/latex/contrib/bmstu/bmstu.cls
+2023/01/28 | 1662 | macros/latex/contrib/bmstu/bmstu-defabbr.sty
+2023/01/28 | 2294 | macros/latex/contrib/bmstu/bmstu-essay.sty
+2023/01/28 | 1336 | macros/latex/contrib/bmstu/bmstu-figure.sty
+2023/01/28 | 1715 | macros/latex/contrib/bmstu/bmstu-listing.sty
+2023/01/28 | 129396 | macros/latex/contrib/bmstu/bmstu-logo.pdf
+2023/01/28 | 6702 | macros/latex/contrib/bmstu/bmstu-title.sty
+2023/01/28 | 742 | macros/latex/contrib/bmstu/bmstu-toc.sty
+2023/01/28 | 877742 | macros/latex/contrib/bmstu/examples/bmstu-examples.pdf
+2023/01/28 | 12096 | macros/latex/contrib/bmstu/examples/bmstu-examples.tex
+2023/01/28 | 78838 | macros/latex/contrib/bmstu/examples/inc/img/tux.png
+2023/01/28 | 354190 | macros/latex/contrib/bmstu/examples/inc/img/tuz.png
+2023/01/28 | 101 | macros/latex/contrib/bmstu/examples/inc/lst/main.c
2021/06/13 | 177036 | macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
2021/06/13 | 1520 | macros/latex/contrib/bmstu-iu8/bmstu-example.tex
2021/06/13 | 2108 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
@@ -214514,16 +214522,9 @@
2021/06/13 | 1437 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
2021/06/13 | 508 | macros/latex/contrib/bmstu-iu8/README.md
2021/06/13 | 201211 | macros/latex/contrib/bmstu-iu8.zip
-2022/01/24 | 1010 | macros/latex/contrib/bmstu/README.md
-2022/01/24 | 1143 | macros/latex/contrib/bmstu/sty/bmstu-appendix.sty
-2022/01/06 | 902 | macros/latex/contrib/bmstu/sty/bmstu-biblio.sty
-2022/01/06 | 1662 | macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty
-2022/01/06 | 2294 | macros/latex/contrib/bmstu/sty/bmstu-essay.sty
-2022/01/06 | 1336 | macros/latex/contrib/bmstu/sty/bmstu-figure.sty
-2022/01/06 | 1715 | macros/latex/contrib/bmstu/sty/bmstu-listing.sty
-2022/01/06 | 6098 | macros/latex/contrib/bmstu/sty/bmstu-title.sty
-2022/01/06 | 742 | macros/latex/contrib/bmstu/sty/bmstu-toc.sty
-2022/01/24 | 1431194 | macros/latex/contrib/bmstu.zip
+2023/01/28 | 145 | macros/latex/contrib/bmstu/manifest.txt
+2023/01/28 | 852 | macros/latex/contrib/bmstu/README.md
+2023/01/28 | 1431215 | macros/latex/contrib/bmstu.zip
2021/05/17 | 79556 | macros/latex/contrib/bnumexpr/bnumexpr.dtx
2021/05/17 | 131719 | macros/latex/contrib/bnumexpr/bnumexpr.pdf
2021/05/17 | 3182 | macros/latex/contrib/bnumexpr/README.md
@@ -220699,13 +220700,13 @@
2019/08/05 | 201807 | macros/latex/contrib/fixcmex/fixcmex.pdf
2019/08/05 | 810 | macros/latex/contrib/fixcmex/README
2019/08/05 | 203748 | macros/latex/contrib/fixcmex.zip
-2023/01/27 | 23553 | macros/latex/contrib/fixdif/fixdif.dtx
-2023/01/27 | 3189 | macros/latex/contrib/fixdif/fixdif.ins
-2023/01/27 | 97610 | macros/latex/contrib/fixdif/fixdif.pdf
-2023/01/27 | 163584 | macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
-2023/01/27 | 16776 | macros/latex/contrib/fixdif/fixdif-zh-cn.tex
-2023/01/27 | 792 | macros/latex/contrib/fixdif/README.md
-2023/01/27 | 269055 | macros/latex/contrib/fixdif.zip
+2023/01/28 | 22678 | macros/latex/contrib/fixdif/fixdif.dtx
+2023/01/28 | 3189 | macros/latex/contrib/fixdif/fixdif.ins
+2023/01/28 | 92154 | macros/latex/contrib/fixdif/fixdif.pdf
+2023/01/28 | 159497 | macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
+2023/01/28 | 15420 | macros/latex/contrib/fixdif/fixdif-zh-cn.tex
+2023/01/28 | 792 | macros/latex/contrib/fixdif/README.md
+2023/01/28 | 258663 | macros/latex/contrib/fixdif.zip
2010/02/20 | 56191 | macros/latex/contrib/fixfoot/fixfoot.pdf
2007/12/12 | 7792 | macros/latex/contrib/fixfoot/fixfoot.sty
2010/02/20 | 1925 | macros/latex/contrib/fixfoot/fixfoot.tex
@@ -223871,123 +223872,135 @@
2022/05/27 | 713 | macros/latex/contrib/hvextern/README
2022/06/21 | 1030 | macros/latex/contrib/hvextern/script/hvextern-checkfile.lua
2022/06/24 | 1371984 | macros/latex/contrib/hvextern.zip
-2022/11/21 | 4518 | macros/latex/contrib/hvfloat/Changes
-2021/06/26 | 80294 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
-2021/05/17 | 2374 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex
-2021/06/26 | 86722 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
-2021/05/17 | 2457 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex
-2021/05/17 | 2956 | macros/latex/contrib/hvfloat/doc/examples/capPos.inc
-2021/06/26 | 95389 | macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
-2021/05/31 | 1568 | macros/latex/contrib/hvfloat/doc/examples/capPos.tex
-2021/05/17 | 3471 | macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
-2021/06/26 | 81991 | macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
-2021/05/17 | 2388 | macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex
-2021/06/26 | 83275 | macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
-2021/05/17 | 1885 | macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex
-2021/06/26 | 79445 | macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
-2021/05/17 | 2314 | macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex
-2021/06/26 | 85824 | macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
-2021/05/17 | 2455 | macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex
-2021/06/26 | 2314853 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
-2021/05/18 | 35031 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
-2021/06/26 | 619030 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
-2021/05/26 | 37908 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex
-2021/06/26 | 77658 | macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
-2021/05/17 | 2378 | macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex
-2021/06/26 | 86404 | macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
-2021/05/17 | 2512 | macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex
-2021/06/26 | 84813 | macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
-2021/05/17 | 2502 | macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex
-2021/06/26 | 85098 | macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
-2021/05/17 | 2521 | macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex
-2021/06/26 | 86773 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
-2021/05/17 | 1276 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex
-2021/06/26 | 84020 | macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
-2021/05/17 | 2116 | macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex
-2021/06/26 | 83977 | macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
-2021/05/17 | 2093 | macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex
-2021/06/26 | 84013 | macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
-2021/05/17 | 2135 | macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex
-2021/06/26 | 85512 | macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
-2021/05/17 | 2500 | macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex
-2021/06/26 | 142624 | macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
-2021/06/14 | 5902 | macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex
-2021/06/26 | 146172 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
-2021/05/17 | 5867 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex
-2021/06/26 | 94586 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
-2021/05/17 | 4677 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex
-2021/06/26 | 146343 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
-2021/05/17 | 5875 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex
-2021/06/26 | 92182 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
-2021/05/17 | 4687 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex
-2021/06/26 | 89784 | macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
-2021/05/31 | 4793 | macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex
-2021/06/26 | 92984 | macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
-2021/05/31 | 4794 | macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex
-2021/06/26 | 145736 | macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
-2021/05/31 | 5905 | macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex
-2021/06/26 | 77805 | macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
-2021/06/20 | 2421 | macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex
-2021/06/26 | 86523 | macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
-2021/05/17 | 2517 | macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex
-2021/06/26 | 174218 | macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
-2021/06/09 | 2492 | macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex
-2021/06/26 | 85566 | macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
-2021/05/17 | 2525 | macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex
-2021/06/26 | 86318 | macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
-2021/05/17 | 2114 | macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex
-2021/06/26 | 84292 | macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
-2021/05/17 | 2081 | macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex
-2021/06/26 | 84680 | macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
-2021/05/17 | 2122 | macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex
-2021/06/26 | 79267 | macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
-2021/05/17 | 2506 | macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex
-2021/06/26 | 79967 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
-2021/05/17 | 2456 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex
-2021/06/26 | 90508 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
-2021/05/17 | 2457 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex
-2021/06/26 | 87935 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
-2021/05/28 | 2446 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex
-2021/06/26 | 90332 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
-2021/05/17 | 2457 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex
-2021/06/26 | 87855 | macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
-2021/05/17 | 2515 | macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex
-2021/06/26 | 80290 | macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
-2021/05/17 | 2511 | macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex
-2021/06/15 | 2226 | macros/latex/contrib/hvfloat/doc/examples/preamble.ltx
+2023/01/28 | 4667 | macros/latex/contrib/hvfloat/Changes
+2023/01/28 | 80292 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
+2021/11/20 | 2379 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex
+2023/01/28 | 86842 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
+2021/11/20 | 2462 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex
+2021/06/17 | 2956 | macros/latex/contrib/hvfloat/doc/examples/capPos.inc
+2023/01/28 | 98124 | macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
+2021/11/11 | 1568 | macros/latex/contrib/hvfloat/doc/examples/capPos.tex
+2022/03/19 | 3601 | macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
+2023/01/28 | 82105 | macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
+2021/11/20 | 2393 | macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex
+2023/01/28 | 83450 | macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
+2021/11/20 | 1888 | macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex
+2023/01/28 | 79548 | macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
+2021/11/20 | 2319 | macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex
+2023/01/28 | 85983 | macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
+2021/11/20 | 2460 | macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex
+2023/01/28 | 1759640 | macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
+2022/05/30 | 23950 | macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex
+2023/01/28 | 2318150 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
+2021/11/11 | 35041 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
+2023/01/28 | 617080 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
+2021/11/11 | 37908 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex
+2023/01/28 | 77798 | macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
+2021/11/20 | 2383 | macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex
+2023/01/28 | 86556 | macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
+2021/11/20 | 2517 | macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex
+2023/01/28 | 84573 | macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
+2021/11/20 | 2507 | macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex
+2023/01/28 | 85253 | macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
+2021/11/20 | 2526 | macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex
+2023/01/28 | 85743 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
+2022/06/09 | 1265 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.tex
+2023/01/28 | 84722 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
+2023/01/28 | 1270 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex
+2023/01/28 | 84306 | macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
+2021/11/20 | 2121 | macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex
+2023/01/28 | 84127 | macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
+2021/11/20 | 2098 | macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex
+2023/01/28 | 84232 | macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
+2021/11/20 | 2140 | macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex
+2023/01/28 | 85692 | macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
+2021/11/20 | 2505 | macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex
+2023/01/28 | 142671 | macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
+2021/11/20 | 5906 | macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex
+2023/01/28 | 146434 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
+2021/11/20 | 5872 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex
+2023/01/28 | 94782 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
+2021/11/20 | 4682 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex
+2023/01/28 | 146566 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
+2021/11/20 | 5880 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex
+2023/01/28 | 92370 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
+2021/11/20 | 4692 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex
+2023/01/28 | 89748 | macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
+2021/11/20 | 4797 | macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex
+2023/01/28 | 93075 | macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
+2021/11/20 | 4798 | macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex
+2023/01/28 | 146003 | macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
+2021/11/20 | 5909 | macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex
+2023/01/28 | 77702 | macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
+2021/11/20 | 2425 | macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex
+2023/01/28 | 86699 | macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
+2021/11/20 | 2522 | macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex
+2023/01/28 | 173970 | macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
+2021/11/20 | 2496 | macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex
+2023/01/28 | 85689 | macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
+2021/11/20 | 2530 | macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex
+2023/01/28 | 86575 | macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
+2021/11/20 | 2119 | macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex
+2023/01/28 | 84447 | macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
+2021/11/20 | 2086 | macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex
+2023/01/28 | 84939 | macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
+2021/11/20 | 2127 | macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex
+2023/01/28 | 78972 | macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
+2021/11/20 | 2511 | macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex
+2023/01/28 | 89816 | macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
+2022/02/28 | 2514 | macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.tex
+2023/01/28 | 81234 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
+2022/07/20 | 2462 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex
+2023/01/28 | 90660 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
+2021/11/20 | 2462 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex
+2023/01/28 | 88153 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
+2021/11/11 | 2450 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex
+2023/01/28 | 90479 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
+2021/11/20 | 2462 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex
+2023/01/28 | 87462 | macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
+2021/11/11 | 2435 | macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.tex
+2023/01/28 | 88039 | macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
+2021/11/20 | 2520 | macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex
+2023/01/28 | 87342 | macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
+2021/11/11 | 2506 | macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.tex
+2023/01/28 | 81413 | macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
+2021/11/20 | 2516 | macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex
+2023/01/28 | 1615749 | macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
+2022/02/28 | 2722 | macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.tex
+2022/03/19 | 2306 | macros/latex/contrib/hvfloat/doc/examples/preamble.ltx
2021/05/17 | 649 | macros/latex/contrib/hvfloat/doc/examples/README.exa
-2021/06/26 | 80126 | macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
-2021/05/17 | 2374 | macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex
-2021/06/26 | 89340 | macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
-2021/05/17 | 2501 | macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex
-2021/06/26 | 81033 | macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
-2021/05/17 | 2375 | macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex
-2021/06/26 | 85585 | macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
-2021/05/17 | 2456 | macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex
-2021/06/19 | 651 | macros/latex/contrib/hvfloat/doc/examples/runAll.sh
-2021/06/19 | 666 | macros/latex/contrib/hvfloat/doc/examples/runEXA.sh
-2021/06/26 | 143952 | macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
-2021/05/31 | 4534 | macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex
-2021/06/26 | 144771 | macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
-2021/05/31 | 4576 | macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex
-2021/06/26 | 144003 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
-2021/05/17 | 4497 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex
-2021/06/26 | 144217 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
-2021/05/17 | 4541 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex
-2021/06/26 | 143517 | macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
-2021/05/17 | 4549 | macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex
-2021/06/26 | 143873 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
-2021/05/31 | 4534 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex
-2021/06/26 | 144879 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
-2021/05/31 | 4576 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex
-2021/06/26 | 144315 | macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
-2021/05/31 | 4576 | macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex
-2021/06/26 | 120949 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
-2021/05/31 | 4184 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.tex
-2021/06/26 | 121917 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
-2021/05/31 | 3964 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.tex
-2022/11/21 | 7372289 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
-2022/11/21 | 121887 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
+2023/01/28 | 80120 | macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
+2021/11/20 | 2379 | macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex
+2023/01/28 | 89638 | macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
+2021/11/20 | 2506 | macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex
+2023/01/28 | 81082 | macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
+2021/11/20 | 2380 | macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex
+2023/01/28 | 85693 | macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
+2021/11/20 | 2461 | macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex
+2023/01/28 | 706 | macros/latex/contrib/hvfloat/doc/examples/runAll.sh
+2023/01/28 | 691 | macros/latex/contrib/hvfloat/doc/examples/runEXA.sh
+2023/01/28 | 144213 | macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
+2021/11/20 | 4538 | macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex
+2023/01/28 | 145001 | macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
+2021/11/20 | 4580 | macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex
+2023/01/28 | 144288 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
+2021/11/20 | 4502 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex
+2023/01/28 | 144422 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
+2021/11/20 | 4546 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex
+2023/01/28 | 143782 | macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
+2021/11/20 | 4554 | macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex
+2023/01/28 | 144144 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
+2021/11/20 | 4538 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex
+2023/01/28 | 145100 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
+2021/11/20 | 4580 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex
+2023/01/28 | 144505 | macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
+2021/11/20 | 4580 | macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex
+2023/01/28 | 120723 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
+2021/11/11 | 4184 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.tex
+2023/01/28 | 121738 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
+2021/11/11 | 3964 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.tex
+2023/01/28 | 5163692 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+2023/01/28 | 122112 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
2019/04/01 | 69089 | macros/latex/contrib/hvfloat/doc/images/CTAN.png
2021/03/12 | 1362739 | macros/latex/contrib/hvfloat/doc/images/felsen-wasser-small.pdf
2019/04/01 | 5208 | macros/latex/contrib/hvfloat/doc/images/frose.png
@@ -223995,9 +224008,9 @@
2019/04/01 | 2493 | macros/latex/contrib/hvfloat/doc/images/rose.png
2021/03/14 | 501524 | macros/latex/contrib/hvfloat/doc/images/sonne-meer.jpg
2021/06/20 | 918 | macros/latex/contrib/hvfloat/latex/hvfloat-fps.sty
-2022/11/21 | 78074 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
-2020/06/07 | 563 | macros/latex/contrib/hvfloat/README
-2022/11/21 | 16673791 | macros/latex/contrib/hvfloat.zip
+2023/01/28 | 89786 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
+2021/03/08 | 563 | macros/latex/contrib/hvfloat/README
+2023/01/28 | 18102200 | macros/latex/contrib/hvfloat.zip
2017/12/12 | 533 | macros/latex/contrib/hvindex/Changes
2017/12/12 | 74896 | macros/latex/contrib/hvindex/doc/hvindex-doc.pdf
2017/12/12 | 7652 | macros/latex/contrib/hvindex/doc/hvindex-doc.tex
@@ -228440,11 +228453,11 @@
2012/10/29 | 9142 | macros/latex/contrib/monofill/monofill.sty
2012/10/30 | 1525 | macros/latex/contrib/monofill/README
2012/10/31 | 300426 | macros/latex/contrib/monofill.zip
-2021/02/07 | 275100 | macros/latex/contrib/moodle/moodle.dtx
-2021/02/07 | 2293 | macros/latex/contrib/moodle/moodle.ins
-2021/02/07 | 260933 | macros/latex/contrib/moodle/moodle.pdf
-2021/02/07 | 2685 | macros/latex/contrib/moodle/README.md
-2021/02/07 | 324541 | macros/latex/contrib/moodle.zip
+2023/01/28 | 370176 | macros/latex/contrib/moodle/moodle.dtx
+2023/01/28 | 2301 | macros/latex/contrib/moodle/moodle.ins
+2023/01/28 | 369655 | macros/latex/contrib/moodle/moodle.pdf
+2023/01/28 | 3099 | macros/latex/contrib/moodle/README.md
+2023/01/28 | 449298 | macros/latex/contrib/moodle.zip
2011/11/03 | 216731 | macros/latex/contrib/moreenum/moreenum-doc.pdf
2011/11/03 | 6399 | macros/latex/contrib/moreenum/moreenum-doc.tex
2011/11/03 | 7459 | macros/latex/contrib/moreenum/moreenum.sty
@@ -231833,15 +231846,15 @@
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/01/01 | 9585861 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2023/01/01 | 2276744 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2023/01/28 | 9671406 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/01/28 | 2286437 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
2021/08/22 | 23478 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
2021/08/22 | 19350 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
2021/08/22 | 20438 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
2021/08/22 | 27165 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
2021/08/22 | 15309 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
2021/08/22 | 22791 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
-2023/01/01 | 1065760 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/01/28 | 1091082 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/11/06 | 8247 | macros/latex/contrib/profcollege/metapost/datastest/PfCafganistan.dat
2021/11/06 | 10915 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud1.dat
2021/11/06 | 218 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud2.dat
@@ -232047,7 +232060,7 @@
2022/05/26 | 5056 | macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp
2022/08/31 | 5196 | macros/latex/contrib/profcollege/metapost/PfCArithmetique.mp
2022/08/31 | 5200 | macros/latex/contrib/profcollege/metapost/PfCArithmetiquePDF.mp
-2022/05/26 | 13296 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
+2023/01/28 | 13345 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
2022/05/26 | 431 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp
2023/01/01 | 2335 | macros/latex/contrib/profcollege/metapost/PfCEngrenages.mp
2023/01/01 | 41730 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
@@ -232063,7 +232076,7 @@
2022/05/26 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
2022/11/02 | 1683 | macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp
2021/01/18 | 435 | macros/latex/contrib/profcollege/README
-2023/01/01 | 14113737 | macros/latex/contrib/profcollege.zip
+2023/01/28 | 14207318 | 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
@@ -239481,30 +239494,30 @@
2015/02/13 | 84480 | macros/latex/contrib/uestcthesis/uestcthesis.bst
2015/02/13 | 40459 | macros/latex/contrib/uestcthesis/uestcthesis.cls
2015/02/24 | 4376464 | macros/latex/contrib/uestcthesis.zip
-2023/01/17 | 552461 | macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
-2023/01/17 | 63931 | macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
-2023/01/17 | 16520 | macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
-2023/01/17 | 7418 | macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
-2023/01/17 | 33301 | macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
-2023/01/17 | 11367 | macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
-2023/01/17 | 11491 | macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
-2023/01/17 | 4116 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
-2023/01/17 | 5328 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
-2023/01/17 | 7733 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
-2023/01/17 | 2225 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
-2023/01/17 | 8818 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
-2023/01/17 | 2483 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
-2023/01/17 | 9190 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
-2023/01/17 | 19521 | macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
-2023/01/17 | 4854 | macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
-2023/01/17 | 2698 | macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
-2023/01/17 | 20487 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
-2023/01/17 | 2207 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
-2023/01/17 | 14405 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
-2023/01/17 | 4071 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
-2023/01/17 | 14438 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
-2023/01/17 | 4704 | macros/latex/contrib/ufrgscca/README.md
-2023/01/17 | 550007 | macros/latex/contrib/ufrgscca.zip
+2023/01/28 | 552542 | macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+2023/01/28 | 63931 | macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+2023/01/28 | 16595 | macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+2023/01/28 | 7418 | macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+2023/01/28 | 33301 | macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+2023/01/28 | 11367 | macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+2023/01/28 | 11491 | macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+2023/01/28 | 4116 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
+2023/01/28 | 5328 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+2023/01/28 | 7733 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
+2023/01/28 | 2225 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
+2023/01/28 | 8818 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
+2023/01/28 | 2483 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
+2023/01/28 | 9190 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
+2023/01/28 | 19521 | macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+2023/01/28 | 4854 | macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
+2023/01/28 | 2698 | macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+2023/01/28 | 20487 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+2023/01/28 | 2207 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
+2023/01/28 | 14405 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
+2023/01/28 | 4071 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
+2023/01/28 | 14438 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
+2023/01/28 | 4780 | macros/latex/contrib/ufrgscca/README.md
+2023/01/28 | 550130 | macros/latex/contrib/ufrgscca.zip
2017/04/23 | 715 | macros/latex/contrib/uhhassignment/README.md
2017/04/23 | 23866 | macros/latex/contrib/uhhassignment/uhhassignment.dtx
2017/04/23 | 1775 | macros/latex/contrib/uhhassignment/uhhassignment.ins
@@ -253415,12 +253428,12 @@
2011/05/07 | 5176 | macros/xetex/latex/unisugar/unisugar.sty
2011/05/07 | 25480 | macros/xetex/latex/unisugar/unisugar.tex
2011/05/08 | 495308 | macros/xetex/latex/unisugar.zip
-2023/01/16 | 3670 | macros/xetex/latex/xduts/README.md
-2023/01/16 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
-2023/01/16 | 273091 | macros/xetex/latex/xduts/xduts.dtx
-2023/01/16 | 1173 | macros/xetex/latex/xduts/xduts.ins
-2023/01/16 | 331323 | macros/xetex/latex/xduts/xduts.pdf
-2023/01/16 | 1260682 | macros/xetex/latex/xduts.zip
+2023/01/28 | 3637 | macros/xetex/latex/xduts/README.md
+2023/01/28 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
+2023/01/28 | 275463 | macros/xetex/latex/xduts/xduts.dtx
+2023/01/28 | 1186 | macros/xetex/latex/xduts/xduts.ins
+2023/01/28 | 332217 | macros/xetex/latex/xduts/xduts.pdf
+2023/01/28 | 1262318 | macros/xetex/latex/xduts.zip
2017/08/03 | 11999 | macros/xetex/latex/xechangebar/cbtest1.tex
2017/08/03 | 338 | macros/xetex/latex/xechangebar/README
2017/08/03 | 35213 | macros/xetex/latex/xechangebar/xechangebar.sty
@@ -287577,14 +287590,14 @@
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.amd64-freebsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.amd64-netbsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.armhf-linux.r57089.tar.xz
-2021/11/28 | 101296 | systems/texlive/tlnet/archive/albatross.doc.r61175.tar.xz
+2023/01/28 | 107996 | systems/texlive/tlnet/archive/albatross.doc.r65647.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-cygwin.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-freebsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-linux.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-netbsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-solaris.r57089.tar.xz
-2021/11/28 | 2176876 | systems/texlive/tlnet/archive/albatross.r61175.tar.xz
-2021/11/28 | 4992 | systems/texlive/tlnet/archive/albatross.source.r61175.tar.xz
+2023/01/28 | 5078704 | systems/texlive/tlnet/archive/albatross.r65647.tar.xz
+2023/01/28 | 11296 | systems/texlive/tlnet/archive/albatross.source.r65647.tar.xz
2021/02/25 | 344 | systems/texlive/tlnet/archive/albatross.universal-darwin.r57908.tar.xz
2021/01/15 | 680 | systems/texlive/tlnet/archive/albatross.win32.r57420.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.x86_64-cygwin.r57089.tar.xz
@@ -289644,9 +289657,9 @@
2019/02/28 | 3964 | systems/texlive/tlnet/archive/cntperchap.r37572.tar.xz
2022/02/18 | 577192 | systems/texlive/tlnet/archive/cochineal.doc.r62063.tar.xz
2022/02/18 | 2864036 | systems/texlive/tlnet/archive/cochineal.r62063.tar.xz
-2019/07/13 | 257164 | systems/texlive/tlnet/archive/codeanatomy.doc.r51627.tar.xz
-2019/07/13 | 1836 | systems/texlive/tlnet/archive/codeanatomy.r51627.tar.xz
-2019/07/13 | 4596 | systems/texlive/tlnet/archive/codeanatomy.source.r51627.tar.xz
+2023/01/28 | 296484 | systems/texlive/tlnet/archive/codeanatomy.doc.r65648.tar.xz
+2023/01/28 | 1844 | systems/texlive/tlnet/archive/codeanatomy.r65648.tar.xz
+2023/01/28 | 4844 | systems/texlive/tlnet/archive/codeanatomy.source.r65648.tar.xz
2022/01/29 | 385704 | systems/texlive/tlnet/archive/codebox.doc.r61771.tar.xz
2022/01/29 | 3640 | systems/texlive/tlnet/archive/codebox.r61771.tar.xz
2019/02/28 | 377460 | systems/texlive/tlnet/archive/codedoc.doc.r17630.tar.xz
@@ -289706,10 +289719,10 @@
2023/01/19 | 1648 | systems/texlive/tlnet/archive/collection-mathscience.r65578.tar.xz
2022/11/01 | 556 | systems/texlive/tlnet/archive/collection-metapost.r64878.tar.xz
2022/11/08 | 484 | systems/texlive/tlnet/archive/collection-music.r64966.tar.xz
-2023/01/26 | 1552 | systems/texlive/tlnet/archive/collection-pictures.r65624.tar.xz
+2023/01/28 | 1552 | systems/texlive/tlnet/archive/collection-pictures.r65649.tar.xz
2023/01/26 | 976 | systems/texlive/tlnet/archive/collection-plaingeneric.r65622.tar.xz
2022/12/27 | 816 | systems/texlive/tlnet/archive/collection-pstricks.r65367.tar.xz
-2023/01/06 | 1676 | systems/texlive/tlnet/archive/collection-publishers.r65470.tar.xz
+2023/01/28 | 1680 | systems/texlive/tlnet/archive/collection-publishers.r65646.tar.xz
2020/03/04 | 340 | systems/texlive/tlnet/archive/collection-texworks.r54074.tar.xz
2020/03/04 | 388 | systems/texlive/tlnet/archive/collection-wintools.r54074.tar.xz
2022/11/08 | 660 | systems/texlive/tlnet/archive/collection-xetex.r64951.tar.xz
@@ -291899,9 +291912,9 @@
2019/08/06 | 202740 | systems/texlive/tlnet/archive/fixcmex.doc.r51825.tar.xz
2019/08/06 | 1400 | systems/texlive/tlnet/archive/fixcmex.r51825.tar.xz
2019/08/06 | 2868 | systems/texlive/tlnet/archive/fixcmex.source.r51825.tar.xz
-2023/01/24 | 261224 | systems/texlive/tlnet/archive/fixdif.doc.r65614.tar.xz
-2023/01/24 | 1792 | systems/texlive/tlnet/archive/fixdif.r65614.tar.xz
-2023/01/24 | 6988 | systems/texlive/tlnet/archive/fixdif.source.r65614.tar.xz
+2023/01/28 | 261940 | systems/texlive/tlnet/archive/fixdif.doc.r65644.tar.xz
+2023/01/28 | 1812 | systems/texlive/tlnet/archive/fixdif.r65644.tar.xz
+2023/01/28 | 6996 | systems/texlive/tlnet/archive/fixdif.source.r65644.tar.xz
2019/02/28 | 50024 | systems/texlive/tlnet/archive/fixfoot.doc.r17131.tar.xz
2019/02/28 | 3280 | systems/texlive/tlnet/archive/fixfoot.r17131.tar.xz
2022/07/24 | 286260 | systems/texlive/tlnet/archive/fixjfm.doc.r63967.tar.xz
@@ -293121,8 +293134,8 @@
2019/02/28 | 9512 | systems/texlive/tlnet/archive/ieeepes.r17359.tar.xz
2021/06/23 | 487300 | systems/texlive/tlnet/archive/ieeetran.doc.r59672.tar.xz
2021/06/23 | 89348 | systems/texlive/tlnet/archive/ieeetran.r59672.tar.xz
-2022/04/06 | 149524 | systems/texlive/tlnet/archive/ieejtran.doc.r62957.tar.xz
-2022/04/06 | 17644 | systems/texlive/tlnet/archive/ieejtran.r62957.tar.xz
+2023/01/28 | 150936 | systems/texlive/tlnet/archive/ieejtran.doc.r65641.tar.xz
+2023/01/28 | 17688 | systems/texlive/tlnet/archive/ieejtran.r65641.tar.xz
2019/02/28 | 3464 | systems/texlive/tlnet/archive/ietfbibs.doc.r41332.tar.xz
2019/02/28 | 456 | systems/texlive/tlnet/archive/ietfbibs.r41332.tar.xz
2022/11/03 | 331872 | systems/texlive/tlnet/archive/iexec.doc.r64908.tar.xz
@@ -293390,8 +293403,8 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/jfmutil.x86_64-linuxmusl.r46840.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/jfmutil.x86_64-linux.r44835.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/jfmutil.x86_64-solaris.r44835.tar.xz
-2022/04/06 | 151932 | systems/texlive/tlnet/archive/jieeetran.doc.r62958.tar.xz
-2022/04/06 | 17652 | systems/texlive/tlnet/archive/jieeetran.r62958.tar.xz
+2023/01/28 | 153340 | systems/texlive/tlnet/archive/jieeetran.doc.r65642.tar.xz
+2023/01/28 | 17708 | systems/texlive/tlnet/archive/jieeetran.r65642.tar.xz
2022/07/20 | 173688 | systems/texlive/tlnet/archive/jigsaw.doc.r63937.tar.xz
2022/07/20 | 1532 | systems/texlive/tlnet/archive/jigsaw.r63937.tar.xz
2019/02/28 | 128124 | systems/texlive/tlnet/archive/jkmath.doc.r47109.tar.xz
@@ -294670,8 +294683,8 @@
2020/08/15 | 7092 | systems/texlive/tlnet/archive/luaprogtable.r56113.tar.xz
2022/09/13 | 1524 | systems/texlive/tlnet/archive/luapstricks.doc.r64345.tar.xz
2022/09/13 | 26996 | systems/texlive/tlnet/archive/luapstricks.r64345.tar.xz
-2023/01/16 | 109104 | systems/texlive/tlnet/archive/luaquotes.doc.r65547.tar.xz
-2023/01/16 | 3128 | systems/texlive/tlnet/archive/luaquotes.r65547.tar.xz
+2023/01/28 | 65436 | systems/texlive/tlnet/archive/luaquotes.doc.r65652.tar.xz
+2023/01/28 | 3384 | systems/texlive/tlnet/archive/luaquotes.r65652.tar.xz
2019/02/28 | 50272 | systems/texlive/tlnet/archive/luarandom.doc.r49419.tar.xz
2019/02/28 | 1392 | systems/texlive/tlnet/archive/luarandom.r49419.tar.xz
2022/12/28 | 115012 | systems/texlive/tlnet/archive/luaset.doc.r65376.tar.xz
@@ -296794,6 +296807,8 @@
2019/02/28 | 38588 | systems/texlive/tlnet/archive/pittetd.source.r15878.tar.xz
2022/11/22 | 385852 | systems/texlive/tlnet/archive/pixelart.doc.r65075.tar.xz
2022/11/22 | 6696 | systems/texlive/tlnet/archive/pixelart.r65075.tar.xz
+2023/01/28 | 813496 | systems/texlive/tlnet/archive/pixelarttikz.doc.r65649.tar.xz
+2023/01/28 | 1912 | systems/texlive/tlnet/archive/pixelarttikz.r65649.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/pkfix.aarch64-linux.r46208.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/pkfix.amd64-freebsd.r16472.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/pkfix.amd64-netbsd.r30191.tar.xz
@@ -298004,9 +298019,9 @@
2022/10/18 | 2340 | systems/texlive/tlnet/archive/schola-otf.r64734.tar.xz
2022/02/02 | 341700 | systems/texlive/tlnet/archive/scholax.doc.r61836.tar.xz
2022/02/02 | 1884328 | systems/texlive/tlnet/archive/scholax.r61836.tar.xz
-2022/01/24 | 905936 | systems/texlive/tlnet/archive/schooldocs.doc.r61719.tar.xz
-2022/01/24 | 3048 | systems/texlive/tlnet/archive/schooldocs.r61719.tar.xz
-2022/01/24 | 10412 | systems/texlive/tlnet/archive/schooldocs.source.r61719.tar.xz
+2023/01/28 | 516488 | systems/texlive/tlnet/archive/schooldocs.doc.r65650.tar.xz
+2023/01/28 | 3008 | systems/texlive/tlnet/archive/schooldocs.r65650.tar.xz
+2023/01/28 | 10576 | systems/texlive/tlnet/archive/schooldocs.source.r65650.tar.xz
2021/08/11 | 6291584 | systems/texlive/tlnet/archive/schule.doc.r60210.tar.xz
2021/08/11 | 39592 | systems/texlive/tlnet/archive/schule.r60210.tar.xz
2022/08/13 | 209440 | systems/texlive/tlnet/archive/schulmathematik.doc.r64108.tar.xz
@@ -298066,9 +298081,9 @@
2019/02/28 | 1565692 | systems/texlive/tlnet/archive/sduthesis.doc.r41401.tar.xz
2019/02/28 | 1230616 | systems/texlive/tlnet/archive/sduthesis.r41401.tar.xz
2019/02/28 | 24124 | systems/texlive/tlnet/archive/sduthesis.source.r41401.tar.xz
-2023/01/11 | 1382428 | systems/texlive/tlnet/archive/se2thesis.doc.r65510.tar.xz
-2023/01/11 | 7956 | systems/texlive/tlnet/archive/se2thesis.r65510.tar.xz
-2023/01/11 | 20560 | systems/texlive/tlnet/archive/se2thesis.source.r65510.tar.xz
+2023/01/28 | 1420024 | systems/texlive/tlnet/archive/se2thesis.doc.r65645.tar.xz
+2023/01/28 | 8240 | systems/texlive/tlnet/archive/se2thesis.r65645.tar.xz
+2023/01/28 | 20964 | systems/texlive/tlnet/archive/se2thesis.source.r65645.tar.xz
2019/02/28 | 256480 | systems/texlive/tlnet/archive/secdot.doc.r20208.tar.xz
2019/02/28 | 1572 | systems/texlive/tlnet/archive/secdot.r20208.tar.xz
2022/01/31 | 445424 | systems/texlive/tlnet/archive/secnum.doc.r61813.tar.xz
@@ -298854,7 +298869,8 @@
2019/02/28 | 436 | systems/texlive/tlnet/archive/tamethebeast.r15878.tar.xz
2019/02/28 | 117652 | systems/texlive/tlnet/archive/t-angles.doc.r15878.tar.xz
2019/02/28 | 5684 | systems/texlive/tlnet/archive/t-angles.r15878.tar.xz
-2023/01/26 | 532 | systems/texlive/tlnet/archive/tangramtikz.r65631.tar.xz
+2023/01/28 | 702924 | systems/texlive/tlnet/archive/tangramtikz.doc.r65643.tar.xz
+2023/01/28 | 3756 | systems/texlive/tlnet/archive/tangramtikz.r65643.tar.xz
2019/02/28 | 27740 | systems/texlive/tlnet/archive/tap.doc.r31731.tar.xz
2019/02/28 | 53796 | systems/texlive/tlnet/archive/tapir.doc.r20484.tar.xz
2019/02/28 | 51876 | systems/texlive/tlnet/archive/tapir.r20484.tar.xz
@@ -299155,8 +299171,8 @@
2022/02/28 | 276 | systems/texlive/tlnet/archive/texlive-de.r62234.tar.xz
2022/12/27 | 2008100 | systems/texlive/tlnet/archive/texlive-en.doc.r65369.tar.xz
2022/12/27 | 276 | systems/texlive/tlnet/archive/texlive-en.r65369.tar.xz
-2023/01/27 | 5196084 | systems/texlive/tlnet/archive/texlive-es.doc.r65637.tar.xz
-2023/01/27 | 276 | systems/texlive/tlnet/archive/texlive-es.r65637.tar.xz
+2023/01/28 | 5187352 | systems/texlive/tlnet/archive/texlive-es.doc.r65640.tar.xz
+2023/01/28 | 272 | systems/texlive/tlnet/archive/texlive-es.r65640.tar.xz
2022/04/19 | 1426944 | systems/texlive/tlnet/archive/texlive-fr.doc.r63071.tar.xz
2022/04/19 | 276 | systems/texlive/tlnet/archive/texlive-fr.r63071.tar.xz
2022/02/10 | 82736 | systems/texlive/tlnet/archive/texlive.infra.aarch64-linux.r61925.tar.xz
@@ -299208,7 +299224,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/01/27 | 424188 | systems/texlive/tlnet/archive/texlive-scripts.doc.r65634.tar.xz
+2023/01/28 | 424256 | systems/texlive/tlnet/archive/texlive-scripts.doc.r65639.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
@@ -299232,7 +299248,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/01/27 | 113696 | systems/texlive/tlnet/archive/texlive-scripts.r65634.tar.xz
+2023/01/28 | 113696 | systems/texlive/tlnet/archive/texlive-scripts.r65639.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2022/11/29 | 36264 | systems/texlive/tlnet/archive/texlive-scripts.win32.r65128.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -300211,8 +300227,8 @@
2022/09/26 | 514004 | systems/texlive/tlnet/archive/universalis.r64505.tar.xz
2019/08/30 | 16744 | systems/texlive/tlnet/archive/universa.r51984.tar.xz
2019/08/30 | 55964 | systems/texlive/tlnet/archive/universa.source.r51984.tar.xz
-2022/12/07 | 3259724 | systems/texlive/tlnet/archive/univie-ling.doc.r65214.tar.xz
-2022/12/07 | 160424 | systems/texlive/tlnet/archive/univie-ling.r65214.tar.xz
+2023/01/28 | 4096264 | systems/texlive/tlnet/archive/univie-ling.doc.r65651.tar.xz
+2023/01/28 | 164236 | systems/texlive/tlnet/archive/univie-ling.r65651.tar.xz
2019/02/28 | 71452 | systems/texlive/tlnet/archive/uni-wtal-ger.doc.r31541.tar.xz
2019/02/28 | 1644 | systems/texlive/tlnet/archive/uni-wtal-ger.r31541.tar.xz
2019/02/28 | 93524 | systems/texlive/tlnet/archive/uni-wtal-lin.doc.r31409.tar.xz
@@ -300224,6 +300240,9 @@
2021/05/13 | 53380 | systems/texlive/tlnet/archive/unravel.source.r59175.tar.xz
2019/02/28 | 119528 | systems/texlive/tlnet/archive/unswcover.doc.r29476.tar.xz
2019/02/28 | 2664 | systems/texlive/tlnet/archive/unswcover.r29476.tar.xz
+2023/01/28 | 181896 | systems/texlive/tlnet/archive/uol-physics-report.doc.r65646.tar.xz
+2023/01/28 | 2328 | systems/texlive/tlnet/archive/uol-physics-report.r65646.tar.xz
+2023/01/28 | 3704 | systems/texlive/tlnet/archive/uol-physics-report.source.r65646.tar.xz
2019/02/28 | 608984 | systems/texlive/tlnet/archive/uothesis.doc.r25355.tar.xz
2019/02/28 | 8728 | systems/texlive/tlnet/archive/uothesis.r25355.tar.xz
2019/02/28 | 24256 | systems/texlive/tlnet/archive/uothesis.source.r25355.tar.xz
@@ -301092,16 +301111,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
2022/07/17 | 124404 | systems/texlive/tlnet/install-tl
-2023/01/27 | 5828881 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/01/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/01/27 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/01/28 | 5828915 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/01/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/01/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2023/01/27 | 20436214 | systems/texlive/tlnet/install-tl-windows.exe
-2023/01/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/01/27 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/01/27 | 25513730 | systems/texlive/tlnet/install-tl.zip
-2023/01/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/01/27 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/01/28 | 20434361 | systems/texlive/tlnet/install-tl-windows.exe
+2023/01/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/01/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/01/28 | 25513718 | systems/texlive/tlnet/install-tl.zip
+2023/01/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/01/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -301111,7 +301130,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/01/17 | 49938 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/01/26 | 7322 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/01/27 | 7278 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/01/11 | 216583 | 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
@@ -301154,12 +301173,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/01/27 | 18008685 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/01/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/01/28 | 18013364 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/01/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/01/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/01/27 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/01/27 | 2444276 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/01/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/01/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/01/28 | 2444348 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/09/14 | 58922 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/10/04 | 42404 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -306622,7 +306641,7 @@
2022/11/01 | 5115 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2023/01/27 | 752817 | systems/win32/miktex/tm/packages/files.csv.lzma
+2023/01/28 | 753109 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -308214,241 +308233,241 @@
2016/07/16 | 344819 | systems/win32/miktex/tm/packages/midnight.tar.lzma
2010/03/16 | 190135 | systems/win32/miktex/tm/packages/midpage.tar.lzma
2022/07/26 | 51788 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma
-2022/12/11 | 57192 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
+2023/01/28 | 36411 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
2022/07/26 | 1023495 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-2.9.tar.lzma
-2022/12/11 | 1168244 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/01/28 | 1166476 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
2022/07/26 | 28812 | systems/win32/miktex/tm/packages/miktex-autosp-bin-2.9.tar.lzma
-2022/12/11 | 31697 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
+2023/01/28 | 31683 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
2022/07/26 | 30075 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-2.9.tar.lzma
-2022/12/11 | 35269 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 36564 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
2022/07/26 | 56698 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-2.9.tar.lzma
-2022/12/11 | 65857 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
+2023/01/28 | 67101 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
2022/07/26 | 83765 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/12/12 | 101600 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2023/01/28 | 102850 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2022/07/26 | 69127 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-2.9.tar.lzma
-2022/12/11 | 77632 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
+2023/01/28 | 78647 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
2022/07/26 | 27365 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-2.9.tar.lzma
-2022/12/11 | 31598 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
+2023/01/28 | 31580 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
2022/07/26 | 332598 | systems/win32/miktex/tm/packages/miktex-cairo-bin-2.9.tar.lzma
-2022/12/11 | 394702 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
+2023/01/28 | 395125 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
2013/06/24 | 447360 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x86-2.9.tar.lzma
2022/07/26 | 32659 | systems/win32/miktex/tm/packages/miktex-chktex-bin-2.9.tar.lzma
-2022/12/11 | 38825 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 40127 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
2022/07/26 | 51394 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-2.9.tar.lzma
-2022/12/11 | 57860 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/03/12 | 5022 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
+2023/01/28 | 58460 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 5195 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
2022/07/26 | 244550 | systems/win32/miktex/tm/packages/miktex-console-bin-2.9.tar.lzma
-2022/12/11 | 271111 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
+2023/01/28 | 271855 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
2022/07/26 | 179664 | systems/win32/miktex/tm/packages/miktex-curl-bin-2.9.tar.lzma
-2022/12/11 | 196600 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
+2023/01/28 | 221221 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
2022/07/26 | 93078 | systems/win32/miktex/tm/packages/miktex-cweb-bin-2.9.tar.lzma
-2022/12/11 | 103535 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
+2023/01/28 | 106244 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
2022/07/26 | 21304 | systems/win32/miktex/tm/packages/miktex-devnag-bin-2.9.tar.lzma
-2022/12/11 | 24059 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
+2023/01/28 | 25400 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
2020/02/07 | 785398 | systems/win32/miktex/tm/packages/miktex-dict-british.tar.lzma
2016/11/02 | 171725 | systems/win32/miktex/tm/packages/miktex-dict-english.tar.lzma
2016/11/02 | 292320 | systems/win32/miktex/tm/packages/miktex-dict-french.tar.lzma
2016/11/02 | 967418 | systems/win32/miktex/tm/packages/miktex-dict-german.tar.lzma
2020/05/17 | 460366 | systems/win32/miktex/tm/packages/miktex-doc-2.9.tar.lzma
-2022/12/11 | 473624 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
+2023/01/28 | 473562 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
2022/07/26 | 46387 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-2.9.tar.lzma
-2022/12/11 | 52624 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2023/01/28 | 53977 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
2022/07/26 | 285874 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/12/11 | 327447 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 328941 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/11/30 | 5049 | systems/win32/miktex/tm/packages/miktex-dvipdfmx.tar.lzma
2022/07/26 | 41442 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-2.9.tar.lzma
-2022/12/11 | 45707 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
+2023/01/28 | 47038 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
2022/07/26 | 120742 | systems/win32/miktex/tm/packages/miktex-dvips-bin-2.9.tar.lzma
-2022/12/11 | 136093 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
+2023/01/28 | 137698 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
2017/04/09 | 4195 | systems/win32/miktex/tm/packages/miktex-dvips.tar.lzma
2022/07/26 | 1311595 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/12/11 | 1459611 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2023/01/28 | 1454126 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2022/07/26 | 99307 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-2.9.tar.lzma
-2022/12/11 | 121055 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2023/01/28 | 100067 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
2016/11/03 | 672 | systems/win32/miktex/tm/packages/miktex-etex.tar.lzma
2022/07/26 | 43659 | systems/win32/miktex/tm/packages/miktex-expat-bin-2.9.tar.lzma
-2022/12/11 | 48935 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2023/01/28 | 49573 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
2022/07/26 | 25280 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-2.9.tar.lzma
-2022/12/11 | 28727 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2023/01/28 | 28744 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
2022/07/26 | 56918 | systems/win32/miktex/tm/packages/miktex-fmt-bin-2.9.tar.lzma
-2022/12/11 | 62737 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
+2023/01/28 | 77539 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
2015/09/08 | 11241 | systems/win32/miktex/tm/packages/miktex-fontconfig-base.tar.lzma
2022/07/26 | 136111 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma
-2022/12/11 | 155441 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2023/01/28 | 157372 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
2016/11/04 | 3555 | systems/win32/miktex/tm/packages/miktex-fontconfig.tar.lzma
2022/07/26 | 74078 | systems/win32/miktex/tm/packages/miktex-fonts-bin-2.9.tar.lzma
-2022/12/11 | 79774 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
+2023/01/28 | 81358 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
2022/07/26 | 71907 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-2.9.tar.lzma
-2022/12/11 | 81476 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
+2023/01/28 | 81928 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/07/26 | 259267 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-2.9.tar.lzma
-2022/12/11 | 296249 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2023/01/28 | 305340 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
2022/07/26 | 22141 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/12/11 | 25222 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 25462 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2022/07/26 | 97375 | systems/win32/miktex/tm/packages/miktex-gd-bin-2.9.tar.lzma
-2022/12/11 | 113108 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
+2023/01/28 | 105322 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
2018/09/25 | 10777812 | systems/win32/miktex/tm/packages/miktex-ghostscript-bin.tar.lzma
2018/09/25 | 11056498 | systems/win32/miktex/tm/packages/miktex-ghostscript-bin-x64.tar.lzma
2022/07/26 | 64580 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-2.9.tar.lzma
-2022/12/11 | 73287 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/01/28 | 73263 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
2022/07/26 | 96681 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-2.9.tar.lzma
-2022/12/11 | 115795 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
+2023/01/28 | 117150 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
2022/07/26 | 38665 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/12/11 | 44041 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 44056 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2022/07/26 | 484112 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/12/11 | 571290 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2023/01/28 | 699533 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2019/09/28 | 1103778 | systems/win32/miktex/tm/packages/miktex-harftex-bin-2.9.tar.lzma
2019/09/28 | 1272652 | systems/win32/miktex/tm/packages/miktex-harftex-bin-x64-2.9.tar.lzma
2022/07/26 | 204264 | systems/win32/miktex/tm/packages/miktex-hitex-bin.tar.lzma
-2022/12/11 | 247415 | systems/win32/miktex/tm/packages/miktex-hitex-bin-x64.tar.lzma
+2023/01/28 | 249802 | systems/win32/miktex/tm/packages/miktex-hitex-bin-x64.tar.lzma
2022/07/26 | 152533 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-2.9.tar.lzma
-2022/12/11 | 175460 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
+2023/01/28 | 216657 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
2017/11/02 | 7484214 | systems/win32/miktex/tm/packages/miktex-icu-bin.tar.lzma
2022/11/25 | 9247550 | systems/win32/miktex/tm/packages/miktex-icu-bin-x64.tar.lzma
2022/07/26 | 95516 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-2.9.tar.lzma
-2022/12/11 | 109694 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
+2023/01/28 | 109709 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
2022/07/26 | 16454 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-2.9.tar.lzma
-2022/12/11 | 18354 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2023/01/28 | 19673 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
2022/07/26 | 28492 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-2.9.tar.lzma
-2022/12/11 | 30888 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
+2023/01/28 | 32648 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
2021/03/18 | 1262 | systems/win32/miktex/tm/packages/miktex-latex.tar.lzma
2022/07/26 | 631347 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/12/11 | 702440 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2023/01/28 | 705732 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2022/07/26 | 532312 | systems/win32/miktex/tm/packages/miktex-libressl-bin-2.9.tar.lzma
-2022/12/11 | 599835 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
+2023/01/28 | 599891 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
2022/07/26 | 477940 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-2.9.tar.lzma
-2022/12/11 | 530546 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2023/01/28 | 529099 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
2019/01/02 | 71265 | systems/win32/miktex/tm/packages/miktex-lua52-bin-2.9.tar.lzma
2019/01/02 | 80005 | systems/win32/miktex/tm/packages/miktex-lua52-bin-x64-2.9.tar.lzma
2022/07/26 | 94055 | systems/win32/miktex/tm/packages/miktex-lua53-bin-2.9.tar.lzma
-2022/12/11 | 103771 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
+2023/01/28 | 103819 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
2022/07/26 | 1733266 | systems/win32/miktex/tm/packages/miktex-luatex-bin-2.9.tar.lzma
-2022/12/11 | 2002691 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
+2023/01/28 | 2001199 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
2016/11/06 | 11511 | systems/win32/miktex/tm/packages/miktex-luatex.tar.lzma
2022/07/26 | 67910 | systems/win32/miktex/tm/packages/miktex-lzma-bin-2.9.tar.lzma
-2022/12/11 | 73953 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
+2023/01/28 | 81514 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
2022/07/26 | 27717 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-2.9.tar.lzma
-2022/12/11 | 32426 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
+2023/01/28 | 33634 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
2022/07/26 | 7735 | systems/win32/miktex/tm/packages/miktex-md5-bin-2.9.tar.lzma
-2022/12/11 | 8812 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
+2023/01/28 | 8772 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
2022/07/26 | 190604 | systems/win32/miktex/tm/packages/miktex-metafont-bin-2.9.tar.lzma
-2022/12/11 | 209096 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
+2023/01/28 | 231148 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
2016/11/04 | 675 | systems/win32/miktex/tm/packages/miktex-metafont.tar.lzma
2022/07/26 | 251086 | systems/win32/miktex/tm/packages/miktex-metapost-bin-2.9.tar.lzma
-2022/12/11 | 286796 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
+2023/01/28 | 288182 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
2016/11/04 | 687 | systems/win32/miktex/tm/packages/miktex-metapost.tar.lzma
2022/07/26 | 99463 | systems/win32/miktex/tm/packages/miktex-mfware-bin-2.9.tar.lzma
-2022/12/11 | 105431 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
+2023/01/28 | 108126 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
2022/12/20 | 23108 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
2021/12/09 | 64527 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-2.9.tar.lzma
2021/12/09 | 74601 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2022/07/26 | 126901 | systems/win32/miktex/tm/packages/miktex-mktex-bin-2.9.tar.lzma
-2022/12/11 | 140633 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 139634 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
2022/07/26 | 287501 | systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma
-2022/12/11 | 327094 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
+2023/01/28 | 287982 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
2022/07/26 | 199806 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-2.9.tar.lzma
-2022/12/11 | 181759 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
+2023/01/28 | 182569 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
2022/07/26 | 49743 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-2.9.tar.lzma
-2022/12/11 | 55770 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2023/01/28 | 55703 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
2022/07/26 | 31439 | systems/win32/miktex/tm/packages/miktex-mspack-bin-2.9.tar.lzma
-2022/12/11 | 35191 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
+2023/01/28 | 35188 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
2022/07/26 | 38309 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-2.9.tar.lzma
-2022/12/11 | 43809 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 43716 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
2022/07/26 | 43447 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-2.9.tar.lzma
-2022/12/11 | 48163 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
+2023/01/28 | 47992 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
2022/07/26 | 45780 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-2.9.tar.lzma
-2022/12/11 | 52496 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
+2023/01/28 | 52507 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
2006/05/19 | 1267123 | systems/win32/miktex/tm/packages/miktex-omega-base.cab
2020/05/12 | 354540 | systems/win32/miktex/tm/packages/miktex-omega-bin-2.9.tar.lzma
2020/05/12 | 387734 | systems/win32/miktex/tm/packages/miktex-omega-bin-x64-2.9.tar.lzma
2016/11/04 | 746 | systems/win32/miktex/tm/packages/miktex-omega.tar.lzma
2022/07/26 | 197278 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-2.9.tar.lzma
-2022/12/11 | 213720 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
+2023/01/28 | 217518 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
2022/07/26 | 36415 | systems/win32/miktex/tm/packages/miktex-patgen-bin.tar.lzma
-2022/12/11 | 41714 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
+2023/01/28 | 43026 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
2022/07/26 | 754258 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-2.9.tar.lzma
-2022/12/11 | 829498 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
+2023/01/28 | 829864 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
2016/11/10 | 1683 | systems/win32/miktex/tm/packages/miktex-pdftex.tar.lzma
2022/07/26 | 200463 | systems/win32/miktex/tm/packages/miktex-pixman-bin-2.9.tar.lzma
-2022/12/11 | 203438 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
+2023/01/28 | 203395 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
2022/07/26 | 210552 | systems/win32/miktex/tm/packages/miktex-pmx-bin-2.9.tar.lzma
-2022/12/11 | 245772 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 245724 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
2022/07/26 | 79370 | systems/win32/miktex/tm/packages/miktex-png-bin-2.9.tar.lzma
-2022/12/11 | 88410 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2023/01/28 | 88408 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
2022/07/26 | 1180255 | systems/win32/miktex/tm/packages/miktex-poppler-bin-2.9.tar.lzma
-2022/12/11 | 1333253 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
+2023/01/28 | 1340084 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
2022/07/26 | 20173 | systems/win32/miktex/tm/packages/miktex-popt-bin-2.9.tar.lzma
-2022/12/11 | 24011 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
+2023/01/28 | 24002 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
2022/07/26 | 31551 | systems/win32/miktex/tm/packages/miktex-posix-bin-2.9.tar.lzma
-2022/12/11 | 37548 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
+2023/01/28 | 37451 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
2022/07/26 | 64801 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-2.9.tar.lzma
-2022/12/11 | 72910 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 74515 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
2016/07/29 | 121451 | systems/win32/miktex/tm/packages/miktex-psutils-base.tar.lzma
2022/07/26 | 50923 | systems/win32/miktex/tm/packages/miktex-psutils-bin-2.9.tar.lzma
-2022/12/11 | 58172 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 59707 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
2022/07/26 | 699984 | systems/win32/miktex/tm/packages/miktex-ptex-bin.tar.lzma
-2022/12/12 | 688740 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma
+2023/01/28 | 500516 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma
2021/03/08 | 8242908 | systems/win32/miktex/tm/packages/miktex-qt5-bin.tar.lzma
2021/03/08 | 9576187 | systems/win32/miktex/tm/packages/miktex-qt5-bin-x64.tar.lzma
2022/07/26 | 1355602 | systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma
-2022/12/12 | 1512823 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
+2023/01/28 | 1522804 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
2022/07/26 | 42689 | systems/win32/miktex/tm/packages/miktex-synctex-bin-2.9.tar.lzma
-2022/12/11 | 52674 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
+2023/01/28 | 54563 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
2020/05/17 | 74366 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-2.9.tar.lzma
2022/07/26 | 57357 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin.tar.lzma
2020/05/17 | 82298 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64-2.9.tar.lzma
-2022/12/11 | 64473 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
+2023/01/28 | 63915 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
2022/07/26 | 25544 | systems/win32/miktex/tm/packages/miktex-teckit-bin-2.9.tar.lzma
-2022/12/11 | 27795 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
+2023/01/28 | 27678 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
2022/07/26 | 16512 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/12/11 | 18473 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2023/01/28 | 19739 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2022/07/26 | 64457 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-2.9.tar.lzma
-2022/12/11 | 71199 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2023/01/28 | 72811 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
2020/01/26 | 4527 | systems/win32/miktex/tm/packages/miktex-tex4ht.tar.lzma
2022/07/26 | 157170 | systems/win32/miktex/tm/packages/miktex-tex-bin-2.9.tar.lzma
-2022/12/11 | 173392 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
+2023/01/28 | 174171 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
2022/07/26 | 58378 | systems/win32/miktex/tm/packages/miktex-texify-bin-2.9.tar.lzma
-2022/12/11 | 69223 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
+2023/01/28 | 69211 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
2016/11/05 | 748 | systems/win32/miktex/tm/packages/miktex-texinfo.tar.lzma
2016/11/05 | 724 | systems/win32/miktex/tm/packages/miktex-tex.tar.lzma
2022/07/26 | 100549 | systems/win32/miktex/tm/packages/miktex-texware-bin-2.9.tar.lzma
-2022/12/11 | 109229 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
+2023/01/28 | 111815 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
2022/07/26 | 2697009 | systems/win32/miktex/tm/packages/miktex-texworks-bin-2.9.tar.lzma
-2022/12/11 | 2831528 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
+2023/01/28 | 2831412 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
2022/07/26 | 55433 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/12/11 | 61816 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2023/01/28 | 63216 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2022/07/30 | 466661 | systems/win32/miktex/tm/packages/miktex-ucrt-bin.tar.lzma
2021/12/05 | 474134 | systems/win32/miktex/tm/packages/miktex-ucrt-bin-x64.tar.lzma
2022/07/26 | 37062 | systems/win32/miktex/tm/packages/miktex-upmendex-bin.tar.lzma
-2022/12/11 | 42460 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
+2023/01/28 | 43720 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
2022/07/26 | 28691 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-2.9.tar.lzma
-2022/12/11 | 33860 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
+2023/01/28 | 33799 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
2015/10/12 | 2312969 | systems/win32/miktex/tm/packages/miktex-vc120-bin.tar.lzma
2015/10/12 | 2544479 | systems/win32/miktex/tm/packages/miktex-vc120-bin-x64.tar.lzma
2022/07/30 | 2787012 | systems/win32/miktex/tm/packages/miktex-vc140-bin.tar.lzma
2021/12/05 | 3085218 | systems/win32/miktex/tm/packages/miktex-vc140-bin-x64.tar.lzma
2022/07/26 | 67924 | systems/win32/miktex/tm/packages/miktex-web-bin-2.9.tar.lzma
-2022/12/11 | 74302 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
+2023/01/28 | 75908 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
2016/04/19 | 634372 | systems/win32/miktex/tm/packages/miktex-xetex-base.tar.lzma
2022/07/26 | 316671 | systems/win32/miktex/tm/packages/miktex-xetex-bin-2.9.tar.lzma
-2022/12/11 | 352377 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 353525 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
2016/11/05 | 2089 | systems/win32/miktex/tm/packages/miktex-xetex.tar.lzma
2015/06/27 | 136065 | systems/win32/miktex/tm/packages/miktex-xindy-base.tar.lzma
2015/06/19 | 1712962 | systems/win32/miktex/tm/packages/miktex-xindy-bin.tar.lzma
2015/06/19 | 1714958 | systems/win32/miktex/tm/packages/miktex-xindy-bin-x64.tar.lzma
2015/06/19 | 369481 | systems/win32/miktex/tm/packages/miktex-xindy-doc.tar.lzma
2022/07/26 | 55762 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin.tar.lzma
-2022/12/11 | 57385 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
+2023/01/28 | 58726 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
2022/07/26 | 591407 | systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma
-2022/12/11 | 637246 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
+2023/01/28 | 607505 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
2018/01/12 | 138155 | systems/win32/miktex/tm/packages/miktex-zip-bin.tar.lzma
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
-2022/12/11 | 43709 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2023/01/27 | 311169 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2023/01/27 | 1873539 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2023/01/27 | 1638826 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2023/01/28 | 45889 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
+2023/01/28 | 311184 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2023/01/28 | 1872594 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2023/01/28 | 1639108 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
-2022/12/11 | 14432 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
+2023/01/28 | 14475 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
2004/11/11 | 10497 | systems/win32/miktex/tm/packages/miller.cab
2016/07/06 | 405919 | systems/win32/miktex/tm/packages/milog.tar.lzma
@@ -308702,102 +308721,103 @@
2022/11/01 | 230073 | systems/win32/miktex/tm/packages/newverbs__doc.tar.lzma
2022/11/01 | 7969 | systems/win32/miktex/tm/packages/newverbs__source.tar.lzma
2022/11/01 | 3030 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2023/01/27 | 753346 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2023/01/27 | 57271 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2023/01/27 | 1167017 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2023/01/27 | 31743 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2023/01/27 | 35298 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2023/01/27 | 65890 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2023/01/27 | 101570 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2023/01/27 | 77621 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2023/01/27 | 31617 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2023/01/27 | 394926 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2023/01/27 | 37087 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2023/01/27 | 57824 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2023/01/27 | 271184 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2023/01/27 | 196561 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2023/01/27 | 103608 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2023/01/27 | 24044 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2023/01/27 | 472943 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2023/01/27 | 52643 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2023/01/27 | 327834 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2023/01/27 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2023/01/27 | 136091 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2023/01/27 | 1457403 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2023/01/27 | 121111 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2023/01/27 | 48909 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2023/01/27 | 28759 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2023/01/27 | 62768 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2023/01/27 | 155912 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2023/01/27 | 79755 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2023/01/27 | 81345 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2023/01/27 | 296393 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2023/01/27 | 25229 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2023/01/27 | 112871 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2023/01/27 | 73380 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2023/01/27 | 115844 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2023/01/27 | 44073 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2023/01/27 | 572311 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2023/01/27 | 247433 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2023/01/27 | 175413 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2023/01/27 | 109707 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2023/01/27 | 18373 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2023/01/27 | 30502 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2023/01/27 | 702711 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2023/01/27 | 601608 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2023/01/27 | 530088 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2023/01/27 | 103744 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2023/01/27 | 2011775 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2023/01/27 | 73972 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2023/01/27 | 32325 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2023/01/27 | 8832 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2023/01/27 | 208953 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2023/01/27 | 287087 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2023/01/27 | 105274 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2023/01/27 | 140714 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2023/01/27 | 326715 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2023/01/27 | 181590 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2023/01/27 | 55775 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2023/01/27 | 35216 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2023/01/27 | 43877 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2023/01/27 | 48133 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2023/01/27 | 52520 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2023/01/27 | 213280 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2023/01/27 | 41723 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2023/01/27 | 827700 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2023/01/27 | 203526 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2023/01/27 | 245739 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2023/01/27 | 88419 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2023/01/27 | 1336861 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2023/01/27 | 24040 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2023/01/27 | 37409 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2023/01/27 | 72715 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2023/01/27 | 58464 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2023/01/27 | 759540 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2023/01/27 | 1515236 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2023/01/27 | 52735 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2023/01/27 | 64360 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2023/01/27 | 27749 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2023/01/27 | 18486 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2023/01/27 | 71248 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2023/01/27 | 173394 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2023/01/27 | 69259 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2023/01/27 | 109274 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2023/01/27 | 2832043 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2023/01/27 | 61756 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2023/01/27 | 42492 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2023/01/27 | 33881 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2023/01/27 | 74363 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2023/01/27 | 352455 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2023/01/27 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2023/01/27 | 637099 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2023/01/27 | 43699 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2023/01/27 | 311098 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2023/01/27 | 1873934 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2023/01/27 | 1639159 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2023/01/27 | 14451 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2023/01/28 | 753346 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2023/01/28 | 57180 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2023/01/28 | 1168228 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/01/28 | 31767 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2023/01/28 | 35351 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 65869 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2023/01/28 | 101650 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2023/01/28 | 77645 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2023/01/28 | 31612 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2023/01/28 | 394697 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2023/01/28 | 37053 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 57845 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 5216 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2023/01/28 | 271301 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2023/01/28 | 196597 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2023/01/28 | 103574 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2023/01/28 | 24076 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2023/01/28 | 472942 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2023/01/28 | 52693 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2023/01/28 | 327396 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 45766 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2023/01/28 | 136073 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2023/01/28 | 1465059 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2023/01/28 | 121147 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2023/01/28 | 48985 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2023/01/28 | 28752 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2023/01/28 | 62796 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2023/01/28 | 155936 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2023/01/28 | 79797 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2023/01/28 | 81346 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2023/01/28 | 296298 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2023/01/28 | 25221 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 113313 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2023/01/28 | 73372 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/01/28 | 115724 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2023/01/28 | 44068 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 572237 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2023/01/28 | 247514 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2023/01/28 | 175685 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2023/01/28 | 109698 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2023/01/28 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2023/01/28 | 30517 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2023/01/28 | 702262 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2023/01/28 | 599692 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2023/01/28 | 529441 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2023/01/28 | 103747 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2023/01/28 | 1994773 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2023/01/28 | 73958 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2023/01/28 | 32408 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2023/01/28 | 8833 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2023/01/28 | 209033 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2023/01/28 | 287032 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2023/01/28 | 105320 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2023/01/28 | 140615 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 326717 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2023/01/28 | 181648 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2023/01/28 | 55763 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2023/01/28 | 35207 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2023/01/28 | 43909 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 48171 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2023/01/28 | 52536 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2023/01/28 | 214059 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2023/01/28 | 41696 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2023/01/28 | 825934 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2023/01/28 | 203488 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2023/01/28 | 245765 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 88441 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2023/01/28 | 1336924 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2023/01/28 | 24024 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2023/01/28 | 37419 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2023/01/28 | 72741 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 58500 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 759616 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2023/01/28 | 1515036 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2023/01/28 | 52731 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2023/01/28 | 64337 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2023/01/28 | 27706 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2023/01/28 | 18487 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2023/01/28 | 71266 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2023/01/28 | 173529 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2023/01/28 | 69258 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2023/01/28 | 109286 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2023/01/28 | 2831122 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2023/01/28 | 61715 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2023/01/28 | 42477 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2023/01/28 | 33923 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2023/01/28 | 74404 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2023/01/28 | 352892 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 57413 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2023/01/28 | 637071 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2023/01/28 | 43706 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2023/01/28 | 311129 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2023/01/28 | 1874837 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2023/01/28 | 1639096 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2023/01/28 | 14450 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2023/01/27 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2023/01/28 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2023/01/13 | 609191 | systems/win32/miktex/tm/packages/nicefilelist__doc.tar.lzma
@@ -309346,7 +309366,7 @@
2022/02/22 | 6917 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2023/01/27 | 935 | systems/win32/miktex/tm/packages/pr.ini
+2023/01/28 | 1152 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -311400,7 +311420,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/01/28 | 186 | timestamp
+2023/01/29 | 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 083680c401..feeabcabd8 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index f5a2f28bd4..b4a4b7ee20 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,235 +1,589 @@
-2023/01/27 | 97610 | macros/latex/contrib/fixdif/fixdif.pdf
+2023/01/28 | 98124 | macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
+2023/01/28 | 9671406 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/01/28 | 960 | fonts/uptex-fonts/tfm/utmin10.tfm
+2023/01/28 | 960 | fonts/uptex-fonts/tfm/utgoth10.tfm
+2023/01/28 | 94782 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
+2023/01/28 | 93075 | macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
+2023/01/28 | 92370 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
+2023/01/28 | 92154 | macros/latex/contrib/fixdif/fixdif.pdf
+2023/01/28 | 9190 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
+2023/01/28 | 914 | fonts/uptex-fonts/source/uprml-h-hk.pl
+2023/01/28 | 90660 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
+2023/01/28 | 90479 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
+2023/01/28 | 902 | macros/latex/contrib/bmstu/bmstu-biblio.sty
+2023/01/28 | 89816 | macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
+2023/01/28 | 89786 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
+2023/01/28 | 89748 | macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
+2023/01/28 | 89638 | macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
+2023/01/28 | 88441 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2023/01/28 | 88408 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2023/01/28 | 8833 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2023/01/28 | 8818 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
+2023/01/28 | 88153 | macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
+2023/01/28 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
+2023/01/28 | 88039 | macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
+2023/01/28 | 877742 | macros/latex/contrib/bmstu/examples/bmstu-examples.pdf
+2023/01/28 | 8772 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
+2023/01/28 | 87462 | macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
+2023/01/28 | 87342 | macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
+2023/01/28 | 86842 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
+2023/01/28 | 86699 | macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
+2023/01/28 | 86575 | macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
+2023/01/28 | 86556 | macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
+2023/01/28 | 85983 | macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
+2023/01/28 | 85743 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
+2023/01/28 | 85693 | macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
+2023/01/28 | 85692 | macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
+2023/01/28 | 85689 | macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
+2023/01/28 | 852 | macros/latex/contrib/bmstu/README.md
+2023/01/28 | 85253 | macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
+2023/01/28 | 84939 | macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
+2023/01/28 | 84722 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
+2023/01/28 | 84573 | macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
+2023/01/28 | 84447 | macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
+2023/01/28 | 84306 | macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
+2023/01/28 | 84232 | macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
+2023/01/28 | 84127 | macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
+2023/01/28 | 83450 | macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
+2023/01/28 | 829864 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
+2023/01/28 | 825934 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2023/01/28 | 8240 | systems/texlive/tlnet/archive/se2thesis.r65645.tar.xz
+2023/01/28 | 82105 | macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
+2023/01/28 | 81928 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
+2023/01/28 | 81514 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
+2023/01/28 | 81413 | macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
+2023/01/28 | 81358 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
+2023/01/28 | 813496 | systems/texlive/tlnet/archive/pixelarttikz.doc.r65649.tar.xz
+2023/01/28 | 81346 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjpnrm-h.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjpngt-h.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjisr-h.tfm
+2023/01/28 | 812 | fonts/uptex-fonts/tfm/upjisg-h.tfm
+2023/01/28 | 81234 | macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
+2023/01/28 | 81082 | macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
+2023/01/28 | 8053378 | install/fonts/uptex-fonts.tds.zip
+2023/01/28 | 8044288 | fonts/uptex-fonts.zip
+2023/01/28 | 80292 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
+2023/01/28 | 80120 | macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
+2023/01/28 | 79797 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2023/01/28 | 79548 | macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
+2023/01/28 | 792 | macros/latex/contrib/fixdif/README.md
+2023/01/28 | 78972 | macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
+2023/01/28 | 78916 | fonts/uptex-fonts/cmap/UTF8-UTF16
+2023/01/28 | 78838 | macros/latex/contrib/bmstu/examples/inc/img/tux.png
+2023/01/28 | 78647 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
+2023/01/28 | 77798 | macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
+2023/01/28 | 77702 | macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
+2023/01/28 | 77645 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2023/01/28 | 77539 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
+2023/01/28 | 7733 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
+2023/01/28 | 759616 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2023/01/28 | 75908 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
+2023/01/28 | 753346 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2023/01/28 | 753109 | systems/win32/miktex/tm/packages/files.csv.lzma
+2023/01/28 | 74515 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 74404 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2023/01/28 | 742 | macros/latex/contrib/bmstu/bmstu-toc.sty
+2023/01/28 | 7418 | macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+2023/01/28 | 73958 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2023/01/28 | 73372 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/01/28 | 73263 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/01/28 | 72811 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2023/01/28 | 72741 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 71266 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2023/01/28 | 706 | macros/latex/contrib/hvfloat/doc/examples/runAll.sh
+2023/01/28 | 705732 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2023/01/28 | 702924 | systems/texlive/tlnet/archive/tangramtikz.doc.r65643.tar.xz
+2023/01/28 | 702262 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2023/01/28 | 6996 | systems/texlive/tlnet/archive/fixdif.source.r65644.tar.xz
+2023/01/28 | 699533 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2023/01/28 | 694136 | fonts/uptex-fonts/vf/upkorrm-v.vf
+2023/01/28 | 694136 | fonts/uptex-fonts/vf/upkorrm-h.vf
+2023/01/28 | 694132 | fonts/uptex-fonts/vf/upkorgt-v.vf
+2023/01/28 | 694132 | fonts/uptex-fonts/vf/upkorgt-h.vf
+2023/01/28 | 69258 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2023/01/28 | 69211 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
+2023/01/28 | 691 | macros/latex/contrib/hvfloat/doc/examples/runEXA.sh
+2023/01/28 | 675120 | install/macros/latex/contrib/moodle.tds.zip
+2023/01/28 | 67101 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
+2023/01/28 | 6702 | macros/latex/contrib/bmstu/bmstu-title.sty
+2023/01/28 | 65869 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2023/01/28 | 65436 | systems/texlive/tlnet/archive/luaquotes.doc.r65652.tar.xz
+2023/01/28 | 653500 | fonts/uptex-fonts/vf/upjisr-h.vf
+2023/01/28 | 653500 | fonts/uptex-fonts/vf/upjisg-h.vf
+2023/01/28 | 653468 | fonts/uptex-fonts/vf/upjisr-v.vf
+2023/01/28 | 653468 | fonts/uptex-fonts/vf/upjisg-v.vf
+2023/01/28 | 6493 | fonts/uptex-fonts/cmap/cid_mapping.md
+2023/01/28 | 6462 | fonts/uptex-fonts/README_uptex_font.md
+2023/01/28 | 644904 | fonts/uptex-fonts/vf/utmin10.vf
+2023/01/28 | 644904 | fonts/uptex-fonts/vf/utgoth10.vf
+2023/01/28 | 644724 | fonts/uptex-fonts/vf/umin10.vf
+2023/01/28 | 644724 | fonts/uptex-fonts/vf/ugoth10.vf
+2023/01/28 | 64337 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2023/01/28 | 63931 | macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+2023/01/28 | 63915 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
+2023/01/28 | 637071 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2023/01/28 | 63216 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2023/01/28 | 62796 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2023/01/28 | 61715 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2023/01/28 | 617080 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
+2023/01/28 | 6104 | fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V
+2023/01/28 | 6076 | fonts/uptex-fonts/cmap/UniJISup-UTF16-V
+2023/01/28 | 607505 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
+2023/01/28 | 599891 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
+2023/01/28 | 599692 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2023/01/28 | 59707 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 58726 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
+2023/01/28 | 58500 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 58460 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 5828915 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/01/28 | 57845 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2023/01/28 | 57413 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2023/01/28 | 572237 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2023/01/28 | 57180 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2023/01/28 | 55763 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2023/01/28 | 55703 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2023/01/28 | 553 | fonts/uptex-fonts/README.md
+2023/01/28 | 552542 | macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+2023/01/28 | 550130 | macros/latex/contrib/ufrgscca.zip
+2023/01/28 | 54563 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
+2023/01/28 | 53977 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upschrm-h.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upschgt-h.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjpnrm-v.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjpngt-v.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjisr-v.tfm
+2023/01/28 | 536 | fonts/uptex-fonts/tfm/upjisg-v.tfm
+2023/01/28 | 5328 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+2023/01/28 | 529441 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2023/01/28 | 529099 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2023/01/28 | 528 | fonts/uptex-fonts/tfm/upschrm-v.tfm
+2023/01/28 | 528 | fonts/uptex-fonts/tfm/upschgt-v.tfm
+2023/01/28 | 52731 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2023/01/28 | 5271 | fonts/uptex-fonts/source/makejvf-upjis.cnf
+2023/01/28 | 52693 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2023/01/28 | 52536 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2023/01/28 | 52507 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
+2023/01/28 | 5216 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2023/01/28 | 5195 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
+2023/01/28 | 5187352 | systems/texlive/tlnet/archive/texlive-es.doc.r65640.tar.xz
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorrm-v.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorrm-h.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorgt-v.tfm
+2023/01/28 | 516 | fonts/uptex-fonts/tfm/upkorgt-h.tfm
+2023/01/28 | 516488 | systems/texlive/tlnet/archive/schooldocs.doc.r65650.tar.xz
+2023/01/28 | 5163692 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+2023/01/28 | 5078704 | systems/texlive/tlnet/archive/albatross.r65647.tar.xz
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchrm-v.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchrm-h.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchgt-v.tfm
+2023/01/28 | 504 | fonts/uptex-fonts/tfm/uptchgt-h.tfm
+2023/01/28 | 500516 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma
+2023/01/28 | 49573 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2023/01/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/01/28 | 48985 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2023/01/28 | 4854 | macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
+2023/01/28 | 4844 | systems/texlive/tlnet/archive/codeanatomy.source.r65648.tar.xz
+2023/01/28 | 48171 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2023/01/28 | 47992 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
+2023/01/28 | 4780 | macros/latex/contrib/ufrgscca/README.md
+2023/01/28 | 473562 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
+2023/01/28 | 472942 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2023/01/28 | 47038 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
+2023/01/28 | 4667 | macros/latex/contrib/hvfloat/Changes
+2023/01/28 | 45889 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
+2023/01/28 | 45766 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2023/01/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/01/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/01/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/01/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/01/28 | 449298 | macros/latex/contrib/moodle.zip
+2023/01/28 | 44068 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 44056 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2023/01/28 | 43909 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 4380 | fonts/uptex-fonts/README_ASCII_Corp.txt
+2023/01/28 | 43720 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
+2023/01/28 | 43716 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 43706 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2023/01/28 | 432 | fonts/uptex-fonts/tfm/uprml-h.tfm
+2023/01/28 | 432 | fonts/uptex-fonts/tfm/upgbm-h.tfm
+2023/01/28 | 43026 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
+2023/01/28 | 4252 | fonts/uptex-fonts/source/upjisr-h-hk.pl
+2023/01/28 | 42477 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2023/01/28 | 424256 | systems/texlive/tlnet/archive/texlive-scripts.doc.r65639.tar.xz
+2023/01/28 | 419 | fonts/uptex-fonts/source/uprml-h.pl
+2023/01/28 | 41696 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2023/01/28 | 4116 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
+2023/01/28 | 4096264 | systems/texlive/tlnet/archive/univie-ling.doc.r65651.tar.xz
+2023/01/28 | 4071 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
+2023/01/28 | 4040652 | biblio/ctan-bibdata.zip
+2023/01/28 | 40127 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 395125 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
+2023/01/28 | 394697 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2023/01/28 | 3877 | macros/latex/contrib/bmstu/bmstu.cls
+2023/01/28 | 3756 | systems/texlive/tlnet/archive/tangramtikz.r65643.tar.xz
+2023/01/28 | 37451 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
+2023/01/28 | 37419 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2023/01/28 | 37053 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 3704 | systems/texlive/tlnet/archive/uol-physics-report.source.r65646.tar.xz
+2023/01/28 | 370176 | macros/latex/contrib/moodle/moodle.dtx
+2023/01/28 | 369655 | macros/latex/contrib/moodle/moodle.pdf
+2023/01/28 | 36564 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 3645768 | biblio/ctan-bibdata/ctan.pdf
+2023/01/28 | 36411 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
+2023/01/28 | 3637 | macros/xetex/latex/xduts/README.md
+2023/01/28 | 354190 | macros/latex/contrib/bmstu/examples/inc/img/tuz.png
+2023/01/28 | 353525 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 35351 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2023/01/28 | 352892 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 35207 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2023/01/28 | 35188 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
+2023/01/28 | 33923 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2023/01/28 | 3384 | systems/texlive/tlnet/archive/luaquotes.r65652.tar.xz
+2023/01/28 | 33799 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
+2023/01/28 | 33634 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
+2023/01/28 | 33301 | macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+2023/01/28 | 332217 | macros/xetex/latex/xduts/xduts.pdf
+2023/01/28 | 3291 | fonts/uptex-fonts/source/upjisr-v.pl
+2023/01/28 | 328941 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 3279 | fonts/uptex-fonts/source/upschr-v.pl
+2023/01/28 | 3274 | fonts/uptex-fonts/source/upjisr-h.pl
+2023/01/28 | 327396 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 3270 | fonts/uptex-fonts/source/upschr-h.pl
+2023/01/28 | 326717 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2023/01/28 | 32648 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
+2023/01/28 | 3261 | fonts/uptex-fonts/source/upkorr-v.pl
+2023/01/28 | 3244 | fonts/uptex-fonts/source/upkorr-h.pl
+2023/01/28 | 32408 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2023/01/28 | 3189 | macros/latex/contrib/fixdif/fixdif.ins
+2023/01/28 | 31767 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2023/01/28 | 31683 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
+2023/01/28 | 31612 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2023/01/28 | 31580 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
+2023/01/28 | 311184 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2023/01/28 | 311129 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2023/01/28 | 3099 | macros/latex/contrib/moodle/README.md
+2023/01/28 | 305340 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2023/01/28 | 30517 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2023/01/28 | 3008 | systems/texlive/tlnet/archive/schooldocs.r65650.tar.xz
+2023/01/28 | 2989 | fonts/uptex-fonts/source/Makefile
+2023/01/28 | 296484 | systems/texlive/tlnet/archive/codeanatomy.doc.r65648.tar.xz
+2023/01/28 | 296298 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2023/01/28 | 2918 | fonts/uptex-fonts/source/makepl.perl
+2023/01/28 | 29159 | fonts/uptex-fonts/source/punctuation.md
+2023/01/28 | 288182 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
+2023/01/28 | 287982 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
+2023/01/28 | 28752 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2023/01/28 | 28744 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2023/01/28 | 287032 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2023/01/28 | 2831412 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
+2023/01/28 | 2831122 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2023/01/28 | 2770 | fonts/uptex-fonts/source/uptchr-v.pl
+2023/01/28 | 27706 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2023/01/28 | 27678 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
+2023/01/28 | 2763851 | biblio/ctan-bibdata/ctan.bib
+2023/01/28 | 275463 | macros/xetex/latex/xduts/xduts.dtx
+2023/01/28 | 2753 | fonts/uptex-fonts/source/uptchr-h.pl
+2023/01/28 | 272 | systems/texlive/tlnet/archive/texlive-es.r65640.tar.xz
+2023/01/28 | 271855 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
+2023/01/28 | 271301 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2023/01/28 | 2698 | macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+2023/01/28 | 261940 | systems/texlive/tlnet/archive/fixdif.doc.r65644.tar.xz
+2023/01/28 | 258663 | macros/latex/contrib/fixdif.zip
+2023/01/28 | 25513718 | systems/texlive/tlnet/install-tl.zip
+2023/01/28 | 25462 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 25400 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
+2023/01/28 | 25221 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2023/01/28 | 249802 | systems/win32/miktex/tm/packages/miktex-hitex-bin-x64.tar.lzma
+2023/01/28 | 2483 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
+2023/01/28 | 247514 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2023/01/28 | 245765 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 245724 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
+2023/01/28 | 2444348 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/01/28 | 24076 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2023/01/28 | 24024 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2023/01/28 | 24002 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
+2023/01/28 | 2328 | systems/texlive/tlnet/archive/uol-physics-report.r65646.tar.xz
+2023/01/28 | 2318150 | macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
+2023/01/28 | 231148 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
+2023/01/28 | 2301 | macros/latex/contrib/moodle/moodle.ins
+2023/01/28 | 2294 | macros/latex/contrib/bmstu/bmstu-essay.sty
+2023/01/28 | 2290 | fonts/uptex-fonts/source/makejvf-upjpn.cnf
+2023/01/28 | 2286437 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2023/01/28 | 22678 | macros/latex/contrib/fixdif/fixdif.dtx
+2023/01/28 | 2225 | macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
+2023/01/28 | 221221 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
+2023/01/28 | 2207 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
+2023/01/28 | 217518 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
+2023/01/28 | 216657 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
+2023/01/28 | 214059 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2023/01/28 | 20964 | systems/texlive/tlnet/archive/se2thesis.source.r65645.tar.xz
+2023/01/28 | 209033 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2023/01/28 | 20487 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+2023/01/28 | 20434361 | systems/texlive/tlnet/install-tl-windows.exe
+2023/01/28 | 203488 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2023/01/28 | 203395 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
+2023/01/28 | 2001199 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
+2023/01/28 | 1994773 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2023/01/28 | 19739 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2023/01/28 | 19673 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2023/01/28 | 196597 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2023/01/28 | 19521 | macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+2023/01/28 | 1912 | systems/texlive/tlnet/archive/pixelarttikz.r65649.tar.xz
+2023/01/28 | 188465 | fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H
+2023/01/28 | 188381 | fonts/uptex-fonts/cmap/UniJISup-UTF16-H
+2023/01/28 | 1874837 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2023/01/28 | 1872594 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2023/01/28 | 18487 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2023/01/28 | 1844 | systems/texlive/tlnet/archive/codeanatomy.r65648.tar.xz
+2023/01/28 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2023/01/28 | 182569 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
+2023/01/28 | 181896 | systems/texlive/tlnet/archive/uol-physics-report.doc.r65646.tar.xz
+2023/01/28 | 181648 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2023/01/28 | 1812 | systems/texlive/tlnet/archive/fixdif.r65644.tar.xz
+2023/01/28 | 18102200 | macros/latex/contrib/hvfloat.zip
+2023/01/28 | 18013364 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/01/28 | 17708 | systems/texlive/tlnet/archive/jieeetran.r65642.tar.xz
+2023/01/28 | 17688 | systems/texlive/tlnet/archive/ieejtran.r65641.tar.xz
+2023/01/28 | 1759640 | macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
+2023/01/28 | 175685 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2023/01/28 | 174171 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
+2023/01/28 | 173970 | macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
+2023/01/28 | 173529 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upstsl-h.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upstht-h.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/uprml-hq.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upmsl-h.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upmhm-h.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/uphysmjm-h.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/uphygt-h.tfm
+2023/01/28 | 172 | fonts/uptex-fonts/tfm/upgbm-hq.tfm
+2023/01/28 | 1715 | macros/latex/contrib/bmstu/bmstu-listing.sty
+2023/01/28 | 1680 | systems/texlive/tlnet/archive/collection-publishers.r65646.tar.xz
+2023/01/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/01/28 | 1662 | macros/latex/contrib/bmstu/bmstu-defabbr.sty
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchrm-v.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchrm-h.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchgt-v.vf
+2023/01/28 | 1662628 | fonts/uptex-fonts/vf/uptchgt-h.vf
+2023/01/28 | 16595 | macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+2023/01/28 | 164236 | systems/texlive/tlnet/archive/univie-ling.r65651.tar.xz
+2023/01/28 | 1639108 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2023/01/28 | 1639096 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2023/01/28 | 1615749 | macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
+2023/01/28 | 159497 | macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
+2023/01/28 | 1591 | fonts/uptex-fonts/LICENSE
+2023/01/28 | 1590520 | fonts/uptex-fonts/vf/upjpnrm-h.vf
+2023/01/28 | 1590520 | fonts/uptex-fonts/vf/upjpngt-h.vf
+2023/01/28 | 1590492 | fonts/uptex-fonts/vf/upjpnrm-v.vf
+2023/01/28 | 1590492 | fonts/uptex-fonts/vf/upjpngt-v.vf
+2023/01/28 | 157372 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2023/01/28 | 155936 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2023/01/28 | 1552 | systems/texlive/tlnet/archive/collection-pictures.r65649.tar.xz
+2023/01/28 | 15420 | macros/latex/contrib/fixdif/fixdif-zh-cn.tex
+2023/01/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/01/28 | 153340 | systems/texlive/tlnet/archive/jieeetran.doc.r65642.tar.xz
+2023/01/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/01/28 | 1522804 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
+2023/01/28 | 1515036 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2023/01/28 | 150936 | systems/texlive/tlnet/archive/ieejtran.doc.r65641.tar.xz
+2023/01/28 | 146566 | macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
+2023/01/28 | 1465059 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2023/01/28 | 146434 | macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
+2023/01/28 | 146003 | macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
+2023/01/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/01/28 | 145 | macros/latex/contrib/bmstu/manifest.txt
+2023/01/28 | 1454126 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2023/01/28 | 145100 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
+2023/01/28 | 145001 | macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
+2023/01/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/01/28 | 14475 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
+2023/01/28 | 14450 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2023/01/28 | 144505 | macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
+2023/01/28 | 144422 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
+2023/01/28 | 14438 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
+2023/01/28 | 144288 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
+2023/01/28 | 144213 | macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
+2023/01/28 | 144144 | macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
+2023/01/28 | 14405 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
+2023/01/28 | 143782 | macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
+2023/01/28 | 1431215 | macros/latex/contrib/bmstu.zip
+2023/01/28 | 142671 | macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
+2023/01/28 | 14207318 | macros/latex/contrib/profcollege.zip
+2023/01/28 | 1420024 | systems/texlive/tlnet/archive/se2thesis.doc.r65645.tar.xz
+2023/01/28 | 140615 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 139634 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
+2023/01/28 | 137698 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
+2023/01/28 | 1370968 | fonts/uptex-fonts/vf/upschrm-v.vf
+2023/01/28 | 1370968 | fonts/uptex-fonts/vf/upschgt-v.vf
+2023/01/28 | 1370960 | fonts/uptex-fonts/vf/upschrm-h.vf
+2023/01/28 | 1370960 | fonts/uptex-fonts/vf/upschgt-h.vf
+2023/01/28 | 136073 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2023/01/28 | 1340084 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
+2023/01/28 | 1336 | macros/latex/contrib/bmstu/bmstu-figure.sty
+2023/01/28 | 1336924 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2023/01/28 | 13345 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
+2023/01/28 | 1300 | fonts/uptex-fonts/tfm/umin10.tfm
+2023/01/28 | 1300 | fonts/uptex-fonts/tfm/ugoth10.tfm
+2023/01/28 | 129396 | macros/latex/contrib/bmstu/bmstu-logo.pdf
+2023/01/28 | 1270 | macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex
+2023/01/28 | 1262318 | macros/xetex/latex/xduts.zip
+2023/01/28 | 122112 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
+2023/01/28 | 121738 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
+2023/01/28 | 121147 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2023/01/28 | 12096 | macros/latex/contrib/bmstu/examples/bmstu-examples.tex
+2023/01/28 | 120723 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
+2023/01/28 | 1186 | macros/xetex/latex/xduts/xduts.ins
+2023/01/28 | 117150 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
+2023/01/28 | 1168228 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/01/28 | 1166476 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/01/28 | 115724 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2023/01/28 | 1152 | systems/win32/miktex/tm/packages/pr.ini
+2023/01/28 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2023/01/28 | 11491 | macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+2023/01/28 | 1143 | macros/latex/contrib/bmstu/bmstu-appendix.sty
+2023/01/28 | 113696 | systems/texlive/tlnet/archive/texlive-scripts.r65639.tar.xz
+2023/01/28 | 11367 | macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+2023/01/28 | 113313 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2023/01/28 | 11296 | systems/texlive/tlnet/archive/albatross.source.r65647.tar.xz
+2023/01/28 | 111815 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
+2023/01/28 | 109709 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
+2023/01/28 | 109698 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2023/01/28 | 109286 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2023/01/28 | 1091082 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/urmlv.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/urml.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upstsl-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upstht-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/uprml-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upmsl-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upmhm-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upjisr-hq.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upjisg-hq.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/uphysmjm-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/uphygt-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/upgbm-v.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/ugbmv.tfm
+2023/01/28 | 108 | fonts/uptex-fonts/tfm/ugbm.tfm
+2023/01/28 | 108126 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
+2023/01/28 | 107996 | systems/texlive/tlnet/archive/albatross.doc.r65647.tar.xz
+2023/01/28 | 106244 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
+2023/01/28 | 10576 | systems/texlive/tlnet/archive/schooldocs.source.r65650.tar.xz
+2023/01/28 | 105322 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
+2023/01/28 | 105320 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2023/01/28 | 103819 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
+2023/01/28 | 103747 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2023/01/28 | 103574 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2023/01/28 | 102850 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2023/01/28 | 101 | macros/latex/contrib/bmstu/examples/inc/lst/main.c
+2023/01/28 | 101650 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2023/01/28 | 100 | fonts/uptex-fonts/vf/upjisr-hq.vf
+2023/01/28 | 100 | fonts/uptex-fonts/vf/upjisg-hq.vf
+2023/01/28 | 100067 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
2023/01/27 | 9720 | macros/latex/contrib/uol-physics-report/uol-physics-report.dtx
-2023/01/27 | 935 | systems/win32/miktex/tm/packages/pr.ini
2023/01/27 | 904080 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
2023/01/27 | 8914 | systems/win32/miktex/tm/packages/hypdoc__source.tar.lzma
-2023/01/27 | 88419 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2023/01/27 | 8832 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2023/01/27 | 863 | macros/latex/contrib/se2thesis/README.md
2023/01/27 | 86396 | support/albatross/doc/albatross-manual.pdf
2023/01/27 | 853673 | graphics/pgf/contrib/tangramtikz.zip
-2023/01/27 | 827700 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2023/01/27 | 8233 | systems/win32/miktex/tm/packages/sidecap__source.tar.lzma
2023/01/27 | 81472 | systems/win32/miktex/tm/packages/tkz-euclide__source.tar.lzma
-2023/01/27 | 81345 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2023/01/27 | 80784 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma
2023/01/27 | 807423 | systems/win32/miktex/tm/packages/pixelarttikz__doc.tar.lzma
2023/01/27 | 7993 | systems/win32/miktex/tm/packages/pixelarttikz__source.tar.lzma
-2023/01/27 | 79755 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2023/01/27 | 792 | macros/latex/contrib/fixdif/README.md
-2023/01/27 | 77621 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2023/01/27 | 759540 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
2023/01/27 | 754607 | systems/win32/miktex/tm/packages/expkv-bundle__doc.tar.lzma
-2023/01/27 | 753346 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2023/01/27 | 752817 | systems/win32/miktex/tm/packages/files.csv.lzma
2023/01/27 | 7490 | systems/win32/miktex/tm/packages/tangramtikz__source.tar.lzma
-2023/01/27 | 74363 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2023/01/27 | 73972 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2023/01/27 | 73380 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/01/27 | 7278 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/01/27 | 7271 | systems/win32/miktex/tm/packages/luaquotes__source.tar.lzma
-2023/01/27 | 72715 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2023/01/27 | 725547 | systems/win32/miktex/tm/packages/babel__source.tar.lzma
-2023/01/27 | 71248 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2023/01/27 | 702711 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2023/01/27 | 697754 | systems/win32/miktex/tm/packages/tangramtikz__doc.tar.lzma
-2023/01/27 | 69259 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2023/01/27 | 65890 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2023/01/27 | 65548 | macros/latex/contrib/se2thesis/se2thesis.dtx
2023/01/27 | 6476 | macros/latex/contrib/se2thesis/se2thesis.tex
-2023/01/27 | 64360 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2023/01/27 | 642493 | systems/win32/miktex/tm/packages/texinfo__source.tar.lzma
-2023/01/27 | 637099 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2023/01/27 | 62768 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2023/01/27 | 61756 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2023/01/27 | 601862 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma
-2023/01/27 | 601608 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2023/01/27 | 5 | support/albatross/doc/version.tex
2023/01/27 | 59352 | systems/win32/miktex/tm/packages/luaquotes__doc.tar.lzma
-2023/01/27 | 58464 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2023/01/27 | 5828881 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/01/27 | 57824 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2023/01/27 | 576 | support/albatross/scripts/albatross.sh
-2023/01/27 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2023/01/27 | 57271 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2023/01/27 | 572311 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2023/01/27 | 55775 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2023/01/27 | 5488847 | support/albatross/scripts/albatross.jar
2023/01/27 | 54410 | systems/win32/miktex/tm/packages/diffcoeff__source.tar.lzma
-2023/01/27 | 530088 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2023/01/27 | 52735 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2023/01/27 | 52643 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2023/01/27 | 52520 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2023/01/27 | 5226546 | install/support/albatross.tds.zip
2023/01/27 | 5224922 | support/albatross.zip
-2023/01/27 | 5196084 | systems/texlive/tlnet/archive/texlive-es.doc.r65637.tar.xz
2023/01/27 | 518567 | systems/win32/miktex/tm/packages/schooldocs__doc.tar.lzma
2023/01/27 | 49659 | systems/win32/miktex/tm/packages/expkv-bundle__source.tar.lzma
-2023/01/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/01/27 | 48909 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2023/01/27 | 482 | macros/latex/contrib/tramlines/README
-2023/01/27 | 48133 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2023/01/27 | 472943 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
2023/01/27 | 46535 | macros/latex/contrib/tramlines.zip
-2023/01/27 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2023/01/27 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/01/27 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/01/27 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/01/27 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/01/27 | 44978 | macros/latex/contrib/tramlines/tramlines-documentation.pdf
-2023/01/27 | 44073 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2023/01/27 | 43877 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2023/01/27 | 43699 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
2023/01/27 | 435827 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
2023/01/27 | 435237 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
2023/01/27 | 4323881 | systems/win32/miktex/tm/packages/pagelayout__doc.tar.lzma
-2023/01/27 | 42492 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2023/01/27 | 424188 | systems/texlive/tlnet/archive/texlive-scripts.doc.r65634.tar.xz
2023/01/27 | 42073 | systems/win32/miktex/tm/packages/tkz-euclide.tar.lzma
-2023/01/27 | 41723 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2023/01/27 | 4158 | macros/latex/contrib/tramlines/tramlines-documentation.tex
2023/01/27 | 4090276 | systems/win32/miktex/tm/packages/univie-ling__doc.tar.lzma
-2023/01/27 | 4038963 | biblio/ctan-bibdata.zip
-2023/01/27 | 394926 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2023/01/27 | 3924 | systems/win32/miktex/tm/packages/tangramtikz.tar.lzma
2023/01/27 | 388408 | systems/win32/miktex/tm/packages/semantex__doc.tar.lzma
2023/01/27 | 3763 | systems/win32/miktex/tm/packages/hypdoc.tar.lzma
-2023/01/27 | 37409 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2023/01/27 | 37087 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2023/01/27 | 3662 | systems/win32/miktex/tm/packages/sidecap.tar.lzma
-2023/01/27 | 3644759 | biblio/ctan-bibdata/ctan.pdf
2023/01/27 | 36197 | systems/win32/miktex/tm/packages/semantex__source.tar.lzma
2023/01/27 | 356 | macros/latex/contrib/uol-physics-report/README
2023/01/27 | 3565 | systems/win32/miktex/tm/packages/luaquotes.tar.lzma
-2023/01/27 | 35298 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2023/01/27 | 352455 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2023/01/27 | 35236 | support/albatross/doc/albatross-manual.tex
-2023/01/27 | 35216 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2023/01/27 | 3497203 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma
2023/01/27 | 345472 | macros/latex/contrib/se2thesis/se2thesis.pdf
-2023/01/27 | 33881 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2023/01/27 | 33003 | systems/win32/miktex/tm/packages/tagpdf.tar.lzma
-2023/01/27 | 327834 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2023/01/27 | 326715 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2023/01/27 | 325627 | systems/win32/miktex/tm/packages/hypdoc__doc.tar.lzma
2023/01/27 | 3232 | systems/win32/miktex/tm/packages/schooldocs.tar.lzma
-2023/01/27 | 32325 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2023/01/27 | 321274 | systems/win32/miktex/tm/packages/sidecap__doc.tar.lzma
-2023/01/27 | 3189 | macros/latex/contrib/fixdif/fixdif.ins
2023/01/27 | 31823 | graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
-2023/01/27 | 31743 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2023/01/27 | 31617 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2023/01/27 | 3154 | macros/latex/contrib/se2thesis/CHANGELOG.md
-2023/01/27 | 311169 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2023/01/27 | 311098 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2023/01/27 | 3098 | systems/win32/miktex/tm/packages/frenchmath.tar.lzma
-2023/01/27 | 30502 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2023/01/27 | 29804 | support/albatross/README.md
-2023/01/27 | 296393 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2023/01/27 | 288635 | systems/win32/miktex/tm/packages/codeanatomy__doc.tar.lzma
-2023/01/27 | 28759 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2023/01/27 | 287087 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2023/01/27 | 2832043 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2023/01/27 | 27963 | systems/win32/miktex/tm/packages/proflycee.tar.lzma
2023/01/27 | 2779 | macros/latex/contrib/se2thesis/se2thesis.ins
-2023/01/27 | 27749 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2023/01/27 | 276 | systems/texlive/tlnet/archive/texlive-es.r65637.tar.xz
-2023/01/27 | 2763000 | biblio/ctan-bibdata/ctan.bib
-2023/01/27 | 271184 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2023/01/27 | 269055 | macros/latex/contrib/fixdif.zip
2023/01/27 | 257352 | systems/win32/miktex/tm/packages/fixdif__doc.tar.lzma
-2023/01/27 | 25513730 | systems/texlive/tlnet/install-tl.zip
2023/01/27 | 25406 | systems/win32/miktex/tm/packages/pagelayout.tar.lzma
-2023/01/27 | 25229 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2023/01/27 | 247433 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2023/01/27 | 245739 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2023/01/27 | 2444276 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/01/27 | 24194 | systems/win32/miktex/tm/packages/semantex.tar.lzma
-2023/01/27 | 24044 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2023/01/27 | 24040 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2023/01/27 | 23974 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
2023/01/27 | 23939 | macros/latex/contrib/se2thesis/test.pdf
-2023/01/27 | 23553 | macros/latex/contrib/fixdif/fixdif.dtx
2023/01/27 | 231014 | systems/win32/miktex/tm/packages/frenchmath__doc.tar.lzma
2023/01/27 | 229804 | systems/win32/miktex/tm/packages/tagpdf__source.tar.lzma
-2023/01/27 | 213280 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2023/01/27 | 208953 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2023/01/27 | 2076 | systems/win32/miktex/tm/packages/pixelarttikz.tar.lzma
2023/01/27 | 20711 | systems/win32/miktex/tm/packages/univie-ling__source.tar.lzma
2023/01/27 | 2053 | systems/win32/miktex/tm/packages/codeanatomy.tar.lzma
-2023/01/27 | 20436214 | systems/texlive/tlnet/install-tl-windows.exe
-2023/01/27 | 203526 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
2023/01/27 | 20267 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
-2023/01/27 | 2011775 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
2023/01/27 | 200514 | systems/win32/miktex/tm/packages/babel.tar.lzma
2023/01/27 | 19693 | systems/win32/miktex/tm/packages/expkv-bundle.tar.lzma
-2023/01/27 | 196561 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2023/01/27 | 1964 | systems/win32/miktex/tm/packages/fixdif.tar.lzma
2023/01/27 | 195080 | macros/latex/contrib/uol-physics-report/uol-physics-report.pdf
2023/01/27 | 193223 | systems/win32/miktex/tm/packages/texinfo__doc.tar.lzma
2023/01/27 | 192110 | systems/win32/miktex/tm/packages/proflycee__source.tar.lzma
2023/01/27 | 19106 | macros/latex/contrib/se2thesis/LICENSE.txt
2023/01/27 | 18981 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
-2023/01/27 | 1873934 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2023/01/27 | 1873539 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
2023/01/27 | 187249 | macros/latex/contrib/uol-physics-report.zip
2023/01/27 | 1866 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
2023/01/27 | 1858785 | systems/win32/miktex/tm/packages/tagpdf__doc.tar.lzma
-2023/01/27 | 18486 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2023/01/27 | 18373 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2023/01/27 | 181590 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2023/01/27 | 18008685 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/01/27 | 175413 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2023/01/27 | 175216 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
2023/01/27 | 1750 | macros/latex/contrib/se2thesis/test.tex
2023/01/27 | 173580 | biblio/bibtex/contrib/jieeetran.zip
-2023/01/27 | 173394 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2023/01/27 | 171182 | biblio/bibtex/contrib/ieejtran.zip
-2023/01/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
-2023/01/27 | 16776 | macros/latex/contrib/fixdif/fixdif-zh-cn.tex
2023/01/27 | 164397 | systems/win32/miktex/tm/packages/univie-ling.tar.lzma
-2023/01/27 | 1639159 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2023/01/27 | 1638826 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2023/01/27 | 163584 | macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
-2023/01/27 | 155912 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2023/01/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/01/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/01/27 | 1515236 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2023/01/27 | 1492 | support/albatross/doc/albatross.1
-2023/01/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/01/27 | 1457403 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2023/01/27 | 1454133 | install/macros/latex/contrib/se2thesis.tds.zip
-2023/01/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/01/27 | 14451 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2023/01/27 | 1440803 | macros/latex/contrib/se2thesis.zip
-2023/01/27 | 140714 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2023/01/27 | 1383 | macros/latex/contrib/uol-physics-report/uol-physics-report.ins
2023/01/27 | 1382 | macros/latex/contrib/tramlines/tramlines.sty
2023/01/27 | 1381349 | systems/win32/miktex/tm/packages/proflycee__doc.tar.lzma
2023/01/27 | 13707 | systems/win32/miktex/tm/packages/frenchmath__source.tar.lzma
-2023/01/27 | 136091 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2023/01/27 | 1336861 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2023/01/27 | 13206 | support/albatross/source/albatross-0.5.0-src.zip
2023/01/27 | 12816 | macros/latex/contrib/se2thesis/se2colors.dtx
2023/01/27 | 1274365 | systems/win32/miktex/tm/packages/diffcoeff__doc.tar.lzma
2023/01/27 | 12579 | systems/win32/miktex/tm/packages/codeanatomy__source.tar.lzma
2023/01/27 | 12474 | systems/win32/miktex/tm/packages/fixdif__source.tar.lzma
-2023/01/27 | 121111 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2023/01/27 | 11919033 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma
-2023/01/27 | 1167017 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2023/01/27 | 115844 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2023/01/27 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
-2023/01/27 | 113696 | systems/texlive/tlnet/archive/texlive-scripts.r65634.tar.xz
-2023/01/27 | 112871 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2023/01/27 | 11273 | systems/win32/miktex/tm/packages/diffcoeff.tar.lzma
2023/01/27 | 1101240 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
-2023/01/27 | 109707 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2023/01/27 | 109274 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2023/01/27 | 10905 | systems/win32/miktex/tm/packages/schooldocs__source.tar.lzma
-2023/01/27 | 105274 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2023/01/27 | 103744 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2023/01/27 | 103608 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2023/01/27 | 1032098 | systems/win32/miktex/tm/packages/tkz-euclide__doc.tar.lzma
-2023/01/27 | 101570 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2023/01/27 | 10127 | macros/latex/contrib/se2thesis/se2fonts.dtx
2023/01/26 | 977168 | systems/texlive/tlnet/archive/tex4ht.r65632.tar.xz
2023/01/26 | 976 | systems/texlive/tlnet/archive/collection-plaingeneric.r65622.tar.xz
@@ -240,7 +594,6 @@
2023/01/26 | 80096 | systems/texlive/tlnet/archive/l3experimental.source.r65621.tar.xz
2023/01/26 | 7852 | systems/texlive/tlnet/archive/sidecap.source.r65618.tar.xz
2023/01/26 | 752836 | systems/texlive/tlnet/archive/expkv-bundle.doc.r65623.tar.xz
-2023/01/26 | 7322 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/01/26 | 682 | biblio/bibtex/contrib/ieejtran/README
2023/01/26 | 6816 | systems/texlive/tlnet/archive/collection-latexextra.r65625.tar.xz
2023/01/26 | 625 | biblio/bibtex/contrib/jieeetran/README
@@ -249,7 +602,6 @@
2023/01/26 | 588 | systems/texlive/tlnet/archive/collection-games.r65631.tar.xz
2023/01/26 | 5730352 | macros/latex/contrib/univie-ling.zip
2023/01/26 | 553 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex
-2023/01/26 | 532 | systems/texlive/tlnet/archive/tangramtikz.r65631.tar.xz
2023/01/26 | 531 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex
2023/01/26 | 528209 | macros/latex/contrib/schooldocs.zip
2023/01/26 | 5231 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.tex
@@ -335,7 +687,6 @@
2023/01/26 | 167337 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
2023/01/26 | 15884 | graphics/pgf/contrib/codeanatomy/codeanatomy.dtx
2023/01/26 | 1573096 | systems/texlive/tlnet/archive/proflycee.doc.r65628.tar.xz
-2023/01/26 | 1552 | systems/texlive/tlnet/archive/collection-pictures.r65624.tar.xz
2023/01/26 | 15101 | biblio/bibtex/contrib/jieeetran/mixej.py
2023/01/26 | 15101 | biblio/bibtex/contrib/ieejtran/mixej.py
2023/01/26 | 1475 | graphics/pgf/contrib/codeanatomy/codeanatomy.ins
@@ -426,7 +777,6 @@
2023/01/24 | 725032 | systems/texlive/tlnet/archive/babel.source.r65614.tar.xz
2023/01/24 | 70859 | macros/latex/contrib/l3kernel/expl3.dtx
2023/01/24 | 70578 | macros/latex/contrib/l3kernel/l3fp.dtx
-2023/01/24 | 6988 | systems/texlive/tlnet/archive/fixdif.source.r65614.tar.xz
2023/01/24 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
2023/01/24 | 6837 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex
2023/01/24 | 68290 | macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -541,7 +891,6 @@
2023/01/24 | 26737 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
2023/01/24 | 26516 | systems/texlive/tlnet/archive/semantex.r65614.tar.xz
2023/01/24 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
-2023/01/24 | 261224 | systems/texlive/tlnet/archive/fixdif.doc.r65614.tar.xz
2023/01/24 | 25753 | macros/latex/contrib/l3experimental/l3graphics.dtx
2023/01/24 | 25650 | macros/latex/contrib/l3kernel/l3fp-random.dtx
2023/01/24 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
@@ -587,7 +936,6 @@
2023/01/24 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
2023/01/24 | 18295 | macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-lua-points-by.tex
2023/01/24 | 18272 | macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-intersections.tex
-2023/01/24 | 1792 | systems/texlive/tlnet/archive/fixdif.r65614.tar.xz
2023/01/24 | 1788 | macros/latex/contrib/sidecap/sc-test2.tex
2023/01/24 | 1788188 | systems/doc/luatex/luatex.pdf
2023/01/24 | 17804 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex
@@ -6071,526 +6419,3 @@
2023/01/22 | 0 | macros/texinfo/texinfo/tp/tests/contents/res_parser/contents_at_begin/contents_at_begin.1
2023/01/22 | 0 | macros/texinfo/texinfo/tp/tests/contents/res_parser/contents_and_parts/contents_and_parts.2
2023/01/22 | 0 | macros/texinfo/texinfo/tp/tests/contents/res_parser/contents_and_parts/contents_and_parts.1
-2023/01/21 | 9 | support/texlab/src/parser/test_data/latex/label/label_reference_simple.txt
-2023/01/21 | 9 | support/texlab/src/parser/test_data/latex/glossary/glossary_entry_reference_simple.txt
-2023/01/21 | 9 | support/texlab/src/parser/test_data/latex/citation/citation_missing_brace.txt
-2023/01/21 | 995 | support/texlab/src/features/definition/string.rs
-2023/01/21 | 993 | support/texlab/src/parser/test_data/bibtex/samples/knuth_1984.txt
-2023/01/21 | 992 | support/texlab/src/features/definition/document.rs
-2023/01/21 | 988 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_rivest_1978.snap
-2023/01/21 | 985 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__citation.snap
-2023/01/21 | 984 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__section_flat.snap
-2023/01/21 | 980 | support/texlab/src/tests/workspace/snapshots/texlab__tests__workspace__symbol__filter_type_item.snap
-2023/01/21 | 979 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
-2023/01/21 | 972 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_multiple_entries.snap
-2023/01/21 | 969 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
-2023/01/21 | 967 | support/texlab/src/citation/snapshots/texlab__citation__tests__patent_almendro_1998.snap
-2023/01/21 | 961 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@004.txt.snap
-2023/01/21 | 9541 | support/texlab/src/util/cursor.rs
-2023/01/21 | 9465 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
-2023/01/21 | 939184 | systems/texlive/tlnet/archive/writeongrid.doc.r65598.tar.xz
-2023/01/21 | 919 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__graphics_include_command.txt.snap
-2023/01/21 | 914 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
-2023/01/21 | 912 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
-2023/01/21 | 90 | support/texlab/src/parser/test_data/latex/structure/structure_nested.txt
-2023/01/21 | 905 | support/texlab/src/citation.rs
-2023/01/21 | 898 | support/texlab/src/parser/test_data/bibtex/samples/kastenholz_2006.txt
-2023/01/21 | 8854 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
-2023/01/21 | 877 | support/texlab/src/features/completion/user_command.rs
-2023/01/21 | 872 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
-2023/01/21 | 872 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@005.txt.snap
-2023/01/21 | 869 | support/texlab/benches/bench_main.rs
-2023/01/21 | 8648 | support/texlab/src/tests/text_document/document_symbol.rs
-2023/01/21 | 860 | support/texlab/src/parser/test_data/bibtex/samples/blom_2021.txt
-2023/01/21 | 858 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__equation_missing_end.txt.snap
-2023/01/21 | 856 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__biblatex_include_options.txt.snap
-2023/01/21 | 853 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
-2023/01/21 | 852 | support/texlab/src/features/hover/component.rs
-2023/01/21 | 849 | support/texlab/src/features/completion/field.rs
-2023/01/21 | 844 | support/texlab/src/features/completion/acronym_ref.rs
-2023/01/21 | 8394 | support/texlab/src/util/label.rs
-2023/01/21 | 82 | support/texlab/src/parser/test_data/bibtex/comment.txt
-2023/01/21 | 823 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@equation_missing_begin.txt.snap
-2023/01/21 | 820 | support/texlab/src/distro/texlive.rs
-2023/01/21 | 811 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
-2023/01/21 | 80 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_with_begin.txt
-2023/01/21 | 800 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_betram_1996.snap
-2023/01/21 | 7 | support/texlab/src/parser/test_data/latex/citation/citation_empty.txt
-2023/01/21 | 7955 | support/texlab/src/syntax/bibtex.rs
-2023/01/21 | 785 | support/texlab/src/features/hover/citation.rs
-2023/01/21 | 776 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_figure.txt.snap
-2023/01/21 | 7762 | support/texlab/src/parser/test_data/build_log/007.txt
-2023/01/21 | 7700247 | support/texlab.zip
-2023/01/21 | 76 | support/texlab/src/parser/test_data/latex/glossary/acronym_definition_options.txt
-2023/01/21 | 768 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
-2023/01/21 | 765 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
-2023/01/21 | 765 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
-2023/01/21 | 757 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_package.txt.snap
-2023/01/21 | 755 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
-2023/01/21 | 7517 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
-2023/01/21 | 7514 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__jain_1999.txt.snap
-2023/01/21 | 746 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_simple.txt.snap
-2023/01/21 | 742 | support/texlab/src/features/inlay_hint/label.rs
-2023/01/21 | 7419 | support/texlab/src/features/formatting/bibtex_internal.rs
-2023/01/21 | 730 | support/texlab/src/features/completion/tikz_library.rs
-2023/01/21 | 7308 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
-2023/01/21 | 729 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_definition_simple.txt.snap
-2023/01/21 | 720 | support/texlab/src/citation/snapshots/texlab__citation__tests__collection_matuz_1990.snap
-2023/01/21 | 71 | support/texlab/src/tests.rs
-2023/01/21 | 7143 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__combi_2004.txt.snap
-2023/01/21 | 712 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__graphics_include_options.txt.snap
-2023/01/21 | 712 | support/texlab/src/distro/kpsewhich.rs
-2023/01/21 | 711 | support/texlab/src/features/completion/entry_type.rs
-2023/01/21 | 7103 | support/texlab/src/db/discovery.rs
-2023/01/21 | 706 | support/texlab/src/parser/test_data/bibtex/samples/almendro_1998.txt
-2023/01/21 | 703 | support/texlab/src/tests/workspace/snapshots/texlab__tests__workspace__symbol__filter_type_math.snap
-2023/01/21 | 702 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@001.txt.snap
-2023/01/21 | 6 | support/texlab/src/parser/test_data/latex/group/escaped_brackets.txt
-2023/01/21 | 6970534 | support/texlab/data/components.json.gz
-2023/01/21 | 693 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__inkscape_include_options.txt.snap
-2023/01/21 | 693 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@issue_809.txt.snap
-2023/01/21 | 6933 | support/texlab/src/citation/field/text.rs
-2023/01/21 | 692 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@structure__structure_siblings.txt.snap
-2023/01/21 | 692 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__svg_include_options.txt.snap
-2023/01/21 | 692 | support/texlab/src/features/completion/component_command.rs
-2023/01/21 | 689 | support/texlab/src/syntax/latex.rs
-2023/01/21 | 6822 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
-2023/01/21 | 681 | support/texlab/src/tests/workspace/snapshots/texlab__tests__workspace__symbol__filter_bibtex.snap
-2023/01/21 | 679 | support/texlab/src/parser/test_data/bibtex/samples/aksin_2006.txt
-2023/01/21 | 674 | support/texlab/src/parser/test_data/bibtex/samples/jain_1999.txt
-2023/01/21 | 674 | support/texlab/src/parser/test_data/bibtex/samples/combi_2004.txt
-2023/01/21 | 674 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
-2023/01/21 | 672 | support/texlab/src/features/hover/label.rs
-2023/01/21 | 668 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@block_comments.txt.snap
-2023/01/21 | 666 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
-2023/01/21 | 6630 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__blom_2021.txt.snap
-2023/01/21 | 6622 | support/texlab/src/db/workspace.rs
-2023/01/21 | 661 | support/texlab/src/features/completion/user_environment.rs
-2023/01/21 | 651 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@inline_double_dollar.txt.snap
-2023/01/21 | 64 | support/texlab/src/parser/test_data/latex/glossary/acronym_declaration.txt
-2023/01/21 | 6484 | support/texlab/src/util/line_index.rs
-2023/01/21 | 646 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_default_error.txt.snap
-2023/01/21 | 6458 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
-2023/01/21 | 641 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_default.txt.snap
-2023/01/21 | 639 | support/texlab/src/features/link/include.rs
-2023/01/21 | 638 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__user_environment.snap
-2023/01/21 | 635 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_asymptote.txt.snap
-2023/01/21 | 635 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
-2023/01/21 | 633 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@inline.txt.snap
-2023/01/21 | 627 | support/texlab/src/server/query.rs
-2023/01/21 | 617 | support/texlab/texlab.1
-2023/01/21 | 6173 | support/texlab/src/db/diagnostics.rs
-2023/01/21 | 615 | support/texlab/src/parser/test_data/bibtex/samples/erwin_2007.txt
-2023/01/21 | 613 | support/texlab/src/features/hover/field.rs
-2023/01/21 | 60 | support/texlab/src/parser/test_data/latex/structure/structure_enum_item.txt
-2023/01/21 | 60 | support/texlab/src/citation/field.rs
-2023/01/21 | 6018 | support/texlab/src/util/capabilities.rs
-2023/01/21 | 595 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
-2023/01/21 | 595 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@003.txt.snap
-2023/01/21 | 585 | support/texlab/src/citation/snapshots/texlab__citation__tests__book_aho_2006.snap
-2023/01/21 | 5850 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__betram_1996.txt.snap
-2023/01/21 | 580 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@graphics_path_command.txt.snap
-2023/01/21 | 578 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_number.txt.snap
-2023/01/21 | 576 | support/texlab/src/features/completion/theorem.rs
-2023/01/21 | 57018 | support/texlab/data/lang_data.json
-2023/01/21 | 5680 | support/texlab/src/tests/text_document/hover.rs
-2023/01/21 | 557 | support/texlab/src/parser/test_data/bibtex/samples/rivest_1978.txt
-2023/01/21 | 5573 | support/texlab/src/db/analysis.rs
-2023/01/21 | 556 | support/texlab/src/parser/test_data/bibtex/samples/betram_1996.txt
-2023/01/21 | 556 | support/texlab/src/features/hover/entry_type.rs
-2023/01/21 | 5543 | support/texlab/src/parser/build_log.rs
-2023/01/21 | 5534 | support/texlab/src/features/build.rs
-2023/01/21 | 551 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
-2023/01/21 | 5482 | support/texlab/src/features/symbol/project_order.rs
-2023/01/21 | 547 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
-2023/01/21 | 542952 | systems/texlive/tlnet/archive/overarrows.doc.r65599.tar.xz
-2023/01/21 | 536 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_wrap_long_lines.snap
-2023/01/21 | 536352 | systems/texlive/tlnet/archive/xindex.doc.r65597.tar.xz
-2023/01/21 | 533 | support/texlab/src/features/completion/component_environment.rs
-2023/01/21 | 5312 | support/texlab/src/features/forward_search.rs
-2023/01/21 | 52 | support/texlab/src/parser/test_data/latex/include/graphics_include_command.txt
-2023/01/21 | 52 | support/texlab/src/parser/test_data/latex/environment/environment_nested_missing_braces.txt
-2023/01/21 | 528 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
-2023/01/21 | 5288 | systems/texlive/tlnet/archive/overarrows.r65599.tar.xz
-2023/01/21 | 5270 | support/texlab/src/db/document.rs
-2023/01/21 | 523 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
-2023/01/21 | 519 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
-2023/01/21 | 517 | support/texlab/src/parser/test_data/bibtex/samples/matuz_1990.txt
-2023/01/21 | 514 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_minimal.txt.snap
-2023/01/21 | 50 | support/texlab/src/parser/test_data/latex/environment/environment_asymptote.txt
-2023/01/21 | 50 | support/texlab/src/parser/test_data/bibtex/issue_809.txt
-2023/01/21 | 509 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
-2023/01/21 | 507 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
-2023/01/21 | 505 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_range_error.txt.snap
-2023/01/21 | 5046 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
-2023/01/21 | 50336 | support/texlab/Cargo.lock
-2023/01/21 | 502 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
-2023/01/21 | 500 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@graphics_path_options.txt.snap
-2023/01/21 | 4 | support/texlab/src/parser/test_data/latex/group/unmatched_brackets_with_group.txt
-2023/01/21 | 4 | support/texlab/src/parser/test_data/latex/generic_command_empty.txt
-2023/01/21 | 499 | support/texlab/src/features/completion/color.rs
-2023/01/21 | 48 | support/texlab/src/parser/test_data/latex/block_comments.txt
-2023/01/21 | 485 | support/texlab/src/syntax.rs
-2023/01/21 | 4856 | support/texlab/src/tests/client.rs
-2023/01/21 | 47 | support/texlab/src/parser/test_data/latex/label/label_reference_incomplete.txt
-2023/01/21 | 47 | support/texlab/src/parser/test_data/latex/environment/environment_definition.txt
-2023/01/21 | 479 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__citation_acronym.snap
-2023/01/21 | 477 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_multiple.txt.snap
-2023/01/21 | 473 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_definition_line_break.txt.snap
-2023/01/21 | 4727 | support/texlab/src/tests/text_document/references.rs
-2023/01/21 | 469 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
-2023/01/21 | 462 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__citation_open_brace_multiple.snap
-2023/01/21 | 459 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_prenote.txt.snap
-2023/01/21 | 455 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__import_simple.txt.snap
-2023/01/21 | 454 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@generic_command_args.txt.snap
-2023/01/21 | 4513 | support/texlab/src/syntax/latex/kind.rs
-2023/01/21 | 450 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_multiple.txt.snap
-2023/01/21 | 44 | support/texlab/src/parser/test_data/latex/include/class_include_options.txt
-2023/01/21 | 44 | support/texlab/src/parser/test_data/latex/glossary/acronym_definition_simple.txt
-2023/01/21 | 44 | support/texlab/src/parser/test_data/latex/environment/environment_definition_optional_arg.txt
-2023/01/21 | 44 | support/texlab/src/parser/test_data/latex/color/color_set_definition_simple.txt
-2023/01/21 | 440 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
-2023/01/21 | 43 | support/texlab/src/parser/test_data/latex/environment/environment_nested.txt
-2023/01/21 | 435 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__citation_open_brace.snap
-2023/01/21 | 434 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@002.txt.snap
-2023/01/21 | 42 | support/texlab/src/parser/test_data/latex/include/biblatex_include_options.txt
-2023/01/21 | 4277 | support/texlab/src/features/completion/include.rs
-2023/01/21 | 426 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__acronym_ref_simple.snap
-2023/01/21 | 425 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__acronym_ref_open_brace.snap
-2023/01/21 | 421 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__user_command.snap
-2023/01/21 | 421 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_environment_command_definition.snap
-2023/01/21 | 421 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
-2023/01/21 | 41 | support/texlab/src/parser/test_data/latex/include/package_include_options.txt
-2023/01/21 | 4130 | support/texlab/src/parser/test_data/build_log/006.txt
-2023/01/21 | 411 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__glossary_ref_simple.snap
-2023/01/21 | 411 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
-2023/01/21 | 410 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__glossary_ref_open_brace.snap
-2023/01/21 | 408 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
-2023/01/21 | 4087 | macros/texinfo/texinfo/tp/Texinfo/XS/parsetexi/commands.c
-2023/01/21 | 407 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__acronym_ref_empty.snap
-2023/01/21 | 406 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
-2023/01/21 | 404 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__theorem_end.snap
-2023/01/21 | 404 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_environment_class.snap
-2023/01/21 | 404 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
-2023/01/21 | 403 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@graphics_path.txt.snap
-2023/01/21 | 400 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
-2023/01/21 | 4008 | support/texlab/src/util/lsp_enums.rs
-2023/01/21 | 4006 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@issue_745.txt.snap
-2023/01/21 | 39 | support/texlab/src/parser/test_data/latex/include/graphics_include_options.txt
-2023/01/21 | 39 | support/texlab/src/parser/test_data/latex/include/graphics_include_complicated_options.txt
-2023/01/21 | 39 | support/texlab/src/parser/test_data/latex/glossary/glossary_entry_definition_simple.txt
-2023/01/21 | 39 | support/texlab/src/parser/test_data/latex/color/color_set_definition_error1.txt
-2023/01/21 | 39 | support/texlab/src/parser/test_data/latex/caption/caption_figure.txt
-2023/01/21 | 399 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@007.txt.snap
-2023/01/21 | 395 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__theorem_begin.snap
-2023/01/21 | 394 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__escaped_brackets.txt.snap
-2023/01/21 | 393 | support/texlab/src/tests/workspace/snapshots/texlab__tests__workspace__symbol__filter_type_figure.snap
-2023/01/21 | 391 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__argument_word.snap
-2023/01/21 | 391 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
-2023/01/21 | 386 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_complete_entry.snap
-2023/01/21 | 382 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
-2023/01/21 | 382 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__graphics_include_simple.txt.snap
-2023/01/21 | 3824 | support/texlab/README.md
-2023/01/21 | 381 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
-2023/01/21 | 3818 | support/texlab/src/tests/fixture.rs
-2023/01/21 | 380 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
-2023/01/21 | 380 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
-2023/01/21 | 380190 | support/texlab/images/demo.gif
-2023/01/21 | 3786 | support/texlab/src/features/symbol/types.rs
-2023/01/21 | 377 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@equation.txt.snap
-2023/01/21 | 37434 | support/texlab/src/parser/latex.rs
-2023/01/21 | 3742 | support/texlab/src/tests/workspace/symbol.rs
-2023/01/21 | 373 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__acronym_package_ref.snap
-2023/01/21 | 370 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_simple.txt.snap
-2023/01/21 | 369 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
-2023/01/21 | 3694 | support/texlab/src/db/diagnostics/tex.rs
-2023/01/21 | 368 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
-2023/01/21 | 368 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
-2023/01/21 | 367 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__class_include_simple.txt.snap
-2023/01/21 | 365 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_environment_simple.snap
-2023/01/21 | 3653 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__aho_2006.txt.snap
-2023/01/21 | 363 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_before_article.snap
-2023/01/21 | 363 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
-2023/01/21 | 362 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__svg_include_simple.txt.snap
-2023/01/21 | 35 | support/texlab/src/parser/test_data/latex/structure/structure_siblings.txt
-2023/01/21 | 35 | support/texlab/src/parser/test_data/latex/glossary/acronym_package.txt
-2023/01/21 | 359 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@preamble.txt.snap
-2023/01/21 | 3592 | systems/texlive/tlnet/archive/writeongrid.r65598.tar.xz
-2023/01/21 | 3590 | support/texlab/src/util/components.rs
-2023/01/21 | 35809 | support/texlab/src/server.rs
-2023/01/21 | 355 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_equation.txt.snap
-2023/01/21 | 355 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__latex_include_simple.txt.snap
-2023/01/21 | 3547 | support/texlab/src/options.rs
-2023/01/21 | 351 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_definition_simple.txt.snap
-2023/01/21 | 351 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__import_incomplete.txt.snap
-2023/01/21 | 35149 | support/texlab/LICENSE
-2023/01/21 | 35128 | systems/texlive/tlnet/archive/xindex.r65597.tar.xz
-2023/01/21 | 350 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_reference_simple.txt.snap
-2023/01/21 | 34 | support/texlab/src/parser/test_data/latex/include/svg_include_options.txt
-2023/01/21 | 3444 | support/texlab/src/util/chktex.rs
-2023/01/21 | 343 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_simple.txt.snap
-2023/01/21 | 343 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
-2023/01/21 | 340 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
-2023/01/21 | 33 | support/texlab/src/parser/test_data/latex/graphics_path_options.txt
-2023/01/21 | 33 | support/texlab/src/parser/test_data/latex/environment/environment_simple.txt
-2023/01/21 | 33 | support/texlab/src/parser/test_data/latex/color/color_definition_simple.txt
-2023/01/21 | 336 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_after_preamble.snap
-2023/01/21 | 332 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
-2023/01/21 | 331 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_simple.txt.snap
-2023/01/21 | 32 | support/texlab/src/parser/test_data/latex/graphics_path_command.txt
-2023/01/21 | 32 | support/texlab/src/parser/test_data/latex/glossary/acronym_reference_options.txt
-2023/01/21 | 329 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_star.txt.snap
-2023/01/21 | 327 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_before_preamble.snap
-2023/01/21 | 326 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_after_string.snap
-2023/01/21 | 3246 | support/texlab/src/tests/text_document/formatting.rs
-2023/01/21 | 3231 | support/texlab/src/citation/entry.rs
-2023/01/21 | 322 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
-2023/01/21 | 3223 | support/texlab/src/features/symbol.rs
-2023/01/21 | 3223 | support/texlab/src/db/diagnostics/bib.rs
-2023/01/21 | 31 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_full.txt
-2023/01/21 | 31 | support/texlab/src/parser/test_data/latex/command_definition/math_operator_simple.txt
-2023/01/21 | 319 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_before_string.snap
-2023/01/21 | 3197 | support/texlab/src/db/analysis/label.rs
-2023/01/21 | 3194 | support/texlab/src/parser/test_data/build_log/001.txt
-2023/01/21 | 318 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_empty.txt.snap
-2023/01/21 | 318 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__curly_group_simple.txt.snap
-2023/01/21 | 315 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__class_include_empty.txt.snap
-2023/01/21 | 314 | support/texlab/src/parser/test_data/bibtex/samples/aho_2006.txt
-2023/01/21 | 3146 | support/texlab/src/client.rs
-2023/01/21 | 30 | support/texlab/src/parser/test_data/latex/include/inkscape_include_options.txt
-2023/01/21 | 30 | support/texlab/src/parser/test_data/latex/color/color_set_definition_error2.txt
-2023/01/21 | 308 | support/texlab/src/features/highlight.rs
-2023/01/21 | 307 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@issue_789.txt.snap
-2023/01/21 | 3057 | support/texlab/src/parser/test_data/build_log/004.txt
-2023/01/21 | 3055 | support/texlab/src/features/completion/label.rs
-2023/01/21 | 302 | support/texlab/src/util.rs
-2023/01/21 | 2 | support/texlab/src/parser/test_data/latex/parameter.txt
-2023/01/21 | 2 | support/texlab/src/parser/test_data/latex/group/unmatched_brackets.txt
-2023/01/21 | 2 | support/texlab/src/parser/test_data/latex/group/unmatched_braces.txt
-2023/01/21 | 2 | support/texlab/src/parser/test_data/latex/generic_command_escape.txt
-2023/01/21 | 29 | support/texlab/src/parser/test_data/latex/include/graphics_include_simple.txt
-2023/01/21 | 29 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_optional.txt
-2023/01/21 | 2942 | support/texlab/src/features/workspace_command.rs
-2023/01/21 | 2931 | support/texlab/src/db/diagnostics/log.rs
-2023/01/21 | 2904 | support/texlab/src/features/rename/label.rs
-2023/01/21 | 28 | support/texlab/src/parser/test_data/latex/include/package_include_multiple.txt
-2023/01/21 | 28 | support/texlab/src/parser/test_data/latex/include/biblatex_include_simple.txt
-2023/01/21 | 28 | support/texlab/src/parser/test_data/latex/group/equation_missing_end.txt
-2023/01/21 | 28 | support/texlab/src/parser/test_data/latex/graphics_path.txt
-2023/01/21 | 28 | support/texlab/src/parser/test_data/latex/equation_missing_begin.txt
-2023/01/21 | 2893 | support/texlab/src/tests/text_document/definition.rs
-2023/01/21 | 2875 | support/texlab/src/lib.rs
-2023/01/21 | 283 | support/texlab/src/features/completion/begin_snippet.rs
-2023/01/21 | 282 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_empty.txt.snap
-2023/01/21 | 27 | support/texlab/src/parser/test_data/latex/structure/structure_invalid_nesting.txt
-2023/01/21 | 27 | support/texlab/src/parser/test_data/latex/include/verbatim_include_simple.txt
-2023/01/21 | 27 | support/texlab/src/parser/test_data/latex/caption/caption_default.txt
-2023/01/21 | 2734 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__label.snap
-2023/01/21 | 2727860 | systems/texlive/tlnet/archive/simpleicons.r65596.tar.xz
-2023/01/21 | 271 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__did_change_configuration__invalid_configuration.snap
-2023/01/21 | 271 | support/texlab/src/parser/test_data/latex/issue_745.txt
-2023/01/21 | 26 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
-2023/01/21 | 26 | support/texlab/src/parser/test_data/latex/command_definition/math_operator_no_impl.txt
-2023/01/21 | 26 | support/texlab/src/parser/test_data/latex/caption/caption_default_error.txt
-2023/01/21 | 26548 | support/texlab/texlab.pdf
-2023/01/21 | 2648 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__enumerate_nested.snap
-2023/01/21 | 2641 | support/texlab/src/features/symbol/bibtex.rs
-2023/01/21 | 262 | support/texlab/src/features.rs
-2023/01/21 | 25 | support/texlab/src/parser/test_data/latex/glossary/glossary_entry_reference_options.txt
-2023/01/21 | 25 | support/texlab/src/parser/test_data/latex/color/color_set_definition_error3.txt
-2023/01/21 | 25 | support/texlab/src/parser/test_data/bibtex/preamble.txt
-2023/01/21 | 2586 | support/texlab/texlab.tex
-2023/01/21 | 25487 | support/texlab/src/features/completion/builder.rs
-2023/01/21 | 252 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__unmatched_brackets.txt.snap
-2023/01/21 | 2515 | support/texlab/src/parser/test_data/build_log/003.txt
-2023/01/21 | 250 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__unmatched_braces.txt.snap
-2023/01/21 | 24 | support/texlab/src/parser/test_data/latex/include/svg_include_simple.txt
-2023/01/21 | 2490 | support/texlab/src/citation/field/date.rs
-2023/01/21 | 2474 | support/texlab/src/distro/miktex.rs
-2023/01/21 | 246 | support/texlab/src/tests/issues.rs
-2023/01/21 | 24575 | support/texlab/CHANGELOG.md
-2023/01/21 | 2455 | support/texlab/src/parser/test_data/build_log/002.txt
-2023/01/21 | 2416 | support/texlab/src/server/dispatch.rs
-2023/01/21 | 23 | support/texlab/src/parser/test_data/latex/include/class_include_simple.txt
-2023/01/21 | 23 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_simple.txt
-2023/01/21 | 23716 | systems/texlive/tlnet/archive/overarrows.source.r65599.tar.xz
-2023/01/21 | 230 | support/texlab/src/db.rs
-2023/01/21 | 22 | support/texlab/src/parser/test_data/latex/include/bibtex_include_simple.txt
-2023/01/21 | 22 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_no_argc.txt
-2023/01/21 | 22 | support/texlab/src/parser/test_data/latex/caption/caption_minimal.txt
-2023/01/21 | 228 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@hello_world.txt.snap
-2023/01/21 | 2263 | support/texlab/src/features/rename/entry.rs
-2023/01/21 | 2234 | support/texlab/Cargo.toml
-2023/01/21 | 2223 | support/texlab/src/tests/text_document/folding_range.rs
-2023/01/21 | 22224 | support/texlab/src/citation/driver.rs
-2023/01/21 | 220 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@comment.txt.snap
-2023/01/21 | 21 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
-2023/01/21 | 21 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
-2023/01/21 | 21 | support/texlab/src/parser/test_data/latex/label/label_number.txt
-2023/01/21 | 21 | support/texlab/src/parser/test_data/latex/inline_double_dollar.txt
-2023/01/21 | 21 | support/texlab/src/parser/test_data/latex/caption/caption_minimal_error.txt
-2023/01/21 | 216 | support/texlab/src/tests/text_document.rs
-2023/01/21 | 2147 | support/texlab/src/features/folding.rs
-2023/01/21 | 2115 | support/texlab/src/features/formatting/latexindent.rs
-2023/01/21 | 210 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@generic_command_empty.txt.snap
-2023/01/21 | 20 | support/texlab/src/parser/test_data/latex/label/label_reference_range_simple.txt
-2023/01/21 | 20 | support/texlab/src/parser/test_data/latex/include/tikz_library_import_simple.txt
-2023/01/21 | 20 | support/texlab/src/parser/test_data/latex/include/package_include_simple.txt
-2023/01/21 | 20 | support/texlab/src/parser/test_data/latex/include/latex_input_path_brackets.txt
-2023/01/21 | 20 | support/texlab/src/parser/test_data/latex/include/inkscape_include_simple.txt
-2023/01/21 | 20 | support/texlab/src/parser/test_data/latex/citation/citation_prenote_postnote.txt
-2023/01/21 | 209 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@generic_command_escape.txt.snap
-2023/01/21 | 2050 | support/texlab/src/tests/text_document/inlay_hint.rs
-2023/01/21 | 2049 | support/texlab/src/util/lang_data.rs
-2023/01/21 | 2008 | support/texlab/src/tests/text_document/rename.rs
-2023/01/21 | 2002380 | systems/texlive/tlnet/archive/simpleicons.doc.r65596.tar.xz
-2023/01/21 | 1 | support/texlab/src/parser/test_data/latex/parameter_error.txt
-2023/01/21 | 19 | support/texlab/src/parser/test_data/latex/label/label_reference_range_error.txt
-2023/01/21 | 19 | support/texlab/src/parser/test_data/latex/label/label_definition_line_break.txt
-2023/01/21 | 19 | support/texlab/src/parser/test_data/latex/issue_789.txt
-2023/01/21 | 19 | support/texlab/src/parser/test_data/latex/inline.txt
-2023/01/21 | 19 | support/texlab/src/parser/test_data/latex/include/pgf_library_import_simple.txt
-2023/01/21 | 19 | support/texlab/src/parser/test_data/latex/glossary/acronym_reference_simple.txt
-2023/01/21 | 1955 | support/texlab/src/distro.rs
-2023/01/21 | 1917 | support/texlab/src/features/definition.rs
-2023/01/21 | 1900 | support/texlab/src/features/reference/entry.rs
-2023/01/21 | 187 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_join_strings.snap
-2023/01/21 | 1865 | support/texlab/src/main.rs
-2023/01/21 | 1844 | support/texlab/src/features/rename.rs
-2023/01/21 | 183 | support/texlab/CONTRIBUTING.md
-2023/01/21 | 1836 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__theorem_nested.snap
-2023/01/21 | 1816 | support/texlab/src/distro/file_name_db.rs
-2023/01/21 | 17 | support/texlab/src/parser/test_data/latex/include/latex_include_simple.txt
-2023/01/21 | 17 | support/texlab/src/parser/test_data/latex/include/latex_include_equality_sign.txt
-2023/01/21 | 17 | support/texlab/src/parser/test_data/latex/include/import_simple.txt
-2023/01/21 | 17 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_no_impl.txt
-2023/01/21 | 17987 | support/texlab/src/parser/latex/lexer.rs
-2023/01/21 | 1769 | support/texlab/src/db/parse.rs
-2023/01/21 | 1760 | support/texlab/src/citation/output.rs
-2023/01/21 | 1752 | support/texlab/src/features/completion/argument.rs
-2023/01/21 | 1744 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@structure__structure_nested.txt.snap
-2023/01/21 | 173 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_command.snap
-2023/01/21 | 173 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@parameter_error.txt.snap
-2023/01/21 | 171 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_preamble.snap
-2023/01/21 | 1710 | support/texlab/src/features/completion/citation.rs
-2023/01/21 | 1709 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__inlay_hint__label_definition.snap
-2023/01/21 | 1702 | support/texlab/src/features/completion.rs
-2023/01/21 | 16 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_only_name.txt
-2023/01/21 | 16 | support/texlab/src/parser/test_data/latex/include/class_include_empty.txt
-2023/01/21 | 16 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_no_impl_error.txt
-2023/01/21 | 16999 | support/texlab/src/syntax/latex/cst.rs
-2023/01/21 | 168 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@parameter.txt.snap
-2023/01/21 | 1668 | support/texlab/src/features/build/progress.rs
-2023/01/21 | 1658 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@006.txt.snap
-2023/01/21 | 163 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_trailing_comma.snap
-2023/01/21 | 1634 | support/texlab/src/tests/text_document/document_highlight.rs
-2023/01/21 | 1631 | support/texlab/src/citation/field/author.rs
-2023/01/21 | 162 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_insert_braces.snap
-2023/01/21 | 15 | support/texlab/src/parser/test_data/latex/label/label_reference_range_incomplete.txt
-2023/01/21 | 15 | support/texlab/src/parser/test_data/latex/color/color_set_definition_error4.txt
-2023/01/21 | 15 | support/texlab/src/parser/test_data/latex/citation/citation_prenote.txt
-2023/01/21 | 15 | support/texlab/src/parser/test_data/latex/citation/citation_multiple_keys.txt
-2023/01/21 | 1593 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__enumerate_flat.snap
-2023/01/21 | 1567 | support/texlab/src/features/completion/import.rs
-2023/01/21 | 1542 | support/texlab/src/tests/text_document/document_link.rs
-2023/01/21 | 14 | support/texlab/src/parser/test_data/latex/label/label_reference_multiple.txt
-2023/01/21 | 14 | support/texlab/src/parser/test_data/latex/generic_command_args.txt
-2023/01/21 | 149 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_string.snap
-2023/01/21 | 1478 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__section_nested.snap
-2023/01/21 | 1462 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
-2023/01/21 | 14329 | support/texlab/src/tests/text_document/completion.rs
-2023/01/21 | 1428 | support/texlab/src/citation/snapshots/texlab__citation__tests__mvbook_nietzsche_1988.snap
-2023/01/21 | 1423 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__import_class_open_brace.snap
-2023/01/21 | 1418 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__import_class_closed_brace.snap
-2023/01/21 | 1411 | support/texlab/src/citation/snapshots/texlab__citation__tests__book_averroes_1998.snap
-2023/01/21 | 1405 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__import_package_closed_brace.snap
-2023/01/21 | 1404 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__import_package_open_brace.snap
-2023/01/21 | 14005 | support/texlab/src/features/symbol/latex.rs
-2023/01/21 | 13 | support/texlab/src/parser/test_data/latex/include/package_include_empty.txt
-2023/01/21 | 13 | support/texlab/src/parser/test_data/latex/group/curly_group_simple.txt
-2023/01/21 | 13 | support/texlab/src/parser/test_data/latex/equation.txt
-2023/01/21 | 13 | support/texlab/src/parser/test_data/latex/color/color_reference_simple.txt
-2023/01/21 | 1397 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__float_nested.snap
-2023/01/21 | 1390 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__project_resolution_texlabroot.snap
-2023/01/21 | 138 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__formatting__bibtex_internal_parens.snap
-2023/01/21 | 1387 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__equation_nested.snap
-2023/01/21 | 1385 | support/texlab/src/citation/field/number.rs
-2023/01/21 | 1377 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__project_resolution_import.snap
-2023/01/21 | 1367 | support/texlab/src/features/reference/string.rs
-2023/01/21 | 1356 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
-2023/01/21 | 13353 | support/texlab/src/parser/test_data/build_log/005.txt
-2023/01/21 | 1330 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_blom_2021.snap
-2023/01/21 | 1326 | support/texlab/src/features/definition/command.rs
-2023/01/21 | 1322 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__field_entry_two_fields_name_closed.snap
-2023/01/21 | 1321 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__field_entry_two_fields_name_open.snap
-2023/01/21 | 1314 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_kastenholz_2006.snap
-2023/01/21 | 1312 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__theorem_flat.snap
-2023/01/21 | 12 | support/texlab/src/tests/workspace.rs
-2023/01/21 | 12 | support/texlab/src/parser/test_data/latex/hello_world.txt
-2023/01/21 | 12 | support/texlab/src/parser/test_data/latex/group/curly_group_missing_end.txt
-2023/01/21 | 12 | support/texlab/src/parser/test_data/latex/citation/citation_redundant_comma.txt
-2023/01/21 | 1299 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
-2023/01/21 | 1296 | support/texlab/src/features/rename/command.rs
-2023/01/21 | 1290 | support/texlab/src/tests/workspace/snapshots/texlab__tests__workspace__symbol__filter_type_section.snap
-2023/01/21 | 1281 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__field_entry_field_name.snap
-2023/01/21 | 1280 | support/texlab/src/util/line_index_ext.rs
-2023/01/21 | 1270 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@structure__structure_enum_item.txt.snap
-2023/01/21 | 12703 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
-2023/01/21 | 125 | support/texlab/src/parser.rs
-2023/01/21 | 1258 | support/texlab/src/features/definition/label.rs
-2023/01/21 | 1257 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_command_bibtex.snap
-2023/01/21 | 1256 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__field_empty_entry_closed.snap
-2023/01/21 | 1255 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__field_empty_entry_open.snap
-2023/01/21 | 1239 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_command_simple_package.snap
-2023/01/21 | 1236 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__begin_environment_without_snippet_support.snap
-2023/01/21 | 1236 | support/texlab/src/features/completion/color_model.rs
-2023/01/21 | 1223 | support/texlab/src/citation/snapshots/texlab__citation__tests__book_knuth_1984.snap
-2023/01/21 | 1221 | support/texlab/src/features/completion/glossary_ref.rs
-2023/01/21 | 1215 | support/texlab/src/features/definition/entry.rs
-2023/01/21 | 1212 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__argument_open_brace.snap
-2023/01/21 | 1207 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__entry_type_at_empty.snap
-2023/01/21 | 1202 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__argument_empty.snap
-2023/01/21 | 11 | support/texlab/src/parser/test_data/latex/label/label_reference_equation.txt
-2023/01/21 | 11 | support/texlab/src/parser/test_data/latex/label/label_definition_simple.txt
-2023/01/21 | 11 | support/texlab/src/parser/test_data/latex/include/import_incomplete.txt
-2023/01/21 | 1197 | support/texlab/src/features/hover.rs
-2023/01/21 | 1192 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
-2023/01/21 | 11874 | support/texlab/src/citation/tests.rs
-2023/01/21 | 1186 | support/texlab/src/features/inlay_hint.rs
-2023/01/21 | 1176 | support/texlab/src/citation/snapshots/texlab__citation__tests__inproceedings_combi_2004.snap
-2023/01/21 | 1175 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_environment_simple_end.snap
-2023/01/21 | 1173 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__component_command_simple.snap
-2023/01/21 | 1158 | support/texlab/src/features/hover/string_ref.rs
-2023/01/21 | 1153 | support/texlab/src/features/reference.rs
-2023/01/21 | 11459 | support/texlab/src/parser/bibtex.rs
-2023/01/21 | 1143 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_nested.txt.snap
-2023/01/21 | 1122 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_definition.txt.snap
-2023/01/21 | 1113 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__tikz_library_closed_brace.snap
-2023/01/21 | 1112 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__tikz_library_open_brace.snap
-2023/01/21 | 1112 | support/texlab/src/parser/test_data/bibtex/samples/nietzsche_1998.txt
-2023/01/21 | 1111 | support/texlab/src/tests/snapshots/texlab__tests__issues__issue_707.snap
-2023/01/21 | 11001 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
-2023/01/21 | 10 | support/texlab/src/parser/test_data/latex/citation/citation_star.txt
-2023/01/21 | 10 | support/texlab/src/parser/test_data/latex/citation/citation_simple.txt
-2023/01/21 | 1082 | support/texlab/src/features/highlight/label.rs
-2023/01/21 | 1064 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_aksin_2006.snap
-2023/01/21 | 1062 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_jain_1999.snap
-2023/01/21 | 1061 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_options.txt.snap
-2023/01/21 | 1061 | support/texlab/src/features/formatting.rs
-2023/01/21 | 1058 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__class_include_options.txt.snap
-2023/01/21 | 1051 | support/texlab/src/citation/snapshots/texlab__citation__tests__inproceedings_erwin_2007.snap
-2023/01/21 | 1044 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_word.snap
-2023/01/21 | 1038 | support/texlab/src/features/link.rs
-2023/01/21 | 1037403 | usergrps/gutenberg/lettre/lettre49.pdf
-2023/01/21 | 10366 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
-2023/01/21 | 1035 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_simple.snap
-2023/01/21 | 1034 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_open_brace.snap
-2023/01/21 | 1027 | support/texlab/src/features/reference/label.rs
-2023/01/21 | 1019 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_model_definition_simple.snap
-2023/01/21 | 1018 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_model_definition_open_brace.snap
-2023/01/21 | 1015 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_model_definition_set_simple.snap
-2023/01/21 | 1014 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__completion__color_model_definition_set_open_brace.snap
-2023/01/21 | 1011 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__float_flat.snap
-2023/01/21 | 1008 | support/texlab/src/parser/test_data/bibtex/samples/averroes_1998.txt
-2023/01/21 | 1005 | support/texlab/src/tests/text_document/snapshots/texlab__tests__text_document__document_symbol__equation_flat.snap
-2023/01/21 | 1003 | support/texlab/src/tests/text_document/did_change_configuration.rs
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index b673ca7f38..12936de2ea 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 28-01-2023, 02:00:55
+%% created at 29-01-2023, 02:01:39
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -9012,8 +9012,8 @@
title = {The \texttt{bmstu} package},
subtitle = {A \LaTeX{} class for Bauman Moscow State Technical University},
author = {Mikael Novikov},
- date = {2022-02-08},
- version = {1.0.0},
+ date = {2023-01-28},
+ version = {2.0.0},
license = {lppl1.3,other-free},
mirror = {https://mirror.ctan.org/macros/latex/contrib/bmstu},
url = {https://ctan.org/pkg/bmstu},
@@ -23583,7 +23583,7 @@
title = {The \texttt{expkv-bundle} package},
subtitle = {An expandable key=val implementation and friends},
author = {Jonathan P. Spratte},
- date = {2023-01-26},
+ date = {2023-01-28},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
@@ -23594,7 +23594,7 @@
title = {The \texttt{expkv-cs} package},
subtitle = {Define expandable key=val macros using expkv},
author = {Jonathan P. Spratte},
- date = {2023-01-26},
+ date = {2023-01-28},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
url = {https://ctan.org/pkg/expkv-cs},
@@ -23606,7 +23606,7 @@
title = {The \texttt{expkv-def} package},
subtitle = {A key-defining frontend for expkv},
author = {Jonathan P. Spratte},
- date = {2023-01-26},
+ date = {2023-01-28},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
url = {https://ctan.org/pkg/expkv-def},
@@ -23618,7 +23618,7 @@
title = {The \texttt{expkv-opt} package},
subtitle = {Parse class and package options with expkv},
author = {Jonathan P. Spratte},
- date = {2023-01-26},
+ date = {2023-01-28},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
url = {https://ctan.org/pkg/expkv-opt},
@@ -23630,7 +23630,7 @@
title = {The \texttt{expkv} package},
subtitle = {An expandable key=val implementation},
author = {Jonathan P. Spratte},
- date = {2023-01-26},
+ date = {2023-01-28},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
url = {https://ctan.org/pkg/expkv},
@@ -25273,8 +25273,8 @@
title = {The \texttt{fixdif} package},
subtitle = {Macros for typesetting differential operators},
author = {Tingxuan Zhang},
- date = {2023-01-27},
- version = {1.6},
+ date = {2023-01-28},
+ version = {2.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/fixdif},
url = {https://ctan.org/pkg/fixdif},
@@ -31828,8 +31828,8 @@
title = {The \texttt{hvfloat} package},
subtitle = {Controlling captions, fullpage and doublepage floats},
author = {Herbert Voß},
- date = {2022-11-21},
- version = {2.44},
+ date = {2023-01-28},
+ version = {2.45},
license = {lppl},
mirror = {https://mirror.ctan.org/macros/latex/contrib/hvfloat},
url = {https://ctan.org/pkg/hvfloat},
@@ -40782,8 +40782,8 @@
@manual{ctan-luacas,
title = {The \texttt{luacas} package},
subtitle = {A computer algebra system for users of LuaLaTeX},
- author = {Timothy All},
- date = {2022-11-18},
+ author = {Timothy All and Evan Cochrane},
+ date = {2023-01-28},
version = {1.0.1},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/luatex/latex/luacas},
@@ -45529,8 +45529,8 @@
title = {The \texttt{moodle} package},
subtitle = {Generating Moodle quizzes via \LaTeX{}},
author = {Anders O. F. Hendrickson and Matthieu Guerquin-Kern},
- date = {2021-02-07},
- version = {0.9},
+ date = {2023-01-28},
+ version = {1.0},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/moodle},
url = {https://ctan.org/pkg/moodle},
@@ -50037,7 +50037,7 @@
title = {The \texttt{pagelayout} package},
subtitle = {Layout graphic rich documents},
author = {Friedemann Bartels},
- date = {2023-01-26},
+ date = {2023-01-28},
version = {1.0.3},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/pagelayout},
@@ -52476,7 +52476,7 @@
title = {The \texttt{PixelArtTikz} package},
subtitle = {Work with PixelArts, with TikZ},
author = {Cédric Pierquet},
- date = {2023-01-26},
+ date = {2023-01-28},
version = {0.1.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pixelarttikz},
@@ -53927,8 +53927,8 @@
title = {The \texttt{ProfCollege} package},
subtitle = {A \LaTeX{} package for French maths teachers in college},
author = {Christophe Poulain},
- date = {2023-01-01},
- version = {0.99-z-d},
+ date = {2023-01-28},
+ version = {0.99-z-e},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/profcollege},
url = {https://ctan.org/pkg/profcollege},
@@ -65370,7 +65370,7 @@
title = {The \texttt{TangramTikz} package},
subtitle = {Tangram puzzles, with TikZ},
author = {Cédric Pierquet},
- date = {2023-01-27},
+ date = {2023-01-28},
version = {0.1.1},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tangramtikz},
@@ -71657,8 +71657,8 @@
title = {The \texttt{ufrgscca} package},
subtitle = {A bundle for undergraduate students final work/report (tcc) at UFRGS/EE},
author = {Alceu Frigeri},
- date = {2023-01-17},
- version = {1.0.7},
+ date = {2023-01-28},
+ version = {1.0.8},
license = {lppl1.3c,gpl},
mirror = {https://mirror.ctan.org/macros/latex/contrib/ufrgscca},
url = {https://ctan.org/pkg/ufrgscca},
@@ -72588,7 +72588,7 @@
title = {The \texttt{uol-physics-report} package},
subtitle = {A \LaTeX{} document class for writing lab reports},
author = {Jan Eike Suchard},
- date = {2023-01-27},
+ date = {2023-01-28},
version = {1.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/uol-physics-report},
@@ -72735,7 +72735,7 @@
title = {The \texttt{uptex-fonts} package},
subtitle = {Fonts for use with upTeX},
author = {Kazuki Maeda and {Japanese \TeX{} Development Community} and Takuji Tanaka},
- date = {2022-03-10},
+ date = {2023-01-28},
version = {},
license = {bsd3},
mirror = {https://mirror.ctan.org/fonts/uptex-fonts},
@@ -75509,8 +75509,8 @@
title = {The \texttt{xduts} package},
subtitle = {Xidian University \TeX{} Suite},
author = {{Unknown}},
- date = {2023-01-24},
- version = {4.1.1.0},
+ date = {2023-01-28},
+ version = {4.3.0.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/xetex/latex/xduts},
url = {https://ctan.org/pkg/xduts},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index cdc4f96b71..2261887146 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/fonts/uptex-fonts/LICENSE b/fonts/uptex-fonts/LICENSE
index bbcbbb8b60..3f7d3ca64b 100644
--- a/fonts/uptex-fonts/LICENSE
+++ b/fonts/uptex-fonts/LICENSE
@@ -1,6 +1,6 @@
Copyright (c) 2010 ASCII MEDIA WORKS
-Copyright (c) 2016-2022 Takuji Tanaka
-Copyright (c) 2016-2022 Japanese TeX Development Community
+Copyright (c) 2016-2023 Takuji Tanaka
+Copyright (c) 2016-2023 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/fonts/uptex-fonts/README.md b/fonts/uptex-fonts/README.md
index 48eb2381a0..8ba671eeac 100644
--- a/fonts/uptex-fonts/README.md
+++ b/fonts/uptex-fonts/README.md
@@ -18,6 +18,6 @@ this redistribution also follows it (see [LICENSE](./LICENSE)).
## Release Date
-2022-03-10
+2023-01-28
Japanese TeX Development Community
diff --git a/fonts/uptex-fonts/README_uptex_font.md b/fonts/uptex-fonts/README_uptex_font.md
index b719e5e436..e33d761653 100644
--- a/fonts/uptex-fonts/README_uptex_font.md
+++ b/fonts/uptex-fonts/README_uptex_font.md
@@ -94,6 +94,12 @@ JIS -> Unicode conversion is ambiguous and depends on tables.
ChangeLog
---------
+### uptex-fonts-20230128
+* cmap/UTF8-UTF16:
+ Updated (Version: 1.009).
+* cmap/UniJISup-UTF16-{H,V},UniJIS2004up-UTF16-{H,V}:
+ Refer to Adobe-Japan1-7 (2022/05/18).
+
### uptex-fonts-20220310
* cmap/UTF8-UTF16:
Updated (Version: 1.008).
diff --git a/fonts/uptex-fonts/cmap/UTF8-UTF16 b/fonts/uptex-fonts/cmap/UTF8-UTF16
index cf6008216f..28a9eb7e53 100644
--- a/fonts/uptex-fonts/cmap/UTF8-UTF16
+++ b/fonts/uptex-fonts/cmap/UTF8-UTF16
@@ -3,7 +3,7 @@
%%IncludeResource: ProcSet (CIDInit)
%%BeginResource: CMap (UTF8-UTF16)
%%Title: (UTF8-UTF16 UCS Conversion)
-%%Version: 1.008
+%%Version: 1.009
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright (c) 2012-2022 Takuji Tanaka
%%Copyright: All rights reserved.
@@ -36,9 +36,9 @@
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%Comment: -------------------------------------------------------------
-%%Comment: Undefined code points in Unicode 14.0 are not included.
+%%Comment: Undefined code points in Unicode 15.0 are not included.
%%Comment: Ref. http://www.unicode.org/Public/UNIDATA/Blocks.txt
-%%Comment: "Blocks-14.0.0.txt Date: 2021-01-22, 23:29:00 GMT [KW]"
+%%Comment: "Blocks-15.0.0.txt Date: 2022-01-28, 20:58:00 GMT [KW]"
%%Comment: -------------------------------------------------------------
%%EndComments
@@ -56,7 +56,7 @@ end def
/CMapName /UTF8-UTF16 def
-/CMapVersion 1.008 def
+/CMapVersion 1.009 def
/CMapType 2 def
/WMode 0 def
@@ -67,7 +67,7 @@ end def
<E18080> <ECBFBF>
<ED8080> <ED9FBF>
<EE8080> <EFBFBF>
- <F0908080> <F0B1BFBF>
+ <F0908080> <F0B2BFBF>
<F3A08080> <F3A087BF>
endcodespacerange
@@ -1142,6 +1142,7 @@ endbfrange
<f090b480> <f090b4bf> <d803dd00>
<f090b980> <f090b9bf> <d803de40>
<f090ba80> <f090babf> <d803de80>
+<f090bb80> <f090bbbf> <d803dec0>
<f090bc80> <f090bcbf> <d803df00>
<f090bd80> <f090bdbf> <d803df40>
<f090be80> <f090bebf> <d803df80>
@@ -1184,6 +1185,8 @@ endbfrange
<f091a980> <f091a9bf> <d806de40>
<f091aa80> <f091aabf> <d806de80>
<f091ab80> <f091abbf> <d806dec0>
+<f091ac80> <f091acbf> <d806df00>
+<f091ad80> <f091adbf> <d806df40>
<f091b080> <f091b0bf> <d807dc00>
<f091b180> <f091b1bf> <d807dc40>
<f091b280> <f091b2bf> <d807dc80>
@@ -1191,20 +1194,22 @@ endbfrange
<f091b580> <f091b5bf> <d807dd40>
<f091b680> <f091b6bf> <d807dd80>
<f091bb80> <f091bbbf> <d807dec0>
+<f091bc80> <f091bcbf> <d807df00>
+<f091bd80> <f091bdbf> <d807df40>
<f091be80> <f091bebf> <d807df80>
<f091bf80> <f091bfbf> <d807dfc0>
<f0928080> <f09280bf> <d808dc00>
<f0928180> <f09281bf> <d808dc40>
<f0928280> <f09282bf> <d808dc80>
<f0928380> <f09283bf> <d808dcc0>
+endbfrange
+
+100 beginbfrange
<f0928480> <f09284bf> <d808dd00>
<f0928580> <f09285bf> <d808dd40>
<f0928680> <f09286bf> <d808dd80>
<f0928780> <f09287bf> <d808ddc0>
<f0928880> <f09288bf> <d808de00>
-endbfrange
-
-100 beginbfrange
<f0928980> <f09289bf> <d808de40>
<f0928a80> <f0928abf> <d808de80>
<f0928b80> <f0928bbf> <d808dec0>
@@ -1237,6 +1242,7 @@ endbfrange
<f0938e80> <f0938ebf> <d80cdf80>
<f0938f80> <f0938fbf> <d80cdfc0>
<f0939080> <f09390bf> <d80ddc00>
+<f0939180> <f09391bf> <d80ddc40>
<f0949080> <f09490bf> <d811dc00>
<f0949180> <f09491bf> <d811dc40>
<f0949280> <f09492bf> <d811dc80>
@@ -1299,15 +1305,15 @@ endbfrange
<f0979c80> <f0979cbf> <d81ddf00>
<f0979d80> <f0979dbf> <d81ddf40>
<f0979e80> <f0979ebf> <d81ddf80>
+endbfrange
+
+100 beginbfrange
<f0979f80> <f0979fbf> <d81ddfc0>
<f097a080> <f097a0bf> <d81edc00>
<f097a180> <f097a1bf> <d81edc40>
<f097a280> <f097a2bf> <d81edc80>
<f097a380> <f097a3bf> <d81edcc0>
<f097a480> <f097a4bf> <d81edd00>
-endbfrange
-
-100 beginbfrange
<f097a580> <f097a5bf> <d81edd40>
<f097a680> <f097a6bf> <d81edd80>
<f097a780> <f097a7bf> <d81eddc0>
@@ -1402,15 +1408,15 @@ endbfrange
<f09b8980> <f09b89bf> <d82cde40>
<f09b8a80> <f09b8abf> <d82cde80>
<f09b8b80> <f09b8bbf> <d82cdec0>
+endbfrange
+
+100 beginbfrange
<f09bb080> <f09bb0bf> <d82fdc00>
<f09bb180> <f09bb1bf> <d82fdc40>
<f09bb280> <f09bb2bf> <d82fdc80>
<f09cbc80> <f09cbcbf> <d833df00>
<f09cbd80> <f09cbdbf> <d833df40>
<f09cbe80> <f09cbebf> <d833df80>
-endbfrange
-
-100 beginbfrange
<f09cbf80> <f09cbfbf> <d833dfc0>
<f09d8080> <f09d80bf> <d834dc00>
<f09d8180> <f09d81bf> <d834dc40>
@@ -1457,10 +1463,13 @@ endbfrange
<f09dbe80> <f09dbebf> <d837df80>
<f09dbf80> <f09dbfbf> <d837dfc0>
<f09e8080> <f09e80bf> <d838dc00>
+<f09e8180> <f09e81bf> <d838dc40>
+<f09e8280> <f09e82bf> <d838dc80>
<f09e8480> <f09e84bf> <d838dd00>
<f09e8580> <f09e85bf> <d838dd40>
<f09e8a80> <f09e8abf> <d838de80>
<f09e8b80> <f09e8bbf> <d838dec0>
+<f09e9380> <f09e93bf> <d839dcc0>
<f09e9f80> <f09e9fbf> <d839dfc0>
<f09ea080> <f09ea0bf> <d83adc00>
<f09ea180> <f09ea1bf> <d83adc40>
@@ -1502,6 +1511,9 @@ endbfrange
<f09f9780> <f09f97bf> <d83dddc0>
<f09f9880> <f09f98bf> <d83dde00>
<f09f9980> <f09f99bf> <d83dde40>
+endbfrange
+
+100 beginbfrange
<f09f9a80> <f09f9abf> <d83dde80>
<f09f9b80> <f09f9bbf> <d83ddec0>
<f09f9c80> <f09f9cbf> <d83ddf00>
@@ -1511,9 +1523,6 @@ endbfrange
<f09fa080> <f09fa0bf> <d83edc00>
<f09fa180> <f09fa1bf> <d83edc40>
<f09fa280> <f09fa2bf> <d83edc80>
-endbfrange
-
-100 beginbfrange
<f09fa380> <f09fa3bf> <d83edcc0>
<f09fa480> <f09fa4bf> <d83edd00>
<f09fa580> <f09fa5bf> <d83edd40>
@@ -1605,6 +1614,9 @@ endbfrange
<f0a18b80> <f0a18bbf> <d844dec0>
<f0a18c80> <f0a18cbf> <d844df00>
<f0a18d80> <f0a18dbf> <d844df40>
+endbfrange
+
+100 beginbfrange
<f0a18e80> <f0a18ebf> <d844df80>
<f0a18f80> <f0a18fbf> <d844dfc0>
<f0a19080> <f0a190bf> <d845dc00>
@@ -1614,9 +1626,6 @@ endbfrange
<f0a19480> <f0a194bf> <d845dd00>
<f0a19580> <f0a195bf> <d845dd40>
<f0a19680> <f0a196bf> <d845dd80>
-endbfrange
-
-100 beginbfrange
<f0a19780> <f0a197bf> <d845ddc0>
<f0a19880> <f0a198bf> <d845de00>
<f0a19980> <f0a199bf> <d845de40>
@@ -1708,6 +1717,9 @@ endbfrange
<f0a2af80> <f0a2afbf> <d84adfc0>
<f0a2b080> <f0a2b0bf> <d84bdc00>
<f0a2b180> <f0a2b1bf> <d84bdc40>
+endbfrange
+
+100 beginbfrange
<f0a2b280> <f0a2b2bf> <d84bdc80>
<f0a2b380> <f0a2b3bf> <d84bdcc0>
<f0a2b480> <f0a2b4bf> <d84bdd00>
@@ -1717,9 +1729,6 @@ endbfrange
<f0a2b880> <f0a2b8bf> <d84bde00>
<f0a2b980> <f0a2b9bf> <d84bde40>
<f0a2ba80> <f0a2babf> <d84bde80>
-endbfrange
-
-100 beginbfrange
<f0a2bb80> <f0a2bbbf> <d84bdec0>
<f0a2bc80> <f0a2bcbf> <d84bdf00>
<f0a2bd80> <f0a2bdbf> <d84bdf40>
@@ -1811,6 +1820,9 @@ endbfrange
<f0a49380> <f0a493bf> <d851dcc0>
<f0a49480> <f0a494bf> <d851dd00>
<f0a49580> <f0a495bf> <d851dd40>
+endbfrange
+
+100 beginbfrange
<f0a49680> <f0a496bf> <d851dd80>
<f0a49780> <f0a497bf> <d851ddc0>
<f0a49880> <f0a498bf> <d851de00>
@@ -1820,9 +1832,6 @@ endbfrange
<f0a49c80> <f0a49cbf> <d851df00>
<f0a49d80> <f0a49dbf> <d851df40>
<f0a49e80> <f0a49ebf> <d851df80>
-endbfrange
-
-100 beginbfrange
<f0a49f80> <f0a49fbf> <d851dfc0>
<f0a4a080> <f0a4a0bf> <d852dc00>
<f0a4a180> <f0a4a1bf> <d852dc40>
@@ -1914,6 +1923,9 @@ endbfrange
<f0a5b780> <f0a5b7bf> <d857ddc0>
<f0a5b880> <f0a5b8bf> <d857de00>
<f0a5b980> <f0a5b9bf> <d857de40>
+endbfrange
+
+100 beginbfrange
<f0a5ba80> <f0a5babf> <d857de80>
<f0a5bb80> <f0a5bbbf> <d857dec0>
<f0a5bc80> <f0a5bcbf> <d857df00>
@@ -1923,9 +1935,6 @@ endbfrange
<f0a68080> <f0a680bf> <d858dc00>
<f0a68180> <f0a681bf> <d858dc40>
<f0a68280> <f0a682bf> <d858dc80>
-endbfrange
-
-100 beginbfrange
<f0a68380> <f0a683bf> <d858dcc0>
<f0a68480> <f0a684bf> <d858dd00>
<f0a68580> <f0a685bf> <d858dd40>
@@ -2017,6 +2026,9 @@ endbfrange
<f0a79b80> <f0a79bbf> <d85ddec0>
<f0a79c80> <f0a79cbf> <d85ddf00>
<f0a79d80> <f0a79dbf> <d85ddf40>
+endbfrange
+
+100 beginbfrange
<f0a79e80> <f0a79ebf> <d85ddf80>
<f0a79f80> <f0a79fbf> <d85ddfc0>
<f0a7a080> <f0a7a0bf> <d85edc00>
@@ -2026,9 +2038,6 @@ endbfrange
<f0a7a480> <f0a7a4bf> <d85edd00>
<f0a7a580> <f0a7a5bf> <d85edd40>
<f0a7a680> <f0a7a6bf> <d85edd80>
-endbfrange
-
-100 beginbfrange
<f0a7a780> <f0a7a7bf> <d85eddc0>
<f0a7a880> <f0a7a8bf> <d85ede00>
<f0a7a980> <f0a7a9bf> <d85ede40>
@@ -2120,6 +2129,9 @@ endbfrange
<f0a8bf80> <f0a8bfbf> <d863dfc0>
<f0a98080> <f0a980bf> <d864dc00>
<f0a98180> <f0a981bf> <d864dc40>
+endbfrange
+
+100 beginbfrange
<f0a98280> <f0a982bf> <d864dc80>
<f0a98380> <f0a983bf> <d864dcc0>
<f0a98480> <f0a984bf> <d864dd00>
@@ -2129,9 +2141,6 @@ endbfrange
<f0a98880> <f0a988bf> <d864de00>
<f0a98980> <f0a989bf> <d864de40>
<f0a98a80> <f0a98abf> <d864de80>
-endbfrange
-
-100 beginbfrange
<f0a98b80> <f0a98bbf> <d864dec0>
<f0a98c80> <f0a98cbf> <d864df00>
<f0a98d80> <f0a98dbf> <d864df40>
@@ -2223,6 +2232,9 @@ endbfrange
<f0aaa380> <f0aaa3bf> <d86adcc0>
<f0aaa480> <f0aaa4bf> <d86add00>
<f0aaa580> <f0aaa5bf> <d86add40>
+endbfrange
+
+100 beginbfrange
<f0aaa680> <f0aaa6bf> <d86add80>
<f0aaa780> <f0aaa7bf> <d86addc0>
<f0aaa880> <f0aaa8bf> <d86ade00>
@@ -2232,9 +2244,6 @@ endbfrange
<f0aaac80> <f0aaacbf> <d86adf00>
<f0aaad80> <f0aaadbf> <d86adf40>
<f0aaae80> <f0aaaebf> <d86adf80>
-endbfrange
-
-100 beginbfrange
<f0aaaf80> <f0aaafbf> <d86adfc0>
<f0aab080> <f0aab0bf> <d86bdc00>
<f0aab180> <f0aab1bf> <d86bdc40>
@@ -2326,6 +2335,9 @@ endbfrange
<f0ac8780> <f0ac87bf> <d870ddc0>
<f0ac8880> <f0ac88bf> <d870de00>
<f0ac8980> <f0ac89bf> <d870de40>
+endbfrange
+
+100 beginbfrange
<f0ac8a80> <f0ac8abf> <d870de80>
<f0ac8b80> <f0ac8bbf> <d870dec0>
<f0ac8c80> <f0ac8cbf> <d870df00>
@@ -2335,9 +2347,6 @@ endbfrange
<f0ac9080> <f0ac90bf> <d871dc00>
<f0ac9180> <f0ac91bf> <d871dc40>
<f0ac9280> <f0ac92bf> <d871dc80>
-endbfrange
-
-100 beginbfrange
<f0ac9380> <f0ac93bf> <d871dcc0>
<f0ac9480> <f0ac94bf> <d871dd00>
<f0ac9580> <f0ac95bf> <d871dd40>
@@ -2429,6 +2438,9 @@ endbfrange
<f0adab80> <f0adabbf> <d876dec0>
<f0adac80> <f0adacbf> <d876df00>
<f0adad80> <f0adadbf> <d876df40>
+endbfrange
+
+100 beginbfrange
<f0adae80> <f0adaebf> <d876df80>
<f0adaf80> <f0adafbf> <d876dfc0>
<f0adb080> <f0adb0bf> <d877dc00>
@@ -2438,9 +2450,6 @@ endbfrange
<f0adb480> <f0adb4bf> <d877dd00>
<f0adb580> <f0adb5bf> <d877dd40>
<f0adb680> <f0adb6bf> <d877dd80>
-endbfrange
-
-100 beginbfrange
<f0adb780> <f0adb7bf> <d877ddc0>
<f0adb880> <f0adb8bf> <d877de00>
<f0adb980> <f0adb9bf> <d877de40>
@@ -2532,6 +2541,9 @@ endbfrange
<f0b09680> <f0b096bf> <d881dd80>
<f0b09780> <f0b097bf> <d881ddc0>
<f0b09880> <f0b098bf> <d881de00>
+endbfrange
+
+100 beginbfrange
<f0b09980> <f0b099bf> <d881de40>
<f0b09a80> <f0b09abf> <d881de80>
<f0b09b80> <f0b09bbf> <d881dec0>
@@ -2541,9 +2553,6 @@ endbfrange
<f0b09f80> <f0b09fbf> <d881dfc0>
<f0b0a080> <f0b0a0bf> <d882dc00>
<f0b0a180> <f0b0a1bf> <d882dc40>
-endbfrange
-
-50 beginbfrange
<f0b0a280> <f0b0a2bf> <d882dc80>
<f0b0a380> <f0b0a3bf> <d882dcc0>
<f0b0a480> <f0b0a4bf> <d882dd00>
@@ -2588,6 +2597,74 @@ endbfrange
<f0b18b80> <f0b18bbf> <d884dec0>
<f0b18c80> <f0b18cbf> <d884df00>
<f0b18d80> <f0b18dbf> <d884df40>
+<f0b18e80> <f0b18ebf> <d884df80>
+<f0b18f80> <f0b18fbf> <d884dfc0>
+<f0b19080> <f0b190bf> <d885dc00>
+<f0b19180> <f0b191bf> <d885dc40>
+<f0b19280> <f0b192bf> <d885dc80>
+<f0b19380> <f0b193bf> <d885dcc0>
+<f0b19480> <f0b194bf> <d885dd00>
+<f0b19580> <f0b195bf> <d885dd40>
+<f0b19680> <f0b196bf> <d885dd80>
+<f0b19780> <f0b197bf> <d885ddc0>
+<f0b19880> <f0b198bf> <d885de00>
+<f0b19980> <f0b199bf> <d885de40>
+<f0b19a80> <f0b19abf> <d885de80>
+<f0b19b80> <f0b19bbf> <d885dec0>
+<f0b19c80> <f0b19cbf> <d885df00>
+<f0b19d80> <f0b19dbf> <d885df40>
+<f0b19e80> <f0b19ebf> <d885df80>
+<f0b19f80> <f0b19fbf> <d885dfc0>
+<f0b1a080> <f0b1a0bf> <d886dc00>
+<f0b1a180> <f0b1a1bf> <d886dc40>
+<f0b1a280> <f0b1a2bf> <d886dc80>
+<f0b1a380> <f0b1a3bf> <d886dcc0>
+<f0b1a480> <f0b1a4bf> <d886dd00>
+<f0b1a580> <f0b1a5bf> <d886dd40>
+<f0b1a680> <f0b1a6bf> <d886dd80>
+<f0b1a780> <f0b1a7bf> <d886ddc0>
+<f0b1a880> <f0b1a8bf> <d886de00>
+<f0b1a980> <f0b1a9bf> <d886de40>
+<f0b1aa80> <f0b1aabf> <d886de80>
+<f0b1ab80> <f0b1abbf> <d886dec0>
+<f0b1ac80> <f0b1acbf> <d886df00>
+<f0b1ad80> <f0b1adbf> <d886df40>
+<f0b1ae80> <f0b1aebf> <d886df80>
+<f0b1af80> <f0b1afbf> <d886dfc0>
+<f0b1b080> <f0b1b0bf> <d887dc00>
+<f0b1b180> <f0b1b1bf> <d887dc40>
+<f0b1b280> <f0b1b2bf> <d887dc80>
+<f0b1b380> <f0b1b3bf> <d887dcc0>
+<f0b1b480> <f0b1b4bf> <d887dd00>
+<f0b1b580> <f0b1b5bf> <d887dd40>
+<f0b1b680> <f0b1b6bf> <d887dd80>
+<f0b1b780> <f0b1b7bf> <d887ddc0>
+<f0b1b880> <f0b1b8bf> <d887de00>
+<f0b1b980> <f0b1b9bf> <d887de40>
+<f0b1ba80> <f0b1babf> <d887de80>
+<f0b1bb80> <f0b1bbbf> <d887dec0>
+<f0b1bc80> <f0b1bcbf> <d887df00>
+endbfrange
+
+24 beginbfrange
+<f0b1bd80> <f0b1bdbf> <d887df40>
+<f0b1be80> <f0b1bebf> <d887df80>
+<f0b1bf80> <f0b1bfbf> <d887dfc0>
+<f0b28080> <f0b280bf> <d888dc00>
+<f0b28180> <f0b281bf> <d888dc40>
+<f0b28280> <f0b282bf> <d888dc80>
+<f0b28380> <f0b283bf> <d888dcc0>
+<f0b28480> <f0b284bf> <d888dd00>
+<f0b28580> <f0b285bf> <d888dd40>
+<f0b28680> <f0b286bf> <d888dd80>
+<f0b28780> <f0b287bf> <d888ddc0>
+<f0b28880> <f0b288bf> <d888de00>
+<f0b28980> <f0b289bf> <d888de40>
+<f0b28a80> <f0b28abf> <d888de80>
+<f0b28b80> <f0b28bbf> <d888dec0>
+<f0b28c80> <f0b28cbf> <d888df00>
+<f0b28d80> <f0b28dbf> <d888df40>
+<f0b28e80> <f0b28ebf> <d888df80>
<f3a08080> <f3a080bf> <db40dc00>
<f3a08180> <f3a081bf> <db40dc40>
<f3a08480> <f3a084bf> <db40dd00>
diff --git a/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H b/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H
index 9b65a3bad6..2a014bf44f 100644
--- a/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H
+++ b/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-H
@@ -3,11 +3,10 @@
%%IncludeResource: ProcSet (CIDInit)
%%BeginResource: CMap (UniJIS2004up-UTF16-H)
%%Title: (UniJIS2004up-UTF16-H Adobe Japan1 7)
-%%Version: 1.002
+%%Version: 1.004
%%Copyright: -----------------------------------------------------------
-%%Copyright: Copyright 1990-2019 Adobe.
-%%Copyright: Copyright 2017-2020 Japanese TeX Development Community
-%%Copyright: All rights reserved.
+%%Copyright: Copyright 1990-2022 Adobe. All rights reserved.
+%%Copyright: Copyright 2017-2023 Japanese TeX Development Community
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
@@ -40,7 +39,7 @@
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
-%%comment: This CMap is based on UniJIS2004-UTF16-H Version 1.021 and modified.
+%%comment: This CMap is based on UniJIS2004-UTF16-H Version 1.022 and modified.
%%comment: XUID is omitted.
%%EndComments
@@ -57,7 +56,7 @@ begincmap
end def
/CMapName /UniJIS2004up-UTF16-H def
-/CMapVersion 1.002 def
+/CMapVersion 1.004 def
/CMapType 1 def
/WMode 0 def
@@ -13104,6 +13103,8 @@ endcidchar
<9fcc> 20156
<a7b5> 15909
<ab53> 15911
+<d82cdd32> 12269
+<d82cdd55> 12271
<d83cdd00> 8061
<d83cde02> 10985
<d83cde37> 11024
@@ -13149,11 +13150,11 @@ endcidchar
<d843dde1> 17373
<d843de64> 17388
<d843de6d> 17380
-<d843de95> 17379
-<d843df5f> 17391
endcidchar
100 begincidchar
+<d843de95> 17379
+<d843df5f> 17391
<d844de01> 17414
<d844de3d> 13953
<d844de55> 17415
@@ -13252,11 +13253,11 @@ endcidchar
<d84fdd0e> 18394
<d84fdd40> 17942
<d84fddd3> 17945
-<d84fddf9> 17944
-<d84fddfa> 17943
endcidchar
100 begincidchar
+<d84fddf9> 17944
+<d84fddfa> 17943
<d84fdf7e> 17983
<d850dc4b> 20168
<d850dc96> 17998
@@ -13355,11 +13356,11 @@ endcidchar
<d85bdf94> 18544
<d85bdff8> 18553
<d85cdcf4> 17103
-<d85cdd0d> 18571
-<d85cdd39> 18574
endcidchar
100 begincidchar
+<d85cdd0d> 18571
+<d85cdd39> 18574
<d85cdfda> 18611
<d85cdfdb> 18610
<d85cdffe> 18617
@@ -13458,11 +13459,11 @@ endcidchar
<d869deb2> 19129
<d86adde6> 14145
<d86ddf46> 13780
-<d86ddf51> 13866
-<d86ddf53> 20088
endcidchar
100 begincidchar
+<d86ddf51> 13866
+<d86ddf53> 20088
<d86ddf5a> 20096
<d86ddf5c> 20097
<d86ddf65> 20247
@@ -13534,6 +13535,7 @@ endcidchar
<d87eddde> 20066
<d87edddf> 14069
<d87eddf4> 15269
+<d884df50> 19130
<f87a> 15447
<f87f> 15448
<f909> 13739
@@ -13560,12 +13562,12 @@ endcidchar
<fa12> 8481
<fa13> 8497
<fa14> 8499
-<fa15> 20307
-<fa16> 8548
-<fa17> 8571
endcidchar
100 begincidchar
+<fa15> 20307
+<fa16> 8548
+<fa17> 8571
<fa1b> 8583
<fa1c> 8587
<fa1d> 8590
@@ -13663,12 +13665,12 @@ endcidchar
<ff0f> 663
<ff1c> 699
<ff1d> 697
+endcidchar
+
+18 begincidchar
<ff1e> 700
<ff1f> 641
<ff20> 719
-endcidchar
-
-15 begincidchar
<ff3b> 678
<ff3c> 664
<ff3d> 679
diff --git a/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V b/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V
index 3572a4c8d1..bad450a96b 100644
--- a/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V
+++ b/fonts/uptex-fonts/cmap/UniJIS2004up-UTF16-V
@@ -5,11 +5,10 @@
%%IncludeResource: CMap (UniJIS2004up-UTF16-H)
%%BeginResource: CMap (UniJIS2004up-UTF16-V)
%%Title: (UniJIS2004up-UTF16-V Adobe Japan1 7)
-%%Version: 1.001
+%%Version: 1.004
%%Copyright: -----------------------------------------------------------
-%%Copyright: Copyright 1990-2019 Adobe.
-%%Copyright: Copyright 2017-2019 Japanese TeX Development Community
-%%Copyright: All rights reserved.
+%%Copyright: Copyright 1990-2022 Adobe. All rights reserved.
+%%Copyright: Copyright 2017-2023 Japanese TeX Development Community
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
@@ -25,8 +24,8 @@
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe nor the names of its contributors
-%%Copyright: may be used to endorse or promote products derived from
-%%Copyright: this software without specific prior written permission.
+%%Copyright: may be used to endorse or promote products derived from this
+%%Copyright: software without specific prior written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
@@ -42,7 +41,7 @@
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
-%%comment: This CMap is based on UniJIS2004-UTF16-V Version 1.006 and modified.
+%%comment: This CMap is based on UniJIS2004-UTF16-V Version 1.007 and modified.
%%comment: XUID is omitted.
%%EndComments
@@ -61,7 +60,7 @@ begincmap
end def
/CMapName /UniJIS2004up-UTF16-V def
-/CMapVersion 1.002 def
+/CMapVersion 1.004 def
/CMapType 1 def
/WMode 1 def
@@ -169,7 +168,7 @@ end def
<3041> 7918
endcidchar
-93 begincidchar
+95 begincidchar
<3043> 7919
<3045> 7920
<3047> 7921
@@ -251,6 +250,8 @@ endcidchar
<337d> 12042
<337e> 12041
<337f> 8324
+<d82cdd32> 12270
+<d82cdd55> 12272
<ff0c> 8268
<ff0e> 8274
<ff1a> 12101
diff --git a/fonts/uptex-fonts/cmap/UniJISup-UTF16-H b/fonts/uptex-fonts/cmap/UniJISup-UTF16-H
index 7f33cc5fb2..196147378a 100644
--- a/fonts/uptex-fonts/cmap/UniJISup-UTF16-H
+++ b/fonts/uptex-fonts/cmap/UniJISup-UTF16-H
@@ -3,11 +3,10 @@
%%IncludeResource: ProcSet (CIDInit)
%%BeginResource: CMap (UniJISup-UTF16-H)
%%Title: (UniJISup-UTF16-H Adobe Japan1 7)
-%%Version: 1.002
+%%Version: 1.004
%%Copyright: -----------------------------------------------------------
-%%Copyright: Copyright 1990-2019 Adobe.
-%%Copyright: Copyright 2017-2020 Japanese TeX Development Community
-%%Copyright: All rights reserved.
+%%Copyright: Copyright 1990-2022 Adobe. All rights reserved.
+%%Copyright: Copyright 2017-2023 Japanese TeX Development Community
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
@@ -40,7 +39,7 @@
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
-%%comment: This CMap is based on UniJIS-UTF16-H Version 1.026 and modified.
+%%comment: This CMap is based on UniJIS-UTF16-H Version 1.027 and modified.
%%comment: XUID is omitted.
%%EndComments
@@ -57,7 +56,7 @@ begincmap
end def
/CMapName /UniJISup-UTF16-H def
-/CMapVersion 1.002 def
+/CMapVersion 1.004 def
/CMapType 1 def
/WMode 0 def
@@ -13100,6 +13099,8 @@ endcidchar
<9fcc> 20156
<a7b5> 15909
<ab53> 15911
+<d82cdd32> 12269
+<d82cdd55> 12271
<d83cdd00> 8061
<d83cde02> 10985
<d83cde37> 11024
@@ -13149,11 +13150,11 @@ endcidchar
<d843df5f> 17391
<d844de01> 17414
<d844de3d> 13953
-<d844de55> 17415
-<d844de74> 17421
endcidchar
100 begincidchar
+<d844de55> 17415
+<d844de74> 17421
<d844de7b> 17417
<d844ded7> 17429
<d844dee4> 17428
@@ -13252,11 +13253,11 @@ endcidchar
<d84fddfa> 17943
<d84fdf7e> 17983
<d850dc4b> 20168
-<d850dc96> 17998
-<d850dd03> 18003
endcidchar
100 begincidchar
+<d850dc96> 17998
+<d850dd03> 18003
<d850ddc6> 18015
<d850ddfe> 18018
<d850deee> 14282
@@ -13355,11 +13356,11 @@ endcidchar
<d85cdd39> 18574
<d85cdfda> 18611
<d85cdfdb> 18610
-<d85cdffe> 18617
-<d85ddc10> 18620
endcidchar
100 begincidchar
+<d85cdffe> 18617
+<d85ddc10> 18620
<d85ddc49> 18624
<d85dde14> 18638
<d85dde15> 18637
@@ -13458,11 +13459,11 @@ endcidchar
<d86ddf53> 20088
<d86ddf5a> 20096
<d86ddf5c> 20097
-<d86ddf65> 20247
-<d86ddf76> 20114
endcidchar
100 begincidchar
+<d86ddf65> 20247
+<d86ddf76> 20114
<d86ddf77> 13782
<d86ddf7c> 20125
<d86ddf82> 20141
@@ -13530,6 +13531,7 @@ endcidchar
<d87eddde> 20066
<d87edddf> 14069
<d87eddf4> 15269
+<d884df50> 19130
<f87a> 15447
<f87f> 15448
<f909> 13739
@@ -13560,12 +13562,12 @@ endcidchar
<fa16> 8548
<fa17> 8571
<fa1b> 8583
-<fa1c> 8587
-<fa1d> 8590
-<fa1e> 8599
endcidchar
100 begincidchar
+<fa1c> 8587
+<fa1d> 8590
+<fa1e> 8599
<fa1f> 8610
<fa22> 8622
<fa23> 8630
@@ -13663,12 +13665,12 @@ endcidchar
<ff3b> 678
<ff3c> 664
<ff3d> 679
+endcidchar
+
+12 begincidchar
<ff3e> 648
<ff3f> 650
<ff40> 646
-endcidchar
-
-9 begincidchar
<ff5b> 680
<ff5c> 667
<ff5d> 681
diff --git a/fonts/uptex-fonts/cmap/UniJISup-UTF16-V b/fonts/uptex-fonts/cmap/UniJISup-UTF16-V
index 8f1b189d55..e3e7a44fed 100644
--- a/fonts/uptex-fonts/cmap/UniJISup-UTF16-V
+++ b/fonts/uptex-fonts/cmap/UniJISup-UTF16-V
@@ -5,11 +5,10 @@
%%IncludeResource: CMap (UniJISup-UTF16-H)
%%BeginResource: CMap (UniJISup-UTF16-V)
%%Title: (UniJISup-UTF16-V Adobe Japan1 7)
-%%Version: 1.002
+%%Version: 1.004
%%Copyright: -----------------------------------------------------------
-%%Copyright: Copyright 1990-2019 Adobe.
-%%Copyright: Copyright 2017-2019 Japanese TeX Development Community
-%%Copyright: All rights reserved.
+%%Copyright: Copyright 1990-2022 Adobe. All rights reserved.
+%%Copyright: Copyright 2017-2023 Japanese TeX Development Community
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
@@ -25,8 +24,8 @@
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe nor the names of its contributors
-%%Copyright: may be used to endorse or promote products derived from
-%%Copyright: this software without specific prior written permission.
+%%Copyright: may be used to endorse or promote products derived from this
+%%Copyright: software without specific prior written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
@@ -42,7 +41,7 @@
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
-%%comment: This CMap is based on UniJIS-UTF16-V Version 1.008 and modified.
+%%comment: This CMap is based on UniJIS-UTF16-V Version 1.009 and modified.
%%comment: XUID is omitted.
%%EndComments
@@ -61,7 +60,7 @@ begincmap
end def
/CMapName /UniJISup-UTF16-V def
-/CMapVersion 1.002 def
+/CMapVersion 1.004 def
/CMapType 1 def
/WMode 1 def
@@ -169,7 +168,7 @@ end def
<3041> 7918
endcidchar
-93 begincidchar
+95 begincidchar
<3043> 7919
<3045> 7920
<3047> 7921
@@ -251,6 +250,8 @@ endcidchar
<337d> 12042
<337e> 12041
<337f> 8324
+<d82cdd32> 12270
+<d82cdd55> 12272
<ff0c> 8268
<ff0e> 8274
<ff1a> 12101
diff --git a/fonts/uptex-fonts/cmap/cid_mapping.md b/fonts/uptex-fonts/cmap/cid_mapping.md
index 823d1b3cef..1ff3bdd3ce 100644
--- a/fonts/uptex-fonts/cmap/cid_mapping.md
+++ b/fonts/uptex-fonts/cmap/cid_mapping.md
@@ -80,3 +80,14 @@ U+337B..337E(元号の組文字) の縦組み字形 12044..12041 を追加。
UniJISup-* で追加したCIDは全てAdobe-Japan1-4の範囲("Pro", CID15443まで)に収まっているが、
一部はAdobe-Japan1-3の範囲("Std", CID9353まで)を超えている。
+
+小書き仮名「こ」「コ」はオリジナルの UniJIS-UTF16-{H,V} (Version 05/18/2022) "January 18, 2023 Release"に追加された。
+UniJISup-UTF16-{H,V} はこれらを踏襲した。
+
+| AJ1-7 | variant | character name | Unicode-15.0 | |
+|-------|---------|------------------|---------------------|--|
+| 12269 | Standard, H | HIRAGANA LETTER SMALL KO | U+1B132 | 𛄲 |
+| 12270 | Standard, V | HIRAGANA LETTER SMALL KO | U+1B132 | 𛄲 |
+| 12271 | Standard, H | KATAKANA LETTER SMALL KO | U+1B155 | 𛅕 |
+| 12272 | Standard, V | KATAKANA LETTER SMALL KO | U+1B155 | 𛅕 |
+
diff --git a/fonts/uptex-fonts/source/punctuation.md b/fonts/uptex-fonts/source/punctuation.md
index db5fe429a0..7617d8a5c2 100644
--- a/fonts/uptex-fonts/source/punctuation.md
+++ b/fonts/uptex-fonts/source/punctuation.md
@@ -70,7 +70,7 @@ Brackets
| U+FF62 | HALFWIDTH LEFT CORNER BRACKET | 「 |H|Ps|R |(半角カナ)| | 328 | (328) | NA |
| U+FF63 | HALFWIDTH RIGHT CORNER BRACKET | 」 |H|Pe|R |(半角カナ)| | 329 | (329) | NA |
-* UniJIS-*-{H,V} は、UniJIS-UTF16-{H,V} を示す。UniJIS-UCS-{H,V}では一部異なっている。
+* UniJIS-*-{H,V} は、UniJIS-UTF16-{H,V} を示す。UniJIS-UCS2-{H,V}では一部異なっている。
* UniJIS-*-V の "()"は、縦組みの設定が無くHの字形がフォールバックされることを示す。
* "width"は"East Asian Width"。N: Neutral (= Not East Asian), A: Ambiguos, W: Wide, Na: Narrow, F: Fullwidth, H: Halfwidth
* "gc"は"General Category Value"。Ps: Open_Punctuation, Pe: Close_Punctuation, Pi: Initial_Punctuation, Pf: Final_Punctuation
diff --git a/macros/latex/contrib/bmstu/README.md b/macros/latex/contrib/bmstu/README.md
index e62cb3cd35..86a659290d 100644
--- a/macros/latex/contrib/bmstu/README.md
+++ b/macros/latex/contrib/bmstu/README.md
@@ -1,21 +1,21 @@
# bmstu package
-Release 2022-01-24 (v1.0.0)
+Release 2023-01-28 (v2.0.0)
## Overview
The class defines commands and environments for creating reports and explanatory notes in Bauman Moscow State Technical University (Russia).
-Generated files correspond to [requirements of Bauman Moscow State Technical University](https://mf.bmstu.ru/info/uu/ot/norm_docs/docs/polozhenie_normcontrol_pril1.pdf) and [GOST 7.32-2017](https://docs.cntd.ru/document/1200157208). Explanatory notes to graduate qualification works are successfully tested by [TestVKR](https://vkr.bmstu.ru/) (build 203).
+Generated files correspond to requirements of Bauman Moscow State Technical University and GOST 7.32-2017. Explanatory notes to graduate qualification works are successfully tested by TestVKR (build 216).
Please go to the official repository at https://github.com/Orianti/bmstu-latex-class to submit bug reports, request new features, etc.
## License
-This work (except `bmstu-logo.pdf`) is distributed under The LaTeX Project Public License.
+Files listed in manifest.txt are distributed under The LaTeX Project Public License.
-File `bmstu-logo.pdf` is a logo of Bauman Moscow State Technical University and complies with fair use (article 1274 of the Russian Civil Code).
+File bmstu-logo.pdf is a logo of Bauman Moscow State Technical University and complies with fair use (article 1274 of the Russian Civil Code).
---
-Copyright © 2020-2022 Mikael Novikov<br>
-All rights reserved. \ No newline at end of file
+Copyright © 2020-2023 Mikael Novikov<br>
+All rights reserved.
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-appendix.sty b/macros/latex/contrib/bmstu/bmstu-appendix.sty
index a276edec33..c5dae6e270 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-appendix.sty
+++ b/macros/latex/contrib/bmstu/bmstu-appendix.sty
@@ -1,5 +1,5 @@
%% bmstu_appendix.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-biblio.sty b/macros/latex/contrib/bmstu/bmstu-biblio.sty
index 0b08161c90..1000df7eb4 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-biblio.sty
+++ b/macros/latex/contrib/bmstu/bmstu-biblio.sty
@@ -1,5 +1,5 @@
%% bmstu_biblio.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty b/macros/latex/contrib/bmstu/bmstu-defabbr.sty
index 9c557ac6bd..e9c7851556 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty
+++ b/macros/latex/contrib/bmstu/bmstu-defabbr.sty
@@ -1,5 +1,5 @@
%% bmstu_defabbr.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-essay.sty b/macros/latex/contrib/bmstu/bmstu-essay.sty
index 55766d9058..316623de2f 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-essay.sty
+++ b/macros/latex/contrib/bmstu/bmstu-essay.sty
@@ -1,5 +1,5 @@
%% bmstu_essay.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-figure.sty b/macros/latex/contrib/bmstu/bmstu-figure.sty
index d2817ca668..dde6c6b2bc 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-figure.sty
+++ b/macros/latex/contrib/bmstu/bmstu-figure.sty
@@ -1,5 +1,5 @@
%% bmstu_figure.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-listing.sty b/macros/latex/contrib/bmstu/bmstu-listing.sty
index 1f39686a0e..b4a0c0148a 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-listing.sty
+++ b/macros/latex/contrib/bmstu/bmstu-listing.sty
@@ -1,5 +1,5 @@
%% bmstu_listing.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/img/bmstu-logo.pdf b/macros/latex/contrib/bmstu/bmstu-logo.pdf
index 226943b0b4..226943b0b4 100644
--- a/macros/latex/contrib/bmstu/img/bmstu-logo.pdf
+++ b/macros/latex/contrib/bmstu/bmstu-logo.pdf
Binary files differ
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-title.sty b/macros/latex/contrib/bmstu/bmstu-title.sty
index ea707bdc7a..d2dea47245 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-title.sty
+++ b/macros/latex/contrib/bmstu/bmstu-title.sty
@@ -1,5 +1,5 @@
%% bmstu_title.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -10,7 +10,7 @@
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
-%
+%
% The Current Maintainer of this work is Mikael Novikov.
%
% This work consists of all files listed in manifest.txt.
@@ -51,9 +51,9 @@
\begin{wrapfigure}[7]{l}{0.14\linewidth}
\vspace{3.4mm}
\hspace{-8mm}
- \includegraphics[width=0.89\linewidth]{img/bmstu-logo}
+ \includegraphics[width=0.89\linewidth]{bmstu-logo}
\end{wrapfigure}
-
+
{
\singlespacing \small
Министерство науки и высшего образования Российской Федерации \\
@@ -64,13 +64,13 @@
(национальный исследовательский университет)>> \\
(МГТУ им. Н.~Э.~Баумана) \\
}
-
+
\vspace{-4.2mm}
\vhrulefill{0.9mm} \\
\vspace{-7mm}
\vhrulefill{0.2mm} \\
\vspace{2.8mm}
-
+
{
\small
ФАКУЛЬТЕТ \longunderline{<<#1>>} \\
@@ -84,12 +84,12 @@
{
{
\LARGE \bfseries
- ОТЧЕТ \\
+ РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА \\
}
\vspace{5mm}
{
\Large \itshape
- ПО НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ \\
+ К НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ \\
\vspace{5mm}
НА ТЕМУ: \\
<<#1>> \\
@@ -124,124 +124,146 @@
}
% Создание поля студента
-\newcommand{\titlepagestudent}[2]
+\RequirePackage{pgffor}
+
+\newcommand*\titlepagestudentscontent{}
+
+\newcommand{\maketitlepagestudent}[1]
{
- Студент \fixunderline{#1}{25mm}{(Группа)} &
- \fixunderline{}{40mm}{(Подпись, дата)} \vspace{1.3mm} &
- \fixunderline{#2}{40mm}{(И.~О.~Фамилия)} \\
+ \foreach \s/\g in {#1} {
+ \gappto\titlepagestudentscontent{Студент \fixunderline}
+ \xappto\titlepagestudentscontent{{\g}}
+ \gappto\titlepagestudentscontent{{25mm}{(Группа)} &}
+ \gappto\titlepagestudentscontent{\fixunderline{}{40mm}{(Подпись, дата)} \vspace{1.3mm} &}
+ \gappto\titlepagestudentscontent{\fixunderline}
+ \xappto\titlepagestudentscontent{{\s}}
+ \gappto\titlepagestudentscontent{{40mm}{(И.~О.~Фамилия)} \\}
+ }
}
% Создание прочих полей
-\newcommand{\titlepageothers}[2]
+\newcommand*\titlepageotherscontent{}
+
+\newcommand{\maketitlepageothers}[2]
{
- #1 &
- \fixunderline{}{40mm}{(Подпись, дата)} \vspace{1.3mm} &
- \fixunderline{#2}{40mm}{(И.~О.~Фамилия)} \\
+ \foreach \c in {#2} {
+ \gappto\titlepagestudentscontent{#1 &}
+ \gappto\titlepagestudentscontent{\fixunderline{}{40mm}{(Подпись, дата)} \vspace{1.3mm} &}
+ \gappto\titlepagestudentscontent{\fixunderline}
+ \xappto\titlepagestudentscontent{{\c}}
+ \gappto\titlepagestudentscontent{{40mm}{(И.~О.~Фамилия)} \\}
+ }
}
% Установка исполнителей работы
-\newcommand{\titlepageauthors}[7]
+\newcommand{\titlepageauthors}[5]
{
{
+ \renewcommand{\titlepagestudentscontent}{}
+ \maketitlepagestudent{#1}
+
+ \renewcommand{\titlepageotherscontent}{}
+ \maketitlepageothers{#2}{#3}
+ \maketitlepageothers{Консультант}{#4}
+ \maketitlepageothers{Нормоконтролер}{#5}
+
\small
\begin{tabularx}{\textwidth}{@{}>{\hsize=.5\hsize}X>{\hsize=.25\hsize}X>{\hsize=.25\hsize}X@{}}
- \titlepagestudent{#1}{#2}
- \titlepageothers{#3}{#4}
- \ifthenelse{\isempty{#5}}{}{\titlepageothers{Консультант}{#5}}
- \ifthenelse{\isempty{#6}}{}{\titlepageothers{Консультант}{#6}}
- \ifthenelse{\isempty{#7}}{}{\titlepageothers{Нормоконтролер}{#7}}
+ \titlepagestudentscontent
+
+ \titlepageotherscontent
\end{tabularx}
}
}
% Создание титульной страницы РПЗ к ВКР
-\newcommand{\makethesistitle}[9]
+\newcommand{\makethesistitle}[7]
{
- \documentmeta{РПЗ к ВКР}{#5}{#4}{#3}
-
+ \documentmeta{РПЗ к ВКР}{#4}{}{#3}
+
\begin{titlepage}
\centering
-
+
\titlepageheader{#1}{#2}
\vspace{15.8mm}
-
+
\titlepagenotetitle{К ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЕ}{#3}
\vfill
-
- \titlepageauthors{#4}{#5}{Руководитель ВКР}{#6}{#7}{#8}{#9}
+
+ \titlepageauthors{#4}{Руководитель ВКР}{#5}{#6}{#7}
\vspace{14mm}
-
+
\textit{{\the\year} г.}
\end{titlepage}
-
+
\setcounter{page}{2}
}
% Создание титульной страницы отчета по НИР
-\newcommand{\makeresearchtitle}[8]
+\newcommand{\makeresearchtitle}[6]
{
- \documentmeta{Отчет по НИР}{#5}{#4}{#3}
-
+ \documentmeta{Отчет по НИР}{#4}{}{#3}
+
\begin{titlepage}
\centering
-
+
\titlepageheader{#1}{#2}
\vspace{15.8mm}
-
+
\titlepageresearchtitle{#3}
\vfill
-
- \titlepageauthors{#4}{#5}{Руководитель НИР}{#6}{#7}{#8}{}
+
+ \titlepageauthors{#4}{Руководитель НИР}{#5}{#6}{}
\vspace{14mm}
-
+
\textit{{\the\year} г.}
\end{titlepage}
-
+
\setcounter{page}{2}
}
% Создание титульной страницы РПЗ к КР
-\newcommand{\makecourseworktitle}[8]
+\newcommand{\makecourseworktitle}[6]
{
- \documentmeta{РПЗ к КР}{#5}{#4}{#3}
-
+ \documentmeta{РПЗ к КР}{#4}{}{#3}
+
\begin{titlepage}
\centering
-
+
\titlepageheader{#1}{#2}
\vspace{15.8mm}
-
+
\titlepagenotetitle{К КУРСОВОЙ РАБОТЕ}{#3}
\vfill
-
- \titlepageauthors{#4}{#5}{Руководитель курсовой работы}{#6}{#7}{#8}{}
+
+ \titlepageauthors{#4}{Руководитель курсовой работы}{#5}{#6}{}
\vspace{14mm}
-
+
\textit{{\the\year} г.}
\end{titlepage}
-
+
\setcounter{page}{2}
}
% Создание титульной страницы отчета
-\newcommand{\makereporttitle}[9]
+\newcommand{\makereporttitle}[8]
{
- \documentmeta{Отчет}{#8}{#3 #4}{#5}
-
+ \documentmeta{Отчет}{#7}{по #3 по курсу #4}{#5}
+
\begin{titlepage}
\centering
-
+
\titlepageheader{#1}{#2}
\vspace{15.8mm}
-
+
\titlepagereporttitle{#3}{#4}{#5}{#6}
\vfill
-
- \titlepageauthors{#7}{#8}{Преподаватель}{#9}{}{}{}
+
+ \titlepageauthors{#7}{Преподаватель}{#8}{}{}
\vspace{14mm}
-
+
\textit{{\the\year} г.}
\end{titlepage}
-
+
\setcounter{page}{2}
-} \ No newline at end of file
+}
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-toc.sty b/macros/latex/contrib/bmstu/bmstu-toc.sty
index 809698a170..c3c86c6a02 100644
--- a/macros/latex/contrib/bmstu/sty/bmstu-toc.sty
+++ b/macros/latex/contrib/bmstu/bmstu-toc.sty
@@ -1,5 +1,5 @@
%% bmstu_toc.sty
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bmstu/bmstu.cls b/macros/latex/contrib/bmstu/bmstu.cls
index 10f59f876d..48bca7b78c 100644
--- a/macros/latex/contrib/bmstu/bmstu.cls
+++ b/macros/latex/contrib/bmstu/bmstu.cls
@@ -1,5 +1,5 @@
%% bmstu.cls
-%% Copyright 2022 Mikael Novikov
+%% Copyright 2023 Mikael Novikov
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -17,10 +17,10 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{bmstu}[2022/01/24 v1.0.0 BMSTU class]
+\ProvidesClass{bmstu}[2023/01/28 v2.0.0 BMSTU class]
% Установка базового класса
-\LoadClass[14pt]{extreport}
+\LoadClass[a4paper,oneside,14pt]{extreport}
% Настройка кодировки и языков
\RequirePackage[T1,T2A]{fontenc}
diff --git a/macros/latex/contrib/bmstu/examples/examples.pdf b/macros/latex/contrib/bmstu/examples/bmstu-examples.pdf
index 89f3f3d602..89f3f3d602 100644
--- a/macros/latex/contrib/bmstu/examples/examples.pdf
+++ b/macros/latex/contrib/bmstu/examples/bmstu-examples.pdf
Binary files differ
diff --git a/macros/latex/contrib/bmstu/examples/examples.tex b/macros/latex/contrib/bmstu/examples/bmstu-examples.tex
index f95b1fc21f..1f846d4aaa 100644
--- a/macros/latex/contrib/bmstu/examples/examples.tex
+++ b/macros/latex/contrib/bmstu/examples/bmstu-examples.tex
@@ -15,8 +15,7 @@
{Операционные системы} % Название курса (необязательный аргумент)
{Обработчик прерывания от системного таймера} % Тема работы
{} % Номер варианта (необязательный аргумент)
- {ИУ7-51Б} % Номер группы
- {Иванов~И.~И.} % ФИО студента
+ {Иванов~И.~И./ИУ7-51Б} % Номер группы/ФИО студента (если авторов несколько, их необходимо разделить запятой)
{Петров~П.~П.} % ФИО преподавателя
% Расчетно-пояснительная записка к курсовой работе
@@ -25,23 +24,19 @@
{Информатика, искусственный интеллект и системы управления} % Название факультета
{Программное обеспечение ЭВМ и информационные технологии} % Название кафедры
{Исследование распределения памяти в многопоточных приложениях Linux} % Тема работы
- {ИУ7-71Б} % Номер группы
- {Иванов~И.~И.} % ФИО студента
+ {Иванов~И.~И./ИУ7-71Б} % Номер группы/ФИО студента (если авторов несколько, их необходимо разделить запятой)
{Петров~П.~П.} % ФИО научного руководителя
- {Сидоров~С.~С.} % ФИО консультанта (необязательный аргумент)
- {Кузнецов~К.~К.} % ФИО консультанта (необязательный аргумент)
-
+ {Сидоров~С.~С.,Кузнецов~К.~К.} % ФИО консультанта (необязательный аргумент; если консультантов несколько, их необходимо разделить запятой)
+
% Отчет по научно-исследовательской работе
\makeresearchtitle
{Информатика, искусственный интеллект и системы управления} % Название факультета
{Программное обеспечение ЭВМ и информационные технологии} % Название кафедры
{Исследование методов генерации исходного кода} % Тема работы
- {ИУ7-81Б} % Номер группы
- {Иванов~И.~И.} % ФИО студента
+ {Иванов~И.~И./ИУ7-81Б,Сергеев~С.~С./ИУ7-82Б} % Номер группы/ФИО студента (если авторов несколько, их необходимо разделить запятой)
{Петров~П.~П.} % ФИО научного руководителя
- {} % ФИО консультанта (необязательный аргумент)
- {} % ФИО консультанта (необязательный аргумент)
+ {} % ФИО консультанта (необязательный аргумент; если консультантов несколько, их необходимо разделить запятой)
% Расчетно-пояснительная записка к выпускной квалификационной работе
@@ -49,11 +44,9 @@
{Информатика, искусственный интеллект и системы управления} % Название факультета
{Программное обеспечение ЭВМ и информационные технологии} % Название кафедры
{Метод обнаружения спутников как точечных объектов на изображении} % Тема работы
- {ИУ7-81Б} % Номер группы
- {Иванов~И.~И.} % ФИО студента
+ {Иванов~И.~И./ИУ7-81Б} % Номер группы/ФИО студента (если авторов несколько, их необходимо разделить запятой)
{Петров~П.~П.} % ФИО научного руководителя
- {Сидоров~С.~С.} % ФИО консультанта (необязательный аргумент)
- {} % ФИО консультанта (необязательный аргумент)
+ {Сидоров~С.~С.} % ФИО консультанта (необязательный аргумент; если консультантов несколько, их необходимо разделить запятой)
{Кузнецов~К.~К.} % ФИО нормоконтролера
% Рисунок
@@ -143,13 +136,13 @@ Unix (<<UNIX>> является зарегистрированной торго
\end{equation}
\begin{equation*}
- A_{m,n} =
+ A_{m,n} =
\begin{pmatrix}
a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
\vdots & \vdots & \ddots & \vdots \\
- a_{m,1} & a_{m,2} & \cdots & a_{m,n}
+ a_{m,1} & a_{m,2} & \cdots & a_{m,n}
\end{pmatrix}
\end{equation*}
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/latex/contrib/bmstu/manifest.txt b/macros/latex/contrib/bmstu/manifest.txt
new file mode 100644
index 0000000000..ba4982966c
--- /dev/null
+++ b/macros/latex/contrib/bmstu/manifest.txt
@@ -0,0 +1,9 @@
+bmstu.cls
+bmstu_appendix.sty
+bmstu_defabbr.sty
+bmstu_figure.sty
+bmstu_title.sty
+bmstu_biblio.sty
+bmstu_essay.sty
+bmstu_listing.sty
+bmstu_toc.sty
diff --git a/macros/latex/contrib/fixdif/fixdif-zh-cn.pdf b/macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
index 576280efef..079be1bc7f 100644
--- a/macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
+++ b/macros/latex/contrib/fixdif/fixdif-zh-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/fixdif/fixdif-zh-cn.tex b/macros/latex/contrib/fixdif/fixdif-zh-cn.tex
index 4c4793742d..851065ebc8 100644
--- a/macros/latex/contrib/fixdif/fixdif-zh-cn.tex
+++ b/macros/latex/contrib/fixdif/fixdif-zh-cn.tex
@@ -1,10 +1,12 @@
\documentclass[letterpaper,11pt]{article}
-\date{2023/01/27\quad Version 1.6%
+\usepackage{fixdif}
+\date{2023/01/31\quad Version 2.0%
\thanks{源代码见~\hyperref{https://github.com/AlphaZTX/fixdif}{}{}{GitHub}
或~\hyperref{https://www.ctan.org/pkg/fixdif}{}{}{CTAN}。}
}
\ifcsname XeTeXversion\endcsname\else\errmessage{本文档需使用 xelatex 编译}\fi
-\usepackage{indentfirst,enumitem}
+\usepackage{indentfirst,enumitem,multicol}
+\columnsep20pt\columnseprule.4pt
\usepackage{manfnt,marginnote}
\newcounter{fixdifattention}
\newcommand\attention[1][1]{\setcounter{fixdifattention}{1}%
@@ -27,8 +29,8 @@
\renewcommand\abstractname{摘\hskip.8em 要}
\renewcommand\contentsname{目\hskip.8em 录}
\DeclareRobustCommand\zhemph{\CJKunderdot}
-\usepackage{unicode-math}
-\setmathfont{STIX Two Math}
+%\usepackage{unicode-math}
+%\setmathfont{STIX Two Math}
\usepackage{hyperref}
\hypersetup{pdffitwindow,
pdftitle = {fixdif 宏包},
@@ -71,7 +73,6 @@
\gdef\@author{\Uchar"5F20\Uchar"5EAD\Uchar"7444}
\makeatother
\pagestyle{plain}
-\usepackage{fixdif}
\linespread{1.2}
\parskip8pt plus 4pt minus 2pt
\parindent2em
@@ -87,14 +88,18 @@
本宏包在 \xelatex{} 和 \lualatex{} 下兼容 \pkg{unicode-math} 宏包。
\end{abstract}
-{\parskip0pt\tableofcontents}
+\section*{\contentsname}
+\begin{multicols}{2}
+\parskip0pt
+\csname @starttoc\endcsname{toc}
+\end{multicols}
\section{背景}
我们一般更推荐在微分算符与前面的内容之间留出一个比较小的间距\footnote{%
见 \hyperref{https://tex.stackexchange.com/questions/14821/whats-the-%
proper-way-to-typeset-a-differential-operator}{}{}{\TeX.SX}。},比如在下面展示的
两种情况中,右边的比左边的更好:
-\[f(x)\mathrm{d}x\qquad\text{\&}\qquad f(x)\d x.\]
+\[f(x)\mathrm{d}x \qquad\hbox{\&}\qquad f(x)\d x.\]
微分算符 $\d{}$ 与其前面的表达式之间的间距可认为是乘积的一种表示。
有些用户习惯使用下面的方法定义一个宏:
@@ -191,41 +196,16 @@ texhash
会得到
\[f(x)\d x,\quad \frac{\d y}{\d x},\quad \d y/\d x,\quad a^{y\d x}.\]
-\subsection{对 \pkg{unicode-math} 宏包的兼容}
-如果你在文档中使用了 \pkg{unicode-math} 宏包(编译方式为 \xelatex{} 或
-\lualatex{}),需注意以下几点:
-\begin{itemize}
-\item 如需使用 \pkg{amsmath} 宏包,请在 \pkg{unicode-math} \zhemph{之前}%
-载入 \pkg{amsmath}。
-
-\item 在载入 \pkg{unicode-math} 后通过 \cs{setmathfont} 指定数学字体。
-若使用默认的数学字体,建议显式指明 |\setmathfont{Latin Modern Math}|,
-这样可以避免在用斜杠表示的分式中产生不好的间距;
-
-\item \pkg{fixdif} 宏包需要在 \pkg{unicode-math} 宏包\zhemph{后}载入。
-\end{itemize}
-从而,导言区正确的顺序是:
-\begin{Verbatim}
-\usepackage[..]{amsmath}
-\usepackage[..]{unicode-math}
-\setmathfont{...}[...]
-\usepackage{fixdif}
-\end{Verbatim}
-
-\subsection{对 \pkg{hyperref} 宏包的兼容}
-如果你使用了 \pkg{hyperref} 宏包,需注意 \pkg{fixdif} 宏包需要在 \pkg{hyperref}
-之后载入,否则会引起冲突。
-
-\subsection{基本命令及宏包选项}
-\DescribeMacro{\d}
-\pkg{fixdif} 宏包提供了 \cs{d} 命令用于在数学模式中得到微分算符“$\d{}$”。
+\subsection{基本的 \cs{d} 命令}
+\DescribeMacro{\d}%
+\pkg{fixdif} 宏包提供了 \cs{d} 命令用于在数学模式中得到微分算符“$\d$”。
在正文中,\cs{d} 会保留其原有的重音符号的功能。例如:
\begin{Verbatim}
$\d x$ 和 \d x
\end{Verbatim}
以上代码会得到“$\d x$ 和 \d x”。
-\paragraph{设置 \cs{d} 的字体}
+\subsection{设置 \cs{d} 的字体}
本宏包提供了两个选项来控制 \cs{d} 的字体,分别为 \opt{rm} 和 \opt{normal}。
其中,\opt{rm} 为默认值,表示 \cs{d} 的字体为罗马体(\cs{mathrm});
\opt{normal} 表示 \cs{d} 的字体为数学模式下的常规体(\cs{mathnormal}),
@@ -243,8 +223,8 @@ $\d x$ 和 \d x
\end{Verbatim}
在此设置下,正文中的 |\d x| 会得到 $\mathsf{d}x$。
-\paragraph{\cs{partial} 的行为}
-\DescribeMacro{\partial}
+\subsection{\cs{partial} 的行为}
+\DescribeMacro{\partial}%
\pkg{fixdif} 宏包将 \cs{partial} 归为微分算符,正文中的 \cs{partial} 前面也会有
自动的间距。例如 |$\partial x\partial y$| 会得到 $\partial x\partial y$。
若不需要将 \cs{partial} 视为微分算符,可以开启 \opt{nopartial} 选项:
@@ -310,7 +290,7 @@ $\d x$ 和 \d x
\noindent\textcolor{titlecolor}{\cs{newdif}\marg{cmd}\marg{multi-cmd}}%
\DescribeMacro{\newdif}\hfill(仅限在导言区使用,后无矫正)\\
\noindent\textcolor{titlecolor}{\cs{newdif*}\marg{cmd}\marg{multi-cmd}}%
-\DescribeMacro{\newdif*}\hfill(仅限在导言区使用,后有矫正)
+\hfill(仅限在导言区使用,后有矫正)
上面两个命令的第一个参数 \meta{cmd} 是新定义的微分算符命令,第二个参数
\meta{multi-cmd} 是超过一个字(token)的命令组合或字符串。举个例子,在
@@ -331,9 +311,9 @@ $\d x$ 和 \d x
\cs{newdif}(\texttt{*}) 会检查第一个参数 \meta{cmd} 是否已经被定义,若 \meta{cmd}
已被定义,则会报错。
-\noindent\textcolor{titlecolor}{\cs{renewdif}\marg{cmd}\marg{multi-cmd}}\DescribeMacro{\renewdif}
-\hfill(仅限在导言区使用,后无矫正)\\
-\noindent\textcolor{titlecolor}{\cs{renewdif*}\marg{cmd}\marg{multi-cmd}}\DescribeMacro{\renewdif*}
+\noindent\textcolor{titlecolor}{\cs{renewdif}\marg{cmd}\marg{multi-cmd}}%
+\DescribeMacro{\renewdif}\hfill(仅限在导言区使用,后无矫正)\\
+\noindent\textcolor{titlecolor}{\cs{renewdif*}\marg{cmd}\marg{multi-cmd}}%
\hfill(仅限在导言区使用,后有矫正)
这两个命令用于将 \meta{cmd} 重定义为微分算符命令。
@@ -343,7 +323,7 @@ $\d x$ 和 \d x
\noindent\textcolor{titlecolor}{\cs{mathdif}\marg{symbol}}%
\DescribeMacro{\mathdif}\hfill(仅限在数学模式使用,后无矫正)\\
\noindent\textcolor{titlecolor}{\cs{mathdif*}\marg{symbol}}%
-\DescribeMacro{\mathdif*}\hfill(仅限在数学模式使用,后有矫正)
+\hfill(仅限在数学模式使用,后有矫正)
如需在正文中少量使用某一数学符号作为微分算符,可以使用上面的两个命令。
例如,\verb|$x\mathdif{\Delta}\psi$| 会得到 $x\mathdif{\Delta}\psi$。
@@ -367,15 +347,6 @@ $\d x$ 和 \d x
\begin{Verbatim}
\letdif{\laplacian}{Delta}
\end{Verbatim}
-如果你比较擅长使用 \pkg{xparse} 宏包(2020 年 10 月后已被集成进 \LaTeXe{} 内核)
-的接口,你也可以采用下面的方法:
-\begin{Verbatim}
-\letdif{\nabla}{nabla}
-\DeclareDocumentCommand{ \laplacian }{ s }{
- \IfBooleanTF { #1 } { \mathdif{\Delta} } { \nabla^2 }
-}
-\end{Verbatim}
-这样,|\laplacian| 会得到 $\nabla^2$,|\laplacian*| 会得到 $\Delta$。
\paragraph{处理正负号与微分算符之间的间距}
输入 |$-\d x$| 会得到 $-\d x$。如果你不希望在正负号与微分算符之间保留
diff --git a/macros/latex/contrib/fixdif/fixdif.dtx b/macros/latex/contrib/fixdif/fixdif.dtx
index c6dfc5a236..e6f37a330f 100644
--- a/macros/latex/contrib/fixdif/fixdif.dtx
+++ b/macros/latex/contrib/fixdif/fixdif.dtx
@@ -131,7 +131,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
%</internal>
%
%<*driver>
-\ProvidesFile{fixdif.dtx}[2023/01/27 (c) Copyright 2022-2023 by Zhang Tingxuan]
+\ProvidesFile{fixdif.dtx}[2023/01/31 (c) Copyright 2022-2023 by Zhang Tingxuan]
\documentclass{ltxdoc}
\usepackage{xcolor}
@@ -150,7 +150,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
\title{The \pkg{fixdif} Package}
\author{Zhang Tingxuan}
-\date{2023/01/27\quad Version 1.6\thanks{\url{https://github.com/AlphaZTX/fixdif}}}
+\date{2023/01/31\quad Version 2.0\thanks{\url{https://github.com/AlphaZTX/fixdif}}}
\usepackage{hyperref}
\hypersetup{
@@ -188,7 +188,6 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
\g@addto@macro{\UrlBreaks}{\UrlDigits}
\ifdefined\Umathcode
\usepackage{unicode-math}
- \setmathfont{Latin Modern Math}
\fi
\makeatother
@@ -215,7 +214,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
% in \XeTeX{} and \LuaTeX.
% \end{abstract}
%
-% \tableofcontents
+% {\parskip1pt plus 1pt\tableofcontents}
%
% \section{The background}
% It's usually recommended that one should reserve a small skip between
@@ -258,39 +257,14 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
% \begin{Verbatim}
% \usepackage{fixdif}
% \end{Verbatim}
-% in the preamble. In your document,
+% in the preamble (\pkg{fixdif} allows you to write this line anywhere in the
+% preamble since version 2.0). In your document,
% \begin{Verbatim}
% \[ f(x)\d x,\quad\frac{\d y}{\d x},\quad\d y/\d x,\quad a^{y\d x}. \]
% \end{Verbatim}
% will produce
% \[f(x)\d x,\quad \frac{\d y}{\d x},\quad \d y/\d x,\quad a^{y\d x}.\]
%
-% \subsection{When using \pkg{unicode-math}}
-% If you are using \pkg{unicode-math} package with \XeTeX/\LuaTeX{}
-% in your document, you must pay attention to the following items:
-% \begin{itemize}
-% \item If you want to use \pkg{amsmath} package, make sure that the
-% \pkg{unicode-math} package is loaded \emph{after} \pkg{amsmath}.
-%
-% \item You had better specify the math font through the \cs{setmathfont}
-% command provided by \pkg{unicode-math} in order to avoid bad skip in
-% text fraction like $\d y/\d x$.
-%
-% \item Load the \pkg{fixdif} package \emph{after} \pkg{unicode-math}.
-% \end{itemize}
-% Therefore the correct order is
-% \begin{Verbatim}
-% \usepackage{amsmath}
-% \usepackage{unicode-math}
-% \setmathfont{...}[...]
-% \usepackage{fixdif}
-% \end{Verbatim}
-%
-% \subsection{When using \pkg{hyperref}}
-% If you want to use the \pkg{hyperref} package simultaneously,
-% remember to load \pkg{hyperref} \emph{before} the \pkg{fixdif} package,
-% otherwise the \pkg{hyperref} package will cause conflicts.
-%
% \subsection{Basic commands and package options}
% \DescribeMacro{\d}
% The \pkg{fixdif} package provides a \cs{d} command for the differential
@@ -362,7 +336,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
% For example, in default, \DescribeMacro{\partialnondif}\cs{partialnondif}
% yields the old partial symbol ``$\partialnondif$''.
%
-% \noindent\textcolor{titlecolor}{\cs{letdif*}\marg{cmd}\marg{csname}}\DescribeMacro{\letdif*}
+% \noindent\textcolor{titlecolor}{\cs{letdif*}\marg{cmd}\marg{csname}}
% \hfill(preamble only)
%
% This command is basically the same as \cs{letdif}, but this command will
@@ -385,7 +359,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
%
% \noindent\textcolor{titlecolor}{\cs{newdif}\marg{cmd}\marg{multi-cmd}}\DescribeMacro{\newdif}
% \hfill(without correction, preamble only)\\
-% \noindent\textcolor{titlecolor}{\cs{newdif*}\marg{cmd}\marg{multi-cmd}}\DescribeMacro{\newdif*}
+% \noindent\textcolor{titlecolor}{\cs{newdif*}\marg{cmd}\marg{multi-cmd}}
% \hfill(with correction, preamble only)
%
% The first argument of these commands is the newly-defined command; and the
@@ -409,7 +383,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
%
% \noindent\textcolor{titlecolor}{\cs{renewdif}\marg{cmd}\marg{multi-cmd}}\DescribeMacro{\renewdif}
% \hfill(without correction, preamble only)\\
-% \noindent\textcolor{titlecolor}{\cs{renewdif*}\marg{cmd}\marg{multi-cmd}}\DescribeMacro{\renewdif*}
+% \noindent\textcolor{titlecolor}{\cs{renewdif*}\marg{cmd}\marg{multi-cmd}}
% \hfill(with correction, preamble only)
%
% These two commands are basically the same as \cs{newdif} and \cs{newdif*}.
@@ -421,7 +395,7 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
%
% \noindent\textcolor{titlecolor}{\cs{mathdif}\marg{symbol}}\DescribeMacro{\mathdif}
% \hfill(without correction, in math mode only)\\
-%\noindent\textcolor{titlecolor}{\cs{mathdif*}\marg{symbol}}\DescribeMacro{\mathdif*}
+%\noindent\textcolor{titlecolor}{\cs{mathdif*}\marg{symbol}}
% \hfill(with correction, in math mode only)
%
% These two commands can be used in math mode only, more specifically,
@@ -473,62 +447,68 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
% Check the \TeX{} format and provides the package name.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fixdif}[2023/01/27 Interface for defining differential operators.]
+\ProvidesPackage{fixdif}[2023/01/31 Interface for defining differential operators.]
% \end{macrocode}
%
% \subsection{Control the skip between slashes and differential operator}
% Change the math code of slash ($/$) and backslash ($\backslash$) so that the skip
% between slashes and differential operators can be ignored.
-% \begin{macrocode}
-\@ifpackageloaded{unicode-math}{\AtBeginDocument{%
-% \end{macrocode}
-% If the \pkg{unicode-math} package has been loaded, use the \XeTeX/\LuaTeX{} primitive
+%
+% If the \pkg{unicode-math} package was loaded, use the \XeTeX/\LuaTeX{} primitive
% \cs{Umathcode} to change the type of slashes. The numeral ``4'' stands for ``open''.
+% If \pkg{unicode-math} was not loaded but \pkg{fontspec} loaded, check if
+% \pkg{fontspec} had reset math fonts, that is to say, the |no-math| option.
% \begin{macrocode}
- \Umathcode`\/="4 \symoperators "002F
- \Umathcode"2044="4 \symoperators "2044
- \Umathcode"2215="4 \symoperators "2215
- \Umathcode"2F98="4 \symoperators "2F98
- \Umathcode`\\="4 \symoperators "005C
- \Umathcode"2216="4 \symoperators "2216
- \Umathcode"29F5="4 \symoperators "29F5
- \Umathcode"29F9="4 \symoperators "29F9
-}}{
+\AtBeginDocument{%
+\ifcsname symbf\endcsname%
+ \csname bool_if:cF\endcsname{g__um_main_font_defined_bool}%
+ {\csname __um_load_lm:\endcsname}%
+ \Umathcode`\/="4 \symoperators "002F%
+ \Umathcode"2044="4 \symoperators "2044%
+ \Umathcode"2215="4 \symoperators "2215%
+ \Umathcode"2F98="4 \symoperators "2F98%
+ \Umathcode`\\="4 \symoperators "005C%
+ \Umathcode"2216="4 \symoperators "2216%
+ \Umathcode"29F5="4 \symoperators "29F5%
+ \Umathcode"29F9="4 \symoperators "29F9%
+\else\ifcsname fontspec\endcsname
+ \csname bool_if:cT\endcsname{g__fontspec_math_bool}%
+ {%
+ \everymath{\mathcode`\/="413D\relax}%
+ \PackageWarning{fixdif}{Requires `no-math' option of fontspec!\MessageBreak}%
+ }% fontspec only influences "/"
+\fi\fi}
% \end{macrocode}
-% If the \pkg{unicode-math} package has not been loaded, use the \TeX{} primitive
-% \cs{mathcode} to change the type of slashes. The \cs{backslash} needs to be redefined
-% through \cs{delimiter} primitive too.
+% Use \cs{mathcode} to change the type of slashes. The \cs{backslash} needs to be
+% redefined through \cs{delimiter} too.
% \begin{macrocode}
- \mathcode`\/="413D
- \mathcode`\\="426E % \backslash
- \def\backslash{\delimiter"426E30F\relax}
-}
+\mathcode`\/="413D
+\mathcode`\\="426E% \backslash
+\protected\def\backslash{\delimiter"426E30F\relax}
% \end{macrocode}
%
% \subsection{Patch the skips around the differential operator}
-% \DescribeMacro{\mup@tch}
-% The following \cs{mup@tch} patches the skip after the differential operator.
+% \DescribeMacro{\fd@mu@p}
+% The following \cs{fd@mu@p} patches the skip after the differential operator.
% \begin{macrocode}
-\def\mup@tch{\mathchoice{\mskip-\thinmuskip}{\mskip-\thinmuskip}{}{}{}}
+\def\fd@mu@p{\mathchoice{\mskip-\thinmuskip}{\mskip-\thinmuskip}{}{}{}}
% \end{macrocode}
-% The \cs{s@beforep@tch} patches the commands with star (\cs{letdif*}, etc).
+% The \cs{s@fd@mu@p} patches the commands with star (\cs{letdif*}, etc).
% \begin{macrocode}
-\def\s@beforep@tch{\mathchoice{}{}{\mbox{}}{\mbox{}}}
+\def\s@fd@mu@p{\mathchoice{}{}{\hbox{}}{\hbox{}}}
% \end{macrocode}
%
% \subsection{Declare the package options}
-% Declare the options of the package and execute them.
% \begin{macrocode}
-\DeclareOption{rm}{\@ifpackageloaded{unicode-math}
- {\def\@@dif{\symrm{d}}}{\def\@@dif{\mathrm{d}}}}
-\DeclareOption{normal}{\def\@@dif{d}}
+\DeclareOption{rm}{%
+ \AtBeginDocument{\ifcsname symbf\endcsname%
+ \gdef\@fd@dif{\symrm{d}}\fi}%
+ \gdef\@fd@dif{\mathrm{d}}}
+\DeclareOption{normal}{\gdef\@fd@dif{d}}
\DeclareOption{partial}{\@tempswatrue}
\DeclareOption{nopartial}{\@tempswafalse}
\ExecuteOptions{rm,partial}
\ProcessOptions\relax
-% \end{macrocode}
-% Control the behavior of \cs{partial}.
-% \begin{macrocode}
\if@tempswa
\AtEndOfPackage{\letdif{\partial}{partial}}
\fi
@@ -536,47 +516,41 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
% \DescribeMacro{\resetdfont}
% Define the \cs{resetdfont} command.
% \begin{macrocode}
-\gdef\resetdfont#1{\let\@@dif\relax%
- \def\@@dif{#1{d}}}
+\gdef\resetdfont#1{\AtBeginDocument{\let\@fd@dif\relax\gdef\@fd@dif{#1{d}}}}
% \end{macrocode}
%
% \subsection{Deal with the \cs{d} command}
-% \DescribeMacro{\@dif}
-% \cs{@dif} is the differential operator produced by \cs{d} in math mode.
+% \DescribeMacro{\fd@dif}
+% \cs{fd@dif} is the differential operator produced by \cs{d} in math mode.
% Here we prefer \cs{mathinner} to |\mathbin| to make the skip.
% \begin{macrocode}
-\def\@dif{\mathinner{\@@dif}\mup@tch}
+\def\fd@dif{\mathinner{\@fd@dif}\fd@mu@p}
% \end{macrocode}
-% \DescribeMacro{\d@accent}
-% Restore the \cs{d} command in text by \cs{d@accent} with the \cs{let}
-% primitive.
+% \DescribeMacro{\fd@d@acc}
+% Restore the \cs{d} command in text by \cs{fd@d@acc} with \cs{let}.
% \begin{macrocode}
-\AtBeginDocument{\let\d@accent\d
+\AtBeginDocument{\let\fd@d@acc\d
% \end{macrocode}
% \DescribeMacro{\d}
% Redefine the \cs{d} command. In text, we need to expand the stuffs after \cs{d}
% \begin{macrocode}
- \DeclareRobustCommand\d{\ifmmode\@dif\else\expandafter\d@accent\fi}}
+ \DeclareRobustCommand\d{\ifmmode\fd@dif\else\expandafter\fd@d@acc\fi}}
% \end{macrocode}
%
% \subsection{User's interface for defining new differential operators}
-% \DescribeMacro{\letdif}\DescribeMacro{\letdif*}
-% Define the \cs{letdif} and \cs{letdif*} command. The internal version of \cs{letdif}
-% is \cs{@letdif}, of \cs{letdif*} is \cs{s@letdif}.
-% \begin{macrocode}
-\def\@letdif#1#2{\AtBeginDocument{%
-% \end{macrocode}
+% \DescribeMacro{\letdif}
+% Define the \cs{letdif} command. The internal version of \cs{letdif}
+% is \cs{@letdif} and \cs{s@letdif}.
+%
% |#1| is the final command; |#2| is the ``control sequence name'' of |#1|'s initial definition.
% Here we create a command (\cs{csname}|#2nonfif|\cs{endcsname}) to restore |#2|.
% \begin{macrocode}
+\def\@letdif#1#2{\AtBeginDocument{%
\ifcsname #2nondif\endcsname\else%
\expandafter\let\csname #2nondif\expandafter\endcsname
\csname #2\endcsname%
\fi%
-% \end{macrocode}
-% Finally let |#1| be the new command.
-% \begin{macrocode}
- \gdef#1{\mathinner{\csname #2nondif\endcsname}\mup@tch}%
+ \DeclareRobustCommand#1{\mathinner{\csname #2nondif\endcsname}\fd@mu@p}%
}}
% \end{macrocode}
% The definition of \cs{s@letdif} is similar, but with the patch for negative skips.
@@ -586,56 +560,59 @@ Copyright (C) 2022-2023 by Zhang Tingxuan <alphaztx@163.com>.
\expandafter\let\csname #2nondif\expandafter\endcsname
\csname #2\endcsname%
\fi%
- \gdef#1{\mathinner{\s@beforep@tch\csname #2nondif\endcsname\hbox{}}\mup@tch}%
+ \DeclareRobustCommand#1{\mathinner{\s@fd@mu@p\csname #2nondif\endcsname\hbox{}}\fd@mu@p}%
}}
-\def\letdif{\@ifstar\s@letdif\@letdif}
+\DeclareRobustCommand\letdif{\@ifstar\s@letdif\@letdif}
+\@onlypreamble\letdif
% \end{macrocode}
-% \DescribeMacro{\newdif}\DescribeMacro{\newdif*}
-% Define the \cs{newdif} and \cs{newdif*} commands. |#1| is the final command; |#2| is the ``long'' argument.
+% \DescribeMacro{\newdif}
+% Define the \cs{newdif} command. |#1| is the final command; |#2| is the ``long'' argument.
% \begin{macrocode}
\long\def\@newdif#1#2{\AtBeginDocument{%
\ifdefined#1
- \PackageError{fixdif}{\string#1 is already defined.}
+ \PackageError{fixdif}{\string#1 is already defined}
{Try another command instead of \string#1.}%
\else
- \long\gdef#1{\mathinner{#2}\mup@tch}%
+ \DeclareRobustCommand#1{\mathinner{#2}\fd@mu@p}%
\fi%
}}
\long\def\s@newdif#1#2{\AtBeginDocument{%
\ifdefined#1
- \PackageError{fixdif}{\string#1 is already defined.}
+ \PackageError{fixdif}{\string#1 is already defined}
{Try another command instead of \string#1.}%
\else
- \long\gdef#1{\s@beforep@tch\mathinner{#2\mbox{}}\mup@tch}%
+ \DeclareRobustCommand#1{\s@fd@mu@p\mathinner{#2\hbox{}}\fd@mu@p}%
\fi%
}}
-\def\newdif{\@ifstar\s@newdif\@newdif}
+\DeclareRobustCommand\newdif{\@ifstar\s@newdif\@newdif}
+\@onlypreamble\newdif
% \end{macrocode}
-% \DescribeMacro{\renewdif}\DescribeMacro{\renewdif*}
-% Define the \cs{renewdif} and \cs{renewdif*} commands.
+% \DescribeMacro{\renewdif}
+% Define the \cs{renewdif} command.
% \begin{macrocode}
\long\def\@renewdif#1#2{\AtBeginDocument{%
\ifdefined#1
- \long\gdef#1{\mathinner{#2}\mup@tch}%
+ \DeclareRobustCommand#1{\mathinner{#2}\fd@mu@p}%
\else
- \PackageError{fixdif}{\string#1 has not been defined yet.}
+ \PackageError{fixdif}{\string#1 has not been defined yet}
{You should use \string\newdif instead of \string\renewdif.}%
\fi%
}}
\long\def\s@renewdif#1#2{\AtBeginDocument{%
\ifdefined#1
- \long\gdef#1{\s@beforep@tch\mathinner{#2\mbox{}}\mup@tch}%
+ \DeclareRobustCommand#1{\s@fd@mu@p\mathinner{#2\hbox{}}\fd@mu@p}%
\else
- \PackageError{fixdif}{\string#1 has not been defined yet.}
+ \PackageError{fixdif}{\string#1 has not been defined yet}
{You should use \string\newdif instead of \string\renewdif.}%
\fi%
}}
-\def\renewdif{\@ifstar\s@renewdif\@renewdif}
+\DeclareRobustCommand\renewdif{\@ifstar\s@renewdif\@renewdif}
+\@onlypreamble\renewdif
% \end{macrocode}
-% \subsection{In-document commands: \cs{mathdif} and \cs{mathdif*}}
+% \subsection{In-document commands: \cs{mathdif}}
% \begin{macrocode}
-\def\@mathdif#1{\mathinner{#1}\mup@tch}
-\def\s@mathdif#1{\s@beforep@tch\mathinner{#1\mbox{}}\mup@tch}
+\def\@mathdif#1{\mathinner{#1}\fd@mu@p}
+\def\s@mathdif#1{\s@fd@mu@p\mathinner{#1\mbox{}}\fd@mu@p}
\DeclareRobustCommand\mathdif{\@ifstar\s@mathdif\@mathdif}
% \end{macrocode}
% End of the package.
diff --git a/macros/latex/contrib/fixdif/fixdif.pdf b/macros/latex/contrib/fixdif/fixdif.pdf
index c01f1bc78f..8e80606dd3 100644
--- a/macros/latex/contrib/fixdif/fixdif.pdf
+++ b/macros/latex/contrib/fixdif/fixdif.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes
index bd624f8ca0..c19902eff3 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,7 @@
hvfloat.sty:
+2.45 2023-01-28 - bugfix for doubleFULLPAGE images which followed
+ fullpage images ...
+ - added option "forceLeft" for doublepage flloats
2.44 2022-11-21 - support "floats" with caption in the margin
2.43 2022-11-07 - fix for empty caption: don't use \caption
2.42 2022-10-02 - fix for twoColumnCaption and multi(sub)floats
diff --git a/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
index 40854d1f72..872dc973c0 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex
index bdb9db7170..3a1f4a581e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: after1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: after1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -22,7 +22,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -35,7 +35,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -50,7 +50,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -63,7 +63,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
index 6a3f002998..06949359a1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex
index 8c9f998931..a8b363d559 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/after2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: after2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: after2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf b/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
index 630a337a53..c206501682 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc b/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
index 10ef70e88c..5e76aaface 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
+++ b/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
@@ -19,7 +19,7 @@ justification=
\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capShortText}{}
\end{lstlisting}
-\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capShortText~\protect\parencite{aksin}}{}
\blindtext
@@ -27,15 +27,15 @@ justification=
\hvFloat[capPos=right,capFormat={singlelinecheck=off}]{figure}{\includegraphics{frose}}{\capShortText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capFormat={singlelinecheck=off}]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=right,capFormat={singlelinecheck=off}]{figure}{\includegraphics{frose}}{\capShortText~\protect\parencite{aksin}}{}
\blindtext
\begin{lstlisting}
-\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capLongText~\protect\parencite{aksin}}{}
\end{lstlisting}
-\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capLongText~\protect\parencite{aksin}}{}
\blindtext
@@ -47,10 +47,10 @@ justification=
\subsection{\texttt{capVPos=top}}
\begin{lstlisting}
-\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=outer,capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=outer,capVPos=top]{figure}{\includegraphics{frose}}{\capShortText~\protect\parencite{aksin}}{}
\blindtext
@@ -65,10 +65,10 @@ justification=
\begin{lstlisting}
-\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=inner,capVPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=inner,capVPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
\blindtext
@@ -78,10 +78,10 @@ justification=
\subsection{\texttt{capVPos=bottom}}
\begin{lstlisting}
-\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=outer,capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=outer,capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
\blindtext
@@ -95,10 +95,10 @@ justification=
\blindtext
\begin{lstlisting}
-\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=inner,capVPos=bottom]{figure}{\includegraphics{frose}}{\capLongText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=inner,capVPos=bottom]{figure}{\includegraphics{frose}}{\capLongText}{}
\blindtext
\NewColumn
@@ -107,10 +107,10 @@ justification=
\subsection{\texttt{capPos=center}}
\begin{lstlisting}
-\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=outer,capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
+\hvFloat[capPos=outer,capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
\blindtext
@@ -123,10 +123,10 @@ justification=
\blindtext
\begin{lstlisting}
-\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=inner,capVPos=center]{figure}{\includegraphics{frose}}{\capLongText}{}
\end{lstlisting}
-\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capLongText}{}
+\hvFloat[capPos=inner,capVPos=center]{figure}{\includegraphics{frose}}{\capLongText}{}
\blindtext
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
index 861efc9ac7..062639ee53 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex
index 357a8c7543..a974d118a3 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/default1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: default1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: default1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ The fullpage image~\vref{fig:fullpage1} has a caption~\vpageref{fig:fullpage1-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -40,7 +40,7 @@ The fullpage image~\vref{fig:fullpage1} has a caption~\vpageref{fig:fullpage1-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -53,7 +53,7 @@ The fullpage image~\vref{fig:fullpage1} has a caption~\vpageref{fig:fullpage1-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -66,7 +66,7 @@ The fullpage image~\vref{fig:fullpage1} has a caption~\vpageref{fig:fullpage1-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
index 60e3cb94ca..bbc7c107e0 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex
index 86c3b0a898..79f9f8b101 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/default1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: default1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: default1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -21,7 +21,7 @@
[A float with the default caption setting]%
{A default caption of a ``default'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:0}
\end{lstlisting}
@@ -32,7 +32,7 @@
[A float with the default caption setting]%
{A default caption of a ``default'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:0}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
index 33ac8dd876..d7e0bfce8b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex
index 282925826d..449cb5d9c1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/default2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: default2s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: default2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -22,7 +22,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -35,7 +35,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -48,7 +48,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -61,7 +61,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
index 1291839ce8..8b2bb2a448 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex
index 45278e1e8d..0055c3c570 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/default2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: default2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: default2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
new file mode 100644
index 0000000000..9c890e3706
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex
new file mode 100644
index 0000000000..46ae9406ba
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex
@@ -0,0 +1,802 @@
+\errorcontextlines=100
+%\documentclass[final]{ltugboat}
+\documentclass[twoside,twocolumn,american]{scrartcl}
+%% $Id: doublepage2s2c.tex 92 2021-05-18 09:46:55Z herbert $
+
+\input{preamble.ltx}
+\usepackage{xcolor,marginnote}
+
+\usepackage{marginnote,showframe}
+\setcounter{tocdepth}{2}
+
+\begin{document}
+\title{Examples for doublepage floats \newline with bind correction}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+
+\onecolumn
+\listoffigures
+
+\newpage\null
+\twocolumn
+\part{Argument \texttt{doubleFULLPAGE}}
+\section{Definition on an odd page}
+
+\Blindtext\hvblindtext
+
+\hvblindtext
+
+\subsection{The default -- in the first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE0}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0}
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02nd}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE02nd}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02nd}
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE1}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE12nd}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE12nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE12nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE2}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE22nd}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE22nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE22nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE3}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE32nd}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE32nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE32nd}
+
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+%\hvblindtext
+
+
+
+
+\section{Definition on an even page}
+
+
+\subsection{The default -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE0a}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{The default -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a2nd}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE0a2nd}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a2nd}
+
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+
+
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE1a}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a}
+
+%\hvblindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a2nd}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE1a2nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a2nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE2a}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a2nd}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE2a2nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a2nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+%\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE3a}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+%\hvblindtext
+
+%\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a2nd}
+\end{lstlisting}
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE3a2nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a2nd}
+
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+
+
+%\cleardoublepage
+
+
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+\hvblindtext
+
+\section{Full height, but no complete double page}
+\subsection{The default -- in the first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capPos=right]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0n}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE0n}}
+\hvFloat[doubleFULLPAGE,capPos=right]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0n}
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\clearpage
+\Blindtext
+%\hvblindtext
+
+%\hvblindtext
+
+\Blindtext
+
+\hvblindtext
+\Blindtext
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capPos=before]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndn}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE02ndn}}
+\hvFloat[doubleFULLPAGE,capPos=before]
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndn}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+%\hvblindtext
+
+\Blindtext
+
+%\Blindtext
+
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndnn}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doubleFULLPAGE02ndnn}}
+\hvFloat[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed
+ at the bottom of the following page. The doublepage image begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndnn}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
index 0d3e2713ef..ab1c658dbd 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
index 656cbe68c8..ebd703e964 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: doublepage2s1c.tex 92 2021-05-18 09:46:55Z herbert $
+%% $Id: doublepage2s1c.tex 299 2021-10-09 14:05:35Z herbert $
\input{preamble.ltx}
\usepackage{blindtext,xcolor,marginnote}
@@ -166,10 +166,11 @@
\hvblindtext
\hvblindtext
+\hvblindtext
\subsection{Definition on an even page}
\subsubsection{The default}
-\begin{lstlisting}
+\begin{verbatim}
\hvFloat[doublePage,capWidth=n,capPos=right]%
{figure}%
{\includegraphics[width=2\textwidth]{images/sonne-meer}}%
@@ -179,7 +180,7 @@
the paper. A short form is used for the LOF.
The parameter is \texttt{doublePage}}%
{fig:doublePage0a}
-\end{lstlisting}
+\end{verbatim}
\marginnote{Fig. \ref{fig:doublePage0a}}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
index 1578d673ff..40ca90301e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
index 7be7a1cb5b..be7272292e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex
index 75eb2bf872..d042b90863 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/even1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: even1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: even1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -22,7 +22,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -35,7 +35,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -48,7 +48,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -61,7 +61,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
index e98663ed09..a15479bc59 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex
index da5d013c40..2965b47502 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/even1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: even1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: even1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
index 09a417c031..16fba17ceb 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex
index 1ee584c81a..0e794a30e7 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/even2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: even2s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: even2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -39,7 +39,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
index e2898a14ae..c128ab6de6 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex
index ce3206c075..6952e4e45e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/even2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: even2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: even2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
new file mode 100644
index 0000000000..3ce06c022f
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.tex
new file mode 100644
index 0000000000..1b95fbaa03
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.tex
@@ -0,0 +1,64 @@
+\documentclass{scrartcl}
+%% $Id: fullpage1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+
+\input{preamble.ltx}
+\setlength\columnseprule{0.4pt}
+
+\begin{document}
+\title{Example for fullpage floats}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+\section{The fullpage optional arguments}
+\Blindtext
+
+\subsection{\texttt{fullpage}}
+\blindtext
+\blindtext
+\verb|\includegraphics[fullpage]{tiger}|
+
+\includegraphics[fullpage]{tiger}
+
+\Blindtext
+\subsection{\texttt{FullPage}}
+\blindtext
+
+\verb|\includegraphics[FullPage]{tiger}|
+\begin{figure*}[p]
+\includegraphics*[FullPage]{tiger}
+\end{figure*}
+
+\Blindtext
+
+\Blindtext
+
+\subsection{\texttt{FULLPAGE}}
+\blindtext
+
+\verb|\includegraphics[FULLPAGE]{tiger}|
+
+\begin{figure*}[p]
+ \vspace*{\the\dimexpr-1in-\voffset+\topskip-\headheight-0.5\baselineskip}%
+ \if@twoside
+ \leavevmode\checkoddpage
+ \ifoddpage
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \else
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \fi
+ \else
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \fi
+ \put(0,0){\usebox\hvObjectBox}%
+ \AtBeginShipoutNext{\thispagestyle{empty}}%
+\includegraphics*[FULLPAGE]{tiger}
+\end{figure*}
+
+\Blindtext
+
+\blindtext
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
index e0e787f994..936972b835 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex
index 799aa9ed6b..c7a9a0ec13 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: fullpage1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: fullpage1s2c.tex 676 2023-01-28 19:47:00Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -16,12 +16,12 @@
\subsection{\texttt{fullpage}}
\blindtext
-\blindtext
\verb|\includegraphics[fullpage]{tiger}|
\includegraphics[fullpage]{tiger}
-\Blindtext
+\Blindtext[2]
+
\subsection{\texttt{FullPage}}
\blindtext
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
index 73a49d0a07..f1ec08ccaf 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex
index 6960658c3b..eae3c5ce67 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: inner1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: inner1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -27,7 +27,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage0}
\end{lstlisting}
@@ -38,7 +38,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage0}
@@ -52,7 +52,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage1}
\end{lstlisting}
@@ -64,7 +64,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
index 3cd80ae131..6a1325e58e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex
index 15b6508111..60b226c085 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: inner2s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: inner2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -26,7 +26,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage0}
\end{lstlisting}
@@ -37,7 +37,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage0}
@@ -51,7 +51,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage1}
\end{lstlisting}
@@ -63,7 +63,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
index 6b794b3732..cc0cf680f6 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex
index 0f4a3856c8..04627efaa8 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: inner2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: inner2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -27,7 +27,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage0}
\end{lstlisting}
@@ -38,7 +38,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage0}
@@ -52,7 +52,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage1}
\end{lstlisting}
@@ -64,7 +64,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the inner side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
index 4e6b0cfae7..e9c4adf340 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex
index d415c7e343..56ea72912e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/left2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: left2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: left2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
index bc345dc15b..a17ff0ea75 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex
index a01561d840..6238a6f910 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: multi-after1s1c.tex 112 2021-06-14 08:01:42Z herbert $
+%% $Id: multi-after1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -56,7 +56,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -88,7 +88,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -116,7 +116,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
index e37e60e626..d1dd9d195b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex
index 1c4e98195f..655d8fd062 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: multi-default1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: multi-default1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -28,7 +28,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -56,7 +56,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -88,7 +88,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -116,7 +116,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
index 614b2fcf30..fd40d114af 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex
index f42bc85ae5..a46ae56938 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: multi-default1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: multi-default1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -29,7 +29,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -54,7 +54,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -84,7 +84,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -109,7 +109,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
index e2ec474cb7..dbed0dc9ab 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex
index 8725520a26..8ceae45750 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: multi-default2s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: multi-default2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -55,7 +55,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -87,7 +87,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -115,7 +115,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
index 23fdd5f04f..5023af475d 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex
index 4ce8149cda..3848015a92 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: multi-default2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: multi-default2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -29,7 +29,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -54,7 +54,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -84,7 +84,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -109,7 +109,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
index 3f79249b52..98fd85f954 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex
index 668da0a147..ee91984d4a 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.tex
@@ -1,6 +1,6 @@
\errorcontextlines=200
\documentclass[twoside]{scrartcl}
-%% $Id: multi-inner2s2c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: multi-inner2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -31,7 +31,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -58,7 +58,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -90,7 +90,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -117,7 +117,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
index 7ebd9bd69a..6421ab72fe 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex
index fef798e1e9..306762846e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.tex
@@ -1,6 +1,6 @@
\errorcontextlines=100
\documentclass[twoside]{scrartcl}
-%% $Id: multi-outer2s2c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: multi-outer2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -32,7 +32,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -57,7 +57,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo0}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -88,7 +88,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
@@ -115,7 +115,7 @@ The fullpage multifloat~\vref{multi:demo0} has a caption~\vpageref{multi:demo0-c
+{figure}{\includegraphics[height=0.4\textheight]{rose}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{multi:demo2}%
+{table}{\begin{tabular}{lr}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
index 23f3c0b60c..f318e337ea 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex
index 1b78f0fba6..fae07fc364 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: multi-right1s1c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: multi-right1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -55,7 +55,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo0}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -87,7 +87,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
@@ -115,7 +115,7 @@ The fullpage multifloat~\vref{img:demo0} has a caption~\vpageref{img:demo0-cap}.
+{figure}{\includegraphics[width=\linewidth]{CTAN}}%% no 1
[Short caption A]%
{A Caption A of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{img:demo3}%
+{table}{\begin{tabular}{lrcp{3cm}}\hline % no 2
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
index 9a8f796d02..1983a9375a 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex
index 2d93d7b2b5..bc70f79b05 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: odd1s1c.tex 119 2021-06-20 13:28:09Z herbert $
+%% $Id: odd1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -23,7 +23,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -36,7 +36,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -55,7 +55,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -68,7 +68,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
index eae0be6b8d..145c1ecdce 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex
index 8454f4198b..636a8366d5 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: odd1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: odd1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
index ef5b9fd7ab..9226490ffe 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex
index ee0e69c74e..d14f499615 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: odd2s1c.tex 107 2021-06-09 06:43:25Z herbert $
+%% $Id: odd2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -39,7 +39,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
index 6aa3ac83cf..73d3a810f3 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex
index f044fa127c..98dfd6c84b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: odd2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: odd2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
index c6676e1291..06c3a32f05 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex
index f6444f614c..e0302a6b77 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: outer1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: outer1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -26,7 +26,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:full0}
\end{lstlisting}
@@ -37,7 +37,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:full0}
@@ -51,7 +51,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -63,7 +63,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
index a7d55f4c80..25b6f1174c 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex
index d30d66e8fa..68cd510976 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: outer2s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: outer2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -26,7 +26,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:full0}
\end{lstlisting}
@@ -37,7 +37,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:full0}
@@ -51,7 +51,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -63,7 +63,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
index 204d0dad65..bc0c66a59f 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex
index 84b3dc0cf5..4ac33b7478 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: outer2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: outer2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -26,7 +26,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:full0}
\end{lstlisting}
@@ -37,7 +37,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:full0}
@@ -51,7 +51,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -63,7 +63,7 @@ The fullpage image~\vref{fig:full0} has a caption~\vpageref{fig:full0-cap}.
{\includegraphics[fullpage]{frose}}%
[A float which needs the complete page width and height.]%
{A Caption on the outer side of a twosided document.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
index a65718b90a..90d4253358 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex
index 90e4ac9196..c847c531c5 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: paper-after1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: paper-after1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\usepackage{pdfpages}
\input{preamble.ltx}
@@ -29,7 +29,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -42,7 +42,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -57,7 +57,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -70,7 +70,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
new file mode 100644
index 0000000000..18b1c6e2b2
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.tex
new file mode 100644
index 0000000000..ab7faa4b9d
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.tex
@@ -0,0 +1,81 @@
+\documentclass[twocolumn]{scrartcl}
+%% $Id: paper-default2s2c.tex 318 2021-11-20 07:30:54Z herbert $
+
+\input{preamble.ltx}
+\setlength\columnseprule{0.4pt}
+
+\begin{document}
+\title{Example for FULLPAGE floats}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+\blinddocument
+
+\section{File \texttt{\jobname}}
+
+\begin{lstlisting}
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+\end{lstlisting}
+
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+
+\begin{lstlisting}
+\hvFloat*[FULLPAGE,capPos=after]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE0}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat*[FULLPAGE,capPos=after]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE0}
+
+\blinddocument
+
+\begin{lstlisting}
+\hvFloat*[FULLPAGE,capPos=after]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE1}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat*[FULLPAGE,capPos=after]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE1}
+
+\blinddocument
+
+\Blindtext
+
+\blindtext
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
index fd27f7ca54..d73336bd0b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex
index bb789ab593..a6304754cb 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.tex
@@ -1,9 +1,10 @@
\documentclass{scrartcl}
-%% $Id: paper-default1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: paper-default1s1c.tex 584 2022-07-20 18:29:58Z herbert $
\usepackage{pdfpages}
\input{preamble.ltx}
+
\begin{document}
\title{Example for fullpage floats}
\author{Herbert Voß}
@@ -12,7 +13,7 @@
\tableofcontents
\Blindtext
-\blindtext
+\Blindtext
\section{File \texttt{\jobname}}
@@ -29,7 +30,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -42,7 +43,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -57,7 +58,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -70,7 +71,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
index 6e06341ad5..40740a8ccf 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex
index 73701e6c1e..61cc027864 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: paper-default1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: paper-default1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
@@ -54,7 +54,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
index c9cd842897..cc73cf951b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex
index 4db0220481..20cea7741e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.tex
@@ -28,7 +28,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
@@ -54,7 +54,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
index 330a7425ca..10d3957581 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex
index 64b430652b..a9b5b15bef 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: paper-default2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: paper-default2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
@@ -54,7 +54,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
new file mode 100644
index 0000000000..a7274de0f2
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.tex
new file mode 100644
index 0000000000..9b8436d697
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.tex
@@ -0,0 +1,81 @@
+\documentclass{scrartcl}
+%% $Id: paper-default2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+
+\input{preamble.ltx}
+\setlength\columnseprule{0.4pt}
+
+\begin{document}
+\title{Example for FULLPAGE floats}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+\blinddocument
+
+\section{File \texttt{\jobname}}
+
+\begin{lstlisting}
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+\end{lstlisting}
+
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+
+\begin{lstlisting}
+\hvFloat[FULLPAGE,capPos=evenPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE0}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat[FULLPAGE,capPos=evenPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A caption of a \texttt{FULLPAGE} object with \texttt{capPos=evenPage},
+ so it appears on an even-numbered page.
+ And some more text which has no
+ meaning because it merely fills the space for a long caption.}%
+ {fig:FULLPAGE0}
+
+\blinddocument
+
+\begin{lstlisting}
+\hvFloat[FULLPAGE,capPos=evenPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE1}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat[FULLPAGE,capPos=evenPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE1}
+
+\blinddocument
+
+\Blindtext
+
+\blindtext
+
+
+\end{document}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
index b0792355fb..89d0b46c04 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex
index 1cb218ac79..b7a6880d36 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: paper-inner2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: paper-inner2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE0}
@@ -54,7 +54,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-ca
[A FULLPAGE float with the default caption setting]%
{A default caption of a ``FULLPAGE'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:FULLPAGE1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
new file mode 100644
index 0000000000..7325a59fea
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.tex
new file mode 100644
index 0000000000..be6c896aa8
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.tex
@@ -0,0 +1,81 @@
+\documentclass{scrartcl}
+%% $Id: paper-default2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+
+\input{preamble.ltx}
+\setlength\columnseprule{0.4pt}
+
+\begin{document}
+\title{Example for FULLPAGE floats}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+\blinddocument
+
+\section{File \texttt{\jobname}}
+
+\begin{lstlisting}
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+\end{lstlisting}
+
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+
+\begin{lstlisting}
+\hvFloat[FULLPAGE,capPos=oddPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE0}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat[FULLPAGE,capPos=oddPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE0}
+
+\blinddocument
+
+\begin{lstlisting}
+\hvFloat[FULLPAGE,capPos=oddPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE1}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat[FULLPAGE,capPos=oddPage]%
+ {figure}%
+ {\includegraphics[FULLPAGE]{frose}}%
+ [A FULLPAGE float with the default caption setting]%
+ {A default caption of a ``FULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:FULLPAGE1}
+
+\blinddocument
+
+\Blindtext
+
+\blindtext
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
index 5ed8ec5a71..acc1a64f49 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex
index f285704496..41595db224 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: paper-right1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: paper-right1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\usepackage{pdfpages}
\input{preamble.ltx}
@@ -29,7 +29,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -42,7 +42,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -57,7 +57,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -70,7 +70,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
new file mode 100644
index 0000000000..b827c1a130
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.tex
new file mode 100644
index 0000000000..9da31571a3
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.tex
@@ -0,0 +1,81 @@
+\documentclass[twocolumn]{scrartcl}
+%% $Id: paper-default2s2c.tex 318 2021-11-20 07:30:54Z herbert $
+
+\input{preamble.ltx}
+\setlength\columnseprule{0.4pt}
+
+\begin{document}
+\title{Example for FULLPAGE floats}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+\blinddocument
+
+\section{File \texttt{\jobname}}
+
+\begin{lstlisting}
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+\end{lstlisting}
+
+The FULLPAGE image~\vref{fig:FULLPAGE0} has a caption~\vpageref{fig:FULLPAGE0-cap}.
+
+\begin{lstlisting}
+\hvFloat*[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{rheinsberg}}%
+ [A doubleFULLPAGE float with the default caption setting]%
+ {A default caption of a ``doubleFULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:doubleFULLPAGE0}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat*[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{rheinsberg}}%
+ [A doubleFULLPAGE float with the default caption setting]%
+ {A default caption of a ``doubleFULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:doubleFULLPAGE0}
+
+\blinddocument
+
+\begin{lstlisting}
+\hvFloat*[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{rheinsberg}}%
+ [A doubleFULLPAGE float with the default caption setting]%
+ {A default caption of a ``doubleFULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:doubleFULLPAGE1}
+\end{lstlisting}
+
+
+\Float[default]
+\hvFloat*[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{rheinsberg}}%
+ [A doubleFULLPAGE float with the default caption setting]%
+ {A default caption of a ``doubleFULLPAGE'' object with the default setting, which
+ is a ``left'' caption which means that it always appears before the object.
+ This can be an even or odd page. And some more text which has no
+ real meaning because it fills only the space for a long caption.}%
+ {fig:doubleFULLPAGE1}
+
+\blinddocument
+
+\Blindtext
+
+\blindtext
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/preamble.ltx b/macros/latex/contrib/hvfloat/doc/examples/preamble.ltx
index 525725c6c0..075d72bba0 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/preamble.ltx
+++ b/macros/latex/contrib/hvfloat/doc/examples/preamble.ltx
@@ -41,6 +41,9 @@
\captionsetup{labelfont={red,sf},font={red,sf},format=plain}
\usepackage{blindtext}
+\usepackage[style=authoryear]{biblatex}
+\addbibresource{biblatex-examples.bib}
+
\def\hvblindtext{\textcolor{black!30}{Hello, here is some text without a meaning. This text should show what a
printed text will look like at this place. If you read this text, you will get no information. Really?
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
index c6c6bd27bd..ac72bcbebd 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex
index 4ad53de6b9..58dbd7869e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/right1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: right1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: right1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -22,7 +22,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -35,7 +35,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -50,7 +50,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -63,7 +63,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
index dfd03e566c..f754b73cf7 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex
index ada1d0b186..26de3dc0bc 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/right1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: right1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: right1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
index dbb63e5fac..d513759ef8 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex
index 6672586390..f1a07efd74 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/right2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: right2s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: right2s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -22,7 +22,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -35,7 +35,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -48,7 +48,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -61,7 +61,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
index e269a747a3..591a3fdc5c 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex
index eaaed1d57c..7c7cf4e67d 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/right2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: right2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: right2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -28,7 +28,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
\end{lstlisting}
@@ -41,7 +41,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage0}
@@ -54,7 +54,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
\end{lstlisting}
@@ -67,7 +67,7 @@ The fullpage image~\vref{fig:fullpage0} has a caption~\vpageref{fig:fullpage0-ca
[A fullpage float with the default caption setting]%
{A default caption of a ``fullpage'' object with the default setting, which
is a ``left'' caption which means that it always appears before the object.
- This can be an even or odd page. And some more text whch has no
+ This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}%
{fig:fullpage1}
diff --git a/macros/latex/contrib/hvfloat/doc/examples/runAll.sh b/macros/latex/contrib/hvfloat/doc/examples/runAll.sh
index 0cecd6a0c2..836c85d33e 100644..100755
--- a/macros/latex/contrib/hvfloat/doc/examples/runAll.sh
+++ b/macros/latex/contrib/hvfloat/doc/examples/runAll.sh
@@ -16,5 +16,5 @@ do
then TEST=0
fi
done
- rm -fr $MAIN.aux $MAIN.log $MAIN.out $MAIN.toc
+ rm -fr $MAIN.aux $MAIN.log $MAIN.out $MAIN.toc $MAIN.lof $MAIN.run.xml $MAIN.bcf $MAIN.lot $MAIN.idx
done
diff --git a/macros/latex/contrib/hvfloat/doc/examples/runEXA.sh b/macros/latex/contrib/hvfloat/doc/examples/runEXA.sh
index de0ad052ec..b9a7d536cf 100644..100755
--- a/macros/latex/contrib/hvfloat/doc/examples/runEXA.sh
+++ b/macros/latex/contrib/hvfloat/doc/examples/runEXA.sh
@@ -16,5 +16,6 @@ do
then TEST=0
fi
done
- rm -fr $MAIN.aux $MAIN.log $MAIN.out $MAIN.toc $MAIN.lof $MAIN.lot $MAIN.idx
+ rm -fr $MAIN.aux $MAIN.log $MAIN.out $MAIN.toc $MAIN.lof $MAIN.run.xml $MAIN.bcf $MAIN.lot $MAIN.idx
+
done
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
index f75bb23f56..69f39ce9c3 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex
index 660e942090..a0cdbcde18 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: sub-after1s1c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: sub-after1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -50,7 +50,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -77,7 +77,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -100,7 +100,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
index 00554afc00..76baea7cfe 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex
index 761faa2c4b..d610aff9cd 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: sub-after2s2c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: sub-after2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -27,7 +27,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -50,7 +50,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -77,7 +77,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -100,7 +100,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
index efea15759c..3ec3881e00 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex
index ec371418a7..374a2fa0f1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: sub-default1s1c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: sub-default1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -28,7 +28,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -51,7 +51,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -78,7 +78,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -101,7 +101,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
index 8d48919902..9c2150972b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex
index c9307aecef..33c1c8ad40 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: sub-default1s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: sub-default1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -29,7 +29,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -52,7 +52,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -79,7 +79,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -102,7 +102,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
index 84ab3d56cc..6bc68c681c 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex
index cd6d370b80..9ecb891836 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: sub-default2s2c.tex 72 2021-05-02 11:40:10Z herbert $
+%% $Id: sub-default2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -29,7 +29,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -52,7 +52,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -79,7 +79,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -102,7 +102,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=l,objectFrame,subFloat]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
index b319265630..246117205e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex
index e4fea43506..5717edc39e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.tex
@@ -1,5 +1,5 @@
\documentclass{scrartcl}
-%% $Id: sub-right1s1c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: sub-right1s1c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
@@ -27,7 +27,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -50,7 +50,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -77,7 +77,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -100,7 +100,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
index 72ca919045..103bff8ed2 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex
index d1073b7838..0e085d56da 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: sub-right1s2c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: sub-right1s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -27,7 +27,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -50,7 +50,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -77,7 +77,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -100,7 +100,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=after,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
index 23e0a03ee7..c51e8fc121 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex
index a6e556161c..0e8b0b6744 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.tex
@@ -1,5 +1,5 @@
\documentclass[twocolumn]{scrartcl}
-%% $Id: sub-right2s2c.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: sub-right2s2c.tex 318 2021-11-20 07:30:54Z herbert $
\input{preamble.ltx}
\setlength\columnseprule{0.4pt}
@@ -27,7 +27,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -50,7 +50,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo0}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -77,7 +77,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
@@ -100,7 +100,7 @@ subimage~~\vref{sub:demo1} has a caption~\vpageref{sub:demo1}.
\hvFloat[fullpage,capPos=right,objectFrame,subFloat,vFill]%
+{figure}{}[Short main caption of the objects]% main short lsi entry
{The main caption of a ``fullpage'' object, which follows on the left or
- right column. This can be an even or odd page. And some more text whch has no
+ right column. This can be an even or odd page. And some more text which has no
real meaning because it fills only the space for a long caption.}% main caption
{sub:demo4}%
+{}{\includegraphics[width=\linewidth]{CTAN}}%
diff --git a/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
index b81fedc701..33a218d07a 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
index a95470d1eb..2cd33a23f3 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index 4322700b01..441b3d86a2 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.tex b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
index 8b5da27591..6c38e880e3 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -1,16 +1,17 @@
-%% $Id: hvfloat.tex 653 2022-11-20 21:54:52Z herbert $
+%% $Id: hvfloat.tex 676 2023-01-28 19:47:00Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside,paper=a4,usegeometry]{scrartcl}
\usepackage{fontspec}
-\usepackage{libertinus}
+\usepackage[silent]{libertinus-otf}
%\usepackage[scaled=0.85]{beramono}
\setmonofont[Scale=MatchLowercase,FakeStretch=0.9]{DejaVu Sans Mono}
\usepackage{microtype}
\usepackage[english]{babel}
-\usepackage[marginparwidth=3cm,bottom=2cm,top=1cm,includeheadfoot,showframe]{geometry}
+\usepackage[marginparwidth=3cm,bottom=2cm,top=1cm,includeheadfoot%,showframe
+]{geometry}
\usepackage[automark]{scrlayer-scrpage}
@@ -397,6 +398,8 @@ There are the following keywords:
\Lkeyword{doublePage} & false & \rowvsp Use the text area on a doublepage with additional text.\\
\Lkeyword{doublePAGE} & false & \rowvsp Use the text area on a doublepage without additional text.\\
\Lkeyword{doubleFULLPAGE} & false & \rowvsp Use the paperwidth on a doublepage without additional text.\\
+\Lkeyword{forceLeft} & false & \rowvsp In some cases a doublepage float starts on an odd page. With \Lkeyword{forceLeft} it
+ uses only one \Lcs{afterpage} instead of two to force a start on an even page. \\
\Lkeyword{vFill} & false & \rowvsp Put a \Lcs{vfill} between every two objects in a multi- or subfloat.\\
\Lkeyword{sameHeight} & false & \rowvsp use the same text height on both pages for a \Lkeyword{doublePage} object.\\
\end{xltabular}
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index c1d78c0db7..394fc869ed 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.sty 653 2022-11-20 21:54:52Z herbert $
+%% $Id: hvfloat.sty 676 2023-01-28 19:47:00Z herbert $
%%
%%
%% IMPORTANT NOTICE:
@@ -6,7 +6,7 @@
%% This is file `hvfloat.sty',
%%
%% Herbert Voss <hvoss@tug.org>
-%% Copyright (C) 2003-22
+%% Copyright (C) 2003-23
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -16,8 +16,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.44}
-\def\filedate{2022/11/21}
+\def\fileversion{2.45}
+\def\filedate{2023/01/28}
\ProvidesPackage{hvfloat}[\filedate\space v\fileversion\space special floating objects (hv)]
\let\hvFloatFileVersion\fileversion
%
@@ -25,6 +25,7 @@
\newif\ifhv@hyperref \hv@hyperreffalse
\newif\ifhv@nostfloats \hv@nostfloatsfalse
\newif\ifhv@tugboat \hv@tugboatfalse
+\newif\ifhv@forceLeft \hv@forceLeftfalse
\DeclareOption{fbox}{\hv@fboxtrue\setlength\fboxsep{1pt}}
\DeclareOption{hyperref}{\hv@hyperreftrue}
@@ -67,6 +68,7 @@
% \global\@namedef{\number\@currbox @float}{\thispagestyle{#1}}\relax
%}
+\providecommand\hvfloat@typeout[1]{\ifhv@Debug\typeout{>>>> #1}\fi}
\providecommand*\LenToUnit[1]{\strip@pt\dimexpr#1*\p@/\unitlength}
\newlength\hvObjectWidth
@@ -180,6 +182,7 @@
\define@boolkey{hvSet}[hv@]{inMargin}[true]{}% use of the hvOBox contents
\define@boolkey{hvSet}[hv@]{onlyText}[true]{}% Write the caption only as text
\define@boolkey{hvSet}[hv@]{wide}[true]{}% Write the caption only as text
+\define@boolkey{hvSet}[hv@]{forceLeft}[true]{}% use only one \afterpage instead of \afterpage{\afterpage{..
\define@boolkey{hvSet}[hv@]{twoColumnCaption}[true]\global\@nameuse{hv@twoColumnCaption#1}{}% Write the caption only as text
\define@boolkey{hvSet}[hv@]{sameHeight}[true]{\@nameuse{hv@sameHeight#1}}% Write the caption only as text
\define@boolkey{hvSet}[hv@]{Debug}[true]{}% give more infos in the terminal
@@ -203,11 +206,36 @@
\newlength\hv@floatCapSep
\newlength\hvSet@bindCorr
-\define@key{hvSet}{fullpage}[true]{\global\@nameuse{hv@fullpage#1}}%
-\define@key{hvSet}{FULLPAGE}[true]{\global\@nameuse{hv@FULLPAGE#1}}
-\define@key{hvSet}{doubleFULLPAGE}[true]{\global\@nameuse{hv@doubleFULLPAGE#1}\hv@doublePagefalse\hv@doublePAGEfalse}
-\define@key{hvSet}{doublePAGE}[true]{\global\@nameuse{hv@doublePAGE#1}\hv@doublePagefalse\hv@doubleFULLPAGEfalse}
-\define@key{hvSet}{doublePage}[true]{\global\@nameuse{hv@doublePage#1}\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse}
+\define@key{hvSet}{fullpage}[true]{%
+ \global\@nameuse{hv@fullpage#1}%
+ \hv@doublePagefalse\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse
+ \hv@FULLPAGEfalse
+ \hvfloat@typeout{>>>>Option fullpage}%
+}
+\define@key{hvSet}{FULLPAGE}[true]{%
+ \global\@nameuse{hv@FULLPAGE#1}%
+ \hv@doublePagefalse\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse
+ \hv@fullpagefalse
+ \hvfloat@typeout{>>>>Option FULLPAGE}%
+}
+\define@key{hvSet}{doubleFULLPAGE}[true]{%
+ \global\@nameuse{hv@doubleFULLPAGE#1}%
+ \hv@doublePagefalse\hv@doublePAGEfalse
+ \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hvfloat@typeout{>>>>Option doubleFULLPAGE->True / doublePAGE->False}%
+}
+\define@key{hvSet}{doublePAGE}[true]{%
+ \global\@nameuse{hv@doublePAGE#1}%
+ \hv@doublePagefalse\hv@doubleFULLPAGEfalse
+ \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hvfloat@typeout{>>>>Option doublePAGE->True / doubleFULLPAGE->False}%
+}
+\define@key{hvSet}{doublePage}[true]{%
+ \global\@nameuse{hv@doublePage#1}%
+ \hv@doublePAGEfalse\hv@doubleFULLPAGEfalse
+ \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hvfloat@typeout{>>>>Option doublepage->True / doubleFULLPAGE->False}%
+}
\define@key{hvSet}{bindCorr}[0pt]{%
\def\hv@temp{#1}%
\ifx\hv@temp\hv@Inner
@@ -251,7 +279,7 @@
\hv@set{%
floatPos=, rotAngle=0, capWidth=n, capAngle=0, objectAngle=0,
capPos=bottom, capVPos=center, objectPos=center, capHPos=center,
- floatCapSep=5pt, useOBox=false,
+ floatCapSep=5pt, useOBox=false, forceLeft=false,
onlyText=false, wide=false, fullpage=false, FULLPAGE=false,
doubleFULLPAGE=false, doublePage=false, doublePAGE=false,
multiFloat=false,subFloat=false,inMargin=false,
@@ -267,13 +295,12 @@
\let\hvFloatSetDefaults\setDefaults
\hvFloatSetDefaults% onyl for first loading of the package
-\providecommand\hv@typeout[1]{\ifhv@Debug\typeout{>>>> #1}\fi}
\providecommand\@tugclass{\@empty}
\ifx\@tugclass\@empty
\else
\hv@tugboattrue % special page handling
- \hv@typeout{>>> we are using a TUGboat class}%
+ \hvfloat@typeout{>>> we are using a TUGboat class}%
\fi
\newcommand\reset@special@float{%
@@ -575,26 +602,33 @@
\global\hv@floatCapSep=\hvSet@floatCapSep%
%
\ifhv@fullpage
+ \hvfloat@typeout{>>>> do@@hvFloat: fullpage true}%
\def\hvSet@CapWidth{n}% relative value
\do@@@@hvFloat% fullpage with caption on other page
\else
\ifhv@FULLPAGE
+ \hvfloat@typeout{>>>> do@@hvFloat: FULLPAGE true}%
\def\hvSet@CapWidth{n}% relative value
\do@@@@hvFloat% fullpage with caption on other page
\else
\ifhv@doubleFULLPAGE
+ \hvfloat@typeout{>>>> do@@hvFloat: doubleFULLPAGE true}%
\setlength\hvCapWidth{\textheight}%
\expandafter\do@hvFloat@doubleFULLPAGE\@@temp% fullpage with caption rotated or under on an odd page
\else
\ifhv@doublePAGE
+ \hvfloat@typeout{>>>> do@@hvFloat: doublePAGE true}%
\expandafter\do@hvFloat@doublePAGE\@@temp% fullpage with caption rotated or under on an odd page
\else
\ifhv@doublePage
+ \hvfloat@typeout{>>>> do@@hvFloat: doublePage true}%
\expandafter\do@hvFloat@doublePage\@@temp% fullpage with caption rotated or under on an odd page
\else
\ifhv@inMargin
+ \hvfloat@typeout{>>>> do@@hvFloat: inMargin true}%
\do@@@hvFloatInMargin
\else
+ \hvfloat@typeout{>>>> do@@hvFloat: no special caption}%
\do@@@hvFloat
\fi
\fi
@@ -1156,8 +1190,6 @@
}% end marginnote
\endgroup}% end of \marginnote and \@@@hvFloatInMargin
-
-
%
\newenvironment{hvFloatEnv}[1][\textwidth]
{\minipage{#1}}
@@ -1173,6 +1205,7 @@
\ExplSyntaxOff
\def\do@@@@hvFloat{% special float page: caption <-> fullpage images
+ \hvfloat@typeout{>>>do@@@@hvFloat: special float page}%
\ifx\hvSet@capPos\hv@After \global\hv@@capPos=1
\else
\ifx\hvSet@capPos\hv@Even \global\hv@@capPos=2
@@ -1195,60 +1228,88 @@
\fi
\fi
\fi
+ \hvfloat@typeout{>>>do@@@@hvFloat: hv@capPos is \the\hv@@capPos}%
\checkoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: set floattype}%
\set@caption@object{\hv@floatType}% set caption and object into a box
\ifcase\hv@@capPos% caption before object 0-> _always_ left
+ \hvfloat@typeout{>>>do@@@@hvFloat: setBottomCaption and setPageObject (0)}%
\setBottomCaption\setPageObject
\or% caption after object 1-> _always_ right
+ \hvfloat@typeout{>>>do@@@@hvFloat: setPageObject and setBottomCaption (1)}%
\setPageObject\setBottomCaption
\or% caption on even page 2-> left page
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage-> oddpage/setBottomCaption and setPageObject (2)}%
\afterpage{\setBottomCaption\setPageObject}%
\else% we are on an even page
+ \hvfloat@typeout{>>>do@@@@hvFloat: evenpage/setBottomCaption and setPageObject (2)}%
\setBottomCaption\setPageObject
\fi
\or% caption on odd page 3->right page
\if@twoside
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside and caption on oddpage (3)}%
\if@twocolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/twocolumn and caption on oddpage (3)}%
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/twocolumn/oddpage and caption on oddpage (3)}%
\if@firstcolumn% on right side
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/twocolumn/oddpage/firstcolumn and caption on oddpage (3)}%
\setBottomCaption\setPageObject
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage->twoside/twocolumn/oddpage/secondcolumn and caption on oddpage (3)}%
\afterpage{\setPageObject\setBottomCaption}% start next column
\fi
\else% left (even) page
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/twocolumn/oddpage and caption on evenpage (3)}%
\if@firstcolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage->twoside/twocolumn/evenpage/firstcolumn and caption on oddpage (3)}%
\afterpage{\setPageObject\setBottomCaption}% start next column
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/twocolumn/evenage/secondcolumn and caption on oddpage (3)}%
\setPageObject\setBottomCaption
\fi
\fi
\else% onecolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/onecolumn and caption on oddpage (3)}%
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/onecolumn/oddpage and caption on oddpage (3)}%
\setPageObject\setBottomCaption
\else% even page
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage->twoside/onecolumn/evenpage and caption on oddpage (3)}%
\afterpage{\setPageObject\setBottomCaption}%
\fi
\fi
\else% oneside
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside and caption on oddpage (3)}%
\if@twocolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/twocolumn and caption on oddpage (3)}%
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/twocolumn/oddpage and caption on oddpage (3)}%
\if@firstcolumn% on right side
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/twocolumn/oddpage/firstcolumn and caption on oddpage (3)}%
\setBottomCaption\setPageObject
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/twocolumn/oddpage/secondcolumn and caption on oddpage (3)}%
\setPageObject\setBottomCaption
\fi
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/twocolumn/evenpage and caption on oddpage (3)}%
\if@firstcolumn% on left side
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage->oneside/twocolumn/evenpage/firstcolumn and caption on oddpage (3)}%
\afterpage{\setPageObject\setBottomCaption}%
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/twocolumn/evenpage/secondcolumn and caption on oddpage (3)}%
\setPageObject\setBottomCaption
\fi
\fi
\else % onecolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/onecolumn and caption on oddpage (3)}%
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: oneside/onecolumn/oddpage and caption on oddpage (3)}%
\setBottomCaption\setPageObject
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage->oneside/onecolumn/evenpage and caption on oddpage (3)}%
\afterpage{\setBottomCaption\setPageObject}%
\fi
\fi
@@ -1256,35 +1317,50 @@
\or% caption on the inner column 4->inner
% \set@caption@object
\if@twocolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn and caption on inner column (4)}%
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/oddpage and caption on inner column (4)}%
\if@firstcolumn% on right side
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/oddpage/firstcolumn and caption on inner column (4)}%
\setBottomCaption\setPageObject
\else % right column on right side
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/oddpage/secondcolumn and caption on inner column (4)}%
\setPageObject\setBottomCaption% start next firstcolumn next page
\fi
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/evenpage and caption on inner column (4)}%
\if@firstcolumn% on left side
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage^2 -> twoside/evenpage/firstcolumn and caption on inner column (4)}%
\afterpage{\afterpage{\setBottomCaption\setPageObject}}% start next page/first column
\else% left page/column
+ \hvfloat@typeout{>>>do@@@@hvFloat: twoside/evenpage/secondcolumn and caption on inner column (4)}%
\setBottomCaption\setPageObject% start on same page/column
\fi
\fi
\else% onecolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: onecolumn and caption on inner column (4)}%
\setBottomCaption\setPageObject
\fi
\or% caption on the outer column 5->outer
% \set@caption@object
\if@twocolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn and caption on outer column (5)}%
\ifoddpage
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn/oddpage and caption on outer column (5)}%
\if@firstcolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage^2 -> firstcolumn/oddpage/twocolumn and caption on outer column (5)}%
\afterpage{\afterpage{\setBottomCaption\setPageObject}}%
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage -> twocolumn/oddpage/secondcolumn and caption on outer column (5)}%
\afterpage{\setBottomCaption\setPageObject}%
\fi
\else% even page (left)
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn/evenpage and caption on outer column (5)}%
\if@firstcolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn/evenpage/firstcolumn and caption on outer column (5)}%
\setBottomCaption\setPageObject
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn/evenpage/secondolumn and caption on outer column (5)}%
%%% !!!! to-do: !!!!
\fi
\fi
@@ -1293,22 +1369,30 @@
\fi
\or% caption after object on same page 6->right for twocolumn
\if@twocolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn and caption after object (6)}%
\if@firstcolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage -> twocolumn/firstcolumn and caption after object (6)}%
\afterpage{\setPageObject\setBottomCaption}%
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn/secondcolumn and caption after object (6)}%
\setPageObject\setBottomCaption
\fi
\else% always caption _after_ object for onecolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: onecolumn and caption after object (6)}%
\setPageObject\setBottomCaption
\fi
\or% caption before object on same page 7->left for twocolumn
\if@twocolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn and caption before object (7)}%
\if@firstcolumn
+ \hvfloat@typeout{>>>do@@@@hvFloat: twocolumn/firstcolumn and caption before object (7)}%
\setBottomCaption\setPageObject
\else
+ \hvfloat@typeout{>>>do@@@@hvFloat: afterpage -> twocolumn/secondcolumn and caption before object (7)}%
\afterpage{\setBottomCaption\setPageObject}%
\fi
\else% onecolumn -> same as before
+ \hvfloat@typeout{>>>do@@@@hvFloat: onecolumn and caption before object (7)}%
\setBottomCaption\setPageObject
\fi
\fi
@@ -1322,7 +1406,8 @@
%
\def\do@hvFloat@doublePage#1{% image on left and right page with caption on the right page
% #1-> 0/1 caption under/right
- \hv@typeout{>>>doublePage: start with definitions of \hv@floatObject}%
+ \hvfloat@typeout{----------------------------- do@hvFloat@doublePage#1 --------------------------}%
+ \hvfloat@typeout{>>>do@hvFloat@doublePage: begin with definitions of \hv@floatObject}%
\global\hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection\relax
\global\hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection\relax
\xdef\hv@caption@format@temp{\hv@caption@format}% it gets lost otherwise for next afterpage
@@ -1339,35 +1424,37 @@
\endminipage}%
\savebox\hvObjectBox{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\ifnum#1=0\relax % no rotation, caption below
- \hv@typeout{Texthöhe: \the\textheight}%
- \hv@typeout{Objekthöhe: \the\ht\hvObjectBox}%
- \hv@typeout{Captionhöhe: \the\ht\hvCaptionBox}%
+ \hvfloat@typeout{Texthöhe: \the\textheight}%
+ \hvfloat@typeout{Objekthöhe: \the\ht\hvObjectBox}%
+ \hvfloat@typeout{Captionhöhe: \the\ht\hvCaptionBox}%
\@tempdima=\dimexpr\ht\hvObjectBox+\ht\hvCaptionBox+\abovecaptionskip+\belowcaptionskip +\textfloatsep\relax%+\floatsep\relax
- \hv@typeout{Summe: \the\@tempdima}%
+ \hvfloat@typeout{Summe: \the\@tempdima}%
\ifdim\@tempdima > \dimexpr\textheight-\hv@minTextlines\relax
- \hv@typeout{hvfloat: switched to floattype p}%
+ \hvfloat@typeout{hvfloat: switched to floattype p}%
\hv@switchTypetrue
\fi
\fi
- \hv@typeout{do@hvFloat@doublePage:hv@tempWidthA=\the\hv@tempWidthA}%
+ \hvfloat@typeout{do@hvFloat@doublePage:hv@tempWidthA=\the\hv@tempWidthA}%
\ifhv@forceOutput
\do@hvFloat@doublePAGECaptionRight{#1}% no cheque
\else
\checkoddpage
\ifoddpage
+ \hvfloat@typeout{do@hvFloat@doublePage:oddpage}%
\if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doublePage: oddpage/twocolumn}%
\if@firstcolumn
- \hv@typeout{do@hvFloat@doublePage:oddpage->twocolumn->firstcolumn}%
+ \hvfloat@typeout{do@hvFloat@doublePage:oddpage->twocolumn->firstcolumn}%
\ifhv@switchType
- \hv@typeout{hvfloat: switched to floattype p}%
+ \hvfloat@typeout{hvfloat: switched to floattype p}%
\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
\else
- \hv@typeout{calling do@hvFloat@doublePageCaptionRight}%
+ \hvfloat@typeout{calling do@hvFloat@doublePageCaptionRight}%
%\afterpage{
\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%}%
\fi
\else
- \hv@typeout{do@hvFloat@doublePage:oddpage->twocolumn->secondcolumn}%
+ \hvfloat@typeout{do@hvFloat@doublePage:oddpage->twocolumn->secondcolumn}%
\ifhv@tugboat
\do@hvFloat@doublePageCaptionRight{#1}%
\else
@@ -1378,14 +1465,22 @@
\fi
\fi
\fi
- \else
+ \else% onecolumn
+ \hvfloat@typeout{do@hvFloat@doublePage: oddpage/onecolumn}%
\ifhv@switchType
+ \hvfloat@typeout{do@hvFloat@doublePage: oddpage/onecolumn/switchType}%
\do@hvFloat@doublePAGECaptionRight{#1}%
\else
- \afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%
+ \hvfloat@typeout{do@hvFloat@doublePage: call do@hvFloat@doublePageCaptionRight #1}%
+ \ifhv@forceLeft
+ \do@hvFloat@doublePageCaptionRight{#1}% no \afterpage
+ \else
+ \afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%
+ \fi
\fi
\fi
\else% we have an even page
+ \hvfloat@typeout{do@hvFloat@doublePage:evenpage -> (\thepage)}%
\if@twocolumn
\if@firstcolumn
\ifhv@switchType
@@ -1401,33 +1496,42 @@
\fi
\fi
\else% onecolumn
+ \hvfloat@typeout{do@hvFloat@doublePage:evenpage/onecolumn -> (\thepage)}%
\ifhv@switchType
+ \hvfloat@typeout{do@hvFloat@doublePage:evenpage/onecolumn/switchType -> (\thepage)}%
\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
\else
- \afterpage{\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}}%
+ \hvfloat@typeout{do@hvFloat@doublePage:evenpage/onecolumn/noSwitchType -> (\thepage)}%
+ \ifhv@forceLeft
+ \hvfloat@typeout{do@hvFloat@doublePage:evenpage/onecolumn/noSwitchType/forceLeft -> (\thepage)}%
+ \afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%
+ \else
+ \afterpage{\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}}%
+ \fi
\fi
\fi
\fi
- \let\c@fptop\hv@fptop
+ \let\@fptop\hv@fptop
\fi
\endgroup% started at main macro \hvFloat
+ \hvfloat@typeout{----------------------------- do@hvFloat@doublePage#1 ... Ende ----------------------}%
}
%
\def\do@hvFloat@doublePageCaptionRight#1{% image on left and right page with caption on the right page ----------------------------------
- \hv@typeout{do@hvFloat@doublePageCaptionRight->start}%
+ \hvfloat@typeout{do@hvFloat@doublePageCaptionRight->start}%
\do@hvFloat@doublePageCaptionRightObjectLeft{0pt}%
\afterpage{\do@hvFloat@doublePageCaptionRightObjectRight{#1}}%
}
%
\def\do@hvFloat@doublePageCaptionRightObjectLeft#1{% left part of the object
- \begin{\hv@floatType*}[!t]
- \hv@typeout{>>>doublePage: start with left side of the object \hv@floatObject}%
+ \begin{\hv@floatType}[!t]
+ \hvfloat@typeout{>>>doublePage: begin with left side of the object \hv@floatObject}%
\hv@set@noverticalSpace
\hfuzz=\maxdimen
\let\c@hv@tempCNTfigA\c@figure
\let\c@hv@tempCNTtabA\c@table
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \hv@typeout{Float position parameter is for left page: !t}%
+ \hvfloat@typeout{Float position parameter is for left page: !t}%
\global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
\ifx\hv@label\@empty
@@ -1440,16 +1544,18 @@
\label{\hv@label}%
\fi
\ifhv@global@sameHeight
- \hv@typeout{text should be of same height of both pages}%
+ \hvfloat@typeout{text should be of same height of both pages}%
\par\noindent\phantom{\parbox{\textwidth}{\caption*{\hv@longCap}}}%
% \vspace{-2pt}%
\fi
\hv@reset@noverticalSpace
- \end{\hv@floatType*}%
+ \hvfloat@typeout{>>>doublePage: end with left side of the object \hv@floatObject}%
+ \end{\hv@floatType}%
}
+
\def\do@hvFloat@doublePageCaptionRightObjectRight#1{% right part of the object
\begin{\hv@floatType*}[!t]
- \hv@typeout{>>>doublePage: start with right side of the object \hv@floatObject}%
+ \hvfloat@typeout{>>>doublePage: begin with right side of the object \hv@floatObject}%
\hv@set@noverticalSpace
\hfuzz=\maxdimen
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
@@ -1459,8 +1565,8 @@
\hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection\relax% FÜR FTK
\savebox\hv@rightBox{\clipbox*{\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}}%
\hv@tempWidthB=\dimexpr\textwidth-\wd\hv@rightBox-\hvSet@bindCorrection+1in+\oddsidemargin-\hv@floatCapSep\relax
- \hv@typeout{Height of right box: \the\ht\hv@rightBox}%
- \hv@typeout{Depth of right box : \the\dp\hv@rightBox}%
+ \hvfloat@typeout{Height of right box: \the\ht\hv@rightBox}%
+ \hvfloat@typeout{Depth of right box : \the\dp\hv@rightBox}%
\ifdim\dp\hv@rightBox > \z@
\raisebox{\depth}{\usebox\hv@rightBox}%
\else
@@ -1482,7 +1588,7 @@
\c@figure=\numexpr\c@hv@tempCNTfigB-1\relax
\c@table=\numexpr\c@hv@tempCNTtabB-1\relax
\ifnum#1>\z@ % caption on the right
- \hv@typeout{doublePage: capAngle=\hvSet@capAngle}%
+ \hvfloat@typeout{doublePage: capAngle=\hvSet@capAngle}%
\ifnum\hvSet@capAngle > \z@
\hspace{\hv@floatCapSep}%
\rlap{\rotatebox{\hvSet@capAngle}{\parbox[b]{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
@@ -1519,6 +1625,7 @@
\fi
\vspace{0pt}%
\hv@reset@noverticalSpace
+ \hvfloat@typeout{>>>doublePage: end with right side of the object \hv@floatObject}%
\end{\hv@floatType*}
}
%
@@ -1537,20 +1644,20 @@
\expandafter\global\expandafter\savebox\expandafter\hv@boxRightPage\expandafter{\clipbox*{\hv@leftPageObjectWidth{} -\depth{} \width{} \height}{\usebox\hvObjectBox}}%
\checkoddpage
\ifoddpage
- \hv@typeout{do@hvFloat@doublePAGE: oddpage}%
+ \hvfloat@typeout{do@hvFloat@doublePAGE: oddpage}%
\if@twocolumn
\if@firstcolumn
- \hv@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->firstcolumn}%
+ \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->firstcolumn}%
\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
\else
- \hv@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->secondcolumn}%
+ \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->secondcolumn}%
\do@hvFloat@doublePAGECaptionRight{#1}%
\fi
\else
\do@hvFloat@doublePAGECaptionRight{#1}%
\fi
\else
- \hv@typeout{do@hvFloat@doublePAGE: evenpage}%
+ \hvfloat@typeout{do@hvFloat@doublePAGE: evenpage}%
\if@twocolumn
\if@firstcolumn
\afterpage{\afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}}%
@@ -1566,7 +1673,7 @@
%
\def\do@hvFloat@doublePAGECaptionRight#1{% image on left and right page with caption on the right ----------------------------------
% #1-> 0/1 caption under/right
- \hv@typeout{do@hvFloat@doublePAGECaptionRight->start}%
+ \hvfloat@typeout{do@hvFloat@doublePAGECaptionRight->start}%
\afterpage{%
\hfuzz=\maxdimen
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
@@ -1626,6 +1733,7 @@
%
\def\do@hvFloat@doubleFULLPAGE#1{% image on left and right page with caption before/below/right/after
% #1-> 0/1 caption under/right
+ \hvfloat@typeout{>>> do@hvFloat@doubleFULLPAGE: #1}%
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
\ifx\hvSet@capPos\hv@After \global\hv@@capPos=1
\else
@@ -1642,47 +1750,55 @@
% \savebox\hv@rightBox{\clipbox*{\the\hv@leftPageObjectWidth{} \depth{} \width{} \height}{\usebox\hvObjectBox}}%
% \expandafter\captionsetup\expandafter{\hv@caption@format}%
\ifoddpage
- \hv@typeout{do@hvFloat@doubleFULLPAGE: ifoddpage=true}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage}%
\ifcase\hv@@capPos % =0 Caption before
- \hv@typeout{do@hvFloat@doubleFULLPAGE: caption before}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before (0)}%
\if@twocolumn
- \hv@typeout{do@hvFloat@doubleFULLPAGE: twocolumn=true}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn}%
\if@firstcolumn
- \hv@typeout{do@hvFloat@doubleFULLPAGE: firstcolumn=true}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/firstcolumn}%
\ifhv@twoColumnCaption
- \hv@typeout{do@hvFloat@doubleFULLPAGE: twoColumnCaption=true}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/twoColumnCaption}%
\set@Normal@Bottom@Caption*
\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/oneColCaption}%
\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
\fi
- \else% \if@firstcolumn
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/secondcolumn}%
\set@Normal@Bottom@Caption
\do@hvFloat@doubleFULLPAGE@CaptionBefore
\fi
- \else% \if@twocolumn
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/onecolumn}%
\set@Normal@Bottom@Caption
\do@hvFloat@doubleFULLPAGE@CaptionBefore
\fi
\or % =1 Caption after
- \hv@typeout{do@hvFloat@doubleFULLPAGE: caption after}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after (1)}%
\ifhv@twoColumnCaption
- \hv@typeout{do@hvFloat@doubleFULLPAGE: twoColumnCaption=true}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption (1)}%
\if@firstcolumn
- \hv@typeout{do@hvFloat@doubleFULLPAGE: firstcolumn=true}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/firstcolumn (1)}%
\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol}%
\else
- \hv@typeout{do@hvFloat@doubleFULLPAGE: firstcolumn=false}%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/secondcolumn (1)}%
\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol
\fi
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/oneColCaption (1)}%
\if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn (1)}%
\if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption after/twoColCaption/twocolumn/firstcolumn (1)}%
\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}%
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn/secondcolumn (1)}%
\do@hvFloat@doubleFULLPAGE@CaptionAfter
\fi
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/onecolumn (1)}%
\do@hvFloat@doubleFULLPAGE@CaptionAfter
\fi
\fi
@@ -1698,36 +1814,53 @@
\fi
\fi% \ifcase
\else% we have an even page
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage (1 -- \thepage)}%
\ifcase\hv@@capPos% Before
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before (0 -- \thepage)}%
\if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn (0 -- \thepage)}%
\if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn/firstcolumn (0 -- \thepage)}%
\ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/firstcolumn/twocolCap (0 -- \thepage)}%
\afterpage{\afterpage\set@Normal@Bottom@Caption*\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}%
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2 -> evenpage/caption before/twocolumn/firstcolumn/oneColCap (0 -- \thepage)}%
\afterpage{\afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}}%
\fi
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/secondcolumn (0 -- \thepage)}%
\afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}%
\fi
- \else% \if@twocolumn
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption before/onecolumn (0 -- \thepage)}%
\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
\fi
\or % capPos after
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after (1 -- \thepage)}%
\if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn (1 -- \thepage)}%
\if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/firstcolumn (1 -- \thepage)}%
\ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/twoColCaption (1 -- \thepage)}%
\afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}%
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/oneColCaption (1 -- \thepage)}%
\afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}%
\fi
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/secondcolumn (1 -- \thepage)}%
\ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/twoColCaption (1 -- \thepage)}%
\afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}%
\else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/oneColCaption (1 -- \thepage)}%
\afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}%
\fi
\fi
- \else% \if@twocolumn
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/onecolumn (1 -- \thepage)}%
\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}%
\fi
\else % \ifcase Any other caption
@@ -1861,9 +1994,9 @@
}
\def\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{%
- \hv@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: start} %
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: start} %
\afterpage{%
- \hv@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage start} %
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage start} %
\global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
\hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
@@ -1876,7 +2009,7 @@
\ifx\hv@label\@empty\else\label{\hv@label}\fi
\clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
\newpage\if@twocolumn\null\newpage\fi
- \hv@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: insert newpage} %
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: insert newpage} %
\global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\thispagestyle{empty}%
\vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
@@ -1906,7 +2039,7 @@
\ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
\end{\hv@floatType*}%
}%
- \hv@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage done} %
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage done} %
}
\def\do@hvFloat@doubleFULLPAGE@CaptionOther#1{%
@@ -2013,6 +2146,8 @@
}
\def\setPageObject{%
+ \hvfloat@typeout{>>>> setPageObject/start environment ...}%
+ \afterpage{\checkoddpage}%
\ifhv@star
\begin{\hv@floatType*}[p]%
\else
@@ -2021,25 +2156,32 @@
\hv@tempcnt=\@floatpenalty% suppress "float too big" message
\hfuzz=\maxdimen
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifhv@FULLPAGE
+ \ifhv@FULLPAGE
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE}%
\@floatpenalty=\z@% no message that float too large
\vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep}%-0.5\baselineskip%
- \checkoddpage
\if@twoside
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside}%
\ifoddpage
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/oddpage (\thepage)}%
\hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
\else
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/evenpage (\thepage)}%
\hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
\fi
\else
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/oneside}%
\hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
\fi
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/set pagestyle empty}%
\AtBeginShipoutNext{\thispagestyle{empty}}% to prevent heading/footer
% \afterpage{\AddToHookNext{shipout/after}{\thispagestyle{empty}}}%
\usebox\hvObjectBox
\else
+ \hvfloat@typeout{>>>> setPageObject/NO FULLPAGE}%
\usebox\hvObjectBox
\fi
+ \hvfloat@typeout{>>>> setPageObject/stop environment}%
\ifhv@star
\end{\hv@floatType*}%
\else
diff --git a/macros/latex/contrib/moodle/README.md b/macros/latex/contrib/moodle/README.md
index 30e1b4a976..f6d06f6f5f 100644
--- a/macros/latex/contrib/moodle/README.md
+++ b/macros/latex/contrib/moodle/README.md
@@ -10,11 +10,11 @@ part of all distributions of LaTeX version 2005/12/01 or later.
Original contents (2016): [Anders O.F. Hendrickson](/author/hendrickson) ([contact](mailto:anders.o.f.hendricksonATgmail.com))
-2019-2021: [Matthieu Guerquin-Kern](/author/guerquin-kern) ([contact](mailto:guerquin-kernATcrans.org))
+2019-2023: [Matthieu Guerquin-Kern](/author/guerquin-kern) ([contact](mailto:guerquin-kernATcrans.org))
# Contents
-This work, under version number 0.8, consists of the files
+This work, under version number 1.0, consists of the files
[`moodle.dtx`](/tex-archive/macros/latex/contrib/moodle/moodle.dtx),
[`moodle.ins`](/tex-archive/macros/latex/contrib/moodle/moodle.ins), and the derived documentation
file [`moodle.pdf`](/tex-archive/macros/latex/contrib/moodle/moodle.pdf).
@@ -24,7 +24,7 @@ Details on how to generate derived files from the sources are given in Section "
A TDS archive [moodle.tds.zip](http://mirrors.ctan.org/install/macros/latex/contrib/moodle.tds.zip) is
also available to be conveniently expanded in your local texmf directory.
-It contains the derived file `moodle.sty` and a set of test files.
+It contains the derived files `moodle.sty`, `moodle.pdf` and a set of test files.
# Requirements
@@ -38,25 +38,35 @@ This package (`moodle.sty`) requires the following packages:
- [`xpatch`](pkg/xpatch),
- [`array`](pkg/array),
- [`ifplatform`](/pkg/ifplatform),
+- [`shellesc`](pkg/shellesc),
+- [`readprov`](pkg/readprov),
- [`fancybox`](pkg/fancybox), and
- [`getitems`](pkg/getitems).
-In order to manipulate images, the package relies on the following external tools:
+The package option `handout` requires:
+- [`randomlist`](pkg/randomlist).
+
+In order to manipulate images, the package relies on the following tools:
+- [`graphics`](pkg/graphics),
- [GhostScript](www.ghostscript.com),
- [ImageMagick](www.imagemagick.org), and
- [optipng](http://optipng.sourceforge.net/).
-In addition, to compile the documentation, the following LaTeX packages are
+Instead, to compile the documentation, the following LaTeX packages are
necessary:
- [`amssymb`](pkg/amssymb),
-- [`metalogo`](pkg/metalogo),
-- [`multirow`](pkg/multirow),
-- [`threeparttable`](pkg/threeparttable),
+- [`babel`](pkg/babel),
- [`booktabs`](pkg/booktabs),
+- [`changelog`](pkg/changelog),
+- [`dtxdescribe`](pkg/dtxdescribe),
+- [`eurosym`](pkg/eurosym),
- [`hyperref`](pkg/hyperref),
+- [`longtable`](pkg/longtable),
+- [`minted`](pkg/minted),
+- [`microtype`](pkg/microtype),
- [`tikz`](pkg/tikz),
-- [`minted`](pkg/minted), and
-- [`microtype`](pkg/microtype).
+- [`threeparttable`](pkg/threeparttable), and
+- [`varioref`](pkg/varioref).
# Building
@@ -64,8 +74,11 @@ The file `moodle.sty` can be generated using the command
```bash
latex moodle.ins
````
-The documentation file `moodle.pdf` can be generated by running twice the command
+The documentation file `moodle.pdf` can be generated by running
+successively the three commands:
```bash
-lualatex -shell-escape moodle.dtx
+lualatex -halt-on-error -shell-escape moodle.dtx
+makeindex -s gglo.ist -o moodle.gls moodle.glo
+lualatex -halt-on-error -shell-escape moodle.dtx
```
(n.b. the requirements in the previous section)
diff --git a/macros/latex/contrib/moodle/moodle.dtx b/macros/latex/contrib/moodle/moodle.dtx
index 9e932fb576..9f20c6c95a 100644
--- a/macros/latex/contrib/moodle/moodle.dtx
+++ b/macros/latex/contrib/moodle/moodle.dtx
@@ -1,8 +1,8 @@
% \iffalse meta-comment
%
% moodle.dtx
-% Copyright 2016 by Anders O.F. Hendrickson (anders.o.f.hendrickson AT gmail.com)
-% and 2019-2021 by Matthieu Guerquin-Kern (guerquin-kern AT crans.org).
+% Copyright 2016 by Anders O.F. Hendrickson (anders.o.f.hendrickson AT gmail DOT com)
+% and 2019-2021 by Matthieu Guerquin-Kern (guerquin-kern AT crans DOT org).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -13,7 +13,7 @@
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
-%
+%
% The Current Maintainer of this work is Matthieu Guerquin-Kern.
%
% This work consists of the files moodle.dtx and moodle.ins
@@ -28,38 +28,45 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{moodle}
%<*package>
- [2021/02/07 v0.9 Moodle quiz XML generation]
+ [2023/01/28 v1.0 Moodle quiz XML generation]
%</package>
%
%<*driver>
-\documentclass[a4paper]{ltxdoc}
+\documentclass[10pt,a4paper]{ltxdoc}
+%\usepackage[draft]{moodle}
\usepackage{iftex}
\ifPDFTeX
\usepackage[utf8]{inputenc} % necessary
\usepackage[T1]{fontenc} % necessary
- \usepackage[protrusion=true,expansion]{microtype}
- \usepackage[ttscale=.875]{libertine}
+ \usepackage{libertine}
+ \usepackage[scaled=0.83]{beramono}
\else % assuming LuaLaTeX or XeLaTeX
\usepackage{fontspec}
- \setmainfont[Mapping=tex-text]{Linux Libertine O}
+ \setmainfont{Linux Libertine O}
\fi
-%\usepackage{moodle}[2020/07/09]
-\usepackage{amssymb,metalogo,multirow,threeparttable,booktabs}
-\usepackage{hyperref,tikz,minted,changelog}
-\usetikzlibrary{arrows,positioning,decorations.text}
+\usepackage{microtype}
+\usepackage{dtxdescribe,varioref}
+\addtolength\marginparwidth{30pt}
+\addtolength\oddsidemargin{20pt}
+\addtolength\evensidemargin{20pt}
+\usepackage[main=english,french,german]{babel}
+\usepackage{amssymb,threeparttable,booktabs}
+\usepackage{eurosym,longtable,tikz,minted,changelog}
+%\usepackage[pdfpagelabels]{hyperref}% now loaded by ltxdoc
+\usetikzlibrary{arrows,positioning,decorations.text,calc}
%\usemintedstyle{Wombat}
-\EnableCrossrefs
+\EnableCrossrefs
\CodelineIndex
\OnlyDescription
\RecordChanges
+\setcounter{IndexColumns}{2}
\begin{document}
\DocInput{moodle.dtx}
- %\PrintChanges
\end{document}
%</driver>
% \fi
%
-% \CheckSum{7729} ^^A Comment \OnlyDescription above to adjust
+% \CheckSum{10269} ^^A Comment \OnlyDescription above to adjust
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -81,170 +88,199 @@
% \GetFileInfo{\jobname.dtx}
%
% \DoNotIndex{\newcommand,\newenvironment,\def}
-%
%
-% \title{The \textsf{moodle} package: \\
-% generating Moodle quizzes via \LaTeX%
-% \thanks{This document
-% corresponds to \textsf{moodle.sty}~\fileversion, dated \filedate.}}
-% \author{Anders Hendrickson\footnote{original author of the package (\texttt{v0.5}), inactive.}\\
-% \texttt{anders.o.f.hendrickson AT gmail.com} \and
-% Matthieu Guerquin-Kern\footnote{current maintainer, author of the updates (\texttt{v0.6}
-% to \texttt{v0.9}), partially funded in 2019 by \href{https://www.ensea.fr/en/}{ENSEA Graduate School}, France.}\\
-% \href{mailto:guerquin-kern AT crans.org}{guerquin-kern AT crans.org}}
-% \date{February 7, 2021}
-%
+% \providecommand\TikZ{\mbox{Ti\emph{k}Z}}%
+% \providecommand\Moodle{\mbox{\brand{Moodle}}}%
+% \providecommand\LMS{\mbox{\acro{LMS}}}%
+% \providecommand\XML{\mbox{\acro{XML}}}%
+%
+% \title{%
+% The \pkg{moodle} package: \\
+% generating \Moodle\ quizzes via \LaTeX%
+% \thanks{This document corresponds to \pkg{moodle.sty}~\fileversion, dated \filedate.}
+% }%
+%
+% \author{%
+% Anders Hendrickson\footnote{original author of the package (\texttt{v0.5}), inactive.}\\
+% \texttt{anders.o.f.hendrickson AT gmail DOT com} \and
+% Matthieu Guerquin-Kern\footnote{current maintainer, %
+% author of the updates (\texttt{v0.6} to \texttt{\fileversion}).}\\
+% \href{mailto:guerquin-kernATcransDOTorg}{\texttt{guerquin-kern AT crans DOT org}}%
+% }%
+%
+% \date{\today}
+%
% \maketitle
%
-% \providecommand\TikZ{Ti\emph{k}Z}
+% \begin{abstract}
+% This document describes the \pkg{moodle} package, made for writing \Moodle\
+% quizzes in \LaTeX. In addition to typesetting the quizzes for proofreading or
+% giving to students as handout, the package generates an \XML\ file to be uploaded
+% to a \Moodle\ server.
+% \end{abstract}
+%
+% \tableofcontents
%
-% \section{Motivation}
+% \section{Introduction}
+% \subsection{Motivation}
%
-% The acronym Moodle stands for ``Modular Object-Oriented Dynamic Learning Environment.''
-% It is an open source learning management system (LMS) employed by many universities,
+% The acronym \acro{Moodle} stands for ``Modular Object-Oriented Dynamic Learning Environment.''
+% It is an open source learning management system (\LMS) employed by many universities,
% colleges, and high schools to provide digital access to course materials, such as
% notes, video lectures, forums, and the like; see
-% \url{https://moodle.com/moodle-lms/} for more information.
+% \url{https://moodle.com/moodle-lms/} for more information.
% One of the many useful
-% features of Moodle is that mathematical and scientific notation can be entered in
+% features of \Moodle\ is that mathematical and scientific notation can be entered in
% \LaTeX\ or \TeX\ code, which will be typeset either through a built-in \TeX\ filter
% or by invoking MathJax.
-%
+%
% For instructors who want to give students frequent feedback,
-% but lack the time to do so, a particularly valuable module in Moodle
-% is the \emph{quiz}. A Moodle quiz can consist of several different types of
-% questions---not only multiple choice or true/false questions, but also
-% questions requiring a short phrase or numerical answer, and even essay
-% questions. All but the essay questions are automatically graded by the
-% system, and the instructor has full control over how often the quiz may be
+% but lack the time to do so, a particularly valuable module in \Moodle\
+% is the \emph{quiz}. A \Moodle\ quiz can consist of several different types of
+% questions---not only multiple choice or true/false questions, but also
+% questions requiring a short phrase or numerical answer, and even essay
+% questions. All but the essay questions are automatically graded by the
+% system, and the instructor has full control over how often the quiz may be
% attempted, its duration, and so forth. Feedback can be tailored to specific
% mistakes the student makes.
-%
-% All these features make Moodle quizzes very useful tools for instructors
+%
+% All these features make \Moodle\ quizzes very useful tools for instructors
% who have access to them.
-% Unfortunately, the primary way to create or edit a Moodle quiz
+% Unfortunately, the primary way to create or edit a \Moodle\ quiz
% is through a web-based interface that can be slow to operate.
% To users of \LaTeX, accustomed to the speed of typing source code on
% a keyboard alone, the agonizing slowness of switching between mouse and keyboard
% to navigate a web form with its myriad dropdown boxes, radio buttons,
-% compounded with a perceptible time lag as one's Moodle server responds to requests,
-% can produce a very frustrating experience. Moreover, editing is entirely
+% compounded with a perceptible time lag as one's \Moodle\ server responds to requests,
+% can produce a very frustrating experience. Moreover, editing is entirely
% impossible without network access.
-%
-% Once the quiz is written, there is no easy way to view and proofread all the
+%
+% Once the quiz is written, there is no easy way to view and proofread all the
% information of which it is made. Each question is edited on a separate webpage,
-% which is so full of options that it cannot be viewed on a single screen.
-% An instructor has to spend much time checking over the newly created quiz in
+% which is so full of options that it cannot be viewed on a single screen.
+% An instructor has to spend much time checking over the newly created quiz in
% order to be confident there are no errors.
-%
+%
% Added to all this is the frustration of managing graphics.
% If a question requires an image---say, asking a calculus student to interpret
% the graph of a function---the image must first be produced as a standalone file
-% (e.g., in JPG or PNG format), uploaded to Moodle, and then chosen in a web-based
-% HTML editor. Great is the vexation of the instructor who decided to alter a
-% question, as there are more and more possibilities of error whenever multiple
+% (e.g., in \JPG\ or \PNG\ format), uploaded to \Moodle, and then chosen in a web-based
+% \HTML\ editor. Great is the vexation of the instructor who decided to alter a
+% question, as there are more and more possibilities of error whenever multiple
% files must be kept synchronized.
-%
-% Users of \LaTeX\ are also accustomed to the speed and flexibility that
+%
+% Users of \LaTeX\ are also accustomed to the speed and flexibility that
% comes from defining their own macros, which may be as brief as writing
-% |\R| instead of |\mathbb{R}|
+% \cmd{\R} instead of |\mathbb{R}|
% or as complex as macros that generate entire paragraphs of text.
-% The Moodle editor, by contrast, requires you to type |\mathbb{R}|
+% The \Moodle\ editor, by contrast, requires you to type |\mathbb{R}|
% every single time you want $\mathbb{R}$.
-%
+%
% Finally, there is the question of archiving and reusing one's work.
-% Much, much work goes into creating Moodle quizzes, which then reside
-% on a Moodle server somewhere in the cloud in a format neither easily browsable
+% Much, much work goes into creating \Moodle\ quizzes, which then reside
+% on a \Moodle\ server somewhere in the cloud in a format neither easily browsable
% nor easily modifiable.
-%
-% \LaTeX\ itself has the power to solve all these difficulties:
+%
+% \LaTeX\ itself has the power to solve all these difficulties:
% it is swift to edit and swifter to compile a \LaTeX\ document,
-% and the PDF may be previewed onscreen or printed out for ease of proofreading.
+% and the \PDF\ may be previewed onscreen or printed out for ease of proofreading.
% Mathematical graphics can be integrated within the main file through \TikZ,
% and of course \LaTeX\ macros can be customized.
-% Using the present \textsf{moodle} package,
-% a quiz author can type a quiz using familiar \LaTeX\ syntax and document
+% Using the present \pkg{moodle} package,
+% a quiz author can type a quiz using familiar \LaTeX\ syntax and document
% structure. Upon compilation, \LaTeX\ will generate both a well-organized
-% PDF that is easy to proofread and an XML file that can be uploaded directly
-% to Moodle. The entire process is far faster than using Moodle's own
-% web-based editor, makes it easier to catch one's mistakes,
-% and the ultimate source code of one's work is a human-readable |.tex| file
+% \PDF\ that is easy to proofread and an \XML\ file that can be uploaded directly
+% to \Moodle. The entire process is far faster than using \Moodle's own
+% web-based editor, makes it easier to catch one's mistakes,
+% and the ultimate source code of one's work is a human-readable \filenm{.tex} file
% that can be archived, versioned, browsed, and edited offline.
-%
-% Strictly speaking, the \textsf{moodle} package does not generate quizzes:
-% it generates question banks that can be imported in the LMS. The teacher
+%
+% Strictly speaking, the \pkg{moodle} package does not generate quizzes:
+% it generates question banks that can be imported in the \LMS. The teacher
% still needs to compose manually a quiz from the question banks. Hopefully,
-% two Moodle features supported by the package make this task easier:
+% two \Moodle\ features supported by the package make this task easier:
% categories and tags.
%
-% In this documentation the LMS is referred to as Moodle (uppercase M and
-% roman font) while the \LaTeX\ package that is documented here is referred
-% to as \textsf{moodle} (all lower case and sans serif font).
-%
-% \section{Workflow}
-% The process of creating a quiz in Moodle using this package is depicted in
-% Figure~\ref{fig:workflow}. It follows a few steps:
-% \begin{enumerate}
-% \item Write a \LaTeX\ document using |\usepackage{moodle}| as described
-% below.
-% \item Compile the document to PDF using pdf\LaTeX\, \XeLaTeX\ or \LuaLaTeX.
-% This will also produce the file \meta{jobname}|-moodle.xml|.
-% \item Open Moodle, navigate to the desired course,
-% and under ``Question bank'' select ``Import.''
-% \item Select ``Moodle XML format,'' choose the XML file to upload, and press ``Import.''
-% \item After Moodle verifies that the questions have been imported correctly,
-% you may add them to your quizzes.
-% \end{enumerate}
-% \begin{figure}[tbp]
+% In this documentation the \LMS\ is referred to as \Moodle\
+% (uppercase letters and roman font) while the \LaTeX\ package
+% is referred to as \pkg{moodle} (lower case and sans serif font).
+%
+% \subsection{Workflow}
+%
+%% \begin{figure}[bp]
% \centering
-% \begin{tikzpicture}[node distance=1,auto,bend
-% angle=45,box/.style={rectangle,draw=blue!50,rounded corners=3,top
-% color=white,bottom color=black!20,thick,align=center,text
+% \begin{tikzpicture}[node distance=1,auto,bend
+% angle=45,box/.style={rectangle,draw=blue!50,rounded corners=3,top
+% color=white,bottom color=black!20,thick,align=center,text
% width=2.5cm},elmt/.style={font=\itshape,align=left},
% cmnt/.style={font=\footnotesize,align=center},
% bigcmnt/.style={font=\normalsize,align=center},pre/.style={<-,>=stealth',thick},
% post/.style={->,>=stealth',thick}, prepost/.style={<->,>=stealth',thick}]
% \draw[white,fill=orange!20,rounded corners=10]
-% (-1.5,-.7)--++(0,1.4)--++(10.3,0)--++(0,-3.3)--++(-6.7,0)--++(-.25,1.725)--cycle;
-% \node[orange!80!black,above] (dev) at (7.5,-2.6) {\textit{Developpement}};
+% (-1.5,-.7)--++(0,1.4)--++(10.3,0)--++(0,-2.3)--++(-6.7,0)--++(-.25,.725)--cycle;
+% \node[orange!80!black,above] (dev) at (7.5,-1.6) {\textit{Development}};
% \fill[green,fill opacity=.2,rounded corners=10]
-% (-1.5,.7)--++(3,0)--++(0.5,-3.4)--++(6.8,0)--++(0,-2)--++(-10.3,0)--cycle;
-% \node[green!80!black,below] (dev) at (7.5,-2.7) {\textit{Publishing}};
-% \node[box,text width=2cm] (tex) {\texttt{.tex} source file};
-% \node[rectangle,fill=white,draw,align=center,text
+% (-1.5,.7)--++(3,0)--++(0.5,-2.4)--++(6.8,0)--++(0,-3)--++(-10.3,0)--cycle;
+% \node[green!80!black,below] (dev) at (7.5,-1.7) {\textit{Publishing}};
+% \node[box,text width=2cm] (tex) {\filenm{.tex} source file};
+% \node[rectangle,fill=white,draw,align=center,text
% width=1.5cm,below=of tex] (compfinal) {\LaTeX{}\\ engine};
% \node[rectangle,fill=white,draw,align=center,text width=1.5cm,right=of tex,xshift=4.5cm]
% (compdraft) {\LaTeX{}\\ engine};
-% \node[box,right=of compfinal,xshift=.5cm] (pdf) {\texttt{.pdf} file for proofreading};
-% \node[rectangle,fill=white,draw,align=center,text width=2cm,below=of compfinal] (extern)
+% \draw ($(tex)!.5!(compdraft)+(0,-.7)$) node[box] (pdf) {\filenm{.pdf} file for proofreading};
+% \node[box,below=of pdf,yshift=.1cm] (pdfhandout) {\filenm{.pdf} file for students};
+% \node[rectangle,fill=white,draw,align=center,text width=2cm,below=of compfinal] (extern)
% {Picture\\processing};
-% \draw (pdf|-extern) node[box,anchor=center] (xml) {\texttt{.xml} file\\\footnotesize(pictures embedded)};
+% \draw (pdf|-extern) node[box,anchor=center] (xml) {\filenm{.xml} file\\\footnotesize(pictures embedded)};
+% \draw (compdraft|-pdfhandout)
+% node[rectangle,fill=white,draw,align=center,text width=1.5cm,anchor=center] (students)
+% {Students};
% \draw (compdraft|-xml)
-% node[rectangle,fill=white,draw,align=center,text width=1.5cm,anchor=center] (moodle)
-% {Moodle\\Server};
-% \draw (tex) edge [post,bend right=10] node[cmnt,pos=.5,left] {\texttt{final}} (compfinal);
-% \draw (tex) edge [post,bend left=10] node[cmnt,pos=.5,below] {\texttt{draft}} (compdraft);
+% node[rectangle,fill=white,draw,align=center,text width=1.5cm,anchor=center] (moodle)
+% {\Moodle\ \\Server};
+% \draw (tex) edge [post,bend right=10] node[cmnt,pos=.5,left] {\optn{final}}
+% node[cmnt,pos=.5,right] {\optn{handout}} (compfinal);
+% \draw (tex) edge [post,bend left=10] node[cmnt,pos=.5,below] {\optn{draft}} (compdraft);
% \draw (compdraft) edge [post,bend left=10] (pdf);
-% \draw (compfinal) edge [post] (pdf);
-% \draw (compfinal) edge [post,bend left=10] (xml);
-% \draw (compfinal) edge [post,bend right=30] node[cmnt,black!40,pos=.5,text width=1cm,left]
-% {\texttt{tikz}, \texttt{.png}, \texttt{.jpg}} (extern);
-% \draw (extern) edge [post,green,bend right=30] node[cmnt,black!40,pos=.5,below,right]
-% {\texttt{base64}} (compfinal);
-% \draw (pdf) edge [post,red,bend right=15] node[sloped,cmnt,pos=.5,above] {improve} (tex);
+% \draw (compfinal) edge [post] node[cmnt,pos=.5,above,sloped]
+% {\footnotesize(\optn{handout})} (pdfhandout);
+% \draw[dashed] (compfinal) edge [post] (pdf);
+% \draw (compfinal) edge [post,bend left=0] node[cmnt,pos=.55,below,sloped]
+% {\footnotesize(\optn{final})} (xml);
+% \draw (compfinal) edge [post,bend right=15] node[cmnt,black!40,pos=.5,text width=1cm,left]
+% {\optn{tikz}, \filenm{.png}, \filenm{.jpg}} (extern);
+% \draw (extern) edge [post,green,bend right=15] node[cmnt,black!40,pos=.5,below,right]
+% {\prog{base64}} (compfinal);
+% \draw (pdf) edge [post,red,bend left=15] node[sloped,cmnt,pos=.5,above] {improve} (tex);
+% \draw (pdfhandout) edge [post,red] node[cmnt,pos=.5,below] {distribute} (students);
% \draw (xml) edge [post,red] node[cmnt,pos=.5,below] {import} (moodle);
% \end{tikzpicture}
-% \caption{Block diagram describing a typical workflow using the \textsf{moodle} package.}
+% \caption{Block diagram describing a typical workflow using the \pkg{moodle} package.}
% \label{fig:workflow}
% \end{figure}
%
+% The process of creating a quiz in \Moodle\ using this package is depicted in
+% Figure~\vref{fig:workflow}. It follows a few
+% steps:
+% \begin{enumerate}
+% \item Write a \LaTeX\ document using |\usepackage{moodle}| as described
+% below.
+% \item Compile the document to \PDF\ using pdf\LaTeX\ (\acro{ASCII} characters only),
+% \XeLaTeX, or \LuaLaTeX.
+% This will also produce the file \meta{jobname}\filenm{-moodle.xml}.
+% \item navigate to your course on \Moodle\ and, under ``Question bank'', select ``Import.''
+% \item Select ``Moodle \XML\ format,'' choose the \XML\ file to upload, and press ``Import.''
+% \item After \Moodle\ verifies that the questions have been imported correctly,
+% you may add them to your quizzes.
+% \end{enumerate}
+%
% \section{Usage}\label{sect:usage}
% The following pages presume the reader already has some familiarity with creating
-% and editing Moodle quizzes through the web interface.
-% Users that are not familiar with Moodle quizzes can learn more in the Moodle
-% documentation. For instance, \url{https://docs.moodle.org/310/en/Question_types}.
+% and editing \Moodle\ quizzes through the web interface.
+% Users that are not familiar with \Moodle\ quizzes can learn more in the \Moodle\
+% documentation. For instance, \url{https://docs.moodle.org/en/Question_types}.
%
-% The |xkeyval| package is used to provide a key-value interface.
+% The \pkg{xkeyval} package is used to provide a key-value interface.
%
% \subsection{Example Document}
%
@@ -256,6 +292,8 @@
% \newcommand\monomial[1]{x^{#1}}
% \newcommand\sillyanswer{What!?}
% \begin{document}
+% Quiz generated \LaTeX's \textsf{moodle} (\moodleversion, \moodledate).
+% Import the derived file \texttt{\jobname-moodle.xml} on Moodle.
% \begin{quiz}{My first quiz}
% \begin{numerical}[points=2]{Basic addition}
% What is $8+3$?
@@ -277,103 +315,132 @@
% \end{document}
% \end{VerbatimOut}
% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
-% Key features to note in this first example are that a |quiz| environment
+% Key features to note in this first example are that a \env{quiz} environment
% contains several question environments.
-% Each question takes a name as a mandatory argument,
+% Each question takes a name as a mandatory argument,
% and it may also take optional key-value arguments within brackets.
% The question environments resemble list environments
-% such as |itemize| or |enumerate|, in that answers are set off by
-% |\item|'s, but the question itself is the text that occurs before
-% the first |\item|.
+% such as \env{itemize} or \env{enumerate}, in that answers are set off by
+% \cmd{\item}'s, but the question itself is the text that occurs before
+% the first \cmd{\item}.
%
-%^^A \DescribeMacro{\moodleregisternewcommands}\DescribeMacro{\htmlregister}
-%^^A Calling |\moodleregisternewcommands| tells the package to treat
+%^^A \DescribeMacro[moodle]{\moodleregisternewcommands}
+%^^A \DescribeMacro[moodle]{\htmlregister}
+%^^A Calling \cmb{\moodleregisternewcommands} tells the package to treat
%^^A specifically the macros defined subsequently.
-%^^A This way, the macros that Moodle's \LaTeX\ renderer does not know
-%^^A about can be properly expanded in the XML file.
-%^^A This mechanism applies only to the macros defined using |\newcommand|
+%^^A This way, the macros that \Moodle's \LaTeX\ renderer does not know
+%^^A about can be properly expanded in the \XML\ file.
+%^^A This mechanism applies only to the macros defined using \cmd{\newcommand}
%^^A and \emph{without} optional argument.
-%^^A Using |\htmlregister|\marg{macroname}, lets you declare a specific
+%^^A Using \cmd{\htmlregister}\marg{macroname}, lets you declare a specific
%^^A macro for expansion. This mechanism, instead, also applies to the
-%^^A macros defined using \TeX's primitive |\def|.
-%
+%^^A macros defined using \TeX's primitive \cmd{\def}.
+%
% \subsection{Package Options}
-% \DescribeMacro{draft}
-% \DescribeMacro{final}
-% If the package option |draft| is invoked, by calling
-% |\usepackage[draft]{moodle}| or |\documentclass[draft]{...}|, then no
-% XML file will be generated. This is especially useful while editing a
-% quiz containing graphics, so as to avoid the time spent converting
-% image files. The package option |final| might be useful if one wants
-% to avoid the option |draft| to be inherited from the |documentclass|.
-%
-% \DescribeMacro{handout}
-% If the package option |handout| is invoked (|\usepackage[handout]{moodle}|),
-% the PDF file is generated clean from teacher-only information (answers,
-% points, penalty, feedback, tags) and, hence, can be given to students for
-% classroom work. In particular, as would Moodle do, answers in
-% \texttt{matching} questions are shuffled and the option \texttt{shuffle}
-% triggers the shuffling of choices offered (\texttt{multi} and
-% \texttt{matching}). This is achieved thanks to the package
-% \texttt{randomlist}, loaded if the option is invoked.
-% The XML file is generated as usual.
-%
-% \DescribeMacro{nostamp}
+%
+% \DescribeOption[moodle]{draft} If the package option \optn{draft} is invoked,
+% by calling |\usepackage[draft]{moodle}| or |\documentclass[draft]{...}|,
+% then no \XML\ file will be generated. This is especially useful while
+% editing a quiz containing graphics, so as to avoid the time spent
+% converting image files.
+% \DescribeOption[moodle]{final} The package option \optn{final} might be
+% useful if one wants to avoid the option \optn{draft} to be inherited from
+% the \cmd{\documentclass}.
+%
+% \DescribeOption[moodle]{handout}
+% If the package option \optn{handout} is invoked (|\usepackage[handout]{moodle}|),
+% the \PDF\ file is generated clean from teacher-only information (answers,
+% points, penalty, feedback, tags) and, hence, can be given to students
+% for classroom work. In particular, as would \Moodle\ do, answers in
+% \env{matching} questions are shuffled and the option \optn{shuffle}
+% triggers the shuffling of choices offered (\env{multi} and
+% \env{matching}). This is achieved thanks to the package
+% \pkg{randomlist}, loaded if the option is invoked. The seed of its
+% random generator is controlled by the macro \cmd{\RLsetrandomseed}\marg{integer}
+% \DescribeMacro[randomlist]{\RLsetrandomseed}.
+% This option does not interfere with the generation of the \XML\ file.
+%
+% \DescribeOption[moodle]{samepage}^^A\watchout[experimental]
+% If the package option \optn{samepage} is invoked, preferably used together
+% with \optn{handout} (|\usepackage[handout,samepage]{moodle}|), the package
+% will try to keep every question on the same page. Very bad spacing
+% can result from this.
+% This option is experimental. Subquestions inside a \env{cloze} question
+% are protected but the \env{cloze} question itself is not protected.
+%
+% \DescribeOption[moodle]{nostamp}
% By default, the package will output a stamp as a comment in the XML
-% file. This stamp contains information gathered about the TeX engine,
-% the operating system used and the package version. For instance:
+% file. This stamp contains information gathered about the \TeX\ engine,
+% the platform used and the package version. For instance:%
% \begin{quote}\small
-% |<!-- This file was generated on 2021-01-07 by LuaLaTeX -->|\\
-% |<!-- running on Linux with the package moodle |\texttt{\fileversion}| -->|
+% \makeatletter\def\today{\the\year-\two@digits\month-\two@digits\day}\makeatother
+% \newcount\hour\hour=\time
+% \divide\hour by 60\relax
+% \newcount\minute\minute=\hour
+% \multiply\minute by -60\relax
+% \advance\minute by \time\relax
+% |<!-- This XML file is a question bank made for Moodle. -->|\\
+% |<!-- It was generated on |\texttt{\today\space\the\hour:\the\minute}| by LuaLaTeX running -->|\\
+% |<!-- on Linux with the package moodle |\texttt{\fileversion}| (|\texttt{\filedate}|) -->|
% \end{quote}
-% The package option
-% |nostamp| prevents this stamp to be written in the XML file.
-%
-% \DescribeMacro{section}
-% \DescribeMacro{section*}
-% \DescribeMacro{subsection}
-% \DescribeMacro{subsection*}
-% If the package option |section| is invoked (|\usepackage[section]{moodle}|),
-% then each quiz is represented by a different \LaTeX\ section. Starred
-% variants correspond to unnumbered sections or subsections. To preserve
-% compatibility with Version 0.5 of this package, the default is |subsection*|.
-% Consequently, |\usepackage{moodle}| is equivalent to
-% |\usepackage[subsection*]{moodle}|.
-%
-% \DescribeMacro{tikz} The package option \texttt{tikz} is described in section
-% \ref{subsec:tikz}.
-%
-% \DescribeMacro{svg} The package option \texttt{svg} is described in section
-% \ref{subsec:svg}.
+% The package option |nostamp| prevents this
+% stamp from being written in the \XML\ file.
+%
+% \DescribeOption[moodle]{section}\DescribeOption[moodle]{subsection}
+% \DescribeOption[moodle]{section*}\DescribeOption[moodle]{subsection*}
+% The package options \optn{section} and \optn{subsection} place each quiz as a
+% new section or subsection, respectively. Starred variants
+% correspond to unnumbered sections or subsections. To preserve
+% compatibility with Version 0.5 of this package, the default is
+% \optn{subsection*}. Consequently, |\usepackage[subsection*]{moodle}| is equivalent
+% to |\usepackage{moodle}| .
+%
+% \DescribeOption[moodle]{tikz}
+% The package option \optn{tikz} is described in Section~\vref{subsec:tikz}.
+%
+% \DescribeOption[moodle]{svg}^^A\watchout[experimental]
+% The package option \optn{svg} is described in Section~\vref{subsec:svg}.
+%
+% \DescribeOption[moodle]{LMS}\texttt{=}\meta{\texttt{X.Y}}
+% \DescribeDefault{warn only} lets you specify version numbers
+% for the target \Moodle\ LMS instance (\texttt{X} and \texttt{Y} are
+% major and minor version integers). When version numbers are provided,
+% the use of recent quiz features is secured by a compatibility
+% check and \pkg{moodle} raises relevant errors. The XML stamp
+% (see \optn{nostamp} above) also mentions \Moodle's target version.
+% By default, \pkg{moodle} will just issue warnings when recent quiz
+% features are used.
%
% \subsection{Quiz and Question Environments}
-%
-% \DescribeMacro{quiz}
-% A |.tex| document to generate Moodle quizzes contains one or more
-% |quiz| environments, within which various question environments are nested.
-% The required argument to the |quiz| environment names a category for Moodles
+%
+% A \filenm{.tex} document to generate \Moodle\ quizzes contains one or more
+% \env{quiz} environments.
+%
+% \DescribeEnv[moodle]{quiz}\oarg{common options}\marg{category name}
+% defines a quiz, within which various question environments are nested.
+% The mandatory argument, \meta{category name}, names a category for \Moodle's
% ``question bank'': after import, the questions defined in this environment
% will be gathered in this category.
-% \begin{center}
-% |\begin{quiz}|\oarg{options}\marg{category name}%
-% \end{center}
-% There are no |quiz|-specific options,
-% but any \meta{options} set with |\begin{quiz}|
-% will be inherited by all questions contained within that |quiz| environment.
-%
-% \DescribeMacro{\moodleset}
-% Options may also be set outside question environments with
-% |\moodleset|\marg{options}; these changes are local to \TeX-groups.
-%
-% \DescribeMacro{\setcategory}\DescribeMacro{\setsubcategory}
-% Although the |quiz| environment defines a category by its own, one can change
-% the current category inside the quiz environment and in between questions,
-% using the macro |\setcategory|\marg{category name}. A subcategory can also be
-% defined with |\setsubcategory|\marg{subcategory name}. The categories and
-% subcategories are reflected in the PDF file as sections, subsections, or
-% subsubsections, in accordance to the package setting |section|, |section*|,
-% |subsection|, or |subsection*|.
-%
+% Using the optional argument, options can be set at the quiz level.
+% Although there are no \env{quiz}-specific options, any \meta{common options} set
+% with the quiz will be inherited by all questions contained within that environment.
+%
+% \DescribeMacro[moodle]{\moodleset}\marg{options}
+% is to be used to set options outside question environments; the option
+% settings are local to \TeX-groups.
+%
+% \DescribeMacro[moodle]{\setcategory}\marg{category name}
+% is to be used to change the current category inside a quiz environment and
+% in between questions. Note that the \env{quiz} environment defines a category
+% by its own.
+%
+% \DescribeMacro[moodle]{\setsubcategory}\marg{subcategory name}
+% does the same with subcategories.
+
+% The categories and subcategories are reflected in the \PDF\ file as sections, subsections, or
+% subsubsections, in accordance to the package setting \optn{section}, \optn{section*},
+% \optn{subsection}, or \optn{subsection*}.
+%
% The syntax for each question environment is
% \begin{quote}
% |\begin|\marg{question type}\oarg{question options}\marg{question name} \\
@@ -386,28 +453,29 @@
% The meaning of the \meta{item}s varies depending on the question type,
% but they usually are answers to the question.
% Details will be given below.
-%
+%
% The following key-value options may be set for all questions:
-%
-% \DescribeMacro{points}\DescribeMacro{default grade}
+%
+% \DescribeKey[quiz,question]{points}\DescribeDefault{1}
+% \DescribeKey[quiz,question]{default grade}
% By default, each question is worth 1 point on the quiz.
-% This may be changed with the |points| key or its synonym, |default grade|;
-% for example, |points=2| makes that question worth two points.
-%
-% \DescribeMacro{penalty}
-% The |penalty| is the fraction of points that is taken off for each wrong attempt;
+% This setting may be changed with the \optn{points} key or its synonym, \optn{default grade}.
+% For example, \optn{points=2} makes that question worth two points.
+%
+% \DescribeKey[quiz,question]{penalty}\DescribeDefault{0.1}
+% The \optn{penalty} is the fraction of points that is taken off for each wrong attempt;
% it may be set to any value between 0 and 1.
-% The default is |penalty=0.10|.
-%
-% \DescribeMacro{fraction}
+%
+% \DescribeKey[answer]{fraction}^^A\DescribeDefault{0}
% In most question types, it is possible to designate some answers as being
% worth partial credit---that is, some fraction of a completely correct answer.
-% The |fraction| key may be set to any of the values given in Table~\ref{tab:fraction},
-% from |0| (entirely wrong) to |100| (entirely correct).
-%
+% The \optn{fraction} key may be set to any of the values given in Table~\vref{tab:fraction},
+% from \texttt{0} (entirely wrong) to \texttt{100} (entirely correct).
+%
% \begin{table}[tbp]
% \centering
-% \caption{\href{https://github.com/moodle/moodle/blob/MOODLE\_310\_STABLE/question/engine/bank.php\#L339}{Valid positive options} for the \texttt{fraction} key: $100\cdot(p/q)$.}
+% \caption{\href{https://github.com/moodle/moodle/blob/MOODLE\_310\_STABLE/question/engine/bank.php\#L339}
+% {Admissible positive values} for the \optn{fraction} key outside \env{cloze} environments: $100\cdot(p/q)$.}
% \label{tab:fraction}
% \footnotesize
% \begin{tabular}{l*{10}{l}}
@@ -432,38 +500,41 @@
% \bottomrule
% \end{tabular}
% \end{table}
-% In questions where several choices can be selected (see |multi| with the option
-% |multiple|), positive fractions must sum up to exactly 100. It is also possible to set
+%
+% In questions where several choices can be selected (see \env{multi} with option
+% \optn{multiple}), positive fractions must add up to exactly 100. It is also possible to set
% negative fractions (from -100 to 0) for wrong choices, in order to prevent the
% selection of all choices from leading to a good grade.
% In this case, the value ranging from -100 to 0 must be the opposite of one of the
-% values listed in Table~\ref{tab:fraction}.
-%
-% \DescribeMacro{fractiontol}
-% The package tries to match the |fraction| key to one of the admissible values.
-% To this end, the tolerance is controlled by the |fractiontol| key. It defaults
-% to |0.01| but may be changed. When no admissible fraction value is matched, the
-% package throws an error.
-%
-% \DescribeMacro{feedback}
-% The |feedback| key sets text that will appear to the student after completing the quiz.
-% For example, one might set
+% values listed in Table~\vref{tab:fraction}.
+%
+% \DescribeKey[answer]{fractiontol}\DescribeDefault{0.01}
+% The package tries to match the \optn{fraction} key to one of the admissible values.
+% To this end, the tolerance is controlled by the \optn{fractiontol} key. The default
+% value, \texttt{0.01}, may be changed. When no admissible fraction value is matched, the
+% package raises an error.
+%
+% \DescribeKey{feedback}
+% The \optn{feedback} key sets text that will appear to the student after completing the quiz.
+% For example, one might set
% \begin{center}
% |feedback={This question might show up in the final exam.}|
% \end{center}
% The desired feedback should be included in braces.
-%
-% Two kinds of feedback can be given. If the |feedback| key is set for a
-% question, then that feedback will appear to each student regardless of the student's answer.
+%
+% \DescribeKey[question]{feedback}If the \optn{feedback} key is set for a question,
+% then that feedback will appear to each student regardless of the student's answer.
+%
+% \DescribeKey[answer]{feedback}
% Answer-specific feedback (perhaps explaining a common mistake)
-% may also be given by setting the |feedback| key \emph{at the individual answer}.
+% may also be given by setting the \optn{feedback} key \emph{at the individual answer}.
%
-% \DescribeMacro{tags}
-% The |tags| key sets a list of keywords for the question that will be taken into account
-% by Moodle for filtering purposes or classification of questions inside the question bank.
+% \DescribeKey{tags}
+% The \optn{tags} key sets a list of keywords for the question that will be taken into account
+% by \Moodle\ for filtering purposes or classification of questions inside the question bank.
% It is possible for instance to build a quiz with questions cherry-picked among the set of
% questions holding a particular tag.
-% For example, one might set
+% For example, one might set
% \begin{center}
% |tags={easy}|
% \end{center}
@@ -473,22 +544,27 @@
% |tags={tag1,tag2,{ leading whitespace},{including, comma}}|
% \end{center}
%
-% Tags can be assigned at two levels. If the |tags| key is set at the quiz level,
+% \DescribeKey[quiz]{tags}
+% If the \optn{tags} key is set at the quiz level,
% then that tag list will serve as a default for each question of the quiz.
-% Question-specific tags can be assigned by setting the |tags| key \emph{at the question level}.
-% The question-level |tags| key overrides eventual quiz-level tags.
-%
+%
+% \DescribeKey[question]{tags}
+% Question-specific tags can be assigned by setting the \optn{tags} key \emph{at the question level}.
+% The question-level \optn{tags} key overrides eventual quiz-level tags.
+%
% Users willing to specify a same tag for all questions of the quiz could
-% also rely on Moodle's category mechanism.
-%
+% also consider relying on \Moodle's category mechanism.
+%
% \subsection{\href{https://docs.moodle.org/en/Question_types}{Question Types}}
-%
-% We next discuss the various question types supported by \textsf{moodle}
+%
+% We next discuss the various question types supported by \pkg{moodle}
% and the options that may be set.
%
%\subsubsection{\href{https://docs.moodle.org/en/True/False_question_type}{True/False}}
-%
-% \DescribeMacro{truefalse}
+%
+% \DescribeEnv[quiz]{truefalse}\oarg{question options}\marg{question name}
+% is an environment that defines a \emph{True/False} question.
+%
% The syntax for a True/False question is as follows:
% \begin{quote}
% |\begin{truefalse}|\oarg{question options}\marg{question name} \\
@@ -497,7 +573,7 @@
% \rule{2em}{0pt}|\item| \meta{feedback when ``false" is chosen} \\
% |\end{truefalse}|
% \end{quote}
-% The correct answer is designated by the asterisk |*| after the |\item|;
+% The correct answer is designated by the asterisk \texttt{*} after the \cmd{\item};
% it need not appear first in the list.
%
% Answer-specific feedback can also be defined as an item option, similarly to
@@ -510,47 +586,67 @@
% \end{quote}
% Note that, in this example, no feedback is defined for the incorrect answer
% ``False": the corresponding item can be omitted.
-%
+%
% With the True/False question type, the |penalty| key has no effect.
%
-% \subsubsection{\href{https://docs.moodle.org/310/Multiple_Choice_question_type}{Multiple Choice}}
-%
-% \DescribeMacro{multi}
+% \subsubsection{\href{https://docs.moodle.org/en/Multiple_Choice_question_type}{Multiple Choice}}
+% \label{subsec:multi}
+%
+% \DescribeEnv[quiz]{multi}\oarg{question options}\marg{question name}
+% is an environment that defines a \emph{Multiple Choice} question.
+%
% The syntax for a classic multiple choice question,
% with only one correct answer, is as follows:
% \begin{quote}
% |\begin{multi}|\oarg{question options}\marg{question name} \\
% \rule{2em}{0pt}\meta{question text} \\
-% \rule{2em}{0pt}|\item*| \meta{correct answer} \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{wrong answer} \\
+% \rule{2em}{0pt}|\item|\oarg{answer options}|*| \meta{correct answer} \\
+% \rule{2em}{0pt}|\item|\oarg{answer options} \meta{wrong answer} \\
% \rule{2em}{0pt}\quad$\vdots$ \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{wrong answer} \\
+% \rule{2em}{0pt}|\item|\oarg{answer options} \meta{wrong answer} \\
% |\end{multi}|
% \end{quote}
-% The correct answer is designated by the asterisk |*| after the |\item|;
+% The correct answer is designated by the asterisk \texttt{*} after the \cmd{\item};
% it need not appear first in the list.
-%
-%
-% \DescribeMacro{shuffle}
-% The boolean key |shuffle| determines whether Moodle will
+%
+%
+% \DescribeBoolean[multi]{shuffle}\DescribeDefault{true}
+% The Boolean key \optn{shuffle} determines whether \Moodle\ will
% rearrange the possible answers in a random order.
-% Setting |shuffle=false| will guarantee that the answer appear
-% in the order they were typed; the default is |shuffle=true|.
-%
-% \DescribeMacro{numbering}
-% Moodle offers different options for numbering the possible answers.
-% You may set the |numbering| key to any of the following values,
-% which mirror the usual \LaTeX\ syntax:
-% |alph|, |Alph|, |arabic|, |roman|, |Roman|, and |none|.
-% Calling |numbering=none| produces an unnumbered list of answers.
-% The Moodle syntax of |abc|, |ABCD|, |123|, |iii|, and |IIII| is also
-% acceptable,
-% but note that it requires \emph{four} capital letters to obtain
-% upper-case Roman or alphabetic numerals this way.
-%
-% \DescribeMacro{fraction}
-% The |fraction| key can be used to designate some wrong answers
-% as being worth partial credit. For example, a question might read thus:
+% Setting \optn{shuffle=false} will guarantee that the answers will
+% be presented to the student in the order they were typed.
+%
+% \DescribeKey[multi]{numbering}\DescribeDefault{abc}
+% \Moodle\ offers different options for numbering the possible answers.
+% You may set the \optn{numbering} key to any of the values listed in
+% Table~\vref{tab:numbering_options}.
+% \begin{table}[tbp]
+% \centering
+% \caption{Numbering modalities offered for \env{multi} questions.}
+% \label{tab:numbering_options}
+% \begin{tabular}{rllllll}
+% \toprule
+% Sample & a., b., \dots & A., B., \dots & 1., 2., \dots & i., ii., \dots &
+% I., II., \dots & $\bullet$ \\
+% \cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}
+% \cmidrule(lr){7-7}
+% \LaTeX\ syntax & \optn{alph} & \optn{Alph} & \optn{arabic} & \optn{roman} & \optn{Roman} & \optn{none}\\
+% \Moodle\ syntax & \optn{abc} & \optn{ABCD} & \optn{123} & \optn{iii} & \optn{IIII} & \optn{none} \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+% \optn{numbering=none} produces an unnumbered list of answers.
+% Note the \emph{four} capital letters required by \Moodle's syntax
+% to obtain upper-case Roman or alphabetic numerals.
+%
+% \DescribeKey[item]{fraction}\DescribeDefault{0}
+% \DescribeKey[item*]{fraction}\DescribeDefault{100}
+% The \optn{fraction} key may be automatically set depending on the
+% presence of an asterisk \texttt{*} right after the \cmd{\item}. By default,
+% Starred items designate correct answers (\optn{fraction=100}) while
+% bare items designate incorrect answers (\optn{fraction=0}).
+% The key can be used to designate some wrong answers as being worth
+% partial credit or sanction. For example, a question might read
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
% \begin{multi}{my question}
% Compute $\int 4x^3\,dx$.
@@ -560,87 +656,116 @@
% \end{multi}
% \end{VerbatimOut}
% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
-% Thus the asterisk |*| is shorthand for |fraction=100|,
-% whereas a bare |\item| sets |fraction=0|.
-%
-% \DescribeMacro{single}
-% By default, the |multi| environment produces
-% a multiple choice question with only one correct answer;
-% this is called |single| mode, and on Moodle it appears with radio buttons.
-%
-% \DescribeMacro{multiple}
-% It is also possible to write questions with possibly more than one correct answer,
-% asking the user to check all correct answers. To do this, use the key |multiple|
-% or |single=false|.
-% The worth of each correct answers in |multiple| mode may be set by |fraction|,
-% but Moodle asks that all the fractions add up to \emph{exactly} 100.
-% If you simply designate each correct answer with |\item*|, then \textsf{moodle}
-% will divide equally among those answers the points lefts for a sum of 100\%.
-% Items that are not given a |fraction| are considered incorrect and selecting them
-% results in negative points such that the sum of all incorrect answers is -100\%.
+%
+% \DescribeBoolean[multi]{single}\DescribeDefault{true}
+% By default, the \env{multi} environment produces a multiple choice
+% question where only one answer can be selected. This is called
+% \optn{single} mode.
+%^^A On \Moodle, the choices are displayed with radio
+%^^A buttons and only one of them can be selected by the student.
+%
+% In \optn{single} mode, the teacher can set negative fractions for
+% incorrect choices. This way, the expected grade of a student
+% picking up choices randomly across a quiz is lowered.
+% By default, incorrect answers that do not have a fraction
+% specified correspond to \optn{fraction=0}.
+% \DescribeKey[quiz,multi]{sanction}\DescribeDefault{0} However,
+% if the \optn{sanction} key is set to a positive value, at quiz or
+% question levels, such incorrect answers are sanctioned as if
+% \optn{fraction=-}\meta{sanction value} was set for each of them.
+%
+% \DescribeKey[multi]{multiple}
+% It is also possible to write questions with possibly more than
+% one correct answer, asking the user to check all correct answers.
+% To do this, use the key \optn{multiple} or \optn{single=false}.
+% For this kind of question, the student gets a grade that
+% corresponds to the total of the weights of the answers selected.
+% Users may rely on two modalities to set the weights of the answers:
+% \begin{enumerate}
+% \item the \emph{advanced mode} applies whenever a \optn{fraction} key
+% is set among the proposed answers. In this case, it is recommended
+% that the user sets manually everything. Answers that are left with
+% no fraction set are considered as neutral, selecting them will
+% not change the grade. If \cmd{\item*} is used to designate some correct
+% answers, \pkg{moodle} will distribute equally among those answers
+% the points that are left for a total of 100\% (only positive
+% fractions count here). Note that doing so will easily yield
+% situations where the weights are inadmissible (see
+% Table~\vref{tab:fraction}).
+% \item the \emph{automatic mode} applies when correct answers are
+% designated using \cmd{\item*} and no answer has a \optn{fraction} key set.
+% In this case, each correct answer is weighted to bring the same
+% fraction of the maximum grade and each incorrect answer is
+% weighted to cancel the benefits of the selection of one correct
+% answer.
+% \end{enumerate}
% For example, the following two examples are equivalent:
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% \begin{multi}[multiple]{my question}
+% \begin{multi}[multiple]{Automatic Mode}
% Which numbers are prime?
-% \item[fraction=20] 2
+% \item 2
% \item* 5
% \item* 7
-% \item[fraction=-10] 1
+% \item 1
% \item 6
-% \item 8
% \end{multi}
-%
-% \begin{multi}[multiple]{my question}
+% \begin{multi}[multiple]{Advanced Mode}
% Which numbers are prime?
-% \item[fraction=20] 2
-% \item[fraction=40] 5
-% \item[fraction=40] 7
-% \item[fraction=-10] 1
-% \item[fraction=-45] 6
-% \item[fraction=-45] 8
+% \item[fraction=-50] 2
+% \item[fraction=50] 5
+% \item[fraction=50] 7
+% \item[fraction=-50] 1
+% \item[fraction=-50] 6
% \end{multi}
% \end{VerbatimOut}
% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
-% Note that, in this example, negative fractions are set for wrong choices. This
-% prevents students selecting all options to obtain a good grade with no merit.
-%
-% \DescribeMacro{allornothing}
+% Note that, in this example, negative fractions are set for wrong
+% choices. This prevents students from obtaining a good grade with
+% no merit if they select all answers.
+%
+% Contrarily to the \optn{single} mode where questions with negative fractions may
+% lead to a overall negative grade, when multiple choices can be selected, the
+% lowest grade \Moodle\ will take into account for the question is 0.
+%
+% \DescribeKey[multi]{allornothing}
% There also exists a \href{https://moodle.org/plugins/qtype_multichoiceset}
-% {``All-or-Nothing Multiple Choice''} plugin for Moodle that introduces a
+% {``All-or-Nothing Multiple Choice''} plugin for \Moodle\ that introduces a
% question type similar to a multiple choice with multiple correct answers,
% with the specificity that the points are given if and only if the student
% selects all correct answers. This kind of question is set up using the
-% |allornothing| key.
-% The recommended way for designating correct answers is with |\item*|. If instead
-% the |fraction| is used, \textsf{moodle} moodle will consider that non-negative
+% \optn{allornothing} key.
+% The recommended way for designating correct answers is with \cmd{\item*}. If instead
+% the \optn{fraction} is used, \pkg{moodle} will consider that non-negative
% fractions ($>0$) designate correct answers and negative fractions ($\leq 0$)
% designate incorrect choices.
-% The option |allornothing| supersedes the options |multiple| and |single|.
-% To the best of our knowledge, Moodle does not offer the all-or-nothing behavior
-% for multiple choice questions embedded inside a cloze question.
-%
+% The option \optn{allornothing} supersedes the options \optn{multiple} and \optn{single}.
+% To the best of our knowledge, \Moodle\ does not offer the all-or-nothing behavior
+% for multiple choice questions embedded inside a \env{cloze} question.
+%
% \subsubsection{\href{https://docs.moodle.org/en/Numerical_question_type}{Numerical}}
%
-% A numerical question in Moodle requires the student
+% \DescribeEnv[quiz]{numerical}\oarg{question options}\marg{question name}
+% is an environment that defines a \emph{Numerical} question which, in \Moodle, requires the student
% to input a real number in decimal form.
-% Its typical format is
+%
+% The typical format for this question type is:
% \begin{quote}
% |\begin{numerical}|\oarg{question options}\marg{question name} \\
% \rule{2em}{0pt}\meta{question text} \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{correct answer} \\
+% \rule{2em}{0pt}|\item|\oarg{answer options} \meta{correct answer} \\
% |\end{numerical}|
% \end{quote}
-% If there is more than one correct answer, additional |\item|'s may be included.
+% If there is more than one correct answer, additional \cmd{\item}'s may be included.
% Because this is not a multiple choice question, there is no need to provide
-% incorrect answers. There may nevertheless be reasons to include incorrect answers.
-% For example, partially correct answers may be specified by setting the |fraction| key.
+% incorrect answers. There may nevertheless be reasons to include incorrect answers.
+% For example, partially correct answers may be specified by setting the \optn{fraction} key.
% Feedback for a common mistake may be given by including the incorrect answer like this:
% \begin{quote}\footnotesize
-% |\item[fraction=0,feedback={You forgot to antidifferentiate!}]| \meta{incorrect answer}
+% |\item[fraction=0,feedback={Forgot to antidifferentiate?}]| \meta{incorrect answer}
% \end{quote}
%
-% \DescribeMacro{tolerance}
-% The |tolerance| key can be used to specify the validity of answers within some margin.
+% \DescribeKey[numerical]{tolerance}\DescribeDefault{0}
+% The \optn{tolerance} key can be used to specify the validity of answers within some margin.
% This key can be set at different levels: quiz, question, item.
% For example, with the question
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
@@ -662,31 +787,34 @@
% \end{itemize}
%
% When feedback is to be given for any non-specified answer, one can add a \emph{last} answer
-% item containing the wilcard character |*| only. In this case, the |tolerance| key is irrelevant.
-%
-% Both answers and tolerance can be specified with the comma (|,|) as a decimal separator.
-% Exponent notation is accepted. After import, Moodle will recognize indifferently |0.000165|,
-% |0,000165|, |1.65E-4|, |1.65e-4|, |1,65E-4|, and |1,65e-4|.
+% item containing the wildcard character \texttt{*} only. In this case, the \optn{tolerance} key is irrelevant.
%
-% If the \textsf{siunitx} package is loaded, \textsf{moodle} will detect it and
-% numbers will be rendered nicely in the PDF output.
-%
-% Units, unit-handling and multipliers are currently unsupported.
+% Both answers and tolerance can be specified with the comma (\texttt{,}) as a decimal separator.
+% Exponent notation is accepted. After import, \Moodle\ will recognize indifferently \texttt{0.000165},
+% \texttt{0,000165}, \texttt{1.65E-4}, \texttt{1.65e-4}, \texttt{1,65E-4}, and \texttt{1,65e-4}.
+%
+% If the \pkg{siunitx} package is loaded, \pkg{moodle} will detect it and
+% numbers will be rendered nicely in the \PDF\ output.
+%
+% Units, unit-handling and multipliers are currently unsupported.\watchout
%
% \subsubsection{\href{https://docs.moodle.org/en/Short-Answer_question_type}{Short Answer}}
-% A short answer question resembles a numerical question: the student is to fill
-% in a text box with a missing word or phrase.
+%
+% \DescribeEnv[quiz]{shortanswer}\oarg{question options}\marg{question name}
+% is an environment that defines a \emph{Short Answer} question. It resembles
+% a \env{numerical} question: the student is to fill in a text box with a
+% missing word or phrase.
% \begin{quote}
% |\begin{shortanswer}|\oarg{question options}\marg{question name} \\
% \rule{2em}{0pt}\meta{question text} \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{correct answer} \\
+% \rule{2em}{0pt}|\item|\oarg{answer options} \meta{correct answer} \\
% \rule{2em}{0pt}\quad$\vdots$ \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{correct answer} \\
+% \rule{2em}{0pt}|\item|\oarg{answer options} \meta{correct answer} \\
% |\end{shortanswer}|
% \end{quote}
-% You can make the text box appear as part of the question with the
-% control sequence |\blank|. For example,
-% your question might read
+% You can make the text box appear as part of the question with the
+% control sequence \cmd{\blank}. For example,
+% your question might read
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
% \begin{shortanswer}{Leibniz}
% Newton's rival was Gottfried Wilhelm \blank.
@@ -695,146 +823,176 @@
% \end{shortanswer}
% \end{VerbatimOut}
% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
-% Note that as the blank occurred at the end of a sentence,
-% we included two answers,
+% Note that as the blank occurred at the end of a sentence,
+% we included two answers,
% lest students get the question wrong merely by
% including or omitting a period.
-%
-% \DescribeMacro{case sensitive}\DescribeMacro{usecase}
-% The default setting when creating a Short Answer question in Moodle
+%
+% \DescribeBoolean[shortanswer]{case sensitive}\DescribeDefault{false}
+% The default setting when creating a Short Answer question in \Moodle\
% is to ignore the distinction between upper- and lower-case letters
% when grading a short answer question. This default is preserved by
-% \textsf{moodle}.
-% You can make a question case-sensitive with the key |case sensitive|
-% or its shorter synonym |usecase|.
+% \pkg{moodle}.
+% You can make a question case-sensitive with the Boolean key
+% \optn{case sensitive} or its shorter synonym \optn{usecase}\DescribeBoolean[shortanswer]{usecase}.
%
-% The wildcard character |*| can used to grab answers that match
-% a specific pattern. For instance:
-% \begin{itemize}
-% \item ``\emph{Sir Isaac Newton}'', ``\emph{Isaac Newton}'' and
-% ``\emph{Newton}'' will match the pattern |*Newton|,
-% \item ``\emph{Gaston}'' and ``\emph{Wellington}'' will match the
-% pattern |*ton|,
-% \item ``\emph{Isaac}'' and ``\emph{Isaac Newton}'' will match the
-% pattern |Isaac*|,
-% \item any non empty answer will match the pattern |*| (wildcard alone).
+% The \href{https://docs.moodle.org/en/Short-Answer_question_type#Wildcard_usage}%
+% {wildcard character} \texttt{*} can used to grab answers that match
+% a specific pattern. Following the order of answers, the first match will lead
+% to the corresponding score and eventual feedback. As an example, take the
+% following question
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% \begin{shortanswer}[usecase]{Newton's name}
+% What was Newton's first name?
+% \item Isaac
+% \item[fraction=0,feedback={Simply Isaac!}] Isaa*
+% \item[fraction=0,feedback={This one is Leibniz!}] *Gottfried*
+% \item[fraction=0,feedback={First name, not title!}] Sir*
+% \item[fraction=0,feedback={No\dots}] *
+% \end{shortanswer}
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
+% \begin{itemize}\def\answ#1{\framebox{\texttt{#1}}}%
+% \item the answer \answ{Isaac} is the only one that gets rewarded,
+% \item answers \answ{Isaac Leibniz}, \answ{Isaac Newton}, and \answ{Isaak} yield
+% the feedback \emph{Simply Isaac!},
+% \item answers \answ{Sir Gottfried Wilhelm}, \answ{Sir Gottfried},
+% \answ{Gottfried Wilhem}, and \answ{Gottfried} yield
+% the feedback \emph{This one is Leibniz!},
+% \item answers \answ{Sir Isaac}, and \answ{Sir} yield
+% the feedback \emph{First name, not title!},
+% \item any answer that does not match the previous patterns
+% yields the feedback \emph{No\dots}.
% \end{itemize}
-%
+%
% \subsubsection{\href{https://docs.moodle.org/en/Essay_question_type}{Essay}}\label{subsubsect:essay}
-% Instructors may ask essay questions on a Moodle quiz,
-% although Moodle's software is not up to the task of grading them!
-% Instead each essay question answer must be graded manually by the
+%
+% \DescribeEnv[quiz]{essay}\oarg{question options}\marg{question name}
+% is an environment that defines an \emph{Essay} question.
+%
+% Instructors may ask essay questions on a \Moodle\ quiz,
+% although \Moodle's software is not up to the task of grading them!
+% Instead, each essay question answer must be graded manually by the
% instructor or a teaching assistant.
% \begin{quote}
% |\begin{essay}|\oarg{question options}\marg{question name} \\
% \rule{2em}{0pt}\meta{question text} \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{notes for grader} \\
+% \rule{2em}{0pt}|\item| \meta{information 1 for grader} \\
% \rule{2em}{0pt}\quad$\vdots$ \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{notes for grader} \\
+% \rule{2em}{0pt}|\item| \meta{information $n$ for grader} \\
% |\end{essay}|
% \end{quote}
-% Instead of containing answers, the |\item| tags for the |essay| question
-% contain notes that will appear to whoever is grading the question manually.
-%
-% \DescribeMacro{response required}
-% Although Moodle cannot grade the content of an essay question,
+% Instead of containing answers, the \cmd{\item} entries included in the \env{essay}
+% question contain notes that will appear to whoever is grading the question manually.
+% Contrarily to other question types, \cmd{\item} in \env{essay} questions
+% do not take options.
+%
+% \DescribeBoolean[essay]{response required}\DescribeDefault{false}
+% Although \Moodle\ cannot grade the content of an essay question,
% it can at least determine whether the question has been left blank.
-% If the |response required| key is set, Moodle will insist that the student
+% If the \optn{response required} key is set, \Moodle\ will insist that the student
% enter something in the blank before accepting the quiz as completed.
-%
-% \DescribeMacro{response format}
-% Moodle offers five different ways for students to enter and/or upload their
-% answers to an essay question. You may choose one of these five options:
+%
+% \DescribeKey[essay]{response format}\DescribeDefault{html}
+% \Moodle\ offers five different ways for students to enter and/or upload their
+% answers to an essay question. You may choose one of these five options:
% \begin{description}
-% \item[{\ttfamily html}] An editor with the ability to format HTML responses
+% \ItemDescribeOther[response format]{html} An editor with the ability to format \HTML\ responses
% including markup for italics, boldface, etc. This is the default.
-% \item[{\ttfamily file}] A file picker allowing the student to upload a
-% file, such as a PDF or DOC file, containing the essay.
-% \item[{\ttfamily html+file}] The same HTML editor as above, but with the
-% ability to upload files as well. This permits some students to type
-% answers directly into the web form, and others to compose their
+% \ItemDescribeOther[response format]{file} A file picker allowing the student to upload a
+% file, such as a \PDF\ or DOC file, containing the essay.
+% \ItemDescribeOther[response format]{html+file} The same \HTML\ editor as above, but with the
+% ability to upload files as well. This permits some students to type
+% answers directly into the web form, and others to compose their
% essays in another program first.
-% \item[{\ttfamily text}] This editor allows only for entering plain text
+% \ItemDescribeOther[response format]{text} This editor allows only for entering plain text
% without any markup.
-% \item[{\ttfamily monospaced}] This yields a plain text editor, without any
-% markup, and with a fixed-width font. This could be useful for
+% \ItemDescribeOther[response format]{monospaced} This yields a plain text editor, without any
+% markup, and with a fixed-width font. This could be useful for
% entering code snippets, for example.
% \end{description}
-%
-% \DescribeMacro{response field lines}
-% The key |response field lines| controls the height of the input box.
-% For Moodle, the admissible values are: 5, 10, 15, 20, 25, 30, 35, and 40.
-% If the value set is not admissible, \textsf{moodle} will approximate the value:
+%
+% \DescribeKey[essay]{response field lines}\DescribeDefault{15}
+% The key \optn{response field lines} controls the height of the input box.
+% For \Moodle, the admissible values are: 5, 10, 15, 20, 25, 30, 35, and 40.
+% If the value set is not admissible, \pkg{moodle} will approximate the value:
% \begin{itemize}
% \item with either 5 or 40 if the value set was out of range, or
% \item with the next multiple of 5 otherwise.
% \end{itemize}
-% The default is |response field lines=15|.
-%
-% \DescribeMacro{attachments allowed}
-% The |attachments allowed| key controls \emph{how many} attachments a student is
-% allowed to upload. Permissible values are |0|, |1|, |2|, |3|, or |unlimited|.
-%
-% \DescribeMacro{attachments required}
+%
+% \DescribeKey[essay]{attachments allowed}\DescribeDefault{0}
+% The \optn{attachments allowed} key controls \emph{how many} attachments a student is
+% allowed to upload. Admissible values are \texttt{0}, \texttt{1}, \texttt{2},
+% \texttt{3}, or \texttt{unlimited}.
+%
+% \DescribeKey[essay]{attachments required}\DescribeDefault{0}
% You may also require the student to upload a certain number of attachments
-% by setting |attachments required| to |0|, |1|, |2|, or |3|.
-%
-% \DescribeMacro{template}
+% by setting \optn{attachments required} to \texttt{0}, \texttt{1}, \texttt{2}, or \texttt{3}.
+%
+% \DescribeKey[essay]{template}
% Finally, you may preload the essay question with a template that the student
-% will edit and/or type over, with the key |template=|\marg{template}.
+% will edit and/or type over, with the key \optn{template=}\marg{template}.
% The \meta{template} should be enclosed in braces.
-%
+%
% \subsubsection{\href{https://docs.moodle.org/en/Matching_question_type}{Matching}}
-%
-% A matching question offers a series of subquestions
-% and a set of possible answers from which to choose.
-% If there are $m$ questions and $n\geq m$ possible answers,
-% a matching question will look like this:
-%
+%
+% \DescribeEnv[quiz]{matching}\oarg{question options}\marg{question name}
+% is an environment that defines a \emph{Matching} question. It typically
+% looks like this:
% \begin{quote}
% |\begin{matching}|\oarg{question options}\marg{question name} \\
% \rule{2em}{0pt}\meta{question text} \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{question 1} |\answer| \meta{answer 1}\\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{question 2} |\answer| \meta{answer 2}\\
+% \rule{2em}{0pt}|\item| \meta{item 1} |\answer| \meta{match 1}\\
+% \rule{2em}{0pt}|\item| \meta{item 2} |\answer| \meta{match 2}\\
% \rule{2em}{0pt}\quad$\vdots$ \\
-% \rule{2em}{0pt}|\item|\oarg{options} \meta{question $m$} |\answer| \meta{answer $m$}\\
-% \rule{2em}{0pt}|\item|\oarg{options} |\answer| \meta{answer $m+1$}\\
+% \rule{2em}{0pt}|\item| \meta{item $m$} |\answer| \meta{match $m$}\\
+% \rule{2em}{0pt}|\item| |\answer| \meta{no match $1$}\\
% \rule{2em}{0pt}\quad$\vdots$ \\
-% \rule{2em}{0pt}|\item|\oarg{options} |\answer| \meta{answer $n$}\\
+% \rule{2em}{0pt}|\item| |\answer| \meta{no match $n$}\\
% |\end{matching}|
% \end{quote}
-% Answers $1$ through $m$ correspond to questions $1$ through $m$;
-% answers $m+1$ through $n$ are ``decoy'' answers.
-% If multiple questions should have the same answer,
-% be sure your typed answer match exactly, so that Moodle will not
-% create duplicate copies of the same answer!
-%
-% \DescribeMacro{shuffle}
-% The |matching| question accepts the option of |shuffle| to randomly
-% permute the questions and answers; by default |shuffle=true|.
-%
-% \DescribeMacro{drag and drop}\DescribeMacro{dd}
-% The standard matching question offered by Moodle corresponds to
-% a dropdown box for choosing the answer to each question.
-% There also exists a \href{https://docs.moodle.org/310/en/Drag_and_drop_matching_question_type}
-% {``drag and drop matching''} plugin for Moodle that
-% shows all questions in one column,
-% all answers in a second column, and allows students to drag the correct
-% answer to the question using a mouse.
+% \meta{match}es $1$ through $m$ are separated from their corresponding
+% \meta{item}s by the command \cmd{\answer}\DescribeMacro[matching]{\answer}.
+% Answers that match no item can be proposed at the end of the list,
+% preceded by an empty item.
+%
+% After import, \Moodle\ will recognize matches that are \emph{exact}
+% duplicates. If you intend multiple questions to have the same match,
+% make sure that they are entered identically.
+%
+% \DescribeBoolean[matching]{shuffle}\DescribeDefault{true}
+% When students take a matching question, \Moodle\ always displays
+% the proposed matches in random order.
+% The \env{matching} question accepts the option |shuffle| to also
+% randomly permute the items.
+%
+% \DescribeBoolean[matching]{drag and drop}\DescribeDefault{false}
+% The standard matching question offered by \Moodle\ corresponds to
+% a dropdown box for choosing the match for each item.
+% There also exists a \href{https://docs.moodle.org/en/Drag_and_drop_matching_question_type}
+% {``drag and drop matching''} plugin for \Moodle\ that
+% shows all items in a column (left), all proposed matches in a second column
+% (right), and asks students to drag the correct
+% match to each item with the mouse.
% In this package, to enable drag-and-drop matching, use the key
-% `|drag and drop|' or `|dd|' for short. The default is |dd=false|.
-% If you choose the standard format, then due to the limitations of
-% dropdown boxes, no \LaTeX\ or HTML code can be used in the answers.
-%
+% \optn{drag and drop} or \optn{dd}\DescribeKey[matching]{dd}\ for short.
+% Beware that, with the standard format (\optn{drag and drop=false}), due
+% to the limitations of dropdown boxes, \Moodle\ will not render \LaTeX\
+% or \HTML\ code passed in the answers.
+%
% \subsubsection{\href{https://docs.moodle.org/en/Embedded_Answers_(Cloze)_question_type}
% {Cloze Questions and Subquestions}}
-%
-% A ``cloze question'' has one or more subquestions embedded within a passage of text.
+%
+% \DescribeEnv[quiz]{cloze}\oarg{question options}\marg{question name}
+% is an environment that defines a \emph{Cloze} question.
+%
+% A ``cloze question'' has one or more subquestions embedded within a passage of text.
% For example, you might ask students to fill in several missing words within
% a sentence, or calculate several coefficients of a polynomial.
% To encode cloze questions in \LaTeX\ using this package is easy:
-% you simply nest one or more |multi|, |shortanswer|, or |numerical| environments
-% within a |cloze| environment, as in the following example:
+% you simply nest one or more \env{multi}, \env{numerical}, or \env{shortanswer} environments
+% within a \env{cloze} environment, as in the following example:
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
% \begin{cloze}{my cloze question}
% Thanks to calculus, invented by Isaac
@@ -855,44 +1013,84 @@
% \end{cloze}
% \end{VerbatimOut}
% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
-% Note that when used as a subquestion within a cloze question,
-% |\begin{multi}| is \emph{not} followed by name in braces;
-% the same is true for the |shortanswer| and |numerical|
-% environments.
-%
-% \DescribeMacro{single=true}\DescribeMacro{single=false}\DescribeMacro{multiple}
-% Before Moodle version 3.5, within a cloze question, a multiple choice question
-% was necessarily of type |single|, i.e. with a single good answer. If you intend
-% to export your quiz to Moodle 3.5+, the option |multiple| can be used, when
-% multiple good answers are to be found.
-%
-% \DescribeMacro{vertical}\DescribeMacro{horizontal}\DescribeMacro{inline}
-% Within a cloze question, by default, a multiple choice question is implemented
-% as an |inline| dropdown box. This is visually compact, but it also prevents
-% the use of mathematical or HTML formatting.
-% Adding the option |vertical| displays the subquestion as a vertical column
-% of radio buttons instead; likewise the option |horizontal| creates a horizontal
-% row of radio buttons.
-% The option |inline| is incompatible with |multiple| or |single=false|
+%
+% Note that, when used as a subquestion within a \env{cloze} question,
+% the question environments are \emph{not} followed by a question
+% name in braces.
+% \begin{description}
+% \ItemDescribeEnv[cloze]{multi}\oarg{subquestion options} defines a
+% Multiple Choice question inside a Cloze question,
+% \ItemDescribeEnv[cloze]{numerical}\oarg{subquestion options} defines a
+% Numerical question inside a Cloze question, and
+% \ItemDescribeEnv[cloze]{shortanswer}\oarg{subquestion options} defines a
+% Shortanswer question inside a Cloze question,
+% \end{description}
+%
+% \DescribeKey[cloze]{points}\DescribeDefault{1}
+% \DescribeKey[cloze]{default grade}
+% Inside \env{cloze} environments, the \optn{points} or \optn{default grade}
+% keys can be used to weight the worth of each subquestion. A specific
+% constraint applies: the values should be positive integers.
+%
+% \DescribeKey[cloze]{fraction}
+% Inside \env{cloze} environments, the \optn{fraction} key can be used to give
+% partial credit or sanction for certain answers. The values
+% specified must be integers and are independent of the admissible
+% values listed in Table~\vref{tab:fraction}.
+%
+% \DescribeBoolean[cloze]{single}\DescribeDefault{true}
+% \DescribeKey[cloze]{multiple}
+% Prior to \Moodle\ version 3.5, within a \env{cloze} question, a multiple choice question
+% was necessarily of type \optn{single}, i.e. with a single good answer. If you intend
+% to export your quiz to \Moodle\ 3.5+, the option \optn{multiple} can be used for
+% questions where students must be able to select several answers.
+% The modalities described in Section~\vref{subsec:multi} for setting the
+% weight of answers apply. The only difference occurs in \emph{advanced mode}:
+% the sum of positive fractions may not be 100\%. In this case, after
+% importing the \XML\ file, \Moodle\ will automatically scale the positive
+% fractions for a total of 100\% and leave intact the negative fractions.
+% ^^A\footnote{\url{https://tracker.moodle.org/browse/MDL-3782?focusedCommentId=421564\#comment-421564}}.
+%
+% ^^A\DescribeKey[cloze]{vertical}\DescribeKey[cloze]{horizontal}\DescribeKey[cloze]{inline}
+% ^^A\DescribeDefault{inline}
+% Within a \env{cloze} question, a multiple choice question may be displayed in three
+% different modes:
+% \begin{description}
+% \ItemDescribeKey[cloze]{inline} The inline dropdown box is the default choice
+% when only one answer is to be selected (option \optn{single}). The dropdown box
+% is visually compact, but also prevents the use of mathematical or \HTML\ formatting.
+% This option is incompatible\watchout\ with \optn{multiple} or \optn{single=false}
% (dropdown boxes don't let you pick up several answers!).
+% \ItemDescribeKey[cloze]{vertical} displays the subquestion as a vertical column
+% of radio buttons instead. This is the default when several items can
+% be selected (options \optn{multiple} or \optn{single=false}).
+% \ItemDescribeKey[cloze]{horizontal} creates a horizontal row of radio buttons.
+% This option works well when the possible answers are short. The result is more
+% compact than what \optn{vertical} gives.
+% \end{description}
%
-% \DescribeMacro{shuffle}
-% Starting from Moodle version 3.0, within a cloze question, the items of a
-% multiple choice question can be shuffled. Setting |shuffle=false| will
+% \DescribeBoolean[cloze]{shuffle}
+% Starting from \Moodle\ version 3.0, within a \env{cloze} question, the items of a
+% multiple choice question can be shuffled. Setting \optn{shuffle=false} will
% guarantee that the answer appear in the order they were typed; the
-% default is |shuffle=true|.
+% default is \optn{shuffle=true}.
+%
+% \DescribeBoolean[cloze]{case sensitive}\DescribeDefault{false}
+% \DescribeBoolean[cloze]{usecase}
+% Within a \env{cloze} question, the \env{shortanswer} question can be made case sensitive.
+% This option, disabled by default, is selected with \optn{case sensitive} or \optn{usecase}.
%
-% \DescribeMacro{case sensitive}\DescribeMacro{usecase}
-% Within a cloze question, the short answer question can be made case sensitive.
-% This option, disabled by default, is selected with |case sensitive| or |usecase|.
-%
%\subsubsection{\href{https://docs.moodle.org/en/Description_question_type}{Description}}
-%
-% The Moodle description type is not really a question. It is more like a label.
-% One can set a |feedback| that the student gets when reviewing the submission.
+%
+% \DescribeEnv[quiz]{description}\oarg{question options}\marg{question name}
+% is an environment that defines a so-called \emph{Description} question.
+%
+% The \Moodle\ description type is not really a question. It is more like a label.
+% One can set a \optn{feedback} that the student gets when reviewing the submission.
% Tags can be set as well.
-%
-% For descriptions, \textsf{moodle} redefines the existing |description| environment.
+%
+% For descriptions, \pkg{moodle} redefines \LaTeX's \env{description} environment.
+% The scope of this redefinition is limited to the \env{quiz} environment.
%
% The syntax for a Description question is as follows:
% \begin{quote}
@@ -902,11 +1100,11 @@
% \end{quote}
%
% \subsection{Summary of the Key Options}
-%
-% Table~\ref{tab:key-options} summarizes the key options available at the question
-% and answer levels depending on the question type. For the essay questions,
-% please refer to section~\ref{subsubsect:essay}.
-%
+%
+% Table~\vref{tab:key-options}, summarizes
+% the key options available at the question and answer levels depending on the
+% question type. For the essay questions, please refer to Section~\vref{subsubsect:essay}.
+%
% \begin{table}[tbp]
% \centering
% \caption{Options offered at the question and answer levels for each question type.}
@@ -916,17 +1114,17 @@
% \toprule
% & \multicolumn{11}{l}{Question} & \multicolumn{3}{l}{Answer}\\
% \cmidrule(lr){2-12}\cmidrule(lr){13-15}
-% Question type & \rotatebox{90}{points} &
-% \rotatebox{90}{penalty} & \rotatebox{90}{feedback} & \rotatebox{90}{tags} &
+% Question type & \rotatebox{90}{points} &
+% \rotatebox{90}{penalty} & \rotatebox{90}{feedback} & \rotatebox{90}{tags} &
% \rotatebox{90}{shuffle} & \rotatebox{90}{numbering} & \rotatebox{90}{multiple} &
% \rotatebox{90}{allornothing} &\rotatebox{90}{usecase} & \rotatebox{90}{tolerance} &
-% \rotatebox{90}{dd} & \rotatebox{90}{fraction} & \rotatebox{90}{feedback} &
+% \rotatebox{90}{dd} & \rotatebox{90}{fraction} & \rotatebox{90}{feedback} &
% \rotatebox{90}{tolerance}\\\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}
% \cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}
% \cmidrule(lr){8-8}\cmidrule(lr){9-9}\cmidrule(lr){10-10}\cmidrule(lr){11-11}
% \cmidrule(lr){12-12}\cmidrule(lr){13-13}\cmidrule(lr){14-14}\cmidrule(lr){15-15}
-% \href{https://docs.moodle.org/35/en/Multiple_Choice_question_type}
-% {Multichoice} & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ &
+% \href{https://docs.moodle.org/35/en/Multiple_Choice_question_type}
+% {Multichoice} & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ &
% $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & & & $\bullet$ & $\bullet$ \\
% \href{https://docs.moodle.org/35/en/Numerical_question_type}{Numerical}
% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & & &
@@ -935,12 +1133,12 @@
% Answer} & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & & &
% & $\bullet$ & & & $\bullet$ & $\bullet$ \\
% \href{https://docs.moodle.org/35/en/Matching_question_type}{Matching}
-% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & &
-% & & & $\bullet$ & $\bullet$ & \\
+% & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & & &
+% & & & $\bullet$ & & \\
% \href{https://docs.moodle.org/35/en/True/False_question_type}
% {True/False} & $\bullet$ & & $\bullet$ & $\bullet$ & & & &
% & & & & & $\bullet$ \\
-% \href{https://docs.moodle.org/35/en/Description_question_type}
+% \href{https://docs.moodle.org/35/en/Description_question_type}
% {Description} & & & $\bullet$ & $\bullet$ & & & &
% & & & & & \\
% ^^A\href{https://docs.moodle.org/35/en/Essay_question_type}{Essay} & \\\hline%
@@ -953,322 +1151,779 @@
% & $\bullet$ & & & $\bullet$ & $\bullet$ \\
% \hspace{1em}Multi (inline) & $\bullet$ & & & & $\bullet$ & & &
% & & & & $\bullet$ & $\bullet$ \\
-% \hspace{1em}Multi (horizontal)& $\bullet$ & & & & $\bullet$ & & $\bullet$
+% \hspace{1em}Multi (horiz.) & $\bullet$ & & & & $\bullet$ & & $\bullet$
% & & & & & $\bullet$ & $\bullet$ \\
-% \hspace{1em}Multi (vertical)& $\bullet$ & & & & $\bullet$ & & $\bullet$
+% \hspace{1em}Multi (vert.) & $\bullet$ & & & & $\bullet$ & & $\bullet$
% & & & & & $\bullet$ & $\bullet$ \\
% \bottomrule
% \end{tabular}
% \end{table}
+%
+% \subsection{Automated Generation of Questions}
%
-% \section{Conversion to HTML}
+% \Moodle's \href{https://docs.moodle.org/en/Calculated_question_type}
+% {Calculated Questions} types are not supported by this package.
+%
+% However, much more flexibly, a scripting language can be used in
+% combination with \pkg{moodle} to generate a large set of questions,
+% based on a prototype.
+%
+% In this case, the teacher building a quiz often wants one of the questions
+% to be randomly picked up and presented to the student. To achieve this,
+% we suggest to apply a specific tag to the questions sharing the same prototype.
+% After import in \Moodle, when creating a quiz, this tag can be selected to
+% narrow down a random selection of questions.
+%
+% This way, the feature of calculated questions can be reproduced, while
+% benefiting from the flexibility given by your favorite scripting language.
+%
+% In this Section, two possible approaches are presented.
%
-% Questions should be typed as usual for \LaTeX,
-% including |\$| to obtain dollar signs, |$|'s or |\(|...|\)| for math shifts,
-% |$$|'s or |\[|...|\]| for display math, et cetera.
-% The package \textsf{moodle.sty} automatically converts
-% this \LaTeX\ code into HTML for web display.
+% \subsubsection{Script Generating \TeX\ Code}
+%
+% Here are two examples inspired from the work of
+% \href{https://github.com/avohns/python-latex-moodle-quiz}{A. Vohns}.
+% The first one relies on the
+% native \prog{Lua} capabilities of \LuaLaTeX.
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% \begin{quiz}[tags={calculated}]{Example Quiz}
+% \directlua{
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=topline]{latex}{minted.doc.out}
+% \vspace{-.7cm}
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% function clozenum_print(pair,op,result)
+% tex.print("\\begin{numerical}$"..pair[1].." "..op.." "..pair[2].."
+% =$".."\\item ",result,"\\end{numerical}")
+% end
+% function cloze_print(pair,points)
+% tex.print("\\begin{cloze}[points="..points.."]{Arithmetic Quiz
+% ("..pair[1]..", "..pair[2]..")}Solve the following tasks!\\\\")
+% clozenum_print(pair,"+",pair[1]+pair[2])
+% clozenum_print(pair,"-",pair[1]-pair[2])
+% clozenum_print(pair,"*",pair[1]*pair[2])
+% if pair[1]/pair[2]==math.floor(pair[1]/pair[2]) then
+% clozenum_print(pair,":",math.floor(pair[1]/pair[2]))
+% end
+% tex.print("\\end{cloze}")
+% end
+% for x = 2,4 do
+% for y = 2,4 do
+% if x>y then
+% if x/y==math.floor(x/y) then points=1 else points=2 end
+% cloze_print({x,y},points)
+% end
+% end
+% end
+% \end{VerbatimOut}
+% \inputminted[]{lua}{minted.doc.out}
+% \vspace{-.7cm}
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% }
+% \end{quiz}
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=bottomline]{latex}{minted.doc.out}
+% The second example makes use of the \pkg{python} package (|\usepackage{python}|).
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% \begin{quiz}[tags={calculated}]{Example Quiz}
+% \begin{python}
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=topline]{latex}{minted.doc.out}
+% \vspace{-.7cm}
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% def clozenum_print(pair,op,result):
+% print(rf"""\begin{{numerical}}
+% ${pair[0]} {op} {pair[1]} =$\item {result}
+% \end{{numerical}}""")
+% def cloze_print(pair,points):
+% print(rf"""\begin{{cloze}}[points={points}]{{Arithmetic Quiz
+% {(pair[0],pair[1])}}}Solve the following tasks!\\""")
+% clozenum_print([x,y],"+",x+y)
+% clozenum_print([x,y],"-",x-y)
+% clozenum_print([x,y],"*",x*y)
+% if pair[0]/pair[1] == pair[0]//pair[1]:
+% clozenum_print([x,y],":",x//y)
+% print("\end{cloze}")
+% for x in range(2,5):
+% for y in range(2,5):
+% if x > y:
+% if x/y == x//y:
+% points=1
+% else:
+% points=2
+% cloze_print([x,y],points)
+% \end{VerbatimOut}
+% \inputminted[]{python}{minted.doc.out}
+% \vspace{-.7cm}
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% \end{python}
+% \end{quiz}
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=bottomline]{latex}{minted.doc.out}
+% These two example codes yield the same \XML\ content.
+%
+% \subsubsection{\TeX\ Code As a Template}
+%
+% Instead of mixing \TeX\ and scripting code into the same file, it is probably
+% a better practice to write a |.tex| template file with predefined variables and
+% manipulate the latter using an external script.
+%
+% The \pkg{moodle} package facilitates the development of question templates.
+% Specific control sequences (e.g.~\TeX\ commands) can be used in place of answers
+% or other parameters to the questions. In \optn{draft} mode, this should be
+% possible even where \pkg{moodle} expects numerical values (e.g.~answers of
+% numerical questions).
+% After drafting and question development, the control sequences can then be
+% substituted, by means of a scripting language, with instances of the variables
+% pulled from a database (e.g. |*.csv| file).
+% This way, complex quizzes, with parameterized TikZ pictures for instance, can be produced.
+%
+% This approach, briefly presented in the rest of this section, is demonstrated by
+% C. Caprani in \href{https://github.com/ccaprani/genquiz}{genquiz},
+% with Python for scripting and Jinja as a templating engine.
+%
+% The specific control sequence of the template is the \TeX\ command |\VAR|, taking
+% the variable name to be substituted from the database as an argument. In order to
+% highlight the fields for template development, in \optn{draft} mode, this command is
+% defined to typeset the variable name in bold red font. When generating the \XML\
+% question bank, in \optn{final} mode, the variable values are substituted for the
+% specific control sequence. Variables can be used to define numerical answers,
+% tolerances, and even parameterize TikZ pictures.
%
-% Table~\ref{tab:html} lists \LaTeX\ macros, commands, and environments that
-% are specifically converted to HTML.
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% \documentclass{article}
+% \usepackage[draft]{moodle}
+% \usepackage{tikz}
+% \newcommand*{\VAR}[1]{\textcolor{red}{\textbf{#1}}}
+% \begin{document}
+% \begin{quiz}{Disk or Square}
+% \begin{cloze}[tags={disk area}]
+% {Area of the Disk QID00\VAR{qidx}}
+% \begin{tikzpicture}
+% \draw[fill=black!20] circle[radius=1];
+% \draw[<->] (0,0)--(1,0)node[above,midway]{\VAR{radius}};
+% \end{tikzpicture}
+% A disk has radius \VAR{radius}, what is its area?
+% \begin{numerical}[points=1,penalty=0]
+% \item[tolerance = \VAR{areatol}] \VAR{area}
+% \item[fraction=0,feedback={Note the units.}] * % incorrect
+% \end{numerical}
+% Provide your answers to 3 significant digits.
+% \end{cloze}
+% \end{quiz}
+% \end{document}
+% \end{VerbatimOut}
+% \inputminted[gobble=1,frame=lines]{latex}{minted.doc.out}
+%
+% A small python code that reads the template and renders the actual |*.tex| file
+% is shown below. In this example, the template file is called |quiz_template.tex| and
+% the variables are hard-coded as a list of Python dictionaries. But nothing prevents
+% you from generating them on-the-fly or picking them from a database.
+% It is worth noting that \prog{jinja2} will process all |\VAR{|\meta{name}|}| occurrences,
+% regardless of \TeX\ comments.
+%
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% import os
+% import jinja2
+%
+% # Tell jinja what to look for in the template
+% # (from web.archive.org/web/20121024021221/http://e6h.de/post/11/)
+% latex_jinja_env = jinja2.Environment(
+% variable_start_string=r"\VAR{",
+% variable_end_string=r"}",
+% comment_start_string=r"\#{",
+% comment_end_string="}",
+% loader=jinja2.FileSystemLoader(os.path.abspath(".")),
+% )
+%
+% # Load the template
+% template = latex_jinja_env.get_template("quiz_template.tex")
+%
+% # Prepare the variables or read from a database
+% database = [
+% {"qidx": 1, "radius": 2, "areatol": 0.1, "area": 12.57},
+% {"qidx": 2, "radius": 3, "areatol": 0.2, "area": 28.27},
+% {"qidx": 3, "radius": 4, "areatol": 0.4, "area": 50.26},
+% ]
+%
+% for row in database:
+% # combine template and variables
+% document = template.render(**row)
+%
+% # XML files are generated by moodle.sty in "final" mode
+% document = document.replace(r"\usepackage[draft]{moodle}",
+% r"\usepackage{moodle}")
+%
+% # write document
+% with open(f"{row['qidx']}.tex","w",encoding="utf-8") as outfile:
+% outfile.write(document)
+% \end{VerbatimOut}
+% \inputminted[gobble=1,frame=lines]{python}{minted.doc.out}
+%
+% Executing this Python code will result in three new |.tex| files in the current directory.
+% These can then be compiled with a \TeX\ engine to produce the individual \XML\ files.
+% Of course, for a large number of quizzes it is preferable to automate this compilation,
+% and to combine the large number of resulting \XML\ files into a single \XML\ file for upload
+% to Moodle. See \href{https://github.com/ccaprani/genquiz}{genquiz} for more details.
+%
+% Naturally, the concept of templating, demonstrated here with Python, may be orchestrated
+% using other scripting languages.
+%
+% \section{Conversion to HTML}
+%
+% \subsection{Level of Support}
+%
+% The package \pkg{moodle.sty} tries to automatically
+% convert the \LaTeX\ code included in the questions
+% into \HTML\ for web display.
+%
+% With this aim, a number of \TeX\ and \LaTeX\ macros,
+% commands, and environments undergo a tailored treatment
+% when \pkg{moodle} generates the \XML\ file. A few tables
+% describe the current level of support:
+% \begin{enumerate}
+% \item text mode diacritic macros (e.g.~|\"u|) in Table~\vref{tab:diacritics},
+% \item text mode macros for ligatures (e.g.~\cmd{\oe}) and other glyphs (e.g.~\cmd{\aa}) in
+% Table~\vref{tab:ligatures_and_glyphs},
+% \item horizontal spacing (e.g.~\cmd{\quad}) and line breaking (e.g.~\cmd{\\}) macros in
+% Table~\vref{tab:spacing},
+% \item text mode symbols (e.g.~\cmd{\$}) and punctuation (e.g.~\cmd{\textexclamdown}) macros in
+% Table~\vref{tab:symbols_and_punctuation}, and finally
+% \item other \LaTeX\ commands (e.g.~\cmd{\emph}) and environments (e.g.~\env{center})
+% in Table~\vref{tab:commands_and_environments}.
+% \end{enumerate}
+%^^A \pagebreak
+%
+%^^A Inspired by https://tex.stackexchange.com/a/163717/228515
% \begin{table}[tbp]
% \centering
-% \caption{Conversion of \LaTeX\ material to HTML.}
-% \label{tab:html}
-% \begin{tabular}{llll}
+% \caption{Text mode diacritic macros undergoing a tailored conversion to \HTML.}
+% \label{tab:diacritics}
+% \begin{threeparttable}
+% \begin{tabular}{clll}
% \toprule
-% \multicolumn{2}{l}{Macros} & Commands & Environnments \\
-% \cmidrule(lr){1-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
-% |\%| & |\#| &|\emph{}| & |\begin{center}|\\
-% |\$| & |\&| &|\textbf{}| & |\begin{enumerate}|\\
-% |\\| & |\par| &|\textit{}| & |\begin{itemize}|\\
-% |\&| & |\S| & |\texttt{}| & |\begin{tikzpicture}|\\
-% |\{| & |\}| & |\textsc{}| & \\
-% |\|\textvisiblespace & |\relax| & |\underline{}| &\\
-% |\,| & |\thinspace| & |\textsuperscript{}| & \\
-% |\dots| & |\ldots| & |\up{}| & \\
-% |\euro| & |\texteuro| & |\fup{}| & \\
-% |\TeX| & |\LaTeX|& |\textsubscript{}| & \\
-% |\_| & |\textbackslash| & |\url{}| & \\
-% |~| & & |\href{}{}| & \\
-% & & |\tikz[]{}| & \\
-% & & |\includegraphics[]{}| & \\
-% & & |\verbatiminput{}| & \\
-% & & |\VerbatimInput[]{}| & \\
-% & & |\LVerbatimInput[]{}| & \\
-% & & |\BVerbatimInput[]{}| & \\
-% & & |\inputminted[]{}{}| & \\
+% Definition & Letter List\tnote{1} & Description & Samples\\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
+% \cmd{\"}\marg{letter} & a, e, i, o, u, y &
+% \href{https://en.wikipedia.org/wiki/Diaeresis_(diacritic)}{umlaut or diaeresis}
+% & \"{a} \"{A} \"{e} \"{E} \"{i} \"{I} \"{o} \"{O} \dots\ \"{Y}\\
+% \cmd{\'}\marg{letter} & a, e, i, o, u &
+% \href{https://en.wikipedia.org/wiki/Acute\_accent}{acute accent}
+% & \'{a} \'{A} \'{e} \'{E} \'{i} \'{I} \'{o} \'{O} \'{u} \'{U}\\
+% \cmd{\.}\marg{letter} & c, e, g, i, z &
+% \href{https://en.wikipedia.org/wiki/Dot_(diacritic)#Overdot}{overdot}
+% & \.{c} \.{C} \.{e} \.{E} \.{g} \.{G} \.{i} \.{I} \.{z} \.{Z}\\
+% \cmd{\=}\marg{letter} & a, e, g, i, o, u, y &
+% \href{https://en.wikipedia.org/wiki/Macron_(diacritic)}{macron}
+% & \={a} \={A} \={e} \={E} \={g} \={G} \={i} \={I} \dots\ \={Y}\\
+% \cmd{\^}\marg{letter} & a, e, i, o, u &
+% \href{https://en.wikipedia.org/wiki/Circumflex}{circumflex} &
+% \^{a} \^{A} \^{e} \^{E} \^{i} \^{I} \^{o} \^{O} \^{u} \^{U}\\
+% \cmd{\`}\marg{letter} & a, e, i, o, u &
+% \href{https://en.wikipedia.org/wiki/Grave\_accent}{grave accent}
+% & \`{a} \`{A} \`{e} \`{E} \`{i} \`{I} \`{o} \`{O} \`{u} \`{U}\\
+% \cmd{\~}\marg{letter} & a, n, o &
+% \href{https://en.wikipedia.org/wiki/Tilde}{tilde}
+% & \~{a} \~{A} \~{n} \~{N} \~{o} \~{O}\\
+% \cmd{\b}\marg{letter} & b, d, k, l, n, t, z &
+% \href{https://en.wikipedia.org/wiki/Macron_below}{macron below}
+% & \b{b} \b{B} \b{d} \b{D} \b{k} \b{K} \b{l} \dots\ \b{Z}\\
+% \cmd{\c}\marg{letter} & c, s, t &
+% \href{https://en.wikipedia.org/wiki/Cedilla}{cedilla}
+% & \c{c} \c{C} \c{s} \c{S} \c{t} \c{T}\\
+% \cmd{\d}\marg{letter} & a, b &
+% \href{https://en.wikipedia.org/wiki/Dot_(diacritic)#Underdot}{underdot}
+% & \d{a} \d{A} \d{b} \d{B}\\
+% \cmd{\H}\marg{letter} & o, u &
+% \href{https://en.wikipedia.org/wiki/Double\_acute\_accent}{double acute accent}
+% & \H{o} \H{O} \H{u} \H{U}\\
+% \cmd{\k}\marg{letter} & a, e, i, o, u &
+% \href{https://en.wikipedia.org/wiki/Ogonek}{ogonek}
+% & \k{a} \k{A} \k{e} \k{E} \k{i} \k{I} \k{o} \k{O} \k{u} \k{U}\\
+% \cmd{\r}\marg{letter} & a, u &
+% \href{https://en.wikipedia.org/wiki/Ring_(diacritic)#Overring}{overring}
+% & \r{a} \r{A} \r{u} \r{U} \\
+%^^A \cmd{\t}\marg{letter} & a, b, c & tie-after accent & \t{oo}\\
+% \cmd{\u}\marg{letter} & a, e, g, i\tnote{2}, \i, o, u &
+% \href{https://en.wikipedia.org/wiki/Breve}{breve}
+% & \u{a} \u{A} \u{e} \u{E} \u{i} \u{\i} \u{I} \u{o} \u{O} \u{u} \u{U}\\
+% \cmd{\v}\marg{letter} & c, d, e, l, n, r, s, t, z &
+% \href{https://en.wikipedia.org/wiki/Caron}{caron or h\'a\v{c}ek}
+% & \v{c} \v{C} \v{d} \v{D} \v{e} \v{E} \v{l} \dots\ \v{Z}\\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item[1] The lowercase letters listed also stand for their uppercase
+% equivalent.
+% \item[2] pdf\TeX\ v3.14159265 typesets |\u{i}| with an objectionable tittle.
+% Use |\u{\i}|.
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%
+% \begin{table}[tbp]
+% \centering
+% \caption{Text mode ligature and glyph macros undergoing a tailored conversion
+% to \HTML.}
+% \label{tab:ligatures_and_glyphs}
+% \begin{threeparttable}
+% \begin{tabular}{cccc}
+% \toprule
+% \multicolumn{2}{c}{Lowercase} & \multicolumn{2}{c}{Uppercase} \\
+% \cmidrule(lr){1-2}\cmidrule(lr){3-4}
+% Definition & Sample & Definition & Sample \\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
+% \cmd{\aa} & \aa & \cmd{\AA} & \AA \\
+% \cmd{\ae} & \ae & \cmd{\AE} & \AE \\
+% \cmd{\dh} & \dh & \cmd{\DH} & \DH \\
+% \cmd{\dj} & \dj & \cmd{\DJ} & \DJ \\
+% \cmd{\i} & \i & & \\
+% \cmd{\ij} & \ij & \cmd{\IJ} & \IJ \\
+% \cmd{\j} & \j & & \\
+% \cmd{\l} & \l & \cmd{\L} & \L \\
+% \cmd{\ng} & \ng & \cmd{\NG} & \NG \\
+% \cmd{\o} & \o & \cmd{\O} & \O \\
+% \cmd{\oe} & \oe & \cmd{\OE} & \OE \\
+% \cmd{\ss} & \ss & \cmd{\SS}\tnote{1} & \SS\tnote{2} \\
+% \cmd{\th} & \th & \cmd{\TH} & \TH \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item[1] Contrarily to most fonts, Libertine, used in this documentation and
+% available for instance via the package \pkg{libertine}, defines the glyph
+% \SS.
+% \item[2] \LaTeX\ defines the \cmd{\SS} macro but pdf\TeX\ renders it as a
+% doubled capital S.
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%
+% \begin{table}[tbp]
+% \centering
+% \caption{Text mode horizontal spacing and line breaking macros undergoing a
+% tailored conversion to \HTML.}
+% \label{tab:spacing}
+%^^A Inspired by https://tex.stackexchange.com/a/74354/228515
+% \begin{threeparttable}
+% \begin{tabular}{ll}
+% \toprule
+% Definition & Description \\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}
+% \cmd{\,} or \cmd{\thinspace} & narrow non-breaking space \\
+% |~| or \texttt{\textbackslash\textvisiblespace} & non-breaking space \\
+% \cmd{\>}\tnote{1},{ } \cmd{\:}{}\tnote{2}{ } or \cmd{\medspace}\tnote{2} & mid space \\
+% \cmd{\;}\tnote{2}{ } or \cmd{\thickspace}\tnote{2} & thick space \\
+% \cmd{\enspace} & nut (1en wide space)\\
+% \cmd{\quad} & mutton (1em wide space)\\
+% \cmd{\qquad} & doubled mutton (2em wide space)\\
+% \cmd{\textvisiblespace} & sample: \textvisiblespace \\
+% \cmd{\\} or \cmd{\newline} & start a new line \\
+% |\par| or \meta{blank line} & start a new paragraph \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item[1] \cmd{\>} is defined in math-mode only.
+% \item[2] \cmd{\:}, \cmd{\medspace}, \cmd{\;}, and \cmd{\thickspace} require the package
+% \pkg{amsmath}.
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%
+% \begin{table}[tbp]
+% \centering
+% \caption{Text mode punctuation marks and symbol macros undergoing a tailored
+% conversion to \HTML. A baseline is represented in the samples of quotations
+% marks, in order to draw attention to their vertical positioning.}
+% \label{tab:symbols_and_punctuation}
+% \newsavebox\textbox
+% \newcommand\showbaseline[1]{\leavevmode\sbox\textbox{#1}
+% \rlap{\rule{\wd\textbox}{.1pt}}\usebox\textbox}
+% \begin{threeparttable}
+% \begin{tabular}{llc}
+% \toprule
+% Package & Definition & Sample \\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}
+% \LaTeX\ base & \cmd{\%} & \% \\
+% & \cmd{\#} & \# \\
+% & \cmd{\_} & \_ \\
+% & \cmd{\textbackslash} & \textbackslash \\
+% & \cmd{\$} & \$ \\
+% & \cmd{\&} & \& \\
+% & \cmd{\S} & \S \\
+% & |\{| & \{ \\
+% & |\}| & \} \\
+% & \cmd{\texteuro} & \texteuro \\
+% & \cmd{\dots} or \cmd{\ldots} & \dots \\
+% & \cmd{\textexclamdown} & \textexclamdown \\
+% & \cmd{\textquestiondown} & \textquestiondown \\
+% & |--| & -- \\
+% & |=| & = \\
+% & |`| and |'|\tnote{1} & \showbaseline{` '} \\
+% & \cmd{\textquoteleft} and \cmd{\textquoteright}
+% & \showbaseline{\textquoteleft\ \textquoteright} \\
+% & |``| and |''|\tnote{1,2} & \showbaseline{`` ''} \\
+% & \cmd{\textquotedblleft} and \cmd{\textquotedblright}
+% & \showbaseline{\textquotedblleft\ \textquotedblright} \\
+% & \cmd{\textquotesingle} & \showbaseline{\textquotesingle\ } \\
+% & |"| & \showbaseline{" }\tnote{2} \\
+% & \cmd{\textquotedbl} & \showbaseline{\textquotedbl\ }\\
+% & \cmd{\guilsinglleft} and \cmd{\guilsinglright}
+% & \showbaseline{\guilsinglleft\ \guilsinglright} \\
+% & \cmd{\guillemotleft} and \cmd{\guillemotright}
+% & \showbaseline{\guillemotleft\ \guillemotright}\\
+% & \cmd{\quotesinglbase} & \showbaseline{\quotesinglbase\ }\\
+% & \cmd{\quotedblbase} & \showbaseline{\quotedblbase\ } \\
+% \cmidrule(lr){1-1}
+% \pkg{eurosym} & \cmd{\euro} & \euro\\
+% \cmidrule(lr){1-1}
+% \pkg{babel} & \cmd{\flq} and \cmd{\frq} & \showbaseline{\flq\ \frq} \\
+% & \cmd{\flqq} and \cmd{\frqq} & \showbaseline{\flqq\ \frqq} \\
+% \cmidrule(lr){1-1}
+% \pkg{babel}, opt. \optn{french} & \cmd{\og} and \cmd{\fg}\tnote{3}
+% & \showbaseline{\flqq\ \frqq} \\
+% \cmidrule(lr){1-1}
+% \pkg{babel}, opt. \optn{german} & \cmd{\glq} and \cmd{\grq}
+% & \showbaseline{\glq\ \grq} \\
+% & \cmd{\dq} & \showbaseline{\dq\ }\tnote{2} \\
+% & \cmd{\glqq} and \cmd{\grqq} & \showbaseline{\glqq\ \grqq} \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item[1] When placed in math mode, the single straight quote (\texttt{'}) is
+% passed as-is to the \XML, even when doubled (double prime symbol).
+% \item[2] In roman type, \LuaLaTeX\ and \XeLaTeX\ typeset the double straight
+% quote symbol (\texttt{"}) and the command \cmd{\dq} as a double right quote
+% (\textquotedblright). Instead, \pkg{moodle} follows pdf\LaTeX: whatever
+% the \TeX\ engine used, the double straight quote (\texttt{"}) is passed to the \XML.
+% \item[3] The way \cmd{\og} and \cmd{\fg} are typeset in the \PDF\ depends on the
+% current babel language. Regardless, \pkg{moodle} passes the symbols
+% \texttt{\guillemotleft} and \texttt{\guillemotright} to the \XML.
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%
+% \begin{table}[tbp]
+% \centering
+% \caption{\LaTeX\ commands and environments undergoing a tailored conversion
+% to \HTML.}
+% \label{tab:commands_and_environments}
+% \begin{tabular}{lll}
+% \toprule
+% Package & Commands & Environments \\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}
+% \LaTeX\ base & |{}|& |$|$\cdots$|$| (inline math) \\
+% & \cmd{\relax} & |\(|$\cdots$|\)| (inline math) \\
+% & \cmd{\LaTeX} & |$$|$\cdots$|$$| (display math) \\
+% & \cmd{\TeX} & \cmd{\[}$\cdots$\cmd{\]} (display math) \\
+% & \cmd{\emph}\marg{\dots} & \env{center} \\
+% & \cmd{\textbf}\marg{\dots} & \env{enumerate} \\
+% & \cmd{\textit}\marg{\dots} & \env{itemize} \\
+% & \cmd{\textsc}\marg{\dots} & \env{quote} \\
+% & \cmd{\textsuperscript}\marg{\dots} & \env{quotation}\\
+% & \cmd{\textsubscript}\marg{\dots} &\\
+% & \cmd{\texttt}\marg{\dots} &\\
+% & \cmd{\underline}\marg{\dots} &\\
+% \cmidrule(lr){1-1}
+% \pkg{hyperref} & \cmd{\href}\marg{\dots}\marg{\dots} &\\
+% \pkg{url} or \pkg{hyperref} & \cmd{\url}\marg{\dots} &\\
+% \cmidrule(lr){1-1}
+% \pkg{babel}, opt. \optn{french} & \cmd{\fup}\marg{\dots} &\\
+% & \cmd{\up}\marg{\dots} &\\
+% \cmidrule(lr){1-1}
+% \pkg{graphics} or \pkg{graphicx} &
+% \cmd{\includegraphics}\oarg{\dots}\marg{\dots} \\
+% \cmidrule(lr){1-1}
+% \pkg{tikz} & \cmd{\tikz}\oarg{\dots}\marg{\dots} & \env{tikzpicture}\oarg{\dots} \\
+% \cmidrule(lr){1-1}
+% \pkg{verbatim} & \cmd{\verbatiminput}\marg{\dots} &\\
+% \cmidrule(lr){1-1}
+% \pkg{fancyverb} or
+% \pkg{fvextra}& \cmd{\VerbatimInput}\oarg{\dots}\marg{\dots} &\\
+% & \cmd{\LVerbatimInput}\oarg{\dots}\marg{\dots} &\\
+% & \cmd{\BVerbatimInput}\oarg{\dots}\marg{\dots}& \\
+% \cmidrule(lr){1-1}
+% \pkg{minted} & \cmd{\inputminted}\oarg{\dots}\marg{\dots}\marg{\dots} &\\
% \bottomrule
% \end{tabular}
% \end{table}
-% Single and double quotation marks (with german variants), french quotation marks,
-% inverted exclamation and question marks, and the diacritical
-% commands |\^|, |\'|, |\`|, |\"|, |\~|, |\c|, |\H|, |\k|, |\u| and |\v| are
-% also handled, as are the characters |\aa|, |\ae|, |\l|, |\oe|,
-% |\o|, |\ss|, and their capitalizations. See Tables~\ref{tab:diacritical},
-% \ref{tab:ligatures}, and \ref{tab:other} for more details.
-%
-% In addition, |<| and |>| will be converted to |&lt;| and |&gt;| \emph{within math mode only}.
-% If they should be typed outside of math mode, they will be passed as typed to
-% the HTML, and probably interpreted by students' browsers as HTML tags
-% or other unpredicated results.
-% A doubled dash will be converted to en-dash |&ndash;| \emph{outside math mode}.
%
-% Be aware that \emph{\textsf{moodle} does not know how to convert any
-% other \TeX\ or \LaTeX\ commands to HTML.}
-% If other sequences are used, they may be passed verbatim to the XML file
-% or may cause unpredicted results.
+% In addition, |<| and |>| will be converted to their HTML equivalents |&lt;|
+% and |&gt;| in the \XML\ file. This prevents portions of the code to be
+% interpreted by \Moodle\ as \HTML\ tags.
%
-% \DescribeMacro{\htmlonly}The |\htmlonly|\oarg{Content for traditional output}
-% \marg{HTML content} command is to be used inside question environments (text,
-% answers, or feedback). It lets you pass directly code to the XML file while being
-% ignored for the traditional output (PDF). The HTML content passed as an argument
+% A doubled dash will be converted to en-dash |&ndash;| \emph{outside math mode}.
+% Empty groups |{}| will be passed to the XML only \emph{in math mode}.
+%
+% Be aware that, apart what is described previously, \pkg{moodle} \emph{does
+% not know how to convert any other \TeX\ or \LaTeX\ commands to \HTML.}
+% If other sequences are used, they may be passed verbatim to the \XML\ file
+% or may cause unpredicted results.
+%
+% If you think of another \LaTeX\ command that should be changed to an HTML
+% equivalent, please have a look at Section~\vref{sec:dev}.
+%
+% \DescribeMacro[question,answer,feedback]{\htmlonly}\oarg{Content for traditional output}
+% \marg{HTML content} is a command to be used inside question environments (text,
+% answers, or feedback). It lets you pass directly code to the \XML\ file while being
+% ignored for the traditional output (\PDF). The \HTML\ content passed as an argument
% is subject to no particular processing and users should not expect to be able to
% pass dangerous characters like |\|, |%|, or |#|. An optional argument allows to
% pass contents to be processed for the traditional output. This argument is
-% ignored for the XML output.
+% ignored for the \XML\ output.
% For instance, one can write code like this in a question environment
% \begin{quote}
% |\htmlonly[\fbox{PDF contents}]{|\\
-% |<div style="border: 1px solid green; display: inline-block;">|\\
+% |<div style="border: 1px solid; display: inline-block;">|\\
% \rule{10em}{0pt}|HTML contents</div>|\\
% |}|
% \end{quote}
%
-% \DescribeMacro{\htmlregister}The |\htmlregister| command lets you specify
-% the macros that must be expanded in the XML file. It works only when no
-% optional argument is used.
-%
-% \DescribeMacro{\moodleregisternewcommands}
-% When the list of macros is long, it becomes cumbersome to record them
-% individually for expansion.
-% Calling |\moodleregisternewcommands| triggers the automatic
-% expansion of macros defined subsequently using |\newcommand|,
-% |\renewcommand|, |\providecommand|, or their starred variants.
+% \DescribeMacro[moodle]{\htmlregister}\marg{command} is a command that lets you
+% specify a macro that must be expanded in the \XML\ file. It works only when
+% the macro is defined without optional argument.\watchout
+%
+% \DescribeMacro[moodle]{\moodleregisternewcommands}
+% When the list of user-defined macros is long, it becomes cumbersome to
+% record them individually for expansion. Calling \cmd{\moodleregisternewcommands}
+% watches for subsequent calls to \cmd{\newcommand}, \cmd{\renewcommand},
+% \cmd{\providecommand}, and their starred variants such that the corresponding
+% commands are automatically expanded by \pkg{moodle}.
% Again, this works only if the macros are defined \emph{without} optional
-% argument.
-%
-% If you think of another \LaTeX\ command that should be changed to an HTML
-% equivalent, please have a look at Section~\ref{sec:dev}.
-%
-% \section{Graphics}
-% The \textsf{moodle} package can handle two kinds of graphics seamlessly.
-% External graphics files may be included with the |\includegraphics| command
-% from the |graphicx| package, and graphics may be generated internally using \TikZ.
+% argument.\watchout
+%
+% \subsection{Graphics}
+% The \pkg{moodle} package can handle two kinds of graphics seamlessly.
+% External graphics files may be included with the \cmd{\includegraphics} command
+% from the \pkg{graphicx} package, and graphics may be generated internally using \TikZ.
% In either case, the graphics will be embedded in base-64 encoding directly within
-% the Moodle~XML produced. This prevents the hassle of managing separate
-% graphics files on the Moodle server, as Moodle will store the picture
+% the \Moodle\ \XML\ produced. This prevents the hassle of managing separate
+% graphics files on the \Moodle\ server, as \Moodle\ will store the picture
% within the question in the question bank.
-%
-% \subsection{Default \texttt{includegraphics}}
-% \DescribeMacro{\includegraphics}\DescribeMacro{height}\DescribeMacro{width}
-% When using |\includegraphics|, the only options currently supported
-% are |height| and |width|. Attempts to use other |\includegraphics| options,
-% such as |scale| or |angle|, will affect the PDF but not the XML output.
-% The dimensions set by |height| and |width| are \TeX\ dimensions such as \texttt{4\,in}
-% or \texttt{2.3\,cm}.
-% In order to prepare the image for web viewing, this package converts those
-% dimensions to pixels using a default of
+%
+% \subsubsection{Default \texttt{includegraphics}}
+%
+% \DescribeMacro[graphics,graphicx]{\includegraphics}\oarg{options}\marg{file} can be used to
+% include graphic files in both \PDF\ and the \XML\ outputs.
+% The only options currently supported are \optn{height}\DescribeKey[includegraphics]{height}\
+% and \optn{width}\DescribeKey[includegraphics]{width}. Attempts to use other
+% \cmd{\includegraphics} options, such as \optn{scale} or \optn{angle}, will affect the \PDF\
+% but not the \XML\ output.
+% The dimensions set by \optn{height} and \optn{width} are \TeX\ dimensions such as
+% \texttt{4\,in} or \texttt{2.3\,cm}.
+% In order to prepare the image for web viewing, this package converts those
+% dimensions to pixels using a default of
% 103 pixels per inch.\footnote{This
-% number was selected because an image with
-% |<IMG HEIGHT=103 WIDTH=103 SRC="...">| showed up as almost exactly 1 inch
-% tall and 1 inch wide on several of this author's devices and browsers
+% number was selected because an image with
+% |<IMG HEIGHT=103 WIDTH=103 SRC="...">| showed up as almost exactly 1 inch
+% tall and 1 inch wide on several of this author's devices and browsers
% as of January 2016.}
-% \DescribeMacro{ppi}
-% That value may be changed by setting the |ppi| key (e.g., |ppi=72|);
-% this is probably best done for the entire document with a |\moodleset| command,
+% \DescribeKey[includegraphics]{ppi}
+% That value may be changed by setting the \optn{ppi} key (e.g., \texttt{ppi=72});
+% this is probably best done for the entire document with a \cmd{\moodleset} command,
% rather than image-by-image.
-% \DescribeMacro{\graphicspath}
-% You can use |\graphicspath{{|\emph{path}|}}| to specify a directory where the
-% pictures to be included are located.
-%
-% A special rule was added for the inclusion of GIF pictures (|.gif| extension).
-% These files are passed as-is to the XML, preserving potential animations.
-% However, as pdf\TeX\ engines do not support the GIF format, the picture is
-% passed to the PDF output after a conversion to the PNG format. When the GIF
-% file is animated, only its first frame is passed to the PDF.
-%
-%^^A \DescribeMacro{\DeclareGraphicsAlien} Users may declare other graphic
-%^^A formats with the command |\DeclareGraphicsAlien|\marg{alien extension}
+%
+% \DescribeMacro[graphics,graphicx]{\graphicspath}|{{|\meta{path1}|},{|\meta{path2}|},...}| can be
+% used to specify the locations of the pictures to be included.
+%
+% A special rule was added for the inclusion of \GIF\ pictures (\filenm{.gif} extension).
+% These files are passed as-is to the \XML, preserving potential animations.
+% However, as pdf\TeX\ engines do not support the \GIF\ format, the picture is
+% passed to the \PDF\ output after a conversion to the \PNG\ format. When the \GIF\
+% file is animated, only its first frame is passed to the \PDF.
+%
+%^^A \DescribeMacro[moodle]{\DeclareGraphicsAlien} Users may declare other graphic
+%^^A formats with the command \cmd{\DeclareGraphicsAlien}\marg{alien extension}
%^^A \marg{native extension}\marg{command line for conversion}.
%
-% \subsection{\TikZ\ Pictures}
-% \TikZ\ is a user-friendly syntax layer for PGF, the macro \LaTeX\ package for creating
-% graphics. Users that are not familiar with TikZ\ can learn more here:
-% \url{https://ctan.org/pkg/pgf}.
-%
-% When \TikZ\ is loaded and used to define pictures, \textsf{moodle} invokes
-% the |external| \TikZ\ library, so that each |tikzpicture| environment is compiled
-% to a freestanding PDF file.
+% \subsubsection{\TikZ\ Pictures}
+% \TikZ\ is a user-friendly syntax layer for \acro{PGF}, the macro \LaTeX\ package for creating
+% graphics. More information on \TikZ\ can be found at \url{https://ctan.org/pkg/pgf}.
%
-% \subsection{Package Option \texttt{tikz}}\label{subsec:tikz}
-% \DescribeMacro{tikz}
-% The \textsf{moodle} package admits a \texttt{tikz} option which has the following effects:
+% When \TikZ\ is loaded and used to define pictures, \pkg{moodle} invokes
+% the \pkg{external} \TikZ\ library, so that each \env{tikzpicture} environment is compiled
+% to a freestanding \PDF\ file.
+%
+% \subsubsection{Package Option \optn{tikz}}\label{subsec:tikz}
+% \DescribeOption[moodle]{tikz}
+% The \pkg{moodle} package admits a \optn{tikz} option which has the following effects:
% \begin{itemize}
-% \item the package \texttt{tikz} is loaded.
-% \item \texttt{includegraphics} is embedded in a \TikZ\ picture. Consequences are that
+% \item the package \pkg{tikz} is loaded.
+% \item \DescribeMacro[tikz]{\includegraphics}\cmd{\includegraphics} embeds graphics in a \TikZ\ picture. Consequences are that
% \begin{itemize}
-% \item the pictures encoded in the XML file are resampled. This prevents encoding
-% images at a higher resolution than rendered by Moodle.
-% \item the full set of \texttt{includegraphics} options is accessible,
-% e.g.~|scale=.5|, |angle=90|, or |width=.2\textwidth|.
+% \item the pictures encoded in the \XML\ file are resampled. This prevents encoding
+% images at a higher resolution than rendered by \Moodle.
+% \item the full set of \cmd{\includegraphics} options is accessible,
+% e.g.~\optn{scale=.5}, \optn{angle=90}, or |width=.2\textwidth|.
% \end{itemize}
-% \item \DescribeMacro{\embedaspict} a macro |\embedaspict{...}| is provided for the
-% inclusion of inline \LaTeX\ material as images. This can serve as a workaround to
-% overcome limitations of this package---like the conversion of tabulars to HTML---
-% or limitations of Moodle itself.
-% For the definition of this macro, the package \texttt{varwidth} is loaded.
-% \item optimizations of the \TikZ-external library are disabled. Compilation might get
+% \item \DescribeMacro[tikz]{\embedaspict} a macro \cmd{\embedaspict}\marg{\LaTeX\ contents}
+% is provided for the conversion of inline \LaTeX\ material as images. This can serve
+% as a workaround to overcome limitations of this package---like the conversion of
+% \emph{tabular}s to HTML--- or limitations of \Moodle\ itself.
+% For the definition of this macro, the package \pkg{varwidth} is loaded.
+% \item optimizations of the \TikZ-external library are disabled: compilation might get
% sensibly slower.
% \end{itemize}
%
-% \subsection{External Tools}
+
+% \subsubsection{External Tools}
% The mechanisms used for handling graphics are somewhat fragile and rely upon
% three free external programs.
% \begin{enumerate}
-% \item GhostScript (\url{www.ghostscript.com}) is used to convert the PDF output
-% from \TikZ\ into a PNG raster graphics file.
-% The default command line is presumed to be |gswin64c.exe|
-% (if |\ifwindows| from the |ifplatform| package returns true)
-% or |gs| (if |\ifwindows| returns false).
-% If your system requires a different command line to invoke Ghostscript,
-% \DescribeMacro{\ghostscriptcommand}
+% \item \prog{GhostScript} (\url{www.ghostscript.com}) is used to convert the \PDF\ output
+% from \TikZ\ into a \PNG\ raster graphics file.
+% The default command line is presumed to be \prog{gswin64c.exe}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% (if |\ifwindows| from the \pkg{ifplatform} package returns true)
+% or \prog{gs} (if |\ifwindows| returns false).
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% If your system requires a different command line to invoke \prog{Ghostscript},
+% \DescribeMacro[moodle]{\ghostscriptcommand}
% you may change it by invoking:
% \begin{quote}
% |\ghostscriptcommand|\marg{executable filename}
% \end{quote}
-% \item When external graphics files such as PDF are included,
-% the open-source ImageMagick software (\url{www.imagemagick.org})
-% converts each file to PNG format.
-% The command line for ImageMagick is the nondescript word |convert|,
-% \DescribeMacro{\imagemagickcommand}
-% but may be changed by invoking |\imagemagickcommand|\marg{executable filename}.
-% \item OptiPNG (\url{http://optipng.sourceforge.net/}) is used to optimize the PNG images.
-% The command line is presumed to be |optipng|, but can be changed with
-% \DescribeMacro{\optipngcommand} |\optipngcommand|\marg{executable filename}.
+% \item When external graphics files such as \PDF\ are included,
+% the \prog{ImageMagick} software (\url{www.imagemagick.org})
+% converts each file to \PNG\ format.
+% The command line for \prog{ImageMagick} is the nondescript word \progcode{convert},
+% \DescribeMacro[moodle]{\imagemagickcommand}
+% but may be changed by invoking \cmd{\imagemagickcommand}\marg{executable filename}.
+% \item \prog{OptiPNG} (\url{http://optipng.sourceforge.net/}) is used to optimize the \PNG\ images.
+% The command line is presumed to be \prog{optipng}, but can be changed with
+% \DescribeMacro[moodle]{\optipngcommand}\cmd{\optipngcommand}\marg{executable filename}.
% \end{enumerate}
-%
+
+%
% Please note the following vital points to make the graphics handling work:
% \begin{itemize}
-% \item As of now, graphics are only supported when compiling directly to a PDF
-% with |pdflatex|. Including PS graphics or using \TikZ\ with the DVI$\to$PS workflow is not
+% \item As of now, graphics are only supported when compiling directly to a \PDF\
+% with (\prog{pdf}$\mid$\prog{xe}$\mid$\prog{lua})\prog{latex}. Including \acro{PS} graphics or using \TikZ\ with the \DVI$\to$\acro{PS} workflow is not
% yet supported.
%^^A \item Filenames should not contains spaces or, under windows, special characters like |_| or |\|.
-% \item You must have Ghostscript and ImageMagick installed on your system
-% to fully use the graphics-handling capabilities of \textsf{moodle}.
-% \item If OptiPNG is not installed, the corresponding system calls will fail with otherwise no
-% impact on the compilation process: PNG files are passed unoptimized to the XML output.
-% \item \LaTeX\ must be able to call system commands; that is, |\write18| must be enabled.
-% For Mik\TeX, this means adding |--enable-write18| to the command line of |pdflatex|;
-% for \TeX Live, this means adding |--shell-escape=true|.
-% \item Due to security issues with old versions of Ghostcript, some systems default to a
-% policy that prevents the conversion of PDF and PS to PNG. Assuming that, as a user of
-% \textsf{moodle} which requires shell escape capabilities, you either use a sandboxed
+% \item You must have \prog{Ghostscript} and \prog{ImageMagick} installed on your system
+% to fully use the graphics-handling capabilities of \pkg{moodle}.
+% \item If \prog{OptiPNG} is not installed, the corresponding system calls will fail with otherwise no
+% impact on the compilation process: \PNG\ files are passed unoptimized to the \XML\ output.
+% \item \LaTeX\ must be able to call system commands; that is, \cmd{\write18} must be enabled.
+% For Mik\TeX, this means adding \progcode{--enable-write18} to the command line of
+% (\prog{pdf}$\mid$\prog{xe}$\mid$\prog{lua})\prog{latex}; for \TeX\ Live, this means adding \progcode{--shell-escape=true}.
+% \item Due to security issues with old versions of \prog{Ghostcript}, some systems default to a
+% policy that prevents the conversion of \PDF\ and \acro{PS} to \PNG. Assuming that, as a user of
+% \pkg{moodle} which requires shell escape capabilities, you either use a sandboxed
% environment or trust the files handled at the system-level, you may want to disable this
-% over-zelous security policy. For example,
+% over-zealous security policy. For example,
% \href{https://stackoverflow.com/a/52661288/14608059}{see this}.
-% \item Users of the |circuitikz| package (\url{https://www.ctan.org/pkg/circuitikz}) must
+% \item Users of the \pkg{circuitikz} package (\url{https://www.ctan.org/pkg/circuitikz}) must
% enclose their circuits' \TikZ\ code in the |tikzpicture| environment instead of
-% the historical |circuitikz| environment. That is required, as of \TikZ\ 2.1,
-% by the |external| library.
+% the historical \env{circuitikz} environment. That is required, as of \TikZ\ 2.1,
+% by the \pkg{external} library.
% \end{itemize}
%
-% \subsection{Package Option \texttt{svg}}\label{subsec:svg}
+% \subsubsection{Package Option \optn{svg}}\label{subsec:svg}
%
-% \paragraph{Important Notice} \emph{The \texttt{svg} option is an experimental feature
-% introduced in \textsf{moodle} v0.8. It has been tested exclusively under Linux, with
-% TeXLive 2020, Inkscape v1.0.1 and Scour 0.38.2.}
-%
-% \DescribeMacro{svg} The \textsf{moodle} package admits an experimental \texttt{svg}
-% option which has the following effects:
+% \paragraph{Important Notice}\watchout[experimental] \emph{The \optn{svg} option is
+% an experimental feature introduced in \pkg{moodle} v0.8. It has been tested only
+% under Linux and Windows, with TeX Live 2020, Inkscape v1.0.1 and Scour 0.38.2.}
+%
+% \DescribeOption[moodle]{svg} The \pkg{moodle} package admits an experimental
+% \optn{svg} option which has the following effects:
% \begin{itemize}
-% \item |\includegraphics| can be used to import SVG graphic files directly
-% (extension |.svg| or |.SVG|). In this case, the SVG file is passed as-is to the
-% XML output and is converted using \href{https://inkscape.org/}
-% {Inkscape} (must be installed) for inclusion in the PDF output.
-% \item the graphic files in PDF format are converted to the SVG format using
-% \href{https://inkscape.org/}{Inkscape} (must be installed), rather than beeing
-% rasterized. Before inclusion to the XML output, the SVG file is optimized using
+% \item \DescribeMacro[svg]{\includegraphics}\cmd{\includegraphics} can be used to import
+% \SVG\ graphic files directly (extension \filenm{.svg} or \filenm{.SVG}). In this case, the \SVG\ file
+% is passed as-is to the \XML\ output and is converted using \href{https://inkscape.org/}
+% {\prog{Inkscape}} (must be installed) for inclusion in the \PDF\ output.
+% \item the graphic files in \PDF\ format are converted to the \SVG\ format using
+% \href{https://inkscape.org/}{Inkscape} (must be installed), rather than being
+% rasterized. Before inclusion to the \XML\ output, the \SVG\ file is optimized using
% the \href{https://github.com/scour-project/scour}{Scour} utility. This
% optimization step is optional in the sense that, if the Scour call fails,
-% the unoptimized SVG file will be passed to the XML output.
-% Two processes benefit from this PDF$\to$SVG conversion:
+% the un-optimized \SVG\ file will be passed to the \XML\ output.
+% Two processes benefit from this \PDF$\to$\SVG\ conversion:
% \begin{itemize}
-% \item inclusion of PDF graphics with |\includegraphics|, and
-% \item Tikz pictures that are externalized.
+% \item inclusion of \PDF\ graphics with \cmd{\includegraphics}, and
+% \item \TikZ\ pictures that are externalized.
% \end{itemize}
% \end{itemize}
%
-% \DescribeMacro{\PDFtoSVGcommand}\DescribeMacro{\SVGtoPDFcommand}
-% \DescribeMacro{\optiSVGcommand} The call of external tools can be changed using
-% the macros |\PDFtoSVGcommand| \marg{\dots}, |\SVGtoPDFcommand|\marg{\dots} and
-% |\optiSVGcommand|\marg{\dots}.
%
-% \section{Verbatim Code}
-% Because, for HTML translation, \textsf{moodle} parses the body of questions, the use of
+% The call of external \SVG\ manipulation utilities can be modified using the macros:
+% \begin{description}
+% \item \ItemDescribeMacro[svg]{\PDFtoSVGcommand}\ for conversion
+% from \PDF\ to \SVG,
+% \item \ItemDescribeMacro[svg]{\SVGtoPDFcommand}\ for conversion
+% from \SVG\ to \PDF, and
+% \item \ItemDescribeMacro[svg]{\optiSVGcommand}\ for the
+% optimization of \SVG\ files.
+% \end{description}
+%
+% \subsection{Verbatim Code}
+%
+% Because, for \HTML\ translation, \pkg{moodle} parses the body of questions, the use of
% verbatim code results in compilation errors. This is why the use of |\verb|,
-% |\begin{verbatim}| and other standard utilities is not supported.
+% \env{verbatim} and other standard utilities is not supported.
%
% However, using the following three utilities, verbatim code can be imported from an external file:
% \begin{enumerate}
-% \item \DescribeMacro{\verbatiminput}|\verbatiminput|\marg{filename} from the \textsf{verbatim}
-% package inserts verbatim code in both the PDF and the XML for moodle, without fancy additions.
-% \item \DescribeMacro{\VerbatimInput}The macro |\VerbatimInput|\marg{options}\marg{filename} from
-% \textsf{fancyvrb} or \textsf{fvextra} does more, with several options and settings offered
-% (see below).
-% The variants \DescribeMacro{\BVerbatimInput}|\VBerbatimInput| and
-% \DescribeMacro{\LVerbatimInput}|\LVerbatimInput| are also supported, with identical
-% effect on the XML output.
+% \item \cmd{\verbatiminput}\marg{filename}\DescribeMacro[verbatim]{\verbatiminput}\
+% from the \pkg{verbatim} package inserts verbatim code in both the \PDF\ and the
+% \acro{XML} for \Moodle, without fancy additions.
+% \item The macro \cmd{\VerbatimInput}\marg{options}\marg{filename}
+% \DescribeMacro[fancyvrb,fvextra]{\VerbatimInput}\ from
+% \pkg{fancyvrb} or \pkg{fvextra} does more, with several options and settings
+% offered (see below).
+% The variants \DescribeMacro[fancyvrb,fvextra]{\BVerbatimInput}\cmd{\VBerbatimInput} and
+% \DescribeMacro[fancyvrb,fvextra]{\LVerbatimInput}\cmd{\LVerbatimInput} are also supported,
+% with no difference on the \XML\ output.
% The variants with a star are unsupported and result in errors when used.
-% \item \DescribeMacro{\inputminted}On top of that |\inputminted|\oarg{options}\marg{lang}
-% \marg{filename}from the \textsf{minted} package offers syntaxic highlighting tailored to the
-% specified language.
+% \item On top of that \cmd{\inputminted}\oarg{options}\marg{lang}\marg{filename}\
+% \DescribeMacro[minted]{\inputminted} from the \pkg{minted} package offers syntax
+% highlighting tailored to the specified language.
% \end{enumerate}
-% The \textsf{moodle} package handles these three commands to pass the code in the output XML.
-% With |\inputminted|, an external Python tool, \textsc{pygmentize}, performs syntax analysis and
-% its HTML formatter is used to populate the XML. With the other commands, the contents of the
-% file is passed as-is to the XML. A drawback of this approach, is that characters |<|, |>|,
-% |&|, |'|, and |"| are likely to mislead the web browser rendering the question on Moodle.
+% The \pkg{moodle} package handles these three commands to pass the code in the output \XML.
+% With \cmd{\inputminted}, an external Python tool, \prog{pygmentize}, performs syntax analysis and
+% its \HTML\ formatter is used to populate the \XML. With the other commands, the contents of the
+% file is passed almost as-is to the XML: in order to survive \Moodle\ import and \HTML\ rendering,
+% characters |<|, |>|, |&|, |'|, and |"| are converted to \HTML\ equivalents.
%
-% With |\VerbatimInput| and |\inputminted|, the options that are taken care of for XML
-% generation are listed in Table~\ref{tab:verbatim-options}. Using |\fvset|\marg{key=value,...},
-% options can be set globally. Equivalently, with \textsf{minted},
-% |\setminted|\oarg{lang}\marg{key=value,...} is available.
+% With \cmd{\VerbatimInput} and \cmd{\inputminted}, the options that are taken care of for XML
+% generation are listed in Table~\vref{tab:verbatim-options}.
+% Using \cmd{\fvset}\marg{key=value,\dots}, options can be set globally. Equivalently, with \pkg{minted},
+% \cmd{\setminted}\oarg{lang}\marg{key=value,\dots} is available.
%
% \begin{table}[tbp]
% \centering
% \begin{threeparttable}[b]
-% \caption{Options and corresponding values considered for XML generation of verbatim material
-% with \texttt{VerbatimInput} and \texttt{inputminted}.}
+% \caption{Options and corresponding values considered for \XML\ generation of verbatim material
+% with \cmd{\VerbatimInput} and \cmd{\inputminted}.}
% \label{tab:verbatim-options}
% \begin{tabular}{ll}
% \toprule
% Option keys & Possible values\\\cmidrule(lr){1-1}\cmidrule(lr){2-2}
-% ^^A\texttt{commentchar} & \meta{character}\\
-% \texttt{gobble} & \meta{integer}\\
-% \texttt{autogobble}\tnote{1} & \texttt{true} or \texttt{false}\\
-% \texttt{tabsize} & \meta{integer}\\
-% \texttt{numbers} & \texttt{none}, \texttt{left}, \texttt{right}, or \texttt{both}\tnote{2}\\
-% \texttt{firstnumber} & \texttt{auto}, \texttt{last}, or \meta{integer}\\
-% \texttt{firstline} & \meta{integer}\\
-% \texttt{lastline} & \meta{integer}\\
-% \texttt{numberblanklines} & \texttt{true} or \texttt{false}\\
-% \texttt{highlightlines}\tnote{2} & \marg{coma-separated list of integers or ranges}\\
-% \texttt{style}\tnote{1} & \meta{string}\\
+% ^^A\optn{commentchar} & \meta{character}\\
+% \optn{gobble} & \meta{integer}\\
+% \optn{autogobble}\tnote{1} & \texttt{true} or \texttt{false}\\
+% \optn{tabsize} & \meta{integer}\\
+% \optn{numbers} & \texttt{none}, \texttt{left}, \texttt{right}, or \texttt{both}\tnote{2}\\
+% \optn{firstnumber} & \texttt{auto}, \texttt{last}, or \meta{integer}\\
+% \optn{firstline} & \meta{integer}\\
+% \optn{lastline} & \meta{integer}\\
+% \optn{numberblanklines} & \texttt{true} or \texttt{false}\\
+% \optn{highlightlines}\tnote{2} & \marg{coma-separated list of integers or ranges}\\
+% \optn{style}\tnote{1} & \meta{string}\\
% \bottomrule
% \end{tabular}
%\begin{tablenotes}
-%\item[1] \texttt{autogobble}, \texttt{numbers=both}, and \texttt{style} are offered only by \textsf{minted}.
-%\item[2] line highlighting is offered only with \textsf{fvextra} or \textsf{minted} loaded.
+%\item[1] \optn{autogobble}, \optn{numbers=both}, and \optn{style} are from \pkg{minted}.
+%\item[2] line highlighting is offered only with \pkg{fvextra} or \pkg{minted} loaded.
%\end{tablenotes}
%\end{threeparttable}
%\end{table}
%
% In order to define the verbatim code from the \LaTeX\ document itself, it is still possible
-% to use, outside the scope of the \textsf{moodle} questions, the environments |filecontents*| (from the
-% \textsf{filecontents} package or \LaTeX\ kernel itself since 2019) or |VerbatimOut|
-% (from the \textsf{fancyvrb} and \textsf{fvextra} packages).
-%
+% to use, outside the scope of the \pkg{moodle} questions, the environments \env{filecontents*}
+% (from the \pkg{filecontents} package or \LaTeX\ kernel itself since 2019) or \env{VerbatimOut}
+% (from the \pkg{fancyvrb} and \pkg{fvextra} packages).
+%
% Here is an example:
% \begin{VerbatimOut}[gobble=2]{minted.doc.out}
% \documentclass[12pt,a4paper]{article}
@@ -1294,12 +1949,9 @@
% \inputminted[numbers=left]{latex}{excerpt.tex}
% On which line is the class loaded?
% \item[feedback={
-% yes! \inputminted[highlightlines={4}]{latex}{excerpt.tex}
-% } ] 4
-% \item[feedback={No. On line 3, there is only a comment.},
-% fraction=0] 3
-% \item[feedback={No. On line 5, the package \texttt{moodle} is loaded.},
-% fraction=0] 5
+% yes! \inputminted[highlightlines={4}]{latex}{excerpt.tex} }] 4
+% \item[feedback={Line 3 is just a comment.},fraction=0] 3
+% \item[feedback={Line 5 loads the package \texttt{moodle}},fraction=0] 5
% \end{numerical}
% \begin{multi}[single]{IDE}
% Consider the following \LaTeX\ code excerpt.\\
@@ -1315,117 +1967,184 @@
% \end{document}
% \end{VerbatimOut}
% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
-%
-% When code decorated with left-side line numbers is placed in question items, the output PDF could
-% show a collision between numbers of the item and the first line. To avoid this, |\LVerbatimInput| or
-% |\BVerbatimInput| can be used. Instead, when \textsf{minted} is used, the ``left-right'' mode can be
+%
+% When code decorated with left-side line numbers is placed in question items, the output \PDF\ could
+% show a collision between numbers of the item and the first line. To avoid this, \cmd{\LVerbatimInput} or
+% \cmd{\BVerbatimInput} can be used. Instead, when \pkg{minted} is used, the ``left-right'' mode can be
% enforced with the \LaTeX\ command:
% \begin{quote}
% |\RecustomVerbatimEnvironment{Verbatim}{LVerbatim}{}|
% \end{quote}
%
-% When using utilities from \textsf{fancyvrb}, \textsf{fvextra}, or \textsf{minted}, \textsf{moodle}
-% sets framing options for the display of code in the output PDF:
+% When using utilities from \pkg{fancyvrb}, \pkg{fvextra}, or \pkg{minted}, \pkg{moodle}
+% sets framing options for the display of code in the output \PDF:
% \begin{quote}
% |\fvset{frame=lines,label={[Beginning of code]End of code},|\\
% | framesep=3mm,numbersep=9pt}|
% \end{quote}
-% These settings can be overidden using |\fvset| after the preamble.
+% These settings can be overridden using \cmd{\fvset} after the preamble.
%
-% \section{Calculated Questions}
-% Moodle's calculated questions are not supported by this package.
-%
-% However, as \href{https://github.com/avohns/python-latex-moodle-quiz}{demonstrated by A.
-% Vohns}, an advanced scripting language may be used to generate a series of questions sharing
-% the same prototype.
-%
-% We suggest to apply a specific tag to these questions. After import in Moodle, when creating
-% a quizz, this tag can be selected to narrow down a random selection of questions.
-% This would mimic the behavior of calculated questions while bringing the flexibility of your
-% favorite scripting language.
-%
-% Here are two examples inspired from the work of A. Vohns. The first one relies on the
-% native Lua capabilities of \LuaLaTeX.
-% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% \begin{quiz}[tags={calculated}]{Example Quiz}
-% \directlua{
-% \end{VerbatimOut}
-% \inputminted[gobble=2,frame=topline]{latex}{minted.doc.out}
-% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% function clozenum_print(pair,op,result)
-% tex.print("\\begin{numerical}$"..pair[1].." "..op.." "..pair[2].."
-% =$".."\\item ",result,"\\end{numerical}")
-% end
-% function cloze_print(pair,points)
-% tex.print("\\begin{cloze}[points="..points.."]{Arithmetic Quiz
-% ("..pair[1]..", "..pair[2]..")}Solve the following tasks!\\\\")
-% clozenum_print(pair,"+",pair[1]+pair[2])
-% clozenum_print(pair,"-",pair[1]-pair[2])
-% clozenum_print(pair,"*",pair[1]*pair[2])
-% if pair[1]/pair[2]==math.floor(pair[1]/pair[2]) then
-% clozenum_print(pair,":",math.floor(pair[1]/pair[2]))
-% end
-% tex.print("\\end{cloze}")
-% end
-% for x = 2,4 do
-% for y = 2,4 do
-% if x>y then
-% if x/y==math.floor(x/y) then points=4 else points=3 end
-% cloze_print({x,y},points)
-% end
-% end
-% end
-% \end{VerbatimOut}
-% \inputminted[]{lua}{minted.doc.out}
-% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% }
-% \end{quiz}
-% \end{VerbatimOut}
-% \inputminted[gobble=2,frame=bottomline]{latex}{minted.doc.out}
-% The second example makes use of the \textsf{python} package (|\usepackage{python}|).
-% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% \begin{quiz}[tags={calculated}]{Example Quiz}
-% \begin{python}
-% \end{VerbatimOut}
-% \inputminted[gobble=2,frame=topline]{latex}{minted.doc.out}
-% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% def clozenum_print(pair,op,result):
-% print(rf"""\begin{{numerical}}
-% ${pair[0]} {op} {pair[1]} =$\item {result}
-% \end{{numerical}}""")
-% def cloze_print(pair,points):
-% print(rf"""\begin{{cloze}}[points={points}]{{Arithmetic Quiz
-% {(pair[0],pair[1])}}}Solve the following tasks!\\""")
-% clozenum_print([x,y],"+",x+y)
-% clozenum_print([x,y],"-",x-y)
-% clozenum_print([x,y],"*",x*y)
-% if pair[0]/pair[1] == pair[0]//pair[1]:
-% clozenum_print([x,y],":",x//y)
-% print("\end{cloze}")
-% for x in range(2,5):
-% for y in range(2,5):
-% if x > y:
-% if x/y == x//y:
-% points=4
-% else:
-% points=3
-% cloze_print([x,y],points)
-% \end{VerbatimOut}
-% \inputminted[]{python}{minted.doc.out}
-% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
-% \end{python}
-% \end{quiz}
-% \end{VerbatimOut}
-% \inputminted[gobble=2,frame=bottomline]{latex}{minted.doc.out}
-% These two codes yield the same XML content.
-%
-% \section{Known Limitations and Call for Bug Reports}
-% Table~\ref{tab:support-limitations} lists some features supported, limitations, and
-% bugs.
+% \section{Internationalization}
+%
+% This section is intended for authors of \Moodle\ quizzes writing in one or several
+% languages other than English. It seems reasonable to assume that those users have heard
+% of the packages \pkg{babel} or \pkg{polyglossia} (\XeTeX\ or \LuaTeX\ only), that
+% both aim at enforcing language-related rules to \LaTeX\ documents.
+%
+% The contents of the \XML\ file that is generated by \pkg{moodle} depends entirely
+% on the user input and \Moodle's \XML\ syntax: there is little room for \pkg{moodle} to
+% internationalize something here. Instead, the focus of this section is the \PDF\
+% typesetting that is determined by \pkg{moodle}, where some internalization
+% efforts can be of help.
+%
+% Both \pkg{babel} and \pkg{polyglossia} provide ways of specifiying a language for
+% the document or a part of it. If one of these packages is loaded in the preamble,
+% \pkg{moodle} will automatically load the package \pkg{translator} and rely on it
+% to provide translations of its keys (see Table~\vref{tab:language_keys}) in
+% different languages, with some knowledge on aliases. The package
+% \pkg{translations} does a very similar job and can be loaded in the preamble
+% to serve, if desired, as a replacement for \pkg{translator}.
+%
+% Currently, full-support is provided for English, French, German, Italian, and
+% Spanish. Very limited support is provided for Catalan, Croatian, Czech, Danish, Dutch,
+% Estonian, Finnish, Hungarian, Icelandic, Lithuanian, Norsk, Polish, Portuguese,
+% Romanian, Swedish, and Turkish.
+%
+% Users may define their own translations in the preamble. For instance
+% \begin{quote}
+% |\AfterEndPreamble{|\\
+% | \DeclareTranslation|\marg{babel language name}|{True}{Foo}%|\\
+% | \DeclareTranslation|\marg{babel language name}|{False}{Bar}%|\\
+% |}|
+% \end{quote}
+% Note that, when the package \pkg{translations} is loaded,
+% \cmd{\AfterEndPreamble} must not be used.
+%
+% Contributions to improve or broaden the linguistic support are very welcome.
+%
+% \begin{center}
+% \begin{longtable}{ l p{.55\textwidth} }
+% \caption{\pkg{moodle}'s language keys for internationalization of the \PDF\ typesetting.}
+% \label{tab:language_keys}\\
+% \toprule
+% Key & Context\\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}
+% \endfirsthead
+% \multicolumn{2}{c}%
+% {\tablename\ \thetable\ -- \textit{Continued from previous page}} \\
+% \hline
+% Key & Context\\
+% \cmidrule(lr){1-1}\cmidrule(lr){2-2}
+% \endhead
+% \hline\multicolumn{2}{r}{\textit{Continued on next page}} \\
+% \endfoot
+% \bottomrule
+% \endlastfoot
+% \optn{True} & indicates option ``True'' in a True/False question.\\
+% \optn{False} & indicates option ``False'' in a True/False question.\\
+% \optn{cloze} & tag indicating a ``cloze'' question.\\
+% \optn{description} & tag indicating a ``description'' question.\\
+% \optn{essay} & tag indicating an ``essay'' question.\\
+% \optn{matching} & tag indicating a ``matching'' question.\\
+% \optn{multi} & tag indicating a ``multichoice'' question.\\
+% \optn{numerical} & tag indicating a ``numerical'' question.\\
+% \optn{shortanswer} & tag indicating a ``shortanswer'' question.\\
+% \optn{truefalse} & tag indicating a ``true/false'' question.\\
+% \optn{Shuffle} & tag indicating that options offered will be shuffled in a
+% ``multichoice'' or ``matching'' question.\\
+% \optn{Single} & tag indicating that only one option can be selected in a
+% ``multichoice'' question.\\
+% \optn{Multiple} & tag indicating that several options can be selected in a
+% ``multichoice'' question.\\
+% \optn{marked out of} & tag indicating the weight of the question (maximum
+% number of points), followed by a number.\\
+% \optn{penalty} & tag indicating the penalty factor applied for each wrong
+% attempt in adaptive mode.\\
+% \optn{tags} & indicates the beginning of a tag list characterizing the
+% question.\\
+% \optn{All-or-nothing} & tag indicating that all correct options must be
+% selected to get credited a good answer.\\
+% \optn{Case-Sensitive} & tag indicating that the case of characters matters
+% for a ``Shortanswer'' question.\\
+% \optn{Case-Insensitive} & tag indicating that the case of characters
+% does not matter for a ``Shortanswer'' question.\\
+% \optn{Drag and drop} & tag indicating that a ``matching'' question relies
+% on the Drag-and-drop plugin.\\
+% \optn{Information for graders} & indicates the beginning of a paragraph
+% where instructions for the graders of an ``essay'' question are given.\\
+% \optn{Response template} & indicates the beginning of a paragraph where
+% the answer template of an ``essay'' question is represented.\\
+% \optn{editor} & tag indicating that, for answering an essay question, an
+% editor with \HTML\ support will be proposed.\\
+% \optn{editorfilepicker} & tag indicating that, for answering an essay question,
+% an editor with \HTML\ support and a file picker will be proposed.\\
+% \optn{plain} & tag indicating that, for answering an essay question, an
+% editor with no markup support will be proposed.\\
+% \optn{monospaced} & tag indicating that, for answering an essay question,
+% an editor with fixed-width font and no markup support will be proposed.\\
+% \optn{noinline} & tag indicating that, for answering an essay question, a file
+% picker will be proposed.\\
+% \optn{Total of marks} & at the end of the quiz, indicates the sum of the
+% weights of all questions, followed by a colon and a number. \\
+% \end{longtable}
+% \end{center}
+%
+% \section{Package Development}\label{sec:dev}
+%
+% \subsection{Feature Requests, Bug Reports, and Contributions}
+%
+% This package is developed as a collaborative project, currently hosted
+% on the Gitlab server instance \url{https://framagit.org/mattgk/moodle}.
+% The project's activity can be monitored there: reported issues, last
+% modifications, \dots
+%
+% Contributions, either bug reports or fixes, are welcome. Users willing to
+% help can either sign-in with an existing \brand{GitHub}, \brand{Gitlab.com}, or
+% \brand{Bitbucket} account or register a new account.
+%
+% Of course, getting in touch with the package maintainer by
+% \href{mailto:guerquin-kernATcrans.org}{email} works as well.
+%
+% The authors have used this package together with a limited number of colleagues
+% for a few semesters of teaching. If other users adopt this package, we fully expect them
+% to find bugs.
+%
+% When experiencing a problem and before reporting it, please check whether
+% or not something similar has already been filed as an issue
+% \href{https://framagit.org/mattgk/moodle/-/issues?scope=all&state=all}{here}.
+% If the problem appears to be new, please report it by following these steps:
+% \begin{enumerate}
+% \item Prepare a \emph{minimal} working example, i.e. a \filenm{.tex} file shrunk down
+% to the strict minimum (loaded packages, code, \dots) while still showing the
+% faulty behavior upon compilation.
+% \item Gather and send the \filenm{*.tex}, \filenm{*.log} and \filenm{*-moodle.xml} files together
+% with an explanation about
+% \begin{itemize}
+% \item your local working environment (\TeX\ engine and distribution, platform,
+% external tools used, \dots),
+% \item the version of the \Moodle\ instance you are using
+% (for instance see the file |https://|\meta{server-domain}|/lib/upgrade.txt| )
+% \item the faulty behavior, and
+% \item what you expected instead.
+% \end{itemize}
+% \end{enumerate}
+%
+% \subsection{Known Limitations}
+%
+% When using with pdf\TeX\ for compilation, \pkg{moodle} supports
+% question contents with \acro{ASCII} characters only. The use of
+% non-\acro{ASCII} characters may work in some cases but will most
+% probably yield compilation errors or undesired \XML\ contents.
+%
+% Instead, \pkg{moodle} will work flawlessly when \XeTeX\ and
+% \LuaTeX\ are used to compile \UTF-8 encoded documents.
+%
+% Table~\vref{tab:support-limitations} lists
+% some features supported, limitations, and bugs.
%\begin{table}[tbp]
%\centering
%\begin{threeparttable}[b]
-%\caption{Content enrichment (pictures, equations) support after XML import in Moodle v3.5.7,
+%\caption{Content enrichment (pictures, equations) support after \XML\ import in \Moodle\ v3.5.7,
% depending on the question type.}
%\label{tab:support-limitations}
%\begin{tabular}{lccc}
@@ -1433,23 +2152,23 @@
% & \multicolumn{3}{l}{XML rendering in\dots}\\\cmidrule(lr){2-4}
%Question type & Question & Answer & Feedback\\\cmidrule(lr){1-1}\cmidrule(lr){2-2}
%\cmidrule(lr){3-3}\cmidrule(lr){4-4}
-% \href{https://docs.moodle.org/35/en/Multiple_Choice_question_type}{Multichoice}
+% \href{https://docs.moodle.org/en/Multiple_Choice_question_type}{Multichoice}
%& yes & yes & yes \\
-% \href{https://docs.moodle.org/35/en/Numerical_question_type}{Numerical}
+% \href{https://docs.moodle.org/en/Numerical_question_type}{Numerical}
%& yes & no\tnote{1} & yes \\
-% \href{https://docs.moodle.org/35/en/Short-Answer_question_type}{Short Answer}
+% \href{https://docs.moodle.org/en/Short-Answer_question_type}{Short Answer}
% & yes & no\tnote{1} & yes \\
-% Matching (\href{https://docs.moodle.org/35/en/Matching_question_type}{std})
+% Matching (\href{https://docs.moodle.org/en/Matching_question_type}{std})
%& yes & no\tnote{2} & no\tnote{3} \\
-% Matching (\href{https://docs.moodle.org/35/en/Drag_and_drop_matching_question_type}{dd})
+% Matching (\href{https://docs.moodle.org/en/Drag_and_drop_matching_question_type}{dd})
% & yes & yes\tnote{4} & no\tnote{3} \\
-% \href{https://docs.moodle.org/35/en/Essay_question_type}{Essay}
+% \href{https://docs.moodle.org/en/Essay_question_type}{Essay}
%& yes & yes\tnote{5,6} & yes\tnote{5} \\
-% \href{https://docs.moodle.org/35/en/True/False_question_type}{True/False}
+% \href{https://docs.moodle.org/en/True/False_question_type}{True/False}
%& yes & no & yes \\
-% \href{https://docs.moodle.org/35/en/Description_question_type}{Description}
+% \href{https://docs.moodle.org/en/Description_question_type}{Description}
%& yes & $\varnothing$ & yes \\
-%\href{https://docs.moodle.org/35/en/Embedded_Answers_(Cloze)_question_type}{Cloze} &
+%\href{https://docs.moodle.org/en/Embedded_Answers_(Cloze)_question_type}{Cloze} &
%yes & $\varnothing$& $\varnothing$ \\\cmidrule(lr){1-1}
%\hspace{1em}Numerical & yes & no\tnote{1} & yes \\
%\hspace{1em}Short Answer & yes & no\tnote{1} & yes\tnote{7} \\
@@ -1458,258 +2177,189 @@
%\hspace{1em}Multi (vertical) & yes & yes & yes \\\bottomrule
%\end{tabular}
%\begin{tablenotes}
-%\item[1] Moodle prompts the student for an answer and then compares it to the
+%\item[1] \Moodle\ prompts the student for an answer and then compares it to the
%solutions provided. This is text-only.
-%\item[2] Moodle uses a dropdown list to let one choose among the possible
+%\item[2] \Moodle\ uses a dropdown list to let one choose among the possible
%answers. This forbids either picture inclusion and \LaTeX\ rendering.
-%\item[3] Not supported by Moodle (in this context, answer-specific feedback
+%\item[3] Not supported by \Moodle\ (in this context, answer-specific feedback
%represents lots of possible combinations).
-%\item[4] The drag-and-drop-matching plugin seems broken before version 1.6
-%20190409. Moodle's XML import fails with a \textsf{dmlwriteexception} when
-%the field content exceeds few hundreds characters. This prevents the inclusion
+%\item[4] The drag-and-drop-matching plugin seems broken before version 1.6
+%20190409. \Moodle's \XML\ import fails with a \texttt{dmlwriteexception} when
+%the field content exceeds few hundreds characters. This prevents the inclusion
%of most base64 images and maybe some complicated equations.
-%\item[5] For this question type and in the context of XML generation, the
-%Answer column represents the ``template" while the Feedback column represents
-%the ``notes for the grader". Obviously, the grading process is not automatic
+%\item[5] For this question type and in the context of \XML\ generation, the
+%Answer column represents the ``template" while the Feedback column represents
+%the ``notes for the grader". Obviously, the grading process is not automatic
%and there is no answer-specific feedback.
-%\item[6] Picture and \LaTeX\ rendering could be done, but only after
+%\item[6] Picture and \LaTeX\ rendering could be done, but only after
%submission and only if the keyval ``response format" is set to ``html".
-%\item[7] Moodle only reveals the feedback when hovering the checkmark or X
+%\item[7] \Moodle\ only reveals the feedback when hovering the checkmark or X
%mark with the mouse.
%\end{tablenotes}
%\end{threeparttable}
%\end{table}
-% Tables~\ref{tab:diacritical}, \ref{tab:ligatures}, and \ref{tab:other} describe the current
-% state of support special characters, accents and other diacritical marks.
-%\begin{table}[tbp]
-% \centering
-% \caption{Support for diacritical marks
-% in a UTF8-coded \TeX~document compiled with (pdf)\LaTeX\ (packages
-% \texttt{inputenc} with option \texttt{utf8} and \texttt{fontenc} with option \texttt{T1}),
-% \LuaLaTeX\ or \XeLaTeX\ (package \texttt{fontspec}).}
-% \label{tab:diacritical}
-% \begin{threeparttable}[t]
-% \begin{tabular}{*{6}{l}}
-% \toprule
-% \multicolumn{4}{l}{Input type} & \multicolumn{2}{l}{Engine support}\\
-% \cmidrule(lr){1-4}\cmidrule(lr){5-6}
-% \multicolumn{2}{l}{Unicode} & \multicolumn{2}{l}{\LaTeX} & \XeLaTeX\ or \LuaLaTeX & (pdf)\LaTeX \\
-% \cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}
-% \aa & \AA & \verb|\aa| & \verb|\AA| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \`a & \`A & \verb|\`a| & \verb|\`A| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \^a & \^A & \verb|\^a| & \verb|\^A| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \~a & \~A & \verb|\~a| & \verb|\~A| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \'e & \'E & \verb|\'e| & \verb|\'E| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \`e & \`E & \verb|\`e| & \verb|\`E| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \"e & \"E & \verb|\"e| & \verb|\"E| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \^e & \^E & \verb|\^e| & \verb|\^E| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \^i & \^I & \verb|\^i| & \verb|\^I| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \"i & \"I & \verb|\"i| & \verb|\"I| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \~n & \~N & \verb|\~n| & \verb|\~N| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \~o & \~O & \verb|\~o| & \verb|\~O| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \"o & \"O & \verb|\"o| & \verb|\"O| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \^o & \^O & \verb|\^o| & \verb|\^O| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \`u & \`U & \verb|\`u| & \verb|\`U| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \"u & \"U & \verb|\"u| & \verb|\"U| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \^u & \^U & \verb|\^u| & \verb|\^U| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \c{c} & \c{C} & \verb|\c{c}| & \verb|\c{C}| & Unicode and \LaTeX & Unicode and \LaTeX \\
-% \c{s} & \c{S} & \verb|\c{s}| & \verb|\c{S}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \c{t} & \c{T} & \verb|\c{t}| & \verb|\c{T}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \H{o} & \H{O} & \verb|\H{o}| & \verb|\H{O}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \H{u} & \H{U} & \verb|\H{u}| & \verb|\H{U}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \"y & \"Y & \verb|\"y| & \verb|\"Y| & Unicode and \LaTeX & \LaTeX only\\
-% \k{a} & \k{A} & \verb|\k{a}| & \verb|\k{A}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \k{e} & \k{E} & \verb|\k{e}| & \verb|\k{E}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \k{i} & \k{I} & \verb|\k{i}| & \verb|\k{I}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \k{o} & \k{O} & \verb|\k{o}| & \verb|\k{O}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \k{u} & \k{U} & \verb|\k{u}| & \verb|\k{U}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \u{a} & \u{A} & \verb|\u{a}| & \verb|\u{A}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \u{e} & \u{E} & \verb|\u{e}| & \verb|\u{E}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \u{g} & \u{G} & \verb|\u{g}| & \verb|\u{G}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \u{\i} & \u{I} & \verb|\u{\i}| & \verb|\u{I}| & Unicode and \LaTeX & \LaTeX\ only\tnote{1}\\
-% \u{o} & \u{O} & \verb|\u{o}| & \verb|\u{O}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{c} & \v{C} & \verb|\v{c}| & \verb|\v{C}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{d} & \v{D} & \verb|\v{d}| & \verb|\v{D}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{e} & \v{E} & \verb|\v{e}| & \verb|\v{E}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{l} & \v{L} & \verb|\v{l}| & \verb|\v{L}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{n} & \v{N} & \verb|\v{n}| & \verb|\v{N}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{r} & \v{R} & \verb|\v{r}| & \verb|\v{R}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{s} & \v{S} & \verb|\v{s}| & \verb|\v{S}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{t} & \v{T} & \verb|\v{t}| & \verb|\v{T}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \v{z} & \v{Z} & \verb|\v{z}| & \verb|\v{Z}| & Unicode and \LaTeX & \LaTeX\ only\\
-% \bottomrule
-% \end{tabular}
-% \begin{tablenotes}
-% \item[1] The rendering of |\u{i}| is flawed in (pdf)\LaTeX's traditional output.
-% ^^A \XeLaTeX\ renders correctly |\u{i}|, that is, without a superscript dot.
-% ^^A Instead, with (pdf)\LaTeX\ the rendering of |\u{i}| is flawed by the
-% ^^A superposition of the superscript dot and the breve diacritical mark.
-% ^^A Both engines render |\u{\i}| as expected.
-% \end{tablenotes}
-% \end{threeparttable}
-% \end{table}
%
-%\begin{table}[tbp]
-% \centering
-% \begin{threeparttable}[t]
-% \caption{Support for ligatures in a UTF8-coded \TeX~document compiled with (pdf)\LaTeX\ (packages
-% \texttt{inputenc} with option \texttt{utf8}, \texttt{fontenc} with option \texttt{T1}),
-% \LuaLaTeX\ or \XeLaTeX\ (package \texttt{fontspec}).}
-% \label{tab:ligatures}
-% \begin{tabular}{llllll}
-% \toprule
-% \multicolumn{4}{l}{Input type} & \multicolumn{2}{l}{Engine support}\\
-% \cmidrule(lr){1-4}\cmidrule(lr){5-6}
-% \multicolumn{2}{l}{Unicode} & \multicolumn{2}{l}{\LaTeX} & \XeLaTeX \ or \LuaLaTeX& (pdf)\LaTeX \\
-% \cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(lr){6-6}
-% \ae & \AE & \verb|\ae| & \verb|\AE| & Unicode and \LaTeX & \LaTeX\ only\\
-% \oe & \OE & \verb|\oe| & \verb|\OE| & Unicode and \LaTeX & \LaTeX\ only\\
-% \ss & \SS & \verb|\ss| & \verb|\SS| & Unicode and \LaTeX\tnote{1} & \LaTeX\ only\tnote{2}\\
-% \bottomrule
-% \end{tabular}
-% \begin{tablenotes}[b]
-% \item[1] the Libertine font, used in this documentation and available for instance via the
-% package |libertine|, defines the glyph \SS. Most fonts do not define this glyph.
-% \item[2] \LaTeX\ defines the \verb|\SS| macro but (pdf)\LaTeX\ renders it as a doubled capital S.
-% \end{tablenotes}
-% \end{threeparttable}
-% \end{table}
-%
-%\begin{table}[tbp]
-% \centering
-% \begin{threeparttable}[b]
-% \caption{Support for other glyphs and punctuation marks in a UTF8-coded \TeX~document compiled
-% with (pdf)\LaTeX\ (packages \texttt{inputenc} with option \texttt{utf8}, \texttt{fontenc} with
-% option \texttt{T1}), \LuaLaTeX\ or \XeLaTeX\ (package \texttt{fontspec}).}
-% \label{tab:other}
-% \begin{tabular}{llllll}
-% \toprule
-% \multicolumn{4}{l}{Input type} & \multicolumn{2}{l}{Engine support}\\
-% \cmidrule(lr){1-4}\cmidrule(lr){5-6}
-% \multicolumn{2}{l}{Unicode} & \multicolumn{2}{l}{\LaTeX} & \XeLaTeX\ or \LuaLaTeX & (pdf)\LaTeX \\
-% \cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}
-% \l & \L & \verb|\l| & \verb|\L| & Unicode and \LaTeX & \LaTeX\ only\\
-% \o & \O & \verb|\o| & \verb|\O| & Unicode and \LaTeX & \LaTeX\ only\\
-% « & & \verb|\guillemotleft|\tnote{1} & & Unicode and \LaTeX & \LaTeX\ only\\
-% » & & \verb|\guillemotright|\tnote{1} & & Unicode and \LaTeX & \LaTeX\ only\\
-% ¿ & & \verb|\textquestiondown| & & Unicode and \LaTeX & \LaTeX\ only\\
-% ¡ & & \verb|\textexclamdown| & & Unicode and \LaTeX & \LaTeX\ only\\
-% \bottomrule
-% \end{tabular}
-% \begin{tablenotes}
-% \item[1] for the same symbols the package |babel| defines |\flqq| and |\frqq|, and
-% if loaded with option |french| defines |\og| and |\fg|. These commands
-% are also supported by \textsf{moodle}.
-% \end{tablenotes}
-% \end{threeparttable}
-% \end{table}
-%
-% Some features of Moodle quizzes have not yet been implemented in \textsf{moodle}.
+% Some features of \Moodle\ quizzes have not yet been implemented in \pkg{moodle}.
% Here is a non-exhaustive list.
% \begin{itemize}
-% \item Moodle's feature of designating feedback for correct,
+% \item \Moodle's feature of designating feedback for correct,
% partially correct, and incorrect answers.
-%^^A \item Calculated questions; that is, automatically generated numerical questions
+%^^A \item Calculated questions; that is, automatically generated \env{numerical} questions
%^^A using randomly chosen numbers.
% \item Hints
-% \item Units handling in numerical questions
+% \item Units handling in \env{numerical} questions
% \end{itemize}
-% The authors have used this package together with a limited number of colleagues
-% for a few semesters of teaching. If other users adopt this package, we fully expect them
-% to find bugs. If you run into a problem, please have a look at Section~\ref{sec:dev}.
-%
-% \section{Compatibility}
-% This package has been originally written for and tested with the implementation of
-% Moodle 2.9 run by Moodlerooms for St.~Norbert College in January 2016.
-% Since then, it has been successfully combined with Moodle 3.5.
-% Future versions of this package might include some support for
-% specifying your version of Moodle in the |.tex| file to help ensure compatibility.
-%
-% As the ultimate purpose of this package is the generation of XML files,
-% future versions of \textsf{moodle} will attempt to maintain backwards
-% compatibility with earlier versions regarding the XML output, apart from
+%
+% \subsection{Compatibility}
+% This package has been originally written for and tested with the implementation of
+% \Moodle\ 2.9 run by Moodlerooms for St.~Norbert College in January 2016.
+% Since then, it has been successfully combined with \Moodle\ 3.5.
+%
+% The package option \optn{LMS} lets you specify the targeted \Moodle\ version
+% and helps ensuring compatibility.
+%
+% As the ultimate purpose of this package is the generation of \XML\ files,
+% future versions of \pkg{moodle} will attempt to maintain backwards
+% compatibility with earlier versions regarding the \XML\ output, apart from
% bug fixes.
-% Backwards compatibility of the PDF output is not yet guaranteed, however,
-% in case the author or users discover better ways for the PDF to display
-% the underlying XML data to be proofread.
-%
-% In other words, compiling your current |.tex| file with a future version
-% of \textsf{moodle} should produce the same XML file it does now
+% Backwards compatibility of the \PDF\ output is not yet guaranteed, however,
+% in case the author or users discover better ways for the \PDF\ to display
+% the underlying \XML\ data to be proofread.
+%
+% In other words, compiling your current \filenm{.tex} file with a future version
+% of \pkg{moodle} should produce the same \XML\ file it does now
% (apart from bug fixes),
% but it might produce a more informative, and hence different,
-% PDF output.
-%
-%
-% \section{Unrelated Tip: Quality of Moodle \TeX\ Images}
-% This has nothing to do with \textsf{moodle}, but is a Frequently Asked Question
+% \PDF\ output.
+%
+% \subsection{Unrelated Tip: Quality of \Moodle\ \TeX\ Images}
+% This has nothing to do with \pkg{moodle}, but is a Frequently Asked Question
% in is own right.
-% On some servers, at least, Moodle's default ``\TeX\ Filter'' for
+% On some servers, at least, \Moodle's default ``\TeX\ Filter'' for
% displaying mathematical notation is of abysmally poor quality, rending mathematics
-% as low-resolution PNG's. One solution that has worked for me is to go
+% as low-resolution \PNG's. One solution that has worked for me is to go
% to ``Course Administration $\to$ Filters,'' turn ``\TeX\ Notation'' \emph{off},
% but turn ``MathJax'' \emph{on}. This forces \TeX\ code to be rendered by MathJax
-% instead of Moodle, producing much higher-quality results.
-%
-% \clearpage
-% \section{Package Development}\label{sec:dev}
-% This package is developed as a collaborative project, currently hosted
-% on the Gitlab server instance \url{https://framagit.org/mattgk/moodle}.
-% The project's activity can be monitored there: reported issues, last
-% modifications, \dots
-%
-% Contributions, either bug reports or fixes, are welcome. Users willing to
-% help can either sign-in with an existing \textsf{GitHub}, \textsf{Gitlab.com}, or
-% \textsf{Bitbucket} account or register a new account.
-%
-% Of course, getting in touch with the package maintainer by
-% \href{mailto:guerquin-kernATcrans.org}{email} works as well.
+% instead of \Moodle, producing much higher-quality results.
%
-% When experiencing a problem and before reporting it, please check whether
-% or not something similar has already been filed as an issue
-% \href{https://framagit.org/mattgk/moodle/-/issues?scope=all&state=all}{here}.
-% If the problem appears to be new, please report it by following these steps:
-% \begin{enumerate}
-% \item Prepare a \emph{minimal} working example, i.e. a |.tex| file shunk down
-% to the strict minimum (loaded packages, code, \dots) while still showing the
-% faulty behavior upon compilation.
-% \item Gather and send the |*.tex|, |*.log| and |*-moodle.xml| files together
-% with an explanation about
-% \begin{itemize}
-% \item your working environment (\TeX\ engine and distribution, operating
-% system, \dots),
-% \item the faulty behavior, and
-% \item what you expected instead.
-% \end{itemize}
-% \end{enumerate}
-%
% ^^A\clearpage
% \changes{v0.5}{2016/01/05}{Initial version}
-% \changes{v0.6}{2019/02/18}{Bux-fixing release}
+% \changes{v0.6}{2019/02/18}{Bug-fixing release}
% \changes{v0.7}{2020/07/09}{Feature extensions}
% \changes{v0.8}{2021/01/04}{Bug fixes and feature extensions}
% \changes{v0.9}{2021/02/07}{Bug fixes and feature extensions}
-% \begin{changelog}[title={Version History},author={Matthieu Guerquin-Kern}]
+% \changes{v1.0}{2023/01/28}{Bug fixes and feature extensions}
+% \begin{changelog}[title={Version History},sectioncmd=\section*,author={Matthieu Guerquin-Kern}]
+% ^^A \begin{version}[version=\fileversion,]^^Adate=]
+% ^^A \end{version}
+% \begin{version}[version=1.0,date=2023-01-28]
+% \added
+% ^^A \item A section describing the use of templates for generating large number
+% ^^A of quizzes has been added (courtesy of Colin Caprani).
+% \item For templating purposes, in \optn{draft} mode, general TeX code can
+% now be used in items and |tolerance| key of numerical questions
+% (courtesy of Colin Caprani).
+% \item Support for the \env{quote} and \env{quotation} environments in the HTML
+% conversion process (courtesy of Gerald Teschl).
+% \item Experimental package option \optn{pluginfile} mimics the way
+% \Moodle\ embeds pictures in the \XML.
+% \item Answer box for Essay questions with \optn{handout}.
+% \item Key-value package option \optn{LMS} to target a specific version
+% of \Moodle.
+% \item Support for more text mode diacritic and horizontal spacing
+% commands.
+% \item Macros \cmd{\moodleversion} and \cmd{\moodledate} are defined.
+% \item Experimental package option \optn{samepage} to avoid splitting
+% questions across multiple pages.
+% \item \optn{sanction} key to set default mark for incorrect answers.
+% \item Started the internationalization of the package based on
+% \pkg{translator} (optionally \pkg{translations}). English,
+% French, German, Italian, and Spanish
+% are fully supported (with help from J\"urgen Vollmer for German
+% and Romano Giannetti for Italian and Spanish). Contributions are welcome.
+% \item Warn user of the \pkg{babel} package set for Turkish
+% that using the shorthands will not play well with \pkg{moodle}.
+% \item Support for \cmd{\i} in conversion to \HTML.
+% \item \SVG\ option support for Windows (courtesy of Wolf M\"uller).
+% \changed
+% \item In Cloze \env{multi} subquestions, the default mode is
+% \optn{inline} when only one answer is to be selected and
+% \optn{vertical} when several answers can be selected.
+% \item Single straight quotes (apostrophe) in math mode are passed as-is
+% to the \XML\ (with help from Keno Wehr).
+% \item Empty groups |{}| in math-mode are passed as-is to the \XML\
+% (with help from Keno Wehr).
+% \item Inside \env{cloze} subquestions, \optn{points} are forced to the
+% nearest positive integer. ^^AA warning is issued when the user setting
+% ^^Ais modified.
+% \item \XML\ stamp exposes compilation time.
+% \item Labels of proposed answers now following \Moodle's convention
+% (\emph{1., 2., \dots}) in the \PDF\ typesetting of \env{multi} questions.
+% \item Automatic sanction mechanism for incorrect choices in \env{multi}
+% questions with multiple answers allowed. Now applies also inside
+% \env{cloze} questions.
+% \item In \env{cloze} subquestions, non-integer fractions are rounded.
+% \item Rewording of some indications in the \PDF, related to internationalization.
+% \item The answers of \env{matching} questions are now converted to \HTML\
+% (accents and \cmd{\htmlonly} in mind).
+% \removed
+% \item Support for non-\acro{ASCII} characters abandoned when compiling
+% with \prog{pdflatex}.
+% \fixed
+% \item In math-mode, \cmd{\underline} is no longer translated to \HTML.
+% \item Preexisting pictures no longer get deleted when including graphics
+% without specifying the extension (courtesy of Colin Caprani).
+% \item In answers of \env{matching} questions, some \TeX\ macros will not
+% break compilation. A problem with curly braces persists.
+% \item The cloze subquestions now inherit \optn{points} set at
+% the higher levels.
+% \item Option \optn{single=false} now works in Cloze \env{multi} questions.
+% \item Undesired trailing spaces are removed from offered answers in
+% \env{matching} question.
+% \item Compatibility with \pkg{siunitx} version 3.
+% \item Compatibility with \pkg{minted} starting from 2021/12/24 v2.6.
+% \item Different issues with graphics handling on Windows (\prog{magick},
+% \prog{del}, \prog{move},\dots).
+% \item Symbols |<| and |>| are translated to \HTML\ equivalents, also in
+% text-mode.
+% \item Warning german-writing and (Xe$\mid$Lua)\TeX\ users about troubles
+% caused by text-mode umlauts.
+% \item In \env{cloze} subquestions items and outside math environments,
+% the equal symbol (|=|) no longer interferes with the Cloze syntax.
+% \item A pagebreak occuring inside cloze shortanswers would reset page numbers.
+% \item The redefinition of the \env{description} environment is limited to
+% the scope of the \env{quiz}.
+% \item PDF typesetting of matching answers (line breaks, repeated matches).
+% \item Symbols \cmd{\%} found inside math mode are escaped for \HTML.
+% \item The \optn{fraction} keys specified inside \env{cloze} questions are
+% forced to integer values as required by \Moodle's \XML\ format.
+% \item True/False no longer broken when \pkg{hyperref} is loaded.
+% \item Tolerances in \env{numerical} answers now correctly displayed in \PDF.
+% \item Warning for users running a too old version of \pkg{graphics}.
+% \item In the code included with \pkg{verbatim}, \pkg{fancyvrb}, or
+% \pkg{fvextra}, characters that matter for \HTML\ are escaped.
+% \end{version}
% \begin{version}[version=0.9,date=2021-02-07]
% \added
-% \item Support for \href{https://docs.moodle.org/310/en/All_or_nothing_multiple_choice_question_type}
+% \item Support for \href{https://docs.moodle.org/en/All_or_nothing_multiple_choice_question_type}
% {all-or-nothing multiple choice} questions.
-% \item Support for the ogonek diacritical mark via |\k|\marg{\dots}.
-% \item Warn user of the \texttt{babel} package set for a German-related language
-% that using the character |"| will not play well with \textsf{moodle}.
-% \item Support for \textsf{babel} commands related to German quotes.
+% \item Support for the ogonek diacritical mark via \cmd{\k}\marg{\dots}.
+% \item Warn user of the \pkg{babel} package set for a German-related language
+% that using the character |"| will not play well with \pkg{moodle}.
+% \item Support for \pkg{babel} commands related to German quotes.
% \item Support for en-dash (--) outside of math mode.
-% \item Support for |\%| in conversion to HTML.
-% \item Command |\htmlonly[]{}| to pass HTML contents directly to the XML file.
+% \item Support for \cmd{\%} in conversion to \HTML.
+% \item Command |\htmlonly[]{}| to pass \HTML\ contents directly to the \XML\ file.
% \changed
% \item An error is issued when a graphics conversion step fails.
-% \item Irrelevant points are no longer written at the cloze question level in PDF and XML.
-% \item The total number of marks is shown in the PDF at the end of each quiz.
-% \item The |tags| key can now be used to specify a comma-separated list of tags.
+% \item Irrelevant points are no longer written at the \env{cloze} question level in \PDF\ and \XML.
+% \item The total number of marks is shown in the \PDF\ at the end of each quiz.
+% \item The \optn{tags} key can now be used to specify a comma-separated list of tags.
% \fixed
-% \item Answer text of shortanswer questions is converted to HTML.
-% \item Paragraph breaks in multi and essay items no longer break compilation.
-% \item Question text in Essays was not shown in PDF file.
-% \item Commands |\textsc|, |\underline|, |\url|, and |\href| yielded HTML code with
+% \item Answer text of \env{shortanswer} questions is converted to \HTML.
+% \item Paragraph breaks in \env{multi} and \env{essay} items no longer break compilation.
+% \item Question text in Essays was not shown in \PDF\ file.
+% \item Commands \cmd{\textsc}, \cmd{\underline}, \cmd{\url}, and \cmd{\href} yielded \HTML\ code with
% inadequate double quotation marks.
% \item Broken base64-encoding pipeline for images under Windows (thanks to Andreas Vohns).
% \item Repeated single right quotation marks no longer merged in math mode
@@ -1717,64 +2367,64 @@
% \end{version}
% \begin{version}[version=0.8,date=2021-01-04]
% \added
-% \item Support for inclusion of GIF pictures.
-% \item Added package option |svg| to avoid the rasterization of vector graphics.
-% \item New macro |\setsubcategory| to define subcategories, reflected in PDF and XML.
-% \item Package option |handout| for sharing PDF with students.
+% \item Support for inclusion of \GIF\ pictures.
+% \item Added package option \optn{svg} to avoid the rasterization of vector graphics.
+% \item New macro \cmd{\setsubcategory} to define subcategories, reflected in \PDF\ and \XML.
+% \item Package option \optn{handout} for sharing \PDF\ with students.
% \item Extensions can be omitted when including pictures.
% \item Description question type.
-% \item \LuaLaTeX\ is now supported (and recommended for UTF8-coded sources).
+% \item \LuaLaTeX\ is now supported (and recommended for \UTF-8 coded sources).
% \item Examples of ways to reproduce the behavior of calculated questions.
% \item Command to trigger the automatic recording of new commands.
-% \item Mechanism to match |fraction| key to values accepted by Moodle.
-% \item A |fractiontol| key to control the tolerance in this mechanism.
+% \item Mechanism to match \optn{fraction} key to values accepted by \Moodle.
+% \item A \optn{fractiontol} key to control the tolerance in this mechanism.
% \item Support for inverted punctuation marks |¿| and |¡|.
-% \item Support for |\_| and |\textbackslash|.
-% \item Support for the wildcard character as an answer in numerical questions.
+% \item Support for \cmd{\_} and \cmd{\textbackslash}.
+% \item Support for the wildcard character as an answer in \env{numerical} questions.
% \changed
-% \item Template of Essay questions is now shown in PDF.
-% \item The macro |\setcategory| is reflected by a new section in PDF.
-% \item In matching questions, warnings are raised if the number of items is insufficient.
-% \item Improved display of matching questions in PDF.
-% \item The package \textsf{iftex} is now required.
-% \item An error is thrown when |fraction| is set to an invalid value.
-% \item In numerical questions, the tolerance can be set in exponent form.
-% \item Nicer PDF rendering of numbers in numerical questions if \textsf{siunitx} is loaded.
-% \item Included PNG and JPEG files are now directly converted to base64.
+% \item Template of Essay questions is now shown in \PDF.
+% \item The macro \cmd{\setcategory} is reflected by a new section in \PDF.
+% \item In \env{matching} questions, warnings are raised if the number of items is insufficient.
+% \item Improved display of \env{matching} questions in \PDF.
+% \item The package \pkg{iftex} is now required.
+% \item An error is thrown when \optn{fraction} is set to an invalid value.
+% \item In \env{numerical} questions, the tolerance can be set in exponent form.
+% \item Nicer \PDF\ rendering of numbers in \env{numerical} questions if \pkg{siunitx} is loaded.
+% \item Included \PNG\ and \acro{JPEG} files are now directly converted to base64.
% \fixed
-% \item TeX's inline math (|$...$|) can now contain escaped dollar signs (|\$|).
-% \item Closing braces escaped in cloze subquestions outside math environment.
-% \item The scope of the |tolerance| key is now respected.
+% \item TeX's inline math (\texttt{$...$}) can now contain escaped dollar signs (\cmd{\$}).
+% \item Closing braces escaped in \env{cloze} subquestions outside math environment.
+% \item The scope of the \optn{tolerance} key is now respected.
% \end{version}
% \begin{version}[version=0.7,date=2020-09-06]
% \added
% \item Support for inclusion of verbatim code.
-% \item Package option \texttt{tikz}.
-% \item Support for |\"Y| and |\"y|.
-% \item New commands converted to XML.
-% \item Adding a stamp comment in XML, package option offered to disable
+% \item Package option \optn{tikz}.
+% \item Support for \cmd{\"Y} and \cmd{\"y}.
+% \item New commands converted to \XML.
+% \item Adding a stamp comment in \XML, package option offered to disable
% this behavior.
-% \item Support for the |\tikz| command.
+% \item Support for the \cmd{\tikz} command.
% \item A different directory can be specified for picture inclusion.
-% \item Warn user of the \texttt{babel} package set for french that autospacing
+% \item Warn user of the \pkg{babel} package set for French that autospacing
% must be deactivated.
% \item Square bracket math delimiters are recognized and converted properly.
% \item Support of breve and caron diacritical marks.
% \changed
-% \item In multi with multiple answers allowed, choosing all options no longer
+% \item In \env{multi} with multiple answers allowed, choosing all options no longer
% results in a good grade. An automatic penalty mechanism is introduced.
% Can be overridden by manually setting fractions.
% \removed
-% \item Irrelevant \texttt{penalty} tag in cloze subquestions.
+% \item Irrelevant \optn{penalty} tag in \env{cloze} subquestions.
% \fixed
-% \item Non-integer fractions can now be specified in cloze subquestions.
-% \item Significantly squeeze PNG images size by skipping ancillary data.
+% \item Non-integer fractions can now be specified in \env{cloze} subquestions.
+% \item Significantly squeeze \PNG\ images size by skipping ancillary data.
% \item Enumerate or itemize environment can now be nested in question items.
% \item Several pictures can be included in a question without being mixed
-% in the XML file.
+% in the \XML\ file.
% \item Management and rendering of fraction in questions.
% \item Correctly handling a \LaTeX\ command starting the last item of a question.
-% \item Closing braces escaped in cloze subquestions. This allows \LaTeX\
+% \item Closing braces escaped in \env{cloze} subquestions. This allows \LaTeX\
% equations or images to be included.
% \item Image inclusion with macOS.
% \end{version}
@@ -1782,47 +2432,51 @@
% \added
% \item New package options to set section or subsection at the quiz level.
% \item True/False question type is now supported.
-% \item Moodle tags can now be specified for questions (and rendered in PDF
+% \item \Moodle\ tags can now be specified for questions (and rendered in \PDF\
% as well).
-% \item In cloze questions, the \texttt{multiresponse} subquestion type is
+% \item In \env{cloze} questions, the multiresponse subquestion type is
% now supported.
% \removed
-% \item External dependency on \texttt{OpenSSL}.
-% \item Irrelevant tags were written in XML for matching questions.
+% \item External dependency on \prog{OpenSSL}.
+% \item Irrelevant tags were written in \XML\ for \env{matching} questions.
% \fixed
% \item \TikZ\ externalization now works when using \XeLaTeX.
% \item It is now possible to set points manually among several correct
% answers in multichoice questions.
-% \item General feedbacks can now contain backslashes.
+% \item General feedback can now contain backslashes.
% \item Several quizzes can now be defined in a single source file, each
-% specifying a category for Moodle's question bank.
-% \item Correct encoding information is now written in XML depending on
+% specifying a category for \Moodle's question bank.
+% \item Correct encoding information is now written in \XML\ depending on
% the \LaTeX\ compiler used.
% \end{version}
% \begin{version}[version=0.6a,date=2019-06-21]
% \added
-% \item \XeLaTeX\ is now recommended when using UTF8-encoded sources (support
+% \item \XeLaTeX\ is now recommended when using \UTF-8 encoded sources (support
% of accents).
-% \item Feedbacks are now displayed in the PDF file produced.
-% \item The \texttt{optipng} utility is used to reduce the size
-% of images embedded in the XML file.
-% \item Question options and settings are now displayed in the PDF file
+% \item Feedbacks are now displayed in the \PDF\ file produced.
+% \item The \prog{OptiPNG} utility is used to reduce the size
+% of images embedded in the \XML\ file.
+% \item Question options and settings are now displayed in the \PDF\ file
% \item Supporting more \LaTeX\ macros for symbols and accents (mostly
% diacritical marks and ligatures).
% \item Introduce shuffle options in cloze-multi subquestions.
-% \item Package option \texttt{final}.
+% \item Package option \optn{final}.
% \changed
% \item In draft mode, \TikZ\ externalization is no longer triggered.
% \fixed
% \item In the different question types, the feedback fields are now converted
-% for HTML allowing \LaTeX\ equation and images.
+% for \HTML\ allowing \LaTeX\ equations and images.
% \item Documentation improvements (limitations and previously undocumented
% features).
% \end{version}
% \shortversion{version=0.5,date=2016-01-05,simple,changes=Initial version,author={Anders O.F. Hendrickson}}
% \end{changelog}
-%
-% \StopEventually{}
+% \addcontentsline{toc}{section}{Version History}%
+% \PrintIndex
+% \addcontentsline{toc}{section}{Index}%
+% \StopEventually{%
+%^^A \PrintChanges
+% }
%
% \section{Implementation}
% \subsection{Packages, Options, and Utilities}
@@ -1836,18 +2490,36 @@
\newif\ifmoodle@section
\newif\ifmoodle@subsection
\newif\ifmoodle@numbered
+\newif\ifmoodle@international
+\newif\ifmoodle@feedbackLeft% contribution of Juergen Vollmer, 2021-03-05
+\newif\ifmoodle@samepage% contribution of Romano Giannetti, 2021-03-07
+\newif\ifmoodle@pluginfile%
+
+%% Moodle version
+\RequirePackage{xkeyval}%For key-handling
+\newcount\moodle@LMSmajor% major version number of the LMS targeted
+\newcount\moodle@LMSminor% minor version number of the LMS targeted
%%DECLARATION OF OPTIONS
-\DeclareOption{draft}{\moodle@draftmodetrue}
-\DeclareOption{handout}{\moodle@handouttrue}
-\DeclareOption{final}{\moodle@draftmodefalse}
-\DeclareOption{nostamp}{\moodle@stampmodefalse}
-\DeclareOption{tikz}{\moodle@tikztrue}
-\DeclareOption{svg}{\moodle@svgtrue}
-\DeclareOption{section}{\moodle@sectiontrue\moodle@numberedtrue}
-\DeclareOption{section*}{\moodle@sectiontrue\moodle@numberedfalse}
-\DeclareOption{subsection}{\moodle@sectionfalse\moodle@numberedtrue}
-\DeclareOption{subsection*}{\moodle@sectionfalse\moodle@numberedfalse}
+\DeclareOptionX{draft}{\moodle@draftmodetrue}%
+\DeclareOptionX{handout}{\moodle@handouttrue}%
+\DeclareOptionX{final}{\moodle@draftmodefalse}%
+\DeclareOptionX{nostamp}{\moodle@stampmodefalse}%
+\DeclareOptionX{tikz}{\moodle@tikztrue}%
+\DeclareOptionX{svg}{\moodle@svgtrue}%
+\DeclareOptionX{section}{\moodle@sectiontrue\moodle@numberedtrue}%
+\DeclareOptionX{section*}{\moodle@sectiontrue\moodle@numberedfalse}%
+\DeclareOptionX{subsection}{\moodle@sectionfalse\moodle@numberedtrue}%
+\DeclareOptionX{subsection*}{\moodle@sectionfalse\moodle@numberedfalse}%
+\DeclareOptionX{feedbackleft}{\moodle@feedbackLefttrue}% contribution of Juergen Vollmer, 2021-03-05
+\DeclareOptionX{feedbackright}{\moodle@feedbackLeftfalse}% default
+\DeclareOptionX{samepage}{\moodle@samepagetrue}% contribution of Romano Giannetti, 2021-03-07
+\DeclareOptionX{LMS}[0.0]{%
+ \filename@parse{#1}%
+ \moodle@LMSmajor=\filename@base
+ \moodle@LMSminor=\filename@ext
+}%
+\DeclareOptionX{pluginfile}{\moodle@pluginfiletrue}%
\moodle@draftmodefalse
\moodle@handoutfalse
@@ -1857,16 +2529,27 @@
\moodle@svgfalse
\moodle@subsectiontrue
\moodle@numberedfalse
+\moodle@feedbackLeftfalse% contribution of Juergen Vollmer, 2021-03-05
+\moodle@samepagefalse% contribution of Romano Giannetti, 2021-03-07
+\moodle@pluginfilefalse
+
+\ProcessOptionsX*% the star allows to inherit 'draft' and 'final' from the class
-\ProcessOptions
+\ifmoodle@samepage
+ \def\moodle@begin@samepage{\minipage[t]{\linewidth}}
+ \def\moodle@end@samepage{\endminipage\vskip 0pt plus 50pt\relax}
+\else
+ % defining to relax is safer versus adding spurious spaces
+ \def\moodle@begin@samepage{\relax}
+ \def\moodle@end@samepage{\relax}
+\fi
\RequirePackage{environ} %To be able to take environment body as a macro argument
-\RequirePackage{xkeyval} %For key-handling
\RequirePackage{amssymb} %For \checkmark symbol
%\RequirePackage{trimspaces} %To remove extra spaces from strings (loaded by environ)
\@ifpackageloaded{iftex}{}{\RequirePackage{iftex}}
% iftex already required by recent versions of ifplatform. Needed to know:
-% 1) whether we can convert output from PDF to PNG (ifpdf),
+% 1) whether we can convert output from PDF to \PNG\ (ifpdf),
% 2) when output pdf is latin1-encoded (ifpdf)
% 3) when output xml is utf8-encoded (if?tex)
\@ifundefined{ifeTeX}{% version of 'iftex' prior to November 2019.
@@ -1878,11 +2561,12 @@
\fi
}
\RequirePackage{etoolbox}%List management
-\RequirePackage{xpatch} %To patch commands easily in HTML mode
+\RequirePackage{xpatch} %To patch commands easily in \HTML\ mode
\RequirePackage{array} %For formatting tables in the LaTeX mode of Clozes
\RequirePackage{ifplatform} % To choose Ghostscript commands
\@ifundefined{ifpdf}{\RequirePackage{ifpdf}}{}% old iftex would not define the conditional
\RequirePackage{shellesc} %Luatex-compatible way of getting system access
+\RequirePackage{readprov} %To gather information on the package (version, date, ...)
\RequirePackage{fancybox} %For fancy LaTeX tags
\RequirePackage{getitems} %To gather the header and items
\ifmoodle@handout
@@ -1892,6 +2576,10 @@
\RequirePackage{graphicx} %To include graphics
\fi
+\GetFileInfo{moodle.sty}%
+\edef\moodledate{\filedate}%
+\edef\moodleversion{\fileversion}%
+
\let\xa=\expandafter
\def\@star{*}%
\def\@hundred{100}%
@@ -1903,12 +2591,12 @@
% Taken from https://tex.stackexchange.com/questions/47576/combining-ifxetex-and-ifluatex-with-the-logical-or-operation
\@ifundefined{ifTUTeX}{
\newif\ifTUTeX % a new conditional starts as false
- \ifnum 0\ifXeTeX 1\fi\ifLuaTeX 1\fi>0%
+ \ifnum 0\ifXeTeX 1\fi\ifLuaTeX 1\fi>0\relax
\TUTeXtrue
\fi
}{}%
\newif\ifpdfoutput % a new conditional starts as false
-\ifnum 0\ifTUTeX 1\fi\ifPDFTeX\ifpdf 1\fi\fi>0%
+\ifnum 0\ifTUTeX 1\fi\ifPDFTeX\ifpdf 1\fi\fi>0\relax
\pdfoutputtrue
\fi
% \end{macrocode}
@@ -1942,7 +2630,7 @@
\jobnamewithsuffixtomacro{\outputfilename}{-moodle.xml}
% \end{macrocode}
-% Next, we create macros to open and close the Moodle XML file
+% Next, we create macros to open and close the Moodle \XML\ file
% we will be writing.
% \begin{macrocode}
\newwrite\moodle@outfile
@@ -1959,7 +2647,17 @@
\fi
\fi
\ifmoodle@stampmode
- \def\moodle@stamp{This file was generated on \the\year-\two@digits\month-\two@digits\day}
+ \def\moodle@stamp{This is a question bank made for Moodle }
+ \ifnum\the\moodle@LMSmajor\the\moodle@LMSminor=\z@\else
+ \g@addto@macro{\moodle@stamp}{\the\moodle@LMSmajor.\the\moodle@LMSminor.\space}
+ \fi
+ \writetomoodle{<!-- \moodle@stamp -->}%
+ \newcount\hour\hour=\time
+ \divide\hour by 60\relax
+ \newcount\minute\minute=\hour
+ \multiply\minute by -60\relax
+ \advance\minute by \time\relax
+ \def\moodle@stamp{It was generated on \the\year-\two@digits\month-\two@digits\day\space \the\hour:\the\minute}
\ifPDFTeX % pdflatex or latex
\ifpdf % pdflatex
\g@addto@macro{\moodle@stamp}{ by pdfLaTeX }%
@@ -1977,9 +2675,9 @@
\fi
\fi
\fi
- \writetomoodle{<!-- \moodle@stamp -->}%
- \def\moodle@stamp{running on \platformname}%
- \g@addto@macro{\moodle@stamp}{ with the package moodle v0.9 }%
+ \writetomoodle{<!-- \moodle@stamp running -->}%
+ \def\moodle@stamp{on \platformname}%
+ \g@addto@macro{\moodle@stamp}{ with the package moodle \moodleversion\space (\moodledate) }%
\writetomoodle{<!-- \moodle@stamp -->}%
\fi
\immediate\write\moodle@outfile{}%
@@ -1991,30 +2689,31 @@
\immediate\closeout\moodle@outfile
}%
% \end{macrocode}
-%
-% To both make this |.sty| file and the XML output more readable,
+%
+% To both make this \filenm{.sty} file and the \XML\ output more readable,
% we create a mechanism for writing to the output file with indents.
-% The macro |\calculateindent|\marg{$n$} globally defines
+% The macro |\calculateindent|\marg{$n$} globally defines
% |\moodle@indent| to be a string of \meta{$n$} |\otherspace|'s.
% \begin{macrocode}
+\newcount\moodle@indentnum
\def\calculateindent#1{%
\bgroup
- \count0=\number#1\relax
+ \moodle@indentnum=\number#1\relax
\gdef\moodle@indent{}%
\calculateindent@int
\egroup
}%
\def\calculateindent@int{%
- \ifnum\count0>0\relax
+ \ifnum\moodle@indentnum>0\relax
\g@addto@macro{\moodle@indent}{\otherspace}%
- \advance\count0 by -1\relax
+ \advance\moodle@indentnum by -1\relax
\expandafter
\calculateindent@int
\fi
}%
% \end{macrocode}
-% Now the command |\writetomoodle|\oarg{n}\marg{stuff} adds the line
-% ``\meta{stuff}'' to the XML file
+% Now the command |\writetomoodle|\oarg{n}\marg{stuff} adds the line
+% ``\meta{stuff}'' to the \XML\ file
% preceded by an indent of \meta{n} spaces.
% Note that this command |\edef|'s its second argument.
% \begin{macrocode}
@@ -2029,7 +2728,7 @@
}%
% \end{macrocode}
% We now create the main |quiz| environment that will contain
-% the questions we write. It outputs to XML as a |<question type="category">| tag.
+% the questions we write. It outputs to \XML\ as a |<question type="category">| tag.
% \begin{macrocode}
{\catcode`\$=12\catcode`\ =12% in this context we cannot indent with spaces...
\gdef\moodle@write@category@xml#1{%
@@ -2044,7 +2743,8 @@
}{}%
}}%
\newcommand*\@enumeratename{enumerate}%
-\newdimen\moodle@totalmarks \moodle@totalmarks=0pt%
+\newdimen\moodle@totalmarks
+\gdef\moodle@currentcategory{}%
\newenvironment{quiz}[2][]{%
\setkeys{moodle}{#1}%
\gdef\setcategory##1{%
@@ -2069,7 +2769,7 @@
\subsection*{##1}%
\fi
\fi
- \begin{enumerate}%
+ \begin{enumerate}\renewcommand\labelenumi{(\theenumi)}%
}%
\gdef\setsubcategory##1{%
\def\@noitemerr{}%\@latex@warning{Empty question list}
@@ -2088,17 +2788,18 @@
\subsubsection*{##1}%
\fi
\fi
- \begin{enumerate}%
+ \begin{enumerate}\renewcommand\labelenumi{(\theenumi)}%
}%
\setcategory{#2}%
+ \moodle@totalmarks=0pt%
}{%
\end{enumerate}%
- \emph{Total of marks: \strip@pt\moodle@totalmarks}%
+ \emph{\GetTranslation{Total of marks}: \strip@pt\moodle@totalmarks}%
\let\setcategory\relax
\let\setsubcategory\relax
}%
-% \end{macrocode}
+% \end{macrocode}
% The next utility takes a single macro control sequence |#1|,
% and allows that macro's current value to persist
% after the next |\egroup|, |}|, or |\endgroup|.
@@ -2107,17 +2808,17 @@
\xa\xa\xa\gdef\xa\xa\csname moodle@remember@\string#1\endcsname\xa{\xa\def\xa#1\xa{#1}}%
\xa\aftergroup\csname moodle@remember@\string#1\endcsname
}
-% \end{macrocode}
+% \end{macrocode}
+%
+% \subsubsection{Main Switch: to create \XML\ or not}
%
-% \subsubsection{Main Switch: to create XML or not}
-%
% \begin{macrocode}
\long\def\@moodle@ifgeneratexml#1#2{%
- % If we are generating XML, do #1; otherwise do #2.
+ % If we are generating \XML, do #1; otherwise do #2.
\tikzifexternalizing{%
- % This run of LaTeX is currently ONLY generating a Tikz image
+ % This run of LaTeX is currently ONLY generating a TikZ image
% to be saved in an external file. We do NOT want to waste time
- % generating XML, and moreover trying to do so would cause errors
+ % generating \XML, and moreover trying to do so would cause errors
% because of file dependencies.
#2%
}{%
@@ -2144,7 +2845,7 @@
% \end{macrocode}
%
% \subsection{Key-Value Pairs for Quiz Questions}
-%
+%
% The various options are set using key-value syntax of |xkeyval|.
% \begin{macrocode}
\def\moodleset#1{\setkeys{moodle}{#1}}%
@@ -2153,13 +2854,13 @@
% Calling |\generate@moodle@write@code|\marg{name}|<|\meta{HTML tag}|>|\marg{text to write}
% creates a macro |\moodle@write|\meta{name}, taking no parameters,
% which writes the code |<|\meta{HTML tag}|>...</|\meta{HTML tag}|>|
-% to the output XML file.
-%
+% to the output \XML\ file.
+%
% The ordinary version |\generate@moodle@write@code| passes its output text |#3|
-% through the HTMLizer, producing HTML code, while the starred variant
+% through the HTMLizer, producing \HTML\ code, while the starred variant
% |\generate@moodle@write@code*| passes |#3| verbatim as text.
-%
-% For example,
+%
+% For example,
% |\generate@moodle@write@code{excuse}<EXC>{\theexcuse}|
% would expand to
% \begin{Verbatim}[gobble=4,frame=single]
@@ -2175,7 +2876,7 @@
% \fi
% }%
% \end{Verbatim}
-% but
+% but
% |\generate@moodle@write@code*{excuse}<EXC>{\theexcuse}|
% would expand only to
% \begin{Verbatim}[gobble=4,frame=single]
@@ -2190,7 +2891,7 @@
\def\generate@moodle@write@html#1<#2>#3{%
% #1 = NAME for \moodle@writeNAME
- % #2 = HTML tag
+ % #2 = \HTML\ tag
% #3 = what, exactly, to write
\xa\gdef\csname moodle@write#1\endcsname{%
\xa\def\xa\test@iii\xa{#3}%
@@ -2200,32 +2901,38 @@
\xa\converttohtmlmacro\xa\moodle@htmltowrite\xa{#3}%
\writetomoodle[2]{ <#2 format="html">}%
\writetomoodle[4]{ <text><![CDATA[<p>\moodle@htmltowrite</p>]]></text>}%
+ \ifmoodle@pluginfile
+ \writetomoodle[0]{\htmlize@embeddedfiletags}%
+ \fi
\writetomoodle[2]{ </#2>}%
\fi
}%
}%
\def\generate@moodle@write@html@noptag#1<#2>#3{%
- % No <P>..</P> introduced
- % #1 = NAME for \moodle@writeNAME
- % #2 = HTML tag
- % #3 = what, exactly, to write
- \xa\gdef\csname moodle@write#1\endcsname{%
- \xa\def\xa\test@iii\xa{#3}%
- \ifx\test@iii\@moodle@empty
- \writetomoodle[2]{ <#2 format="html"><text/></#2>}%
- \else
- \xa\converttohtmlmacro\xa\moodle@htmltowrite\xa{#3}%
- \writetomoodle[2]{ <#2 format="html">}%
- \writetomoodle[4]{ <text><![CDATA[\moodle@htmltowrite]]></text>}%
- \writetomoodle[2]{ </#2>}%
- \fi
- }%
+ % No <P>..</P> introduced
+ % #1 = NAME for \moodle@writeNAME
+ % #2 = \HTML\ tag
+ % #3 = what, exactly, to write
+ \xa\gdef\csname moodle@write#1\endcsname{%
+ \xa\def\xa\test@iii\xa{#3}%
+ \ifx\test@iii\@moodle@empty
+ \writetomoodle[2]{ <#2 format="html"><text/></#2>}%
+ \else
+ \xa\converttohtmlmacro\xa\moodle@htmltowrite\xa{#3}%
+ \writetomoodle[2]{ <#2 format="html">}%
+ \writetomoodle[4]{ <text><![CDATA[\moodle@htmltowrite]]></text>}%
+ \ifmoodle@pluginfile
+ \writetomoodle[0]{\htmlize@embeddedfiletags}%
+ \fi
+ \writetomoodle[2]{ </#2>}%
+ \fi
+ }%
}%
\def\generate@moodle@write@data*#1<#2>#3{%
% #1 = NAME for \moodle@writeNAME
- % #2 = HTML tag
+ % #2 = \HTML\ tag
% #3 = what, exactly, to write
\xa\gdef\csname moodle@write#1\endcsname{%
\writetomoodle[2]{ <#2>#3</#2>}%
@@ -2250,7 +2957,7 @@
\def\moodle@latex@writetags{%
\xa\xdef\xa\test@iii\xa{\moodle@tags}%
\ifx\test@iii\@moodle@empty\relax\else
- \hfill tags: %
+ \hfill \GetTranslation{tags}: %
\renewcommand*{\do}[1]{\ifmoodle@firsttag\moodle@firsttagfalse\else, \fi\texttt{##1}}%
\xa\docsvlist\xa{\test@iii}%
\fi
@@ -2291,8 +2998,8 @@
% and feedback tailored to each right or wrong answer.
% We shall use the key 'feedback' to record both kinds of feedback,
% relying on TeX's grouping mechanism to keep them apart.
- % When it comes time to write them to XML,
- % \moodle@writegeneralfeedback uses the HTML tag <generalfeedback>
+ % When it comes time to write them to \XML,
+ % \moodle@writegeneralfeedback uses the \HTML\ tag <generalfeedback>
% whereas \moodle@writefeedback uses the tag <feedback>.
% Note that the general feedback is NOT inherited by each answer!
\define@cmdkey{moodle}[moodle@]{feedback}[]{}%
@@ -2306,7 +3013,7 @@
%Key calls like [default grade=7] set \moodle@defaultgrade.
\define@cmdkey{moodle}[moodle@]{default grade}[1.0]{}%
%Next, makes 'points' a synonym for 'default grade'
- \define@key{moodle}{points}[1.0]{\xa\def\csname moodle@default grade\endcsname{#1}}
+ \define@key{moodle}{points}[1.0]{\xa\def\csname moodle@default grade\endcsname{#1}}%
\generate@moodle@write@code*{defaultgrade}<defaultgrade>{\csname moodle@default grade\endcsname}%
\moodleset{default grade=1.0} %This sets the default.
@@ -2337,7 +3044,7 @@
%% FRACTION -- how much this answer is worth out of 100 percent
\define@cmdkey{moodle}[moodle@]{fraction}[100]{}%
%We do not create \moodle@writefraction, because the fraction occurs in
- %the XML within the answer tag, like <answer fraction="75">.
+ %the \XML\ within the answer tag, like <answer fraction="75">.
\moodleset{fraction=100} %This sets the default.
% \end{macrocode}
% \begin{macrocode}
@@ -2365,6 +3072,10 @@
\define@boolkey{moodle}[moodle@]{allornothing}[true]{}%
\moodleset{allornothing=false}%
+%% SANCTION -- how much shall incorrect choices by sanctioned in multichoice questions (single)
+ \define@cmdkey{moodle}[moodle@]{sanction}[]{}%
+ \moodleset{sanction=0} %This sets the default.
+
%% TODO: CORRECTFEEDBACK
%% TODO: PARTIALLYCORRECTFEEDBACK
%% TODO: INCORRECTFEEDBACK
@@ -2392,18 +3103,18 @@
\def\moodle@numbering{IIII}\fi
}%
%'answer numbering' will be a synonym to 'numbering'
- \define@key{moodle}{answer numbering}[abc]{\setkeys{moodle}{numbering={#1}}}%
+ \define@key{moodle}{answer numbering}[abc]{\setkeys{moodle}{numbering={#1}}}%
\generate@moodle@write@code*{answernumbering}<answernumbering>{\moodle@numbering}%
%N.B. if we did not set the default here, then \moodle@numbering would be undefined, causing problems.
- \moodleset{answer numbering=abc}%
-
+ \moodleset{answer numbering=abc}%
+
\def\@moodle@alpha{alpha}%
\def\@moodle@Alpha{Alpha}%
\def\@moodle@alph{alph}%
\def\@moodle@Alph{Alph}%
\def\@moodle@arabic{arabic}%
\def\@moodle@roman{roman}%
- \def\@moodle@Roman{Roman}%
+ \def\@moodle@Roman{Roman}%
\def\@moodle@abc{abc}%
\def\@moodle@ABCD{ABCD}%
\def\@moodle@arabicnumbers{123}%
@@ -2411,6 +3122,7 @@
\def\@moodle@IIII{IIII}%
\def\@moodle@none{none}%
\def\moodle@obeynumberingstyle{%
+ \renewcommand\labelenumii{\theenumii.}% follow Moodle's labeling convention
\ifx\moodle@numbering\@moodle@abc
\renewcommand\theenumii{\alph{enumii}}%
\fi
@@ -2430,14 +3142,14 @@
\renewcommand\labelenumii{$\bullet$~}%
\fi
}
- %TODO: * In the PDF, how should 'none' in a multi look different from
+ %TODO: * In the PDF, how should 'none' in a multi look different from
% short answer or numerical options?
% * Instead of \theenumi and \labelenumi,
% use \@enumdepth to automatically set the correct depth.
-
+
%% DISPLAY MODE -- affects Cloze multiple choice questions only.
% 0 = inline, 1 = vertical, 2 = horizontal
- \def\moodle@multi@mode{0}%
+ \def\moodle@multi@mode{\ifmoodle@single 0\else 1\fi}%
\define@key{moodle}{inline}[]{\def\moodle@multi@mode{0}}%
\define@key{moodle}{vertical}[]{\def\moodle@multi@mode{1}}%
\define@key{moodle}{horizontal}[]{\def\moodle@multi@mode{2}}%
@@ -2447,7 +3159,7 @@
%% TOLERANCE
\define@cmdkey{moodle}[moodle@]{tolerance}[0]{}%
\moodleset{tolerance=0}%
- %There is no \moodle@writetolerance, because in the XML the
+ %There is no \moodle@writetolerance, because in the \XML\ the
%tolerance is given within the answer tag,
%like <answer fraction=100 tolerance=0.03>.
@@ -2456,17 +3168,17 @@
% \subsubsection{Keys for short answer questions}
% \begin{macrocode}
%% CASE SENSITIVE
- \define@boolkey{moodle}[moodle@]{case sensitive}[true]{}%
- \generate@moodle@write@code*{usecase}<usecase>{\csname ifmoodle@case sensitive\endcsname 1\else 0\fi}%
- % We make 'usecase' a synonym for 'case sensitive'.
- \define@boolkey{moodle}[moodle@]{usecase}[true]{\ifmoodle@usecase\csname moodle@case sensitivetrue\endcsname\else\csname moodle@case sensitivefalse\endcsname\fi}%
- \moodleset{case sensitive=false}%
+ \define@boolkey{moodle}[moodle@]{usecase}[true]{}%
+ \generate@moodle@write@code*{usecase}<usecase>{\ifmoodle@usecase 1\else 0\fi}%
+ % We make 'case sensitive' a synonym for 'usecase'.
+ \define@boolkey{moodle}[moodle@]{case sensitive}[true]{\ifcsname moodle@case sensitive\endcsname \moodle@usecasetrue\else\moodle@usecasefalse\fi}%
+ \moodleset{usecase=false}%
% \end{macrocode}
% \subsubsection{Keys for matching questions}
% \begin{macrocode}
%% DRAG-AND-DROP FORMAT
\define@boolkey{moodle}[moodle@]{draganddrop}[true]{}%
- % We make 'dd' and 'dragdrop' and 'drag and drop' synonyms for 'draganddrop'.
+ % We make 'dd' and 'draganddrop' and 'drag and drop' synonyms for 'draganddrop'.
\define@boolkey{moodle}[moodle@]{dd}[true]{\ifmoodle@dd\moodle@draganddroptrue\else\moodle@draganddropfalse\fi}%
\define@boolkey{moodle}[moodle@]{drag and drop}[true]{\moodle@ddsynonym}%
\def\moodle@ddsynonym{%
@@ -2492,11 +3204,11 @@
{html,html+file,text,monospaced,file}[html]%
{\def\test@i{#1}%
\ifx\test@i\@moodle@html
- % HTML Editor
- \def\moodle@responseformat{editor}%
+ % \HTML\ Editor
+ \def\moodle@responseformat{editor}%
\fi
\ifx\test@i\@moodle@htmlfile
- % HTML Editor with File Picker
+ % \HTML\ Editor with File Picker
\def\moodle@responseformat{editorfilepicker}%
\fi
\ifx\test@i\@moodle@text
@@ -2521,7 +3233,7 @@
\fi
}%
\generate@moodle@write@code*{responseformat}<responseformat>{\moodle@responseformat}%
- \moodleset{response format=html}%
+ \moodleset{response format=html}%
%N.B. if we did not set a default, then \moodle@responseformat would be undefined, causing problems.
%% RESPONSE REQUIRED
@@ -2584,12 +3296,12 @@
% \end{macrocode}
%
% \subsection{Answer handling}
-%
+%
% \begin{macrocode}
-%The Answers XML depends heavily on the question type.
+%The Answers \XML\ depends heavily on the question type.
%Each type of question defines how it obtains answers from the LaTeX input,
-%how it typesets those in a PDF or DVI, and how it writes them as XML code.
-%It will write that XML to the macro \moodle@answers@xml,
+%how it typesets those in a \PDF\ or \DVI, and how it writes them as \XML\ code.
+%It will write that \XML\ to the macro \moodle@answers@xml,
%which them gets written to the file when \moodle@writeanswers
%is invoked.
@@ -2600,8 +3312,8 @@
\newcommand\addto@xml[3][0]{%
% #1 = spaces to indent (default=0)
- % #2 = macro containing XML code (possibly empty)
- % #3 = XML text to be appended to that macro (will be \edef'd)
+ % #2 = macro containing \XML\ code (possibly empty)
+ % #3 = \XML\ text to be appended to that macro (will be \edef'd)
\calculateindent{#1}%
\edef\xml@to@add{\moodle@indent\trim@pre@space{#3}}%
\ifx#2\@moodle@empty
@@ -2614,7 +3326,7 @@
% \end{macrocode}
%
% \subsubsection{Not yet implemented}
-%
+%
% \begin{macrocode}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2623,32 +3335,43 @@
% TODO: I don't think I really want to handle this. Not now.
% \end{macrocode}
-
+%
+% \subsection{Typesetting options}
+% This section provides the tools to allow on to control how the quiz gets typeset
+% in the resulting PDF file.
+% \begin{macrocode}
+\ifmoodle@feedbackLeft% contribution of Juergen Vollmer, 2021-03-05
+ \newcommand{\moodle@preFeedback}{\\}%
+\else%
+ \newcommand{\moodle@preFeedback}{\hfill}%
+\fi
+% \end{macrocode}
+%
% \subsection{Front Ends}
% This section creates the user interface for the various question types.
-% First, we define a generic command to create
+% First, we define a generic command to create
% a front-end environment for a Moodle question type.
% In order to function, the following macros must be hard-coded:
% \begin{itemize}
-% \item |\moodle@|\meta{type}|@latexprocessing|:
+% \item |\moodle@|\meta{type}|@latexprocessing|:
% Loops through the saved |\item|'s to typeset them in LaTeX,
% usually inside an itemize or enumerate environment.
-% \item |\save|\meta{type}|answer#1|:
+% \item |\save|\meta{type}|answer#1|:
% Processes the text of a single |\item| to save the information to memory,
% usually inside |\moodle@answers@xml|.
% \item |\write|\meta{type}|question|:
% Writes the information, hitherto saved only in macros,
-% into the XML file.
+% into the \XML\ file.
% \end{itemize}
% For example, to create the `shortanswer' question type,
-% we shall call
+% we shall call
% \begin{Verbatim}[gobble=5,frame=single]
% \moodle@makefrontend{shortanswer}
% \def\moodle@shortanswer@latexprocessing{...}
% \def\saveshortansweranswer#1{...}
% \def\writeshortanswerquestion{...}
% \end{Verbatim}
-%
+%
% \begin{macrocode}
\def\moodle@makelatextagbox#1{%
@@ -2664,18 +3387,20 @@
}%
\def\moodle@makelatextag@qtype#1{%
- \doublebox{\tiny \textsc{#1}}
+ \doublebox{\tiny \textsc{\GetTranslation{#1}}}
}%
\def\moodle@makelatextag@value#1#2{%
- \moodle@makelatextagbox{\csname moodle@#1\endcsname~#2}
+ \moodle@makelatextagbox{\GetTranslation{#2}~\csname moodle@#1\endcsname}%
}%
\def\moodle@makelatextag@key#1{%
- \moodle@makelatextagbox{\csname moodle@#1\endcsname}
+ \moodle@makelatextagbox{\GetTranslation{#1}}
}%
-\def\moodle@marks#1{point\ifdim#1pt=1pt \else s\fi}
+\def\moodle@makelatextag@other#1{%
+ \moodle@makelatextagbox{\GetTranslation{#1}}
+}%
\def\moodle@makefrontend#1#2{%
\NewEnviron{#1}[2][]{%
@@ -2685,22 +3410,23 @@
\expandafter\gatheritems\xa{\BODY}%
\let\moodle@questionheader=\gatheredheader
%First, the LaTeX processing
- \item \textbf{\moodle@questionname}
+ \item \moodle@begin@samepage \textbf{\moodle@questionname}
\ifmoodle@handout
\moodle@makelatextag@qtype{#1}
\else
\moodle@latex@writetags
\par
\noindent
- \moodle@makelatextag@qtype{#1}
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
- \moodle@makelatextag@value{penalty}{penalty}
+ \moodle@makelatextag@qtype{#1}%
+ \moodle@makelatextag@value{default grade}{marked out of}
+ \moodle@makelatextag@value{penalty}{penalty}%
\fi
#2\par
\noindent
\moodle@questionheader
\edef\moodle@generalfeedback{\expandonce\moodle@feedback}
\csname moodle@#1@latexprocessing\endcsname
+ \moodle@end@samepage
%Now, writing information to XML
\@moodle@ifgeneratexml{%
\xa\questiontext\xa{\moodle@questionheader}% Save the question text.
@@ -2728,10 +3454,9 @@
% Description blocks can be empty. In this case, nothing is done.
%
% \begin{macrocode}
-\AfterEndPreamble{% in case something like \usepackage[french]{babel} is loaded
+\AtBeginEnvironment{quiz}{% protect existing description outside of quiz
\let\description\relax% remove the meaning of existing \description and \enddescription
\let\enddescription\relax
-
\NewEnviron{description}[2][]{%
\bgroup
\setkeys{moodle}{#1,questionname={#2}}%
@@ -2739,7 +3464,7 @@
\trim@spaces@in\moodle@questiontext
\ifx\moodle@questiontext\@empty\relax\else%
%First, the LaTeX processing.
- \item \textbf{\moodle@questionname}
+ \item \moodle@begin@samepage\textbf{\moodle@questionname}
\ifmoodle@handout\else
\moodle@latex@writetags
\par
@@ -2750,9 +3475,10 @@
\moodle@questiontext\par
\ifmoodle@handout\else
\ifx\moodle@feedback\@empty\relax\else
- \fbox{\parbox{\linewidth}{\emph{\moodle@feedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@feedback}}}%
\fi
\fi
+ \moodle@end@samepage
%Now, writing information to memory.
\@moodle@ifgeneratexml{%
\writetomoodle{<question type="description">}%
@@ -2769,31 +3495,31 @@
% \subsubsection{Essay Question Front-End}
% The front end is not yet created by |\moodle@makefrontend| because of
% what must must be done with the |\item|'s.
-%
+%
% \begin{macrocode}
\def\moodle@essay@latexprocessing{%
- % Moodle cannot automatically grade an essay,
+ % Moodle cannot automatically grade an essay,
% but if the user puts \item's in, we can list them in an itemize as notes.
- \par\noindent \emph{Notes for grader:}
+ \par\noindent \emph{\GetTranslation{Information for graders}:}
\ifnum\c@numgathereditems>0\relax
\begin{itemize} \setlength\itemsep{0pt}\setlength\parskip{0pt}%
\loopthroughitemswithcommand{\moodle@print@essay@answer}%
\end{itemize}%
\fi
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
}
\NewEnviron{essay}[2][]{%
\bgroup
\setkeys{moodle}{#1,questionname={#2}}%
- \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt
+ \global\advance\moodle@totalmarks by \csname moodle@default grade\endcsname pt%
\moodle@checkresponsefieldlines
\expandafter\gatheritems\expandafter{\BODY}%
\let\moodle@questionheader=\gatheredheader
%First, the LaTeX processing.
- \item \textbf{\moodle@questionname}
+ \item \moodle@begin@samepage\textbf{\moodle@questionname}
\ifmoodle@handout
\moodle@makelatextag@qtype{essay}
\else
@@ -2801,22 +3527,26 @@
\par
\noindent
\moodle@makelatextag@qtype{essay}
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
+ \moodle@makelatextag@value{default grade}{marked out of}
\moodle@makelatextag@value{penalty}{penalty}
- \moodle@makelatextag@key{responseformat}
+ \xa\moodle@makelatextag@key\xa{\moodle@responseformat}
\fi
\par
\noindent
\moodle@questionheader
\long\def\@lempty{}%
\ifx\moodle@responsetemplate\@lempty\else
- \par\noindent \emph{Template:}
- \par\fbox{\parbox{\linewidth}{\moodle@responsetemplate}}\par
+ \par\noindent\emph{\GetTranslation{Response template}:}
+ \par\noindent\fbox{\parbox{.96\linewidth}{\moodle@responsetemplate}}\par
\fi
\edef\moodle@generalfeedback{\expandonce\moodle@feedback}
- \ifmoodle@handout\else
+ \ifmoodle@handout
+ \par\noindent
+ \fbox{\parbox[t][\csname moodle@response field lines\endcsname\baselineskip]{.96\linewidth}{\phantom{Moodle}}}%
+ \else
\csname moodle@essay@latexprocessing\endcsname
\fi
+ \moodle@end@samepage
%Now, writing information to memory.
\@moodle@ifgeneratexml{%
\xa\questiontext\xa{\moodle@questionheader}% Save the question text.
@@ -2840,7 +3570,7 @@
%
\passvalueaftergroup{\moodle@answers@xml}%
\egroup
- \moodle@writeanswers% The 'answers' XML really contains the grader info.
+ \moodle@writeanswers% The 'answers' \XML\ really contains the grader info.
\moodle@writeresponsetemplate%
\moodle@writetags%
\writetomoodle{</question>}%
@@ -2851,18 +3581,18 @@
\def\moodle@checkresponsefieldlines{%
\newcount\a\a=\number\csname moodle@response field lines\endcsname
\newcount\b\b=5%
- \ifnum\the\a>40% if the value was more than 40
+ \ifnum\the\a>40\relax% if the value was more than 40
\a=40%
\fi
- \ifnum\the\a<5% if the value was less than 5
+ \ifnum\the\a<5\relax% if the value was less than 5
\a=5%
\fi
\divide\a by\b% integer division by 5
\multiply\a by\b% multiply by 5
- \ifnum\a=\csname moodle@response field lines\endcsname% equality holds if we had 5, 10, 15, 20, 25, 30, or 40
+ \ifnum\a=\csname moodle@response field lines\endcsname\relax% equality holds if we had 5, 10, 15, 20, 25, 30, or 40
\else
- \ifnum\csname moodle@response field lines\endcsname>5%
- \ifnum\csname moodle@response field lines\endcsname<40%
+ \ifnum\csname moodle@response field lines\endcsname>5\relax%
+ \ifnum\csname moodle@response field lines\endcsname<40\relax%
\advance\a by\b% approximate with the next multiple of 5
\fi
\fi
@@ -2885,7 +3615,7 @@
%%%% 1. if \c@numgathereditems=0, we don't do anything.
%%%% 2. it calls a preamble and postamble around the \loopthroughitemswithcommand.
%%%% Like this:
-%%%%
+%%%%
%%%% \@moodle@ifgeneratexml{%
%%%% \xa\questiontext\xa{\moodle@questionheader}% Save the question text.
%%%% \bgroup
@@ -2904,7 +3634,7 @@
%%%% \egroup
%%%% \csname write#1question\endcsname
%%%% }{}%
-%%%% The \@ifundefined lines should automatically define the
+%%%% The \@ifundefined lines should automatically define the
%%%% \...@preamble \...@postamble macros to be \relax if they don't exist already.
\gdef\writeessayquestion{%
@@ -2921,19 +3651,7 @@
\item #1%
}%
-
\long\def\moodle@savegraderinfo#1{%
- %\def\ds{#1}\show\ds
- \bgroup
- \moodle@savegraderinfo@int#1\moodle@answer@rdelim
- \passvalueaftergroup{\moodle@answers@xml}%
- \egroup
-}%
-\newcommand\moodle@savegraderinfo@int[1][]{%
- \setkeys{moodle}{fraction=0,#1}%
- \moodle@savegraderinfo@int@int%
-}%
-\long\def\moodle@savegraderinfo@int@int#1\moodle@answer@rdelim{%
\def\moodle@answertext{#1}
\xa\converttohtmlmacro\xa\moodle@answertext@html\xa{\moodle@answertext}%
%\trim@spaces@in\moodle@answertext
@@ -2946,12 +3664,8 @@
% \end{macrocode}
%
% \subsubsection{Short Answer Question Front-End}
-%
+%
% \begin{macrocode}
-\def\blank{\rule{1in}{0.5pt}}%
-% TODO: Make an optional argument for width? This wouldn't affect Moodle,
-% only the appearance in the PDF. It doesn't seem worth it.
-
%\NewEnviron{shortanswer}[2][]{%
% \bgroup
% \setkeys{moodle}{#1,questionname={#2}}%
@@ -2973,7 +3687,7 @@
% \bgroup
% \gdef\moodle@answers@xml{}%
% \setkeys{moodle}{feedback={}}%
-% \xa\loopthroughitemswithcommand\xa{\csname
+% \xa\loopthroughitemswithcommand\xa{\csname
% saveshortansweranswer\endcsname}%
% \passvalueaftergroup{\moodle@answers@xml}%
% \egroup
@@ -2987,10 +3701,10 @@
% LATEX PROCESSING
\def\moodle@makelatextag@shortanswer{%
- \csname ifmoodle@case sensitive\endcsname
- \moodle@makelatextagbox{Case-Sensitive}\relax
+ \ifmoodle@usecase
+ \moodle@makelatextag@other{Case-Sensitive}\relax
\else
- \moodle@makelatextagbox{Case-Insensitive}\relax
+ \moodle@makelatextag@other{Case-Insensitive}\relax
\fi
}
@@ -3002,7 +3716,7 @@
\loopthroughitemswithcommand{\moodle@print@shortanswer@answer}%
\end{itemize}%
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
}
\fi
@@ -3023,7 +3737,7 @@
\item #1$~(\moodle@fraction\%)$%
\fi
\ifx\moodle@feedback\@empty\relax\else
- \hfill \emph{$\rightarrow$ \moodle@feedback}
+ \moodle@preFeedback \emph{$\rightarrow$ \moodle@feedback}
\fi
}%
@@ -3045,15 +3759,18 @@
\addto@xml[2]{\moodle@answers@xml}{<answer fraction="\moodle@fraction" format="plain_text">}%
\xa\converttohtmlmacro\xa\moodle@answertext@html\xa{\moodle@answertext}%
\addto@xml[4]{\moodle@answers@xml}{ <text>\moodle@answertext@html</text>}%
+ \ifmoodle@pluginfile
+ \writetomoodle[0]{\htmlize@embeddedfiletags}%
+ \fi
\ifx\moodle@feedback\@empty\relax\else
\trim@spaces@in\moodle@feedback
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
- \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</feedback>}%
\fi
\addto@xml[2]{\moodle@answers@xml}{</answer>}%
}%
-% WRITING QUESTION TO XML FILE
+% WRITING QUESTION TO \XML\ FILE
\gdef\writeshortanswerquestion{%
\writetomoodle{<question type="shortanswer">}%
\moodle@writecommondata%
@@ -3062,7 +3779,7 @@
% \end{macrocode}
%
% \subsubsection{Numerical Question Front-End}
-%
+%
% \begin{macrocode}
\moodle@makefrontend{numerical}{\moodle@makelatextag@numerical}%
@@ -3071,7 +3788,8 @@
\def\moodle@makelatextag@numerical{}
\AtEndPreamble{
- \@ifpackageloaded{siunitx}{\def\moodle@printnum{\num[omit-uncertainty,copy-decimal-marker]}}{\let\moodle@printnum\trim@spaces}%
+ \@ifpackageloaded{siunitx}{\def\moodle@printnum{\num[omit-uncertainty]}}%,copy-decimal-marker
+ {\let\moodle@printnum\trim@spaces}%
}
\ifmoodle@handout
@@ -3082,7 +3800,7 @@
\loopthroughitemswithcommand{\moodle@print@numerical@answer}%
\end{itemize}%
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
}
\fi
@@ -3098,13 +3816,14 @@
\moodle@print@numerical@answer@int@int%
}%
\def\moodle@print@numerical@answer@int@int#1\@rdelim{%
- \xdef\test@i{\trim@spaces{#1}}%
+ \gdef\test@i{#1}%
+ \trim@spaces@in\test@i
\ifx\test@i\@star
\item \test@i
\else
\item \moodle@printnum{#1}%
- \ifnum\z@=\moodle@tolerance\else
- $\,\pm\,$\moodle@printnum{\moodle@tolerance}%
+ \ifx\moodle@tolerance\moodle@zero\else
+ $\,\pm\,$\moodle@printnum{\expandonce\moodle@tolerance}%
\fi
\fi
\ifx\moodle@fraction\@hundred
@@ -3114,7 +3833,7 @@
$~(\moodle@fraction\%)$%
\fi
\ifx\moodle@feedback\@empty\relax\else
- \hfill \emph{$\rightarrow$ \moodle@feedback}%
+ \moodle@preFeedback \emph{$\rightarrow$ \moodle@feedback}%
\fi
}%
@@ -3135,19 +3854,23 @@
\moodle@checkfraction
\addto@xml[2]{\moodle@answers@xml}{<answer fraction="\moodle@fraction" format="plain_text">}%
\addto@xml[4]{\moodle@answers@xml}{ <text>\moodle@answertext</text>}%
+
\ifx\moodle@answertext\@star\else
\addto@xml[4]{\moodle@answers@xml}{ <tolerance>\moodle@tolerance</tolerance>}%
\fi
+ \ifmoodle@pluginfile
+ \writetomoodle[0]{\htmlize@embeddedfiletags}%
+ \fi
\ifx\moodle@feedback\@empty\relax\else
\trim@spaces@in\moodle@feedback
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
- \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</feedback>}%
\fi
\addto@xml[2]{\moodle@answers@xml}{</answer>}%
}%
-% WRITING QUESTION TO XML FILE
+% WRITING QUESTION TO \XML\ FILE
\gdef\writenumericalquestion{%
\writetomoodle{<question type="numerical">}%
\moodle@writecommondata%
@@ -3155,7 +3878,7 @@
% \end{macrocode}
%
% \subsubsection{Multiple Choice Question Front-End}
-%
+%
% \begin{macrocode}
%Multiple choice has the structure
% \begin{multi}[options]{name}%
@@ -3175,27 +3898,25 @@
\PackageError{moodle}{Unsupported option "allornothing" for a multichoice subquestion}
{Please set "allornothing=false"}%
\else
- \moodle@makelatextagbox{All-or-nothing}%
+ \moodle@makelatextag@other{All-or-nothing}%
\fi
\else
- \ifmoodle@multiple
- \moodle@makelatextagbox{Multiple}%
+ \ifmoodle@single
+ \moodle@makelatextag@other{Single}%
\else
- \moodle@makelatextagbox{Single}%
+ \moodle@makelatextag@other{Multiple}%
\fi
\fi
\ifmoodle@handout\else
\ifmoodle@shuffle
- \moodle@makelatextagbox{Shuffle}\relax%
+ \moodle@makelatextag@other{Shuffle}\relax%
\fi
\fi
}
\def\moodle@multi@latexprocessing{%
- \ifmoodle@allornothing
- \moodle@singletrue
- \fi
- \moodle@countcorrectanswers%
+ \ifmoodle@allornothing\moodle@singletrue\fi
+ \ifmoodle@single\relax\else\moodle@InspectMultipleAnswers\fi
\ifmoodle@handout\NewList{answerlist}\fi
\begin{enumerate}\moodle@obeynumberingstyle%
%\renewcommand{\theenumi}{\alph{enumi}}%
@@ -3212,7 +3933,7 @@
\end{enumerate}%
\ifmoodle@handout\else
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
\fi
}
@@ -3234,7 +3955,7 @@
\ifmoodle@single%
\setkeys{moodle}{fraction=100}%
\else
- \setkeys{moodle}{fraction=\moodle@autopoints}%
+ \setkeys{moodle}{fraction=\moodle@AutoScore}%
\fi
\else
\g@addto@macro\moodle@answertext{#1#2}%
@@ -3244,7 +3965,11 @@
\ifmoodle@handout\else
\ifmoodle@single%
\ifx\moodle@fraction\@empty\relax%
- \setkeys{moodle}{fraction=0}%
+ \ifdim0pt<\moodle@sanction pt\relax
+ \setkeys{moodle}{fraction=-\moodle@sanction}%
+ \else
+ \setkeys{moodle}{fraction=0}%
+ \fi
\fi
\moodle@checkfraction
\ifx\moodle@fraction\@hundred%
@@ -3257,7 +3982,11 @@
\fi
\else% multiple
\ifx\moodle@fraction\@empty\relax%
- \setkeys{moodle}{fraction=\moodle@autosanctions}%
+ \ifmoodle@AdvancedScoreMode
+ \setkeys{moodle}{fraction=0}%
+ \else
+ \setkeys{moodle}{fraction=-\moodle@AutoScore}%
+ \fi
\fi
\moodle@checkfraction
\g@addto@macro\moodle@answertext{$~(\moodle@fraction\%)$}%
@@ -3268,142 +3997,142 @@
\xa\temp\xa{\moodle@answertext}%
\else
\ifx\moodle@feedback\@empty\relax\else%
- \g@addto@macro\moodle@answertext{\hfill \emph{$\rightarrow$ \moodle@feedback}}%
+ \g@addto@macro\moodle@answertext{\moodle@preFeedback \emph{$\rightarrow$ \moodle@feedback}}%
\fi
\moodle@answertext
\fi
}%
-% COMMON UTILITY: COUNTING CORRECT ANSWERS (AND A BIT MORE...)
- \newcounter{moodle@numcorrectanswers}% count the stars
- \newcounter{moodle@numincorrectanswers}% count the items without fraction key indicated
- \newlength{\moodle@pointspercorrect}%
- \newlength{\moodle@pointsperincorrect}%
- \newlength{\moodle@sumofpositivefractions}% sums user-set positive fractions
- \newlength{\moodle@sumofnegativefractions}% sums user-set negative fractions
- \def\moodle@countcorrectanswers{%
- \setcounter{moodle@numcorrectanswers}{0}%
- \setcounter{moodle@numincorrectanswers}{0}%
- \global\setlength{\moodle@pointspercorrect}{100pt}%
- \global\setlength{\moodle@pointsperincorrect}{-100pt}%
- \global\setlength{\moodle@sumofpositivefractions}{0pt}%
- \global\setlength{\moodle@sumofnegativefractions}{0pt}%
- \loopthroughitemswithcommand{\moodle@countcorrectanswers@a}%
- \global\advance\moodle@pointspercorrect by-\moodle@sumofpositivefractions\relax%
- \def\ds{\strip@pt\moodle@sumofpositivefractions}%
- \ifnum0=\c@moodle@numcorrectanswers\relax%
- % autopoints will never be used but we check if the sum of positive fractions is 100%
- \ifdim\moodle@pointspercorrect<-\moodle@fractiontol pt\relax%
- \PackageWarning{moodle}{Positive fractions sum up to more than 100 (here: \ds)}%
- \else
- \ifdim\moodle@pointspercorrect>\moodle@fractiontol pt\relax%
- \PackageError{moodle}{Positive fractions sum up to less than 100 (here: \ds)}%
- \fi
- \fi
- \else
- \ifdim0pt<\moodle@pointspercorrect\relax\else%
- % we have starred items so the sum of user-set positive fractions must be less than 100%
- % otherwise, starred items would lead to penalties
- \PackageError{moodle}{Positive fractions sum up to 100 or more (here: \ds):
- there is no positive points left to be given to starred items.}%
- \fi
- \global\divide\moodle@pointspercorrect by \c@moodle@numcorrectanswers\relax%
- \fi
- \gdef\moodle@autopoints{\strip@pt\moodle@pointspercorrect}%
- \global\advance\moodle@pointsperincorrect by-\moodle@sumofnegativefractions\relax%
- \def\ds{\strip@pt\moodle@sumofnegativefractions}%
- \ifnum0=\c@moodle@numincorrectanswers\relax%
- % autosanctions will never be used and
- % we do not care about the sum of negative fractions (might be less than -100)
- \else
- \ifdim0pt<\moodle@pointsperincorrect\relax%
- % we have items without fractions set: to prevent auto sanctions from becoming bonuses,
- % such items are neutralized.
- \PackageWarning{moodle}{Negative fractions sum up to -100 or less (here: \ds):
- items with no fraction key set will be considered as neutral.}%
- \global\setlength{\moodle@pointsperincorrect}{0pt}%
- \fi
- \global\divide\moodle@pointsperincorrect by \c@moodle@numincorrectanswers\relax%
- \fi
- \gdef\moodle@autosanctions{\strip@pt\moodle@pointsperincorrect}%
- }
- \long\def\moodle@countcorrectanswers@a#1{%
- %The grouping is to keep key answer-specific key changes local.
- \bgroup
- \moodle@countcorrectanswers@b#1\moodle@answer@rdelim
- \egroup
- }%
- \newcommand\moodle@countcorrectanswers@b[1][]{%
- %\ifx&#1&%
- \let\moodle@fraction\@empty%
- \setkeys{moodle}{#1}%
- \moodle@countcorrectanswers@c%
- %\fi
- }%
- \long\def\moodle@countcorrectanswers@c#1#2\moodle@answer@rdelim{%
- \def\test@i{#1}%
- \ifx\test@i\@star
- \stepcounter{moodle@numcorrectanswers}%
- \else
- \ifx\moodle@fraction\@empty\relax%
- \stepcounter{moodle@numincorrectanswers}%
- \else
- \ifdim0pt<\moodle@fraction pt\relax%
- \global\addtolength{\moodle@sumofpositivefractions}{\moodle@fraction pt}%
- \else
- \global\addtolength{\moodle@sumofnegativefractions}{\moodle@fraction pt}%
- \fi
- \fi
- \fi
- }%
- \newlength{\test@fraction}%
- \newlength{\test@lower}%
- \newlength{\test@upper}%
- \def\moodle@fractionerror{%
- \def\ds{\moodle@fraction}%
- \PackageError{moodle}{the current fraction is not a valid value (here: \ds)}%
- }
- {\catcode`|=3\relax
- \gdef\moodle@validfractionlist{0|5|10|11.11111|12.5|14.28571|16.66667|20|25|30|33.33333|40|50|60|66.66667|70|75|80|83.33333|90|100}}%
- \def\moodle@isfractionnear#1{%
- \setlength{\test@lower}{#1 pt}%
- \addtolength{\test@lower}{-\moodle@fractiontol pt}%
- \setlength{\test@upper}{#1 pt}%
- \addtolength{\test@upper}{\moodle@fractiontol pt}%
- \ifdim\test@upper>\test@fraction\relax
- \ifdim\test@lower<\test@fraction\relax
- \gdef\test@fractionmatched{#1}%
- \fi
- \fi
- }
- \def\moodle@checkfraction{%
- \ifmoodle@allornothing
- \ifnum\moodle@fraction>0%
- \setkeys{moodle}{fraction=100}%
- \fi
- \ifnum\moodle@fraction<0%
- \setkeys{moodle}{fraction=0}%
- \fi
- \else
- %\def\test@i{#1}%
- \setlength{\test@fraction}{\moodle@fraction pt}%
- % take the absolute value
- \ifdim0pt>\test@fraction\relax%
- \setlength{\test@fraction}{-\moodle@fraction pt}%
- \fi
- % test if the fraction is an admissible value
- \let\test@fractionmatched\@empty
- \forlistloop{\moodle@isfractionnear}{\moodle@validfractionlist}%
- \ifx\test@fractionmatched\@empty\relax
- \moodle@fractionerror%
- \fi
- \ifdim\moodle@fraction pt<-\moodle@fractiontol pt\relax%
- \setkeys{moodle}{fraction=-\test@fractionmatched}%
- \else
- \setkeys{moodle}{fraction=\test@fractionmatched}%
- \fi
- \fi
- }
+% COMMON UTILITY: Inspecting answers of multiple choice questions (for option 'multiple')
+\newcounter{moodle@NumStarredAnswers}% count the stars
+\newdimen\moodle@autoscore@tmp%
+\newdimen\moodle@TotalPositiveFractions% Total of user-set positive fractions
+\newdimen\moodle@PositiveScoreFactor% scaling factor to impose the fractions of
+%correct answers to add up to 100%
+\newif\ifmoodle@AdvancedScoreMode%
+
+\def\moodle@InspectMultipleAnswers{%
+ \setcounter{moodle@NumStarredAnswers}{0}%
+ \moodle@autoscore@tmp=100pt\relax% temporary variable
+ \moodle@TotalPositiveFractions=0pt\relax%
+ \moodle@PositiveScoreFactor=1pt\relax
+ \moodle@AdvancedScoreModefalse
+ \loopthroughitemswithcommand{\moodle@InspectMultipleAnswers@a}%
+ \ifmoodle@AdvancedScoreMode% advanced mode
+ \ifx\endmulti\endclozemulti% inside cloze
+ \divide\moodle@TotalPositiveFractions by 100\relax
+ \advance\moodle@TotalPositiveFractions by \c@moodle@NumStarredAnswers pt\relax
+ \moodle@PositiveScoreFactor=1 pt\relax
+ \moodle@PositiveScoreFactor=\dimexpr 1 pt * \moodle@PositiveScoreFactor / \moodle@TotalPositiveFractions\relax%
+ \global\def\moodle@OtherScore{% for multianswer questions in cloze, with advanced mode
+ \ifdim0pt<\moodle@fraction pt\relax
+ \moodle@fraction
+ \else
+ \moodle@autoscore@tmp=\moodle@PositiveScoreFactor\relax%
+ \multiply\moodle@autoscore@tmp by \moodle@fraction\relax%
+ \strip@pt\moodle@autoscore@tmp
+ \fi
+ }%
+ \else% outside cloze
+ \advance\moodle@autoscore@tmp by-\moodle@TotalPositiveFractions\relax%
+ \def\ds{\strip@pt\moodle@TotalPositiveFractions}%
+ \ifnum0=\c@moodle@NumStarredAnswers\relax%
+ % autopoints will never be used but we check if the sum of positive fractions is 100%
+ \ifdim\moodle@autoscore@tmp<-\moodle@fractiontol pt\relax%
+ \PackageWarning{moodle}{Positive fractions add up to more than 100 (here: \ds)}%
+ % Here we issue only a warning because Moodle accepts the \XML\ without error.
+ \else
+ \ifdim\moodle@autoscore@tmp>\moodle@fractiontol pt\relax%
+ \PackageError{moodle}{Positive fractions add up to less than 100 (here: \ds)}%
+ \fi
+ \fi
+ \else% there are starred items
+ \ifdim0pt<\moodle@autoscore@tmp\relax\else%
+ % we have starred items so the sum of user-set positive fractions must be less than 100%
+ % otherwise, starred items would lead to penalties
+ \PackageError{moodle}{Positive fractions add up to 100 or more (here: \ds):
+ there is no positive points left to be given to starred items.}%
+ \fi
+ \divide\moodle@autoscore@tmp by \c@moodle@NumStarredAnswers\relax%
+ \fi
+ \fi
+ \else% automatic score (not in advanced score mode)
+ \global\divide\moodle@autoscore@tmp by \c@moodle@NumStarredAnswers\relax%
+ \fi
+ \xdef\moodle@AutoScore{\strip@pt\moodle@autoscore@tmp}%
+}
+\long\def\moodle@InspectMultipleAnswers@a#1{%
+ %The grouping is to keep key answer-specific key changes local.
+ \bgroup
+ \moodle@InspectMultipleAnswers@b#1\moodle@answer@rdelim
+ \egroup
+}%
+\newcommand\moodle@InspectMultipleAnswers@b[1][]{%
+ %\ifx&#1&%
+ \let\moodle@fraction\@empty%
+ \setkeys{moodle}{#1}%
+ \moodle@InspectMultipleAnswers@c%
+ %\fi
+}%
+\long\def\moodle@InspectMultipleAnswers@c#1#2\moodle@answer@rdelim{%
+ \def\test@i{#1}%
+ \ifx\test@i\@star
+ \stepcounter{moodle@NumStarredAnswers}%
+ \else
+ \ifx\moodle@fraction\@empty\else
+ \global\moodle@AdvancedScoreModetrue
+ \ifdim0pt<\moodle@fraction pt\relax%
+ \global\advance\moodle@TotalPositiveFractions by \moodle@fraction pt\relax%
+ \fi
+ \fi
+ \fi
+}%
+\newdimen\test@fraction%
+\newdimen\test@lower%
+\newdimen\test@upper%
+\def\moodle@fractionerror{%
+ \def\ds{\moodle@fraction}%
+ \PackageError{moodle}{the current fraction is not an admissible value (here: \ds)}%
+}
+{\catcode`|=3\relax
+\gdef\moodle@validfractionlist{0|5|10|11.11111|12.5|14.28571|16.66667|20|25|30|33.33333|40|50|60|66.66667|70|75|80|83.33333|90|100}}%
+\def\moodle@isfractionnear#1{%
+ \test@lower=\dimexpr #1 pt - \moodle@fractiontol pt\relax%
+ \test@upper=\dimexpr #1 pt + \moodle@fractiontol pt\relax%
+ \ifdim\test@upper>\test@fraction\relax
+ \ifdim\test@lower<\test@fraction\relax
+ \gdef\test@fractionmatched{#1}%
+ \fi
+ \fi
+}
+\def\moodle@checkfraction{%
+ \ifmoodle@allornothing
+ \ifnum\moodle@fraction>0\relax
+ \setkeys{moodle}{fraction=100}%
+ \fi
+ \ifnum\moodle@fraction<0\relax
+ \setkeys{moodle}{fraction=0}%
+ \fi
+ \else
+ %\def\test@i{#1}%
+ \test@fraction=\moodle@fraction pt\relax%
+ % take the absolute value
+ \ifdim0pt>\test@fraction\relax%
+ \test@fraction=-\moodle@fraction pt\relax%
+ \fi
+ % test if the fraction is an admissible value
+ \let\test@fractionmatched\@empty
+ \forlistloop{\moodle@isfractionnear}{\moodle@validfractionlist}%
+ \ifx\test@fractionmatched\@empty\relax
+ \moodle@fractionerror%
+ \fi
+ \ifdim\moodle@fraction pt<-\moodle@fractiontol pt\relax%
+ \xdef\moodle@fraction{-\test@fractionmatched}%
+ \else
+ \xdef\moodle@fraction{\test@fractionmatched}%
+ \fi
+ \fi
+}
% TODO: Put these macros in same order as other sections'.
% SAVING ANSWERS TO MEMORY
@@ -3427,7 +4156,7 @@
\ifmoodle@single
\setkeys{moodle}{fraction=100}%
\else
- \setkeys{moodle}{fraction=\moodle@autopoints}%
+ \setkeys{moodle}{fraction=\moodle@AutoScore}%
\fi
\def\moodle@answertext{#2}%
\else
@@ -3435,9 +4164,17 @@
\fi
\ifx\moodle@fraction\@empty\relax%
\ifmoodle@single\relax
- \setkeys{moodle}{fraction=0}%
+ \ifdim0pt<\moodle@sanction pt\relax
+ \setkeys{moodle}{fraction=-\moodle@sanction}%
+ \else
+ \setkeys{moodle}{fraction=0}%
+ \fi
\else% multiple
- \setkeys{moodle}{fraction=\moodle@autosanctions}%
+ \ifmoodle@AdvancedScoreMode
+ \setkeys{moodle}{fraction=0}%
+ \else
+ \setkeys{moodle}{fraction=-\moodle@AutoScore}%
+ \fi
\fi
\fi
\trim@spaces@in\moodle@answertext
@@ -3446,17 +4183,19 @@
\addto@xml[2]{\moodle@answers@xml}{<answer fraction="\moodle@fraction" format="html">}%
\xa\converttohtmlmacro\xa\moodle@answertext@html\xa{\moodle@answertext}%
\addto@xml[4]{\moodle@answers@xml}{ <text><![CDATA[<p>\moodle@answertext@html</p>]]></text>}%
+ \ifmoodle@pluginfile
+ \addto@xml[4]{\moodle@answers@xml}{\htmlize@embeddedfiletags}%
+ \fi
\ifx\moodle@feedback\@empty\relax\else
\trim@spaces@in\moodle@feedback
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
- \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</feedback>}%
\fi
\addto@xml[2]{\moodle@answers@xml}{</answer>}%
}%
-% WRITING QUESTION TO XML FILE
+% WRITING QUESTION TO \XML\ FILE
\gdef\writemultiquestion{%
-
\writetomoodle{<question type="multichoice\ifmoodle@allornothing set\fi">}%
\moodle@writecommondata%
\ifmoodle@allornothing\else
@@ -3468,7 +4207,7 @@
% \end{macrocode}
%
% \subsubsection{True/False Question Front-End}
-%
+%
% \begin{macrocode}
% True/False has structure
% \begin{truefalse}[options]{name}%
@@ -3486,7 +4225,7 @@
\expandafter\gatheritems\xa{\BODY}%
\let\moodle@questionheader=\gatheredheader
%First, the LaTeX processing
- \item \textbf{\moodle@questionname}
+ \item \moodle@begin@samepage\textbf{\moodle@questionname}
\ifmoodle@handout
\moodle@makelatextag@qtype{truefalse}
\else
@@ -3494,13 +4233,14 @@
\par
\noindent
\moodle@makelatextag@qtype{truefalse}
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
+ \moodle@makelatextag@value{default grade}{marked out of}
\fi
\par
\noindent
\moodle@questionheader
\edef\moodle@generalfeedback{\expandonce\moodle@feedback}
\moodle@truefalse@latexprocessing
+ \moodle@end@samepage
%Now, writing information to XML
\@moodle@ifgeneratexml{%
\setkeys{moodle}{penalty=1}%
@@ -3510,7 +4250,7 @@
\gdef\moodle@answers@xml{}%
\setkeys{moodle}{feedback={}}%
\xa\loopthroughitemswithcommand\xa{\xa\savetruefalseanswer}%
- \ifnum\c@numgathereditems=1\relax%
+ \ifnum\c@numgathereditems=1\relax
\setcounter{currentitemnumber}{2}%
\savetruefalseanswer{}
\fi
@@ -3529,22 +4269,22 @@
% \ifnum\c@numgathereditems>2\relax%
% \PackageError{moodle}{Expecting at max two answers with truefalse type}
% \fi
- \setcounter{moodle@numcorrectanswers}{0}%
+ \setcounter{moodle@NumStarredAnswers}{0}%
\begin{itemize} \setlength\itemsep{0pt}\setlength\parskip{0pt}%
\loopthroughitemswithcommand{\moodle@print@truefalse@answer}%
- \ifnum\c@currentitemnumber=2%
- \item \textbf{False}%
+ \ifnum\c@currentitemnumber=2\relax
+ \item \textbf{\GetTranslation{False}}%
\fi
\end{itemize}
\ifmoodle@handout\else
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
\fi
- \ifnum\c@moodle@numcorrectanswers=0\relax%
+ \ifnum\c@moodle@NumStarredAnswers=0\relax
\PackageError{moodle}{No answer is explicitly marked as correct (*). Be sure one answer leads to points.}%
\fi
- \ifnum\c@moodle@numcorrectanswers>1\relax%
+ \ifnum\c@moodle@NumStarredAnswers>1\relax
\PackageError{moodle}{Two answers are explicitly marked as correct (*). Be sure only one answer leads to points.}%
\fi
}
@@ -3567,35 +4307,35 @@
\fi
}%
\def\moodle@print@truefalse@answer@int@int@empty{%
- \ifnum\c@currentitemnumber=1%
- \def\moodle@answertext{True}%
+ \ifnum\c@currentitemnumber=1\relax
+ \def\moodle@answertext{\GetTranslation{True}}%
\fi
- \ifnum\c@currentitemnumber=2%
- \def\moodle@answertext{False}%
+ \ifnum\c@currentitemnumber=2\relax
+ \def\moodle@answertext{\GetTranslation{False}}%
\fi
\item \textbf{\moodle@answertext}%
\ifmoodle@handout\else
\ifx\moodle@feedback\@empty\relax\else
- ~\hfill \emph{$\rightarrow$ \moodle@feedback}%
+ ~\moodle@preFeedback \emph{$\rightarrow$ \moodle@feedback}%
\fi
\fi
}%
\def\moodle@print@truefalse@answer@int@int@int#1#2\@rdelim{%
- \ifnum\c@currentitemnumber=1%
- \def\moodle@answertext{True}%
+ \ifnum\c@currentitemnumber=1\relax
+ \def\moodle@answertext{\GetTranslation{True}}%
\fi
- \ifnum\c@currentitemnumber=2%
- \def\moodle@answertext{False}%
+ \ifnum\c@currentitemnumber=2\relax
+ \def\moodle@answertext{\GetTranslation{False}}%
\fi
\item \textbf{\moodle@answertext}%
- \ifnum\c@currentitemnumber<3%
+ \ifnum\c@currentitemnumber<3\relax
\def\test@i{#1}%
%\trim@spaces@in\test@i
\ifx\test@i\@star
\ifmoodle@handout\else
~$\checkmark$%
\fi
- \stepcounter{moodle@numcorrectanswers}%
+ \stepcounter{moodle@NumStarredAnswers}%
\else
~%
\fi
@@ -3605,13 +4345,13 @@
\trim@spaces@in\test@ii
\ifx\test@ii\@empty\relax\else
\ifx\test@i\@star%
- \hfill \emph{$\rightarrow$ #2}%
+ \moodle@preFeedback \emph{$\rightarrow$ #2}%
\else%
- \hfill \emph{$\rightarrow$ #1#2}%
+ \moodle@preFeedback \emph{$\rightarrow$ #1#2}%
\fi
\fi
\else
- \hfill \emph{$\rightarrow$ \moodle@feedback}%
+ \moodle@preFeedback \emph{$\rightarrow$ \moodle@feedback}%
\fi
\fi
\fi
@@ -3639,19 +4379,22 @@
}%
\def\savetruefalseanswer@int@int@empty{%
\setkeys{moodle}{fraction=0}%
- \ifnum\c@currentitemnumber=1%
- \def\moodle@answertext{true}%
+ \ifnum\c@currentitemnumber=1\relax
+ \def\moodle@answertext{true}%
\fi
- \ifnum\c@currentitemnumber=2%
- \def\moodle@answertext{false}%
+ \ifnum\c@currentitemnumber=2\relax
+ \def\moodle@answertext{false}%
\fi
- \ifnum\c@currentitemnumber<3%
+ \ifnum\c@currentitemnumber<3\relax
\addto@xml[2]{\moodle@answers@xml}{<answer fraction="\moodle@fraction" format="plain_text">}%
\addto@xml[4]{\moodle@answers@xml}{ <text>\moodle@answertext</text>}%
+ \ifmoodle@pluginfile
+ \addto@xml[4]{\moodle@answers@xml}{\htmlize@embeddedfiletags}%
+ \fi
\ifx\moodle@feedback\@empty\relax\else
\trim@spaces@in\moodle@feedback
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
- \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</feedback>}%
\fi
\addto@xml[2]{\moodle@answers@xml}{</answer>}%
\fi
@@ -3663,15 +4406,18 @@
\else
\setkeys{moodle}{fraction=0}%
\fi
- \ifnum\c@currentitemnumber=1%
- \def\moodle@answertext{true}%
+ \ifnum\c@currentitemnumber=1\relax
+ \def\moodle@answertext{true}%
\fi
- \ifnum\c@currentitemnumber=2%
- \def\moodle@answertext{false}%
+ \ifnum\c@currentitemnumber=2\relax
+ \def\moodle@answertext{false}%
\fi
- \ifnum\c@currentitemnumber<3%
+ \ifnum\c@currentitemnumber<3\relax
\addto@xml[2]{\moodle@answers@xml}{<answer fraction="\moodle@fraction" format="plain_text">}%
\addto@xml[4]{\moodle@answers@xml}{ <text>\moodle@answertext</text>}%
+ \ifmoodle@pluginfile
+ \addto@xml[4]{\moodle@answers@xml}{\htmlize@embeddedfiletags}%
+ \fi
\ifx\moodle@feedback\@empty\relax
\def\test@ii{#2}
\ifx\test@ii\@empty\relax\else
@@ -3680,18 +4426,18 @@
\else%
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{#1#2}%
\fi%
- \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</feedback>}%
\fi
\else
\trim@spaces@in\moodle@feedback
\xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
- \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <feedback format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</feedback>}%
\fi
\addto@xml[2]{\moodle@answers@xml}{</answer>}%
\fi
}%
-% WRITING QUESTION TO XML FILE
+% WRITING QUESTION TO \XML\ FILE
\gdef\writetruefalsequestion{%
\writetomoodle{<question type="truefalse">}%
\moodle@writecommondata%
@@ -3699,7 +4445,7 @@
% \end{macrocode}
%
% \subsubsection{Matching Question Front-End}
-%
+%
% \begin{macrocode}
%\let\answer=\hfill
@@ -3710,33 +4456,37 @@
\def\moodle@makelatextag@matching{%
\ifmoodle@handout\else
\ifmoodle@draganddrop
- \moodle@makelatextagbox{Drag and drop}\relax%
+ \moodle@makelatextag@other{Drag and drop}\relax%
\fi
\ifmoodle@shuffle
- \moodle@makelatextagbox{Shuffle}\relax%
+ \moodle@makelatextag@other{Shuffle}\relax%
\fi
\fi
}
-
+\long\def\moodle@matching@left#1{%
+ \parbox[c]{.9\linewidth}{\raggedleft #1}\hfil\vrule width .5pt$\bullet$%
+}%
+\long\def\moodle@matching@right#1{%
+ $\bullet$\vrule width .5pt\hfil\parbox[c]{.9\linewidth}{#1}%
+}%
\def\moodle@matching@latexprocessing{%
\bgroup
%\let\answer=\hfill
- \par%\noindent
+ \par\noindent
\ifmoodle@handout
- \NewList{questionlist}
- \NewList{answerlist}
+ \NewList{questionlist}%
+ \gdef\matcheslist{}%
+ \NewList{answerlist}%
+ \else
+ \long\def\matching@table@text{}%
\fi
- \def\matching@table@text{}%
- % \ifnum\c@numgathereditems>2\relax%
-% \PackageError{moodle}{Expecting at max two answers with truefalse type}
-% \fi
- \setcounter{moodle@numcorrectanswers}{0}% Here this counter is for "questions" (items on the left column)
+ \setcounter{moodle@NumStarredAnswers}{0}% Here this counter is for "questions" (items on the left column)
\loopthroughitemswithcommand{\moodle@print@matching@answer}%
- \ifnum\c@numgathereditems<3%
- \PackageWarning{moodle}{Moodle expects at least three "answers" with matching type}%
+ \ifnum\c@numgathereditems<3\relax
+ \PackageWarning{moodle}{Moodle expects at least three proposed matches in matching questions}%
\fi
- \ifnum\c@moodle@numcorrectanswers<2%
- \PackageWarning{moodle}{Moodle expects at least two "questions" with the matching type}%
+ \ifnum\c@moodle@NumStarredAnswers<2\relax
+ \PackageWarning{moodle}{Moodle expects at least two items in matching questions}%
\fi
\ifmoodle@handout
\ifmoodle@shuffle
@@ -3744,23 +4494,25 @@
\else
\let\moodle@matching@loop=\ForEachFirstItem
\fi
- \moodle@matching@loop{questionlist}{Question}{
- \xdef\test@i{\Question}%
- \ExtractRandomItem{answerlist}{Answer}%
- \ifx\test@i\@empty
- \xdef\matching@table@text{\expandonce\matching@table@text & & $\bullet$~\expandonce\Answer\\}%
- \else
- \xdef\matching@table@text{\expandonce\matching@table@text\expandonce\Question~$\bullet$ & & $\bullet$~\expandonce\Answer\\}%
- \fi
+ \begin{minipage}{.43\linewidth}%
+ \moodle@matching@loop{questionlist}{Question}{%
+ \moodle@matching@left{\Question}%
+ \vskip 4pt\relax
}%
- \fi
- \begin{tabular}{@{}>{\raggedleft}p{.45\linewidth}p{.1\linewidth}p{.45\linewidth}@{}}%
- \matching@table@text
- \end{tabular}%
- \par
- \ifmoodle@handout\else
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.43\linewidth}%
+ \ForEachFirstItem{answerlist}{Answer}{%
+ \moodle@matching@right{\Answer}%
+ \vskip 4pt\relax
+ }%
+ \end{minipage}%
+ \else
+ \begin{tabular}{@{}p{.43\linewidth}@{}p{.1\linewidth}@{}p{.43\linewidth}@{}}%
+ \matching@table@text
+ \end{tabular}%
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
\fi
\egroup
@@ -3777,18 +4529,30 @@
\def\test@i{#1}%
\trim@spaces@in\test@i
\ifmoodle@handout
- \ifx\test@i\@empty
- \InsertLastItem{questionlist}{\@empty}%
- \else
+ \ifx\test@i\@empty\else
+ \stepcounter{moodle@NumStarredAnswers}%
\InsertLastItem{questionlist}{#1}%
\fi
- \InsertLastItem{answerlist}{#2}%
+ \edef\test@ii{\detokenize{#2}}%
+ \trim@spaces@in\test@ii
+ \trim@spaces@in\test@ii% don't know why the 2nd call is required
+ % add proposed match only if not already in the list
+ \xifinlist{\expandonce\test@ii}{\matcheslist}{}{%
+ \listeadd\matcheslist{\expandonce\test@ii}%
+ % matches are always proposed shuffled
+ \InsertRandomItem{answerlist}{#2}%
+ }%
\else
\ifx\test@i\@empty
- \g@addto@macro\matching@table@text{&&$\bullet$~#2\\}%
+ \xa\g@addto@macro\xa\matching@table@text\xa{%
+ &&\moodle@matching@right{#2}\\\\\relax%
+ }%
\else
- \stepcounter{moodle@numcorrectanswers}%
- \xa\g@addto@macro\xa\matching@table@text\xa{\test@i~$\bullet$&\leavevmode\cleaders\hb@xt@.44em{\hss$\cdot$\hss}\hfill\kern\z@&$\bullet$~#2\\}%
+ \stepcounter{moodle@NumStarredAnswers}%
+ \xa\g@addto@macro\xa\matching@table@text\xa{%
+ \moodle@matching@left{#1}&\leavevmode\leaders\hb@xt@.44em{\hss$\cdot$\hss}\hfill\kern\z@%
+ &\moodle@matching@right{#2}\\\\\relax
+ }%
\fi
\fi
}%
@@ -3812,33 +4576,34 @@
\def\moodle@subanswertext{#2}%
\trim@spaces@in\moodle@subquestiontext
\xa\converttohtmlmacro\xa\moodle@subquestiontext@htmlized\xa{\moodle@subquestiontext}%
- \trim@spaces@in\moodle@subanswertext
- \ifmoodle@draganddrop
- \xa\converttohtmlmacro\xa\moodle@subanswertext@htmlized\xa{\moodle@subanswertext}%
- \fi
\addto@xml[2]{\moodle@answers@xml}{<subquestion format="html">}%
\ifx\moodle@subquestiontext\@empty
\addto@xml[4]{\moodle@answers@xml}{ <text></text>}%
\else
- \addto@xml[4]{\moodle@answers@xml}{ <text><![CDATA[<p>\moodle@subquestiontext@htmlized</p>]]></text>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <text><![CDATA[<p>\moodle@subquestiontext@htmlized</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi}%
\fi
+ \trim@spaces@in\moodle@subanswertext
+ \trim@spaces@in\moodle@subanswertext% don't know why but a second call seems required...
+ %\ifmoodle@draganddrop
+ \xa\converttohtmlmacro\xa\moodle@subanswertext@htmlized\xa{\moodle@subanswertext}%
+ %\fi
\ifmoodle@draganddrop
% \show\moodle@subanswertext@htmlized
- \addto@xml[4]{\moodle@answers@xml}{ <answer format="html"><text><![CDATA[<p>\moodle@subanswertext@htmlized</p>]]></text></answer>}%
+ \addto@xml[4]{\moodle@answers@xml}{ <answer format="html"><text><![CDATA[<p>\moodle@subanswertext@htmlized</p>]]></text>\ifmoodle@pluginfile\htmlize@embeddedfiletags\fi</answer>}%
\else
-% \show\moodle@subanswertext
- \addto@xml[4]{\moodle@answers@xml}{ <answer><text>\moodle@subanswertext</text></answer>}%
+% \show\moodle@subanswertext@htmlized
+ \addto@xml[4]{\moodle@answers@xml}{ <answer format="html"><text><![CDATA[\moodle@subanswertext@htmlized]]></text></answer>}%
\fi
% \ifx\moodle@feedback\@empty\relax\else
% \trim@spaces@in\moodle@feedback
% \xa\converttohtmlmacro\xa\moodle@feedback@html\xa{\moodle@feedback}%
-% \addto@xml[4]{\moodle@answers@xml}{ <feedback
+% \addto@xml[4]{\moodle@answers@xml}{ <feedback
%format="html"><text><![CDATA[<p>\moodle@feedback@html</p>]]></text></feedback>}%
% \fi
\addto@xml[2]{\moodle@answers@xml}{</subquestion>}%
}%
-% WRITING QUESTION TO XML FILE
+% WRITING QUESTION TO \XML\ FILE
\gdef\writematchingquestion{%
\ifmoodle@draganddrop
\writetomoodle{<question type="ddmatch">}%
@@ -3855,17 +4620,17 @@
% \subsection{Cloze Questions}
% Because cloze questions are so complicated, they get their own section of code.
% The cloze strategy is as follows.
-%
+%
% All subquestions show up as part of the question body text.
% For each type of subquestion, we have a cloze-version environment
-% that actually has 2 versions, depending on whether we are doing LaTeX or XML processing.
-% So the main environment is quite typical:
+% that actually has 2 versions, depending on whether we are doing LaTeX or \XML\ processing.
+% So the main environment is quite typical:
% \begin{enumerate}
% \item Process the body as LaTeX.
% During this run, a |\begin{multi}| etc.~will be processed for display onscreen.
-% \item Then save the body as the questiontext for XML.
+% \item Then save the body as the questiontext for \XML.
% During this run, a |\begin{multi}| etc.~will be parsed and turned into
-% cloze code as part of the XML questiontext.
+% cloze code as part of the \XML\ questiontext.
% \end{enumerate}
% \begin{macrocode}
% LATEX PROCESSING
@@ -3880,7 +4645,7 @@
% A cloze question won't have any \item's in it, so we just use \BODY.
\moodle@enableclozeenvironments
%First, the LaTeX processing.
- \item \textbf{\moodle@questionname}
+ \item \moodle@begin@samepage\textbf{\moodle@questionname}
\ifmoodle@handout
\moodle@makelatextag@qtype{cloze}
\else
@@ -3897,12 +4662,13 @@
%\csname moodle@cloze@latexprocessing\endcsname
\ifmoodle@handout\else
\ifx\moodle@generalfeedback\@empty\relax\else%
- \fbox{\parbox{\linewidth}{\emph{\moodle@generalfeedback}}}%
+ \fbox{\parbox{.96\linewidth}{\emph{\moodle@generalfeedback}}}%
\fi
\fi
+ \moodle@end@samepage
%Now, writing information to memory.
\@moodle@ifgeneratexml{%
- \xa\questiontext\xa{\BODY}% Save the question text as HTML.
+ \xa\questiontext\xa{\BODY}% Save the question text as \HTML.
\writeclozequestion
}{}%
\egroup%
@@ -3917,7 +4683,7 @@
\let\endshortanswer=\endclozeshortanswer
}
-% WRITING QUESTION TO XML FILE
+% WRITING QUESTION TO \XML\ FILE
\gdef\writeclozequestion{%
\writetomoodle{<question type="cloze">}%
\moodle@writequestionname%
@@ -3930,14 +4696,53 @@
}%
% \end{macrocode}
%
-% \subsubsection{Cloze Multiple Choice Questions}
-%
+% Utility to check the validity of fractions and points inside cloze subquestions.
% \begin{macrocode}
+\newdimen\moodle@tmpdim
+\def\moodle@checkclozefraction{%
+ \moodle@tmpdim=\moodle@fraction pt\relax
+ % Rounding is performed in three steps:
+ % 1) round(x)=floor(x+1/2)
+ \advance\moodle@tmpdim by .5pt\relax
+ % 2) floor(x)=trunc(x) if x>0, and floor(x)=trunc(x-1) if x<0
+ \ifdim\moodle@tmpdim<0pt\relax\advance\moodle@tmpdim by -1pt\fi
+ % 3) Truncation because the quantum of TeX dimensions is 1/65536-th of a point.
+ \divide\moodle@tmpdim by 65536\relax\multiply\moodle@tmpdim by 65536\relax
+ \def\moodle@tmpval{\strip@pt\moodle@tmpdim}%
+ \ifdim\moodle@tmpdim=\moodle@fraction pt\else
+ \PackageWarning{moodle}{in cloze questions, fractions must be integers. Rounding \moodle@fraction\space to \moodle@tmpval}%
+ \fi
+ \xdef\moodle@fraction{\moodle@tmpval}% in any case, take eventual decimals out (e.g. change 10.0 for 10)
+}%
+\def\moodle@checkclozegrade{%
+ \moodle@tmpdim=\csname moodle@default grade\endcsname pt\relax
+ \ifdim\moodle@tmpdim<1 pt\relax
+ \PackageWarning{moodle}{for cloze questions, the default grade must be a positive integer. Changing the default grade from \csname moodle@default grade\endcsname\space to 1}%
+ \csdef{moodle@default grade}{1}%
+ \else % Rounding is performed in three steps:
+ % 1) round(x)=floor(x+1/2)
+ \advance\moodle@tmpdim by .5pt\relax
+ % 2) floor(x)=trunc(x) if x>0, and floor(x)=trunc(x-1) if x<0
+ \ifdim\moodle@tmpdim<0pt\relax\advance\moodle@tmpdim by -1pt\fi
+ % 3) Truncation because the quantum of TeX dimensions is 1/65536-th of a point.
+ \divide\moodle@tmpdim by 65536\relax\multiply\moodle@tmpdim by 65536\relax
+ \def\moodle@tmpval{\strip@pt\moodle@tmpdim}%
+ \ifdim\moodle@tmpdim=\csname moodle@default grade\endcsname pt\else
+ \PackageWarning{moodle}{for cloze questions, the default grade must be a positive integer. Rounding \csname moodle@default grade\endcsname\space to \moodle@tmpval}%
+ \fi
+ \csedef{moodle@default grade}{\moodle@tmpval}% in any case, take eventual decimals out (e.g. change 10.0 for 10)
+ \fi
+}%
+% \end{macrocode}
+%
+% \subsubsection{Cloze Multiple Choice Questions}
+%
+% \begin{macrocode}
\NewEnviron{clozemulti}[1][]{%
\bgroup
- \setkeys{moodle}{default grade=1}%
\setkeys{moodle}{#1}%
+ \moodle@checkclozegrade
\expandafter\gatheritems\xa{\BODY}%
\let\moodle@questionheader=\gatheredheader
\ifhtmlizer@active
@@ -3946,30 +4751,35 @@
\xa\g@addto@macro\xa\moodle@clozemulti@output\xa{\moodle@questionheader}%
\def\clozemulti@coding{}%
\edef\clozemulti@coding{\csname moodle@default grade\endcsname:}%
- \ifmoodle@multiple
- \PackageWarning{moodle}{Cloze Multiresponse only supported by Moodle 3.5+}
- \g@addto@macro{\clozemulti@coding}{MULTIRESPONSE}%
- \else
+ \ifmoodle@single
\g@addto@macro{\clozemulti@coding}{MULTICHOICE}%
+ \else
+ \moodle@WarningOrError{3}{5}{Cloze Multiresponse}%
+ \g@addto@macro{\clozemulti@coding}{MULTIRESPONSE}%
\fi
\ifcase\moodle@multi@mode\relax
% Case 0: dropdown box style
- \ifmoodle@shuffle
- \g@addto@macro{\clozemulti@coding}{_}%
- \fi
+ \ifmoodle@single\else
+ \PackageError{moodle}{Inline mode (dropdown box) incompatible with multiresponse.}
+ \fi
+ \ifmoodle@shuffle
+ \g@addto@macro{\clozemulti@coding}{_}%
+ \fi
\or
% Case 1: vertical style
- \ifmoodle@multiple
- \PackageError{moodle}{Vertical mode (dropdown box) incompatible with multiresponse.}
- \else
+ \ifmoodle@single
\g@addto@macro{\clozemulti@coding}{_V}%
+ \else
+ \ifmoodle@shuffle
+ \g@addto@macro{\clozemulti@coding}{_}%
+ \fi
\fi
\else
% Case 2: horizontal radio buttons
\g@addto@macro{\clozemulti@coding}{_H}%
\fi
\ifmoodle@shuffle
- \PackageWarning{moodle}{Cloze Multi Shuffling only supported by Moodle 3.0+}
+ \moodle@WarningOrError{3}{0}{Cloze Multi Shuffling}
\g@addto@macro{\clozemulti@coding}{S:}%
\else
\g@addto@macro{\clozemulti@coding}{:}%
@@ -3991,10 +4801,11 @@
\noindent
\moodle@makelatextag@qtype{multi}
\ifmoodle@handout\else
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
+ \moodle@makelatextag@value{default grade}{marked out of}
\moodle@makelatextag@multi
\fi
\def\cloze@multichoice@table@text{}%
+ \ifmoodle@single\relax\else\moodle@InspectMultipleAnswers\fi
\ifmoodle@handout\NewList{answerlist}\fi
%\let\moodle@feedback=\@empty
\loopthroughitemswithcommand{\moodle@print@clozemultichoice@answer}%
@@ -4013,7 +4824,7 @@
\par\noindent
\ifmoodle@handout
\begin{tabular}[t]{|p{.45\linewidth}|}
- \else
+ \else
\begin{tabular}[t]{|p{.45\linewidth}|p{.45\linewidth}|}
% answer & feedback \\\hline\hline
\fi
@@ -4039,13 +4850,15 @@
\egroup%
}[\endclozemulti@code]%
-
\long\def\moodle@print@clozemultichoice@answer#1{%
+%\bgroup
\let\moodle@feedback=\@empty
\moodle@print@clozemultichoice@answer@int#1 \@rdelim%
+%\egroup
}%
\newcommand\moodle@print@clozemultichoice@answer@int[1][]{%
- \setkeys{moodle}{fraction=0,#1}%
+ \let\moodle@fraction\@empty%
+ \setkeys{moodle}{#1}%
\moodle@print@clozemultichoice@answer@int@int%
}%
\long\def\moodle@print@clozemultichoice@answer@int@int#1#2\@rdelim{%
@@ -4070,13 +4883,43 @@
\trim@spaces@in\moodle@answertext
\trim@spaces@in\moodle@answertext
\ifmoodle@handout\else
- \ifx\moodle@fraction\@hundred
- \g@addto@macro\moodle@answertext{$~\checkmark$}%
- \else
- \moodle@checkfraction
- \ifdim0pt=\moodle@fraction pt\relax\else
- \xdef\moodle@answertext{\expandonce\moodle@answertext$~(\moodle@fraction\%)$}%
+ \ifmoodle@single%
+ \ifx\moodle@fraction\@empty\relax%
+ \ifdim0pt<\moodle@sanction pt\relax
+ \setkeys{moodle}{fraction=-\moodle@sanction}%
+ \else
+ \setkeys{moodle}{fraction=0}%
+ \fi
+ \fi
+ \moodle@checkclozefraction
+ \ifx\moodle@fraction\@hundred%
+ \trim@spaces@in\moodle@answertext%
+ \g@addto@macro\moodle@answertext{$~\checkmark$}%
+ \else
+ \ifdim0pt=\moodle@fraction pt\relax\else%
+ \xdef\moodle@answertext{\expandonce\moodle@answertext$~(\moodle@fraction\%)$}%
+ \fi
+ \fi
+ \else% multiple
+ \ifx\moodle@fraction\@empty\relax%
+ \ifmoodle@AdvancedScoreMode
+ \setkeys{moodle}{fraction=0}%
+ \else
+ \setkeys{moodle}{fraction=-\moodle@AutoScore}%
+ \fi
+ \else
+ \ifmoodle@AdvancedScoreMode
+ \moodle@checkclozefraction
+ \ifdim0pt<\moodle@fraction pt\relax
+ \moodle@autoscore@tmp=\moodle@PositiveScoreFactor\relax%
+ \multiply\moodle@autoscore@tmp by \moodle@fraction\relax%
+ \xdef\moodle@fraction{\strip@pt\moodle@autoscore@tmp}%
+ \fi
+ \else
+ \setkeys{moodle}{fraction=\moodle@AutoScore}%
+ \fi
\fi
+ \xdef\moodle@answertext{\expandonce\moodle@answertext$~(\moodle@fraction\%)$}%
\fi
\fi
\ifcase\moodle@multi@mode\relax
@@ -4088,7 +4931,7 @@
\or % Case 1
\ifmoodle@handout\else
\ifx\moodle@feedback\@empty\relax\else
- \xdef\moodle@answertext{\expandonce\moodle@answertext \hfill \expandonce\emph{$\rightarrow$ \expandonce\moodle@feedback}}%
+ \xdef\moodle@answertext{\expandonce\moodle@answertext \moodle@preFeedback \expandonce\emph{$\rightarrow$ \expandonce\moodle@feedback}}%
\fi
\fi
\else % otherwise
@@ -4130,9 +4973,9 @@
\trim@spaces@in\moodle@answertext
\trim@spaces@in\moodle@answertext
\ifx\moodle@fraction\@hundred
- \g@addto@macro\clozemulti@coding{=}%
+ \g@addto@macro\clozemulti@coding{\clozecorrect}%
\else
- \moodle@checkfraction
+ \moodle@checkclozefraction
\ifdim0pt=\moodle@fraction pt\relax\else
\xdef\clozemulti@coding{\expandonce\clozemulti@coding\otherpercent\moodle@fraction\otherpercent}%
\fi
@@ -4145,14 +4988,14 @@
% \end{macrocode}
%
% \subsubsection{Cloze Numerical Questions}
-%
+%
% \begin{macrocode}
\NewEnviron{clozenumerical}[1][]{%
\bgroup
\expandafter\gatheritems\expandafter{\BODY}%
\let\moodle@questionheader=\gatheredheader
- \setkeys{moodle}{default grade=1}%
\setkeys{moodle}{#1}%
+ \moodle@checkclozegrade
\ifhtmlizer@active
%HTML version
\def\moodle@clozenumerical@output{}%
@@ -4175,7 +5018,7 @@
\noindent
\moodle@makelatextag@qtype{numerical}
\ifmoodle@handout\else
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
+ \moodle@makelatextag@value{default grade}{marked out of}
\moodle@makelatextag@numerical
\par
\noindent
@@ -4205,29 +5048,29 @@
\setkeys{moodle}{#1}%
\moodle@print@clozenumerical@answer@int@int%
}%
+\def\moodle@zero{0}%
\def\moodle@print@clozenumerical@answer@int@int#1\@rdelim{%
\ifx\moodle@fraction\@hundred
\def\moodle@clozenumericalprint@fraction{$~\checkmark$}%
\else
- \moodle@checkfraction
+ \moodle@checkclozefraction
\edef\moodle@clozenumericalprint@fraction{$(~\moodle@fraction\%)$}%
\fi
- \ifnum\z@=\moodle@tolerance
+ \ifx\moodle@zero\moodle@tolerance%
\def\moodle@clozenumericalprint@tolerance{}%
\else
- \edef\moodle@clozenumericalprint@tolerance{$\,\pm\,$\moodle@printnum{\moodle@tolerance}}%
+ \edef\moodle@clozenumericalprint@tolerance{$\,\pm\,$\moodle@printnum{\expandonce\moodle@tolerance}}%
\fi
- \xdef\test@i{\trim@spaces{#1}}%
+ \gdef\test@i{#1}%
+ \trim@spaces@in\test@i
\ifx\test@i\@star
- \xdef\moodle@clozenumericalprint@line{#1~\moodle@clozenumericalprint@fraction & \expandonce\emph{\expandonce\moodle@feedback}}%
+ \xdef\moodle@clozenumericalprint@line{\expandonce\test@i~\moodle@clozenumericalprint@fraction & \expandonce\emph{\expandonce\moodle@feedback}}%
\else
- \xdef\moodle@clozenumericalprint@line{\moodle@printnum{#1}\moodle@clozenumericalprint@tolerance~\moodle@clozenumericalprint@fraction & \expandonce\emph{\expandonce\moodle@feedback}}%
+ \xdef\moodle@clozenumericalprint@line{\moodle@printnum{\expandonce\test@i}\expandonce\moodle@clozenumericalprint@tolerance~\moodle@clozenumericalprint@fraction & \expandonce\emph{\expandonce\moodle@feedback}}%
\fi
\xa\g@addto@macro\xa\cloze@numerical@table@text\xa{\moodle@clozenumericalprint@line \\\hline}%
}%
-
-
\def\saveclozenumericalanswer#1{%
\bgroup
\saveclozenumericalanswer@int#1\moodle@answer@rdelim
@@ -4244,9 +5087,9 @@
\def\moodle@answertext{#1}%
\trim@spaces@in\moodle@answertext
\ifx\moodle@fraction\@hundred
- \g@addto@macro\clozenumerical@coding{=}%
+ \g@addto@macro\clozenumerical@coding{\clozecorrect}%
\else
- \moodle@checkfraction
+ \moodle@checkclozefraction
\ifdim0pt=\moodle@fraction pt\relax\else
\xdef\clozenumerical@coding{\expandonce\clozenumerical@coding\otherpercent\moodle@fraction\otherpercent}%
\fi
@@ -4264,27 +5107,20 @@
% \end{macrocode}
%
% \subsubsection{Cloze Short Answer Questions}
-%
+%
% \begin{macrocode}
\NewEnviron{clozeshortanswer}[1][]{%
\bgroup
\expandafter\gatheritems\expandafter{\BODY}%
\let\moodle@questionheader=\gatheredheader
- \setkeys{moodle}{default grade=1}%
\setkeys{moodle}{#1}%
- %Because nesting conditionals built by \csname doesn't work well,
- %we'll test '\ifmoodle@case sensitive' now and save the result in \count0.
- \csname ifmoodle@case sensitive\endcsname
- \count0=1\relax
- \else
- \count0=0\relax
- \fi
+ \moodle@checkclozegrade
\ifhtmlizer@active
%HTML version
\def\moodle@clozeshortanswer@output{}%
\xa\g@addto@macro\xa\moodle@clozeshortanswer@output\xa{\moodle@questionheader}%
\def\clozeshortanswer@coding{}%
- \ifnum\count0=1\relax
+ \ifmoodle@usecase
\edef\clozeshortanswer@coding{\csname moodle@default grade\endcsname:SHORTANSWER_C:}%
\else
\edef\clozeshortanswer@coding{\csname moodle@default grade\endcsname:SHORTANSWER:}%
@@ -4305,7 +5141,7 @@
\noindent
\moodle@makelatextag@qtype{shortanswer}
\ifmoodle@handout\else
- \moodle@makelatextag@value{default grade}{\moodle@marks{\csname moodle@default grade\endcsname}}
+ \moodle@makelatextag@value{default grade}{marked out of}
\moodle@makelatextag@shortanswer
\par
\noindent
@@ -4339,15 +5175,13 @@
\ifx\moodle@fraction\@hundred
\def\moodle@clozeshortanswerprint@fraction{$~\checkmark$}%
\else
- \moodle@checkfraction
+ \moodle@checkclozefraction
\edef\moodle@clozeshortanswerprint@fraction{$~(\moodle@fraction\%)$}%
\fi
\xdef\moodle@clozeshortanswerprint@line{#1~\moodle@clozeshortanswerprint@fraction & \expandonce\emph{\expandonce\moodle@feedback}}%
\xa\g@addto@macro\xa\cloze@shortanswer@table@text\xa{\moodle@clozeshortanswerprint@line \\\hline}%
}%
-
-
\def\saveclozeshortansweranswer#1{%
\bgroup
\saveclozeshortansweranswer@int#1\moodle@answer@rdelim
@@ -4364,9 +5198,9 @@
\def\moodle@answertext{#1}%
\trim@spaces@in\moodle@answertext
\ifx\moodle@fraction\@hundred
- \g@addto@macro\clozeshortanswer@coding{=}%
+ \g@addto@macro\clozeshortanswer@coding{\clozecorrect}%
\else
- \moodle@checkfraction
+ \moodle@checkclozefraction
\ifdim0pt=\moodle@fraction pt\relax\else
\xdef\clozeshortanswer@coding{\expandonce\clozeshortanswer@coding\otherpercent\moodle@fraction\otherpercent}%
\fi
@@ -4379,9 +5213,9 @@
% \end{macrocode}
%
% \section{Converting \LaTeX\ to HTML}
-% A lot of work must now be done to convert the \LaTeX\ code
-% of a question or answer into HTML code with embedded \TeX\ for math.
-%
+% A lot of work must now be done to convert the \LaTeX\ code
+% of a question or answer into \HTML\ code with embedded \TeX\ for math.
+%
% \subsection{Catcode Setup}
% First, we create versions of the special characters with catcode 12, ``other.''
% \begin{macrocode}
@@ -4391,8 +5225,9 @@
\catcode`\^=12\gdef\othercaret{^}%
\catcode`\$=12\gdef\otherdollar{$}%
\catcode`\%=12\gdef\otherpercent{%}
- \catcode`\%=12\gdef\otherlbracket{[}
- \catcode`\%=12\gdef\otherrbracket{]}}%
+ \catcode`\[=12\gdef\otherlbracket{[}
+ \catcode`\]=12\gdef\otherrbracket{]}}%
+{\catcode`\=\string=12\gdef\otherequal{=}}%
{\catcode`\ =12\gdef\otherspace{ }}%
{\ttfamily\catcode`\|=0\catcode`\\=12\relax|gdef|otherbackslash{\}}%
{\catcode`\[=1\catcode`\]=2\catcode`\{=12\catcode`\}=12%
@@ -4407,11 +5242,12 @@
\edef\@otherdollar{\otherdollar}%
\edef\@otherbackslash{\otherbackslash}%
\edef\@othertilde{\othertilde}%
+\edef\@otherequal{\otherequal}%
% \end{macrocode}
%
% Next, we define commands to change catcodes to a suitable verbatim mode
% for transcription.
-%
+%
% \begin{macrocode}
{ \catcode`\[=1\relax
\catcode`\]=2\relax
@@ -4459,17 +5295,17 @@
% \end{macrocode}
%
% \subsection{Detokenization and Retokenization}
-%
+%
% We will be processing a \TeX\ token list.
-% Based on its content, sometimes we will want it to be detokenized to
+% Based on its content, sometimes we will want it to be detokenized to
% individual characters, but other times we want it retokenized so that
% \TeX's own parsing mechanism can gather up the parameters of macros.
% We use the e\TeX\ primitive command |\scantokens| to do this.
-%
+%
% The following code (catcodes, groupings and all) defines a |\scantokens@to@macro| macro.
% That will assemble and disassemble strings of tokens
% using any changing schemes of catcodes we desire.
-%
+%
% We define |^^A| to be |\gdef\stm@saved|, while |^^B| and |^^C| are substitutes for |{| and |}|, respectively.
% This permits us to define |\scantokens@to@macro| in a peculiar catcode regime.
% \begin{macrocode}
@@ -4486,7 +5322,7 @@
\catcode`\^^A=13\catcode`\^^B=1\catcode`\^^C=2\relax
\xa\def\xa\arg\xa{\xa^^A\xa^^B\texttorescan^^C}%
#2%
- \catcode\endlinechar=9\relax%
+ \catcode\endlinechar=9\relax%
%\scantokens always sees an end-of-line character at its end and converts it to a space.
%The catcode change sets \scantokens to ignore end-of-line chars.
%In practice, we're always calling \scantokens on previously scanned text anyway,
@@ -4537,9 +5373,9 @@
% \end{macrocode}
%
% \subsection{Separation}
-%
+%
% This code separates a string of tokens into two parts.
-% Its parameters, |#1#2|, consist of tokenized text,
+% Its parameters, |#1#2|, consist of tokenized text,
% plus one terminal |\@htmlize@stop|.
% We are trying to break up the text into its first group and the remainder.
% This |\@htmlize@stop| is needed in case |#2| has the form ``|{...}|'',
@@ -4560,16 +5396,16 @@
% \end{macrocode}
%
% The next line creates the macro |\htmlize@remove@stopcode|,
-% which removes the characters ``|\@htmlize@stop |'' from the end of a
+% which removes the characters ``|\@htmlize@stop |'' from the end of a
% detokenized sequence.
% Its syntax when called is simply |\htmlize@remove@stopcode |\meta{material},
% with no delimiters, since the ``|\@htmlize@stop |'' is itself the delimiter.
% \begin{macrocode}
\xa\def\xa\htmlize@remove@stopcode\xa#\xa1\@htmlize@stop@detokenized{#1}%
% \end{macrocode}
-%
+%
% \subsection{Main Code: the HTMLizer}
-%
+%
% \begin{macrocode}
\newif\ifhtmlizer@active
\htmlizer@activefalse
@@ -4583,6 +5419,9 @@
\long\def\converttohtmlmacro#1#2{%
\grouplevel=0\relax
\def\htmlize@output{}%
+ \ifmoodle@pluginfile
+ \gdef\htmlize@embeddedfiletags{}%
+ \fi
\htmlizer@activetrue%
\converttohtml@int{#2}%
\htmlizer@activefalse%
@@ -4601,6 +5440,7 @@
\def\@lt{<}%
\def\@gt{>}%
\def\@dash{-}%
+\def\@dq{"}%
\long\def\htmlize@recursive@i#1#2#3\htmlize@rdelim@i{%
% #1#2#3 is a sequence of tokens. All should be categories 11 (letter) or 12 (other).
@@ -4612,24 +5452,28 @@
\let\htmlize@next@i=\relax
\else
\ifx\test@i\@otherlbrace%
- \xa\g@addto@macro\xa\htmlize@output\xa{\otherlbrace}%
- \bgroup
- \normalcatcodes
+ \ifx\test@ii\@otherrbrace%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherlbrace\otherrbrace}}{}%
+ \def\htmlize@next@i{\htmlize@recursive@i#3\htmlize@rdelim@i}%
+ \else
+ \xa\g@addto@macro\xa\htmlize@output\xa{\otherlbrace}%
+ \bgroup
+ \normalcatcodes
%We need to rescan the input as TeX code,
% so TeX can automatically pull off the first group in braces.
% First, let's get rid of the terminal \@htmlize@stop codes.
- {\def\@htmlize@stop{}\xdef\htmlize@scrap{#1#2#3}}%
- \let\htmlize@text@to@rescan=\htmlize@scrap%
+ {\def\@htmlize@stop{}\xdef\htmlize@scrap{#1#2#3}}%
+ \let\htmlize@text@to@rescan=\htmlize@scrap%
% Next, we retokenize the code.
- \xa\retokenizenormal@to@macro\xa\htmlize@rescanned\xa{\htmlize@text@to@rescan}%
+ \xa\retokenizenormal@to@macro\xa\htmlize@rescanned\xa{\htmlize@text@to@rescan}%
% Now break it up into two pieces.
- \xa\htmlize@grabblock\htmlize@rescanned\@htmlize@stop\htmlize@rdelim@ii%
+ \xa\htmlize@grabblock\htmlize@rescanned\@htmlize@stop\htmlize@rdelim@ii%
% The first piece, \htmlize@blockinbraces, will be passed as a unit to \converttohtml@int.
% The second part, \htmlize@remainder, will continue at this depth of grouping.
% Therefore we'll detokenize \htmlize@remainder here.
- \xa\ultradetokenize@to@macro\xa\htmlize@remainder@detokenized\xa{\htmlize@remainder}%
- \edef\htmlize@remainder@detokenized{\xa\htmlize@remove@stopcode\htmlize@remainder@detokenized}%
- %
+ \xa\ultradetokenize@to@macro\xa\htmlize@remainder@detokenized\xa{\htmlize@remainder}%
+ \edef\htmlize@remainder@detokenized{\xa\htmlize@remove@stopcode\htmlize@remainder@detokenized}%
+ %
% Now build \htmlize@next@i.
% When done, should look like
% \converttohtml@int{\htmlize@blockinbraces}%
@@ -4637,22 +5481,23 @@
% \htmlize@recursive@i\htmlize@remainder@detokenized\@htmlize@stop\@htmlize@stop\@htmlize@stop\htmlize@rdelim@i%
% but with all three arguments expanded.
% Note that we are running
- \gdef\htmlize@scrap{\converttohtml@int}%
- \xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\htmlize@blockinbraces}}%
- \g@addto@macro\htmlize@scrap{\g@addto@macro\htmlize@output}%
- \ifmoodle@clozemode
- \xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\otherbackslash\otherrbrace}}%
+ \gdef\htmlize@scrap{\converttohtml@int}%
+ \xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\htmlize@blockinbraces}}%
+ \g@addto@macro\htmlize@scrap{\g@addto@macro\htmlize@output}%
+ \ifmoodle@clozemode
+ \xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\otherbackslash\otherrbrace}}%
% \moodle@ifmathmode{\xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\otherbackslash}}}%
% {}%
- \else
- \xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\otherrbrace}}%
- \fi
- \g@addto@macro\htmlize@scrap{\htmlize@recursive@i}%
- \xa\g@addto@macro\xa\htmlize@scrap\xa{\htmlize@remainder@detokenized\@htmlize@stop\@htmlize@stop\@htmlize@stop\htmlize@rdelim@i}%
+ \else
+ \xa\g@addto@macro\xa\htmlize@scrap\xa{\xa{\otherrbrace}}%
+ \fi
+ \g@addto@macro\htmlize@scrap{\htmlize@recursive@i}%
+ \xa\g@addto@macro\xa\htmlize@scrap\xa{\htmlize@remainder@detokenized\@htmlize@stop\@htmlize@stop\@htmlize@stop\htmlize@rdelim@i}%
% Okay, that's done. It's stored in a global macro.
% Now we get it out of this group.
- \egroup
- \let\htmlize@next@i=\htmlize@scrap
+ \egroup
+ \let\htmlize@next@i=\htmlize@scrap
+ \fi
\else
\ifx\test@i\@otherdollar%
% Math shift character.
@@ -4669,7 +5514,7 @@
\fi% \ifx\test@ii\@otherdollar
% Now we resume work.
% The \htmlize@xxxxxxmathshift@replace macro stored the remaining text in \htmlize@remaining@text.
- % Note that since we never detokenized and retokenized #1#2#3,
+ % Note that since we never detokenized and retokenized #1#2#3,
% \htmlize@remaining@text still includes the terminating \@htmlize@stop\@htmlize@stop\@htmlize@stop.
\def\htmlize@next@i{\xa\htmlize@recursive@i\htmlize@remaining@text\htmlize@rdelim@i}%
\else
@@ -4687,9 +5532,9 @@
% This may involve work in TeX's stomach (e.g., with counters)
% or with external files (e.g., image processing).
% The command may directly add material to \htmlize@output,
- % but it should not typeset anything and should vanish from the
+ % but it should not typeset anything and should vanish from the
% input stream when it is done.
- % When it's done, we somehow need to detokenize and resume
+ % When it's done, we somehow need to detokenize and resume
% processing the remainder of the input stream.
% Only commands explicitly crafted (or modified) to work
% with moodle.sty can possibly do all this!
@@ -4701,10 +5546,10 @@
% Environments: \begin{array}
%
% #2 is only for items on a specific list.
- % #1 is anything that runs in TeX's mouth.
+ % #1 is anything that runs in TeX's mouth.
% We could keep a list and give users a way to add to it.
% I could also try expanding macros, using \ifcsmacro from etoolbox.sty
- %
+ %
% The first step is to figure out what control sequence we're dealing with.
% First, let's get rid of the terminal \@htmlize@stop codes.
{\def\@htmlize@stop{}\xdef\htmlize@scrap{#1#2#3}}%
@@ -4744,7 +5589,7 @@
%The \bgroup is to active the environments.
%The matching \egroup is found in \htmlize@do@actionenv.
}{%An environment to pass to the HTML
- %We just pass the backslash from "\begin" and move on.
+ %We just pass the backslash from "\begin" and move on.
\g@addto@macro\htmlize@output{#1}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
}%
@@ -4787,7 +5632,7 @@
\xa\ultradetokenize@to@macro\xa\htmlize@remaining@text\xa{\htmlize@scrap}%
\def\htmlize@next@i{\xa\htmlize@recursive@i\htmlize@remaining@text\@htmlize@stop\@htmlize@stop\@htmlize@stop\htmlize@rdelim@i}%
\else
- % control sequence to be transcribed to XML.
+ % control sequence to be transcribed to \XML.
%\edef\ds{Must pass on \xa\string\@htmlize@cs}\show\ds
\g@addto@macro\htmlize@output{#1}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
@@ -4796,8 +5641,9 @@
\fi% \ifx\@htmlize@cs\@@begin@cs
\else%
\ifx\test@i\@othertilde%
- % The ~ becomes non-breaking space &nbsp;
- \g@addto@macro\htmlize@output{\otherampersand nbsp;}%
+ % The ~ becomes non-breaking space &nbsp; outside of math mode
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\@othertilde}}%
+ {\g@addto@macro\htmlize@output{\otherampersand nbsp;}}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\else
\ifx\test@i\@lsinglequote%
@@ -4813,26 +5659,25 @@
\ifx\test@i\@rsinglequote%
\ifx\test@ii\@rsinglequote% Double right quote
%AAedit 2021.01.06: in math mode, you should write 2 single right quotes, for second derivatives
- \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherampersand rsquo;\otherampersand rsquo;}}%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{''}}%
{\g@addto@macro\htmlize@output{\otherampersand rdquo;}}%
\def\htmlize@next@i{\htmlize@recursive@i#3\htmlize@rdelim@i}%
\else% Single right quote
- \g@addto@macro\htmlize@output{\otherampersand rsquo;}%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{'}}%
+ {\g@addto@macro\htmlize@output{\otherampersand rsquo;}}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\fi% \ifx\test@ii\@rsinglequote%
\else
\ifx\test@i\@doublequote
- \g@addto@macro\htmlize@output{\otherampersand rdquo;}%
+ \g@addto@macro\htmlize@output{\otherampersand quot;}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\else
\ifx\test@i\@lt
- \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherampersand lt;}}%
- {\g@addto@macro\htmlize@output{<}}%
+ \g@addto@macro\htmlize@output{\otherampersand lt;}
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\else
\ifx\test@i\@gt
- \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherampersand gt;}}%
- {\g@addto@macro\htmlize@output{>}}%
+ \g@addto@macro\htmlize@output{\otherampersand gt;}%
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\else
\ifx\test@i\@dash
@@ -4845,9 +5690,19 @@
\def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
\fi
\else
- % Default case: write first token to output, call self on remaining tokens.
- \g@addto@macro\htmlize@output{#1}%
- \def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
+ \ifx\test@i\@otherequal
+ \ifmoodle@clozemode
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{=}}%
+ {\g@addto@macro\htmlize@output{\otherampersand\otherhash 61;}}%
+ \else
+ \g@addto@macro\htmlize@output{=}%
+ \fi
+ \def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
+ \else
+ % Default case: write first token to output, call self on remaining tokens.
+ \g@addto@macro\htmlize@output{#1}%
+ \def\htmlize@next@i{\htmlize@recursive@i#2#3\htmlize@rdelim@i}%
+ \fi% \ifx\test@i\@otherequal
\fi% \ifx\test@i\@dash
\fi% \ifx\test@i\@gt
\fi% \ifx\test@i\@lt
@@ -4866,9 +5721,9 @@
\def\@rsinglequote{'}%
\def\@doublequote{"}%
% \end{macrocode}
-%
+%
% \subsection{Math Mode handling}
-%
+%
% In the following, note that the |\|\meta{*}|mathrightdelim|'s gobble an argument.
% This is so ``|$a$ is...|" can turn into
% ``\ldots |a\|\meta{*}|mathrightdelim{} is...|"
@@ -4877,9 +5732,9 @@
\edef\inlinemathleftdelim{\otherbackslash(}%
\def\inlinemathrightdelim#1{\advancemathmodecounter{-1}%
\g@addto@macro\htmlize@output{\otherbackslash)}}%
-\edef\displaymathleftdelim{\otherbackslash[}%
+\edef\displaymathleftdelim{<CENTER>\otherbackslash[}%
\def\displaymathrightdelim#1{\advancemathmodecounter{-1}%
- \g@addto@macro\htmlize@output{\otherbackslash]}}%
+ \g@addto@macro\htmlize@output{\otherbackslash]</CENTER>}}%
\long\def\htmlize@inlinemath@recursive@i#1#2#3\htmlize@rdelim@i{%
% inspired by \htmlize@recursive@i
\def\test@i{#1}%
@@ -4926,20 +5781,20 @@
}
% \end{macrocode}
-%
+%
% \subsection{Engines for Control Sequences}
-%
+%
% There are three kinds of control sequences that need special handling:
% \begin{enumerate}
% \item Action environments
% \item Action command sequences
% \item Expansion macros
% \end{enumerate}
-%
+%
% \subsubsection{Engine for running action environments}
% \begin{macrocode}
\long\def\htmlize@do@actionenv#1#2\@htmlize@stop\htmlize@actionsequence@rdelim{%
- \bgroup %The corresponding \egroup is given in \htmlize@proceedwiththerest,
+ \bgroup %The corresponding \egroup is given in \htmlize@proceedwiththerest,
%to localize the changes to the environment definitions.
\htmlize@activate@environments
\gdef\htmlize@afteraction@hook{}%
@@ -4950,7 +5805,6 @@
\def\swaptotrueendenvironment#1#2\if@ignore\@ignorefalse\ignorespaces\fi{#2\if@ignore\@ignorefalse\ignorespaces\fi#1}%
-
\long\def\htmlize@record@environment#1{%
\listadd{\htmlize@env@actionlist}{#1}%
}
@@ -4965,14 +5819,13 @@
}%
}
-
\def\htmlize@activate@environments{}%
% \end{macrocode}
-%
+%
% \subsubsection{Engine for running action command sequences}
-%
+%
% The following automatically adds the ``engine'' to do the command
-% and then resume processing the \LaTeX\ into HTML.
+% and then resume processing the \LaTeX\ into \HTML.
% It uses the |xpatch| package, which says it works with anything
% defined using |\newcommand| etc. and |\newenvironment| etc.
% \begin{macrocode}
@@ -4980,7 +5833,7 @@
\long\def\htmlize@do@actioncs#1#2\htmlize@actionsequence@rdelim{%
% #1#2 contains the current string to be rendered into HTML;
- % N.B. it has been tokenized at this point,
+ % N.B. it has been tokenized at this point,
% so TeX can process it directly.
% #1 = the command sequence we need to execute
% #2 = the rest of the string
@@ -5012,7 +5865,7 @@
%This will contain an extra \@htmlize@stop, so we remove it.
\xa\xa\xa\def\xa\xa\xa\htmlize@remainder@detokenized\xa\xa\xa{\xa\htmlize@remove@stopcode\htmlize@remainder@detokenized}%
%Now we get back to work transcribing the remainder.
- \xa\htmlize@recursive@i\htmlize@remainder@detokenized\@htmlize@stop\@htmlize@stop\@htmlize@stop\htmlize@rdelim@i%
+ \xa\htmlize@recursive@i\htmlize@remainder@detokenized\@htmlize@stop\@htmlize@stop\@htmlize@stop\htmlize@rdelim@i%
}
\long\def\htmlize@record@action#1{%
@@ -5020,7 +5873,7 @@
}
\def\htmlize@activate@css{}%
-\def\html@action@def#1{%
+\long\def\html@action@def#1{%
\htmlize@record@action{#1}%
\xa\def\xa\htmlize@scrap\xa{\xa\let\xa#1\csname html@\string#1\endcsname}%
\xa\g@addto@macro\xa\htmlize@activate@css\xa{\htmlize@scrap}%
@@ -5032,7 +5885,7 @@
\else
\xa\html@action@def\csname #1\endcsname{\csname moodle@#1@int\endcsname}%
\fi
- % Note that \htmlize@do@actioncs will 'patch' this by putting
+ % Note that \htmlize@do@actioncs will 'patch' this by putting
% '\xa\htmlize@proceedwiththerest\htmlize@afteraction@hook'
% at the end. We want those 3 tokens to occur instead after
% the graphics filename.
@@ -5046,18 +5899,18 @@
}%
}
% \end{macrocode}
-%
+%
% \subsubsection{Engine for expansion control sequences}
-%
+%
% Calling |\htmlize@redefine@expansionmacros| will redefine
% the macros for us. It starts out empty.
% \begin{macrocode}
-\def\htmlize@redefine@expansionmacros{}%
+\long\def\htmlize@redefine@expansionmacros{}%
% \end{macrocode}
% If |\mymacro| needs no changes to be suited for expansion,
% you can simply call |\htmlize@record@expand{\mymacro}|
% or |\htmlregister{\mymacro}|
-% to record that it should be expanded on its way to the HTML.
+% to record that it should be expanded on its way to the \HTML.
% Examples would be user-built macros such as |\inv|$\to$|^{-1}|
% or |\N|$\to$|\mathbb{N}|.
% \begin{macrocode}
@@ -5073,7 +5926,7 @@
% |\renewcommand|, |\providecommand| or their starred variants.
% \begin{macrocode}
\def\moodleregisternewcommands{%
- %% INSPIRED FROM
+ %% INSPIRED FROM
%https://tex.stackexchange.com/questions/73271/how-to-redefine-or-patch-the-newcommand-command
\newcommand*{\saved@ifdefinable}{}
\let\saved@ifdefinable\@ifdefinable
@@ -5084,8 +5937,8 @@
\let\@@ifdefinable\@ifdefinable
}%
% \end{macrocode}
-% On the other hand, if an alternate version of the macro is
-% needed for HTML purposes, you can define its HTML version with
+% On the other hand, if an alternate version of the macro is
+% needed for \HTML\ purposes, you can define its \HTML\ version with
% |\html@def\mymacro...|
% Parameters are okay.
% An example would be
@@ -5098,15 +5951,15 @@
\xa\def\csname html@\string#1\endcsname%
}
% \end{macrocode}
-% Note that when |\html@def| expands out, it ends with |\def\html@\oldcsname|
+% Note that when |\html@def| expands out, it ends with |\def\html@\oldcsname|
% which abuts directly on the remainder of the definition.
-%
+%
% \subsection{Specific Control Sequences for Action and Expansion}
-%
+%
% Now that we have that machinery in place,
-% we define specific environments, action control sequences, and macros to
+% we define specific environments, action control sequences, and macros to
% expand to accomplish our purposes.
-%
+%
% \subsubsection{Action Environments}
% \begin{macrocode}
\htmlize@record@environment{clozemulti}
@@ -5116,7 +5969,11 @@
\htmlize@record@environment{clozeshortanswer}
\htmlize@record@environment{shortanswer}
-\html@newenvironment{center}{\xdef\htmlize@afteraction@hook{<CENTER>\expandonce\BODY</CENTER>}}%
+\html@newenvironment{center}{\xdef\htmlize@afteraction@hook{\noexpand\HTMLtag{CENTER}\expandonce\BODY\noexpand\HTMLtag{/CENTER}}}%
+
+\html@newenvironment{quote}{\xdef\htmlize@afteraction@hook{\noexpand\HTMLtag{BLOCKQUOTE}\expandonce\BODY\noexpand\HTMLtag{/BLOCKQUOTE}}}%
+
+\html@newenvironment{quotation}{\xdef\htmlize@afteraction@hook{\noexpand\HTMLtag{BLOCKQUOTE}\expandonce\BODY\noexpand\HTMLtag{/BLOCKQUOTE}}}%
\def\moodle@save@getitems@state{%
\global\xa\xdef\csname moodle@currentitemnumber@level@\the\moodle@listdepth\xa\endcsname\xa{\thecurrentitemnumber}%
@@ -5129,13 +5986,13 @@
\moodle@restoreitems{\thenumgathereditems}%
}%
\def\moodle@saveitems#1{%
- \ifnum#1>0%
+ \ifnum#1>0\relax
\global\csletcs{moodle@level@\the\moodle@listdepth @item@#1}{getitems@item@#1}%
\xa\moodle@saveitems\xa{\number\numexpr#1-1\expandafter}%
\fi
}%
\def\moodle@restoreitems#1{%
- \ifnum#1>0%
+ \ifnum#1>0\relax
\global\csletcs{getitems@item@#1}{moodle@level@\the\moodle@listdepth @item@#1}%
\global\xa\let\csname moodle@level@\the\moodle@listdepth @item@#1\endcsname=\@undefined
\xa\moodle@restoreitems\xa{\number\numexpr#1-1\expandafter}%
@@ -5146,9 +6003,9 @@
\advance\moodle@listdepth by 1\relax
\moodle@save@getitems@state%
\xa\gatheritems\xa{\BODY}%
- \gdef\htmlize@afteraction@hook{<#2>}%
+ \gdef\htmlize@afteraction@hook{\HTMLtag{#2}}%
\loopthroughitemswithcommand{\moodle@itemtoLI}%
- \g@addto@macro\htmlize@afteraction@hook{</#2>}%
+ \g@addto@macro\htmlize@afteraction@hook{\HTMLtag{/#2}}%
\moodle@restore@getitems@state%
\advance\moodle@listdepth by -1\relax
}%
@@ -5158,15 +6015,15 @@
\moodle@makelistenv{itemize}{UL}%
\def\moodle@itemtoLI#1{%
- \g@addto@macro\htmlize@afteraction@hook{<LI>#1}%
+ \g@addto@macro\htmlize@afteraction@hook{\HTMLtag{LI}#1}%
\trim@spaces@in\htmlize@afteraction@hook%
- \g@addto@macro\htmlize@afteraction@hook{</LI>}%
+ \g@addto@macro\htmlize@afteraction@hook{\HTMLtag{/LI}}%
}%
% \end{macrocode}
-%
+%
% \subsubsection{Action Control Sequences}
-%
+%
% \begin{macrocode}
\def\advancemathmodecounter#1{%
\global\advance\moodle@mathmodedepth by #1\relax
@@ -5182,26 +6039,34 @@
\htmlize@record@action{\endclozemode}%
\htmlize@record@action{\relax}%
-\html@action@def\%{\g@addto@macro\htmlize@output{\otherpercent}}%
+\html@action@def\HTMLtag#1{%
+ \xa\g@addto@macro\xa\htmlize@output\xa{<#1>}%
+ }%
+\html@action@def\%{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherpercent}}%
+ {\g@addto@macro\htmlize@output{\otherpercent}}%
+ }%
\html@action@def\#{\g@addto@macro\htmlize@output{\otherhash}}%
\html@action@def\&{\g@addto@macro\htmlize@output{\otherampersand}}%
-\html@action@def\\{\moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherbackslash}}%
- {\g@addto@macro\htmlize@output{<BR/>}}}%
+\html@action@def\\{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherbackslash}}%
+ {\g@addto@macro\htmlize@output{<BR/>}}
+ }%
\html@action@def\{{%
\moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherlbrace}}%
{\g@addto@macro\htmlize@output{\otherlbrace}}%
}%
\html@action@def\}{%
\moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherrbrace}}%
- {\ifmoodle@clozemode\g@addto@macro\htmlize@output{\otherbackslash}\fi
- \g@addto@macro\htmlize@output{\otherrbrace}}%
+ {\ifmoodle@clozemode\g@addto@macro\htmlize@output{\otherbackslash\otherrbrace}%
+ \else\g@addto@macro\htmlize@output{\otherrbrace}\fi}%
}%
\html@action@def\[{%
\advancemathmodecounter{1}
- \g@addto@macro\htmlize@output{\otherbackslash\otherlbracket}%
+ \g@addto@macro\htmlize@output{<CENTER>\otherbackslash\otherlbracket}%
}%
\html@action@def\]{%
- \g@addto@macro\htmlize@output{\otherbackslash\otherrbracket}%
+ \g@addto@macro\htmlize@output{\otherbackslash\otherrbracket</CENTER>}%
\advancemathmodecounter{-1}
}%
\html@action@def\({%
@@ -5224,15 +6089,64 @@
\moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherspace}}%
{\g@addto@macro\htmlize@output{\otherspace}}%
}%
+\html@action@def\,{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\,}}%
+ {\g@addto@macro\htmlize@output{\otherampersand\otherhash 8239\othersemicol}}%
+ }%
+\html@action@def\thinspace{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\thinspace\otherspace}}%
+ {\g@addto@macro\htmlize@output{\otherampersand\otherhash 8239\othersemicol}}%
+ }%
+\html@action@def\>{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\otherampersand gt;}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp14\othersemicol}}%
+ }%
+\html@action@def\:{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\:}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp14\othersemicol}}%
+ }%
+\html@action@def\medspace{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\:}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp14\othersemicol}}%
+ }%
+\html@action@def\;{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\othersemicol}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp13\othersemicol}}%
+ }%
+\html@action@def\thickspace{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\otherbackslash\othersemicol}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp13\othersemicol}}%
+ }%
+\html@action@def\enspace{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\enspace\otherspace}}%
+ {\g@addto@macro\htmlize@output{\otherampersand ensp\othersemicol}}%
+ }%
+\html@action@def\quad{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\quad\otherspace}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp\othersemicol}}%
+ }%
+\html@action@def\qquad{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\qquad\otherspace}}%
+ {\g@addto@macro\htmlize@output{\otherampersand emsp\othersemicol\otherampersand emsp\othersemicol}}%
+ }%
\html@action@def\${%
\g@addto@macro\htmlize@output{\otherdollar}%
}%
+\html@action@def\textquotesingle{%
+ \g@addto@macro\htmlize@output{'}%
+ }%
\html@action@def\@dquote{%
\g@addto@macro\htmlize@output{"}%
}%
+\html@action@def\textquotedbl{%
+ \g@addto@macro\htmlize@output{"}%
+ }%
\html@action@def\clozetilde{%
\xa\g@addto@macro\xa\htmlize@output\xa{\othertilde}%
}%
+\html@action@def\clozecorrect{%
+ \xa\g@addto@macro\xa\htmlize@output\xa{\otherequal}%
+ }%
\html@action@def\clozelbrace{%
\openclozemode
\xa\g@addto@macro\xa\htmlize@output\xa{\otherlbrace}%
@@ -5242,17 +6156,17 @@
\endclozemode
}%
\html@action@def\TeX{%
- \g@addto@macro\htmlize@output{\otherbackslash(\otherbackslash rm\otherbackslash TeX\otherbackslash)}
+ \g@addto@macro\htmlize@output{\otherbackslash(\otherbackslash rm\otherbackslash TeX\otherbackslash)}%
}%
\html@action@def\LaTeX{%
- \g@addto@macro\htmlize@output{\otherbackslash(\otherbackslash rm\otherbackslash LaTeX\otherbackslash)}
+ \g@addto@macro\htmlize@output{\otherbackslash(\otherbackslash rm\otherbackslash LaTeX\otherbackslash)}%
}%
{\catcode`;=12\relax\gdef\othersemicol{;}}
%Diacritical marks over vowels
{\catcode`|=3\relax
- \gdef\htmlize@vowels{a|e|i|o|u|A|E|I|O|U|}}
+ \gdef\htmlize@vowels{a|e|i|o|u|A|E|I|O|U|}}%
\def\htmlize@define@diacritic#1#2{%
\htmlize@record@action{#1}%
\g@addto@macro\htmlize@activate@css{%
@@ -5269,7 +6183,7 @@
%Diaeresis/Tréma/Umlaut
{\catcode`|=3\relax
- \gdef\htmlize@diaeresis{a|e|i|o|u|y|A|E|I|O|U|Y|}}
+ \gdef\htmlize@diaeresis{a|e|i|o|u|y|A|E|I|O|U|Y|}}%
\html@action@def\"#1{%
\ifinlist{#1}{\htmlize@diaeresis}%
{\g@addto@macro\htmlize@output{\otherampersand#1uml\othersemicol}}%
@@ -5293,7 +6207,7 @@
\ifx\test@i\@u
\def\toadd{\otherampersand\otherhash369\othersemicol}%
\else
- \def\toadd{\otherbackslash\otherlbrace#1\otherrbrace}%
+ \def\toadd{\otherbackslash H\otherlbrace#1\otherrbrace}%
\fi
\fi
\fi
@@ -5305,40 +6219,40 @@
%Cedilla
\def\@c{c}\def\@C{C}\def\@s{s}\def\@S{S}\def\@t{t}\def\@T{T}%
\html@action@def\c#1{%
- \bgroup
- \def\test@i{#1}%
- \ifx\test@i\@c
- \def\toadd{\otherampersand ccedil\othersemicol}%
- \else
- \ifx\test@i\@C
- \def\toadd{\otherampersand Ccedil\othersemicol}%
- \else
- \ifx\test@i\@s
- \def\toadd{\otherampersand\otherhash351\othersemicol}%
- \else
- \ifx\test@i\@S
- \def\toadd{\otherampersand\otherhash350\othersemicol}%
- \else
- \ifx\test@i\@t
- \def\toadd{\otherampersand\otherhash355\othersemicol}%
- \else
- \ifx\test@i\@T
- \def\toadd{\otherampersand\otherhash354\othersemicol}%
- \else
- \def\toadd{\otherbackslash\otherlbrace#1\otherrbrace}%
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
- \egroup
+ \bgroup
+ \def\test@i{#1}%
+ \ifx\test@i\@c
+ \def\toadd{\otherampersand ccedil\othersemicol}%
+ \else
+ \ifx\test@i\@C
+ \def\toadd{\otherampersand Ccedil\othersemicol}%
+ \else
+ \ifx\test@i\@s
+ \def\toadd{\otherampersand\otherhash351\othersemicol}%
+ \else
+ \ifx\test@i\@S
+ \def\toadd{\otherampersand\otherhash350\othersemicol}%
+ \else
+ \ifx\test@i\@t
+ \def\toadd{\otherampersand\otherhash355\othersemicol}%
+ \else
+ \ifx\test@i\@T
+ \def\toadd{\otherampersand\otherhash354\othersemicol}%
+ \else
+ \def\toadd{\otherbackslash c\otherlbrace#1\otherrbrace}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
+ \egroup
}%
%Tilde over a, n, o
{\catcode`|=3\relax
- \gdef\htmlize@tilde{A|N|O|a|n|o|}}
+ \gdef\htmlize@tilde{A|N|O|a|n|o|}}%
\html@action@def\~#1{%
\ifinlist{#1}{\htmlize@tilde}%
{\g@addto@macro\htmlize@output{\otherampersand#1tilde\othersemicol}}%
@@ -5347,12 +6261,12 @@
% breve diacritics
{\catcode`|=3\relax
- \gdef\htmlize@breve{A|G|U|a|g|u|}}
+ \gdef\htmlize@breve{A|G|U|a|g|u|}}%
\def\@e{e}\def\@E{E}\def\@i{i}\def\@ii{\i}\def\@I{I}\def\@o{o}\def\@O{O}%
\html@action@def\u#1{%
\ifinlist{#1}{\htmlize@breve}%
{\g@addto@macro\htmlize@output{\otherampersand#1breve\othersemicol}}%
- {
+ {%
\bgroup
\def\test@i{#1}%
\ifx\test@i\@E
@@ -5376,7 +6290,7 @@
\ifx\test@i\@o
\def\toadd{\otherampersand\otherhash335\othersemicol}%
\else
- \def\toadd{\otherbackslash\otherlbrace#1\otherrbrace}%
+ \def\toadd{\otherbackslash u\otherlbrace#1\otherrbrace}%
\fi
\fi
\fi
@@ -5391,7 +6305,7 @@
% caron diacritics
{\catcode`|=3\relax
- \gdef\htmlize@caron{C|D|E|L|N|R|S|T|Z|c|d|e|l|n|r|s|t|z|}}
+ \gdef\htmlize@caron{C|D|E|L|N|R|S|T|Z|c|d|e|l|n|r|s|t|z|}}%
\html@action@def\v#1{%
\ifinlist{#1}{\htmlize@caron}%
{\g@addto@macro\htmlize@output{\otherampersand#1caron\othersemicol}}%
@@ -5400,11 +6314,11 @@
% Ogonek diacritics
{\catcode`|=3\relax
- \gdef\htmlize@ogonek{A|E|I|U|a|e|i|u|}}
+ \gdef\htmlize@ogonek{A|E|I|U|a|e|i|u|}}%
\html@action@def\k#1{%
\ifinlist{#1}{\htmlize@ogonek}%
{\g@addto@macro\htmlize@output{\otherampersand#1ogon\othersemicol}}%
- {
+ {%
\bgroup
\def\test@i{#1}%
\ifx\test@i\@O
@@ -5413,84 +6327,292 @@
\ifx\test@i\@o
\def\toadd{\otherampersand\otherhash491\othersemicol}%
\else
- \def\toadd{\otherbackslash\otherlbrace#1\otherrbrace}%
+ \def\toadd{\otherbackslash k\otherlbrace#1\otherrbrace}%
\fi
\fi
\xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
\egroup
}%
}%
+
+% macron diacritics
+{\catcode`|=3\relax
+ \gdef\htmlize@macron{A|E|I|O|U|a|e|i|o|u|}}%
+\def\@g{g}\def\@G{G}\def\@y{y}\def\@Y{Y}%
+\html@action@def\=#1{%
+ \ifinlist{#1}{\htmlize@macron}%
+ {\g@addto@macro\htmlize@output{\otherampersand#1macr\othersemicol}}%
+ {%
+ \bgroup
+ \def\test@i{#1}%
+ \ifx\test@i\@g
+ \def\toadd{\otherampersand\otherhash7713\othersemicol}%
+ \else
+ \ifx\test@i\@G
+ \def\toadd{\otherampersand\otherhash7712\othersemicol}%
+ \else
+ \ifx\test@i\@y
+ \def\toadd{\otherampersand\otherhash563\othersemicol}%
+ \else
+ \ifx\test@i\@Y
+ \def\toadd{\otherampersand\otherhash562\othersemicol}%
+ \else
+ \def\toadd{\otherbackslash =\otherlbrace#1\otherrbrace}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
+ \egroup
+ }%
+}%
+
+% macron below diacritics
+\def\@b{b}\def\@B{B}\def\@d{d}\def\@D{D}\def\@k{k}\def\@K{K}\def\@l{l}%
+\def\@L{L}\def\@n{n}\def\@N{N}\def\@t{t}\def\@T{T}\def\@z{z}\def\@Z{Z}%
+\html@action@def\b#1{%
+ \bgroup
+ \def\test@i{#1}%
+ \ifx\test@i\@b
+ \def\toadd{\otherampersand\otherhash7687\othersemicol}%
+ \else
+ \ifx\test@i\@B
+ \def\toadd{\otherampersand\otherhash7686\othersemicol}%
+ \else
+ \ifx\test@i\@d
+ \def\toadd{\otherampersand\otherhash7695\othersemicol}%
+ \else
+ \ifx\test@i\@D
+ \def\toadd{\otherampersand\otherhash7694\othersemicol}%
+ \else
+ \ifx\test@i\@k
+ \def\toadd{\otherampersand\otherhash7733\othersemicol}%
+ \else
+ \ifx\test@i\@K
+ \def\toadd{\otherampersand\otherhash7732\othersemicol}%
+ \else
+ \ifx\test@i\@l
+ \def\toadd{\otherampersand\otherhash7739\othersemicol}%
+ \else
+ \ifx\test@i\@L
+ \def\toadd{\otherampersand\otherhash7738\othersemicol}%
+ \else
+ \ifx\test@i\@n
+ \def\toadd{\otherampersand\otherhash7753\othersemicol}%
+ \else
+ \ifx\test@i\@N
+ \def\toadd{\otherampersand\otherhash7752\othersemicol}%
+ \else
+ \ifx\test@i\@r
+ \def\toadd{\otherampersand\otherhash7775\othersemicol}%
+ \else
+ \ifx\test@i\@R
+ \def\toadd{\otherampersand\otherhash7774\othersemicol}%
+ \else
+ \ifx\test@i\@t
+ \def\toadd{\otherampersand\otherhash7791\othersemicol}%
+ \else
+ \ifx\test@i\@T
+ \def\toadd{\otherampersand\otherhash7790\othersemicol}%
+ \else
+ \ifx\test@i\@z
+ \def\toadd{\otherampersand\otherhash7829\othersemicol}%
+ \else
+ \ifx\test@i\@Z
+ \def\toadd{\otherampersand\otherhash7828\othersemicol}%
+ \else
+ \def\toadd{\otherbackslash b\otherlbrace#1\otherrbrace}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
+ \egroup
+}%
+
+% Overdot diacritics
+{\catcode`|=3\relax
+ \gdef\htmlize@dotabove{C|E|G|I|Z|c|e|g|z|}}%
+\def\@i{i}%
+\html@action@def\.#1{%
+ \ifinlist{#1}{\htmlize@dotabove}%
+ {\g@addto@macro\htmlize@output{\otherampersand#1dot\othersemicol}}%
+ {
+ \bgroup
+ \def\test@i{#1}%
+ \ifx\test@i\@i
+ \def\toadd{i}%
+ \else
+ \def\toadd{\otherbackslash .\otherlbrace#1\otherrbrace}%
+ \fi
+ \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
+ \egroup
+ }%
+}%
+
+% Underdot diacritics
+\def\@A{A}\def\@a{a}\def\@B{B}\def\@b{b}%
+\html@action@def\d#1{%
+ \bgroup
+ \def\test@i{#1}%
+ \ifx\test@i\@a
+ \def\toadd{\otherampersand\otherhash7841\othersemicol}%
+ \else
+ \ifx\test@i\@A
+ \def\toadd{\otherampersand\otherhash7840\othersemicol}%
+ \else
+ \ifx\test@i\@b
+ \def\toadd{\otherampersand\otherhash7685\othersemicol}%
+ \else
+ \ifx\test@i\@B
+ \def\toadd{\otherampersand\otherhash7684\othersemicol}%
+ \else
+ \def\toadd{\otherbackslash d\otherlbrace#1\otherrbrace}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \xa\g@addto@macro\xa\htmlize@output\xa{\toadd}%
+ \egroup
+}%
+
+% Overring
+{\catcode`|=3\relax
+ \gdef\htmlize@ring{A|U|a|u|}}%
+\html@action@def\r#1{%
+ \ifinlist{#1}{\htmlize@ring}%
+ {\g@addto@macro\htmlize@output{\otherampersand#1ring\othersemicol}}%
+ {\xa\g@addto@macro\htmlize@output\xa{\string\r#1}}%
+}%
% \end{macrocode}
-%
+%
% \subsubsection{Command sequences for Expansion}
-%
-% \begin{macrocode}
-\html@def\underline#1{<SPAN STYLE=\@dquote text-decoration: underline;\@dquote>#1</SPAN>}%
-\html@def\emph#1{<EM>#1</EM>}%
-\html@def\textit#1{<I>#1</I>}%
-\html@def\textbf#1{<B>#1</B>}%
-\html@def\texttt#1{<CODE>#1</CODE>}%
-\html@def\textsc#1{<SPAN STYLE=\@dquote font-variant: small-caps;\@dquote>#1</SPAN>}%
-\html@def\url#1{<A href=\@dquote #1\@dquote>#1</A>}%
-\html@def\href#1#2{<A href=\@dquote #1\@dquote>#2</A>}%
-\html@def\textsuperscript#1{<SUP>#1</SUP>}%
-\html@def\up#1{<SUP>#1</SUP>}%
-\html@def\fup#1{<SUP>#1</SUP>}%
-\html@def\textsubscript#1{<SUB>#1</SUB>}%
+%
+% First, commands defined by this package.
+% \begin{macrocode}
+\def\blank{\rule{1in}{0.5pt}}%
+% TODO: Make an optional argument for width? This wouldn't affect Moodle,
+% only the appearance in the PDF. It doesn't seem worth it.
\html@def\blank{____________}%
-\html@def\par{<BR/>}%
+\htmlize@record@action\inlinemathrightdelim
+\htmlize@record@action\displaymathrightdelim
+% \end{macrocode}
+% Second, native \LaTeX\ commands.
+% \begin{macrocode}
+\html@def\emph#1{\HTMLtag{EM}#1\HTMLtag{/EM}}%
+\html@def\textbf#1{\HTMLtag{B}#1\HTMLtag{/B}}%
+\html@def\textit#1{\HTMLtag{I}#1\HTMLtag{/I}}%
+\html@def\textsc#1{\HTMLtag{SPAN STYLE="font-variant: small-caps;"}#1\HTMLtag{/SPAN}}%
+\html@def\textsuperscript#1{\HTMLtag{SUP}#1\HTMLtag{/SUP}}%
+\html@def\textsubscript#1{\HTMLtag{SUB}#1\HTMLtag{/SUB}}%
+\html@def\texttt#1{\HTMLtag{CODE}#1\HTMLtag{/CODE}}%
+\html@action@def\underline#1{%
+ \moodle@ifmathmode{\g@addto@macro\htmlize@output{\string\underline{#1}}}%
+ {\g@addto@macro\htmlize@output{<SPAN STYLE="text-decoration: underline;">#1</SPAN>}}%
+}%
+% \end{macrocode}
+% Third, popular \LaTeX\ commands from packages.
+% \begin{macrocode}
+\html@def\url#1{\HTMLtag{A href=\@dq #1\@dq}#1\HTMLtag{/A}}% url or hyperref
+\html@def\href#1#2{\HTMLtag{A href=\@dq #1\@dq}#2\HTMLtag{/A}}% hyperref
+\html@def\up#1{\HTMLtag{SUP}#1\HTMLtag{/SUP}}% \pkg{babel}, option \optn{french}
+\html@def\fup#1{\HTMLtag{SUP}#1\HTMLtag{/SUP}}% \pkg{babel}, option \optn{french}
+% \end{macrocode}
+% Fourth, \LaTeX\ commands for ligature and other glyphs.
+% \begin{macrocode}
\html@def\aa{\&aring;}%
\html@def\AA{\&Aring;}%
\html@def\ae{\&aelig;}%
\html@def\AE{\&AElig;}%
-\html@def\oe{\&oelig;}%
-\html@def\OE{\&OElig;}%
-\html@def\S{\&sect;}%
-\html@def\euro{\&euro;}%
-\html@def\texteuro{\&euro;}%
+\html@def\dh{\&eth;}%
+\html@def\DH{\&ETH;}%
+\html@def\dj{\&dstrok;}%
+\html@def\DJ{\&Dstrok;}%
+\html@def\i{\&imath;}%
+\html@def\ij{\&ijlig;}%
+\html@def\IJ{\&IJlig;}%
+\html@def\j{\&jmath;}%
+\html@def\l{\&lstrok;}%
+\html@def\L{\&Lstrok;}%
+\html@def\ng{\&eng;}%
+\html@def\NG{\&ENG;}%
\html@def\o{\&oslash;}%
\html@def\O{\&Oslash;}%
+\html@def\oe{\&oelig;}%
+\html@def\OE{\&OElig;}%
\html@def\ss{\&szlig;}%
\html@def\SS{\&\#7838;}%
-\html@def\l{\&lstrok;}%
-\html@def\L{\&Lstrok;}%
+\html@def\th{\&thorn;}%
+\html@def\TH{\&THORN;}%
+% \end{macrocode}
+% Fifth, \LaTeX\ commands for horizontal spacing and line breaks.
+% In a number of situations, paragraph breaks translated into
+% |</p><p>| would bring trouble in the \HTML\ code. Examples:
+% \begin{itemize}
+% \item fields of cloze subquestions
+% \item inside environments like |center|, |itemize|, or |enumerate|.
+% \end{itemize}
+% \begin{macrocode}
+\html@def\space{ }%
+\html@def\textvisiblespace{\&blank;}%
+\html@def\newline{\HTMLtag{BR/}}%
+\html@def\par{\HTMLtag{BR/}}%
+% \end{macrocode}
+% Sixth, \LaTeX\ commands for various symbols.
+% \begin{macrocode}
+\html@def\textbackslash{\&\#92;}%
+\html@def\_{\&\#95;}%
+\html@def\textquestiondown{\&iquest;}%
+\html@def\textexclamdown{\&iexcl;}%
+\html@def\euro{\&euro;}%
+\html@def\texteuro{\&euro;}%
+\html@def\S{\&sect;}%
+% \end{macrocode}
+% Seventh, \LaTeX\ commands for various quotation marks.
+% \begin{macrocode}
+\html@def\textquoteleft{\&lsquo;}%
+\html@def\textquoteright{\&rsquo;}%
+\html@def\textquotedblleft{\&ldquo;}%
+\html@def\textquotedblright{\&rdquo;}%
+\html@def\guilsinglleft{\&lsaquo;}%
+\html@def\guilsinglright{\&rsaquo;}%
+\html@def\guillemotleft{\&laquo;}%
+\html@def\guillemotright{\&raquo;}%
+\html@def\quotesinglbase{\&sbquo;}%
+\html@def\quotedblbase{\&bdquo;}%
+\html@def\flq{\&lsaquo;}%
+\html@def\frq{\&rsaquo;}%
+\html@def\flqq{\&laquo;}%
+\html@def\frqq{\&raquo;}%
\html@def\og{\&laquo;\&\#8239;}%
-\html@def\guillemotleft{\&laquo;\&\#8239;}%
\html@def\fg{\&\#8239;\&raquo;}%
-\html@def\guillemotright{\&\#8239;\&raquo;}%
-\html@def\glqq{\&bdquo;}%
-\html@def\grqq{\&ldquo;}%
\html@def\glq{\&sbquo;}%
\html@def\grq{\&lsquo;}%
-\html@def\flqq{\&laquo;\&\#8239;}%
-\html@def\frqq{\&\#8239;\&raquo;}%
-\html@def\flq{\&lsaquo;}%
-\html@def\frq{\&rsaquo;}%
+\html@def\glqq{\&bdquo;}%
+\html@def\grqq{\&ldquo;}%
\html@def\dq{\&quot;}%
-\html@def\,{\&\#8239;}%
-\html@def\thinspace{\&\#8239;}%
-\html@def\textbackslash{\&\#92;}%
-\html@def\_{\&\#95;}%
-\html@def\textquestiondown{\&iquest;}%
-\html@def\textexclamdown{\&iexcl;}%
-
-% AH CUSTOM MACROS TO EXPAND --- remove these before publishing!
-%\htmlize@record@expand{\inv}%
-%\htmlize@record@expand{\rec}%
-
-\htmlize@record@action\inlinemathrightdelim
-\htmlize@record@action\displaymathrightdelim
-
% \end{macrocode}
%
-% \subsubsection{Passing Code to XML Only}
-% Users may want to include pieces of HTML code to the XML file only.
+% \subsubsection{Passing Code to \XML\ Only}
+% Users may want to include pieces of \HTML\ code to the \XML\ file only.
% When producing the traditional output, the optional argument, empty
% by default, is used.
% \begin{macrocode}
\newcommand\htmlonly[2][]{#1}%
% \end{macrocode}
-% When producing the XML file, the mandatory argument is passed as-is.
+% When producing the \XML\ file, the mandatory argument is passed as-is.
% \begin{macrocode}
\html@action@newcommand{htmlonly}[2][]{%
\g@addto@macro\htmlize@output{#2}%
@@ -5498,10 +6620,10 @@
% \end{macrocode}
%
% \subsection{Graphics via {\ttfamily\string\includegraphics}}
-%
+%
% \subsubsection{Finding Media Files}
% The following code is adapted from the command |\Ginclude@graphics| as
-% found in |graphics.sty|.
+% found in \filenm{graphics.sty}.
% Calling |\moodle@media@find|\marg{filename} looks for the file the
% same way |\includegraphics| does, with or without extension provided,
% in the current folder and in folders specified with |\graphicspath{}|.
@@ -5513,10 +6635,10 @@
% \begin{macrocode}
\AtEndPreamble{%
\@ifpackageloaded{graphics}{%
- \@ifpackagelater{graphics}{2019/10/08}{}{%
- \PackageError{moodle}{`moodle' is made to interact with the `graphics'
- package not older than 2019/10/08.}%
- }%
+ \@ifpackagelater{graphics}{2019/10/08 v1.3c}{}%
+ {\PackageError{moodle}{`moodle' is made to interact with the `graphics'\MessageBreak
+ package not older than 2019/10/08.}\@eha\endinput}%
+
}{}%
}%
\def\moodle@media@find#1{%
@@ -5574,7 +6696,7 @@
% begin modified part
\xdef\moodle@media@base{\detokenize\xa{\Gin@base}}%
\xdef\moodle@media@ext{\detokenize\xa{\Gin@ext}}%
- % end modfied part
+ % end modified part
\fi
\endgroup
}
@@ -5635,7 +6757,7 @@
\htmlize@setexecutable@int
}
\def\htmlize@setexecutable@int#1{%
- \egroup
+ \egroup
\expandafter\def\htmlize@executable@macro{#1}%
}
@@ -5647,30 +6769,41 @@
\def\SVGtoPDFcommand{\htmlize@setexecutable\SVGtoPDF}%
\def\optiSVGcommand{\htmlize@setexecutable\optiSVG}%
\def\DeleteFilecommand{\htmlize@setexecutable\DeleteFiles}%
+\def\MoveFilecommand{\htmlize@setexecutable\MoveFiles}%
+\def\DevNullcommand{\htmlize@setexecutable\DevNull}%
\ifwindows%
\ghostscriptcommand{gswin64c.exe -dBATCH -dNOPAUSE -sDEVICE=pngalpha}%
\baselxivcommand{certutil}%
+ % Uses scour from inkscape default installation
+ % The \Inkscape\bin directory has to be in the users path and provides both:
+ % {inkscape,python}.exe the scour-Package which is found by python in Inkscape\lib\python3.x\site-packages\
+ \optiSVGcommand{python -m scour.scour -q --enable-id-stripping --enable-comment-stripping
+ --shorten-ids --indent=none --remove-descriptive-elements}%
\DeleteFilecommand{del}%
+ \MoveFilecommand{move}%
+ \DevNullcommand{NUL}%
+ \imagemagickcommand{magick -colorspace RGB}%
\else%
\ghostscriptcommand{gs -dBATCH -dNOPAUSE -sDEVICE=pngalpha}%
\baselxivcommand{base64}%
+ \optiSVGcommand{scour -q --enable-id-stripping --enable-comment-stripping
+ --shorten-ids --indent=none --remove-descriptive-elements}%
\DeleteFilecommand{rm -f}%
+ \MoveFilecommand{mv}%
+ \DevNullcommand{/dev/null}%
+ \imagemagickcommand{convert -colorspace RGB}%
\fi%
-
-\imagemagickcommand{convert -colorspace RGB}%
\optipngcommand{optipng -clobber -strip all -quiet}%
\PDFtoSVGcommand{inkscape --export-type=svg --export-area-page --vacuum-defs}%--pdf-poppler
% remove the "--pdf-poppler" import option if you want to preserve text (avoid conversion to path)
\SVGtoPDFcommand{inkscape --export-type=pdf --export-area-page}%
-\optiSVGcommand{scour -q --enable-id-stripping --enable-comment-stripping
- --shorten-ids --indent=none --remove-descriptive-elements}%
% \end{macrocode}
-%
+%
% \subsubsection{Conversion and inclusion of non-native formats}
% \begin{macrocode}
\AtEndPreamble{%
- \@ifpackageloaded{graphicx}{%
+ \@ifpackageloaded{graphics}{%
\def\@firstofthree#1#2#3{#1}%
\def\@secondofthree#1#2#3{#2}%
\newcommand{\DeclareGraphicsAlien}[3]{%
@@ -5690,11 +6823,11 @@
\csname Gread@\targetfmt\endcsname{\Gin@base\targetext}%
}%
}%
-% Support for GIF files: passed as-is in XML but converted in PNG for PDF output.
-% In case the GIF is animated, we pick up the first frame in this conversion.
+% Support for \GIF\ files: passed as-is in \XML\ but converted in \PNG\ for PDF output.
+% In case the \GIF\ is animated, we pick up the first frame in this conversion.
% While the picture will be animated after Moodle import, it will not be in the PDF
% output, whatever the viewer is.
- \DeclareGraphicsAlien{.gif}{.png}{\htmlize@imagemagick@convert\otherspace '\SourceFile[0]' \OutputFile}%
+ \DeclareGraphicsAlien{.gif}{.png}{\htmlize@imagemagick@convert\otherspace \SourceFile[0]\otherspace \OutputFile}%
}{
\newcommand\includegraphics[2][]{\PackageError{moodle}{"\string\includegraphics" is not defined}%
{Add "\string\usepackage{graphicx}" to you preamble.}}{}%}%
@@ -5727,7 +6860,7 @@
}
\setkeys{moodle@includegraphics}{height=0pt,width=0pt}
% \end{macrocode}
-%
+%
% \subsubsection{Graphics conversion to HTML}
% If the |tikz| option is loaded, we define the |embedaspict| command.
% Furthermore, |includegraphics| is packed into a TikZ node.
@@ -5738,16 +6871,16 @@
% \begin{macrocode}
\ifmoodle@svg
\AtEndPreamble{%
-% Declaring SVG to PDF conversion rule for includegraphics
+% Declaring \SVG\ to PDF conversion rule for includegraphics
% \edef\Gin@extensions{\Gin@extensions,.svg,.SVG}%
% \DeclareGraphicsRule{.svg}{pdf}{.pdf}{%
% `\SVGtoPDF\otherspace '#1' \noexpand\Gin@base-svg-converted-to.pdf}%
% \DeclareGraphicsRule{.SVG}{pdf}{.pdf}{%
% `\SVGtoPDF\otherspace '#1' \noexpand\Gin@base-SVG-converted-to.pdf}%
\DeclareGraphicsAlien{.svg}{.pdf}{%
- \SVGtoPDF\otherspace '\SourceFile' -o '\OutputFile' 2>/dev/null}%
+ \SVGtoPDF\otherspace \SourceFile\otherspace -o \otherspace\OutputFile\otherspace 2>\DevNull}%
\DeclareGraphicsAlien{.SVG}{.pdf}{%
- \SVGtoPDF\otherspace '\SourceFile' -o '\OutputFile' 2>/dev/null}%
+ \SVGtoPDF\otherspace \SourceFile\otherspace -o \otherspace\OutputFile\otherspace 2>\DevNull}%
}%
\fi
\def\moodle@checkconversionsuccess#1#2{%
@@ -5780,8 +6913,8 @@
\message{moodle.sty: Processing \string\includegraphics[#1]{#2} for HTML...^^J}
\setkeys*{moodle@includegraphics}{#1}%
% Height or width should be given in TeX dimensions like cm or pt or in,
- % and are converted to pixels for web use using the ppi key.
- % TODO: Can we modify \includegraphics to accept height or width in
+ % and are converted to pixels for web use using the ppi key.
+ % TODO: Can we modify \includegraphics to accept height or width in
% pixels?
% TODO: What about \includegraphics[scale=0.7] ?
% Other keys: keepaspectratio=true|false, angle (rotation), clip & trim
@@ -5817,24 +6950,24 @@
% conversion needed
\edef\moodle@media@pdf{\detokenize{.pdf}}%
\edef\moodle@media@ext{\detokenize\xa{\moodle@media@ext}}%
- \ifnum0\ifx\moodle@media@ext\moodle@media@pdf1\fi\ifmoodle@svg1\fi=11% PDF file and SVG option active
- \def\moodle@media@ext@current{.svg}%
+ \ifnum0\ifx\moodle@media@ext\moodle@media@pdf1\fi\ifmoodle@svg1\fi=11\relax% PDF file and \SVG\ option active
+ \def\moodle@media@ext@current{-moodle.svg}%
\edef\moodle@media@mime@current{\moodle@media@SVGmime}%
- \edef\cmdline{\PDFtoSVG\otherspace "\moodle@media@base\moodle@media@ext" -o "\moodle@media@base\moodle@media@ext@current" 2>/dev/null}%
+ \edef\cmdline{\PDFtoSVG\otherspace "\moodle@media@base\moodle@media@ext" -o "\moodle@media@base\moodle@media@ext@current" 2>\DevNull}%
\message{moodle.sty: Converting '#2' to SVG...^^J}%
\xa\ShellEscape\xa{\cmdline}%
\moodle@checkconversionsuccess{\moodle@media@base\moodle@media@ext@current}{PDFtoSVG conversion}%
%Next, optimize inline
\ifwindows\else
\edef\cmdline{\optiSVG < "\moodle@media@base\moodle@media@ext@current" >
- "\moodle@media@base.tmp.svg" && mv "\moodle@media@base.tmp.svg"
+ "\moodle@media@base.tmp.svg" && \MoveFiles\otherspace "\moodle@media@base.tmp.svg"
"\moodle@media@base\moodle@media@ext@current"}%
\message{moodle.sty: Optimizing '\moodle@media@base\moodle@media@ext@current'...^^J}%
\xa\ShellEscape\xa{\cmdline}%
\moodle@checkconversionsuccess{\moodle@media@base\moodle@media@ext@current}{SVG optimization}%
\fi
\else% call ImageMagick
- \def\moodle@media@ext@current{.png}%
+ \def\moodle@media@ext@current{-moodle.png}%
\def\moodle@media@mime@current{image/png}%
\edef\cmdline{\htmlize@imagemagick@convert\otherspace "\moodle@media@base\moodle@media@ext" -resize \moodle@graphics@geometry\otherspace "\moodle@media@base\moodle@media@ext@current"}%
\message{moodle.sty: Converting '#2' to PNG...^^J}%
@@ -5852,17 +6985,42 @@
%Now, save that base64 encoding in a TeX macro
\def\moodle@newpic@baselxiv{}%
\message{moodle.sty: Reading base64 file '\moodle@media@base.enc'...^^J}%
- \openin\baseLXIVdatafile="\moodle@media@base.enc"
+ \openin\baseLXIVdatafile="\moodle@media@base.enc"\relax
+ \ifeof\baseLXIVdatafile
+ \PackageError{moodle}{reading '\moodle@media@base.enc' failed}%
+ {If the XML file is not of importance to you: use package option "draft"}%
+ \else
\savebaselxivdata@recursive
+ \fi
\closein\baseLXIVdatafile
%Clean up files
\ifx\moodle@media@ext@current\moodle@media@ext
- \ShellEscape{\DeleteFiles\otherspace "\moodle@media@base.enc"}%
+ \ifwindows
+ \ShellEscape{powershell.exe "del ""\moodle@media@base.enc"""}%
+ \else
+ \ShellEscape{\DeleteFiles\otherspace "\moodle@media@base.enc"}%
+ \fi
\else
- \ShellEscape{\DeleteFiles\otherspace "\moodle@media@base.enc" "\moodle@media@base\moodle@media@ext@current"}%
+ \ifwindows
+ \ShellEscape{powershell.exe "del ""\moodle@media@base.enc"""}%
+ \ShellEscape{powershell.exe "del ""\moodle@media@base\moodle@media@ext@current"""}%
+ \else
+ \ShellEscape{\DeleteFiles\otherspace "\moodle@media@base.enc" "\moodle@media@base\moodle@media@ext@current"}%
+ \fi
\fi
\xa\global\xa\let\csname picbaselxiv@graphics@#2\endcsname=\moodle@newpic@baselxiv%
- \edef\htmlize@imagetag{<IMG \moodle@graphics@htmlgeometry\otherspace SRC="data:\moodle@media@mime@current;base64,\csname picbaselxiv@graphics@#2\endcsname">}%
+ \ifmoodle@pluginfile
+ \edef\htmlize@imagetag{<IMG \moodle@graphics@htmlgeometry\otherspace SRC="@@PLUGINFILE@@/\moodle@media@base\moodle@media@ext@current">}%
+ \xa\filename@parse\xa{\moodle@media@base}%
+ \xdef\moodle@media@path{\filename@area}%
+ \xdef\moodle@media@base{\filename@base}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{<file name="\moodle@media@base}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\moodle@media@ext@current"}
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{ path="/\moodle@media@path" encoding="base64">}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\csname picbaselxiv@graphics@#2\endcsname</file>}%
+ \else
+ \edef\htmlize@imagetag{<IMG \moodle@graphics@htmlgeometry\otherspace SRC="data:\moodle@media@mime@current;base64,\csname picbaselxiv@graphics@#2\endcsname">}%
+ \fi
\xa\g@addto@macro\xa\htmlize@output\xa{\htmlize@imagetag}%
\message{moodle.sty: <IMG> tag inserted.^^J}%
\egroup
@@ -5879,7 +7037,7 @@
}%
\ifwindows
\def\ConvertToBaseLXIV@int#1#2{%
- \def\cmdline{\baselxiv\otherspace -encode "#1#2"\otherspace tmp.b64 && findstr /vbc:"---" tmp.b64 > "#1.enc" && del tmp.b64}%
+ \def\cmdline{\baselxiv\otherspace -encode "#1#2"\otherspace tmp.b64 && findstr /vbc:"---" tmp.b64 > "#1.enc" && powershell.exe "del tmp.b64"}%
}% Starting from Windows 7, CertUtil is included by default. There should be no windows XP still running
\else
\ifmacosx
@@ -5893,7 +7051,7 @@
\fi
\fi
% \end{macrocode}
-% The following code accomplishes the reading of an |.enc| file into memory.
+% The following code accomplishes the reading of an \filenm{.enc} file into memory.
% It is also used by the \TikZ\ code below.
% \begin{macrocode}
\newread\baseLXIVdatafile
@@ -5914,12 +7072,12 @@
\baselxiv@next
}
% \end{macrocode}
-%
+%
% \subsection{\TikZ\ Picture Handling}
-% If the user is not using the \TikZ\ package, there is no need to waste time
+% If the user is not using the \TikZ\ package, there is no need to waste time
% loading it. Without \TikZ\ loaded, however, many of the following commands
% are undefined.
-% Our solution is to wait until |\AtBeginDocument| and then test whether
+% Our solution is to wait until |\AtBeginDocument| and then test whether
% \TikZ\ is loaded. If so, we make the appropriate definitions.
% \begin{macro}{TikZ}
% \changes{v0.7}{2020/07/14}{Support \emph{tikz}\ command}
@@ -5943,24 +7101,38 @@
\def\TikzExportMIME{image/svg+xml}%
\ifpdfoutput% tex engines defaulting to PDF output (pdflatex, xelatex, lualatex)
\def\ExportTikz{ \message{moodle.sty: Converting picture '\moodle@basename.pdf' to SVG...^^J}%
- \edef\cmdline{\PDFtoSVG\otherspace "\moodle@basename.pdf" -o "\moodle@basename\TikzExportExtension" 2>/dev/null}%
+ \edef\cmdline{\PDFtoSVG\otherspace "\moodle@basename.pdf" -o "\moodle@basename\TikzExportExtension" 2>\DevNull}%
+\message{\cmdline}
\xa\ShellEscape\xa{\cmdline}%
\moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{PDFtoSVG conversion}%
}%
\else % latex
\def\ExportTikz{ \message{moodle.sty: Converting picture '\moodle@basename.ps' to SVG...^^J}%
- \edef\cmdline{\PDFtoSVG\otherspace "\moodle@basename.ps" -o "\moodle@basename\TikzExportExtension" 2>/dev/null}%
- \xa\ShellEscape\xa{\cmdline}%
+ \edef\cmdline{\PDFtoSVG\otherspace "\moodle@basename.ps" -o "\moodle@basename\TikzExportExtension" 2>\DevNull}%
+\message{\cmdline}
+ \xa\ShellEscape\xa{\cmdline}%
\moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{PStoSVG conversion}%
}%
\fi
- \def\OptimizeExport{ \message{moodle.sty: Optimizing '\moodle@basename.svg'...^^J}%
+ \ifwindows
+ \def\OptimizeExport{ \message{moodle.sty: Optimizing '\moodle@basename.svg'...^^J}%
+ \edef\cmdline{\optiSVG\otherspace < "\moodle@basename\TikzExportExtension" >
+ "\moodle@basename.tmp.svg" && powershell.exe "move ""\moodle@basename.tmp.svg""" %
+ """\moodle@basename\TikzExportExtension"""}%
+ \message{\cmdline}
+ \xa\ShellEscape\xa{\cmdline}%
+ \moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{SVG optimization}%
+ }%
+ \else
+ \def\OptimizeExport{ \message{moodle.sty: Optimizing '\moodle@basename.svg'...^^J}%
\edef\cmdline{\optiSVG\otherspace < "\moodle@basename\TikzExportExtension" >
- "\moodle@basename.tmp.svg" && mv "\moodle@basename.tmp.svg"
+ "\moodle@basename.tmp.svg" && \MoveFiles\otherspace "\moodle@basename.tmp.svg"
"\moodle@basename\TikzExportExtension" }%
+ \message{\cmdline}
\xa\ShellEscape\xa{\cmdline}%
\moodle@checkconversionsuccess{\moodle@basename\TikzExportExtension}{SVG optimization}%
}%
+ \fi
\else
\def\TikzExportExtension{.png}%
\def\TikzExportMIME{image/png}%
@@ -5993,7 +7165,7 @@
\moodle@oldtikzpicture%
}{}%
% However, the tikz externalize library does *not* run \end{tikzpicture}.
- % In order to run commands after the tikz picture is done compiling, we need to
+ % In order to run commands after the tikz picture is done compiling, we need to
% use a hook into \tikzexternal@closeenvironments.
\g@addto@macro{\tikzexternal@closeenvironments}{%
\moodle@endtikzpicture@hook
@@ -6027,20 +7199,38 @@
\fi
%
% The HTMLizer version of the tikzpicture environment,
- % which writes an <IMG> tag to the XML file.
+ % which writes an <IMG> tag to the \XML\ file.
\htmlize@record@environment{tikzpicture}%
\g@addto@macro\htmlize@activate@environments{%
\let\tikzpicture\relax\let\endtikzpicture\relax
\NewEnviron{tikzpicture}[1][]{%
\global\advance\numpicturesread by 1\relax
- \edef\htmlize@imagetag{<IMG SRC="data:\TikzExportMIME;base64,\csname picbaselxiv@\the\numpicturesread\endcsname">}%
+ \ifmoodle@pluginfile
+ \edef\htmlize@imagetag{<IMG SRC="@@PLUGINFILE@@/tikz/\tikzexternalrealjob-tikztemp-\the\numpicturesread\TikzExportExtension">}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{<file name="\tikzexternalrealjob-tikztemp-}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\the\numpicturesread}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\TikzExportExtension"}
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{ path="/tikz/" encoding="base64">}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\csname picbaselxiv@\the\numpicturesread\endcsname</file>}%
+ \else
+ \edef\htmlize@imagetag{<IMG SRC="data:\TikzExportMIME;base64,\csname picbaselxiv@\the\numpicturesread\endcsname">}%
+ \fi
\xa\g@addto@macro\xa\htmlize@output\xa{\htmlize@imagetag}%
}[\htmlize@patchendenvironment]%
}%
\html@action@newcommand{tikz}[2][]{%
% \message{>>> Processing \string\tikz[#1]{...} ^^J}
\global\advance\numpicturesread by 1\relax
- \edef\htmlize@imagetag{<IMG SRC="data:\TikzExportMIME;base64,\csname picbaselxiv@\the\numpicturesread\endcsname">}%
+ \ifmoodle@pluginfile
+ \edef\htmlize@imagetag{<IMG SRC="@@PLUGINFILE@@/tikz/\tikzexternalrealjob-tikztemp-\the\numpicturesread\TikzExportExtension">}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{<file name="\tikzexternalrealjob-tikztemp-}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\the\numpicturesread}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\TikzExportExtension"}
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{ path="/tikz/" encoding="base64">}%
+ \xa\g@addto@macro\xa\htmlize@embeddedfiletags\xa{\csname picbaselxiv@\the\numpicturesread\endcsname</file>}%
+ \else
+ \edef\htmlize@imagetag{<IMG SRC="data:\TikzExportMIME;base64,\csname picbaselxiv@\the\numpicturesread\endcsname">}%
+ \fi
\xa\g@addto@macro\xa\htmlize@output\xa{\htmlize@imagetag}%
}%
\else
@@ -6063,7 +7253,12 @@
\def\savebaselxivdata{%
\def\moodle@newpic@baselxiv{}%
\openin\baseLXIVdatafile=\tikzexternalrealjob-tikztemp-\the\numconvertedpictures.enc\relax
+ \ifeof\baseLXIVdatafile
+ \PackageError{moodle}{reading '\moodle@media@base.enc' failed}%
+ {If the XML file is not of importance to you: use package option "draft"}%
+ \else
\savebaselxivdata@recursive
+ \fi
\closein\baseLXIVdatafile
\xa\global\xa\let\csname picbaselxiv@\the\numconvertedpictures\endcsname=\moodle@newpic@baselxiv%
}
@@ -6076,7 +7271,7 @@
\RequirePackage{varwidth}% for the command |embedaspict|
\fi
% \end{macrocode}
-% Finally, we clean up our mess by deleting the temporary PDF, PNG, and ENC
+% Finally, we clean up our mess by deleting the temporary PDF, \PNG, and ENC
% files we created.
% With XeTeX, we cannot clean pictures pdf's because they are actually included in the final pdf afterwards, by xdvipdfmx.
% With LuaTeX, it looks like |\AtEndDocument| is too early to for this cleaning step.
@@ -6087,12 +7282,16 @@
\ifXeTeX
% we must keep picture pdf's for subsequent linking (xdvipdfmx)
\ifwindows
- \ShellEscape{powershell.exe -noexit "del * -include \tikzexternalrealjob-tikztemp-*.* -exclude *.pdf}%
+ \ShellEscape{powershell.exe "del * -include \tikzexternalrealjob-tikztemp-*.* -exclude *.pdf"}%
\else
\ShellEscape{find . -type f -name "\tikzexternalrealjob-tikztemp-*.*" -not -name "*.pdf" -delete}%
\fi
\else
- \ShellEscape{\DeleteFiles\otherspace \tikzexternalrealjob-tikztemp-*.*}%
+ \ifwindows
+ \ShellEscape{powershell.exe "del \tikzexternalrealjob-tikztemp-*.*"}%
+ \else
+ \ShellEscape{\DeleteFiles\otherspace \tikzexternalrealjob-tikztemp-*.*}%
+ \fi
\fi
}{}%
\fi
@@ -6105,6 +7304,7 @@
% \subsection{Other Media}
% Support for other media comes through the |\url|\marg{link} and |\href|\marg{link}\marg{text}
% commands.
+% \begin{macrocode}
\AtEndPreamble{%
\@ifpackageloaded{hyperref}{%
\let\oldhref\href
@@ -6229,13 +7429,36 @@
% }%
}{}%
}%
+% \end{macrocode}
%
% \subsection{Verbatim Code}
-%
+%
% We start by defining a macro to parameter a style for code box display in Moodle
% \begin{macrocode}
\def\xmlDisplayVerbatimBox{border-top: thin solid; border-bottom: thin solid}%
% \end{macrocode}
+% Then we set a macro to escape some characters that would not play well with \HTML.
+% \begin{macrocode}
+\begingroup
+\catcode`\<=\active\relax
+\catcode`\>=\active\relax
+\catcode`\"=\active\relax
+\catcode`\'=\active\relax
+\catcode`\&=\active\relax
+\gdef\moodle@HackTML{%
+ \catcode`\<=\active\relax
+ \catcode`\>=\active\relax
+ \catcode`\"=\active\relax
+ \catcode`\'=\active\relax
+ \catcode`\&=\active\relax
+ \gdef<{\otherampersand lt;}%
+ \gdef>{\otherampersand gt;}%
+ \gdef"{\otherampersand quot;}%
+ \gdef'{\otherampersand apos;}%
+ \gdef&{\otherampersand amp;}%
+}%
+\endgroup
+% \end{macrocode}
% First, let us handle |\verbatiminput| from the `verbatim' package
% \begin{macrocode}
\html@action@def\verbatiminput#1{%
@@ -6245,6 +7468,7 @@
\@bsphack
\let\do\@makeother\dospecials
\catcode`\^^M\active
+ \moodle@HackTML
\def\verbatim@processline{\xa\g@addto@macro\xa\htmlize@output\xa{\the\verbatim@line<BR/>}}
\verbatim@readfile{#1}%
\@esphack
@@ -6261,30 +7485,33 @@
\@ifpackageloaded{fancyvrb}{\PackageError{moodle}{'moodle' should be loaded before 'fancyvrb'.}%
{'moodle' loads 'fancybox' which, unfortunately, redefines verbatim commands.}}{\relax}%
-\html@action@newcommand{VerbatimInput}[2][]{%
- \message{moodle.sty: Processing \string\VerbatimInput[#1]{#2} for HTML ^^J}%
- \def\FV@KeyValues{#1}%
- \FV@UseKeyValues% import options defined in #1
- \moodle@VerbatimInput{#2}%
-}%
-\html@action@newcommand{LVerbatimInput}[2][]{%
- \message{moodle.sty: Processing \string\LVerbatimInput[#1]{#2} for HTML ^^J}%
- \def\FV@KeyValues{#1}%
- \FV@UseKeyValues% import options defined in #1
- \moodle@VerbatimInput{#2}%
-}%
-\html@action@newcommand{BVerbatimInput}[2][]{%
- \message{moodle.sty: Processing \string\BVerbatimInput[#1]{#2} for HTML ^^J}%
- \def\FV@KeyValues{#1}%
- \FV@UseKeyValues% import options defined in #1
- \moodle@VerbatimInput{#2}%
-}%
+\def\moodle@FV#1{%
+ \html@action@newcommand{#1}[2][]{%
+ \message{moodle.sty: Processing \@backslashchar#1[##1]{##2} for HTML ^^J}%
+ \def\FV@KeyValues{##1}%
+ \FV@UseKeyValues% import options defined in #1
+ \def\FV@Input####1{
+ \immediate\openin\FV@InFile ####1\relax
+ \ifeof\FV@InFile
+ \FV@Error{No verbatim file ####1}\FV@eha
+ \immediate\closein\FV@InFile
+ \else
+ \FV@CatCodes
+ \moodle@HackTML
+ \expandafter\FV@@Input
+ \fi}%
+ \moodle@VerbatimInput{##2}%
+ }%
+}
+\moodle@FV{VerbatimInput}%
+\moodle@FV{LVerbatimInput}%
+\moodle@FV{BVerbatimInput}%
\def\moodle@VerbatimInput#1{%
\g@addto@macro\htmlize@output{<PRE style="\xmlDisplayVerbatimBox"><CODE>}%
%%%%%%%% using material from fancyvrb and fvextra %%%%%%%%
%\begingroup
\def\moodle@verbatim@addlinenumber##1{%
- \g@addto@macro\htmlize@output{<span style="font-size: 80\otherpercent;
+ \g@addto@macro\htmlize@output{<span style="font-size: 80\otherpercent;
background-color: \otherhash f0f0f0; padding: 0 5px 0 5px; display:
inline-block; width: 16pt; ##1">}%
\if@FV@NumberBlankLines
@@ -6294,10 +7521,10 @@
\xa\g@addto@macro\xa\htmlize@output\xa{\otherampersand nbsp;</span>}%
\else
\xa\g@addto@macro\xa\htmlize@output\xa{\the\c@FancyVerbLine</span>}%
- \fi
+ \fi
\fi
}
- % redefine the ProcessLine routine ('fancyvrb' and 'fvextra') for XML output
+ % redefine the ProcessLine routine ('fancyvrb' and 'fvextra') for \XML\ output
\def\FV@ProcessLine##1{%
\ifcsname FV@HighlightLine:\number\c@FancyVerbLine\endcsname
\xdef\moodle@FV@tagB{<mark>}% fvextra triggered highlighting for this line
@@ -6309,7 +7536,7 @@
\catcode`\`=12%
\def\FV@Line{##1}%
\ifx\FV@LeftListNumber\relax
-
+
\else% line numbers displayed on the left side
\moodle@verbatim@addlinenumber{text-align: right}%
\fi
@@ -6341,13 +7568,16 @@
}{\relax}%
}
% \end{macrocode}
-% Third, we patch `minted' so that it also calls pygmentize to generate HTML code.
+% Third, we patch `minted' so that it also calls pygmentize to generate \HTML\ code.
% \begin{macrocode}
\AtEndPreamble{% this definition should prevail because `minted' gets loaded after `moodle'
\@ifpackageloaded{minted}{%
\newcounter{moodle@pygmentizecounter}%
+ \@ifundefined{minted@defstyle}{% compatibility with minted prior to 2021/12/24 v2.6
+ \let\minted@defstyle=\minted@checkstyle%
+ }{}%
\renewcommand{\minted@pygmentize}[2][\minted@outputdir\minted@jobname.pyg]{%
- \minted@checkstyle{\minted@get@opt{style}{default}}%
+ \minted@defstyle{\minted@get@opt{style}{default}}%
\stepcounter{minted@pygmentizecounter}%
\ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
{\def\minted@codefile{\minted@outputdir\minted@jobname.pyg}}%
@@ -6360,7 +7590,7 @@
\def\minted@cmdtemplate##1##2{%
\ifminted@kpsewhich
\ifwindows
- \detokenize{for /f "usebackq tokens=*"}\space\@percentchar\detokenize{a
+ \detokenize{for /f "usebackq tokens=*"}\space\@percentchar\detokenize{a
in (`kpsewhich}\space\minted@codefile\detokenize{`) do}\space
\fi
\fi
@@ -6380,14 +7610,14 @@
\fi}%
\def\minted@cmd{\minted@cmdtemplate{latex -P commandprefix=PYG}{\minted@infile}}
% For debugging, uncomment: %%%%
- \immediate\typeout{\minted@cmd}%
+ %\immediate\typeout{\minted@cmd}%
% %%%%
- \def\minted@cmdHTML{\minted@cmdtemplate{html -P noclasses -P
+ \def\minted@cmdHTML{\minted@cmdtemplate{html -P noclasses -P
nowrap -P hl_lines="\FV@HighlightLinesList" -P
style="\minted@get@opt{style}{default}"}{\csname minted@infileHTML\the\c@minted@pygmentizecounter\endcsname}}%
- \def\minted@cmdPNG{\minted@cmdtemplate{png -P
+ \def\minted@cmdPNG{\minted@cmdtemplate{png -P
line_numbers=True}{\minted@infilePNG}}%
- \def\minted@cmdSVG{\minted@cmdtemplate{svg -P
+ \def\minted@cmdSVG{\minted@cmdtemplate{svg -P
linenos=True}{\minted@infileSVG}}%
\ifthenelse{\boolean{minted@cache}}%
{%
@@ -6396,8 +7626,8 @@
\ifx\XeTeXinterchartoks\minted@undefined
\ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
{\edef\minted@hash{\pdf@filemdfivesum{#1}%
- \pdf@mdfivesum{\minted@cmd autogobble(\ifx\FancyVerbStartNum\z@
- 0\else\FancyVerbStartNum\fi-\ifx\FancyVerbStopNum\z@
+ \pdf@mdfivesum{\minted@cmd autogobble(\ifx\FancyVerbStartNum\z@
+ 0\else\FancyVerbStartNum\fi-\ifx\FancyVerbStopNum\z@
0\else\FancyVerbStopNum\fi)}}}%
{\edef\minted@hash{\pdf@filemdfivesum{#1}%
\pdf@mdfivesum{\minted@cmd}}}%
@@ -6407,7 +7637,7 @@
\immediate\write\minted@code{\minted@cmd}%
\ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
{\immediate\write\minted@code{autogobble(\ifx\FancyVerbStartNum\z@
- 0\else\FancyVerbStartNum\fi-\ifx\FancyVerbStopNum\z@
+ 0\else\FancyVerbStartNum\fi-\ifx\FancyVerbStopNum\z@
0\else\FancyVerbStopNum\fi)}}{}%
\immediate\closeout\minted@code
\edef\minted@argone@esc{#1}%
@@ -6421,22 +7651,22 @@
\def\minted@hashcmd{%
\detokenize{python -c "import hashlib; import os;
hasher = hashlib.sha1();
- f =
+ f =
open(os.path.expanduser(os.path.expandvars(\"}\minted@tmpfname@esc.mintedcmd\detokenize{\")),
\"rb\");
hasher.update(f.read());
f.close();
- f =
+ f =
open(os.path.expanduser(os.path.expandvars(\"}\minted@argone@esc\detokenize{\")),
\"rb\");
hasher.update(f.read());
f.close();
- f =
+ f =
open(os.path.expanduser(os.path.expandvars(\"}\minted@tmpfname@esc.mintedmd5\detokenize{\")),
\"w\");
- macro = \"\\edef\\minted@hash\" + chr(123) + hasher.hexdigest()
+ macro = \"\\edef\\minted@hash\" + chr(123) + hasher.hexdigest()
+ chr(125) + \"\";
- f.write(\"\\makeatletter\" + macro +
+ f.write(\"\\makeatletter\" + macro +
\"\\makeatother\\endinput\n\");
f.close();"}}%
\ShellEscape{\minted@hashcmd}%
@@ -6444,8 +7674,8 @@
\else
\ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
{\edef\minted@hash{\mdfivesum file {#1}%
- \mdfivesum{\minted@cmd autogobble(\ifx\FancyVerbStartNum\z@
- 0\else\FancyVerbStartNum\fi-\ifx\FancyVerbStopNum\z@
+ \mdfivesum{\minted@cmd autogobble(\ifx\FancyVerbStartNum\z@
+ 0\else\FancyVerbStartNum\fi-\ifx\FancyVerbStopNum\z@
0\else\FancyVerbStopNum\fi)}}}%
{\edef\minted@hash{\mdfivesum file {#1}%
\mdfivesum{\minted@cmd}}}%
@@ -6472,10 +7702,10 @@
\ifwindows
\StrSubstitute{\minted@infile}{/}{\@backslashchar}[\minted@infile@windows]
\StrSubstitute{\minted@actualinfile}{/}{\@backslashchar}[\minted@actualinfile@windows]
- \ShellEscape{move /y
+ \ShellEscape{move /y
\minted@outputdir\minted@infile@windows\space\minted@outputdir\minted@actualinfile@windows}%
\else
- \ShellEscape{mv -f
+ \ShellEscape{mv -f
\minted@outputdir\minted@infile\space\minted@outputdir\minted@actualinfile}%
\fi
\let\minted@infile\minted@actualinfile
@@ -6507,38 +7737,793 @@
% Since minted is based upon `fvextra' the macro |\moodle@VerbatimInput| works here.
\minted@configlang{#2}% grab options set for this specific language
\setkeys{minted@opt@cmd}{#1}% grab options in #1
- \minted@fvset% import options
+ \minted@fvset% import options
\stepcounter{moodle@pygmentizecounter}
\xa\moodle@VerbatimInput\xa{\csname minted@infileHTML\the\c@moodle@pygmentizecounter\endcsname}%
}%
% \end{macrocode}
%
-% \subsection{Warning users of \texttt{babel}}
-% Users of the |babel| package loaded with the 'french' option may experience problems
-% related to autospacing when using |pdfLaTeX|. We shall warn them.
+% \subsection{Internationalization}
+% Here is an attempt to internationalize the PDF typesetting, relying on
+% the package 'translations'.
% \begin{macrocode}
-\AtBeginDocument{%
- \def\moodle@babel@german@warn{\PackageWarning{moodle}{Be careful when using moodle
- and German-related babel package options. The symbol " is made active and your umlauts
- will confuse moodle. You can either 1) compile with xelatex/lualatex with UTF-8 coded
- characters or 2) avoid the babel option.}
- }
- \@ifpackagewith{babel}{german}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{austrian}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{swissgerman}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{swissgerman.toss}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{ngerman}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{naustrian}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{nswissgerman}{\moodle@babel@german@warn}{\relax}%
- \@ifpackagewith{babel}{nswissgerman.toss}{\moodle@babel@german@warn}{\relax}%
- \ifPDFTeX % pdflatex or latex
- \@ifpackagewith{babel}{french}{%
- \PackageWarning{moodle}{Be careful when using LaTeX, moodle, and the babel package with option 'french'. Autospacing produces in undesired symbols in the XML. You can either 1) compile with xelatex/lualatex or 2) add '\NoAutoSpacing' after '\begin{quiz}'.}%
- }{\relax}%
+\AtEndPreamble{%
+ \@ifpackageloaded{translator}{\moodle@internationaltrue}{}%
+ \@ifpackageloaded{translations}{\moodle@internationaltrue}{}%
+ % polyglossia "fakes" babel
+ \@ifpackageloaded{polyglossia}{%
+ \moodle@internationaltrue
+ % The following is commented because \xpg@bloaded is set very late and must be expanded
+ %\PassOptionsToPackage{\xpg@bloaded}{translator}
+ }{
+ \@ifpackageloaded{babel}{%
+ \moodle@internationaltrue
+ % The following is commented because some languages of babel,
+ % like lithuanian, are unknown to translator. Instead we
+ % copied the aliases below.
+ %\PassOptionsToPackage{\bbl@loaded}{translator}%
+ }{}%
+ }%
+ \ifmoodle@international
+ % By default, we load and rely on "translator".
+ % The package is simple and has limited dependencies.
+ % Since we borrow the syntax of "translations",
+ % the switch is easy: just "\usepackage{translations}"
+ % in the preamble.
+ %\RequirePackage{translations}%
+ \@ifpackageloaded{translations}{}{%
+ \RequirePackage{translator}%
+ % Borrow the syntax from 'translations'
+ \newcommand\DeclareTranslation[3]{\deftranslation[to=#1]{#2}{#3}}%
+ \newcommand\DeclareTranslationFallback[2]{\deftranslation[to=fallback]{#1}{#2}}%
+ \let\GetTranslation=\translate
+ % Set a fall-back if a translation is unknown (usually English, see below)
+ \languagepath{\languagename,fallback}%
+ % Set aliases (most of them taken directly from translator.sty)
+ \languagealias{afrikaans} {Afrikaans,Dutch}%
+ \languagealias{american} {AmericanEnglish,English}%
+ \languagealias{austrian} {Austrian1997,Austrian,German1997,German}%
+ \languagealias{brazil} {Brazilian,Portuguese}%
+ \languagealias{brazilian} {Brazilian,Portuguese}%
+ \languagealias{british} {BritishEnglish,English}%
+ \languagealias{catalan} {Catalan}% unknown to translator
+ \languagealias{canadian} {Canadian,English}%
+ \languagealias{canadien} {Canadien,French}%
+ \languagealias{croatian} {Croatian}%
+ \languagealias{czech} {Czech}%
+ \languagealias{danish} {Danish}%
+ \languagealias{dutch} {Dutch}%
+ \languagealias{english} {English}%
+ \languagealias{estonian} {Estonian}%
+ \languagealias{finnish} {Finnish}%
+ \languagealias{french} {French}%
+ \languagealias{german} {German1997,German}%
+ \languagealias{hungarian} {Hungarian}%
+ \languagealias{icelandic} {Icelandic}%
+ \languagealias{italian} {Italian}%
+ \languagealias{lithuanian}{Lithuanian}% unknown to translator
+ \languagealias{magyar} {Magyar,Hungarian}% added Hungarian
+ \languagealias{naustrian} {Austrian,German}%
+ \languagealias{ngerman} {German}%
+ \languagealias{norsk} {Norsk}%
+ \languagealias{norwegian} {Norsk}% for polyglossia
+ \languagealias{nynorsk} {Nynorsk,Norsk}%
+ \languagealias{polish} {Polish}%
+ \languagealias{portuges} {Portuguese}%
+ \languagealias{portuguese}{Portuguese}%
+ \languagealias{romanian} {Romanian}%
+ \languagealias{slovak} {Slovak,Czech}% added Czech
+ \languagealias{spanish} {Spanish}%
+ \languagealias{swedish} {Swedish}%
+ \languagealias{turkish} {Turkish}%
+ \languagealias{UKenglish} {BritishEnglish,English}%
+ \languagealias{USenglish} {AmericanEnglish,English}%
+ }%
+ \DeclareTranslation{Catalan}{True}{Vertader}%
+ \DeclareTranslation{Catalan}{False}{Fals}%
+ %\DeclareTranslation{Catalan}{cloze}{}%
+ %\DeclareTranslation{Catalan}{description}{}%
+ %\DeclareTranslation{Catalan}{essay}{}%
+ %\DeclareTranslation{Catalan}{matching}{}%
+ %\DeclareTranslation{Catalan}{multi}{}%
+ %\DeclareTranslation{Catalan}{numerical}{}%
+ %\DeclareTranslation{Catalan}{shortanswer}{}%
+ %\DeclareTranslation{Catalan}{truefalse}{}%
+ %\DeclareTranslation{Catalan}{Shuffle}{}%
+ %\DeclareTranslation{Catalan}{Single}{}%
+ %\DeclareTranslation{Catalan}{marked out of}{}%
+ %\DeclareTranslation{Catalan}{penalty}{}%
+ %\DeclareTranslation{Catalan}{tags}{}%
+ %\DeclareTranslation{Catalan}{All-or-nothing}{}%
+ %\DeclareTranslation{Catalan}{Case-Sensitive}{}%
+ %\DeclareTranslation{Catalan}{Case-Insensitive}{}%
+ %\DeclareTranslation{Catalan}{Drag and drop}{}%
+ %\DeclareTranslation{Catalan}{Information for graders}{}%
+ %\DeclareTranslation{Catalan}{Response template}{}%
+ %\DeclareTranslation{Catalan}{editor}{}%
+ %\DeclareTranslation{Catalan}{editorfilepicker}{}%
+ %\DeclareTranslation{Catalan}{plain}{}%
+ %\DeclareTranslation{Catalan}{monospaced}{}%
+ %\DeclareTranslation{Catalan}{noinline}{}%
+ %\DeclareTranslation{Catalan}{Total of marks}{}%
+ \DeclareTranslation{Croatian}{True}{To\v{c}no}%
+ \DeclareTranslation{Croatian}{False}{Neto\v{c}no}%
+ %\DeclareTranslation{Croatian}{cloze}{}%
+ %\DeclareTranslation{Croatian}{description}{}%
+ %\DeclareTranslation{Croatian}{essay}{}%
+ %\DeclareTranslation{Croatian}{matching}{}%
+ %\DeclareTranslation{Croatian}{multi}{}%
+ %\DeclareTranslation{Croatian}{numerical}{}%
+ %\DeclareTranslation{Croatian}{shortanswer}{}%
+ %\DeclareTranslation{Croatian}{truefalse}{}%
+ %\DeclareTranslation{Croatian}{Shuffle}{}%
+ %\DeclareTranslation{Croatian}{Single}{}%
+ %\DeclareTranslation{Croatian}{Multiple}{}%
+ %\DeclareTranslation{Croatian}{marked out of}{}%
+ %\DeclareTranslation{Croatian}{penalty}{}%
+ %\DeclareTranslation{Croatian}{tags}{}%
+ %\DeclareTranslation{Croatian}{All-or-nothing}{}%
+ %\DeclareTranslation{Croatian}{Case-Sensitive}{}%
+ %\DeclareTranslation{Croatian}{Case-Insensitive}{}%
+ %\DeclareTranslation{Croatian}{Drag and drop}{}%
+ %\DeclareTranslation{Croatian}{Information for graders}{}%
+ %\DeclareTranslation{Croatian}{Response template}{}%
+ %\DeclareTranslation{Croatian}{editor}{}%
+ %\DeclareTranslation{Croatian}{editorfilepicker}{}%
+ %\DeclareTranslation{Croatian}{plain}{}%
+ %\DeclareTranslation{Croatian}{monospaced}{}%
+ %\DeclareTranslation{Croatian}{noinline}{}%
+ %\DeclareTranslation{Croatian}{Total of marks}{}%
+ \DeclareTranslation{Czech}{True}{Pravda}%
+ \DeclareTranslation{Czech}{False}{Nepravda}%
+ %\DeclareTranslation{Czech}{cloze}{}%
+ %\DeclareTranslation{Czech}{description}{}%
+ %\DeclareTranslation{Czech}{essay}{}%
+ %\DeclareTranslation{Czech}{matching}{}%
+ %\DeclareTranslation{Czech}{multi}{}%
+ %\DeclareTranslation{Czech}{numerical}{}%
+ %\DeclareTranslation{Czech}{shortanswer}{}%
+ %\DeclareTranslation{Czech}{truefalse}{}%
+ %\DeclareTranslation{Czech}{Shuffle}{}%
+ %\DeclareTranslation{Czech}{Single}{}%
+ %\DeclareTranslation{Czech}{Multiple}{}%
+ %\DeclareTranslation{Czech}{marked out of}{}%
+ %\DeclareTranslation{Czech}{penalty}{}%
+ %\DeclareTranslation{Czech}{tags}{}%
+ %\DeclareTranslation{Czech}{All-or-nothing}{}%
+ %\DeclareTranslation{Czech}{Case-Sensitive}{}%
+ %\DeclareTranslation{Czech}{Case-Insensitive}{}%
+ %\DeclareTranslation{Czech}{Drag and drop}{}%
+ %\DeclareTranslation{Czech}{Information for graders}{}%
+ %\DeclareTranslation{Czech}{Response template}{}%
+ %\DeclareTranslation{Czech}{editor}{}%
+ %\DeclareTranslation{Czech}{editorfilepicker}{}%
+ %\DeclareTranslation{Czech}{plain}{}%
+ %\DeclareTranslation{Czech}{monospaced}{}%
+ %\DeclareTranslation{Czech}{noinline}{}%
+ %\DeclareTranslation{Czech}{Total of marks}{}%
+ \DeclareTranslation{Danish}{True}{Sandt}%
+ \DeclareTranslation{Danish}{False}{Falsk}%
+ %\DeclareTranslation{Danish}{cloze}{}%
+ %\DeclareTranslation{Danish}{description}{}%
+ %\DeclareTranslation{Danish}{essay}{}%
+ %\DeclareTranslation{Danish}{matching}{}%
+ %\DeclareTranslation{Danish}{multi}{}%
+ %\DeclareTranslation{Danish}{numerical}{}%
+ %\DeclareTranslation{Danish}{shortanswer}{}%
+ %\DeclareTranslation{Danish}{truefalse}{}%
+ %\DeclareTranslation{Danish}{Shuffle}{}%
+ %\DeclareTranslation{Danish}{Single}{}%
+ %\DeclareTranslation{Danish}{Multiple}{}%
+ %\DeclareTranslation{Danish}{marked out of}{}%
+ %\DeclareTranslation{Danish}{penalty}{}%
+ %\DeclareTranslation{Danish}{tags}{}%
+ %\DeclareTranslation{Danish}{All-or-nothing}{}%
+ %\DeclareTranslation{Danish}{Case-Sensitive}{}%
+ %\DeclareTranslation{Danish}{Case-Insensitive}{}%
+ %\DeclareTranslation{Danish}{Drag and drop}{}%
+ %\DeclareTranslation{Danish}{Information for graders}{}%
+ %\DeclareTranslation{Danish}{Response template}{}%
+ %\DeclareTranslation{Danish}{editor}{}%
+ %\DeclareTranslation{Danish}{editorfilepicker}{}%
+ %\DeclareTranslation{Danish}{plain}{}%
+ %\DeclareTranslation{Danish}{monospaced}{}%
+ %\DeclareTranslation{Danish}{noinline}{}%
+ %\DeclareTranslation{Danish}{Total of marks}{}%
+ \DeclareTranslation{Dutch}{True}{Waar}%
+ \DeclareTranslation{Dutch}{False}{Niet waar}%
+ %\DeclareTranslation{Dutch}{cloze}{}%
+ %\DeclareTranslation{Dutch}{description}{}%
+ %\DeclareTranslation{Dutch}{essay}{}%
+ %\DeclareTranslation{Dutch}{matching}{}%
+ %\DeclareTranslation{Dutch}{multi}{}%
+ %\DeclareTranslation{Dutch}{numerical}{}%
+ %\DeclareTranslation{Dutch}{shortanswer}{}%
+ %\DeclareTranslation{Dutch}{truefalse}{}%
+ %\DeclareTranslation{Dutch}{Shuffle}{}%
+ %\DeclareTranslation{Dutch}{Single}{}%
+ %\DeclareTranslation{Dutch}{Multiple}{}%
+ %\DeclareTranslation{Dutch}{marked out of}{}%
+ %\DeclareTranslation{Dutch}{penalty}{}%
+ %\DeclareTranslation{Dutch}{tags}{}%
+ %\DeclareTranslation{Dutch}{All-or-nothing}{}%
+ %\DeclareTranslation{Dutch}{Case-Sensitive}{}%
+ %\DeclareTranslation{Dutch}{Case-Insensitive}{}%
+ %\DeclareTranslation{Dutch}{Drag and drop}{}%
+ %\DeclareTranslation{Dutch}{Information for graders}{}%
+ %\DeclareTranslation{Dutch}{Response template}{}%
+ %\DeclareTranslation{Dutch}{editor}{}%
+ %\DeclareTranslation{Dutch}{editorfilepicker}{}%
+ %\DeclareTranslation{Dutch}{plain}{}%
+ %\DeclareTranslation{Dutch}{monospaced}{}%
+ %\DeclareTranslation{Dutch}{noinline}{}%
+ %\DeclareTranslation{Dutch}{Total of marks}{}%
+ \DeclareTranslation{English}{True}{True}%
+ \DeclareTranslation{English}{False}{False}%
+ \DeclareTranslation{English}{cloze}{Embedded answers}%
+ \DeclareTranslation{English}{description}{Description}%
+ \DeclareTranslation{English}{essay}{Essay}%
+ \DeclareTranslation{English}{matching}{Matching}%
+ \DeclareTranslation{English}{multi}{Multiple choice}%
+ \DeclareTranslation{English}{numerical}{Numerical}%
+ \DeclareTranslation{English}{shortanswer}{Short answer}%
+ \DeclareTranslation{English}{truefalse}{True/False}%
+ \DeclareTranslation{English}{Shuffle}{Shuffle}%
+ \DeclareTranslation{English}{Single}{One answer only}%
+ \DeclareTranslation{English}{Multiple}{Multiple answers allowed}%
+ \DeclareTranslation{English}{marked out of}{marked out of}%
+ \DeclareTranslation{English}{penalty}{penalty}%
+ \DeclareTranslation{English}{tags}{tags}%
+ \DeclareTranslation{English}{All-or-nothing}{All-or-nothing}%
+ \DeclareTranslation{English}{Case-Sensitive}{Case-Sensitive}%
+ \DeclareTranslation{English}{Case-Insensitive}{Case-Insensitive}%
+ \DeclareTranslation{English}{Drag and drop}{Drag and drop}%
+ \DeclareTranslation{English}{Information for graders}{Information for graders}%
+ \DeclareTranslation{English}{Response template}{Response template}%
+ \DeclareTranslation{English}{editor}{HTML editor}%
+ \DeclareTranslation{English}{editorfilepicker}{HTML editor + file picker}%
+ \DeclareTranslation{English}{plain}{Plain text}%
+ \DeclareTranslation{English}{monospaced}{Plain text, monospaced font}%
+ \DeclareTranslation{English}{noinline}{File picker}%
+ \DeclareTranslation{English}{Total of marks}{Total of marks}%
+ \DeclareTranslation{Estonian}{True}{T\~oene}%
+ \DeclareTranslation{Estonian}{False}{V\"a\"ar}%
+ %\DeclareTranslation{Estonian}{cloze}{}%
+ %\DeclareTranslation{Estonian}{description}{}%
+ %\DeclareTranslation{Estonian}{essay}{}%
+ %\DeclareTranslation{Estonian}{matching}{}%
+ %\DeclareTranslation{Estonian}{multi}{}%
+ %\DeclareTranslation{Estonian}{numerical}{}%
+ %\DeclareTranslation{Estonian}{shortanswer}{}%
+ %\DeclareTranslation{Estonian}{truefalse}{}%
+ %\DeclareTranslation{Estonian}{Shuffle}{}%
+ %\DeclareTranslation{Estonian}{Single}{}%
+ %\DeclareTranslation{Estonian}{Multiple}{}%
+ %\DeclareTranslation{Estonian}{marked out of}{}%
+ %\DeclareTranslation{Estonian}{penalty}{}%
+ %\DeclareTranslation{Estonian}{tags}{}%
+ %\DeclareTranslation{Estonian}{All-or-nothing}{}%
+ %\DeclareTranslation{Estonian}{Case-Sensitive}{}%
+ %\DeclareTranslation{Estonian}{Case-Insensitive}{}%
+ %\DeclareTranslation{Estonian}{Drag and drop}{}%
+ %\DeclareTranslation{Estonian}{Information for graders}{}%
+ %\DeclareTranslation{Estonian}{Response template}{}%
+ %\DeclareTranslation{Estonian}{editor}{}%
+ %\DeclareTranslation{Estonian}{editorfilepicker}{}%
+ %\DeclareTranslation{Estonian}{plain}{}%
+ %\DeclareTranslation{Estonian}{monospaced}{}%
+ %\DeclareTranslation{Estonian}{noinline}{}%
+ %\DeclareTranslation{Estonian}{Total of marks}{}%
+ \DeclareTranslation{Finnish}{True}{Tosi}%
+ \DeclareTranslation{Finnish}{False}{Ep\"atosi}%
+ %\DeclareTranslation{Finnish}{cloze}{}%
+ %\DeclareTranslation{Finnish}{description}{}%
+ %\DeclareTranslation{Finnish}{essay}{}%
+ %\DeclareTranslation{Finnish}{matching}{}%
+ %\DeclareTranslation{Finnish}{multi}{}%
+ %\DeclareTranslation{Finnish}{numerical}{}%
+ %\DeclareTranslation{Finnish}{shortanswer}{}%
+ %\DeclareTranslation{Finnish}{truefalse}{}%
+ %\DeclareTranslation{Finnish}{Shuffle}{}%
+ %\DeclareTranslation{Finnish}{Single}{}%
+ %\DeclareTranslation{Finnish}{Multiple}{}%
+ %\DeclareTranslation{Finnish}{marked out of}{}%
+ %\DeclareTranslation{Finnish}{penalty}{}%
+ %\DeclareTranslation{Finnish}{tags}{}%
+ %\DeclareTranslation{Finnish}{All-or-nothing}{}%
+ %\DeclareTranslation{Finnish}{Case-Sensitive}{}%
+ %\DeclareTranslation{Finnish}{Case-Insensitive}{}%
+ %\DeclareTranslation{Finnish}{Drag and drop}{}%
+ %\DeclareTranslation{Finnish}{Information for graders}{}%
+ %\DeclareTranslation{Finnish}{Response template}{}%
+ %\DeclareTranslation{Finnish}{editor}{}%
+ %\DeclareTranslation{Finnish}{editorfilepicker}{}%
+ %\DeclareTranslation{Finnish}{plain}{}%
+ %\DeclareTranslation{Finnish}{monospaced}{}%
+ %\DeclareTranslation{Finnish}{noinline}{}%
+ %\DeclareTranslation{Finnish}{Total of marks}{}%
+ \DeclareTranslation{French}{True}{Vrai}%
+ \DeclareTranslation{French}{False}{Faux}%
+ \DeclareTranslation{French}{cloze}{R\'eponses int\'egr\'ees}%
+ \DeclareTranslation{French}{description}{Description}%
+ \DeclareTranslation{French}{essay}{Composition}%
+ \DeclareTranslation{French}{matching}{Appariement}%
+ \DeclareTranslation{French}{multi}{QCM}%
+ \DeclareTranslation{French}{numerical}{Num\'erique}%
+ \DeclareTranslation{French}{shortanswer}{R\'eponse courte}%
+ \DeclareTranslation{French}{truefalse}{Vrai/Faux}%
+ \DeclareTranslation{French}{Shuffle}{M\'elanger}%
+ \DeclareTranslation{French}{Single}{R\'eponse unique}%
+ \DeclareTranslation{French}{Multiple}{Plusieurs r\'eponses possibles}%
+ \DeclareTranslation{French}{marked out of}{not\'e sur}%
+ \DeclareTranslation{French}{penalty}{p\'enalit\'e}%
+ \DeclareTranslation{French}{tags}{\'etiquettes}%
+ \DeclareTranslation{French}{All-or-nothing}{Tout ou rien}%
+ \DeclareTranslation{French}{Case-Sensitive}{Sensible \`a la casse}%
+ \DeclareTranslation{French}{Case-Insensitive}{Insensible \`a la casse}%
+ \DeclareTranslation{French}{Drag and drop}{Glisser-d\'eposer}%
+ \DeclareTranslation{French}{Information for graders}{Information pour les évaluateurs}%
+ \DeclareTranslation{French}{Response template}{Mod\`ele de r\'eponse}%
+ \DeclareTranslation{French}{editor}{\'Editeur HTML}%
+ \DeclareTranslation{French}{editorfilepicker}{\'Editeur \HTML\ + s\'electeur de fichier}%
+ \DeclareTranslation{French}{plain}{\'Editeur texte}%
+ \DeclareTranslation{French}{monospaced}{\'Editeur texte, police \`a chasse fixe}%
+ \DeclareTranslation{French}{noinline}{S\'electeur de fichier}%
+ \DeclareTranslation{French}{Total of marks}{Total des points}%
+ \DeclareTranslation{German}{True}{Wahr}%
+ \DeclareTranslation{German}{False}{Falsch}%
+ \DeclareTranslation{German}{cloze}{L\"uckentext}%
+ \DeclareTranslation{German}{description}{Beschreibung}%
+ \DeclareTranslation{German}{essay}{Freitext}%
+ \DeclareTranslation{German}{matching}{Zuordnung}%
+ \DeclareTranslation{German}{multi}{Multiple-Choice}%
+ \DeclareTranslation{German}{numerical}{Numerisch}%
+ \DeclareTranslation{German}{shortanswer}{Kurzantwort}%
+ \DeclareTranslation{German}{truefalse}{Wahr/Falsch}%
+ \DeclareTranslation{German}{Shuffle}{Mischen}%
+ \DeclareTranslation{German}{Single}{Nur eine Antwort erlaubt}%
+ \DeclareTranslation{German}{Multiple}{Mehrere Antworten erlaubt}%
+ \DeclareTranslation{German}{marked out of}{Punkte:}%
+ \DeclareTranslation{German}{penalty}{Abzug}%
+ \DeclareTranslation{German}{tags}{Tags}%
+ \DeclareTranslation{German}{All-or-nothing}{Alles-oder-nichts}%
+ \DeclareTranslation{German}{Case-Sensitive}{Gro\ss-/Kleinschreibung muss stimmen}%
+ \DeclareTranslation{German}{Case-Insensitive}{Gro\ss-/Kleinschreibung unwichtig}%
+ \DeclareTranslation{German}{Drag and drop}{Drag-and-Drop}%
+ \DeclareTranslation{German}{Information for graders}{Information zur Bewertung}%
+ \DeclareTranslation{German}{Response template}{Antwortvorlage}%
+ \DeclareTranslation{German}{editor}{HTML Editor}%
+ \DeclareTranslation{German}{editorfilepicker}{HTML Editor mit Dateiauswahl}%
+ \DeclareTranslation{German}{plain}{Unformatierter Text}%
+ \DeclareTranslation{German}{monospaced}{Unformatierter Text, Schriftart mit fester Laufweite}%
+ \DeclareTranslation{German}{noinline}{Kein Textfeld}%
+ \DeclareTranslation{German}{Total of marks}{Gesamtsumme der Punkte}%
+ \DeclareTranslation{Hungarian}{True}{Igaz}%
+ \DeclareTranslation{Hungarian}{False}{Hamis}%
+ %\DeclareTranslation{Hungarian}{cloze}{}%
+ %\DeclareTranslation{Hungarian}{description}{}%
+ %\DeclareTranslation{Hungarian}{essay}{}%
+ %\DeclareTranslation{Hungarian}{matching}{}%
+ %\DeclareTranslation{Hungarian}{multi}{}%
+ %\DeclareTranslation{Hungarian}{numerical}{}%
+ %\DeclareTranslation{Hungarian}{shortanswer}{}%
+ %\DeclareTranslation{Hungarian}{truefalse}{}%
+ %\DeclareTranslation{Hungarian}{Shuffle}{}%
+ %\DeclareTranslation{Hungarian}{Single}{}%
+ %\DeclareTranslation{Hungarian}{Multiple}{}%
+ %\DeclareTranslation{Hungarian}{marked out of}{}%
+ %\DeclareTranslation{Hungarian}{penalty}{}%
+ %\DeclareTranslation{Hungarian}{tags}{}%
+ %\DeclareTranslation{Hungarian}{All-or-nothing}{}%
+ %\DeclareTranslation{Hungarian}{Case-Sensitive}{}%
+ %\DeclareTranslation{Hungarian}{Case-Insensitive}{}%
+ %\DeclareTranslation{Hungarian}{Drag and drop}{}%
+ %\DeclareTranslation{Hungarian}{Information for graders}{}%
+ %\DeclareTranslation{Hungarian}{Response template}{}%
+ %\DeclareTranslation{Hungarian}{editor}{}%
+ %\DeclareTranslation{Hungarian}{editorfilepicker}{}%
+ %\DeclareTranslation{Hungarian}{plain}{}%
+ %\DeclareTranslation{Hungarian}{monospaced}{}%
+ %\DeclareTranslation{Hungarian}{noinline}{}%
+ %\DeclareTranslation{Hungarian}{Total of marks}{}%
+ \DeclareTranslation{Icelandic}{True}{R\'ett}%
+ \DeclareTranslation{Icelandic}{False}{Rangt}%
+ %\DeclareTranslation{Icelandic}{cloze}{}%
+ %\DeclareTranslation{Icelandic}{description}{}%
+ %\DeclareTranslation{Icelandic}{essay}{}%
+ %\DeclareTranslation{Icelandic}{matching}{}%
+ %\DeclareTranslation{Icelandic}{multi}{}%
+ %\DeclareTranslation{Icelandic}{numerical}{}%
+ %\DeclareTranslation{Icelandic}{shortanswer}{}%
+ %\DeclareTranslation{Icelandic}{truefalse}{}%
+ %\DeclareTranslation{Icelandic}{Shuffle}{}%
+ %\DeclareTranslation{Icelandic}{Single}{}%
+ %\DeclareTranslation{Icelandic}{Multiple}{}%
+ %\DeclareTranslation{Icelandic}{marked out of}{}%
+ %\DeclareTranslation{Icelandic}{penalty}{}%
+ %\DeclareTranslation{Icelandic}{tags}{}%
+ %\DeclareTranslation{Icelandic}{All-or-nothing}{}%
+ %\DeclareTranslation{Icelandic}{Case-Sensitive}{}%
+ %\DeclareTranslation{Icelandic}{Case-Insensitive}{}%
+ %\DeclareTranslation{Icelandic}{Drag and drop}{}%
+ %\DeclareTranslation{Icelandic}{Information for graders}{}%
+ %\DeclareTranslation{Icelandic}{Response template}{}%
+ %\DeclareTranslation{Icelandic}{editor}{}%
+ %\DeclareTranslation{Icelandic}{editorfilepicker}{}%
+ %\DeclareTranslation{Icelandic}{plain}{}%
+ %\DeclareTranslation{Icelandic}{monospaced}{}%
+ %\DeclareTranslation{Icelandic}{noinline}{}%
+ %\DeclareTranslation{Icelandic}{Total of marks}{}%
+ \DeclareTranslation{Italian}{True}{Vero}%
+ \DeclareTranslation{Italian}{False}{Falso}%
+ \DeclareTranslation{Italian}{cloze}{Risposte inglobate}%
+ \DeclareTranslation{Italian}{description}{Descrizione}%
+ \DeclareTranslation{Italian}{essay}{Tema libero}%
+ \DeclareTranslation{Italian}{matching}{Corrispondenza}%
+ \DeclareTranslation{Italian}{multi}{Risposta multipla}%
+ \DeclareTranslation{Italian}{numerical}{Numerica}%
+ \DeclareTranslation{Italian}{shortanswer}{Risposta breve}%
+ \DeclareTranslation{Italian}{truefalse}{Vero/Falso}%
+ \DeclareTranslation{Italian}{Shuffle}{Ordine casuale}%
+ \DeclareTranslation{Italian}{Single}{Una sola alternativa}%
+ \DeclareTranslation{Italian}{Multiple}{Pi\`u alternative}%
+ \DeclareTranslation{Italian}{marked out of}{punteggio max.}%
+ \DeclareTranslation{Italian}{penalty}{penalit\`a}%
+ \DeclareTranslation{Italian}{tags}{etichette}%
+ \DeclareTranslation{Italian}{All-or-nothing}{Tutto o niente}%
+ \DeclareTranslation{Italian}{Case-Sensitive}{Sensibile alle maiuscole}%
+ \DeclareTranslation{Italian}{Case-Insensitive}{Maiuscolo/minuscolo indifferente}%
+ \DeclareTranslation{Italian}{Drag and drop}{Drag and drop}%
+ \DeclareTranslation{Italian}{Information for graders}{Informazioni per i valutatori}%
+ \DeclareTranslation{Italian}{Response template}{Modello di risposta}%
+ \DeclareTranslation{Italian}{editor}{Editor HTML}%
+ \DeclareTranslation{Italian}{editorfilepicker}{Editor \HTML\ con file picker}%
+ \DeclareTranslation{Italian}{plain}{Testo semplice}%
+ \DeclareTranslation{Italian}{monospaced}{Testo semplice, caratteri a spaziatura fissa}%
+ \DeclareTranslation{Italian}{noinline}{Solo file picker}%
+ \DeclareTranslation{Italian}{Total of marks}{Punteggio complessivo}%
+ \DeclareTranslation{Lithuanian}{True}{Tiesa}%
+ \DeclareTranslation{Lithuanian}{False}{Netiesa}%
+ %\DeclareTranslation{Lithuanian}{cloze}{}%
+ %\DeclareTranslation{Lithuanian}{description}{}%
+ %\DeclareTranslation{Lithuanian}{essay}{}%
+ %\DeclareTranslation{Lithuanian}{matching}{}%
+ %\DeclareTranslation{Lithuanian}{multi}{}%
+ %\DeclareTranslation{Lithuanian}{numerical}{}%
+ %\DeclareTranslation{Lithuanian}{shortanswer}{}%
+ %\DeclareTranslation{Lithuanian}{truefalse}{}%
+ %\DeclareTranslation{Lithuanian}{Shuffle}{}%
+ %\DeclareTranslation{Lithuanian}{Single}{}%
+ %\DeclareTranslation{Lithuanian}{Multiple}{}%
+ %\DeclareTranslation{Lithuanian}{marked out of}{}%
+ %\DeclareTranslation{Lithuanian}{penalty}{}%
+ %\DeclareTranslation{Lithuanian}{tags}{}%
+ %\DeclareTranslation{Lithuanian}{All-or-nothing}{}%
+ %\DeclareTranslation{Lithuanian}{Case-Sensitive}{}%
+ %\DeclareTranslation{Lithuanian}{Case-Insensitive}{}%
+ %\DeclareTranslation{Lithuanian}{Drag and drop}{}%
+ %\DeclareTranslation{Lithuanian}{Information for graders}{}%
+ %\DeclareTranslation{Lithuanian}{Response template}{}%
+ %\DeclareTranslation{Lithuanian}{editor}{}%
+ %\DeclareTranslation{Lithuanian}{editorfilepicker}{}%
+ %\DeclareTranslation{Lithuanian}{plain}{}%
+ %\DeclareTranslation{Lithuanian}{monospaced}{}%
+ %\DeclareTranslation{Lithuanian}{noinline}{}%
+ %\DeclareTranslation{Lithuanian}{Total of marks}{}%
+ \DeclareTranslation{Norsk}{True}{Riktig}%
+ \DeclareTranslation{Norsk}{False}{Feil}%
+ %\DeclareTranslation{Norsk}{cloze}{}%
+ %\DeclareTranslation{Norsk}{description}{}%
+ %\DeclareTranslation{Norsk}{essay}{}%
+ %\DeclareTranslation{Norsk}{matching}{}%
+ %\DeclareTranslation{Norsk}{multi}{}%
+ %\DeclareTranslation{Norsk}{numerical}{}%
+ %\DeclareTranslation{Norsk}{shortanswer}{}%
+ %\DeclareTranslation{Norsk}{truefalse}{}%
+ %\DeclareTranslation{Norsk}{Shuffle}{}%
+ %\DeclareTranslation{Norsk}{Single}{}%
+ %\DeclareTranslation{Norsk}{Multiple}{}%
+ %\DeclareTranslation{Norsk}{marked out of}{}%
+ %\DeclareTranslation{Norsk}{penalty}{}%
+ %\DeclareTranslation{Norsk}{tags}{}%
+ %\DeclareTranslation{Norsk}{All-or-nothing}{}%
+ %\DeclareTranslation{Norsk}{Case-Sensitive}{}%
+ %\DeclareTranslation{Norsk}{Case-Insensitive}{}%
+ %\DeclareTranslation{Norsk}{Drag and drop}{}%
+ %\DeclareTranslation{Norsk}{Information for graders}{}%
+ %\DeclareTranslation{Norsk}{Response template}{}%
+ %\DeclareTranslation{Norsk}{editor}{}%
+ %\DeclareTranslation{Norsk}{editorfilepicker}{}%
+ %\DeclareTranslation{Norsk}{plain}{}%
+ %\DeclareTranslation{Norsk}{monospaced}{}%
+ %\DeclareTranslation{Norsk}{noinline}{}%
+ %\DeclareTranslation{Norsk}{Total of marks}{}%
+ \DeclareTranslation{Polish}{True}{Prawda}%
+ \DeclareTranslation{Polish}{False}{Fa\l sz}%
+ %\DeclareTranslation{Polish}{cloze}{}%
+ %\DeclareTranslation{Polish}{description}{}%
+ %\DeclareTranslation{Polish}{essay}{}%
+ %\DeclareTranslation{Polish}{matching}{}%
+ %\DeclareTranslation{Polish}{multi}{}%
+ %\DeclareTranslation{Polish}{numerical}{}%
+ %\DeclareTranslation{Polish}{shortanswer}{}%
+ %\DeclareTranslation{Polish}{truefalse}{}%
+ %\DeclareTranslation{Polish}{Shuffle}{}%
+ %\DeclareTranslation{Polish}{Single}{}%
+ %\DeclareTranslation{Polish}{Multiple}{}%
+ %\DeclareTranslation{Polish}{marked out of}{}%
+ %\DeclareTranslation{Polish}{penalty}{}%
+ %\DeclareTranslation{Polish}{tags}{}%
+ %\DeclareTranslation{Polish}{All-or-nothing}{}%
+ %\DeclareTranslation{Polish}{Case-Sensitive}{}%
+ %\DeclareTranslation{Polish}{Case-Insensitive}{}%
+ %\DeclareTranslation{Polish}{Drag and drop}{}%
+ %\DeclareTranslation{Polish}{Information for graders}{}%
+ %\DeclareTranslation{Polish}{Response template}{}%
+ %\DeclareTranslation{Polish}{editor}{}%
+ %\DeclareTranslation{Polish}{editorfilepicker}{}%
+ %\DeclareTranslation{Polish}{plain}{}%
+ %\DeclareTranslation{Polish}{monospaced}{}%
+ %\DeclareTranslation{Polish}{noinline}{}%
+ %\DeclareTranslation{Polish}{Total of marks}{}%
+ \DeclareTranslation{Portuguese}{True}{Verdadeiro}%
+ \DeclareTranslation{Portuguese}{False}{Falso}%
+ %\DeclareTranslation{Portuguese}{cloze}{}%
+ %\DeclareTranslation{Portuguese}{description}{}%
+ %\DeclareTranslation{Portuguese}{essay}{}%
+ %\DeclareTranslation{Portuguese}{matching}{}%
+ %\DeclareTranslation{Portuguese}{multi}{}%
+ %\DeclareTranslation{Portuguese}{numerical}{}%
+ %\DeclareTranslation{Portuguese}{shortanswer}{}%
+ %\DeclareTranslation{Portuguese}{truefalse}{}%
+ %\DeclareTranslation{Portuguese}{Shuffle}{}%
+ %\DeclareTranslation{Portuguese}{Single}{}%
+ %\DeclareTranslation{Portuguese}{Multiple}{}%
+ %\DeclareTranslation{Portuguese}{marked out of}{}%
+ %\DeclareTranslation{Portuguese}{penalty}{}%
+ %\DeclareTranslation{Portuguese}{tags}{}%
+ %\DeclareTranslation{Portuguese}{All-or-nothing}{}%
+ %\DeclareTranslation{Portuguese}{Case-Sensitive}{}%
+ %\DeclareTranslation{Portuguese}{Case-Insensitive}{}%
+ %\DeclareTranslation{Portuguese}{Drag and drop}{}%
+ %\DeclareTranslation{Portuguese}{Information for graders}{}%
+ %\DeclareTranslation{Portuguese}{Response template}{}%
+ %\DeclareTranslation{Portuguese}{editor}{}%
+ %\DeclareTranslation{Portuguese}{editorfilepicker}{}%
+ %\DeclareTranslation{Portuguese}{plain}{}%
+ %\DeclareTranslation{Portuguese}{monospaced}{}%
+ %\DeclareTranslation{Portuguese}{noinline}{}%
+ %\DeclareTranslation{Portuguese}{Total of marks}{}%
+ \DeclareTranslation{Romanian}{True}{Adev\u{a}rat}%
+ \DeclareTranslation{Romanian}{False}{Fals}%
+ %\DeclareTranslation{Romanian}{cloze}{}%
+ %\DeclareTranslation{Romanian}{description}{}%
+ %\DeclareTranslation{Romanian}{essay}{}%
+ %\DeclareTranslation{Romanian}{matching}{}%
+ %\DeclareTranslation{Romanian}{multi}{}%
+ %\DeclareTranslation{Romanian}{numerical}{}%
+ %\DeclareTranslation{Romanian}{shortanswer}{}%
+ %\DeclareTranslation{Romanian}{truefalse}{}%
+ %\DeclareTranslation{Romanian}{Shuffle}{}%
+ %\DeclareTranslation{Romanian}{Single}{}%
+ %\DeclareTranslation{Romanian}{Multiple}{}%
+ %\DeclareTranslation{Romanian}{marked out of}{}%
+ %\DeclareTranslation{Romanian}{penalty}{}%
+ %\DeclareTranslation{Romanian}{tags}{}%
+ %\DeclareTranslation{Romanian}{All-or-nothing}{}%
+ %\DeclareTranslation{Romanian}{Case-Sensitive}{}%
+ %\DeclareTranslation{Romanian}{Case-Insensitive}{}%
+ %\DeclareTranslation{Romanian}{Drag and drop}{}%
+ %\DeclareTranslation{Romanian}{Information for graders}{}%
+ %\DeclareTranslation{Romanian}{Response template}{}%
+ %\DeclareTranslation{Romanian}{editor}{}%
+ %\DeclareTranslation{Romanian}{editorfilepicker}{}%
+ %\DeclareTranslation{Romanian}{plain}{}%
+ %\DeclareTranslation{Romanian}{monospaced}{}%
+ %\DeclareTranslation{Romanian}{noinline}{}%
+ %\DeclareTranslation{Romanian}{Total of marks}{}%
+ \DeclareTranslation{Spanish}{True}{Verdadero}%
+ \DeclareTranslation{Spanish}{False}{Falso}%
+ \DeclareTranslation{Spanish}{cloze}{Respuestas anidadas}%
+ \DeclareTranslation{Spanish}{description}{Descripci\'on}%
+ \DeclareTranslation{Spanish}{essay}{Ensayo}%
+ \DeclareTranslation{Spanish}{matching}{Emparejamiento}%
+ \DeclareTranslation{Spanish}{multi}{Opci\'on m\'ultiple}%
+ \DeclareTranslation{Spanish}{numerical}{Num\'erica}%
+ \DeclareTranslation{Spanish}{shortanswer}{Respuesta corta}%
+ \DeclareTranslation{Spanish}{truefalse}{Verdadero/Falso}%
+ \DeclareTranslation{Spanish}{Shuffle}{Barajar al azar}%
+ \DeclareTranslation{Spanish}{Single}{S\'olo una respuesta}%
+ \DeclareTranslation{Spanish}{Multiple}{Se permiten varias respuestas}%
+ \DeclareTranslation{Spanish}{marked out of}{Punt\'ua como}%
+ \DeclareTranslation{Spanish}{penalty}{penalizaci\'on}%
+ \DeclareTranslation{Spanish}{tags}{marcas}%
+ \DeclareTranslation{Spanish}{All-or-nothing}{Todo o nada}%
+ \DeclareTranslation{Spanish}{Case-Sensitive}{May\'usculas y min\'usculas deben coincidir}%
+ \DeclareTranslation{Spanish}{Case-Insensitive}{Igual may\'usculas que min\'usculas}%
+ \DeclareTranslation{Spanish}{Drag and drop}{Arrastrar y soltar}%
+ \DeclareTranslation{Spanish}{Information for graders}{Informaci\'on para evaluadores}%
+ \DeclareTranslation{Spanish}{Response template}{Plantilla de respuesta}%
+ \DeclareTranslation{Spanish}{editor}{Editor HTML}%
+ \DeclareTranslation{Spanish}{editorfilepicker}{Editor \HTML\ con selector de archivos}%
+ \DeclareTranslation{Spanish}{plain}{Texto sin formato}%
+ \DeclareTranslation{Spanish}{monospaced}{Texto sin formato, tipografía monoespaciada}%
+ \DeclareTranslation{Spanish}{noinline}{Sin texto}%
+ \DeclareTranslation{Spanish}{Total of marks}{Total de puntos}%
+ \DeclareTranslation{Swedish}{True}{Sant}%
+ \DeclareTranslation{Swedish}{False}{Falskt}%
+ %\DeclareTranslation{Swedish}{cloze}{}%
+ %\DeclareTranslation{Swedish}{description}{}%
+ %\DeclareTranslation{Swedish}{essay}{}%
+ %\DeclareTranslation{Swedish}{matching}{}%
+ %\DeclareTranslation{Swedish}{multi}{}%
+ %\DeclareTranslation{Swedish}{numerical}{}%
+ %\DeclareTranslation{Swedish}{shortanswer}{}%
+ %\DeclareTranslation{Swedish}{truefalse}{}%
+ %\DeclareTranslation{Swedish}{Shuffle}{}%
+ %\DeclareTranslation{Swedish}{Single}{}%
+ %\DeclareTranslation{Swedish}{Multiple}{}%
+ %\DeclareTranslation{Swedish}{marked out of}{}%
+ %\DeclareTranslation{Swedish}{penalty}{}%
+ %\DeclareTranslation{Swedish}{tags}{}%
+ %\DeclareTranslation{Swedish}{All-or-nothing}{}%
+ %\DeclareTranslation{Swedish}{Case-Sensitive}{}%
+ %\DeclareTranslation{Swedish}{Case-Insensitive}{}%
+ %\DeclareTranslation{Swedish}{Drag and drop}{}%
+ %\DeclareTranslation{Swedish}{Information for graders}{}%
+ %\DeclareTranslation{Swedish}{Response template}{}%
+ %\DeclareTranslation{Swedish}{editor}{}%
+ %\DeclareTranslation{Swedish}{editorfilepicker}{}%
+ %\DeclareTranslation{Swedish}{plain}{}%
+ %\DeclareTranslation{Swedish}{monospaced}{}%
+ %\DeclareTranslation{Swedish}{noinline}{}%
+ %\DeclareTranslation{Swedish}{Total of marks}{}%
+ \DeclareTranslation{Turkish}{True}{Do\u{g}ru}%
+ \DeclareTranslation{Turkish}{False}{Yanl\i \c{s}}%
+ %\DeclareTranslation{Turkish}{cloze}{}%
+ %\DeclareTranslation{Turkish}{description}{}%
+ %\DeclareTranslation{Turkish}{essay}{}%
+ %\DeclareTranslation{Turkish}{matching}{}%
+ %\DeclareTranslation{Turkish}{multi}{}%
+ %\DeclareTranslation{Turkish}{numerical}{}%
+ %\DeclareTranslation{Turkish}{shortanswer}{}%
+ %\DeclareTranslation{Turkish}{truefalse}{}%
+ %\DeclareTranslation{Turkish}{Shuffle}{}%
+ %\DeclareTranslation{Turkish}{Single}{}%
+ %\DeclareTranslation{Turkish}{Multiple}{}%
+ %\DeclareTranslation{Turkish}{marked out of}{}%
+ %\DeclareTranslation{Turkish}{penalty}{}%
+ %\DeclareTranslation{Turkish}{tags}{}%
+ %\DeclareTranslation{Turkish}{All-or-nothing}{}%
+ %\DeclareTranslation{Turkish}{Case-Sensitive}{}%
+ %\DeclareTranslation{Turkish}{Case-Insensitive}{}%
+ %\DeclareTranslation{Turkish}{Drag and drop}{}%
+ %\DeclareTranslation{Turkish}{Information for graders}{}%
+ %\DeclareTranslation{Turkish}{Response template}{}%
+ %\DeclareTranslation{Turkish}{editor}{}%
+ %\DeclareTranslation{Turkish}{editorfilepicker}{}%
+ %\DeclareTranslation{Turkish}{plain}{}%
+ %\DeclareTranslation{Turkish}{monospaced}{}%
+ %\DeclareTranslation{Turkish}{noinline}{}%
+ %\DeclareTranslation{Turkish}{Total of marks}{}%
+ \else% neither babel nor polyglossia loaded
+ \newcommand\DeclareTranslationFallback[2]{\csdef{moodle@fallback@#1}{#2}}% Save fallback keys
+ \def\GetTranslation#1{\csuse{moodle@fallback@#1}}% Use fallback keys
\fi
+ \DeclareTranslationFallback{True}{True}%
+ \DeclareTranslationFallback{False}{False}%
+ \DeclareTranslationFallback{cloze}{Embedded answers}%
+ \DeclareTranslationFallback{description}{Description}%
+ \DeclareTranslationFallback{essay}{Essay}%
+ \DeclareTranslationFallback{matching}{Matching}%
+ \DeclareTranslationFallback{multi}{Multiple choice}%
+ \DeclareTranslationFallback{numerical}{Numerical}%
+ \DeclareTranslationFallback{shortanswer}{Short answer}%
+ \DeclareTranslationFallback{truefalse}{True/False}%
+ \DeclareTranslationFallback{Shuffle}{Shuffle}%
+ \DeclareTranslationFallback{Single}{One answer only}%
+ \DeclareTranslationFallback{Multiple}{Multiple answers allowed}%
+ \DeclareTranslationFallback{marked out of}{marked out of}%
+ \DeclareTranslationFallback{penalty}{penalty}%
+ \DeclareTranslationFallback{tags}{tags}%
+ \DeclareTranslationFallback{All-or-nothing}{All-or-nothing}%
+ \DeclareTranslationFallback{Case-Sensitive}{Case-Sensitive}%
+ \DeclareTranslationFallback{Case-Insensitive}{Case-Insensitive}%
+ \DeclareTranslationFallback{Drag and drop}{Drag and drop}%
+ \DeclareTranslationFallback{Information for graders}{Information for graders}%
+ \DeclareTranslationFallback{Response template}{Response template}%
+ \DeclareTranslationFallback{editor}{HTML editor}%
+ \DeclareTranslationFallback{editorfilepicker}{HTML editor + file picker}%
+ \DeclareTranslationFallback{plain}{Plain text}%
+ \DeclareTranslationFallback{monospaced}{Plain text, monospaced font}%
+ \DeclareTranslationFallback{noinline}{File picker}%
+ \DeclareTranslationFallback{Total of marks}{Total of marks}%
}%
% \end{macrocode}
-%
%
+% Users of the |babel| package loaded with specific options may experience problems
+% related to active characters and shorthands. We tell the problems and solutions we know.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@ifpackageloaded{babel}{%
+ \@ifundefined{bbl@loaded}{}{% polyglossia fakes babel
+ \forcsvlist{\listadd\moodle@babel@german@list}{german,austrian,swissgerman,swissgerman.toss,ngerman,naustrian,nswissgerman,nswissgerman.toss}%
+ \forcsvlist{\listadd\moodle@babel@french@list}{acadian,french,frenchb,francais}%
+ \ifPDFTeX
+ \def\moodle@babel@french@warn{%
+ \PackageWarning{moodle}{Be careful when using pdflatex, moodle, and the
+ babel package loaded with a French-related option. Autospacing
+ yields undesired symbols in the XML. Here are three workarounds:
+ \MessageBreak 1) compile with xelatex/lualatex,\MessageBreak 2)
+ add `\NoAutoSpacing' after `\begin{quiz}', or\MessageBreak 3)
+ avoid the babel option.^^J}}%
+ \def\moodle@babel@german@warn{%
+ \PackageWarning{moodle}{Be careful when using pdflatex, moodle, and
+ the babel package loaded with a German-related option. The symbol
+ `"' is made active and your umlauts will confuse moodle. Here are
+ three workarounds:\MessageBreak 1) compile with xelatex/lualatex,
+ \MessageBreak 2) add `\string\shorthandoff{"}' after `\begin{quiz}',
+ or\MessageBreak 3) avoid the babel option.^^J}}%
+ \fi
+ \def\moodle@babel@turkish@warn{%
+ \PackageWarning{moodle}{Be careful when using moodle and the babel
+ package loaded with option `turkish'. Shorthands are likely to
+ break compilation. Here are three workarounds:\MessageBreak 1)
+ rely on `polyglossia' (XeTeX or LuaTeX),\MessageBreak 2) add
+ `\shorthandoff{=:!}' after `\begin{quiz}', or\MessageBreak
+ 3) avoid the babel option.^^J}}%
+ \def\do#1{%
+ \ifstrequal{#1}{turkish}{\moodle@babel@turkish@warn}{%
+ \ifinlist{#1}{\moodle@babel@french@list}%
+ {\ifPDFTeX\moodle@babel@french@warn\fi}{%
+ \ifinlist{#1}{\moodle@babel@german@list}{%
+ \ifPDFTeX\moodle@babel@german@warn\else
+ \gdef\moodle@babel@german@warn{%
+ \PackageWarning{moodle}{Be careful when using moodle and
+ the babel package loaded with a German-related option that make the
+ symbol `"' active. We recommend typing umlauts with UTF-8
+ characters. By default, `\string\"a' is poorly translated in the XML
+ file. This is fixed if you define `\string\shorthandoff{"}' after
+ `\begin{quiz}'. But then `"a` will no longer work as expected.^^J}%
+ }%
+ \gdef\moodle@babel@german@warn@single{%
+ \moodle@babel@german@warn
+ \gdef\moodle@babel@german@warn@single{}%\relax
+ }%
+ \pretocmd{\"}%
+ {\moodle@babel@german@warn@single}%
+ {}%
+ { \PackageWarning{moodle}{Umlaut patch failed.}%
+ \moodle@babel@german@warn@single
+ }%
+ \fi
+ }{}%
+ }
+
+ }
+ }
+ \expandafter\docsvlist\expandafter{\bbl@loaded}%
+ }%
+ }{}%
+}%
+% \end{macrocode}
+%
+% \subsection{Warning and Error Management}
+%
+% \begin{macrocode}
+\def\moodle@WarningOrError#1#2#3{%
+ % #1 : major version
+ % #2 : minor version
+ % #3 : feature
+ \ifnum\the\moodle@LMSmajor\the\moodle@LMSminor=\z@\relax
+ \PackageWarning{moodle}{#3 is only supported by Moodle #1.#2+}%
+ \else
+ \ifnum\numexpr 1000*\the\moodle@LMSmajor+\the\moodle@LMSminor\relax<\numexpr 1000*#1+#2\relax
+ \PackageError{moodle}{#3 is only supported by Moodle #1.#2+
+ (you declared Moodle \the\moodle@LMSmajor.\the\moodle@LMSminor)}%
+ \fi
+ \fi
+}%
+% \end{macrocode}
% \Finale
\endinput
diff --git a/macros/latex/contrib/moodle/moodle.ins b/macros/latex/contrib/moodle/moodle.ins
index b118c1beab..9a367ff71d 100644
--- a/macros/latex/contrib/moodle/moodle.ins
+++ b/macros/latex/contrib/moodle/moodle.ins
@@ -26,8 +26,8 @@
This is a generated file.
-Copyright 2016 by Anders O.F. Hendrickson (anders.o.f.hendrickson AT gmail.com)
-and 2019-2021 by Matthieu Guerquin-Kern (guerquin-kern AT crans.org).
+Copyright 2016 by Anders O.F. Hendrickson (anders.o.f.hendrickson AT gmail DOT com)
+and 2019-2021 by Matthieu Guerquin-Kern (guerquin-kern AT crans DOT org).
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/moodle/moodle.pdf b/macros/latex/contrib/moodle/moodle.pdf
index 47a4c2ecca..4c67dab223 100644
--- a/macros/latex/contrib/moodle/moodle.pdf
+++ b/macros/latex/contrib/moodle/moodle.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 f6420bc786..4e59174d84 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/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index 97f9f842e8..15a4cd6b73 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/01/01}%
+\def\filedate{2023/01/23}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-z-d}%
+\def\fileversion{0.99-z-e}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]
@@ -348,8 +348,664 @@
}
%%%
+% Ronde infernale
+%%%
+\newcommand\TestNombrePremier[1]{%
+ % #1 le nombre \`a tester
+ \newcount\anp\newcount\bnp\newcount\cnp%
+ \anp=#1\relax
+ \bnp=2\relax
+ \premier=-1\relax
+ \whiledo{\anp > 1}{%
+ \modulo{\the\anp}{\the\bnp}
+ \ifnum\remainder=0\relax%
+ \global\premier=\numexpr\premier+1\relax%
+ \cnp=\numexpr\anp/\bnp\relax%
+ \anp=\cnp\relax%
+ \else%
+ \bnp=\numexpr\bnp+1\relax%
+ \fi%
+ }%
+}%
+
+\newcommand\PfCRIListeDiviseur[1]{%#1 : nombre entier
+ \newcount\anp\newcount\bnp%
+ \anp=\fpeval{abs(#1)}%
+ \bnp=2\relax%
+ \xdef\PfCRIRetiensListeDiviseurs{}%
+ \ifnum#1=0%
+ \xdef\PfCRIRetiensListeDiviseurs{\fpeval{randint(2,5)},\fpeval{randint(6,9)}}%
+ \else
+ \whiledo{\bnp<\anp}{%
+ \modulo{\the\anp}{\the\bnp}{}%
+ \ifnum\remainder=0%
+ \ifnum#1>0
+ \xdef\PfCRIRetiensListeDiviseurs{\PfCRIRetiensListeDiviseurs \the\bnp,}%
+ \else
+ \xdef\PfCRIRetiensListeDiviseurs{\PfCRIRetiensListeDiviseurs \the\bnp,-\the\bnp,}%
+ \fi
+ \fi%
+ \bnp=\numexpr\bnp+1%
+ }%
+ \ifnum#1>0
+ \xdef\PfCRIRetiensListeDiviseurs{\PfCRIRetiensListeDiviseurs \the\anp,1}
+ \else
+ \xdef\PfCRIRetiensListeDiviseurs{\PfCRIRetiensListeDiviseurs \the\anp,-\the\anp}
+ \fi
+ \fi
+}
+
+\setKVdefault[RondeInfernale]{Solution=false,Relatifs=false,Etapes=4,Perso=false,Cles=false,Vide,Rayon=2.5cm,Graines=false,Rectangle=false}%
+\defKV[RondeInfernale]{Graine=\setKV[RondeInfernale]{Graines}}%
+\defKV[RondeInfernale]{Cle=\setKV[RondeInfernale]{Cles}\setKV[RondeInfernale]{Vide=false}}%
+\defKV[RondeInfernale]{ListeOperations=\setKV[RondeInfernale]{Perso}}%
+\defKV[RondeInfernale]{ListeNombres=\setKV[RondeInfernale]{Perso}}%
+%
+\NewDocumentCommand\RondeInfernale{o}{%
+ \useKVdefault[RondeInfernale]%
+ \setKV[RondeInfernale]{#1}%
+ % Graine
+ \ifboolKV[RondeInfernale]{Graines}{\PfCGraineAlea{\useKV[RondeInfernale]{Graine}}}{}%
+ % Nombre clé
+ \ifboolKV[RondeInfernale]{Cles}{%
+ \xdef\PfCRINombreCle{\useKV[RondeInfernale]{Cle}}%
+ }{%
+ \ifboolKV[RondeInfernale]{Relatifs}{%
+ \xdef\PfCRIListeNegatifs{-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8,9,10}
+ \MelangeListe{\PfCRIListeNegatifs}{1}
+ \readlist*\PfCRIListeCle{\faa}
+ \xdef\PfCRINombreCle{\PfCRIListeCle[1]}%
+ }{%
+ \xdef\PfCRINombreCle{\fpeval{randint(2,9)}}%
+ }%
+ }%
+ \ifboolKV[RondeInfernale]{Perso}{%
+ \xdef\PfCRIRecupOperations{\useKV[RondeInfernale]{ListeOperations}}%
+ \xdef\PfCRIRecupNombres{\useKV[RondeInfernale]{ListeNombres}}%
+ }{%
+ % On définit les éléments nécessaires
+ \xdef\PfCRIListeToutesOperations{+,-,*,/}%
+ \xdef\PfCRIListeOperationsSansDiv{+,-,*}%
+ \xdef\PfCRIListeOperationsSansMul{+,-,/}%
+ \xdef\PfCRIListeOperationsSimple{+,-}%
+ \xdef\PfCRIRecupOperations{}%
+ \xdef\PfCRIRecupNombres{}%
+ \xdef\PfCRIRecupResultats{}%
+ \xdef\PfCRINombreATester{\PfCRINombreCle}%
+ \xdef\PfCRIRetiensNbEtapes{\useKV[RondeInfernale]{Etapes}}%
+ \setsepchar{,}\ignoreemptyitems%
+ % Liste des opérations jusqu'à l'étape n-1
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{\useKV[RondeInfernale]{Etapes}-1}}}\do{%
+ \TestNombrePremier{\PfCRINombreATester}\relax%
+ \xintifboolexpr{\premier==0}{%
+ % Définition des opérations
+ \MelangeListe{\PfCRIListeOperationsSansDiv}{1}%
+ \readlist*\PfCRIRetiensLoperation{\faa}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \xdef\PfCRIOperateur{\fpeval{randint(2,9)}}%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRIOperateur,}%
+ \xdef\PfCRIResultat{\fpeval{\PfCRINombreATester\PfCRIRetiensLoperation[1]\PfCRIOperateur}}%
+ \xdef\PfCRIRecupResultats{\PfCRIRecupResultats \PfCRIResultat,}%
+ \xdef\PfCRINombreATester{\PfCRIResultat}%
+ }{%
+ \MelangeListe{\PfCRIListeToutesOperations}{1}%
+ \readlist*\PfCRIRetiensLoperation{\faa}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{/}{%
+ \PfCRIListeDiviseur{\PfCRINombreATester}%
+ \MelangeListe{\PfCRIRetiensListeDiviseurs}{1}%
+ \readlist*\PfCRIRetiensLeDiviseur{\faa}%
+ \xdef\PfCRIOperateur{\PfCRIRetiensLeDiviseur[1]}%
+ }{%
+ \xdef\PfCRIOperateur{\fpeval{randint(2,9)}}%
+ }%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRIOperateur,}%
+ \xdef\PfCRIResultat{\fpeval{\PfCRINombreATester\PfCRIRetiensLoperation[1]\PfCRIOperateur}}%
+ \xdef\PfCRIRecupResultats{\PfCRIRecupResultats \PfCRIResultat,}%
+ \xdef\PfCRINombreATester{\PfCRIResultat}%
+ }%
+ }%
+ % Dernière opération
+ \xintifboolexpr{\fpeval{abs(\PfCRINombreATester)-abs(\PfCRINombreCle)}>0}{%
+ \modulo{\PfCRINombreATester}{\PfCRINombreCle}{}%
+ \xintifboolexpr{\remainder==0}{%
+ \MelangeListe{\PfCRIListeOperationsSansMul}{1}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRetiensLoperation{\faa}%
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{/}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreATester/\PfCRINombreCle}}%
+ }{%
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{-}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreATester-\PfCRINombreCle}}%
+ }{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreCle-\PfCRINombreATester}}%
+ }%
+ }%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRINombreATester}%
+ }{%
+ \MelangeListe{\PfCRIListeOperationsSimple}{1}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRetiensLoperation{\faa}%
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{-}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreATester-\PfCRINombreCle}}%
+ }{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreCle-\PfCRINombreATester}}%
+ }%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRINombreATester}%
+ }%
+ }{%
+ \xintifboolexpr{\fpeval{abs(\PfCRINombreATester)-abs(\PfCRINombreCle)}==0}{%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations *}%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRIListeOperations{\PfCRIRecupOperations}%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres 1}%
+ }{%
+ \xintifboolexpr{\PfCRINombreATester==0}{%
+ \MelangeListe{\PfCRIListeOperationsSimple}{1}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRetiensLoperation{\faa}%
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{-}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreATester-\PfCRINombreCle}}%
+ }{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreCle-\PfCRINombreATester}}%
+ }%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRINombreATester}%
+ }{%
+ \modulo{\PfCRINombreCle}{\PfCRINombreATester}{}%
+ \xintifboolexpr{\remainder==0}{%-1
+ \MelangeListe{\PfCRIListeToutesOperations}{1}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \readlist*\PfCRIRetiensLoperation{\faa}%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRIListeOperations{\PfCRIRecupOperations}%
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{*}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreCle/\PfCRINombreATester}}%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRINombreATester}%
+ }{
+ \IfStrEq{\PfCRIRetiensLoperation[1]}{-}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreATester-\PfCRINombreCle}}%
+ }{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreCle-\PfCRINombreATester}}%
+ }%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRINombreATester}%
+ }%
+ }{%
+ \MelangeListe{\PfCRIListeOperationsSimple}{1}%
+ \xdef\PfCRIRecupOperations{\PfCRIRecupOperations \faa}%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRIListeOperations{\PfCRIRecupOperations}%
+ \IfStrEq{\PfCRIRIListeOperations[\PfCRIRetiensNbEtapes]}{-}{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreATester-\PfCRINombreCle}}%
+ }{%
+ \xdef\PfCRINombreATester{\fpeval{\PfCRINombreCle-\PfCRINombreATester}}%
+ }%
+ \xdef\PfCRIRecupNombres{\PfCRIRecupNombres \PfCRINombreATester}%
+ }%
+ }%
+ }%
+ }%
+ }%
+ \ignoreemptyitems%
+ \readlist*\PfCRIRIOperations{\PfCRIRecupOperations}%
+ \readlist*\PfCRIRINombres{\PfCRIRecupNombres}%
+ \reademptyitems%
+ % On prépare le dessin
+ \xdef\PfCRINombresDessin{}%
+ \xdef\PfCRIOperationsDessin{}%
+ \foreachitem\compteur\in\PfCRIRINombres{%
+ \xintifboolexpr{\PfCRIRINombres[\compteurcnt]<0}{%
+ \xdef\PfCRINombresDessin{\PfCRINombresDessin "(\num{\PfCRIRINombres[\compteurcnt]})",}%
+ }{%
+ \xdef\PfCRINombresDessin{\PfCRINombresDessin "\num{\PfCRIRINombres[\compteurcnt]}",}%
+ }%
+ }%
+ \foreachitem\compteur\in\PfCRIRIOperations{%
+ \xdef\PfCRIOperationsDessin{\PfCRIOperationsDessin "\PfCRIRIOperations[\compteurcnt]",}%
+ }%
+ % On dessine
+ \BuildRondeInfernale{\PfCRINombresDessin}{\PfCRIOperationsDessin}%
+}%
+
+\NewDocumentCommand\BuildRondeInfernale{m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Vide,Rectangle,Perso;
+ Vide=\useKV[RondeInfernale]{Vide};
+ Rectangle=\useKV[RondeInfernale]{Rectangle};
+ Perso=\useKV[RondeInfernale]{Perso};
+ if Perso:
+ string Depart;
+ Depart=\useKV[RondeInfernale]{Cle};
+ else:
+ numeric Depart;
+ Depart=\PfCRINombreCle;
+ fi;
+
+ numeric Rayon;
+ Rayon=\useKV[RondeInfernale]{Rayon};
+
+ string Nombre[];
+
+ vardef Compte(text t)=%On compte le nb d'étapes et on retient les nombres
+ nbcase:=0;
+ for p_=t:
+ nbcase:=nbcase+1;
+ Nombre[nbcase]=p_;
+ endfor;
+ enddef;
+
+ vardef AfficheRonde(text t)=%On fait l'affichage des opérations
+ n:=0;
+ for k=1 upto nbcase:
+ fill cercles(rotation(A[k],O,0.5*(360/nbcase)),5mm) withcolor white;
+ endfor;
+ for p_=t:
+ n:=n+1;
+ if p_="*":
+ label(TEX("$\times"&Nombre[n]&"$"),rotation(A[nbcase-n],O,0.5*(360/nbcase)));
+ elseif p_="/":
+ label(TEX("$\div"&Nombre[n]&"$"),rotation(A[nbcase-n],O,0.5*(360/nbcase)));
+ else:
+ label(TEX("$"&p_&Nombre[n]&"$"),rotation(A[nbcase-n],O,0.5*(360/nbcase)));
+ fi;
+ endfor;
+ enddef;
+
+ vardef AfficheRectangle(text t)=%On fait l'affichage des opérations
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if n=nbcase:
+ if p_="*":
+ label.bot(TEX("$\times"&Nombre[n]&"$"),1/2[A[n-1],A[0]]+u*(0,-1));
+ elseif p_="/":
+ label.bot(TEX("$\div"&Nombre[n]&"$"),1/2[A[n-1],A[0]]+u*(0,-1));
+ else:
+ label.bot(TEX("$"&p_&Nombre[n]&"$"),1/2[A[n-1],A[0]]+u*(0,-1));
+ fi;
+ else:
+ if p_="*":
+ label.top(TEX("$\times"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ elseif p_="/":
+ label.top(TEX("$\div"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ else:
+ label.top(TEX("$"&p_&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ vardef BaseRonde=
+ pair O,A[];
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon);
+ A[0]=pointarc(cc,0);
+ A[nbcase+1]=A[0];
+ for k=1 upto nbcase:
+ A[k]=rotation(A[0],O,k*(360/nbcase));
+ endfor;
+ for k=0 upto nbcase:
+ drawarrow reverse(arccercle(A[k],A[k+1],O) cutbefore cercles(A[k],5mm) cutafter cercles(A[k+1],5mm)) withpen pencircle scaled 1.5;
+ endfor;
+ for k=0 upto nbcase:
+ fill cercles(A[k],5mm) withcolor white;
+ trace cercles(A[k],5mm) withpen pencircle scaled 1.5;
+ endfor;
+ enddef;
+
+ vardef BoiteRectangle=
+ save $;
+ path $;
+ $=u*(0.9,-0.5){dir 0}..{dir 90}(u*(1,-0.4))--(u*(1,0.4)){dir 90}..{dir180}(u*(0.9,0.5))--u*(-0.9,0.5){dir 180}..{dir-90}(u*(-1,0.4))--(u*(-1,-0.4)){dir-90}..{dir0}(u*(-0.9,-0.5))--cycle;
+ $
+ enddef;
+
+ vardef BaseRectangle=
+ pair O,A[];
+ O=(0,0);
+ A[0]=O;
+ for k=1 upto nbcase:
+ A[k]-A[k-1]=(Rayon+2cm,0);
+ endfor;
+ for k=0 upto nbcase-2:
+ drawarrow (A[k]--A[k+1]) cutbefore (BoiteRectangle shifted A[k]) cutafter (BoiteRectangle shifted A[k+1]) withpen pencircle scaled 1.5;
+ endfor;
+ drawarrow (A[nbcase-1]--(A[nbcase-1]+u*(0,-1))--(A[0]+u*(0,-1))--A[0]) cutbefore (BoiteRectangle shifted A[nbcase-1]) cutafter (BoiteRectangle shifted A[0]) withpen pencircle scaled 1.5;
+ for k=0 upto nbcase-1:
+ trace (BoiteRectangle shifted A[k]) withpen pencircle scaled 1.5;
+ endfor;
+ enddef;
+
+ Compte(#1);
+
+ if Rectangle:
+ BaseRectangle;
+ AfficheRectangle(#2);
+ else:
+ BaseRonde;
+ AfficheRonde(#2);
+ fi;
+ if Vide=false:
+ if Perso:
+ label(TEX("$"&Depart&"$"),A[0]);
+ else:
+ label(TEX("$"&decimal(Depart)&"$"),A[0]);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={%
+ boolean Vide,Rectangle,Perso;Vide=\useKV[RondeInfernale]{Vide};Rectangle=\useKV[RondeInfernale]{Rectangle};Perso=\useKV[RondeInfernale]{Perso};if Perso:string Depart;Depart=\useKV[RondeInfernale]{Cle};else:numeric Depart;Depart=\PfCRINombreCle;fi;numeric Rayon;Rayon=\useKV[RondeInfernale]{Rayon};}]
+ string Nombre[];
+
+ vardef Compte(text t)=%On compte le nb d'étapes et on retient les nombres
+ nbcase:=0;
+ for p_=t:
+ nbcase:=nbcase+1;
+ Nombre[nbcase]=p_;
+ endfor;
+ enddef;
+
+ vardef AfficheRonde(text t)=%On fait l'affichage des opérations
+ n:=0;
+ for k=1 upto nbcase:
+ fill cercles(rotation(A[k],O,0.5*(360/nbcase)),5mm) withcolor white;
+ endfor;
+ for p_=t:
+ n:=n+1;
+ if p_="*":
+ label(LATEX("$\times"&Nombre[n]&"$"),rotation(A[nbcase-n],O,0.5*(360/nbcase)));
+ elseif p_="/":
+ label(LATEX("$\div"&Nombre[n]&"$"),rotation(A[nbcase-n],O,0.5*(360/nbcase)));
+ else:
+ label(LATEX("$"&p_&Nombre[n]&"$"),rotation(A[nbcase-n],O,0.5*(360/nbcase)));
+ fi;
+ endfor;
+ enddef;
+
+ vardef AfficheRectangle(text t)=%On fait l'affichage des opérations
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if n=nbcase:
+ if p_="*":
+ label.bot(LATEX("$\times"&Nombre[n]&"$"),1/2[A[n-1],A[0]]+u*(0,-1));
+ elseif p_="/":
+ label.bot(LATEX("$\div"&Nombre[n]&"$"),1/2[A[n-1],A[0]]+u*(0,-1));
+ else:
+ label.bot(LATEX("$"&p_&Nombre[n]&"$"),1/2[A[n-1],A[0]]+u*(0,-1));
+ fi;
+ else:
+ if p_="*":
+ label.top(TEX("$\times"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ elseif p_="/":
+ label.top(TEX("$\div"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ else:
+ label.top(TEX("$"&p_&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ vardef BaseRonde=
+ pair O,A[];
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon);
+ A[0]=pointarc(cc,0);
+ A[nbcase+1]=A[0];
+ for k=1 upto nbcase:
+ A[k]=rotation(A[0],O,k*(360/nbcase));
+ endfor;
+ for k=0 upto nbcase:
+ drawarrow reverse(arccercle(A[k],A[k+1],O) cutbefore cercles(A[k],5mm) cutafter cercles(A[k+1],5mm)) withpen pencircle scaled 1.5;
+ endfor;
+ for k=0 upto nbcase:
+ fill cercles(A[k],5mm) withcolor white;
+ trace cercles(A[k],5mm) withpen pencircle scaled 1.5;
+ endfor;
+ enddef;
+
+ vardef BoiteRectangle=
+ save $;
+ path $;
+ $=u*(0.9,-0.5){dir 0}..{dir 90}(u*(1,-0.4))--(u*(1,0.4)){dir 90}..{dir180}(u*(0.9,0.5))--u*(-0.9,0.5){dir 180}..{dir-90}(u*(-1,0.4))--(u*(-1,-0.4)){dir-90}..{dir0}(u*(-0.9,-0.5))--cycle;
+ $
+ enddef;
+
+ vardef BaseRectangle=
+ pair O,A[];
+ O=(0,0);
+ A[0]=O;
+ for k=1 upto nbcase:
+ A[k]-A[k-1]=(Rayon,0);
+ endfor;
+ for k=0 upto nbcase-2:
+ drawarrow (A[k]--A[k+1]) cutbefore (BoiteRectangle shifted A[k]) cutafter (BoiteRectangle shifted A[k+1]) withpen pencircle scaled 1.5;
+ endfor;
+ drawarrow (A[nbcase-1]--(A[nbcase-1]+u*(0,-1))--(A[0]+u*(0,-1))--A[0]) cutbefore (BoiteRectangle shifted A[nbcase-1]) cutafter (BoiteRectangle shifted A[0]) withpen pencircle scaled 1.5;
+ for k=0 upto nbcase-1:
+ trace (BoiteRectangle shifted A[k]) withpen pencircle scaled 1.5;
+ endfor;
+ enddef;
+
+ Compte(#1);
+
+ if Rectangle:
+ BaseRectangle;
+ AfficheRectangle(#2);
+ else:
+ BaseRonde;
+ AfficheRonde(#2);
+ fi;
+ if Vide=false:
+ if Perso:
+ label(TEX("$"&Depart&"$"),A[0]);
+ else:
+ label(TEX("$"&decimal(Depart)&"$"),A[0]);
+ fi;
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+
+%%%
+% Message caché
+%%%
+\setKVdefault[Hidden]{TLargeur=5,THauteur=3,Solution=false,Hauteur=70pt,Largeur=120pt,Jeu=false,Solution}
+\defKV[Hidden]{Plateau=\setKV[Hidden]{Jeu}\setKV[Hidden]{Solution=false}}
+
+\newlength\PfCHiddenHeight%
+\newlength\PfCHiddenWidth%
+
+\NewDocumentCommand\MessageCache{o m m}{%1 options 2 questions/réponses 3 message
+ % on récupère les options
+ \useKVdefault[Hidden]%
+ \setKV[Hidden]{#1}%
+ % on définit les dimensions des cases
+ \setlength{\PfCHiddenHeight}{\useKV[Hidden]{Hauteur}+\tabcolsep}%
+ \setlength{\PfCHiddenWidth}{\useKV[Hidden]{Largeur}}%
+ % On récupère les questions
+ \setsepchar[*]{§*/}%
+ \readlist*\PfCHiddenQuestions{#2}%
+ \setsepchar{,}
+ \ifboolKV[Hidden]{Solution}{%
+ % On donne les questions et la phrase
+ \begin{center}
+ \begin{NiceTabular}{*{\useKV[Hidden]{TLargeur}}{m{\PfCHiddenWidth}}}%[hvlines]
+ \xintFor* ##1 in{\xintSeq{1}{\useKV[Hidden]{THauteur}}}\do{%
+ \rule{0pt}{\PfCHiddenHeight}\xintFor* ##2 in {\xintSeq{1}{\useKV[Hidden]{TLargeur}}}\do{%
+ \Block[draw]{1-1}{\PfCHiddenQuestions[\fpeval{\useKV[Hidden]{THauteur}*(##1-1)+##2},1]}\xintifForLast{}{&}
+ }\\
+ }%
+ \CodeAfter%
+ \StrGobbleLeft{#3}{0}[\PhraseCorrection]%
+ \xintFor* ##1 in{\xintSeq{1}{\useKV[Hidden]{THauteur}}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\fpeval{\useKV[Hidden]{TLargeur}-1}}}\do{%
+ \StrLeft{\PhraseCorrection}{1}[\LettreAAfficher]\StrGobbleLeft{\PhraseCorrection}{1}[\PhraseCorrection]%
+ \tikz{\node[anchor=south] at (\fpeval{##1+1}-|\fpeval{##2+1}) {\huge\bfseries\LettreAAfficher};}%
+ }%
+ }%
+ \end{NiceTabular}
+ \end{center}
+ }{%
+ % On donne le plateau des solutions
+ \begin{center}
+ \begin{NiceTabular}{*{\useKV[Hidden]{TLargeur}}{m{\PfCHiddenWidth}}}%[hvlines]
+ \xintFor* ##1 in{\xintSeq{1}{\useKV[Hidden]{THauteur}}}\do{%
+ \rule{0pt}{\PfCHiddenHeight}\xintFor* ##2 in {\xintSeq{1}{\useKV[Hidden]{TLargeur}}}\do{%
+ \Block[draw]{1-1}{\PfCHiddenQuestions[\fpeval{\useKV[Hidden]{THauteur}*(##1-1)+##2},2]}\xintifForLast{}{&}
+ }\\
+ }%
+ \end{NiceTabular}
+ \end{center}
+ }
+}%
+
+%%%
+% Puzzle Somme Pyramide
+%%%
+\setKVdefault[ClesPuzzleP]{Largeur=40pt,Etages=4,Graines=false,Solutions=false,Jeu,EnonceQuestion=false,NbLignes=7}
+\defKV[ClesPuzzleP]{Graine=\setKV[ClesPuzzleP]{Graines}}%
+\defKV[ClesPuzzleP]{Solution=\setKV[ClesPuzzleP]{Solutions}\setKV[ClesPuzzleP]{Jeu=false}}%
+\defKV[ClesPuzzleP]{Questions=\setKV[ClesPuzzleP]{EnonceQuestion}\setKV[ClesPuzzleP]{Jeu=false}}%
+\newcounter{PfCPuzzlePcpt}
+\newcounter{PfCPuzzlePavcpt}
+\newlength{\PfCPuzzleP}
+
+\NewDocumentCommand\PuzzlePyramideListeLettres{}{%
+ \setcounter{PfCPuzzlePcpt}{0}%
+ \setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[1]}\Alph{PfCPuzzlePavcpt}, \setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[2]}\Alph{PfCPuzzlePavcpt}, \setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[3]}\Alph{PfCPuzzlePavcpt}, \setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[4]}\Alph{PfCPuzzlePavcpt} et \setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[5]}\Alph{PfCPuzzlePavcpt}%
+}
+
+\NewDocumentCommand\PuzzlePyramide{o m}{%
+ \useKVdefault[ClesPuzzleP]%
+ \setKV[ClesPuzzleP]{#1}%
+ \ifboolKV[ClesPuzzleP]{Graines}{\PfCGraineAlea{\useKV[ClesPuzzleP]{Graine}}}{}%
+ \setsepchar{§}
+ \readlist*\PfCPuzzlePQuestions{#2}%
+ \setsepchar{,}
+ \setlength{\PfCPuzzleP}{\useKV[ClesPuzzleP]{Largeur}}%
+ \xdef\PfCPuzzlePLettres{1}%
+ \xintFor* ##1 in{\xintSeq{2}{\fpeval{\useKV[ClesPuzzleP]{Etages}*(\useKV[ClesPuzzleP]{Etages}+1)/2}}}\do{%
+ \xdef\PfCPuzzlePLettres{\PfCPuzzlePLettres,##1}%
+ }%
+ \MelangeListe{\PfCPuzzlePLettres}{\fpeval{\useKV[ClesPuzzleP]{Etages}*(\useKV[ClesPuzzleP]{Etages}+1)/2}}%
+ \readlist*{\PfCPuzzlePCptLettre}{\faa}%
+ \xdef\PuzzlePyramideLettres{\PuzzlePyramideListeLettres}%
+ \setcounter{PfCPuzzlePcpt}{0}%
+ \ifboolKV[ClesPuzzleP]{Solutions}{%
+% % Plateau de jeu
+ \begin{center}
+ \begin{NiceTabular}{*{\fpeval{\useKV[ClesPuzzleP]{Etages}*2}}{m{\PfCPuzzleP}}}%[hvlines]
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}}}}\do{%
+ \xintifForLast{\Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{\stepcounter{PfCPuzzlePcpt}\setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[\thePfCPuzzlePcpt]}{\Huge\Alph{PfCPuzzlePavcpt}}}&}{\Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{\stepcounter{PfCPuzzlePcpt}\setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[\thePfCPuzzlePcpt]}{\Huge\Alph{PfCPuzzlePavcpt}}}&&}
+ }\\%
+ \xintFor* ##1 in {\xintSeq{2}{\useKV[ClesPuzzleP]{NbLignes}}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}*2}}}\do{%
+ \xintifForLast{\\}{&}
+ }%
+ }%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}-1}}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+ \xintifForFirst{}{&}
+ }\xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}-##1}}}\do{%
+ &\Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{\stepcounter{PfCPuzzlePcpt}\setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[\thePfCPuzzlePcpt]}{\Huge\Alph{PfCPuzzlePavcpt}}}&
+ }%
+ \\
+ \xintFor* ##3 in {\xintSeq{2}{\useKV[ClesPuzzleP]{NbLignes}}}\do{%
+ \xintFor* ##4 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}*2}}}\do{%
+ \xintifForLast{\\}{&}
+ }%
+ }%
+ }%
+ \end{NiceTabular}
+ \end{center}
+ }{%
+ \ifboolKV[ClesPuzzleP]{EnonceQuestion}{%
+ % Plateau des questions
+ \setcounter{PfCPuzzlePcpt}{0}%
+ \begin{center}
+ \begin{NiceTabular}{*{10}{m{\PfCPuzzleP}}}%[hvlines]
+ \xintFor* ##3 in {\xintSeq{1}{\fpeval{ceil(\PfCPuzzlePQuestionslen/5)}}}\do{%
+ \xintFor* ##1 in {\xintSeq{1}{5}}\do{%
+ \xintifForLast{%
+ \Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{%
+ \stepcounter{PfCPuzzlePcpt}%
+ \xintifboolexpr{\thePfCPuzzlePcpt>\PfCPuzzlePQuestionslen}{}{%
+ \xintFor* ##4 in{\xintSeq{1}{\PfCPuzzlePQuestionslen}}\do{%
+ \xintifboolexpr{\thePfCPuzzlePcpt==\PfCPuzzlePCptLettre[##4]}{\PfCPuzzlePQuestions[##4]}{}%
+ }%
+ }%
+ }&%
+ }{%
+ \Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{%
+ \stepcounter{PfCPuzzlePcpt}%
+ \xintifboolexpr{\thePfCPuzzlePcpt>\PfCPuzzlePQuestionslen}{}{%
+ \xintFor* ##4 in{\xintSeq{1}{\PfCPuzzlePQuestionslen}}\do{%
+ \xintifboolexpr{\thePfCPuzzlePcpt==\PfCPuzzlePCptLettre[##4]}{\PfCPuzzlePQuestions[##4]}{}%
+ }%
+ }%
+ }%
+ &&%
+ }%
+ }\\%
+ \xintFor* ##1 in {\xintSeq{2}{\useKV[ClesPuzzleP]{NbLignes}}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{10}}\do{%
+ \xintifForLast{\\}{&}
+ }%
+ }%
+ }%
+ \CodeAfter
+ \setcounter{PfCPuzzlePcpt}{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{ceil(\PfCPuzzlePQuestionslen/5)}}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{5}}\do{%
+ \tikz{\node[anchor={north west},xshift=1mm,yshift=-1mm] at (\fpeval{(##1-1)*\useKV[ClesPuzzleP]{NbLignes}+1}-|\fpeval{2*##2-1}) {\stepcounter{PfCPuzzlePcpt}\Large\bfseries\Alph{PfCPuzzlePcpt}};}%
+ \tikz{\node[anchor={south east},xshift=-2mm,yshift=-2mm,rectangle,draw] at (\fpeval{##1*\useKV[ClesPuzzleP]{NbLignes}}-|\fpeval{2*##2+1}) {\large\bfseries\hbox to 1.2\PfCPuzzleP{\rule{0pt}{1.8ex}}};}%
+ }%
+ }%
+ \end{NiceTabular}
+ \end{center}%
+ }{%
+ % Plateau de jeu
+ \begin{center}
+ \begin{NiceTabular}{*{\fpeval{\useKV[ClesPuzzleP]{Etages}*2}}{m{\PfCPuzzleP}}}%[hvlines]
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}}}}\do{%
+ \xintifForLast{\Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{\stepcounter{PfCPuzzlePcpt}\setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[\thePfCPuzzlePcpt]}{\Huge\Alph{PfCPuzzlePavcpt}}}&}{\Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{\stepcounter{PfCPuzzlePcpt}\setcounter{PfCPuzzlePavcpt}{\PfCPuzzlePCptLettre[\thePfCPuzzlePcpt]}{\Huge\Alph{PfCPuzzlePavcpt}}}&&}
+ }\\%
+ \xintFor* ##1 in {\xintSeq{2}{\useKV[ClesPuzzleP]{NbLignes}}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}*2}}}\do{%
+ \xintifForLast{\\}{&}
+ }%
+ }%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}-1}}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+ \xintifForFirst{}{&}
+ }\xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}-##1}}}\do{%
+ &\Block[draw]{\useKV[ClesPuzzleP]{NbLignes}-2}{}&
+ }%
+ \\
+ \xintFor* ##3 in {\xintSeq{2}{\useKV[ClesPuzzleP]{NbLignes}}}\do{%
+ \xintFor* ##4 in {\xintSeq{1}{\fpeval{\useKV[ClesPuzzleP]{Etages}*2}}}\do{%
+ \xintifForLast{\\}{&}
+ }%
+ }%
+ }%
+ \end{NiceTabular}
+ \end{center}
+ }%
+ }%
+}%
+
+%%%
% Calisson
-%
+%%%
\setKVdefault[Calisson]{Taille=3,Solution=false,Rayon=5cm,Couleur=red}%
\def\UpdatetoksCalissong#1\nil{\addtotok\tokcalissonlistetracesg{,"#1"}}%
@@ -2595,8 +3251,13 @@
\setsepchar[*]{,*/}%
\ignoreemptyitems
\readlist*\ListePfCEngrenages{#2}%
- \foreachitem\compteur\in\ListePfCEngrenages{\expandafter\UpdatetoksEngrenages\compteur\nil}%
- \BuildEngrenages{\the\tokPfCEngrenages}%
+ \setsepchar{,}
+ \xdef\PfCFooEngrenages{}
+ % \foreachitem\compteur\in\ListePfCEngrenages{\expandafter\UpdatetoksEngrenages\compteur\nil}%
+ \foreachitem\compteur\in\ListePfCEngrenages{%
+ \xdef\PfCFooEngrenages{\PfCFooEngrenages \ListePfCEngrenages[\compteurcnt,1],\ListePfCEngrenages[\compteurcnt,2],}%
+ }%
+ \BuildEngrenages{\PfCFooEngrenages}%
}%
\NewDocumentCommand\BuildEngrenages{m}{%
@@ -9212,7 +9873,7 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\StrLen{\ListeMotsEmpiles[\compteurcnt,2]}[\LongueurMot]%
\xintifboolexpr{\ListeMotsEmpilesMax<\fpeval{\ListeMotsEmpiles[\compteurcnt,1]+\LongueurMot}}{\xdef\ListeMotsEmpilesMax{\fpeval{\ListeMotsEmpiles[\compteurcnt,1]+\LongueurMot}}}{}%
}%
- \begin{NiceTabular}{c|*{\fpeval{\ListeMotsEmpilesMax}}{m{0.5em}}}%
+ \begin{NiceTabular}{c|*{\fpeval{\ListeMotsEmpilesMax}}{m{10pt}}}%
\Block{1-\fpeval{\useKV[ClesMotEmpile]{Colonne}+2}}{}\xintFor* ##1 in {\xintSeq {1}{\fpeval{\useKV[ClesMotEmpile]{Colonne}}}}\do{&}&$\downarrow$\xintFor* ##1 in {\xintSeq {1}{\fpeval{\ListeMotsEmpilesMax-\useKV[ClesMotEmpile]{Colonne}-1}}}\do{&}\\
\xintFor* ##1 in {\xintSeq {1}{\fpeval{\ListeMotsEmpileslen}}}\do{%
\rule[-1.2ex]{0pt}{3.8ex}\stepcounter{CompteurMotEmpile}\Alph{CompteurMotEmpile}&\Block{1-\fpeval{\ListeMotsEmpiles[##1,1]}}{}\xintFor* ##2 in {\xintSeq {1}{\fpeval{\ListeMotsEmpiles[##1,1]}}}\do{%
@@ -9660,24 +10321,44 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
}%
}%
-%%% Dessin Gradue %%%
-\setKVdefault[DessinGradue]{Lignes=10,Debut=-5,Fin=5,Pas=10,Solution=false,EcartVertical=1.5,LignesIdentiques,Longueur=10,Echelle=1,Droites=false,DemiDroites=false}
+%%%
+% Dessin Gradue
+%%%
+\setKVdefault[DessinGradue]{Lignes=10,Debut=-5,Fin=5,Pas=10,Solution=false,EcartVertical=1.5,LignesIdentiques,Longueur=10,Echelle=1,Droites=false,DemiDroites=false,OrigineVariable=false,Code=false}
+\defKV[DessinGradue]{Traces=\setKV[DessinGradue]{Code}}%
-\def\TraceDessinGradue#1#2#3#4#5#6{%
+\def\TraceDessinGradueComplet#1#2#3{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ % Paramètres
+ LongueurLigne=\useKV[DessinGradue]{Longueur};
+ EcartVertical=\useKV[DessinGradue]{EcartVertical};
+ Pas:=\useKV[DessinGradue]{Pas};
+ NbLignes=\useKV[DessinGradue]{Lignes};
+ Echelle=\useKV[DessinGradue]{Echelle};
+ Debut:=\useKV[DessinGradue]{Debut};
+ Fin:=\useKV[DessinGradue]{Fin};
+
+ boolean Solution,Droites,DemiDroites,LignesIdentiques,OrigineVariable,Code;
+ Solution=\useKV[DessinGradue]{Solution};
+ LignesIdentiques:=\useKV[DessinGradue]{LignesIdentiques};
+ OrigineVariable:=\useKV[DessinGradue]{OrigineVariable};
+ Droites=\useKV[DessinGradue]{Droites};
+ DemiDroites=\useKV[DessinGradue]{DemiDroites};
+ Code=\useKV[DessinGradue]{Code};
+
pair La,Lb,Lab[];
pair A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A',B',C',D',E',F',G',H',I',J',K',L',M',N',O',P',Q',R',S',T',U',V',W',X',Y',Z',A'',B'',C'',D'',E'',F'',G'',H'',I'',J'',K'',L'',M'',N'',O'',P'',Q'',R'',S'',T'',U'',V'',W'',X'',Y'',Z'';
+
La=(0,0);
Lb-La=u*(\useKV[DessinGradue]{Longueur},0);
- boolean Solution;
- Solution=\useKV[DessinGradue]{Solution};
- for k=0 upto #4:
- Lab[k]=(k/#4)[La,Lb];
- endfor;
- picture EnsembleLignes,Lignes;
- Lignes=image(
+
+ % On définit une fonction pour tracer les lignes en fonction du pas "Partage"
+ vardef TraceLignes(expr Partage)=
+ save RecupLigne;
+ picture RecupLigne;
+ RecupLigne=image(
if \useKV[DessinGradue]{Droites}:
drawarrow 1.05[Lb,La]--1.05[La,Lb];
elseif \useKV[DessinGradue]{DemiDroites}:
@@ -9685,259 +10366,275 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
else:
trace segment(La,Lb);
fi;
- for k=0 upto #4:
- trace (Lab[k]+u*(0,-0.1))--(Lab[k]+u*(0,0.1));
+ for kl=0 upto Partage:
+ Lab[kl]:=(kl/Partage)[La,Lb];
+ trace (Lab[kl]+u*(0,-0.1))--(Lab[kl]+u*(0,0.1));
endfor;
- labeloffset:=labeloffset*1.5;
- label.top(TEX("\num{"&decimal(#2)&"}"),La);
- label.top(TEX("\num{"&decimal(#3)&"}"),Lb);
- labeloffset:=labeloffset/1.5;
);
- EnsembleLignes=image(
- if Solution:
- drawoptions(withcolor 0.5white);
- fi;
- for k=0 upto #1-1:
- trace Lignes shifted(k*u*(0,-\useKV[DessinGradue]{EcartVertical}));
- label(TEX("(\num{"&decimal(k+1)&"})"),La+u*(-1.5,-k*\useKV[DessinGradue]{EcartVertical}));
- endfor;
- drawoptions();
- if Solution:
- n:=0;
+ RecupLigne
+ enddef;
+
+ % On définit une fonction pour nommer les points nécessaires.
+ vardef DefinirPoints(text t)=
numeric nblignes,nbpas;
- for p_=#5:
+ n:=0;
+ for p_=t:
n:=n+1;
if (n mod 3)=1:
nblignes:=p_;
elseif (n mod 3)=2:
nbpas:=p_;
elseif (n mod 3)=0:
- p_=(nbpas/#4)[La,Lb] shifted(u*(0,(nblignes-1)*(-\useKV[DessinGradue]{EcartVertical})));
+ p_=(nbpas/TotalPas[nblignes])[La,Lb] shifted(u*(0,(nblignes-1)*(-EcartVertical)));
fi;
endfor;
- for p_=#6:
+ enddef;
+
+ % On détermine le nombre de lignes et les origines particulières
+ pair OrigA[],OrigB[];
+ if LignesIdentiques:
+ for k=1 upto NbLignes:
+ TotalPas[k]:=Pas;
+ OrigA[k]=(Debut,0);
+ OrigB[k]=(Fin,TotalPas[k]);
+ endfor;
+ else:
+ if OrigineVariable:
+ n:=0;
+ for p_=#1:
+ n:=n+1;
+ OrigA[n]:=p_;
+ TotalPas[n]:=Pas;
+ endfor;
+ NbLignes:=n/2;
+ else:
+ n:=0;
+ for p_=#1:
+ n:=n+1;
+ TotalPas[n]=bluepart(p_);
+ OrigA[n]=(redpart(p_),0);
+ OrigB[n]=(greenpart(p_),TotalPas[n]);
+ endfor;
+ NbLignes:=n;
+ fi;
+ fi;
+
+ picture EnsembleLignes;
+
+ DefinirPoints(#2);
+
+ EnsembleLignes=image(
+ if Solution:
+ drawoptions(withcolor 0.5white);
+ fi;
+ % On trace les lignes et on labelise le numéro de la ligne.
+ for k=0 upto NbLignes-1:
+ trace TraceLignes(TotalPas[k+1]) shifted(k*u*(0,-EcartVertical));
+ if Droites:
+ label.lft(TEX("(\num{"&decimal(k+1)&"})"),1.05[Lb,La] shifted(k*u*(0,-EcartVertical)));
+ else:
+ label.lft(TEX("(\num{"&decimal(k+1)&"})"),La shifted(k*u*(0,-EcartVertical)));
+ fi;
+ endfor;
+ % On labelise les origines
+ labeloffset:=labeloffset*1.5;
+ for k=0 upto NbLignes-1:
+ if OrigineVariable:
+ label.top(TEX("\num{"&decimal(xpart(OrigA[2*k+1]))&"}"),(ypart(OrigA[2*k+1])/Pas)[La,Lb]+u*(0,-k*EcartVertical));
+ label.top(TEX("\num{"&decimal(xpart(OrigA[2*(k+1)]))&"}"),(ypart(OrigA[2*(k+1)])/Pas)[La,Lb]+u*(0,-k*EcartVertical));
+ else:
+ label.top(TEX("\num{"&decimal(xpart(OrigA[k+1]))&"}"),La+u*(0,-k*EcartVertical));
+ label.top(TEX("\num{"&decimal(xpart(OrigB[k+1]))&"}"),Lb+u*(0,-k*EcartVertical));
+ fi;
+ endfor;
+ drawoptions();
+ labeloffset:=labeloffset/1.5;
+
+ % On trace la solution
+ if Solution:
+ for p_=#3:
trace p_ withpen pencircle scaled 1.5;
endfor;
fi;
+ % On ajoute des tracés si nécessaire
+ if Code:
+ \useKV[DessinGradue]{Traces};
+ fi;
);
trace EnsembleLignes scaled \useKV[DessinGradue]{Echelle};
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={numeric LongueurLigne; LongueurLigne=\useKV[DessinGradue]{Longueur};numeric EcartVertical; EcartVertical=\useKV[DessinGradue]{EcartVertical}; numeric Echelle; Echelle=\useKV[DessinGradue]{Echelle}; boolean Solution,Droites,DemiDroites; Solution=\useKV[DessinGradue]{Solution};Droites=\useKV[DessinGradue]{Droites};DemiDroites=\useKV[DessinGradue]{DemiDroites};}]
+ \begin{mpost}[mpsettings={%
+ LongueurLigne=\useKV[DessinGradue]{Longueur};
+ EcartVertical=\useKV[DessinGradue]{EcartVertical};
+ Pas:=\useKV[DessinGradue]{Pas};
+ NbLignes=\useKV[DessinGradue]{Lignes};
+ Echelle=\useKV[DessinGradue]{Echelle};
+ Debut:=\useKV[DessinGradue]{Debut};
+ Fin:=\useKV[DessinGradue]{Fin};
+ boolean Solution,Droites,DemiDroites,LignesIdentiques,OrigineVariable,Code;
+ Solution=\useKV[DessinGradue]{Solution};
+ LignesIdentiques:=\useKV[DessinGradue]{LignesIdentiques};
+ OrigineVariable:=\useKV[DessinGradue]{OrigineVariable};
+ Droites=\useKV[DessinGradue]{Droites};
+ DemiDroites=\useKV[DessinGradue]{DemiDroites};
+ Code=\useKV[DessinGradue]{Code};
+ vardef EffectuerLesTraces=
+ if Code:
+ \useKV[DessinGradue]{Traces};
+ fi;
+ enddef;
+ }]
pair La,Lb,Lab[];
pair A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A',B',C',D',E',F',G',H',I',J',K',L',M',N',O',P',Q',R',S',T',U',V',W',X',Y',Z',A'',B'',C'',D'',E'',F'',G'',H'',I'',J'',K'',L'',M'',N'',O'',P'',Q'',R'',S'',T'',U'',V'',W'',X'',Y'',Z'';
+
La=(0,0);
- Lb-La=u*(LongueurLigne,0);
- for k=0 upto #4:
- Lab[k]=(k/#4)[La,Lb];
- endfor;
- picture EnsembleLignes,Lignes;
- Lignes=image(
- if Droites:
+ Lb-La=u*(\useKV[DessinGradue]{Longueur},0);
+
+ % On définit une fonction pour tracer les lignes en fonction du pas "Partage"
+ vardef TraceLignes(expr Partage)=
+ save RecupLigne;
+ picture RecupLigne;
+ RecupLigne=image(
+ if \useKV[DessinGradue]{Droites}:
drawarrow 1.05[Lb,La]--1.05[La,Lb];
- elseif DemiDroites:
+ elseif \useKV[DessinGradue]{DemiDroites}:
drawarrow La--1.05[La,Lb];
else:
trace segment(La,Lb);
fi;
- for k=0 upto #4:
- trace (Lab[k]+u*(0,-0.1))--(Lab[k]+u*(0,0.1));
+ for kl=0 upto Partage:
+ Lab[kl]:=(kl/Partage)[La,Lb];
+ trace (Lab[kl]+u*(0,-0.1))--(Lab[kl]+u*(0,0.1));
endfor;
- labeloffset:=labeloffset*1.5;
- label.top(LATEX("\num{"&decimal(#2)&"}"),La);
- label.top(LATEX("\num{"&decimal(#3)&"}"),Lb);
- labeloffset:=labeloffset/1.5;
);
- EnsembleLignes=image(
- if Solution:
- drawoptions(withcolor 0.5white);
- fi;
- for k=0 upto #1-1:
- trace Lignes shifted(k*u*(0,-EcartVertical));
- label(LATEX("(\num{"&decimal(k+1)&"})"),La+u*(-1.5,-k*EcartVertical));
- endfor;
- drawoptions();
- if Solution:
- n:=0;
+ RecupLigne
+ enddef;
+
+ % On définit une fonction pour nommer les points nécessaires.
+ vardef DefinirPoints(text t)=
numeric nblignes,nbpas;
- for p_=#5:
+ n:=0;
+ for p_=t:
n:=n+1;
if (n mod 3)=1:
nblignes:=p_;
elseif (n mod 3)=2:
nbpas:=p_;
elseif (n mod 3)=0:
- p_=(nbpas/#4)[La,Lb] shifted(u*(0,(nblignes-1)*(-EcartVertical)));
+ p_=(nbpas/TotalPas[nblignes])[La,Lb] shifted(u*(0,(nblignes-1)*(-EcartVertical)));
fi;
endfor;
- for p_=#6:
- trace p_ withpen pencircle scaled 1.5;
- endfor;
- fi;
- );
- trace EnsembleLignes scaled Echelle;
- \end{mpost}
- \fi
-}
+ enddef;
-\def\TraceDessinGradueMul#1#2#3{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- pair La,Lb,Lab[];
- La=(0,0);
- pair A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A',B',C',D',E',F',G',H',I',J',K',L',M',N',O',P',Q',R',S',T',U',V',W',X',Y',Z',A'',B'',C'',D'',E'',F'',G'',H'',I'',J'',K'',L'',M'',N'',O'',P'',Q'',R'',S'',T'',U'',V'',W'',X'',Y'',Z'';
- Lb-La=u*(\useKV[DessinGradue]{Longueur},0);
- EcartVertical=\useKV[DessinGradue]{EcartVertical};
- boolean Solution;
- Solution=\useKV[DessinGradue]{Solution};
- picture EnsembleLignes,Lignes;
- EnsembleLignes=image(
- if Solution:
- drawoptions(withcolor 0.5white);
- fi;
+ % On détermine le nombre de lignes et les origines particulières
+ pair OrigA[],OrigB[];
+ if LignesIdentiques:
+ for k=1 upto NbLignes:
+ TotalPas[k]:=Pas;
+ OrigA[k]=(Debut,0);
+ OrigB[k]=(Fin,TotalPas[k]);
+ endfor;
+ else:
+ if OrigineVariable:
n:=0;
- m:=0;
for p_=#1:
n:=n+1;
- if \useKV[DessinGradue]{Droites}:
- drawarrow (1.05[Lb,La]--1.05[La,Lb]) shifted((n-1)*u*(0,-EcartVertical));
- elseif \useKV[DessinGradue]{DemiDroites}:
- drawarrow (La--1.05[La,Lb]) shifted((n-1)*u*(0,-EcartVertical));
- else:
- trace segment(La,Lb) shifted((n-1)*u*(0,-EcartVertical));
- fi;
- label(TEX("(\num{"&decimal(n)&"})"),La+u*(-1.5,-(n-1)*EcartVertical));
- for k=0 upto bluepart(p_):
- m:=bluepart(p_);
- retienspas[n]:=m;
- Lab[k]:=(k/m)[La,Lb];
- trace ((Lab[k]+u*(0,-0.1))--(Lab[k]+u*(0,0.1))) shifted((n-1)*u*(0,-EcartVertical));
- endfor;
- labeloffset:=labeloffset*1.5;
- label.top(TEX("\num{"&decimal(redpart(p_))&"}"),La shifted((n-1)*u*(0,-EcartVertical)));
- label.top(TEX("\num{"&decimal(greenpart(p_))&"}"),Lb shifted((n-1)*u*(0,-EcartVertical)));
- labeloffset:=labeloffset/1.5;
+ OrigA[n]:=p_;
+ TotalPas[n]:=Pas;
endfor;
- drawoptions();
- if Solution:
+ NbLignes:=n/2;
+ else:
n:=0;
- numeric nblignes,nbpas;
- for p_=#2:
+ for p_=#1:
n:=n+1;
- if (n mod 3)=1:
- nblignes:=p_;
- elseif (n mod 3)=2:
- nbpas:=p_;
- elseif (n mod 3)=0:
- p_=(nbpas/retienspas[nblignes])[La,Lb] shifted(u*(0,(nblignes-1)*(-\useKV[DessinGradue]{EcartVertical})));
- fi;
- endfor;
- %Differents traces
- for p_=#3:
- trace p_ withpen pencircle scaled 1.5;
+ TotalPas[n]=bluepart(p_);
+ OrigA[n]=(redpart(p_),0);
+ OrigB[n]=(greenpart(p_),TotalPas[n]);
endfor;
+ NbLignes:=n;
fi;
- );
- trace EnsembleLignes scaled \useKV[DessinGradue]{Echelle};
- \end{mplibcode}
- \else
- \begin{mpost}[mpsettings={numeric LongueurLigne; LongueurLigne=\useKV[DessinGradue]{Longueur};numeric EcartVertical; EcartVertical=\useKV[DessinGradue]{EcartVertical}; numeric Echelle; Echelle=\useKV[DessinGradue]{Echelle}; boolean Solution,Droites,DemiDroites; Solution=\useKV[DessinGradue]{Solution}; Droites=\useKV[DessinGradue]{Droites}; DemiDroites=\useKV[DessinGradue]{DemiDroites};}]
- pair La,Lb,Lab[];
- La=(0,0);
- pair A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A',B',C',D',E',F',G',H',I',J',K',L',M',N',O',P',Q',R',S',T',U',V',W',X',Y',Z',A'',B'',C'',D'',E'',F'',G'',H'',I'',J'',K'',L'',M'',N'',O'',P'',Q'',R'',S'',T'',U'',V'',W'',X'',Y'',Z'';
- Lb-La=u*(LongueurLigne,0);
- picture EnsembleLignes,Lignes;
+ fi;
+
+ picture EnsembleLignes;
+
+ DefinirPoints(#2);
+
EnsembleLignes=image(
if Solution:
drawoptions(withcolor 0.5white);
fi;
- n:=0;
- m:=0;
- for p_=#1:
- n:=n+1;
+ % On trace les lignes et on labelise le numéro de la ligne.
+ for k=0 upto NbLignes-1:
+ trace TraceLignes(TotalPas[k+1]) shifted(k*u*(0,-EcartVertical));
if Droites:
- drawarrow (1.05[Lb,La]--1.05[La,Lb]) shifted((n-1)*u*(0,-EcartVertical));
- elseif DemiDroites:
- drawarrow (La--1.05[La,Lb]) shifted((n-1)*u*(0,-EcartVertical));
+ label.lft(LATEX("(\num{"&decimal(k+1)&"})"),1.05[Lb,La] shifted(k*u*(0,-EcartVertical)));
else:
- trace segment(La,Lb) shifted((n-1)*u*(0,-EcartVertical));
+ label.lft(LATEX("(\num{"&decimal(k+1)&"})"),La shifted(k*u*(0,-EcartVertical)));
fi;
- label(LATEX("(\num{"&decimal(n)&"})"),La+u*(-1.5,-(n-1)*EcartVertical));
- for k=0 upto bluepart(p_):
- m:=bluepart(p_);
- retienspas[n]:=m;
- Lab[k]:=(k/m)[La,Lb];
- trace ((Lab[k]+u*(0,-0.1))--(Lab[k]+u*(0,0.1))) shifted((n-1)*u*(0,-EcartVertical));
endfor;
+ % On labelise les origines
labeloffset:=labeloffset*1.5;
- label.top(LATEX("\num{"&decimal(redpart(p_))&"}"),La shifted((n-1)*u*(0,-EcartVertical)));
- label.top(LATEX("\num{"&decimal(greenpart(p_))&"}"),Lb shifted((n-1)*u*(0,-EcartVertical)));
- labeloffset:=labeloffset/1.5;
+ for k=0 upto NbLignes-1:
+ if OrigineVariable:
+ label.top(LATEX("\num{"&decimal(xpart(OrigA[2*k+1]))&"}"),(ypart(OrigA[2*k+1])/Pas)[La,Lb]+u*(0,-k*EcartVertical));
+ label.top(LATEX("\num{"&decimal(xpart(OrigA[2*(k+1)]))&"}"),(ypart(OrigA[2*(k+1)])/Pas)[La,Lb]+u*(0,-k*EcartVertical));
+ else:
+ label.top(LATEX("\num{"&decimal(xpart(OrigA[k+1]))&"}"),La+u*(0,-k*EcartVertical));
+ label.top(LATEX("\num{"&decimal(xpart(OrigB[k+1]))&"}"),Lb+u*(0,-k*EcartVertical));
+ fi;
endfor;
drawoptions();
+ labeloffset:=labeloffset/1.5;
+
+ % On trace la solution
if Solution:
- n:=0;
- numeric nblignes,nbpas;
- for p_=#2:
- n:=n+1;
- if (n mod 3)=1:
- nblignes:=p_;
- elseif (n mod 3)=2:
- nbpas:=p_;
- elseif (n mod 3)=0:
- p_=(nbpas/retienspas[nblignes])[La,Lb] shifted(u*(0,(nblignes-1)*(-EcartVertical)));
- fi;
- endfor;
- %Differents traces
for p_=#3:
trace p_ withpen pencircle scaled 1.5;
endfor;
fi;
+ % On ajoute des tracés si nécessaire
+ if Code:
+ EffectuerLesTraces;
+ fi;
);
- trace EnsembleLignes scaled Echelle;
+ trace EnsembleLignes scaled \useKV[DessinGradue]{Echelle};
\end{mpost}
\fi
-}
+}%
-\def\UpdateLignes#1/#2/#3\nil{\addtotok\toklisteptsgrad{#1,#3,#2,}}
-\def\UpdateTraces#1\nil{\addtotok\toklistetracesgrad{#1,}}
-\def\UpdateDefLignes#1/#2/#3\nil{\addtotok\toklistedefligne{(#1,#2,#3),}}
-\def\UpdateDefDroites#1/#2/#3/#4\nil{\addtotok\toklistedefligne{(#1,#2,#3),#4,}}
+\def\UpdateLignes#1/#2/#3\nil{\addtotok\toklisteptsgrad{#1,#3,#2,}}%
+\def\UpdateTraces#1\nil{\addtotok\toklistetracesgrad{#1,}}%
+\def\UpdateDefLignes#1/#2/#3\nil{\addtotok\toklistedefligne{(#1,#2,#3),}}%
\newcommand\DessinGradue[4][]{%
\useKVdefault[DessinGradue]%
\setKV[DessinGradue]{#1}%
+ \newtoks\toklisteptsgrad%
+ \newtoks\toklistetracesgrad%
+ % On retiens les données pour la solution
+ \setsepchar[*]{,*/}%
+ \readlist\ListePG{#3}%
+ \setsepchar[*]{§*/}%
+ \readlist\ListeTraces{#4}%
+ \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
+ \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
\ifboolKV[DessinGradue]{LignesIdentiques}{%
- \newtoks\toklisteptsgrad%
- \newtoks\toklistetracesgrad%
- \ifboolKV[DessinGradue]{Solution}{%
- \setsepchar[*]{,*/}%
- \readlist\ListePG{#3}%
- \setsepchar[*]{§*/}%
- \readlist\ListeTraces{#4}%
- \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
- \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
- }{}%
- \TraceDessinGradue{\useKV[DessinGradue]{Lignes}}{\useKV[DessinGradue]{Debut}}{\useKV[DessinGradue]{Fin}}{\useKV[DessinGradue]{Pas}}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
+ \TraceDessinGradueComplet{}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
}{%
\setsepchar[*]{,*/}%
\readlist\ListeDefLigne{#2}%
\xdef\toklistedefligne{}%
- \foreachitem\compteur\in\ListeDefLigne{%
- \xdef\toklistedefligne{\toklistedefligne (\ListeDefLigne[\compteurcnt,1],\ListeDefLigne[\compteurcnt,2],\ListeDefLigne[\compteurcnt,3]),}%
+ \ifboolKV[DessinGradue]{OrigineVariable}{%
+ \foreachitem\compteur\in\ListeDefLigne{%
+ \xdef\toklistedefligne{\toklistedefligne (\ListeDefLigne[\compteurcnt,1],\ListeDefLigne[\compteurcnt,2]),(\ListeDefLigne[\compteurcnt,3],\ListeDefLigne[\compteurcnt,4]),}%
+ }%
+ }{%
+ \foreachitem\compteur\in\ListeDefLigne{%
+ \xdef\toklistedefligne{\toklistedefligne (\ListeDefLigne[\compteurcnt,1],\ListeDefLigne[\compteurcnt,2],\ListeDefLigne[\compteurcnt,3]),}%
+ }%
}%
- \newtoks\toklisteptsgrad%
- \newtoks\toklistetracesgrad%
- \ifboolKV[DessinGradue]{Solution}{%
- \setsepchar[*]{,*/}%
- \readlist\ListePG{#3}%
- \setsepchar[*]{§*/}%
- \readlist\ListeTraces{#4}%
- \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
- \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
- }{}%
- \TraceDessinGradueMul{\toklistedefligne}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
+ \TraceDessinGradueComplet{\toklistedefligne}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
}%
}%
@@ -10291,16 +10988,17 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\mplibforcehmode%
\begin{mplibcode}%
input PfCCalculatrice;
+ LargeurEcran:=\useKV[ClesCalculatrice]{Largeur};
LCD(#1)(#2)(#3);
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={input PfCCalculatrice;}]
+ \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}
+\setKVdefault[ClesCalculatrice]{Ecran=false,NbLignes=0,BL=0.775,Largeur=120}
\newcommand\Calculatrice[2][]{%
\setstackgap{L}{\useKV[ClesCalculatrice]{BL}\baselineskip}%
@@ -20664,11 +21362,10 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\fi
}
-
%%%
% Fonction
%%%
-\setKVdefault[ClesFonction]{Nom=f,Variable=x,Calcul=x,Tableau=false,Largeur=5mm,Ecriture=false,Definition=false,Points=false,Tangentes=false,PasX=1,PasY=1,UniteX=1,UniteY=1,Prolonge=false,Trace=false,Catmull=false,Epaisseur=1,Couleur=black,PointsCourbe=true,Codes=false}
+\setKVdefault[ClesFonction]{Nom=f,Variable=x,Calcul=x,Tableau=false,Largeur=5mm,Ecriture=false,Definition=false,Points=false,Tangentes=false,PasX=1,PasY=1,UniteX=1,UniteY=1,Prolonge=false,Trace=false,Catmull=false,Epaisseur=1,Couleur=black,CouleurTrace=black,PointsCourbe=true,Codes=false,Origine={(0,0)},Vide=false}
\defKV[ClesFonction]{Traces=\setKV[ClesFonction]{Codes}}%
\newtoks\toklistePtsFn%pour la discipline
@@ -20676,101 +21373,113 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\def\UpdatePtsFn#1/#2/#3/#4\nil{\addtotok\toklistePtsFn{#1,(#2,#3),#4,}}%
\def\UpdatePtsFN#1/#2/#3/#4\nil{\addtotok\toklistePtsFn{(#2,#3),}}%
-\def\MPCourbePoints#1#2#3#4#5#6{%
- % #1 la liste des points
- % #2: pas en x
- % #3: pas en y
- % #4: unit\'e en x
- % #5: unit\'e en y
- % #6 : prolongement avant et apr\`es les premier et dernier points ?
+\NewDocumentCommand\Fonction{o m}{%
+ \useKVdefault[ClesFonction]%
+ \setKV[ClesFonction]{#1}%
+ \ifboolKV[ClesFonction]{Trace}{%
+ \useKVdefault[TraceG]%
+ \setKV[TraceG]{#1}%
+ \MPTraceFonction[#1]{\useKV[ClesFonction]{Calcul}}%
+ }{%
+ \ifboolKV[ClesFonction]{Points}{%
+ \toklistePtsFn{}%
+ \setsepchar[*]{§*/}%\ignoreemptyitems%
+ \readlist*\ListePoints{#2}%
+ \ifboolKV[ClesFonction]{Catmull}{%
+ \xdef\PfCFooListePoints{(\ListePoints[1,2],\ListePoints[1,3]),}%
+ \foreachitem\compteur\in\ListePoints{%
+ \xdef\PfCFooListePoints{\PfCFooListePoints (\ListePoints[\compteurcnt,2],\ListePoints[\compteurcnt,3]),}%
+ }%
+ \xdef\PfCFooListePoints{\PfCFooListePoints (\ListePoints[\ListePointslen,2],\ListePoints[\ListePointslen,3]),}%
+ \MPCatmull{\PfCFooListePoints}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}%
+ }{%
+ \xdef\PfCFooListePoints{}
+ \ifboolKV[ClesFonction]{Tangentes}{%
+ \foreachitem\compteur\in\ListePoints{%
+ % \expandafter\UpdatePtsFn\compteur\nil%
+ \xdef\PfCFooListePoints{\PfCFooListePoints \ListePoints[\compteurcnt,1],(\ListePoints[\compteurcnt,2],\ListePoints[\compteurcnt,3]),\ListePoints[\compteurcnt,4],}%
+ }%
+ }{%
+ \foreachitem\compteur\in\ListePoints{%
+ % \expandafter\UpdatePtsFN\compteur\nil%
+ \xdef\PfCFooListePoints{\PfCFooListePoints (\ListePoints[\compteurcnt,2],\ListePoints[\compteurcnt,3]),}%
+ }%
+ }%
+ \MPCourbeNew{\PfCFooListePoints}%\the\toklistePtsFn}%
+ }%
+ }{%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFonction{#2}%
+ \StrSubstitute{\useKV[ClesFonction]{Calcul}}{\useKV[ClesFonction]{Variable}}{\i}[\temp]%
+ \StrSubstitute{\useKV[ClesFonction]{Calcul}}{**}{^}[\tempa]%
+ \StrSubstitute{\tempa}{*}{}[\tempab]%
+ \ifboolKV[ClesFonction]{Ecriture}{%
+ \ensuremath{\useKV[ClesFonction]{Nom}(\useKV[ClesFonction]{Variable})=\tempab}%
+ }{}%
+ \ifboolKV[ClesFonction]{Definition}{%
+ \ensuremath{\useKV[ClesFonction]{Nom}:\useKV[ClesFonction]{Variable}\mapsto\tempab}%
+ }{}%
+ \ifboolKV[ClesFonction]{Tableau}{%
+ \buildtabfonction%
+ }{}%
+ \reademptyitems%
+ }%
+ }%
+}%
+
+\def\MPCourbeNew#1{%#2#3#4#5#6{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
- x.u:=#2;
- y.u:=#3;
- X.u:=#4;
- Y.u:=#5;
+ x.u:=\useKV[ClesFonction]{PasX};
+ y.u:=\useKV[ClesFonction]{PasY};
+ X.u:=\useKV[ClesFonction]{UniteX};
+ Y.u:=\useKV[ClesFonction]{UniteY};
+ Epaisseur:=\useKV[ClesFonction]{Epaisseur};
+
+ boolean Prolonge,Tangentes,PointsCourbe,Codes;
+ Prolonge=\useKV[ClesFonction]{Prolonge};
+ Tangentes=\useKV[ClesFonction]{Tangentes};
+ PointsCourbe=\useKV[ClesFonction]{PointsCourbe};
+ Codes=\useKV[ClesFonction]{Codes};
+
+ color CouleurTrace;
+ CouleurTrace=\useKV[ClesFonction]{CouleurTrace};
+
+ def enplace=
+ xscaled X.u yscaled Y.u
+ enddef;
+
+ vardef placepoint(expr q,r)=
+ (q,r)*cm enplace
+ enddef;
+
numeric dirav[],dirap[];
pair Fn[],Gn[];
n=0;
+ if Tangentes:
for p_=#1:
- Gn[n]=p_;
- Fn[n]=cm*(X.u*xpart(p_),Y.u*ypart(p_));
- n:=n+1;
- endfor;
- N:=(n-1);
- MinX=999;
- MaxX=-999;
- MinY=999;
- MaxY=-999;
- for k=0 upto N:
- if xpart(Gn[k])<MinX:
- MinX:=xpart(Gn[k]);
- fi;
- if xpart(Gn[k])>MaxX:
- MaxX:=xpart(Gn[k]);
- fi;
- if ypart(Gn[k])<MinY:
- MinY:=ypart(Gn[k]);
+ if (n mod 3)=0:
+ dirav[n div 3]=p_;
fi;
- if ypart(Gn[k])>MaxY:
- MaxY:=ypart(Gn[k]);
+ if (n mod 3)=1:
+ Gn[n div 3]=p_;
+ Fn[n div 3]=cm*(X.u*xpart(p_),Y.u*ypart(p_));
fi;
- endfor;
- if #6=0:
- for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX-1)*X.u,k*Y.u)--cm*((MaxX+1)*X.u,k*Y.u) withcolor 0.75white;
- endfor;
- for k=MinX-1 step x.u until MaxX+1:
- draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
- endfor;
- else:
- for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX)*X.u,k*Y.u)--cm*((MaxX)*X.u,k*Y.u) withcolor 0.75white;
- endfor;
- for k=MinX step x.u until MaxX:
- draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
- endfor;
+ if (n mod 3)=2:
+ dirap[n div 3]=p_;
fi;
- if #6=0:
- for k=0 upto N:
- fill cercles(Fn[k],0.5mm);
- endfor;
- else:
- for k=1 upto N-1:
- fill cercles(Fn[k],0.5mm);
+ n:=n+1;
endfor;
- fi;
- if #6=0:
- drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
- drawarrow ((MinX-1)*X.u*cm,0)--((MaxX+1)*X.u*cm,0);
+ N:=(n-1) div 3;
else:
- drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
- drawarrow ((MinX)*X.u*cm,0)--((MaxX)*X.u*cm,0);
- fi;
- label.llft(btex O etex,(0,0));
- dotlabel.bot(btex 1 etex,cm*X.u*(1,0));
- dotlabel.lft(btex 1 etex,cm*Y.u*(0,1));
- draw Fn[0]
- for k=1 upto N:
- ..Fn[k]
- endfor withpen pencircle scaled \useKV[ClesFonction]{Epaisseur};
- \end{mplibcode}
- \else
- \begin{mpost}[mpsettings={numeric Epaisseur; Epaisseur=\useKV[ClesFonction]{Epaisseur};}]
- x.u:=#2;
- y.u:=#3;
- X.u:=#4;
- Y.u:=#5;
- numeric dirav[],dirap[];
- pair Fn[],Gn[];
- n=0;
for p_=#1:
Gn[n]=p_;
Fn[n]=cm*(X.u*xpart(p_),Y.u*ypart(p_));
n:=n+1;
endfor;
N:=(n-1);
+ fi;
MinX=999;
MaxX=-999;
MinY=999;
@@ -20789,140 +21498,102 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
MaxY:=ypart(Gn[k]);
fi;
endfor;
- if #6=0:
- for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX-1)*X.u,k*Y.u)--cm*((MaxX+1)*X.u,k*Y.u) withcolor 0.75white;
- endfor;
- for k=MinX-1 step x.u until MaxX+1:
- draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
- endfor;
- else:
- for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX)*X.u,k*Y.u)--cm*((MaxX)*X.u,k*Y.u) withcolor 0.75white;
- endfor;
- for k=MinX step x.u until MaxX:
- draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
- endfor;
+ if MinY<0:
+ if MinY<>ceiling(MinY):
+ MinY:=ceiling(MinY)-1;
fi;
- if #6=0:
- for k=0 upto N:
- fill cercles(Fn[k],0.5mm);
- endfor;
- else:
- for k=1 upto N-1:
- fill cercles(Fn[k],0.5mm);
- endfor;
fi;
- if #6=0:
- drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
- drawarrow ((MinX-1)*X.u*cm,0)--((MaxX+1)*X.u*cm,0);
- else:
- drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
- drawarrow ((MinX)*X.u*cm,0)--((MaxX)*X.u*cm,0);
+ if MinX<0:
+ if MinX<>ceiling(MinX):
+ MinX:=ceiling(MinX)-1;
fi;
- label.llft(btex O etex,(0,0));
- dotlabel.bot(btex 1 etex,cm*X.u*(1,0));
- dotlabel.lft(btex 1 etex,cm*Y.u*(0,1));
- draw Fn[0]
- for k=1 upto N:
- ..Fn[k]
- endfor withpen pencircle scaled Epaisseur;
- \end{mpost}
- \fi
-}
-
-\def\MPCourbe#1#2#3#4#5#6{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
- x.u:=#2;
- y.u:=#3;
- X.u:=#4;
- Y.u:=#5;
- numeric dirav[],dirap[];
- pair Fn[],Gn[];
- n=0;
- for p_=#1:
- if (n mod 3)=0:
- dirav[n div 3]=p_;
fi;
- if (n mod 3)=1:
- Gn[n div 3]=p_;
- Fn[n div 3]=cm*(X.u*xpart(p_),Y.u*ypart(p_));
+ if MaxY<>ceiling(MaxY):
+ MaxY:=ceiling(MaxY);
fi;
- if (n mod 3)=2:
- dirap[n div 3]=p_;
+ if MaxX<>ceiling(MaxX):
+ MaxX:=ceiling(MaxX);
fi;
- n:=n+1;
- endfor;
- N:=(n-1) div 3;
- MinX=999;
- MaxX=-999;
- MinY=999;
- MaxY=-999;
- for k=0 upto N:
- if xpart(Gn[k])<MinX:
- MinX:=xpart(Gn[k]);
+ if MaxX<1:
+ MaxX:=1;
fi;
- if xpart(Gn[k])>MaxX:
- MaxX:=xpart(Gn[k]);
- fi;
- if ypart(Gn[k])<MinY:
- MinY:=ypart(Gn[k]);
- fi;
- if ypart(Gn[k])>MaxY:
- MaxY:=ypart(Gn[k]);
+ if MaxY<1:
+ MaxY:=1;
fi;
- endfor;
- if #6=0:
+ if Prolonge:
for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX-1)*X.u,k*Y.u)--cm*((MaxX+1)*X.u,k*Y.u) withcolor 0.75white;
+ draw cm*((MinX)*X.u,k*Y.u)--cm*((MaxX)*X.u,k*Y.u) withcolor 0.75white;
endfor;
- for k=MinX-1 step x.u until MaxX+1:
+ for k=MinX step x.u until MaxX:
draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
endfor;
else:
for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX)*X.u,k*Y.u)--cm*((MaxX)*X.u,k*Y.u) withcolor 0.75white;
+ draw cm*((MinX-1)*X.u,k*Y.u)--cm*((MaxX+1)*X.u,k*Y.u) withcolor 0.75white;
endfor;
- for k=MinX step x.u until MaxX:
+ for k=MinX-1 step x.u until MaxX+1:
draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
endfor;
fi;
- if #6=0:
- for k=0 upto N:
- fill cercles(Fn[k],0.5mm);
- endfor;
- else:
- for k=1 upto N-1:
- fill cercles(Fn[k],0.5mm);
- endfor;
- fi;
- if #6=0:
- drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
- drawarrow ((MinX-1)*X.u*cm,0)--((MaxX+1)*X.u*cm,0);
- else:
+ if Prolonge:
drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
drawarrow ((MinX)*X.u*cm,0)--((MaxX)*X.u*cm,0);
+ else:
+ drawarrow (0,(MinY-1)*Y.u*cm)--(0*cm,(MaxY+1)*Y.u*cm);
+ drawarrow ((MinX-1)*X.u*cm,0*cm)--((MaxX+1)*X.u*cm,0*cm);
fi;
label.llft(btex O etex,(0,0));
dotlabel.bot(btex 1 etex,cm*X.u*(1,0));
dotlabel.lft(btex 1 etex,cm*Y.u*(0,1));
- draw Fn[0]{dir dirap[0]}
+ draw if Tangentes:
+ Fn[0]{dir dirap[0]}
for k=1 upto (N-1):
..{dir dirav[k]}Fn[k]{dir dirap[k]}
endfor
- ..{dir dirav[N]}Fn[N] withpen pencircle scaled \useKV[ClesFonction]{Epaisseur};
+ ..{dir dirav[N]}Fn[N]
+ else:
+ Fn[0]
+ for k=1 upto N:
+ ..Fn[k]
+ endfor fi withpen pencircle scaled Epaisseur withcolor CouleurTrace;
+ if PointsCourbe:
+ if Prolonge:
+ for k=1 upto N-1:
+ fill cercles(Fn[k],0.5mm);
+ endfor;
+ else:
+ for k=0 upto N:
+ fill cercles(Fn[k],0.5mm);
+ endfor;
+ fi;
+ fi;
+ if Codes:
+ \useKV[ClesFonction]{Traces};
+ fi;
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={numeric Epaisseur; Epaisseur=\useKV[ClesFonction]{Epaisseur};}]
- x.u:=#2;
- y.u:=#3;
- X.u:=#4;
- Y.u:=#5;
+ \begin{mpost}[mpsettings={%
+ x.u:=\useKV[ClesFonction]{PasX};y.u:=\useKV[ClesFonction]{PasY};
+ X.u:=\useKV[ClesFonction]{UniteX};Y.u:=\useKV[ClesFonction]{UniteY};
+ Epaisseur:=\useKV[ClesFonction]{Epaisseur};
+ boolean Prolonge,Tangentes,PointsCourbe,Codes;
+ Prolonge=\useKV[ClesFonction]{Prolonge};
+ Tangentes=\useKV[ClesFonction]{Tangentes};
+ PointsCourbe=\useKV[ClesFonction]{PointsCourbe};
+ Codes=\useKV[ClesFonction]{Codes};
+ color CouleurTrace;
+ CouleurTrace=\useKV[ClesFonction]{CouleurTrace};
+ }]
+ def enplace=
+ xscaled X.u yscaled Y.u
+ enddef;
+ vardef placepoint(expr q,r)=
+ (q,r)*cm enplace
+ enddef;
numeric dirav[],dirap[];
pair Fn[],Gn[];
n=0;
+ if Tangentes:
for p_=#1:
if (n mod 3)=0:
dirav[n div 3]=p_;
@@ -20937,6 +21608,14 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
n:=n+1;
endfor;
N:=(n-1) div 3;
+ else:
+ for p_=#1:
+ Gn[n]=p_;
+ Fn[n]=cm*(X.u*xpart(p_),Y.u*ypart(p_));
+ n:=n+1;
+ endfor;
+ N:=(n-1);
+ fi;
MinX=999;
MaxX=-999;
MinY=999;
@@ -20955,45 +21634,75 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
MaxY:=ypart(Gn[k]);
fi;
endfor;
- if #6=0:
+ if MinY<0:
+ if MinY<>ceiling(MinY):
+ MinY:=ceiling(MinY)-1;
+ fi;
+ fi;
+ if MinX<0:
+ if MinX<>ceiling(MinX):
+ MinX:=ceiling(MinX)-1;
+ fi;
+ fi;
+ if MaxY<>ceiling(MaxY):
+ MaxY:=ceiling(MaxY);
+ fi;
+ if MaxX<>ceiling(MaxX):
+ MaxX:=ceiling(MaxX);
+ fi;
+ if MaxX<1:
+ MaxX:=1;
+ fi;
+ if MaxY<1:
+ MaxY:=1;
+ fi;
+ if Prolonge:
for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX-1)*X.u,k*Y.u)--cm*((MaxX+1)*X.u,k*Y.u) withcolor 0.75white;
+ draw cm*((MinX)*X.u,k*Y.u)--cm*((MaxX)*X.u,k*Y.u) withcolor 0.75white;
endfor;
- for k=MinX-1 step x.u until MaxX+1:
+ for k=MinX step x.u until MaxX:
draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
endfor;
else:
for k=MinY-1 step y.u until MaxY+1:
- draw cm*((MinX)*X.u,k*Y.u)--cm*((MaxX)*X.u,k*Y.u) withcolor 0.75white;
+ draw cm*((MinX-1)*X.u,k*Y.u)--cm*((MaxX+1)*X.u,k*Y.u) withcolor 0.75white;
endfor;
- for k=MinX step x.u until MaxX:
+ for k=MinX-1 step x.u until MaxX+1:
draw cm*(k*X.u,(MinY-1)*Y.u)--cm*(k*X.u,(MaxY+1)*Y.u) withcolor 0.75white;
endfor;
fi;
- if #6=0:
- for k=0 upto N:
- fill cercles(Fn[k],0.5mm);
- endfor;
- else:
- for k=1 upto N-1:
- fill cercles(Fn[k],0.5mm);
- endfor;
- fi;
- if #6=0:
- drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
- drawarrow ((MinX-1)*X.u*cm,0)--((MaxX+1)*X.u*cm,0);
- else:
+ if Prolonge:
drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
drawarrow ((MinX)*X.u*cm,0)--((MaxX)*X.u*cm,0);
+ else:
+ drawarrow (0,(MinY-1)*Y.u*cm)--(0*cm,(MaxY+1)*Y.u*cm);
+ drawarrow ((MinX-1)*X.u*cm,0*cm)--((MaxX+1)*X.u*cm,0*cm);
fi;
label.llft(btex O etex,(0,0));
dotlabel.bot(btex 1 etex,cm*X.u*(1,0));
dotlabel.lft(btex 1 etex,cm*Y.u*(0,1));
- draw Fn[0]{dir dirap[0]}
+ draw if Tangentes:
+ Fn[0]{dir dirap[0]}
for k=1 upto (N-1):
..{dir dirav[k]}Fn[k]{dir dirap[k]}
endfor
- ..{dir dirav[N]}Fn[N] withpen pencircle scaled Epaisseur;
+ ..{dir dirav[N]}Fn[N]
+ else:
+ Fn[0]
+ for k=1 upto N:
+ ..Fn[k]
+ endfor fi withpen pencircle scaled Epaisseur withcolor CouleurTrace;
+ if PointsCourbe:
+ if Prolonge:
+ for k=1 upto N-1:
+ fill cercles(Fn[k],0.5mm);
+ endfor;
+ else:
+ for k=0 upto N:
+ fill cercles(Fn[k],0.5mm);
+ endfor;
+ fi;
+ fi;
\end{mpost}
\fi
}
@@ -21018,6 +21727,14 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
X.u:=#4;
Y.u:=#5;
+ def enplace=
+ xscaled X.u yscaled Y.u
+ enddef;
+
+ vardef placepoint(expr q,r)=
+ (q,r)*cm enplace
+ enddef;
+
pair Fn[],Gn[];
n=0;
for p_=#1:
@@ -21056,6 +21773,28 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if MinY>-1:
MinY:=-2;
fi;
+ if MinY<0:
+ if MinY<>ceiling(MinY):
+ MinY:=ceiling(MinY)-1;
+ fi;
+ fi;
+ if MinX<0:
+ if MinX<>ceiling(MinX):
+ MinX:=ceiling(MinX)-1;
+ fi;
+ fi;
+ if MaxY<>ceiling(MaxY):
+ MaxY:=ceiling(MaxY);
+ fi;
+ if MaxX<>ceiling(MaxX):
+ MaxX:=ceiling(MaxX);
+ fi;
+ if MaxX<1:
+ MaxX:=1;
+ fi;
+ if MaxY<1:
+ MaxY:=1;
+ fi;
%
path cadreexterieur;
cadreexterieur=(((MinX-1)*X.u*cm,(MinY-1)*Y.u*cm)--((MaxX+1)*X.u*cm,(MinY-1)*Y.u*cm)--((MaxX+1)*X.u*cm,(MaxY+1)*Y.u*cm)--((MinX-1)*X.u*cm,(MaxY+1)*Y.u*cm)--cycle);
@@ -21077,6 +21816,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
for k=debutbalai upto finbalai:
fill cercles(Fn[k],0.5mm);
endfor;
+ fi;
drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
drawarrow ((MinX-1)*X.u*cm,0)--((MaxX+1)*X.u*cm,0);
%
@@ -21084,17 +21824,17 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
label.llft(btex O etex,(0,0));
dotlabel.bot(btex 1 etex,cm*X.u*(1,0));
dotlabel.lft(btex 1 etex,cm*Y.u*(0,1));
- fi;
if Code:
\useKV[ClesFonction]{Traces};
fi;
\end{mplibcode}
\else
\begin{mpost}[mpsettings={numeric Epaisseur; Epaisseur=\useKV[ClesFonction]{Epaisseur}; color CouleurCourbe; CouleurCourbe=\useKV[ClesFonction]{Couleur};boolean PointsCourbe;PointsCourbe=\useKV[ClesFonction]{PointsCourbe};}]
- x.u:=#2;
+ x.u:=#2;
y.u:=#3;
X.u:=#4;
Y.u:=#5;
+
pair Fn[],Gn[];
n=0;
for p_=#1:
@@ -21133,6 +21873,28 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if MinY>-1:
MinY:=-2;
fi;
+ if MinY<0:
+ if MinY<>ceiling(MinY):
+ MinY:=ceiling(MinY)-1;
+ fi;
+ fi;
+ if MinX<0:
+ if MinX<>ceiling(MinX):
+ MinX:=ceiling(MinX)-1;
+ fi;
+ fi;
+ if MaxY<>ceiling(MaxY):
+ MaxY:=ceiling(MaxY);
+ fi;
+ if MaxX<>ceiling(MaxX):
+ MaxX:=ceiling(MaxX);
+ fi;
+ if MaxX<1:
+ MaxX:=1;
+ fi;
+ if MaxY<1:
+ MaxY:=1;
+ fi;
%
path cadreexterieur;
cadreexterieur=(((MinX-1)*X.u*cm,(MinY-1)*Y.u*cm)--((MaxX+1)*X.u*cm,(MinY-1)*Y.u*cm)--((MaxX+1)*X.u*cm,(MaxY+1)*Y.u*cm)--((MinX-1)*X.u*cm,(MaxY+1)*Y.u*cm)--cycle);
@@ -21154,6 +21916,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
for k=debutbalai upto finbalai:
fill cercles(Fn[k],0.5mm);
endfor;
+ fi;
drawarrow (0,(MinY-1)*Y.u*cm)--(0,(MaxY+1)*Y.u*cm);
drawarrow ((MinX-1)*X.u*cm,0)--((MaxX+1)*X.u*cm,0);
%
@@ -21161,78 +21924,17 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
label.llft(btex O etex,(0,0));
dotlabel.bot(btex 1 etex,cm*X.u*(1,0));
dotlabel.lft(btex 1 etex,cm*Y.u*(0,1));
- fi;
\end{mpost}
\fi
}%
-\newcommand\Fonction[2][]{%
- \useKVdefault[ClesFonction]%
- \setKV[ClesFonction]{#1}%
- \ifboolKV[ClesFonction]{Trace}{%
- \useKVdefault[TraceG]%
- \setKV[TraceG]{#1}%
- \MPTraceFonction[#1]{\useKV[ClesFonction]{Calcul}}%
- }{%
- \ifboolKV[ClesFonction]{Points}{%
- \toklistePtsFn{}%
- \setsepchar[*]{§*/}%\ignoreemptyitems%
- \readlist*\ListePoints{#2}%
- \ifboolKV[ClesFonction]{Catmull}{%
- \xdef\PfCFooListePoints{(\ListePoints[1,2],\ListePoints[1,3]),}
- \foreachitem\compteur\in\ListePoints{%
- \xdef\PfCFooListePoints{\PfCFooListePoints (\ListePoints[\compteurcnt,2],\ListePoints[\compteurcnt,3]),}%
- }%
- \xdef\PfCFooListePoints{\PfCFooListePoints (\ListePoints[\ListePointslen,2],\ListePoints[\ListePointslen,3]),}%
- \MPCatmull{\PfCFooListePoints}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}%
- }{%
- \ifboolKV[ClesFonction]{Tangentes}{%
- \foreachitem\compteur\in\ListePoints{%
- \expandafter\UpdatePtsFn\compteur\nil%
- }%
- \ifboolKV[ClesFonction]{Prolonge}{%
- \MPCourbe{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{1}%
- }{%
- \MPCourbe{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{0}%
- }%
- }{%
- \foreachitem\compteur\in\ListePoints{%
- \expandafter\UpdatePtsFN\compteur\nil%
- }%
- \ifboolKV[ClesFonction]{Prolonge}{%
- \MPCourbePoints{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{1}%
- }{%
- \MPCourbePoints{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{0}%
- }%
- }%
- }%
- }{%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\ListeFonction{#2}%
- \StrSubstitute{\useKV[ClesFonction]{Calcul}}{\useKV[ClesFonction]{Variable}}{\i}[\temp]%
- \StrSubstitute{\useKV[ClesFonction]{Calcul}}{**}{^}[\tempa]%
- \StrSubstitute{\tempa}{*}{}[\tempab]%
- \ifboolKV[ClesFonction]{Ecriture}{%
- \ensuremath{\useKV[ClesFonction]{Nom}(\useKV[ClesFonction]{Variable})=\tempab}%
- }{}%
- \ifboolKV[ClesFonction]{Definition}{%
- \ensuremath{\useKV[ClesFonction]{Nom}:\useKV[ClesFonction]{Variable}\mapsto\tempab}%
- }{}%
- \ifboolKV[ClesFonction]{Tableau}{%
- \buildtabfonction%
- }{}%
- \reademptyitems%
- }%
- }%
-}%
-
\def\buildtabfonction{%
\[%
\begin{array}{|>{\columncolor{gray!15}}c|*{\number\numexpr\ListeFonctionlen}{>{\centering\arraybackslash}p{\useKV[ClesFonction]{Largeur}}|}}%
- \hline
+ \hline%
\useKV[ClesFonction]{Variable}\xintFor* ##1 in {\xintSeq {1}{\ListeFonctionlen}}\do{&\num{\ListeFonction[##1]}}\\
- \hline
- \useKV[ClesFonction]{Nom}(\useKV[ClesFonction]{Variable})\xintFor* ##1 in {\xintSeq {1}{\ListeFonctionlen}}\do{& \StrSubstitute{\useKV[ClesFonction]{Calcul}}{\useKV[ClesFonction]{Variable}}{(\ListeFonction[##1])}[\tempab]\num{\fpeval{\tempab}}}
+ \hline%
+ \useKV[ClesFonction]{Nom}(\useKV[ClesFonction]{Variable})\xintFor* ##1 in {\xintSeq {1}{\ListeFonctionlen}}\do{& \StrSubstitute{\useKV[ClesFonction]{Calcul}}{\useKV[ClesFonction]{Variable}}{(\ListeFonction[##1])}[\tempab]\num{\fpeval{\tempab}}}%
\\\hline
\end{array}%
\]%
@@ -21241,7 +21943,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
%%%
% Diff\'erentes représentations graphiques
%%%
-\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGradX=1,PasGradY=1,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false}%
+\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGradX=1,PasGradY=1,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false}%
\defKV[TraceG]{Traces=\setKV[TraceG]{Code}}%
\newcommand\TraceGraphique[2][]{%
@@ -21468,8 +22170,9 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
pair Origine;
Origine=(xmin,ymin)+\useKV[TraceG]{Origine};
- boolean Grille;
+ boolean Grille,Vide;
Grille=\useKV[TraceG]{Grille};
+ Vide=\useKV[TraceG]{Vide};
boolean Graduations;
Graduations=\useKV[TraceG]{Graduations};
@@ -21558,6 +22261,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
label.llft(btex 0 etex,u*Origine);
drawoptions();
+ if Vide:
+ else:
draw courbe1(borneinf,bornesup,100)(#2) withpen (pencircle scaled Epaisseur) withcolor colortrace;
% labelisation
numeric t;
@@ -21573,13 +22278,14 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if \useKV[TraceG]{Code}:
\useKV[TraceG]{Traces}
fi;
+ fi;
\end{mplibcode}
\else
\mpxcommands{%
\usepackage{ProfCollege}
\setKV[TraceG]{#1}
}
- \begin{mpost}[mpsettings={borneinf=\useKV[TraceG]{Bornea};bornesup=\useKV[TraceG]{Borneb};xmin=\useKV[TraceG]{Xmin};xmax=\useKV[TraceG]{Xmax};ymin=\useKV[TraceG]{Ymin};ymax=\useKV[TraceG]{Ymax};pasx=\useKV[TraceG]{Xstep};pasy=\useKV[TraceG]{Ystep};xu=1cm/\useKV[TraceG]{Xstep};yu=1cm/\useKV[TraceG]{Ystep};grillex=\useKV[TraceG]{PasGrilleX};grilley=\useKV[TraceG]{PasGrilleY};pos=\useKV[TraceG]{LabelC};Epaisseur=\useKV[TraceG]{Epaisseur}; color colortrace;colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille;Grille=\useKV[TraceG]{Grille};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};
+ \begin{mpost}[mpsettings={borneinf=\useKV[TraceG]{Bornea};bornesup=\useKV[TraceG]{Borneb};xmin=\useKV[TraceG]{Xmin};xmax=\useKV[TraceG]{Xmax};ymin=\useKV[TraceG]{Ymin};ymax=\useKV[TraceG]{Ymax};pasx=\useKV[TraceG]{Xstep};pasy=\useKV[TraceG]{Ystep};xu=1cm/\useKV[TraceG]{Xstep};yu=1cm/\useKV[TraceG]{Ystep};grillex=\useKV[TraceG]{PasGrilleX};grilley=\useKV[TraceG]{PasGrilleY};pos=\useKV[TraceG]{LabelC};Epaisseur=\useKV[TraceG]{Epaisseur}; color colortrace;colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille,Vide;Grille=\useKV[TraceG]{Grille};Vide=\useKV[TraceG]{Vide};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};
pair Origine;
Origine=(xmin,ymin)+\useKV[TraceG]{Origine};}]
@@ -21657,6 +22363,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
drawarrow (u*(0,ymin)--u*(0,ymax)) shifted (u*(xpart(Origine),0));
drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
drawoptions();
+ if Vide:
+ else:
draw courbe1(borneinf,bornesup,100)(#2) withpen (pencircle scaled Epaisseur) withcolor colortrace;
% % labelisation
numeric t;
@@ -21669,6 +22377,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
label.rt(btex \useKV[TraceG]{LabelX} etex,u*(xmax,ypart(Origine)));
label.top(btex \useKV[TraceG]{LabelY} etex,u*(xpart(Origine),ymax));
+ fi;
\end{mpost}
\fi
}
@@ -28242,4 +28951,4 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
draw recap;%
\end{mpost}
}{}%
-\fi% \ No newline at end of file
+\fi%
diff --git a/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp b/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
index 4e208cf560..406f720594 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
@@ -41,7 +41,7 @@ decahoriz:=0;
vardef Test(expr cptk,cptnt)=
pair Decalage;
if nblignes mod 2=0:
- Decalage:=u*((20-length(cptnt)+cptk)*6,-8*(nblignes-1));
+ Decalage:=u*((LargeurEcran,-8*(nblignes-1))-6*(length(cptnt)-cptk,0));
else:
Decalage:=u*(decahoriz,-8*(nblignes-1));
decahoriz:=decahoriz+6;
@@ -175,7 +175,7 @@ vardef LCD(text nt)(text rep)(expr NB)=
decahoriz:=0;
nblignes:=nblignes+1;
path Ecran;
- Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
+ Ecran:=(u*(0,-1)--u*(LargeurEcran,-1)--u*(LargeurEcran,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
for k=0 upto length(nt)-1:
@@ -184,16 +184,15 @@ vardef LCD(text nt)(text rep)(expr NB)=
endfor;
for k=1 upto NB:
nblignes:=nblignes+1;
- Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
+ Ecran:=(u*(0,-1)--u*(LargeurEcran,-1)--u*(LargeurEcran,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
endfor;
nblignes:=nblignes+1;
- Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
+ Ecran:=(u*(0,-1)--u*(LargeurEcran,-1)--u*(LargeurEcran,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
for k=0 upto length(rep)-1:
- BlocAffichage;
Test(k,rep);
endfor;
enddef;
diff --git a/macros/latex/contrib/ufrgscca/README.md b/macros/latex/contrib/ufrgscca/README.md
index 54013c974a..699abd7d49 100644
--- a/macros/latex/contrib/ufrgscca/README.md
+++ b/macros/latex/contrib/ufrgscca/README.md
@@ -118,7 +118,10 @@ The Current Maintainer of this work is Alceu Frigeri
-------------
## Changelog
-* Version 1.0.7 (this)
+* Version 1.0.8 (this)
+ - fixed another counter bug (related to relnum option)
+
+* Version 1.0.7
- fixed a counter bug when mixing annex with appendix environments
* Version 1.0.6
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
index 3987c61a66..ece656a74e 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
@@ -267,29 +267,38 @@ endobj
/Filter /FlateDecode
>>
stream
-x]KDϯQᒥ*=`l/lx pq뷤RϨJ xF^UV~)MGi&%鋼d,7QVՉ*KJ_XG?wo[R_OUYފ,>BVjӞcVqk{ߝn&:,2O2mU9GD7bL#4">[/e/<g}3<}Q(j$*_lWEKm}wܘ&dJ݂*iqdiT=~4T=z6O_TJZ70'2#IZ4㗿> nR(DyT(dvämNMua2^l7l}w4ӹӹCw?닞Xstᖵۭi*M
-[5IG`h[YLJO;݆g()M,Ǽ|s}%χ;=C}Ce^įV=dkܯ;ݥv;޽~ۭlx뉜ti"-)LOo`iFA&~ynҙګ˶_OpMߒvG7⽙ o xv's/7M7/NhO ѽ.؋Vñw,lՏf5\YSߙVJ_~ZwgԯQokv3|ўNO՟&J7/~T]T/|W3y1)M6003:4lPKfa C?Ya_Xf|2~O3yƬksye:_ڙ_.
-b= MpFweA xD4$
-?
-omeYyFEq5foR,|h7Ȼe[Ϊ|ޠLCq_|,{8xI$QPVE^S^sD~6>S&g16xY=_Ey]Ռ'+d
-d"<Ul ]_h-a3-,~~Ͻڛ_aTHEp` ƿCHN'.PU䕓,뱠įq5IksUs\qQ`r2
- wr2
-W^S8Xk©A@nU9 8Pis*8X$'K.aYc#p}\g1r` 
-, '| M` F:_@ʽzPAoa{xAs& .*a:חm{4%v:*x0_+I%&T6ngK3gph
-``RK) oRlI,$sñ, Rdaj%
-Aj,Rbbar)30HYH3)s'قIb Y f B6AHjlӾ Dఞ`Qt1H 6*O)VYwQ%cՈ\pM\
-.M{4\p I1H͎Kz4ES9IHip6*ƆGBJDKC
-*c$*Dgxp1q"b q|*ȇh#ygê`&Vf%33x`ry.0(@n~=b2 c)Yfe77jɥVYF=,N-MuLA5ڳҧV2IEoȚ*<1鎮*+FV dA 0*B`LK8Q
-QB ^mD>E'͌ ,e 
-Ȗ`Ǘђ8,iĒ-%0ϊCWj ٱ6Z
-IiKIn>7O\$YRNoNyZ$}mG@s B6Ο6I[ m6Q"l"n D@&k-! ' HY6l,YLA}oJHR G,TAaҨaY=pkkXA<KTܭKDOtPuP${u@<#*-d '1GbڳXD8+ڭe` g hB/2h1 y(wF4#6#־!9[-ih |7 1|p Y"ǧq ܠ 14Cf`1=_yWv<>G<[$x0_9q>[>h^ΣDt}0ڭ<ݬJjE)q[veBt&369J PbMB269${aDBR*6I $c²O6Id $'f욅t6I 8yha4 B2KڠHQ% Pa=bȹY<bE!ϰ8(Ez`9`K63ѼENL"4:(rgdvAPIt80Qƀ C|[D/$2[ŌE fEyv]YN͘AMHJrF4Iζ##9-ih v2 5x 8\ +r|~(
-ԮQ?g +5hNfW` 0$oUHc0g3U''VHUExp"KJDTgU=k됊Ϧ$W9 I9dvМB4s$-< KTO!H{
-ARS@ddS"M!L1A j&SL3(ibSHIC"ih Y?ĂK߃ S "Zbu
-" _  =`a`}
-S C [Xb[
-PDtyzP
-qXr}v,;qbѢpgh
-` Fu(3nʡ
+x]K6ϯQSe1qloUI6%ɡ#Gl_RTψ@@JgyH<#|
+XфŶg2g
+V^ &]X~\ɛ<0X1YVD<D%> aM0F6eA8AA!Ax1A8Avp
+\ouY'F%yb$Z'*QL(:. Yj1 m1 Yڮp/t"IMtp*(λpv!i`P fx%W6О6a [T,J&/alA6W g&C'ʶ'((RNCigդ߽;{yQR-$39c_g: ~lZâ0
+gQ:vY]R;[֩hQ(TPeUmB[ \F"+/Y$Vǂ0:5'/SOWq%KFʃ303܅)(\}I8X`jC9n$*
+.l f0L@NrC9g J`v X d͍99Prqex
+;8&ri7L3dZ5I<E'8
+?=X
+O 0צ|GaF! ^=0χ axAN (OEհ:ܘk]l÷|=qTg<
+/i Tؤrw7j,u?Ό)
+s¥/\UIY+LKŒ%Y5Y_ R`j%
+AjRb`r)3r0H9H3)jmL~H1†R3bz!
+ Na5B.Pm "8+z=Cu@.r j
+@5iE2 UMHkz|u}")Mh1Ajv|G$t|oN:s_8c#!5 jƍ!QPKݸ1"Y62^#Laq kkk*Fi(
+:A8
+%r;-!`//v!8Q˜eQE[Y񏻬7O.{*8Q^ipc
+9բӖ]!NY-zD5, ռ?*[q0( 1.¢F
+F2qo
+n¸{VQQGR8DV_jٿE,Gau:@m[-QU5O낐 BhvtAHs!I~!L B pd]ź uA0`* 6x.H1@ػ]PI
+$8(P 5킳6ʡ .
+a=ÂeeYee{
+&/]Bdl"=Bz(rg p N΢1`KgP`"mV30v܅hp+3p `K3O{}Zl3bkҘ /Cg]QR Ws,c94?&#l4~:''N0a*xb]}x5[$xF_9q^ʭ8/*.7?qQGv@jhVQoJ]g`9̮ B.>pL s.^ $‐A3. $e䀰 BY.ɉ 8`< BR~.N:, 邐’.$|TBu
+a\DP :P2Pȝ-A5wF\lF
+&'@ m .He %@3ۢM L,>ryFcLh$g!Iv8{$g1A2~A{gQ|qLc8GTv ly>΀
+X]dv^( J6y_^$oFa~zo]frsb]H'0
+aB8HB"2Yg;R*$9SBt$<`)xO!H|
+Ar̟Bl
+A())&"d
+ٗ cqEB0Nl
+i CS30x0ӄXЫ k0 ī!S0\0lE0LN0,7tBy%v Ӂ p0
+tN 3O^:!H3ma։snKİT4yx-{6pe{J RX~w{IϗʼGxx!
+ʮ
endstream
endobj
177 0 obj
@@ -571,10 +580,20 @@ l@,t+¦01*3D?
T%&PO(kF~*N"2xF< UF?}&Di" 3C;Hc!
 9UgDۀfVĂc3{K7A6D hg,Aő#CViU8%,d=@V-!;Xp2O$(gs_[f8+6 : ̅QAG>
K7|5
- VKAEore좙@GŮ!kxm[bxC[kH)yƥRT,Pr˷fL4y]S[sΝ1ڇ=$a.A+8L"׵p߿6W5Txcoͳ>R6wr_;6;ý{.{2]ow'5z{;X!stq~ٵw,
-U~-xǞN @:D ;'*KvյO旣};`8޲R<<ؘkTے#lUoYCۂ*OaKw@ȼQuY=-*TaO?i&2ͱkSe+Q~6һ |\TiHdJ`_Od$+)quCKFOtȼd΃~>G&4:-?wNɗ4{
-/|`ܡG)puOOn ' on2cYOرJֹ)diIQU~jrA܂4oMa u
-BȹB$LUdV[Փ"@7** 9ǛuY/Rj~huuyt(hkS'ODF*bP\>/#}:G/4\udhh#+u(̸##mvfFiGgٱ.庌5D;/,, )H6bH3" jjbqI-5P",XBd Y2hs%zG'WetQFe(]]i^t[2lS&xߩ8Caܬ/2C)|FXڢǨv+*De5 ~mFgQ"tkk|^Dl'fNwFPy·<vA3^^d r8p*&\UAQ|^ L"Q'+,x]r-ٞ@6Fl_ca r5x? s3kj/qh7}%LWͲ1p8o5R2>-}ˇg۝fwpM=M/D׾^\ôF|QEu*ؖc_zxO;k?]Ƌ$*s%FUe.™6 c$(a+}NO& S3YkWLKgjK*>e>#&z:K~շu [Pqri 0/uV'7%d,-)mP!.ݣT>% VQ_V(3{p&^ԭ;U^-WVw>~}!O$)VC\i9{<EXz܎Vi#7~I\E%G9еʧ;;걅f5y}p5=]w mgĶ RU}j'؛ho};]qլW -kE
+ VKAEore좙@GŮ!kxm[bxC[kH)yƥRT,Pr˷fL4y]S[sΝ1ڇ=$a.A+8L"׵p߿6W5Txcoͳ>R6wr_;6;ý{.{2]ow'5z{;X!stq~ٵw,
++UOڰLisZdYJ?%MGs o@&U%ؗY-fh>{JD]+В9ݷ2/टOb%0 x
+ #GR#4^
+E /_
+Q<w>
+ >|߿>l 1[Qܩ <+k)B=ͫX{p9Yz[ n*ozm w
+F+{<S;t>æu)kd8Ils[ఛ XfpvuAu
+YeGZRTߟZ\|: [lȄ@D=fv'C (M;{ jDWWp8h4<\(W̗/}am~B޴&׋gSf͎UOnKû2\4x3ʢ%@d?\e
+}!.mM1zgKaKr4xU__ƊJ~nv׍UB~G쾐,r.y2 gU5V/1bߴ4
+CfiKCZ}fi^(
++S}X;,WOjHjN|(ы?M:4"WZ8vg!;23#DfF~fQڑYbv,Ku.c*ю Kl+Kpy%8:ҌHèZX{\Ge26yj%K k0,>YBz*o?\gU6aQJWWݖ Բ0pw*ΐ(?f7KPA01t5Q!1ʨ
+vYq 2ôuQYTxb; [p޻-h=H!稸2\ WjFDiPk:)#xI8 ޣCxem'w;5ao=е>nX7syc l{0~>ڋ~G_ vUù=l|99,)[ T OK"vg]=v{SO90dh&2ѵ0-nࢰa;_Tv]{:ؗSs~&etyb9Is9&b$sQU p C /JJI.Lx5sU@SҙڒOȪ҅_jm~w=l
+( 5A9/ukxNUW >睏_|Hh+IJuWnO*9f#AZ _+W20wQ>tzl}M7p\ FwF~+H TdU_i:/0 i<ڛ~N#wy\m5+zoE
endstream
endobj
276 0 obj
@@ -3801,112 +3820,125 @@ endobj
658 0 obj
<<
/Length1 2055
-/Length2 24198
+/Length2 24257
/Length3 0
-/Length 25420
+/Length 25501
/Filter /FlateDecode
>>
stream
-xڴeT˺5J`qh!wwwwwukGg=5zɈ@@1=#7@ZFdoA4qԷ032‘ @"@n
-@hm$i>w{ßhcoW4Jhomh4  hg̿\v_ԅ@+Ӳtwӷvwlsن k{3{+f?왙_6AY 1Q%e:wYɀާcMWz"
-H,]3BԀRʂ-gf/f47s04{%/hmb |ߖL*v?|4NO_
-Q{%2
-Ra<]#g:<9A 9NepP"> M0OTH`Y%Z^E[
-g 
-K2apj$32Ţհ[4S#Q ʽec%Wzܽ;)}GMznm|j^%R
-oqO@*`Bo(z|MS;եz+@ h{h(z7t#v';`sMK =~'T~,07J}"48
-XbӘM
-BXd5)x<|И !Y\ډE<N7=M[N:uhG©EDIu=~sw'"V4@|^FKp$Xf޼qILO6n@V=͎/ww(hUe>#co$Dw{[QGA"CޖK X5 ȻzNJXs&%aך |l>Nc&MY63SzWL+ MYGJ!/.'pq-š<8q k~1cvIWKj>Xqs$8+JMWBúد
-sN])! nM{E{> =iQinƸMtܖan&FMH<aR^Hٛ0{}n甀9M=V
-ĺ 3585lɮ"6V2@_c2ez3}BuzHϓ(Z;=sL8$
-9/-&k8_T'@$؏g$_be
-V(r~DV=^Lc3PHL=n]<_Lkli}xE<
-QӞ)X.0߹~0c)4W=Mo0( }5 ]L0j0:l-^Q>E.ǿbxQe
-%ìf {Q׿Ӻ–JHMιb r}%actmhc 15&"xjq'rKYzc@ɟCuzNeh'i"F޺)5Xp`WXM;SW见9`^œaY]ʹx
-ê_ݯ.W>Do7_"mgZc}Cy].IҍG^3|a>b<c`fTz07'WK/!ت;hADzVf٘#r^Z|MN;"0Y䮍n8xM$:˻ m/0#yty״)HA}WG,`<ÀU'}*G{C)dV#0>eV bhaO[ v4P*=gwq`U ]&EolP榬}~]CQ%iӀ9 m1">3L
-^ TO_.LؤVV6U +-"WH,,7akAs>vX3eE`6m5/e$ߦ/u3|81ZM1#h `Х/X4vV\= (,H}q _UM2R ~.qz)1l zKRtYoUב9b| yJx w* 9~e<ˢԟ8}i"oU3#}|>Wƒb$=^[uWO01segS?!H>ݯqRw3Dt2 v1zЛi"*@&t
-[ÓwkM̾ -,>c>u%+#=>ϝm23ڠ|>@<>봱n
-'mx̲%7=s`0qM%B.66{+
-?F~O҉<ͅͳ}% hqlK׮ZљnagVj.M>XWN9_Ѱ_GF//K^0%>]ړJGbE: n6KzXy:}v3կ\*3m[P?O =2\?)lIaץ(+{H}Ǧūg}Dh1UQs#<уC:"9Jpl%ZHpFUGS+tNUaBwkzސL\ΓAL]I2Oa<N zԤVS.F(FJقHCH-PUR=t*,Q̹eݛ~$s0A)ÙB,U:"jD
-1R :)󙇨'Xڻv'` ?Ϸ/QvȡT$(psqؖӑЅd7'ȴk5Vl N#Ȇi :z}hZaF5k)DZ~i'Ljg`r΋q\hDc0L쟎@^J2|XP:Z/zSH^,apA(o{3A+N(~#YD.y(ٞ-LeEMgIp.2.~i(M::Uiso\]u"{IDW8'B})Xm#s!
-'fsh_y'f럄~ ]D
-<˥}KL*=wN1OY,`r7* OM^)5?~(;6|JxΎ2הI44`i]}reZ
-?źbuBamk}V%9dgQ^in7%) ނu[Q#,! UtF3`ߗNnlaWgħ&܄#cnV)M_@<V1!AI`REI<jW>q
- chI$wL¿-fhU3ĻNg9\v?w&`-@-
-{h#>c5͗U T-u'{토$5B?QɄbcUĦįZ3[K[
-GqEq
-T5,Ri
-3M(1ƈ ,o*p46`$mq$=Hk
-/P7jzf6Z#쵄E&Л%Z N!z'Wmk-n o'bg]%9¹B-=HKSLd%y-!RbnCFsNRsNt;:cLfys2qց!R;(94л`앳,ApVöeJ7W6LSX"}Vd'-7cfr0Jc-AZKĺrqP6#qFeI&~Y
-v?nQ?f0;>g`ǖS*Fz;bJ`>te)[‡
-UypwGK`0V aÅ~gyF1"
-+]cpdE(a?u/#_*A}fB8^={`lvƮ߇8!ݿjsS.e +EcUvʯmx;_kɀsm3`}O%&W>YRq<tstM*ɏ"a~}^&\̭18Ǖ^< [, yeo
-veW]̔EYl"NJ2ĮneP=H꣺LO]I.9OXZPwn ϋ l'W.$aR)6#ۿ8)^~iw􈒘b=B";үNB,Dsh0;cKwN.:wkueNC~,zͶp0D"GE ?49,KץTx  F,&k>t|9@q_Eˎ
-"\ψ!>wyBi0lL()Lݬ0uZ'2\4j+EuɲZ|J3$"ߞ& !%/Kη*6
-!3!DqoKj
-QK>C3N~Lˬspavx89ckS!M}&ѐxg
-DrK?eOŶ0:XβOnRyPFK<Y/V OPߋe`G#k1ّŭ
-K`^$Rpm̾BQjciY*t%AWDM5)r(1|X6ݢG:}E$$T(mB{Ǫu2bX/<~>rT xV!tPB?ql"/u8Ne+K2U~qbsy49tq6-qxn&DDh.ɽkČ,
-ύB)m|]:.dW:uT*8ǫ* k"LzYw !KA:FP. rJbNwRb&2"u Q鏇( ~&P@C_$<4_
-""x"gŶa8=GV^"w7{:#C.x6h'p!킺H4~^kZYb#-Lx|ݩQt-FoH '2+
-{">z~C7^젫"}&=eHp=>"0&unCd E.~!Ad)߄y9 P*I3ВK\DIËԫWX1w 8c m}Ti`cDnLohr{ZG3<Lx|_z|9ϗ%`)T{'7/ bmpaX%`Qam_y$j3Q`nfhv jc;r&r g̕Ñ!/kB`7<U۷܋CI-a75͒O|ӿ- y:90C(Je`RNQ1lEϗ2i^!d$V>vJJG@.#`9d8DoezӋaLx$ީBPL
-SI"M,8>1ٌN<>eg5ofLJ!m>]9z) `P -7IQvwHlM UKC/.~0LJ]<5 U 191-K7CE-k#,vW]ŕbf!#qV %~ Nʮ^Z*CMܗO% { {Q:~5g .$Na6zqF
-r=_7~'Cy#90XYgh~u!F<[rIcXpۛIc90U v"c `=rXjD^uyx6X<a
-jzߥxy'1+_><;16|(zzS]j)ʇ
-sk'S2. )q1$=?gạZn{,\(q*R`D"w]M 1"?r)(D;vdahpi`QԘ
-2kW-׫̆(d:gV<8pErt&I'[#_~]ӼG;>,L)(P|[Jy9j O
-[1CLJ~6=-:>?'VX'WD܍pƾVˤq_'C3JӤesJYS2>F. *2e8a!24!Dfwk:<2A5~[}Q{dIY$im,
-Z %FfgusVQ7:u}~K
-h,67I~?<D~r(1/6c$WAfǣL Ne=9c(F`fjE8gy0cj7:>RraFp~Wzj\ o,5\2 Eí.ḷkqē,18R2im\5H'bꨳWU+d '޼ Aif\qxT'a T(8(;:s] Nd Yc^߸pnS("B}W%ePmcUS׷ P4|)R#*
-)Z &ՁE6{91ifT)c2v+;QUw>16L[W%3yP*SH?w>aڦX]wh>"Xl-* aﴬ"ed$;Rm*^xNp 8l""M'zbٸvongSE{W,R|(B{YK*oy<N5D9_wBA GA/Td5b9oTg\u0ܞ
-At+<zWjnvaP?69YF$B&{ c{
- V7$2/%k>\ LFf.9kK&3L@W 4<- @e"33C,8Gʿ0z7<ym(4(
-2:2 F^}ֆCࠚ8RT~|D%d28is/R8cM6Bw*v"?1'l˃s'9cbfK{cF~xN_wvB*UIJR6# ww(Si@@(铤.0>3C$pdedY>Phu"F"+-=a|I^98,8#'L."qg=$
-g~i(ƽD-Ȣ_"B%zO
-{-ݭeVC" "6]~_s7~jݣOB=ox#>G<ɭ!1U!<coCd.yxv,zԍeƬ({]cG)=0`6tI?/˹uYȎ':<U`!z^>b/::٪˄TFZ&˳|Lwv߰4PM~nC2 i-UZ)'7ƋP ER=d8͜b2
-e7hi:nej }Cڍ1p
-M4|rR|8Տڊl"[<=Nm # Βߴ6ӑ{W10NTs#GةU d嚭=s{ 6T*۪@viO~S#)0cq).yUfO(ԥ(NjEIVSA^\iuʹBoJ+!vi0.(g$v'׵uI;V3BJf2# oHm:3985bd1Yx %ΑC}<J"s_W|n~ PQ]yUc'qȃdqah>g 0*q'JDõփ)RPM5F8uzb$!^ \ t#\{'VI&a8FaF_)<S<` 2r¹{) {+Ta'5=ųqy+eVSESZKÆX_Zg#(8$MEO8^i/- ś29ڒ^t4
-ƝĭY[ng34#rer_PhI2 _H $S>G>\“H!B@ܨ0nA 3v˪щf&65pU7 oؒM)kK#C8o
-8 G$ %^5zTJln=X{|x_Q3#swZ͕=E W-l?@Ypx-IBL]oKɞ+O q"E`?+FxqYP.WGQZjG@RZѬL/{O1^13^(ԣ 3ML975 46[߷¸Erji-cB.4k㜚+a%gb۶m۶mڱvLl۶'V}WWjNuth4!@ip8=I [`1[k[3U1l" +. b \u4\Clgo#07g<q#/FY{T|2UF2SXUGL&z[r2QcdzV;X6LD0|Hi/
-r*eVs(Xc3ec'P
-9V4yWj\>.Ρ>K%%GLLx=X`'ni笞 z^ >'QO˭wX< ؊71ZBVP}6SnR- ?~`TpҀZy 5H wac>JL/w:
-t+us ?3_MwH3/dH<֏!
- J%HYdl"͇/XwoP;
-Ki=bVu~*;-7 ?_DA4Fo&f?КNEYԲUL.j3b<vFzGnl\4K!|}T)X8PR1Z0,bԹDԨBh\9w# )tj&Ǵ%&0pGr;͒H|"&<36Ǐ1ZK<>
-45vxz㝯uT7xߤaw/H͂5l3=BG0,;HՌ;q{W%Wvт36&ګ7aqh**'ȱ[']լځ̓I5lH+.CX41Yi; ga$cl/n.hzDg2\g>S.S1xz?\
-V"<Lh!jzөoBŵP߿Z
-<m+`W,sm]@5y9ǜ<~Q|ކkF"D[}" kT3W.^ItĴq0$TLۓ`Áqs$O[ޝPP]1X*zKhQ6%O!+l}B:+5mϢ pI*by6em5+ <?њ1eTwZ/
-Mk8Q
-a[+/~TkZb]:gƱk3y3i˦b
-Og"7"ֆ+wvp0op on %/,4͋;sX*5!=YzG&!A_L\?:J+4|Jq'Y,4Wh [BsffmW5"%rՌLiU"ҿƾnc>IRMvG;O[=+׏WtjO9gE˺!X*\]
-Lp@[xbVt@(,
-ڐ(CƲG*.QS0P{acYc\ e 2F=E6#6Mx x # |.q%1NC!W`!?3ӦSuYz8Զ9/?̯
-~Ε 5Ur  ŴJds\5G{ƽaI"]*le@yEhLvOQ,t'Y/x{XNAil~
-x~oA~U>G$ M8[88NV`GWxdؼR7Q-\
-DwRd__1=ч.3!pkNjI
-<kC&;˨^@ 1gd,P7g*&Jc6m6NS3 &X ŀ%-rI<] "MML vJ Epƍ>ءI!:* @MJ{
-[9l@c"/sYpi
-c9:M#umA!CZ4hVaSr)tI筮J!,ދ$U,w6> %N%ոȂ"~#vX!ʈ#HF>F;*F>H-Guw_L=)wk$5;5W %+ivHF\{ 3#){Asm^+GҚT"\F8a,=]2AV_ 3_n, g:b/o[WbQJ,I /$ .)?iMdHxTSsTr.{Js*i#οj9YE! >r%>>9U؃KM[lk!jYUE0 {ܲ21ߒA*1#rx&S8 @:[,&@-hF!AKF<$c0=a"9u-sAXY|("ʦ)8l{3^/"NE q]'pN . 4$^9@wp{Rgu ouT-8T;="zK'sCigof{bZ=iZ
-Ag9MGo#n߽j;($:<WlGd<!^5=ֽ3AW;ۄ2\pZ`25NXp¬vHn|n"K\mMOH+JƝ³҄:gD@8|읱2}gB_0Kٵ"F~ͲudO]fJiU>BJݘnC+{""PxaEBG&fHU[02@࠹h!b(K2(2պ)l
-,FKh8Gt=5%kf;ѳ Ca9PjwOG*HM8Up&{d[q.G}<,ڀFE}[8 P멄Ÿ+\ʡet Z)0>yx3{7pq&+Hڎ]p<NyvOO:֔A&ZP1`.Rb? #ԨxG,A'xg y/G߂‡Zk-1D/JhX+d`);zYx:NVW.z[Yq/F^Asi8i5Us*~,gi[N-WEyZ
-V6%
-jʛ_^h4hA"wf1 8hѹ\8t%}PJ .Bj]pIhc[duGj _;sʝN]_KP^&$RHg;})F(5M>mOXh0ZRL[& ,g·H\7M9( !pp%#lE nȎ䎓[q5@T\Fθg.A=,]!Ju:w`A?\{<X䒈}A ݹ#lCSk{Rda1wu(kͩ<jAAU \72
-,hS`LշÀٷ֥D07ΟʲӀlrV4sFG1ڀsy'NpEAF͊jˆ
-2QF7=.'iRuKs)?*we;旡AH c`T1֕f<vaq`Gib~){f:c
-
-tRxl^^9eV8
-dN 9q*{P|.G:m%ieVBZP3zKkIA{9s|ORِ7&dL3ņZpWg
-L36YT OI—22fg; :^8Hh +ӖqH^4_[e!̎/N
-}<lKXBe.Ʀ}]!rDBjZ,kѝo[+Z;GB'?hgJņ=+mNv/ƩljNI]7;n27q 5 \ bf)l'hR@ػ-ty}D򞨩_ѓ^#)H*,G4LiI?m6SCoMڀ!lWOտX]>BžG (Cݯ3݊r_7cm">C4٢t\_EƠVb r"]{lu2wDyMP'eB}Pu3qIklC ldҔN+qJ|m|(2>'?{+,T,^g`or
-3ZuŃFШQ̾)B* ] N`ҬۂJ ߤj;A'ie\3!(U.P8(.~n 6`.4V9wamaj?,j>kN OWV}j.g
-A!
-pk0arxȀRR7o 2||l,4sZz>I+^4G 0}B/ ꐈ  ۫ydIV
+xڴeTں5LVP%8nE-Z)-Et{72"ѹ5 %9(rpadeb+MXUv&
+v omt
+2Rjos`T
+&.z,oǖ'h@l117#2im lkK+MnP
+ l ȤgPMmٚT9um"gG"):ɤPEF{$[S1ٖF ;辏a|EL!/o[^4ڌl᱌FI<+.ڤOtnθ gLƱ@3Mdkj^Il_pBVxYA)sJl ^bQ2;|"6Qִ=5$kTbeW3tUk~ہSdo@U1;5
+*
+qB=eog89a %nuhP
+%)gG<ĔZBbU#QYKST
+6yخϬ5 *m`+nMZ%
+?ڀ~Eݔ0|@|户1n
+Ӷ]"!ڠQ+bIz_ڣ+8oAD%H{exYd(6tO3= yk>圫2/
+gܱ} ҋ⑧_5N[{8
+;?Q
+pOw)1"Zz2 9ȘYBߤ#ҢY V
+/:u ƀC$[BW.1W[R'gpb_FќZɖyBׂazfPO@[`qD!&Kݻ"^wBwXMKtyMuh+[@R:D\c
+B@Kc.æ4XmP{%>jBG>oT&Y M?:-YnR֘1}hHWP'{,_+Ě4EK7qkoJȮb*۬ѝuA -Vs5~>C`;xxIp8[YM m=UKN\Nic~-oN5noos? ~Go;x;StV>uv*f*NwZi6N=Vd' sIB|ȅ t:0և-Z{
+&D`T]P~K~(gN'/)HognlcT†i/MOH'rUtǤf\I~ _6bnsQ
+G*:5sP4cFi!hMrzp V( e)K
+PVKl9N9q7q CϬ-kɟB8 ^mrCPSy
+"?##'LˤCB@_¨1OCv=/%&5|L) !-۔TI?k_3:^P" t g*vl?~[ܲ
+vŊ׾#246K<ʣZĒ-Z JRUvELb]W=j$eU
+F|wJF)WaTwaNDp};P=a
+JaGa5H%{sv9[\S8u﵃z9{E.G_N͔ԣ[|7]@%!$|tW&2+$J* 5V>\1XHYx44=< s"EC7 ñ&o'jqەXxqх˥l"&lYz5P݆ ^2 bEMlK_6]P%qxoBX5Lk\8҄O^_]!q 6`ĭ#a[vtpЫ}L,~Q5'!K<$1W*w^P<Dc0Hx
+'JkU6,b.H;%=xN髆TDsYk`ǁ׫<l~+-Nls󡐱pCf:^'eJ퐰0e"M-(n#fm8'Sע5X(9"=%)ŬB d[ e#-_~:\cV
+!)^nR3!Tn}~A!Lֺ(B!/*Q$ɽQJL"&vӍsCƋK8g? \JbC O,>ώ4}Zb9mnia*ۇ|*H}B79TǕ. ~oyO=Q0u|V'`?>b~驗m ~$`(Յ6wI&8:f<WhN /=0X|z7
+!]]iHGCa#=dW͘8q—>,8BIDPiEf#67O0j<8 u<
+@7XU7*/Md٤t:EiT[]Z>2<mdF:lz0
+rK9j?@
+7#q z'r>DlN&T<] w8u=_㡋(
+;}v<~B:w3 IGsJDUSW~E/t
+>@LA,
+$}e}rb|B#˽!.Qvp/ %q`a\ S7n'oX:pgnvQ2%:c:,D^[(߇d}s4t'Nm*Tp#2 AM>O9<}HDWԩ+-YMulv'~D]ŗ^_>QLL#-_(!3^X $XP<=t4=C+BRأM̪jt:yhKL7}쥕w[~.+V6 ]J/#=]fs.,P+'7PA<C?x0kc/L ӑF&;{v&Iځ$|wkJQsdb*n"NfRZ;BݍPЛIu)}O `Եm~cu;S\o3QJ<KMӽ0COtm'3L6ep37ښ\ZlqXCWa9*UwYSo_ 4I3eVtGw{v-N{TN$
+ɔ\"U,{5佺x{@[`)Dn7!pw(v9x#[}#=SMy{9E_I~;?;ߑ
+.Y<~Lpu&TpA e$R;9X%QEg(W_77$ƏpIFqfi؜S=rڸ:
+ؕ1n.tVw=DB;I%]zw@Ad4d5"wB?t%a'VXXɀKh
+T9IlK!@ ohG=tF!'e]?&E]r/?1K~'R"JDuGG/&am\i
+;8؏MH%ZG!6C- ERg i6
+*qRgt f!R~c糑kmv粂If^{WKN' t)F/llPI]G7,qn|>ۙxmVs0Og/PK?zG0ŵiTj}p\"A#RMشAklQGE%ǐ5v&˃!{:yz`b{TU6zA!r
+8bx5e hWӵdӼёJ"t]+6Y/Xs(ګ\T[2qVs5b-^UabB׬ fH]f]B9E>.oyP*(&ݔ?O7YͦX^{8ufHP9K.<,hBpT9 {4L! TZ$z6ҺO ~(ǪNA@$:l
+ےw7 Nbsc1"Bw2'/lsM1v^yÿv܇xRQa{fe%orKJiF\Eזx.+XaOuƤYCTm]E`8
+NgRDd1z;ʢ5hz7AɂE(%Ĵ4m]GC]CΖo@B~jN4
+m3Z
+|=E>Yy,pQ-f!yR*l9 "f`h `$si'DK
+-:Kdمn>`'>FGלp$t'ӆz;'<8᭡Ji8H>ޏWҠYJW:v
+{qHrILl- *jh;V;wD˦oZ -md!o]TX^j%O’ʋM'*||0[CF%_̯y
+'+^U*D^јrJ])xY^̦}$݈4L2Ɣ9aXB$Wr-<Z<B:N^L-b7+\uZug8ź7vDCFiX>O{-׏n$b[ݡGIeC0vǗun:= koaN# -J|_&*nLcb~.k7WK*%8T8B^d@ϋ M/6azG..qR;`k^Vua< tClyZOi*)HVhI%}G3]aCRL_앓>zW5^w|U#t=gb(rv!Bx5d$&emނD^=$f؅/nqZ w?GZ/г'{ӲUi>{x":V,1|Kd&LCKEײP ŽTۑT"dR&i%F[@?~} #{-׸V)HhyR9_~_TND)2 T/'`$WtI9L s#Z!
+hc(4/Q ED v(O~q`K-SYZKV=[4w݃_g32GGL$6b;[Y}= 3OT4XY=H"U 6w5ʱnjƳ Gz$3jfD%jrvj$R  sFvcNhPnaE[Na>ѷ ]h2zymjg1Z#?_My$
+
+
+ij N K%Ĥ) pKM˧q> $*L~ Ix6 !11F`)D$vOjw4<euw#q{o-ipϣPSA>S&3}w?u<\HߠBX z3vE?} 9(cҞ4ϩ*ꉁ@# B0_b/!.
+rqb-4-k"vB%ej4)@[D>6fx5KKvnbQ2d&'_$X*$ԈT$'&t&_Zњ& ӖP1-(_maq~ɫC 57VJfUp<.W_4;壏
+C_h1]u8N)\]3m/`JiExk1Э $ٵA%j=7rDߗ)J<DmX4E#eL˲0)J$BkZuI5D(7{!cJml}tH|̙{Ǚ
+25GV,>l'ɵ-6##AEwSBr|qWÝeέ g[?ԛ?T}d萧BrX֝ 'qzEcڬRGqXހ#gw톗۰%pD>Q2(u0m1B´}գ -2ؒXPJz `Dp*vPS:={af硡yu !.QEy-}9ԇs<W))YX?d+#.Ϸ `$W[UI,'r)}Ϟ 0Yw8d_|t"iCj1O ( *˘:;]MP!?K:C>a>d~lp#ZTfL~UytDo}W6:cA9*!R6V7n )5
++,P>tCnR
+@:C~z GHZTy^:+U,
+|c~FVptO$,ֽ;ҙR0wy2?I?T#<)Ne3bK^)Z iҘOFE_͇X+Q_Euku [dxYA`Xܨ}ځᨃRd~er̻N|#Cyߟl!?KW_]rly/|.jx|@`hZj<AwQ~Hjg%M4x{8HF$ @aB?,v5YE~8|dMR#+8\-2L¡8:cRG7C,cT 3_VaQ- *g"P q3ق7ιyBw@N?V¬U#ROjKɥ
+nk/mc=QP>ٙUmdYWum#RIN@`  A 6ĝ5܇G!-ťɸB8k}7b&j~eZ |`MYt7pHֻi#0+%Œ?N{읨\ {w [ui}SqD[jTÅޞ=}E8&zxi$ "3c\-"%lE5˕s*y9p弱iJivLGEh__DZ&R%WhD}To2DF \ceԥ;G_s6(g>ljq
+y$אaI$ﮑ鲿fcr)7{"6.ydy̺Ii(=Ku6޳h,P s]dCSҢ& 6!Rm)q͗]w9uHK:qqwś
+= ;ł::|QT703WT~n D2Rv2LQ-.x;f#vԠyΏlɈŦ*fXiLvԃ/^ǿhr6.7!aEHw4Bϊ'a|W*^Ч$ǽ J8wć1u'fA1hvw9zu2lj dмNSzo]l*B@PKCWR/ݘ}gכE<U\ehu*X:[s˹r$C@5c"#%6N|nayw+BE}>}I,HHP hKsA-Ԙ4
+(
+CРMDUl_D4aqpٮܬڭLOKo (-~6L8Ιƨ(l`d׾ ^^Aٸ"@{j+#w70"H|S9j囬}
+dr ڏFV"%#ҩ񱊁M2'OЈ4l\ǧĎ?2cy)۟uBLT4 0" gwk!]ѝEys>Z1ƒ5r[xߝY.gX1uM }-4%S&i]:%RXʤf`Rr .ܧ,y2fP=FF#ZEj Я_yˑSn8JRo%usTM^3OF,w:뵝 y d+籄!WR
+@|/@2?rt=ܯudG-H9Q` ="y+lո0â:5@=MEPֿ\e[P_PZտȊl9K#'dV)5_$Ԗ$I 0چO~ۥZ  AS=+MDu")w( ,ƢKԞR=)w8]pj|U|ylus.xzDn]m?:A V*@ r"*<364Vݻl9
+v<a s蕑鸠UDTuki9 >Q> jj `LCX:wi/ݖ=?alAVmd8ZY
+˞A
+<*y׳𻝜nc̸fQx >7l!$CL{hqDɨ^Tl^^m!(7ҺS[ָYVM1aşiJ4bLDI\Q_NښHI[wmy@"R!-ZfX>X:^S
+Ni: y7h-Ѫ6eiQ`jkأppM?5&2 *o$V~x!C!m is݄ʎjڅFl3AIi"Wl\aQŞrj5r:lۆ(gQ,5DlE G|-Q
+p;iҢP=2+(@485;X|>VLPkcnO5G_6t'XR
+ʔbd(Y#ɗ6%lJ&klCe۝~ưNϜg[Fkw>HHٶ#= 3} d-//(ḧPStD4Bq̛Cjk2Е(.YjC6^,r/}ƋSg1k̰XnU +1AǼ88UF
+}]-Ny2+XkTOXt_>%%Q#~DwS:~Ȣ%2eAqx^Z+#J|J=%JJ"-&
+ksUVJNC8³97Wļ)bo mVififa
+~ +DPK ]T)'[jԾx돠R"q]L< '+f 㥿H2E5H  jvL򃰺W=B#]$deaƨwhEFVE^ZώЫNaNcV_Aw
+f83 1PY%s.>E'Xe~Vsmg"+5agR
+ Z13UkGq"2\rLq/;J'{sCḫ2z* } Q$22J}?-+ _IoMO}-kz; v XL|!zf̘Fg= HD?gTbIh7:88C\FJ"`C>cՎBstr覰cJ)^pV
+B
+}VoeX7"ʲ)a\|CB#Ѿv!j󛃰¯:#ƴiu| O ,(G|ʡM68 Igx9~Bz~XTb #
+O3m/$hѕk4k8 }?a(L`ْ{zi^ fQ!Hn Bc5ϡ  FNû? _Fy10Vl(JE N|;IJfI!ԕ11+V.ҔҴQJ(]2e3X{tNשWIҫ[Q>L#"wRWѫ(,ˢZ0f%7C#%]>6='qf!$;㡎YP
+Qqb /cfy)gNlM9ONiuI**
+ nU-a">]㬗+!VDRq+kmKډxAhXQpHߞL
+-aWD&/Z'vUe% n.'mݹtDZul~DU2֤U,HSS;(y/\i%)?"߳q.pUeC Ih/s9RGS7pWs80Cz?y
+SZP'Wer݌t~r>X{1Kݵ̐w611/Sh(C>/zڰO1$!'XhSaYwwoc_r2Mg k{wԤ.]J7ۨR
++s1Ymot"}zpC'M$> V?[YouI k_%6+"HCey6tv[ՌCP>Ad@74
+ :`yk<
+PN+!Ei0,6{2O c:cC:o@
+Id15 J[򌫈ɳr "90o &/ҴǷW>9̢%zfFs\n@
+#;V[2mQRwQ^<Cddt; 2;:T`P,g'R}j3'ڍ7mϒ45npo%\؄$L'np:/"dhemv$n:\^{">m$\b!ĺ\O=!@r<{zfd)*GkZC`CՈ>5f
+D{9v{Nk)B|\Ħɇ='(ʳa׆n;MEېiu{)lUh9+g=eit_S6)},ҸT
+̾m<֞lȆ vӁFl^Ƅ^mo;Eb%_] R%Hd1[R!U2}>EoNXdt}mãx@b?8
+Τ s]$Jk[^F3
+J7vU#b hXߴm^
+A8)HS${xq8](\P'񣖭cȳ\pˉ~<p ݳf+Mbk :
+?|+*i4 rf(<gG`ǂu]!5laN{_y
+枫sIU5vtJ ̻+Khh%#Y,V5Wb:k,b D\J; ^z³]gO[G4d!5rJ1UI[=ZGM%U!kBp{ׂ Uޒ8oTZF+fM[d5XSov~G:8=H -!<v'
+:7dN>: M LY
+cW̙Cc0-EѺ鼡khpq7[
+Y(TH>)C} x,}zEy7Yakb1$<r/46BUr_9%˄a~Iv,NYF(fTJZJtP8E,:Ѣ PBڪç7zBCR[u+Ց f3;{ /!Xb<XIr3Ru殉
+]k$r
+= IkO4տc,DK&[SQ/w!oĹe7[z#頹2 ]R;I:Y(p)\cTT\@kyq2{t¤dE%ݩ%{Žτ֑||Ȩtqiuj[1}R*TzV:]IֳK6/"-:o>{FkKϯ#Дh³~:t_ʘE7ˬ#3 3 _>~ZY}lG:w4--B/] !%qȈHd,n0B~,@(\N nqΩr(%ߎoF>TZs@ oQ*I;
+XY툹 >D(AU@,^2'iwN{;D@-sK>[]2B_ c~
+p|Y 䊬Fj|)&!ay8组ԓhuOFJeAtZ.u'kF8"hg/)&Ve-"Id-ˎ
+^or)ʢYg
+Vu־g3z _~D>IA:H\W΋;n)^*)EQb_)n_A`\ 忚"R;_2!g0|Xuu!\K-Wv @S)T֩sm{v={-dC#sJMRDqL=*sm/IX3jNNZEC's-~LzbZrP:]&BTV
+bә\Y>b{bL$T?zGؼ>9I6"{3iI_B򇣿mr?[? /31 ȝo?So)I F,ūz!`̽Pja~$*̛r~;`h"OkX (ͅY|0>
+SӞ^q`|&PĘ3K5ԙ28율TM0.hVmssBna&D\~uc_JSxKReGp¾6ٚ˯
+D[gI.(e5lsG:%-z"6k Mɳ:bEz>=Nxy' ذi7Bz6xLy׷IV[!E=d FӦNdxKrb!RfLK
+<n!4\̫won&b',~/?8&$ʋb 2)uԳ@;t Tȭ.R=R9"(sɐAR@Yk >%Z㩨}~{rE: ㋧ 8d^ÂRu$}J_.6\<lά^v\n%#T1 R
+ujhf-ijO2bvW7|z >}*ƽ1ef~}$suu(hzu֫(ZZ9!.UUq l*NC@Fu~IR̯P}Qq,Èmb=_I98@EQ;w'%'K:^X| /m`ھRX1`?gLAtRD]WiL=b^SC 7.ٗVDr8ҳ0[k@C뇬D] @Ǘk!8I/*T0h{ױj&0쾲iV4l|ִ^k90MEbc
endstream
endobj
659 0 obj
<<
/Type /FontDescriptor
-/FontName /PVFVJD+LMRoman17-Regular
+/FontName /ZUUPOB+LMRoman17-Regular
/Flags 4
/FontBBox [-400 -286 1338 1125]
/Ascent 683
@@ -3915,7 +3947,7 @@ endobj
/ItalicAngle 0
/StemV 18
/XHeight 430
-/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/seven/t/u/x/zero)
+/CharSet (/P/T/V/a/c/comma/d/e/eight/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/t/u/x/zero)
/FontFile 658 0 R
>>
endobj
@@ -5222,7 +5254,7 @@ endobj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /PVFVJD+LMRoman17-Regular
+/BaseFont /ZUUPOB+LMRoman17-Regular
/FontDescriptor 659 0 R
/FirstChar 40
/LastChar 120
@@ -6411,8 +6443,8 @@ endobj
<<
/Producer (MiKTeX pdfTeX-1.40.24)
/Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords()
-/CreationDate (D:20230117125556-03'00')
-/ModDate (D:20230117125556-03'00')
+/CreationDate (D:20230128114247-03'00')
+/ModDate (D:20230128114247-03'00')
/Trapped /False
/PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.13.0 (1.40.24))
>>
@@ -6425,175 +6457,175 @@ xref
0000125604 00000 n
0000000015 00000 n
0000026550 00000 n
-0000525075 00000 n
+0000525156 00000 n
0000000060 00000 n
0000000146 00000 n
0000026610 00000 n
-0000525016 00000 n
+0000525097 00000 n
0000000194 00000 n
0000000299 00000 n
0000026670 00000 n
-0000524892 00000 n
+0000524973 00000 n
0000000345 00000 n
0000000445 00000 n
0000031335 00000 n
-0000524818 00000 n
+0000524899 00000 n
0000000494 00000 n
0000000589 00000 n
0000035598 00000 n
-0000524731 00000 n
+0000524812 00000 n
0000000638 00000 n
0000000786 00000 n
0000035659 00000 n
-0000524657 00000 n
+0000524738 00000 n
0000000835 00000 n
0000000953 00000 n
0000035720 00000 n
-0000524532 00000 n
+0000524613 00000 n
0000000999 00000 n
0000001134 00000 n
0000040061 00000 n
-0000524458 00000 n
+0000524539 00000 n
0000001183 00000 n
0000001288 00000 n
0000045203 00000 n
-0000524371 00000 n
+0000524452 00000 n
0000001338 00000 n
0000001425 00000 n
0000048496 00000 n
-0000524284 00000 n
+0000524365 00000 n
0000001475 00000 n
0000001603 00000 n
0000048557 00000 n
-0000524210 00000 n
+0000524291 00000 n
0000001653 00000 n
0000001781 00000 n
0000059866 00000 n
-0000524085 00000 n
+0000524166 00000 n
0000001829 00000 n
0000001964 00000 n
0000059927 00000 n
-0000524011 00000 n
+0000524092 00000 n
0000002015 00000 n
0000002143 00000 n
0000063711 00000 n
-0000523924 00000 n
+0000524005 00000 n
0000002194 00000 n
0000002327 00000 n
0000063772 00000 n
-0000523850 00000 n
+0000523931 00000 n
0000002378 00000 n
0000002521 00000 n
0000063833 00000 n
-0000523725 00000 n
+0000523806 00000 n
0000002569 00000 n
0000002709 00000 n
0000067279 00000 n
-0000523651 00000 n
+0000523732 00000 n
0000002760 00000 n
0000002865 00000 n
0000067340 00000 n
-0000523577 00000 n
+0000523658 00000 n
0000002916 00000 n
0000003026 00000 n
0000067401 00000 n
-0000523452 00000 n
+0000523533 00000 n
0000003074 00000 n
0000003214 00000 n
0000067461 00000 n
-0000523391 00000 n
+0000523472 00000 n
0000003265 00000 n
0000003408 00000 n
0000071456 00000 n
-0000523266 00000 n
+0000523347 00000 n
0000003456 00000 n
0000003596 00000 n
0000071517 00000 n
-0000523192 00000 n
+0000523273 00000 n
0000003647 00000 n
0000003729 00000 n
0000072384 00000 n
-0000523118 00000 n
+0000523199 00000 n
0000003780 00000 n
0000003895 00000 n
0000072939 00000 n
-0000522990 00000 n
+0000523071 00000 n
0000003943 00000 n
0000004210 00000 n
0000073000 00000 n
-0000522912 00000 n
+0000522993 00000 n
0000004262 00000 n
0000004368 00000 n
0000077670 00000 n
-0000522834 00000 n
+0000522915 00000 n
0000004420 00000 n
0000004531 00000 n
0000078228 00000 n
-0000522703 00000 n
+0000522784 00000 n
0000004580 00000 n
0000004858 00000 n
0000078290 00000 n
-0000522624 00000 n
+0000522705 00000 n
0000004910 00000 n
0000005051 00000 n
0000083162 00000 n
-0000522506 00000 n
+0000522587 00000 n
0000005103 00000 n
0000005214 00000 n
0000083534 00000 n
-0000522427 00000 n
+0000522508 00000 n
0000005269 00000 n
0000005388 00000 n
0000090417 00000 n
-0000522334 00000 n
+0000522415 00000 n
0000005443 00000 n
0000005567 00000 n
0000097235 00000 n
-0000522255 00000 n
+0000522336 00000 n
0000005622 00000 n
0000005781 00000 n
0000108034 00000 n
-0000522123 00000 n
+0000522204 00000 n
0000005830 00000 n
0000006142 00000 n
0000108096 00000 n
-0000522044 00000 n
+0000522125 00000 n
0000006194 00000 n
0000006300 00000 n
0000108158 00000 n
-0000521951 00000 n
+0000522032 00000 n
0000006352 00000 n
0000006463 00000 n
0000117646 00000 n
-0000521872 00000 n
+0000521953 00000 n
0000006515 00000 n
0000006603 00000 n
0000117708 00000 n
-0000521740 00000 n
+0000521821 00000 n
0000006652 00000 n
0000006969 00000 n
0000121925 00000 n
-0000521661 00000 n
+0000521742 00000 n
0000007021 00000 n
0000007221 00000 n
0000121987 00000 n
-0000521582 00000 n
+0000521663 00000 n
0000007273 00000 n
0000007427 00000 n
0000125126 00000 n
-0000521450 00000 n
+0000521531 00000 n
0000007476 00000 n
0000007818 00000 n
0000125188 00000 n
-0000521385 00000 n
+0000521466 00000 n
0000007870 00000 n
0000008049 00000 n
0000125250 00000 n
-0000521267 00000 n
+0000521348 00000 n
0000008098 00000 n
0000008450 00000 n
0000125312 00000 n
-0000521202 00000 n
+0000521283 00000 n
0000008502 00000 n
0000008666 00000 n
0000013194 00000 n
@@ -6658,13 +6690,13 @@ xref
0000008716 00000 n
0000017555 00000 n
0000017617 00000 n
-0000505220 00000 n
-0000504106 00000 n
-0000500767 00000 n
-0000502992 00000 n
-0000515267 00000 n
-0000501881 00000 n
-0000520588 00000 n
+0000505301 00000 n
+0000504187 00000 n
+0000500848 00000 n
+0000503073 00000 n
+0000515348 00000 n
+0000501962 00000 n
+0000520669 00000 n
0000023988 00000 n
0000000249 00000 f
0000024145 00000 n
@@ -6699,23 +6731,23 @@ xref
0000017868 00000 n
0000026488 00000 n
0000026178 00000 n
-0000507448 00000 n
-0000506334 00000 n
-0000514150 00000 n
-0000510797 00000 n
-0000509680 00000 n
+0000507529 00000 n
+0000506415 00000 n
+0000514231 00000 n
+0000510878 00000 n
+0000509761 00000 n
0000031396 00000 n
0000031154 00000 n
0000026936 00000 n
0000031273 00000 n
-0000518451 00000 n
-0000517211 00000 n
-0000516144 00000 n
+0000518532 00000 n
+0000517292 00000 n
+0000516225 00000 n
0000035781 00000 n
0000035417 00000 n
0000031613 00000 n
0000035536 00000 n
-0000511913 00000 n
+0000511994 00000 n
0000040308 00000 n
0000039880 00000 n
0000035986 00000 n
@@ -6723,7 +6755,7 @@ xref
0000040122 00000 n
0000040184 00000 n
0000040246 00000 n
-0000520398 00000 n
+0000520479 00000 n
0000045760 00000 n
0000044712 00000 n
0000040553 00000 n
@@ -6772,7 +6804,7 @@ xref
0000050104 00000 n
0000050166 00000 n
0000050228 00000 n
-0000520705 00000 n
+0000520786 00000 n
0000053626 00000 n
0000052270 00000 n
0000050508 00000 n
@@ -6852,7 +6884,7 @@ xref
0000059680 00000 n
0000059742 00000 n
0000059804 00000 n
-0000519423 00000 n
+0000519504 00000 n
0000063894 00000 n
0000063530 00000 n
0000060207 00000 n
@@ -6861,7 +6893,7 @@ xref
0000067098 00000 n
0000064058 00000 n
0000067217 00000 n
-0000513029 00000 n
+0000513110 00000 n
0000073062 00000 n
0000071275 00000 n
0000067726 00000 n
@@ -6901,7 +6933,7 @@ xref
0000078042 00000 n
0000078104 00000 n
0000078166 00000 n
-0000520822 00000 n
+0000520903 00000 n
0000082631 00000 n
0000082787 00000 n
0000084526 00000 n
@@ -6929,7 +6961,7 @@ xref
0000084340 00000 n
0000084402 00000 n
0000084464 00000 n
-0000508563 00000 n
+0000508644 00000 n
0000088724 00000 n
0000089037 00000 n
0000089193 00000 n
@@ -7028,7 +7060,7 @@ xref
0000112788 00000 n
0000108424 00000 n
0000112907 00000 n
-0000520939 00000 n
+0000521020 00000 n
0000117770 00000 n
0000117343 00000 n
0000113172 00000 n
@@ -7043,18 +7075,18 @@ xref
0000124945 00000 n
0000122239 00000 n
0000125064 00000 n
-0000498921 00000 n
+0000499002 00000 n
0000125657 00000 n
0000126178 00000 n
-0000499743 00000 n
+0000499824 00000 n
0000126425 00000 n
0000126570 00000 n
0000126593 00000 n
-0000499499 00000 n
+0000499580 00000 n
0000126832 00000 n
-0000499574 00000 n
+0000499655 00000 n
0000126993 00000 n
-0000499680 00000 n
+0000499761 00000 n
0000127601 00000 n
0000127626 00000 n
0000128179 00000 n
@@ -7078,117 +7110,117 @@ xref
0000208480 00000 n
0000242209 00000 n
0000242737 00000 n
-0000268278 00000 n
-0000268598 00000 n
-0000283147 00000 n
-0000283379 00000 n
-0000302354 00000 n
-0000302670 00000 n
-0000320207 00000 n
-0000320486 00000 n
-0000344782 00000 n
-0000345129 00000 n
-0000371111 00000 n
-0000371485 00000 n
-0000374156 00000 n
-0000374439 00000 n
-0000400337 00000 n
-0000400625 00000 n
-0000434339 00000 n
-0000434633 00000 n
-0000468191 00000 n
-0000468838 00000 n
-0000498547 00000 n
-0000499842 00000 n
-0000500956 00000 n
-0000502070 00000 n
-0000503184 00000 n
-0000504298 00000 n
-0000505412 00000 n
-0000506524 00000 n
-0000507639 00000 n
-0000508754 00000 n
-0000509871 00000 n
-0000510988 00000 n
-0000512103 00000 n
-0000513226 00000 n
-0000514341 00000 n
-0000515463 00000 n
-0000516340 00000 n
-0000517408 00000 n
-0000518642 00000 n
-0000519616 00000 n
-0000521040 00000 n
-0000521126 00000 n
-0000525184 00000 n
-0000525364 00000 n
-0000525542 00000 n
-0000525720 00000 n
-0000525894 00000 n
-0000526064 00000 n
-0000526248 00000 n
-0000526471 00000 n
-0000526694 00000 n
-0000526908 00000 n
-0000527126 00000 n
-0000527343 00000 n
-0000527561 00000 n
-0000527777 00000 n
-0000527995 00000 n
-0000528212 00000 n
-0000528430 00000 n
-0000528648 00000 n
-0000528865 00000 n
-0000529082 00000 n
-0000529300 00000 n
-0000529517 00000 n
-0000529733 00000 n
-0000529951 00000 n
-0000530169 00000 n
-0000530387 00000 n
-0000530603 00000 n
-0000530820 00000 n
-0000531033 00000 n
-0000531243 00000 n
-0000531453 00000 n
-0000531663 00000 n
-0000531873 00000 n
-0000532083 00000 n
-0000532293 00000 n
-0000532503 00000 n
-0000532713 00000 n
-0000532902 00000 n
-0000533072 00000 n
-0000533241 00000 n
-0000533403 00000 n
-0000533613 00000 n
-0000533804 00000 n
-0000534001 00000 n
-0000534211 00000 n
-0000534431 00000 n
-0000534653 00000 n
-0000534873 00000 n
-0000535094 00000 n
-0000535204 00000 n
-0000535322 00000 n
-0000535443 00000 n
-0000535564 00000 n
-0000535685 00000 n
-0000535805 00000 n
-0000535924 00000 n
-0000536042 00000 n
-0000536165 00000 n
-0000536254 00000 n
-0000536370 00000 n
-0000536470 00000 n
-0000536559 00000 n
-0000536597 00000 n
-0000536725 00000 n
+0000268359 00000 n
+0000268679 00000 n
+0000283228 00000 n
+0000283460 00000 n
+0000302435 00000 n
+0000302751 00000 n
+0000320288 00000 n
+0000320567 00000 n
+0000344863 00000 n
+0000345210 00000 n
+0000371192 00000 n
+0000371566 00000 n
+0000374237 00000 n
+0000374520 00000 n
+0000400418 00000 n
+0000400706 00000 n
+0000434420 00000 n
+0000434714 00000 n
+0000468272 00000 n
+0000468919 00000 n
+0000498628 00000 n
+0000499923 00000 n
+0000501037 00000 n
+0000502151 00000 n
+0000503265 00000 n
+0000504379 00000 n
+0000505493 00000 n
+0000506605 00000 n
+0000507720 00000 n
+0000508835 00000 n
+0000509952 00000 n
+0000511069 00000 n
+0000512184 00000 n
+0000513307 00000 n
+0000514422 00000 n
+0000515544 00000 n
+0000516421 00000 n
+0000517489 00000 n
+0000518723 00000 n
+0000519697 00000 n
+0000521121 00000 n
+0000521207 00000 n
+0000525265 00000 n
+0000525445 00000 n
+0000525623 00000 n
+0000525801 00000 n
+0000525975 00000 n
+0000526145 00000 n
+0000526329 00000 n
+0000526552 00000 n
+0000526775 00000 n
+0000526989 00000 n
+0000527207 00000 n
+0000527424 00000 n
+0000527642 00000 n
+0000527858 00000 n
+0000528076 00000 n
+0000528293 00000 n
+0000528511 00000 n
+0000528729 00000 n
+0000528946 00000 n
+0000529163 00000 n
+0000529381 00000 n
+0000529598 00000 n
+0000529814 00000 n
+0000530032 00000 n
+0000530250 00000 n
+0000530468 00000 n
+0000530684 00000 n
+0000530901 00000 n
+0000531114 00000 n
+0000531324 00000 n
+0000531534 00000 n
+0000531744 00000 n
+0000531954 00000 n
+0000532164 00000 n
+0000532374 00000 n
+0000532584 00000 n
+0000532794 00000 n
+0000532983 00000 n
+0000533153 00000 n
+0000533322 00000 n
+0000533484 00000 n
+0000533694 00000 n
+0000533885 00000 n
+0000534082 00000 n
+0000534292 00000 n
+0000534512 00000 n
+0000534734 00000 n
+0000534954 00000 n
+0000535175 00000 n
+0000535285 00000 n
+0000535403 00000 n
+0000535524 00000 n
+0000535645 00000 n
+0000535766 00000 n
+0000535886 00000 n
+0000536005 00000 n
+0000536123 00000 n
+0000536246 00000 n
+0000536335 00000 n
+0000536451 00000 n
+0000536551 00000 n
+0000536640 00000 n
+0000536678 00000 n
+0000536806 00000 n
trailer
<< /Size 765
/Root 763 0 R
/Info 764 0 R
-/ID [<ED4BAD1F122AADAD05D542AC9440BA63> <ED4BAD1F122AADAD05D542AC9440BA63>] >>
+/ID [<C494B5077EFCBB89DA922881B6E46290> <C494B5077EFCBB89DA922881B6E46290>] >>
startxref
-536999
+537080
%%EOF
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
index d02cdeae22..92bfc29788 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
index 849379e0c9..781161b4a3 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-abnt}
\def\tc@tmp@altpackname{ufrgsccaabnt}
\def\tc@tmp@packdesc{UFRGS/CCA ABNT layout}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
@@ -276,9 +276,11 @@
\iftcif@relnum%
\counterwithin{figure}{chapter}%
\counterwithin{table}{chapter}%
+ \counterwithin{equation}{chapter}%
\else%
\counterwithout{figure}{chapter}%
\counterwithout{table}{chapter}%
+ \counterwithout{equation}{chapter}%
\fi
\fi
%%%
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
index 3ed99c18d1..00c8ef8757 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-coord}
\def\tc@tmp@altpackname{ufrgsccacoord}
\def\tc@tmp@packdesc{UFRGS/CCA coord commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
index 8851d12122..7861d226ee 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-core}
\def\tc@tmp@altpackname{ufrgsccacore}
\def\tc@tmp@packdesc{UFRGS/CCA core commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
index ac8cd4a7a3..822925aa7c 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-cover}
\def\tc@tmp@altpackname{ufrgsccacover}
\def\tc@tmp@packdesc{UFRGS/CCA cover commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
index d7861c137c..3df0a10119 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr-graph}
\def\tc@tmp@altpackname{tccurrgraph}
\def\tc@tmp@packdesc{UFRGS/CCA graph curricula commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7alpha}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8alpha}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
index b53d7fa259..f724ae90ff 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr-tab}
\def\tc@tmp@altpackname{ufrgsccacurrtab}
\def\tc@tmp@packdesc{UFRGS/CCA curricula tabular commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7alpha}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8alpha}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
index 631e66b950..bbd53192c1 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr}
\def\tc@tmp@altpackname{ufrgsccacurr}
\def\tc@tmp@packdesc{UFRGS/CCA curricula commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7beta}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8beta}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
index b95e6805a7..900715a324 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-en-base}
\def\tc@tmp@altpackname{ufrgsccaenbase}
\def\tc@tmp@packdesc{UFRGS/CCA English base defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
index 4f1a1452c1..df4ecbef8c 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-en-coord}
\def\tc@tmp@altpackname{ufrgsccaencoord}
\def\tc@tmp@packdesc{UFRGS/CCA English coord defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
index a4eb1e1c2f..821ddb44ad 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-en-core}
\def\tc@tmp@altpackname{ufrgsccaencore}
\def\tc@tmp@packdesc{UFRGS/CCA English core defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
index 07037e65a1..5511df38a0 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-en-forms}
\def\tc@tmp@altpackname{ufrgsccaenforms}
\def\tc@tmp@packdesc{UFRGS/CCA English forms defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
index f511db2c89..0279da3894 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-forms}
\def\tc@tmp@altpackname{ufrgsccaforms}
\def\tc@tmp@packdesc{UFRGS/CCA forms commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
index 365ceea3c3..8853eb05b4 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-gen}
\def\tc@tmp@altpackname{ufrgsccagen}
\def\tc@tmp@packdesc{UFRGS/CCA generic/miscellany commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
index e85b553335..d1ede0441d 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-lists}
\def\tc@tmp@altpackname{ufrgsccalists}
\def\tc@tmp@packdesc{UFRGS/CCA auxiliary lists commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
index 67d38ad08b..6cb73c4d0c 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ppc}
\def\tc@tmp@altpackname{ufrgsccappc}
\def\tc@tmp@packdesc{UFRGS/CCA PPC commands}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
index 393dcf9c99..65911451af 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-base}
\def\tc@tmp@altpackname{ufrgsccaptbrbase}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese base defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
index 45e2edb24f..beaa46302b 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-coord}
\def\tc@tmp@altpackname{ufrgsccaptbrcoord}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese coord defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
index b99093c89a..74264ac975 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-core}
\def\tc@tmp@altpackname{ufrgsccaptbrcore}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese core defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
index f64f5a5956..41e42c8874 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-forms}
\def\tc@tmp@altpackname{ufrgsccaptbrforms}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese forms defs}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
index d3d95d7002..7110085826 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.7 (2023/01/17)
+%% This is version 1.0.8 (2023/01/28)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca}
\def\tc@tmp@altpackname{ufrgscca}
\def\tc@tmp@packdesc{UFRGS/CCA class}
-\def\tc@tmp@packdate{2023/01/17}
-\def\tc@tmp@packversion{1.0.7}
+\def\tc@tmp@packdate{2023/01/28}
+\def\tc@tmp@packversion{1.0.8}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/xetex/latex/xduts/README.md b/macros/xetex/latex/xduts/README.md
index 0f07728ea3..4394ad1811 100644
--- a/macros/xetex/latex/xduts/README.md
+++ b/macros/xetex/latex/xduts/README.md
@@ -11,43 +11,37 @@ XDUTS currently includes:
- `xdupgthesis.cls`, Xidian University Postgraduate Thesis document class
- `xduugthesis.cls`, Xidian University Undergraduate Thesis document class
-In the future, we plan to add the following document classes, including
+In the future, we plan to add the following document class, including
- `xdupgtp.cls`, Xidian University Postgraduate Thesis Proposal document class
## Preparation
-If using TeX Live/MacTeX, TeX Live/MacTeX 2022+ is recommended, and update all packages to the latest version by running command below. If on Windows, it may be necessary to start a Command Prompt as an Administrator. If on macOS or GNU/Linux, it may be necessary to run the command with `sudo`.
+### TeX Live/MacTeX
+
+If using TeX Live/MacTeX, make sure that the latest version of TeX Live/MacTeX is installed. Then update all packages by running command below. If on Windows, it may be necessary to start a Command Prompt as an Administrator. If on macOS or GNU/Linux, it may be necessary to run the command with `sudo`.
```shell
-tlmgr option repository https://mirrors.cloud.tencent.com/CTAN/systems/texlive/tlnet/
tlmgr update --all --self
```
-## Installation
-
-You can install XDUTS from either CTAN or GitHub by following the instructions below.
-
-### CTAN
-
-#### TeX Live/MacTeX
+### MiKTeX
-After completing the preparation, XDUTS is already contained in TeX Live/MacTeX. Run command below to open the documentation.
+If using MiKTeX, update all installed packages by running command below.
```shell
-texdoc xduts
+miktex packages update
```
-#### MiKTeX
+## Installation
+
+You can install XDUTS from either CTAN or GitHub by following the instructions below. Generally speaking, CTAN updates XDUTS slowly. If you want to use the latest version of XDUTS, get XDUTS from GitHub.
-You can install/update XDUTS by running command below.
+### CTAN
-```shell
-miktex packages install xduts
-miktex packages update xduts
-```
+#### TeX Live/MacTeX/MiKTeX
-Run command below to open the documentation.
+After completing the preparation, run command below to open the documentation.
```shell
texdoc xduts
@@ -59,17 +53,16 @@ If you have installed LaTeX distribution locally, you can get the document class
### GitHub
-Generally speaking, CTAN updates XDUTS slowly. If you want to use the latest version of XDUTS, [download this repository](https://github.com/note286/xduts/archive/refs/heads/main.zip) and run the following command to get the document class/package files.
+After completing the preparation, download this [repository](https://github.com/note286/xduts/archive/refs/heads/main.zip) and run the following commands in the downloaded folder to get the document class/package files and the documentation.
```shell
xetex xduts.ins
+l3build doc
```
-Run command below to get the documentation.
+## Usage
-```shell
-l3build doc
-```
+Be sure to read the documentation (i.e., `xduts.pdf`) from the beginning in order to use XDUTS better.
## Note
diff --git a/macros/xetex/latex/xduts/xduts.dtx b/macros/xetex/latex/xduts/xduts.dtx
index 32ac11d84b..fb5170a008 100644
--- a/macros/xetex/latex/xduts/xduts.dtx
+++ b/macros/xetex/latex/xduts/xduts.dtx
@@ -1,7 +1,7 @@
% \iffalse
%<*driver>
\ProvidesFile{xduts.dtx}
-[2023/01/16 v4.1.1.0 Xidian University TeX Suite]
+[2023/01/28 v4.3.0.0 Xidian University TeX Suite]
%</driver>
%<class|sty>\NeedsTeXFormat{LaTeX2e}
%<class|sty>\RequirePackage{expl3}
@@ -9,7 +9,7 @@
%<xduugtp>\ProvidesExplClass{xduugtp}
%<xdupgthesis>\ProvidesExplClass{xdupgthesis}
%<xduugthesis>\ProvidesExplClass{xduugthesis}
-%<class|sty> {2023/01/16}{4.1.1.0}
+%<class|sty> {2023/01/28}{4.3.0.0}
%<xdufont> {Xidian University Font package}
%<xduugtp> {Xidian University Undergraduate Thesis Proposal class}
%<xdupgthesis> {Xidian University Postgraduate Thesis document class}
@@ -40,12 +40,9 @@
\setcounter{tocdepth}{5}
\ctexset{punct=quanjiao}
\usepackage{hologo}
-\usepackage{fetamont}
\usepackage{xurl}
\usepackage{xspace}
\xspaceaddexceptions{。?!,、;:“”‘’—….--~·《》<>_}
-\newcolumntype{Y}{>{\centering\arraybackslash}X}
-\usepackage{multirow}
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}
\usepackage{subcaption}
@@ -94,7 +91,9 @@
\newcommand{\ctanurl}[1]{\href{https://mirrors.cloud.tencent.com/CTAN/#1}{\ttfamily CTAN://#1}}
\newcommand{\footctan}[1]{\footnote{\ctanurl{#1}}}
% logo
-\newcommand{\xduts}{{\bfseries\ffmfamily XDUTS}}
+\changes{v4.1.1.1}{2023/01/21}{修正LOGO字形高度}
+\newfontfamily{\ffmfamily}[Scale=MatchUppercase]{ffmb10.otf}
+\newcommand{\xduts}{{\ffmfamily XDUTS}}
\newcommand{\texlive}{\TeX{} Live}
\newcommand{\mactex}{Mac\TeX{}}
\newcommand{\miktex}{\xspace\hologo{MiKTeX}\xspace}
@@ -132,6 +131,8 @@ emph = [6]{document,tabular,edubg,resresult,appendixes},
literate = {\$}{{\textcolor{purple3}{\$}}}{1}
{\{}{{\textcolor{purple3}{\{}}}{1}
{\}}{{\textcolor{purple3}{\}}}}{1}
+ {[}{{\textcolor{purple3}{[}}}{1}
+ {]}{{\textcolor{purple3}{]}}}{1}
{=}{{\textcolor{purple3}{=}}}{1}
{\&}{{\textcolor{purple3}{\&}}}{1}
{\\\\}{{\textcolor{purple3}{\textbackslash{}\textbackslash{}}}}{2}
@@ -544,6 +545,18 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% |gyre| & TeX Gyre Termes & TeX Gyre Heros & TeX Gyre Cursor \\
% \end{tblr}
% \end{table}
+% \begin{function}[added=2023-01-28]{style/latin-sans-scale,style/latin-mono-scale}
+% \begin{syntax}
+% \optx{style/latin-sans-scale}=\metax{upper|lower|(off)}
+% \optx{style/latin-mono-scale}=\metax{upper|lower|(off)}
+% \end{syntax}
+% 匹配无衬线族和打字机族字符高度。
+% \end{function}
+% \begin{optdesc}
+% \item[upper] 按大写字母的高度缩放以匹配罗马族字体。
+% \item[lower] 按小写字母的高度缩放以匹配罗马族字体。
+% \item[off] 不缩放。
+% \end{optdesc}
% \begin{function}[added=2022-03-06,updated=2022-03-09]{style/math-font}
% \begin{syntax}
% \optx{style/math-font}=\metax{asana|cambria|(cm)|fira|garamond|lm|...|termes|xits|none}
@@ -1634,18 +1647,18 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \changes{v1.30.0.0}{2022/06/20}{英文研究生学位论文双语标题}
% \subsubsection{英文研究生学位论文双语标题}
% \label{英文研究生学位论文双语标题}
-% \begin{function}[added=2022-06-20]{\chapter,\section,\subsection}
+% \begin{function}[added=2022-06-20,updated=2023-01-28]{\chapter,\section,\subsection}
% \begin{syntax}
-% \tn{chapter}\marg{英文标题}\marg{中文标题}
-% \tn{section}\marg{英文标题}\marg{中文标题}
-% \tn{subsection}\marg{英文标题}\marg{中文标题}
+% \tn{chapter}\marg{英文标题}\oarg{中文标题}
+% \tn{section}\marg{英文标题}\oarg{中文标题}
+% \tn{subsection}\marg{英文标题}\oarg{中文标题}
% \end{syntax}
% 在英文研究生学位论文中一二三级标题为中英双语,其他级别标题为英文。
% 一个简单的例子如下所示:
% \begin{lstlisting}
-% \chapter{This Is Chapter}{这是一级标题}
-% \section{This Is Section}{这是二级标题}
-% \subsection{This Is Subsection}{这是三级标题}
+% \chapter{This Is Chapter}[这是一级标题]
+% \section{This Is Section}[这是二级标题]
+% \subsection{This Is Subsection}[这是三级标题]
% \subsubsection{This Is Subsubsection}
% \paragraph{This Is Paragraph}
% \subparagraph{This Is Subparagraph}
@@ -1846,6 +1859,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \l_@@_fake_bold_tl,
% \l_@@_fake_slant_tl,
% \l_@@_latin_font_tl,
+% \l_@@_latin_sans_scale_tl,
+% \l_@@_latin_mono_scale_tl,
% \l_@@_math_font_tl,
% \l_@@_unicode_math_tl,
% \l_@@_font_type_tl,
@@ -1868,6 +1883,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{macrocode}
\tl_new:N \l_@@_latin_font_tl
% \end{macrocode}
+% 匹配无衬线族和打字机族字符高度。
+% \begin{macrocode}
+\tl_new:N \l_@@_latin_sans_scale_tl
+\tl_new:N \l_@@_latin_mono_scale_tl
+% \end{macrocode}
% 数学字体配置名称。
% \begin{macrocode}
\tl_new:N \l_@@_math_font_tl
@@ -1905,6 +1925,13 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{macrocode}
cjk-fake-slant .tl_set:N = \l_@@_fake_slant_tl,
% \end{macrocode}
+% 匹配无衬线族和打字机族字符高度。
+% \begin{macrocode}
+ latin-sans-scale .choices:nn = { upper, lower, off }
+ { \tl_set_eq:NN \l_@@_latin_sans_scale_tl \l_keys_choice_tl },
+ latin-mono-scale .choices:nn = { upper, lower, off }
+ { \tl_set_eq:NN \l_@@_latin_mono_scale_tl \l_keys_choice_tl },
+% \end{macrocode}
% 英文字体配置。
% \begin{macrocode}
latin-font .choices:nn = { tac, tacn, thcs, gyre, none }
@@ -1938,14 +1965,16 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{macrocode}
\keys_set:nn { xdu }
{
- style / cjk-font = fandol,
- style / cjk-fake-bold = 3,
- style / cjk-fake-slant = 0.2,
- style / latin-font = gyre,
- style / math-font = cm,
- style / unicode-math = { },
- style / font-type = font,
- style / font-path = fonts
+ style / cjk-font = fandol,
+ style / cjk-fake-bold = 3,
+ style / cjk-fake-slant = 0.2,
+ style / latin-font = gyre,
+ style / latin-sans-scale = off,
+ style / latin-mono-scale = off,
+ style / math-font = cm,
+ style / unicode-math = { },
+ style / font-type = font,
+ style / font-path = fonts
}
% \end{macrocode}
% \end{macro}
@@ -2283,12 +2312,28 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\@@_off_latin_ligatures:}
+% \begin{macro}{\@@_set_latin_sans_scale:,\@@_set_latin_mono_scale:}
+% \changes{v4.3.0.0}{2023/01/28}{匹配无衬线族和打字机族字符高度}
% \changes{v0.8.3.0}{2022/04/13}{匹配小写字母字符高度}
-% 匹配小写字母字符高度。
+% 匹配无衬线族和打字机族字符高度。
% \begin{macrocode}
-\cs_new:Npn \@@_set_latin_scale:
- { Scale = MatchLowercase , }
+\cs_new:Npn \@@_set_latin_sans_scale: { }
+\cs_new:Npn \@@_set_latin_mono_scale: { }
+\ctex_at_end_preamble:n
+ {
+ \tl_if_eq:NnTF \l_@@_latin_sans_scale_tl { upper }
+ { \cs_set:Npn \@@_set_latin_sans_scale: { Scale = MatchUppercase , } }
+ {
+ \tl_if_eq:NnT \l_@@_latin_sans_scale_tl { lower }
+ { \cs_set:Npn \@@_set_latin_sans_scale: { Scale = MatchLowercase , } }
+ }
+ \tl_if_eq:NnTF \l_@@_set_latin_mono_scale { upper }
+ { \cs_set:Npn \@@_set_latin_mono_scale: { Scale = MatchUppercase , } }
+ {
+ \tl_if_eq:NnT \l_@@_set_latin_mono_scale { lower }
+ { \cs_set:Npn \@@_set_latin_mono_scale: { Scale = MatchLowercase , } }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_off_latin_ligatures:}
@@ -2337,12 +2382,12 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
\cs_new:Npn \@@_set_latin_sans_font:nnnnn #1#2#3#4#5
{
\str_if_eq:NNTF { \l_@@_font_type_tl } { font }
- { \setsansfont { #1 } [ \@@_set_latin_scale: ] }
+ { \setsansfont { #1 } [ \@@_set_latin_sans_scale: ] }
{
\setsansfont { #2 }
[
\@@_font_path:
- \@@_set_latin_scale:
+ \@@_set_latin_sans_scale:
\@@_set_latin_font:nnn { #3 } { #4 } { #5 }
]
}
@@ -2363,12 +2408,12 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
\cs_new:Npn \@@_set_latin_mono_font:nnnnn #1#2#3#4#5
{
\str_if_eq:NNTF { \l_@@_font_type_tl } { font }
- { \setmonofont { #1 } [ \@@_set_latin_scale: \@@_off_latin_ligatures: ] }
+ { \setmonofont { #1 } [ \@@_set_latin_mono_scale: \@@_off_latin_ligatures: ] }
{
\setmonofont { #2 }
[
\@@_font_path:
- \@@_set_latin_scale:
+ \@@_set_latin_mono_scale:
\@@_off_latin_ligatures:
\@@_set_latin_font:nnn { #3 } { #4 } { #5 }
]
@@ -2409,7 +2454,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
{
\setsansfont { #1 }
[
- \@@_set_latin_scale:
+ \@@_set_latin_sans_scale:
\@@_set_latin_font:nnn { #2 } { #3 } { #4 }
]
}
@@ -2429,7 +2474,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
{
\setmonofont { #1 }
[
- \@@_set_latin_scale:
+ \@@_set_latin_mono_scale:
\@@_off_latin_ligatures:
\@@_set_latin_font:nnn { #2 } { #3 } { #4 }
]
@@ -7152,29 +7197,35 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
\rmfamily \zihao { -4 }
\dim_set:Nn \baselineskip { 20pt }
% \end{macrocode}
+% \changes{v4.2.0.0}{2023/01/28}{修改英文研究生学位论文标题命令参数格式}
% \changes{v1.30.0.0}{2022/06/20}{英文研究生学位论文目录中正文一二三级中英双语标题}
% 英文研究生学位论文目录中正文一二三级中英双语标题。
% \begin{macrocode}
\@@_lang_switch:nn { }
{
\cs_new_eq:NN \@@_org_chapter:n \chapter
- \RenewDocumentCommand { \chapter } { m m }
+ \RenewDocumentCommand { \chapter } { m o }
{
\@@_org_chapter:n { ##1 }
\@@_add_zh_toc:nn { chapter }
- { \numberline { 第 \chinese { chapter } 章 \hspace { .3em } } ##2 }
+ {
+ \numberline { 第 \chinese { chapter } 章 \hspace { .3em } }
+ \IfNoValueTF { ##2 } { ##1 } { ##2 }
+ }
}
\cs_new_eq:NN \@@_org_section:n \section
- \RenewDocumentCommand { \section } { m m }
+ \RenewDocumentCommand { \section } { m o }
{
\@@_org_section:n { ##1 }
- \@@_add_zh_toc:nn { section } { \numberline { \thesection } ##2 }
+ \@@_add_zh_toc:nn { section }
+ { \numberline { \thesection } \IfNoValueTF { ##2 } { ##1 } { ##2 } }
}
\cs_new_eq:NN \@@_org_subsection:n \subsection
- \RenewDocumentCommand { \subsection } { m m }
+ \RenewDocumentCommand { \subsection } { m o }
{
\@@_org_subsection:n { ##1 }
- \@@_add_zh_toc:nn { subsection } { \numberline { \thesubsection } ##2 }
+ \@@_add_zh_toc:nn { subsection }
+ { \numberline { \thesubsection } \IfNoValueTF { ##2 } { ##1 } { ##2 } }
}
}
% \end{macrocode}
diff --git a/macros/xetex/latex/xduts/xduts.ins b/macros/xetex/latex/xduts/xduts.ins
index bf5f7f9499..8900b8d914 100644
--- a/macros/xetex/latex/xduts/xduts.ins
+++ b/macros/xetex/latex/xduts/xduts.ins
@@ -17,7 +17,8 @@ This work has the LPPL maintenance status `author-maintained'.
The Current Maintainer of this work is @note286 in GitHub and CTAN.
This work consists of the files README.md, xduts.dtx, and xduts.ins
-and the derived files xduts.pdf, xdufont.sty, xdupgthesis.cls, and xduugthesis.cls.
+and the derived files xduts.pdf, xdufont.sty,
+xduugtp.cls, xdupgthesis.cls, and xduugthesis.cls.
The copyright of xdulogo.pdf is Xidian University.
diff --git a/macros/xetex/latex/xduts/xduts.pdf b/macros/xetex/latex/xduts/xduts.pdf
index d8b24f1053..a280b00826 100644
--- a/macros/xetex/latex/xduts/xduts.pdf
+++ b/macros/xetex/latex/xduts/xduts.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 8e43f227a2..47acb4d93e 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -183,7 +183,6 @@ $mirrors = {
'https://mirrors.ucr.ac.cr/CTAN/' => 1,
},
'USA' => {
- 'http://bay.uchicago.edu/CTAN/' => 1,
'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
'https://ctan.math.illinois.edu/' => 1,
'https://ctan.math.utah.edu/ctan/tex-archive/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 5d6a08a6ee..9fa71d81f5 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2022
-depend revision/65637
+depend revision/65652
name 00texlive.image
category TLCore
-revision 65631
+revision 65649
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -3324,6 +3324,7 @@ runfiles size=12961
tlpkg/tlpsrc/piton.tlpsrc
tlpkg/tlpsrc/pittetd.tlpsrc
tlpkg/tlpsrc/pixelart.tlpsrc
+ tlpkg/tlpsrc/pixelarttikz.tlpsrc
tlpkg/tlpsrc/pkfix-helper.tlpsrc
tlpkg/tlpsrc/pkfix.tlpsrc
tlpkg/tlpsrc/pkgloader.tlpsrc
@@ -4401,6 +4402,7 @@ runfiles size=12961
tlpkg/tlpsrc/unizgklasa.tlpsrc
tlpkg/tlpsrc/unravel.tlpsrc
tlpkg/tlpsrc/unswcover.tlpsrc
+ tlpkg/tlpsrc/uol-physics-report.tlpsrc
tlpkg/tlpsrc/uothesis.tlpsrc
tlpkg/tlpsrc/uowthesis.tlpsrc
tlpkg/tlpsrc/uowthesistitlepage.tlpsrc
@@ -4694,7 +4696,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 65634
+revision 65639
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -10854,27 +10856,27 @@ catalogue-version 0.2
name albatross
category Package
-revision 61175
+revision 65647
shortdesc Find fonts that contain a given glyph
longdesc This is a command line tool for finding fonts that contain a
longdesc given (Unicode) glyph. It relies on Fontconfig.
depend albatross.ARCH
-containersize 2176876
-containerchecksum 8c3556c5c59c049a295790042f72b929484962b622a00c3a3dd39817978fe1cb2f56ddee9863f65429b507350c197740306fd0e28be322d26d6f30ff8d77c10f
-doccontainersize 101296
-doccontainerchecksum beef301cbcccedda3b3a625a87a572fda75d8c28a6d76d45bab4333b17a1a581e1fc42abb169b6fbc8b461334f9b83063f6fd26e445ef42f56904c051b65d311
-docfiles size=42
+containersize 5078704
+containerchecksum 3ca4c3ff3fdbb1b865e62fa96e984f94761bbce1de24cf09d7e5bdee3b4361c6536cfbd2119aeb6aa5df842228004cb78a27e2aa9e5e957cff59ef82b9fb459e
+doccontainersize 107996
+doccontainerchecksum dfc9cb6a72ec80fe5f240a8c50c8c98167d069cf13e3502ba281991deadccd094e369a2ef2ae6b089064de77d937c45ad3a3dc70c06fe6fc5e39190b7d652189
+docfiles size=46
texmf-dist/doc/man/man1/albatross.1
texmf-dist/doc/man/man1/albatross.man1.pdf
texmf-dist/doc/support/albatross/README.md details="Readme"
texmf-dist/doc/support/albatross/albatross-manual.pdf details="Package documentation"
texmf-dist/doc/support/albatross/albatross-manual.tex
texmf-dist/doc/support/albatross/version.tex
-srccontainersize 4992
-srccontainerchecksum 69b966e2cc59ad0f5f46500c4b2a21e3ea4e627f03b2b7b99e5e313dbdb35c5758762821cf3d776a39a9cdd930a80b964ff70bb956b8fc528113c354a88b9934
-srcfiles size=2
- texmf-dist/source/support/albatross/albatross-0.4.0-src.zip
-runfiles size=586
+srccontainersize 11296
+srccontainerchecksum 93b72dbb855302d42faed5be48e2e4f11ba7b91212a296eac0cda3f13c0eb89e857decff834f7cf05b9164d2ee2ef8eb6174f077026b285dded75e10c1086a2e
+srcfiles size=4
+ texmf-dist/source/support/albatross/albatross-0.5.0-src.zip
+runfiles size=1342
texmf-dist/scripts/albatross/albatross.jar
texmf-dist/scripts/albatross/albatross.sh
catalogue-contact-bugs https://gitlab.com/islandoftex/albatross/-/issues
@@ -10883,7 +10885,7 @@ catalogue-contact-support https://gitter.im/Island-of-TeX/community
catalogue-ctan /support/albatross
catalogue-license bsd3
catalogue-topics unicode font-sel
-catalogue-version 0.4.0
+catalogue-version 0.5.0
name albatross.aarch64-linux
category Package
@@ -67664,7 +67666,7 @@ catalogue-version 1.077
name codeanatomy
category Package
-revision 51627
+revision 65648
shortdesc Typeset code with annotations
relocated 1
longdesc The idea of this Package is to typeset illustrations of pieces
@@ -67673,11 +67675,11 @@ longdesc Anatomy). The origin of this idea are code illustrations from
longdesc the book "Computer Science: An Interdisciplinary Approach" from
longdesc Robert Sedgewick and Kevin Wayne. The package depends on expl3,
longdesc xparse, and TikZ.
-containersize 1836
-containerchecksum 0f7613af5e91d364d0c8cc3978ce5251cff4650bf5e187ef03606b9cf5294eed82751b8f7604583af5187b62f40688733a39aaaca6a022ddd0087ab610f8c978
-doccontainersize 257164
-doccontainerchecksum 877a827dfd0bb9e79f80fa0a9cd7275a647fc4f0451af5c5a5253caee306f202a419f0164b2878c7a780176e018a2f1a3f8e9ec37fd8245997da537eefcd4e7b
-docfiles size=87
+containersize 1844
+containerchecksum 59f2c1b91875a69434595d435eb905265c9e114bebb8a94edbe07f597518424add7916fab565caef11302e6c31537c54e5885f3320ec0e515cd0a207c8012e00
+doccontainersize 296484
+doccontainerchecksum 4595189bdcee5788de92793b54e8a3dab0215057acbf7d9d575af6e9fb67a92ec1985d61d415bd44bea2d8ae7084de0676e121c96be2262c93eee78116f50a86
+docfiles size=96
RELOC/doc/latex/codeanatomy/README.md details="Readme"
RELOC/doc/latex/codeanatomy/codeanatomy.lstlisting.pdf details="Usage with listings"
RELOC/doc/latex/codeanatomy/codeanatomy.lstlisting.tex
@@ -67685,8 +67687,9 @@ docfiles size=87
RELOC/doc/latex/codeanatomy/codeanatomy.usage.pdf details="Package documentation (Usage)"
RELOC/doc/latex/codeanatomy/codeanatomy.usage.tex
RELOC/doc/latex/codeanatomy/literatur.bib
-srccontainersize 4596
-srccontainerchecksum 9cbe9969e777ccbe711f68936798bdd28e570e6ed772ba3aa8ad54f083792cd725c97055859cecc115bab420f3a929d707eb49584c483a9f223d7ea7bb5fe388
+ RELOC/doc/latex/codeanatomy/release-note-v0.4-Alpha.txt
+srccontainersize 4844
+srccontainerchecksum 27c57ca05dd82f9810e63a0265658174dc3a9dfe21033c70bea65db5543648dc51052a8b72bd5f2d89e7ad9806d1cf1b0bf1e9c9ca543589afef2dc07184114d
srcfiles size=5
RELOC/source/latex/codeanatomy/codeanatomy.dtx
RELOC/source/latex/codeanatomy/codeanatomy.ins
@@ -67698,7 +67701,7 @@ catalogue-contact-repository https://github.com/hpb-htw/codeanatomy.git
catalogue-ctan /graphics/pgf/contrib/codeanatomy
catalogue-license lppl1.3c
catalogue-topics program-doc graphics pgf-tikz expl3
-catalogue-version 0.4-Alpha
+catalogue-version 0.4-Beta
name codebox
category Package
@@ -72494,7 +72497,7 @@ containerchecksum 5d416eca3382c36a869959d850de6ffb4606c1a15c5adeae2ed0f8800c4a95
name collection-pictures
category Collection
-revision 65624
+revision 65649
shortdesc Graphics, pictures, diagrams
relocated 1
longdesc Including TikZ, pict, etc., but MetaPost and PStricks are
@@ -72621,6 +72624,7 @@ depend pictex
depend pictex2
depend pinlabel
depend pixelart
+depend pixelarttikz
depend pmgraph
depend postage
depend prerex
@@ -72734,7 +72738,7 @@ depend xistercian
depend xpicture
depend xypic
containersize 1552
-containerchecksum aaec9496d0449d7a47d1eeb66555f106a69797cc3ef338565daebf5da05295bdf4dba50aaa1e10f001783743738b2946336bbb34024f223d49c7370d848266f2
+containerchecksum 5821ec0c5b0b27d754ea50a1e2e46ce3d3741ba7501a610ca0530a04ad212dd2e1721de5eb0a69714e7f98acb7dba34fa5c9ce54147ce85319c293879f9f4c45
name collection-plaingeneric
category Collection
@@ -72981,7 +72985,7 @@ containerchecksum 508276fe37018f3d9773fc7cda0cb37edcdd28e9cf8ab54ed5be16b07c2066
name collection-publishers
category Collection
-revision 65470
+revision 65646
shortdesc Publisher styles, theses, etc.
relocated 1
depend aastex
@@ -73237,6 +73241,7 @@ depend unitn-bimrep
depend univie-ling
depend unizgklasa
depend unswcover
+depend uol-physics-report
depend uothesis
depend uowthesis
depend uowthesistitlepage
@@ -73258,8 +73263,8 @@ depend yathesis
depend yazd-thesis
depend yb-book
depend york-thesis
-containersize 1676
-containerchecksum 1bd0c89c47b6ee5466f8eb2ef2f46cebee896c035576ba93db125d314e501ae7dc534262eb51c242819d873d7ec15bf8d77ac03d7de4a432f101fc1c4ac3dc4a
+containersize 1680
+containerchecksum 507504d82f33c810e679d2139b5fbef43dd07ea781ed47436a377297439483124b839fe05134ba238d8b845fb00c9b6fe3e4ffb7f2cf18094fdeedc72bf8aeb4
name collection-texworks
category Collection
@@ -124981,24 +124986,24 @@ catalogue-version 1.1
name fixdif
category Package
-revision 65614
+revision 65644
shortdesc Macros for typesetting differential operators
relocated 1
longdesc This package redefines the \d command in LaTeX and provides an
longdesc interface to define new commands for differential operators. It
longdesc is compatible with pdfTeX, XeTeX and LuaTeX, and can also be
longdesc used with the unicode-math package.
-containersize 1792
-containerchecksum 6e76d25f2be0afcff2f51f537070800a54e23684ab78d8cacaaf116c9a29e01faa2a54b973badd08a235dbd3ffd0a62d80bac19d15b7149deaae753a27ff6aa1
-doccontainersize 261224
-doccontainerchecksum cdfaeaaad0cea3dfe62f4e522b21cb919ca79dbd224a687f9ba12ab4d378f8f8902e8cdfb466e89976e7192adc4cb110dc91f6bda148a2222f88c545c239c292
+containersize 1812
+containerchecksum 28f2cd00bba5a1ab50248f76df423920a30cd507f683adb4b7bb3557ac660ff4af3e2171714fac1b38b7f8dde036caeae2d53b6b5ed03c1fe8d94b89987c15b3
+doccontainersize 261940
+doccontainerchecksum 7e99c5db6e41939f9ff6bdd3fa2783847c71cffcc9eca4e7b83a5fb09233ca28914de9ae42d72d4bb27315a2daf8f7c769bd3e741e0515ee7358eb3e84e29192
docfiles size=70
RELOC/doc/latex/fixdif/README.md details="Readme"
RELOC/doc/latex/fixdif/fixdif-zh-cn.pdf details="Package documentation (Chinese)" language="zh"
RELOC/doc/latex/fixdif/fixdif-zh-cn.tex
RELOC/doc/latex/fixdif/fixdif.pdf details="Package documentation (English)"
-srccontainersize 6988
-srccontainerchecksum a4adeb4caec7683cee697b8caa497b02f5ab26aab01c6efef958cae68ba9b09c24a792a3bf70adf241fd6e719eedf6ee71f0b8bb10b3b83508683d114c2610b3
+srccontainersize 6996
+srccontainerchecksum 0c5e1b475d09726b1e5bd8de9e87f861c783173abdff223570a0b624ed97a370025ad9cb54d8ec11903fabb874af203b038c48bd5f76c4c8d55691a739a017cd
srcfiles size=7
RELOC/source/latex/fixdif/fixdif.dtx
RELOC/source/latex/fixdif/fixdif.ins
@@ -125010,7 +125015,7 @@ catalogue-contact-repository https://github.com/AlphaZTX/fixdif
catalogue-ctan /macros/latex/contrib/fixdif
catalogue-license lppl1.3c
catalogue-topics maths
-catalogue-version 1.5
+catalogue-version 1.6
name fixfoot
category Package
@@ -148210,17 +148215,17 @@ catalogue-version 1.8b
name ieejtran
category Package
-revision 62957
+revision 65641
shortdesc Unofficial bibliography style file for the Institute of Electrical Engineers of Japan
relocated 1
longdesc This package provides an unofficial BibTeX style for authors of
longdesc the Institute of Electrical Engineers of Japan (IEEJ)
longdesc transactions journals and conferences.
-containersize 17644
-containerchecksum e61293c30d05ba10f281b2ddf4455f786c3439491ba6f38dc74b0f91c3769032dbedd84136121f01026fc238e332f4eafc5f38c385066d7c00f21ec7aeac4796
-doccontainersize 149524
-doccontainerchecksum 612e27f0ecab3c6befb40b5e7ef9cb89a1471b6f8c9c6d4c4555b059b9ec4b6ccf0735cd5230a22a4b96628395f7e352ae2e7d7f45096fa7184ffc7758bcc00f
-docfiles size=46
+containersize 17688
+containerchecksum 16dde97354dd4c4ff2bfbbb9ead8ce7141a253afe2ec5b39cebe3239d40827d73c83ae90e79be77c5e5a799b40dcf5a3074f2659feb5add8b62d4491097a6cf1
+doccontainersize 150936
+doccontainerchecksum 41ffd8978d9a591c4aa711c4b2f1dc73a4d18a39e67003494c4c9a86d5fd24acf40b6c79dcc139cb46a36dda96d1e0a26a7d5336683c3d7d11eb6e46765c03e9
+docfiles size=47
RELOC/doc/bibtex/ieejtran/README details="Readme"
RELOC/doc/bibtex/ieejtran/ieejtran-en.pdf details="Package documentation (English)"
RELOC/doc/bibtex/ieejtran/ieejtran-en.tex
@@ -148233,7 +148238,7 @@ catalogue-contact-repository https://github.com/ehki/jIEEEtran
catalogue-ctan /biblio/bibtex/contrib/ieejtran
catalogue-license mit
catalogue-topics bibtex-sty japanese
-catalogue-version 0.18
+catalogue-version 0.19
name ietfbibs
category Package
@@ -160738,16 +160743,16 @@ binfiles arch=x86_64-solaris size=1
name jieeetran
category Package
-revision 62958
+revision 65642
shortdesc UnofficiaL BibTeX style for citing Japanese articles in IEEE format
relocated 1
longdesc This package provides an unofficial BibTeX style for authors
longdesc trying to cite Japanese articles in the Institute of Electrical
longdesc and Electronics Engineers (IEEE) format.
-containersize 17652
-containerchecksum 3c92aeb3c8f4dca2bb7a03a5a8113223fa202a2a9a38d62bb036d57f1e9b4ff0ab0a5ef8c56d15177ee075a5825ab49eb883377e6c1345c807e19f22eb821b46
-doccontainersize 151932
-doccontainerchecksum 002714b1e8ac29c5b997e5b56ad63c5fdc2138cfa9b208243aea9749cfa4e2be6b28e4a7bc05d65c7d89826268525739a1adca0d319e98d94b69c148501adc2c
+containersize 17708
+containerchecksum 79433835a06c0fe268d90ad11bfe6a9956e49284cb2ea2255c4577883f2087c0c6b823121a563cb76f666ce74265a056f0e0b470dd2542a104894adb0242d083
+doccontainersize 153340
+doccontainerchecksum ccdbc9aafd94956f43c7f78c93b02f067defb038ba6b9c649e38d1e0c02647c853ad391a1c2b10b60e14255b38c5d77aae9ddd260c8297e06084236c27d70073
docfiles size=47
RELOC/doc/bibtex/jieeetran/README details="Readme"
RELOC/doc/bibtex/jieeetran/jieeetran-en.pdf details="Package documentation (English)"
@@ -160761,7 +160766,7 @@ catalogue-contact-repository https://github.com/ehki/jIEEEtran
catalogue-ctan /biblio/bibtex/contrib/jieeetran
catalogue-license mit
catalogue-topics bibtex-sty japanese
-catalogue-version 0.18
+catalogue-version 0.19
name jigsaw
category Package
@@ -195858,20 +195863,20 @@ catalogue-version 0.6
name luaquotes
category Package
-revision 65547
+revision 65652
shortdesc Smart setting of quotation marks
relocated 1
longdesc This package automatically generates quotation marks and
longdesc punctuation depending on the selected language.
-containersize 3128
-containerchecksum 3613a47a96741513deea38a442b910088a1dd5482ea3177614471c8ce6d2ee0c3e4a0e7d0130bf28a4d0d65a54697fab23d691f0e62283e34ce44b4109700af2
-doccontainersize 109104
-doccontainerchecksum dca35e0b840bba82bb1102e3b91f3f5832f97a07e2f98038f74dea2c1982233f5a33ac51acae517f89a83307222be871e2e57edffb7fdbf1dafb090febed7b4c
-docfiles size=35
+containersize 3384
+containerchecksum 20c0c02ec0a89e37d82d6ba10cdd9fce632189c442950f325ebc09f5cc2a1e798238ac9d3e31245e113d4909dd0b37e3a145b471f7facacb285a2a2450bc8998
+doccontainersize 65436
+doccontainerchecksum 3a9b36054a67ff69ed8dcba75a6d5bb5bd4783ec301e59f491b82954184ff7793e68120762ec95182d6dd00afa1fd4421d2f87fc8294ac39061c88f50c37d803
+docfiles size=24
RELOC/doc/lualatex/luaquotes/README details="Readme"
RELOC/doc/lualatex/luaquotes/luaquotes-documentation.pdf details="Package documentation"
RELOC/doc/lualatex/luaquotes/luaquotes-documentation.tex
-runfiles size=4
+runfiles size=5
RELOC/tex/lualatex/luaquotes/luaquotes.sty
catalogue-also csquotes
catalogue-contact-bugs https://github.com/ezgranet/luaquotes/issues
@@ -195879,7 +195884,7 @@ catalogue-contact-repository https://github.com/ezgranet/luaquotes
catalogue-ctan /macros/luatex/latex/luaquotes
catalogue-license lppl1.3c cc-by-sa-3
catalogue-topics quote-marks
-catalogue-version 1.3.0
+catalogue-version 1.4.0
name luarandom
category Package
@@ -249417,6 +249422,35 @@ catalogue-license lppl1.3
catalogue-topics graphics pgf-tikz
catalogue-version 1.0.0
+name pixelarttikz
+category Package
+revision 65649
+shortdesc Work with PixelArts, with TikZ
+relocated 1
+longdesc The package defines commands and an environment for displaying
+longdesc pixel arts.
+containersize 1912
+containerchecksum a22bc217cbb20081d44684180f40da9883a17f133f8214ef141ba25924657f51517189d567c08f71e76b6cd3704eae4050d4757479925f23a9e5b5a8faa90ff2
+doccontainersize 813496
+doccontainerchecksum 2a3e6ed9f865fb75a3ae7089e00e3e8cfb4ab5ad20eca21f697022af5342f292505de24814b6137a31d6aa05f204618cb94f1628d8bd51e64530d898b6cba5a0
+docfiles size=257
+ RELOC/doc/latex/pixelarttikz/PixelArtTikz-doc-en.pdf details="Package documentation (English)"
+ RELOC/doc/latex/pixelarttikz/PixelArtTikz-doc-en.tex
+ RELOC/doc/latex/pixelarttikz/PixelArtTikz-doc-fr.pdf details="Package documentation (French)" language="fr"
+ RELOC/doc/latex/pixelarttikz/PixelArtTikz-doc-fr.tex
+ RELOC/doc/latex/pixelarttikz/README.md details="Readme"
+ RELOC/doc/latex/pixelarttikz/base.csv
+ RELOC/doc/latex/pixelarttikz/cap.csv
+ RELOC/doc/latex/pixelarttikz/test1.csv
+runfiles size=3
+ RELOC/tex/latex/pixelarttikz/PixelArtTikz.sty
+catalogue-contact-bugs https://github.com/cpierquet/PixelArtTikz/issues
+catalogue-contact-repository https://github.com/cpierquet/PixelArtTikz
+catalogue-ctan /graphics/pgf/contrib/pixelarttikz
+catalogue-license lppl1.3c
+catalogue-topics graphics pgf-tikz
+catalogue-version 0.1.0
+
name pkfix
category Package
revision 26032
@@ -279346,7 +279380,7 @@ catalogue-version 1.033
name schooldocs
category Package
-revision 61719
+revision 65650
shortdesc Various layout styles for school documents
relocated 1
longdesc The purpose of this package is to provide several layout styles
@@ -279355,16 +279389,16 @@ longdesc course materials. The package sets the page geometry
longdesc (dimensions of text and margins) and the title typesetting; the
longdesc various styles define the header, footer and title formatting.
longdesc Many features are freely configurable.
-containersize 3048
-containerchecksum 41c980670fb57b6758aadf3f77e9de1795060bf667e74dc20d6fdc1d0dbab801a8e7d5c75fc303c28f53b24cd42e80ff580e8b79c329d4440011cbcfa7425f73
-doccontainersize 905936
-doccontainerchecksum aeb5a6485099437bc556d3a78d900b48013082a4948d903d797e594161f22c705bb5225a31a2b12e3d5ca3d741566c3a30c081b988ed8eb92ef0af9bd584cc7e
-docfiles size=226
+containersize 3008
+containerchecksum 1ae2af9d9f3a281f9d180bf75534f29990c9060322d65200344250651f71c43a1b854c6dd32f6a8c9c2d2e7238c44f76fd03d814d731d8c3faebd91160a6e0a9
+doccontainersize 516488
+doccontainerchecksum 253c22c65ef87537866c2162cf9a455123b90456e6581ddd1a5edafcd5ec2a52502c0d57f9626dc8ab0bb8781d41cfe806481c3a5fa8d387797aaf7240de5ba8
+docfiles size=137
RELOC/doc/latex/schooldocs/README.md details="Readme"
RELOC/doc/latex/schooldocs/schooldocs-examples.pdf details="Example of use"
RELOC/doc/latex/schooldocs/schooldocs.pdf details="Package documentation"
-srccontainersize 10412
-srccontainerchecksum d9fb7e94ee08c48bdee1f8344fe9f632876cc17de8d4505c1aa899774632e3ea8eca80889cad3edaaaa1a5672861aded9a9d2bff0255a8bd1d2f1ccf00861a63
+srccontainersize 10576
+srccontainerchecksum 09f1ef0dd304c229a7c5c6ce4cf841ccb50700b9af31381f4a4bbf32c8d8579d3cf2f4dc9397044428d1b4eff318541045c7698061d5c49997705e2988982957
srcfiles size=11
RELOC/source/latex/schooldocs/schooldocs.dtx
RELOC/source/latex/schooldocs/schooldocs.ins
@@ -279372,8 +279406,8 @@ runfiles size=4
RELOC/tex/latex/schooldocs/schooldocs.sty
catalogue-ctan /macros/latex/contrib/schooldocs
catalogue-license lppl1.3
-catalogue-topics exercise exam course-material
-catalogue-version 1.1
+catalogue-topics teaching exercise exam course-material
+catalogue-version 1.2
name schule
category Package
@@ -280585,7 +280619,7 @@ catalogue-version 1.2.1
name se2thesis
category Package
-revision 65510
+revision 65645
shortdesc A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany
relocated 1
longdesc The se2thesis bundle provides a document class for writing a
@@ -280598,20 +280632,23 @@ longdesc title page, it still provides large degrees of freedom to its
longdesc users. However, the package's documentation also provides
longdesc recommendations regarding several aspects, for example,
longdesc recommending BibLaTeX for bibliographies.
-containersize 7956
-containerchecksum 38c0c20a143a634c12d9cc4dad7f5c3f48a61a775ce835df793d1a3e002f37b1971ac1eae2b09f3ca61fe6ad42ac9c3ec99659fcd92ed79d9ab2e4b5b8299fce
-doccontainersize 1382428
-doccontainerchecksum 7f882f311776fa01adf323f15895e490b811e12c58db1a8fb0d0c4eb819afe27d8a0898fb99af223a14c06d67b2f902a110a01cdaaf1730b55caa1ec2513fd78
-docfiles size=356
+containersize 8240
+containerchecksum 16a351d895fd84b9d4a0aea1ab2ac51c2cb1bf6eb19a837ef2a856be79b5ffc03aebf40671332016e1c5475871eb508720703d40b9ad8035850225b07e0cf47a
+doccontainersize 1420024
+doccontainerchecksum 88745bde86537fad6895372d9ac1ae8a22df42fd152a959314c059604bbf2604f9fadf5b9f96ea8528e7800e6159f6703f4b32f65c524ca0e4257f6465203bbe
+docfiles size=371
RELOC/doc/latex/se2thesis/CHANGELOG.md
+ RELOC/doc/latex/se2thesis/LICENSE.txt
RELOC/doc/latex/se2thesis/README.md details="Readme"
RELOC/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf details="Example document"
RELOC/doc/latex/se2thesis/se2thesis-master-thesis-example.tex
RELOC/doc/latex/se2thesis/se2thesis.pdf details="Package documentation"
RELOC/doc/latex/se2thesis/se2thesis.tex
-srccontainersize 20560
-srccontainerchecksum e3d80ddcfec0b868e472c71fd5318ce489a54e72f86377a51361d7c587231a17afe67d27bbf36ce7221fa473ea51f81e9026443b5e71894d1f55c5ea97de9bec
-srcfiles size=24
+ RELOC/doc/latex/se2thesis/test.pdf
+ RELOC/doc/latex/se2thesis/test.tex
+srccontainersize 20964
+srccontainerchecksum d6051f999ef046e52d15716d3f9a594683a9203b3c3811238f1f8f7b3b1b332499a8c6259750d3e5593abfb2fe2fac0f37f18498a5a8592b420c9c11eb07dd68
+srcfiles size=25
RELOC/source/latex/se2thesis/se2colors.dtx
RELOC/source/latex/se2thesis/se2fonts.dtx
RELOC/source/latex/se2thesis/se2thesis.dtx
@@ -280627,7 +280664,7 @@ catalogue-contact-repository https://github.com/se2p/se2thesis
catalogue-ctan /macros/latex/contrib/se2thesis
catalogue-license lppl1.3c
catalogue-topics class dissertation expl3
-catalogue-version 2.0.0
+catalogue-version 2.1.0
name secdot
category Package
@@ -297376,21 +297413,31 @@ catalogue-version 1.4
name tangramtikz
category Package
-revision 65631
+revision 65643
shortdesc Tangram puzzles, with TikZ
relocated 1
longdesc This package provides some commands (with English and French
longdesc keys) to work with tangram puzzles: \begin{EnvTangramTikz} and
longdesc \PieceTangram to position a piece, \TangramTikz to display a
longdesc predefined Tangram.
-containersize 532
-containerchecksum 0bc30af39d081061136ba36080fd985a4ebe288026529afa46c24b02b4d3dc7b827f72b8fdfa4e1d780cc5c3fba33b6cc07052ea9d3c7d91093e4e7da5a51f55
+containersize 3756
+containerchecksum 740f65218ddbc0a5076457a3333958aae46de4ddc80644fb79619cac2a9a47aaad0296a1fddc1afebe7e386bec8ff45696dc24993b90be77221d6cad44a3eb89
+doccontainersize 702924
+doccontainerchecksum cef4d130e1501069eb79f5914a5e30c9a72f3ef9eba841c06463a08bc77b70889ff1b3979389a119535d928ee9f3f95bf5bb4e0a2f4c8c00eeb1b6b14900ff38
+docfiles size=222
+ RELOC/doc/latex/tangramtikz/README.md details="Readme"
+ RELOC/doc/latex/tangramtikz/TangramTikz-doc-en.pdf details="Package documentation (English)"
+ RELOC/doc/latex/tangramtikz/TangramTikz-doc-en.tex
+ RELOC/doc/latex/tangramtikz/TangramTikz-doc-fr.pdf details="Package documentation (French)" language="fr"
+ RELOC/doc/latex/tangramtikz/TangramTikz-doc-fr.tex
+runfiles size=6
+ RELOC/tex/latex/tangramtikz/TangramTikz.sty
catalogue-contact-bugs https://github.com/cpierquet/TangramTikz/issues
catalogue-contact-repository https://github.com/cpierquet/TangramTikz
catalogue-ctan /graphics/pgf/contrib/tangramtikz
catalogue-license lppl1.3c
catalogue-topics puzzle games pgf-tikz
-catalogue-version 0.1.0
+catalogue-version 0.1.1
name tap
category Package
@@ -311550,14 +311597,14 @@ docfiles size=1537
name texlive-es
category TLCore
-revision 65637
+revision 65640
shortdesc TeX Live manual (Spanish)
relocated 1
-containersize 276
-containerchecksum c90e0e9cd656a06c153efe5843e0857c455440e8a324cf14e12e09847559dd9c3bf11e1a7a0c814c89d77cbc34ac0ee06d6c15feba7e1dfecd3dab05fec563da
-doccontainersize 5196084
-doccontainerchecksum 4db89943d6efb7abae5c4ecb1f0c38bb71d6b9e1250457e642b4ac3541b3c3f3a55e20df08079970601ae3519a7dff750bf60477ec581b47f8da3621c35a6488
-docfiles size=2739
+containersize 272
+containerchecksum 53d96d2f8b0d831f125add3101790b3af28e475244800fc7df204e3710d31910ab497400a67561aa424ebc51aafc3f75ac9b15d651ecd4bda56a5d24710909e1
+doccontainersize 5187352
+doccontainerchecksum afb6460747b08f6da09efbf2fa368e5fa0bc58c7f759a7c776fdea8ce66fb6821649ae222c1af9ac5ce5cdadd5d13e7d34f1b572d2efd160fa19dc2aec7b1e95
+docfiles size=2730
RELOC/doc/texlive/texlive-es/Makefile
RELOC/doc/texlive/texlive-es/archive/2017/texlive-es.html
RELOC/doc/texlive/texlive-es/archive/2017/texlive-es.pdf
@@ -311710,7 +311757,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 65634
+revision 65639
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -311719,9 +311766,9 @@ depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
containersize 113696
-containerchecksum 91bec70bbc78eba51538f9ddb56fcd7f373af9bc0a098b7cd391fa52e6a75b46a214a263a4527b696baa471462269264819a6235261580efdb8da32b97049396
-doccontainersize 424188
-doccontainerchecksum 37701dc54ab9465d7e989885c44e54588980a837e099cfa355aad6a5b4d916652e30ba6cd722332e295d34de8a5ae986696ff58358542a02be556c0dbbce3dc2
+containerchecksum f98449e16a1aaf04dce865023f6ef28221eaa13e0888d350ee7a9e3bd0445e536406728aea2c6142e3ca195756a09e52c29a985f23c0a88deefcaac22c7af140
+doccontainersize 424256
+doccontainerchecksum 7686e132d8abaca265118a84a3bcef74d0dd39b1041d4088f087116bc1d2d277333ad7a1a63f54143d8b1ddfe435ac1d6de23a1cb50dc452b297e429f28c0d54
docfiles size=533
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -337437,7 +337484,7 @@ catalogue-topics font font-body font-sans font-proportional font-otf font-type1
name univie-ling
category Package
-revision 65214
+revision 65651
shortdesc Papers, theses and research proposals in (Applied) Linguistics at Vienna University
relocated 1
longdesc This bundle provides LaTeX2e classes, BibLaTeX files, and
@@ -337451,11 +337498,11 @@ longdesc context. The classes can also be used for General and
longdesc Historical Linguistics as well as for other fields of study at
longdesc Vienna University. In this case, however, some settings may
longdesc have to be adjusted.
-containersize 160424
-containerchecksum 8ec28a74bd59f21cbaed28101d2cbc22d9d32b32e70fb4d8441219b22cbb171e09b9d0b9fd3cbf656349192316c67549046576ef3cefafdb25f609a7a20468ad
-doccontainersize 3259724
-doccontainerchecksum 0ad4d8128dbbbe604884121dd5165763ad4fa9dd1e8962deeb7a036f36a18f805225a2068b8e6157de5741f964c73e436b5f6a101af91cf1fedd669a4059317e
-docfiles size=1105
+containersize 164236
+containerchecksum 179200352c593096ac82a3711b01d622b1ae06b0756f14861e1280aa6e59b5d2dbe5a834e6bdb5601f212a57aa2bf37309044acee88380264b53d0c65bd21269
+doccontainersize 4096264
+doccontainerchecksum aeeb0a42e787c6d00843f89d4d26af6c410f6167e10c6f132fdd7e859c8dec25f94407870e2e917a7dc7b9ec175e15fc190ad5892d602b248f4be50b1d833a82
+docfiles size=1431
RELOC/doc/latex/univie-ling/README details="Readme"
RELOC/doc/latex/univie-ling/templates/template-expose-deutsch.pdf
RELOC/doc/latex/univie-ling/templates/template-expose-deutsch.tex
@@ -337469,6 +337516,10 @@ docfiles size=1105
RELOC/doc/latex/univie-ling/templates/template-paper-deutsch.tex
RELOC/doc/latex/univie-ling/templates/template-paper-english.pdf
RELOC/doc/latex/univie-ling/templates/template-paper-english.tex
+ RELOC/doc/latex/univie-ling/templates/template-poster-deutsch.pdf
+ RELOC/doc/latex/univie-ling/templates/template-poster-deutsch.tex
+ RELOC/doc/latex/univie-ling/templates/template-poster-english.pdf
+ RELOC/doc/latex/univie-ling/templates/template-poster-english.tex
RELOC/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf
RELOC/doc/latex/univie-ling/templates/template-thesis-deutsch.tex
RELOC/doc/latex/univie-ling/templates/template-thesis-deutsch.xmpdata
@@ -337477,22 +337528,27 @@ docfiles size=1105
RELOC/doc/latex/univie-ling/templates/template-thesis-english.xmpdata
RELOC/doc/latex/univie-ling/templates/template-wlg-article.pdf
RELOC/doc/latex/univie-ling/templates/template-wlg-article.tex
+ RELOC/doc/latex/univie-ling/templates/template-wlg-review.pdf
+ RELOC/doc/latex/univie-ling/templates/template-wlg-review.tex
RELOC/doc/latex/univie-ling/univie-ling-expose.pdf details="Package documentation (expose class)"
RELOC/doc/latex/univie-ling/univie-ling-expose.tex
RELOC/doc/latex/univie-ling/univie-ling-handout.pdf
RELOC/doc/latex/univie-ling/univie-ling-handout.tex
RELOC/doc/latex/univie-ling/univie-ling-paper.pdf details="Package documentation (paper class)"
RELOC/doc/latex/univie-ling/univie-ling-paper.tex
+ RELOC/doc/latex/univie-ling/univie-ling-poster.pdf
+ RELOC/doc/latex/univie-ling/univie-ling-poster.tex
RELOC/doc/latex/univie-ling/univie-ling-thesis.pdf details="Package documentation (thesis class)"
RELOC/doc/latex/univie-ling/univie-ling-thesis.tex
RELOC/doc/latex/univie-ling/univie-ling-wlg.pdf details="Package documentation (Wiener Linguistische Gazette)"
RELOC/doc/latex/univie-ling/univie-ling-wlg.tex
RELOC/doc/latex/univie-ling/univie-ling.pdf details="Package documentation (overview)"
RELOC/doc/latex/univie-ling/univie-ling.tex
-runfiles size=81
+runfiles size=89
RELOC/tex/latex/univie-ling/univie-ling-expose.cls
RELOC/tex/latex/univie-ling/univie-ling-handout.cls
RELOC/tex/latex/univie-ling/univie-ling-paper.cls
+ RELOC/tex/latex/univie-ling/univie-ling-poster.cls
RELOC/tex/latex/univie-ling/univie-ling-thesis.cls
RELOC/tex/latex/univie-ling/univie-ling-wlg-logo.pdf
RELOC/tex/latex/univie-ling/univie-ling-wlg.cfg
@@ -337506,7 +337562,7 @@ catalogue-contact-repository https://github.com/jspitz/univie-ling
catalogue-ctan /macros/latex/contrib/univie-ling
catalogue-license lppl1.3
catalogue-topics linguistic class dissertation article-like misc-paper std-conform
-catalogue-version 2.2
+catalogue-version 2.3
name unizgklasa
category Package
@@ -337596,6 +337652,40 @@ catalogue-license lppl1.3
catalogue-topics dissertation
catalogue-version 1.0
+name uol-physics-report
+category Package
+revision 65646
+shortdesc A LaTeX document class for writing lab reports
+relocated 1
+longdesc The package provides physics students at the University of
+longdesc Oldenburg with a prepared document class for writing laboratory
+longdesc reports for the laboratory courses conducted by the Institute
+longdesc of Physics. The document class consists of predefinded margins
+longdesc and heading formats. Furthermore, it presets the headers of the
+longdesc pages and excludes the titlepage and table of contents from the
+longdesc page numbering.
+containersize 2328
+containerchecksum f0b8afd83de3970c747e673048c7733e702f9c51289e85c2fd55188093bafa6d1a7cfbe99626265ebe383811a8fab204c2a149fccdf07442d8b4d0184f7f7a75
+doccontainersize 181896
+doccontainerchecksum 012dec58741c463e25ca3be52821d18020ac88cf798049da013d3acfff7fc9576f4cca5ce47f849872bfe9b8c1744df597eb85efda5406822868234916a7744a
+docfiles size=54
+ RELOC/doc/latex/uol-physics-report/LICENSE
+ RELOC/doc/latex/uol-physics-report/README details="Readme"
+ RELOC/doc/latex/uol-physics-report/uol-physics-report.pdf details="Package documentation"
+srccontainersize 3704
+srccontainerchecksum 5c68d7457cf378ae8202bbcee4c0244cba9c738f1ddae5ac7a180b275ac98a7df0b5e607e66f9ad701f94bb87421aa686852919ad66c9bfff367d38fc8b0e947
+srcfiles size=4
+ RELOC/source/latex/uol-physics-report/uol-physics-report.dtx
+ RELOC/source/latex/uol-physics-report/uol-physics-report.ins
+runfiles size=2
+ RELOC/tex/latex/uol-physics-report/uol-physics-report.cls
+catalogue-contact-bugs https://github.com/captainsuchard/uol-physics-report/issues
+catalogue-contact-repository https://github.com/captainsuchard/uol-physics-report
+catalogue-ctan /macros/latex/contrib/uol-physics-report
+catalogue-license lppl1.3c
+catalogue-topics physics class report-like
+catalogue-version 1.0
+
name uothesis
category Package
revision 25355
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index eca09f4a47..4e76a93c2a 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-9f9d4a40b57bc5c681f1ebe93ed0005d texlive.tlpdb
+7f64468fb4aa5398a0cb7f6e4a3924ac texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index ec7c07b948..2732f84552 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-3fabe7f1687fb3b7614b140edd2cda679bea08b2386421d3e62de4bb450d7511c2449116e8982a622114c6dd46cc98c7bd31a6a8bd8e715ab53539e813766b6e texlive.tlpdb
+c62707bfccf69373b1ce465276bc98693fdb96010e22f03f2aab2bce6f95ccda824e5e6e10fa8570ef2c2cd37f4f73a398e3166c968b7654cea47a74afe104e9 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 46ff1e3428..e5d51d93b1 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJj0yBiAAoJEEzhh34ZQ4xwEWsIAKCzJByDFwUykXM6Yo9tY4Lt
-MRuYCryEAJMu2g96ZGI40Rd0kvY07+Pc1770O9NFJQJ7xHugSwYoAFanhGciJJQP
-w+wwYI2OKKR5sdGrh9s3Oygqv+Xb9Ct4lYmfn1PxgXV595xa30Tp+QiPqNWU7UNY
-WCMlmcdpIMdyD/JtE9GjhnJLSuUDRqmZSsfr5yaTLEuBZPXac3gil3DXO6XypcOb
-oluaTpF9HFhw2UeIgrURnl+0rkW3K7uyTgmcdQ/6OCbe2uZ1vTt0eX9zjQWh2OXl
-PG7hLOndO7lLgXChF/U3L7q+ogBX+NOUik3wV6AeT0l/JXQGHt+FWjUPuTvx8JE=
-=SkJF
+iQEcBAEBCgAGBQJj1HJdAAoJEEzhh34ZQ4xw9QYIALYu6HsH48LNa8NSQu1Fsb6a
+xOMvQnyM4z4qFgDmOywXr2gfVqiqxekgZ7Dp2PBdIthwGFjx71/Da6ZpeO9Zs8Up
+4wGgasHis6SSBuuYC6/oGOomGRFWSs7Qo6xfEgKaC1TSB22co74L4QhxDuwM4Tn6
+4XgqoUK6qvj72h4Cf3aOXl+KINVGkyIdIZyf6igrv9oqwngzYSDlq6FGW21baG3h
+YoazWHEFbzK/gRGHh+BjLmg2B84T6iY/OcddHqS0xx/5nHj83mm0/dtKrPHWYbP+
+ineFIm0csQsHwI4DpvcDNvlSNww75XkhiBmY4QKualYU1alTkMpeXuNBZiGF3Jg=
+=Qg2q
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index e6528dea3a..0b0ffbf2e5 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index 6e2d8fc350..a7a9bbc9e6 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 850fbdb681..76e42f997b 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1674837006
+date=1674932816
lastupd=miktex-zzip-bin-x64-2.9 miktex-zlib-bin-x64-2.9 miktex-yap-bin-x64-2.9 miktex-xml2pmx-bin-x64 miktex-xetex-bin-x64-2.9 miktex-web-bin-x64-2.9 miktex-uriparser-bin-x64-2.9 miktex-upmendex-bin-x64 miktex-ttf2pk2-bin-x64-2.9 miktex-texworks-bin-x64-2.9 miktex-texware-bin-x64-2.9 miktex-texify-bin-x64-2.9 miktex-tex4ht-bin-x64-2.9 miktex-tex2xindy-bin-x64-2.9 miktex-tex-bin-x64-2.9 miktex-teckit-bin-x64-2.9 miktex-tdsutil-bin-x64 miktex-synctex-bin-x64-2.9 miktex-runtime-bin-x64-2.9 miktex-ptex-bin-x64
-lstdigest=a07906ce5ff5e29c3fea75784b75e2c0
+lstdigest=40cc6c04cab54098685e03cde50d2529
numpkg=6350
relstate=next
-version=8427
+version=8428
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: A91c1R9laMAji8ZEYkx8KWUt5ElZoGB/66sTCuOE72rgtyV3S6VL9EBnWQnijJ2sZfOtelgziGali1s/sQVPx/AxFAbgXVR7aqzZrC4+n7Ss9GBAp3g7WtRaS+D4y5VMFnCptP8nEHP81HY9/sKHDKRBPUfTWECcrTje6ASbkKMiclfKI7mLvKyg+IsPE4VA8BzL1m5I09zO5OuRsNH+55yWnRP2okeoa+mdi47TOaMQDBc2a6ncPhIqZSfnqc0hcfSijcNWSXTTE4BoLZJpD+0WwV33kZM0Wi0w2uOQgXOy/YZktGtY6MfMrUbXL/vNfBY72WZP6JkZjfiECf9oxA==
+;;;; signature/miktex: K0NBTdXz0maoTOGImwB4/fbEFXM2SnhHpw0Ey2r1TtsBEf+oWIrGmDWs5PN5UZiP5nYFUmMXkypOde0WmomirQ0NpJmhoCMNEnua9nrEEWajnm5A4xvDdTezSdAKx70cCoovM66Alo9TB6RCpoZEQdCb1AvUKSA/EfhgMiEX9fwTKGTi7S3KlbCcac448NYZXqwVMCskd8bjlLmG85Q9pT1U8VN4pmBcwoSMOfAK6Akornw6sdbTIwb3gAdlytT+nlrPXEoBFApQ51agqtCc5otzV2PwGF06FKK6nZA7ATJifhXXd2dKfRbhYAJBk0KRbOdmGoxrOeoVImcpFqmIyQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index d6e8330076..b561b9d10a 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1674836935
-lastupd=univie-ling__source univie-ling__doc univie-ling tkz-euclide__source tkz-euclide__doc tkz-euclide texinfo__source texinfo__doc tangramtikz__source tangramtikz__doc tangramtikz tagpdf__source tagpdf__doc tagpdf sidecap__source sidecap__doc sidecap semantex__source semantex__doc semantex
-lstdigest=a7379fc2856a9ae84390ac8efa30a772
+date=1674932734
+lastupd=miktex-zzip-bin-x64-2.9 miktex-zlib-bin-x64-2.9 miktex-yap-bin-x64-2.9 miktex-xml2pmx-bin-x64 miktex-xetex-bin-x64-2.9 miktex-web-bin-x64-2.9 miktex-uriparser-bin-x64-2.9 miktex-upmendex-bin-x64 miktex-ttf2pk2-bin-x64-2.9 miktex-texworks-bin-x64-2.9 miktex-texware-bin-x64-2.9 miktex-texify-bin-x64-2.9 miktex-tex4ht-bin-x64-2.9 miktex-tex2xindy-bin-x64-2.9 miktex-tex-bin-x64-2.9 miktex-teckit-bin-x64-2.9 miktex-tdsutil-bin-x64 miktex-synctex-bin-x64-2.9 miktex-runtime-bin-x64-2.9 miktex-ptex-bin-x64
+lstdigest=dfe1b2f01a00ba0e05c2867100ad08a4
numpkg=6350
relstate=stable
-version=8427
+version=8428
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: WdMK912ZUWvHxUqAIiWG30ZI1jXsaYaYprqvj8NbftQTJ8D7EUW0ZQaV/B10bLP4qdt4u7IU78WvCYZhX4Fx+k5WJcEMxitbCAOY5oDUVYbQ1uwtjfYBl/Ero0eQmdWKY2LjRzl/5oWXqf6iTuQKFSd/HKbpdawafVM8yoiKcA/YKpmR6pml8arV1NlAw1FnOUyb6pb9xn9fqUT0QDRVrBWoWHSo1uV7CxinhRTglt4xeiGUw5C4jiRHd0lmrntY0LHU9pwDKYDBIQzuiSSi91Tfms1+0CatkklUO/Dqakya/4/tsahclY77RBorEuiDtrnj68WRt+AmFQte6b1lXw==
+;;;; signature/miktex: PQ+oPy+PCe9d9w1dxs8Ev+QrRPQiM7LeaObLVcBtjoDtjIdPpk0M1mSn5GHsL0twS+Gu8Hdq5tfTFHry52+6MbF2PsD5Mx+b4K8+xivIH1PP9lrY9idu1p6PNA0uEfttZoHsdV7ydUkeEGexDYJNw8hs7A7Tv6PWeaDMaEIpDrhQSjS5tfjCuKIRkFmn5qd9nHiBu3nJw361+66yL55uYL0Sr0k9ZpPWFVFBzdDbYee3pmlHM/0ON6NDlSwMVelDluXAnT9SYaaGkXOpyUiv42dnxI+cTbZ6BdQryQvUKxGI0yZzcx/F+yW8yuiCJf6IAEZyIruf358Woh6dLGRLxw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 4fe64d1302..d42dbfc525 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-01-28-02-02
+2023-01-29-02-02